<?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>37319</bug_id>
          
          <creation_ts>2010-04-09 02:55:29 -0700</creation_ts>
          <short_desc>[Qt] tst_QWebFrame::overloadedSlots() fails</short_desc>
          <delta_ts>2011-06-27 12:28:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>62790</dependson>
          <blocked>38654</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Hausmann">hausmann</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>ademar</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jedrzej.nowacki</cc>
    
    <cc>jwieczorek</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>twerner</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>210648</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-09 02:55:29 -0700</bug_when>
    <thetext>FAIL!  : tst_QWebFrame::overloadedSlots() Compared values are not the same
   Actual (m_myObject-&gt;qtFunctionInvoked()): 41
   Expected (36): 36
   Loc: [/home/shausman/src/webkit/trunk/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp(1911)]

Failure reproducible on Linux, but likely cross-platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210668</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-04-09 03:42:24 -0700</bug_when>
    <thetext>JS:myOverloadedSlot(document.body) is picking myOverloadedSlot(QObject*) instead of myOverloadedSlot(const QWebElement &amp;).
Did this ever pass?
Also the comment looks wrong (&quot;should pick myOverloadedSlot(QRegExp)&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210703</commentid>
    <comment_count>2</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-04-09 06:55:31 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; JS:myOverloadedSlot(document.body) is picking myOverloadedSlot(QObject*)
&gt; instead of myOverloadedSlot(const QWebElement &amp;).
&gt; Did this ever pass?
&gt; Also the comment looks wrong (&quot;should pick myOverloadedSlot(QRegExp)&quot;).

I faced this kind of problem in https://bugs.webkit.org/show_bug.cgi?id=37060 (the LayoutTestController change) and solved it by registering the QWebElement type with qRegisterMetaType. I presume this is necessary to use QWebElement as a slot argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210723</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-04-09 07:55:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; JS:myOverloadedSlot(document.body) is picking myOverloadedSlot(QObject*)
&gt; &gt; instead of myOverloadedSlot(const QWebElement &amp;).
&gt; &gt; Did this ever pass?
&gt; &gt; Also the comment looks wrong (&quot;should pick myOverloadedSlot(QRegExp)&quot;).
&gt; 
&gt; I faced this kind of problem in https://bugs.webkit.org/show_bug.cgi?id=37060
&gt; (the LayoutTestController change) and solved it by registering the QWebElement
&gt; type with qRegisterMetaType. I presume this is necessary to use QWebElement as
&gt; a slot argument.

Thanks Jakub. I tried to register the type but it didn&apos;t make a difference.
It&apos;s possible there&apos;s a bug in WebCore/bridge/qt/qt_runtime.cpp findMethodIndex() when calling an overloaded slot with a custom type as argument. I&apos;ll try to debug it next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210727</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-09 08:23:25 -0700</bug_when>
    <thetext>I added the slot with QWebElement - it definitely passed when I added it. Maybe it only works on Linux?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210729</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-04-09 08:30:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I added the slot with QWebElement - it definitely passed when I added it. Maybe
&gt; it only works on Linux?

Only fails on Linux you mean? Simon is on Linux, I&apos;m on Linux, and it doesn&apos;t work. Haven&apos;t tried other platforms yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210730</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-09 08:33:25 -0700</bug_when>
    <thetext>ok - misunderstood one of the comments here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211590</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-04-12 06:12:35 -0700</bug_when>
    <thetext>OK, figured out why it&apos;s picking the overload that takes a QObject*; &quot;document.body&quot; evaluates to null. Setting some HTML on the frame, e.g.
m_page-&gt;mainFrame()-&gt;setHtml(&quot;&lt;html&gt;&lt;head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;&quot;) in the beginning of the test fixes that. I don&apos;t know if that&apos;s needed due to a recent change in behavior.

But it still doesn&apos;t work.
First, Jakub&apos;s comment about QWebElement needing to be registered as a metatype is correct after all. Calling qMetaTypeId&lt;QWebElement&gt;() in convertValueToQVariant() is too late; it has to be registered already when the argument types are resolved (otherwise we&apos;ll never get as far as the conversion anyways).
QWebElement should be registered as a metatype somewhere (not in the test; either in the QWebFrame constructor or (ideally) some singleton).

Second, even with the type registered, the conversion seems to get confused; apparently the DOM node can be converted to several other types, all of which are reported as equally good:

ambiguous call of overloaded function myOverloadedSlot(); candidates were                                                  
myOverloadedSlot(bool)
myOverloadedSlot(QStringList)
myOverloadedSlot(double)
myOverloadedSlot(float)
myOverloadedSlot(int)
myOverloadedSlot(QString)
myOverloadedSlot(QVariant)
myOverloadedSlot(QWebElement)

This is because all conversions report a match distance of 10. You want to report a lower one for the QWebElement case (match distance 0 == perfect match; isn&apos;t that the case here since QWebElement is just a thin wrapper around the DOM node? Well, 1 at most :) )

Fixing the above three issues makes the test pass for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212970</commentid>
    <comment_count>8</comment_count>
      <attachid>53460</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-04-15 12:04:34 -0700</bug_when>
    <thetext>Created attachment 53460
Patch: mark as expected failure

The patch that was commited by in qt/src/3rdparty/webkit.

The ideal would be to soon have something that prevent the failure in the qtwebkit-2.0 branch to ease the next import.
Either this patch or a fix for the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212972</commentid>
    <comment_count>9</comment_count>
      <attachid>53462</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-04-15 12:06:24 -0700</bug_when>
    <thetext>Created attachment 53462
Patch: mark as expected failure

Edit: added the bug url to the changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213012</commentid>
    <comment_count>10</comment_count>
      <attachid>53462</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-15 13:44:28 -0700</bug_when>
    <thetext>Comment on attachment 53462
Patch: mark as expected failure

Clearing flags on attachment: 53462

Committed r57669: &lt;http://trac.webkit.org/changeset/57669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213013</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-15 13:44:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213060</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-15 14:41:24 -0700</bug_when>
    <thetext>Revision r57669 cherry-picked into qtwebkit-2.0 with commit 1dc6dfe537a3532becfe17ee790755166c3c641e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239890</commentid>
    <comment_count>13</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-06-18 06:11:07 -0700</bug_when>
    <thetext>The QEXPECT_FAIL macro is not a right solution :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342408</commentid>
    <comment_count>14</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-01-30 17:23:01 -0800</bug_when>
    <thetext>*** Bug 46748 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342411</commentid>
    <comment_count>15</comment_count>
      <attachid>80608</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-01-30 18:10:42 -0800</bug_when>
    <thetext>Created attachment 80608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342416</commentid>
    <comment_count>16</comment_count>
      <attachid>80610</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-01-30 18:37:43 -0800</bug_when>
    <thetext>Created attachment 80610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342491</commentid>
    <comment_count>17</comment_count>
      <attachid>80610</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-31 00:37:27 -0800</bug_when>
    <thetext>Comment on attachment 80610
Patch

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

&gt; Source/WebCore/bridge/qt/qt_runtime.cpp:775
&gt; +                    dist = 0;
&gt; +                    break;
&gt; +                }
&gt; +
&gt; +                ret = QVariant::fromValue&lt;QWebElement&gt;(QWebElement());
&gt; +                dist = 10;

So these 0 and 10 are arbitary values?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342520</commentid>
    <comment_count>18</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-01-31 03:37:02 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 80610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80610&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bridge/qt/qt_runtime.cpp:775
&gt; &gt; +                    dist = 0;
&gt; &gt; +                    break;
&gt; &gt; +                }
&gt; &gt; +
&gt; &gt; +                ret = QVariant::fromValue&lt;QWebElement&gt;(QWebElement());
&gt; &gt; +                dist = 10;
&gt; 
&gt; So these 0 and 10 are arbitary values?

Yes, they&apos;re just a way to sort the different overloads and how well they match the JS datatype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392913</commentid>
    <comment_count>19</comment_count>
      <attachid>80610</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-04-26 16:01:07 -0700</bug_when>
    <thetext>Comment on attachment 80610
Patch

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

&gt; Source/WebCore/bridge/qt/qt_runtime.cpp:-769
&gt; -                else if (object &amp;&amp; object-&gt;inherits(&amp;JSDocument::s_info))
&gt; -                    ret = QVariant::fromValue&lt;QWebElement&gt;(QtWebElementRuntime::create((static_cast&lt;JSDocument*&gt;(object))-&gt;impl()-&gt;documentElement()));

You&apos;re removing some logic re: JSDocument here, what&apos;s the reason?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393103</commentid>
    <comment_count>20</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-04-26 16:59:49 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 80610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80610&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bridge/qt/qt_runtime.cpp:-769
&gt; &gt; -                else if (object &amp;&amp; object-&gt;inherits(&amp;JSDocument::s_info))
&gt; &gt; -                    ret = QVariant::fromValue&lt;QWebElement&gt;(QtWebElementRuntime::create((static_cast&lt;JSDocument*&gt;(object))-&gt;impl()-&gt;documentElement()));
&gt; 
&gt; You&apos;re removing some logic re: JSDocument here, what&apos;s the reason?

Removing this code might brake fast/dom/nodesFromRect-basic.html  - see 
http://trac.webkit.org/changeset/71004/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393147</commentid>
    <comment_count>21</comment_count>
      <attachid>80610</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 17:10:54 -0700</bug_when>
    <thetext>Comment on attachment 80610
Patch

Looks like there are unanswered concerns for this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393159</commentid>
    <comment_count>22</comment_count>
      <attachid>80610</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-04-26 17:15:13 -0700</bug_when>
    <thetext>Comment on attachment 80610
Patch

r=me , but fast/dom/nodesFromRect-basic.html should be checked before/after landing, as Laszlo pointed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398461</commentid>
    <comment_count>23</comment_count>
      <attachid>80610</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-04 18:08:10 -0700</bug_when>
    <thetext>Comment on attachment 80610
Patch

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

Noam, do you still plan to work on this?

&gt; Source/WebCore/bridge/qt/qt_runtime.cpp:235
&gt; +                else if (object-&gt;inherits(&amp;JSHTMLElement::s_info))
&gt; +                    hint = static_cast&lt;QMetaType::Type&gt;(qMetaTypeId&lt;QWebElement&gt;());

This doesn&apos;t affect overloadedSlots tests but do fix tst_QWebFrame::getSetStaticProperty for me.

&gt;&gt;&gt; Source/WebCore/bridge/qt/qt_runtime.cpp:-769
&gt;&gt;&gt; -                    ret = QVariant::fromValue&lt;QWebElement&gt;(QtWebElementRuntime::create((static_cast&lt;JSDocument*&gt;(object))-&gt;impl()-&gt;documentElement()));
&gt;&gt; 
&gt;&gt; You&apos;re removing some logic re: JSDocument here, what&apos;s the reason?
&gt; 
&gt; Removing this code might brake fast/dom/nodesFromRect-basic.html  - see 
&gt; http://trac.webkit.org/changeset/71004/

It breaks. From my understand you shouldn&apos;t remove JSDocument case here. Actually, you could even &apos;dist = 0&apos; for this case too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398529</commentid>
    <comment_count>24</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-04 21:31:01 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 80610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80610&amp;action=review
&gt; 
&gt; Noam, do you still plan to work on this?
I hope to do that at some point; but if someone else wants to take a stab I&apos;m all for it.

&gt; &gt;&gt; You&apos;re removing some logic re: JSDocument here, what&apos;s the reason?
Otherwise tst_QWebFrame::domCycles() fails. That test was based on the old handling of the document element.

&gt; &gt; 
&gt; &gt; Removing this code might brake fast/dom/nodesFromRect-basic.html  - see 
&gt; &gt; http://trac.webkit.org/changeset/71004/
&gt; 
&gt; It breaks. From my understand you shouldn&apos;t remove JSDocument case here. Actually, you could even &apos;dist = 0&apos; for this case too.
Then we have to fix the tst_QWebFrame::domCycles() test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398585</commentid>
    <comment_count>25</comment_count>
      <attachid>92382</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-04 23:55:54 -0700</bug_when>
    <thetext>Created attachment 92382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398586</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-04 23:58:03 -0700</bug_when>
    <thetext>Attachment 92382 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/bridge/qt/qt_runtime.cpp:768:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399324</commentid>
    <comment_count>27</comment_count>
      <attachid>92540</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-05 22:21:08 -0700</bug_when>
    <thetext>Created attachment 92540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405364</commentid>
    <comment_count>28</comment_count>
      <attachid>93840</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-17 16:03:06 -0700</bug_when>
    <thetext>Created attachment 93840
Patch

I asked Noam to pick up this one. This patch is on top of another patch for bug 60984, so will not compile yet.

A summary of the changes:

- Be more agressive when converting JSElement to QWebElement. If we have no hint for a JSElement, offer one. Once we get a QWebElement, identify it as a &quot;perfect match&quot; (dist = 0). This change was present in the latest version of Noam&apos;s patch.

- Remove the special handling for &apos;document&apos; object. The &apos;document&apos; vs. &apos;document.documentElement&apos; is complicated enough, as well as our logic for choosing the right slot. This implicit conversion was added for the sake of DRT nodesFromRect, but we can use QVariantMap conversion and pick the &apos;documentElement&apos; instead.

- This patch depends on the other because when creating the QVariantMap we hit into situation that an exception &apos;leaks&apos; from the conversion function.

The layout test and the autotests mentioned all pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418073</commentid>
    <comment_count>29</comment_count>
      <attachid>96598</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-09 09:53:33 -0700</bug_when>
    <thetext>Created attachment 96598
Rebased

This is just a rebased version of the patch.

I think we should land this fix before the patches of bridge refactoring land, since I think this one is fine for being cherry-picked for 2.2 release, OTOH I&apos;m not sure we want the bridge refactoring there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418245</commentid>
    <comment_count>30</comment_count>
      <attachid>96633</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-09 13:47:03 -0700</bug_when>
    <thetext>Created attachment 96633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418266</commentid>
    <comment_count>31</comment_count>
      <attachid>96633</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-06-09 14:06:40 -0700</bug_when>
    <thetext>Comment on attachment 96633
Patch

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

r=me as is, but please consider making the following adjustments before landing:

&gt; Source/WebKit/qt/ChangeLog:23
&gt; +        (tst_QWebFrame::documentHasDocumentElement): Evaluate &apos;document&apos; and extracts

Evaluate -&gt; Evaluates

&gt; Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp:985
&gt; -    WebCore::Element* webElement = document.m_element;
&gt; +    QWebElement documentElement = document.value(QLatin1String(&quot;documentElement&quot;)).value&lt;QWebElement&gt;();

We could ASSERT that the QVariant returned by document.value() here is valid.

&gt; Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp:2313
&gt; +    QVariant v = m_page-&gt;mainFrame()-&gt;evaluateJavaScript(&quot;document&quot;);

This variable is used for a bit of this and that, the function would be more readable if you used separate variables with clearer names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418327</commentid>
    <comment_count>32</comment_count>
      <attachid>96649</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-09 14:55:45 -0700</bug_when>
    <thetext>Created attachment 96649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418713</commentid>
    <comment_count>33</comment_count>
      <attachid>96746</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-10 08:26:27 -0700</bug_when>
    <thetext>Created attachment 96746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418807</commentid>
    <comment_count>34</comment_count>
      <attachid>96746</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-10 11:30:06 -0700</bug_when>
    <thetext>Comment on attachment 96746
Patch

Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418871</commentid>
    <comment_count>35</comment_count>
      <attachid>96778</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-10 13:43:41 -0700</bug_when>
    <thetext>Created attachment 96778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418887</commentid>
    <comment_count>36</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-10 14:02:21 -0700</bug_when>
    <thetext>Sorry for the noise. Patch now applies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420380</commentid>
    <comment_count>37</comment_count>
      <attachid>96778</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-14 06:53:50 -0700</bug_when>
    <thetext>Comment on attachment 96778
Patch

Clearing flags on attachment: 96778

Committed r88796: &lt;http://trac.webkit.org/changeset/88796&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420381</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-14 06:53:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420482</commentid>
    <comment_count>39</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-06-14 09:25:10 -0700</bug_when>
    <thetext>Revision r88796 cherry-picked into qtwebkit-2.2 with commit f49c89c &lt;http://gitorious.org/webkit/qtwebkit/commit/f49c89c&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421865</commentid>
    <comment_count>40</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-06-16 01:55:09 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; (From update of attachment 96778 [details])
&gt; Clearing flags on attachment: 96778
&gt; 
&gt; Committed r88796: &lt;http://trac.webkit.org/changeset/88796&gt;

Reopen, because it was rolled out by http://trac.webkit.org/changeset/89019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428016</commentid>
    <comment_count>41</comment_count>
      <attachid>98740</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-27 09:55:45 -0700</bug_when>
    <thetext>Created attachment 98740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428022</commentid>
    <comment_count>42</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-06-27 09:59:33 -0700</bug_when>
    <thetext>Reduced the scope of the patch.

- Removing the special implicit conversion of document -&gt; QWebElement was causing the Qt Debug build to timeout. This is because conversion of document -&gt; QVariantMap hits the cyclic references in DOMMimeType and DOMPlugin, and stop after 200 levels of recursion. We can deal with that in a different bug.

- Making the conversion of JSElement -&gt; QWebElement more agressive isn&apos;t backwards compatible. IOW, existing code might rely that evaluateJavaScript(&quot;document.body&quot;) will return a QVariant with a QVariantMap inside, instead of a QWebElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428027</commentid>
    <comment_count>43</comment_count>
      <attachid>98740</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-06-27 10:04:14 -0700</bug_when>
    <thetext>Comment on attachment 98740
Patch

r=me
Good luck with the recursion issue if you&apos;re attacking that. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428048</commentid>
    <comment_count>44</comment_count>
      <attachid>98740</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-27 10:18:37 -0700</bug_when>
    <thetext>Comment on attachment 98740
Patch

Clearing flags on attachment: 98740

Committed r89830: &lt;http://trac.webkit.org/changeset/89830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428049</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-27 10:18:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428183</commentid>
    <comment_count>46</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-06-27 12:28:55 -0700</bug_when>
    <thetext>Revision r89830 cherry-picked into qtwebkit-2.2 with commit 2b104d4 &lt;http://gitorious.org/webkit/qtwebkit/commit/2b104d4&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53460</attachid>
            <date>2010-04-15 12:04:34 -0700</date>
            <delta_ts>2010-04-15 12:06:24 -0700</delta_ts>
            <desc>Patch: mark as expected failure</desc>
            <filename>overloadedslots_expected_failure.patch</filename>
            <type>text/plain</type>
            <size>1091</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDRlMTQ1NmUuLmUwOGI2NjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDEwLTA0LTE1ICBLZW50
IEhhbnNlbiAgPGtlbnQuaGFuc2VuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIE1hcmsgUVdlYkZyYW1lOjpvdmVybG9hZGVk
U2xvdHMgYXV0b3Rlc3QgYXMgZXhwZWN0ZWQgZmFpbHVyZQorCisgICAgICAgICogdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorCiAyMDEwLTA0LTE1ICBKb2NlbHluIFR1cmNvdHRl
ICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNw
cAppbmRleCA3MjM3MGFkLi5jYTE0ZjZjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUv
dHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTE5MDgsNiArMTkwOCw3IEBAIHZvaWQgdHN0X1FXZWJGcmFt
ZTo6b3ZlcmxvYWRlZFNsb3RzKCkKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90
KFFSZWdFeHApCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tlZCgpOwogICAg
IGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5KSIpOworICAg
IFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0aW9u
SW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFP
YmplY3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53462</attachid>
            <date>2010-04-15 12:06:24 -0700</date>
            <delta_ts>2011-01-30 18:10:39 -0800</delta_ts>
            <desc>Patch: mark as expected failure</desc>
            <filename>overloadedslots_expected_failure.patch</filename>
            <type>text/plain</type>
            <size>1148</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDRlMTQ1NmUuLjI0NGMzOTggMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTA0LTE1ICBLZW50
IEhhbnNlbiAgPGtlbnQuaGFuc2VuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIE1hcmsgUVdlYkZyYW1lOjpvdmVybG9hZGVk
U2xvdHMgYXV0b3Rlc3QgYXMgZXhwZWN0ZWQgZmFpbHVyZQorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgICogdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorCiAyMDEwLTA0LTE1ICBKb2NlbHluIFR1cmNvdHRl
ICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNw
cAppbmRleCA3MjM3MGFkLi5jYTE0ZjZjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUv
dHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTE5MDgsNiArMTkwOCw3IEBAIHZvaWQgdHN0X1FXZWJGcmFt
ZTo6b3ZlcmxvYWRlZFNsb3RzKCkKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90
KFFSZWdFeHApCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tlZCgpOwogICAg
IGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5KSIpOworICAg
IFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0aW9u
SW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFP
YmplY3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80608</attachid>
            <date>2011-01-30 18:10:42 -0800</date>
            <delta_ts>2011-01-30 18:37:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110130181041.patch</filename>
            <type>text/plain</type>
            <size>4856</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjYzMmVhNDY2MDBjYWQwMDdlYTc4MDRhMGY2YTY0NDczNjMzMzdjLi44
YWQ0YTZlY2E0ZGE2YTE0NGU2NGQ4NzAxMjdlMGZiYjI0ZDgzNjBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTEtMDEtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFs
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFdoZW4gd2UgZmluZCBhIHNsb3QgdGhhdCB0YWtlcyBhIFFXZWJFbGVtZW50LCB3ZSBoYXZlIHRv
IHNldCB0aGUgImRpc3RhbmNlIiAodGhlIGhldXJpc3RpYyB2YWx1ZSAKKyAgICAgICAgdGhhdCBo
ZWxwcyB1cyBmaW5kIHRoZSBiZXN0IG92ZXJsb2FkKSBhbmQgYnJlYWsgb3V0IG9mIHRoZSBzd2l0
Y2ggc3RhdGVtZW50LgorCisgICAgICAgIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cyBo
YWQgYW4gZXhwZWN0ZWQtZmFpbCB0aGF0IGNhbiBub3cgYmUgcmVtb3ZlZC4KKworICAgICAgICAq
IGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OmNvbnZl
cnRWYWx1ZVRvUVZhcmlhbnQpOgorCiAyMDExLTAxLTI3ICBHcmVnIENvbGV0dGEgIDxncmVnLmNv
bGV0dGFAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXggMGZiODExYjRkYjE3ZWJm
NDY3ZjI3MDUwYWI3OGJiOWM5Y2ExZDBmYi4uNzQ1NjEwOTM2OTFiZjFmNmRjYTAzNTFlODlmMGZm
NjIwODVhZGY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRp
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApAQCAt
MjMxLDYgKzIzMSw4IEBAIFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICAg
ICAgaGludCA9IFFNZXRhVHlwZTo6RG91YmxlOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9i
amVjdC0+aW5oZXJpdHMoJkJvb2xlYW5PYmplY3Q6OmluZm8pKQogICAgICAgICAgICAgICAgICAg
ICBoaW50ID0gUU1ldGFUeXBlOjpCb29sOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9iamVj
dC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNfaW5mbykgfHwgb2JqZWN0LT5pbmhlcml0cygm
SlNEb2N1bWVudDo6c19pbmZvKSkKKyAgICAgICAgICAgICAgICAgICAgaGludCA9IHN0YXRpY19j
YXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8UVdlYkVsZW1lbnQ+KCkpOwogICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVZh
cmlhbnRNYXA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC03NjIsMTMgKzc2NCwyMiBAQCBR
VmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2
YWx1ZSwgUU1ldGFUeXBlOjpUeXBlCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICB9IGVsc2UgaWYgKFF0UGl4bWFwSW5zdGFuY2U6OmNhbkhhbmRsZShzdGF0aWNfY2FzdDxRTWV0
YVR5cGU6OlR5cGU+KGhpbnQpKSkgewogICAgICAgICAgICAgICAgIHJldCA9IFF0UGl4bWFwSW5z
dGFuY2U6OnZhcmlhbnRGcm9tT2JqZWN0KG9iamVjdCwgc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpU
eXBlPihoaW50KSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6
VHlwZSkgcU1ldGFUeXBlSWQ8UVdlYkVsZW1lbnQ+KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAo
b2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNfaW5mbykpCisgICAg
ICAgICAgICAgICAgZGlzdCA9IDA7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gUU1l
dGFUeXBlOjpUeXBlKHFNZXRhVHlwZUlkPFFXZWJFbGVtZW50PigpKSkgeworICAgICAgICAgICAg
ICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZv
KSkgewogICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJF
bGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTSFRNTEVs
ZW1lbnQqPihvYmplY3QpKS0+aW1wbCgpKSk7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAob2Jq
ZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTRG9jdW1lbnQ6OnNfaW5mbykpCisgICAgICAgICAg
ICAgICAgICAgIGRpc3QgPSAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJp
dHMoJkpTRG9jdW1lbnQ6OnNfaW5mbykpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZh
cmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3JlYXRl
KChzdGF0aWNfY2FzdDxKU0RvY3VtZW50Kj4ob2JqZWN0KSktPmltcGwoKS0+ZG9jdW1lbnRFbGVt
ZW50KCkpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJldCA9
IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFFXZWJFbGVtZW50KCkpOworICAgICAg
ICAgICAgICAgICAgICBkaXN0ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8
UVdlYkVsZW1lbnQ+KFFXZWJFbGVtZW50KCkpOworICAgICAgICAgICAgICAgIGRpc3QgPSA1Owor
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfSBlbHNlIGlmIChoaW50ID09IChR
TWV0YVR5cGU6OlR5cGUpIHFNZXRhVHlwZUlkPFFEUlROb2RlPigpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU05vZGU6OnNfaW5mbykpCiAgICAg
ICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UURSVE5vZGU+KFF0RFJU
Tm9kZVJ1bnRpbWU6OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNOb2RlKj4ob2JqZWN0KSktPmltcGwo
KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwppbmRleCBlMmUyMmE1ODFkODYxNjNhNzhjOTI4ZjhlODcwMWM2OGQ1
ZjcxYjZkLi42OTgwMDE0ZDg0NzA0YjBiZWViYTI5OGI2NTVkZjg0MmNhMTJlOTZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTMwICBObydhbSBSb3NlbnRoYWwgIDxu
b2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4ZWQgdGhlIHByb2JsZW0sIHNvIHdlIGNhbiByZW1vdmUgdGhl
IGV4cGVjdC1mYWlsIGNsYXVzZS4KKworICAgICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJs
b2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJh
bWUuY3BwOgorCiAyMDExLTAxLTI3ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5kZXggNmIwYjU4ZDU3ZDhj
NWQ0MzJiNTk1YTg0M2JlZDRiYjI2NjhmNjNiMy4uYTkwMmMyZWFhYzA1OTFlMTc5MzQzMWFlMTZj
ZTdjNmUxOTUxYTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJh
bWUvdHN0X3F3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJh
bWUvdHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTE5NzYsNyArMTk3Niw2IEBAIHZvaWQgdHN0X1FXZWJG
cmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRT
bG90KFFSZWdFeHApCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tlZCgpOwog
ICAgIGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5KSIpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0
aW9uSW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90
KFFPYmplY3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80610</attachid>
            <date>2011-01-30 18:37:43 -0800</date>
            <delta_ts>2011-05-04 23:55:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110130183741.patch</filename>
            <type>text/plain</type>
            <size>4638</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjYzMmVhNDY2MDBjYWQwMDdlYTc4MDRhMGY2YTY0NDczNjMzMzdjLi5k
ZjdjZTJhZDNiODUxZjJjMzA2Yzg5MjIxZjAzZGRmYWEyOTY1YTYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTEtMDEtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFs
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFdoZW4gd2UgZmluZCBhIHNsb3QgdGhhdCB0YWtlcyBhIFFXZWJFbGVtZW50LCB3ZSBoYXZlIHRv
IHNldCB0aGUgImRpc3RhbmNlIiAodGhlIGhldXJpc3RpYyB2YWx1ZQorICAgICAgICB0aGF0IGhl
bHBzIHVzIGZpbmQgdGhlIGJlc3Qgb3ZlcmxvYWQpIGFuZCBicmVhayBvdXQgb2YgdGhlIHN3aXRj
aCBzdGF0ZW1lbnQuCisKKyAgICAgICAgdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzIGhh
ZCBhbiBleHBlY3RlZC1mYWlsIHRoYXQgY2FuIG5vdyBiZSByZW1vdmVkLgorCisgICAgICAgICog
YnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Y29udmVy
dFZhbHVlVG9RVmFyaWFudCk6CisKIDIwMTEtMDEtMjcgIEdyZWcgQ29sZXR0YSAgPGdyZWcuY29s
ZXR0YUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCAwZmI4MTFiNGRiMTdlYmY0
NjdmMjcwNTBhYjc4YmI5YzljYTFkMGZiLi5mODY0YzJkMWNmNGZiMmUwN2NmOWFhNmY3MWI5ZGI2
MDUwNzg0ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGlt
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC0y
MzEsNiArMjMxLDggQEAgUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgdmFsdWUsIFFNZXRhVHlwZTo6VHlwZQogICAgICAgICAgICAgICAgICAg
ICBoaW50ID0gUU1ldGFUeXBlOjpEb3VibGU7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAob2Jq
ZWN0LT5pbmhlcml0cygmQm9vbGVhbk9iamVjdDo6aW5mbykpCiAgICAgICAgICAgICAgICAgICAg
IGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAob2JqZWN0
LT5pbmhlcml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkKKyAgICAgICAgICAgICAgICAgICAg
aGludCA9IHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8UVdlYkVsZW1l
bnQ+KCkpOwogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgaGludCA9
IFFNZXRhVHlwZTo6UVZhcmlhbnRNYXA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC03NjIs
MTMgKzc2NCwxNiBAQCBRVmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1ldGFUeXBlOjpUeXBlCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKFF0UGl4bWFwSW5zdGFuY2U6OmNhbkhhbmRsZShz
dGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKSkgewogICAgICAgICAgICAgICAgIHJl
dCA9IFF0UGl4bWFwSW5zdGFuY2U6OnZhcmlhbnRGcm9tT2JqZWN0KG9iamVjdCwgc3RhdGljX2Nh
c3Q8UU1ldGFUeXBlOjpUeXBlPihoaW50KSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQg
PT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UVdlYkVsZW1lbnQ+KCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6
OnNfaW5mbykpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpUeXBl
KHFNZXRhVHlwZUlkPFFXZWJFbGVtZW50PigpKSkgeworICAgICAgICAgICAgICAgIGlmIChvYmpl
Y3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkgewogICAgICAg
ICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRdFdl
YkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTSFRNTEVsZW1lbnQqPihvYmpl
Y3QpKS0+aW1wbCgpKSk7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAob2JqZWN0ICYmIG9iamVj
dC0+aW5oZXJpdHMoJkpTRG9jdW1lbnQ6OnNfaW5mbykpCi0gICAgICAgICAgICAgICAgICAgIHJl
dCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6
OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNEb2N1bWVudCo+KG9iamVjdCkpLT5pbXBsKCktPmRvY3Vt
ZW50RWxlbWVudCgpKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRV2ViRWxlbWVudCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpm
cm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFFXZWJFbGVtZW50KCkpOworICAgICAgICAgICAgICAgIGRp
c3QgPSAxMDsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
aGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRRFJUTm9kZT4oKSkgewogICAg
ICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNOb2RlOjpzX2lu
Zm8pKQogICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFEUlRO
b2RlPihRdERSVE5vZGVSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTTm9kZSo+KG9iamVj
dCkpLT5pbXBsKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZTJlMjJhNTgxZDg2MTYzYTc4YzkyOGY4
ZTg3MDFjNjhkNWY3MWI2ZC4uNjk4MDAxNGQ4NDcwNGIwYmVlYmEyOThiNjU1ZGY4NDJjYTEyZTk2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0zMCAgTm8nYW0gUm9z
ZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIHRoZSBwcm9ibGVtLCBzbyB3ZSBjYW4g
cmVtb3ZlIHRoZSBleHBlY3QtZmFpbCBjbGF1c2UuCisKKyAgICAgICAgW1F0XSB0c3RfUVdlYkZy
YW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKworICAgICAgICAqIHRlc3RzL3F3ZWJmcmFtZS90
c3RfcXdlYmZyYW1lLmNwcDoKKwogMjAxMS0wMS0yNyAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCmluZGV4IDZi
MGI1OGQ1N2Q4YzVkNDMyYjU5NWE4NDNiZWQ0YmIyNjY4ZjYzYjMuLmE5MDJjMmVhYWMwNTkxZTE3
OTM0MzFhZTE2Y2U3YzZlMTk1MWE5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC0xOTc2LDcgKzE5NzYsNiBAQCB2b2lk
IHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpCiAgICAgLy8gc2hvdWxkIHBpY2sgbXlP
dmVybG9hZGVkU2xvdChRUmVnRXhwKQogICAgIG1fbXlPYmplY3QtPnJlc2V0UXRGdW5jdGlvbklu
dm9rZWQoKTsKICAgICBldmFsSlMoIm15T2JqZWN0Lm15T3ZlcmxvYWRlZFNsb3QoZG9jdW1lbnQu
Ym9keSkiKTsKLSAgICBRRVhQRUNUX0ZBSUwoIiIsICJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzczMTkiLCBDb250aW51ZSk7CiAgICAgUUNPTVBBUkUobV9teU9iamVj
dC0+cXRGdW5jdGlvbkludm9rZWQoKSwgMzYpOwogCiAgICAgLy8gc2hvdWxkIHBpY2sgbXlPdmVy
bG9hZGVkU2xvdChRT2JqZWN0KikK
</data>
<flag name="review"
          id="72109"
          type_id="1"
          status="-"
          setter="cmarcelo"
    />
    <flag name="commit-queue"
          id="83998"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92382</attachid>
            <date>2011-05-04 23:55:54 -0700</date>
            <delta_ts>2011-05-05 22:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4520</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5N2I1YTMwLi5hZjI0OGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDUtMDQgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
dHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgV2hlbiB3ZSBm
aW5kIGEgc2xvdCB0aGF0IHRha2VzIGEgUVdlYkVsZW1lbnQsIHdlIGhhdmUgdG8gc2V0IHRoZSAK
KyAgICAgICAiZGlzdGFuY2UiICh0aGUgaGV1cmlzdGljIHZhbHVlIHRoYXQgaGVscHMgdXMgZmlu
ZCB0aGUgYmVzdCBvdmVybG9hZCkgCisgICAgICAgYW5kIGJyZWFrIG91dCBvZiB0aGUgc3dpdGNo
IHN0YXRlbWVudC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZml4ZXMgYSBwcmV2aW91
c2x5IGZhaWxpbmcgdGVzdC4KKworICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoK
KyAgICAgICAgKEpTQzo6QmluZGluZ3M6OmNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQpOgorCiAyMDEx
LTA1LTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0
L3F0X3J1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3Bw
CmluZGV4IGFjNzZlZjMuLjlmYTRjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9ydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVu
dGltZS5jcHAKQEAgLTIzMSw2ICsyMzEsOCBAQCBRVmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJp
YW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1ldGFUeXBlOjpUeXBlCiAgICAg
ICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkRvdWJsZTsKICAgICAgICAgICAgICAg
ICBlbHNlIGlmIChvYmplY3QtPmluaGVyaXRzKCZCb29sZWFuT2JqZWN0OjpzX2luZm8pKQogICAg
ICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpCb29sOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNfaW5mbykpCisgICAg
ICAgICAgICAgICAgICAgIGhpbnQgPSBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KHFNZXRh
VHlwZUlkPFFXZWJFbGVtZW50PigpKTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFWYXJpYW50TWFwOwogICAgICAgICAgICAgICAg
IGJyZWFrOwpAQCAtNzYyLDEzICs3NjQsMjAgQEAgUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFy
aWFudChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUsIFFNZXRhVHlwZTo6VHlwZQogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfSBlbHNlIGlmIChRdFBpeG1hcEluc3Rh
bmNlOjpjYW5IYW5kbGUoc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpUeXBlPihoaW50KSkpIHsKICAg
ICAgICAgICAgICAgICByZXQgPSBRdFBpeG1hcEluc3RhbmNlOjp2YXJpYW50RnJvbU9iamVjdChv
YmplY3QsIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpOwotICAgICAgICAgICAg
fSBlbHNlIGlmIChoaW50ID09IChRTWV0YVR5cGU6OlR5cGUpIHFNZXRhVHlwZUlkPFFXZWJFbGVt
ZW50PigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRz
KCZKU0hUTUxFbGVtZW50OjpzX2luZm8pKQorICAgICAgICAgICAgfSBlbHNlIGlmIChoaW50ID09
IFFNZXRhVHlwZTo6VHlwZShxTWV0YVR5cGVJZDxRV2ViRWxlbWVudD4oKSkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNf
aW5mbykpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxR
V2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU0hU
TUxFbGVtZW50Kj4ob2JqZWN0KSktPmltcGwoKSkpOwotICAgICAgICAgICAgICAgIGVsc2UgaWYg
KG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0RvY3VtZW50OjpzX2luZm8pKQorICAgICAg
ICAgICAgICAgICAgICBkaXN0ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNEb2N1
bWVudDo6c19pbmZvKSkgewogICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJv
bVZhbHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19j
YXN0PEpTRG9jdW1lbnQqPihvYmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6
OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGRpc3QgPSAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVt
ZW50PihRV2ViRWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBkaXN0ID0gMTA7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlw
ZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UURSVE5vZGU+KCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
b2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTTm9kZTo6c19pbmZvKSkKICAgICAgICAgICAg
ICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVu
dGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU05vZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IDE2MGEwMjkuLjIwZTkxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMDUtMDQgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgdHN0
X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzIGhhZCBhbiBleHBlY3RlZC1mYWlsIHRoYXQgY2Fu
IG5vdyBiZSAKKyAgICAgICAgcmVtb3ZlZC4KKyAgICAgICAgCisgICAgICAgICogdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorCiAyMDExLTA1LTA0ICBDcmlzIE5lY2thciAgPGNk
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5k
ZXggNmJmYjUwZi4uNmIwODI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9x
d2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9x
d2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTIwMDYsNyArMjAwNiw2IEBAIHZvaWQgdHN0
X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJs
b2FkZWRTbG90KFFSZWdFeHApCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tl
ZCgpOwogICAgIGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5
KSIpOwotICAgIFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5x
dEZ1bmN0aW9uSW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2Fk
ZWRTbG90KFFPYmplY3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92540</attachid>
            <date>2011-05-05 22:21:08 -0700</date>
            <delta_ts>2011-05-17 16:03:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4787</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5N2I1YTMwLi5hZjI0OGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDUtMDQgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
dHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgV2hlbiB3ZSBm
aW5kIGEgc2xvdCB0aGF0IHRha2VzIGEgUVdlYkVsZW1lbnQsIHdlIGhhdmUgdG8gc2V0IHRoZSAK
KyAgICAgICAiZGlzdGFuY2UiICh0aGUgaGV1cmlzdGljIHZhbHVlIHRoYXQgaGVscHMgdXMgZmlu
ZCB0aGUgYmVzdCBvdmVybG9hZCkgCisgICAgICAgYW5kIGJyZWFrIG91dCBvZiB0aGUgc3dpdGNo
IHN0YXRlbWVudC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgZml4ZXMgYSBwcmV2aW91
c2x5IGZhaWxpbmcgdGVzdC4KKworICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoK
KyAgICAgICAgKEpTQzo6QmluZGluZ3M6OmNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQpOgorCiAyMDEx
LTA1LTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0
L3F0X3J1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3Bw
CmluZGV4IGFjNzZlZjMuLjM1Y2Y2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9ydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVu
dGltZS5jcHAKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJEYXRlSW5zdGFuY2UuaCIKICNp
bmNsdWRlICJEYXRlTWF0aC5oIgogI2luY2x1ZGUgIkRhdGVQcm90b3R5cGUuaCIKLSNpbmNsdWRl
ICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIgorI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgiZgogI2luY2x1ZGUgIkZ1bmN0aW9uUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSW50
ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCkBAIC0yMzEsNiArMjMxLDggQEAgUVZh
cmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFs
dWUsIFFNZXRhVHlwZTo6VHlwZQogICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBl
OjpEb3VibGU7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAob2JqZWN0LT5pbmhlcml0cygmQm9v
bGVhbk9iamVjdDo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlw
ZTo6Qm9vbDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChvYmplY3QtPmluaGVyaXRzKCZKU0hU
TUxFbGVtZW50OjpzX2luZm8pKQorICAgICAgICAgICAgICAgICAgICBoaW50ID0gc3RhdGljX2Nh
c3Q8UU1ldGFUeXBlOjpUeXBlPihxTWV0YVR5cGVJZDxRV2ViRWxlbWVudD4oKSk7CiAgICAgICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFy
aWFudE1hcDsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTc2MiwxMyArNzY0LDIyIEBAIFFW
YXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZh
bHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IH0gZWxzZSBpZiAoUXRQaXhtYXBJbnN0YW5jZTo6Y2FuSGFuZGxlKHN0YXRpY19jYXN0PFFNZXRh
VHlwZTo6VHlwZT4oaGludCkpKSB7CiAgICAgICAgICAgICAgICAgcmV0ID0gUXRQaXhtYXBJbnN0
YW5jZTo6dmFyaWFudEZyb21PYmplY3Qob2JqZWN0LCBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5
cGU+KGhpbnQpKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpU
eXBlKSBxTWV0YVR5cGVJZDxRV2ViRWxlbWVudD4oKSkgewotICAgICAgICAgICAgICAgIGlmIChv
YmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkKKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAoaGludCA9PSBRTWV0YVR5cGU6OlR5cGUocU1ldGFUeXBlSWQ8UVdl
YkVsZW1lbnQ+KCkpKSB7CisgICAgICAgICAgICAgICAgaWYgKG9iamVjdCAmJiBvYmplY3QtPmlu
aGVyaXRzKCZKU0hUTUxFbGVtZW50OjpzX2luZm8pKSB7CiAgICAgICAgICAgICAgICAgICAgIHJl
dCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6
OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNIVE1MRWxlbWVudCo+KG9iamVjdCkpLT5pbXBsKCkpKTsK
LSAgICAgICAgICAgICAgICBlbHNlIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNE
b2N1bWVudDo6c19pbmZvKSkKKyAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDA7CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNEb2N1bWVudDo6c19pbmZvKSkgewog
ICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50
PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTRG9jdW1lbnQqPihv
YmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwotICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxl
bWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOworICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRV2ViRWxlbWVudCgp
KTsKKyAgICAgICAgICAgICAgICBkaXN0ID0gMTA7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBl
SWQ8UURSVE5vZGU+KCkpIHsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+
aW5oZXJpdHMoJkpTTm9kZTo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZh
cmlhbnQ6OmZyb21WYWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVudGltZTo6Y3JlYXRlKChzdGF0
aWNfY2FzdDxKU05vZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDE2
MGEwMjkuLjIwZTkxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUt
MDQgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gdHN0X1FXZWJGcmFt
ZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgdHN0X1FXZWJGcmFtZTo6b3Zlcmxv
YWRlZFNsb3RzIGhhZCBhbiBleHBlY3RlZC1mYWlsIHRoYXQgY2FuIG5vdyBiZSAKKyAgICAgICAg
cmVtb3ZlZC4KKyAgICAgICAgCisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJh
bWUuY3BwOgorCiAyMDExLTA1LTA0ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9x
dC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5kZXggNmJmYjUwZi4uNmIwODI3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJm
cmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJm
cmFtZS5jcHAKQEAgLTIwMDYsNyArMjAwNiw2IEBAIHZvaWQgdHN0X1FXZWJGcmFtZTo6b3Zlcmxv
YWRlZFNsb3RzKCkKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFSZWdFeHAp
CiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tlZCgpOwogICAgIGV2YWxKUygi
bXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5KSIpOwotICAgIFFFWFBFQ1Rf
RkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOSIs
IENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0aW9uSW52b2tlZCgp
LCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFPYmplY3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93840</attachid>
            <date>2011-05-17 16:03:06 -0700</date>
            <delta_ts>2011-06-09 09:53:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-tst_QWebFrame-overloadedSlots-fails.patch</filename>
            <type>text/plain</type>
            <size>16860</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSA2Y2Q3NWZhODJjNTljOTJlMTllMTRmZmE1OWQ0MTgwYjhmNDY0NTY0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogVHVlLCAxNyBNYXkgMjAxMSAxOTo0NzoxNSAt
MDMwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0gdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3Rz
KCkgZmFpbHMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpTb3VyY2UvV2ViQ29yZToKCkluY3JlYXNlIHRo
ZSBsaWtlbmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMu
IFdoZW4gaGludGVkCndpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxpZnkgdGhlIGNv
bnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAptYXRjaCIuCgpUaGUgdGVzdCB3
YXMgZmFpbGluZyBiZWNhdXNlIHRoZSB3cm9uZyBzbG90IHdhcyBjYWxsZWQsIHNpbmNlIHRoZSBR
V2ViRWxlbWVudAptYXRjaCB3YXMgdGFrZW4gYXMgZXF1YWwgdG8gdGhlIG90aGVycyBhbmQgbm90
IGNob3NlbiB3aGVuIHRoZSBtZXRhY2FsbCBoYXBwZW5lZC4KCldlIGFsc28gcmVtb3ZlIHRoZSBp
bXBsaWNpdCBjb252ZXJzaW9uIGJldHdlZW4gSlNEb2N1bWVudCAod2hpY2ggaXMgbm90IGFuCmVs
ZW1lbnQpIHRvIFFXZWJFbGVtZW50LiBUaGUgY29udmVyc2lvbiBvbmx5IHdvcmtlZCBmb3IgY2Fs
bGluZyBzbG90cywgd2hpbGUKd2l0aG91dCBoaW50IGl0IHJldHVybmVkIGEgUVZhcmlhbnRNYXAg
KGFzIGNhbiBiZSBzZWVuIGluIGRvbUN5Y2xlcyB0ZXN0KS4gSXQgd2FzCmFkZGVkIGZvciBzdXBw
b3J0aW5nIERSVCwgYnV0IHNpbmNlIHRoaXMgY2hhbmdlIHdlIGNhbiB1c2UgaXQgYXMgUVZhcmlh
bnRNYXAgYW5kCmdldCB0aGUgdmFsdWUgZm9yICJkb2N1bWVudEVsZW1lbnQiLgoKVGhpcyBwYXRj
aCBpcyBiYXNlZCBvbiBOb2FtIFJvc2VudGhhbCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBi
dWcuCgoqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKEpTQzo6QmluZGluZ3M6OmhpbnRGb3JS
ZWFsVHlwZSk6CkV4dHJhY3RlZCBmdW5jdGlvbiB0byBjaG9vc2UgdGhlIG1ldGF0eXBlIGhpbnQg
YmFzZWQgb24gdGhlIEpTVmFsdWUgdHlwZS4gIEFkZApRV2ViRWxlbWVudCBtZXRhdHlwZSBhcyBh
IGhpbnQgZm9yIEpTRWxlbWVudCBvYmplY3RzLCB0aGlzIHdheSBpZiBubyBoaW50IGlzCnByb3Zp
ZGVkLCBKU0VsZW1lbnQgb2JqZWN0cyB3aWxsIGFsd2F5cyBiZSBjb252ZXJ0ZWQgdG8gUVdlYkVs
ZW1lbnRzLgoKKEpTQzo6QmluZGluZ3M6OmNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQpOgpVc2UgcHJl
dmlvdXMgZnVuY3Rpb24uIElkZW50aWZ5IHRoZSBjb252ZXJzaW9uIGJldHdlZW4gSlNFbGVtZW50
IHRvIFFXZWJFbGVtZW50CmFzIGEgInBlcmZlY3QgbWF0Y2giIChkaXN0ID0gMCkuIEFuZCByZW1v
dmUgdGhlIGltcGxpY2l0IGNvbnZlcnNpb24gd2hlbiB0aGUgaGludAppcyBRV2ViRWxlbWVudCBt
ZXRhdHlwZSBhbmQgd2UgaGF2ZSBhIEpTRG9jdW1lbnQuICBDaGFuZ2VkIGZyb20gSlNIVE1MRWxl
bWVudCB0bwpKU0VsZW1lbnQgdG8gY292ZXIgdGhlICdkb2N1bWVudEVsZW1lbnQnLgoKU291cmNl
L1dlYktpdC9xdDoKClNpbmNlIHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdhcyByZW1vdmVkLCBj
aGFuZ2Ugc3VwcG9ydCBmdW5jdGlvbnMgb2YgRFJUIHRvCmV4cGVjdCBhIFFWYXJpYW50TWFwIGlu
c3RlYWQgb2YgYSBRV2ViRWxlbWVudC4gVGhpcyBtYXRjaGVzIHRoZSBleHBvc2VkIGZ1bmN0aW9u
CmluIHRoZSBjb250cm9sbGVyLCB3aGljaCB0YWtlcyAnZG9jdW1lbnQnIGFuZCBub3QgJ2RvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCcuCgoqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0Lmg6CiogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgoo
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Om5vZGVzRnJvbVJlY3QpOgpDaGFuZ2UgZnVuY3Rpb24g
dG8gbG9va3VwICdkb2N1bWVudEVsZW1lbnQnIGluIGRvY3VtZW50IG1hcCBpbnN0ZWFkIG9mIGV4
cGVjdGluZyBpdAphcyBhIHBhcmFtZXRlci4KCiogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJh
bWUuY3BwOgoodHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKToKUmVtb3ZlIGV4cGVjdGVk
IGZhaWx1cmUgYW5kIGZpeCB3cm9uZyBjb21tZW50LgoKVG9vbHM6CgpTaW5jZSB3ZSBkb24ndCBp
bXBsaWN0bHkgY29udmVydCAnZG9jdW1lbnQnIG9iamVjdCB0byBRV2ViRWxlbWVudAppbiBtZXRh
Y2FsbHMgYW55bW9yZSwgY2hhbmdlIHRoZSBjb250cm9sbGVyIHRvIGV4cGVjdCBRVmFyaWFudE1h
cCBpbnN0ZWFkLgoKKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cDoKKExheW91dFRlc3RDb250cm9sbGVyOjpub2Rlc0Zyb21SZWN0KToKKiBEdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsrKysrKysrCiBTb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgICAgICAgICAgICB8ICAgODcgKysrKysrKysr
Ky0tLS0tLS0tLS0KIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAyMSArKysrKwogLi4uL3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmNwcCAgfCAgICA1ICstCiAuLi4vcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuaCAgICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIHwgICAgMyArLQogVG9vbHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKwogVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgfCAgICAyICstCiBUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggICB8ICAgIDIgKy0KIDkgZmls
ZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAwODIyYTMzLi43YTVjMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsNDAgQEAKIAogICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIHRzdF9RV2Vi
RnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIEluY3JlYXNlIHRoZSBsaWtl
bmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMuIFdoZW4g
aGludGVkCisgICAgICAgIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxpZnkgdGhl
IGNvbnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAorICAgICAgICBtYXRjaCIu
CisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jvbmcgc2xvdCB3
YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2ggd2FzIHRha2Vu
IGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUgbWV0YWNhbGwg
aGFwcGVuZWQuCisKKyAgICAgICAgV2UgYWxzbyByZW1vdmUgdGhlIGltcGxpY2l0IGNvbnZlcnNp
b24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KKyAgICAgICAgZWxlbWVudCkg
dG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxsaW5nIHNs
b3RzLCB3aGlsZQorICAgICAgICB3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFyaWFudE1h
cCAoYXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKKyAgICAgICAgYWRk
ZWQgZm9yIHN1cHBvcnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2FuIHVzZSBp
dCBhcyBRVmFyaWFudE1hcCBhbmQKKyAgICAgICAgZ2V0IHRoZSB2YWx1ZSBmb3IgImRvY3VtZW50
RWxlbWVudCIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBOb2FtIFJvc2VudGhh
bCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBidWcuCisKKyAgICAgICAgKiBicmlkZ2UvcXQv
cXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpoaW50Rm9yUmVhbFR5cGUp
OgorICAgICAgICBFeHRyYWN0ZWQgZnVuY3Rpb24gdG8gY2hvb3NlIHRoZSBtZXRhdHlwZSBoaW50
IGJhc2VkIG9uIHRoZSBKU1ZhbHVlIHR5cGUuICBBZGQKKyAgICAgICAgUVdlYkVsZW1lbnQgbWV0
YXR5cGUgYXMgYSBoaW50IGZvciBKU0VsZW1lbnQgb2JqZWN0cywgdGhpcyB3YXkgaWYgbm8gaGlu
dCBpcworICAgICAgICBwcm92aWRlZCwgSlNFbGVtZW50IG9iamVjdHMgd2lsbCBhbHdheXMgYmUg
Y29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4KKworICAgICAgICAoSlNDOjpCaW5kaW5nczo6Y29u
dmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIFVzZSBwcmV2aW91cyBmdW5jdGlvbi4gSWRl
bnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQgdG8gUVdlYkVsZW1lbnQKKyAg
ICAgICAgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92ZSB0aGUgaW1w
bGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CisgICAgICAgIGlzIFFXZWJFbGVtZW50IG1l
dGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hUTUxFbGVt
ZW50IHRvCisgICAgICAgIEpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxlbWVudCcu
CisKKzIwMTEtMDUtMTcgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xp
dmVpcmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKwogICAgICAgICBbUXRdIEZpeCB0c3RfUVdlYkZyYW1lOjpnZXRTZXRTdGF0aWNQcm9wZXJ0
eSgpIGF1dG90ZXN0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDk4NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVu
dGltZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXgg
NjJkNDQxNy4uMWExNGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0
X3J1bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNw
cApAQCAtMTgwLDYgKzE4MCwzOCBAQCBzdGF0aWMgSlNSZWFsVHlwZSB2YWx1ZVJlYWxUeXBlKEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWwpCiAgICAgcmV0dXJuIFN0cmluZzsgLy8gSSBkb24n
dCBrbm93LgogfQogCitzdGF0aWMgUU1ldGFUeXBlOjpUeXBlIGhpbnRGb3JSZWFsVHlwZShKU1Jl
YWxUeXBlIHR5cGUsIEpTT2JqZWN0KiBvYmplY3QpCit7CisgICAgc3dpdGNoICh0eXBlKSB7Cisg
ICAgY2FzZSBOdW1iZXI6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OkRvdWJsZTsKKyAgICBj
YXNlIEJvb2xlYW46CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OkJvb2w7CisgICAgY2FzZSBT
dHJpbmc6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFTdHJpbmc7CisgICAgY2FzZSBEYXRl
OgorICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRRGF0ZVRpbWU7CisgICAgY2FzZSBSZWdFeHA6
CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFSZWdFeHA7CisgICAgY2FzZSBPYmplY3Q6Cisg
ICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzKCZOdW1iZXJPYmplY3Q6OnNfaW5mbykpCisgICAg
ICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpEb3VibGU7CisgICAgICAgIGlmIChvYmplY3QtPmlu
aGVyaXRzKCZCb29sZWFuT2JqZWN0OjpzX2luZm8pKQorICAgICAgICAgICAgcmV0dXJuIFFNZXRh
VHlwZTo6Qm9vbDsKKyAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTRWxlbWVudDo6c19p
bmZvKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KHFN
ZXRhVHlwZUlkPFFXZWJFbGVtZW50PigpKTsKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVZh
cmlhbnRNYXA7CisgICAgY2FzZSBRT2JqOgorICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRT2Jq
ZWN0U3RhcjsKKyAgICBjYXNlIEpTQnl0ZUFycmF5OgorICAgICAgICByZXR1cm4gUU1ldGFUeXBl
OjpRQnl0ZUFycmF5OworICAgIGNhc2UgQXJyYXk6CisgICAgY2FzZSBSVEFycmF5OgorICAgICAg
ICByZXR1cm4gUU1ldGFUeXBlOjpRVmFyaWFudExpc3Q7CisgICAgfQorICAgIHJldHVybiBRTWV0
YVR5cGU6OlFTdHJpbmc7Cit9CisKIFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhl
Y1N0YXRlKiwgSlNWYWx1ZSwgUU1ldGFUeXBlOjpUeXBlLCBpbnQqLCBIYXNoU2V0PEpTT2JqZWN0
Kj4qLCBpbnQpOwogCiBzdGF0aWMgUVZhcmlhbnRNYXAgY29udmVydFZhbHVlVG9RVmFyaWFudE1h
cChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvYmplY3QsIEhhc2hTZXQ8SlNPYmplY3QqPiog
dmlzaXRlZE9iamVjdHMsIGludCByZWN1cnNpb25MaW1pdCkKQEAgLTIzOSw0NCArMjcxLDggQEAg
UVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUg
dmFsdWUsIFFNZXRhVHlwZTo6VHlwZQogCiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlv
bnNPbmx5KTsKICAgICBKU1JlYWxUeXBlIHR5cGUgPSB2YWx1ZVJlYWxUeXBlKGV4ZWMsIHZhbHVl
KTsKLSAgICBpZiAoaGludCA9PSBRTWV0YVR5cGU6OlZvaWQpIHsKLSAgICAgICAgc3dpdGNoKHR5
cGUpIHsKLSAgICAgICAgICAgIGNhc2UgTnVtYmVyOgotICAgICAgICAgICAgICAgIGhpbnQgPSBR
TWV0YVR5cGU6OkRvdWJsZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgQm9vbGVhbjoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpCb29sOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBTdHJpbmc6Ci0gICAgICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFTdHJpbmc7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIERhdGU6Ci0gICAgICAgICAg
ICAgICAgaGludCA9IFFNZXRhVHlwZTo6UURhdGVUaW1lOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSBSZWdFeHA6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRh
VHlwZTo6UVJlZ0V4cDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2Ug
T2JqZWN0OgotICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzKCZOdW1iZXJPYmpl
Y3Q6OnNfaW5mbykpCi0gICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkRvdWJs
ZTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChvYmplY3QtPmluaGVyaXRzKCZCb29sZWFuT2Jq
ZWN0OjpzX2luZm8pKQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpCb29s
OwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRh
VHlwZTo6UVZhcmlhbnRNYXA7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlIFFPYmo6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UU9iamVjdFN0YXI7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEpTQnl0ZUFycmF5Ogot
ICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFCeXRlQXJyYXk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEFycmF5OgotICAgICAgICAgICAgY2FzZSBS
VEFycmF5OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFWYXJpYW50TGlzdDsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KKyAgICBpZiAoaGludCA9
PSBRTWV0YVR5cGU6OlZvaWQpCisgICAgICAgIGhpbnQgPSBoaW50Rm9yUmVhbFR5cGUodHlwZSwg
b2JqZWN0KTsKIAogICAgIHFDb252RGVidWcoKSA8PCAiY29udmVydFZhbHVlVG9RVmFyaWFudDog
anN0eXBlIGlzICIgPDwgdHlwZSA8PCAiLCBoaW50IGlzIiA8PCBoaW50OwogCkBAIC03NzYsMTIg
Kzc3MiwxNSBAQCBRVmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSB2YWx1ZSwgUU1ldGFUeXBlOjpUeXBlCiAgICAgICAgICAgICB9IGVsc2UgaWYg
KFF0UGl4bWFwSW5zdGFuY2U6OmNhbkhhbmRsZShzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+
KGhpbnQpKSkgewogICAgICAgICAgICAgICAgIHJldCA9IFF0UGl4bWFwSW5zdGFuY2U6OnZhcmlh
bnRGcm9tT2JqZWN0KG9iamVjdCwgc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpUeXBlPihoaW50KSk7
CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFU
eXBlSWQ8UVdlYkVsZW1lbnQ+KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9i
amVjdC0+aW5oZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNfaW5mbykpCi0gICAgICAgICAgICAgICAg
ICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFF0V2ViRWxlbWVudFJ1
bnRpbWU6OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNIVE1MRWxlbWVudCo+KG9iamVjdCkpLT5pbXBs
KCkpKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0
cygmSlNEb2N1bWVudDo6c19pbmZvKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlh
bnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChz
dGF0aWNfY2FzdDxKU0RvY3VtZW50Kj4ob2JqZWN0KSktPmltcGwoKS0+ZG9jdW1lbnRFbGVtZW50
KCkpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJldCA9IFFW
YXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFFXZWJFbGVtZW50KCkpOworICAgICAgICAg
ICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNFbGVtZW50OjpzX2luZm8p
KSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVs
ZW1lbnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNFbGVtZW50
Kj4ob2JqZWN0KSktPmltcGwoKSkpOworICAgICAgICAgICAgICAgICAgICBkaXN0ID0gMDsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gQWxsb3cgb3RoZXIgb2JqZWN0cyB0byByZWFjaCB0aGlzIG9u
ZS4gVGhpcyB3b24ndCBjYXVzZSBvdXIgYWxnb3JpdGhtIHRvCisgICAgICAgICAgICAgICAgICAg
IC8vIGxvb3Agc2luY2Ugd2hlbiB3ZSBmaW5kIGFuIEVsZW1lbnQgd2UgZG8gbm90IHJlY3Vyc2Uu
CisgICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRPYmplY3RzLT5yZW1vdmUob2JqZWN0KTsKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFFXZWJFbGVtZW50KCkp
OwogICAgICAgICAgICAgfSBlbHNlIGlmIChoaW50ID09IChRTWV0YVR5cGU6OlR5cGUpIHFNZXRh
VHlwZUlkPFFEUlROb2RlPigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG9iamVjdCAmJiBvYmpl
Y3QtPmluaGVyaXRzKCZKU05vZGU6OnNfaW5mbykpCiAgICAgICAgICAgICAgICAgICAgIHJldCA9
IFFWYXJpYW50Ojpmcm9tVmFsdWU8UURSVE5vZGU+KFF0RFJUTm9kZVJ1bnRpbWU6OmNyZWF0ZSgo
c3RhdGljX2Nhc3Q8SlNOb2RlKj4ob2JqZWN0KSktPmltcGwoKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRl
eCBkN2NjMDg0Li40MzNlOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEx
LTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9w
ZW5ib3NzYS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1F0XSB0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKworICAgICAg
ICBTaW5jZSB0aGUgaW1wbGljaXQgY29udmVyc2lvbiB3YXMgcmVtb3ZlZCwgY2hhbmdlIHN1cHBv
cnQgZnVuY3Rpb25zIG9mIERSVCB0bworICAgICAgICBleHBlY3QgYSBRVmFyaWFudE1hcCBpbnN0
ZWFkIG9mIGEgUVdlYkVsZW1lbnQuIFRoaXMgbWF0Y2hlcyB0aGUgZXhwb3NlZCBmdW5jdGlvbgor
ICAgICAgICBpbiB0aGUgY29udHJvbGxlciwgd2hpY2ggdGFrZXMgJ2RvY3VtZW50JyBhbmQgbm90
ICdkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQnLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6bm9kZXNGcm9tUmVjdCk6CisgICAgICAgIENoYW5nZSBmdW5jdGlvbiB0byBsb29rdXAgJ2Rv
Y3VtZW50RWxlbWVudCcgaW4gZG9jdW1lbnQgbWFwIGluc3RlYWQgb2YgZXhwZWN0aW5nIGl0Cisg
ICAgICAgIGFzIGEgcGFyYW1ldGVyLgorCisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwOgorICAgICAgICAodHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKToK
KyAgICAgICAgUmVtb3ZlIGV4cGVjdGVkIGZhaWx1cmUgYW5kIGZpeCB3cm9uZyBjb21tZW50Lgor
CisyMDExLTA1LTE3ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZl
aXJhQG9wZW5ib3NzYS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4K
IAogICAgICAgICBbUXRdIFNpbXBsaWZ5IHN5bnRheCBpbiB0ZXN0IGNvZGUgdG8gbWFrZSBwcmVw
YXJlLUNoYW5nZUxvZyBsZXNzIGNvbmZ1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGE4
ODhlMDYuLmM3YmU3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC05NTUsMTAgKzk1NSwx
MSBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpwbGFpblRleHQoY29uc3QgUVZh
cmlhbnQmIHJhbmdlKQogICAgIHJldHVybiBtYXAudmFsdWUoUUxhdGluMVN0cmluZygiaW5uZXJU
ZXh0IikpLnRvU3RyaW5nKCk7CiB9CiAKLVFWYXJpYW50TGlzdCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6bm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBp
bnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNp
Z25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQorUVZhcmlhbnRMaXN0IER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwg
aW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0
b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpCiB7CiAgICAgUVZhcmlhbnRM
aXN0IHJlczsKLSAgICBXZWJDb3JlOjpFbGVtZW50KiB3ZWJFbGVtZW50ID0gZG9jdW1lbnQubV9l
bGVtZW50OworICAgIFFXZWJFbGVtZW50IGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50LnZhbHVl
KFFMYXRpbjFTdHJpbmcoImRvY3VtZW50RWxlbWVudCIpKS52YWx1ZTxRV2ViRWxlbWVudD4oKTsK
KyAgICBXZWJDb3JlOjpFbGVtZW50KiB3ZWJFbGVtZW50ID0gZG9jdW1lbnRFbGVtZW50Lm1fZWxl
bWVudDsKICAgICBpZiAoIXdlYkVsZW1lbnQpCiAgICAgICAgIHJldHVybiByZXM7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuaAppbmRleCBmZjNkMGIxLi4yZDMwZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBA
IC0xOTEsNyArMTkxLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNpbXVsYXRlRGVza3Rv
cE5vdGlmaWNhdGlvbkNsaWNrKGNvbnN0IFFTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUVN0
cmluZyB2aWV3cG9ydEFzVGV4dChRV2ViUGFnZSosIGludCBkZXZpY2VEUEksIGNvbnN0IFFTaXpl
JiBkZXZpY2VTaXplLCBjb25zdCBRU2l6ZSYgYXZhaWxhYmxlU2l6ZSk7CiAKLSAgICBzdGF0aWMg
UVZhcmlhbnRMaXN0IG5vZGVzRnJvbVJlY3QoY29uc3QgUVdlYkVsZW1lbnQmIGRvY3VtZW50LCBp
bnQgeCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRv
bSwgdW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7CisgICAgc3RhdGljIFFWYXJp
YW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgs
IGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVu
c2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogICAgIHN0YXRpYyBRU3RyaW5nIHJl
c3BvbnNlTWltZVR5cGUoUVdlYkZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJPcGVuZXIo
UVdlYkZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3Ry
aW5nJiBvcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIGIvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5kZXggYTk4MjEx
OS4uMTA1MmEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUv
dHN0X3F3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUv
dHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTIwMDQsMTAgKzIwMDQsOSBAQCB2b2lkIHRzdF9RV2ViRnJh
bWU6Om92ZXJsb2FkZWRTbG90cygpCiAgICAgUUNPTVBBUkUobV9teU9iamVjdC0+cXRGdW5jdGlv
bkludm9rZWQoKSwgMzUpOwogICAgICovCiAKLSAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2Fk
ZWRTbG90KFFSZWdFeHApCisgICAgLy8gc2hvdWxkIHBpY2sgbXlPdmVybG9hZGVkU2xvdChRV2Vi
RWxlbWVudCkKICAgICBtX215T2JqZWN0LT5yZXNldFF0RnVuY3Rpb25JbnZva2VkKCk7CiAgICAg
ZXZhbEpTKCJteU9iamVjdC5teU92ZXJsb2FkZWRTbG90KGRvY3VtZW50LmJvZHkpIik7Ci0gICAg
UUVYUEVDVF9GQUlMKCIiLCAiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MzE5IiwgQ29udGludWUpOwogICAgIFFDT01QQVJFKG1fbXlPYmplY3QtPnF0RnVuY3Rpb25J
bnZva2VkKCksIDM2KTsKIAogICAgIC8vIHNob3VsZCBwaWNrIG15T3ZlcmxvYWRlZFNsb3QoUU9i
amVjdCopCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggNzE0MTA5OS4uNDlhZThkYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA1LTE3ICBDYWlvIE1hcmNlbG8g
ZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSB0c3RfUVdlYkZy
YW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKworICAgICAgICBTaW5jZSB3ZSBkb24ndCBpbXBs
aWN0bHkgY29udmVydCAnZG9jdW1lbnQnIG9iamVjdCB0byBRV2ViRWxlbWVudAorICAgICAgICBp
biBtZXRhY2FsbHMgYW55bW9yZSwgY2hhbmdlIHRoZSBjb250cm9sbGVyIHRvIGV4cGVjdCBRVmFy
aWFudE1hcCBpbnN0ZWFkLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNG
cm9tUmVjdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oOgorCiAyMDExLTA1LTE3ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZDQ3ZjYyYy4uOGI5Yjcy
MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKQEAgLTg5Myw3ICs4OTMsNyBAQCBib29sIExheW91dFRlc3RDb250cm9sbGVyOjpo
YXNTcGVsbGluZ01hcmtlcihpbnQsIGludCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVFWYXJp
YW50TGlzdCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxl
bWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdo
dCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQor
UVZhcmlhbnRMaXN0IExheW91dFRlc3RDb250cm9sbGVyOjpub2Rlc0Zyb21SZWN0KGNvbnN0IFFW
YXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVk
IHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBp
bmcpCiB7CiAgICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0
KGRvY3VtZW50LCB4LCB5LCB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGlnbm9yZUNsaXBwaW5n
KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuaAppbmRleCA2OTdjMDllLi42YmJhMDM2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0yMzMsNyArMjMzLDcgQEAgcHVibGlj
IHNsb3RzOgogICAgIHZvaWQgYWJvcnRNb2RhbCgpIHt9CiAgICAgYm9vbCBoYXNTcGVsbGluZ01h
cmtlcihpbnQgZnJvbSwgaW50IGxlbmd0aCk7CiAKLSAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9t
UmVjdChjb25zdCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQg
dG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29s
IGlnbm9yZUNsaXBwaW5nKTsKKyAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBR
VmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25l
ZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBw
aW5nKTsKIAogICAgIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmlnaW4s
IGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uKTsKIAotLSAKMS43LjQuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96598</attachid>
            <date>2011-06-09 09:53:33 -0700</date>
            <delta_ts>2011-06-09 13:46:54 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>0001-Qt-tst_QWebFrame-overloadedSlots-fails.patch</filename>
            <type>text/plain</type>
            <size>16575</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSBhYWM2NGExODMwZmU1Mjk0NDMzY2Q4MTRmNjg5MjkwMDk3YzVmODZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogVGh1LCA5IEp1biAyMDExIDA5OjA4OjU1IC0w
MzAwClN1YmplY3Q6IFtQQVRDSF0gW1F0XSB0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMo
KSBmYWlscwogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJjZS9XZWJDb3JlOgoKSW5jcmVhc2UgdGhl
IGxpa2VuZXNzIHRoYXQgSlNFbGVtZW50cyBhcmUgY29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4g
V2hlbiBoaW50ZWQKd2l0aCBRV2ViRWxlbWVudCBtZXRhdHlwZSwgd2UgcXVhbGlmeSB0aGUgY29u
dmVyc2lvbiBmcm9tIEpTRWxlbWVudCBhcyBhICJwZXJmZWN0Cm1hdGNoIi4KClRoZSB0ZXN0IHdh
cyBmYWlsaW5nIGJlY2F1c2UgdGhlIHdyb25nIHNsb3Qgd2FzIGNhbGxlZCwgc2luY2UgdGhlIFFX
ZWJFbGVtZW50Cm1hdGNoIHdhcyB0YWtlbiBhcyBlcXVhbCB0byB0aGUgb3RoZXJzIGFuZCBub3Qg
Y2hvc2VuIHdoZW4gdGhlIG1ldGFjYWxsIGhhcHBlbmVkLgoKV2UgYWxzbyByZW1vdmUgdGhlIGlt
cGxpY2l0IGNvbnZlcnNpb24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KZWxl
bWVudCkgdG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxs
aW5nIHNsb3RzLCB3aGlsZQp3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFyaWFudE1hcCAo
YXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKYWRkZWQgZm9yIHN1cHBv
cnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2FuIHVzZSBpdCBhcyBRVmFyaWFu
dE1hcCBhbmQKZ2V0IHRoZSB2YWx1ZSBmb3IgImRvY3VtZW50RWxlbWVudCIuCgpUaGlzIHBhdGNo
IGlzIGJhc2VkIG9uIE5vYW0gUm9zZW50aGFsIG9yaWdpbmFsIHBhdGNoIGluIHRoZSBzYW1lIGJ1
Zy4KCiogYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgooSlNDOjpCaW5kaW5nczo6aGludEZvclJl
YWxUeXBlKToKRXh0cmFjdGVkIGZ1bmN0aW9uIHRvIGNob29zZSB0aGUgbWV0YXR5cGUgaGludCBi
YXNlZCBvbiB0aGUgSlNWYWx1ZSB0eXBlLiAgQWRkClFXZWJFbGVtZW50IG1ldGF0eXBlIGFzIGEg
aGludCBmb3IgSlNFbGVtZW50IG9iamVjdHMsIHRoaXMgd2F5IGlmIG5vIGhpbnQgaXMKcHJvdmlk
ZWQsIEpTRWxlbWVudCBvYmplY3RzIHdpbGwgYWx3YXlzIGJlIGNvbnZlcnRlZCB0byBRV2ViRWxl
bWVudHMuCgooSlNDOjpCaW5kaW5nczo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6ClVzZSBwcmV2
aW91cyBmdW5jdGlvbi4gSWRlbnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQg
dG8gUVdlYkVsZW1lbnQKYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92
ZSB0aGUgaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CmlzIFFXZWJFbGVtZW50IG1l
dGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hUTUxFbGVt
ZW50IHRvCkpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxlbWVudCcuCgpTb3VyY2Uv
V2ViS2l0L3F0OgoKU2luY2UgdGhlIGltcGxpY2l0IGNvbnZlcnNpb24gd2FzIHJlbW92ZWQsIGNo
YW5nZSBzdXBwb3J0IGZ1bmN0aW9ucyBvZiBEUlQgdG8KZXhwZWN0IGEgUVZhcmlhbnRNYXAgaW5z
dGVhZCBvZiBhIFFXZWJFbGVtZW50LiBUaGlzIG1hdGNoZXMgdGhlIGV4cG9zZWQgZnVuY3Rpb24K
aW4gdGhlIGNvbnRyb2xsZXIsIHdoaWNoIHRha2VzICdkb2N1bWVudCcgYW5kIG5vdCAnZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50Jy4KCiogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuaDoKKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CihE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bm9kZXNGcm9tUmVjdCk6CkNoYW5nZSBmdW5jdGlvbiB0
byBsb29rdXAgJ2RvY3VtZW50RWxlbWVudCcgaW4gZG9jdW1lbnQgbWFwIGluc3RlYWQgb2YgZXhw
ZWN0aW5nIGl0CmFzIGEgcGFyYW1ldGVyLgoKKiB0ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFt
ZS5jcHA6Cih0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMpOgpSZW1vdmUgZXhwZWN0ZWQg
ZmFpbHVyZSBhbmQgZml4IHdyb25nIGNvbW1lbnQuCgpUb29sczoKClNpbmNlIHdlIGRvbid0IGlt
cGxpY3RseSBjb252ZXJ0ICdkb2N1bWVudCcgb2JqZWN0IHRvIFFXZWJFbGVtZW50CmluIG1ldGFj
YWxscyBhbnltb3JlLCBjaGFuZ2UgdGhlIGNvbnRyb2xsZXIgdG8gZXhwZWN0IFFWYXJpYW50TWFw
IGluc3RlYWQuCgoqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
OgooTGF5b3V0VGVzdENvbnRyb2xsZXI6Om5vZGVzRnJvbVJlY3QpOgoqIER1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysKIFNvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCAgICAgICAgICAgIHwgICA4NyArKysrKysrKysr
LS0tLS0tLS0tLQogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDIxICsrKysrCiAuLi4vcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwICB8ICAgIDUgKy0KIC4uLi9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5oICAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2Vi
ZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAgfCAgICAzICstCiBUb29scy9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrCiBUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCB8ICAgIDIgKy0KIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCAgIHwgICAgMiArLQogOSBmaWxl
cyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDc4ZWQ4NDMuLjIzOTYyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMS0w
Ni0wOSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVu
Ym9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtRdF0gdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAg
SW5jcmVhc2UgdGhlIGxpa2VuZXNzIHRoYXQgSlNFbGVtZW50cyBhcmUgY29udmVydGVkIHRvIFFX
ZWJFbGVtZW50cy4gV2hlbiBoaW50ZWQKKyAgICAgICAgd2l0aCBRV2ViRWxlbWVudCBtZXRhdHlw
ZSwgd2UgcXVhbGlmeSB0aGUgY29udmVyc2lvbiBmcm9tIEpTRWxlbWVudCBhcyBhICJwZXJmZWN0
CisgICAgICAgIG1hdGNoIi4KKworICAgICAgICBUaGUgdGVzdCB3YXMgZmFpbGluZyBiZWNhdXNl
IHRoZSB3cm9uZyBzbG90IHdhcyBjYWxsZWQsIHNpbmNlIHRoZSBRV2ViRWxlbWVudAorICAgICAg
ICBtYXRjaCB3YXMgdGFrZW4gYXMgZXF1YWwgdG8gdGhlIG90aGVycyBhbmQgbm90IGNob3NlbiB3
aGVuIHRoZSBtZXRhY2FsbCBoYXBwZW5lZC4KKworICAgICAgICBXZSBhbHNvIHJlbW92ZSB0aGUg
aW1wbGljaXQgY29udmVyc2lvbiBiZXR3ZWVuIEpTRG9jdW1lbnQgKHdoaWNoIGlzIG5vdCBhbgor
ICAgICAgICBlbGVtZW50KSB0byBRV2ViRWxlbWVudC4gVGhlIGNvbnZlcnNpb24gb25seSB3b3Jr
ZWQgZm9yIGNhbGxpbmcgc2xvdHMsIHdoaWxlCisgICAgICAgIHdpdGhvdXQgaGludCBpdCByZXR1
cm5lZCBhIFFWYXJpYW50TWFwIChhcyBjYW4gYmUgc2VlbiBpbiBkb21DeWNsZXMgdGVzdCkuIEl0
IHdhcworICAgICAgICBhZGRlZCBmb3Igc3VwcG9ydGluZyBEUlQsIGJ1dCBzaW5jZSB0aGlzIGNo
YW5nZSB3ZSBjYW4gdXNlIGl0IGFzIFFWYXJpYW50TWFwIGFuZAorICAgICAgICBnZXQgdGhlIHZh
bHVlIGZvciAiZG9jdW1lbnRFbGVtZW50Ii4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGJhc2Vk
IG9uIE5vYW0gUm9zZW50aGFsIG9yaWdpbmFsIHBhdGNoIGluIHRoZSBzYW1lIGJ1Zy4KKworICAg
ICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6
OmhpbnRGb3JSZWFsVHlwZSk6CisgICAgICAgIEV4dHJhY3RlZCBmdW5jdGlvbiB0byBjaG9vc2Ug
dGhlIG1ldGF0eXBlIGhpbnQgYmFzZWQgb24gdGhlIEpTVmFsdWUgdHlwZS4gIEFkZAorICAgICAg
ICBRV2ViRWxlbWVudCBtZXRhdHlwZSBhcyBhIGhpbnQgZm9yIEpTRWxlbWVudCBvYmplY3RzLCB0
aGlzIHdheSBpZiBubyBoaW50IGlzCisgICAgICAgIHByb3ZpZGVkLCBKU0VsZW1lbnQgb2JqZWN0
cyB3aWxsIGFsd2F5cyBiZSBjb252ZXJ0ZWQgdG8gUVdlYkVsZW1lbnRzLgorCisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpjb252ZXJ0VmFsdWVUb1FWYXJpYW50KToKKyAgICAgICAgVXNlIHByZXZp
b3VzIGZ1bmN0aW9uLiBJZGVudGlmeSB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIEpTRWxlbWVudCB0
byBRV2ViRWxlbWVudAorICAgICAgICBhcyBhICJwZXJmZWN0IG1hdGNoIiAoZGlzdCA9IDApLiBB
bmQgcmVtb3ZlIHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdoZW4gdGhlIGhpbnQKKyAgICAgICAg
aXMgUVdlYkVsZW1lbnQgbWV0YXR5cGUgYW5kIHdlIGhhdmUgYSBKU0RvY3VtZW50LiAgQ2hhbmdl
ZCBmcm9tIEpTSFRNTEVsZW1lbnQgdG8KKyAgICAgICAgSlNFbGVtZW50IHRvIGNvdmVyIHRoZSAn
ZG9jdW1lbnRFbGVtZW50Jy4KKwogMjAxMS0wNi0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg4
Mzg3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCmluZGV4IDFjMWRmNzQu
LjIxYWE4ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKQEAgLTE4
MCw2ICsxODAsMzggQEAgc3RhdGljIEpTUmVhbFR5cGUgdmFsdWVSZWFsVHlwZShFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgdmFsKQogICAgIHJldHVybiBTdHJpbmc7IC8vIEkgZG9uJ3Qga25vdy4K
IH0KIAorc3RhdGljIFFNZXRhVHlwZTo6VHlwZSBoaW50Rm9yUmVhbFR5cGUoSlNSZWFsVHlwZSB0
eXBlLCBKU09iamVjdCogb2JqZWN0KQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Ug
TnVtYmVyOgorICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpEb3VibGU7CisgICAgY2FzZSBCb29s
ZWFuOgorICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpCb29sOworICAgIGNhc2UgU3RyaW5nOgor
ICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRU3RyaW5nOworICAgIGNhc2UgRGF0ZToKKyAgICAg
ICAgcmV0dXJuIFFNZXRhVHlwZTo6UURhdGVUaW1lOworICAgIGNhc2UgUmVnRXhwOgorICAgICAg
ICByZXR1cm4gUU1ldGFUeXBlOjpRUmVnRXhwOworICAgIGNhc2UgT2JqZWN0OgorICAgICAgICBp
ZiAob2JqZWN0LT5pbmhlcml0cygmTnVtYmVyT2JqZWN0OjpzX2luZm8pKQorICAgICAgICAgICAg
cmV0dXJuIFFNZXRhVHlwZTo6RG91YmxlOworICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygm
Qm9vbGVhbk9iamVjdDo6c19pbmZvKSkKKyAgICAgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OkJv
b2w7CisgICAgICAgIGlmIChvYmplY3QtPmluaGVyaXRzKCZKU0VsZW1lbnQ6OnNfaW5mbykpCisg
ICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpUeXBlPihxTWV0YVR5cGVJ
ZDxRV2ViRWxlbWVudD4oKSk7CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFWYXJpYW50TWFw
OworICAgIGNhc2UgUU9iajoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UU9iamVjdFN0YXI7
CisgICAgY2FzZSBKU0J5dGVBcnJheToKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UUJ5dGVB
cnJheTsKKyAgICBjYXNlIEFycmF5OgorICAgIGNhc2UgUlRBcnJheToKKyAgICAgICAgcmV0dXJu
IFFNZXRhVHlwZTo6UVZhcmlhbnRMaXN0OworICAgIH0KKyAgICByZXR1cm4gUU1ldGFUeXBlOjpR
U3RyaW5nOworfQorCiBRVmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSos
IEpTVmFsdWUsIFFNZXRhVHlwZTo6VHlwZSwgaW50KiwgSGFzaFNldDxKU09iamVjdCo+KiwgaW50
KTsKIAogc3RhdGljIFFWYXJpYW50TWFwIGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnRNYXAoRXhlY1N0
YXRlKiBleGVjLCBKU09iamVjdCogb2JqZWN0LCBIYXNoU2V0PEpTT2JqZWN0Kj4qIHZpc2l0ZWRP
YmplY3RzLCBpbnQgcmVjdXJzaW9uTGltaXQpCkBAIC0yMzksNDQgKzI3MSw4IEBAIFFWYXJpYW50
IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBR
TWV0YVR5cGU6OlR5cGUKIAogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7
CiAgICAgSlNSZWFsVHlwZSB0eXBlID0gdmFsdWVSZWFsVHlwZShleGVjLCB2YWx1ZSk7Ci0gICAg
aWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpWb2lkKSB7Ci0gICAgICAgIHN3aXRjaCh0eXBlKSB7Ci0g
ICAgICAgICAgICBjYXNlIE51bWJlcjoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBl
OjpEb3VibGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEJvb2xl
YW46Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6Qm9vbDsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgU3RyaW5nOgotICAgICAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRU3RyaW5nOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBEYXRlOgotICAgICAgICAgICAgICAgIGhp
bnQgPSBRTWV0YVR5cGU6OlFEYXRlVGltZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIGNhc2UgUmVnRXhwOgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFS
ZWdFeHA7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIE9iamVjdDoK
LSAgICAgICAgICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmTnVtYmVyT2JqZWN0OjpzX2lu
Zm8pKQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpEb3VibGU7Ci0gICAg
ICAgICAgICAgICAgZWxzZSBpZiAob2JqZWN0LT5pbmhlcml0cygmQm9vbGVhbk9iamVjdDo6c19p
bmZvKSkKLSAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6Qm9vbDsKLSAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFW
YXJpYW50TWFwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBRT2Jq
OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OlFPYmplY3RTdGFyOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBKU0J5dGVBcnJheToKLSAgICAgICAg
ICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRQnl0ZUFycmF5OwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgY2FzZSBBcnJheToKLSAgICAgICAgICAgIGNhc2UgUlRBcnJheToK
LSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFyaWFudExpc3Q7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKGhpbnQgPT0gUU1ldGFU
eXBlOjpWb2lkKQorICAgICAgICBoaW50ID0gaGludEZvclJlYWxUeXBlKHR5cGUsIG9iamVjdCk7
CiAKICAgICBxQ29udkRlYnVnKCkgPDwgImNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQ6IGpzdHlwZSBp
cyAiIDw8IHR5cGUgPDwgIiwgaGludCBpcyIgPDwgaGludDsKIApAQCAtNzc2LDEyICs3NzIsMTUg
QEAgUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgdmFsdWUsIFFNZXRhVHlwZTo6VHlwZQogICAgICAgICAgICAgfSBlbHNlIGlmIChRdFBpeG1h
cEluc3RhbmNlOjpjYW5IYW5kbGUoc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpUeXBlPihoaW50KSkp
IHsKICAgICAgICAgICAgICAgICByZXQgPSBRdFBpeG1hcEluc3RhbmNlOjp2YXJpYW50RnJvbU9i
amVjdChvYmplY3QsIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpOwogICAgICAg
ICAgICAgfSBlbHNlIGlmIChoaW50ID09IChRTWV0YVR5cGU6OlR5cGUpIHFNZXRhVHlwZUlkPFFX
ZWJFbGVtZW50PigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG9iamVjdCAmJiBvYmplY3QtPmlu
aGVyaXRzKCZKU0hUTUxFbGVtZW50OjpzX2luZm8pKQotICAgICAgICAgICAgICAgICAgICByZXQg
PSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpj
cmVhdGUoKHN0YXRpY19jYXN0PEpTSFRNTEVsZW1lbnQqPihvYmplY3QpKS0+aW1wbCgpKSk7Ci0g
ICAgICAgICAgICAgICAgZWxzZSBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTRG9j
dW1lbnQ6OnNfaW5mbykpCi0gICAgICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpmcm9t
VmFsdWU8UVdlYkVsZW1lbnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6OmNyZWF0ZSgoc3RhdGljX2Nh
c3Q8SlNEb2N1bWVudCo+KG9iamVjdCkpLT5pbXBsKCktPmRvY3VtZW50RWxlbWVudCgpKSk7Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6
ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRV2ViRWxlbWVudCgpKTsKKyAgICAgICAgICAgICAgICBp
ZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpTRWxlbWVudDo6c19pbmZvKSkgeworICAg
ICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihR
dFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTRWxlbWVudCo+KG9iamVj
dCkpLT5pbXBsKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDA7CisgICAgICAgICAg
ICAgICAgICAgIC8vIEFsbG93IG90aGVyIG9iamVjdHMgdG8gcmVhY2ggdGhpcyBvbmUuIFRoaXMg
d29uJ3QgY2F1c2Ugb3VyIGFsZ29yaXRobSB0bworICAgICAgICAgICAgICAgICAgICAvLyBsb29w
IHNpbmNlIHdoZW4gd2UgZmluZCBhbiBFbGVtZW50IHdlIGRvIG5vdCByZWN1cnNlLgorICAgICAg
ICAgICAgICAgICAgICB2aXNpdGVkT2JqZWN0cy0+cmVtb3ZlKG9iamVjdCk7CisgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXQg
PSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRV2ViRWxlbWVudCgpKTsKICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxR
RFJUTm9kZT4oKSkgewogICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhl
cml0cygmSlNOb2RlOjpzX2luZm8pKQogICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFu
dDo6ZnJvbVZhbHVlPFFEUlROb2RlPihRdERSVE5vZGVSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19j
YXN0PEpTTm9kZSo+KG9iamVjdCkpLT5pbXBsKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOTcxODcz
Yy4uNGNjMGY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wNi0wOSAg
Q2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtR
dF0gdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgU2luY2Ug
dGhlIGltcGxpY2l0IGNvbnZlcnNpb24gd2FzIHJlbW92ZWQsIGNoYW5nZSBzdXBwb3J0IGZ1bmN0
aW9ucyBvZiBEUlQgdG8KKyAgICAgICAgZXhwZWN0IGEgUVZhcmlhbnRNYXAgaW5zdGVhZCBvZiBh
IFFXZWJFbGVtZW50LiBUaGlzIG1hdGNoZXMgdGhlIGV4cG9zZWQgZnVuY3Rpb24KKyAgICAgICAg
aW4gdGhlIGNvbnRyb2xsZXIsIHdoaWNoIHRha2VzICdkb2N1bWVudCcgYW5kIG5vdCAnZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50Jy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Om5vZGVz
RnJvbVJlY3QpOgorICAgICAgICBDaGFuZ2UgZnVuY3Rpb24gdG8gbG9va3VwICdkb2N1bWVudEVs
ZW1lbnQnIGluIGRvY3VtZW50IG1hcCBpbnN0ZWFkIG9mIGV4cGVjdGluZyBpdAorICAgICAgICBh
cyBhIHBhcmFtZXRlci4KKworICAgICAgICAqIHRlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1l
LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cyk6CisgICAgICAg
IFJlbW92ZSBleHBlY3RlZCBmYWlsdXJlIGFuZCBmaXggd3JvbmcgY29tbWVudC4KKwogMjAxMS0w
Ni0wOCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggYjU1ZTA4
ZC4uMmMyMzg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTk3OSwxMCArOTc5LDExIEBA
IFFTdHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnBsYWluVGV4dChjb25zdCBRVmFyaWFu
dCYgcmFuZ2UpCiAgICAgcmV0dXJuIG1hcC52YWx1ZShRTGF0aW4xU3RyaW5nKCJpbm5lclRleHQi
KSkudG9TdHJpbmcoKTsKIH0KIAotUVZhcmlhbnRMaXN0IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
Ojpub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5
LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVk
IGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpCitRVmFyaWFudExpc3QgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6Om5vZGVzRnJvbVJlY3QoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50LCBpbnQg
eCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwg
dW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZykKIHsKICAgICBRVmFyaWFudExpc3Qg
cmVzOwotICAgIFdlYkNvcmU6OkVsZW1lbnQqIHdlYkVsZW1lbnQgPSBkb2N1bWVudC5tX2VsZW1l
bnQ7CisgICAgUVdlYkVsZW1lbnQgZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQudmFsdWUoUUxh
dGluMVN0cmluZygiZG9jdW1lbnRFbGVtZW50IikpLnZhbHVlPFFXZWJFbGVtZW50PigpOworICAg
IFdlYkNvcmU6OkVsZW1lbnQqIHdlYkVsZW1lbnQgPSBkb2N1bWVudEVsZW1lbnQubV9lbGVtZW50
OwogICAgIGlmICghd2ViRWxlbWVudCkKICAgICAgICAgcmV0dXJuIHJlczsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5oCmluZGV4IDJiZmFjYjMuLjI3NzQ2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKQEAgLTE5
OCw3ICsxOTgsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzY2FsZVBhZ2VCeShRV2Vi
RnJhbWUqLCBmbG9hdCBzY2FsZSwgY29uc3QgUVBvaW50JiBvcmlnaW4pOwogCi0gICAgc3RhdGlj
IFFWYXJpYW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwg
aW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0
b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOworICAgIHN0YXRpYyBRVmFy
aWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4
LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1
bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKTsKICAgICBzdGF0aWMgUVN0cmluZyBy
ZXNwb25zZU1pbWVUeXBlKFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGNsZWFyT3BlbmVy
KFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGFkZFVSTFRvUmVkaXJlY3QoY29uc3QgUVN0
cmluZyYgb3JpZ2luLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCmluZGV4IGI1Njc3
ODQuLjMyNGQwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1l
L3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1l
L3RzdF9xd2ViZnJhbWUuY3BwCkBAIC0yMDA0LDEwICsyMDA0LDkgQEAgdm9pZCB0c3RfUVdlYkZy
YW1lOjpvdmVybG9hZGVkU2xvdHMoKQogICAgIFFDT01QQVJFKG1fbXlPYmplY3QtPnF0RnVuY3Rp
b25JbnZva2VkKCksIDM1KTsKICAgICAqLwogCi0gICAgLy8gc2hvdWxkIHBpY2sgbXlPdmVybG9h
ZGVkU2xvdChRUmVnRXhwKQorICAgIC8vIHNob3VsZCBwaWNrIG15T3ZlcmxvYWRlZFNsb3QoUVdl
YkVsZW1lbnQpCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0aW9uSW52b2tlZCgpOwogICAg
IGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1bWVudC5ib2R5KSIpOwotICAg
IFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0aW9u
SW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFP
YmplY3QqKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDY2NGI0NzUuLjdkZGM2NWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNi0wOSAgQ2FpbyBNYXJjZWxv
IGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gdHN0X1FXZWJG
cmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisKKyAgICAgICAgU2luY2Ugd2UgZG9uJ3QgaW1w
bGljdGx5IGNvbnZlcnQgJ2RvY3VtZW50JyBvYmplY3QgdG8gUVdlYkVsZW1lbnQKKyAgICAgICAg
aW4gbWV0YWNhbGxzIGFueW1vcmUsIGNoYW5nZSB0aGUgY29udHJvbGxlciB0byBleHBlY3QgUVZh
cmlhbnRNYXAgaW5zdGVhZC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRl
c3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om5vZGVz
RnJvbVJlY3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuaDoKKwogMjAxMS0wNi0wOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZmYzZWQzMy4uMmQzNmMz
NyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKQEAgLTkwOSw3ICs5MDksNyBAQCBib29sIExheW91dFRlc3RDb250cm9sbGVyOjpo
YXNTcGVsbGluZ01hcmtlcihpbnQsIGludCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVFWYXJp
YW50TGlzdCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxl
bWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdo
dCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQor
UVZhcmlhbnRMaXN0IExheW91dFRlc3RDb250cm9sbGVyOjpub2Rlc0Zyb21SZWN0KGNvbnN0IFFW
YXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVk
IHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBp
bmcpCiB7CiAgICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0
KGRvY3VtZW50LCB4LCB5LCB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGlnbm9yZUNsaXBwaW5n
KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuaAppbmRleCA5OWQwNGYzLi4zNDA4ZDViIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0yMzYsNyArMjM2LDcgQEAgcHVibGlj
IHNsb3RzOgogICAgIHZvaWQgYWJvcnRNb2RhbCgpIHt9CiAgICAgYm9vbCBoYXNTcGVsbGluZ01h
cmtlcihpbnQgZnJvbSwgaW50IGxlbmd0aCk7CiAKLSAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9t
UmVjdChjb25zdCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQg
dG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29s
IGlnbm9yZUNsaXBwaW5nKTsKKyAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBR
VmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25l
ZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBw
aW5nKTsKIAogICAgIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmlnaW4s
IGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uKTsKIAotLSAKMS43LjUuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96633</attachid>
            <date>2011-06-09 13:47:03 -0700</date>
            <delta_ts>2011-06-09 14:55:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110609174701.patch</filename>
            <type>text/plain</type>
            <size>16492</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0NDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OGVkODQzMGYwYmYxYTg4
ZTM5ZDZhMWIzOTRkNjJhNTYzOTRlODViLi4yMzk2MmRiZGE3OWY4MzI0ZmUzZjE0ZmRiZDI0N2I5
MmYyZWYyZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDYtMDkgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIHRz
dF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIEluY3JlYXNlIHRo
ZSBsaWtlbmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMu
IFdoZW4gaGludGVkCisgICAgICAgIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxp
ZnkgdGhlIGNvbnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAorICAgICAgICBt
YXRjaCIuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jvbmcg
c2xvdCB3YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2ggd2Fz
IHRha2VuIGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUgbWV0
YWNhbGwgaGFwcGVuZWQuCisKKyAgICAgICAgV2UgYWxzbyByZW1vdmUgdGhlIGltcGxpY2l0IGNv
bnZlcnNpb24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KKyAgICAgICAgZWxl
bWVudCkgdG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxs
aW5nIHNsb3RzLCB3aGlsZQorICAgICAgICB3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFy
aWFudE1hcCAoYXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKKyAgICAg
ICAgYWRkZWQgZm9yIHN1cHBvcnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2Fu
IHVzZSBpdCBhcyBRVmFyaWFudE1hcCBhbmQKKyAgICAgICAgZ2V0IHRoZSB2YWx1ZSBmb3IgImRv
Y3VtZW50RWxlbWVudCIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBOb2FtIFJv
c2VudGhhbCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBidWcuCisKKyAgICAgICAgKiBicmlk
Z2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpoaW50Rm9yUmVh
bFR5cGUpOgorICAgICAgICBFeHRyYWN0ZWQgZnVuY3Rpb24gdG8gY2hvb3NlIHRoZSBtZXRhdHlw
ZSBoaW50IGJhc2VkIG9uIHRoZSBKU1ZhbHVlIHR5cGUuICBBZGQKKyAgICAgICAgUVdlYkVsZW1l
bnQgbWV0YXR5cGUgYXMgYSBoaW50IGZvciBKU0VsZW1lbnQgb2JqZWN0cywgdGhpcyB3YXkgaWYg
bm8gaGludCBpcworICAgICAgICBwcm92aWRlZCwgSlNFbGVtZW50IG9iamVjdHMgd2lsbCBhbHdh
eXMgYmUgY29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4KKworICAgICAgICAoSlNDOjpCaW5kaW5n
czo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIFVzZSBwcmV2aW91cyBmdW5jdGlv
bi4gSWRlbnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQgdG8gUVdlYkVsZW1l
bnQKKyAgICAgICAgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92ZSB0
aGUgaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CisgICAgICAgIGlzIFFXZWJFbGVt
ZW50IG1ldGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hU
TUxFbGVtZW50IHRvCisgICAgICAgIEpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxl
bWVudCcuCisKIDIwMTEtMDYtMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4ODM4Ny4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCAxYzFkZjc0YjZjYzZjYzQ2M2U5
ODMyMjFmOWU3YmE0NWM5ZjdmMTMyLi4yMWFhODg5YjFmNmRlNTE5ZDJjYjIyMGRjOTIzMDlmZTU5
YmUwYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC0xODAs
NiArMTgwLDM4IEBAIHN0YXRpYyBKU1JlYWxUeXBlIHZhbHVlUmVhbFR5cGUoRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIHZhbCkKICAgICByZXR1cm4gU3RyaW5nOyAvLyBJIGRvbid0IGtub3cuCiB9
CiAKK3N0YXRpYyBRTWV0YVR5cGU6OlR5cGUgaGludEZvclJlYWxUeXBlKEpTUmVhbFR5cGUgdHlw
ZSwgSlNPYmplY3QqIG9iamVjdCkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE51
bWJlcjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6RG91YmxlOworICAgIGNhc2UgQm9vbGVh
bjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6Qm9vbDsKKyAgICBjYXNlIFN0cmluZzoKKyAg
ICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0cmluZzsKKyAgICBjYXNlIERhdGU6CisgICAgICAg
IHJldHVybiBRTWV0YVR5cGU6OlFEYXRlVGltZTsKKyAgICBjYXNlIFJlZ0V4cDoKKyAgICAgICAg
cmV0dXJuIFFNZXRhVHlwZTo6UVJlZ0V4cDsKKyAgICBjYXNlIE9iamVjdDoKKyAgICAgICAgaWYg
KG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZvKSkKKyAgICAgICAgICAgIHJl
dHVybiBRTWV0YVR5cGU6OkRvdWJsZTsKKyAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJv
b2xlYW5PYmplY3Q6OnNfaW5mbykpCisgICAgICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpCb29s
OworICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNFbGVtZW50OjpzX2luZm8pKQorICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8
UVdlYkVsZW1lbnQ+KCkpOworICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRVmFyaWFudE1hcDsK
KyAgICBjYXNlIFFPYmo6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFPYmplY3RTdGFyOwor
ICAgIGNhc2UgSlNCeXRlQXJyYXk6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFCeXRlQXJy
YXk7CisgICAgY2FzZSBBcnJheToKKyAgICBjYXNlIFJUQXJyYXk6CisgICAgICAgIHJldHVybiBR
TWV0YVR5cGU6OlFWYXJpYW50TGlzdDsKKyAgICB9CisgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0
cmluZzsKK30KKwogUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqLCBK
U1ZhbHVlLCBRTWV0YVR5cGU6OlR5cGUsIGludCosIEhhc2hTZXQ8SlNPYmplY3QqPiosIGludCk7
CiAKIHN0YXRpYyBRVmFyaWFudE1hcCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50TWFwKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIG9iamVjdCwgSGFzaFNldDxKU09iamVjdCo+KiB2aXNpdGVkT2Jq
ZWN0cywgaW50IHJlY3Vyc2lvbkxpbWl0KQpAQCAtMjM5LDQ0ICsyNzEsOCBAQCBRVmFyaWFudCBj
b252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1l
dGFUeXBlOjpUeXBlCiAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwog
ICAgIEpTUmVhbFR5cGUgdHlwZSA9IHZhbHVlUmVhbFR5cGUoZXhlYywgdmFsdWUpOwotICAgIGlm
IChoaW50ID09IFFNZXRhVHlwZTo6Vm9pZCkgewotICAgICAgICBzd2l0Y2godHlwZSkgewotICAg
ICAgICAgICAgY2FzZSBOdW1iZXI6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6
RG91YmxlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBCb29sZWFu
OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFN0cmluZzoKLSAgICAgICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVN0cmluZzsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRGF0ZToKLSAgICAgICAgICAgICAgICBoaW50
ID0gUU1ldGFUeXBlOjpRRGF0ZVRpbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIFJlZ0V4cDoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRUmVn
RXhwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBPYmplY3Q6Ci0g
ICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZv
KSkKLSAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6RG91YmxlOwotICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJvb2xlYW5PYmplY3Q6OnNfaW5m
bykpCi0gICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFy
aWFudE1hcDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgUU9iajoK
LSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRT2JqZWN0U3RhcjsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgSlNCeXRlQXJyYXk6Ci0gICAgICAgICAg
ICAgICAgaGludCA9IFFNZXRhVHlwZTo6UUJ5dGVBcnJheTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIFJUQXJyYXk6Ci0g
ICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVZhcmlhbnRMaXN0OwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQorICAgIGlmIChoaW50ID09IFFNZXRhVHlw
ZTo6Vm9pZCkKKyAgICAgICAgaGludCA9IGhpbnRGb3JSZWFsVHlwZSh0eXBlLCBvYmplY3QpOwog
CiAgICAgcUNvbnZEZWJ1ZygpIDw8ICJjb252ZXJ0VmFsdWVUb1FWYXJpYW50OiBqc3R5cGUgaXMg
IiA8PCB0eXBlIDw8ICIsIGhpbnQgaXMiIDw8IGhpbnQ7CiAKQEAgLTc3NiwxMiArNzcyLDE1IEBA
IFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgIH0gZWxzZSBpZiAoUXRQaXhtYXBJ
bnN0YW5jZTo6Y2FuSGFuZGxlKHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpKSB7
CiAgICAgICAgICAgICAgICAgcmV0ID0gUXRQaXhtYXBJbnN0YW5jZTo6dmFyaWFudEZyb21PYmpl
Y3Qob2JqZWN0LCBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRV2Vi
RWxlbWVudD4oKSkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhl
cml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3Jl
YXRlKChzdGF0aWNfY2FzdDxKU0hUTUxFbGVtZW50Kj4ob2JqZWN0KSktPmltcGwoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0RvY3Vt
ZW50OjpzX2luZm8pKQotICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZh
bHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0
PEpTRG9jdW1lbnQqPihvYmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZy
b21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgaWYg
KG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0VsZW1lbnQ6OnNfaW5mbykpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRX
ZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU0VsZW1lbnQqPihvYmplY3Qp
KS0+aW1wbCgpKSk7CisgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOworICAgICAgICAgICAg
ICAgICAgICAvLyBBbGxvdyBvdGhlciBvYmplY3RzIHRvIHJlYWNoIHRoaXMgb25lLiBUaGlzIHdv
bid0IGNhdXNlIG91ciBhbGdvcml0aG0gdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gbG9vcCBz
aW5jZSB3aGVuIHdlIGZpbmQgYW4gRWxlbWVudCB3ZSBkbyBub3QgcmVjdXJzZS4KKyAgICAgICAg
ICAgICAgICAgICAgdmlzaXRlZE9iamVjdHMtPnJlbW92ZShvYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UURS
VE5vZGU+KCkpIHsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJp
dHMoJkpTTm9kZTo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6
OmZyb21WYWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2Fz
dDxKU05vZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDk3MTg3M2My
YzQzNzM2MmM0N2I2NmIxNGNlMWZmODY1NTBkYjg0NTQuLjY3OTY5OGJlMTExYThkZjZjYTI1OGRi
MjU1MWUzZmVhNTQ0MDhiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEt
MDYtMDkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFNpbmNlIHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdhcyByZW1vdmVkLCBjaGFuZ2Ugc3VwcG9y
dCBmdW5jdGlvbnMgb2YgRFJUIHRvCisgICAgICAgIGV4cGVjdCBhIFFWYXJpYW50TWFwIGluc3Rl
YWQgb2YgYSBRV2ViRWxlbWVudC4gVGhpcyBtYXRjaGVzIHRoZSBleHBvc2VkIGZ1bmN0aW9uCisg
ICAgICAgIGluIHRoZSBjb250cm9sbGVyLCB3aGljaCB0YWtlcyAnZG9jdW1lbnQnIGFuZCBub3Qg
J2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCcuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
Ojpub2Rlc0Zyb21SZWN0KTogQ2hhbmdlIGZ1bmN0aW9uIHRvIGxvb2t1cAorICAgICAgICAnZG9j
dW1lbnRFbGVtZW50JyBpbiBkb2N1bWVudCBtYXAgaW5zdGVhZCBvZiBleHBlY3RpbmcgaXQgYXMg
YSBwYXJhbWV0ZXIuCisKKyAgICAgICAgKiB0ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5j
cHA6IFNwbGl0dGVkIHRoZSB0ZXN0IGRvbUN5Y2xlcygpIGludG8gdHdvCisgICAgICAgIGRpZmZl
cmVudCB0ZXN0cy4gSW4gcHJhY3RpY2UsIHRoZSBvcmlnaW5hbCB0ZXN0IGp1c3QgY2hlY2tlZCB3
aGV0aGVyIHdlIGNvdWxkCisgICAgICAgIGNyZWF0ZSBhIFFWYXJpYW50TWFwIHJlcHJlc2VudGlu
ZyAnZG9jdW1lbnQnIHdpdGhvdXQgaW5maW5pdGUgbG9vcGluZyBkdWUgdG8KKyAgICAgICAgY3lj
bGVzIGluIHRoZSBET00uIFRoaXMgd2FzIG1vcmUgZXZpZGVudCBiZWZvcmUgc2luY2Ugd2UgaGF2
ZW4ndCBhIGNvbnZlcnNpb24KKyAgICAgICAgZnJvbSBKU0VsZW1lbnQgdG8gUVdlYkVsZW1lbnQs
IGJ1dCBmcm9tIEpTRWxlbWVudCB0byBRVmFyaWFudE1hcC4KKworICAgICAgICAodHN0X1FXZWJG
cmFtZTo6ZG9jdW1lbnRIYXNEb2N1bWVudEVsZW1lbnQpOiBFdmFsdWF0ZSAnZG9jdW1lbnQnIGFu
ZCBleHRyYWN0cworICAgICAgICAnZG9jdW1lbnRFbGVtZW50JyBmcm9tIGl0LiBDb21wYXJlcyB0
byBRV2ViRnJhbWU6OmRvY3VtZW50RWxlbWVudCgpLgorCisgICAgICAgICh0c3RfUVdlYkZyYW1l
Ojpkb2N1bWVudEFsbEhhc0RvY3VtZW50RWxlbWVudCk6IExvb2sgaW5zaWRlICdkb2N1bWVudC5h
bGwnIGZvcgorICAgICAgICB0aGUgZG9jdW1lbnRFbGVtZW50LgorCisgICAgICAgICh0c3RfUVdl
YkZyYW1lOjpvdmVybG9hZGVkU2xvdHMpOiBSZW1vdmUgZXhwZWN0ZWQgZmFpbHVyZSBhbmQgZml4
IHdyb25nIGNvbW1lbnQuCisKKwogMjAxMS0wNi0wOCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKaW5kZXggYjU1ZTA4ZGUzMzZiYzI2MTdlOWRjMGE1MTNjMGY4NGQyODdi
MjM3Mi4uMmMyMzg1ZWQ5NmJmYmYxYjFjZTk5NGQ1MmU0ZmJjNDVjYWJlNDhlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKQEAgLTk3OSwxMCArOTc5LDExIEBAIFFTdHJpbmcgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQ6OnBsYWluVGV4dChjb25zdCBRVmFyaWFudCYgcmFuZ2UpCiAgICAgcmV0dXJu
IG1hcC52YWx1ZShRTGF0aW4xU3RyaW5nKCJpbm5lclRleHQiKSkudG9TdHJpbmcoKTsKIH0KIAot
UVZhcmlhbnRMaXN0IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0KGNvbnN0
IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2ln
bmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xp
cHBpbmcpCitRVmFyaWFudExpc3QgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Om5vZGVzRnJvbVJl
Y3QoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50LCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIHRv
cCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwgdW5zaWduZWQgbGVmdCwgYm9vbCBp
Z25vcmVDbGlwcGluZykKIHsKICAgICBRVmFyaWFudExpc3QgcmVzOwotICAgIFdlYkNvcmU6OkVs
ZW1lbnQqIHdlYkVsZW1lbnQgPSBkb2N1bWVudC5tX2VsZW1lbnQ7CisgICAgUVdlYkVsZW1lbnQg
ZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQudmFsdWUoUUxhdGluMVN0cmluZygiZG9jdW1lbnRF
bGVtZW50IikpLnZhbHVlPFFXZWJFbGVtZW50PigpOworICAgIFdlYkNvcmU6OkVsZW1lbnQqIHdl
YkVsZW1lbnQgPSBkb2N1bWVudEVsZW1lbnQubV9lbGVtZW50OwogICAgIGlmICghd2ViRWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIHJlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4IDJiZmFjYjMz
Nzg5NWY1ZTE1ZjgxMWQzY2RiOTcyMDRhMzJlZWNmOWYuLjI3NzQ2ZmQ3YjY2M2Y3ZWFmZmNlOGJm
YjVlMTZiNWRlNmE3NTIzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKQEAgLTE5OCw3ICsxOTgsNyBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzY2FsZVBhZ2VCeShRV2ViRnJhbWUqLCBmbG9h
dCBzY2FsZSwgY29uc3QgUVBvaW50JiBvcmlnaW4pOwogCi0gICAgc3RhdGljIFFWYXJpYW50TGlz
dCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5
LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVk
IGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOworICAgIHN0YXRpYyBRVmFyaWFudExpc3Qgbm9k
ZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5z
aWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0
LCBib29sIGlnbm9yZUNsaXBwaW5nKTsKICAgICBzdGF0aWMgUVN0cmluZyByZXNwb25zZU1pbWVU
eXBlKFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGNsZWFyT3BlbmVyKFFXZWJGcmFtZSop
OwogICAgIHN0YXRpYyB2b2lkIGFkZFVSTFRvUmVkaXJlY3QoY29uc3QgUVN0cmluZyYgb3JpZ2lu
LCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQv
dGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCmluZGV4IGI1Njc3ODRkZTViNTE0ODI4
NGYwOGVkYmJjMmJkNDNlMDdiYzcwNzYuLjY1NTIzOTVlYmM4MTBjZDZlNjViZWUzMjhjOWU0ZWZk
OTgwZDI2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3Rz
dF9xd2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3Rz
dF9xd2ViZnJhbWUuY3BwCkBAIC02MTIsNyArNjEyLDggQEAgcHJpdmF0ZSBzbG90czoKICAgICB2
b2lkIHN5bW1ldHJpY1VybCgpOwogICAgIHZvaWQgcHJvZ3Jlc3NTaWduYWwoKTsKICAgICB2b2lk
IHVybENoYW5nZSgpOwotICAgIHZvaWQgZG9tQ3ljbGVzKCk7CisgICAgdm9pZCBkb2N1bWVudEhh
c0RvY3VtZW50RWxlbWVudCgpOworICAgIHZvaWQgZG9jdW1lbnRBbGxIYXNEb2N1bWVudEVsZW1l
bnQoKTsKICAgICB2b2lkIHJlcXVlc3RlZFVybCgpOwogICAgIHZvaWQgcmVxdWVzdGVkVXJsQWZ0
ZXJTZXRBbmRMb2FkRmFpbHVyZXMoKTsKICAgICB2b2lkIGphdmFTY3JpcHRXaW5kb3dPYmplY3RD
bGVhcmVkX2RhdGEoKTsKQEAgLTIwMDQsMTAgKzIwMDUsOSBAQCB2b2lkIHRzdF9RV2ViRnJhbWU6
Om92ZXJsb2FkZWRTbG90cygpCiAgICAgUUNPTVBBUkUobV9teU9iamVjdC0+cXRGdW5jdGlvbklu
dm9rZWQoKSwgMzUpOwogICAgICovCiAKLSAgICAvLyBzaG91bGQgcGljayBteU92ZXJsb2FkZWRT
bG90KFFSZWdFeHApCisgICAgLy8gc2hvdWxkIHBpY2sgbXlPdmVybG9hZGVkU2xvdChRV2ViRWxl
bWVudCkKICAgICBtX215T2JqZWN0LT5yZXNldFF0RnVuY3Rpb25JbnZva2VkKCk7CiAgICAgZXZh
bEpTKCJteU9iamVjdC5teU92ZXJsb2FkZWRTbG90KGRvY3VtZW50LmJvZHkpIik7Ci0gICAgUUVY
UEVDVF9GQUlMKCIiLCAiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3
MzE5IiwgQ29udGludWUpOwogICAgIFFDT01QQVJFKG1fbXlPYmplY3QtPnF0RnVuY3Rpb25JbnZv
a2VkKCksIDM2KTsKIAogICAgIC8vIHNob3VsZCBwaWNrIG15T3ZlcmxvYWRlZFNsb3QoUU9iamVj
dCopCkBAIC0yMjkxLDExICsyMjkxLDQ1IEBAIHZvaWQgdHN0X1FXZWJGcmFtZTo6dXJsQ2hhbmdl
KCkKIH0KIAogCi12b2lkIHRzdF9RV2ViRnJhbWU6OmRvbUN5Y2xlcygpCit2b2lkIHRzdF9RV2Vi
RnJhbWU6OmRvY3VtZW50SGFzRG9jdW1lbnRFbGVtZW50KCkKIHsKLSAgICBtX3ZpZXctPnNldEh0
bWwoIjxodG1sPjxib2R5PiIpOworICAgIG1fdmlldy0+c2V0SHRtbCgiPGh0bWw+PGJvZHk+PC9i
b2R5PjwvaHRtbD4iKTsKICAgICBRVmFyaWFudCB2ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZh
bHVhdGVKYXZhU2NyaXB0KCJkb2N1bWVudCIpOwotICAgIFFWRVJJRlkodi50eXBlKCkgPT0gUVZh
cmlhbnQ6Ok1hcCk7CisgICAgUVZFUklGWSh2LmlzVmFsaWQoKSk7CisgICAgUUNPTVBBUkUodi50
eXBlKCksIFFWYXJpYW50OjpNYXApOworICAgIFFWYXJpYW50TWFwIGRvY3VtZW50ID0gdi50b01h
cCgpOworCisgICAgdiA9IGRvY3VtZW50LnZhbHVlKCJkb2N1bWVudEVsZW1lbnQiKTsKKyAgICBR
VkVSSUZZKHYuaXNWYWxpZCgpKTsKKyAgICBRQ09NUEFSRSh2LnVzZXJUeXBlKCksIHFNZXRhVHlw
ZUlkPFFXZWJFbGVtZW50PigpKTsKKyAgICBRV2ViRWxlbWVudCBkb2N1bWVudEVsZW1lbnQgPSBx
dmFyaWFudF9jYXN0PFFXZWJFbGVtZW50Pih2KTsKKyAgICBRVkVSSUZZKCFkb2N1bWVudEVsZW1l
bnQuaXNOdWxsKCkpOworICAgIFFDT01QQVJFKGRvY3VtZW50RWxlbWVudCwgbV9wYWdlLT5tYWlu
RnJhbWUoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOworfQorCit2b2lkIHRzdF9RV2ViRnJhbWU6OmRv
Y3VtZW50QWxsSGFzRG9jdW1lbnRFbGVtZW50KCkKK3sKKyAgICBtX3ZpZXctPnNldEh0bWwoIjxo
dG1sPjxib2R5PjwvYm9keT48L2h0bWw+Iik7CisgICAgUVZhcmlhbnQgdiA9IG1fcGFnZS0+bWFp
bkZyYW1lKCktPmV2YWx1YXRlSmF2YVNjcmlwdCgiZG9jdW1lbnQiKTsKKyAgICBRVmFyaWFudE1h
cCBkb2N1bWVudCA9IHYudG9NYXAoKTsKKworICAgIHYgPSBkb2N1bWVudC52YWx1ZSgiYWxsIik7
CisgICAgUVZFUklGWSh2LmlzVmFsaWQoKSk7CisgICAgUUNPTVBBUkUodi50eXBlKCksIFFWYXJp
YW50OjpNYXApOworICAgIFFWYXJpYW50TWFwIGFsbCA9IHYudG9NYXAoKTsKKworICAgIGJvb2wg
Zm91bmREb2N1bWVudEVsZW1lbnQgPSBmYWxzZTsKKyAgICBmb3JlYWNoICh2LCBhbGwudmFsdWVz
KCkpIHsKKyAgICAgICAgaWYgKHYudXNlclR5cGUoKSAhPSBxTWV0YVR5cGVJZDxRV2ViRWxlbWVu
dD4oKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBRV2ViRWxlbWVudCBlID0gcXZh
cmlhbnRfY2FzdDxRV2ViRWxlbWVudD4odik7CisgICAgICAgIGlmIChlID09IG1fcGFnZS0+bWFp
bkZyYW1lKCktPmRvY3VtZW50RWxlbWVudCgpKSB7CisgICAgICAgICAgICBmb3VuZERvY3VtZW50
RWxlbWVudCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIFFWRVJJRlkoZm91bmREb2N1bWVudEVsZW1lbnQpOwogfQogCiBjbGFzcyBGYWtlUmVwbHkg
OiBwdWJsaWMgUU5ldHdvcmtSZXBseSB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggNjY0YjQ3NTQ5ZjFkNDJjN2I5MjM1MjVkYWU3MzVkMTlkN2Ux
NzZjZi4uN2RkYzY1YzQzODRkNDQ0ZjhiMWIxYzBiMDc3NzQzM2NlNzVlOTI1MiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDExLTA2LTA5ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZl
aXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1F0XSB0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKwor
ICAgICAgICBTaW5jZSB3ZSBkb24ndCBpbXBsaWN0bHkgY29udmVydCAnZG9jdW1lbnQnIG9iamVj
dCB0byBRV2ViRWxlbWVudAorICAgICAgICBpbiBtZXRhY2FsbHMgYW55bW9yZSwgY2hhbmdlIHRo
ZSBjb250cm9sbGVyIHRvIGV4cGVjdCBRVmFyaWFudE1hcCBpbnN0ZWFkLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNGcm9tUmVjdCk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDExLTA2LTA5ICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmNwcAppbmRleCBmZjNlZDMzOGFhYmIwNzdmYzI2ZTI0MGU1NTA0NjgxMjdiMGIxMTlmLi4yZDM2
YzM3NDkxNDY5MTEyYzkyOGI4MmZiYmY0ODU5YjA1NjYwZjNjIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApAQCAtOTA5LDcgKzkw
OSw3IEBAIGJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc1NwZWxsaW5nTWFya2VyKGludCwg
aW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUVZhcmlhbnRMaXN0IExheW91dFRlc3RDb250
cm9sbGVyOjpub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgs
IGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVu
c2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpCitRVmFyaWFudExpc3QgTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om5vZGVzRnJvbVJlY3QoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50LCBp
bnQgeCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRv
bSwgdW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZykKIHsKICAgICByZXR1cm4gRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6Om5vZGVzRnJvbVJlY3QoZG9jdW1lbnQsIHgsIHksIHRvcCwg
cmlnaHQsIGJvdHRvbSwgbGVmdCwgaWdub3JlQ2xpcHBpbmcpOwogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDk5ZDA0ZjM4MzRh
OTM0NzkxYjJhNWQzN2NiYjRiODUwNTE5MmQ3OTcuLjM0MDhkNWIyMjUzZGFlMjA3M2ZkNGQ5ZmMz
OWY0MTg3NzNmZTdjOTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmgKQEAgLTIzNiw3ICsyMzYsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAg
dm9pZCBhYm9ydE1vZGFsKCkge30KICAgICBib29sIGhhc1NwZWxsaW5nTWFya2VyKGludCBmcm9t
LCBpbnQgbGVuZ3RoKTsKIAotICAgIFFWYXJpYW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFX
ZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVk
IHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBp
bmcpOworICAgIFFWYXJpYW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBk
b2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNp
Z25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogCiAgICAg
dm9pZCBhZGRVUkxUb1JlZGlyZWN0KGNvbnN0IFFTdHJpbmcmIG9yaWdpbiwgY29uc3QgUVN0cmlu
ZyYgZGVzdGluYXRpb24pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96649</attachid>
            <date>2011-06-09 14:55:45 -0700</date>
            <delta_ts>2011-06-10 08:26:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110609185543.patch</filename>
            <type>text/plain</type>
            <size>17682</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0NDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OGVkODQzMGYwYmYxYTg4
ZTM5ZDZhMWIzOTRkNjJhNTYzOTRlODViLi4yMzk2MmRiZGE3OWY4MzI0ZmUzZjE0ZmRiZDI0N2I5
MmYyZWYyZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDYtMDkgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIHRz
dF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIEluY3JlYXNlIHRo
ZSBsaWtlbmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMu
IFdoZW4gaGludGVkCisgICAgICAgIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxp
ZnkgdGhlIGNvbnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAorICAgICAgICBt
YXRjaCIuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jvbmcg
c2xvdCB3YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2ggd2Fz
IHRha2VuIGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUgbWV0
YWNhbGwgaGFwcGVuZWQuCisKKyAgICAgICAgV2UgYWxzbyByZW1vdmUgdGhlIGltcGxpY2l0IGNv
bnZlcnNpb24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KKyAgICAgICAgZWxl
bWVudCkgdG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxs
aW5nIHNsb3RzLCB3aGlsZQorICAgICAgICB3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFy
aWFudE1hcCAoYXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKKyAgICAg
ICAgYWRkZWQgZm9yIHN1cHBvcnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2Fu
IHVzZSBpdCBhcyBRVmFyaWFudE1hcCBhbmQKKyAgICAgICAgZ2V0IHRoZSB2YWx1ZSBmb3IgImRv
Y3VtZW50RWxlbWVudCIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBOb2FtIFJv
c2VudGhhbCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBidWcuCisKKyAgICAgICAgKiBicmlk
Z2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpoaW50Rm9yUmVh
bFR5cGUpOgorICAgICAgICBFeHRyYWN0ZWQgZnVuY3Rpb24gdG8gY2hvb3NlIHRoZSBtZXRhdHlw
ZSBoaW50IGJhc2VkIG9uIHRoZSBKU1ZhbHVlIHR5cGUuICBBZGQKKyAgICAgICAgUVdlYkVsZW1l
bnQgbWV0YXR5cGUgYXMgYSBoaW50IGZvciBKU0VsZW1lbnQgb2JqZWN0cywgdGhpcyB3YXkgaWYg
bm8gaGludCBpcworICAgICAgICBwcm92aWRlZCwgSlNFbGVtZW50IG9iamVjdHMgd2lsbCBhbHdh
eXMgYmUgY29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4KKworICAgICAgICAoSlNDOjpCaW5kaW5n
czo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIFVzZSBwcmV2aW91cyBmdW5jdGlv
bi4gSWRlbnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQgdG8gUVdlYkVsZW1l
bnQKKyAgICAgICAgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92ZSB0
aGUgaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CisgICAgICAgIGlzIFFXZWJFbGVt
ZW50IG1ldGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hU
TUxFbGVtZW50IHRvCisgICAgICAgIEpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxl
bWVudCcuCisKIDIwMTEtMDYtMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4ODM4Ny4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCAxYzFkZjc0YjZjYzZjYzQ2M2U5
ODMyMjFmOWU3YmE0NWM5ZjdmMTMyLi4yMWFhODg5YjFmNmRlNTE5ZDJjYjIyMGRjOTIzMDlmZTU5
YmUwYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC0xODAs
NiArMTgwLDM4IEBAIHN0YXRpYyBKU1JlYWxUeXBlIHZhbHVlUmVhbFR5cGUoRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIHZhbCkKICAgICByZXR1cm4gU3RyaW5nOyAvLyBJIGRvbid0IGtub3cuCiB9
CiAKK3N0YXRpYyBRTWV0YVR5cGU6OlR5cGUgaGludEZvclJlYWxUeXBlKEpTUmVhbFR5cGUgdHlw
ZSwgSlNPYmplY3QqIG9iamVjdCkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE51
bWJlcjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6RG91YmxlOworICAgIGNhc2UgQm9vbGVh
bjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6Qm9vbDsKKyAgICBjYXNlIFN0cmluZzoKKyAg
ICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0cmluZzsKKyAgICBjYXNlIERhdGU6CisgICAgICAg
IHJldHVybiBRTWV0YVR5cGU6OlFEYXRlVGltZTsKKyAgICBjYXNlIFJlZ0V4cDoKKyAgICAgICAg
cmV0dXJuIFFNZXRhVHlwZTo6UVJlZ0V4cDsKKyAgICBjYXNlIE9iamVjdDoKKyAgICAgICAgaWYg
KG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZvKSkKKyAgICAgICAgICAgIHJl
dHVybiBRTWV0YVR5cGU6OkRvdWJsZTsKKyAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJv
b2xlYW5PYmplY3Q6OnNfaW5mbykpCisgICAgICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpCb29s
OworICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNFbGVtZW50OjpzX2luZm8pKQorICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8
UVdlYkVsZW1lbnQ+KCkpOworICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRVmFyaWFudE1hcDsK
KyAgICBjYXNlIFFPYmo6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFPYmplY3RTdGFyOwor
ICAgIGNhc2UgSlNCeXRlQXJyYXk6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFCeXRlQXJy
YXk7CisgICAgY2FzZSBBcnJheToKKyAgICBjYXNlIFJUQXJyYXk6CisgICAgICAgIHJldHVybiBR
TWV0YVR5cGU6OlFWYXJpYW50TGlzdDsKKyAgICB9CisgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0
cmluZzsKK30KKwogUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqLCBK
U1ZhbHVlLCBRTWV0YVR5cGU6OlR5cGUsIGludCosIEhhc2hTZXQ8SlNPYmplY3QqPiosIGludCk7
CiAKIHN0YXRpYyBRVmFyaWFudE1hcCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50TWFwKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIG9iamVjdCwgSGFzaFNldDxKU09iamVjdCo+KiB2aXNpdGVkT2Jq
ZWN0cywgaW50IHJlY3Vyc2lvbkxpbWl0KQpAQCAtMjM5LDQ0ICsyNzEsOCBAQCBRVmFyaWFudCBj
b252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1l
dGFUeXBlOjpUeXBlCiAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwog
ICAgIEpTUmVhbFR5cGUgdHlwZSA9IHZhbHVlUmVhbFR5cGUoZXhlYywgdmFsdWUpOwotICAgIGlm
IChoaW50ID09IFFNZXRhVHlwZTo6Vm9pZCkgewotICAgICAgICBzd2l0Y2godHlwZSkgewotICAg
ICAgICAgICAgY2FzZSBOdW1iZXI6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6
RG91YmxlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBCb29sZWFu
OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFN0cmluZzoKLSAgICAgICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVN0cmluZzsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRGF0ZToKLSAgICAgICAgICAgICAgICBoaW50
ID0gUU1ldGFUeXBlOjpRRGF0ZVRpbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIFJlZ0V4cDoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRUmVn
RXhwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBPYmplY3Q6Ci0g
ICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZv
KSkKLSAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6RG91YmxlOwotICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJvb2xlYW5PYmplY3Q6OnNfaW5m
bykpCi0gICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFy
aWFudE1hcDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgUU9iajoK
LSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRT2JqZWN0U3RhcjsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgSlNCeXRlQXJyYXk6Ci0gICAgICAgICAg
ICAgICAgaGludCA9IFFNZXRhVHlwZTo6UUJ5dGVBcnJheTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIFJUQXJyYXk6Ci0g
ICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVZhcmlhbnRMaXN0OwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQorICAgIGlmIChoaW50ID09IFFNZXRhVHlw
ZTo6Vm9pZCkKKyAgICAgICAgaGludCA9IGhpbnRGb3JSZWFsVHlwZSh0eXBlLCBvYmplY3QpOwog
CiAgICAgcUNvbnZEZWJ1ZygpIDw8ICJjb252ZXJ0VmFsdWVUb1FWYXJpYW50OiBqc3R5cGUgaXMg
IiA8PCB0eXBlIDw8ICIsIGhpbnQgaXMiIDw8IGhpbnQ7CiAKQEAgLTc3NiwxMiArNzcyLDE1IEBA
IFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgIH0gZWxzZSBpZiAoUXRQaXhtYXBJ
bnN0YW5jZTo6Y2FuSGFuZGxlKHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpKSB7
CiAgICAgICAgICAgICAgICAgcmV0ID0gUXRQaXhtYXBJbnN0YW5jZTo6dmFyaWFudEZyb21PYmpl
Y3Qob2JqZWN0LCBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRV2Vi
RWxlbWVudD4oKSkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhl
cml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3Jl
YXRlKChzdGF0aWNfY2FzdDxKU0hUTUxFbGVtZW50Kj4ob2JqZWN0KSktPmltcGwoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0RvY3Vt
ZW50OjpzX2luZm8pKQotICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZh
bHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0
PEpTRG9jdW1lbnQqPihvYmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZy
b21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgaWYg
KG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0VsZW1lbnQ6OnNfaW5mbykpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRX
ZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU0VsZW1lbnQqPihvYmplY3Qp
KS0+aW1wbCgpKSk7CisgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOworICAgICAgICAgICAg
ICAgICAgICAvLyBBbGxvdyBvdGhlciBvYmplY3RzIHRvIHJlYWNoIHRoaXMgb25lLiBUaGlzIHdv
bid0IGNhdXNlIG91ciBhbGdvcml0aG0gdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gbG9vcCBz
aW5jZSB3aGVuIHdlIGZpbmQgYW4gRWxlbWVudCB3ZSBkbyBub3QgcmVjdXJzZS4KKyAgICAgICAg
ICAgICAgICAgICAgdmlzaXRlZE9iamVjdHMtPnJlbW92ZShvYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UURS
VE5vZGU+KCkpIHsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJp
dHMoJkpTTm9kZTo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6
OmZyb21WYWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2Fz
dDxKU05vZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDk3MTg3M2My
YzQzNzM2MmM0N2I2NmIxNGNlMWZmODY1NTBkYjg0NTQuLjA1YzY2ZGU0ZmFhZTBlZTk4ZWZkY2U5
NGVmMzM5Y2JlMjUzYjUyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEt
MDYtMDkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFNpbmNlIHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdhcyByZW1vdmVkLCBjaGFuZ2Ugc3VwcG9y
dCBmdW5jdGlvbnMgb2YgRFJUIHRvCisgICAgICAgIGV4cGVjdCBhIFFWYXJpYW50TWFwIGluc3Rl
YWQgb2YgYSBRV2ViRWxlbWVudC4gVGhpcyBtYXRjaGVzIHRoZSBleHBvc2VkIGZ1bmN0aW9uCisg
ICAgICAgIGluIHRoZSBjb250cm9sbGVyLCB3aGljaCB0YWtlcyAnZG9jdW1lbnQnIGFuZCBub3Qg
J2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCcuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKGdldENvcmVEb2N1bWVudEZyb21WYXJp
YW50TWFwKTogRXh0cmFjdHMgdGhlIFdlYkNvcmU6OkRvY3VtZW50KiBmcm9tIHRoZQorICAgICAg
ICBRVmFyaWFudE1hcCB0aGF0IFF0IGJyaWRnZSBnaXZlcyB1cyB3aGVuICdkb2N1bWVudCcgaXMg
cGFzc2VkIGZyb20gSlMuCisKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rl
c0Zyb21SZWN0KTogVXNlIGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICAqIHRlc3RzL3F3ZWJm
cmFtZS90c3RfcXdlYmZyYW1lLmNwcDogU3BsaXR0ZWQgdGhlIHRlc3QgZG9tQ3ljbGVzKCkgaW50
byB0d28KKyAgICAgICAgZGlmZmVyZW50IHRlc3RzLiBJbiBwcmFjdGljZSwgdGhlIG9yaWdpbmFs
IHRlc3QganVzdCBjaGVja2VkIHdoZXRoZXIgd2UgY291bGQKKyAgICAgICAgY3JlYXRlIGEgUVZh
cmlhbnRNYXAgcmVwcmVzZW50aW5nICdkb2N1bWVudCcgd2l0aG91dCBpbmZpbml0ZSBsb29waW5n
IGR1ZSB0bworICAgICAgICBjeWNsZXMgaW4gdGhlIERPTS4gVGhpcyB3YXMgbW9yZSBldmlkZW50
IGJlZm9yZSBzaW5jZSB3ZSBoYXZlbid0IGEgY29udmVyc2lvbgorICAgICAgICBmcm9tIEpTRWxl
bWVudCB0byBRV2ViRWxlbWVudCwgYnV0IGZyb20gSlNFbGVtZW50IHRvIFFWYXJpYW50TWFwLgor
CisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEhhc0RvY3VtZW50RWxlbWVudCk6IEV2
YWx1YXRlcyAnZG9jdW1lbnQnIGFuZCBleHRyYWN0cworICAgICAgICAnZG9jdW1lbnRFbGVtZW50
JyBmcm9tIGl0LiBDb21wYXJlcyB0byBRV2ViRnJhbWU6OmRvY3VtZW50RWxlbWVudCgpLgorCisg
ICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEFsbEhhc0RvY3VtZW50RWxlbWVudCk6IExv
b2sgaW5zaWRlICdkb2N1bWVudC5hbGwnIGZvcgorICAgICAgICB0aGUgZG9jdW1lbnRFbGVtZW50
LgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMpOiBSZW1vdmUgZXhw
ZWN0ZWQgZmFpbHVyZSBhbmQgZml4IHdyb25nIGNvbW1lbnQuCisKIDIwMTEtMDYtMDggIEFuZHJl
YXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJlbmph
bWluIFBvdWxhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGI1NWUwOGRlMzM2YmMyNjE3
ZTlkYzBhNTEzYzBmODRkMjg3YjIzNzIuLjEzOTAzMjk2OWJlMWI2Mzk2N2MxMTQyZTEwYjBjMTQz
ZjcxYzhmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC05NzksMTQgKzk3OSwyMyBAQCBR
U3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpwbGFpblRleHQoY29uc3QgUVZhcmlhbnQm
IHJhbmdlKQogICAgIHJldHVybiBtYXAudmFsdWUoUUxhdGluMVN0cmluZygiaW5uZXJUZXh0Iikp
LnRvU3RyaW5nKCk7CiB9CiAKLVFWYXJpYW50TGlzdCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
bm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwg
dW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBs
ZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQorV2ViQ29yZTo6RG9jdW1lbnQqIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0OjpnZXRDb3JlRG9jdW1lbnRGcm9tVmFyaWFudE1hcChjb25zdCBRVmFyaWFu
dE1hcCYgZG9jdW1lbnQpCiB7Ci0gICAgUVZhcmlhbnRMaXN0IHJlczsKLSAgICBXZWJDb3JlOjpF
bGVtZW50KiB3ZWJFbGVtZW50ID0gZG9jdW1lbnQubV9lbGVtZW50OwotICAgIGlmICghd2ViRWxl
bWVudCkKLSAgICAgICAgcmV0dXJuIHJlczsKKyAgICBRVmFyaWFudCB2ID0gZG9jdW1lbnQudmFs
dWUoUUxhdGluMVN0cmluZygiZG9jdW1lbnRFbGVtZW50IikpOworICAgIEFTU0VSVCh2LmlzVmFs
aWQoKSk7CisgICAgUVdlYkVsZW1lbnQgZG9jdW1lbnRFbGVtZW50ID0gcXZhcmlhbnRfY2FzdDxR
V2ViRWxlbWVudD4odik7CisKKyAgICBXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1l
bnRFbGVtZW50Lm1fZWxlbWVudDsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVybiAw
OwogCi0gICAgRG9jdW1lbnQqIGRvYyA9IHdlYkVsZW1lbnQtPmRvY3VtZW50KCk7CisgICAgcmV0
dXJuIGVsZW1lbnQtPmRvY3VtZW50KCk7Cit9CisKK1FWYXJpYW50TGlzdCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6bm9kZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQsIGlu
dCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9t
LCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQoreworICAgIFFWYXJpYW50TGlz
dCByZXM7CisgICAgRG9jdW1lbnQqIGRvYyA9IGdldENvcmVEb2N1bWVudEZyb21WYXJpYW50TWFw
KGRvY3VtZW50KTsKICAgICBpZiAoIWRvYykKICAgICAgICAgcmV0dXJuIHJlczsKICAgICBSZWZQ
dHI8Tm9kZUxpc3Q+IG5vZGVzID0gZG9jLT5ub2Rlc0Zyb21SZWN0KHgsIHksIHRvcCwgcmlnaHQs
IGJvdHRvbSwgbGVmdCwgaWdub3JlQ2xpcHBpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4IDJi
ZmFjYjMzNzg5NWY1ZTE1ZjgxMWQzY2RiOTcyMDRhMzJlZWNmOWYuLmM0NDI2ZTkwN2I2NjU3Y2Uy
ZTcxMTM1NDM2MmZiNWIzNjNiODA0NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlIDxRVmFyaWFudD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
RG9jdW1lbnQ7CiBjbGFzcyBUZXh0OwogY2xhc3MgTm9kZTsKIH0KQEAgLTE5OCw3ICsxOTksNyBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzY2FsZVBhZ2VCeShRV2ViRnJhbWUqLCBmbG9h
dCBzY2FsZSwgY29uc3QgUVBvaW50JiBvcmlnaW4pOwogCi0gICAgc3RhdGljIFFWYXJpYW50TGlz
dCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5
LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVk
IGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOworICAgIHN0YXRpYyBRVmFyaWFudExpc3Qgbm9k
ZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5z
aWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0
LCBib29sIGlnbm9yZUNsaXBwaW5nKTsKICAgICBzdGF0aWMgUVN0cmluZyByZXNwb25zZU1pbWVU
eXBlKFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGNsZWFyT3BlbmVyKFFXZWJGcmFtZSop
OwogICAgIHN0YXRpYyB2b2lkIGFkZFVSTFRvUmVkaXJlY3QoY29uc3QgUVN0cmluZyYgb3JpZ2lu
LCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbik7CkBAIC0yMTYsNiArMjE3LDkgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBRU3RyaW5nIHNoYWRvd1BzZXVkb0lkKGNvbnN0IFFXZWJFbGVtZW50Jik7
CiAKICAgICBzdGF0aWMgUVN0cmluZyBsYXllclRyZWVBc1RleHQoUVdlYkZyYW1lKik7CisKK3By
aXZhdGU6CisgICAgc3RhdGljIFdlYkNvcmU6OkRvY3VtZW50KiBnZXRDb3JlRG9jdW1lbnRGcm9t
VmFyaWFudE1hcChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQpOwogfTsKIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1l
LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3Bw
CmluZGV4IGI1Njc3ODRkZTViNTE0ODI4NGYwOGVkYmJjMmJkNDNlMDdiYzcwNzYuLmMxNGQ1NWYz
OGE5MjhlYWNlYjdiNGJiZTMwZTJkMWI2MTJmNzFhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC02MTIsNyArNjEyLDgg
QEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHN5bW1ldHJpY1VybCgpOwogICAgIHZvaWQgcHJv
Z3Jlc3NTaWduYWwoKTsKICAgICB2b2lkIHVybENoYW5nZSgpOwotICAgIHZvaWQgZG9tQ3ljbGVz
KCk7CisgICAgdm9pZCBkb2N1bWVudEhhc0RvY3VtZW50RWxlbWVudCgpOworICAgIHZvaWQgZG9j
dW1lbnRBbGxIYXNEb2N1bWVudEVsZW1lbnQoKTsKICAgICB2b2lkIHJlcXVlc3RlZFVybCgpOwog
ICAgIHZvaWQgcmVxdWVzdGVkVXJsQWZ0ZXJTZXRBbmRMb2FkRmFpbHVyZXMoKTsKICAgICB2b2lk
IGphdmFTY3JpcHRXaW5kb3dPYmplY3RDbGVhcmVkX2RhdGEoKTsKQEAgLTIwMDQsMTAgKzIwMDUs
OSBAQCB2b2lkIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpCiAgICAgUUNPTVBBUkUo
bV9teU9iamVjdC0+cXRGdW5jdGlvbkludm9rZWQoKSwgMzUpOwogICAgICovCiAKLSAgICAvLyBz
aG91bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFSZWdFeHApCisgICAgLy8gc2hvdWxkIHBpY2sg
bXlPdmVybG9hZGVkU2xvdChRV2ViRWxlbWVudCkKICAgICBtX215T2JqZWN0LT5yZXNldFF0RnVu
Y3Rpb25JbnZva2VkKCk7CiAgICAgZXZhbEpTKCJteU9iamVjdC5teU92ZXJsb2FkZWRTbG90KGRv
Y3VtZW50LmJvZHkpIik7Ci0gICAgUUVYUEVDVF9GQUlMKCIiLCAiaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5IiwgQ29udGludWUpOwogICAgIFFDT01QQVJFKG1f
bXlPYmplY3QtPnF0RnVuY3Rpb25JbnZva2VkKCksIDM2KTsKIAogICAgIC8vIHNob3VsZCBwaWNr
IG15T3ZlcmxvYWRlZFNsb3QoUU9iamVjdCopCkBAIC0yMjkxLDExICsyMjkxLDQ2IEBAIHZvaWQg
dHN0X1FXZWJGcmFtZTo6dXJsQ2hhbmdlKCkKIH0KIAogCi12b2lkIHRzdF9RV2ViRnJhbWU6OmRv
bUN5Y2xlcygpCit2b2lkIHRzdF9RV2ViRnJhbWU6OmRvY3VtZW50SGFzRG9jdW1lbnRFbGVtZW50
KCkKK3sKKyAgICBtX3ZpZXctPnNldEh0bWwoIjxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+Iik7
CisgICAgUVZhcmlhbnQgZG9jVmFyaWFudCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1YXRl
SmF2YVNjcmlwdCgiZG9jdW1lbnQiKTsKKyAgICBRVkVSSUZZKGRvY1ZhcmlhbnQuaXNWYWxpZCgp
KTsKKyAgICBRQ09NUEFSRShkb2NWYXJpYW50LnR5cGUoKSwgUVZhcmlhbnQ6Ok1hcCk7CisgICAg
UVZhcmlhbnRNYXAgZG9jdW1lbnQgPSBkb2NWYXJpYW50LnRvTWFwKCk7CisKKyAgICBRVmFyaWFu
dCBkb2NFbGVtZW50VmFyaWFudCA9IGRvY3VtZW50LnZhbHVlKCJkb2N1bWVudEVsZW1lbnQiKTsK
KyAgICBRVkVSSUZZKGRvY0VsZW1lbnRWYXJpYW50LmlzVmFsaWQoKSk7CisgICAgUUNPTVBBUkUo
ZG9jRWxlbWVudFZhcmlhbnQudXNlclR5cGUoKSwgcU1ldGFUeXBlSWQ8UVdlYkVsZW1lbnQ+KCkp
OworICAgIFFXZWJFbGVtZW50IGRvY3VtZW50RWxlbWVudCA9IHF2YXJpYW50X2Nhc3Q8UVdlYkVs
ZW1lbnQ+KGRvY0VsZW1lbnRWYXJpYW50KTsKKworICAgIFFWRVJJRlkoIWRvY3VtZW50RWxlbWVu
dC5pc051bGwoKSk7CisgICAgUUNPTVBBUkUoZG9jdW1lbnRFbGVtZW50LCBtX3BhZ2UtPm1haW5G
cmFtZSgpLT5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK3ZvaWQgdHN0X1FXZWJGcmFtZTo6ZG9j
dW1lbnRBbGxIYXNEb2N1bWVudEVsZW1lbnQoKQogewotICAgIG1fdmlldy0+c2V0SHRtbCgiPGh0
bWw+PGJvZHk+Iik7Ci0gICAgUVZhcmlhbnQgdiA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1
YXRlSmF2YVNjcmlwdCgiZG9jdW1lbnQiKTsKLSAgICBRVkVSSUZZKHYudHlwZSgpID09IFFWYXJp
YW50OjpNYXApOworICAgIG1fdmlldy0+c2V0SHRtbCgiPGh0bWw+PGJvZHk+PC9ib2R5PjwvaHRt
bD4iKTsKKyAgICBRVmFyaWFudCBkb2NWYXJpYW50ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZh
bHVhdGVKYXZhU2NyaXB0KCJkb2N1bWVudCIpOworICAgIFFWYXJpYW50TWFwIGRvY3VtZW50ID0g
ZG9jVmFyaWFudC50b01hcCgpOworCisgICAgUVZhcmlhbnQgYWxsVmFyaWFudCA9IGRvY3VtZW50
LnZhbHVlKCJhbGwiKTsKKyAgICBRVkVSSUZZKGFsbFZhcmlhbnQuaXNWYWxpZCgpKTsKKyAgICBR
Q09NUEFSRShhbGxWYXJpYW50LnR5cGUoKSwgUVZhcmlhbnQ6Ok1hcCk7CisgICAgUVZhcmlhbnRN
YXAgYWxsID0gYWxsVmFyaWFudC50b01hcCgpOworCisgICAgYm9vbCBmb3VuZERvY3VtZW50RWxl
bWVudCA9IGZhbHNlOworICAgIGZvcmVhY2ggKFFWYXJpYW50IHYsIGFsbC52YWx1ZXMoKSkgewor
ICAgICAgICBpZiAodi51c2VyVHlwZSgpICE9IHFNZXRhVHlwZUlkPFFXZWJFbGVtZW50PigpKQor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIFFXZWJFbGVtZW50IGUgPSBxdmFyaWFudF9j
YXN0PFFXZWJFbGVtZW50Pih2KTsKKyAgICAgICAgaWYgKGUgPT0gbV9wYWdlLT5tYWluRnJhbWUo
KS0+ZG9jdW1lbnRFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGZvdW5kRG9jdW1lbnRFbGVtZW50
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgUVZF
UklGWShmb3VuZERvY3VtZW50RWxlbWVudCk7CiB9CiAKIGNsYXNzIEZha2VSZXBseSA6IHB1Ymxp
YyBRTmV0d29ya1JlcGx5IHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA2NjRiNDc1NDlmMWQ0MmM3YjkyMzUyNWRhZTczNWQxOWQ3ZTE3NmNmLi43
ZGRjNjVjNDM4NGQ0NDRmOGIxYjFjMGIwNzc3NDMzY2U3NWU5MjUyIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEt
MDYtMDkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFNpbmNlIHdlIGRvbid0IGltcGxpY3RseSBjb252ZXJ0ICdkb2N1bWVudCcgb2JqZWN0IHRvIFFX
ZWJFbGVtZW50CisgICAgICAgIGluIG1ldGFjYWxscyBhbnltb3JlLCBjaGFuZ2UgdGhlIGNvbnRy
b2xsZXIgdG8gZXhwZWN0IFFWYXJpYW50TWFwIGluc3RlYWQuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpub2Rlc0Zyb21SZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CisKIDIwMTEtMDYtMDkgIEVyaWMgU2VpZGVsICA8
ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmlu
ZGV4IGZmM2VkMzM4YWFiYjA3N2ZjMjZlMjQwZTU1MDQ2ODEyN2IwYjExOWYuLjJkMzZjMzc0OTE0
NjkxMTJjOTI4YjgyZmJiZjQ4NTliMDU2NjBmM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC05MDksNyArOTA5LDcgQEAg
Ym9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aGFzU3BlbGxpbmdNYXJrZXIoaW50LCBpbnQpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCi1RVmFyaWFudExpc3QgTGF5b3V0VGVzdENvbnRyb2xsZXI6
Om5vZGVzRnJvbVJlY3QoY29uc3QgUVdlYkVsZW1lbnQmIGRvY3VtZW50LCBpbnQgeCwgaW50IHks
IHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwgdW5zaWduZWQg
bGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZykKK1FWYXJpYW50TGlzdCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6bm9kZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQsIGludCB4LCBp
bnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNp
Z25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQogewogICAgIHJldHVybiBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6bm9kZXNGcm9tUmVjdChkb2N1bWVudCwgeCwgeSwgdG9wLCByaWdodCwg
Ym90dG9tLCBsZWZ0LCBpZ25vcmVDbGlwcGluZyk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKaW5kZXggOTlkMDRmMzgzNGE5MzQ3OTFi
MmE1ZDM3Y2JiNGI4NTA1MTkyZDc5Ny4uMzQwOGQ1YjIyNTNkYWUyMDczZmQ0ZDlmYzM5ZjQxODc3
M2ZlN2M5MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuaApAQCAtMjM2LDcgKzIzNiw3IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIGFi
b3J0TW9kYWwoKSB7fQogICAgIGJvb2wgaGFzU3BlbGxpbmdNYXJrZXIoaW50IGZyb20sIGludCBs
ZW5ndGgpOwogCi0gICAgUVZhcmlhbnRMaXN0IG5vZGVzRnJvbVJlY3QoY29uc3QgUVdlYkVsZW1l
bnQmIGRvY3VtZW50LCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQs
IHVuc2lnbmVkIGJvdHRvbSwgdW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7Cisg
ICAgUVZhcmlhbnRMaXN0IG5vZGVzRnJvbVJlY3QoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50
LCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJv
dHRvbSwgdW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7CiAKICAgICB2b2lkIGFk
ZFVSTFRvUmVkaXJlY3QoY29uc3QgUVN0cmluZyYgb3JpZ2luLCBjb25zdCBRU3RyaW5nJiBkZXN0
aW5hdGlvbik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96746</attachid>
            <date>2011-06-10 08:26:27 -0700</date>
            <delta_ts>2011-06-10 13:43:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110610122625.patch</filename>
            <type>text/plain</type>
            <size>20370</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0NDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OGVkODQzMGYwYmYxYTg4
ZTM5ZDZhMWIzOTRkNjJhNTYzOTRlODViLi44NWEyMTA2MTRmY2M0ZWI1Y2I4M2U1ZWRkNjYzNjM0
YTZjMzlhMDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDYtMTAgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIHRz
dF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIEluY3JlYXNlIHRo
ZSBsaWtlbmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMu
IFdoZW4gaGludGVkCisgICAgICAgIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxp
ZnkgdGhlIGNvbnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAorICAgICAgICBt
YXRjaCIuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jvbmcg
c2xvdCB3YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2ggd2Fz
IHRha2VuIGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUgbWV0
YWNhbGwgaGFwcGVuZWQuCisKKyAgICAgICAgV2UgYWxzbyByZW1vdmUgdGhlIGltcGxpY2l0IGNv
bnZlcnNpb24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KKyAgICAgICAgZWxl
bWVudCkgdG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxs
aW5nIHNsb3RzLCB3aGlsZQorICAgICAgICB3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFy
aWFudE1hcCAoYXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKKyAgICAg
ICAgYWRkZWQgZm9yIHN1cHBvcnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2Fu
IHVzZSBpdCBhcyBRVmFyaWFudE1hcCBhbmQKKyAgICAgICAgZ2V0IHRoZSB2YWx1ZSBmb3IgImRv
Y3VtZW50RWxlbWVudCIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBOb2FtIFJv
c2VudGhhbCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBidWcuCisKKyAgICAgICAgKiBicmlk
Z2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpoaW50Rm9yUmVh
bFR5cGUpOgorICAgICAgICBFeHRyYWN0ZWQgZnVuY3Rpb24gdG8gY2hvb3NlIHRoZSBtZXRhdHlw
ZSBoaW50IGJhc2VkIG9uIHRoZSBKU1ZhbHVlIHR5cGUuICBBZGQKKyAgICAgICAgUVdlYkVsZW1l
bnQgbWV0YXR5cGUgYXMgYSBoaW50IGZvciBKU0VsZW1lbnQgb2JqZWN0cywgdGhpcyB3YXkgaWYg
bm8gaGludCBpcworICAgICAgICBwcm92aWRlZCwgSlNFbGVtZW50IG9iamVjdHMgd2lsbCBhbHdh
eXMgYmUgY29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4KKworICAgICAgICAoSlNDOjpCaW5kaW5n
czo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIFVzZSBwcmV2aW91cyBmdW5jdGlv
bi4gSWRlbnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQgdG8gUVdlYkVsZW1l
bnQKKyAgICAgICAgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92ZSB0
aGUgaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CisgICAgICAgIGlzIFFXZWJFbGVt
ZW50IG1ldGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hU
TUxFbGVtZW50IHRvCisgICAgICAgIEpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxl
bWVudCcuCisKIDIwMTEtMDYtMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4ODM4Ny4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCAxYzFkZjc0YjZjYzZjYzQ2M2U5
ODMyMjFmOWU3YmE0NWM5ZjdmMTMyLi4yMWFhODg5YjFmNmRlNTE5ZDJjYjIyMGRjOTIzMDlmZTU5
YmUwYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC0xODAs
NiArMTgwLDM4IEBAIHN0YXRpYyBKU1JlYWxUeXBlIHZhbHVlUmVhbFR5cGUoRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIHZhbCkKICAgICByZXR1cm4gU3RyaW5nOyAvLyBJIGRvbid0IGtub3cuCiB9
CiAKK3N0YXRpYyBRTWV0YVR5cGU6OlR5cGUgaGludEZvclJlYWxUeXBlKEpTUmVhbFR5cGUgdHlw
ZSwgSlNPYmplY3QqIG9iamVjdCkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE51
bWJlcjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6RG91YmxlOworICAgIGNhc2UgQm9vbGVh
bjoKKyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6Qm9vbDsKKyAgICBjYXNlIFN0cmluZzoKKyAg
ICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0cmluZzsKKyAgICBjYXNlIERhdGU6CisgICAgICAg
IHJldHVybiBRTWV0YVR5cGU6OlFEYXRlVGltZTsKKyAgICBjYXNlIFJlZ0V4cDoKKyAgICAgICAg
cmV0dXJuIFFNZXRhVHlwZTo6UVJlZ0V4cDsKKyAgICBjYXNlIE9iamVjdDoKKyAgICAgICAgaWYg
KG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZvKSkKKyAgICAgICAgICAgIHJl
dHVybiBRTWV0YVR5cGU6OkRvdWJsZTsKKyAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJv
b2xlYW5PYmplY3Q6OnNfaW5mbykpCisgICAgICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpCb29s
OworICAgICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNFbGVtZW50OjpzX2luZm8pKQorICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8
UVdlYkVsZW1lbnQ+KCkpOworICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRVmFyaWFudE1hcDsK
KyAgICBjYXNlIFFPYmo6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFPYmplY3RTdGFyOwor
ICAgIGNhc2UgSlNCeXRlQXJyYXk6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFCeXRlQXJy
YXk7CisgICAgY2FzZSBBcnJheToKKyAgICBjYXNlIFJUQXJyYXk6CisgICAgICAgIHJldHVybiBR
TWV0YVR5cGU6OlFWYXJpYW50TGlzdDsKKyAgICB9CisgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0
cmluZzsKK30KKwogUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqLCBK
U1ZhbHVlLCBRTWV0YVR5cGU6OlR5cGUsIGludCosIEhhc2hTZXQ8SlNPYmplY3QqPiosIGludCk7
CiAKIHN0YXRpYyBRVmFyaWFudE1hcCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50TWFwKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIG9iamVjdCwgSGFzaFNldDxKU09iamVjdCo+KiB2aXNpdGVkT2Jq
ZWN0cywgaW50IHJlY3Vyc2lvbkxpbWl0KQpAQCAtMjM5LDQ0ICsyNzEsOCBAQCBRVmFyaWFudCBj
b252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1l
dGFUeXBlOjpUeXBlCiAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwog
ICAgIEpTUmVhbFR5cGUgdHlwZSA9IHZhbHVlUmVhbFR5cGUoZXhlYywgdmFsdWUpOwotICAgIGlm
IChoaW50ID09IFFNZXRhVHlwZTo6Vm9pZCkgewotICAgICAgICBzd2l0Y2godHlwZSkgewotICAg
ICAgICAgICAgY2FzZSBOdW1iZXI6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6
RG91YmxlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBCb29sZWFu
OgotICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFN0cmluZzoKLSAgICAgICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVN0cmluZzsKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRGF0ZToKLSAgICAgICAgICAgICAgICBoaW50
ID0gUU1ldGFUeXBlOjpRRGF0ZVRpbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlIFJlZ0V4cDoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRUmVn
RXhwOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBPYmplY3Q6Ci0g
ICAgICAgICAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZv
KSkKLSAgICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6RG91YmxlOwotICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJvb2xlYW5PYmplY3Q6OnNfaW5m
bykpCi0gICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFy
aWFudE1hcDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgUU9iajoK
LSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRT2JqZWN0U3RhcjsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgSlNCeXRlQXJyYXk6Ci0gICAgICAgICAg
ICAgICAgaGludCA9IFFNZXRhVHlwZTo6UUJ5dGVBcnJheTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIFJUQXJyYXk6Ci0g
ICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVZhcmlhbnRMaXN0OwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQorICAgIGlmIChoaW50ID09IFFNZXRhVHlw
ZTo6Vm9pZCkKKyAgICAgICAgaGludCA9IGhpbnRGb3JSZWFsVHlwZSh0eXBlLCBvYmplY3QpOwog
CiAgICAgcUNvbnZEZWJ1ZygpIDw8ICJjb252ZXJ0VmFsdWVUb1FWYXJpYW50OiBqc3R5cGUgaXMg
IiA8PCB0eXBlIDw8ICIsIGhpbnQgaXMiIDw8IGhpbnQ7CiAKQEAgLTc3NiwxMiArNzcyLDE1IEBA
IFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgIH0gZWxzZSBpZiAoUXRQaXhtYXBJ
bnN0YW5jZTo6Y2FuSGFuZGxlKHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpKSB7
CiAgICAgICAgICAgICAgICAgcmV0ID0gUXRQaXhtYXBJbnN0YW5jZTo6dmFyaWFudEZyb21PYmpl
Y3Qob2JqZWN0LCBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRV2Vi
RWxlbWVudD4oKSkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhl
cml0cygmSlNIVE1MRWxlbWVudDo6c19pbmZvKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3Jl
YXRlKChzdGF0aWNfY2FzdDxKU0hUTUxFbGVtZW50Kj4ob2JqZWN0KSktPmltcGwoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0RvY3Vt
ZW50OjpzX2luZm8pKQotICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZh
bHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0
PEpTRG9jdW1lbnQqPihvYmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZy
b21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgaWYg
KG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0VsZW1lbnQ6OnNfaW5mbykpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRX
ZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU0VsZW1lbnQqPihvYmplY3Qp
KS0+aW1wbCgpKSk7CisgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOworICAgICAgICAgICAg
ICAgICAgICAvLyBBbGxvdyBvdGhlciBvYmplY3RzIHRvIHJlYWNoIHRoaXMgb25lLiBUaGlzIHdv
bid0IGNhdXNlIG91ciBhbGdvcml0aG0gdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gbG9vcCBz
aW5jZSB3aGVuIHdlIGZpbmQgYW4gRWxlbWVudCB3ZSBkbyBub3QgcmVjdXJzZS4KKyAgICAgICAg
ICAgICAgICAgICAgdmlzaXRlZE9iamVjdHMtPnJlbW92ZShvYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0ID0g
UVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UURS
VE5vZGU+KCkpIHsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJp
dHMoJkpTTm9kZTo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6
OmZyb21WYWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2Fz
dDxKU05vZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDk3MTg3M2My
YzQzNzM2MmM0N2I2NmIxNGNlMWZmODY1NTBkYjg0NTQuLmZiMTRlOTBjZjU1NTg0NDZhNjkyYzQz
MzY2ZmYxYWNlMzhhZjM0ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEt
MDYtMTAgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAg
IFNpbmNlIHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdhcyByZW1vdmVkLCBjaGFuZ2Ugc3VwcG9y
dCBmdW5jdGlvbnMgb2YgRFJUIHRvCisgICAgICAgIGV4cGVjdCBhIFFWYXJpYW50TWFwIGluc3Rl
YWQgb2YgYSBRV2ViRWxlbWVudC4gVGhpcyBtYXRjaGVzIHRoZSBleHBvc2VkIGZ1bmN0aW9uCisg
ICAgICAgIGluIHRoZSBjb250cm9sbGVyLCB3aGljaCB0YWtlcyAnZG9jdW1lbnQnIGFuZCBub3Qg
J2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCcuCisKKyAgICAgICAgQW5kIG5vdyB0aGF0IEVsZW1l
bnQgLT4gUVdlYkVsZW1lbnQgaXMgYSBwZXJmZWN0IG1hdGNoLCB3ZSBtdXN0IHVzZSBRV2ViRWxl
bWVudAorICAgICAgICBpbnN0ZWFkIG9mIFFWYXJpYW50TWFwLCBsaWtlIGluIHBsYWluVGV4dCgp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6Cisg
ICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cGxhaW5UZXh0KTogRml4IHRvIHVzZSBR
V2ViRWxlbWVudCBpbnN0ZWFkIG9mCisgICAgICAgIFFWYXJpYW50TWFwIHdoZW4gZ2V0dGluZyB0
aGUgc3RhcnRDb250YWluZXIuIEFsc28gdXNlIFFWYXJpYW50TWFwIGRpcmVjdGx5LAorICAgICAg
ICBicmlkZ2Ugd2lsbCBkbyBjb252ZXJzaW9uIGZvciB1cyBub3cuCisKKyAgICAgICAgKGdldENv
cmVEb2N1bWVudEZyb21WYXJpYW50TWFwKTogRXh0cmFjdHMgdGhlIFdlYkNvcmU6OkRvY3VtZW50
KiBmcm9tIHRoZQorICAgICAgICBRVmFyaWFudE1hcCB0aGF0IFF0IGJyaWRnZSBnaXZlcyB1cyB3
aGVuICdkb2N1bWVudCcgaXMgcGFzc2VkIGZyb20gSlMuCisKKyAgICAgICAgKER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0KTogVXNlIGhlbHBlciBmdW5jdGlvbi4KKworICAg
ICAgICAqIHRlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcDogU3BsaXR0ZWQgdGhlIHRl
c3QgZG9tQ3ljbGVzKCkgaW50byB0d28KKyAgICAgICAgZGlmZmVyZW50IHRlc3RzLiBJbiBwcmFj
dGljZSwgdGhlIG9yaWdpbmFsIHRlc3QganVzdCBjaGVja2VkIHdoZXRoZXIgd2UgY291bGQKKyAg
ICAgICAgY3JlYXRlIGEgUVZhcmlhbnRNYXAgcmVwcmVzZW50aW5nICdkb2N1bWVudCcgd2l0aG91
dCBpbmZpbml0ZSBsb29waW5nIGR1ZSB0bworICAgICAgICBjeWNsZXMgaW4gdGhlIERPTS4gVGhp
cyB3YXMgbW9yZSBldmlkZW50IGJlZm9yZSBzaW5jZSB3ZSBoYXZlbid0IGEgY29udmVyc2lvbgor
ICAgICAgICBmcm9tIEpTRWxlbWVudCB0byBRV2ViRWxlbWVudCwgYnV0IGZyb20gSlNFbGVtZW50
IHRvIFFWYXJpYW50TWFwLgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEhhc0Rv
Y3VtZW50RWxlbWVudCk6IEV2YWx1YXRlcyAnZG9jdW1lbnQnIGFuZCBleHRyYWN0cworICAgICAg
ICAnZG9jdW1lbnRFbGVtZW50JyBmcm9tIGl0LiBDb21wYXJlcyB0byBRV2ViRnJhbWU6OmRvY3Vt
ZW50RWxlbWVudCgpLgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEFsbEhhc0Rv
Y3VtZW50RWxlbWVudCk6IExvb2sgaW5zaWRlICdkb2N1bWVudC5hbGwnIGZvcgorICAgICAgICB0
aGUgZG9jdW1lbnRFbGVtZW50LgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVk
U2xvdHMpOiBSZW1vdmUgZXhwZWN0ZWQgZmFpbHVyZSBhbmQgZml4IHdyb25nIGNvbW1lbnQuCisK
IDIwMTEtMDYtMDggIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEJlbmphbWluIFBvdWxhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4
IGI1NWUwOGRlMzM2YmMyNjE3ZTlkYzBhNTEzYzBmODRkMjg3YjIzNzIuLjAwMGIwNzlmNTY2MTIw
Zjk1NGJjMmUxOGM5MmU4Y2UwYWMyMWQyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC05
NzAsMjMgKzk3MCwzMSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzaW11bGF0ZURl
c2t0b3BOb3RpZmljYXRpb25DbGljayhjb25zdCBRU3RyaW5nJiB0aQogI2VuZGlmCiB9CiAKLVFT
dHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnBsYWluVGV4dChjb25zdCBRVmFyaWFudCYg
cmFuZ2UpCitRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpwbGFpblRleHQoY29uc3Qg
UVZhcmlhbnRNYXAmIHJhbmdlKQogewotICAgIFFNYXA8UVN0cmluZywgUVZhcmlhbnQ+IG1hcCA9
IHJhbmdlLnRvTWFwKCk7Ci0gICAgUVZhcmlhbnQgc3RhcnRDb250YWluZXIgID0gbWFwLnZhbHVl
KFFMYXRpbjFTdHJpbmcoInN0YXJ0Q29udGFpbmVyIikpOwotICAgIG1hcCA9IHN0YXJ0Q29udGFp
bmVyLnRvTWFwKCk7CisgICAgUVZhcmlhbnQgdiA9IHJhbmdlLnZhbHVlKFFMYXRpbjFTdHJpbmco
InN0YXJ0Q29udGFpbmVyIikpOworICAgIEFTU0VSVCh2LmlzVmFsaWQoKSk7CisgICAgUVdlYkVs
ZW1lbnQgc3RhcnRDb250YWluZXIgPSBxdmFyaWFudF9jYXN0PFFXZWJFbGVtZW50Pih2KTsKKyAg
ICByZXR1cm4gc3RhcnRDb250YWluZXIudG9QbGFpblRleHQoKTsKK30KKworV2ViQ29yZTo6RG9j
dW1lbnQqIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpnZXRDb3JlRG9jdW1lbnRGcm9tVmFyaWFu
dE1hcChjb25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQpCit7CisgICAgUVZhcmlhbnQgdiA9IGRv
Y3VtZW50LnZhbHVlKFFMYXRpbjFTdHJpbmcoImRvY3VtZW50RWxlbWVudCIpKTsKKyAgICBBU1NF
UlQodi5pc1ZhbGlkKCkpOworICAgIFFXZWJFbGVtZW50IGRvY3VtZW50RWxlbWVudCA9IHF2YXJp
YW50X2Nhc3Q8UVdlYkVsZW1lbnQ+KHYpOworCisgICAgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVu
dCA9IGRvY3VtZW50RWxlbWVudC5tX2VsZW1lbnQ7CisgICAgaWYgKCFlbGVtZW50KQorICAgICAg
ICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXAudmFsdWUoUUxhdGluMVN0cmluZygiaW5uZXJU
ZXh0IikpLnRvU3RyaW5nKCk7CisgICAgcmV0dXJuIGVsZW1lbnQtPmRvY3VtZW50KCk7CiB9CiAK
LVFWYXJpYW50TGlzdCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bm9kZXNGcm9tUmVjdChjb25z
dCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNp
Z25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNs
aXBwaW5nKQorUVZhcmlhbnRMaXN0IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21S
ZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0
b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wg
aWdub3JlQ2xpcHBpbmcpCiB7CiAgICAgUVZhcmlhbnRMaXN0IHJlczsKLSAgICBXZWJDb3JlOjpF
bGVtZW50KiB3ZWJFbGVtZW50ID0gZG9jdW1lbnQubV9lbGVtZW50OwotICAgIGlmICghd2ViRWxl
bWVudCkKLSAgICAgICAgcmV0dXJuIHJlczsKLQotICAgIERvY3VtZW50KiBkb2MgPSB3ZWJFbGVt
ZW50LT5kb2N1bWVudCgpOworICAgIERvY3VtZW50KiBkb2MgPSBnZXRDb3JlRG9jdW1lbnRGcm9t
VmFyaWFudE1hcChkb2N1bWVudCk7CiAgICAgaWYgKCFkb2MpCiAgICAgICAgIHJldHVybiByZXM7
CiAgICAgUmVmUHRyPE5vZGVMaXN0PiBub2RlcyA9IGRvYy0+bm9kZXNGcm9tUmVjdCh4LCB5LCB0
b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGlnbm9yZUNsaXBwaW5nKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aAppbmRleCAyYmZhY2IzMzc4OTVmNWUxNWY4MTFkM2NkYjk3MjA0YTMyZWVjZjlmLi5mYjYwNDQx
MGI5YjljZWQ1NDIyMDU1YTNmNjZlNmVmZTgzZGU5MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8UVZhcmlhbnQ+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKK2NsYXNzIERvY3VtZW50OwogY2xhc3MgVGV4dDsKIGNsYXNzIE5vZGU7CiB9CkBAIC0xNjAs
NyArMTYxLDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFFTdHJpbmcgbWFya2VyVGV4dEZvckxp
c3RJdGVtKGNvbnN0IFFXZWJFbGVtZW50JiBsaXN0SXRlbSk7CiAgICAgc3RhdGljIFFWYXJpYW50
TWFwIGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb25zdCBRV2ViRWxlbWVudCYg
ZWxlbWVudCk7Ci0gICAgc3RhdGljIFFTdHJpbmcgcGxhaW5UZXh0KGNvbnN0IFFWYXJpYW50JiBy
bmcpOworICAgIHN0YXRpYyBRU3RyaW5nIHBsYWluVGV4dChjb25zdCBRVmFyaWFudE1hcCYgcmFu
Z2UpOwogCiAgICAgc3RhdGljIHZvaWQgZHVtcEZyYW1lTG9hZGVyKGJvb2wgYik7CiAgICAgc3Rh
dGljIHZvaWQgZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRlcihib29sIGIpOwpAQCAtMTk4LDcg
KzE5OSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHNjYWxlUGFnZUJ5KFFXZWJGcmFt
ZSosIGZsb2F0IHNjYWxlLCBjb25zdCBRUG9pbnQmIG9yaWdpbik7CiAKLSAgICBzdGF0aWMgUVZh
cmlhbnRMaXN0IG5vZGVzRnJvbVJlY3QoY29uc3QgUVdlYkVsZW1lbnQmIGRvY3VtZW50LCBpbnQg
eCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwg
dW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7CisgICAgc3RhdGljIFFWYXJpYW50
TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGlu
dCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2ln
bmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogICAgIHN0YXRpYyBRU3RyaW5nIHJlc3Bv
bnNlTWltZVR5cGUoUVdlYkZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJPcGVuZXIoUVdl
YkZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5n
JiBvcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uKTsKQEAgLTIxNiw2ICsyMTcsOSBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFFTdHJpbmcgc2hhZG93UHNldWRvSWQoY29uc3QgUVdlYkVs
ZW1lbnQmKTsKIAogICAgIHN0YXRpYyBRU3RyaW5nIGxheWVyVHJlZUFzVGV4dChRV2ViRnJhbWUq
KTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgV2ViQ29yZTo6RG9jdW1lbnQqIGdldENvcmVEb2N1
bWVudEZyb21WYXJpYW50TWFwKGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCk7CiB9OwogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJm
cmFtZS5jcHAKaW5kZXggYjU2Nzc4NGRlNWI1MTQ4Mjg0ZjA4ZWRiYmMyYmQ0M2UwN2JjNzA3Ni4u
YzE0ZDU1ZjM4YTkyOGVhY2ViN2I0YmJlMzBlMmQxYjYxMmY3MWEyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTYxMiw3
ICs2MTIsOCBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgc3ltbWV0cmljVXJsKCk7CiAgICAg
dm9pZCBwcm9ncmVzc1NpZ25hbCgpOwogICAgIHZvaWQgdXJsQ2hhbmdlKCk7Ci0gICAgdm9pZCBk
b21DeWNsZXMoKTsKKyAgICB2b2lkIGRvY3VtZW50SGFzRG9jdW1lbnRFbGVtZW50KCk7CisgICAg
dm9pZCBkb2N1bWVudEFsbEhhc0RvY3VtZW50RWxlbWVudCgpOwogICAgIHZvaWQgcmVxdWVzdGVk
VXJsKCk7CiAgICAgdm9pZCByZXF1ZXN0ZWRVcmxBZnRlclNldEFuZExvYWRGYWlsdXJlcygpOwog
ICAgIHZvaWQgamF2YVNjcmlwdFdpbmRvd09iamVjdENsZWFyZWRfZGF0YSgpOwpAQCAtMjAwNCwx
MCArMjAwNSw5IEBAIHZvaWQgdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkKICAgICBR
Q09NUEFSRShtX215T2JqZWN0LT5xdEZ1bmN0aW9uSW52b2tlZCgpLCAzNSk7CiAgICAgKi8KIAot
ICAgIC8vIHNob3VsZCBwaWNrIG15T3ZlcmxvYWRlZFNsb3QoUVJlZ0V4cCkKKyAgICAvLyBzaG91
bGQgcGljayBteU92ZXJsb2FkZWRTbG90KFFXZWJFbGVtZW50KQogICAgIG1fbXlPYmplY3QtPnJl
c2V0UXRGdW5jdGlvbkludm9rZWQoKTsKICAgICBldmFsSlMoIm15T2JqZWN0Lm15T3ZlcmxvYWRl
ZFNsb3QoZG9jdW1lbnQuYm9keSkiKTsKLSAgICBRRVhQRUNUX0ZBSUwoIiIsICJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkiLCBDb250aW51ZSk7CiAgICAgUUNP
TVBBUkUobV9teU9iamVjdC0+cXRGdW5jdGlvbkludm9rZWQoKSwgMzYpOwogCiAgICAgLy8gc2hv
dWxkIHBpY2sgbXlPdmVybG9hZGVkU2xvdChRT2JqZWN0KikKQEAgLTIyOTEsMTEgKzIyOTEsNDYg
QEAgdm9pZCB0c3RfUVdlYkZyYW1lOjp1cmxDaGFuZ2UoKQogfQogCiAKLXZvaWQgdHN0X1FXZWJG
cmFtZTo6ZG9tQ3ljbGVzKCkKK3ZvaWQgdHN0X1FXZWJGcmFtZTo6ZG9jdW1lbnRIYXNEb2N1bWVu
dEVsZW1lbnQoKQoreworICAgIG1fdmlldy0+c2V0SHRtbCgiPGh0bWw+PGJvZHk+PC9ib2R5Pjwv
aHRtbD4iKTsKKyAgICBRVmFyaWFudCBkb2NWYXJpYW50ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+
ZXZhbHVhdGVKYXZhU2NyaXB0KCJkb2N1bWVudCIpOworICAgIFFWRVJJRlkoZG9jVmFyaWFudC5p
c1ZhbGlkKCkpOworICAgIFFDT01QQVJFKGRvY1ZhcmlhbnQudHlwZSgpLCBRVmFyaWFudDo6TWFw
KTsKKyAgICBRVmFyaWFudE1hcCBkb2N1bWVudCA9IGRvY1ZhcmlhbnQudG9NYXAoKTsKKworICAg
IFFWYXJpYW50IGRvY0VsZW1lbnRWYXJpYW50ID0gZG9jdW1lbnQudmFsdWUoImRvY3VtZW50RWxl
bWVudCIpOworICAgIFFWRVJJRlkoZG9jRWxlbWVudFZhcmlhbnQuaXNWYWxpZCgpKTsKKyAgICBR
Q09NUEFSRShkb2NFbGVtZW50VmFyaWFudC51c2VyVHlwZSgpLCBxTWV0YVR5cGVJZDxRV2ViRWxl
bWVudD4oKSk7CisgICAgUVdlYkVsZW1lbnQgZG9jdW1lbnRFbGVtZW50ID0gcXZhcmlhbnRfY2Fz
dDxRV2ViRWxlbWVudD4oZG9jRWxlbWVudFZhcmlhbnQpOworCisgICAgUVZFUklGWSghZG9jdW1l
bnRFbGVtZW50LmlzTnVsbCgpKTsKKyAgICBRQ09NUEFSRShkb2N1bWVudEVsZW1lbnQsIG1fcGFn
ZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50RWxlbWVudCgpKTsKK30KKwordm9pZCB0c3RfUVdlYkZy
YW1lOjpkb2N1bWVudEFsbEhhc0RvY3VtZW50RWxlbWVudCgpCiB7Ci0gICAgbV92aWV3LT5zZXRI
dG1sKCI8aHRtbD48Ym9keT4iKTsKLSAgICBRVmFyaWFudCB2ID0gbV9wYWdlLT5tYWluRnJhbWUo
KS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJkb2N1bWVudCIpOwotICAgIFFWRVJJRlkodi50eXBlKCkg
PT0gUVZhcmlhbnQ6Ok1hcCk7CisgICAgbV92aWV3LT5zZXRIdG1sKCI8aHRtbD48Ym9keT48L2Jv
ZHk+PC9odG1sPiIpOworICAgIFFWYXJpYW50IGRvY1ZhcmlhbnQgPSBtX3BhZ2UtPm1haW5GcmFt
ZSgpLT5ldmFsdWF0ZUphdmFTY3JpcHQoImRvY3VtZW50Iik7CisgICAgUVZhcmlhbnRNYXAgZG9j
dW1lbnQgPSBkb2NWYXJpYW50LnRvTWFwKCk7CisKKyAgICBRVmFyaWFudCBhbGxWYXJpYW50ID0g
ZG9jdW1lbnQudmFsdWUoImFsbCIpOworICAgIFFWRVJJRlkoYWxsVmFyaWFudC5pc1ZhbGlkKCkp
OworICAgIFFDT01QQVJFKGFsbFZhcmlhbnQudHlwZSgpLCBRVmFyaWFudDo6TWFwKTsKKyAgICBR
VmFyaWFudE1hcCBhbGwgPSBhbGxWYXJpYW50LnRvTWFwKCk7CisKKyAgICBib29sIGZvdW5kRG9j
dW1lbnRFbGVtZW50ID0gZmFsc2U7CisgICAgZm9yZWFjaCAoUVZhcmlhbnQgdiwgYWxsLnZhbHVl
cygpKSB7CisgICAgICAgIGlmICh2LnVzZXJUeXBlKCkgIT0gcU1ldGFUeXBlSWQ8UVdlYkVsZW1l
bnQ+KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgUVdlYkVsZW1lbnQgZSA9IHF2
YXJpYW50X2Nhc3Q8UVdlYkVsZW1lbnQ+KHYpOworICAgICAgICBpZiAoZSA9PSBtX3BhZ2UtPm1h
aW5GcmFtZSgpLT5kb2N1bWVudEVsZW1lbnQoKSkgeworICAgICAgICAgICAgZm91bmREb2N1bWVu
dEVsZW1lbnQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBRVkVSSUZZKGZvdW5kRG9jdW1lbnRFbGVtZW50KTsKIH0KIAogY2xhc3MgRmFrZVJlcGx5
IDogcHVibGljIFFOZXR3b3JrUmVwbHkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY2NGI0NzU0OWYxZDQyYzdiOTIzNTI1ZGFlNzM1ZDE5ZDdl
MTc2Y2YuLmIzYTFhYzY4MDVhYjlkOTQ1Nzc1YjA1MTRkMmQyZGE3ZmNiYjhhNjggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxMS0wNi0xMCAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2
ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtRdF0gdHN0X1FXZWJGcmFtZTo6b3ZlcmxvYWRlZFNsb3RzKCkgZmFpbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzE5CisK
KyAgICAgICAgU2luY2Ugd2UgZG9uJ3QgaW1wbGljdGx5IGNvbnZlcnQgJ2RvY3VtZW50JyBvYmpl
Y3QgdG8gUVdlYkVsZW1lbnQKKyAgICAgICAgaW4gbWV0YWNhbGxzIGFueW1vcmUsIGNoYW5nZSB0
aGUgY29udHJvbGxlciB0byBleHBlY3QgUVZhcmlhbnRNYXAgaW5zdGVhZC4KKworICAgICAgICBU
aGUgbWV0aG9kIHBsYWluVGV4dCgpIHdhcyB1cGRhdGVkIHRvIHVzZSBRVmFyaWFudE1hcCBhcyB3
ZWxsIHRvIGxldCB0aGUgYnJpZGdlCisgICAgICAgIGRvIHRoZSBjb252ZXJzaW9uIGRpcmVjdGx5
IGZvciB1cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om5vZGVzRnJvbVJlY3Qp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250cm9sbGVyUXQuY3BwOgor
ICAgICAgICAoUGxhaW5UZXh0Q29udHJvbGxlcjo6cGxhaW5UZXh0KToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250cm9sbGVyUXQuaDoKKwogMjAxMS0wNi0wOSAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKaW5kZXggZmYzZWQzMzhhYWJiMDc3ZmMyNmUyNDBlNTUwNDY4MTI3YjBiMTE5Zi4u
MmQzNmMzNzQ5MTQ2OTExMmM5MjhiODJmYmJmNDg1OWIwNTY2MGYzYyAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTkwOSw3
ICs5MDksNyBAQCBib29sIExheW91dFRlc3RDb250cm9sbGVyOjpoYXNTcGVsbGluZ01hcmtlcihp
bnQsIGludCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVFWYXJpYW50TGlzdCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6bm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGlu
dCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwgdW5zaWduZWQgYm90dG9t
LCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKQorUVZhcmlhbnRMaXN0IExheW91
dFRlc3RDb250cm9sbGVyOjpub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVu
dCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBi
b3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpCiB7CiAgICAgcmV0dXJu
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0KGRvY3VtZW50LCB4LCB5LCB0
b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGlnbm9yZUNsaXBwaW5nKTsKIH0KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCA5OWQwNGYz
ODM0YTkzNDc5MWIyYTVkMzdjYmI0Yjg1MDUxOTJkNzk3Li4zNDA4ZDViMjI1M2RhZTIwNzNmZDRk
OWZjMzlmNDE4NzczZmU3YzkyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0yMzYsNyArMjM2LDcgQEAgcHVibGljIHNsb3RzOgog
ICAgIHZvaWQgYWJvcnRNb2RhbCgpIHt9CiAgICAgYm9vbCBoYXNTcGVsbGluZ01hcmtlcihpbnQg
ZnJvbSwgaW50IGxlbmd0aCk7CiAKLSAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25z
dCBRV2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNp
Z25lZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNs
aXBwaW5nKTsKKyAgICBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBRVmFyaWFudE1h
cCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdodCwg
dW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKTsKIAog
ICAgIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFFT
dHJpbmcmIGRlc3RpbmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvUGxhaW5UZXh0Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Bs
YWluVGV4dENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZGQ2M2ZlYWRiZmJlYmQ0MDExZWQyODBhZDVm
MDVmNzhiNTA3OTQ5NS4uNGRiNTJkMzU3MzY3NDdlNmUwMTk3MDZkZDg0NWI5MTJkZjViZTdhMiAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvUGxhaW5UZXh0Q29udHJvbGxlclF0
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250cm9sbGVyUXQu
Y3BwCkBAIC0zOCw3ICszOCw3IEBAIFBsYWluVGV4dENvbnRyb2xsZXI6OlBsYWluVGV4dENvbnRy
b2xsZXIoUVdlYlBhZ2UqIHBhcmVudCkKIHsKIH0KIAotUVN0cmluZyBQbGFpblRleHRDb250cm9s
bGVyOjpwbGFpblRleHQoY29uc3QgUVZhcmlhbnQmIHJhbmdlKQorUVN0cmluZyBQbGFpblRleHRD
b250cm9sbGVyOjpwbGFpblRleHQoY29uc3QgUVZhcmlhbnRNYXAmIHJhbmdlKQogewogICAgIHJl
dHVybiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cGxhaW5UZXh0KHJhbmdlKTsKIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1BsYWluVGV4dENvbnRyb2xsZXJRdC5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvUGxhaW5UZXh0Q29udHJvbGxlclF0LmgKaW5kZXggZTc4
ZTExMDVhYTRkN2I5NzQ1YmU5NTVkZDMxYjQyNWVhNDBhYmUwNS4uNDU0OTYxYjU2ZTc2N2Q2MDQ4
ZDZlY2JhNDU1ZTIyODYxNTBiNjc5OSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvUGxhaW5UZXh0Q29udHJvbGxlclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
UGxhaW5UZXh0Q29udHJvbGxlclF0LmgKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAgIFBs
YWluVGV4dENvbnRyb2xsZXIoUVdlYlBhZ2UqIHBhcmVudCk7CiAKIHB1YmxpYyBzbG90czoKLSAg
ICBRU3RyaW5nIHBsYWluVGV4dChjb25zdCBRVmFyaWFudCYgcmFuZ2UpOworICAgIFFTdHJpbmcg
cGxhaW5UZXh0KGNvbnN0IFFWYXJpYW50TWFwJiByYW5nZSk7CiB9OwogCiAjZW5kaWYgLy8gUGxh
aW5UZXh0Q29udHJvbGxlclF0X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96778</attachid>
            <date>2011-06-10 13:43:41 -0700</date>
            <delta_ts>2011-06-27 09:55:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110610174339.patch</filename>
            <type>text/plain</type>
            <size>20411</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg1NTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMzY2NzlkYmJiNDllYzg4
NDI4ODJlOWY2ZGFlN2YyYjhkMWU5ZWI3Li5iODMwZmJmMWFkMjVkZjNkYWE4NTA1NDMzZTVkZWIx
MTI3ZWRlZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDYtMTAgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIHRz
dF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIEluY3JlYXNlIHRo
ZSBsaWtlbmVzcyB0aGF0IEpTRWxlbWVudHMgYXJlIGNvbnZlcnRlZCB0byBRV2ViRWxlbWVudHMu
IFdoZW4gaGludGVkCisgICAgICAgIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1YWxp
ZnkgdGhlIGNvbnZlcnNpb24gZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVjdAorICAgICAgICBt
YXRjaCIuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jvbmcg
c2xvdCB3YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2ggd2Fz
IHRha2VuIGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUgbWV0
YWNhbGwgaGFwcGVuZWQuCisKKyAgICAgICAgV2UgYWxzbyByZW1vdmUgdGhlIGltcGxpY2l0IGNv
bnZlcnNpb24gYmV0d2VlbiBKU0RvY3VtZW50ICh3aGljaCBpcyBub3QgYW4KKyAgICAgICAgZWxl
bWVudCkgdG8gUVdlYkVsZW1lbnQuIFRoZSBjb252ZXJzaW9uIG9ubHkgd29ya2VkIGZvciBjYWxs
aW5nIHNsb3RzLCB3aGlsZQorICAgICAgICB3aXRob3V0IGhpbnQgaXQgcmV0dXJuZWQgYSBRVmFy
aWFudE1hcCAoYXMgY2FuIGJlIHNlZW4gaW4gZG9tQ3ljbGVzIHRlc3QpLiBJdCB3YXMKKyAgICAg
ICAgYWRkZWQgZm9yIHN1cHBvcnRpbmcgRFJULCBidXQgc2luY2UgdGhpcyBjaGFuZ2Ugd2UgY2Fu
IHVzZSBpdCBhcyBRVmFyaWFudE1hcCBhbmQKKyAgICAgICAgZ2V0IHRoZSB2YWx1ZSBmb3IgImRv
Y3VtZW50RWxlbWVudCIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiBOb2FtIFJv
c2VudGhhbCBvcmlnaW5hbCBwYXRjaCBpbiB0aGUgc2FtZSBidWcuCisKKyAgICAgICAgKiBicmlk
Z2UvcXQvcXRfcnVudGltZS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpoaW50Rm9yUmVh
bFR5cGUpOgorICAgICAgICBFeHRyYWN0ZWQgZnVuY3Rpb24gdG8gY2hvb3NlIHRoZSBtZXRhdHlw
ZSBoaW50IGJhc2VkIG9uIHRoZSBKU1ZhbHVlIHR5cGUuICBBZGQKKyAgICAgICAgUVdlYkVsZW1l
bnQgbWV0YXR5cGUgYXMgYSBoaW50IGZvciBKU0VsZW1lbnQgb2JqZWN0cywgdGhpcyB3YXkgaWYg
bm8gaGludCBpcworICAgICAgICBwcm92aWRlZCwgSlNFbGVtZW50IG9iamVjdHMgd2lsbCBhbHdh
eXMgYmUgY29udmVydGVkIHRvIFFXZWJFbGVtZW50cy4KKworICAgICAgICAoSlNDOjpCaW5kaW5n
czo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIFVzZSBwcmV2aW91cyBmdW5jdGlv
bi4gSWRlbnRpZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQgdG8gUVdlYkVsZW1l
bnQKKyAgICAgICAgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQW5kIHJlbW92ZSB0
aGUgaW1wbGljaXQgY29udmVyc2lvbiB3aGVuIHRoZSBoaW50CisgICAgICAgIGlzIFFXZWJFbGVt
ZW50IG1ldGF0eXBlIGFuZCB3ZSBoYXZlIGEgSlNEb2N1bWVudC4gIENoYW5nZWQgZnJvbSBKU0hU
TUxFbGVtZW50IHRvCisgICAgICAgIEpTRWxlbWVudCB0byBjb3ZlciB0aGUgJ2RvY3VtZW50RWxl
bWVudCcuCisKIDIwMTEtMDYtMTAgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCAxYzFkZjc0YjZjYzZjYzQ2M2U5ODMyMjFm
OWU3YmE0NWM5ZjdmMTMyLi4yMWFhODg5YjFmNmRlNTE5ZDJjYjIyMGRjOTIzMDlmZTU5YmUwYTcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC0xODAsNiArMTgw
LDM4IEBAIHN0YXRpYyBKU1JlYWxUeXBlIHZhbHVlUmVhbFR5cGUoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlIHZhbCkKICAgICByZXR1cm4gU3RyaW5nOyAvLyBJIGRvbid0IGtub3cuCiB9CiAKK3N0
YXRpYyBRTWV0YVR5cGU6OlR5cGUgaGludEZvclJlYWxUeXBlKEpTUmVhbFR5cGUgdHlwZSwgSlNP
YmplY3QqIG9iamVjdCkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIE51bWJlcjoK
KyAgICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6RG91YmxlOworICAgIGNhc2UgQm9vbGVhbjoKKyAg
ICAgICAgcmV0dXJuIFFNZXRhVHlwZTo6Qm9vbDsKKyAgICBjYXNlIFN0cmluZzoKKyAgICAgICAg
cmV0dXJuIFFNZXRhVHlwZTo6UVN0cmluZzsKKyAgICBjYXNlIERhdGU6CisgICAgICAgIHJldHVy
biBRTWV0YVR5cGU6OlFEYXRlVGltZTsKKyAgICBjYXNlIFJlZ0V4cDoKKyAgICAgICAgcmV0dXJu
IFFNZXRhVHlwZTo6UVJlZ0V4cDsKKyAgICBjYXNlIE9iamVjdDoKKyAgICAgICAgaWYgKG9iamVj
dC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZvKSkKKyAgICAgICAgICAgIHJldHVybiBR
TWV0YVR5cGU6OkRvdWJsZTsKKyAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJvb2xlYW5P
YmplY3Q6OnNfaW5mbykpCisgICAgICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpCb29sOworICAg
ICAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNFbGVtZW50OjpzX2luZm8pKQorICAgICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4ocU1ldGFUeXBlSWQ8UVdlYkVs
ZW1lbnQ+KCkpOworICAgICAgICByZXR1cm4gUU1ldGFUeXBlOjpRVmFyaWFudE1hcDsKKyAgICBj
YXNlIFFPYmo6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFPYmplY3RTdGFyOworICAgIGNh
c2UgSlNCeXRlQXJyYXk6CisgICAgICAgIHJldHVybiBRTWV0YVR5cGU6OlFCeXRlQXJyYXk7Cisg
ICAgY2FzZSBBcnJheToKKyAgICBjYXNlIFJUQXJyYXk6CisgICAgICAgIHJldHVybiBRTWV0YVR5
cGU6OlFWYXJpYW50TGlzdDsKKyAgICB9CisgICAgcmV0dXJuIFFNZXRhVHlwZTo6UVN0cmluZzsK
K30KKwogUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqLCBKU1ZhbHVl
LCBRTWV0YVR5cGU6OlR5cGUsIGludCosIEhhc2hTZXQ8SlNPYmplY3QqPiosIGludCk7CiAKIHN0
YXRpYyBRVmFyaWFudE1hcCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50TWFwKEV4ZWNTdGF0ZSogZXhl
YywgSlNPYmplY3QqIG9iamVjdCwgSGFzaFNldDxKU09iamVjdCo+KiB2aXNpdGVkT2JqZWN0cywg
aW50IHJlY3Vyc2lvbkxpbWl0KQpAQCAtMjM5LDQ0ICsyNzEsOCBAQCBRVmFyaWFudCBjb252ZXJ0
VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgUU1ldGFUeXBl
OjpUeXBlCiAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwogICAgIEpT
UmVhbFR5cGUgdHlwZSA9IHZhbHVlUmVhbFR5cGUoZXhlYywgdmFsdWUpOwotICAgIGlmIChoaW50
ID09IFFNZXRhVHlwZTo6Vm9pZCkgewotICAgICAgICBzd2l0Y2godHlwZSkgewotICAgICAgICAg
ICAgY2FzZSBOdW1iZXI6Ci0gICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6RG91Ymxl
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBCb29sZWFuOgotICAg
ICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlIFN0cmluZzoKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVN0cmluZzsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgRGF0ZToKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1l
dGFUeXBlOjpRRGF0ZVRpbWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlIFJlZ0V4cDoKLSAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRUmVnRXhwOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBPYmplY3Q6Ci0gICAgICAg
ICAgICAgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJk51bWJlck9iamVjdDo6c19pbmZvKSkKLSAg
ICAgICAgICAgICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6RG91YmxlOwotICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkJvb2xlYW5PYmplY3Q6OnNfaW5mbykpCi0g
ICAgICAgICAgICAgICAgICAgIGhpbnQgPSBRTWV0YVR5cGU6OkJvb2w7Ci0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRVmFyaWFudE1h
cDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgUU9iajoKLSAgICAg
ICAgICAgICAgICBoaW50ID0gUU1ldGFUeXBlOjpRT2JqZWN0U3RhcjsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgSlNCeXRlQXJyYXk6Ci0gICAgICAgICAgICAgICAg
aGludCA9IFFNZXRhVHlwZTo6UUJ5dGVBcnJheTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIFJUQXJyYXk6Ci0gICAgICAg
ICAgICAgICAgaGludCA9IFFNZXRhVHlwZTo6UVZhcmlhbnRMaXN0OwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgfQorICAgIGlmIChoaW50ID09IFFNZXRhVHlwZTo6Vm9p
ZCkKKyAgICAgICAgaGludCA9IGhpbnRGb3JSZWFsVHlwZSh0eXBlLCBvYmplY3QpOwogCiAgICAg
cUNvbnZEZWJ1ZygpIDw8ICJjb252ZXJ0VmFsdWVUb1FWYXJpYW50OiBqc3R5cGUgaXMgIiA8PCB0
eXBlIDw8ICIsIGhpbnQgaXMiIDw8IGhpbnQ7CiAKQEAgLTc3NiwxMiArNzcyLDE1IEBAIFFWYXJp
YW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVl
LCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgIH0gZWxzZSBpZiAoUXRQaXhtYXBJbnN0YW5j
ZTo6Y2FuSGFuZGxlKHN0YXRpY19jYXN0PFFNZXRhVHlwZTo6VHlwZT4oaGludCkpKSB7CiAgICAg
ICAgICAgICAgICAgcmV0ID0gUXRQaXhtYXBJbnN0YW5jZTo6dmFyaWFudEZyb21PYmplY3Qob2Jq
ZWN0LCBzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKTsKICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRV2ViRWxlbWVu
dD4oKSkgewotICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygm
SlNIVE1MRWxlbWVudDo6c19pbmZvKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlh
bnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVtZW50UnVudGltZTo6Y3JlYXRlKChz
dGF0aWNfY2FzdDxKU0hUTUxFbGVtZW50Kj4ob2JqZWN0KSktPmltcGwoKSkpOwotICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKG9iamVjdCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0RvY3VtZW50Ojpz
X2luZm8pKQotICAgICAgICAgICAgICAgICAgICByZXQgPSBRVmFyaWFudDo6ZnJvbVZhbHVlPFFX
ZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVhdGUoKHN0YXRpY19jYXN0PEpTRG9j
dW1lbnQqPihvYmplY3QpKS0+aW1wbCgpLT5kb2N1bWVudEVsZW1lbnQoKSkpOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1
ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CisgICAgICAgICAgICAgICAgaWYgKG9iamVj
dCAmJiBvYmplY3QtPmluaGVyaXRzKCZKU0VsZW1lbnQ6OnNfaW5mbykpIHsKKyAgICAgICAgICAg
ICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUXRXZWJFbGVt
ZW50UnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU0VsZW1lbnQqPihvYmplY3QpKS0+aW1w
bCgpKSk7CisgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAwOworICAgICAgICAgICAgICAgICAg
ICAvLyBBbGxvdyBvdGhlciBvYmplY3RzIHRvIHJlYWNoIHRoaXMgb25lLiBUaGlzIHdvbid0IGNh
dXNlIG91ciBhbGdvcml0aG0gdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gbG9vcCBzaW5jZSB3
aGVuIHdlIGZpbmQgYW4gRWxlbWVudCB3ZSBkbyBub3QgcmVjdXJzZS4KKyAgICAgICAgICAgICAg
ICAgICAgdmlzaXRlZE9iamVjdHMtPnJlbW92ZShvYmplY3QpOworICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlh
bnQ6OmZyb21WYWx1ZTxRV2ViRWxlbWVudD4oUVdlYkVsZW1lbnQoKSk7CiAgICAgICAgICAgICB9
IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UURSVE5vZGU+
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJpdHMoJkpT
Tm9kZTo6c19pbmZvKSkKICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVZhcmlhbnQ6OmZyb21W
YWx1ZTxRRFJUTm9kZT4oUXREUlROb2RlUnVudGltZTo6Y3JlYXRlKChzdGF0aWNfY2FzdDxKU05v
ZGUqPihvYmplY3QpKS0+aW1wbCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQ4ZmQ0NmE4NTMwYjIw
NDRiNTljZWMxMmI3OWZjNjVmNGMxODg5MDEuLjQ4YzNkNTE4NzgzYzI5OTMyNzYyZTFiOTdmNjk1
OGY4ZGE2MTEyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMDYtMTAg
IENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3Nh
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIHRzdF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIFNpbmNl
IHRoZSBpbXBsaWNpdCBjb252ZXJzaW9uIHdhcyByZW1vdmVkLCBjaGFuZ2Ugc3VwcG9ydCBmdW5j
dGlvbnMgb2YgRFJUIHRvCisgICAgICAgIGV4cGVjdCBhIFFWYXJpYW50TWFwIGluc3RlYWQgb2Yg
YSBRV2ViRWxlbWVudC4gVGhpcyBtYXRjaGVzIHRoZSBleHBvc2VkIGZ1bmN0aW9uCisgICAgICAg
IGluIHRoZSBjb250cm9sbGVyLCB3aGljaCB0YWtlcyAnZG9jdW1lbnQnIGFuZCBub3QgJ2RvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCcuCisKKyAgICAgICAgQW5kIG5vdyB0aGF0IEVsZW1lbnQgLT4g
UVdlYkVsZW1lbnQgaXMgYSBwZXJmZWN0IG1hdGNoLCB3ZSBtdXN0IHVzZSBRV2ViRWxlbWVudAor
ICAgICAgICBpbnN0ZWFkIG9mIFFWYXJpYW50TWFwLCBsaWtlIGluIHBsYWluVGV4dCgpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAg
IChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cGxhaW5UZXh0KTogRml4IHRvIHVzZSBRV2ViRWxl
bWVudCBpbnN0ZWFkIG9mCisgICAgICAgIFFWYXJpYW50TWFwIHdoZW4gZ2V0dGluZyB0aGUgc3Rh
cnRDb250YWluZXIuIEFsc28gdXNlIFFWYXJpYW50TWFwIGRpcmVjdGx5LAorICAgICAgICBicmlk
Z2Ugd2lsbCBkbyBjb252ZXJzaW9uIGZvciB1cyBub3cuCisKKyAgICAgICAgKGdldENvcmVEb2N1
bWVudEZyb21WYXJpYW50TWFwKTogRXh0cmFjdHMgdGhlIFdlYkNvcmU6OkRvY3VtZW50KiBmcm9t
IHRoZQorICAgICAgICBRVmFyaWFudE1hcCB0aGF0IFF0IGJyaWRnZSBnaXZlcyB1cyB3aGVuICdk
b2N1bWVudCcgaXMgcGFzc2VkIGZyb20gSlMuCisKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0Ojpub2Rlc0Zyb21SZWN0KTogVXNlIGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICAq
IHRlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcDogU3BsaXR0ZWQgdGhlIHRlc3QgZG9t
Q3ljbGVzKCkgaW50byB0d28KKyAgICAgICAgZGlmZmVyZW50IHRlc3RzLiBJbiBwcmFjdGljZSwg
dGhlIG9yaWdpbmFsIHRlc3QganVzdCBjaGVja2VkIHdoZXRoZXIgd2UgY291bGQKKyAgICAgICAg
Y3JlYXRlIGEgUVZhcmlhbnRNYXAgcmVwcmVzZW50aW5nICdkb2N1bWVudCcgd2l0aG91dCBpbmZp
bml0ZSBsb29waW5nIGR1ZSB0bworICAgICAgICBjeWNsZXMgaW4gdGhlIERPTS4gVGhpcyB3YXMg
bW9yZSBldmlkZW50IGJlZm9yZSBzaW5jZSB3ZSBoYXZlbid0IGEgY29udmVyc2lvbgorICAgICAg
ICBmcm9tIEpTRWxlbWVudCB0byBRV2ViRWxlbWVudCwgYnV0IGZyb20gSlNFbGVtZW50IHRvIFFW
YXJpYW50TWFwLgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEhhc0RvY3VtZW50
RWxlbWVudCk6IEV2YWx1YXRlcyAnZG9jdW1lbnQnIGFuZCBleHRyYWN0cworICAgICAgICAnZG9j
dW1lbnRFbGVtZW50JyBmcm9tIGl0LiBDb21wYXJlcyB0byBRV2ViRnJhbWU6OmRvY3VtZW50RWxl
bWVudCgpLgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEFsbEhhc0RvY3VtZW50
RWxlbWVudCk6IExvb2sgaW5zaWRlICdkb2N1bWVudC5hbGwnIGZvcgorICAgICAgICB0aGUgZG9j
dW1lbnRFbGVtZW50LgorCisgICAgICAgICh0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMp
OiBSZW1vdmUgZXhwZWN0ZWQgZmFpbHVyZSBhbmQgZml4IHdyb25nIGNvbW1lbnQuCisKIDIwMTEt
MDYtMTAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEJlbmphbWluIFBvdWxhaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IDJkMTMx
OWFkNGM1OTNkM2VmMGQ3MTJiYTRmMzI1MWE3MTY0MzA2MjIuLjdmZTdlMTY1ODc3NzgzZTQ1YzBm
M2U5MDBiZjI1MzRjZjBhZmUyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC05NzQsMjMg
Kzk3NCwzMSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzaW11bGF0ZURlc2t0b3BO
b3RpZmljYXRpb25DbGljayhjb25zdCBRU3RyaW5nJiB0aQogI2VuZGlmCiB9CiAKLVFTdHJpbmcg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnBsYWluVGV4dChjb25zdCBRVmFyaWFudCYgcmFuZ2Up
CitRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpwbGFpblRleHQoY29uc3QgUVZhcmlh
bnRNYXAmIHJhbmdlKQogewotICAgIFFNYXA8UVN0cmluZywgUVZhcmlhbnQ+IG1hcCA9IHJhbmdl
LnRvTWFwKCk7Ci0gICAgUVZhcmlhbnQgc3RhcnRDb250YWluZXIgID0gbWFwLnZhbHVlKFFMYXRp
bjFTdHJpbmcoInN0YXJ0Q29udGFpbmVyIikpOwotICAgIG1hcCA9IHN0YXJ0Q29udGFpbmVyLnRv
TWFwKCk7CisgICAgUVZhcmlhbnQgdiA9IHJhbmdlLnZhbHVlKFFMYXRpbjFTdHJpbmcoInN0YXJ0
Q29udGFpbmVyIikpOworICAgIEFTU0VSVCh2LmlzVmFsaWQoKSk7CisgICAgUVdlYkVsZW1lbnQg
c3RhcnRDb250YWluZXIgPSBxdmFyaWFudF9jYXN0PFFXZWJFbGVtZW50Pih2KTsKKyAgICByZXR1
cm4gc3RhcnRDb250YWluZXIudG9QbGFpblRleHQoKTsKK30KKworV2ViQ29yZTo6RG9jdW1lbnQq
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpnZXRDb3JlRG9jdW1lbnRGcm9tVmFyaWFudE1hcChj
b25zdCBRVmFyaWFudE1hcCYgZG9jdW1lbnQpCit7CisgICAgUVZhcmlhbnQgdiA9IGRvY3VtZW50
LnZhbHVlKFFMYXRpbjFTdHJpbmcoImRvY3VtZW50RWxlbWVudCIpKTsKKyAgICBBU1NFUlQodi5p
c1ZhbGlkKCkpOworICAgIFFXZWJFbGVtZW50IGRvY3VtZW50RWxlbWVudCA9IHF2YXJpYW50X2Nh
c3Q8UVdlYkVsZW1lbnQ+KHYpOworCisgICAgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCA9IGRv
Y3VtZW50RWxlbWVudC5tX2VsZW1lbnQ7CisgICAgaWYgKCFlbGVtZW50KQorICAgICAgICByZXR1
cm4gMDsKIAotICAgIHJldHVybiBtYXAudmFsdWUoUUxhdGluMVN0cmluZygiaW5uZXJUZXh0Iikp
LnRvU3RyaW5nKCk7CisgICAgcmV0dXJuIGVsZW1lbnQtPmRvY3VtZW50KCk7CiB9CiAKLVFWYXJp
YW50TGlzdCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bm9kZXNGcm9tUmVjdChjb25zdCBRV2Vi
RWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCBy
aWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5n
KQorUVZhcmlhbnRMaXN0IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpub2Rlc0Zyb21SZWN0KGNv
bnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVu
c2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3Jl
Q2xpcHBpbmcpCiB7CiAgICAgUVZhcmlhbnRMaXN0IHJlczsKLSAgICBXZWJDb3JlOjpFbGVtZW50
KiB3ZWJFbGVtZW50ID0gZG9jdW1lbnQubV9lbGVtZW50OwotICAgIGlmICghd2ViRWxlbWVudCkK
LSAgICAgICAgcmV0dXJuIHJlczsKLQotICAgIERvY3VtZW50KiBkb2MgPSB3ZWJFbGVtZW50LT5k
b2N1bWVudCgpOworICAgIERvY3VtZW50KiBkb2MgPSBnZXRDb3JlRG9jdW1lbnRGcm9tVmFyaWFu
dE1hcChkb2N1bWVudCk7CiAgICAgaWYgKCFkb2MpCiAgICAgICAgIHJldHVybiByZXM7CiAgICAg
UmVmUHRyPE5vZGVMaXN0PiBub2RlcyA9IGRvYy0+bm9kZXNGcm9tUmVjdCh4LCB5LCB0b3AsIHJp
Z2h0LCBib3R0b20sIGxlZnQsIGlnbm9yZUNsaXBwaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRl
eCBjOTM5NDJjMzJkNzBmMjBmZDRlMTk5ODA4NjlhMmUyM2Y4ODYwOWE2Li4xMDAxNDdjNGFiNGJm
ZjAwYzhjYmI5YzI4Mjg4ZjhiNDViYWM1MGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSA8UVZhcmlhbnQ+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2Ns
YXNzIERvY3VtZW50OwogY2xhc3MgVGV4dDsKIGNsYXNzIE5vZGU7CiB9CkBAIC0xNjAsNyArMTYx
LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFFTdHJpbmcgbWFya2VyVGV4dEZvckxpc3RJdGVt
KGNvbnN0IFFXZWJFbGVtZW50JiBsaXN0SXRlbSk7CiAgICAgc3RhdGljIFFWYXJpYW50TWFwIGNv
bXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb25zdCBRV2ViRWxlbWVudCYgZWxlbWVu
dCk7Ci0gICAgc3RhdGljIFFTdHJpbmcgcGxhaW5UZXh0KGNvbnN0IFFWYXJpYW50JiBybmcpOwor
ICAgIHN0YXRpYyBRU3RyaW5nIHBsYWluVGV4dChjb25zdCBRVmFyaWFudE1hcCYgcmFuZ2UpOwog
CiAgICAgc3RhdGljIHZvaWQgZHVtcEZyYW1lTG9hZGVyKGJvb2wgYik7CiAgICAgc3RhdGljIHZv
aWQgZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRlcihib29sIGIpOwpAQCAtMTk4LDcgKzE5OSw3
IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHNjYWxlUGFnZUJ5KFFXZWJGcmFtZSosIGZs
b2F0IHNjYWxlLCBjb25zdCBRUG9pbnQmIG9yaWdpbik7CiAKLSAgICBzdGF0aWMgUVZhcmlhbnRM
aXN0IG5vZGVzRnJvbVJlY3QoY29uc3QgUVdlYkVsZW1lbnQmIGRvY3VtZW50LCBpbnQgeCwgaW50
IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwgdW5zaWdu
ZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7CisgICAgc3RhdGljIFFWYXJpYW50TGlzdCBu
b2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1
bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxl
ZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogICAgIHN0YXRpYyBRU3RyaW5nIHJlc3BvbnNlTWlt
ZVR5cGUoUVdlYkZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJPcGVuZXIoUVdlYkZyYW1l
Kik7CiAgICAgc3RhdGljIHZvaWQgYWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmln
aW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uKTsKQEAgLTIxOCw2ICsyMTksOSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFFTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KFFXZWJGcmFtZSopOwogCiAg
ICAgc3RhdGljIHZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0KFFXZWJGcmFtZSopOworCitwcml2
YXRlOgorICAgIHN0YXRpYyBXZWJDb3JlOjpEb2N1bWVudCogZ2V0Q29yZURvY3VtZW50RnJvbVZh
cmlhbnRNYXAoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50KTsKIH07CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcApp
bmRleCBiNTY3Nzg0ZGU1YjUxNDgyODRmMDhlZGJiYzJiZDQzZTA3YmM3MDc2Li5jMTRkNTVmMzhh
OTI4ZWFjZWI3YjRiYmUzMGUyZDFiNjEyZjcxYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcApAQCAtNjEyLDcgKzYxMiw4IEBA
IHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBzeW1tZXRyaWNVcmwoKTsKICAgICB2b2lkIHByb2dy
ZXNzU2lnbmFsKCk7CiAgICAgdm9pZCB1cmxDaGFuZ2UoKTsKLSAgICB2b2lkIGRvbUN5Y2xlcygp
OworICAgIHZvaWQgZG9jdW1lbnRIYXNEb2N1bWVudEVsZW1lbnQoKTsKKyAgICB2b2lkIGRvY3Vt
ZW50QWxsSGFzRG9jdW1lbnRFbGVtZW50KCk7CiAgICAgdm9pZCByZXF1ZXN0ZWRVcmwoKTsKICAg
ICB2b2lkIHJlcXVlc3RlZFVybEFmdGVyU2V0QW5kTG9hZEZhaWx1cmVzKCk7CiAgICAgdm9pZCBq
YXZhU2NyaXB0V2luZG93T2JqZWN0Q2xlYXJlZF9kYXRhKCk7CkBAIC0yMDA0LDEwICsyMDA1LDkg
QEAgdm9pZCB0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKQogICAgIFFDT01QQVJFKG1f
bXlPYmplY3QtPnF0RnVuY3Rpb25JbnZva2VkKCksIDM1KTsKICAgICAqLwogCi0gICAgLy8gc2hv
dWxkIHBpY2sgbXlPdmVybG9hZGVkU2xvdChRUmVnRXhwKQorICAgIC8vIHNob3VsZCBwaWNrIG15
T3ZlcmxvYWRlZFNsb3QoUVdlYkVsZW1lbnQpCiAgICAgbV9teU9iamVjdC0+cmVzZXRRdEZ1bmN0
aW9uSW52b2tlZCgpOwogICAgIGV2YWxKUygibXlPYmplY3QubXlPdmVybG9hZGVkU2xvdChkb2N1
bWVudC5ib2R5KSIpOwotICAgIFFFWFBFQ1RfRkFJTCgiIiwgImh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOSIsIENvbnRpbnVlKTsKICAgICBRQ09NUEFSRShtX215
T2JqZWN0LT5xdEZ1bmN0aW9uSW52b2tlZCgpLCAzNik7CiAKICAgICAvLyBzaG91bGQgcGljayBt
eU92ZXJsb2FkZWRTbG90KFFPYmplY3QqKQpAQCAtMjI5MSwxMSArMjI5MSw0NiBAQCB2b2lkIHRz
dF9RV2ViRnJhbWU6OnVybENoYW5nZSgpCiB9CiAKIAotdm9pZCB0c3RfUVdlYkZyYW1lOjpkb21D
eWNsZXMoKQordm9pZCB0c3RfUVdlYkZyYW1lOjpkb2N1bWVudEhhc0RvY3VtZW50RWxlbWVudCgp
Cit7CisgICAgbV92aWV3LT5zZXRIdG1sKCI8aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPiIpOwor
ICAgIFFWYXJpYW50IGRvY1ZhcmlhbnQgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLT5ldmFsdWF0ZUph
dmFTY3JpcHQoImRvY3VtZW50Iik7CisgICAgUVZFUklGWShkb2NWYXJpYW50LmlzVmFsaWQoKSk7
CisgICAgUUNPTVBBUkUoZG9jVmFyaWFudC50eXBlKCksIFFWYXJpYW50OjpNYXApOworICAgIFFW
YXJpYW50TWFwIGRvY3VtZW50ID0gZG9jVmFyaWFudC50b01hcCgpOworCisgICAgUVZhcmlhbnQg
ZG9jRWxlbWVudFZhcmlhbnQgPSBkb2N1bWVudC52YWx1ZSgiZG9jdW1lbnRFbGVtZW50Iik7Cisg
ICAgUVZFUklGWShkb2NFbGVtZW50VmFyaWFudC5pc1ZhbGlkKCkpOworICAgIFFDT01QQVJFKGRv
Y0VsZW1lbnRWYXJpYW50LnVzZXJUeXBlKCksIHFNZXRhVHlwZUlkPFFXZWJFbGVtZW50PigpKTsK
KyAgICBRV2ViRWxlbWVudCBkb2N1bWVudEVsZW1lbnQgPSBxdmFyaWFudF9jYXN0PFFXZWJFbGVt
ZW50Pihkb2NFbGVtZW50VmFyaWFudCk7CisKKyAgICBRVkVSSUZZKCFkb2N1bWVudEVsZW1lbnQu
aXNOdWxsKCkpOworICAgIFFDT01QQVJFKGRvY3VtZW50RWxlbWVudCwgbV9wYWdlLT5tYWluRnJh
bWUoKS0+ZG9jdW1lbnRFbGVtZW50KCkpOworfQorCit2b2lkIHRzdF9RV2ViRnJhbWU6OmRvY3Vt
ZW50QWxsSGFzRG9jdW1lbnRFbGVtZW50KCkKIHsKLSAgICBtX3ZpZXctPnNldEh0bWwoIjxodG1s
Pjxib2R5PiIpOwotICAgIFFWYXJpYW50IHYgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLT5ldmFsdWF0
ZUphdmFTY3JpcHQoImRvY3VtZW50Iik7Ci0gICAgUVZFUklGWSh2LnR5cGUoKSA9PSBRVmFyaWFu
dDo6TWFwKTsKKyAgICBtX3ZpZXctPnNldEh0bWwoIjxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+
Iik7CisgICAgUVZhcmlhbnQgZG9jVmFyaWFudCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1
YXRlSmF2YVNjcmlwdCgiZG9jdW1lbnQiKTsKKyAgICBRVmFyaWFudE1hcCBkb2N1bWVudCA9IGRv
Y1ZhcmlhbnQudG9NYXAoKTsKKworICAgIFFWYXJpYW50IGFsbFZhcmlhbnQgPSBkb2N1bWVudC52
YWx1ZSgiYWxsIik7CisgICAgUVZFUklGWShhbGxWYXJpYW50LmlzVmFsaWQoKSk7CisgICAgUUNP
TVBBUkUoYWxsVmFyaWFudC50eXBlKCksIFFWYXJpYW50OjpNYXApOworICAgIFFWYXJpYW50TWFw
IGFsbCA9IGFsbFZhcmlhbnQudG9NYXAoKTsKKworICAgIGJvb2wgZm91bmREb2N1bWVudEVsZW1l
bnQgPSBmYWxzZTsKKyAgICBmb3JlYWNoIChRVmFyaWFudCB2LCBhbGwudmFsdWVzKCkpIHsKKyAg
ICAgICAgaWYgKHYudXNlclR5cGUoKSAhPSBxTWV0YVR5cGVJZDxRV2ViRWxlbWVudD4oKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBRV2ViRWxlbWVudCBlID0gcXZhcmlhbnRfY2Fz
dDxRV2ViRWxlbWVudD4odik7CisgICAgICAgIGlmIChlID09IG1fcGFnZS0+bWFpbkZyYW1lKCkt
PmRvY3VtZW50RWxlbWVudCgpKSB7CisgICAgICAgICAgICBmb3VuZERvY3VtZW50RWxlbWVudCA9
IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIFFWRVJJ
RlkoZm91bmREb2N1bWVudEVsZW1lbnQpOwogfQogCiBjbGFzcyBGYWtlUmVwbHkgOiBwdWJsaWMg
UU5ldHdvcmtSZXBseSB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggZWVkZDEyMjBjN2EwYWI3MDNkNGFkYzU3OTBjNzI1NDNjMGU5MzBkNS4uNTYx
ZjkzMzM1OWFkYzIxN2JlZWZhNTgwMzUxNzQ5MTg1NWQzMDk2ZCAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTA2
LTEwICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5i
b3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW1F0XSB0c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKworICAgICAgICBT
aW5jZSB3ZSBkb24ndCBpbXBsaWN0bHkgY29udmVydCAnZG9jdW1lbnQnIG9iamVjdCB0byBRV2Vi
RWxlbWVudAorICAgICAgICBpbiBtZXRhY2FsbHMgYW55bW9yZSwgY2hhbmdlIHRoZSBjb250cm9s
bGVyIHRvIGV4cGVjdCBRVmFyaWFudE1hcCBpbnN0ZWFkLgorCisgICAgICAgIFRoZSBtZXRob2Qg
cGxhaW5UZXh0KCkgd2FzIHVwZGF0ZWQgdG8gdXNlIFFWYXJpYW50TWFwIGFzIHdlbGwgdG8gbGV0
IHRoZSBicmlkZ2UKKyAgICAgICAgZG8gdGhlIGNvbnZlcnNpb24gZGlyZWN0bHkgZm9yIHVzLgor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNGcm9tUmVjdCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L1BsYWluVGV4dENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChQ
bGFpblRleHRDb250cm9sbGVyOjpwbGFpblRleHQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3F0L1BsYWluVGV4dENvbnRyb2xsZXJRdC5oOgorCiAyMDExLTA2LTA5ICBDc2FiYSBPc3p0cm9n
b27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCByb2xsaW5nIG91
dCByODg0NzEsIGJlY2F1c2UgaXQgYnJva2UgcGx1Z2luIHRlc3RzIG9uIFF0LgpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAppbmRleCBm
ZjNlZDMzOGFhYmIwNzdmYzI2ZTI0MGU1NTA0NjgxMjdiMGIxMTlmLi4yZDM2YzM3NDkxNDY5MTEy
YzkyOGI4MmZiYmY0ODU5YjA1NjYwZjNjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApAQCAtOTA5LDcgKzkwOSw3IEBAIGJvb2wg
TGF5b3V0VGVzdENvbnRyb2xsZXI6Omhhc1NwZWxsaW5nTWFya2VyKGludCwgaW50KQogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotUVZhcmlhbnRMaXN0IExheW91dFRlc3RDb250cm9sbGVyOjpub2Rl
c0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBkb2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNp
Z25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQs
IGJvb2wgaWdub3JlQ2xpcHBpbmcpCitRVmFyaWFudExpc3QgTGF5b3V0VGVzdENvbnRyb2xsZXI6
Om5vZGVzRnJvbVJlY3QoY29uc3QgUVZhcmlhbnRNYXAmIGRvY3VtZW50LCBpbnQgeCwgaW50IHks
IHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2lnbmVkIGJvdHRvbSwgdW5zaWduZWQg
bGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZykKIHsKICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6Om5vZGVzRnJvbVJlY3QoZG9jdW1lbnQsIHgsIHksIHRvcCwgcmlnaHQsIGJvdHRv
bSwgbGVmdCwgaWdub3JlQ2xpcHBpbmcpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDk5ZDA0ZjM4MzRhOTM0NzkxYjJhNWQz
N2NiYjRiODUwNTE5MmQ3OTcuLjM0MDhkNWIyMjUzZGFlMjA3M2ZkNGQ5ZmMzOWY0MTg3NzNmZTdj
OTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgKQEAgLTIzNiw3ICsyMzYsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBhYm9ydE1v
ZGFsKCkge30KICAgICBib29sIGhhc1NwZWxsaW5nTWFya2VyKGludCBmcm9tLCBpbnQgbGVuZ3Ro
KTsKIAotICAgIFFWYXJpYW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFXZWJFbGVtZW50JiBk
b2N1bWVudCwgaW50IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNp
Z25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOworICAgIFFW
YXJpYW50TGlzdCBub2Rlc0Zyb21SZWN0KGNvbnN0IFFWYXJpYW50TWFwJiBkb2N1bWVudCwgaW50
IHgsIGludCB5LCB1bnNpZ25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20s
IHVuc2lnbmVkIGxlZnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogCiAgICAgdm9pZCBhZGRVUkxU
b1JlZGlyZWN0KGNvbnN0IFFTdHJpbmcmIG9yaWdpbiwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRp
b24pOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250
cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvUGxhaW5UZXh0Q29udHJvbGxl
clF0LmNwcAppbmRleCBkZDYzZmVhZGJmYmViZDQwMTFlZDI4MGFkNWYwNWY3OGI1MDc5NDk1Li40
ZGI1MmQzNTczNjc0N2U2ZTAxOTcwNmRkODQ1YjkxMmRmNWJlN2EyIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250cm9sbGVyUXQuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L1BsYWluVGV4dENvbnRyb2xsZXJRdC5jcHAKQEAgLTM4LDcgKzM4
LDcgQEAgUGxhaW5UZXh0Q29udHJvbGxlcjo6UGxhaW5UZXh0Q29udHJvbGxlcihRV2ViUGFnZSog
cGFyZW50KQogewogfQogCi1RU3RyaW5nIFBsYWluVGV4dENvbnRyb2xsZXI6OnBsYWluVGV4dChj
b25zdCBRVmFyaWFudCYgcmFuZ2UpCitRU3RyaW5nIFBsYWluVGV4dENvbnRyb2xsZXI6OnBsYWlu
VGV4dChjb25zdCBRVmFyaWFudE1hcCYgcmFuZ2UpCiB7CiAgICAgcmV0dXJuIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0OjpwbGFpblRleHQocmFuZ2UpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvUGxhaW5UZXh0Q29udHJvbGxlclF0LmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9QbGFpblRleHRDb250cm9sbGVyUXQuaAppbmRleCBlNzhlMTEwNWFhNGQ3Yjk3NDVi
ZTk1NWRkMzFiNDI1ZWE0MGFiZTA1Li40NTQ5NjFiNTZlNzY3ZDYwNDhkNmVjYmE0NTVlMjI4NjE1
MGI2Nzk5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250
cm9sbGVyUXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9QbGFpblRleHRDb250cm9s
bGVyUXQuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgUGxhaW5UZXh0Q29udHJvbGxl
cihRV2ViUGFnZSogcGFyZW50KTsKIAogcHVibGljIHNsb3RzOgotICAgIFFTdHJpbmcgcGxhaW5U
ZXh0KGNvbnN0IFFWYXJpYW50JiByYW5nZSk7CisgICAgUVN0cmluZyBwbGFpblRleHQoY29uc3Qg
UVZhcmlhbnRNYXAmIHJhbmdlKTsKIH07CiAKICNlbmRpZiAvLyBQbGFpblRleHRDb250cm9sbGVy
UXRfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98740</attachid>
            <date>2011-06-27 09:55:45 -0700</date>
            <delta_ts>2011-06-27 10:18:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37319-20110627135543.patch</filename>
            <type>text/plain</type>
            <size>5145</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4MjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNzc4NWJhYzAzYWE0YjU0
ZThiYjU1ZGM2MTVjNmNlMTRhODljMjI2Li5iZGE2NmVkNGFmNTg2OTQ5ZmY4MmZiNjgwNzA3MTQw
ODhmOWNmODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDYtMjcgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIHRz
dF9RV2ViRnJhbWU6Om92ZXJsb2FkZWRTbG90cygpIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzMxOQorCisgICAgICAgIFRoaXMgcGF0Y2gg
aXMgYmFzZWQgb24gTm9hbSBSb3NlbnRoYWwgb3JpZ2luYWwgcGF0Y2ggaW4gdGhlIHNhbWUgYnVn
LgorCisgICAgICAgIFdoZW4gaGludGVkIHdpdGggUVdlYkVsZW1lbnQgbWV0YXR5cGUsIHdlIHF1
YWxpZnkgdGhlIGNvbnZlcnNpb24KKyAgICAgICAgZnJvbSBKU0VsZW1lbnQgYXMgYSAicGVyZmVj
dCBtYXRjaCIuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZhaWxpbmcgYmVjYXVzZSB0aGUgd3Jv
bmcgc2xvdCB3YXMgY2FsbGVkLCBzaW5jZSB0aGUgUVdlYkVsZW1lbnQKKyAgICAgICAgbWF0Y2gg
d2FzIHRha2VuIGFzIGVxdWFsIHRvIHRoZSBvdGhlcnMgYW5kIG5vdCBjaG9zZW4gd2hlbiB0aGUg
bWV0YWNhbGwgaGFwcGVuZWQuCisKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6
CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpjb252ZXJ0VmFsdWVUb1FWYXJpYW50KTogSWRlbnRp
ZnkgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKU0VsZW1lbnQKKyAgICAgICAgdG8gUVdlYkVsZW1l
bnQgYXMgYSAicGVyZmVjdCBtYXRjaCIgKGRpc3QgPSAwKS4gQWRkIGNvbW1lbnRzIHRvIGV4cGxh
aW4gdGhlIHJlYXNvbgorICAgICAgICB3aHkgd2UgaGF2ZSB0aGUgaW1wbGljaXQgY29udmVyc2lv
bi4KKwogMjAxMS0wNi0yNyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9ydW50aW1lLmNwcAppbmRleCBhYjQwNDMxNjBlN2NjMzhkN2IzYWQ1NTM4Zjg0OTA1
ZjMyODY4NmY1Li5kYWMwZWQ1ODczMTlkMWU1MTVjYTFlMzAzZmI4NDNlYWY2ZTFhNjlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCkBAIC03NzgsMTEgKzc3OCwyMSBA
QCBRVmFyaWFudCBjb252ZXJ0VmFsdWVUb1FWYXJpYW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSB2YWx1ZSwgUU1ldGFUeXBlOjpUeXBlCiAgICAgICAgICAgICB9IGVsc2UgaWYgKFF0UGl4bWFw
SW5zdGFuY2U6OmNhbkhhbmRsZShzdGF0aWNfY2FzdDxRTWV0YVR5cGU6OlR5cGU+KGhpbnQpKSkg
ewogICAgICAgICAgICAgICAgIHJldCA9IFF0UGl4bWFwSW5zdGFuY2U6OnZhcmlhbnRGcm9tT2Jq
ZWN0KG9iamVjdCwgc3RhdGljX2Nhc3Q8UU1ldGFUeXBlOjpUeXBlPihoaW50KSk7CiAgICAgICAg
ICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gKFFNZXRhVHlwZTo6VHlwZSkgcU1ldGFUeXBlSWQ8UVdl
YkVsZW1lbnQ+KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5o
ZXJpdHMoJkpTSFRNTEVsZW1lbnQ6OnNfaW5mbykpCi0gICAgICAgICAgICAgICAgICAgIHJldCA9
IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1lbnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6OmNy
ZWF0ZSgoc3RhdGljX2Nhc3Q8SlNIVE1MRWxlbWVudCo+KG9iamVjdCkpLT5pbXBsKCkpKTsKLSAg
ICAgICAgICAgICAgICBlbHNlIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0cygmSlNEb2N1
bWVudDo6c19pbmZvKSkKKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5o
ZXJpdHMoJkpTRWxlbWVudDo6c19pbmZvKSkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSBR
VmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRdFdlYkVsZW1lbnRSdW50aW1lOjpjcmVh
dGUoKHN0YXRpY19jYXN0PEpTRWxlbWVudCo+KG9iamVjdCkpLT5pbXBsKCkpKTsKKyAgICAgICAg
ICAgICAgICAgICAgZGlzdCA9IDA7CisgICAgICAgICAgICAgICAgICAgIC8vIEFsbG93IG90aGVy
IG9iamVjdHMgdG8gcmVhY2ggdGhpcyBvbmUuIFRoaXMgd29uJ3QgY2F1c2Ugb3VyIGFsZ29yaXRo
bSB0bworICAgICAgICAgICAgICAgICAgICAvLyBsb29wIHNpbmNlIHdoZW4gd2UgZmluZCBhbiBF
bGVtZW50IHdlIGRvIG5vdCByZWN1cnNlLgorICAgICAgICAgICAgICAgICAgICB2aXNpdGVkT2Jq
ZWN0cy0+cmVtb3ZlKG9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aW5oZXJp
dHMoJkpTRG9jdW1lbnQ6OnNfaW5mbykpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVG8gc3Vw
cG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlclF0Ojpub2Rlc0Zyb21SZWN0KCksIHVzZWQgaW4gRFJU
LCB3ZSBkbyBhbiBpbXBsaWNpdAorICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJzaW9uIGZy
b20gJ2RvY3VtZW50JyB0byB0aGUgUVdlYkVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSAnZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50Jy4KKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3Qgc2lt
cGx5IHVzZSBhIFFWYXJpYW50TWFwIGluIG5vZGVzRnJvbVJlY3QoKSBiZWNhdXNlIGl0IGN1cnJl
bnRseSB0aW1lcyBvdXQKKyAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBzZXJpYWxpemluZyBE
T01NaW1lVHlwZSBhbmQgRE9NUGx1Z2luLCBldmVuIGlmIHdlIGxpbWl0IHRoZSByZWN1cnNpb24u
CiAgICAgICAgICAgICAgICAgICAgIHJldCA9IFFWYXJpYW50Ojpmcm9tVmFsdWU8UVdlYkVsZW1l
bnQ+KFF0V2ViRWxlbWVudFJ1bnRpbWU6OmNyZWF0ZSgoc3RhdGljX2Nhc3Q8SlNEb2N1bWVudCo+
KG9iamVjdCkpLT5pbXBsKCktPmRvY3VtZW50RWxlbWVudCgpKSk7Ci0gICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICByZXQgPSBR
VmFyaWFudDo6ZnJvbVZhbHVlPFFXZWJFbGVtZW50PihRV2ViRWxlbWVudCgpKTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoaGludCA9PSAoUU1ldGFUeXBlOjpUeXBlKSBxTWV0YVR5cGVJZDxRRFJU
Tm9kZT4oKSkgewogICAgICAgICAgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pbmhlcml0
cygmSlNOb2RlOjpzX2luZm8pKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkOGE4MjVlMTZmNDQ3YjEyYTUz
NTgyMDJlMWQ4YjZjNTA4ZWE1Mjc4Li4xMDY0MWFlYzRmMjAyYTFjYjQ0ZWU1NmVlMWJlYTA0MThj
OTQ4NWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA2LTI3ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSB0
c3RfUVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKSBmYWlscworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczMTkKKworICAgICAgICAqIHRlc3RzL3F3
ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRnJhbWU6Om92ZXJs
b2FkZWRTbG90cyk6IFJlbW92ZSBleHBlY3RlZCBmYWlsdXJlIGFuZAorICAgICAgICBmaXggdGhl
IGNvbW1lbnQuCisKIDIwMTEtMDYtMjAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCmluZGV4IDIzMDVhMTJl
N2UwZmFhYTNlOGQ3OTk3YWY5OWM4MDdkODkzYzc4MTEuLmYyYmRjZWUzZmY1ODI0MTk4ODRiNzk3
YTk4NTBhMzE5MzcyNzcxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC0yMDA0LDEwICsyMDA0LDkgQEAgdm9pZCB0c3Rf
UVdlYkZyYW1lOjpvdmVybG9hZGVkU2xvdHMoKQogICAgIFFDT01QQVJFKG1fbXlPYmplY3QtPnF0
RnVuY3Rpb25JbnZva2VkKCksIDM1KTsKICAgICAqLwogCi0gICAgLy8gc2hvdWxkIHBpY2sgbXlP
dmVybG9hZGVkU2xvdChRUmVnRXhwKQorICAgIC8vIFNob3VsZCBwaWNrIG15T3ZlcmxvYWRlZFNs
b3QoUVdlYkVsZW1lbnQpLgogICAgIG1fbXlPYmplY3QtPnJlc2V0UXRGdW5jdGlvbkludm9rZWQo
KTsKICAgICBldmFsSlMoIm15T2JqZWN0Lm15T3ZlcmxvYWRlZFNsb3QoZG9jdW1lbnQuYm9keSki
KTsKLSAgICBRRVhQRUNUX0ZBSUwoIiIsICJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzczMTkiLCBDb250aW51ZSk7CiAgICAgUUNPTVBBUkUobV9teU9iamVjdC0+cXRG
dW5jdGlvbkludm9rZWQoKSwgMzYpOwogCiAgICAgLy8gc2hvdWxkIHBpY2sgbXlPdmVybG9hZGVk
U2xvdChRT2JqZWN0KikK
</data>

          </attachment>
      

    </bug>

</bugzilla>