<?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>90341</bug_id>
          
          <creation_ts>2012-06-30 15:43:36 -0700</creation_ts>
          <short_desc>createAttribute/setAttributeNode does not properly normalize case</short_desc>
          <delta_ts>2016-01-15 19:30:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>michael</reporter>
          <assigned_to name="Arpita Bahuguna">arpitabahuguna</assigned_to>
          <cc>ap</cc>
    
    <cc>arpitabahuguna</cc>
    
    <cc>buildbot</cc>
    
    <cc>bzbarsky</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>vivekg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>661081</commentid>
    <comment_count>0</comment_count>
    <who name="">michael</who>
    <bug_when>2012-06-30 15:43:36 -0700</bug_when>
    <thetext>Online documents indicate that createAttribute should be case-insensitive in HTML documents (http://help.dottoro.com/ljiclkfc.php http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html#createAttribute(java.lang.String)): &quot;The name is case-sensitive in XML documents and case-insensitive in HTML documents.&quot;

This example Javascript code will fail to properly set the image src.
var img = document.getElementById(&quot;img&quot;);
var img_src = document.createAttribute(&quot;SRC&quot;);
img_src.value = &quot;image.gif&quot;;
img.setAttributeNode(img_src);

Changing the createAttribute argument to &quot;src&quot; works properly.
Specifically, this behavior is exhibited in the program &quot;anyterm.&quot; Fails in Google Chrome and latest WebKit, works in Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661145</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-01 10:58:48 -0700</bug_when>
    <thetext>What does HTML5 say?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661151</commentid>
    <comment_count>2</comment_count>
    <who name="">michael</who>
    <bug_when>2012-07-01 11:39:14 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; What does HTML5 say?

The DOM spec specifies that, at least setAttribute should override an existing attribute if it has the same name, which presumably should be a case-insensitive comparison (http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.html#core-ID-887236154 http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.html#core-ID-5DFED1F0-h3), so running the below example on an image with an existing src attribute should update the src.

Note that WebKit parses this properly: &lt;img SRC=&quot;a.gif&quot;&gt;
img.setAttribute(&quot;SRC&quot;, &quot;a.gif&quot;) works fine as well. I would suggest it&apos;s undesired behavior for setAttribute and setAttributeNode to behave differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798709</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-02 10:19:57 -0800</bug_when>
    <thetext>See alos: bug 105713.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838142</commentid>
    <comment_count>4</comment_count>
      <attachid>189458</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-20 21:54:07 -0800</bug_when>
    <thetext>Created attachment 189458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838156</commentid>
    <comment_count>5</comment_count>
      <attachid>189458</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 22:36:49 -0800</bug_when>
    <thetext>Comment on attachment 189458
Patch

Attachment 189458 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16646830

New failing tests:
fast/dom/Element/getAttribute-check-case-sensitivity.html
fast/dom/Element/setAttributeNode-case-insensitivity.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838284</commentid>
    <comment_count>6</comment_count>
      <attachid>189497</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-21 03:17:45 -0800</bug_when>
    <thetext>Created attachment 189497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839211</commentid>
    <comment_count>7</comment_count>
      <attachid>189497</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-02-21 21:40:40 -0800</bug_when>
    <thetext>Comment on attachment 189497
Patch

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

It looks this test could be turned into a text test by using window.getComputedStyle()

&gt; Source/WebCore/dom/Element.cpp:1727
&gt; +    const QualifiedName&amp; attrName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();

This is wrong. temporal object shouldn&apos;t stored in a reference.

&gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html:1
&gt; +&lt;html&gt;

It looks this test could be turned into a text test by using window.getComputedStyle()
Then test will be more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839414</commentid>
    <comment_count>8</comment_count>
      <attachid>189728</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-22 02:34:15 -0800</bug_when>
    <thetext>Created attachment 189728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839420</commentid>
    <comment_count>9</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-22 02:40:30 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 189497 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189497&amp;action=review
&gt; 
Thanks for the review. Have uploaded another patch with the suggested change for the testcase.

&gt; &gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html:1
&gt; &gt; +&lt;html&gt;
&gt; 
&gt; It looks this test could be turned into a text test by using window.getComputedStyle()
&gt; Then test will be more readable.

Have changed the testcase to a text test but since I also wish to verify the values returned by the getAttribute() and getAttributeNode() APIs, instead of using getComputedStyle() have simply compared the values returned by the getAttribute() APIs.

Without the fix getAttribute(&apos;style&apos;) would return a different value from getAttribut(&apos;STYLE&apos;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839589</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-22 08:25:17 -0800</bug_when>
    <thetext>&gt; This is wrong. temporal object shouldn&apos;t stored in a reference.

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840313</commentid>
    <comment_count>11</comment_count>
      <attachid>189728</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-23 00:12:57 -0800</bug_when>
    <thetext>Comment on attachment 189728
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1729
&gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt; +    const QualifiedName&amp; attrName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt; +
&gt; +    size_t index = elementData-&gt;getAttributeItemIndex(attrName);

I would have preferred to share this code with setAttribute.

&gt; Source/WebCore/dom/Element.cpp:1737
&gt; -    setAttributeInternal(index, attrNode-&gt;qualifiedName(), attrNode-&gt;value(), NotInSynchronizationOfLazyAttribute);
&gt; +    setAttributeInternal(index, (index != notFound ? attrName : attrNode-&gt;qualifiedName()), attrNode-&gt;value(), NotInSynchronizationOfLazyAttribute);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840317</commentid>
    <comment_count>12</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-02-23 00:25:32 -0800</bug_when>
    <thetext>As Ryosuke pointed out on IRC, this will be worth being reviewed by experts like kling and anttik.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840318</commentid>
    <comment_count>13</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-02-23 00:26:49 -0800</bug_when>
    <thetext>&gt; &gt; This is wrong. temporal object shouldn&apos;t stored in a reference.
&gt; 
&gt; Why?

For the record, On IRC I was convinced that I was wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841945</commentid>
    <comment_count>14</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-26 06:26:55 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 189728 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189728&amp;action=review
&gt; 
Thanks for the review rniwa.

&gt; &gt; Source/WebCore/dom/Element.cpp:1729
&gt; &gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt; &gt; +    const QualifiedName&amp; attrName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt; &gt; +
&gt; &gt; +    size_t index = elementData-&gt;getAttributeItemIndex(attrName);
&gt; 
&gt; I would have preferred to share this code with setAttribute.
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1737
&gt; &gt; -    setAttributeInternal(index, attrNode-&gt;qualifiedName(), attrNode-&gt;value(), NotInSynchronizationOfLazyAttribute);
&gt; &gt; +    setAttributeInternal(index, (index != notFound ? attrName : attrNode-&gt;qualifiedName()), attrNode-&gt;value(), NotInSynchronizationOfLazyAttribute);
&gt; 
&gt; Ditto.
I did try to make a shared inline function, but setAttributeNode() requires that setAttributeInternal() be called post:

    if (index != notFound) {
        if (oldAttrNode)
            detachAttrNodeFromElementWithValue(oldAttrNode.get(), elementData-&gt;attributeItem(index)-&gt;value());
        else
            oldAttrNode = Attr::create(document(), attrNode-&gt;qualifiedName(), elementData-&gt;attributeItem(index)-&gt;value());
    }
[LayoutTests/fast/dom/attr-style-too-lazy.html fails otherwise. This is because setAttributeInternal() would update the value of the existing attribute prior to retrieving it.]

Thus probably only the call to getAttributeItemIndex() can be shared between the two methods.
Should we still go ahead and make this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842757</commentid>
    <comment_count>15</comment_count>
      <attachid>190456</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-26 23:56:24 -0800</bug_when>
    <thetext>Created attachment 190456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842790</commentid>
    <comment_count>16</comment_count>
      <attachid>190456</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-27 00:42:21 -0800</bug_when>
    <thetext>Comment on attachment 190456
Patch

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

New failing tests:
fast/dom/Element/setAttributeNode-case-insensitivity.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842838</commentid>
    <comment_count>17</comment_count>
      <attachid>190466</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-02-27 01:37:10 -0800</bug_when>
    <thetext>Created attachment 190466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842949</commentid>
    <comment_count>18</comment_count>
      <attachid>190466</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-02-27 05:00:50 -0800</bug_when>
    <thetext>Comment on attachment 190466
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1726
&gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt; +    size_t index = elementData-&gt;getAttributeItemIndex(caseAdjustedName);

Is it correct to strip away the prefix and namespace for the shouldIgnoreAttributeCase(this) case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843578</commentid>
    <comment_count>19</comment_count>
      <attachid>190466</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-02-27 15:48:54 -0800</bug_when>
    <thetext>Comment on attachment 190466
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:1726
&gt;&gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt;&gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt;&gt; +    size_t index = elementData-&gt;getAttributeItemIndex(caseAdjustedName);
&gt; 
&gt; Is it correct to strip away the prefix and namespace for the shouldIgnoreAttributeCase(this) case?

I don’t think it is correct. We need to make sure the test case covers this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845022</commentid>
    <comment_count>20</comment_count>
      <attachid>190924</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-01 03:27:07 -0800</bug_when>
    <thetext>Created attachment 190924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845068</commentid>
    <comment_count>21</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-01 04:47:29 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 190466 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190466&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1726
&gt; &gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt; &gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt; &gt; +    size_t index = elementData-&gt;getAttributeItemIndex(caseAdjustedName);
&gt; 
&gt; Is it correct to strip away the prefix and namespace for the shouldIgnoreAttributeCase(this) case?
I admit I overlooked this part. Thanks for the correction. Have uploaded another patch that does take the prefix and namespace into account as well.
The layout test also verifies this behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845073</commentid>
    <comment_count>22</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-01 04:50:18 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 190466 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190466&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/Element.cpp:1726
&gt; &gt;&gt; -    size_t index = elementData-&gt;getAttributeItemIndex(attrNode-&gt;qualifiedName());
&gt; &gt;&gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(nullAtom, attrNode-&gt;name().lower(), nullAtom) : attrNode-&gt;qualifiedName();
&gt; &gt;&gt; +    size_t index = elementData-&gt;getAttributeItemIndex(caseAdjustedName);
&gt; &gt; 
&gt; &gt; Is it correct to strip away the prefix and namespace for the shouldIgnoreAttributeCase(this) case?
&gt; 
&gt; I don’t think it is correct. We need to make sure the test case covers this.

That&apos;s right, it was indeed an oversight on my part. Have uploaded another patch that takes the namespace and prefix into account as well. Have tried to verify the same in the layout testcase as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845079</commentid>
    <comment_count>23</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-01 05:02:26 -0800</bug_when>
    <thetext>Hi Darin, Kling,

In the testcase I have tried to verify the behavior when:
i) Two attributes with the same name (same case as well) but different namespace (different prefix) are added using setAttributeNode().
The second attribute doesn&apos;t modify the first (existing) attribute which should be the proper behavior.

ii) Two attributes with the same name but different case and same namespace (different prefix) are added using setAttributeNode().
While adding, the second attribute overwrites the value of the first attribute. Again, this is as per the expected behavior since now we check against existing attributes case-insensitively. Since the namespace too matches for both these attributes (checked in getAttributeItemIndex(QualifiedName) where the matches() method on the QualifiedName checks for the namespace), the existing value is overwritten.
However the prefix are different.
Do we need to differentiate based on prefix as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845784</commentid>
    <comment_count>24</comment_count>
      <attachid>191103</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-02 02:41:26 -0800</bug_when>
    <thetext>Created attachment 191103
Slightly tweaked layout test patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845897</commentid>
    <comment_count>25</comment_count>
      <attachid>191103</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-02 18:44:21 -0800</bug_when>
    <thetext>Comment on attachment 191103
Slightly tweaked layout test patch

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

&gt; Source/WebCore/dom/Element.cpp:1727
&gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(attrName.prefix(), attrName.localName().lower(), attrName.namespaceURI()) : attrName;

If this was performance critical, we could have a more-optimal case for the case where attrName.localName() is already all lowercase that avoids a hash table lookup to create a new QualifiedName in that case. But the entire Attr-related API is intrinsically slow already, so that seems like an unneeded micro-optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846148</commentid>
    <comment_count>26</comment_count>
      <attachid>191103</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-03 21:53:47 -0800</bug_when>
    <thetext>Comment on attachment 191103
Slightly tweaked layout test patch

Clearing flags on attachment: 191103

Committed r144595: &lt;http://trac.webkit.org/changeset/144595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846149</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-03 21:53:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846392</commentid>
    <comment_count>28</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-04 06:09:52 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 191103 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191103&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1727
&gt; &gt; +    const QualifiedName&amp; caseAdjustedName = shouldIgnoreAttributeCase(this) ? QualifiedName(attrName.prefix(), attrName.localName().lower(), attrName.namespaceURI()) : attrName;
&gt; 
&gt; If this was performance critical, we could have a more-optimal case for the case where attrName.localName() is already all lowercase that avoids a hash table lookup to create a new QualifiedName in that case. But the entire Attr-related API is intrinsically slow already, so that seems like an unneeded micro-optimization.

Thanks for the r+ Darin! I suppose we should consider having a lowercase localname as not just for this case but others too [see: https://bugs.webkit.org/show_bug.cgi?id=105713] we have to convert to lowercase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847044</commentid>
    <comment_count>29</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-03-04 16:58:53 -0800</bug_when>
    <thetext>I&apos;m concerned that this was the source of intermittent crashes in chromium.

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fdom%2FElement%2F

All of the crashes are hitting

crash log for DumpRenderTree (pid 2228):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_element
STDERR: ../../third_party/WebKit/Source/WebCore/dom/Attr.cpp(215) : void WebCore::Attr::detachFromElementWithValue(const WTF::AtomicString &amp;)
STDERR: 1   0x731cf95 WebCore::Attr::detachFromElementWithValue(WTF::AtomicString const&amp;)
STDERR: 2   0x744b32b WebCore::Element::detachAllAttrNodesFromElement()


The earliest occurance of this crash is at r144595.

It&apos;s not obvious to me how this could be causing Attrs to not have an m_element upon dtion, but the revision &amp; code proximity make me suspicious.

Arpita? Darin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847084</commentid>
    <comment_count>30</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-04 17:35:27 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; It&apos;s not obvious to me how this could be causing Attrs to not have an m_element upon dtion, but the revision &amp; code proximity make me suspicious.

I don’t have anything to add. It’s not obvious to me either, but if this is the revision where the problem began, perhaps it’s responsible.

Which test is the crash happening in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847102</commentid>
    <comment_count>31</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-03-04 17:44:45 -0800</bug_when>
    <thetext>Too many to list. Here&apos;s a sample:

fast/dom/Element/id-in-param.html
fast/dom/Element/id-in-formcollection.html
fast/dom/Element/offsetLeft-offsetTop-html.html
fast/dom/Element/id-in-getelement01.html
fast/dom/Element/id-in-frameset.html
fast/dom/Element/id-in-frame.html

I&apos;m going to try reverting. Apologies in advance if this isn&apos;t the cuprit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847110</commentid>
    <comment_count>32</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-03-04 17:47:37 -0800</bug_when>
    <thetext>Reverted r144595 for reason:

Causing multiple crashes in fast/dom/Element/* tests (hits assert in Attr.cp:215

Committed r144702: &lt;http://trac.webkit.org/changeset/144702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847120</commentid>
    <comment_count>33</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-03-04 17:53:43 -0800</bug_when>
    <thetext>reverted in http://trac.webkit.org/changeset/144702</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851043</commentid>
    <comment_count>34</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-08 03:10:09 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; (In reply to comment #29)
&gt; &gt; It&apos;s not obvious to me how this could be causing Attrs to not have an m_element upon dtion, but the revision &amp; code proximity make me suspicious.
&gt; 
&gt; I don’t have anything to add. It’s not obvious to me either, but if this is the revision where the problem began, perhaps it’s responsible.
&gt; 
&gt; Which test is the crash happening in?

Hi Darin,
The assert occurs whenever garbage collection is fired after executing the test LayoutTests/fast/dom/Element/getAttribute-check-case-sensitivity.html.

This is coz, a case within ^^ first adds an attribute with name &quot;B&quot; and then tries to add another attribute with the same name and case.
In setAttributeNode() my patch was converting the attr name to lowercase and then verifying against the existing attributes. Thus, not finding an attribute node (since the case won&apos;t match), it would add another attribute node to the element&apos;s node list (with the same name and case!).
Setting the attr in this way we do not clear the node&apos;s attr list properly, which during garbage collection causes the assert in Attr::detachFromElementWithValue().

Problem was that converting the input attr name to lowercase does not always guarantee case-insensitive comparison for setAttribute() (since existing attr could be in uppercase).

Shall upload another patch, taking the case-insensitive comparison to getAttributeItemIndex(QualifiedName&amp;) instead of doing the lowercase check in setAttribute().
getAttributeItemIndex() calls on QualifiedName::matches() in which we can do a 
case-insensitive/sensitive check based on an additional param.

getAttributeItemIndex(AtomicString&amp;) already takes another param for performing similar functionality.

Would appreciate your thoughts on the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851046</commentid>
    <comment_count>35</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-08 03:17:29 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; Too many to list. Here&apos;s a sample:
&gt; 
&gt; fast/dom/Element/id-in-param.html
&gt; fast/dom/Element/id-in-formcollection.html
&gt; fast/dom/Element/offsetLeft-offsetTop-html.html
&gt; fast/dom/Element/id-in-getelement01.html
&gt; fast/dom/Element/id-in-frameset.html
&gt; fast/dom/Element/id-in-frame.html
&gt; 
&gt; I&apos;m going to try reverting. Apologies in advance if this isn&apos;t the cuprit.

Thanks for reverting the patch. It was indeed causing the assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851063</commentid>
    <comment_count>36</comment_count>
      <attachid>192196</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-03-08 03:47:23 -0800</bug_when>
    <thetext>Created attachment 192196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914073</commentid>
    <comment_count>37</comment_count>
      <attachid>192196</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-02 02:43:41 -0700</bug_when>
    <thetext>Comment on attachment 192196
Patch

Rejecting attachment 192196 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 192196, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
rej
patching file Source/WebCore/dom/QualifiedName.h
Hunk #1 succeeded at 79 (offset -2 lines).
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt
patching file LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Ryosuke Niwa&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/1326133</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914131</commentid>
    <comment_count>38</comment_count>
      <attachid>208018</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-02 07:15:59 -0700</bug_when>
    <thetext>Created attachment 208018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914134</commentid>
    <comment_count>39</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-02 07:19:49 -0700</bug_when>
    <thetext>Hi Ryosuke, many thanks for the review! Unfortunately the code had changed since the time of submitting the last patch.
Have merged the changes to the latest and re-submitted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914209</commentid>
    <comment_count>40</comment_count>
      <attachid>208018</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-02 11:07:59 -0700</bug_when>
    <thetext>Comment on attachment 208018
Patch

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

&gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html:8
&gt; +#test {
&gt; +    font-family: ahem;
&gt; +    width: 50;
&gt; +    height: 50;
&gt; +}

Do we need this style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915049</commentid>
    <comment_count>41</comment_count>
      <attachid>208240</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-07 00:23:23 -0700</bug_when>
    <thetext>Created attachment 208240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915051</commentid>
    <comment_count>42</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-07 00:52:30 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (From update of attachment 208018 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208018&amp;action=review
&gt; 
Thanks for the review Ryosuke!

&gt; &gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html:8
&gt; &gt; +#test {
&gt; &gt; +    font-family: ahem;
&gt; &gt; +    width: 50;
&gt; &gt; +    height: 50;
&gt; &gt; +}
&gt; 
&gt; Do we need this style?

Removed since this wasn&apos;t really required. Have uploaded another patch with the modifications.

Added one small change to the patch in Element::setAttributeInternal().
If an existing attribute is found then we should update the new value to that attribute. So we should use the name corresponding to that attribute.

This can be verified by using the previous patch and loading the attached layout testcase. Notice that even though the layout testcase passes, the color of the div in the testcase still remains red.

With the fix in setAttributeInternal() however, the value shall be set properly, i.e. to the existing attribute, and we&apos;ll get a green colored div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916192</commentid>
    <comment_count>43</comment_count>
      <attachid>208240</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 00:29:05 -0700</bug_when>
    <thetext>Comment on attachment 208240
Patch

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

&gt; Source/WebCore/dom/QualifiedName.h:82
&gt; -    bool matches(const QualifiedName&amp; other) const { return m_impl == other.m_impl || (localName() == other.localName() &amp;&amp; namespaceURI() == other.namespaceURI()); }
&gt; +    bool matches(const QualifiedName&amp; other, bool shouldIgnoreCase = false) const { return m_impl == other.m_impl || (equalPossiblyIgnoringCase(localName(), other.localName(), shouldIgnoreCase) &amp;&amp; namespaceURI() == other.namespaceURI()); }

Please add a new function such as matchesIgnoringCaseForLocalName.  The current patch will bloat thousands of call sites of hasTagName.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916212</commentid>
    <comment_count>44</comment_count>
      <attachid>208520</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-12 02:35:13 -0700</bug_when>
    <thetext>Created attachment 208520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916215</commentid>
    <comment_count>45</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-12 02:47:33 -0700</bug_when>
    <thetext>(In reply to comment #43)
&gt; (From update of attachment 208240 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208240&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/QualifiedName.h:82
&gt; &gt; -    bool matches(const QualifiedName&amp; other) const { return m_impl == other.m_impl || (localName() == other.localName() &amp;&amp; namespaceURI() == other.namespaceURI()); }
&gt; &gt; +    bool matches(const QualifiedName&amp; other, bool shouldIgnoreCase = false) const { return m_impl == other.m_impl || (equalPossiblyIgnoringCase(localName(), other.localName(), shouldIgnoreCase) &amp;&amp; namespaceURI() == other.namespaceURI()); }
&gt; 
&gt; Please add a new function such as matchesIgnoringCaseForLocalName.  The current patch will bloat thousands of call sites of hasTagName.

Thanks for the review R Niwa. Have submitted another patch with the specified change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916538</commentid>
    <comment_count>46</comment_count>
      <attachid>208520</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 22:06:44 -0700</bug_when>
    <thetext>Comment on attachment 208520
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3243
&gt; -        if (attributes[i].name() == attr-&gt;qualifiedName())
&gt; +        if (attributes[i].name().matchesIgnoringCaseForLocalName(attr-&gt;qualifiedName(), shouldIgnoreAttributeCase))

On my second thought, this is incorrect. One one hand, createElement(&apos;STYLE&apos;) in a HTML document will create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.  On the other hand, &apos;STYLE&apos; attribute is NOT equal to &apos;style&apos; attribute in a XHTML document.
Furthermore, XHTML documents differentiates each attribute in case sensitive matter so there is no way this code is correct at least for XHTML document.
r-.

&gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity.html:1
&gt; +&lt;html&gt;

Missing DOCTYPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916540</commentid>
    <comment_count>47</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 22:08:43 -0700</bug_when>
    <thetext>(In reply to comment #46)
&gt; (From update of attachment 208520 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208520&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:3243
&gt; &gt; -        if (attributes[i].name() == attr-&gt;qualifiedName())
&gt; &gt; +        if (attributes[i].name().matchesIgnoringCaseForLocalName(attr-&gt;qualifiedName(), shouldIgnoreAttributeCase))
&gt; 
&gt; On my second thought, this is incorrect. One one hand, createElement(&apos;STYLE&apos;) in a HTML document will create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.

Correction.  createElement(&apos;STYLE&apos;) in a HTML document SHOULD create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916542</commentid>
    <comment_count>48</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-12 22:22:21 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; (In reply to comment #46)
&gt; &gt; (From update of attachment 208520 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208520&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/dom/Element.cpp:3243
&gt; &gt; &gt; -        if (attributes[i].name() == attr-&gt;qualifiedName())
&gt; &gt; &gt; +        if (attributes[i].name().matchesIgnoringCaseForLocalName(attr-&gt;qualifiedName(), shouldIgnoreAttributeCase))
&gt; &gt; 
&gt; &gt; On my second thought, this is incorrect. One one hand, createElement(&apos;STYLE&apos;) in a HTML document will create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.
&gt; 
&gt; Correction.  createElement(&apos;STYLE&apos;) in a HTML document SHOULD create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.

Nm... it seems like this isn&apos;t specified anywhere since DOM4 deprecates createAttribute. However, DOM4 clearly specifies this behavior for createElement:
http://dom.spec.whatwg.org/#dom-document-createelement

Given that, I&apos;m inclined to say we should do the same for createAttribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916650</commentid>
    <comment_count>49</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 04:08:10 -0700</bug_when>
    <thetext>(In reply to comment #48)
&gt; (In reply to comment #47)
&gt; &gt; (In reply to comment #46)
&gt; &gt; &gt; (From update of attachment 208520 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208520&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/dom/Element.cpp:3243
&gt; &gt; &gt; &gt; -        if (attributes[i].name() == attr-&gt;qualifiedName())
&gt; &gt; &gt; &gt; +        if (attributes[i].name().matchesIgnoringCaseForLocalName(attr-&gt;qualifiedName(), shouldIgnoreAttributeCase))
&gt; &gt; &gt; 
&gt; &gt; &gt; On my second thought, this is incorrect. One one hand, createElement(&apos;STYLE&apos;) in a HTML document will create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.
&gt; &gt; 
&gt; &gt; Correction.  createElement(&apos;STYLE&apos;) in a HTML document SHOULD create an attribute with localName of &apos;style&apos;, NOT &apos;STYLE&apos;.
&gt; 
&gt; Nm... it seems like this isn&apos;t specified anywhere since DOM4 deprecates createAttribute. However, DOM4 clearly specifies this behavior for createElement:
&gt; http://dom.spec.whatwg.org/#dom-document-createelement
&gt; 
&gt; Given that, I&apos;m inclined to say we should do the same for createAttribute.

Thanks for the review R Niwa.

createElement() and createAttribute() do behave differently as regards the case of the passed argument. Where an uppercase arg passed to createElement() shall still create a lowercase element, the same is not true for createAttribute.

Consider a simple testcase as:

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script&gt;
function test()
{
    var newAttr = document.createAttribute(&quot;WIDTH&quot;);
    newAttr.value = &quot;200px&quot;;
    var testElem = document.getElementById(&apos;testTag&apos;);
    testElem.setAttributeNode(newAttr);
    
    var newAttr = document.createAttribute(&quot;RANDOM&quot;);
    newAttr.value = &quot;xyz&quot;;
    var testElem = document.getElementById(&apos;testTag&apos;);
    testElem.setAttributeNode(newAttr);
    
    document.getElementById(&apos;result&apos;).innerHTML = &quot;lowercase width = &quot;+testElem.getAttributeNode(&apos;width&apos;).value+&quot; uppercase width = &quot;+testElem.getAttributeNode(&apos;WIDTH&apos;).value;
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;test()&quot;&gt;
&lt;img id=&quot;testTag&quot; src=&quot;50x50.gif&quot; height=&quot;50px&quot; width=&quot;50px&quot; /&gt;
&lt;div id=&quot;result&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Here, the generated DOM on FireFox is:
&lt;img WIDTH=&quot;200px&quot; height=&quot;50px&quot; src=&quot;50x50.gif&quot; id=&quot;testTag&quot; RANDOM=&quot;xyz&quot;&gt;

whereas on WebKit it is:
&lt;img id=&quot;testTag&quot; src=&quot;50x50.gif&quot; height=&quot;50px&quot; width=&quot;50px&quot; WIDTH=&quot;200px&quot; RANDOM=&quot;xyz&quot;&gt;

This shows that createAttribute() should allow for creation of attributes in any case. However, setAttributeNode(), while checking against existing attributes, should first convert the passed argument to lowercase and then compare.

The specification for setAttribute() [http://dom.spec.whatwg.org/#dom-element-setattribute] states that we should first convert the passed name to ASCII lowercase. This patch assumes that the same should hold true for setAttributeNode() as well.

Also, I did make changes to createAttribute() to create only lowercase attributes but that would fail tests such as: LayoutTests/fast/dom/Element/getAttribute-check-case-sensitivity.html which expects that attributes be allowed in any case. [http://trac.webkit.org/changeset/35931]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916652</commentid>
    <comment_count>50</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 04:19:50 -0700</bug_when>
    <thetext>Correction:
The DOM on FF for the testcase mentioned in the previous comment [#49] is:
&lt;img width=&quot;200px&quot; height=&quot;50px&quot; src=&quot;50x50.gif&quot; id=&quot;testTag&quot; RANDOM=&quot;xyz&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916670</commentid>
    <comment_count>51</comment_count>
      <attachid>208622</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 05:52:15 -0700</bug_when>
    <thetext>Created attachment 208622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916671</commentid>
    <comment_count>52</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 05:54:31 -0700</bug_when>
    <thetext>Hi R Niwa,
Have uploaded another patch after adding the doctype to the layout testcase. Also added another testcase which verifies setAttributeNode() behavior for xhtml documents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916694</commentid>
    <comment_count>53</comment_count>
      <attachid>208627</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 07:33:48 -0700</bug_when>
    <thetext>Created attachment 208627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916728</commentid>
    <comment_count>54</comment_count>
      <attachid>208627</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-13 08:51:35 -0700</bug_when>
    <thetext>Comment on attachment 208627
Patch

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

&gt; Source/WebCore/dom/QualifiedName.h:84
&gt; +    bool matchesIgnoringCaseForLocalName(const QualifiedName&amp; other, bool shouldIgnoreCase = false) const { return m_impl == other.m_impl || (equalPossiblyIgnoringCase(localName(), other.localName(), shouldIgnoreCase) &amp;&amp; namespaceURI() == other.namespaceURI()); }

There is no reason for the shouldIgnoreCase function to have a default of false. When the value is false, it&apos;s just a slower version of the matches function, so we would not want anyone to call it in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916729</commentid>
    <comment_count>55</comment_count>
      <attachid>208627</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-13 08:52:26 -0700</bug_when>
    <thetext>Comment on attachment 208627
Patch

I’d like to see more test coverage here, covering things like non-XHTML XML documents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916954</commentid>
    <comment_count>56</comment_count>
      <attachid>208627</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-13 17:10:15 -0700</bug_when>
    <thetext>Comment on attachment 208627
Patch

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

&gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity-xhtml-expected.txt:2
&gt; +This test verifies that the setAttributeNode() API allows for creation of attributes case-sensitively for XHTML documents. Thus two different attributes with the same name but in different case can exist for XHTML documents.

This is not what Firefox 23 does.  Firefox 23 does case-sensitive comparison of attribute names in a XHTML document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916998</commentid>
    <comment_count>57</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-13 22:25:39 -0700</bug_when>
    <thetext>(In reply to comment #56)
&gt; (From update of attachment 208627 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208627&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/dom/Element/setAttributeNode-case-insensitivity-xhtml-expected.txt:2
&gt; &gt; +This test verifies that the setAttributeNode() API allows for creation of attributes case-sensitively for XHTML documents. Thus two different attributes with the same name but in different case can exist for XHTML documents.
&gt; 
&gt; This is not what Firefox 23 does.  Firefox 23 does case-sensitive comparison of attribute names in a XHTML document.

Hi Ryosuke,

For the following xhtml test:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;script&gt;
function test()
{
    var newAttr = document.createAttribute(&quot;WIDTH&quot;);
    newAttr.value = &quot;200px&quot;;
    var testElem = document.getElementById(&apos;testTag&apos;);
    testElem.setAttributeNode(newAttr);
    
    document.getElementById(&apos;result&apos;).innerHTML = &quot;lowercase width = &quot;+testElem.getAttributeNode(&apos;width&apos;).value+&quot; uppercase width = &quot;+testElem.getAttributeNode(&apos;WIDTH&apos;).value;
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;test()&quot;&gt;
&lt;img id=&quot;testTag&quot; src=&quot;50x50.gif&quot; height=&quot;50px&quot; width=&quot;50px&quot; /&gt;
&lt;div id=&quot;result&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

I get the following o/p in FF (v23):
&quot;lowercase width = 50px uppercase width = 200px&quot;

Also, the generated DOM is: 
&lt;body onload=&quot;test()&quot;&gt;
&lt;img id=&quot;testTag&quot; width=&quot;50px&quot; height=&quot;50px&quot; src=&quot;50x50.gif&quot; WIDTH=&quot;200px&quot;/&gt;
&lt;div id=&quot;result&quot;&gt;lowercase width = 50px uppercase width = 200px&lt;/div&gt;
&lt;/body&gt;

but the same test for an HTML doc doesn&apos;t create a new attribute for width in uppercase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917038</commentid>
    <comment_count>58</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-14 01:44:14 -0700</bug_when>
    <thetext>Oh never mind. I must have misread the test case. I thought your test case was testing that we&apos;ll do case-insensitive comparison even in a XHTML document, which will be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917042</commentid>
    <comment_count>59</comment_count>
      <attachid>208706</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-14 02:03:17 -0700</bug_when>
    <thetext>Created attachment 208706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917043</commentid>
    <comment_count>60</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2013-08-14 02:05:56 -0700</bug_when>
    <thetext>(In reply to comment #54)
&gt; (From update of attachment 208627 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208627&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/QualifiedName.h:84
&gt; &gt; +    bool matchesIgnoringCaseForLocalName(const QualifiedName&amp; other, bool shouldIgnoreCase = false) const { return m_impl == other.m_impl || (equalPossiblyIgnoringCase(localName(), other.localName(), shouldIgnoreCase) &amp;&amp; namespaceURI() == other.namespaceURI()); }
&gt; 
&gt; There is no reason for the shouldIgnoreCase function to have a default of false. When the value is false, it&apos;s just a slower version of the matches function, so we would not want anyone to call it in that case.

Thanks for the r+ Darin! Have made this change in the submitted patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917070</commentid>
    <comment_count>61</comment_count>
      <attachid>208706</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-14 04:14:16 -0700</bug_when>
    <thetext>Comment on attachment 208706
Patch

Rejecting attachment 208706 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 208706, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/1453806</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917082</commentid>
    <comment_count>62</comment_count>
      <attachid>208714</attachid>
    <who name="Arpita Bahuguna">a.bah</who>
    <bug_when>2013-08-14 04:36:04 -0700</bug_when>
    <thetext>Created attachment 208714
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917164</commentid>
    <comment_count>63</comment_count>
      <attachid>208714</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-14 10:07:32 -0700</bug_when>
    <thetext>Comment on attachment 208714
Patch for landing

Clearing flags on attachment: 208714

Committed r154054: &lt;http://trac.webkit.org/changeset/154054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156086</commentid>
    <comment_count>64</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-15 19:30:36 -0800</bug_when>
    <thetext>All patches have been landed, closing the bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189458</attachid>
            <date>2013-02-20 21:54:07 -0800</date>
            <delta_ts>2013-02-21 03:17:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130221112540.patch</filename>
            <type>text/plain</type>
            <size>8753</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzU2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAyLTIwICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgY3JlYXRlQXR0
cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2V0QXR0cmli
dXRlTm9kZSgpIHZlcmlmaWVzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGluIGEgY2FzZQorICAg
ICAgICBzZW5zaXRpdmUgbWFubmVyLiBUaHVzLCBpdCB3b3VsZCBhZGQgYW5vdGhlciBhdHRyaWJ1
dGUgaWYgc3BlY2lmaWVkCisgICAgICAgIGluIGEgY2FzZSBkaWZmZXJlbnQgZnJvbSB0aGUgZXhp
c3Rpbmcgb25lLiBJbnN0ZWFkLCBsaWtlIHNldEF0dHJpYnV0ZSgpLAorICAgICAgICBpdCB0b28g
c2hvdWxkIG1vZGlmeSB0aGUgZXhpc3RpbmcgYXR0cmlidXRlJ3MgdmFsdWUuCisKKyAgICAgICAg
VGVzdDogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0
eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgTWFkZSBjaGFuZ2VzIHRvIGNoZWNr
IGZvciBhbiBleGlzdGluZyBhdHRyaWJ1dGUgYnkgY29udmVydGluZyB0aGUKKyAgICAgICAgc3Bl
Y2lmaWVkIGF0dHJpYnV0ZSBuYW1lIHRvIGxvd2VyY2FzZS4gQWxzbywgd2hpbGUgc2V0dGluZyB0
aGUKKyAgICAgICAgYXR0cmlidXRlLCB0aGUgbG93ZXJjYXNlIG5hbWUgc2hvdWxkIGJlIHVzZWQu
CisKIDIwMTMtMDItMjAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBNb3VzZXVwIGV2ZW50IGRvZXMgbm90IGZpcmUgb24gU2Nyb2xsIEJhcgpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTQzNTYyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzI0LDcgKzE3MjQsOSBAQCBQYXNzUmVmUHRy
PEF0dHI+IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1
dGVzKCk7CiAgICAgVW5pcXVlRWxlbWVudERhdGEqIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVl
RWxlbWVudERhdGEoKTsKIAotICAgIHNpemVfdCBpbmRleCA9IGVsZW1lbnREYXRhLT5nZXRBdHRy
aWJ1dGVJdGVtSW5kZXgoYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSk7CisgICAgY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUgPSBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpID8g
UXVhbGlmaWVkTmFtZShudWxsQXRvbSwgYXR0ck5vZGUtPm5hbWUoKS5sb3dlcigpLCBudWxsQXRv
bSkgOiBhdHRyTm9kZS0+cXVhbGlmaWVkTmFtZSgpOworCisgICAgc2l6ZV90IGluZGV4ID0gZWxl
bWVudERhdGEtPmdldEF0dHJpYnV0ZUl0ZW1JbmRleChhdHRyTmFtZSk7CiAgICAgaWYgKGluZGV4
ICE9IG5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRBdHRyTm9kZSkKICAgICAgICAgICAgIGRl
dGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUob2xkQXR0ck5vZGUuZ2V0KCksIGVsZW1l
bnREYXRhLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFsdWUoKSk7CkBAIC0xNzMyLDcgKzE3MzQs
NyBAQCBQYXNzUmVmUHRyPEF0dHI+IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgICAgICAg
ICBvbGRBdHRyTm9kZSA9IEF0dHI6OmNyZWF0ZShkb2N1bWVudCgpLCBhdHRyTm9kZS0+cXVhbGlm
aWVkTmFtZSgpLCBlbGVtZW50RGF0YS0+YXR0cmlidXRlSXRlbShpbmRleCktPnZhbHVlKCkpOwog
ICAgIH0KIAotICAgIHNldEF0dHJpYnV0ZUludGVybmFsKGluZGV4LCBhdHRyTm9kZS0+cXVhbGlm
aWVkTmFtZSgpLCBhdHRyTm9kZS0+dmFsdWUoKSwgTm90SW5TeW5jaHJvbml6YXRpb25PZkxhenlB
dHRyaWJ1dGUpOworICAgIHNldEF0dHJpYnV0ZUludGVybmFsKGluZGV4LCBhdHRyTmFtZSwgYXR0
ck5vZGUtPnZhbHVlKCksIE5vdEluU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKIAog
ICAgIGF0dHJOb2RlLT5hdHRhY2hUb0VsZW1lbnQodGhpcyk7CiAgICAgZW5zdXJlQXR0ck5vZGVM
aXN0Rm9yRWxlbWVudCh0aGlzKS0+YXBwZW5kKGF0dHJOb2RlKTsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE0MzU2MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDEzLTAyLTIwICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBn
bWFpbC5jb20+CisKKyAgICAgICAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9l
cyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Jlc291cmNlcy81MHg1MC5n
aWY6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvcmVzb3VyY2VzL3NxdWFyZS1i
bHVlLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVO
b2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWw6
IEFkZGVkLgorICAgICAgICBUZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRl
Tm9kZSgpIGNoZWNrcyBhZ2FpbnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBj
YXNlIGluc2Vuc2l0aXZlIG1hbm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2YKKyAgICAgICAg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9u
ZSBzZXQgdXNpbmcKKyAgICAgICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4K
KwogMjAxMy0wMi0yMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IE1vdXNldXAgZXZlbnQgZG9lcyBub3QgZmlyZSBvbiBTY3JvbGwgQmFyCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVu
dC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2Rl
LWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE0IEBACis8aHRtbD4KKzxib2R5PgorPGRpdj5UZXN0IGZvciBCdWd6aWxsYSBidWc6PGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxIj4gOTAzNDE8
L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBu
b3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXY+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNl
dEF0dHJpYnV0ZU5vZGUoKSBBUEkgY2hlY2tzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzICh3aXRo
IHRoZSBzYW1lIG5hbWUpIGNhc2UtaW5zZW5zaXRpdmVseS4gVGh1cyBhbiBleGlzdGluZyBhdHRy
aWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBn
ZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1
dGVOb2RlKCkgbWV0aG9kLjwvZGl2PgorPGJyPgorPGltZyBpZD0idGVzdCIgc3JjPSJyZXNvdXJj
ZXMvNTB4NTAuZ2lmIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIC8+Cis8ZGl2PmdldEF0dHJpYnV0
ZSgnc3JjJykgcmVzdWx0IGlzIHJlc291cmNlcy81MHg1MC5naWY8L2Rpdj4KKzxkaXY+Z2V0QXR0
cmlidXRlKCdTUkMnKSByZXN1bHQgaXMgcmVzb3VyY2VzLzUweDUwLmdpZjwvZGl2PgorPGRpdj5n
ZXRBdHRyaWJ1dGVOb2RlKCdzcmMnKSByZXN1bHQgaXMgcmVzb3VyY2VzLzUweDUwLmdpZjwvZGl2
PgorPGRpdj5nZXRBdHRyaWJ1dGVOb2RlKCdTUkMnKSByZXN1bHQgaXMgcmVzb3VyY2VzLzUweDUw
LmdpZjwvZGl2PgorPGJyPgorPGRpdj5BIGdyZWVuIHNxdWFyZSBpbWFnZSBzaG91bGQgYmUgZGlz
cGxheWVkIGluc3RlYWQgb2YgYSBibHVlIHNxdWFyZSBmb3IgdGhlIHRlc3QgdG8gcGFzcy4gQWxz
bywgdGhlIHJlc3VsdCBmb3IgdGhlIGdldEF0dHJpYnV0ZSgpIGFuZCBnZXRBdHRyaWJ1dGVOb2Rl
KCkgQVBJcyBzaG91bGQgcmV0dXJuIHJlc291cmNlcy81MHg1MC5naWYgZm9yIGFsbCB0aGUgY2Fz
ZXMuPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2Ut
aW5zZW5zaXRpdml0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciB0ZXN0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3U3JjQXR0ciA9IGRv
Y3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiU1JDIik7CisgICAgbmV3U3JjQXR0ci52YWx1ZSA9ICJy
ZXNvdXJjZXMvNTB4NTAuZ2lmIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3U3JjQXR0
cik7CisgICAgCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdldEF0dHJMb3dlckNhc2Ui
KS5pbm5lckhUTUwgPSAiZ2V0QXR0cmlidXRlKCdzcmMnKSByZXN1bHQgaXMgIit0ZXN0LmdldEF0
dHJpYnV0ZSgnc3JjJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdldEF0dHJVcHBl
ckNhc2UiKS5pbm5lckhUTUwgPSAiZ2V0QXR0cmlidXRlKCdTUkMnKSByZXN1bHQgaXMgIit0ZXN0
LmdldEF0dHJpYnV0ZSgnU1JDJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdldEF0
dHJOb2RlTG93ZXJDYXNlIikuaW5uZXJIVE1MID0gImdldEF0dHJpYnV0ZU5vZGUoJ3NyYycpIHJl
c3VsdCBpcyAiK3Rlc3QuZ2V0QXR0cmlidXRlTm9kZSgnc3JjJykudmFsdWU7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImdldEF0dHJOb2RlVXBwZXJDYXNlIikuaW5uZXJIVE1MID0gImdl
dEF0dHJpYnV0ZU5vZGUoJ1NSQycpIHJlc3VsdCBpcyAiK3Rlc3QuZ2V0QXR0cmlidXRlTm9kZSgn
U1JDJykudmFsdWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgp
Ij4KKzxkaXY+VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxPC9hPiAgY3JlYXRlQXR0cmlidXRl
L3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuPC9kaXY+
Cis8ZGl2PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJ
IGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyAod2l0aCB0aGUgc2FtZSBuYW1lKSBjYXNl
LWluc2Vuc2l0aXZlbHkuIFRodXMgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNhbWUg
bmFtZSBidXQgaW4gYSBkaWZmZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2VkIGJ5IHRoZSBu
ZXcgdmFsdWUgc3BlY2lmaWVkIHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1ldGhvZC48L2Rp
dj4KKzxicj4KKzxpbWcgaWQ9InRlc3QiIHNyYz0icmVzb3VyY2VzL3NxdWFyZS1ibHVlLnBuZyIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiAvPgorPGRpdiBpZD0iZ2V0QXR0ckxvd2VyQ2FzZSI+PC9k
aXY+Cis8ZGl2IGlkPSJnZXRBdHRyVXBwZXJDYXNlIj48L2Rpdj4KKzxkaXYgaWQ9ImdldEF0dHJO
b2RlTG93ZXJDYXNlIj48L2Rpdj4KKzxkaXYgaWQ9ImdldEF0dHJOb2RlVXBwZXJDYXNlIj48L2Rp
dj4KKzxicj4KKzxkaXY+QSBncmVlbiBzcXVhcmUgaW1hZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCBp
bnN0ZWFkIG9mIGEgYmx1ZSBzcXVhcmUgZm9yIHRoZSB0ZXN0IHRvIHBhc3MuIEFsc28sIHRoZSBy
ZXN1bHQgZm9yIHRoZSBnZXRBdHRyaWJ1dGUoKSBhbmQgZ2V0QXR0cmlidXRlTm9kZSgpIEFQSXMg
c2hvdWxkIHJldHVybiByZXNvdXJjZXMvNTB4NTAuZ2lmIGZvciBhbGwgdGhlIGNhc2VzLjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvcmVzb3VyY2VzLzUweDUwLmdpZgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10
eXBlID0gaW1hZ2UvZ2lmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L3Jlc291cmNlcy81MHg1MC5naWYKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQogICArIGltYWdlL2dpZgoKClIwbEdPRGxoTWdBeUFNUUFBTDdpa0xqZmgrcjEycTNhZE5U
c3Rmcjk5dS80NU9UejBmVDY3Yzdwck1Qa21iUGRmdG51djhubm85L3cKeVAvLy82allhd0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0g1
QkFBQQpBQUFBTEFBQUFBQXlBRElBQUFYbUlDU09aR21lYUtxdWJPdStjQ3pQZEczZmVLN3ZmTy8v
d0tCd1NDd2FqOGlrY3NtOEJRYThnRXJ3CnFENEFrQUMxUUlnQnJGVlJBdkVRWUUrQ0xzbHd5RDRh
c0c4cDhGQkFHQVZVdWxRWEdkUWpCZ1lEQXdodEpISWtDUThpWDFJbVZBOWMKSWxjaUFnSWxDd1VP
QjRNbFgxVUlVZ1NZRUFPVkprOEREQTlTcUpjbVh3V1BKQU5TQVFhWXBDS25aeW1WZlJCL3NaSzBK
d1NNaTQydApKdzFReUZKc2JuQWttcVFJVUloWUF3SnRkSFo0S0dCcVdwS0FnWmdEQlljamk2R1BZ
dzhHZGljREFBQUxjOWt4Qy9lcFRRQURDaHhJCnNLREJnd2dUS2x6SXNLSERoeENYaEFBQU93PT0K
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Jlc291cmNlcy9zcXVhcmUtYmx1
ZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9yZXNvdXJjZXMvc3F1YXJlLWJsdWUucG5nCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBpbWFnZS9wbmcKCgppVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBR1FBQUFCa0FRTUFBQUJLTEFjWEFBQUFGbWxVV0hSWVRVdzZZMjl0TG1Ga2Iy
SmxMbmh0CmNBQUFBQUFBYUVaK0dnQUFBQVpRVEZSRkFBRC9BQUFBZTJLL1BnQUFBQmwwUlZoMFUy
OW1kSGRoY21VQVIzSmhjR2hwWTBOdmJuWmwKY25SbGNqVmRTTzRBQUFBMVNVUkJWSGljWW1DZ0sy
Q2tyM1ZvZ0o4R0tnY1RJRGQwaDZadlJ6SVkySHcwc0FDZjM1bkkxRWNkMjBrQQpBQUFBQVAvL0F3
RE1hUUEyRVVPNlhBQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189497</attachid>
            <date>2013-02-21 03:17:45 -0800</date>
            <delta_ts>2013-02-22 02:34:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130221164917.patch</filename>
            <type>text/plain</type>
            <size>7316</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzU3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTIwICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlCisgICAgICAgIHNl
bnNpdGl2ZSBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQKKyAgICAgICAgaW4gYSBjYXNlIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksCisgICAgICAgIGl0IHRvbyBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlIG5hbWUgdG8gbG93ZXJjYXNlLgorICAgICAgICBBbHNvLCB3aGlsZSBzZXR0aW5n
IHRoZSBhdHRyaWJ1dGUsIHRoZSBsb3dlcmNhc2UgbmFtZSBzaG91bGQgYmUKKyAgICAgICAgdXNl
ZCAoaWYgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNhbWUgbmFtZSBpcyBmb3VuZCku
CisKIDIwMTMtMDItMjEgIFRhbWFzIEN6ZW5lICA8dGN6ZW5lQGluZi51LXN6ZWdlZC5odT4KIAog
ICAgICAgICBPcGVuQ0wgaW1wbGVtZW50YXRpb24gb2YgRkVNZXJnZSBmaWx0ZXIuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDM1NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MjQsNyArMTcyNCw5IEBAIFBhc3NS
ZWZQdHI8QXR0cj4gRWxlbWVudDo6c2V0QXR0cmlidXRlTm8KICAgICBzeW5jaHJvbml6ZUFsbEF0
dHJpYnV0ZXMoKTsKICAgICBVbmlxdWVFbGVtZW50RGF0YSogZWxlbWVudERhdGEgPSBlbnN1cmVV
bmlxdWVFbGVtZW50RGF0YSgpOwogCi0gICAgc2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdl
dEF0dHJpYnV0ZUl0ZW1JbmRleChhdHRyTm9kZS0+cXVhbGlmaWVkTmFtZSgpKTsKKyAgICBjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhp
cykgPyBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBhdHRyTm9kZS0+bmFtZSgpLmxvd2VyKCksIG51
bGxBdG9tKSA6IGF0dHJOb2RlLT5xdWFsaWZpZWROYW1lKCk7CisKKyAgICBzaXplX3QgaW5kZXgg
PSBlbGVtZW50RGF0YS0+Z2V0QXR0cmlidXRlSXRlbUluZGV4KGF0dHJOYW1lKTsKICAgICBpZiAo
aW5kZXggIT0gbm90Rm91bmQpIHsKICAgICAgICAgaWYgKG9sZEF0dHJOb2RlKQogICAgICAgICAg
ICAgZGV0YWNoQXR0ck5vZGVGcm9tRWxlbWVudFdpdGhWYWx1ZShvbGRBdHRyTm9kZS5nZXQoKSwg
ZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0ZW0oaW5kZXgpLT52YWx1ZSgpKTsKQEAgLTE3MzIsNyAr
MTczNCw3IEBAIFBhc3NSZWZQdHI8QXR0cj4gRWxlbWVudDo6c2V0QXR0cmlidXRlTm8KICAgICAg
ICAgICAgIG9sZEF0dHJOb2RlID0gQXR0cjo6Y3JlYXRlKGRvY3VtZW50KCksIGF0dHJOb2RlLT5x
dWFsaWZpZWROYW1lKCksIGVsZW1lbnREYXRhLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFsdWUo
KSk7CiAgICAgfQogCi0gICAgc2V0QXR0cmlidXRlSW50ZXJuYWwoaW5kZXgsIGF0dHJOb2RlLT5x
dWFsaWZpZWROYW1lKCksIGF0dHJOb2RlLT52YWx1ZSgpLCBOb3RJblN5bmNocm9uaXphdGlvbk9m
TGF6eUF0dHJpYnV0ZSk7CisgICAgc2V0QXR0cmlidXRlSW50ZXJuYWwoaW5kZXgsIChpbmRleCAh
PSBub3RGb3VuZCA/IGF0dHJOYW1lIDogYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSksIGF0dHJO
b2RlLT52YWx1ZSgpLCBOb3RJblN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAKICAg
ICBhdHRyTm9kZS0+YXR0YWNoVG9FbGVtZW50KHRoaXMpOwogICAgIGVuc3VyZUF0dHJOb2RlTGlz
dEZvckVsZW1lbnQodGhpcyktPmFwcGVuZChhdHRyTm9kZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NDM1NzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMy0wMi0yMCAgQXJwaXRhIEJhaHVndW5hICA8YS5iYWhAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJv
cGVybHkgbm9ybWFsaXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkwMzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Jlc291cmNlcy81MHg1MC5naWY6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvcmVzb3VyY2VzL3NxdWFyZS1ibHVlLnBuZzog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2Ut
aW5zZW5zaXRpdml0eS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9F
bGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICBUZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRlTm9kZSgpIGNo
ZWNrcyBhZ2FpbnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIGluc2Vu
c2l0aXZlIG1hbm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2YKKyAgICAgICAgYW4gZXhpc3Rp
bmcgYXR0cmlidXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9uZSBzZXQgdXNp
bmcKKyAgICAgICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4KKwogMjAxMy0w
Mi0yMSAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBb
UXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9k
ZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZp
dHktZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8
Ym9keT4KKzxkaXY+VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJp
YnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwv
ZGl2PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgp
IEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgKHdpdGggdGhlIHNhbWUgbmFtZSkg
Y2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBz
YW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0
aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2Qu
PC9kaXY+Cis8YnI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI+Jm5ic3A7
PC9kaXY+Cis8ZGl2PmdldEF0dHJpYnV0ZSgnc3R5bGUnKSByZXN1bHQgaXMgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW48L2Rpdj4KKzxkaXY+Z2V0QXR0cmlidXRlKCdTVFlMRScpIHJlc3VsdCBpcyBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjwvZGl2PgorPGRpdj5nZXRBdHRyaWJ1dGVOb2RlKCdzdHls
ZScpIHJlc3VsdCBpcyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjwvZGl2PgorPGRpdj5nZXRBdHRy
aWJ1dGVOb2RlKCdTVFlMRScpIHJlc3VsdCBpcyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjwvZGl2
PgorPGJyPgorPGRpdj5BIGdyZWVuIGNvbG9yZWQgYmxvY2sgc2hvdWxkIGJlIGRpc3BsYXllZCBp
bnN0ZWFkIG9mIGEgcmVkIGNvbG9yZWQgYmxvY2sgZm9yIHRoZSB0ZXN0IHRvIHBhc3MuIEFsc28s
IHRoZSByZXN1bHQgZm9yIHRoZSBnZXRBdHRyaWJ1dGUoKSBhbmQgZ2V0QXR0cmlidXRlTm9kZSgp
IEFQSXMgc2hvdWxkIHJldHVybiAnYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4nIGZvciBhbGwgdGhl
IGNhc2VzLjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1j
YXNlLWluc2Vuc2l0aXZpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUt
Y2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRlc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIHZhciBuZXdTdHlsZUF0dHIg
PSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxFIik7CisgICAgbmV3U3R5bGVBdHRyLnZh
bHVlID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVuIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5v
ZGUobmV3U3R5bGVBdHRyKTsKKyAgICAKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ2V0
QXR0ckxvd2VyQ2FzZSIpLmlubmVySFRNTCA9ICJnZXRBdHRyaWJ1dGUoJ3N0eWxlJykgcmVzdWx0
IGlzICIrdGVzdC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImdldEF0dHJVcHBlckNhc2UiKS5pbm5lckhUTUwgPSAiZ2V0QXR0cmlidXRlKCdTVFlM
RScpIHJlc3VsdCBpcyAiK3Rlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJnZXRBdHRyTm9kZUxvd2VyQ2FzZSIpLmlubmVySFRNTCA9ICJnZXRB
dHRyaWJ1dGVOb2RlKCdzdHlsZScpIHJlc3VsdCBpcyAiK3Rlc3QuZ2V0QXR0cmlidXRlTm9kZSgn
c3R5bGUnKS52YWx1ZTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ2V0QXR0ck5vZGVV
cHBlckNhc2UiKS5pbm5lckhUTUwgPSAiZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKSByZXN1bHQg
aXMgIit0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NUWUxFJykudmFsdWU7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxkaXY+VGVzdCBmb3IgQnVnemlsbGEg
YnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0
MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90
IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJp
YnV0ZXMgKHdpdGggdGhlIHNhbWUgbmFtZSkgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIGFuIGV4
aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNh
c2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhl
IHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuPC9kaXY+Cis8YnI+Cis8ZGl2IGlkPSJ0ZXN0IiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj4mbmJzcDs8L2Rpdj4KKzxkaXYgaWQ9ImdldEF0
dHJMb3dlckNhc2UiPjwvZGl2PgorPGRpdiBpZD0iZ2V0QXR0clVwcGVyQ2FzZSI+PC9kaXY+Cis8
ZGl2IGlkPSJnZXRBdHRyTm9kZUxvd2VyQ2FzZSI+PC9kaXY+Cis8ZGl2IGlkPSJnZXRBdHRyTm9k
ZVVwcGVyQ2FzZSI+PC9kaXY+Cis8YnI+Cis8ZGl2PkEgZ3JlZW4gY29sb3JlZCBibG9jayBzaG91
bGQgYmUgZGlzcGxheWVkIGluc3RlYWQgb2YgYSByZWQgY29sb3JlZCBibG9jayBmb3IgdGhlIHRl
c3QgdG8gcGFzcy4gQWxzbywgdGhlIHJlc3VsdCBmb3IgdGhlIGdldEF0dHJpYnV0ZSgpIGFuZCBn
ZXRBdHRyaWJ1dGVOb2RlKCkgQVBJcyBzaG91bGQgcmV0dXJuICdiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbicgZm9yIGFsbCB0aGUgY2FzZXMuPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189728</attachid>
            <date>2013-02-22 02:34:15 -0800</date>
            <delta_ts>2013-02-26 23:56:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130222160546.patch</filename>
            <type>text/plain</type>
            <size>6777</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzcwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTIwICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlCisgICAgICAgIHNl
bnNpdGl2ZSBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQKKyAgICAgICAgaW4gYSBjYXNlIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksCisgICAgICAgIGl0IHRvbyBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlIG5hbWUgdG8gbG93ZXJjYXNlLgorICAgICAgICBBbHNvLCB3aGlsZSBzZXR0aW5n
IHRoZSBhdHRyaWJ1dGUsIHRoZSBsb3dlcmNhc2UgbmFtZSBzaG91bGQgYmUKKyAgICAgICAgdXNl
ZCAoaWYgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNhbWUgbmFtZSBpcyBmb3VuZCku
CisKIDIwMTMtMDItMjIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEdseXBoUGFnZTogQUxXQVlTX0lOTElORSBhbGwgcGVyZm9ybWFuY2UtcmVsZXZhbnQgZ2V0
dGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0MzcwNykKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyNCw3ICsx
NzI0LDkgQEAgUGFzc1JlZlB0cjxBdHRyPiBFbGVtZW50OjpzZXRBdHRyaWJ1dGVObwogICAgIHN5
bmNocm9uaXplQWxsQXR0cmlidXRlcygpOwogICAgIFVuaXF1ZUVsZW1lbnREYXRhKiBlbGVtZW50
RGF0YSA9IGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRhKCk7CiAKLSAgICBzaXplX3QgaW5kZXggPSBl
bGVtZW50RGF0YS0+Z2V0QXR0cmlidXRlSXRlbUluZGV4KGF0dHJOb2RlLT5xdWFsaWZpZWROYW1l
KCkpOworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lID0gc2hvdWxkSWdub3JlQXR0
cmlidXRlQ2FzZSh0aGlzKSA/IFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGF0dHJOb2RlLT5uYW1l
KCkubG93ZXIoKSwgbnVsbEF0b20pIDogYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKTsKKworICAg
IHNpemVfdCBpbmRleCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoYXR0ck5h
bWUpOwogICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkgewogICAgICAgICBpZiAob2xkQXR0ck5v
ZGUpCiAgICAgICAgICAgICBkZXRhY2hBdHRyTm9kZUZyb21FbGVtZW50V2l0aFZhbHVlKG9sZEF0
dHJOb2RlLmdldCgpLCBlbGVtZW50RGF0YS0+YXR0cmlidXRlSXRlbShpbmRleCktPnZhbHVlKCkp
OwpAQCAtMTczMiw3ICsxNzM0LDcgQEAgUGFzc1JlZlB0cjxBdHRyPiBFbGVtZW50OjpzZXRBdHRy
aWJ1dGVObwogICAgICAgICAgICAgb2xkQXR0ck5vZGUgPSBBdHRyOjpjcmVhdGUoZG9jdW1lbnQo
KSwgYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSwgZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0ZW0o
aW5kZXgpLT52YWx1ZSgpKTsKICAgICB9CiAKLSAgICBzZXRBdHRyaWJ1dGVJbnRlcm5hbChpbmRl
eCwgYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSwgYXR0ck5vZGUtPnZhbHVlKCksIE5vdEluU3lu
Y2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKKyAgICBzZXRBdHRyaWJ1dGVJbnRlcm5hbChp
bmRleCwgKGluZGV4ICE9IG5vdEZvdW5kID8gYXR0ck5hbWUgOiBhdHRyTm9kZS0+cXVhbGlmaWVk
TmFtZSgpKSwgYXR0ck5vZGUtPnZhbHVlKCksIE5vdEluU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0
cmlidXRlKTsKIAogICAgIGF0dHJOb2RlLT5hdHRhY2hUb0VsZW1lbnQodGhpcyk7CiAgICAgZW5z
dXJlQXR0ck5vZGVMaXN0Rm9yRWxlbWVudCh0aGlzKS0+YXBwZW5kKGF0dHJOb2RlKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE0MzcwNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTIwICBBcnBpdGEgQmFodWd1bmEgIDxhLmJh
aEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9k
ZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvcmVzb3VyY2VzLzUw
eDUwLmdpZjogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9yZXNvdXJjZXMvc3F1
YXJlLWJsdWUucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJp
YnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHku
aHRtbDogQWRkZWQuCisgICAgICAgIFRlc3RjYXNlIGZvciB2ZXJpZnlpbmcgdGhhdCBzZXRBdHRy
aWJ1dGVOb2RlKCkgY2hlY2tzIGFnYWluc3QgZXhpc3RpbmcKKyAgICAgICAgYXR0cmlidXRlcyBp
biBhIGNhc2UgaW5zZW5zaXRpdmUgbWFubmVyLiBJdCB1cGRhdGVzIHRoZSB2YWx1ZSBvZgorICAg
ICAgICBhbiBleGlzdGluZyBhdHRyaWJ1dGUgKGluIGxvd2VyIGNhc2UpIHdpdGggdGhhdCBvZiB0
aGUgb25lIHNldCB1c2luZworICAgICAgICBzZXRBdHRyaWJ1dGVOb2RlKCkgKGluIHVwcGVyIGNh
c2UpLgorCiAyMDEzLTAyLTIyICBLb25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5
QGludGVsLmNvbT4KIAogICAgICAgICBbV2ViR0xdW0VGTF0gU3VwcG9ydCBmb3IgY3JlYXRpbmcg
c3VyZmFjZSB3aXRoIGFscGhhIGRpc2FibGVkLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
RWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVO
b2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2
aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBmb3Ig
QnVnemlsbGEgYnVnOiA5MDM0MTogY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9l
cyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0
aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMg
KHdpdGggdGhlIHNhbWUgbmFtZSkgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hv
dWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0
dHJpYnV0ZU5vZGUoKSBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyB0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgnU1RZTEUn
KQorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVzdC5nZXRB
dHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKK0ZvciBtYW51YWwgdmVyaWZpY2F0aW9uIG9mIHRoZSBpc3N1
ZSwgYSBncmVlbiBjb2xvcmVkIGJsb2NrIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zdGVhZCBvZiBh
IHJlZCBjb2xvcmVkIGJsb2NrLgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50
L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5z
aXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVu
dC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorI3Rlc3QgeworICAgIGZv
bnQtZmFtaWx5OiBhaGVtOworICAgIHdpZHRoOiA1MDsKKyAgICBoZWlnaHQ6IDUwOworfQorPC9z
dHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVj
a3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgKHdpdGggdGhlIHNhbWUgbmFtZSkgY2FzZS1pbnNl
bnNpdGl2ZWx5LiBUaHVzIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUg
YnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZh
bHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIik7CisgICAg
CisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIHZh
ciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxFIik7CisgICAg
bmV3U3R5bGVBdHRyLnZhbHVlID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVuIjsKKyAgICB0ZXN0
LnNldEF0dHJpYnV0ZU5vZGUobmV3U3R5bGVBdHRyKTsKKyAgICAKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlKCdzdHlsZScp
IiwgInRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpIik7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0
LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUiLCAidGVzdC5nZXRBdHRyaWJ1dGVOb2Rl
KCdTVFlMRScpLnZhbHVlIik7CisgICAgCisgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7
ICAgIAorICAgICAgICB0ZXN0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAor
ICAgIGRlYnVnKCJGb3IgbWFudWFsIHZlcmlmaWNhdGlvbiBvZiB0aGUgaXNzdWUsIGEgZ3JlZW4g
Y29sb3JlZCBibG9jayBzaG91bGQgYmUgZGlzcGxheWVkIGluc3RlYWQgb2YgYSByZWQgY29sb3Jl
ZCBibG9jay4iKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPGRpdj5UZXN0IGZvciBCdWd6aWxsYSBidWc6PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxIj4gOTAzNDE6PC9hPiAgY3JlYXRlQXR0cmli
dXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuPC9k
aXY+Cis8ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj4mbmJzcDs8
L2Rpdj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190456</attachid>
            <date>2013-02-26 23:56:24 -0800</date>
            <delta_ts>2013-02-27 00:44:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130227132752.patch</filename>
            <type>text/plain</type>
            <size>5937</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDE0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTI2ICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlIG5hbWUgdG8gbG93ZXJjYXNlLgorCiAyMDEzLTAyLTI2ICBVZGF5IEtpcmFuICA8
dWRheWtpcmFuQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBnZXRQcm9wZXJ0eVZhbHVlIGZvciAt
d2Via2l0LWNvbHVtbi1ydWxlIHJldHVybnMgbnVsbCwgc2hvdWxkIGNvbXB1dGUgdGhlIHNob3J0
aGFuZCB2YWx1ZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ0MTQ5KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIy
LDcgKzE3MjIsOCBAQCBQYXNzUmVmUHRyPEF0dHI+IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAg
ICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiAgICAgVW5pcXVlRWxlbWVudERhdGEqIGVs
ZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVudERhdGEoKTsKIAotICAgIHNpemVfdCBpbmRl
eCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoYXR0ck5vZGUtPnF1YWxpZmll
ZE5hbWUoKSk7CisgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgY2FzZUFkanVzdGVkTmFtZSA9IHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBh
dHRyTm9kZS0+bmFtZSgpLmxvd2VyKCksIG51bGxBdG9tKSA6IGF0dHJOb2RlLT5xdWFsaWZpZWRO
YW1lKCk7CisgICAgc2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0dHJpYnV0ZUl0ZW1J
bmRleChjYXNlQWRqdXN0ZWROYW1lKTsKICAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpIHsKICAg
ICAgICAgaWYgKG9sZEF0dHJOb2RlKQogICAgICAgICAgICAgZGV0YWNoQXR0ck5vZGVGcm9tRWxl
bWVudFdpdGhWYWx1ZShvbGRBdHRyTm9kZS5nZXQoKSwgZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0
ZW0oaW5kZXgpLT52YWx1ZSgpKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDE0OSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAy
LTI2ICBBcnBpdGEgQmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVh
dGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUg
Y2FzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAz
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZh
c3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5v
ZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0Y2FzZSBmb3Ig
dmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRlTm9kZSgpIGNoZWNrcyBhZ2FpbnN0IGV4aXN0aW5n
CisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIGluc2Vuc2l0aXZlIG1hbm5lci4gSXQgdXBk
YXRlcyB0aGUgdmFsdWUgb2YgYW4KKyAgICAgICAgZXhpc3RpbmcgYXR0cmlidXRlIChpbiBsb3dl
ciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9uZSBzZXQgdXNpbmcKKyAgICAgICAgc2V0QXR0cmli
dXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4KKwogMjAxMy0wMi0yNiAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIE9uZSBtb3JlIHVucmV2aWV3ZWQgZml4
IGFmdGVyIHIxNDQwMzIgYW5kIHIxNDQwNTEuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9F
bGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5v
ZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZp
dHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitUZXN0IGZvciBC
dWd6aWxsYSBidWc6IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2Vz
IG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRo
ZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyBj
YXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdl
dCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0
ZU5vZGUoKSBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB0ZXN0
LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgnU1RZTEUnKQorUEFT
UyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVzdC5nZXRBdHRyaWJ1
dGVOb2RlKCdTVFlMRScpLnZhbHVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKK0ZvciBtYW51YWwgdmVyaWZpY2F0aW9uIG9mIHRoZSBpc3N1ZSwgYSBn
cmVlbiBjb2xvcmVkIGJsb2NrIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zdGVhZCBvZiBhIHJlZCBj
b2xvcmVkIGJsb2NrLgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0
dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0
eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRB
dHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDM5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorI3Rlc3QgeworICAgIGZvbnQtZmFt
aWx5OiBhaGVtOworICAgIHdpZHRoOiA1MDsKKyAgICBoZWlnaHQ6IDUwOworfQorPC9zdHlsZT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3MgZm9y
IGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIHRoZSB2YWx1ZSBv
ZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBhIGRpZmZl
cmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBzcGVjaWZpZWQg
dmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiIpOworICAgIAorICAgIHZhciB0ZXN0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3U3R5bGVBdHRy
ID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgIG5ld1N0eWxlQXR0ci52
YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVO
b2RlKG5ld1N0eWxlQXR0cik7CisgICAgCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIsICJ0ZXN0LmdldEF0
dHJpYnV0ZSgnU1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVO
b2RlKCdzdHlsZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKS52YWx1
ZSIpOworICAgIAorICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOyAgICAKKyAgICAgICAg
dGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBkZWJ1ZygiRm9y
IG1hbnVhbCB2ZXJpZmljYXRpb24gb2YgdGhlIGlzc3VlLCBhIGdyZWVuIGNvbG9yZWQgYmxvY2sg
c2hvdWxkIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgcmVkIGNvbG9yZWQgYmxvY2suIik7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGVz
dCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1
dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2PgorPGRpdiBpZD0i
dGVzdCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9kaXY+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="211124"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190466</attachid>
            <date>2013-02-27 01:37:10 -0800</date>
            <delta_ts>2013-03-01 03:27:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130227150838.patch</filename>
            <type>text/plain</type>
            <size>5946</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDE1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTI2ICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlIG5hbWUgdG8gbG93ZXJjYXNlLgorCiAyMDEzLTAyLTI3ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSFRNTERvY3VtZW50UGFyc2VyOjpkaWRSZWNl
aXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlciBjYW4gdHJpZ2dlciBBU1NFUlQobV9z
cGVjdWxhdGlvbnMuaXNFbXB0eSgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ0MTU5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzIyLDcgKzE3MjIsOCBAQCBQYXNzUmVmUHRyPEF0dHI+IEVsZW1lbnQ6OnNldEF0
dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiAgICAgVW5pcXVlRWxl
bWVudERhdGEqIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVudERhdGEoKTsKIAotICAg
IHNpemVfdCBpbmRleCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoYXR0ck5v
ZGUtPnF1YWxpZmllZE5hbWUoKSk7CisgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgY2FzZUFkanVz
dGVkTmFtZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBRdWFsaWZpZWROYW1l
KG51bGxBdG9tLCBhdHRyTm9kZS0+bmFtZSgpLmxvd2VyKCksIG51bGxBdG9tKSA6IGF0dHJOb2Rl
LT5xdWFsaWZpZWROYW1lKCk7CisgICAgc2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0
dHJpYnV0ZUl0ZW1JbmRleChjYXNlQWRqdXN0ZWROYW1lKTsKICAgICBpZiAoaW5kZXggIT0gbm90
Rm91bmQpIHsKICAgICAgICAgaWYgKG9sZEF0dHJOb2RlKQogICAgICAgICAgICAgZGV0YWNoQXR0
ck5vZGVGcm9tRWxlbWVudFdpdGhWYWx1ZShvbGRBdHRyTm9kZS5nZXQoKSwgZWxlbWVudERhdGEt
PmF0dHJpYnV0ZUl0ZW0oaW5kZXgpLT52YWx1ZSgpKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDE1
OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDEzLTAyLTI2ICBBcnBpdGEgQmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJs
eSBub3JtYWxpemUgY2FzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0
aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBU
ZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRlTm9kZSgpIGNoZWNrcyBhZ2Fp
bnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIGluc2Vuc2l0aXZlIG1h
bm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2YgYW4KKyAgICAgICAgZXhpc3RpbmcgYXR0cmli
dXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9uZSBzZXQgdXNpbmcKKyAgICAg
ICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4KKwogMjAxMy0wMi0yNyAgU2Vv
a2p1IEt3b24gIDxzZW9ranUua3dvbkBnbWFpbC5jb20+CiAKICAgICAgICAgW0VGTF0gUmVtb3Zl
IHRlc3QgcmVsYXRlZCB0byBodG1sNWxpYiBhZnRlciByMTQ0MDMyCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBA
CitUZXN0IGZvciBCdWd6aWxsYSBidWc6IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmli
dXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3Rpbmcg
YXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ug
c2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNl
dEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyB0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgnU1RZ
TEUnKQorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVzdC5n
ZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0ZvciBtYW51YWwgdmVyaWZpY2F0aW9uIG9mIHRoZSBp
c3N1ZSwgYSBncmVlbiBjb2xvcmVkIGJsb2NrIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zdGVhZCBv
ZiBhIHJlZCBjb2xvcmVkIGJsb2NrLgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVt
ZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5z
ZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDM5IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorI3Rlc3QgeworICAg
IGZvbnQtZmFtaWx5OiBhaGVtOworICAgIHdpZHRoOiA1MDsKKyAgICBoZWlnaHQ6IDUwOworfQor
PC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBj
aGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIHRo
ZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBp
biBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBz
cGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiIpOworICAgIAorICAg
IHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3
U3R5bGVBdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgIG5ld1N0
eWxlQXR0ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAgdGVzdC5zZXRB
dHRyaWJ1dGVOb2RlKG5ld1N0eWxlQXR0cik7CisgICAgCisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIsICJ0
ZXN0LmdldEF0dHJpYnV0ZSgnU1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRB
dHRyaWJ1dGVOb2RlKCdzdHlsZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZ
TEUnKS52YWx1ZSIpOworICAgIAorICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOyAgICAK
KyAgICAgICAgdGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBk
ZWJ1ZygiRm9yIG1hbnVhbCB2ZXJpZmljYXRpb24gb2YgdGhlIGlzc3VlLCBhIGdyZWVuIGNvbG9y
ZWQgYmxvY2sgc2hvdWxkIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgcmVkIGNvbG9yZWQgYmxv
Y2suIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxkaXY+VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9z
ZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2Pgor
PGRpdiBpZD0idGVzdCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9kaXY+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190924</attachid>
            <date>2013-03-01 03:27:07 -0800</date>
            <delta_ts>2013-03-02 02:41:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130301165833.patch</filename>
            <type>text/plain</type>
            <size>9109</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDQzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAzLTAxICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlJ3MgbG9jYWxOYW1lIHRvIGxvd2VyY2FzZS4KKwogMjAxMy0wMi0yOCAgQWxleGFu
ZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNlbGVjdG9yJ3MgcmF3IHN0YXJ0IHBvc2l0aW9uIGluIGl0cyBsaW5lIGlzIGNvbnNpZGVy
ZWQgdG8gYmUgMCB3aGVuIGNvbXB1dGluZyBVSUxvY2F0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDQ0MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MDgsNyArMTcwOCw5IEBAIFBhc3NSZWZQdHI8QXR0cj4g
RWxlbWVudDo6c2V0QXR0cmlidXRlTm8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAg
UmVmUHRyPEF0dHI+IG9sZEF0dHJOb2RlID0gYXR0cklmRXhpc3RzKGF0dHJOb2RlLT5xdWFsaWZp
ZWROYW1lKCkpOworICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lID0gYXR0ck5vZGUt
PnF1YWxpZmllZE5hbWUoKTsKKworICAgIFJlZlB0cjxBdHRyPiBvbGRBdHRyTm9kZSA9IGF0dHJJ
ZkV4aXN0cyhhdHRyTmFtZSk7CiAgICAgaWYgKG9sZEF0dHJOb2RlLmdldCgpID09IGF0dHJOb2Rl
KQogICAgICAgICByZXR1cm4gYXR0ck5vZGU7IC8vIFRoaXMgQXR0ciBpcyBhbHJlYWR5IGF0dGFj
aGVkIHRvIHRoZSBlbGVtZW50LgogCkBAIC0xNzIyLDE1ICsxNzI0LDE2IEBAIFBhc3NSZWZQdHI8
QXR0cj4gRWxlbWVudDo6c2V0QXR0cmlidXRlTm8KICAgICBzeW5jaHJvbml6ZUFsbEF0dHJpYnV0
ZXMoKTsKICAgICBVbmlxdWVFbGVtZW50RGF0YSogZWxlbWVudERhdGEgPSBlbnN1cmVVbmlxdWVF
bGVtZW50RGF0YSgpOwogCi0gICAgc2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0dHJp
YnV0ZUl0ZW1JbmRleChhdHRyTm9kZS0+cXVhbGlmaWVkTmFtZSgpKTsKKyAgICBjb25zdCBRdWFs
aWZpZWROYW1lJiBjYXNlQWRqdXN0ZWROYW1lID0gc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSh0
aGlzKSA/IFF1YWxpZmllZE5hbWUoYXR0ck5hbWUucHJlZml4KCksIGF0dHJOYW1lLmxvY2FsTmFt
ZSgpLmxvd2VyKCksIGF0dHJOYW1lLm5hbWVzcGFjZVVSSSgpKSA6IGF0dHJOYW1lOworICAgIHNp
emVfdCBpbmRleCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoY2FzZUFkanVz
dGVkTmFtZSk7CiAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRB
dHRyTm9kZSkKICAgICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUo
b2xkQXR0ck5vZGUuZ2V0KCksIGVsZW1lbnREYXRhLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFs
dWUoKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG9sZEF0dHJOb2RlID0gQXR0cjo6Y3Jl
YXRlKGRvY3VtZW50KCksIGF0dHJOb2RlLT5xdWFsaWZpZWROYW1lKCksIGVsZW1lbnREYXRhLT5h
dHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFsdWUoKSk7CisgICAgICAgICAgICBvbGRBdHRyTm9kZSA9
IEF0dHI6OmNyZWF0ZShkb2N1bWVudCgpLCBhdHRyTmFtZSwgZWxlbWVudERhdGEtPmF0dHJpYnV0
ZUl0ZW0oaW5kZXgpLT52YWx1ZSgpKTsKICAgICB9CiAKLSAgICBzZXRBdHRyaWJ1dGVJbnRlcm5h
bChpbmRleCwgYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSwgYXR0ck5vZGUtPnZhbHVlKCksIE5v
dEluU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKKyAgICBzZXRBdHRyaWJ1dGVJbnRl
cm5hbChpbmRleCwgaW5kZXggIT0gbm90Rm91bmQgPyBjYXNlQWRqdXN0ZWROYW1lIDogYXR0ck5h
bWUsIGF0dHJOb2RlLT52YWx1ZSgpLCBOb3RJblN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0
ZSk7CiAKICAgICBhdHRyTm9kZS0+YXR0YWNoVG9FbGVtZW50KHRoaXMpOwogICAgIGVuc3VyZUF0
dHJOb2RlTGlzdEZvckVsZW1lbnQodGhpcyktPmFwcGVuZChhdHRyTm9kZSk7CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNDQ0MzQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMy0wMy0wMSAgQXJwaXRhIEJhaHVndW5hICA8YS5iYWhAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9l
cyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUt
Y2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgVGVzdGNhc2UgZm9yIHZlcmlmeWluZyB0aGF0IHNldEF0dHJpYnV0ZU5vZGUo
KSBjaGVja3MgYWdhaW5zdCBleGlzdGluZworICAgICAgICBhdHRyaWJ1dGVzIGluIGEgY2FzZSBp
bnNlbnNpdGl2ZSBtYW5uZXIuIEl0IHVwZGF0ZXMgdGhlIHZhbHVlIG9mIGFuCisgICAgICAgIGV4
aXN0aW5nIGF0dHJpYnV0ZSAoaW4gbG93ZXIgY2FzZSkgd2l0aCB0aGF0IG9mIHRoZSBvbmUgc2V0
IHVzaW5nCisgICAgICAgIHNldEF0dHJpYnV0ZU5vZGUoKSAoaW4gdXBwZXIgY2FzZSkuCisgICAg
ICAgIFRoZSB0ZXN0IGFsc28gdmVyaWZpZXMgdGhlIGJlaGF2aW9yIG9mIGF0dHJpYnV0ZXMgd2hl
biBzcGVjaWZpZWQgd2l0aAorICAgICAgICBuYW1lc3BhY2UgYW5kIHByZWZpeC4KKwogMjAxMy0w
Mi0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFNlbGVjdG9yJ3MgcmF3IHN0YXJ0IHBvc2l0aW9uIGluIGl0cyBsaW5l
IGlzIGNvbnNpZGVyZWQgdG8gYmUgMCB3aGVuIGNvbXB1dGluZyBVSUxvY2F0aW9uCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNp
dGl2aXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9F
bGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRl
Tm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2IEBACitUZXN0IGZvciBCdWd6aWxsYSBidWc6IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS4KK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3Ig
ZXhpc3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9m
IGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVy
ZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2
aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIFRoZSBpc3N1ZSBjYW4gYmUgbWFudWFs
bHkgdmVyaWZpZWQgaWYgYSBncmVlbiBjb2xvcmVkIGJsb2NrIGlzIGRpc3BsYXllZCBpbnN0ZWFk
IG9mIGEgcmVkIG9uZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRlc3Qu
Z2V0QXR0cmlidXRlKCdzdHlsZScpIGlzIHRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpCitQQVNT
IHRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSBpcyB0ZXN0LmdldEF0dHJpYnV0
ZU5vZGUoJ1NUWUxFJykudmFsdWUKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUg
c2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUg
ZW50aXRpZXMuIEZvciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUg
dmFsdWVzIHNob3VsZCBiZSByZXR1cm5lZC4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMo
J25zMScsICduZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0dHIxJworUEFTUyB0ZXN0LmdldEF0dHJp
YnV0ZU5vZGVOUygnbnMyJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjInCitWZXJpZnlp
bmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQg
aGF2aW5nIHNhbWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93
aW5nIHRlc3QgdGhlIHNlY29uZCBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUg
b2YgdGhlIGZpcnN0IGF0dHJpYnV0ZS4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25z
MScsICduZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0dHIyJworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2Fz
ZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisjdGVzdCB7
CisgICAgZm9udC1mYW1pbHk6IGFoZW07CisgICAgd2lkdGg6IDUwOworICAgIGhlaWdodDogNTA7
Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkg
QVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRo
dXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUg
YnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZh
bHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuXG5UaGUgaXNz
dWUgY2FuIGJlIG1hbnVhbGx5IHZlcmlmaWVkIGlmIGEgZ3JlZW4gY29sb3JlZCBibG9jayBpcyBk
aXNwbGF5ZWQgaW5zdGVhZCBvZiBhIHJlZCBvbmUuIik7CisgICAgCisgICAgdmFyIHRlc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIHZhciBuZXdTdHlsZUF0dHIgPSBk
b2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxFIik7CisgICAgbmV3U3R5bGVBdHRyLnZhbHVl
ID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVuIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUo
bmV3U3R5bGVBdHRyKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgc2hv
dWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlKCdzdHlsZScpIiwgInRlc3QuZ2V0QXR0cmlidXRlKCdT
VFlMRScpIik7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxl
JykudmFsdWUiLCAidGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlIik7CisgICAg
fQorCisgICAgZGVidWcoIlZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBu
YW1lIGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRp
ZXMuIEZvciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVz
IHNob3VsZCBiZSByZXR1cm5lZC4iKTsKKyAgICB2YXIgbmV3QXR0cjEgPSBkb2N1bWVudC5jcmVh
dGVBdHRyaWJ1dGVOUygibnMxIiwgIm5ld2F0dHIiKTsKKyAgICBuZXdBdHRyMS5wcmVmaXggPSAi
cHJlZml4MSI7CisgICAgbmV3QXR0cjEudmFsdWUgPSAibmV3YXR0cjEiOworICAgIHRlc3Quc2V0
QXR0cmlidXRlTm9kZShuZXdBdHRyMSk7CisgICAgdmFyIG5ld0F0dHIyID0gZG9jdW1lbnQuY3Jl
YXRlQXR0cmlidXRlTlMoIm5zMiIsICJuZXdhdHRyIik7CisgICAgbmV3QXR0cjIucHJlZml4ID0g
InByZWZpeDIiOworICAgIG5ld0F0dHIyLnZhbHVlID0gIm5ld2F0dHIyIjsKKyAgICB0ZXN0LnNl
dEF0dHJpYnV0ZU5vZGUobmV3QXR0cjIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRy
JykudmFsdWUiLCAiJ25ld2F0dHIxJyIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRy
aWJ1dGVOb2RlTlMoJ25zMicsICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0dHIyJyIpOworICAg
IH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1l
IGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNhbWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRl
ZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3QgdGhlIHNlY29uZCBhdHRyaWJ1dGUgc2hv
dWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IGF0dHJpYnV0ZS4iKTsKKyAgICB2
YXIgbmV3QXR0cjEgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygibnMxIiwgIm5ld2F0dHIi
KTsKKyAgICBuZXdBdHRyMS5wcmVmaXggPSAicHJlZml4MSI7CisgICAgbmV3QXR0cjEudmFsdWUg
PSAibmV3YXR0cjEiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMSk7CisgICAg
dmFyIG5ld0F0dHIyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJORVdBVFRS
Iik7CisgICAgbmV3QXR0cjIucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIyLnZhbHVl
ID0gIm5ld2F0dHIyIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjIpOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0
dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjInIik7Cisg
ICAgCisgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7ICAgIAorICAgICAgICB0ZXN0LnN0
eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIGJ1Zzo8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEiPiA5
MDM0MTo8L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9w
ZXJseSBub3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQiPiZuYnNwOzwvZGl2PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191103</attachid>
            <date>2013-03-02 02:41:26 -0800</date>
            <delta_ts>2013-03-08 03:47:17 -0800</delta_ts>
            <desc>Slightly tweaked layout test patch</desc>
            <filename>bug-90341-20130302161252.patch</filename>
            <type>text/plain</type>
            <size>8824</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAzLTAxICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBNYWRlIGNoYW5nZXMgdG8gY2hlY2sgZm9yIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSBieSBjb252ZXJ0aW5nIHRoZQorICAgICAgICBzcGVjaWZpZWQg
YXR0cmlidXRlJ3MgbG9jYWxOYW1lIHRvIGxvd2VyY2FzZS4KKwogMjAxMy0wMy0wMiAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggYSB0eXBvIGluIG15IHBy
ZXZpb3VzIGNvbW1pdCAocjE0NDUzNCkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDQ1MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE3MDgsNyArMTcwOCw5IEBAIFBhc3NSZWZQdHI8QXR0cj4gRWxlbWVudDo6c2V0
QXR0cmlidXRlTm8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgUmVmUHRyPEF0dHI+
IG9sZEF0dHJOb2RlID0gYXR0cklmRXhpc3RzKGF0dHJOb2RlLT5xdWFsaWZpZWROYW1lKCkpOwor
ICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lID0gYXR0ck5vZGUtPnF1YWxpZmllZE5h
bWUoKTsKKworICAgIFJlZlB0cjxBdHRyPiBvbGRBdHRyTm9kZSA9IGF0dHJJZkV4aXN0cyhhdHRy
TmFtZSk7CiAgICAgaWYgKG9sZEF0dHJOb2RlLmdldCgpID09IGF0dHJOb2RlKQogICAgICAgICBy
ZXR1cm4gYXR0ck5vZGU7IC8vIFRoaXMgQXR0ciBpcyBhbHJlYWR5IGF0dGFjaGVkIHRvIHRoZSBl
bGVtZW50LgogCkBAIC0xNzIyLDE1ICsxNzI0LDE2IEBAIFBhc3NSZWZQdHI8QXR0cj4gRWxlbWVu
dDo6c2V0QXR0cmlidXRlTm8KICAgICBzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKTsKICAgICBV
bmlxdWVFbGVtZW50RGF0YSogZWxlbWVudERhdGEgPSBlbnN1cmVVbmlxdWVFbGVtZW50RGF0YSgp
OwogCi0gICAgc2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0dHJpYnV0ZUl0ZW1JbmRl
eChhdHRyTm9kZS0+cXVhbGlmaWVkTmFtZSgpKTsKKyAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBj
YXNlQWRqdXN0ZWROYW1lID0gc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSh0aGlzKSA/IFF1YWxp
ZmllZE5hbWUoYXR0ck5hbWUucHJlZml4KCksIGF0dHJOYW1lLmxvY2FsTmFtZSgpLmxvd2VyKCks
IGF0dHJOYW1lLm5hbWVzcGFjZVVSSSgpKSA6IGF0dHJOYW1lOworICAgIHNpemVfdCBpbmRleCA9
IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoY2FzZUFkanVzdGVkTmFtZSk7CiAg
ICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRBdHRyTm9kZSkKICAg
ICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUob2xkQXR0ck5vZGUu
Z2V0KCksIGVsZW1lbnREYXRhLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFsdWUoKSk7CiAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIG9sZEF0dHJOb2RlID0gQXR0cjo6Y3JlYXRlKGRvY3VtZW50
KCksIGF0dHJOb2RlLT5xdWFsaWZpZWROYW1lKCksIGVsZW1lbnREYXRhLT5hdHRyaWJ1dGVJdGVt
KGluZGV4KS0+dmFsdWUoKSk7CisgICAgICAgICAgICBvbGRBdHRyTm9kZSA9IEF0dHI6OmNyZWF0
ZShkb2N1bWVudCgpLCBhdHRyTmFtZSwgZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0ZW0oaW5kZXgp
LT52YWx1ZSgpKTsKICAgICB9CiAKLSAgICBzZXRBdHRyaWJ1dGVJbnRlcm5hbChpbmRleCwgYXR0
ck5vZGUtPnF1YWxpZmllZE5hbWUoKSwgYXR0ck5vZGUtPnZhbHVlKCksIE5vdEluU3luY2hyb25p
emF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKKyAgICBzZXRBdHRyaWJ1dGVJbnRlcm5hbChpbmRleCwg
aW5kZXggIT0gbm90Rm91bmQgPyBjYXNlQWRqdXN0ZWROYW1lIDogYXR0ck5hbWUsIGF0dHJOb2Rl
LT52YWx1ZSgpLCBOb3RJblN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAKICAgICBh
dHRyTm9kZS0+YXR0YWNoVG9FbGVtZW50KHRoaXMpOwogICAgIGVuc3VyZUF0dHJOb2RlTGlzdEZv
ckVsZW1lbnQodGhpcyktPmFwcGVuZChhdHRyTm9kZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDQ1
MzgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
OSBAQAorMjAxMy0wMy0wMSAgQXJwaXRhIEJhaHVndW5hICA8YS5iYWhAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVy
bHkgbm9ybWFsaXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkwMzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNp
dGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9z
ZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sOiBBZGRlZC4KKyAgICAgICAg
VGVzdGNhc2UgZm9yIHZlcmlmeWluZyB0aGF0IHNldEF0dHJpYnV0ZU5vZGUoKSBjaGVja3MgYWdh
aW5zdCBleGlzdGluZworICAgICAgICBhdHRyaWJ1dGVzIGluIGEgY2FzZSBpbnNlbnNpdGl2ZSBt
YW5uZXIuIEl0IHVwZGF0ZXMgdGhlIHZhbHVlIG9mIGFuCisgICAgICAgIGV4aXN0aW5nIGF0dHJp
YnV0ZSAoaW4gbG93ZXIgY2FzZSkgd2l0aCB0aGF0IG9mIHRoZSBvbmUgc2V0IHVzaW5nCisgICAg
ICAgIHNldEF0dHJpYnV0ZU5vZGUoKSAoaW4gdXBwZXIgY2FzZSkuCisgICAgICAgIFRoZSB0ZXN0
IGFsc28gdmVyaWZpZXMgdGhlIGJlaGF2aW9yIG9mIGF0dHJpYnV0ZXMgd2hlbiBzcGVjaWZpZWQg
d2l0aAorICAgICAgICBuYW1lc3BhY2UgYW5kIHByZWZpeC4KKwogMjAxMy0wMy0wMiAgTmF5YW4g
S3VtYXIgSyAgPG5heWFua2tAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFtXZWJHTF0gU3VwcG9y
dCBmb3IgdGV4SW1hZ2UyRCBvZiB0eXBlIEhBTEZfRkxPQVRfT0VTIHdpdGggQXJyYXlCdWZmZXJW
aWV3LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2Rl
LWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50
L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBmb3IgQnVnemlsbGEgYnVnOiA5MDM0MTogY3Jl
YXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXpl
IGNhc2UuCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQ
SSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVz
IHRoZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1
dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1
ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBUaGUgaXNzdWUg
Y2FuIGJlIG1hbnVhbGx5IHZlcmlmaWVkIGlmIGEgZ3JlZW4gY29sb3JlZCBibG9jayBpcyBkaXNw
bGF5ZWQgaW5zdGVhZCBvZiBhIHJlZCBvbmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgn
U1RZTEUnKQorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVz
dC5nZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlCitWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1
dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0
ZWQgYXMgdW5pcXVlIGVudGl0aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJl
bnQgYXR0cmlidXRlIHZhbHVlcyBzaG91bGQgYmUgcmV0dXJuZWQuCitQQVNTIHRlc3QuZ2V0QXR0
cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIGlzICduZXdhdHRyMScKK1BBU1Mg
dGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMicsICduZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0
dHIyJworVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHNhbWUgbmFtZSBidXQgZGlmZmVy
ZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgc2FtZS4g
SW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBuZXcgYXR0cmlidXRlIHNob3VsZCBvdmVyd3JpdGUg
dGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBvbmUuCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlTm9k
ZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIGlzICduZXdhdHRyMycKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVO
b2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
I3Rlc3QgeworICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgIHdpZHRoOiA1MDsKKyAgICBoZWln
aHQ6IDUwOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRl
Tm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2
ZWx5LiBUaHVzIHRoZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2Ft
ZSBuYW1lIGJ1dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhl
IG5ldyB2YWx1ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLlxu
VGhlIGlzc3VlIGNhbiBiZSBtYW51YWxseSB2ZXJpZmllZCBpZiBhIGdyZWVuIGNvbG9yZWQgYmxv
Y2sgaXMgZGlzcGxheWVkIGluc3RlYWQgb2YgYSByZWQgb25lLiIpOworICAgIAorICAgIHZhciB0
ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3U3R5bGVB
dHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgIG5ld1N0eWxlQXR0
ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAgdGVzdC5zZXRBdHRyaWJ1
dGVOb2RlKG5ld1N0eWxlQXR0cik7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIsICJ0ZXN0LmdldEF0dHJp
YnV0ZSgnU1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2Rl
KCdzdHlsZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKS52YWx1ZSIp
OworICAgIH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggdGhl
IHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgdW5pcXVl
IGVudGl0aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJlbnQgYXR0cmlidXRl
IHZhbHVlcyBzaG91bGQgYmUgcmV0dXJuZWQuIik7CisgICAgdmFyIG5ld0F0dHIxID0gZG9jdW1l
bnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJuZXdhdHRyIik7CisgICAgbmV3QXR0cjEucHJl
Zml4ID0gInByZWZpeDEiOworICAgIG5ld0F0dHIxLnZhbHVlID0gIm5ld2F0dHIxIjsKKyAgICB0
ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjEpOworICAgIHZhciBuZXdBdHRyMiA9IGRvY3Vt
ZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKCJuczIiLCAibmV3YXR0ciIpOworICAgIG5ld0F0dHIyLnBy
ZWZpeCA9ICJwcmVmaXgyIjsKKyAgICBuZXdBdHRyMi52YWx1ZSA9ICJuZXdhdHRyMiI7CisgICAg
dGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIyKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAn
bmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMSciKTsKKyAgICAgICAgc2hvdWxkQmUoInRlc3Qu
Z2V0QXR0cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMici
KTsKKyAgICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHNh
bWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5hbWVzcGFjZXMgYXJl
IHRyZWF0ZWQgYXMgc2FtZS4gSW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBuZXcgYXR0cmlidXRl
IHNob3VsZCBvdmVyd3JpdGUgdGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBvbmUuIik7CisgICAg
dmFyIG5ld0F0dHIzID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJORVdBVFRS
Iik7CisgICAgbmV3QXR0cjMucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIzLnZhbHVl
ID0gIm5ld2F0dHIzIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjMpOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0
dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjMnIik7Cisg
ICAgCisgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7ICAgIAorICAgICAgICB0ZXN0LnN0
eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIGJ1Zzo8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEiPiA5
MDM0MTo8L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9w
ZXJseSBub3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQiPiZuYnNwOzwvZGl2PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192196</attachid>
            <date>2013-03-08 03:47:23 -0800</date>
            <delta_ts>2013-08-02 07:15:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130308171845.patch</filename>
            <type>text/plain</type>
            <size>10452</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTIwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAzLTA4ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgY3JlYXRlQXR0
cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2V0QXR0cmli
dXRlTm9kZSgpIHZlcmlmaWVzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGluIGEgY2FzZSBzZW5z
aXRpdmUKKyAgICAgICAgbWFubmVyLiBUaHVzLCBpdCB3b3VsZCBhZGQgYW5vdGhlciBhdHRyaWJ1
dGUgaWYgc3BlY2lmaWVkIGluIGEgY2FzZQorICAgICAgICBkaWZmZXJlbnQgZnJvbSB0aGUgZXhp
c3Rpbmcgb25lLiBJbnN0ZWFkLCBsaWtlIHNldEF0dHJpYnV0ZSgpLCBpdCB0b28KKyAgICAgICAg
c2hvdWxkIG1vZGlmeSB0aGUgZXhpc3RpbmcgYXR0cmlidXRlJ3MgdmFsdWUuCisKKyAgICAgICAg
VGVzdDogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0
eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgUGFzc2luZyB0aGUgc2Vjb25kIHBh
cmFtIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSB0byBnZXRBdHRyaWJ1dGVJdGVtSW5kZXgo
KQorICAgICAgICBtZXRob2QuIFdlIGFyZSBub3cgbGV0dGluZyBnZXRBdHRyaWJ1dGVJdGVtSW5k
ZXgoKSBoYW5kbGUgdGhlCisgICAgICAgIGNhc2Utc2Vuc2l0aXZlL2luc2Vuc2l0aXZlIGNoZWNr
aW5nLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKEVsZW1lbnREYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnREYXRhOjpnZXRBdHRyaWJ1dGVJdGVtSW5kZXgpOgor
ICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlIGJvb2xlYW4gcGFyYW0gdG8g
dGhlIG1ldGhvZC4gSXQgcGFzc2VzCisgICAgICAgIHRoaXMgb24gdG8gUXVhbGlmaWVkTmFtZTo6
bWF0Y2hlcygpIG1ldGhvZC4KKworICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAg
ICAgIChXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjptYXRjaGVzKToKKyAgICAgICAgQWRkZWQgc2hv
dWxkSWdub3JlQ2FzZSBwYXJhbS4gSW4gdHVybiBpdCBjYWxscyBlcXVhbFBvc3NpYmx5SWdub3Jp
bmdDYXNlKCkKKyAgICAgICAgd2l0aCB0aGlzIHBhcmFtIHRvIHBlcmZvcm0gYSBjYXNlLWluc2Vu
c3RpdmUgY29tcGFyaXNvbi4KKwogMjAxMy0wMy0wOCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxs
YUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbRUZMXVtRdF0gUkVHUkVTU0lPTihyMTQ0Nzg3
KTogQSBmaXhlZCBlbGVtZW50IGxhZ3Mgd2hlbiBzY3JvbGxpbmcgYW5kIHdoZWVsaW5nLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ1MjA3KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIyLDcgKzE3MjIsNyBAQCBQ
YXNzUmVmUHRyPEF0dHI+IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVB
bGxBdHRyaWJ1dGVzKCk7CiAgICAgVW5pcXVlRWxlbWVudERhdGEqIGVsZW1lbnREYXRhID0gZW5z
dXJlVW5pcXVlRWxlbWVudERhdGEoKTsKIAotICAgIHNpemVfdCBpbmRleCA9IGVsZW1lbnREYXRh
LT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXgoYXR0ck5vZGUtPnF1YWxpZmllZE5hbWUoKSk7CisgICAg
c2l6ZV90IGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0dHJpYnV0ZUl0ZW1JbmRleChhdHRyTm9k
ZS0+cXVhbGlmaWVkTmFtZSgpLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpKTsKICAg
ICBpZiAoaW5kZXggIT0gbm90Rm91bmQpIHsKICAgICAgICAgaWYgKG9sZEF0dHJOb2RlKQogICAg
ICAgICAgICAgZGV0YWNoQXR0ck5vZGVGcm9tRWxlbWVudFdpdGhWYWx1ZShvbGRBdHRyTm9kZS5n
ZXQoKSwgZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0ZW0oaW5kZXgpLT52YWx1ZSgpKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gMTQ1MjA3KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAKICAg
ICBjb25zdCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZUl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owog
ICAgIGNvbnN0IEF0dHJpYnV0ZSogZ2V0QXR0cmlidXRlSXRlbShjb25zdCBRdWFsaWZpZWROYW1l
JikgY29uc3Q7Ci0gICAgc2l6ZV90IGdldEF0dHJpYnV0ZUl0ZW1JbmRleChjb25zdCBRdWFsaWZp
ZWROYW1lJikgY29uc3Q7CisgICAgc2l6ZV90IGdldEF0dHJpYnV0ZUl0ZW1JbmRleChjb25zdCBR
dWFsaWZpZWROYW1lJiwgYm9vbCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlID0gZmFsc2UpIGNv
bnN0OwogICAgIHNpemVfdCBnZXRBdHRyaWJ1dGVJdGVtSW5kZXgoY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lLCBib29sIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0OwogCiAgICAgYm9v
bCBoYXNJRCgpIGNvbnN0IHsgcmV0dXJuICFtX2lkRm9yU3R5bGVSZXNvbHV0aW9uLmlzTnVsbCgp
OyB9CkBAIC05MjEsMTAgKzkyMSwxMCBAQCBpbmxpbmUgY29uc3QgQXR0cmlidXRlKiBFbGVtZW50
RGF0YTo6Z2V0CiAgICAgcmV0dXJuIDA7CiB9CiAKLWlubGluZSBzaXplX3QgRWxlbWVudERhdGE6
OmdldEF0dHJpYnV0ZUl0ZW1JbmRleChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdAor
aW5saW5lIHNpemVfdCBFbGVtZW50RGF0YTo6Z2V0QXR0cmlidXRlSXRlbUluZGV4KGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSkgY29uc3QK
IHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoKCk7ICsraSkgewotICAgICAg
ICBpZiAoYXR0cmlidXRlSXRlbShpKS0+bmFtZSgpLm1hdGNoZXMobmFtZSkpCisgICAgICAgIGlm
IChhdHRyaWJ1dGVJdGVtKGkpLT5uYW1lKCkubWF0Y2hlcyhuYW1lLCBzaG91bGRJZ25vcmVBdHRy
aWJ1dGVDYXNlKSkKICAgICAgICAgICAgIHJldHVybiBpOwogICAgIH0KICAgICByZXR1cm4gbm90
Rm91bmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHJldmlzaW9uIDE0NTIw
NykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHdvcmtpbmcgY29weSkK
QEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBRdWFs
aWZpZWROYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1wbDsg
fQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlcikgY29uc3Qg
eyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KIAotICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBR
dWFsaWZpZWROYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1w
bCB8fCAobG9jYWxOYW1lKCkgPT0gb3RoZXIubG9jYWxOYW1lKCkgJiYgbmFtZXNwYWNlVVJJKCkg
PT0gb3RoZXIubmFtZXNwYWNlVVJJKCkpOyB9CisgICAgYm9vbCBtYXRjaGVzKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG90aGVyLCBib29sIHNob3VsZElnbm9yZUNhc2UgPSBmYWxzZSkgY29uc3QgeyBy
ZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1wbCB8fCAoZXF1YWxQb3NzaWJseUlnbm9yaW5nQ2Fz
ZShsb2NhbE5hbWUoKSwgb3RoZXIubG9jYWxOYW1lKCksIHNob3VsZElnbm9yZUNhc2UpICYmIG5h
bWVzcGFjZVVSSSgpID09IG90aGVyLm5hbWVzcGFjZVVSSSgpKTsgfQogCiAgICAgYm9vbCBoYXNQ
cmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwtPm1fcHJlZml4ICE9IG51bGxBdG9tOyB9CiAg
ICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgpIHsgKnRoaXMgPSBR
dWFsaWZpZWROYW1lKHByZWZpeCwgbG9jYWxOYW1lKCksIG5hbWVzcGFjZVVSSSgpKTsgfQpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTQ1MjA3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMDggIEFycGl0YSBCYWh1Z3VuYSAgPGFy
cGl0YWJhaHVndW5hQGdtYWlsLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0
cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0
QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0
QXR0cmlidXRlTm9kZSgpIGNoZWNrcyBhZ2FpbnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0
ZXMgaW4gYSBjYXNlIGluc2Vuc2l0aXZlIG1hbm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2Yg
YW4KKyAgICAgICAgZXhpc3RpbmcgYXR0cmlidXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQg
b2YgdGhlIG9uZSBzZXQgdXNpbmcKKyAgICAgICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBl
ciBjYXNlKS4KKyAgICAgICAgVGhlIHRlc3QgYWxzbyB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igb2Yg
YXR0cmlidXRlcyB3aGVuIHNwZWNpZmllZCB3aXRoCisgICAgICAgIG5hbWVzcGFjZSBhbmQgcHJl
Zml4LgorCiAyMDEzLTAzLTA4ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0
dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWlu
c2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACitU
ZXN0IGZvciBCdWd6aWxsYSBidWc6IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRl
Tm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0
cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5n
IGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hv
dWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0
dHJpYnV0ZU5vZGUoKSBtZXRob2QuIFRoZSBpc3N1ZSBjYW4gYmUgbWFudWFsbHkgdmVyaWZpZWQg
aWYgYSBncmVlbiBjb2xvcmVkIGJsb2NrIGlzIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgcmVkIG9u
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRl
KCdzdHlsZScpIGlzIHRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpCitQQVNTIHRlc3QuZ2V0QXR0
cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSBpcyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NUWUxF
JykudmFsdWUKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1
dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMuIEZv
ciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNob3Vs
ZCBiZSByZXR1cm5lZC4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdh
dHRyJykudmFsdWUgaXMgJ25ld2F0dHIxJworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygn
bnMyJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjInCitWZXJpZnlpbmcgdGhhdCBhdHRy
aWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNhbWUg
bmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3QgdGhl
IG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4aXN0aW5n
IG9uZS4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFs
dWUgaXMgJ25ld2F0dHIzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmli
dXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJp
YnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisjdGVzdCB7CisgICAgZm9udC1mYW1pbHk6
IGFoZW07CisgICAgd2lkdGg6IDUwOworICAgIGhlaWdodDogNTA7Cit9Cis8L3N0eWxlPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhp
c3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50
IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEg
dGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuXG5UaGUgaXNzdWUgY2FuIGJlIG1hbnVhbGx5
IHZlcmlmaWVkIGlmIGEgZ3JlZW4gY29sb3JlZCBibG9jayBpcyBkaXNwbGF5ZWQgaW5zdGVhZCBv
ZiBhIHJlZCBvbmUuIik7CisgICAgCisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpOworICAgIHZhciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRy
aWJ1dGUoIlNUWUxFIik7CisgICAgbmV3U3R5bGVBdHRyLnZhbHVlID0gImJhY2tncm91bmQtY29s
b3I6IGdyZWVuIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3U3R5bGVBdHRyKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0
cmlidXRlKCdzdHlsZScpIiwgInRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpIik7CisgICAgICAg
IHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUiLCAidGVzdC5n
ZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlIik7CisgICAgfQorCisgICAgZGVidWcoIlZl
cmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQg
bmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMuIEZvciB0aGUgZm9sbG93
aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNob3VsZCBiZSByZXR1cm5l
ZC4iKTsKKyAgICB2YXIgbmV3QXR0cjEgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygibnMx
IiwgIm5ld2F0dHIiKTsKKyAgICBuZXdBdHRyMS5wcmVmaXggPSAicHJlZml4MSI7CisgICAgbmV3
QXR0cjEudmFsdWUgPSAibmV3YXR0cjEiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdB
dHRyMSk7CisgICAgdmFyIG5ld0F0dHIyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5z
MiIsICJuZXdhdHRyIik7CisgICAgbmV3QXR0cjIucHJlZml4ID0gInByZWZpeDIiOworICAgIG5l
d0F0dHIyLnZhbHVlID0gIm5ld2F0dHIyIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3
QXR0cjIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBzaG91bGRCZSgi
dGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0
dHIxJyIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMics
ICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0dHIyJyIpOworICAgIH0KKworICAgIGRlYnVnKCJW
ZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2Fz
ZSBhbmQgaGF2aW5nIHNhbWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUg
Zm9sbG93aW5nIHRlc3QgdGhlIG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFs
dWUgb2YgdGhlIGV4aXN0aW5nIG9uZS4iKTsKKyAgICB2YXIgbmV3QXR0cjMgPSBkb2N1bWVudC5j
cmVhdGVBdHRyaWJ1dGVOUygibnMxIiwgIk5FV0FUVFIiKTsKKyAgICBuZXdBdHRyMy5wcmVmaXgg
PSAicHJlZml4MiI7CisgICAgbmV3QXR0cjMudmFsdWUgPSAibmV3YXR0cjMiOworICAgIHRlc3Qu
c2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMyk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3
YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMyciKTsKKyAgICAKKyAgICAgICAgaXNTdWNjZXNzZnVs
bHlQYXJzZWQoKTsgICAgCisgICAgICAgIHRlc3Quc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAg
ICB9CisgICAgCit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxkaXY+VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0
ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2
PgorPGRpdiBpZD0idGVzdCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9k
aXY+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208018</attachid>
            <date>2013-08-02 07:15:59 -0700</date>
            <delta_ts>2013-08-07 00:23:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130802195506.patch</filename>
            <type>text/plain</type>
            <size>10705</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzY0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA4LTAyICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBQYXNzaW5nIHRoZSBzZWNvbmQgcGFyYW0gKHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIHRvCisgICAgICAgIGdldEF0dHJpYnV0ZUl0ZW1JbmRl
eEZvckF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIFdlIGFyZSBub3cgbGV0dGluZworICAgICAgICBn
ZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVOb2RlKCkgaGFuZGxlIHRoZSBjYXNlLXNl
bnNpdGl2ZS9pbnNlbnNpdGl2ZQorICAgICAgICBjaGVja2luZy4KKworICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudERhdGE6OmdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUpOgor
ICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIEFkZGVkIHNob3VsZElnbm9yZUF0dHJp
YnV0ZUNhc2UgYm9vbGVhbiBwYXJhbSB0byB0aGUgbWV0aG9kLiBJdCBwYXNzZXMKKyAgICAgICAg
dGhpcyBvbiB0byBRdWFsaWZpZWROYW1lOjptYXRjaGVzKCkgbWV0aG9kLgorCisgICAgICAgICog
ZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlF1YWxpZmllZE5hbWU6Om1h
dGNoZXMpOgorICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVDYXNlIHBhcmFtLiBJbiB0dXJuIGl0
IGNhbGxzIGVxdWFsUG9zc2libHlJZ25vcmluZ0Nhc2UoKQorICAgICAgICB3aXRoIHRoaXMgcGFy
YW0gdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zdGl2ZSBjb21wYXJpc29uLgorCiAyMDEzLTA4LTAy
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXSU5d
IEZpeCBidWlsZCB3aXRob3V0IHByZWNvbXBpbGVkIGhlYWRlci4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE1MzY0NSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkyMiw3ICsxOTIyLDcgQEAgUGFzc1JlZlB0cjxBdHRy
PiBFbGVtZW50OjpzZXRBdHRyaWJ1dGVObwogICAgIHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygp
OwogICAgIFVuaXF1ZUVsZW1lbnREYXRhKiBlbGVtZW50RGF0YSA9IGVuc3VyZVVuaXF1ZUVsZW1l
bnREYXRhKCk7CiAKLSAgICB1bnNpZ25lZCBpbmRleCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1
dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVOb2RlKGF0dHJOb2RlKTsKKyAgICB1bnNpZ25lZCBpbmRl
eCA9IGVsZW1lbnREYXRhLT5nZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVOb2RlKGF0
dHJOb2RlLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpKTsKICAgICBpZiAoaW5kZXgg
IT0gRWxlbWVudERhdGE6OmF0dHJpYnV0ZU5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRBdHRy
Tm9kZSkKICAgICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUob2xk
QXR0ck5vZGUuZ2V0KCksIGVsZW1lbnREYXRhLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+dmFsdWUo
KSk7CkBAIC0zNDEzLDEzICszNDEzLDEzIEBAIHVuc2lnbmVkIEVsZW1lbnREYXRhOjpnZXRBdHRy
aWJ1dGVJdGVtSW4KICAgICByZXR1cm4gYXR0cmlidXRlTm90Rm91bmQ7CiB9CiAKLXVuc2lnbmVk
IEVsZW1lbnREYXRhOjpnZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0
IEF0dHIqIGF0dHIpIGNvbnN0Cit1bnNpZ25lZCBFbGVtZW50RGF0YTo6Z2V0QXR0cmlidXRlSXRl
bUluZGV4Rm9yQXR0cmlidXRlTm9kZShjb25zdCBBdHRyKiBhdHRyLCBib29sIHNob3VsZElnbm9y
ZUF0dHJpYnV0ZUNhc2UpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGF0dHIpOwogICAgIGNvbnN0IEF0
dHJpYnV0ZSogYXR0cmlidXRlcyA9IGF0dHJpYnV0ZUJhc2UoKTsKICAgICB1bnNpZ25lZCBjb3Vu
dCA9IGxlbmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7
Ci0gICAgICAgIGlmIChhdHRyaWJ1dGVzW2ldLm5hbWUoKSA9PSBhdHRyLT5xdWFsaWZpZWROYW1l
KCkpCisgICAgICAgIGlmIChhdHRyaWJ1dGVzW2ldLm5hbWUoKS5tYXRjaGVzKGF0dHItPnF1YWxp
ZmllZE5hbWUoKSwgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSkpCiAgICAgICAgICAgICByZXR1
cm4gaTsKICAgICB9CiAgICAgcmV0dXJuIGF0dHJpYnV0ZU5vdEZvdW5kOwpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCShyZXZpc2lvbiAxNTM2NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4MCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBB
dHRyaWJ1dGUqIGdldEF0dHJpYnV0ZUl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0Owog
ICAgIHVuc2lnbmVkIGdldEF0dHJpYnV0ZUl0ZW1JbmRleChjb25zdCBRdWFsaWZpZWROYW1lJikg
Y29uc3Q7CiAgICAgdW5zaWduZWQgZ2V0QXR0cmlidXRlSXRlbUluZGV4KGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgYm9vbCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSBjb25zdDsKLSAgICB1
bnNpZ25lZCBnZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIq
KSBjb25zdDsKKyAgICB1bnNpZ25lZCBnZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVO
b2RlKGNvbnN0IEF0dHIqLCBib29sIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UgPSBmYWxzZSkg
Y29uc3Q7CiAKICAgICBib29sIGhhc0lEKCkgY29uc3QgeyByZXR1cm4gIW1faWRGb3JTdHlsZVJl
c29sdXRpb24uaXNOdWxsKCk7IH0KICAgICBib29sIGhhc0NsYXNzKCkgY29uc3QgeyByZXR1cm4g
IW1fY2xhc3NOYW1lcy5pc051bGwoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1F1YWxp
ZmllZE5hbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5oCShyZXZpc2lvbiAxNTM2NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgUXVhbGlmaWVkTmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1faW1w
bCA9PSBvdGhlci5tX2ltcGw7IH0KICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUXVhbGlmaWVk
TmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CiAKLSAgICBi
b29sIG1hdGNoZXMoY29uc3QgUXVhbGlmaWVkTmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1f
aW1wbCA9PSBvdGhlci5tX2ltcGwgfHwgKGxvY2FsTmFtZSgpID09IG90aGVyLmxvY2FsTmFtZSgp
ICYmIG5hbWVzcGFjZVVSSSgpID09IG90aGVyLm5hbWVzcGFjZVVSSSgpKTsgfQorICAgIGJvb2wg
bWF0Y2hlcyhjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlciwgYm9vbCBzaG91bGRJZ25vcmVDYXNl
ID0gZmFsc2UpIGNvbnN0IHsgcmV0dXJuIG1faW1wbCA9PSBvdGhlci5tX2ltcGwgfHwgKGVxdWFs
UG9zc2libHlJZ25vcmluZ0Nhc2UobG9jYWxOYW1lKCksIG90aGVyLmxvY2FsTmFtZSgpLCBzaG91
bGRJZ25vcmVDYXNlKSAmJiBuYW1lc3BhY2VVUkkoKSA9PSBvdGhlci5uYW1lc3BhY2VVUkkoKSk7
IH0KIAogICAgIGJvb2wgaGFzUHJlZml4KCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLT5tX3ByZWZp
eCAhPSBudWxsQXRvbTsgfQogICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyYg
cHJlZml4KSB7ICp0aGlzID0gUXVhbGlmaWVkTmFtZShwcmVmaXgsIGxvY2FsTmFtZSgpLCBuYW1l
c3BhY2VVUkkoKSk7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzY0NSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA4LTAyICBB
cnBpdGEgQmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRy
aWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKwor
ICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0
aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBU
ZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRlTm9kZSgpIGNoZWNrcyBhZ2Fp
bnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIGluc2Vuc2l0aXZlIG1h
bm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2YgYW4KKyAgICAgICAgZXhpc3RpbmcgYXR0cmli
dXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9uZSBzZXQgdXNpbmcKKyAgICAg
ICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4KKyAgICAgICAgVGhlIHRlc3Qg
YWxzbyB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igb2YgYXR0cmlidXRlcyB3aGVuIHNwZWNpZmllZCB3
aXRoCisgICAgICAgIG5hbWVzcGFjZSBhbmQgcHJlZml4LgorCiAyMDEzLTA4LTAyICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWUgZmxhdHRlbmluZzogQ2hh
bmdlIHRoZSBsb2dpYyBvbiB3aGV0aGVyIHJlc2l6ZSBldmVudCBuZWVkcyB0byBiZSBkaXNwYXRj
aGVkLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2Rl
LWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50
L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBmb3IgQnVnemlsbGEgYnVnOiA5MDM0MTogY3Jl
YXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXpl
IGNhc2UuCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQ
SSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVz
IHRoZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1
dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1
ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBUaGUgaXNzdWUg
Y2FuIGJlIG1hbnVhbGx5IHZlcmlmaWVkIGlmIGEgZ3JlZW4gY29sb3JlZCBibG9jayBpcyBkaXNw
bGF5ZWQgaW5zdGVhZCBvZiBhIHJlZCBvbmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgn
U1RZTEUnKQorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVz
dC5nZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlCitWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1
dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0
ZWQgYXMgdW5pcXVlIGVudGl0aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJl
bnQgYXR0cmlidXRlIHZhbHVlcyBzaG91bGQgYmUgcmV0dXJuZWQuCitQQVNTIHRlc3QuZ2V0QXR0
cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIGlzICduZXdhdHRyMScKK1BBU1Mg
dGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMicsICduZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0
dHIyJworVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHNhbWUgbmFtZSBidXQgZGlmZmVy
ZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgc2FtZS4g
SW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBuZXcgYXR0cmlidXRlIHNob3VsZCBvdmVyd3JpdGUg
dGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBvbmUuCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlTm9k
ZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIGlzICduZXdhdHRyMycKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVO
b2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
I3Rlc3QgeworICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgIHdpZHRoOiA1MDsKKyAgICBoZWln
aHQ6IDUwOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRl
Tm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2
ZWx5LiBUaHVzIHRoZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2Ft
ZSBuYW1lIGJ1dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhl
IG5ldyB2YWx1ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLlxu
VGhlIGlzc3VlIGNhbiBiZSBtYW51YWxseSB2ZXJpZmllZCBpZiBhIGdyZWVuIGNvbG9yZWQgYmxv
Y2sgaXMgZGlzcGxheWVkIGluc3RlYWQgb2YgYSByZWQgb25lLiIpOworICAgIAorICAgIHZhciB0
ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3U3R5bGVB
dHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgIG5ld1N0eWxlQXR0
ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAgdGVzdC5zZXRBdHRyaWJ1
dGVOb2RlKG5ld1N0eWxlQXR0cik7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIsICJ0ZXN0LmdldEF0dHJp
YnV0ZSgnU1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2Rl
KCdzdHlsZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKS52YWx1ZSIp
OworICAgIH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggdGhl
IHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgdW5pcXVl
IGVudGl0aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJlbnQgYXR0cmlidXRl
IHZhbHVlcyBzaG91bGQgYmUgcmV0dXJuZWQuIik7CisgICAgdmFyIG5ld0F0dHIxID0gZG9jdW1l
bnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJuZXdhdHRyIik7CisgICAgbmV3QXR0cjEucHJl
Zml4ID0gInByZWZpeDEiOworICAgIG5ld0F0dHIxLnZhbHVlID0gIm5ld2F0dHIxIjsKKyAgICB0
ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjEpOworICAgIHZhciBuZXdBdHRyMiA9IGRvY3Vt
ZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKCJuczIiLCAibmV3YXR0ciIpOworICAgIG5ld0F0dHIyLnBy
ZWZpeCA9ICJwcmVmaXgyIjsKKyAgICBuZXdBdHRyMi52YWx1ZSA9ICJuZXdhdHRyMiI7CisgICAg
dGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIyKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAn
bmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMSciKTsKKyAgICAgICAgc2hvdWxkQmUoInRlc3Qu
Z2V0QXR0cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMici
KTsKKyAgICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHNh
bWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5hbWVzcGFjZXMgYXJl
IHRyZWF0ZWQgYXMgc2FtZS4gSW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBuZXcgYXR0cmlidXRl
IHNob3VsZCBvdmVyd3JpdGUgdGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBvbmUuIik7CisgICAg
dmFyIG5ld0F0dHIzID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJORVdBVFRS
Iik7CisgICAgbmV3QXR0cjMucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIzLnZhbHVl
ID0gIm5ld2F0dHIzIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjMpOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0
dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjMnIik7Cisg
ICAgCisgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7ICAgIAorICAgICAgICB0ZXN0LnN0
eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIGJ1Zzo8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEiPiA5
MDM0MTo8L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9w
ZXJseSBub3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQiPiZuYnNwOzwvZGl2PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208240</attachid>
            <date>2013-08-07 00:23:23 -0700</date>
            <delta_ts>2013-08-12 02:35:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130807130231.patch</filename>
            <type>text/plain</type>
            <size>11270</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEzLTA4LTA3ICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZUludGVybmFsKToKKyAgICAgICAgSWYgYSB2YWxpZCBhdHRyaWJ1dGUgaW5k
ZXggaXMgYXZhaWxhYmxlLCB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUncworICAgICAgICBu
YW1lIHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgdXNpbmcgdGhlIG5hbWUgcGFzc2VkIHRvIHRo
aXMgbWV0aG9kCisgICAgICAgIHNpbmNlIHRoYXQgaXMgbm90IGNhc2UgYWRqdXN0ZWQuCisKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBQYXNz
aW5nIHRoZSBzZWNvbmQgcGFyYW0gKHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIHRvCisgICAg
ICAgIGdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIFdlIGFy
ZSBub3cgbGV0dGluZworICAgICAgICBnZXRBdHRyaWJ1dGVJdGVtSW5kZXhGb3JBdHRyaWJ1dGVO
b2RlKCkgaGFuZGxlIHRoZSBjYXNlLXNlbnNpdGl2ZS9pbnNlbnNpdGl2ZQorICAgICAgICBjaGVj
a2luZy4KKworICAgICAgICAoV2ViQ29yZTo6RWxlbWVudERhdGE6OmdldEF0dHJpYnV0ZUl0ZW1J
bmRleEZvckF0dHJpYnV0ZU5vZGUpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAg
IEFkZGVkIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UgYm9vbGVhbiBwYXJhbSB0byB0aGUgbWV0
aG9kLiBJdCBwYXNzZXMKKyAgICAgICAgdGhpcyBvbiB0byBRdWFsaWZpZWROYW1lOjptYXRjaGVz
KCkgbWV0aG9kLgorCisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlF1YWxpZmllZE5hbWU6Om1hdGNoZXMpOgorICAgICAgICBBZGRlZCBzaG91bGRJZ25v
cmVDYXNlIHBhcmFtLiBJbiB0dXJuIGl0IGNhbGxzIGVxdWFsUG9zc2libHlJZ25vcmluZ0Nhc2Uo
KQorICAgICAgICB3aXRoIHRoaXMgcGFyYW0gdG8gcGVyZm9ybSBhIGNhc2UtaW5zZW5zdGl2ZSBj
b21wYXJpc29uLgorCiAyMDEzLTA4LTA2ICBTdGVwaGFuaWUgTGV3aXMgIDxzbGV3aXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSBPcmRlciBGaWxlcyBmb3IgU2FmYXJpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTM3NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMDEsNyArMTAwMSw3IEBAIGlubGluZSB2
b2lkIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZUludGVybmEKICAgICB9CiAKICAgICBpZiAoIWluU3lu
Y2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKQotICAgICAgICBkaWRNb2RpZnlBdHRyaWJ1dGUo
bmFtZSwgbmV3VmFsdWUpOworICAgICAgICBkaWRNb2RpZnlBdHRyaWJ1dGUoYXR0cmlidXRlSXRl
bShpbmRleCktPm5hbWUoKSwgbmV3VmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEF0b21pY1N0
cmluZyBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwg
Ym9vbCBpblF1aXJrc01vZGUpCkBAIC0xOTIyLDcgKzE5MjIsNyBAQCBQYXNzUmVmUHRyPEF0dHI+
IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7
CiAgICAgVW5pcXVlRWxlbWVudERhdGEqIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVu
dERhdGEoKTsKIAotICAgIHVuc2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEtPmdldEF0dHJpYnV0
ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUoYXR0ck5vZGUpOworICAgIHVuc2lnbmVkIGluZGV4
ID0gZWxlbWVudERhdGEtPmdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUoYXR0
ck5vZGUsIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykpOwogICAgIGlmIChpbmRleCAh
PSBFbGVtZW50RGF0YTo6YXR0cmlidXRlTm90Rm91bmQpIHsKICAgICAgICAgaWYgKG9sZEF0dHJO
b2RlKQogICAgICAgICAgICAgZGV0YWNoQXR0ck5vZGVGcm9tRWxlbWVudFdpdGhWYWx1ZShvbGRB
dHRyTm9kZS5nZXQoKSwgZWxlbWVudERhdGEtPmF0dHJpYnV0ZUl0ZW0oaW5kZXgpLT52YWx1ZSgp
KTsKQEAgLTM0MDksMTMgKzM0MDksMTMgQEAgdW5zaWduZWQgRWxlbWVudERhdGE6OmdldEF0dHJp
YnV0ZUl0ZW1JbgogICAgIHJldHVybiBhdHRyaWJ1dGVOb3RGb3VuZDsKIH0KIAotdW5zaWduZWQg
RWxlbWVudERhdGE6OmdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUoY29uc3Qg
QXR0ciogYXR0cikgY29uc3QKK3Vuc2lnbmVkIEVsZW1lbnREYXRhOjpnZXRBdHRyaWJ1dGVJdGVt
SW5kZXhGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIqIGF0dHIsIGJvb2wgc2hvdWxkSWdub3Jl
QXR0cmlidXRlQ2FzZSkgY29uc3QKIHsKICAgICBBU1NFUlQoYXR0cik7CiAgICAgY29uc3QgQXR0
cmlidXRlKiBhdHRyaWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIHVuc2lnbmVkIGNvdW50
ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsK
LSAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpID09IGF0dHItPnF1YWxpZmllZE5hbWUo
KSkKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpLm1hdGNoZXMoYXR0ci0+cXVhbGlm
aWVkTmFtZSgpLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSkKICAgICAgICAgICAgIHJldHVy
biBpOwogICAgIH0KICAgICByZXR1cm4gYXR0cmlidXRlTm90Rm91bmQ7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgJKHJldmlzaW9uIDE1Mzc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIGNvbnN0IEF0
dHJpYnV0ZSogZ2V0QXR0cmlidXRlSXRlbShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAg
ICAgdW5zaWduZWQgZ2V0QXR0cmlidXRlSXRlbUluZGV4KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBj
b25zdDsKICAgICB1bnNpZ25lZCBnZXRBdHRyaWJ1dGVJdGVtSW5kZXgoY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lLCBib29sIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0OwotICAgIHVu
c2lnbmVkIGdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0ciop
IGNvbnN0OworICAgIHVuc2lnbmVkIGdldEF0dHJpYnV0ZUl0ZW1JbmRleEZvckF0dHJpYnV0ZU5v
ZGUoY29uc3QgQXR0ciosIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSA9IGZhbHNlKSBj
b25zdDsKIAogICAgIGJvb2wgaGFzSUQoKSBjb25zdCB7IHJldHVybiAhbV9pZEZvclN0eWxlUmVz
b2x1dGlvbi5pc051bGwoKTsgfQogICAgIGJvb2wgaGFzQ2xhc3MoKSBjb25zdCB7IHJldHVybiAh
bV9jbGFzc05hbWVzLmlzTnVsbCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlm
aWVkTmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmgJKHJldmlzaW9uIDE1Mzc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9pbXBs
ID09IG90aGVyLm1faW1wbDsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBRdWFsaWZpZWRO
YW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KIAotICAgIGJv
b2wgbWF0Y2hlcyhjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9p
bXBsID09IG90aGVyLm1faW1wbCB8fCAobG9jYWxOYW1lKCkgPT0gb3RoZXIubG9jYWxOYW1lKCkg
JiYgbmFtZXNwYWNlVVJJKCkgPT0gb3RoZXIubmFtZXNwYWNlVVJJKCkpOyB9CisgICAgYm9vbCBt
YXRjaGVzKGNvbnN0IFF1YWxpZmllZE5hbWUmIG90aGVyLCBib29sIHNob3VsZElnbm9yZUNhc2Ug
PSBmYWxzZSkgY29uc3QgeyByZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1wbCB8fCAoZXF1YWxQ
b3NzaWJseUlnbm9yaW5nQ2FzZShsb2NhbE5hbWUoKSwgb3RoZXIubG9jYWxOYW1lKCksIHNob3Vs
ZElnbm9yZUNhc2UpICYmIG5hbWVzcGFjZVVSSSgpID09IG90aGVyLm5hbWVzcGFjZVVSSSgpKTsg
fQogCiAgICAgYm9vbCBoYXNQcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwtPm1fcHJlZml4
ICE9IG51bGxBdG9tOyB9CiAgICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRvbWljU3RyaW5nJiBw
cmVmaXgpIHsgKnRoaXMgPSBRdWFsaWZpZWROYW1lKHByZWZpeCwgbG9jYWxOYW1lKCksIG5hbWVz
cGFjZVVSSSgpKTsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzNzc4KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDgtMDcgIEFy
cGl0YSBCYWh1Z3VuYSAgPGEuYmFoQHNhbXN1bmcuY29tPgorCisgICAgICAgIGNyZWF0ZUF0dHJp
YnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MQorCisg
ICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRp
dml0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0
QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbDogQWRkZWQuCisgICAgICAgIFRl
c3RjYXNlIGZvciB2ZXJpZnlpbmcgdGhhdCBzZXRBdHRyaWJ1dGVOb2RlKCkgY2hlY2tzIGFnYWlu
c3QgZXhpc3RpbmcKKyAgICAgICAgYXR0cmlidXRlcyBpbiBhIGNhc2UgaW5zZW5zaXRpdmUgbWFu
bmVyLiBJdCB1cGRhdGVzIHRoZSB2YWx1ZSBvZiBhbgorICAgICAgICBleGlzdGluZyBhdHRyaWJ1
dGUgKGluIGxvd2VyIGNhc2UpIHdpdGggdGhhdCBvZiB0aGUgb25lIHNldCB1c2luZworICAgICAg
ICBzZXRBdHRyaWJ1dGVOb2RlKCkgKGluIHVwcGVyIGNhc2UpLgorICAgICAgICBUaGUgdGVzdCBh
bHNvIHZlcmlmaWVzIHRoZSBiZWhhdmlvciBvZiBhdHRyaWJ1dGVzIHdoZW4gc3BlY2lmaWVkIHdp
dGgKKyAgICAgICAgbmFtZXNwYWNlIGFuZCBwcmVmaXguCisKIDIwMTMtMDgtMDYgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgRml4dXBQaGFzZSBzaG91bGQg
aW5zZXJ0IEludDMyVG9Eb3VibGUgbm9kZXMgZm9yIG51bWJlciB1c2VzIGluIE5ld0FycmF5LCBh
bmQgU3BlY3VsYXRpdmVKSVQgNjQtYml0IHNob3VsZCBub3QgdHJ5IHRvIGNvZXJjZSBpbnRlZ2Vy
IGNvbnN0YW50cyB0byBkb3VibGUgY29uc3RhbnRzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0
ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0
aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACitUZXN0IGZv
ciBCdWd6aWxsYSBidWc6IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBk
b2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRl
cyBjYXNlLWluc2Vuc2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdl
dCByZXBsYWNlZCBieSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0
ZU5vZGUoKSBtZXRob2QuIFRoZSBpc3N1ZSBjYW4gYmUgbWFudWFsbHkgdmVyaWZpZWQgaWYgYSBn
cmVlbiBjb2xvcmVkIGJsb2NrIGlzIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgcmVkIG9uZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlKCdzdHls
ZScpIGlzIHRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRl
Tm9kZSgnc3R5bGUnKS52YWx1ZSBpcyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NUWUxFJykudmFs
dWUKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZm
ZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMuIEZvciB0aGUg
Zm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNob3VsZCBiZSBy
ZXR1cm5lZC4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJyku
dmFsdWUgaXMgJ25ld2F0dHIxJworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMyJywg
J25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjInCitWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVz
IHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNhbWUgbmFtZXNw
YWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3QgdGhlIG5ldyBh
dHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4aXN0aW5nIG9uZS4K
K1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUgaXMg
J25ld2F0dHIzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9k
ZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5v
ZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0dHJpYnV0ZU5vZGUo
KSBBUEkgY2hlY2tzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGNhc2UtaW5zZW5zaXRpdmVseS4g
VGh1cyB0aGUgdmFsdWUgb2YgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNhbWUgbmFt
ZSBidXQgaW4gYSBkaWZmZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2VkIGJ5IHRoZSBuZXcg
dmFsdWUgc3BlY2lmaWVkIHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1ldGhvZC5cblRoZSBp
c3N1ZSBjYW4gYmUgbWFudWFsbHkgdmVyaWZpZWQgaWYgYSBncmVlbiBjb2xvcmVkIGJsb2NrIGlz
IGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgcmVkIG9uZS4iKTsKKyAgICAKKyAgICB2YXIgdGVzdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgdmFyIG5ld1N0eWxlQXR0ciA9
IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiU1RZTEUiKTsKKyAgICBuZXdTdHlsZUF0dHIudmFs
dWUgPSAiYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9k
ZShuZXdTdHlsZUF0dHIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBz
aG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJykiLCAidGVzdC5nZXRBdHRyaWJ1dGUo
J1NUWUxFJykiKTsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnc3R5
bGUnKS52YWx1ZSIsICJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NUWUxFJykudmFsdWUiKTsKKyAg
ICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1l
IG5hbWUgYnV0IGRpZmZlcmVudCBuYW1lc3BhY2VzIGFyZSB0cmVhdGVkIGFzIHVuaXF1ZSBlbnRp
dGllcy4gRm9yIHRoZSBmb2xsb3dpbmcgdGVzdCB0d28gZGlmZmVyZW50IGF0dHJpYnV0ZSB2YWx1
ZXMgc2hvdWxkIGJlIHJldHVybmVkLiIpOworICAgIHZhciBuZXdBdHRyMSA9IGRvY3VtZW50LmNy
ZWF0ZUF0dHJpYnV0ZU5TKCJuczEiLCAibmV3YXR0ciIpOworICAgIG5ld0F0dHIxLnByZWZpeCA9
ICJwcmVmaXgxIjsKKyAgICBuZXdBdHRyMS52YWx1ZSA9ICJuZXdhdHRyMSI7CisgICAgdGVzdC5z
ZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIxKTsKKyAgICB2YXIgbmV3QXR0cjIgPSBkb2N1bWVudC5j
cmVhdGVBdHRyaWJ1dGVOUygibnMyIiwgIm5ld2F0dHIiKTsKKyAgICBuZXdBdHRyMi5wcmVmaXgg
PSAicHJlZml4MiI7CisgICAgbmV3QXR0cjIudmFsdWUgPSAibmV3YXR0cjIiOworICAgIHRlc3Qu
c2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMik7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0
dHInKS52YWx1ZSIsICInbmV3YXR0cjEnIik7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0
dHJpYnV0ZU5vZGVOUygnbnMyJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjInIik7Cisg
ICAgfQorCisgICAgZGVidWcoIlZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCBzYW1lIG5h
bWUgYnV0IGRpZmZlcmVudCBjYXNlIGFuZCBoYXZpbmcgc2FtZSBuYW1lc3BhY2VzIGFyZSB0cmVh
dGVkIGFzIHNhbWUuIEluIHRoZSBmb2xsb3dpbmcgdGVzdCB0aGUgbmV3IGF0dHJpYnV0ZSBzaG91
bGQgb3ZlcndyaXRlIHRoZSB2YWx1ZSBvZiB0aGUgZXhpc3Rpbmcgb25lLiIpOworICAgIHZhciBu
ZXdBdHRyMyA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKCJuczEiLCAiTkVXQVRUUiIpOwor
ICAgIG5ld0F0dHIzLnByZWZpeCA9ICJwcmVmaXgyIjsKKyAgICBuZXdBdHRyMy52YWx1ZSA9ICJu
ZXdhdHRyMyI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIzKTsKKworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1
dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0dHIzJyIpOworICAgIAor
ICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOyAgICAKKyAgICAgICAgdGVzdC5zdHlsZS5k
aXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UZXN0IGZvciBCdWd6aWxsYSBidWc6PGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMzQxIj4gOTAzNDE6
PC9hPiAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkg
bm9ybWFsaXplIGNhc2UuPC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0iYmFja2dyb3VuZC1j
b2xvcjogcmVkIj4mbmJzcDs8L2Rpdj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208520</attachid>
            <date>2013-08-12 02:35:13 -0700</date>
            <delta_ts>2013-08-13 05:52:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130812151424.patch</filename>
            <type>text/plain</type>
            <size>10549</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzkzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA4LTEyICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0OiBm
YXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwK
KworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnNldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICBQYXNzaW5nIHRoZSBzZWNvbmQgcGFyYW0gKHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIHRvCisgICAgICAgIGZpbmRBdHRyaWJ1dGVJbmRleEJ5
TmFtZUZvckF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIFdlIGFyZSBub3cgbGV0dGluZworICAgICAg
ICBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKCkgaGFuZGxlIHRoZSBj
YXNlLXNlbnNpdGl2ZS9pbnNlbnNpdGl2ZQorICAgICAgICBjaGVja2luZy4KKworICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0
ZU5vZGUpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIEFkZGVkIHNob3VsZEln
bm9yZUF0dHJpYnV0ZUNhc2UgYm9vbGVhbiBwYXJhbSB0byB0aGUgbWV0aG9kLiBJdCBwYXNzZXMK
KyAgICAgICAgdGhpcyBvbiB0byBRdWFsaWZpZWROYW1lOjptYXRjaGVzSWdub3JpbmdDYXNlRm9y
TG9jYWxOYW1lKCkgbWV0aG9kLgorCisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlF1YWxpZmllZE5hbWU6Om1hdGNoZXNJZ25vcmluZ0Nhc2VGb3JMb2Nh
bE5hbWUpOgorICAgICAgICBOZXcgbWV0aG9kIGFkZGVkIGZvciBkb2luZyBhIGNhc2UtaW5zZW5z
aXRpdmUgY29tcGFyaXNvbiBiYXNlZCBvbiB0aGUKKyAgICAgICAgc2hvdWxkSWdub3JlQ2FzZSBw
YXJhbSBwYXNzZWQgdG8gdGhpcyBtZXRob2QuCisKIDIwMTMtMDgtMTIgIEFuZHJlYXMgS2xpbmcg
IDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWUgYnVpbGQganVpY2UgZm9yIHRoZSBX
aW5kb3dzIGJvdHMgYWZ0ZXIgcjE1MzkyNiArIHIxNTM5MjcuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNTM5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NDEsNyArMTc0MSw3IEBAIFBhc3NSZWZQdHI8QXR0cj4g
RWxlbWVudDo6c2V0QXR0cmlidXRlTm8KICAgICBzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKTsK
ICAgICBVbmlxdWVFbGVtZW50RGF0YSYgZWxlbWVudERhdGEgPSBlbnN1cmVVbmlxdWVFbGVtZW50
RGF0YSgpOwogCi0gICAgdW5zaWduZWQgaW5kZXggPSBlbGVtZW50RGF0YS5maW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKGF0dHJOb2RlKTsKKyAgICB1bnNpZ25lZCBpbmRl
eCA9IGVsZW1lbnREYXRhLmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUo
YXR0ck5vZGUsIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykpOwogICAgIGlmIChpbmRl
eCAhPSBFbGVtZW50RGF0YTo6YXR0cmlidXRlTm90Rm91bmQpIHsKICAgICAgICAgaWYgKG9sZEF0
dHJOb2RlKQogICAgICAgICAgICAgZGV0YWNoQXR0ck5vZGVGcm9tRWxlbWVudFdpdGhWYWx1ZShv
bGRBdHRyTm9kZS5nZXQoKSwgZWxlbWVudERhdGEuYXR0cmlidXRlQXQoaW5kZXgpLnZhbHVlKCkp
OwpAQCAtMzIzNCwxMyArMzIzNCwxMyBAQCB1bnNpZ25lZCBFbGVtZW50RGF0YTo6ZmluZEF0dHJp
YnV0ZUluZGV4CiAgICAgcmV0dXJuIGF0dHJpYnV0ZU5vdEZvdW5kOwogfQogCi11bnNpZ25lZCBF
bGVtZW50RGF0YTo6ZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShjb25z
dCBBdHRyKiBhdHRyKSBjb25zdAordW5zaWduZWQgRWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVJ
bmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0ciogYXR0ciwgYm9vbCBzaG91bGRJ
Z25vcmVBdHRyaWJ1dGVDYXNlKSBjb25zdAogewogICAgIEFTU0VSVChhdHRyKTsKICAgICBjb25z
dCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVCYXNlKCk7CiAgICAgdW5zaWduZWQg
Y291bnQgPSBsZW5ndGgoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY291bnQ7ICsr
aSkgewotICAgICAgICBpZiAoYXR0cmlidXRlc1tpXS5uYW1lKCkgPT0gYXR0ci0+cXVhbGlmaWVk
TmFtZSgpKQorICAgICAgICBpZiAoYXR0cmlidXRlc1tpXS5uYW1lKCkubWF0Y2hlc0lnbm9yaW5n
Q2FzZUZvckxvY2FsTmFtZShhdHRyLT5xdWFsaWZpZWROYW1lKCksIHNob3VsZElnbm9yZUF0dHJp
YnV0ZUNhc2UpKQogICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgfQogICAgIHJldHVybiBhdHRy
aWJ1dGVOb3RGb3VuZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gMTUzOTMzKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtODEsNyAr
ODEsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgQXR0cmlidXRlKiBmaW5kQXR0cmlidXRlQnlOYW1l
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICAgICB1bnNpZ25lZCBmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogICAgIHVuc2lnbmVkIGZp
bmRBdHRyaWJ1dGVJbmRleEJ5TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGJvb2wgc2hv
dWxkSWdub3JlQXR0cmlidXRlQ2FzZSkgY29uc3Q7Ci0gICAgdW5zaWduZWQgZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShjb25zdCBBdHRyKikgY29uc3Q7CisgICAgdW5z
aWduZWQgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShjb25zdCBBdHRy
KiwgYm9vbCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlID0gZmFsc2UpIGNvbnN0OwogCiAgICAg
Ym9vbCBoYXNJRCgpIGNvbnN0IHsgcmV0dXJuICFtX2lkRm9yU3R5bGVSZXNvbHV0aW9uLmlzTnVs
bCgpOyB9CiAgICAgYm9vbCBoYXNDbGFzcygpIGNvbnN0IHsgcmV0dXJuICFtX2NsYXNzTmFtZXMu
aXNOdWxsKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAkocmV2aXNpb24g
MTUzOTMzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAkod29ya2luZyBj
b3B5KQpAQCAtODEsNiArODEsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIG1hdGNoZXMoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1faW1wbCA9PSBvdGhlci5tX2lt
cGwgfHwgKGxvY2FsTmFtZSgpID09IG90aGVyLmxvY2FsTmFtZSgpICYmIG5hbWVzcGFjZVVSSSgp
ID09IG90aGVyLm5hbWVzcGFjZVVSSSgpKTsgfQogCisgICAgYm9vbCBtYXRjaGVzSWdub3JpbmdD
YXNlRm9yTG9jYWxOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmIG90aGVyLCBib29sIHNob3VsZEln
bm9yZUNhc2UgPSBmYWxzZSkgY29uc3QgeyByZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1wbCB8
fCAoZXF1YWxQb3NzaWJseUlnbm9yaW5nQ2FzZShsb2NhbE5hbWUoKSwgb3RoZXIubG9jYWxOYW1l
KCksIHNob3VsZElnbm9yZUNhc2UpICYmIG5hbWVzcGFjZVVSSSgpID09IG90aGVyLm5hbWVzcGFj
ZVVSSSgpKTsgfQorCiAgICAgYm9vbCBoYXNQcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwt
Pm1fcHJlZml4ICE9IG51bGxBdG9tOyB9CiAgICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRvbWlj
U3RyaW5nJiBwcmVmaXgpIHsgKnRoaXMgPSBRdWFsaWZpZWROYW1lKHByZWZpeCwgbG9jYWxOYW1l
KCksIG5hbWVzcGFjZVVSSSgpKTsgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTM5MzUpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAx
My0wOC0xMiAgQXJwaXRhIEJhaHVndW5hICA8YS5iYWhAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
Y3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFs
aXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkwMzQxCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2Fz
ZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
RWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sOiBBZGRlZC4K
KyAgICAgICAgVGVzdGNhc2UgZm9yIHZlcmlmeWluZyB0aGF0IHNldEF0dHJpYnV0ZU5vZGUoKSBj
aGVja3MgYWdhaW5zdCBleGlzdGluZworICAgICAgICBhdHRyaWJ1dGVzIGluIGEgY2FzZSBpbnNl
bnNpdGl2ZSBtYW5uZXIuIEl0IHVwZGF0ZXMgdGhlIHZhbHVlIG9mIGFuCisgICAgICAgIGV4aXN0
aW5nIGF0dHJpYnV0ZSAoaW4gbG93ZXIgY2FzZSkgd2l0aCB0aGF0IG9mIHRoZSBvbmUgc2V0IHVz
aW5nCisgICAgICAgIHNldEF0dHJpYnV0ZU5vZGUoKSAoaW4gdXBwZXIgY2FzZSkuCisgICAgICAg
IFRoZSB0ZXN0IGFsc28gdmVyaWZpZXMgdGhlIGJlaGF2aW9yIG9mIGF0dHJpYnV0ZXMgd2hlbiBz
cGVjaWZpZWQgd2l0aAorICAgICAgICBuYW1lc3BhY2UgYW5kIHByZWZpeC4KKwogMjAxMy0wOC0x
MiAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRd
IFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBSZWJhc2VsaW5pbmcgYWZ0ZXIgcjE1MzkwMy4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vu
c2l0aXZpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1
dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTYgQEAKK1Rlc3QgZm9yIEJ1Z3ppbGxhIGJ1ZzogOTAzNDE6IGNyZWF0ZUF0dHJpYnV0
ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLgorVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBBUEkgY2hlY2tzIGZv
ciBleGlzdGluZyBhdHRyaWJ1dGVzIGNhc2UtaW5zZW5zaXRpdmVseS4gVGh1cyB0aGUgdmFsdWUg
b2YgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgaW4gYSBkaWZm
ZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2VkIGJ5IHRoZSBuZXcgdmFsdWUgc3BlY2lmaWVk
IHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1ldGhvZC4gVGhlIGlzc3VlIGNhbiBiZSBtYW51
YWxseSB2ZXJpZmllZCBpZiBhIGdyZWVuIGNvbG9yZWQgYmxvY2sgaXMgZGlzcGxheWVkIGluc3Rl
YWQgb2YgYSByZWQgb25lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgdGVz
dC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJykgaXMgdGVzdC5nZXRBdHRyaWJ1dGUoJ1NUWUxFJykKK1BB
U1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdzdHlsZScpLnZhbHVlIGlzIHRlc3QuZ2V0QXR0cmli
dXRlTm9kZSgnU1RZTEUnKS52YWx1ZQorVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHRo
ZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBuYW1lc3BhY2VzIGFyZSB0cmVhdGVkIGFzIHVuaXF1
ZSBlbnRpdGllcy4gRm9yIHRoZSBmb2xsb3dpbmcgdGVzdCB0d28gZGlmZmVyZW50IGF0dHJpYnV0
ZSB2YWx1ZXMgc2hvdWxkIGJlIHJldHVybmVkLgorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVO
UygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjEnCitQQVNTIHRlc3QuZ2V0QXR0
cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVlIGlzICduZXdhdHRyMicKK1Zlcmlm
eWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBjYXNlIGFu
ZCBoYXZpbmcgc2FtZSBuYW1lc3BhY2VzIGFyZSB0cmVhdGVkIGFzIHNhbWUuIEluIHRoZSBmb2xs
b3dpbmcgdGVzdCB0aGUgbmV3IGF0dHJpYnV0ZSBzaG91bGQgb3ZlcndyaXRlIHRoZSB2YWx1ZSBv
ZiB0aGUgZXhpc3Rpbmcgb25lLgorUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMxJywg
J25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjMnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWlu
c2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHJ1blRlc3QoKQoreworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0
aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMg
Y2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIHRoZSB2YWx1ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBhIGRpZmZlcmVudCBjYXNlIHNob3VsZCBnZXQg
cmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBzcGVjaWZpZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVO
b2RlKCkgbWV0aG9kLlxuVGhlIGlzc3VlIGNhbiBiZSBtYW51YWxseSB2ZXJpZmllZCBpZiBhIGdy
ZWVuIGNvbG9yZWQgYmxvY2sgaXMgZGlzcGxheWVkIGluc3RlYWQgb2YgYSByZWQgb25lLiIpOwor
ICAgIAorICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAg
ICB2YXIgbmV3U3R5bGVBdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOwor
ICAgIG5ld1N0eWxlQXR0ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAg
dGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld1N0eWxlQXR0cik7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIs
ICJ0ZXN0LmdldEF0dHJpYnV0ZSgnU1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5n
ZXRBdHRyaWJ1dGVOb2RlKCdzdHlsZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgn
U1RZTEUnKS52YWx1ZSIpOworICAgIH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRy
aWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRy
ZWF0ZWQgYXMgdW5pcXVlIGVudGl0aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZm
ZXJlbnQgYXR0cmlidXRlIHZhbHVlcyBzaG91bGQgYmUgcmV0dXJuZWQuIik7CisgICAgdmFyIG5l
d0F0dHIxID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJuZXdhdHRyIik7Cisg
ICAgbmV3QXR0cjEucHJlZml4ID0gInByZWZpeDEiOworICAgIG5ld0F0dHIxLnZhbHVlID0gIm5l
d2F0dHIxIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjEpOworICAgIHZhciBu
ZXdBdHRyMiA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKCJuczIiLCAibmV3YXR0ciIpOwor
ICAgIG5ld0F0dHIyLnByZWZpeCA9ICJwcmVmaXgyIjsKKyAgICBuZXdBdHRyMi52YWx1ZSA9ICJu
ZXdhdHRyMiI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIyKTsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRl
Tm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMSciKTsKKyAgICAgICAg
c2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVl
IiwgIiduZXdhdHRyMiciKTsKKyAgICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQgYXR0
cmlidXRlcyB3aXRoIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2UgYW5kIGhhdmluZyBzYW1l
IG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgc2FtZS4gSW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRo
ZSBuZXcgYXR0cmlidXRlIHNob3VsZCBvdmVyd3JpdGUgdGhlIHZhbHVlIG9mIHRoZSBleGlzdGlu
ZyBvbmUuIik7CisgICAgdmFyIG5ld0F0dHIzID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMo
Im5zMSIsICJORVdBVFRSIik7CisgICAgbmV3QXR0cjMucHJlZml4ID0gInByZWZpeDIiOworICAg
IG5ld0F0dHIzLnZhbHVlID0gIm5ld2F0dHIzIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUo
bmV3QXR0cjMpOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3Vs
ZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICIn
bmV3YXR0cjMnIik7CisgICAgCisgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7ICAgIAor
ICAgICAgICB0ZXN0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRlc3QgZm9y
IEJ1Z3ppbGxhIGJ1Zzo8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTAzNDEiPiA5MDM0MTo8L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9k
ZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXYgaWQ9InRlc3Qi
IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQiPiZuYnNwOzwvZGl2PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208622</attachid>
            <date>2013-08-13 05:52:15 -0700</date>
            <delta_ts>2013-08-13 07:33:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130813183127.patch</filename>
            <type>text/plain</type>
            <size>13464</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTEzICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0czog
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRt
bC54aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2Rl
LWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgUGFz
c2luZyB0aGUgc2Vjb25kIHBhcmFtIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSB0bworICAg
ICAgICBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBX
ZSBhcmUgbm93IGxldHRpbmcKKyAgICAgICAgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0
cmlidXRlTm9kZSgpIGhhbmRsZSB0aGUgY2FzZS1zZW5zaXRpdmUvaW5zZW5zaXRpdmUKKyAgICAg
ICAgY2hlY2tpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnREYXRhOjpmaW5kQXR0cmli
dXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlIGJvb2xlYW4gcGFyYW0g
dG8gdGhlIG1ldGhvZC4gSXQgcGFzc2VzCisgICAgICAgIHRoaXMgb24gdG8gUXVhbGlmaWVkTmFt
ZTo6bWF0Y2hlc0lnbm9yaW5nQ2FzZUZvckxvY2FsTmFtZSgpIG1ldGhvZC4KKworICAgICAgICAq
IGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjpt
YXRjaGVzSWdub3JpbmdDYXNlRm9yTG9jYWxOYW1lKToKKyAgICAgICAgTmV3IG1ldGhvZCBhZGRl
ZCBmb3IgZG9pbmcgYSBjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gYmFzZWQgb24gdGhlCisg
ICAgICAgIHNob3VsZElnbm9yZUNhc2UgcGFyYW0gcGFzc2VkIHRvIHRoaXMgbWV0aG9kLgorCiAy
MDEzLTA4LTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTUyNTYzLgpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUzOTk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQxLDcgKzE3NDEsNyBAQCBQYXNzUmVmUHRyPEF0dHI+
IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7
CiAgICAgVW5pcXVlRWxlbWVudERhdGEmIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVu
dERhdGEoKTsKIAotICAgIHVuc2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEuZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShhdHRyTm9kZSk7CisgICAgdW5zaWduZWQgaW5k
ZXggPSBlbGVtZW50RGF0YS5maW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2Rl
KGF0dHJOb2RlLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpKTsKICAgICBpZiAoaW5k
ZXggIT0gRWxlbWVudERhdGE6OmF0dHJpYnV0ZU5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRB
dHRyTm9kZSkKICAgICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUo
b2xkQXR0ck5vZGUuZ2V0KCksIGVsZW1lbnREYXRhLmF0dHJpYnV0ZUF0KGluZGV4KS52YWx1ZSgp
KTsKQEAgLTMyNDEsMTMgKzMyNDEsMTMgQEAgdW5zaWduZWQgRWxlbWVudERhdGE6OmZpbmRBdHRy
aWJ1dGVJbmRleAogICAgIHJldHVybiBhdHRyaWJ1dGVOb3RGb3VuZDsKIH0KIAotdW5zaWduZWQg
RWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29u
c3QgQXR0ciogYXR0cikgY29uc3QKK3Vuc2lnbmVkIEVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIqIGF0dHIsIGJvb2wgc2hvdWxk
SWdub3JlQXR0cmlidXRlQ2FzZSkgY29uc3QKIHsKICAgICBBU1NFUlQoYXR0cik7CiAgICAgY29u
c3QgQXR0cmlidXRlKiBhdHRyaWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpID09IGF0dHItPnF1YWxpZmll
ZE5hbWUoKSkKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpLm1hdGNoZXNJZ25vcmlu
Z0Nhc2VGb3JMb2NhbE5hbWUoYXR0ci0+cXVhbGlmaWVkTmFtZSgpLCBzaG91bGRJZ25vcmVBdHRy
aWJ1dGVDYXNlKSkKICAgICAgICAgICAgIHJldHVybiBpOwogICAgIH0KICAgICByZXR1cm4gYXR0
cmlidXRlTm90Rm91bmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDE1Mzk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcg
KzgxLDcgQEAgcHVibGljOgogICAgIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZUJ5TmFt
ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgdW5zaWduZWQgZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICAgICB1bnNpZ25lZCBm
aW5kQXR0cmlidXRlSW5kZXhCeU5hbWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBib29sIHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0OwotICAgIHVuc2lnbmVkIGZpbmRBdHRyaWJ1
dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0ciopIGNvbnN0OworICAgIHVu
c2lnbmVkIGZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0
ciosIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSA9IGZhbHNlKSBjb25zdDsKIAogICAg
IGJvb2wgaGFzSUQoKSBjb25zdCB7IHJldHVybiAhbV9pZEZvclN0eWxlUmVzb2x1dGlvbi5pc051
bGwoKTsgfQogICAgIGJvb2wgaGFzQ2xhc3MoKSBjb25zdCB7IHJldHVybiAhbV9jbGFzc05hbWVz
LmlzTnVsbCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHJldmlzaW9u
IDE1Mzk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTgxLDYgKzgxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2ltcGwgPT0gb3RoZXIubV9p
bXBsIHx8IChsb2NhbE5hbWUoKSA9PSBvdGhlci5sb2NhbE5hbWUoKSAmJiBuYW1lc3BhY2VVUkko
KSA9PSBvdGhlci5uYW1lc3BhY2VVUkkoKSk7IH0KIAorICAgIGJvb2wgbWF0Y2hlc0lnbm9yaW5n
Q2FzZUZvckxvY2FsTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlciwgYm9vbCBzaG91bGRJ
Z25vcmVDYXNlID0gZmFsc2UpIGNvbnN0IHsgcmV0dXJuIG1faW1wbCA9PSBvdGhlci5tX2ltcGwg
fHwgKGVxdWFsUG9zc2libHlJZ25vcmluZ0Nhc2UobG9jYWxOYW1lKCksIG90aGVyLmxvY2FsTmFt
ZSgpLCBzaG91bGRJZ25vcmVDYXNlKSAmJiBuYW1lc3BhY2VVUkkoKSA9PSBvdGhlci5uYW1lc3Bh
Y2VVUkkoKSk7IH0KKwogICAgIGJvb2wgaGFzUHJlZml4KCkgY29uc3QgeyByZXR1cm4gbV9pbXBs
LT5tX3ByZWZpeCAhPSBudWxsQXRvbTsgfQogICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IEF0b21p
Y1N0cmluZyYgcHJlZml4KSB7ICp0aGlzID0gUXVhbGlmaWVkTmFtZShwcmVmaXgsIGxvY2FsTmFt
ZSgpLCBuYW1lc3BhY2VVUkkoKSk7IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzOTk5KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MTMtMDgtMTMgIEFycGl0YSBCYWh1Z3VuYSAgPGEuYmFoQHNhbXN1bmcuY29tPgorCisgICAgICAg
IGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1h
bGl6ZSBjYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MDM0MQorCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNh
c2UtaW5zZW5zaXRpdml0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50
L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgIFRlc3RjYXNlIGZvciB2ZXJpZnlpbmcgdGhhdCBzZXRBdHRyaWJ1dGVOb2RlKCkg
Y2hlY2tzIGFnYWluc3QgZXhpc3RpbmcKKyAgICAgICAgYXR0cmlidXRlcyBpbiBhIGNhc2UgaW5z
ZW5zaXRpdmUgbWFubmVyLiBJdCB1cGRhdGVzIHRoZSB2YWx1ZSBvZiBhbgorICAgICAgICBleGlz
dGluZyBhdHRyaWJ1dGUgKGluIGxvd2VyIGNhc2UpIHdpdGggdGhhdCBvZiB0aGUgb25lIHNldCB1
c2luZworICAgICAgICBzZXRBdHRyaWJ1dGVOb2RlKCkgKGluIHVwcGVyIGNhc2UpLgorICAgICAg
ICBUaGUgdGVzdCBhbHNvIHZlcmlmaWVzIHRoZSBiZWhhdmlvciBvZiBhdHRyaWJ1dGVzIHdoZW4g
c3BlY2lmaWVkIHdpdGgKKyAgICAgICAgbmFtZXNwYWNlIGFuZCBwcmVmaXguCisKKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXho
dG1sLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRB
dHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54aHRtbDogQWRkZWQuCisgICAg
ICAgIFRlc3RjYXNlIGFkZGVkIGZvciB2ZXJpZnlpbmcgdGhhdCB0aGUgZGVmYXVsdCBiZWhhdmlv
ciBmb3IgeGh0bWwgZG9jdW1lbnRzCisgICAgICAgIGRvZXMgbm90IGNoYW5nZSB3aXRoIHRoaXMg
Zml4LgorICAgICAgICBGb3IgeGh0bWwgZG9jdW1lbnRzLCBhdHRyaWJ1dGVzIGNhbiBiZSBhZGRl
ZCBjYXNlIHNlbnNpdGl2ZWx5LiBUaGlzIHRlc3RjYXNlCisgICAgICAgIHZlcmlmaWVzIHRoYXQg
dHdvIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhcmUK
KyAgICAgICAgYWxsb3dlZCBmb3IgYW4geGh0bWwgZG9jdW1lbnQuCisKIDIwMTMtMDgtMTMgIEdh
Ym9yIEFicmFoYW0gIDxhYnJobUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJl
dmlld2VkIGdhcmRlbmluZy4gUmViYXNlIHRlc3RzIGFmdGVyIHIxNTM5MDEgYW5kIHIxNTM5MTUu
IFNraXAgZmFpbGluZyB0ZXN0cy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQv
c2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZm9yIEJ1Z3ppbGxh
IGJ1ZzogOTAzNDE6IGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHBy
b3Blcmx5IG5vcm1hbGl6ZSBjYXNlLgorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0
dHJpYnV0ZU5vZGUoKSBBUEkgY2hlY2tzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGNhc2UtaW5z
ZW5zaXRpdmVseS4gVGh1cyB0aGUgdmFsdWUgb2YgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGgg
dGhlIHNhbWUgbmFtZSBidXQgaW4gYSBkaWZmZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2Vk
IGJ5IHRoZSBuZXcgdmFsdWUgc3BlY2lmaWVkIHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1l
dGhvZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRlc3QuZ2V0QXR0cmli
dXRlKCdzdHlsZScpIGlzIHRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpCitQQVNTIHRlc3QuZ2V0
QXR0cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSBpcyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NU
WUxFJykudmFsdWUKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1l
IGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMu
IEZvciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNo
b3VsZCBiZSByZXR1cm5lZC4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICdu
ZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0dHIxJworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVO
UygnbnMyJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjInCitWZXJpZnlpbmcgdGhhdCBh
dHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNh
bWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3Qg
dGhlIG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4aXN0
aW5nIG9uZS4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJyku
dmFsdWUgaXMgJ25ld2F0dHIzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0
cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHkteGh0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0
eS14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorVGVzdCBm
b3IgQnVnemlsbGEgYnVnOiA5MDM0MTogY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUg
ZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBhbGxvd3MgZm9yIGNyZWF0aW9uIG9mIGF0dHJp
YnV0ZXMgY2FzZS1zZW5zaXRpdmVseSBmb3IgWEhUTUwgZG9jdW1lbnRzLiBUaHVzIHR3byBkaWZm
ZXJlbnQgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGRpZmZlcmVudCBjYXNl
IGNhbiBleGlzdCBmb3IgWEhUTUwgZG9jdW1lbnRzLgorCitzdHlsZSBhdHRyaWJ1dGUgdmFsdWUg
PSBiYWNrZ3JvdW5kLWNvbG9yOiByZWQgYW5kIFNUWUxFIGF0dHJpYnV0ZSB2YWx1ZSA9IGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLnhodG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWlu
c2Vuc2l0aXZpdHkteGh0bWwueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLnho
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRN
TCAxLjAgU3RyaWN0Ly9FTiIgIkRURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+Cis8
aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsK
KworICAgICAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Cisg
ICAgICAgIHZhciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxF
Iik7CisgICAgICAgIG5ld1N0eWxlQXR0ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
biI7CisgICAgICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdTdHlsZUF0dHIpOworCisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAic3R5bGUg
YXR0cmlidXRlIHZhbHVlID0gIit0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUr
IiBhbmQgU1RZTEUgYXR0cmlidXRlIHZhbHVlID0gIit0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NU
WUxFJykudmFsdWU7CisKKyAgICAgICAgdGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAg
IH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRp
dj5UZXN0IGZvciBCdWd6aWxsYSBidWc6PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkwMzQxIj4gOTAzNDE6PC9hPiAgY3JlYXRlQXR0cmlidXRlL3NldEF0
dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuPC9kaXY+Cis8ZGl2
PlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGFsbG93
cyBmb3IgY3JlYXRpb24gb2YgYXR0cmlidXRlcyBjYXNlLXNlbnNpdGl2ZWx5IGZvciBYSFRNTCBk
b2N1bWVudHMuIFRodXMgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFt
ZSBidXQgaW4gZGlmZmVyZW50IGNhc2UgY2FuIGV4aXN0IGZvciBYSFRNTCBkb2N1bWVudHMuPC9k
aXY+Cis8ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj4mbmJzcDs8
L2Rpdj4KKzxici8+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2Ut
aW5zZW5zaXRpdml0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgp
Cit7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRy
aWJ1dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vu
c2l0aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRo
ZSBzYW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBi
eSB0aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRo
b2QuIik7CisgICAgCisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dCIpOworICAgIHZhciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNU
WUxFIik7CisgICAgbmV3U3R5bGVBdHRyLnZhbHVlID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVu
IjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3U3R5bGVBdHRyKTsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlKCdz
dHlsZScpIiwgInRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpIik7CisgICAgICAgIHNob3VsZEJl
KCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUiLCAidGVzdC5nZXRBdHRyaWJ1
dGVOb2RlKCdTVFlMRScpLnZhbHVlIik7CisgICAgfQorCisgICAgZGVidWcoIlZlcmlmeWluZyB0
aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNl
cyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMuIEZvciB0aGUgZm9sbG93aW5nIHRlc3Qg
dHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNob3VsZCBiZSByZXR1cm5lZC4iKTsKKyAg
ICB2YXIgbmV3QXR0cjEgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygibnMxIiwgIm5ld2F0
dHIiKTsKKyAgICBuZXdBdHRyMS5wcmVmaXggPSAicHJlZml4MSI7CisgICAgbmV3QXR0cjEudmFs
dWUgPSAibmV3YXR0cjEiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMSk7Cisg
ICAgdmFyIG5ld0F0dHIyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMiIsICJuZXdh
dHRyIik7CisgICAgbmV3QXR0cjIucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIyLnZh
bHVlID0gIm5ld2F0dHIyIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjIpOwor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRB
dHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0dHIxJyIpOwor
ICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMicsICduZXdhdHRy
JykudmFsdWUiLCAiJ25ld2F0dHIyJyIpOworICAgIH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcg
dGhhdCBhdHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2
aW5nIHNhbWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5n
IHRlc3QgdGhlIG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhl
IGV4aXN0aW5nIG9uZS4iKTsKKyAgICB2YXIgbmV3QXR0cjMgPSBkb2N1bWVudC5jcmVhdGVBdHRy
aWJ1dGVOUygibnMxIiwgIk5FV0FUVFIiKTsKKyAgICBuZXdBdHRyMy5wcmVmaXggPSAicHJlZml4
MiI7CisgICAgbmV3QXR0cjMudmFsdWUgPSAibmV3YXR0cjMiOworICAgIHRlc3Quc2V0QXR0cmli
dXRlTm9kZShuZXdBdHRyMyk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAg
ICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZh
bHVlIiwgIiduZXdhdHRyMyciKTsKKyAgICAKKyAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQo
KTsgICAgCisgICAgICAgIHRlc3Quc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAg
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+
VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRy
aWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2PgorPGRpdiBp
ZD0idGVzdCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9kaXY+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208627</attachid>
            <date>2013-08-13 07:33:48 -0700</date>
            <delta_ts>2013-08-14 02:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130813201300.patch</filename>
            <type>text/plain</type>
            <size>13460</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTEzICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2Rl
KCkgdmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQor
ICAgICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBz
cGVjaWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBv
bmUuIEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQg
bW9kaWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0czog
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRt
bC54aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2Rl
LWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgUGFz
c2luZyB0aGUgc2Vjb25kIHBhcmFtIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSB0bworICAg
ICAgICBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBX
ZSBhcmUgbm93IGxldHRpbmcKKyAgICAgICAgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0
cmlidXRlTm9kZSgpIGhhbmRsZSB0aGUgY2FzZS1zZW5zaXRpdmUvaW5zZW5zaXRpdmUKKyAgICAg
ICAgY2hlY2tpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnREYXRhOjpmaW5kQXR0cmli
dXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlIGJvb2xlYW4gcGFyYW0g
dG8gdGhlIG1ldGhvZC4gSXQgcGFzc2VzCisgICAgICAgIHRoaXMgb24gdG8gUXVhbGlmaWVkTmFt
ZTo6bWF0Y2hlc0lnbm9yaW5nQ2FzZUZvckxvY2FsTmFtZSgpIG1ldGhvZC4KKworICAgICAgICAq
IGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjpt
YXRjaGVzSWdub3JpbmdDYXNlRm9yTG9jYWxOYW1lKToKKyAgICAgICAgTmV3IG1ldGhvZCBhZGRl
ZCBmb3IgZG9pbmcgYSBjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gYmFzZWQgb24gdGhlCisg
ICAgICAgIHNob3VsZElnbm9yZUNhc2UgcGFyYW0gcGFzc2VkIHRvIHRoaXMgbWV0aG9kLgorCiAy
MDEzLTA4LTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTUyNTYzLgpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUzOTk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQxLDcgKzE3NDEsNyBAQCBQYXNzUmVmUHRyPEF0dHI+
IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7
CiAgICAgVW5pcXVlRWxlbWVudERhdGEmIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVu
dERhdGEoKTsKIAotICAgIHVuc2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEuZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShhdHRyTm9kZSk7CisgICAgdW5zaWduZWQgaW5k
ZXggPSBlbGVtZW50RGF0YS5maW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2Rl
KGF0dHJOb2RlLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpKTsKICAgICBpZiAoaW5k
ZXggIT0gRWxlbWVudERhdGE6OmF0dHJpYnV0ZU5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRB
dHRyTm9kZSkKICAgICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUo
b2xkQXR0ck5vZGUuZ2V0KCksIGVsZW1lbnREYXRhLmF0dHJpYnV0ZUF0KGluZGV4KS52YWx1ZSgp
KTsKQEAgLTMyNDEsMTMgKzMyNDEsMTMgQEAgdW5zaWduZWQgRWxlbWVudERhdGE6OmZpbmRBdHRy
aWJ1dGVJbmRleAogICAgIHJldHVybiBhdHRyaWJ1dGVOb3RGb3VuZDsKIH0KIAotdW5zaWduZWQg
RWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29u
c3QgQXR0ciogYXR0cikgY29uc3QKK3Vuc2lnbmVkIEVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIqIGF0dHIsIGJvb2wgc2hvdWxk
SWdub3JlQXR0cmlidXRlQ2FzZSkgY29uc3QKIHsKICAgICBBU1NFUlQoYXR0cik7CiAgICAgY29u
c3QgQXR0cmlidXRlKiBhdHRyaWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpID09IGF0dHItPnF1YWxpZmll
ZE5hbWUoKSkKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpLm1hdGNoZXNJZ25vcmlu
Z0Nhc2VGb3JMb2NhbE5hbWUoYXR0ci0+cXVhbGlmaWVkTmFtZSgpLCBzaG91bGRJZ25vcmVBdHRy
aWJ1dGVDYXNlKSkKICAgICAgICAgICAgIHJldHVybiBpOwogICAgIH0KICAgICByZXR1cm4gYXR0
cmlidXRlTm90Rm91bmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDE1Mzk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcg
KzgxLDcgQEAgcHVibGljOgogICAgIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZUJ5TmFt
ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgdW5zaWduZWQgZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICAgICB1bnNpZ25lZCBm
aW5kQXR0cmlidXRlSW5kZXhCeU5hbWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBib29sIHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0OwotICAgIHVuc2lnbmVkIGZpbmRBdHRyaWJ1
dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0ciopIGNvbnN0OworICAgIHVu
c2lnbmVkIGZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0
ciosIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSA9IGZhbHNlKSBjb25zdDsKIAogICAg
IGJvb2wgaGFzSUQoKSBjb25zdCB7IHJldHVybiAhbV9pZEZvclN0eWxlUmVzb2x1dGlvbi5pc051
bGwoKTsgfQogICAgIGJvb2wgaGFzQ2xhc3MoKSBjb25zdCB7IHJldHVybiAhbV9jbGFzc05hbWVz
LmlzTnVsbCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHJldmlzaW9u
IDE1Mzk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTgxLDYgKzgxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2ltcGwgPT0gb3RoZXIubV9p
bXBsIHx8IChsb2NhbE5hbWUoKSA9PSBvdGhlci5sb2NhbE5hbWUoKSAmJiBuYW1lc3BhY2VVUkko
KSA9PSBvdGhlci5uYW1lc3BhY2VVUkkoKSk7IH0KIAorICAgIGJvb2wgbWF0Y2hlc0lnbm9yaW5n
Q2FzZUZvckxvY2FsTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlciwgYm9vbCBzaG91bGRJ
Z25vcmVDYXNlID0gZmFsc2UpIGNvbnN0IHsgcmV0dXJuIG1faW1wbCA9PSBvdGhlci5tX2ltcGwg
fHwgKGVxdWFsUG9zc2libHlJZ25vcmluZ0Nhc2UobG9jYWxOYW1lKCksIG90aGVyLmxvY2FsTmFt
ZSgpLCBzaG91bGRJZ25vcmVDYXNlKSAmJiBuYW1lc3BhY2VVUkkoKSA9PSBvdGhlci5uYW1lc3Bh
Y2VVUkkoKSk7IH0KKwogICAgIGJvb2wgaGFzUHJlZml4KCkgY29uc3QgeyByZXR1cm4gbV9pbXBs
LT5tX3ByZWZpeCAhPSBudWxsQXRvbTsgfQogICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IEF0b21p
Y1N0cmluZyYgcHJlZml4KSB7ICp0aGlzID0gUXVhbGlmaWVkTmFtZShwcmVmaXgsIGxvY2FsTmFt
ZSgpLCBuYW1lc3BhY2VVUkkoKSk7IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTUzOTk5KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MTMtMDgtMTMgIEFycGl0YSBCYWh1Z3VuYSAgPGEuYmFoQHNhbXN1bmcuY29tPgorCisgICAgICAg
IGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5IG5vcm1h
bGl6ZSBjYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MDM0MQorCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNh
c2UtaW5zZW5zaXRpdml0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50
L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgIFRlc3RjYXNlIGZvciB2ZXJpZnlpbmcgdGhhdCBzZXRBdHRyaWJ1dGVOb2RlKCkg
Y2hlY2tzIGFnYWluc3QgZXhpc3RpbmcKKyAgICAgICAgYXR0cmlidXRlcyBpbiBhIGNhc2UgaW5z
ZW5zaXRpdmUgbWFubmVyLiBJdCB1cGRhdGVzIHRoZSB2YWx1ZSBvZiBhbgorICAgICAgICBleGlz
dGluZyBhdHRyaWJ1dGUgKGluIGxvd2VyIGNhc2UpIHdpdGggdGhhdCBvZiB0aGUgb25lIHNldCB1
c2luZworICAgICAgICBzZXRBdHRyaWJ1dGVOb2RlKCkgKGluIHVwcGVyIGNhc2UpLgorICAgICAg
ICBUaGUgdGVzdCBhbHNvIHZlcmlmaWVzIHRoZSBiZWhhdmlvciBvZiBhdHRyaWJ1dGVzIHdoZW4g
c3BlY2lmaWVkIHdpdGgKKyAgICAgICAgbmFtZXNwYWNlIGFuZCBwcmVmaXguCisKKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXho
dG1sLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRB
dHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54aHRtbDogQWRkZWQuCisgICAg
ICAgIFRlc3RjYXNlIGFkZGVkIGZvciB2ZXJpZnlpbmcgdGhhdCB0aGUgZGVmYXVsdCBiZWhhdmlv
ciBmb3IgeGh0bWwgZG9jdW1lbnRzCisgICAgICAgIGRvZXMgbm90IGNoYW5nZSB3aXRoIHRoaXMg
Zml4LgorICAgICAgICBGb3IgeGh0bWwgZG9jdW1lbnRzLCBhdHRyaWJ1dGVzIGNhbiBiZSBhZGRl
ZCBjYXNlIHNlbnNpdGl2ZWx5LiBUaGlzIHRlc3RjYXNlCisgICAgICAgIHZlcmlmaWVzIHRoYXQg
dHdvIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhcmUK
KyAgICAgICAgYWxsb3dlZCBmb3IgYW4geGh0bWwgZG9jdW1lbnQuCisKIDIwMTMtMDgtMTMgIEdh
Ym9yIEFicmFoYW0gIDxhYnJobUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJl
dmlld2VkIGdhcmRlbmluZy4gUmViYXNlIHRlc3RzIGFmdGVyIHIxNTM5MDEgYW5kIHIxNTM5MTUu
IFNraXAgZmFpbGluZyB0ZXN0cy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQv
c2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZm9yIEJ1Z3ppbGxh
IGJ1ZzogOTAzNDE6IGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHBy
b3Blcmx5IG5vcm1hbGl6ZSBjYXNlLgorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0
dHJpYnV0ZU5vZGUoKSBBUEkgY2hlY2tzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGNhc2UtaW5z
ZW5zaXRpdmVseS4gVGh1cyB0aGUgdmFsdWUgb2YgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGgg
dGhlIHNhbWUgbmFtZSBidXQgaW4gYSBkaWZmZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2Vk
IGJ5IHRoZSBuZXcgdmFsdWUgc3BlY2lmaWVkIHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1l
dGhvZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRlc3QuZ2V0QXR0cmli
dXRlKCdzdHlsZScpIGlzIHRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpCitQQVNTIHRlc3QuZ2V0
QXR0cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSBpcyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NU
WUxFJykudmFsdWUKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1l
IGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyB1bmlxdWUgZW50aXRpZXMu
IEZvciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNo
b3VsZCBiZSByZXR1cm5lZC4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICdu
ZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0dHIxJworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZU5vZGVO
UygnbnMyJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjInCitWZXJpZnlpbmcgdGhhdCBh
dHRyaWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNh
bWUgbmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3Qg
dGhlIG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4aXN0
aW5nIG9uZS4KK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJyku
dmFsdWUgaXMgJ25ld2F0dHIzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0
cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNl
LWluc2Vuc2l0aXZpdHkteGh0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0
eS14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorVGVzdCBm
b3IgQnVnemlsbGEgYnVnOiA5MDM0MTogY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUg
ZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBhbGxvd3MgZm9yIGNyZWF0aW9uIG9mIGF0dHJp
YnV0ZXMgY2FzZS1zZW5zaXRpdmVseSBmb3IgWEhUTUwgZG9jdW1lbnRzLiBUaHVzIHR3byBkaWZm
ZXJlbnQgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGRpZmZlcmVudCBjYXNl
IGNhbiBleGlzdCBmb3IgWEhUTUwgZG9jdW1lbnRzLgorCitzdHlsZSBhdHRyaWJ1dGUgdmFsdWUg
PSBiYWNrZ3JvdW5kLWNvbG9yOiByZWQgYW5kIFNUWUxFIGF0dHJpYnV0ZSB2YWx1ZSA9IGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLnhodG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWlu
c2Vuc2l0aXZpdHkteGh0bWwueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLnho
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRN
TCAxLjAgU3RyaWN0Ly9FTiIgIkRURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+Cis8
aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICAg
ICAgdmFyIG5ld1N0eWxlQXR0ciA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiU1RZTEUiKTsK
KyAgICAgICAgbmV3U3R5bGVBdHRyLnZhbHVlID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVuIjsK
KyAgICAgICAgdGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld1N0eWxlQXR0cik7CisKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICJzdHlsZSBhdHRy
aWJ1dGUgdmFsdWUgPSAiK3Rlc3QuZ2V0QXR0cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSsiIGFu
ZCBTVFlMRSBhdHRyaWJ1dGUgdmFsdWUgPSAiK3Rlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUn
KS52YWx1ZTsKKworICAgICAgICB0ZXN0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgfQor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRl
c3QgZm9yIEJ1Z3ppbGxhIGJ1Zzo8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTAzNDEiPiA5MDM0MTo8L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmli
dXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXY+VGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBBUEkgYWxsb3dzIGZv
ciBjcmVhdGlvbiBvZiBhdHRyaWJ1dGVzIGNhc2Utc2Vuc2l0aXZlbHkgZm9yIFhIVE1MIGRvY3Vt
ZW50cy4gVGh1cyB0d28gZGlmZmVyZW50IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1
dCBpbiBkaWZmZXJlbnQgY2FzZSBjYW4gZXhpc3QgZm9yIFhIVE1MIGRvY3VtZW50cy48L2Rpdj4K
KzxkaXYgaWQ9InRlc3QiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZWQiPiZuYnNwOzwvZGl2
PgorPGJyLz4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNl
bnNpdGl2aXR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVu
dC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5z
ZW5zaXRpdml0eS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sK
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldEF0dHJpYnV0
ZU5vZGUoKSBBUEkgY2hlY2tzIGZvciBleGlzdGluZyBhdHRyaWJ1dGVzIGNhc2UtaW5zZW5zaXRp
dmVseS4gVGh1cyB0aGUgdmFsdWUgb2YgYW4gZXhpc3RpbmcgYXR0cmlidXRlIHdpdGggdGhlIHNh
bWUgbmFtZSBidXQgaW4gYSBkaWZmZXJlbnQgY2FzZSBzaG91bGQgZ2V0IHJlcGxhY2VkIGJ5IHRo
ZSBuZXcgdmFsdWUgc3BlY2lmaWVkIHZpYSB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIG1ldGhvZC4i
KTsKKyAgICAKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7
CisgICAgdmFyIG5ld1N0eWxlQXR0ciA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgiU1RZTEUi
KTsKKyAgICBuZXdTdHlsZUF0dHIudmFsdWUgPSAiYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iOwor
ICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdTdHlsZUF0dHIpOworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGUoJ3N0eWxl
JykiLCAidGVzdC5nZXRBdHRyaWJ1dGUoJ1NUWUxFJykiKTsKKyAgICAgICAgc2hvdWxkQmUoInRl
c3QuZ2V0QXR0cmlidXRlTm9kZSgnc3R5bGUnKS52YWx1ZSIsICJ0ZXN0LmdldEF0dHJpYnV0ZU5v
ZGUoJ1NUWUxFJykudmFsdWUiKTsKKyAgICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQg
YXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBuYW1lc3BhY2VzIGFy
ZSB0cmVhdGVkIGFzIHVuaXF1ZSBlbnRpdGllcy4gRm9yIHRoZSBmb2xsb3dpbmcgdGVzdCB0d28g
ZGlmZmVyZW50IGF0dHJpYnV0ZSB2YWx1ZXMgc2hvdWxkIGJlIHJldHVybmVkLiIpOworICAgIHZh
ciBuZXdBdHRyMSA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKCJuczEiLCAibmV3YXR0ciIp
OworICAgIG5ld0F0dHIxLnByZWZpeCA9ICJwcmVmaXgxIjsKKyAgICBuZXdBdHRyMS52YWx1ZSA9
ICJuZXdhdHRyMSI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIxKTsKKyAgICB2
YXIgbmV3QXR0cjIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygibnMyIiwgIm5ld2F0dHIi
KTsKKyAgICBuZXdBdHRyMi5wcmVmaXggPSAicHJlZml4MiI7CisgICAgbmV3QXR0cjIudmFsdWUg
PSAibmV3YXR0cjIiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMik7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJp
YnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjEnIik7CisgICAg
ICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMyJywgJ25ld2F0dHInKS52
YWx1ZSIsICInbmV3YXR0cjInIik7CisgICAgfQorCisgICAgZGVidWcoIlZlcmlmeWluZyB0aGF0
IGF0dHJpYnV0ZXMgd2l0aCBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBjYXNlIGFuZCBoYXZpbmcg
c2FtZSBuYW1lc3BhY2VzIGFyZSB0cmVhdGVkIGFzIHNhbWUuIEluIHRoZSBmb2xsb3dpbmcgdGVz
dCB0aGUgbmV3IGF0dHJpYnV0ZSBzaG91bGQgb3ZlcndyaXRlIHRoZSB2YWx1ZSBvZiB0aGUgZXhp
c3Rpbmcgb25lLiIpOworICAgIHZhciBuZXdBdHRyMyA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0
ZU5TKCJuczEiLCAiTkVXQVRUUiIpOworICAgIG5ld0F0dHIzLnByZWZpeCA9ICJwcmVmaXgyIjsK
KyAgICBuZXdBdHRyMy52YWx1ZSA9ICJuZXdhdHRyMyI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVO
b2RlKG5ld0F0dHIzKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBz
aG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUi
LCAiJ25ld2F0dHIzJyIpOworICAgIAorICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOyAg
ICAKKyAgICAgICAgdGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UZXN0
IGZvciBCdWd6aWxsYSBidWc6PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkwMzQxIj4gOTAzNDE6PC9hPiAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0
ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuPC9kaXY+Cis8ZGl2IGlkPSJ0
ZXN0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj4mbmJzcDs8L2Rpdj4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208706</attachid>
            <date>2013-08-14 02:03:17 -0700</date>
            <delta_ts>2013-08-14 04:14:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90341-20130814144229.patch</filename>
            <type>text/plain</type>
            <size>13455</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDA0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTE0ICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2RlKCkg
dmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQorICAg
ICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBzcGVj
aWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBvbmUu
IEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQgbW9k
aWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0czogZmFz
dC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNh
c2UtaW5zZW5zaXRpdml0eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgUGFzc2lu
ZyB0aGUgc2Vjb25kIHBhcmFtIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSB0bworICAgICAg
ICBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBXZSBh
cmUgbm93IGxldHRpbmcKKyAgICAgICAgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmli
dXRlTm9kZSgpIGhhbmRsZSB0aGUgY2FzZS1zZW5zaXRpdmUvaW5zZW5zaXRpdmUKKyAgICAgICAg
Y2hlY2tpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlIGJvb2xlYW4gcGFyYW0gdG8g
dGhlIG1ldGhvZC4gSXQgcGFzc2VzCisgICAgICAgIHRoaXMgb24gdG8gUXVhbGlmaWVkTmFtZTo6
bWF0Y2hlc0lnbm9yaW5nQ2FzZUZvckxvY2FsTmFtZSgpIG1ldGhvZC4KKworICAgICAgICAqIGRv
bS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjptYXRj
aGVzSWdub3JpbmdDYXNlRm9yTG9jYWxOYW1lKToKKyAgICAgICAgTmV3IG1ldGhvZCBhZGRlZCBm
b3IgZG9pbmcgYSBjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gYmFzZWQgb24gdGhlCisgICAg
ICAgIHNob3VsZElnbm9yZUNhc2UgcGFyYW0gcGFzc2VkIHRvIHRoaXMgbWV0aG9kLgorCiAyMDEz
LTA4LTE0ICBKaW53b28gSmVvbmcgIDxqdzAwLmplb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IEZFQ29tcG9uZW50VHJhbnNmZXIgY291bGQgYmUgZmFzdGVyLgpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAkocmV2aXNpb24gMTU0MDQyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQxLDcgKzE3NDEsNyBAQCBQYXNzUmVmUHRyPEF0dHI+
IEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vCiAgICAgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7
CiAgICAgVW5pcXVlRWxlbWVudERhdGEmIGVsZW1lbnREYXRhID0gZW5zdXJlVW5pcXVlRWxlbWVu
dERhdGEoKTsKIAotICAgIHVuc2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEuZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShhdHRyTm9kZSk7CisgICAgdW5zaWduZWQgaW5k
ZXggPSBlbGVtZW50RGF0YS5maW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2Rl
KGF0dHJOb2RlLCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpKTsKICAgICBpZiAoaW5k
ZXggIT0gRWxlbWVudERhdGE6OmF0dHJpYnV0ZU5vdEZvdW5kKSB7CiAgICAgICAgIGlmIChvbGRB
dHRyTm9kZSkKICAgICAgICAgICAgIGRldGFjaEF0dHJOb2RlRnJvbUVsZW1lbnRXaXRoVmFsdWUo
b2xkQXR0ck5vZGUuZ2V0KCksIGVsZW1lbnREYXRhLmF0dHJpYnV0ZUF0KGluZGV4KS52YWx1ZSgp
KTsKQEAgLTMyNDEsMTMgKzMyNDEsMTMgQEAgdW5zaWduZWQgRWxlbWVudERhdGE6OmZpbmRBdHRy
aWJ1dGVJbmRleAogICAgIHJldHVybiBhdHRyaWJ1dGVOb3RGb3VuZDsKIH0KIAotdW5zaWduZWQg
RWxlbWVudERhdGE6OmZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29u
c3QgQXR0ciogYXR0cikgY29uc3QKK3Vuc2lnbmVkIEVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIqIGF0dHIsIGJvb2wgc2hvdWxk
SWdub3JlQXR0cmlidXRlQ2FzZSkgY29uc3QKIHsKICAgICBBU1NFUlQoYXR0cik7CiAgICAgY29u
c3QgQXR0cmlidXRlKiBhdHRyaWJ1dGVzID0gYXR0cmlidXRlQmFzZSgpOwogICAgIHVuc2lnbmVk
IGNvdW50ID0gbGVuZ3RoKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpID09IGF0dHItPnF1YWxpZmll
ZE5hbWUoKSkKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXNbaV0ubmFtZSgpLm1hdGNoZXNJZ25vcmlu
Z0Nhc2VGb3JMb2NhbE5hbWUoYXR0ci0+cXVhbGlmaWVkTmFtZSgpLCBzaG91bGRJZ25vcmVBdHRy
aWJ1dGVDYXNlKSkKICAgICAgICAgICAgIHJldHVybiBpOwogICAgIH0KICAgICByZXR1cm4gYXR0
cmlidXRlTm90Rm91bmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDE1NDA0MikK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcg
KzgxLDcgQEAgcHVibGljOgogICAgIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZUJ5TmFt
ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgdW5zaWduZWQgZmluZEF0dHJpYnV0
ZUluZGV4QnlOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICAgICB1bnNpZ25lZCBm
aW5kQXR0cmlidXRlSW5kZXhCeU5hbWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBib29sIHNo
b3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0OwotICAgIHVuc2lnbmVkIGZpbmRBdHRyaWJ1
dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0ciopIGNvbnN0OworICAgIHVu
c2lnbmVkIGZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoY29uc3QgQXR0
ciosIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSA9IGZhbHNlKSBjb25zdDsKIAogICAg
IGJvb2wgaGFzSUQoKSBjb25zdCB7IHJldHVybiAhbV9pZEZvclN0eWxlUmVzb2x1dGlvbi5pc051
bGwoKTsgfQogICAgIGJvb2wgaGFzQ2xhc3MoKSBjb25zdCB7IHJldHVybiAhbV9jbGFzc05hbWVz
LmlzTnVsbCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHJldmlzaW9u
IDE1NDA0MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTgxLDYgKzgxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2ltcGwgPT0gb3RoZXIubV9p
bXBsIHx8IChsb2NhbE5hbWUoKSA9PSBvdGhlci5sb2NhbE5hbWUoKSAmJiBuYW1lc3BhY2VVUkko
KSA9PSBvdGhlci5uYW1lc3BhY2VVUkkoKSk7IH0KIAorICAgIGJvb2wgbWF0Y2hlc0lnbm9yaW5n
Q2FzZUZvckxvY2FsTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlciwgYm9vbCBzaG91bGRJ
Z25vcmVDYXNlKSBjb25zdCB7IHJldHVybiBtX2ltcGwgPT0gb3RoZXIubV9pbXBsIHx8IChlcXVh
bFBvc3NpYmx5SWdub3JpbmdDYXNlKGxvY2FsTmFtZSgpLCBvdGhlci5sb2NhbE5hbWUoKSwgc2hv
dWxkSWdub3JlQ2FzZSkgJiYgbmFtZXNwYWNlVVJJKCkgPT0gb3RoZXIubmFtZXNwYWNlVVJJKCkp
OyB9CisKICAgICBib29sIGhhc1ByZWZpeCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC0+bV9wcmVm
aXggIT0gbnVsbEF0b207IH0KICAgICB2b2lkIHNldFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcm
IHByZWZpeCkgeyAqdGhpcyA9IFF1YWxpZmllZE5hbWUocHJlZml4LCBsb2NhbE5hbWUoKSwgbmFt
ZXNwYWNlVVJJKCkpOyB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDA0MikKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA4LTE0
ICBBcnBpdGEgQmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVB
dHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2Fz
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEK
KworICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vu
c2l0aXZpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9zZXRBdHRy
aWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICBUZXN0Y2FzZSBmb3IgdmVyaWZ5aW5nIHRoYXQgc2V0QXR0cmlidXRlTm9kZSgpIGNoZWNrcyBh
Z2FpbnN0IGV4aXN0aW5nCisgICAgICAgIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIGluc2Vuc2l0aXZl
IG1hbm5lci4gSXQgdXBkYXRlcyB0aGUgdmFsdWUgb2YgYW4KKyAgICAgICAgZXhpc3RpbmcgYXR0
cmlidXRlIChpbiBsb3dlciBjYXNlKSB3aXRoIHRoYXQgb2YgdGhlIG9uZSBzZXQgdXNpbmcKKyAg
ICAgICAgc2V0QXR0cmlidXRlTm9kZSgpIChpbiB1cHBlciBjYXNlKS4KKyAgICAgICAgVGhlIHRl
c3QgYWxzbyB2ZXJpZmllcyB0aGUgYmVoYXZpb3Igb2YgYXR0cmlidXRlcyB3aGVuIHNwZWNpZmll
ZCB3aXRoCisgICAgICAgIG5hbWVzcGFjZSBhbmQgcHJlZml4LgorCisgICAgICAgICogZmFzdC9k
b20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRl
Tm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0bWwueGh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0
Y2FzZSBhZGRlZCBmb3IgdmVyaWZ5aW5nIHRoYXQgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIHho
dG1sIGRvY3VtZW50cworICAgICAgICBkb2VzIG5vdCBjaGFuZ2Ugd2l0aCB0aGlzIGZpeC4KKyAg
ICAgICAgRm9yIHhodG1sIGRvY3VtZW50cywgYXR0cmlidXRlcyBjYW4gYmUgYWRkZWQgY2FzZSBz
ZW5zaXRpdmVseS4gVGhpcyB0ZXN0Y2FzZQorICAgICAgICB2ZXJpZmllcyB0aGF0IHR3byBhdHRy
aWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2UgYXJlCisgICAgICAg
IGFsbG93ZWQgZm9yIGFuIHhodG1sIGRvY3VtZW50LgorCiAyMDEzLTA4LTEzICBHeXV5b3VuZyBL
aW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVGhlIGxlbmd0aCBvZiBz
Y2hlbWUgaXMgYXQgbGVhc3QgZml2ZSBjaGFyYWN0ZXJzIGV2ZW4gd2hlbiB0aGUgc2NoZW1lIGhh
cyAnd2ViKycgcHJlZml4CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0
dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNl
bnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACitUZXN0IGZvciBCdWd6aWxsYSBidWc6
IDkwMzQxOiBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJs
eSBub3JtYWxpemUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1
dGVOb2RlKCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0
aXZlbHkuIFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBz
YW1lIG5hbWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0
aGUgbmV3IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2Qu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB0ZXN0LmdldEF0dHJpYnV0ZSgn
c3R5bGUnKSBpcyB0ZXN0LmdldEF0dHJpYnV0ZSgnU1RZTEUnKQorUEFTUyB0ZXN0LmdldEF0dHJp
YnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUgaXMgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScp
LnZhbHVlCitWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQg
ZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgdW5pcXVlIGVudGl0aWVzLiBGb3Ig
dGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJlbnQgYXR0cmlidXRlIHZhbHVlcyBzaG91bGQg
YmUgcmV0dXJuZWQuCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0
cicpLnZhbHVlIGlzICduZXdhdHRyMScKK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25z
MicsICduZXdhdHRyJykudmFsdWUgaXMgJ25ld2F0dHIyJworVmVyaWZ5aW5nIHRoYXQgYXR0cmli
dXRlcyB3aXRoIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5h
bWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgc2FtZS4gSW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBu
ZXcgYXR0cmlidXRlIHNob3VsZCBvdmVyd3JpdGUgdGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBv
bmUuCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVl
IGlzICduZXdhdHRyMycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0
ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNl
bnNpdGl2aXR5LXhodG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0
bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Rlc3QgZm9yIEJ1
Z3ppbGxhIGJ1ZzogOTAzNDE6IGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMg
bm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLgorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhl
IHNldEF0dHJpYnV0ZU5vZGUoKSBBUEkgYWxsb3dzIGZvciBjcmVhdGlvbiBvZiBhdHRyaWJ1dGVz
IGNhc2Utc2Vuc2l0aXZlbHkgZm9yIFhIVE1MIGRvY3VtZW50cy4gVGh1cyB0d28gZGlmZmVyZW50
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBkaWZmZXJlbnQgY2FzZSBjYW4g
ZXhpc3QgZm9yIFhIVE1MIGRvY3VtZW50cy4KKworc3R5bGUgYXR0cmlidXRlIHZhbHVlID0gYmFj
a2dyb3VuZC1jb2xvcjogcmVkIGFuZCBTVFlMRSBhdHRyaWJ1dGUgdmFsdWUgPSBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRy
aWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54aHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNp
dGl2aXR5LXhodG1sLnhodG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
RWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54aHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4w
IFN0cmljdC8vRU4iICJEVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iPgorPGhlYWQ+
Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAg
ICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgICAgIHZh
ciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxFIik7CisgICAg
ICAgIG5ld1N0eWxlQXR0ci52YWx1ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAg
ICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdTdHlsZUF0dHIpOworCisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAic3R5bGUgYXR0cmlidXRl
IHZhbHVlID0gIit0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUrIiBhbmQgU1RZ
TEUgYXR0cmlidXRlIHZhbHVlID0gIit0ZXN0LmdldEF0dHJpYnV0ZU5vZGUoJ1NUWUxFJykudmFs
dWU7CisKKyAgICAgICAgdGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UZXN0IGZv
ciBCdWd6aWxsYSBidWc6PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkwMzQxIj4gOTAzNDE6PC9hPiAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5v
ZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuPC9kaXY+Cis8ZGl2PlRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgQVBJIGFsbG93cyBmb3IgY3Jl
YXRpb24gb2YgYXR0cmlidXRlcyBjYXNlLXNlbnNpdGl2ZWx5IGZvciBYSFRNTCBkb2N1bWVudHMu
IFRodXMgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgaW4g
ZGlmZmVyZW50IGNhc2UgY2FuIGV4aXN0IGZvciBYSFRNTCBkb2N1bWVudHMuPC9kaXY+Cis8ZGl2
IGlkPSJ0ZXN0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkIj4mbmJzcDs8L2Rpdj4KKzxi
ci8+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRp
dml0eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0
QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0
aXZpdHkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAg
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2Rl
KCkgQVBJIGNoZWNrcyBmb3IgZXhpc3RpbmcgYXR0cmlidXRlcyBjYXNlLWluc2Vuc2l0aXZlbHku
IFRodXMgdGhlIHZhbHVlIG9mIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5h
bWUgYnV0IGluIGEgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGdldCByZXBsYWNlZCBieSB0aGUgbmV3
IHZhbHVlIHNwZWNpZmllZCB2aWEgdGhlIHNldEF0dHJpYnV0ZU5vZGUoKSBtZXRob2QuIik7Cisg
ICAgCisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAg
IHZhciBuZXdTdHlsZUF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoIlNUWUxFIik7Cisg
ICAgbmV3U3R5bGVBdHRyLnZhbHVlID0gImJhY2tncm91bmQtY29sb3I6IGdyZWVuIjsKKyAgICB0
ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3U3R5bGVBdHRyKTsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlKCdzdHlsZScpIiwg
InRlc3QuZ2V0QXR0cmlidXRlKCdTVFlMRScpIik7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0Lmdl
dEF0dHJpYnV0ZU5vZGUoJ3N0eWxlJykudmFsdWUiLCAidGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdT
VFlMRScpLnZhbHVlIik7CisgICAgfQorCisgICAgZGVidWcoIlZlcmlmeWluZyB0aGF0IGF0dHJp
YnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgbmFtZXNwYWNlcyBhcmUgdHJl
YXRlZCBhcyB1bmlxdWUgZW50aXRpZXMuIEZvciB0aGUgZm9sbG93aW5nIHRlc3QgdHdvIGRpZmZl
cmVudCBhdHRyaWJ1dGUgdmFsdWVzIHNob3VsZCBiZSByZXR1cm5lZC4iKTsKKyAgICB2YXIgbmV3
QXR0cjEgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygibnMxIiwgIm5ld2F0dHIiKTsKKyAg
ICBuZXdBdHRyMS5wcmVmaXggPSAicHJlZml4MSI7CisgICAgbmV3QXR0cjEudmFsdWUgPSAibmV3
YXR0cjEiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShuZXdBdHRyMSk7CisgICAgdmFyIG5l
d0F0dHIyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMiIsICJuZXdhdHRyIik7Cisg
ICAgbmV3QXR0cjIucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIyLnZhbHVlID0gIm5l
d2F0dHIyIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjIpOworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVO
b2RlTlMoJ25zMScsICduZXdhdHRyJykudmFsdWUiLCAiJ25ld2F0dHIxJyIpOworICAgICAgICBz
aG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlTlMoJ25zMicsICduZXdhdHRyJykudmFsdWUi
LCAiJ25ld2F0dHIyJyIpOworICAgIH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRy
aWJ1dGVzIHdpdGggc2FtZSBuYW1lIGJ1dCBkaWZmZXJlbnQgY2FzZSBhbmQgaGF2aW5nIHNhbWUg
bmFtZXNwYWNlcyBhcmUgdHJlYXRlZCBhcyBzYW1lLiBJbiB0aGUgZm9sbG93aW5nIHRlc3QgdGhl
IG5ldyBhdHRyaWJ1dGUgc2hvdWxkIG92ZXJ3cml0ZSB0aGUgdmFsdWUgb2YgdGhlIGV4aXN0aW5n
IG9uZS4iKTsKKyAgICB2YXIgbmV3QXR0cjMgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGVOUygi
bnMxIiwgIk5FV0FUVFIiKTsKKyAgICBuZXdBdHRyMy5wcmVmaXggPSAicHJlZml4MiI7CisgICAg
bmV3QXR0cjMudmFsdWUgPSAibmV3YXR0cjMiOworICAgIHRlc3Quc2V0QXR0cmlidXRlTm9kZShu
ZXdBdHRyMyk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgc2hvdWxk
QmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0cicpLnZhbHVlIiwgIidu
ZXdhdHRyMyciKTsKKyAgICAKKyAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsgICAgCisg
ICAgICAgIHRlc3Quc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAgCit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGVzdCBmb3Ig
QnVnemlsbGEgYnVnOjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDM0MSI+IDkwMzQxOjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2Rl
IGRvZXMgbm90IHByb3Blcmx5IG5vcm1hbGl6ZSBjYXNlLjwvZGl2PgorPGRpdiBpZD0idGVzdCIg
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9kaXY+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="230644"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="230645"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208714</attachid>
            <date>2013-08-14 04:36:04 -0700</date>
            <delta_ts>2013-08-14 10:07:31 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-90341-20130814171711.patch</filename>
            <type>text/plain</type>
            <size>13492</size>
            <attacher name="Arpita Bahuguna">a.bah</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA4LTE0ICBBcnBpdGEg
QmFodWd1bmEgIDxhLmJhaEBzYW1zdW5nLmNvbT4KKworICAgICAgICBjcmVhdGVBdHRyaWJ1dGUv
c2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxpemUgY2FzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBzZXRBdHRyaWJ1dGVOb2RlKCkg
dmVyaWZpZXMgZm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgaW4gYSBjYXNlIHNlbnNpdGl2ZQorICAg
ICAgICBtYW5uZXIuIFRodXMsIGl0IHdvdWxkIGFkZCBhbm90aGVyIGF0dHJpYnV0ZSBpZiBzcGVj
aWZpZWQgaW4gYSBjYXNlCisgICAgICAgIGRpZmZlcmVudCBmcm9tIHRoZSBleGlzdGluZyBvbmUu
IEluc3RlYWQsIGxpa2Ugc2V0QXR0cmlidXRlKCksIGl0IHRvbworICAgICAgICBzaG91bGQgbW9k
aWZ5IHRoZSBleGlzdGluZyBhdHRyaWJ1dGUncyB2YWx1ZS4KKworICAgICAgICBUZXN0czogZmFz
dC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNh
c2UtaW5zZW5zaXRpdml0eS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgUGFzc2lu
ZyB0aGUgc2Vjb25kIHBhcmFtIChzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSB0bworICAgICAg
ICBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiBXZSBh
cmUgbm93IGxldHRpbmcKKyAgICAgICAgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmli
dXRlTm9kZSgpIGhhbmRsZSB0aGUgY2FzZS1zZW5zaXRpdmUvaW5zZW5zaXRpdmUKKyAgICAgICAg
Y2hlY2tpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRl
SW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICBBZGRlZCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlIGJvb2xlYW4gcGFyYW0gdG8g
dGhlIG1ldGhvZC4gSXQgcGFzc2VzCisgICAgICAgIHRoaXMgb24gdG8gUXVhbGlmaWVkTmFtZTo6
bWF0Y2hlc0lnbm9yaW5nQ2FzZUZvckxvY2FsTmFtZSgpIG1ldGhvZC4KKworICAgICAgICAqIGRv
bS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZpZWROYW1lOjptYXRj
aGVzSWdub3JpbmdDYXNlRm9yTG9jYWxOYW1lKToKKyAgICAgICAgTmV3IG1ldGhvZCBhZGRlZCBm
b3IgZG9pbmcgYSBjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gYmFzZWQgb24gdGhlCisgICAg
ICAgIHNob3VsZElnbm9yZUNhc2UgcGFyYW0gcGFzc2VkIHRvIHRoaXMgbWV0aG9kLgorCiAyMDEz
LTA4LTE0ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgog
CiAgICAgICAgIEFTU0VSVChtX2ZyYW1lLT52aWV3KCkgPT0gdGhpcykgZmFpbHMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1NDA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0MSw3ICsxNzQxLDcgQEAgUGFzc1Jl
ZlB0cjxBdHRyPiBFbGVtZW50OjpzZXRBdHRyaWJ1dGVObwogICAgIHN5bmNocm9uaXplQWxsQXR0
cmlidXRlcygpOwogICAgIFVuaXF1ZUVsZW1lbnREYXRhJiBlbGVtZW50RGF0YSA9IGVuc3VyZVVu
aXF1ZUVsZW1lbnREYXRhKCk7CiAKLSAgICB1bnNpZ25lZCBpbmRleCA9IGVsZW1lbnREYXRhLmZp
bmRBdHRyaWJ1dGVJbmRleEJ5TmFtZUZvckF0dHJpYnV0ZU5vZGUoYXR0ck5vZGUpOworICAgIHVu
c2lnbmVkIGluZGV4ID0gZWxlbWVudERhdGEuZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0
cmlidXRlTm9kZShhdHRyTm9kZSwgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSh0aGlzKSk7CiAg
ICAgaWYgKGluZGV4ICE9IEVsZW1lbnREYXRhOjphdHRyaWJ1dGVOb3RGb3VuZCkgewogICAgICAg
ICBpZiAob2xkQXR0ck5vZGUpCiAgICAgICAgICAgICBkZXRhY2hBdHRyTm9kZUZyb21FbGVtZW50
V2l0aFZhbHVlKG9sZEF0dHJOb2RlLmdldCgpLCBlbGVtZW50RGF0YS5hdHRyaWJ1dGVBdChpbmRl
eCkudmFsdWUoKSk7CkBAIC0zMjQxLDEzICszMjQxLDEzIEBAIHVuc2lnbmVkIEVsZW1lbnREYXRh
OjpmaW5kQXR0cmlidXRlSW5kZXgKICAgICByZXR1cm4gYXR0cmlidXRlTm90Rm91bmQ7CiB9CiAK
LXVuc2lnbmVkIEVsZW1lbnREYXRhOjpmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1
dGVOb2RlKGNvbnN0IEF0dHIqIGF0dHIpIGNvbnN0Cit1bnNpZ25lZCBFbGVtZW50RGF0YTo6Zmlu
ZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmlidXRlTm9kZShjb25zdCBBdHRyKiBhdHRyLCBi
b29sIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGF0dHIp
OwogICAgIGNvbnN0IEF0dHJpYnV0ZSogYXR0cmlidXRlcyA9IGF0dHJpYnV0ZUJhc2UoKTsKICAg
ICB1bnNpZ25lZCBjb3VudCA9IGxlbmd0aCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBjb3VudDsgKytpKSB7Ci0gICAgICAgIGlmIChhdHRyaWJ1dGVzW2ldLm5hbWUoKSA9PSBhdHRy
LT5xdWFsaWZpZWROYW1lKCkpCisgICAgICAgIGlmIChhdHRyaWJ1dGVzW2ldLm5hbWUoKS5tYXRj
aGVzSWdub3JpbmdDYXNlRm9yTG9jYWxOYW1lKGF0dHItPnF1YWxpZmllZE5hbWUoKSwgc2hvdWxk
SWdub3JlQXR0cmlidXRlQ2FzZSkpCiAgICAgICAgICAgICByZXR1cm4gaTsKICAgICB9CiAgICAg
cmV0dXJuIGF0dHJpYnV0ZU5vdEZvdW5kOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lv
biAxNTQwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdHRyaWJ1dGUqIGZpbmRBdHRy
aWJ1dGVCeU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogICAgIHVuc2lnbmVkIGZp
bmRBdHRyaWJ1dGVJbmRleEJ5TmFtZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAg
dW5zaWduZWQgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lKGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSwgYm9vbCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKSBjb25zdDsKLSAgICB1bnNpZ25lZCBm
aW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2RlKGNvbnN0IEF0dHIqKSBjb25z
dDsKKyAgICB1bnNpZ25lZCBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWVGb3JBdHRyaWJ1dGVOb2Rl
KGNvbnN0IEF0dHIqLCBib29sIHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UgPSBmYWxzZSkgY29u
c3Q7CiAKICAgICBib29sIGhhc0lEKCkgY29uc3QgeyByZXR1cm4gIW1faWRGb3JTdHlsZVJlc29s
dXRpb24uaXNOdWxsKCk7IH0KICAgICBib29sIGhhc0NsYXNzKCkgY29uc3QgeyByZXR1cm4gIW1f
Y2xhc3NOYW1lcy5pc051bGwoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5o
CShyZXZpc2lvbiAxNTQwNDUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgbWF0
Y2hlcyhjb25zdCBRdWFsaWZpZWROYW1lJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9pbXBsID09
IG90aGVyLm1faW1wbCB8fCAobG9jYWxOYW1lKCkgPT0gb3RoZXIubG9jYWxOYW1lKCkgJiYgbmFt
ZXNwYWNlVVJJKCkgPT0gb3RoZXIubmFtZXNwYWNlVVJJKCkpOyB9CiAKKyAgICBib29sIG1hdGNo
ZXNJZ25vcmluZ0Nhc2VGb3JMb2NhbE5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgb3RoZXIsIGJv
b2wgc2hvdWxkSWdub3JlQ2FzZSkgY29uc3QgeyByZXR1cm4gbV9pbXBsID09IG90aGVyLm1faW1w
bCB8fCAoZXF1YWxQb3NzaWJseUlnbm9yaW5nQ2FzZShsb2NhbE5hbWUoKSwgb3RoZXIubG9jYWxO
YW1lKCksIHNob3VsZElnbm9yZUNhc2UpICYmIG5hbWVzcGFjZVVSSSgpID09IG90aGVyLm5hbWVz
cGFjZVVSSSgpKTsgfQorCiAgICAgYm9vbCBoYXNQcmVmaXgoKSBjb25zdCB7IHJldHVybiBtX2lt
cGwtPm1fcHJlZml4ICE9IG51bGxBdG9tOyB9CiAgICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRv
bWljU3RyaW5nJiBwcmVmaXgpIHsgKnRoaXMgPSBRdWFsaWZpZWROYW1lKHByZWZpeCwgbG9jYWxO
YW1lKCksIG5hbWVzcGFjZVVSSSgpKTsgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTQwNDUpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAor
MjAxMy0wOC0xNCAgQXJwaXRhIEJhaHVndW5hICA8YS5iYWhAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgY3JlYXRlQXR0cmlidXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9y
bWFsaXplIGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkwMzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1j
YXNlLWluc2Vuc2l0aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgVGVzdGNhc2Ug
Zm9yIHZlcmlmeWluZyB0aGF0IHNldEF0dHJpYnV0ZU5vZGUoKSBjaGVja3MgYWdhaW5zdCBleGlz
dGluZworICAgICAgICBhdHRyaWJ1dGVzIGluIGEgY2FzZSBpbnNlbnNpdGl2ZSBtYW5uZXIuIEl0
IHVwZGF0ZXMgdGhlIHZhbHVlIG9mIGFuCisgICAgICAgIGV4aXN0aW5nIGF0dHJpYnV0ZSAoaW4g
bG93ZXIgY2FzZSkgd2l0aCB0aGF0IG9mIHRoZSBvbmUgc2V0IHVzaW5nCisgICAgICAgIHNldEF0
dHJpYnV0ZU5vZGUoKSAoaW4gdXBwZXIgY2FzZSkuCisgICAgICAgIFRoZSB0ZXN0IGFsc28gdmVy
aWZpZXMgdGhlIGJlaGF2aW9yIG9mIGF0dHJpYnV0ZXMgd2hlbiBzcGVjaWZpZWQgd2l0aAorICAg
ICAgICBuYW1lc3BhY2UgYW5kIHByZWZpeC4KKworICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQv
c2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0bWwtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1p
bnNlbnNpdGl2aXR5LXhodG1sLnhodG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdGNhc2UgYWRkZWQg
Zm9yIHZlcmlmeWluZyB0aGF0IHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciB4aHRtbCBkb2N1bWVu
dHMKKyAgICAgICAgZG9lcyBub3QgY2hhbmdlIHdpdGggdGhpcyBmaXguCisgICAgICAgIEZvciB4
aHRtbCBkb2N1bWVudHMsIGF0dHJpYnV0ZXMgY2FuIGJlIGFkZGVkIGNhc2Ugc2Vuc2l0aXZlbHku
IFRoaXMgdGVzdGNhc2UKKyAgICAgICAgdmVyaWZpZXMgdGhhdCB0d28gYXR0cmlidXRlcyB3aXRo
IHRoZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBjYXNlIGFyZQorICAgICAgICBhbGxvd2VkIGZv
ciBhbiB4aHRtbCBkb2N1bWVudC4KKwogMjAxMy0wOC0xMyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAg
PHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBBbGlnbiBv
dXIgZ3JpZC1saW5lIGhhbmRsaW5nIHdpdGggdGhlIHVwZGF0ZWQgc3BlY2lmaWNhdGlvbgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5z
ZW5zaXRpdml0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJp
YnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorVGVzdCBmb3IgQnVnemlsbGEgYnVnOiA5MDM0MTogY3JlYXRlQXR0cmli
dXRlL3NldEF0dHJpYnV0ZU5vZGUgZG9lcyBub3QgcHJvcGVybHkgbm9ybWFsaXplIGNhc2UuCitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3Mg
Zm9yIGV4aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIHRoZSB2YWx1
ZSBvZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBhIGRp
ZmZlcmVudCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBzcGVjaWZp
ZWQgdmlhIHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJykgaXMgdGVzdC5nZXRB
dHRyaWJ1dGUoJ1NUWUxFJykKK1BBU1MgdGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdzdHlsZScpLnZh
bHVlIGlzIHRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKS52YWx1ZQorVmVyaWZ5aW5nIHRo
YXQgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBuYW1lc3BhY2Vz
IGFyZSB0cmVhdGVkIGFzIHVuaXF1ZSBlbnRpdGllcy4gRm9yIHRoZSBmb2xsb3dpbmcgdGVzdCB0
d28gZGlmZmVyZW50IGF0dHJpYnV0ZSB2YWx1ZXMgc2hvdWxkIGJlIHJldHVybmVkLgorUEFTUyB0
ZXN0LmdldEF0dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0
cjEnCitQQVNTIHRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVl
IGlzICduZXdhdHRyMicKK1ZlcmlmeWluZyB0aGF0IGF0dHJpYnV0ZXMgd2l0aCBzYW1lIG5hbWUg
YnV0IGRpZmZlcmVudCBjYXNlIGFuZCBoYXZpbmcgc2FtZSBuYW1lc3BhY2VzIGFyZSB0cmVhdGVk
IGFzIHNhbWUuIEluIHRoZSBmb2xsb3dpbmcgdGVzdCB0aGUgbmV3IGF0dHJpYnV0ZSBzaG91bGQg
b3ZlcndyaXRlIHRoZSB2YWx1ZSBvZiB0aGUgZXhpc3Rpbmcgb25lLgorUEFTUyB0ZXN0LmdldEF0
dHJpYnV0ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSBpcyAnbmV3YXR0cjMnCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRp
dml0eS14aHRtbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vRWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3Nl
dEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5LXhodG1sLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitUZXN0IGZvciBCdWd6aWxsYSBidWc6IDkwMzQxOiBj
cmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBub3JtYWxp
emUgY2FzZS4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkg
QVBJIGFsbG93cyBmb3IgY3JlYXRpb24gb2YgYXR0cmlidXRlcyBjYXNlLXNlbnNpdGl2ZWx5IGZv
ciBYSFRNTCBkb2N1bWVudHMuIFRodXMgdHdvIGRpZmZlcmVudCBhdHRyaWJ1dGVzIHdpdGggdGhl
IHNhbWUgbmFtZSBidXQgaW4gZGlmZmVyZW50IGNhc2UgY2FuIGV4aXN0IGZvciBYSFRNTCBkb2N1
bWVudHMuCisKK3N0eWxlIGF0dHJpYnV0ZSB2YWx1ZSA9IGJhY2tncm91bmQtY29sb3I6IHJlZCBh
bmQgU1RZTEUgYXR0cmlidXRlIHZhbHVlID0gYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vu
c2l0aXZpdHkteGh0bWwueGh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
RWxlbWVudC9zZXRBdHRyaWJ1dGVOb2RlLWNhc2UtaW5zZW5zaXRpdml0eS14aHRtbC54aHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvc2V0QXR0cmlidXRl
Tm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkteGh0bWwueGh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiRFREL3ho
dG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgdmFyIHRlc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgICAgICB2YXIgbmV3U3R5bGVBdHRyID0gZG9j
dW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgICAgICBuZXdTdHlsZUF0dHIudmFs
dWUgPSAiYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iOworICAgICAgICB0ZXN0LnNldEF0dHJpYnV0
ZU5vZGUobmV3U3R5bGVBdHRyKTsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVzdWx0JykuaW5uZXJIVE1MID0gInN0eWxlIGF0dHJpYnV0ZSB2YWx1ZSA9ICIrdGVzdC5nZXRB
dHRyaWJ1dGVOb2RlKCdzdHlsZScpLnZhbHVlKyIgYW5kIFNUWUxFIGF0dHJpYnV0ZSB2YWx1ZSA9
ICIrdGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdTVFlMRScpLnZhbHVlOworCisgICAgICAgIHRlc3Qu
c3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGVzdCBmb3IgQnVnemlsbGEgYnVnOjxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDM0MSI+IDkwMzQx
OjwvYT4gIGNyZWF0ZUF0dHJpYnV0ZS9zZXRBdHRyaWJ1dGVOb2RlIGRvZXMgbm90IHByb3Blcmx5
IG5vcm1hbGl6ZSBjYXNlLjwvZGl2PgorPGRpdj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUg
c2V0QXR0cmlidXRlTm9kZSgpIEFQSSBhbGxvd3MgZm9yIGNyZWF0aW9uIG9mIGF0dHJpYnV0ZXMg
Y2FzZS1zZW5zaXRpdmVseSBmb3IgWEhUTUwgZG9jdW1lbnRzLiBUaHVzIHR3byBkaWZmZXJlbnQg
YXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGluIGRpZmZlcmVudCBjYXNlIGNhbiBl
eGlzdCBmb3IgWEhUTUwgZG9jdW1lbnRzLjwvZGl2PgorPGRpdiBpZD0idGVzdCIgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IHJlZCI+Jm5ic3A7PC9kaXY+Cis8YnIvPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2V0QXR0cmlidXRlTm9kZS1jYXNlLWluc2Vuc2l0aXZpdHkuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1p
bnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9F
bGVtZW50L3NldEF0dHJpYnV0ZU5vZGUtY2FzZS1pbnNlbnNpdGl2aXR5Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0QXR0cmlidXRlTm9kZSgpIEFQSSBjaGVja3MgZm9yIGV4
aXN0aW5nIGF0dHJpYnV0ZXMgY2FzZS1pbnNlbnNpdGl2ZWx5LiBUaHVzIHRoZSB2YWx1ZSBvZiBh
biBleGlzdGluZyBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCBpbiBhIGRpZmZlcmVu
dCBjYXNlIHNob3VsZCBnZXQgcmVwbGFjZWQgYnkgdGhlIG5ldyB2YWx1ZSBzcGVjaWZpZWQgdmlh
IHRoZSBzZXRBdHRyaWJ1dGVOb2RlKCkgbWV0aG9kLiIpOworICAgIAorICAgIHZhciB0ZXN0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICB2YXIgbmV3U3R5bGVBdHRyID0g
ZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCJTVFlMRSIpOworICAgIG5ld1N0eWxlQXR0ci52YWx1
ZSA9ICJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiI7CisgICAgdGVzdC5zZXRBdHRyaWJ1dGVOb2Rl
KG5ld1N0eWxlQXR0cik7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNo
b3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0ZSgnc3R5bGUnKSIsICJ0ZXN0LmdldEF0dHJpYnV0ZSgn
U1RZTEUnKSIpOworICAgICAgICBzaG91bGRCZSgidGVzdC5nZXRBdHRyaWJ1dGVOb2RlKCdzdHls
ZScpLnZhbHVlIiwgInRlc3QuZ2V0QXR0cmlidXRlTm9kZSgnU1RZTEUnKS52YWx1ZSIpOworICAg
IH0KKworICAgIGRlYnVnKCJWZXJpZnlpbmcgdGhhdCBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUg
bmFtZSBidXQgZGlmZmVyZW50IG5hbWVzcGFjZXMgYXJlIHRyZWF0ZWQgYXMgdW5pcXVlIGVudGl0
aWVzLiBGb3IgdGhlIGZvbGxvd2luZyB0ZXN0IHR3byBkaWZmZXJlbnQgYXR0cmlidXRlIHZhbHVl
cyBzaG91bGQgYmUgcmV0dXJuZWQuIik7CisgICAgdmFyIG5ld0F0dHIxID0gZG9jdW1lbnQuY3Jl
YXRlQXR0cmlidXRlTlMoIm5zMSIsICJuZXdhdHRyIik7CisgICAgbmV3QXR0cjEucHJlZml4ID0g
InByZWZpeDEiOworICAgIG5ld0F0dHIxLnZhbHVlID0gIm5ld2F0dHIxIjsKKyAgICB0ZXN0LnNl
dEF0dHJpYnV0ZU5vZGUobmV3QXR0cjEpOworICAgIHZhciBuZXdBdHRyMiA9IGRvY3VtZW50LmNy
ZWF0ZUF0dHJpYnV0ZU5TKCJuczIiLCAibmV3YXR0ciIpOworICAgIG5ld0F0dHIyLnByZWZpeCA9
ICJwcmVmaXgyIjsKKyAgICBuZXdBdHRyMi52YWx1ZSA9ICJuZXdhdHRyMiI7CisgICAgdGVzdC5z
ZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIyKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0cmlidXRlTm9kZU5TKCduczEnLCAnbmV3YXR0
cicpLnZhbHVlIiwgIiduZXdhdHRyMSciKTsKKyAgICAgICAgc2hvdWxkQmUoInRlc3QuZ2V0QXR0
cmlidXRlTm9kZU5TKCduczInLCAnbmV3YXR0cicpLnZhbHVlIiwgIiduZXdhdHRyMiciKTsKKyAg
ICB9CisKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nIHRoYXQgYXR0cmlidXRlcyB3aXRoIHNhbWUgbmFt
ZSBidXQgZGlmZmVyZW50IGNhc2UgYW5kIGhhdmluZyBzYW1lIG5hbWVzcGFjZXMgYXJlIHRyZWF0
ZWQgYXMgc2FtZS4gSW4gdGhlIGZvbGxvd2luZyB0ZXN0IHRoZSBuZXcgYXR0cmlidXRlIHNob3Vs
ZCBvdmVyd3JpdGUgdGhlIHZhbHVlIG9mIHRoZSBleGlzdGluZyBvbmUuIik7CisgICAgdmFyIG5l
d0F0dHIzID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlTlMoIm5zMSIsICJORVdBVFRSIik7Cisg
ICAgbmV3QXR0cjMucHJlZml4ID0gInByZWZpeDIiOworICAgIG5ld0F0dHIzLnZhbHVlID0gIm5l
d2F0dHIzIjsKKyAgICB0ZXN0LnNldEF0dHJpYnV0ZU5vZGUobmV3QXR0cjMpOworCisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHNob3VsZEJlKCJ0ZXN0LmdldEF0dHJpYnV0
ZU5vZGVOUygnbnMxJywgJ25ld2F0dHInKS52YWx1ZSIsICInbmV3YXR0cjMnIik7CisgICAgCisg
ICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7ICAgIAorICAgICAgICB0ZXN0LnN0eWxlLmRp
c3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2PlRlc3QgZm9yIEJ1Z3ppbGxhIGJ1Zzo8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAzNDEiPiA5MDM0MTo8
L2E+ICBjcmVhdGVBdHRyaWJ1dGUvc2V0QXR0cmlidXRlTm9kZSBkb2VzIG5vdCBwcm9wZXJseSBu
b3JtYWxpemUgY2FzZS48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiIHN0eWxlPSJiYWNrZ3JvdW5kLWNv
bG9yOiByZWQiPiZuYnNwOzwvZGl2PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>