<?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>110995</bug_id>
          
          <creation_ts>2013-02-27 11:10:18 -0800</creation_ts>
          <short_desc>[css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData</short_desc>
          <delta_ts>2013-03-12 16:29:53 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>111261</dependson>
          <blocked>89256</blocked>
    
    <blocked>108128</blocked>
    
    <blocked>111029</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bear Travis">betravis</reporter>
          <assigned_to name="Bear Travis">betravis</assigned_to>
          <cc>abarth</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>843276</commentid>
    <comment_count>0</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-02-27 11:10:18 -0800</bug_when>
    <thetext>If we move the shape info into the rare data construct, we can avoid creating and checking the map. This will also help with bug 108128, which relies on keeping shape info around for one more layout pass after the style has been changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843289</commentid>
    <comment_count>1</comment_count>
      <attachid>190560</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-02-27 11:20:32 -0800</bug_when>
    <thetext>Created attachment 190560
Initial Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843304</commentid>
    <comment_count>2</comment_count>
      <attachid>190560</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 11:29:07 -0800</bug_when>
    <thetext>Comment on attachment 190560
Initial Patch

Attachment 190560 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16833090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843305</commentid>
    <comment_count>3</comment_count>
      <attachid>190560</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 11:29:12 -0800</bug_when>
    <thetext>Comment on attachment 190560
Initial Patch

Attachment 190560 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16675197</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843313</commentid>
    <comment_count>4</comment_count>
      <attachid>190565</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-02-27 11:37:51 -0800</bug_when>
    <thetext>Created attachment 190565
Update

Wrapping some code in compiler guards for the non-enabled case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843317</commentid>
    <comment_count>5</comment_count>
      <attachid>190565</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 11:45:38 -0800</bug_when>
    <thetext>Comment on attachment 190565
Update

Attachment 190565 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16761077</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843325</commentid>
    <comment_count>6</comment_count>
      <attachid>190565</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 11:50:45 -0800</bug_when>
    <thetext>Comment on attachment 190565
Update

Attachment 190565 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16783379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843343</commentid>
    <comment_count>7</comment_count>
      <attachid>190565</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-27 12:01:25 -0800</bug_when>
    <thetext>Comment on attachment 190565
Update

Attachment 190565 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/16753075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843345</commentid>
    <comment_count>8</comment_count>
      <attachid>190570</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-02-27 12:03:06 -0800</bug_when>
    <thetext>Created attachment 190570
Update

Removing unnecessary initialization in RenderBlockRareData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843357</commentid>
    <comment_count>9</comment_count>
      <attachid>190570</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 12:10:09 -0800</bug_when>
    <thetext>Comment on attachment 190570
Update

Attachment 190570 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16776589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843359</commentid>
    <comment_count>10</comment_count>
      <attachid>190570</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-27 12:10:56 -0800</bug_when>
    <thetext>Comment on attachment 190570
Update

Attachment 190570 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16758172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843371</commentid>
    <comment_count>11</comment_count>
      <attachid>190570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 12:20:24 -0800</bug_when>
    <thetext>Comment on attachment 190570
Update

Attachment 190570 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16753083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843426</commentid>
    <comment_count>12</comment_count>
      <attachid>190570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 13:16:17 -0800</bug_when>
    <thetext>Comment on attachment 190570
Update

Attachment 190570 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16807301</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843551</commentid>
    <comment_count>13</comment_count>
      <attachid>190614</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-02-27 15:13:19 -0800</bug_when>
    <thetext>Created attachment 190614
Removing 0 for null pointer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844630</commentid>
    <comment_count>14</comment_count>
      <attachid>190614</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-28 16:53:40 -0800</bug_when>
    <thetext>Comment on attachment 190614
Removing 0 for null pointer

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

The change is going in the right direction but I think we can do better.

&gt; Source/WebCore/rendering/RenderBlock.cpp:1394
&gt; +    return m_rareData &amp;&amp; m_rareData-&gt;m_shapeInsideInfo &amp;&amp; ExclusionShapeInsideInfo::isEnabledFor(this) ? static_cast&lt;ExclusionShapeInsideInfo*&gt;(m_rareData-&gt;m_shapeInsideInfo.get()) : 0;

This is a downcast thus very nasty, especially if you don&apos;t check what you are doing casting.

&gt; Source/WebCore/rendering/RenderBlock.h:442
&gt;      ExclusionShapeInsideInfo* exclusionShapeInsideInfo() const;
&gt; +    ExclusionShapeInsideInfo* rawExclusionShapeInsideInfo() const;

Those 2 functions are extremely similar in name and functionality. It looks like the only place where the new function is used is updateExclusionShapeInsideInfoAfterStyleChange. How about using a pattern in the code where you have a function called:

ensureExclusionShapeInsideInfo();

That would do the checks and create the required classes if needed.

&gt; Source/WebCore/rendering/RenderBlock.h:1232
&gt; +        OwnPtr&lt;ExclusionShapeInfo&lt;RenderBlock, &amp;RenderStyle::resolvedShapeInside&gt; &gt; m_shapeInsideInfo;

Couldn&apos;t you store an ExclusionShapeInsideInfo here to avoid the cast when getting the value back?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844870</commentid>
    <comment_count>15</comment_count>
      <attachid>190895</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-03-01 00:04:22 -0800</bug_when>
    <thetext>Created attachment 190895
Incorporating feedback

Based on feedback from jchaffraix, I have moved to remove the static casting by getting rid of the cirular depencency on InlineIterator that made it necessary. I have also changed rawExclusionShapeInsideInfo to ensureExclusionShapeInsideInfo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845547</commentid>
    <comment_count>16</comment_count>
      <attachid>190895</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-03-01 15:08:49 -0800</bug_when>
    <thetext>Comment on attachment 190895
Incorporating feedback

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

&gt; Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp:43
&gt; +    { }

AFAICT this should be on 2 lines. Though I don&apos;t think it&apos;s a style violation, just the more usual way so it&apos;s probably a &apos;nit&apos;.

&gt; Source/WebCore/rendering/ExclusionShapeInsideInfo.h:45
&gt; +struct LineSegmentIterator {

Not a super fan of the new Iterator to break a circular dependency but I couldn&apos;t think of something smarter.

&gt; Source/WebCore/rendering/ExclusionShapeInsideInfo.h:53
&gt; +    { }

Same comment about this being on 2 lines here.

&gt; Source/WebCore/rendering/RenderBlock.cpp:1404
&gt; -        ExclusionShapeInsideInfo::removeInfo(this);
&gt; +        setExclusionShapeInsideInfo(PassOwnPtr&lt;ExclusionShapeInsideInfo&gt;());

The way you instantiate the PassOwnPtr is weird. setExclusionShapeInsideInfo(0); should work (using the PassOwnPtr(T*) constructor).

&gt; Source/WebCore/rendering/RenderBlock.h:454
&gt; +        if (!m_rareData)
&gt; +            m_rareData = adoptPtr(new RenderBlockRareData(this));
&gt; +        if (!m_rareData-&gt;m_shapeInsideInfo)
&gt; +            m_rareData-&gt;m_shapeInsideInfo = ExclusionShapeInsideInfo::createInfo(this);

if (!m_rareData || !m_rareData-&gt;m_shapeInsideInfo)
   setExclusionShapeInsideInfo(ExclusionShapeInsideInfo::createInfo(this));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845592</commentid>
    <comment_count>17</comment_count>
      <attachid>191062</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-03-01 16:14:24 -0800</bug_when>
    <thetext>Created attachment 191062
Making final adjustments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845598</commentid>
    <comment_count>18</comment_count>
      <attachid>191062</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-01 16:23:58 -0800</bug_when>
    <thetext>Comment on attachment 191062
Making final adjustments

Attachment 191062 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16796263</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845603</commentid>
    <comment_count>19</comment_count>
      <attachid>191062</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-01 16:28:46 -0800</bug_when>
    <thetext>Comment on attachment 191062
Making final adjustments

Attachment 191062 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16687593</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845608</commentid>
    <comment_count>20</comment_count>
      <attachid>191062</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-01 16:35:53 -0800</bug_when>
    <thetext>Comment on attachment 191062
Making final adjustments

Attachment 191062 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/16794285</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845617</commentid>
    <comment_count>21</comment_count>
      <attachid>191062</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 16:40:44 -0800</bug_when>
    <thetext>Comment on attachment 191062
Making final adjustments

Attachment 191062 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16687597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845621</commentid>
    <comment_count>22</comment_count>
      <attachid>191069</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-03-01 16:44:29 -0800</bug_when>
    <thetext>Created attachment 191069
Changing 0 to nullptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845663</commentid>
    <comment_count>23</comment_count>
      <attachid>191069</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 17:18:28 -0800</bug_when>
    <thetext>Comment on attachment 191069
Changing 0 to nullptr

Clearing flags on attachment: 191069

Committed r144520: &lt;http://trac.webkit.org/changeset/144520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845665</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 17:18:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845950</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-03 00:18:57 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 111261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845958</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-03 00:36:29 -0800</bug_when>
    <thetext> Comment #2 From Adam Barth 2013-03-03 00:22:53 PST (-) [reply] 
179&gt;C:\b\build\slave\webkit-win-latest-rel\build\src\third_party\WebKit\Source\WTF\wtf/OwnPtrCommon.h(63):error C2248: &apos;WebCore::RenderBlock::RenderBlockRareData&apos; : cannot access protected struct declared in class &apos;WebCore::RenderBlock&apos;
179&gt;          c:\b\build\slave\webkit-win-latest-rel\build\src\third_party\webkit\source\webcore\rendering\RenderBlock.h(1214) : see declaration of &apos;WebCore::RenderBlock::RenderBlockRareData&apos;
179&gt;          c:\b\build\slave\webkit-win-latest-rel\build\src\third_party\webkit\source\webcore\rendering\RenderBlock.h(83) : see declaration of &apos;WebCore::RenderBlock&apos;
179&gt;          C:\b\build\slave\webkit-win-latest-rel\build\src\third_party\WebKit\Source\WTF\wtf/PassOwnPtr.h(56) : see reference to function template instantiation &apos;void WTF::deleteOwnedPtr&lt;WebCore::RenderBlock::RenderBlockRareData&gt;(T *)&apos; being compiled
179&gt;          with
179&gt;          [
179&gt;              T=WebCore::RenderBlock::RenderBlockRareData
179&gt;          ]
179&gt;          C:\b\build\slave\webkit-win-latest-rel\build\src\third_party\WebKit\Source\WTF\wtf/PassOwnPtr.h(56) : while compiling class template member function &apos;WTF::PassOwnPtr&lt;T&gt;::~PassOwnPtr(void)&apos;
179&gt;          with
179&gt;          [
179&gt;              T=WebCore::RenderBlock::RenderBlockRareData
179&gt;          ]
179&gt;          c:\b\build\slave\webkit-win-latest-rel\build\src\third_party\webkit\source\webcore\rendering\RenderBlock.h(336) : see reference to class template instantiation &apos;WTF::PassOwnPtr&lt;T&gt;&apos; being compiled
179&gt;          with
179&gt;          [
179&gt;              T=WebCore::RenderBlock::RenderBlockRareData
179&gt;          ]
 Comment #3 From Adam Barth 2013-03-03 00:23:19 PST (-) [reply] 
See. for example, http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win%20Builder/builds/36652/steps/compile/logs/stdio#error1
 Comment #4 From Adam Barth 2013-03-03 00:35:33 PST (-) [reply] 
(From update of attachment 191129 [details])
Clearing flags on attachment: 191129

Committed r144561: &lt;http://trac.webkit.org/changeset/144561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852873</commentid>
    <comment_count>27</comment_count>
      <attachid>192593</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-03-11 16:47:28 -0700</bug_when>
    <thetext>Created attachment 192593
Making RenderBlockRareData public

The compiler for cr-win requires a public struct definition in order to properly instantiate OwnPtr&lt;RenderBlockRareData&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853867</commentid>
    <comment_count>28</comment_count>
      <attachid>192593</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2013-03-12 15:43:06 -0700</bug_when>
    <thetext>Comment on attachment 192593
Making RenderBlockRareData public

Moving back to the commit queue. Should fix the cr-win build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853898</commentid>
    <comment_count>29</comment_count>
      <attachid>192593</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 16:29:47 -0700</bug_when>
    <thetext>Comment on attachment 192593
Making RenderBlockRareData public

Clearing flags on attachment: 192593

Committed r145610: &lt;http://trac.webkit.org/changeset/145610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853899</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 16:29:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190560</attachid>
            <date>2013-02-27 11:20:32 -0800</date>
            <delta_ts>2013-02-27 11:37:49 -0800</delta_ts>
            <desc>Initial Patch</desc>
            <filename>bug-110995-20130227111645.patch</filename>
            <type>text/plain</type>
            <size>6792</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmN2RjOGFlNTI0YWQ2
MzFlZmMxMjE1NGFkMmRlZjNkYTA4ODgzYy4uYmM4YmQyY2I5ZjdlN2M5NmY3NzFhZTEyNDc5MDMy
MzYxMWQ5ODdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI3ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtb3ZlcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byB0aGUgUmVuZGVyQmxvY2tSYXJl
RGF0YSBzdHJ1Y3QsCisgICAgICAgIHdoaWNoIGVuYWJsZXMgdXMgdG8gbW92ZSBhd2F5IGZyb20g
dGhlIGdsb2JhbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWFwLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBEZXN0cm95aW5n
IGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVGhl
IGdldHRlciBpcyBub3cgYmFzZWQgb24KKyAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YS4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnJhd0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyk6IEFkZGVkIGEgbmV3IG1ldGhvZCB0bworICAgICAgICBnZXQg
YWNjZXNzIHRvIHRoZSByYXcsIHVuY2hlY2tlZCBFeGNsdXNpb25TaGFwZUluZm8uIFJlZ3VsYXIg
bGF5b3V0IHNob3VsZAorICAgICAgICB1c2UgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogQWRkZWQgYSBzZXR0ZXIgdG8gY2hhbmdlCisgICAgICAgIHRoZSBSZW5kZXJCbG9jaydzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1
cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVHdlYWtlZAor
ICAgICAgICB0byBhY2NlcyB0aGUgUmVuZGVyQmxvY2tSYXJlRGF0YSBzdHJ1Y3QgcmF0aGVyIHRo
YW4gdGhlIGdsb2JhbCBtYXAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6Cisg
ICAgICAgIChSZW5kZXJCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6UmVu
ZGVyQmxvY2tSYXJlRGF0YTo6UmVuZGVyQmxvY2tSYXJlRGF0YSk6IEluaXRpYWxpemUKKyAgICAg
ICAgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFJlbmRlckJsb2NrUmFy
ZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisKIDIwMTMt
MDItMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9u
J3QgYWRkIGEgYm9keSB0byBwbGF0Zm9ybSByZXF1ZXN0IHVudGlsIG5lY2Vzc2FyeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmlu
ZGV4IDMwYmQ5NDc1NjdhZWY0NTNkODg1NGQ3YTNmZGZiOWJmNTdmNTc5NjQuLmE0ZjE5OGFhMTBh
OTg3NTBhZmRhODFjZDRiOWI1ZDE0OWY2MjNmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKQEAgLTUyLDcgKzUyLDcgQEAg
c3RydWN0IExpbmVTZWdtZW50UmFuZ2UgewogfTsKIHR5cGVkZWYgVmVjdG9yPExpbmVTZWdtZW50
UmFuZ2U+IFNlZ21lbnRSYW5nZUxpc3Q7CiAKLWNsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6
cmVzb2x2ZWRTaGFwZUluc2lkZT4sIHB1YmxpYyBNYXBwZWRJbmZvPFJlbmRlckJsb2NrLCBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8+IHsKK2NsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6
IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVz
b2x2ZWRTaGFwZUluc2lkZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJCbG9jayogcmVuZGVy
ZXIpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8ocmVuZGVy
ZXIpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBk
N2EyMzRhYWJkYzRlZGUzZmI4YmZjZWRiZjdmODgyMzBiYWFiNzNmLi41MTJlYzU1MmM5MGQ5Nzgz
MzMxYjk3ZTFmZmZlMDg4ZWYyMjNmYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKQEAgLTI5NCwxMCArMjk0LDYgQEAgdm9pZCBSZW5kZXJCbG9jazo6d2lsbEJl
RGVzdHJveWVkKCkKICAgICBpZiAobGluZUdyaWRCb3goKSkKICAgICAgICAgbGluZUdyaWRCb3go
KS0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsKIAotI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
LSAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7Ci0jZW5kaWYK
LQogICAgIGlmIChVTkxJS0VMWShnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQgIT0gMCkpCiAg
ICAgICAgIGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldC0+cmVtb3ZlKHRoaXMpOwogCkBAIC0x
Mzk1LDcgKzEzOTEsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0KCkKICNpZiBFTkFCTEUo
Q1NTX0VYQ0xVU0lPTlMpCiBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2NrOjpl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAogewotICAgIHJldHVybiBzdHlsZSgpLT5y
ZXNvbHZlZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0VuYWJs
ZWRGb3IodGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAwOwor
ICAgIHJldHVybiBtX3JhcmVEYXRhICYmIG1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvICYm
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKHRoaXMpID8gc3RhdGljX2Nh
c3Q8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKj4obV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUlu
Zm8uZ2V0KCkpIDogMDsKK30KKworRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBSZW5kZXJCbG9j
azo6cmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9y
YXJlRGF0YSA/IHN0YXRpY19jYXN0PEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyo+KG1fcmFyZURh
dGEtPm1fc2hhcGVJbnNpZGVJbmZvLmdldCgpKSA6IDA7Cit9CisKK3ZvaWQgUmVuZGVyQmxvY2s6
OnNldEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbz4gdmFsdWUpCit7CisgICAgaWYgKCFtX3JhcmVEYXRhKQorICAgICAgICBtX3JhcmVE
YXRhID0gYWRvcHRQdHIobmV3IFJlbmRlckJsb2NrUmFyZURhdGEodGhpcykpOworICAgIG1fcmFy
ZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvID0gdmFsdWU7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OnVwZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhj
bHVzaW9uU2hhcGVWYWx1ZSogc2hhcGVJbnNpZGUsIGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUq
IG9sZFNoYXBlSW5zaWRlKQpAQCAtMTQwNSwxMCArMTQxMywxNCBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4
Y2x1c2lvbgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoc2hhcGVJbnNpZGUpIHsKLSAgICAg
ICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OmVuc3VyZUluZm8odGhpcyk7Ci0gICAgICAgIGV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mby0+ZGlydHlTaGFwZVNpemUoKTsKKyAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSB0aGlzLT5yYXdFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8oKTsKKyAgICAgICAgaWYgKCFleGNsdXNpb25TaGFwZUluc2lk
ZUluZm8pCisgICAgICAgICAgICBzZXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvOjpjcmVhdGVJbmZvKHRoaXMpKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5kaXJ0eVNoYXBlU2l6ZSgpOworICAgICAg
ICBBU1NFUlQodGhpcy0+cmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkpOwogICAgIH0gZWxz
ZQotICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7Cisg
ICAgICAgIHNldEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygwKTsKIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGJiMjkwMWU2YzY4MzYxODNmZTRh
YzAyNTBmNmEwYjAzNTNkZWQxODkuLjhlYmQ3MGFkNjgwMjkzMzNkYzk3YWY1ZDkxYzQ2ZGU4ZDMx
MWIyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAKICNpZiBFTkFCTEUoQ1NTX0VY
Q0xVU0lPTlMpCisjaW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVJbmZvLmgiCiAjaW5jbHVkZSAiRXhj
bHVzaW9uU2hhcGVWYWx1ZS5oIgogI2VuZGlmCiAKQEAgLTQzOCw2ICs0MzksOCBAQCBwdWJsaWM6
CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8qIHJhd0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIGNvbnN0OworICAgIHZv
aWQgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvPiB2YWx1ZSk7CiAgICAgYm9vbCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm9TaGFyaW5nKCkgY29uc3QgeyByZXR1cm4gIWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsg
fQogI2VuZGlmCiAKQEAgLTExOTUsNiArMTE5OCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAg
ICwgbV9wYWdlTG9naWNhbE9mZnNldCgwKQogICAgICAgICAgICAgLCBtX2xpbmVHcmlkQm94KDAp
CiAgICAgICAgICAgICAsIG1fbGluZUJyZWFrVG9Bdm9pZFdpZG93KDApCisgICAgICAgICAgICAs
IG1fc2hhcGVJbnNpZGVJbmZvKDApCiAgICAgICAgICAgICAsIG1fc2hvdWxkQnJlYWtBdExpbmVU
b0F2b2lkV2lkb3coZmFsc2UpCiAgICAgICAgICAgICAsIG1fZGlzY2FyZE1hcmdpbkJlZm9yZShm
YWxzZSkKICAgICAgICAgICAgICwgbV9kaXNjYXJkTWFyZ2luQWZ0ZXIoZmFsc2UpCkBAIC0xMjI1
LDYgKzEyMjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG1fbGluZUdy
aWRCb3g7CiAKICAgICAgICAgUm9vdElubGluZUJveCogbV9saW5lQnJlYWtUb0F2b2lkV2lkb3c7
CisgICAgICAgIE93blB0cjxFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJT
dHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gPiBtX3NoYXBlSW5zaWRlSW5mbzsKICAgICAgICAg
Ym9vbCBtX3Nob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93IDogMTsKICAgICAgICAgYm9vbCBt
X2Rpc2NhcmRNYXJnaW5CZWZvcmUgOiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdpbkFm
dGVyIDogMTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190565</attachid>
            <date>2013-02-27 11:37:51 -0800</date>
            <delta_ts>2013-02-27 12:03:03 -0800</delta_ts>
            <desc>Update</desc>
            <filename>bug-110995-20130227113404.patch</filename>
            <type>text/plain</type>
            <size>6852</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmN2RjOGFlNTI0YWQ2
MzFlZmMxMjE1NGFkMmRlZjNkYTA4ODgzYy4uYmM4YmQyY2I5ZjdlN2M5NmY3NzFhZTEyNDc5MDMy
MzYxMWQ5ODdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI3ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtb3ZlcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byB0aGUgUmVuZGVyQmxvY2tSYXJl
RGF0YSBzdHJ1Y3QsCisgICAgICAgIHdoaWNoIGVuYWJsZXMgdXMgdG8gbW92ZSBhd2F5IGZyb20g
dGhlIGdsb2JhbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWFwLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBEZXN0cm95aW5n
IGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVGhl
IGdldHRlciBpcyBub3cgYmFzZWQgb24KKyAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YS4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnJhd0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyk6IEFkZGVkIGEgbmV3IG1ldGhvZCB0bworICAgICAgICBnZXQg
YWNjZXNzIHRvIHRoZSByYXcsIHVuY2hlY2tlZCBFeGNsdXNpb25TaGFwZUluZm8uIFJlZ3VsYXIg
bGF5b3V0IHNob3VsZAorICAgICAgICB1c2UgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogQWRkZWQgYSBzZXR0ZXIgdG8gY2hhbmdlCisgICAgICAgIHRoZSBSZW5kZXJCbG9jaydzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1
cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVHdlYWtlZAor
ICAgICAgICB0byBhY2NlcyB0aGUgUmVuZGVyQmxvY2tSYXJlRGF0YSBzdHJ1Y3QgcmF0aGVyIHRo
YW4gdGhlIGdsb2JhbCBtYXAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6Cisg
ICAgICAgIChSZW5kZXJCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6UmVu
ZGVyQmxvY2tSYXJlRGF0YTo6UmVuZGVyQmxvY2tSYXJlRGF0YSk6IEluaXRpYWxpemUKKyAgICAg
ICAgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFJlbmRlckJsb2NrUmFy
ZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisKIDIwMTMt
MDItMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9u
J3QgYWRkIGEgYm9keSB0byBwbGF0Zm9ybSByZXF1ZXN0IHVudGlsIG5lY2Vzc2FyeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmlu
ZGV4IDMwYmQ5NDc1NjdhZWY0NTNkODg1NGQ3YTNmZGZiOWJmNTdmNTc5NjQuLmE0ZjE5OGFhMTBh
OTg3NTBhZmRhODFjZDRiOWI1ZDE0OWY2MjNmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKQEAgLTUyLDcgKzUyLDcgQEAg
c3RydWN0IExpbmVTZWdtZW50UmFuZ2UgewogfTsKIHR5cGVkZWYgVmVjdG9yPExpbmVTZWdtZW50
UmFuZ2U+IFNlZ21lbnRSYW5nZUxpc3Q7CiAKLWNsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6
cmVzb2x2ZWRTaGFwZUluc2lkZT4sIHB1YmxpYyBNYXBwZWRJbmZvPFJlbmRlckJsb2NrLCBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8+IHsKK2NsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6
IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVz
b2x2ZWRTaGFwZUluc2lkZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJCbG9jayogcmVuZGVy
ZXIpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8ocmVuZGVy
ZXIpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBk
N2EyMzRhYWJkYzRlZGUzZmI4YmZjZWRiZjdmODgyMzBiYWFiNzNmLi4yOWU0NGI3NGZmNjhmNmI3
NmZlZjNjNDI5NDRiY2JmNGIwOGQzN2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKQEAgLTI5NCwxMCArMjk0LDYgQEAgdm9pZCBSZW5kZXJCbG9jazo6d2lsbEJl
RGVzdHJveWVkKCkKICAgICBpZiAobGluZUdyaWRCb3goKSkKICAgICAgICAgbGluZUdyaWRCb3go
KS0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsKIAotI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
LSAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7Ci0jZW5kaWYK
LQogICAgIGlmIChVTkxJS0VMWShnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQgIT0gMCkpCiAg
ICAgICAgIGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldC0+cmVtb3ZlKHRoaXMpOwogCkBAIC0x
Mzk1LDcgKzEzOTEsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0KCkKICNpZiBFTkFCTEUo
Q1NTX0VYQ0xVU0lPTlMpCiBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2NrOjpl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAogewotICAgIHJldHVybiBzdHlsZSgpLT5y
ZXNvbHZlZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0VuYWJs
ZWRGb3IodGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAwOwor
ICAgIHJldHVybiBtX3JhcmVEYXRhICYmIG1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvICYm
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKHRoaXMpID8gc3RhdGljX2Nh
c3Q8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKj4obV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUlu
Zm8uZ2V0KCkpIDogMDsKK30KKworRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBSZW5kZXJCbG9j
azo6cmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9y
YXJlRGF0YSA/IHN0YXRpY19jYXN0PEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyo+KG1fcmFyZURh
dGEtPm1fc2hhcGVJbnNpZGVJbmZvLmdldCgpKSA6IDA7Cit9CisKK3ZvaWQgUmVuZGVyQmxvY2s6
OnNldEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbz4gdmFsdWUpCit7CisgICAgaWYgKCFtX3JhcmVEYXRhKQorICAgICAgICBtX3JhcmVE
YXRhID0gYWRvcHRQdHIobmV3IFJlbmRlckJsb2NrUmFyZURhdGEodGhpcykpOworICAgIG1fcmFy
ZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvID0gdmFsdWU7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OnVwZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhj
bHVzaW9uU2hhcGVWYWx1ZSogc2hhcGVJbnNpZGUsIGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUq
IG9sZFNoYXBlSW5zaWRlKQpAQCAtMTQwNSwxMCArMTQxMywxNCBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4
Y2x1c2lvbgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoc2hhcGVJbnNpZGUpIHsKLSAgICAg
ICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OmVuc3VyZUluZm8odGhpcyk7Ci0gICAgICAgIGV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mby0+ZGlydHlTaGFwZVNpemUoKTsKKyAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSByYXdFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8oKTsKKyAgICAgICAgaWYgKCFleGNsdXNpb25TaGFwZUluc2lkZUluZm8p
CisgICAgICAgICAgICBzZXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvOjpjcmVhdGVJbmZvKHRoaXMpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5kaXJ0eVNoYXBlU2l6ZSgpOworICAgICAgICBBU1NF
UlQocmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkpOwogICAgIH0gZWxzZQotICAgICAgICBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7CisgICAgICAgIHNldEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygwKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGJiMjkwMWU2YzY4MzYxODNmZTRhYzAyNTBmNmEwYjAz
NTNkZWQxODkuLjRhMzc0MDJiMTQ3YTkwOGEzZmFhZjAyYWNlODY0MzczYzM1Mzk4MWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisj
aW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVJbmZvLmgiCiAjaW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVW
YWx1ZS5oIgogI2VuZGlmCiAKQEAgLTQzOCw2ICs0MzksOCBAQCBwdWJsaWM6CiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCiAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNp
b25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8q
IHJhd0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIGNvbnN0OworICAgIHZvaWQgc2V0RXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2
YWx1ZSk7CiAgICAgYm9vbCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkg
Y29uc3QgeyByZXR1cm4gIWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCiAK
QEAgLTExOTUsNiArMTE5OCw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICwgbV9wYWdlTG9n
aWNhbE9mZnNldCgwKQogICAgICAgICAgICAgLCBtX2xpbmVHcmlkQm94KDApCiAgICAgICAgICAg
ICAsIG1fbGluZUJyZWFrVG9Bdm9pZFdpZG93KDApCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05T
KQorICAgICAgICAgICAgLCBtX3NoYXBlSW5zaWRlSW5mbygwKQorI2VuZGlmCiAgICAgICAgICAg
ICAsIG1fc2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3coZmFsc2UpCiAgICAgICAgICAgICAs
IG1fZGlzY2FyZE1hcmdpbkJlZm9yZShmYWxzZSkKICAgICAgICAgICAgICwgbV9kaXNjYXJkTWFy
Z2luQWZ0ZXIoZmFsc2UpCkBAIC0xMjI1LDYgKzEyMzEsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIG1fbGluZUdyaWRCb3g7CiAKICAgICAgICAgUm9vdElubGluZUJveCog
bV9saW5lQnJlYWtUb0F2b2lkV2lkb3c7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAg
ICAgICBPd25QdHI8RXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6
OnJlc29sdmVkU2hhcGVJbnNpZGU+ID4gbV9zaGFwZUluc2lkZUluZm87CisjZW5kaWYKICAgICAg
ICAgYm9vbCBtX3Nob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93IDogMTsKICAgICAgICAgYm9v
bCBtX2Rpc2NhcmRNYXJnaW5CZWZvcmUgOiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdp
bkFmdGVyIDogMTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190570</attachid>
            <date>2013-02-27 12:03:06 -0800</date>
            <delta_ts>2013-02-27 15:13:16 -0800</delta_ts>
            <desc>Update</desc>
            <filename>bug-110995-20130227115919.patch</filename>
            <type>text/plain</type>
            <size>6494</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmN2RjOGFlNTI0YWQ2
MzFlZmMxMjE1NGFkMmRlZjNkYTA4ODgzYy4uYmM4YmQyY2I5ZjdlN2M5NmY3NzFhZTEyNDc5MDMy
MzYxMWQ5ODdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI3ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtb3ZlcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byB0aGUgUmVuZGVyQmxvY2tSYXJl
RGF0YSBzdHJ1Y3QsCisgICAgICAgIHdoaWNoIGVuYWJsZXMgdXMgdG8gbW92ZSBhd2F5IGZyb20g
dGhlIGdsb2JhbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWFwLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBEZXN0cm95aW5n
IGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVGhl
IGdldHRlciBpcyBub3cgYmFzZWQgb24KKyAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YS4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnJhd0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyk6IEFkZGVkIGEgbmV3IG1ldGhvZCB0bworICAgICAgICBnZXQg
YWNjZXNzIHRvIHRoZSByYXcsIHVuY2hlY2tlZCBFeGNsdXNpb25TaGFwZUluZm8uIFJlZ3VsYXIg
bGF5b3V0IHNob3VsZAorICAgICAgICB1c2UgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogQWRkZWQgYSBzZXR0ZXIgdG8gY2hhbmdlCisgICAgICAgIHRoZSBSZW5kZXJCbG9jaydzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1
cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVHdlYWtlZAor
ICAgICAgICB0byBhY2NlcyB0aGUgUmVuZGVyQmxvY2tSYXJlRGF0YSBzdHJ1Y3QgcmF0aGVyIHRo
YW4gdGhlIGdsb2JhbCBtYXAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6Cisg
ICAgICAgIChSZW5kZXJCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6UmVu
ZGVyQmxvY2tSYXJlRGF0YTo6UmVuZGVyQmxvY2tSYXJlRGF0YSk6IEluaXRpYWxpemUKKyAgICAg
ICAgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFJlbmRlckJsb2NrUmFy
ZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisKIDIwMTMt
MDItMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9u
J3QgYWRkIGEgYm9keSB0byBwbGF0Zm9ybSByZXF1ZXN0IHVudGlsIG5lY2Vzc2FyeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmlu
ZGV4IDMwYmQ5NDc1NjdhZWY0NTNkODg1NGQ3YTNmZGZiOWJmNTdmNTc5NjQuLmE0ZjE5OGFhMTBh
OTg3NTBhZmRhODFjZDRiOWI1ZDE0OWY2MjNmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKQEAgLTUyLDcgKzUyLDcgQEAg
c3RydWN0IExpbmVTZWdtZW50UmFuZ2UgewogfTsKIHR5cGVkZWYgVmVjdG9yPExpbmVTZWdtZW50
UmFuZ2U+IFNlZ21lbnRSYW5nZUxpc3Q7CiAKLWNsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6
cmVzb2x2ZWRTaGFwZUluc2lkZT4sIHB1YmxpYyBNYXBwZWRJbmZvPFJlbmRlckJsb2NrLCBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8+IHsKK2NsYXNzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6
IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVz
b2x2ZWRTaGFwZUluc2lkZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbz4gY3JlYXRlSW5mbyhjb25zdCBSZW5kZXJCbG9jayogcmVuZGVy
ZXIpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8ocmVuZGVy
ZXIpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBk
N2EyMzRhYWJkYzRlZGUzZmI4YmZjZWRiZjdmODgyMzBiYWFiNzNmLi4yOWU0NGI3NGZmNjhmNmI3
NmZlZjNjNDI5NDRiY2JmNGIwOGQzN2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKQEAgLTI5NCwxMCArMjk0LDYgQEAgdm9pZCBSZW5kZXJCbG9jazo6d2lsbEJl
RGVzdHJveWVkKCkKICAgICBpZiAobGluZUdyaWRCb3goKSkKICAgICAgICAgbGluZUdyaWRCb3go
KS0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsKIAotI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
LSAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7Ci0jZW5kaWYK
LQogICAgIGlmIChVTkxJS0VMWShnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQgIT0gMCkpCiAg
ICAgICAgIGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldC0+cmVtb3ZlKHRoaXMpOwogCkBAIC0x
Mzk1LDcgKzEzOTEsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0KCkKICNpZiBFTkFCTEUo
Q1NTX0VYQ0xVU0lPTlMpCiBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2NrOjpl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAogewotICAgIHJldHVybiBzdHlsZSgpLT5y
ZXNvbHZlZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0VuYWJs
ZWRGb3IodGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAwOwor
ICAgIHJldHVybiBtX3JhcmVEYXRhICYmIG1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvICYm
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKHRoaXMpID8gc3RhdGljX2Nh
c3Q8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKj4obV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUlu
Zm8uZ2V0KCkpIDogMDsKK30KKworRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBSZW5kZXJCbG9j
azo6cmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9y
YXJlRGF0YSA/IHN0YXRpY19jYXN0PEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyo+KG1fcmFyZURh
dGEtPm1fc2hhcGVJbnNpZGVJbmZvLmdldCgpKSA6IDA7Cit9CisKK3ZvaWQgUmVuZGVyQmxvY2s6
OnNldEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbz4gdmFsdWUpCit7CisgICAgaWYgKCFtX3JhcmVEYXRhKQorICAgICAgICBtX3JhcmVE
YXRhID0gYWRvcHRQdHIobmV3IFJlbmRlckJsb2NrUmFyZURhdGEodGhpcykpOworICAgIG1fcmFy
ZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvID0gdmFsdWU7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OnVwZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhj
bHVzaW9uU2hhcGVWYWx1ZSogc2hhcGVJbnNpZGUsIGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUq
IG9sZFNoYXBlSW5zaWRlKQpAQCAtMTQwNSwxMCArMTQxMywxNCBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4
Y2x1c2lvbgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoc2hhcGVJbnNpZGUpIHsKLSAgICAg
ICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OmVuc3VyZUluZm8odGhpcyk7Ci0gICAgICAgIGV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mby0+ZGlydHlTaGFwZVNpemUoKTsKKyAgICAgICAgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSByYXdFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8oKTsKKyAgICAgICAgaWYgKCFleGNsdXNpb25TaGFwZUluc2lkZUluZm8p
CisgICAgICAgICAgICBzZXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvOjpjcmVhdGVJbmZvKHRoaXMpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5kaXJ0eVNoYXBlU2l6ZSgpOworICAgICAgICBBU1NF
UlQocmF3RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkpOwogICAgIH0gZWxzZQotICAgICAgICBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7CisgICAgICAgIHNldEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygwKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCmluZGV4IGJiMjkwMWU2YzY4MzYxODNmZTRhYzAyNTBmNmEwYjAz
NTNkZWQxODkuLmYzZmYyZGJlMjUxMDExNDBhYzgzZjI3NGE0NmM1MmYyN2UwOTc0MzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisj
aW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVJbmZvLmgiCiAjaW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVW
YWx1ZS5oIgogI2VuZGlmCiAKQEAgLTQzOCw2ICs0MzksOCBAQCBwdWJsaWM6CiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCiAgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNp
b25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8q
IHJhd0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIGNvbnN0OworICAgIHZvaWQgc2V0RXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2
YWx1ZSk7CiAgICAgYm9vbCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkg
Y29uc3QgeyByZXR1cm4gIWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCiAK
QEAgLTEyMjUsNiArMTIyOCw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgUm9vdElubGluZUJveCog
bV9saW5lR3JpZEJveDsKIAogICAgICAgICBSb290SW5saW5lQm94KiBtX2xpbmVCcmVha1RvQXZv
aWRXaWRvdzsKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIE93blB0cjxFeGNs
dXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUlu
c2lkZT4gPiBtX3NoYXBlSW5zaWRlSW5mbzsKKyNlbmRpZgogICAgICAgICBib29sIG1fc2hvdWxk
QnJlYWtBdExpbmVUb0F2b2lkV2lkb3cgOiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdp
bkJlZm9yZSA6IDE7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJkTWFyZ2luQWZ0ZXIgOiAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190614</attachid>
            <date>2013-02-27 15:13:19 -0800</date>
            <delta_ts>2013-03-01 00:04:16 -0800</delta_ts>
            <desc>Removing 0 for null pointer</desc>
            <filename>bug-110995-20130227150932.patch</filename>
            <type>text/plain</type>
            <size>6527</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3MDY2NDAzNGJiN2Iz
YzE1NjU4NDliYWNlNzQ1ZTE3Y2ZlNDNkNy4uZjk1MWI2ODgyNzlhYjQ2ZjViNzZkYTBkOWQzM2I4
ZWRjZGQyZDQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI3ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtb3ZlcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byB0aGUgUmVuZGVyQmxvY2tSYXJl
RGF0YSBzdHJ1Y3QsCisgICAgICAgIHdoaWNoIGVuYWJsZXMgdXMgdG8gbW92ZSBhd2F5IGZyb20g
dGhlIGdsb2JhbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWFwLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBEZXN0cm95aW5n
IGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogVGhl
IGdldHRlciBpcyBub3cgYmFzZWQgb24KKyAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YS4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnJhd0V4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyk6IEFkZGVkIGEgbmV3IG1ldGhvZCB0bworICAgICAgICBnZXQg
YWNjZXNzIHRvIHRoZSByYXcsIHVuY2hlY2tlZCBFeGNsdXNpb25TaGFwZUluZm8uIFJlZ3VsYXIg
bGF5b3V0IHNob3VsZAorICAgICAgICB1c2UgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KTogQWRkZWQgYSBzZXR0ZXIgdG8gY2hhbmdlCisgICAgICAgIHRoZSBSZW5kZXJCbG9jaydzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1
cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVHdlYWtlZAor
ICAgICAgICB0byBhY2NlcyB0aGUgUmVuZGVyQmxvY2tSYXJlRGF0YSBzdHJ1Y3QgcmF0aGVyIHRo
YW4gdGhlIGdsb2JhbCBtYXAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6Cisg
ICAgICAgIChSZW5kZXJCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6UmVu
ZGVyQmxvY2tSYXJlRGF0YTo6UmVuZGVyQmxvY2tSYXJlRGF0YSk6IEluaXRpYWxpemUKKyAgICAg
ICAgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby4KKyAgICAgICAgKFJlbmRlckJsb2NrUmFy
ZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisKIDIwMTMt
MDItMjcgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBUb3Vj
aCBDU1NHcmFtbWFyLnkuaW4gdG8gZml4IGFuIGludGVybmFsIGJ1aWxkYm90CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKaW5kZXgg
MzBiZDk0NzU2N2FlZjQ1M2Q4ODU0ZDdhM2ZkZmI5YmY1N2Y1Nzk2NC4uYTRmMTk4YWExMGE5ODc1
MGFmZGE4MWNkNGI5YjVkMTQ5ZjYyM2ZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaApAQCAtNTIsNyArNTIsNyBAQCBzdHJ1
Y3QgTGluZVNlZ21lbnRSYW5nZSB7CiB9OwogdHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5n
ZT4gU2VnbWVudFJhbmdlTGlzdDsKIAotY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDog
cHVibGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNv
bHZlZFNoYXBlSW5zaWRlPiwgcHVibGljIE1hcHBlZEluZm88UmVuZGVyQmxvY2ssIEV4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mbz4geworY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDogcHVi
bGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZl
ZFNoYXBlSW5zaWRlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZvKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikg
eyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhyZW5kZXJlcikp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGQ3YTIz
NGFhYmRjNGVkZTNmYjhiZmNlZGJmN2Y4ODIzMGJhYWI3M2YuLjNhZTEzMzM4NzE2ODZmYzNjYzIz
ODc1ZTU5ZDI1YjkzNTBmZDUzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMjk0LDEwICsyOTQsNiBAQCB2b2lkIFJlbmRlckJsb2NrOjp3aWxsQmVEZXN0
cm95ZWQoKQogICAgIGlmIChsaW5lR3JpZEJveCgpKQogICAgICAgICBsaW5lR3JpZEJveCgpLT5k
ZXN0cm95KHJlbmRlckFyZW5hKCkpOwogCi0jaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAg
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6cmVtb3ZlSW5mbyh0aGlzKTsKLSNlbmRpZgotCiAg
ICAgaWYgKFVOTElLRUxZKGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldCAhPSAwKSkKICAgICAg
ICAgZ0RlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0LT5yZW1vdmUodGhpcyk7CiAKQEAgLTEzOTUs
NyArMTM5MSwxOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXQoKQogI2lmIEVOQUJMRShDU1Nf
RVhDTFVTSU9OUykKIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyogUmVuZGVyQmxvY2s6OmV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlKCktPnJlc29s
dmVkU2hhcGVJbnNpZGUoKSAmJiBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmlzRW5hYmxlZEZv
cih0aGlzKSA/IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aW5mbyh0aGlzKSA6IDA7CisgICAg
cmV0dXJuIG1fcmFyZURhdGEgJiYgbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUluZm8gJiYgRXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0VuYWJsZWRGb3IodGhpcykgPyBzdGF0aWNfY2FzdDxF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8qPihtX3JhcmVEYXRhLT5tX3NoYXBlSW5zaWRlSW5mby5n
ZXQoKSkgOiAwOworfQorCitFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2NrOjpy
YXdFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAoreworICAgIHJldHVybiBtX3JhcmVE
YXRhID8gc3RhdGljX2Nhc3Q8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKj4obV9yYXJlRGF0YS0+
bV9zaGFwZUluc2lkZUluZm8uZ2V0KCkpIDogMDsKK30KKwordm9pZCBSZW5kZXJCbG9jazo6c2V0
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvPiB2YWx1ZSkKK3sKKyAgICBpZiAoIW1fcmFyZURhdGEpCisgICAgICAgIG1fcmFyZURhdGEg
PSBhZG9wdFB0cihuZXcgUmVuZGVyQmxvY2tSYXJlRGF0YSh0aGlzKSk7CisgICAgbV9yYXJlRGF0
YS0+bV9zaGFwZUluc2lkZUluZm8gPSB2YWx1ZTsKIH0KIAogdm9pZCBSZW5kZXJCbG9jazo6dXBk
YXRlRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNp
b25TaGFwZVZhbHVlKiBzaGFwZUluc2lkZSwgY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xk
U2hhcGVJbnNpZGUpCkBAIC0xNDA1LDEwICsxNDEzLDE0IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnVw
ZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhjbHVz
aW9uCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChzaGFwZUluc2lkZSkgewotICAgICAgICBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbzo6ZW5zdXJlSW5mbyh0aGlzKTsKLSAgICAgICAgZXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLT5kaXJ0eVNoYXBlU2l6ZSgpOworICAgICAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IHJhd0V4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbygpOworICAgICAgICBpZiAoIWV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbykKKyAg
ICAgICAgICAgIHNldEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm86OmNyZWF0ZUluZm8odGhpcykpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBleGNs
dXNpb25TaGFwZUluc2lkZUluZm8tPmRpcnR5U2hhcGVTaXplKCk7CisgICAgICAgIEFTU0VSVChy
YXdFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbzo6cmVtb3ZlSW5mbyh0aGlzKTsKKyAgICAgICAgc2V0RXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPigp
KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4
IGJiMjkwMWU2YzY4MzYxODNmZTRhYzAyNTBmNmEwYjAzNTNkZWQxODkuLmYzZmYyZGJlMjUxMDEx
NDBhYzgzZjI3NGE0NmM1MmYyN2UwOTc0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+
CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisjaW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVJ
bmZvLmgiCiAjaW5jbHVkZSAiRXhjbHVzaW9uU2hhcGVWYWx1ZS5oIgogI2VuZGlmCiAKQEAgLTQz
OCw2ICs0MzksOCBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiAgICAg
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25z
dDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIHJhd0V4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbygpIGNvbnN0OworICAgIHZvaWQgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKFBhc3NP
d25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2YWx1ZSk7CiAgICAgYm9vbCBhbGxvd3NF
eGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkgY29uc3QgeyByZXR1cm4gIWlzSW5saW5l
KCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCiAKQEAgLTEyMjUsNiArMTIyOCw5IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgUm9vdElubGluZUJveCogbV9saW5lR3JpZEJveDsKIAogICAgICAg
ICBSb290SW5saW5lQm94KiBtX2xpbmVCcmVha1RvQXZvaWRXaWRvdzsKKyNpZiBFTkFCTEUoQ1NT
X0VYQ0xVU0lPTlMpCisgICAgICAgIE93blB0cjxFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxv
Y2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gPiBtX3NoYXBlSW5zaWRlSW5m
bzsKKyNlbmRpZgogICAgICAgICBib29sIG1fc2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3cg
OiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdpbkJlZm9yZSA6IDE7CiAgICAgICAgIGJv
b2wgbV9kaXNjYXJkTWFyZ2luQWZ0ZXIgOiAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190895</attachid>
            <date>2013-03-01 00:04:22 -0800</date>
            <delta_ts>2013-03-01 16:14:24 -0800</delta_ts>
            <desc>Incorporating feedback</desc>
            <filename>bug-110995-20130301000032.patch</filename>
            <type>text/plain</type>
            <size>11136</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU4YjRmMTdiMmY5MjY1
NDAzOTAwNmI5MjM3ZDhiYjFjNjA5NTBjYS4uYWY3Nzc2Mzg3MjBkZDc5NjE4N2ExYzcyZjRmMjA2
MjBmYTMyMzI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAyLTI4ICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtb3ZlcyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byB0aGUgUmVuZGVyQmxvY2tSYXJl
RGF0YSBzdHJ1Y3QsCisgICAgICAgIHdoaWNoIGVuYWJsZXMgdXMgdG8gbW92ZSBhd2F5IGZyb20g
dGhlIGdsb2JhbCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWFwLgorICAgICAgICBTb21lIGFk
ZGl0aW9uYWwgcmVmYWN0b3Jpbmcgd2FzIGRvbmUgdG8gcmVtb3ZlIEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbydzCisgICAgICAgIGRlcGVuZGVuY3kgb24gSW5saW5lSXRlcmF0b3IsIHdoaWNoIGRl
cGVuZGVkIG9uIFJlbmRlckJsb2NrLiBUaGlzIHdvcmsgcmVxdWlyZWQKKyAgICAgICAgYWRkaW5n
IGEgbmV3IExpbmVTZWdtZW50SXRlcmF0b3Igc3RydWN0LgorCisgICAgICAgIFJlZmFjdG9yaW5n
LCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGluZVNl
Z21lbnRSYW5nZTo6TGluZVNlZ21lbnRSYW5nZSk6IE1vdmluZyB0aGUgSW5saW5lSXRlcmF0b3IK
KyAgICAgICAgY29uc3RydWN0b3IgdG8gdGhlIC5jcHAgZmlsZSwgYXMgSW5saW5lSXRlcmF0b3Ig
aXMgbm93IGZvcndhcmQgZGVjbGFyZWQgaW4KKyAgICAgICAgdGhlIC5oIGZpbGUuCisgICAgICAg
IChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmlzRW5hYmxlZEZvcik6IE1vdmlu
ZyBpc0VuYWJsZWRGb3IgdG8KKyAgICAgICAgdGhlIC5jcHAgZmlsZSwgYXMgUmVuZGVyQmxvY2sg
aXMgbm93IGZvcndhcmQgZGVjbGFyZWQgaW4gdGhlIC5oIGZpbGUuCisgICAgICAgICogcmVuZGVy
aW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChMaW5lU2VnbWVudEl0ZXJhdG9yKTogQSBzaW1wbGUgc3RydWN0IGZvciBjb250YWluaW5n
IHNlZ21lbnQgcG9zaXRpb25zIGZvcgorICAgICAgICBsYXlvdXQuCisgICAgICAgIChXZWJDb3Jl
OjpMaW5lU2VnbWVudEl0ZXJhdG9yOjpMaW5lU2VnbWVudEl0ZXJhdG9yKTogQ29uc3RydWN0b3Iu
CisgICAgICAgIChMaW5lU2VnbWVudFJhbmdlKTogVHJhbnNpdGlvbmluZyB0byBzdG9yZSBMaW5l
U2VnbWVudEl0ZXJhdG9yLgorICAgICAgICAoV2ViQ29yZTo6TGluZVNlZ21lbnRSYW5nZTo6TGlu
ZVNlZ21lbnRSYW5nZSk6IERpdHRvLgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OndpbGxCZURlc3Ryb3llZCk6IERlc3Ryb3lpbmcgYSBibG9jayB3aWxs
IG5vdyBkZXN0cm95CisgICAgICAgIGl0cyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8sIHNvIHRo
ZXJlIGlzIG5vIG5lZWQgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIG1hcC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnVwZGF0ZUV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UpOiBVc2UKKyAgICAgICAgdGhlIFJlbmRlckJsb2Nr
UmFyZURhdGEgc3RydWN0IHJhdGhlciB0aGFuIHRoZSBnbG9iYWwgbWFwLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6ZW5zdXJlRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogRW5zdXJl
IGFuIGluZm8gc3RydWN0CisgICAgICAgIGlzIHByZXNlbnQgaWYgdGhlIHNoYXBlLWluc2lkZSBz
dHlsZSBpcyBzZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvKTogTG9vayB1cCB0aGUgaW5mbyBzdHJ1Y3QgZm9yCisgICAgICAgIHRoZSBj
dXJyZW50IGJsb2NrLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnNldEV4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mbyk6IFVwZGF0ZSB0aGUgaW5mbyBzdHJ1Y3QKKyAgICAgICAgZm9yIHRo
ZSBjdXJyZW50IGJsb2NrLgorICAgICAgICAoUmVuZGVyQmxvY2tSYXJlRGF0YSk6IEFkZCB0aGUg
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIG1lbWJlci4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlS
dW5zRm9yTGluZSk6IENvbnN0cnVjdCB0aGUgYXBwcm9wcmlhdGUgb2Zmc2V0cyBkdXJpbmcKKyAg
ICAgICAgbGF5b3V0IGJhc2VkIG9uIHRoZSBzdG9yZWQgTGluZVNlZ21lbnRJdGVyYXRvcnMuCisK
IDIwMTMtMDItMjggIEtvamkgSGFyYSAgPGtvamloQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
VjhdIEFkZGVkIFY4Q3VzdG9tSW5kZXhlZEdldHRlciB0byBJRExzIHRoYXQgY29ycmVzcG9uZCB0
byBleGlzdGluZyBjdXN0b20gaW5kZXhlZFByb3BlcnR5R2V0dGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAppbmRleCAz
NDgwMTk2YjU1NmE4N2QyMzg5MzY4MDM4ZmRkODA0Yjc3OTkwNTEwLi5jZjcyMGE4NDRmMjQ0Y2Jm
ZGQzMzIzMTRkNjVhM2UwOTczNmU3MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcApAQCAtMzIsOSArMzIsMjIgQEAK
IAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKIAorI2luY2x1ZGUgIklubGluZUl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitM
aW5lU2VnbWVudFJhbmdlOjpMaW5lU2VnbWVudFJhbmdlKGNvbnN0IElubGluZUl0ZXJhdG9yJiBz
dGFydCwgY29uc3QgSW5saW5lSXRlcmF0b3ImIGVuZCkKKyAgICA6IHN0YXJ0KHN0YXJ0LnJvb3Qo
KSwgc3RhcnQub2JqZWN0KCksIHN0YXJ0Lm9mZnNldCgpKQorICAgICwgZW5kKGVuZC5yb290KCks
IGVuZC5vYmplY3QoKSwgZW5kLm9mZnNldCgpKQorICAgIHsgfQorCitib29sIEV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikK
K3sKKyAgICBFeGNsdXNpb25TaGFwZVZhbHVlKiBzaGFwZVZhbHVlID0gcmVuZGVyZXItPnN0eWxl
KCktPnJlc29sdmVkU2hhcGVJbnNpZGUoKTsKKyAgICByZXR1cm4gKHNoYXBlVmFsdWUgJiYgc2hh
cGVWYWx1ZS0+dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKSA/IHNoYXBlVmFs
dWUtPnNoYXBlKCkgOiAwOworfQorCiBib29sIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6Y29t
cHV0ZVNlZ21lbnRzRm9yTGluZShMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhl
aWdodCkKIHsKICAgICBBU1NFUlQobGluZUhlaWdodCA+PSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaAppbmRleCAzMGJkOTQ3
NTY3YWVmNDUzZDg4NTRkN2EzZmRmYjliZjU3ZjU3OTY0Li4wZWVmNmNiMjMyYjM2NjNmYmVkZDc1
MDI5NTJhZDQzY2QwYzM0ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCkBAIC0zMywzNCArMzMsMzkgQEAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCiAKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZUluZm8uaCIKLSNp
bmNsdWRlICJJbmxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElu
bGluZUl0ZXJhdG9yOwogY2xhc3MgUmVuZGVyQmxvY2s7CitjbGFzcyBSZW5kZXJPYmplY3Q7CisK
K3N0cnVjdCBMaW5lU2VnbWVudEl0ZXJhdG9yIHsKKyAgICBSZW5kZXJPYmplY3QqIHJvb3Q7Cisg
ICAgUmVuZGVyT2JqZWN0KiBvYmplY3Q7CisgICAgdW5zaWduZWQgb2Zmc2V0OworICAgIExpbmVT
ZWdtZW50SXRlcmF0b3IoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIG9iamVjdCwg
dW5zaWduZWQgb2Zmc2V0KQorICAgICAgICA6IHJvb3Qocm9vdCkKKyAgICAgICAgLCBvYmplY3Qo
b2JqZWN0KQorICAgICAgICAsIG9mZnNldChvZmZzZXQpCisgICAgeyB9Cit9OwogCiBzdHJ1Y3Qg
TGluZVNlZ21lbnRSYW5nZSB7Ci0gICAgSW5saW5lSXRlcmF0b3Igc3RhcnQ7Ci0gICAgSW5saW5l
SXRlcmF0b3IgZW5kOwotICAgIExpbmVTZWdtZW50UmFuZ2UoSW5saW5lSXRlcmF0b3Igc3RhcnQs
IElubGluZUl0ZXJhdG9yIGVuZCkKLSAgICAgICAgOiBzdGFydChzdGFydCkKLSAgICAgICAgLCBl
bmQoZW5kKQotICAgIHsKLSAgICB9CisgICAgTGluZVNlZ21lbnRJdGVyYXRvciBzdGFydDsKKyAg
ICBMaW5lU2VnbWVudEl0ZXJhdG9yIGVuZDsKKyAgICBMaW5lU2VnbWVudFJhbmdlKGNvbnN0IElu
bGluZUl0ZXJhdG9yJiBzdGFydCwgY29uc3QgSW5saW5lSXRlcmF0b3ImIGVuZCk7CiB9OworCiB0
eXBlZGVmIFZlY3RvcjxMaW5lU2VnbWVudFJhbmdlPiBTZWdtZW50UmFuZ2VMaXN0OwogCi1jbGFz
cyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJl
bmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGU+LCBwdWJsaWMgTWFw
cGVkSW5mbzxSZW5kZXJCbG9jaywgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB7CitjbGFzcyBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8gOiBwdWJsaWMgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRl
ckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGU+IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxFeGNsdXNpb25TaGFwZUluc2lkZUluZm8+IGNyZWF0ZUluZm8o
Y29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKHJlbmRlcmVyKSk7IH0KIAotICAgIHN0YXRpYyBib29sIGlzRW5h
YmxlZEZvcihjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIpCi0gICAgewotICAgICAgICBFeGNs
dXNpb25TaGFwZVZhbHVlKiBzaGFwZVZhbHVlID0gcmVuZGVyZXItPnN0eWxlKCktPnJlc29sdmVk
U2hhcGVJbnNpZGUoKTsKLSAgICAgICAgcmV0dXJuIChzaGFwZVZhbHVlICYmIHNoYXBlVmFsdWUt
PnR5cGUoKSA9PSBFeGNsdXNpb25TaGFwZVZhbHVlOjpTSEFQRSkgPyBzaGFwZVZhbHVlLT5zaGFw
ZSgpIDogMDsKLSAgICB9CisgICAgc3RhdGljIGJvb2wgaXNFbmFibGVkRm9yKGNvbnN0IFJlbmRl
ckJsb2NrKiByZW5kZXJlcik7CiAgICAgYm9vbCBsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNv
bnN0IHsgcmV0dXJuIGxvZ2ljYWxMaW5lVG9wKCkgPCBzaGFwZUxvZ2ljYWxCb3R0b20oKSAmJiBs
b2dpY2FsTGluZUJvdHRvbSgpID49IHNoYXBlTG9naWNhbFRvcCgpOyB9CiAKICAgICBib29sIGhh
c1NlZ21lbnRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CmluZGV4IDY1ZjI2MDQ0YTFmOGJiMmVlZTg1MWU3ZTU5MmVjY2FlZTljYWY5MTUuLjRhMTBiMGQw
MmIzZDZlNTgyM2JhY2NkOTIxYTk2YThjNDllOWUwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjk2LDEwICsyOTYsNiBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojp3aWxsQmVEZXN0cm95ZWQoKQogICAgIGlmIChsaW5lR3JpZEJveCgpKQogICAgICAgICBsaW5l
R3JpZEJveCgpLT5kZXN0cm95KHJlbmRlckFyZW5hKCkpOwogCi0jaWYgRU5BQkxFKENTU19FWENM
VVNJT05TKQotICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6cmVtb3ZlSW5mbyh0aGlzKTsK
LSNlbmRpZgotCiAgICAgaWYgKFVOTElLRUxZKGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldCAh
PSAwKSkKICAgICAgICAgZ0RlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0LT5yZW1vdmUodGhpcyk7
CiAKQEAgLTEzOTUsMTEgKzEzOTEsNiBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXQoKQogfQog
CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBS
ZW5kZXJCbG9jazo6ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gc3R5bGUoKS0+cmVzb2x2ZWRTaGFwZUluc2lkZSgpICYmIEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbzo6aXNFbmFibGVkRm9yKHRoaXMpID8gRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppbmZv
KHRoaXMpIDogMDsKLX0KLQogdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRlRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiBzaGFw
ZUluc2lkZSwgY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkU2hhcGVJbnNpZGUpCiB7CiAg
ICAgLy8gRklYTUU6IEEgZnV0dXJlIG9wdGltaXphdGlvbiB3b3VsZCBkbyBhIGRlZXAgY29tcGFy
aXNvbiBmb3IgZXF1YWxpdHkuCkBAIC0xNDA3LDEwICsxMzk4LDEwIEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OnVwZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3Qg
RXhjbHVzaW9uCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChzaGFwZUluc2lkZSkgewotICAg
ICAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6ZW5zdXJlSW5mbyh0aGlzKTsKKyAgICAgICAgRXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSBlbnN1cmVF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKTsKICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvLT5kaXJ0eVNoYXBlU2l6ZSgpOwogICAgIH0gZWxzZQotICAgICAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm86OnJlbW92ZUluZm8odGhpcyk7CisgICAgICAgIHNldEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbyhQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4oKSk7CiB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBlZjAzMzRj
MmM3NDAxMDA2YzAwZjFjZjIxYjc1ZDg5NDEzMDNhNDdmLi41ZjA2YjBlMTc1Yjg2ODY3MjUyY2Fm
ZTM0NmNhMGFhNjY1Y2RhNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCiAjaWYg
RU5BQkxFKENTU19FWENMVVNJT05TKQorI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
by5oIgogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlVmFsdWUuaCIKICNlbmRpZgogCkBAIC01NCw3
ICs1NSw2IEBAIGNsYXNzIExpbmVJbmZvOwogY2xhc3MgUmVuZGVyUnVieVJ1bjsKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCiBjbGFzcyBCYXNpY1NoYXBlOwotY2xhc3MgRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvOwogI2VuZGlmCiBjbGFzcyBUZXh0TGF5b3V0OwogY2xhc3MgV29yZE1lYXN1
cmVtZW50OwpAQCAtNDQ2LDcgKzQ0NiwyNCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShDU1NfRVhDTFVTSU9OUykKLSAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGV4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mbygpIGNvbnN0OworICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyog
ZW5zdXJlRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkKKyAgICB7CisgICAgICAgIGlmICghbV9y
YXJlRGF0YSkKKyAgICAgICAgICAgIG1fcmFyZURhdGEgPSBhZG9wdFB0cihuZXcgUmVuZGVyQmxv
Y2tSYXJlRGF0YSh0aGlzKSk7CisgICAgICAgIGlmICghbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lk
ZUluZm8pCisgICAgICAgICAgICBtX3JhcmVEYXRhLT5tX3NoYXBlSW5zaWRlSW5mbyA9IEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbzo6Y3JlYXRlSW5mbyh0aGlzKTsKKyAgICAgICAgcmV0dXJuIG1f
cmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvLmdldCgpOworICAgIH0KKyAgICBFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9yYXJlRGF0YSAmJiBtX3JhcmVEYXRhLT5tX3NoYXBlSW5zaWRlSW5m
byAmJiBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmlzRW5hYmxlZEZvcih0aGlzKSA/IG1fcmFy
ZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvLmdldCgpIDogMDsKKyAgICB9CisgICAgdm9pZCBzZXRF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oUGFzc093blB0cjxFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8+IHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3JhcmVEYXRhKQorICAgICAgICAgICAg
bV9yYXJlRGF0YSA9IGFkb3B0UHRyKG5ldyBSZW5kZXJCbG9ja1JhcmVEYXRhKHRoaXMpKTsKKyAg
ICAgICAgbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUluZm8gPSB2YWx1ZTsKKyAgICB9CiAgICAg
Ym9vbCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkgY29uc3QgeyByZXR1
cm4gIWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCiAKQEAgLTEyMzQsNiAr
MTI1MSw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgUm9vdElubGluZUJveCogbV9saW5lR3JpZEJv
eDsKIAogICAgICAgICBSb290SW5saW5lQm94KiBtX2xpbmVCcmVha1RvQXZvaWRXaWRvdzsKKyNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIE93blB0cjxFeGNsdXNpb25TaGFwZUlu
c2lkZUluZm8+IG1fc2hhcGVJbnNpZGVJbmZvOworI2VuZGlmCiAgICAgICAgIGJvb2wgbV9zaG91
bGRCcmVha0F0TGluZVRvQXZvaWRXaWRvdyA6IDE7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJkTWFy
Z2luQmVmb3JlIDogMTsKICAgICAgICAgYm9vbCBtX2Rpc2NhcmRNYXJnaW5BZnRlciA6IDE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
CmluZGV4IDllMTlhNjliNTY0N2VhMTc2YzUwM2RkZWFkZmU5N2Y4OGM1NjkyZDkuLjVlOTQzN2Jm
NzI5YTQ0ZDE4NmQ3Y2RiNzA4ZjRmMWZlNTkwZjlmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0xMjg0LDggKzEyODQs
MTAgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZShjb25zdCBS
ZW5kZXJCbG9jayogYmxvY2ssIElubGluZUJpZGkKICAgICBBU1NFUlQoc2VnbWVudFJhbmdlcy5z
aXplKCkpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzZWdtZW50UmFuZ2VzLnNpemUo
KTsgaSsrKSB7Ci0gICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRTdGFydCA9IHNlZ21lbnRS
YW5nZXNbaV0uc3RhcnQ7Ci0gICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRFbmQgPSBzZWdt
ZW50UmFuZ2VzW2ldLmVuZDsKKyAgICAgICAgTGluZVNlZ21lbnRJdGVyYXRvciBpdGVyYXRvciA9
IHNlZ21lbnRSYW5nZXNbaV0uc3RhcnQ7CisgICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRT
dGFydChpdGVyYXRvci5yb290LCBpdGVyYXRvci5vYmplY3QsIGl0ZXJhdG9yLm9mZnNldCk7Cisg
ICAgICAgIGl0ZXJhdG9yID0gc2VnbWVudFJhbmdlc1tpXS5lbmQ7CisgICAgICAgIElubGluZUl0
ZXJhdG9yIHNlZ21lbnRFbmQoaXRlcmF0b3Iucm9vdCwgaXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRv
ci5vZmZzZXQpOwogICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgQVNTRVJUKHNlZ21lbnRT
dGFydC5tX29iaik7CiAgICAgICAgICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0gY3JlYXRl
UnVuKHNlZ21lbnRTdGFydC5tX3Bvcywgc2VnbWVudFN0YXJ0Lm1fcG9zLCBzZWdtZW50U3RhcnQu
bV9vYmosIHRvcFJlc29sdmVyKTsK
</data>
<flag name="review"
          id="211711"
          type_id="1"
          status="+"
          setter="jchaffraix"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191062</attachid>
            <date>2013-03-01 16:14:24 -0800</date>
            <delta_ts>2013-03-01 16:44:29 -0800</delta_ts>
            <desc>Making final adjustments</desc>
            <filename>110995.patch</filename>
            <type>text/plain</type>
            <size>10660</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNzljNTk3Li40MGNkYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIg
QEAKKzIwMTMtMDMtMDEgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAg
ICAgIFtjc3MgZXhjbHVzaW9uc10gTW92ZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byBS
ZW5kZXJCbG9ja1JhcmVEYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTA5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hhZmZyYWl4
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGlu
dG8gdGhlIFJlbmRlckJsb2NrUmFyZURhdGEgc3RydWN0LAorICAgICAgICB3aGljaCBlbmFibGVz
IHVzIHRvIG1vdmUgYXdheSBmcm9tIHRoZSBnbG9iYWwgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
IG1hcC4KKyAgICAgICAgU29tZSBhZGRpdGlvbmFsIHJlZmFjdG9yaW5nIHdhcyBkb25lIHRvIHJl
bW92ZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8ncworICAgICAgICBkZXBlbmRlbmN5IG9uIElu
bGluZUl0ZXJhdG9yLCB3aGljaCBkZXBlbmRlZCBvbiBSZW5kZXJCbG9jay4gVGhpcyB3b3JrIHJl
cXVpcmVkCisgICAgICAgIGFkZGluZyBhIG5ldyBMaW5lU2VnbWVudEl0ZXJhdG9yIHN0cnVjdC4K
KworICAgICAgICBSZWZhY3RvcmluZywgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcmVuZGVy
aW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxpbmVTZWdtZW50UmFuZ2U6OkxpbmVTZWdtZW50UmFuZ2UpOiBNb3Zp
bmcgdGhlIElubGluZUl0ZXJhdG9yCisgICAgICAgIGNvbnN0cnVjdG9yIHRvIHRoZSAuY3BwIGZp
bGUsIGFzIElubGluZUl0ZXJhdG9yIGlzIG5vdyBmb3J3YXJkIGRlY2xhcmVkIGluCisgICAgICAg
IHRoZSAuaCBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
Ojppc0VuYWJsZWRGb3IpOiBNb3ZpbmcgaXNFbmFibGVkRm9yIHRvCisgICAgICAgIHRoZSAuY3Bw
IGZpbGUsIGFzIFJlbmRlckJsb2NrIGlzIG5vdyBmb3J3YXJkIGRlY2xhcmVkIGluIHRoZSAuaCBm
aWxlLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTGluZVNlZ21lbnRJdGVyYXRvcik6IEEgc2ltcGxl
IHN0cnVjdCBmb3IgY29udGFpbmluZyBzZWdtZW50IHBvc2l0aW9ucyBmb3IKKyAgICAgICAgbGF5
b3V0LgorICAgICAgICAoV2ViQ29yZTo6TGluZVNlZ21lbnRJdGVyYXRvcjo6TGluZVNlZ21lbnRJ
dGVyYXRvcik6IENvbnN0cnVjdG9yLgorICAgICAgICAoTGluZVNlZ21lbnRSYW5nZSk6IFRyYW5z
aXRpb25pbmcgdG8gc3RvcmUgTGluZVNlZ21lbnRJdGVyYXRvci4KKyAgICAgICAgKFdlYkNvcmU6
OkxpbmVTZWdtZW50UmFuZ2U6OkxpbmVTZWdtZW50UmFuZ2UpOiBEaXR0by4KKyAgICAgICAgKEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBE
ZXN0cm95aW5nIGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRo
ZSBtYXAuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Ojp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVXNlCisg
ICAgICAgIHRoZSBSZW5kZXJCbG9ja1JhcmVEYXRhIHN0cnVjdCByYXRoZXIgdGhhbiB0aGUgZ2xv
YmFsIG1hcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmVuc3VyZUV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbyk6IEVuc3VyZSBhbiBpbmZvIHN0cnVjdAorICAgICAgICBpcyBwcmVzZW50
IGlmIHRoZSBzaGFwZS1pbnNpZGUgc3R5bGUgaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyk6IExvb2sgdXAgdGhlIGluZm8gc3Ry
dWN0IGZvcgorICAgICAgICB0aGUgY3VycmVudCBibG9jay4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpzZXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOiBVcGRhdGUgdGhlIGluZm8g
c3RydWN0CisgICAgICAgIGZvciB0aGUgY3VycmVudCBibG9jay4KKyAgICAgICAgKFJlbmRlckJs
b2NrUmFyZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUpOiBDb25zdHJ1Y3QgdGhlIGFwcHJvcHJp
YXRlIG9mZnNldHMgZHVyaW5nCisgICAgICAgIGxheW91dCBiYXNlZCBvbiB0aGUgc3RvcmVkIExp
bmVTZWdtZW50SXRlcmF0b3JzLgorCiAyMDEzLTAzLTAxICBWaWN0b3IgQ2FyYnVuZSAgPHZjYXJi
dW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHBhZGRpbmcsIG1hcmdpbiBhbmQg
Ym9yZGVyIGZvciBpbnRlcm5hbCBVQSBjdWUgc3R5bGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAppbmRleCAzNDgwMTk2
Li4wZGZiMjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvLmNwcApAQCAtMzIsOSArMzIsMjMgQEAKIAogI2lmIEVOQUJMRShD
U1NfRVhDTFVTSU9OUykKIAorI2luY2x1ZGUgIklubGluZUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitMaW5lU2VnbWVudFJhbmdl
OjpMaW5lU2VnbWVudFJhbmdlKGNvbnN0IElubGluZUl0ZXJhdG9yJiBzdGFydCwgY29uc3QgSW5s
aW5lSXRlcmF0b3ImIGVuZCkKKyAgICA6IHN0YXJ0KHN0YXJ0LnJvb3QoKSwgc3RhcnQub2JqZWN0
KCksIHN0YXJ0Lm9mZnNldCgpKQorICAgICwgZW5kKGVuZC5yb290KCksIGVuZC5vYmplY3QoKSwg
ZW5kLm9mZnNldCgpKQorICAgIHsKKyAgICB9CisKK2Jvb2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjppc0VuYWJsZWRGb3IoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQoreworICAgIEV4
Y2x1c2lvblNoYXBlVmFsdWUqIHNoYXBlVmFsdWUgPSByZW5kZXJlci0+c3R5bGUoKS0+cmVzb2x2
ZWRTaGFwZUluc2lkZSgpOworICAgIHJldHVybiAoc2hhcGVWYWx1ZSAmJiBzaGFwZVZhbHVlLT50
eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpID8gc2hhcGVWYWx1ZS0+c2hhcGUo
KSA6IDA7Cit9CisKIGJvb2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpjb21wdXRlU2VnbWVu
dHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KQogewog
ICAgIEFTU0VSVChsaW5lSGVpZ2h0ID49IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmluZGV4IGFkODY4ZTUuLjcwNGMwOTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLmgKQEAgLTMzLDM0ICszMyw0MCBAQAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
IAogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlSW5mby5oIgotI2luY2x1ZGUgIklubGluZUl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgSW5saW5lSXRlcmF0b3I7CiBjbGFz
cyBSZW5kZXJCbG9jazsKK2NsYXNzIFJlbmRlck9iamVjdDsKIAotc3RydWN0IExpbmVTZWdtZW50
UmFuZ2UgewotICAgIElubGluZUl0ZXJhdG9yIHN0YXJ0OwotICAgIElubGluZUl0ZXJhdG9yIGVu
ZDsKLSAgICBMaW5lU2VnbWVudFJhbmdlKElubGluZUl0ZXJhdG9yIHN0YXJ0LCBJbmxpbmVJdGVy
YXRvciBlbmQpCi0gICAgICAgIDogc3RhcnQoc3RhcnQpCi0gICAgICAgICwgZW5kKGVuZCkKK3N0
cnVjdCBMaW5lU2VnbWVudEl0ZXJhdG9yIHsKKyAgICBSZW5kZXJPYmplY3QqIHJvb3Q7CisgICAg
UmVuZGVyT2JqZWN0KiBvYmplY3Q7CisgICAgdW5zaWduZWQgb2Zmc2V0OworICAgIExpbmVTZWdt
ZW50SXRlcmF0b3IoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIG9iamVjdCwgdW5z
aWduZWQgb2Zmc2V0KQorICAgICAgICA6IHJvb3Qocm9vdCkKKyAgICAgICAgLCBvYmplY3Qob2Jq
ZWN0KQorICAgICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgewogICAgIH0KIH07CisKK3N0cnVj
dCBMaW5lU2VnbWVudFJhbmdlIHsKKyAgICBMaW5lU2VnbWVudEl0ZXJhdG9yIHN0YXJ0OworICAg
IExpbmVTZWdtZW50SXRlcmF0b3IgZW5kOworICAgIExpbmVTZWdtZW50UmFuZ2UoY29uc3QgSW5s
aW5lSXRlcmF0b3ImIHN0YXJ0LCBjb25zdCBJbmxpbmVJdGVyYXRvciYgZW5kKTsKK307CisKIHR5
cGVkZWYgVmVjdG9yPExpbmVTZWdtZW50UmFuZ2U+IFNlZ21lbnRSYW5nZUxpc3Q7CiAKLWNsYXNz
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVu
ZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4sIHB1YmxpYyBNYXBw
ZWRJbmZvPFJlbmRlckJsb2NrLCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8+IHsKK2NsYXNzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVy
QmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4gY3JlYXRlSW5mbyhj
b25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBFeGNsdXNp
b25TaGFwZUluc2lkZUluZm8ocmVuZGVyZXIpKTsgfQogCi0gICAgc3RhdGljIGJvb2wgaXNFbmFi
bGVkRm9yKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikKLSAgICB7Ci0gICAgICAgIEV4Y2x1
c2lvblNoYXBlVmFsdWUqIHNoYXBlVmFsdWUgPSByZW5kZXJlci0+c3R5bGUoKS0+cmVzb2x2ZWRT
aGFwZUluc2lkZSgpOwotICAgICAgICByZXR1cm4gKHNoYXBlVmFsdWUgJiYgc2hhcGVWYWx1ZS0+
dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKSA/IHNoYXBlVmFsdWUtPnNoYXBl
KCkgOiAwOwotICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0VuYWJsZWRGb3IoY29uc3QgUmVuZGVy
QmxvY2sqIHJlbmRlcmVyKTsKICAgICBib29sIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkgY29u
c3QgeyByZXR1cm4gbG9naWNhbExpbmVUb3AoKSA8IHNoYXBlTG9naWNhbEJvdHRvbSgpICYmIGxv
Z2ljYWxMaW5lQm90dG9tKCkgPj0gc2hhcGVMb2dpY2FsVG9wKCk7IH0KIAogICAgIGJvb2wgaGFz
U2VnbWVudHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
aW5kZXggMTNhOTdlMy4uYzhiNzg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCkBAIC0yOTYsMTAgKzI5Niw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OndpbGxCZURl
c3Ryb3llZCgpCiAgICAgaWYgKGxpbmVHcmlkQm94KCkpCiAgICAgICAgIGxpbmVHcmlkQm94KCkt
PmRlc3Ryb3kocmVuZGVyQXJlbmEoKSk7CiAKLSNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0g
ICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpyZW1vdmVJbmZvKHRoaXMpOwotI2VuZGlmCi0K
ICAgICBpZiAoVU5MSUtFTFkoZ0RlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0ICE9IDApKQogICAg
ICAgICBnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQtPnJlbW92ZSh0aGlzKTsKIApAQCAtMTM5
NCwxMSArMTM5MCw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dCgpCiB9CiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCi1FeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2Nr
OjpleGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAotewotICAgIHJldHVybiBzdHlsZSgp
LT5yZXNvbHZlZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0Vu
YWJsZWRGb3IodGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAw
OwotfQotCiB2b2lkIFJlbmRlckJsb2NrOjp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9B
ZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqIHNoYXBlSW5zaWRlLCBj
b25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiBvbGRTaGFwZUluc2lkZSkKIHsKICAgICAvLyBGSVhN
RTogQSBmdXR1cmUgb3B0aW1pemF0aW9uIHdvdWxkIGRvIGEgZGVlcCBjb21wYXJpc29uIGZvciBl
cXVhbGl0eS4KQEAgLTE0MDYsMTAgKzEzOTcsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRl
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb24K
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHNoYXBlSW5zaWRlKSB7Ci0gICAgICAgIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyogZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvOjplbnN1cmVJbmZvKHRoaXMpOworICAgICAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IGVuc3VyZUV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbygpOwogICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmRpcnR5
U2hhcGVTaXplKCk7CiAgICAgfSBlbHNlCi0gICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
bzo6cmVtb3ZlSW5mbyh0aGlzKTsKKyAgICAgICAgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KDApOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5k
ZXggNDhjMjFmMy4uMjAwMzQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KIAogI2lm
IEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyNpbmNsdWRlICJFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8uaCIKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZVZhbHVlLmgiCiAjZW5kaWYKIApAQCAtNTQs
NyArNTUsNiBAQCBjbGFzcyBMaW5lSW5mbzsKIGNsYXNzIFJlbmRlclJ1YnlSdW47CiAjaWYgRU5B
QkxFKENTU19FWENMVVNJT05TKQogY2xhc3MgQmFzaWNTaGFwZTsKLWNsYXNzIEV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbzsKICNlbmRpZgogY2xhc3MgVGV4dExheW91dDsKIGNsYXNzIFdvcmRNZWFz
dXJlbWVudDsKQEAgLTQ0Niw3ICs0NDYsMjIgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNp
b25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8q
IGVuc3VyZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpCisgICAgeworICAgICAgICBpZiAoIW1f
cmFyZURhdGEgfHwgIW1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvKQorICAgICAgICAgICAg
c2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6Y3Jl
YXRlSW5mbyh0aGlzKSk7CisgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLT5tX3NoYXBlSW5zaWRl
SW5mby5nZXQoKTsKKyAgICB9CisgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBleGNsdXNp
b25TaGFwZUluc2lkZUluZm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcmFyZURh
dGEgJiYgbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUluZm8gJiYgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvOjppc0VuYWJsZWRGb3IodGhpcykgPyBtX3JhcmVEYXRhLT5tX3NoYXBlSW5zaWRlSW5m
by5nZXQoKSA6IDA7CisgICAgfQorICAgIHZvaWQgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2YWx1ZSkKKyAgICB7CisgICAg
ICAgIGlmICghbV9yYXJlRGF0YSkKKyAgICAgICAgICAgIG1fcmFyZURhdGEgPSBhZG9wdFB0cihu
ZXcgUmVuZGVyQmxvY2tSYXJlRGF0YSh0aGlzKSk7CisgICAgICAgIG1fcmFyZURhdGEtPm1fc2hh
cGVJbnNpZGVJbmZvID0gdmFsdWU7CisgICAgfQogICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3Q7CiAgICAgYm9vbCBhbGxv
d3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkgY29uc3QgeyByZXR1cm4gIWlzSW5s
aW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCkBAIC0xMjM1LDYgKzEyNTAsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG1fbGluZUdyaWRCb3g7CiAKICAgICAg
ICAgUm9vdElubGluZUJveCogbV9saW5lQnJlYWtUb0F2b2lkV2lkb3c7CisjaWYgRU5BQkxFKENT
U19FWENMVVNJT05TKQorICAgICAgICBPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiBt
X3NoYXBlSW5zaWRlSW5mbzsKKyNlbmRpZgogICAgICAgICBib29sIG1fc2hvdWxkQnJlYWtBdExp
bmVUb0F2b2lkV2lkb3cgOiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdpbkJlZm9yZSA6
IDE7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJkTWFyZ2luQWZ0ZXIgOiAxOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCAyMTIw
ODk5Li5hMWUyOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMTI4NCw4ICsxMjg0LDEwIEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCBjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBJ
bmxpbmVCaWRpCiAgICAgQVNTRVJUKHNlZ21lbnRSYW5nZXMuc2l6ZSgpKTsKIAogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgc2VnbWVudFJhbmdlcy5zaXplKCk7IGkrKykgewotICAgICAgICBJ
bmxpbmVJdGVyYXRvciBzZWdtZW50U3RhcnQgPSBzZWdtZW50UmFuZ2VzW2ldLnN0YXJ0OwotICAg
ICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50RW5kID0gc2VnbWVudFJhbmdlc1tpXS5lbmQ7Cisg
ICAgICAgIExpbmVTZWdtZW50SXRlcmF0b3IgaXRlcmF0b3IgPSBzZWdtZW50UmFuZ2VzW2ldLnN0
YXJ0OworICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50U3RhcnQoaXRlcmF0b3Iucm9vdCwg
aXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRvci5vZmZzZXQpOworICAgICAgICBpdGVyYXRvciA9IHNl
Z21lbnRSYW5nZXNbaV0uZW5kOworICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50RW5kKGl0
ZXJhdG9yLnJvb3QsIGl0ZXJhdG9yLm9iamVjdCwgaXRlcmF0b3Iub2Zmc2V0KTsKICAgICAgICAg
aWYgKGkpIHsKICAgICAgICAgICAgIEFTU0VSVChzZWdtZW50U3RhcnQubV9vYmopOwogICAgICAg
ICAgICAgQmlkaVJ1biogc2VnbWVudE1hcmtlciA9IGNyZWF0ZVJ1bihzZWdtZW50U3RhcnQubV9w
b3MsIHNlZ21lbnRTdGFydC5tX3Bvcywgc2VnbWVudFN0YXJ0Lm1fb2JqLCB0b3BSZXNvbHZlcik7
Cg==
</data>
<flag name="commit-queue"
          id="211920"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191069</attachid>
            <date>2013-03-01 16:44:29 -0800</date>
            <delta_ts>2013-03-11 16:47:24 -0700</delta_ts>
            <desc>Changing 0 to nullptr</desc>
            <filename>110995.patch</filename>
            <type>text/plain</type>
            <size>10666</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNzljNTk3Li40MGNkYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIg
QEAKKzIwMTMtMDMtMDEgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgorCisgICAg
ICAgIFtjc3MgZXhjbHVzaW9uc10gTW92ZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gaW50byBS
ZW5kZXJCbG9ja1JhcmVEYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTA5OTUKKworICAgICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hhZmZyYWl4
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGlu
dG8gdGhlIFJlbmRlckJsb2NrUmFyZURhdGEgc3RydWN0LAorICAgICAgICB3aGljaCBlbmFibGVz
IHVzIHRvIG1vdmUgYXdheSBmcm9tIHRoZSBnbG9iYWwgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
IG1hcC4KKyAgICAgICAgU29tZSBhZGRpdGlvbmFsIHJlZmFjdG9yaW5nIHdhcyBkb25lIHRvIHJl
bW92ZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8ncworICAgICAgICBkZXBlbmRlbmN5IG9uIElu
bGluZUl0ZXJhdG9yLCB3aGljaCBkZXBlbmRlZCBvbiBSZW5kZXJCbG9jay4gVGhpcyB3b3JrIHJl
cXVpcmVkCisgICAgICAgIGFkZGluZyBhIG5ldyBMaW5lU2VnbWVudEl0ZXJhdG9yIHN0cnVjdC4K
KworICAgICAgICBSZWZhY3RvcmluZywgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcmVuZGVy
aW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxpbmVTZWdtZW50UmFuZ2U6OkxpbmVTZWdtZW50UmFuZ2UpOiBNb3Zp
bmcgdGhlIElubGluZUl0ZXJhdG9yCisgICAgICAgIGNvbnN0cnVjdG9yIHRvIHRoZSAuY3BwIGZp
bGUsIGFzIElubGluZUl0ZXJhdG9yIGlzIG5vdyBmb3J3YXJkIGRlY2xhcmVkIGluCisgICAgICAg
IHRoZSAuaCBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
Ojppc0VuYWJsZWRGb3IpOiBNb3ZpbmcgaXNFbmFibGVkRm9yIHRvCisgICAgICAgIHRoZSAuY3Bw
IGZpbGUsIGFzIFJlbmRlckJsb2NrIGlzIG5vdyBmb3J3YXJkIGRlY2xhcmVkIGluIHRoZSAuaCBm
aWxlLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTGluZVNlZ21lbnRJdGVyYXRvcik6IEEgc2ltcGxl
IHN0cnVjdCBmb3IgY29udGFpbmluZyBzZWdtZW50IHBvc2l0aW9ucyBmb3IKKyAgICAgICAgbGF5
b3V0LgorICAgICAgICAoV2ViQ29yZTo6TGluZVNlZ21lbnRJdGVyYXRvcjo6TGluZVNlZ21lbnRJ
dGVyYXRvcik6IENvbnN0cnVjdG9yLgorICAgICAgICAoTGluZVNlZ21lbnRSYW5nZSk6IFRyYW5z
aXRpb25pbmcgdG8gc3RvcmUgTGluZVNlZ21lbnRJdGVyYXRvci4KKyAgICAgICAgKFdlYkNvcmU6
OkxpbmVTZWdtZW50UmFuZ2U6OkxpbmVTZWdtZW50UmFuZ2UpOiBEaXR0by4KKyAgICAgICAgKEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp3aWxsQmVEZXN0cm95ZWQpOiBE
ZXN0cm95aW5nIGEgYmxvY2sgd2lsbCBub3cgZGVzdHJveQorICAgICAgICBpdHMgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRo
ZSBtYXAuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Ojp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxlQ2hhbmdlKTogVXNlCisg
ICAgICAgIHRoZSBSZW5kZXJCbG9ja1JhcmVEYXRhIHN0cnVjdCByYXRoZXIgdGhhbiB0aGUgZ2xv
YmFsIG1hcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmVuc3VyZUV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbyk6IEVuc3VyZSBhbiBpbmZvIHN0cnVjdAorICAgICAgICBpcyBwcmVzZW50
IGlmIHRoZSBzaGFwZS1pbnNpZGUgc3R5bGUgaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyk6IExvb2sgdXAgdGhlIGluZm8gc3Ry
dWN0IGZvcgorICAgICAgICB0aGUgY3VycmVudCBibG9jay4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpzZXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOiBVcGRhdGUgdGhlIGluZm8g
c3RydWN0CisgICAgICAgIGZvciB0aGUgY3VycmVudCBibG9jay4KKyAgICAgICAgKFJlbmRlckJs
b2NrUmFyZURhdGEpOiBBZGQgdGhlIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtZW1iZXIuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUpOiBDb25zdHJ1Y3QgdGhlIGFwcHJvcHJp
YXRlIG9mZnNldHMgZHVyaW5nCisgICAgICAgIGxheW91dCBiYXNlZCBvbiB0aGUgc3RvcmVkIExp
bmVTZWdtZW50SXRlcmF0b3JzLgorCiAyMDEzLTAzLTAxICBWaWN0b3IgQ2FyYnVuZSAgPHZjYXJi
dW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHBhZGRpbmcsIG1hcmdpbiBhbmQg
Ym9yZGVyIGZvciBpbnRlcm5hbCBVQSBjdWUgc3R5bGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAppbmRleCAzNDgwMTk2
Li4wZGZiMjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvLmNwcApAQCAtMzIsOSArMzIsMjMgQEAKIAogI2lmIEVOQUJMRShD
U1NfRVhDTFVTSU9OUykKIAorI2luY2x1ZGUgIklubGluZUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitMaW5lU2VnbWVudFJhbmdl
OjpMaW5lU2VnbWVudFJhbmdlKGNvbnN0IElubGluZUl0ZXJhdG9yJiBzdGFydCwgY29uc3QgSW5s
aW5lSXRlcmF0b3ImIGVuZCkKKyAgICA6IHN0YXJ0KHN0YXJ0LnJvb3QoKSwgc3RhcnQub2JqZWN0
KCksIHN0YXJ0Lm9mZnNldCgpKQorICAgICwgZW5kKGVuZC5yb290KCksIGVuZC5vYmplY3QoKSwg
ZW5kLm9mZnNldCgpKQorICAgIHsKKyAgICB9CisKK2Jvb2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvOjppc0VuYWJsZWRGb3IoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQoreworICAgIEV4
Y2x1c2lvblNoYXBlVmFsdWUqIHNoYXBlVmFsdWUgPSByZW5kZXJlci0+c3R5bGUoKS0+cmVzb2x2
ZWRTaGFwZUluc2lkZSgpOworICAgIHJldHVybiAoc2hhcGVWYWx1ZSAmJiBzaGFwZVZhbHVlLT50
eXBlKCkgPT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpID8gc2hhcGVWYWx1ZS0+c2hhcGUo
KSA6IDA7Cit9CisKIGJvb2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpjb21wdXRlU2VnbWVu
dHNGb3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KQogewog
ICAgIEFTU0VSVChsaW5lSGVpZ2h0ID49IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmluZGV4IGFkODY4ZTUuLjcwNGMwOTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvLmgKQEAgLTMzLDM0ICszMyw0MCBAQAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
IAogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlSW5mby5oIgotI2luY2x1ZGUgIklubGluZUl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgSW5saW5lSXRlcmF0b3I7CiBjbGFz
cyBSZW5kZXJCbG9jazsKK2NsYXNzIFJlbmRlck9iamVjdDsKIAotc3RydWN0IExpbmVTZWdtZW50
UmFuZ2UgewotICAgIElubGluZUl0ZXJhdG9yIHN0YXJ0OwotICAgIElubGluZUl0ZXJhdG9yIGVu
ZDsKLSAgICBMaW5lU2VnbWVudFJhbmdlKElubGluZUl0ZXJhdG9yIHN0YXJ0LCBJbmxpbmVJdGVy
YXRvciBlbmQpCi0gICAgICAgIDogc3RhcnQoc3RhcnQpCi0gICAgICAgICwgZW5kKGVuZCkKK3N0
cnVjdCBMaW5lU2VnbWVudEl0ZXJhdG9yIHsKKyAgICBSZW5kZXJPYmplY3QqIHJvb3Q7CisgICAg
UmVuZGVyT2JqZWN0KiBvYmplY3Q7CisgICAgdW5zaWduZWQgb2Zmc2V0OworICAgIExpbmVTZWdt
ZW50SXRlcmF0b3IoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIG9iamVjdCwgdW5z
aWduZWQgb2Zmc2V0KQorICAgICAgICA6IHJvb3Qocm9vdCkKKyAgICAgICAgLCBvYmplY3Qob2Jq
ZWN0KQorICAgICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgewogICAgIH0KIH07CisKK3N0cnVj
dCBMaW5lU2VnbWVudFJhbmdlIHsKKyAgICBMaW5lU2VnbWVudEl0ZXJhdG9yIHN0YXJ0OworICAg
IExpbmVTZWdtZW50SXRlcmF0b3IgZW5kOworICAgIExpbmVTZWdtZW50UmFuZ2UoY29uc3QgSW5s
aW5lSXRlcmF0b3ImIHN0YXJ0LCBjb25zdCBJbmxpbmVJdGVyYXRvciYgZW5kKTsKK307CisKIHR5
cGVkZWYgVmVjdG9yPExpbmVTZWdtZW50UmFuZ2U+IFNlZ21lbnRSYW5nZUxpc3Q7CiAKLWNsYXNz
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVu
ZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4sIHB1YmxpYyBNYXBw
ZWRJbmZvPFJlbmRlckJsb2NrLCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8+IHsKK2NsYXNzIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA6IHB1YmxpYyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVy
QmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lkZT4gewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4gY3JlYXRlSW5mbyhj
b25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBFeGNsdXNp
b25TaGFwZUluc2lkZUluZm8ocmVuZGVyZXIpKTsgfQogCi0gICAgc3RhdGljIGJvb2wgaXNFbmFi
bGVkRm9yKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlcikKLSAgICB7Ci0gICAgICAgIEV4Y2x1
c2lvblNoYXBlVmFsdWUqIHNoYXBlVmFsdWUgPSByZW5kZXJlci0+c3R5bGUoKS0+cmVzb2x2ZWRT
aGFwZUluc2lkZSgpOwotICAgICAgICByZXR1cm4gKHNoYXBlVmFsdWUgJiYgc2hhcGVWYWx1ZS0+
dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNIQVBFKSA/IHNoYXBlVmFsdWUtPnNoYXBl
KCkgOiAwOwotICAgIH0KKyAgICBzdGF0aWMgYm9vbCBpc0VuYWJsZWRGb3IoY29uc3QgUmVuZGVy
QmxvY2sqIHJlbmRlcmVyKTsKICAgICBib29sIGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkgY29u
c3QgeyByZXR1cm4gbG9naWNhbExpbmVUb3AoKSA8IHNoYXBlTG9naWNhbEJvdHRvbSgpICYmIGxv
Z2ljYWxMaW5lQm90dG9tKCkgPj0gc2hhcGVMb2dpY2FsVG9wKCk7IH0KIAogICAgIGJvb2wgaGFz
U2VnbWVudHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
aW5kZXggMTNhOTdlMy4uNjE0YzA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCkBAIC0yOTYsMTAgKzI5Niw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OndpbGxCZURl
c3Ryb3llZCgpCiAgICAgaWYgKGxpbmVHcmlkQm94KCkpCiAgICAgICAgIGxpbmVHcmlkQm94KCkt
PmRlc3Ryb3kocmVuZGVyQXJlbmEoKSk7CiAKLSNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0g
ICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpyZW1vdmVJbmZvKHRoaXMpOwotI2VuZGlmCi0K
ICAgICBpZiAoVU5MSUtFTFkoZ0RlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0ICE9IDApKQogICAg
ICAgICBnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQtPnJlbW92ZSh0aGlzKTsKIApAQCAtMTM5
NCwxMSArMTM5MCw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dCgpCiB9CiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCi1FeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2Nr
OjpleGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAotewotICAgIHJldHVybiBzdHlsZSgp
LT5yZXNvbHZlZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0Vu
YWJsZWRGb3IodGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAw
OwotfQotCiB2b2lkIFJlbmRlckJsb2NrOjp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9B
ZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqIHNoYXBlSW5zaWRlLCBj
b25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiBvbGRTaGFwZUluc2lkZSkKIHsKICAgICAvLyBGSVhN
RTogQSBmdXR1cmUgb3B0aW1pemF0aW9uIHdvdWxkIGRvIGEgZGVlcCBjb21wYXJpc29uIGZvciBl
cXVhbGl0eS4KQEAgLTE0MDYsMTAgKzEzOTcsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRl
RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb24K
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHNoYXBlSW5zaWRlKSB7Ci0gICAgICAgIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyogZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvOjplbnN1cmVJbmZvKHRoaXMpOworICAgICAgICBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IGVuc3VyZUV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbygpOwogICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmRpcnR5
U2hhcGVTaXplKCk7CiAgICAgfSBlbHNlCi0gICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
bzo6cmVtb3ZlSW5mbyh0aGlzKTsKKyAgICAgICAgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KG51bGxwdHIpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKaW5kZXggNDhjMjFmMy4uMjAwMzQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4K
IAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyNpbmNsdWRlICJFeGNsdXNpb25TaGFwZUlu
c2lkZUluZm8uaCIKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZVZhbHVlLmgiCiAjZW5kaWYKIApA
QCAtNTQsNyArNTUsNiBAQCBjbGFzcyBMaW5lSW5mbzsKIGNsYXNzIFJlbmRlclJ1YnlSdW47CiAj
aWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogY2xhc3MgQmFzaWNTaGFwZTsKLWNsYXNzIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbzsKICNlbmRpZgogY2xhc3MgVGV4dExheW91dDsKIGNsYXNzIFdv
cmRNZWFzdXJlbWVudDsKQEAgLTQ0Niw3ICs0NDYsMjIgQEAgcHVibGljOgogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8qIGVuc3VyZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpCisgICAgeworICAgICAgICBp
ZiAoIW1fcmFyZURhdGEgfHwgIW1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvKQorICAgICAg
ICAgICAgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
bzo6Y3JlYXRlSW5mbyh0aGlzKSk7CisgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLT5tX3NoYXBl
SW5zaWRlSW5mby5nZXQoKTsKKyAgICB9CisgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
cmFyZURhdGEgJiYgbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUluZm8gJiYgRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvOjppc0VuYWJsZWRGb3IodGhpcykgPyBtX3JhcmVEYXRhLT5tX3NoYXBlSW5z
aWRlSW5mby5nZXQoKSA6IDA7CisgICAgfQorICAgIHZvaWQgc2V0RXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmICghbV9yYXJlRGF0YSkKKyAgICAgICAgICAgIG1fcmFyZURhdGEgPSBhZG9w
dFB0cihuZXcgUmVuZGVyQmxvY2tSYXJlRGF0YSh0aGlzKSk7CisgICAgICAgIG1fcmFyZURhdGEt
Pm1fc2hhcGVJbnNpZGVJbmZvID0gdmFsdWU7CisgICAgfQogICAgIEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbyogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3Q7CiAgICAgYm9v
bCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkgY29uc3QgeyByZXR1cm4g
IWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCkBAIC0xMjM1LDYgKzEyNTAs
OSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG1fbGluZUdyaWRCb3g7CiAK
ICAgICAgICAgUm9vdElubGluZUJveCogbV9saW5lQnJlYWtUb0F2b2lkV2lkb3c7CisjaWYgRU5B
QkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvPiBtX3NoYXBlSW5zaWRlSW5mbzsKKyNlbmRpZgogICAgICAgICBib29sIG1fc2hvdWxkQnJl
YWtBdExpbmVUb0F2b2lkV2lkb3cgOiAxOwogICAgICAgICBib29sIG1fZGlzY2FyZE1hcmdpbkJl
Zm9yZSA6IDE7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJkTWFyZ2luQWZ0ZXIgOiAxOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRl
eCAyMTIwODk5Li5hMWUyOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMTI4NCw4ICsxMjg0LDEwIEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBjb25zdHJ1Y3RCaWRpUnVuc0ZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJs
b2NrLCBJbmxpbmVCaWRpCiAgICAgQVNTRVJUKHNlZ21lbnRSYW5nZXMuc2l6ZSgpKTsKIAogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2VnbWVudFJhbmdlcy5zaXplKCk7IGkrKykgewotICAg
ICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50U3RhcnQgPSBzZWdtZW50UmFuZ2VzW2ldLnN0YXJ0
OwotICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50RW5kID0gc2VnbWVudFJhbmdlc1tpXS5l
bmQ7CisgICAgICAgIExpbmVTZWdtZW50SXRlcmF0b3IgaXRlcmF0b3IgPSBzZWdtZW50UmFuZ2Vz
W2ldLnN0YXJ0OworICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50U3RhcnQoaXRlcmF0b3Iu
cm9vdCwgaXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRvci5vZmZzZXQpOworICAgICAgICBpdGVyYXRv
ciA9IHNlZ21lbnRSYW5nZXNbaV0uZW5kOworICAgICAgICBJbmxpbmVJdGVyYXRvciBzZWdtZW50
RW5kKGl0ZXJhdG9yLnJvb3QsIGl0ZXJhdG9yLm9iamVjdCwgaXRlcmF0b3Iub2Zmc2V0KTsKICAg
ICAgICAgaWYgKGkpIHsKICAgICAgICAgICAgIEFTU0VSVChzZWdtZW50U3RhcnQubV9vYmopOwog
ICAgICAgICAgICAgQmlkaVJ1biogc2VnbWVudE1hcmtlciA9IGNyZWF0ZVJ1bihzZWdtZW50U3Rh
cnQubV9wb3MsIHNlZ21lbnRTdGFydC5tX3Bvcywgc2VnbWVudFN0YXJ0Lm1fb2JqLCB0b3BSZXNv
bHZlcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192593</attachid>
            <date>2013-03-11 16:47:28 -0700</date>
            <delta_ts>2013-03-12 16:29:46 -0700</delta_ts>
            <desc>Making RenderBlockRareData public</desc>
            <filename>bug-110995-20130311164328.patch</filename>
            <type>text/plain</type>
            <size>11754</size>
            <attacher name="Bear Travis">betravis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk0ZmMwZWVlYjdiZTQx
ZjQ4OTdmZmIzNDY3NDgwY2I3MTg1MjMxZC4uZGFmZmVjYmU2NDI2N2M3MGUzYWFlOTk2MDVhYjAy
NzU1OTM3NTk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTExICBCZWFy
IFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KKworICAgICAgICBbY3NzIGV4Y2x1c2lvbnNd
IE1vdmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIGludG8gUmVuZGVyQmxvY2tSYXJlRGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgSnVsaWVuIENoYWZmcmFpeC4KKworICAgICAgICBUaGlzIHBh
dGNoIG1vdmVzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBpbnRvIHRoZSBSZW5kZXJCbG9ja1Jh
cmVEYXRhIHN0cnVjdCwKKyAgICAgICAgd2hpY2ggZW5hYmxlcyB1cyB0byBtb3ZlIGF3YXkgZnJv
bSB0aGUgZ2xvYmFsIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyBtYXAuCisgICAgICAgIFNvbWUg
YWRkaXRpb25hbCByZWZhY3RvcmluZyB3YXMgZG9uZSB0byByZW1vdmUgRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvJ3MKKyAgICAgICAgZGVwZW5kZW5jeSBvbiBJbmxpbmVJdGVyYXRvciwgd2hpY2gg
ZGVwZW5kZWQgb24gUmVuZGVyQmxvY2suIFRoaXMgd29yayByZXF1aXJlZAorICAgICAgICBhZGRp
bmcgYSBuZXcgTGluZVNlZ21lbnRJdGVyYXRvciBzdHJ1Y3QuCisKKyAgICAgICAgUmVmYWN0b3Jp
bmcsIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUlu
c2lkZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMaW5l
U2VnbWVudFJhbmdlOjpMaW5lU2VnbWVudFJhbmdlKTogTW92aW5nIHRoZSBJbmxpbmVJdGVyYXRv
cgorICAgICAgICBjb25zdHJ1Y3RvciB0byB0aGUgLmNwcCBmaWxlLCBhcyBJbmxpbmVJdGVyYXRv
ciBpcyBub3cgZm9yd2FyZCBkZWNsYXJlZCBpbgorICAgICAgICB0aGUgLmggZmlsZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKTogTW92
aW5nIGlzRW5hYmxlZEZvciB0bworICAgICAgICB0aGUgLmNwcCBmaWxlLCBhcyBSZW5kZXJCbG9j
ayBpcyBub3cgZm9yd2FyZCBkZWNsYXJlZCBpbiB0aGUgLmggZmlsZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKExpbmVTZWdtZW50SXRlcmF0b3IpOiBBIHNpbXBsZSBzdHJ1Y3QgZm9yIGNvbnRhaW5p
bmcgc2VnbWVudCBwb3NpdGlvbnMgZm9yCisgICAgICAgIGxheW91dC4KKyAgICAgICAgKFdlYkNv
cmU6OkxpbmVTZWdtZW50SXRlcmF0b3I6OkxpbmVTZWdtZW50SXRlcmF0b3IpOiBDb25zdHJ1Y3Rv
ci4KKyAgICAgICAgKExpbmVTZWdtZW50UmFuZ2UpOiBUcmFuc2l0aW9uaW5nIHRvIHN0b3JlIExp
bmVTZWdtZW50SXRlcmF0b3IuCisgICAgICAgIChXZWJDb3JlOjpMaW5lU2VnbWVudFJhbmdlOjpM
aW5lU2VnbWVudFJhbmdlKTogRGl0dG8uCisgICAgICAgIChFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6d2lsbEJlRGVzdHJveWVkKTogRGVzdHJveWluZyBhIGJsb2NrIHdp
bGwgbm93IGRlc3Ryb3kKKyAgICAgICAgaXRzIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbywgc28g
dGhlcmUgaXMgbm8gbmVlZCB0byByZW1vdmUgaXQgZnJvbSB0aGUgbWFwLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6dXBkYXRlRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZSk6IFVzZQorICAgICAgICB0aGUgUmVuZGVyQmxv
Y2tSYXJlRGF0YSBzdHJ1Y3QgcmF0aGVyIHRoYW4gdGhlIGdsb2JhbCBtYXAuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjplbnN1cmVFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOiBFbnN1
cmUgYW4gaW5mbyBzdHJ1Y3QKKyAgICAgICAgaXMgcHJlc2VudCBpZiB0aGUgc2hhcGUtaW5zaWRl
IHN0eWxlIGlzIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpleGNsdXNpb25T
aGFwZUluc2lkZUluZm8pOiBMb29rIHVwIHRoZSBpbmZvIHN0cnVjdCBmb3IKKyAgICAgICAgdGhl
IGN1cnJlbnQgYmxvY2suCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2V0RXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKTogVXBkYXRlIHRoZSBpbmZvIHN0cnVjdAorICAgICAgICBmb3Ig
dGhlIGN1cnJlbnQgYmxvY2suCisgICAgICAgIChSZW5kZXJCbG9ja1JhcmVEYXRhKTogQWRkIHRo
ZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8gbWVtYmVyLiBNb3ZlIHRoZSBzdHJ1Y3QKKyAgICAg
ICAgZGVjbGFyYXRpb24gdG8gYmUgcHVibGljLCBzbyB0aGF0IHRoZSBPd25QdHIgcmVmZXJlbmNl
IGNhbiBwcm9wZXJseSBkZWxldGUgaXQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RCaWRpUnVuc0Zvckxp
bmUpOiBDb25zdHJ1Y3QgdGhlIGFwcHJvcHJpYXRlIG9mZnNldHMgZHVyaW5nCisgICAgICAgIGxh
eW91dCBiYXNlZCBvbiB0aGUgc3RvcmVkIExpbmVTZWdtZW50SXRlcmF0b3JzLgorCiAyMDEzLTAz
LTExICBBbG9rIFByaXlhZGFyc2hpICA8YWxva3BAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmVydCAiTWFyayBHcmFwaGljc0xheWVycyBhcyBvcGFxdWUgd2hlbiBwb3NzaWJsZSIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5j
cHAKaW5kZXggMWQ0ZTM4M2NmYjZhMmJhMzgwY2U2YWFiOTFlMmRiYWI2OTQ1MDI0Yy4uOWY1M2Yx
MmM2YjYyMjVjYzViMTIzZmZjZjJiZTc2M2RhNTNhYWI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5jcHAKQEAgLTMyLDkg
KzMyLDIzIEBACiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiAKKyNpbmNsdWRlICJJbmxp
bmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKKworTGluZVNlZ21lbnRSYW5nZTo6TGluZVNlZ21lbnRSYW5nZShjb25zdCBJbmxpbmVJ
dGVyYXRvciYgc3RhcnQsIGNvbnN0IElubGluZUl0ZXJhdG9yJiBlbmQpCisgICAgOiBzdGFydChz
dGFydC5yb290KCksIHN0YXJ0Lm9iamVjdCgpLCBzdGFydC5vZmZzZXQoKSkKKyAgICAsIGVuZChl
bmQucm9vdCgpLCBlbmQub2JqZWN0KCksIGVuZC5vZmZzZXQoKSkKKyAgICB7CisgICAgfQorCiti
b29sIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6aXNFbmFibGVkRm9yKGNvbnN0IFJlbmRlckJs
b2NrKiByZW5kZXJlcikKK3sKKyAgICBFeGNsdXNpb25TaGFwZVZhbHVlKiBzaGFwZVZhbHVlID0g
cmVuZGVyZXItPnN0eWxlKCktPnJlc29sdmVkU2hhcGVJbnNpZGUoKTsKKyAgICByZXR1cm4gKHNo
YXBlVmFsdWUgJiYgc2hhcGVWYWx1ZS0+dHlwZSgpID09IEV4Y2x1c2lvblNoYXBlVmFsdWU6OlNI
QVBFKSA/IHNoYXBlVmFsdWUtPnNoYXBlKCkgOiAwOworfQorCiBib29sIEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbzo6YWRqdXN0TG9naWNhbExpbmVUb3AoZmxvYXQgbWluU2VnbWVudFdpZHRoKQog
ewogICAgIGNvbnN0IEV4Y2x1c2lvblNoYXBlKiBzaGFwZSA9IGNvbXB1dGVkU2hhcGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8u
aAppbmRleCA2MGZlYzRjODVmMmNlYjMyYmE1MzViZDM0ZGMxOTJhY2Y4ZGQ0ZDZiLi43MDAwOWE2
NmQwM2Q5NmFiYzJhNTkyOWQ3ODAxNWYxZTQ3NjBlMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCkBAIC0zMywzNSArMzMs
NDAgQEAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiAKICNpbmNsdWRlICJFeGNsdXNpb25T
aGFwZUluZm8uaCIKLSNpbmNsdWRlICJJbmxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2NsYXNzIElubGluZUl0ZXJhdG9yOwogY2xhc3MgUmVuZGVyQmxvY2s7CitjbGFzcyBS
ZW5kZXJPYmplY3Q7CiAKLXN0cnVjdCBMaW5lU2VnbWVudFJhbmdlIHsKLSAgICBJbmxpbmVJdGVy
YXRvciBzdGFydDsKLSAgICBJbmxpbmVJdGVyYXRvciBlbmQ7Ci0gICAgTGluZVNlZ21lbnRSYW5n
ZShJbmxpbmVJdGVyYXRvciBzdGFydCwgSW5saW5lSXRlcmF0b3IgZW5kKQotICAgICAgICA6IHN0
YXJ0KHN0YXJ0KQotICAgICAgICAsIGVuZChlbmQpCitzdHJ1Y3QgTGluZVNlZ21lbnRJdGVyYXRv
ciB7CisgICAgUmVuZGVyT2JqZWN0KiByb290OworICAgIFJlbmRlck9iamVjdCogb2JqZWN0Owor
ICAgIHVuc2lnbmVkIG9mZnNldDsKKyAgICBMaW5lU2VnbWVudEl0ZXJhdG9yKFJlbmRlck9iamVj
dCogcm9vdCwgUmVuZGVyT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIG9mZnNldCkKKyAgICAgICAg
OiByb290KHJvb3QpCisgICAgICAgICwgb2JqZWN0KG9iamVjdCkKKyAgICAgICAgLCBvZmZzZXQo
b2Zmc2V0KQogICAgIHsKICAgICB9CiB9OwotdHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5n
ZT4gU2VnbWVudFJhbmdlTGlzdDsKIAorc3RydWN0IExpbmVTZWdtZW50UmFuZ2UgeworICAgIExp
bmVTZWdtZW50SXRlcmF0b3Igc3RhcnQ7CisgICAgTGluZVNlZ21lbnRJdGVyYXRvciBlbmQ7Cisg
ICAgTGluZVNlZ21lbnRSYW5nZShjb25zdCBJbmxpbmVJdGVyYXRvciYgc3RhcnQsIGNvbnN0IElu
bGluZUl0ZXJhdG9yJiBlbmQpOworfTsKKwordHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnRSYW5n
ZT4gU2VnbWVudFJhbmdlTGlzdDsKIAotY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDog
cHVibGljIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNv
bHZlZFNoYXBlSW5zaWRlLCAmRXhjbHVzaW9uU2hhcGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxzPiwg
cHVibGljIE1hcHBlZEluZm88UmVuZGVyQmxvY2ssIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbz4g
eworY2xhc3MgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvIDogcHVibGljIEV4Y2x1c2lvblNoYXBl
SW5mbzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlLCAmRXhj
bHVzaW9uU2hhcGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxzPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiBjcmVhdGVJbmZvKGNvbnN0IFJl
bmRlckJsb2NrKiByZW5kZXJlcikgeyByZXR1cm4gYWRvcHRQdHIobmV3IEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbyhyZW5kZXJlcikpOyB9CiAKLSAgICBzdGF0aWMgYm9vbCBpc0VuYWJsZWRGb3Io
Y29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQotICAgIHsKLSAgICAgICAgRXhjbHVzaW9uU2hh
cGVWYWx1ZSogc2hhcGVWYWx1ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLT5yZXNvbHZlZFNoYXBlSW5z
aWRlKCk7Ci0gICAgICAgIHJldHVybiAoc2hhcGVWYWx1ZSAmJiBzaGFwZVZhbHVlLT50eXBlKCkg
PT0gRXhjbHVzaW9uU2hhcGVWYWx1ZTo6U0hBUEUpID8gc2hhcGVWYWx1ZS0+c2hhcGUoKSA6IDA7
Ci0gICAgfQorICAgIHN0YXRpYyBib29sIGlzRW5hYmxlZEZvcihjb25zdCBSZW5kZXJCbG9jayog
cmVuZGVyZXIpOwogCiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5
b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpIE9WRVJSSURFCiAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMDY3YWVjNzdjMGYw
NzRmY2IyOGFiZDg2MTk4YTgzNzM2Y2U0MjM4Yy4uMzczYjkxZTRlMzY3NzRjYmI0MjgzMTYxMDA3
NDU1YTFhZGEyMjI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC0yOTcsMTAgKzI5Nyw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OndpbGxCZURlc3Ryb3llZCgp
CiAgICAgaWYgKGxpbmVHcmlkQm94KCkpCiAgICAgICAgIGxpbmVHcmlkQm94KCktPmRlc3Ryb3ko
cmVuZGVyQXJlbmEoKSk7CiAKLSNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvOjpyZW1vdmVJbmZvKHRoaXMpOwotI2VuZGlmCi0KICAgICBpZiAo
VU5MSUtFTFkoZ0RlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0ICE9IDApKQogICAgICAgICBnRGVs
YXllZFVwZGF0ZVNjcm9sbEluZm9TZXQtPnJlbW92ZSh0aGlzKTsKIApAQCAtMTM5NSwxMSArMTM5
MSw2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dCgpCiB9CiAKICNpZiBFTkFCTEUoQ1NTX0VY
Q0xVU0lPTlMpCi1FeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIFJlbmRlckJsb2NrOjpleGNsdXNp
b25TaGFwZUluc2lkZUluZm8oKSBjb25zdAotewotICAgIHJldHVybiBzdHlsZSgpLT5yZXNvbHZl
ZFNoYXBlSW5zaWRlKCkgJiYgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjppc0VuYWJsZWRGb3Io
dGhpcykgPyBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmluZm8odGhpcykgOiAwOwotfQotCiB2
b2lkIFJlbmRlckJsb2NrOjp1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9BZnRlclN0eWxl
Q2hhbmdlKGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqIHNoYXBlSW5zaWRlLCBjb25zdCBFeGNs
dXNpb25TaGFwZVZhbHVlKiBvbGRTaGFwZUluc2lkZSkKIHsKICAgICAvLyBGSVhNRTogQSBmdXR1
cmUgb3B0aW1pemF0aW9uIHdvdWxkIGRvIGEgZGVlcCBjb21wYXJpc29uIGZvciBlcXVhbGl0eS4K
QEAgLTE0MDcsMTAgKzEzOTgsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRlRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb24KICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKHNoYXBlSW5zaWRlKSB7Ci0gICAgICAgIEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbyogZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvOjplbnN1cmVJbmZvKHRoaXMpOworICAgICAgICBFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8qIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IGVuc3VyZUV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbygpOwogICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmRpcnR5U2hhcGVTaXpl
KCk7CiAgICAgfSBlbHNlCi0gICAgICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6cmVtb3Zl
SW5mbyh0aGlzKTsKKyAgICAgICAgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKG51bGxwdHIp
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXgg
NGMyZjcxZThjMjNlOTViNzNiMzk5Y2RjZWY0NTljNGU0MTc4ZDBiYy4uNzRiZDUzNzM0MDg1MmUw
ZGY5ZDVlY2E5YTk3ZWFlMTI4ODhjNDIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4K
IAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyNpbmNsdWRlICJFeGNsdXNpb25TaGFwZUlu
c2lkZUluZm8uaCIKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZVZhbHVlLmgiCiAjZW5kaWYKIApA
QCAtNTQsNyArNTUsNiBAQCBjbGFzcyBMaW5lSW5mbzsKIGNsYXNzIFJlbmRlclJ1YnlSdW47CiAj
aWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogY2xhc3MgQmFzaWNTaGFwZTsKLWNsYXNzIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbzsKICNlbmRpZgogY2xhc3MgVGV4dExheW91dDsKIGNsYXNzIFdv
cmRNZWFzdXJlbWVudDsKQEAgLTQ0Niw3ICs0NDYsMjIgQEAgcHVibGljOgogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdDsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lk
ZUluZm8qIGVuc3VyZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpCisgICAgeworICAgICAgICBp
ZiAoIW1fcmFyZURhdGEgfHwgIW1fcmFyZURhdGEtPm1fc2hhcGVJbnNpZGVJbmZvKQorICAgICAg
ICAgICAgc2V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
bzo6Y3JlYXRlSW5mbyh0aGlzKSk7CisgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLT5tX3NoYXBl
SW5zaWRlSW5mby5nZXQoKTsKKyAgICB9CisgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
cmFyZURhdGEgJiYgbV9yYXJlRGF0YS0+bV9zaGFwZUluc2lkZUluZm8gJiYgRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvOjppc0VuYWJsZWRGb3IodGhpcykgPyBtX3JhcmVEYXRhLT5tX3NoYXBlSW5z
aWRlSW5mby5nZXQoKSA6IDA7CisgICAgfQorICAgIHZvaWQgc2V0RXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvKFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvPiB2YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmICghbV9yYXJlRGF0YSkKKyAgICAgICAgICAgIG1fcmFyZURhdGEgPSBhZG9w
dFB0cihuZXcgUmVuZGVyQmxvY2tSYXJlRGF0YSh0aGlzKSk7CisgICAgICAgIG1fcmFyZURhdGEt
Pm1fc2hhcGVJbnNpZGVJbmZvID0gdmFsdWU7CisgICAgfQogICAgIEV4Y2x1c2lvblNoYXBlSW5z
aWRlSW5mbyogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgY29uc3Q7CiAgICAgYm9v
bCBhbGxvd3NFeGNsdXNpb25TaGFwZUluc2lkZUluZm9TaGFyaW5nKCkgY29uc3QgeyByZXR1cm4g
IWlzSW5saW5lKCkgJiYgIWlzRmxvYXRpbmcoKTsgfQogI2VuZGlmCkBAIC0xMjE0LDEwICsxMjI5
LDYgQEAgcHVibGljOgogICAgICAgICBmcmllbmQgdm9pZCBSZW5kZXJCbG9jazo6Y3JlYXRlRmxv
YXRpbmdPYmplY3RzKCk7CiAgICAgfTsKIAotcHJvdGVjdGVkOgotCi0gICAgT3duUHRyPEZsb2F0
aW5nT2JqZWN0cz4gbV9mbG9hdGluZ09iamVjdHM7Ci0KICAgICAvLyBBbGxvY2F0ZWQgb25seSB3
aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzCiAgICAgc3Ry
dWN0IFJlbmRlckJsb2NrUmFyZURhdGEgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0xMjU4LDEx
ICsxMjY5LDE3IEBAIHByb3RlY3RlZDoKICAgICAgICAgUm9vdElubGluZUJveCogbV9saW5lR3Jp
ZEJveDsKIAogICAgICAgICBSb290SW5saW5lQm94KiBtX2xpbmVCcmVha1RvQXZvaWRXaWRvdzsK
KyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIE93blB0cjxFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8+IG1fc2hhcGVJbnNpZGVJbmZvOworI2VuZGlmCiAgICAgICAgIGJvb2wgbV9z
aG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRvdyA6IDE7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJk
TWFyZ2luQmVmb3JlIDogMTsKICAgICAgICAgYm9vbCBtX2Rpc2NhcmRNYXJnaW5BZnRlciA6IDE7
CiAgICAgIH07CiAKK3Byb3RlY3RlZDoKKworICAgIE93blB0cjxGbG9hdGluZ09iamVjdHM+IG1f
ZmxvYXRpbmdPYmplY3RzOwogICAgIE93blB0cjxSZW5kZXJCbG9ja1JhcmVEYXRhPiBtX3JhcmVE
YXRhOwogCiAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0IG1fY2hpbGRyZW47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCmluZGV4IDI0
MmNjNDdlMDYzODk0MTNlMzVlYTgxYmYyOTI4MWRjZDJjZjg3ZmUuLjkwMzI0NmZhYzk3NzE1OGYx
OTA3N2RjY2NkZmMxMWVhNzRmNzY2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0xMzAwLDggKzEzMDAsMTAgQEAgc3Rh
dGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yTGluZShjb25zdCBSZW5kZXJCbG9j
ayogYmxvY2ssIElubGluZUJpZGkKICAgICBBU1NFUlQoc2VnbWVudFJhbmdlcy5zaXplKCkpOwog
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzZWdtZW50UmFuZ2VzLnNpemUoKTsgaSsrKSB7
Ci0gICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRTdGFydCA9IHNlZ21lbnRSYW5nZXNbaV0u
c3RhcnQ7Ci0gICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRFbmQgPSBzZWdtZW50UmFuZ2Vz
W2ldLmVuZDsKKyAgICAgICAgTGluZVNlZ21lbnRJdGVyYXRvciBpdGVyYXRvciA9IHNlZ21lbnRS
YW5nZXNbaV0uc3RhcnQ7CisgICAgICAgIElubGluZUl0ZXJhdG9yIHNlZ21lbnRTdGFydChpdGVy
YXRvci5yb290LCBpdGVyYXRvci5vYmplY3QsIGl0ZXJhdG9yLm9mZnNldCk7CisgICAgICAgIGl0
ZXJhdG9yID0gc2VnbWVudFJhbmdlc1tpXS5lbmQ7CisgICAgICAgIElubGluZUl0ZXJhdG9yIHNl
Z21lbnRFbmQoaXRlcmF0b3Iucm9vdCwgaXRlcmF0b3Iub2JqZWN0LCBpdGVyYXRvci5vZmZzZXQp
OwogICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgQVNTRVJUKHNlZ21lbnRTdGFydC5tX29i
aik7CiAgICAgICAgICAgICBCaWRpUnVuKiBzZWdtZW50TWFya2VyID0gY3JlYXRlUnVuKHNlZ21l
bnRTdGFydC5tX3Bvcywgc2VnbWVudFN0YXJ0Lm1fcG9zLCBzZWdtZW50U3RhcnQubV9vYmosIHRv
cFJlc29sdmVyKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>