<?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>127439</bug_id>
          
          <creation_ts>2014-01-22 11:52:06 -0800</creation_ts>
          <short_desc>AX: Disable accessibility after every test run</short_desc>
          <delta_ts>2014-02-06 09:29:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mario</cc>
    
    <cc>mpakulavelrutka</cc>
    
    <cc>ossy</cc>
    
    <cc>roger_fong</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970810</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-22 11:52:06 -0800</bug_when>
    <thetext>We shouldn&apos;t have the accessibility infrastructure running during every test because there are some subtle differences that are exposing problems that don&apos;t affect customers.

While we resolve those subtle differences, we should reset accessibility for each test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970811</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-22 11:52:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/15883227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970909</commentid>
    <comment_count>2</comment_count>
      <attachid>221915</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-22 15:33:49 -0800</bug_when>
    <thetext>Created attachment 221915
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970945</commentid>
    <comment_count>3</comment_count>
      <attachid>221915</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-22 17:25:13 -0800</bug_when>
    <thetext>Comment on attachment 221915
patch

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

&gt; Source/WebCore/dom/Document.cpp:-2179
&gt; -    if (!AXObjectCache::accessibilityEnabled())

If there was an axObjectCache we may still need to return it after we disabled accessibility in order to finish cleaning up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971037</commentid>
    <comment_count>4</comment_count>
      <attachid>221915</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-22 22:55:30 -0800</bug_when>
    <thetext>Comment on attachment 221915
patch

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

r=me as is, however please consider using Internals instead.

&gt; Source/WebKit/mac/WebView/WebFrame.mm:2171
&gt; +- (void)accessibilitySetEnabled:(BOOL)enabled

AXObjectCache is a WebCore class, so it&apos;s a better to expose the accessors via Internals, not via private APIs - unless it has uses besides testing.

That way, you only need to do it once, not for each port, and there is no risk of someone starting to use the API and forcing us to support it in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971043</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-22 23:29:01 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 221915 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221915&amp;action=review
&gt; 
&gt; r=me as is, however please consider using Internals instead.
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebFrame.mm:2171
&gt; &gt; +- (void)accessibilitySetEnabled:(BOOL)enabled
&gt; 
&gt; AXObjectCache is a WebCore class, so it&apos;s a better to expose the accessors via Internals, not via private APIs - unless it has uses besides testing.
&gt; 
&gt; That way, you only need to do it once, not for each port, and there is no risk of someone starting to use the API and forcing us to support it in the future.

Ok, i&apos;ll look into that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971708</commentid>
    <comment_count>6</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-24 12:48:57 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 221915 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221915&amp;action=review
&gt; 
&gt; r=me as is, however please consider using Internals instead.
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebFrame.mm:2171
&gt; &gt; +- (void)accessibilitySetEnabled:(BOOL)enabled
&gt; 
&gt; AXObjectCache is a WebCore class, so it&apos;s a better to expose the accessors via Internals, not via private APIs - unless it has uses besides testing.
&gt; 
&gt; That way, you only need to do it once, not for each port, and there is no risk of someone starting to use the API and forcing us to support it in the future.

Internals looks like it&apos;s only available through the layout tests (with JS) and not from the DRT app itself. Is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971864</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-24 19:18:43 -0800</bug_when>
    <thetext>I think that there is some code that&apos;s used from C++, please see code that calls WebCoreTestSupport functions, such as WebCoreTestSupport::resetInternalsObject().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972154</commentid>
    <comment_count>8</comment_count>
      <attachid>222259</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-25 23:06:29 -0800</bug_when>
    <thetext>Created attachment 222259
patch that uses WebCoreTestSupport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972155</commentid>
    <comment_count>9</comment_count>
      <attachid>222260</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-25 23:12:48 -0800</bug_when>
    <thetext>Created attachment 222260
patch that uses WebCoreTestSupport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972157</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-25 23:15:43 -0800</bug_when>
    <thetext>Attachment 222260 did not pass style-queue:


ERROR: Source/WebCore/testing/Internals.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972158</commentid>
    <comment_count>11</comment_count>
      <attachid>222261</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-25 23:17:26 -0800</bug_when>
    <thetext>Created attachment 222261
patch that uses WebCoreTestSupport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972163</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-26 00:09:24 -0800</bug_when>
    <thetext>Windows build fails:

     1&gt;WebCoreTestSupport.lib(Internals.obj) : error LNK2001: unresolved external symbol &quot;private: static bool WebCore::AXObjectCache::gAccessibilityEnabled&quot; (?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972164</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 00:13:07 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Windows build fails:
&gt; 
&gt;      1&gt;WebCoreTestSupport.lib(Internals.obj) : error LNK2001: unresolved external symbol &quot;private: static bool WebCore::AXObjectCache::gAccessibilityEnabled&quot; (?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA)

This is already in WebCore.exp.in

__ZN7WebCore13AXObjectCache21gAccessibilityEnabledE


Is there something different that needs to happen for Win?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972219</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-26 10:44:03 -0800</bug_when>
    <thetext>I think that it should be added to Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in for Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972254</commentid>
    <comment_count>15</comment_count>
      <attachid>222286</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 14:51:28 -0800</bug_when>
    <thetext>Created attachment 222286
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972261</commentid>
    <comment_count>16</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 15:36:22 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972263</commentid>
    <comment_count>17</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 15:38:12 -0800</bug_when>
    <thetext>*** Bug 127411 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972266</commentid>
    <comment_count>18</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 15:38:37 -0800</bug_when>
    <thetext>*** Bug 127429 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972308</commentid>
    <comment_count>19</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-26 19:54:41 -0800</bug_when>
    <thetext>EFL layout test has broken since r162816. http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/12643</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972339</commentid>
    <comment_count>20</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 22:52:42 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; EFL layout test has broken since r162816. http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/12643

16:26:47.487 23905 WebProcess crash, pid = None, error_line = #CRASHED - WebProcess
16:26:47.488 23905 killed pid 24304
16:26:47.512 23905 worker/6 compositing/absolute-position-changed-in-composited-layer.html crashed, (stderr lines):
16:26:47.512 23905   1   0x7f31384cdc08
16:26:47.512 23905   2   0x7f313885d0b0
16:26:47.512 23905   3   0x7f3136582dbc WebCore::AXObjectCache::get(WebCore::Widget*)
16:26:47.513 23905   4   0x7f313658629c WebCore::AXObjectCache::getOrCreate(WebCore::Widget*)
16:26:47.513 23905   5   0x7f31365985ba WebCore::AccessibilityObject::parentObjectUnignored() const
16:26:47.513 23905   6   0x7f31375babe7 WebCore::AXObjectCache::attachWrapper(WebCore::AccessibilityObject*)
16:26:47.513 23905   7   0x7f313658757d WebCore::AXObjectCache::getOrCreate(WebCore::RenderObject*)
16:26:47.513 23905   8   0x7f3136587b80 WebCore::AXObjectCache::frameLoadingEventNotification(WebCore::Frame*, WebCore::AXObjectCache::AXLoadingEvent)
16:26:47.513 23905   9   0x7f3136a30260 WebCore::FrameLoader::continueLoadAfterWillSubmitForm()
16:26:47.513 23905   10  0x7f3136a36c40 WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)
16:26:47.513 23905   11  0x7f3136a36c84
16:26:47.513 23905   12  0x7f3136a4cba1 WebCore::PolicyCallback::call(bool)
16:26:47.513 23905   13  0x7f3136a5384f WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction)
16:26:47.513 23905   14  0x7f3138f03aba WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::function&lt;void (WebCore::PolicyAction)&gt;)
16:26:47.513 23905   15  0x7f3136a50bea WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, std::function&lt;void (WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool)&gt;)
16:26:47.513 23905   16  0x7f3136a37206 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;)
16:26:47.513 23905   17  0x7f3136a3759a WebCore::FrameLoader::load(WebCore::DocumentLoader*)
16:26:47.513 23905   18  0x7f3136a3c35b WebCore::FrameLoader::load(WebCore::FrameLoadRequest const&amp;)
16:26:47.513 23905   19  0x7f3138f282ac WebKit::WebPage::loadURLRequest(WebCore::ResourceRequest const&amp;, WebKit::SandboxExtension::Handle const&amp;, IPC::MessageDecoder&amp;)
16:26:47.513 23905   20  0x7f3138f28701 WebKit::WebPage::loadURL(WTF::String const&amp;, WebKit::SandboxExtension::Handle const&amp;, IPC::MessageDecoder&amp;)
16:26:47.513 23905   21  0x7f3138f9f811 void IPC::handleMessageVariadic&lt;Messages::WebPage::LoadURL, WebKit::WebPage, void (WebKit::WebPage::*)(WTF::String const&amp;, WebKit::SandboxExtension::Handle const&amp;, IPC::MessageDecoder&amp;)&gt;(IPC::MessageDecoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::String const&amp;, WebKit::SandboxExtension::Handle const&amp;, IPC::MessageDecoder&amp;))
16:26:47.513 23905   22  0x7f3138fa3d7b WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection*, IPC::MessageDecoder&amp;)
16:26:47.513 23905   23  0x7f3138dabc55 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection*, IPC::MessageDecoder&amp;)
16:26:47.513 23905   24  0x7f3138eaaa15 WebKit::WebProcess::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;)
16:26:47.513 23905   25  0x7f3138da545e IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::MessageDecoder, std::default_delete&lt;IPC::MessageDecoder&gt; &gt;)
16:26:47.514 23905   26  0x7f3138da55bf IPC::Connection::dispatchOneMessage()
16:26:47.514 23905   27  0x7f3138fa702f WTF::RunLoop::performWork()
1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972341</commentid>
    <comment_count>21</comment_count>
      <attachid>222304</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-26 23:08:45 -0800</bug_when>
    <thetext>Created attachment 222304
patch 

Speculative fix. 

My guess is that  this assert is being hit

AXID axID = m_widgetObjectMapping.get(widget);
    ASSERT(!HashTraits&lt;AXID&gt;::isDeletedValue(axID));

I&apos;m not sure why however right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972383</commentid>
    <comment_count>22</comment_count>
      <attachid>222304</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-27 04:34:27 -0800</bug_when>
    <thetext>Comment on attachment 222304
patch 

r=me, I can confirm it fixes the EFL crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972384</commentid>
    <comment_count>23</comment_count>
      <attachid>222304</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-27 04:35:49 -0800</bug_when>
    <thetext>Comment on attachment 222304
patch 

Clearing flags on attachment: 222304

Committed r162834: &lt;http://trac.webkit.org/changeset/162834&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972385</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-27 04:35:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972391</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-27 05:11:14 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; http://trac.webkit.org/changeset/162816

It broke the Apple Windows bot too: http://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/57518 , but unfortunately
the Windows bots don&apos;t provide any useful information about the problem.

( http://trac.webkit.org/changeset/162834 didn&apos;t fix the Windows bot,
only the GTK and EFL )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972435</commentid>
    <comment_count>26</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-01-27 09:23:16 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #16)
&gt; &gt; http://trac.webkit.org/changeset/162816
&gt; 
&gt; It broke the Apple Windows bot too: http://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/57518 , but unfortunately
&gt; the Windows bots don&apos;t provide any useful information about the problem.
&gt; 
&gt; ( http://trac.webkit.org/changeset/162834 didn&apos;t fix the Windows bot,
&gt; only the GTK and EFL )

Hopefully someone will be able to post the crash log!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977352</commentid>
    <comment_count>27</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2014-02-06 08:37:31 -0800</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/162834&gt; did not fixed all tests on EFL WK2, still there are around 15 tests crashing. There are two types of crashes:

#0  0x00007ffff052c95a in std::unique_ptr&lt;WebCore::AXComputedObjectAttributeCache, std::default_delete&lt;WebCore::AXComputedObjectAttributeCache&gt; &gt;::get (this=0xd0) at /usr/include/c++/4.7/bits/unique_ptr.h:223
#1  0x00007ffff055b056 in WebCore::AXObjectCache::computedObjectAttributeCache (this=0x0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.h:211
#2  0x00007ffff0559b22 in WebCore::AccessibilityObject::accessibilityIsIgnored (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2105
#3  0x00007ffff0559820 in WebCore::AccessibilityObject::notifyIfIgnoredValueChanged (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2018
#4  0x00007ffff052a3f4 in WebCore::AXObjectCache::recomputeIsIgnored (this=0x813b20, renderer=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:905
#5  0x00007ffff0fab3da in WebCore::RenderBlock::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:920
#6  0x00007ffff0fe2795 in WebCore::RenderBlockFlow::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlockFlow.cpp:1906
#7  0x00007ffff0fabce6 in WebCore::RenderBlock::collapseAnonymousBoxChild (parent=0xa1cba0, child=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1084
#8  0x00007ffff0fac171 in WebCore::RenderBlock::removeChild (this=0xa1cba0, oldChild=...) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1160

second:

#0  0x00007ffff0533d4c in WTF::HashTable&lt;WebCore::RenderObject*, WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WebCore::RenderObject*&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::PtrHash&lt;WebCore::RenderObject*&gt; &gt;, WebCore::RenderObject*&gt; (this=0x30, key=@0x7fffffffb268: 0x8504e0)
    at /home/michal/source/WebKit/Source/WTF/wtf/HashTable.h:588
#1  0x00007ffff0530a95 in WTF::HashTable&lt;WebCore::RenderObject*, WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WebCore::RenderObject*&gt; &gt;::lookup (this=0x30, key=@0x7fffffffb268: 0x8504e0) at /home/michal/source/WebKit/Source/WTF/wtf/HashTable.h:402
#2  0x00007ffff052d5eb in WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::get (this=0x30, 
    key=@0x7fffffffb268: 0x8504e0) at /home/michal/source/WebKit/Source/WTF/wtf/HashMap.h:322
#3  0x00007ffff05277d2 in WebCore::AXObjectCache::get (this=0x0, node=0x852110) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:222
#4  0x00007ffff0528545 in WebCore::AXObjectCache::getOrCreate (this=0x0, node=0x852110) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:361
#5  0x00007ffff0573457 in WebCore::AccessibilityScrollView::webAreaObject (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:195
#6  0x00007ffff0573322 in WebCore::AccessibilityScrollView::addChildren (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:179
#7  0x00007ffff0572edb in WebCore::AccessibilityScrollView::updateChildrenIfNecessary (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:113
#8  0x00007ffff0529eaa in WebCore::AXObjectCache::handleScrollbarUpdate (this=0x7b2270, view=0x84bc20) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:835

Some of those tests fail on EFL only, 10 fails on GTK too i.e.:
http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollbars%2Fscrollbar-drag-thumb-with-large-content.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977376</commentid>
    <comment_count>28</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:24:50 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; &lt;http://trac.webkit.org/changeset/162834&gt; did not fixed all tests on EFL WK2, still there are around 15 tests crashing. There are two types of crashes:
&gt; 
&gt; #0  0x00007ffff052c95a in std::unique_ptr&lt;WebCore::AXComputedObjectAttributeCache, std::default_delete&lt;WebCore::AXComputedObjectAttributeCache&gt; &gt;::get (this=0xd0) at /usr/include/c++/4.7/bits/unique_ptr.h:223
&gt; #1  0x00007ffff055b056 in WebCore::AXObjectCache::computedObjectAttributeCache (this=0x0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.h:211
&gt; #2  0x00007ffff0559b22 in WebCore::AccessibilityObject::accessibilityIsIgnored (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2105
&gt; #3  0x00007ffff0559820 in WebCore::AccessibilityObject::notifyIfIgnoredValueChanged (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2018
&gt; #4  0x00007ffff052a3f4 in WebCore::AXObjectCache::recomputeIsIgnored (this=0x813b20, renderer=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:905
&gt; #5  0x00007ffff0fab3da in WebCore::RenderBlock::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:920
&gt; #6  0x00007ffff0fe2795 in WebCore::RenderBlockFlow::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlockFlow.cpp:1906
&gt; #7  0x00007ffff0fabce6 in WebCore::RenderBlock::collapseAnonymousBoxChild (parent=0xa1cba0, child=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1084
&gt; #8  0x00007ffff0fac171 in WebCore::RenderBlock::removeChild (this=0xa1cba0, oldChild=...) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1160
&gt; 

Filed
https://bugs.webkit.org/show_bug.cgi?id=128310
for this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977383</commentid>
    <comment_count>29</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:29:38 -0800</bug_when>
    <thetext>
&gt; #0  0x00007ffff0533d4c in WTF::HashTable&lt;WebCore::RenderObject*, WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WebCore::RenderObject*&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::PtrHash&lt;WebCore::RenderObject*&gt; &gt;, WebCore::RenderObject*&gt; (this=0x30, key=@0x7fffffffb268: 0x8504e0)
&gt;     at /home/michal/source/WebKit/Source/WTF/wtf/HashTable.h:588
&gt; #1  0x00007ffff0530a95 in WTF::HashTable&lt;WebCore::RenderObject*, WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderObject*, unsigned int&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WebCore::RenderObject*&gt; &gt;::lookup (this=0x30, key=@0x7fffffffb268: 0x8504e0) at /home/michal/source/WebKit/Source/WTF/wtf/HashTable.h:402
&gt; #2  0x00007ffff052d5eb in WTF::HashMap&lt;WebCore::RenderObject*, unsigned int, WTF::PtrHash&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;WebCore::RenderObject*&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::get (this=0x30, 
&gt;     key=@0x7fffffffb268: 0x8504e0) at /home/michal/source/WebKit/Source/WTF/wtf/HashMap.h:322
&gt; #3  0x00007ffff05277d2 in WebCore::AXObjectCache::get (this=0x0, node=0x852110) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:222
&gt; #4  0x00007ffff0528545 in WebCore::AXObjectCache::getOrCreate (this=0x0, node=0x852110) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:361
&gt; #5  0x00007ffff0573457 in WebCore::AccessibilityScrollView::webAreaObject (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:195
&gt; #6  0x00007ffff0573322 in WebCore::AccessibilityScrollView::addChildren (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:179
&gt; #7  0x00007ffff0572edb in WebCore::AccessibilityScrollView::updateChildrenIfNecessary (this=0x7bc1d0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityScrollView.cpp:113
&gt; #8  0x00007ffff0529eaa in WebCore::AXObjectCache::handleScrollbarUpdate (this=0x7b2270, view=0x84bc20) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:835
&gt; 

By code inspection I would have to say this 2nd issue most be resolved in ToT.

We see that the call in 
   WebCore::AccessibilityScrollView::webAreaObject (this=0x7bc1d0) at 
results in accessing the null axobject cache

&gt; #4  0x00007ffff0528545 in WebCore::AXObjectCache::getOrCreate (this=0x0, node=0x852110) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:361


But, that&apos;s already protected against
    if (AXObjectCache* cache = axObjectCache())
        return cache-&gt;getOrCreate(doc);

the line numbers in the BT are not correct against ToT, so perhaps this was a recent fix</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221915</attachid>
            <date>2014-01-22 15:33:49 -0800</date>
            <delta_ts>2014-01-25 23:06:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15117</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjU2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAxLTIyICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYWNjZXNzaWJpbGl0eSBpcyBkaXNhYmxlZCwgd2Ug
bWF5IHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBleGlzdGluZyAKKyAgICAgICAgQVhPYmplY3RD
YWNoZSwgc28gdGhhdCBvYmplY3RzIGNhbiBiZSBjbGVhbmVkIHVwIGFwcHJvcHJpYXRlbHkuCisK
KyAgICAgICAgQSBzdWNoIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgdG8gaGFuZGxlIGEgbnVsbHB0
ciByZXR1cm4gdmFsdWUgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGlzYWJs
ZUFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OnJlbW90ZVNWR1Jvb3RFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSk6CisK
IDIwMTQtMDEtMjIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Q1NTIFNoYXBlc10gc2hhcGUtaW5zaWRlIHJlY3RhbmdsZSBsYXlvdXQgY2FuIGZhaWwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCShyZXZpc2lv
biAxNjIxNTMpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCw4IEBACiAKICNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpCiAgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgZ0FjY2Vzc2li
aWxpdHlFbmFibGVkID0gdHJ1ZTsgfQorICAgIHN0YXRpYyB2b2lkIGRpc2FibGVBY2Nlc3NpYmls
aXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVuYWJsZWQgPSBmYWxzZTsgfQorCiAgICAgLy8gRW5oYW5j
ZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0aGUgYXNz
aXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgc3RhdGljIHZvaWQgc2V0RW5oYW5jZWRVc2VySW50ZXJm
YWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsgZ0FjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJ
bnRlcmZhY2VFbmFibGVkID0gZmxhZzsgfQogICAgIApAQCAtMTM1LDYgKzEzNyw3IEBACiAgICAg
c3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQoKSB7
IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0KICNl
bHNlCiAgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQorICAgIHN0YXRp
YyB2b2lkIGRpc2FibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CiAgICAgc3RhdGljIHZvaWQgc2V0RW5o
YW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sKSB7IH0KICAgICBzdGF0aWMgYm9v
bCBhY2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgc3RhdGljIGJv
b2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQoKSB7IHJldHVybiBm
YWxzZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHJldmlzaW9uIDE2MjE1MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzMsNyArMTMzLDEwIEBACiAgICAgaWYgKCFub2RlKCkgJiYgIXJlbmRl
cmVyKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlm
aWNhdGlvbih0aGlzLCBkb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWENoaWxkcmVuQ2hhbmdl
ZCk7CisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCk7CisgICAgaWYg
KCFjYWNoZSkKKyAgICAgICAgcmV0dXJuOworICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHRo
aXMsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKIAogICAg
IC8vIEdvIHVwIHRoZSBhY2Nlc3NpYmlsaXR5IHBhcmVudCBjaGFpbiwgYnV0IG9ubHkgaWYgdGhl
IGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIFRoaXMgbWV0aG9kIGlzCiAgICAgLy8gY2FsbGVkIGR1
cmluZyByZW5kZXIgbGF5b3V0cywgbWluaW1hbCB3b3JrIHNob3VsZCBiZSBkb25lLiAKQEAgLTE0
NywxMSArMTUwLDExIEBACiAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IHN1cHBvcnRzIEFS
SUEgbGl2ZSByZWdpb25zLCB0aGVuIG5vdGlmeSB0aGUgQVQgb2YgY2hhbmdlcy4KICAgICAgICAg
aWYgKHBhcmVudC0+c3VwcG9ydHNBUklBTGl2ZVJlZ2lvbigpKQotICAgICAgICAgICAgYXhPYmpl
Y3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5kb2N1bWVudCgpLCBB
WE9iamVjdENhY2hlOjpBWExpdmVSZWdpb25DaGFuZ2VkKTsKKyAgICAgICAgICAgIGNhY2hlLT5w
b3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hl
OjpBWExpdmVSZWdpb25DaGFuZ2VkKTsKICAgICAgICAgCiAgICAgICAgIC8vIElmIHRoaXMgZWxl
bWVudCBpcyBhbiBBUklBIHRleHQgY29udHJvbCwgbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgog
ICAgICAgICBpZiAocGFyZW50LT5pc0FSSUFUZXh0Q29udHJvbCgpICYmICFwYXJlbnQtPmlzTmF0
aXZlVGV4dENvbnRyb2woKSAmJiAhcGFyZW50LT5ub2RlKCktPmhhc0VkaXRhYmxlU3R5bGUoKSkK
LSAgICAgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBh
cmVudC0+ZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOworICAgICAg
ICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCks
IEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyMTUzKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjc5OSw0NCArMjc5OSw0NyBAQAogewogI2lmIEVOQUJMRShTVkcpCiAgICAgaWYgKCFtX3JlbmRl
cmVyIHx8ICFtX3JlbmRlcmVyLT5pc1JlbmRlckltYWdlKCkpCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBDYWNoZWRJbWFnZSogY2FjaGVkSW1h
Z2UgPSB0b1JlbmRlckltYWdlKG1fcmVuZGVyZXIpLT5jYWNoZWRJbWFnZSgpOwogICAgIGlmICgh
Y2FjaGVkSW1hZ2UpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICAKICAgICBJbWFnZSogaW1hZ2UgPSBjYWNoZWRJbWFnZS0+aW1hZ2UoKTsKICAgICBpZiAo
IWltYWdlIHx8ICFpbWFnZS0+aXNTVkdJbWFnZSgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgU1ZHSW1hZ2UqIHN2Z0ltYWdlID0gc3RhdGlj
X2Nhc3Q8U1ZHSW1hZ2UqPihpbWFnZSk7CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBzdmdJ
bWFnZS0+ZnJhbWVWaWV3KCk7CiAgICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVybiAw
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBGcmFtZSYgZnJhbWUgPSBmcmFtZVZpZXct
PmZyYW1lKCk7CiAgICAgCiAgICAgRG9jdW1lbnQqIGRvYyA9IGZyYW1lLmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2MgfHwgIWRvYy0+aXNTVkdEb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgU1ZHU1ZHRWxlbWVudCogcm9vdEVs
ZW1lbnQgPSB0b1NWR0RvY3VtZW50KGRvYyktPnJvb3RFbGVtZW50KCk7CiAgICAgaWYgKCFyb290
RWxlbWVudCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IFJlbmRlck9iamVjdCogcmVuZGVyZXJSb290ID0gcm9vdEVsZW1lbnQtPnJlbmRlcmVyKCk7CiAg
ICAgaWYgKCFyZW5kZXJlclJvb3QpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAKLSAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290U1ZHT2JqZWN0ID0g
ZnJhbWUuZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShyZW5kZXJlclJv
b3QpOworICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZnJhbWUuZG9jdW1lbnQoKS0+YXhPYmpl
Y3RDYWNoZSgpOworICAgIGlmICghY2FjaGUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RTVkdPYmplY3QgPSBjYWNoZS0+Z2V0T3JDcmVhdGUo
cmVuZGVyZXJSb290KTsKIAogICAgIC8vIEluIG9yZGVyIHRvIGNvbm5lY3QgdGhlIEFYIGhpZXJh
cmNoeSBmcm9tIHRoZSBTVkcgcm9vdCBlbGVtZW50IGZyb20gdGhlIGxvYWRlZCByZXNvdXJjZQog
ICAgIC8vIHRoZSBwYXJlbnQgbXVzdCBiZSBzZXQsIGJlY2F1c2UgdGhlcmUncyBubyBvdGhlciB3
YXkgdG8gZ2V0IGJhY2sgdG8gd2hvIGNyZWF0ZWQgdGhlIGltYWdlLgogICAgIEFTU0VSVChyb290
U1ZHT2JqZWN0ICYmIHJvb3RTVkdPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSk7CiAg
ICAgaWYgKCFyb290U1ZHT2JqZWN0LT5pc0FjY2Vzc2liaWxpdHlTVkdSb290KCkpCi0gICAgICAg
IHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICByZXR1cm4gdG9B
Y2Nlc3NpYmlsaXR5U1ZHUm9vdChyb290U1ZHT2JqZWN0KTsKICNlbHNlCi0gICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIG51bGxwdHI7CiAjZW5kaWYKIH0KICAgICAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAkocmV2aXNpb24gMTYyMTUzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE3Niw5ICsyMTc2LDYgQEAKIAogQVhPYmplY3RD
YWNoZSogRG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpIGNvbnN0CiB7Ci0gICAgaWYg
KCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLQogICAgIGlmICghdG9wRG9jdW1lbnQoKS0+aGFzTGl2aW5nUmVuZGVyVHJlZSgp
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gMTYyNTY0KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDEtMjIgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogRGlzYWJsZSBhY2Nlc3NpYmlsaXR5IGFmdGVyIGV2
ZXJ5IHRlc3QgcnVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjc0MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQcm92aWRlIGEgd2F5IHRvIGRpc2FibGUgYWNjZXNzaWJsaXR5IG9uIHRoZSBmbHkuCisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBhY2Nl
c3NpYmlsaXR5U2V0RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lUHJpdmF0
ZS5oOgorCiAyMDE0LTAxLTIyICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAg
ICAgICAgQnVpbGQgZml4IGZvciBpT1MgY2xpZW50cyBvZiBXZWJVSURlbGVnYXRlUHJpdmF0ZS5o
LgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCShyZXZpc2lvbiAxNjIx
NTMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTY4LDYgKzIxNjgsMTQgQEAKICAgICByZXR1cm4gY29yZUZyYW1lLT5sYXllclRy
ZWVBc1RleHQoKTsKIH0KIAorLSAodm9pZClhY2Nlc3NpYmlsaXR5U2V0RW5hYmxlZDooQk9PTCll
bmFibGVkCit7CisgICAgaWYgKGVuYWJsZWQpCisgICAgICAgIEFYT2JqZWN0Q2FjaGU6OmVuYWJs
ZUFjY2Vzc2liaWxpdHkoKTsKKyAgICBlbHNlCisgICAgICAgIEFYT2JqZWN0Q2FjaGU6OmRpc2Fi
bGVBY2Nlc3NpYmlsaXR5KCk7Cit9CisKIC0gKGlkKWFjY2Vzc2liaWxpdHlSb290CiB7CiAjaWYg
SEFWRShBQ0NFU1NJQklMSVRZKQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lUHJpdmF0ZS5oCShyZXZpc2lvbiAxNjIxNTMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDcg
QEAKIAogLy8gVGhlIHRvcCBvZiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLgogLSAoaWQpYWNjZXNz
aWJpbGl0eVJvb3Q7CistICh2b2lkKWFjY2Vzc2liaWxpdHlTZXRFbmFibGVkOihCT09MKWVuYWJs
ZWQ7CiAKIC8vIENsZWFycyBmcmFtZSBvcGVuZXIuIFRoaXMgaXMgZXhlY3V0ZWQgYmV0d2VlbiBs
YXlvdXQgdGVzdHMgcnVucwogLSAodm9pZClfY2xlYXJPcGVuZXI7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNjI1NjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0wMS0yMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBEaXNhYmxlIGFjY2Vzc2liaWxpdHkgYWZ0ZXIg
ZXZlcnkgdGVzdCBydW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzQzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFByb3ZpZGUgYSB3YXkgdG8gZGlzYWJsZSBhY2Nlc3NpYmlsaXR5IG9uIHRoZSBmbHku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHA6CisgICAgICAgIChXS0FjY2Vzc2liaWxpdHlTZXRFbmFibGVkKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaDoKKwog
MjAxNC0wMS0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFdLUHJvY2Vzc0NsYXNzIHNob3VsZCBjcmVhdGUgYSBXZWJDb250ZXh0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCShyZXZpc2lvbiAxNjIxNTMpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIxNCw2ICsyMTQsMjkgQEAKICNlbmRpZgogfQogCit2b2lkIFdLQWNj
ZXNzaWJpbGl0eVNldEVuYWJsZWQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIGJvb2wgZW5hYmxl
KQoreworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyAgICBpZiAoIXBhZ2VSZWYpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gdG9JbXBsKHBhZ2VSZWYp
LT5jb3JlUGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IFdlYkNvcmU6OkZyYW1lJiBjb3JlID0gcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFjb3Jl
LmRvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoZW5hYmxlKQorICAg
ICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CisgICAg
ZWxzZQorICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkaXNhYmxlQWNjZXNzaWJpbGl0
eSgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFnZVJlZik7CisjZW5kaWYKK30KKwogdm9p
ZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsK
ICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaAkocmV2aXNpb24gMTYyMTUzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc5LDYgKzc5LDcgQEAKIAogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsKIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2li
aWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7CitXS19FWFBPUlQgdm9pZCBXS0Fj
Y2Vzc2liaWxpdHlTZXRFbmFibGVkKFdLQnVuZGxlUGFnZVJlZiwgYm9vbCk7CiAKIFdLX0VYUE9S
VCBXS1N0cmluZ1JlZiBXS0J1bmRsZVBhZ2VDb3B5Q29udGV4dE1lbnVJdGVtVGl0bGUoV0tDb250
ZXh0TWVudUl0ZW1SZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlQ2xpY2tNZW51SXRl
bShXS0J1bmRsZVBhZ2VSZWYsIFdLQ29udGV4dE1lbnVJdGVtUmVmKTsKSW5kZXg6IFRvb2xzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjU2NCkK
KysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE0
LTAxLTIyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QVg6IERpc2FibGUgYWNjZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGlzYWJsZSBhY2Nlc3NpYmls
aXR5IGFmdGVyIGVhY2ggdGVzdCBydW4uCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6cGxhdGZvcm1SZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50
U3RhdGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1S
ZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3Bw
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFRv
Q29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6CisK
IDIwMTQtMDEtMTUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdW0NNYWtlXSBidWlsZC13ZWJraXQgc2hvdWxkIHRyeSBoYXJkZXIgdG8gYXZv
aWQgcmUtcnVubmluZyBjbWFrZQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMTYyNTY0KQor
KysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNiArMTIxLDcgQEAKIAogdm9pZCBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKIHsKKyAgICBbbWFp
bkZyYW1lIGFjY2Vzc2liaWxpdHlTZXRFbmFibGVkOmZhbHNlXTsKICAgICBtX2dsb2JhbE5vdGlm
aWNhdGlvbkhhbmRsZXIuY2xlYXIoKTsKIH0KIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5jcHAJKHJldmlzaW9uIDE2MjU2NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSwxMiBAQAogICAgIHJldHVybiBKU0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjphY2Nlc3NpYmlsaXR5Q29udHJvbGxlckNsYXNzKCk7CiB9CiAKK3ZvaWQgQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQoreworICAgIFdLQWNjZXNzaWJp
bGl0eVNldEVuYWJsZWQoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpLCBm
YWxzZSk7CisgICAgcGxhdGZvcm1SZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7Cit9CisgICAgCiAj
aWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkKIFBhc3NSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkKIHsK
QEAgLTkzLDYgKzk5LDcgQEAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBh
dHRyaWJ1dGUpIHsgcmV0dXJuIG51bGxwdHI7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OmxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKSB7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKSB7IH0KK3ZvaWQgQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpIHsgfQogSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUoKSB7
IHJldHVybiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4oQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCIiKSk7IH0KICNlbmRpZgogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5oCShyZXZpc2lvbiAxNjI1NjQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTY2LDYgKzY2LDggQEAKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKTsK
IAorICAgIHZvaWQgcGxhdGZvcm1SZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIFJldGFpblB0cjxOb3RpZmljYXRpb25IYW5kbGVyPiBtX2dsb2Jh
bE5vdGlmaWNhdGlvbkhhbmRsZXI7CiAjZW5kaWYKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAJKHJldmlzaW9uIDE2MjU2NCkKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
QXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQAogICAgIGdfb2JqZWN0X3Vu
cmVmKGR1bW15QXhPYmplY3QpOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpy
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBs
YXRmb3JtUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCiB7CiAgICAgbV9nbG9iYWxOb3RpZmljYXRp
b25IYW5kbGVyID0gbnVsbHB0cjsKIH0KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxp
dHlDb250cm9sbGVyTWFjLm1tCShyZXZpc2lvbiAxNjI1NjQpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQAogewogfQogCi12b2lkIEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3ZvaWQgQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCiB7CiAgICAgaWYg
KG1fZ2xvYmFsTm90aWZpY2F0aW9uSGFuZGxlcikKICAgICAgICAgcmVtb3ZlTm90aWZpY2F0aW9u
TGlzdGVuZXIoKTsK
</data>
<flag name="review"
          id="245893"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222259</attachid>
            <date>2014-01-25 23:06:29 -0800</date>
            <delta_ts>2014-01-25 23:12:48 -0800</delta_ts>
            <desc>patch that uses WebCoreTestSupport</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7079</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjc5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAxLTI1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYWNjZXNzaWJpbGl0eSBpcyBkaXNhYmxlZCwgd2Ug
bWF5IHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBleGlzdGluZyAKKyAgICAgICAgQVhPYmplY3RD
YWNoZSwgc28gdGhhdCBvYmplY3RzIGNhbiBiZSBjbGVhbmVkIHVwIGFwcHJvcHJpYXRlbHkuCisK
KyAgICAgICAgQSBzdWNoIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgdG8gaGFuZGxlIGEgbnVsbHB0
ciByZXR1cm4gdmFsdWUgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGlzYWJs
ZUFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OnJlbW90ZVNWR1Jvb3RFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSk6CisK
IDIwMTQtMDEtMjUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBkZWFkIGNvZGUgZnJvbSB0aGUgSlNDIHByb2ZpbGVyLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDE2MjY2
NykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDggQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ICAgICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVu
YWJsZWQgPSB0cnVlOyB9CisgICAgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7
IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IGZhbHNlOyB9CisKICAgICAvLyBFbmhhbmNlZCB1c2Vy
IGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5IHRoZSBhc3Npc3RpdmUg
dGVjaG5vbG9neS4KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nl
c3NpYmlsaXR5KGJvb2wgZmxhZykgeyBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQgPSBmbGFnOyB9CiAgICAgCkBAIC0xMzUsNiArMTM3LDcgQEAKICAgICBzdGF0aWMg
Ym9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJu
IGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsgfQogI2Vsc2UKICAg
ICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAgc3RhdGljIHZvaWQg
ZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVz
ZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wpIHsgfQogICAgIHN0YXRpYyBib29sIGFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBhY2Nl
c3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyNjY3KQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMyw3ICsxMzMsMTAgQEAKICAgICBpZiAoIW5vZGUoKSAmJiAhcmVuZGVyZXIoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9u
KHRoaXMsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKKyAg
ICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hl
KQorICAgICAgICByZXR1cm47CisgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9j
dW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQpOwogCiAgICAgLy8gR28g
dXAgdGhlIGFjY2Vzc2liaWxpdHkgcGFyZW50IGNoYWluLCBidXQgb25seSBpZiB0aGUgZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4gVGhpcyBtZXRob2QgaXMKICAgICAvLyBjYWxsZWQgZHVyaW5nIHJl
bmRlciBsYXlvdXRzLCBtaW5pbWFsIHdvcmsgc2hvdWxkIGJlIGRvbmUuIApAQCAtMTQ3LDExICsx
NTAsMTEgQEAKIAogICAgICAgICAvLyBJZiB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZl
IHJlZ2lvbnMsIHRoZW4gbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgogICAgICAgICBpZiAocGFy
ZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkpCi0gICAgICAgICAgICBheE9iamVjdENhY2hl
KCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0
Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3Rp
ZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2
ZVJlZ2lvbkNoYW5nZWQpOwogICAgICAgICAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IGlz
IGFuIEFSSUEgdGV4dCBjb250cm9sLCBub3RpZnkgdGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgICAg
IGlmIChwYXJlbnQtPmlzQVJJQVRleHRDb250cm9sKCkgJiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0
Q29udHJvbCgpICYmICFwYXJlbnQtPm5vZGUoKS0+aGFzRWRpdGFibGVTdHlsZSgpKQotICAgICAg
ICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5k
b2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CisgICAgICAgICAgICBj
YWNoZS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBhcmVudC0+ZG9jdW1lbnQoKSwgQVhPYmpl
Y3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxNjI2NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzk2LDQ0
ICsyNzk2LDQ3IEBACiB7CiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwg
IW1fcmVuZGVyZXItPmlzUmVuZGVySW1hZ2UoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IHRv
UmVuZGVySW1hZ2UobV9yZW5kZXJlciktPmNhY2hlZEltYWdlKCk7CiAgICAgaWYgKCFjYWNoZWRJ
bWFnZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAog
ICAgIEltYWdlKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpOwogICAgIGlmICghaW1hZ2Ug
fHwgIWltYWdlLT5pc1NWR0ltYWdlKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdJbWFnZSogc3ZnSW1hZ2UgPSBzdGF0aWNfY2FzdDxT
VkdJbWFnZSo+KGltYWdlKTsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN2Z0ltYWdlLT5m
cmFtZVZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIEZyYW1lJiBmcmFtZSA9IGZyYW1lVmlldy0+ZnJhbWUo
KTsKICAgICAKICAgICBEb2N1bWVudCogZG9jID0gZnJhbWUuZG9jdW1lbnQoKTsKICAgICBpZiAo
IWRvYyB8fCAhZG9jLT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVudCA9
IHRvU1ZHRG9jdW1lbnQoZG9jKS0+cm9vdEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgUmVuZGVy
T2JqZWN0KiByZW5kZXJlclJvb3QgPSByb290RWxlbWVudC0+cmVuZGVyZXIoKTsKICAgICBpZiAo
IXJlbmRlcmVyUm9vdCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RTVkdPYmplY3QgPSBmcmFtZS5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyUm9vdCk7Cisg
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBmcmFtZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hl
KCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdFNWR09iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShyZW5kZXJl
clJvb3QpOwogCiAgICAgLy8gSW4gb3JkZXIgdG8gY29ubmVjdCB0aGUgQVggaGllcmFyY2h5IGZy
b20gdGhlIFNWRyByb290IGVsZW1lbnQgZnJvbSB0aGUgbG9hZGVkIHJlc291cmNlCiAgICAgLy8g
dGhlIHBhcmVudCBtdXN0IGJlIHNldCwgYmVjYXVzZSB0aGVyZSdzIG5vIG90aGVyIHdheSB0byBn
ZXQgYmFjayB0byB3aG8gY3JlYXRlZCB0aGUgaW1hZ2UuCiAgICAgQVNTRVJUKHJvb3RTVkdPYmpl
Y3QgJiYgcm9vdFNWR09iamVjdC0+aXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpKTsKICAgICBpZiAo
IXJvb3RTVkdPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIHJldHVybiB0b0FjY2Vzc2li
aWxpdHlTVkdSb290KHJvb3RTVkdPYmplY3QpOwogI2Vsc2UKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKICNlbmRpZgogfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxNjI2NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTc1LDkgKzIxNzUsNiBAQAogCiBBWE9iamVjdENhY2hlKiBE
b2N1bWVudDo6ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAoIUFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCiAgICAgaWYgKCF0b3BEb2N1bWVudCgpLT5oYXNMaXZpbmdSZW5kZXJUcmVlKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxNjI2NjcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFuaW1h
dGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgor
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNocm9t
ZS5oIgpAQCAtMjkwLDYgKzI5MSw5IEBACiAjaWYgRU5BQkxFKFZJREVPKQogICAgIE1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5yZXNldFJlc3RyaWN0aW9ucygpOwogI2VuZGlm
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorICAgIEFYT2JqZWN0Q2FjaGU6OmRpc2FibGVBY2Nl
c3NpYmlsaXR5KCk7CisjZW5kaWYKIH0KIAogSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQq
IGRvY3VtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222260</attachid>
            <date>2014-01-25 23:12:48 -0800</date>
            <delta_ts>2014-01-25 23:17:26 -0800</delta_ts>
            <desc>patch that uses WebCoreTestSupport</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7079</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjc5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAxLTI1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYWNjZXNzaWJpbGl0eSBpcyBkaXNhYmxlZCwgd2Ug
bWF5IHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBleGlzdGluZyAKKyAgICAgICAgQVhPYmplY3RD
YWNoZSwgc28gdGhhdCBvYmplY3RzIGNhbiBiZSBjbGVhbmVkIHVwIGFwcHJvcHJpYXRlbHkuCisK
KyAgICAgICAgQSBzdWNoIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgdG8gaGFuZGxlIGEgbnVsbHB0
ciByZXR1cm4gdmFsdWUgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGlzYWJs
ZUFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OnJlbW90ZVNWR1Jvb3RFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSk6CisK
IDIwMTQtMDEtMjUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBkZWFkIGNvZGUgZnJvbSB0aGUgSlNDIHByb2ZpbGVyLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDE2Mjc5
NykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDggQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ICAgICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVu
YWJsZWQgPSB0cnVlOyB9CisgICAgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7
IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IGZhbHNlOyB9CisKICAgICAvLyBFbmhhbmNlZCB1c2Vy
IGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5IHRoZSBhc3Npc3RpdmUg
dGVjaG5vbG9neS4KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nl
c3NpYmlsaXR5KGJvb2wgZmxhZykgeyBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQgPSBmbGFnOyB9CiAgICAgCkBAIC0xMzUsNiArMTM3LDcgQEAKICAgICBzdGF0aWMg
Ym9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJu
IGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsgfQogI2Vsc2UKICAg
ICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAgc3RhdGljIHZvaWQg
ZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVz
ZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wpIHsgfQogICAgIHN0YXRpYyBib29sIGFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBhY2Nl
c3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyNzk3KQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMyw3ICsxMzMsMTAgQEAKICAgICBpZiAoIW5vZGUoKSAmJiAhcmVuZGVyZXIoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9u
KHRoaXMsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKKyAg
ICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hl
KQorICAgICAgICByZXR1cm47CisgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9j
dW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQpOwogCiAgICAgLy8gR28g
dXAgdGhlIGFjY2Vzc2liaWxpdHkgcGFyZW50IGNoYWluLCBidXQgb25seSBpZiB0aGUgZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4gVGhpcyBtZXRob2QgaXMKICAgICAvLyBjYWxsZWQgZHVyaW5nIHJl
bmRlciBsYXlvdXRzLCBtaW5pbWFsIHdvcmsgc2hvdWxkIGJlIGRvbmUuIApAQCAtMTQ3LDExICsx
NTAsMTEgQEAKIAogICAgICAgICAvLyBJZiB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZl
IHJlZ2lvbnMsIHRoZW4gbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgogICAgICAgICBpZiAocGFy
ZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkpCi0gICAgICAgICAgICBheE9iamVjdENhY2hl
KCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0
Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3Rp
ZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2
ZVJlZ2lvbkNoYW5nZWQpOwogICAgICAgICAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IGlz
IGFuIEFSSUEgdGV4dCBjb250cm9sLCBub3RpZnkgdGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgICAg
IGlmIChwYXJlbnQtPmlzQVJJQVRleHRDb250cm9sKCkgJiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0
Q29udHJvbCgpICYmICFwYXJlbnQtPm5vZGUoKS0+aGFzRWRpdGFibGVTdHlsZSgpKQotICAgICAg
ICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5k
b2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CisgICAgICAgICAgICBj
YWNoZS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBhcmVudC0+ZG9jdW1lbnQoKSwgQVhPYmpl
Y3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzk2LDQ0
ICsyNzk2LDQ3IEBACiB7CiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwg
IW1fcmVuZGVyZXItPmlzUmVuZGVySW1hZ2UoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IHRv
UmVuZGVySW1hZ2UobV9yZW5kZXJlciktPmNhY2hlZEltYWdlKCk7CiAgICAgaWYgKCFjYWNoZWRJ
bWFnZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAog
ICAgIEltYWdlKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpOwogICAgIGlmICghaW1hZ2Ug
fHwgIWltYWdlLT5pc1NWR0ltYWdlKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdJbWFnZSogc3ZnSW1hZ2UgPSBzdGF0aWNfY2FzdDxT
VkdJbWFnZSo+KGltYWdlKTsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN2Z0ltYWdlLT5m
cmFtZVZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIEZyYW1lJiBmcmFtZSA9IGZyYW1lVmlldy0+ZnJhbWUo
KTsKICAgICAKICAgICBEb2N1bWVudCogZG9jID0gZnJhbWUuZG9jdW1lbnQoKTsKICAgICBpZiAo
IWRvYyB8fCAhZG9jLT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVudCA9
IHRvU1ZHRG9jdW1lbnQoZG9jKS0+cm9vdEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgUmVuZGVy
T2JqZWN0KiByZW5kZXJlclJvb3QgPSByb290RWxlbWVudC0+cmVuZGVyZXIoKTsKICAgICBpZiAo
IXJlbmRlcmVyUm9vdCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RTVkdPYmplY3QgPSBmcmFtZS5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyUm9vdCk7Cisg
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBmcmFtZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hl
KCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdFNWR09iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShyZW5kZXJl
clJvb3QpOwogCiAgICAgLy8gSW4gb3JkZXIgdG8gY29ubmVjdCB0aGUgQVggaGllcmFyY2h5IGZy
b20gdGhlIFNWRyByb290IGVsZW1lbnQgZnJvbSB0aGUgbG9hZGVkIHJlc291cmNlCiAgICAgLy8g
dGhlIHBhcmVudCBtdXN0IGJlIHNldCwgYmVjYXVzZSB0aGVyZSdzIG5vIG90aGVyIHdheSB0byBn
ZXQgYmFjayB0byB3aG8gY3JlYXRlZCB0aGUgaW1hZ2UuCiAgICAgQVNTRVJUKHJvb3RTVkdPYmpl
Y3QgJiYgcm9vdFNWR09iamVjdC0+aXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpKTsKICAgICBpZiAo
IXJvb3RTVkdPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIHJldHVybiB0b0FjY2Vzc2li
aWxpdHlTVkdSb290KHJvb3RTVkdPYmplY3QpOwogI2Vsc2UKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKICNlbmRpZgogfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTc1LDkgKzIxNzUsNiBAQAogCiBBWE9iamVjdENhY2hlKiBE
b2N1bWVudDo6ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAoIUFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCiAgICAgaWYgKCF0b3BEb2N1bWVudCgpLT5oYXNMaXZpbmdSZW5kZXJUcmVlKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFuaW1h
dGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgor
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNocm9t
ZS5oIgpAQCAtMjkxLDYgKzI5Miw5IEBACiAjaWYgRU5BQkxFKFZJREVPKQogICAgIE1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5yZXNldFJlc3RyaWN0aW9ucygpOwogI2VuZGlm
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorICAgIEFYT2JqZWN0Q2FjaGU6OmRpc2FibGVBY2Nl
c3NpYmlsaXR5KCk7CisjZW5kaWYKIH0KIAogSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQq
IGRvY3VtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222261</attachid>
            <date>2014-01-25 23:17:26 -0800</date>
            <delta_ts>2014-01-26 14:51:28 -0800</delta_ts>
            <desc>patch that uses WebCoreTestSupport</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7068</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjc5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAxLTI1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYWNjZXNzaWJpbGl0eSBpcyBkaXNhYmxlZCwgd2Ug
bWF5IHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBleGlzdGluZyAKKyAgICAgICAgQVhPYmplY3RD
YWNoZSwgc28gdGhhdCBvYmplY3RzIGNhbiBiZSBjbGVhbmVkIHVwIGFwcHJvcHJpYXRlbHkuCisK
KyAgICAgICAgQSBzdWNoIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgdG8gaGFuZGxlIGEgbnVsbHB0
ciByZXR1cm4gdmFsdWUgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGlzYWJs
ZUFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OnJlbW90ZVNWR1Jvb3RFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSk6CisK
IDIwMTQtMDEtMjUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBkZWFkIGNvZGUgZnJvbSB0aGUgSlNDIHByb2ZpbGVyLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDE2Mjc5
NykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDggQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ICAgICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVu
YWJsZWQgPSB0cnVlOyB9CisgICAgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7
IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IGZhbHNlOyB9CisKICAgICAvLyBFbmhhbmNlZCB1c2Vy
IGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5IHRoZSBhc3Npc3RpdmUg
dGVjaG5vbG9neS4KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nl
c3NpYmlsaXR5KGJvb2wgZmxhZykgeyBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQgPSBmbGFnOyB9CiAgICAgCkBAIC0xMzUsNiArMTM3LDcgQEAKICAgICBzdGF0aWMg
Ym9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJu
IGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsgfQogI2Vsc2UKICAg
ICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAgc3RhdGljIHZvaWQg
ZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVz
ZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wpIHsgfQogICAgIHN0YXRpYyBib29sIGFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBhY2Nl
c3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyNzk3KQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMyw3ICsxMzMsMTAgQEAKICAgICBpZiAoIW5vZGUoKSAmJiAhcmVuZGVyZXIoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9u
KHRoaXMsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKKyAg
ICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hl
KQorICAgICAgICByZXR1cm47CisgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9j
dW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQpOwogCiAgICAgLy8gR28g
dXAgdGhlIGFjY2Vzc2liaWxpdHkgcGFyZW50IGNoYWluLCBidXQgb25seSBpZiB0aGUgZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4gVGhpcyBtZXRob2QgaXMKICAgICAvLyBjYWxsZWQgZHVyaW5nIHJl
bmRlciBsYXlvdXRzLCBtaW5pbWFsIHdvcmsgc2hvdWxkIGJlIGRvbmUuIApAQCAtMTQ3LDExICsx
NTAsMTEgQEAKIAogICAgICAgICAvLyBJZiB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZl
IHJlZ2lvbnMsIHRoZW4gbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgogICAgICAgICBpZiAocGFy
ZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkpCi0gICAgICAgICAgICBheE9iamVjdENhY2hl
KCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0
Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3Rp
ZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2
ZVJlZ2lvbkNoYW5nZWQpOwogICAgICAgICAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IGlz
IGFuIEFSSUEgdGV4dCBjb250cm9sLCBub3RpZnkgdGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgICAg
IGlmIChwYXJlbnQtPmlzQVJJQVRleHRDb250cm9sKCkgJiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0
Q29udHJvbCgpICYmICFwYXJlbnQtPm5vZGUoKS0+aGFzRWRpdGFibGVTdHlsZSgpKQotICAgICAg
ICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5k
b2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CisgICAgICAgICAgICBj
YWNoZS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBhcmVudC0+ZG9jdW1lbnQoKSwgQVhPYmpl
Y3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzk2LDQ0
ICsyNzk2LDQ3IEBACiB7CiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwg
IW1fcmVuZGVyZXItPmlzUmVuZGVySW1hZ2UoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IHRv
UmVuZGVySW1hZ2UobV9yZW5kZXJlciktPmNhY2hlZEltYWdlKCk7CiAgICAgaWYgKCFjYWNoZWRJ
bWFnZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAog
ICAgIEltYWdlKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpOwogICAgIGlmICghaW1hZ2Ug
fHwgIWltYWdlLT5pc1NWR0ltYWdlKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdJbWFnZSogc3ZnSW1hZ2UgPSBzdGF0aWNfY2FzdDxT
VkdJbWFnZSo+KGltYWdlKTsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN2Z0ltYWdlLT5m
cmFtZVZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIEZyYW1lJiBmcmFtZSA9IGZyYW1lVmlldy0+ZnJhbWUo
KTsKICAgICAKICAgICBEb2N1bWVudCogZG9jID0gZnJhbWUuZG9jdW1lbnQoKTsKICAgICBpZiAo
IWRvYyB8fCAhZG9jLT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVudCA9
IHRvU1ZHRG9jdW1lbnQoZG9jKS0+cm9vdEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgUmVuZGVy
T2JqZWN0KiByZW5kZXJlclJvb3QgPSByb290RWxlbWVudC0+cmVuZGVyZXIoKTsKICAgICBpZiAo
IXJlbmRlcmVyUm9vdCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RTVkdPYmplY3QgPSBmcmFtZS5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyUm9vdCk7Cisg
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBmcmFtZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hl
KCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdFNWR09iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShyZW5kZXJl
clJvb3QpOwogCiAgICAgLy8gSW4gb3JkZXIgdG8gY29ubmVjdCB0aGUgQVggaGllcmFyY2h5IGZy
b20gdGhlIFNWRyByb290IGVsZW1lbnQgZnJvbSB0aGUgbG9hZGVkIHJlc291cmNlCiAgICAgLy8g
dGhlIHBhcmVudCBtdXN0IGJlIHNldCwgYmVjYXVzZSB0aGVyZSdzIG5vIG90aGVyIHdheSB0byBn
ZXQgYmFjayB0byB3aG8gY3JlYXRlZCB0aGUgaW1hZ2UuCiAgICAgQVNTRVJUKHJvb3RTVkdPYmpl
Y3QgJiYgcm9vdFNWR09iamVjdC0+aXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpKTsKICAgICBpZiAo
IXJvb3RTVkdPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIHJldHVybiB0b0FjY2Vzc2li
aWxpdHlTVkdSb290KHJvb3RTVkdPYmplY3QpOwogI2Vsc2UKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKICNlbmRpZgogfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTc1LDkgKzIxNzUsNiBAQAogCiBBWE9iamVjdENhY2hlKiBE
b2N1bWVudDo6ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAoIUFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCiAgICAgaWYgKCF0b3BEb2N1bWVudCgpLT5oYXNMaXZpbmdSZW5kZXJUcmVlKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIK
ICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKQEAgLTI5
MSw2ICsyOTIsOSBAQAogI2lmIEVOQUJMRShWSURFTykKICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkucmVzZXRSZXN0cmljdGlvbnMoKTsKICNlbmRpZgorI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkKKyAgICBBWE9iamVjdENhY2hlOjpkaXNhYmxlQWNjZXNzaWJpbGl0eSgp
OworI2VuZGlmCiB9CiAKIEludGVybmFsczo6SW50ZXJuYWxzKERvY3VtZW50KiBkb2N1bWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222286</attachid>
            <date>2014-01-26 14:51:28 -0800</date>
            <delta_ts>2014-01-26 14:51:28 -0800</delta_ts>
            <desc>patch </desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8014</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjc5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAxLTI1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYWNjZXNzaWJpbGl0eSBpcyBkaXNhYmxlZCwgd2Ug
bWF5IHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBleGlzdGluZyAKKyAgICAgICAgQVhPYmplY3RD
YWNoZSwgc28gdGhhdCBvYmplY3RzIGNhbiBiZSBjbGVhbmVkIHVwIGFwcHJvcHJpYXRlbHkuCisK
KyAgICAgICAgQSBzdWNoIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgdG8gaGFuZGxlIGEgbnVsbHB0
ciByZXR1cm4gdmFsdWUgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGlzYWJs
ZUFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OnJlbW90ZVNWR1Jvb3RFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNoZSk6CisK
IDIwMTQtMDEtMjUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBkZWFkIGNvZGUgZnJvbSB0aGUgSlNDIHByb2ZpbGVyLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDE2Mjc5
NykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDggQEAKIAogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
ICAgICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVu
YWJsZWQgPSB0cnVlOyB9CisgICAgc3RhdGljIHZvaWQgZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7
IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IGZhbHNlOyB9CisKICAgICAvLyBFbmhhbmNlZCB1c2Vy
IGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5IHRoZSBhc3Npc3RpdmUg
dGVjaG5vbG9neS4KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nl
c3NpYmlsaXR5KGJvb2wgZmxhZykgeyBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQgPSBmbGFnOyB9CiAgICAgCkBAIC0xMzUsNiArMTM3LDcgQEAKICAgICBzdGF0aWMg
Ym9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJu
IGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsgfQogI2Vsc2UKICAg
ICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAgc3RhdGljIHZvaWQg
ZGlzYWJsZUFjY2Vzc2liaWxpdHkoKSB7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVz
ZXJJbnRlcmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wpIHsgfQogICAgIHN0YXRpYyBib29sIGFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBhY2Nl
c3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyNzk3KQorKysgU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMyw3ICsxMzMsMTAgQEAKICAgICBpZiAoIW5vZGUoKSAmJiAhcmVuZGVyZXIoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9u
KHRoaXMsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKKyAg
ICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hl
KQorICAgICAgICByZXR1cm47CisgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9j
dW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQpOwogCiAgICAgLy8gR28g
dXAgdGhlIGFjY2Vzc2liaWxpdHkgcGFyZW50IGNoYWluLCBidXQgb25seSBpZiB0aGUgZWxlbWVu
dCBhbHJlYWR5IGV4aXN0cy4gVGhpcyBtZXRob2QgaXMKICAgICAvLyBjYWxsZWQgZHVyaW5nIHJl
bmRlciBsYXlvdXRzLCBtaW5pbWFsIHdvcmsgc2hvdWxkIGJlIGRvbmUuIApAQCAtMTQ3LDExICsx
NTAsMTEgQEAKIAogICAgICAgICAvLyBJZiB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZl
IHJlZ2lvbnMsIHRoZW4gbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgogICAgICAgICBpZiAocGFy
ZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkpCi0gICAgICAgICAgICBheE9iamVjdENhY2hl
KCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0
Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3Rp
ZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2
ZVJlZ2lvbkNoYW5nZWQpOwogICAgICAgICAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IGlz
IGFuIEFSSUEgdGV4dCBjb250cm9sLCBub3RpZnkgdGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgICAg
IGlmIChwYXJlbnQtPmlzQVJJQVRleHRDb250cm9sKCkgJiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0
Q29udHJvbCgpICYmICFwYXJlbnQtPm5vZGUoKS0+aGFzRWRpdGFibGVTdHlsZSgpKQotICAgICAg
ICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5k
b2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CisgICAgICAgICAgICBj
YWNoZS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBhcmVudC0+ZG9jdW1lbnQoKSwgQVhPYmpl
Y3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzk2LDQ0
ICsyNzk2LDQ3IEBACiB7CiAjaWYgRU5BQkxFKFNWRykKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwg
IW1fcmVuZGVyZXItPmlzUmVuZGVySW1hZ2UoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IHRv
UmVuZGVySW1hZ2UobV9yZW5kZXJlciktPmNhY2hlZEltYWdlKCk7CiAgICAgaWYgKCFjYWNoZWRJ
bWFnZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAog
ICAgIEltYWdlKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpOwogICAgIGlmICghaW1hZ2Ug
fHwgIWltYWdlLT5pc1NWR0ltYWdlKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdJbWFnZSogc3ZnSW1hZ2UgPSBzdGF0aWNfY2FzdDxT
VkdJbWFnZSo+KGltYWdlKTsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN2Z0ltYWdlLT5m
cmFtZVZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIEZyYW1lJiBmcmFtZSA9IGZyYW1lVmlldy0+ZnJhbWUo
KTsKICAgICAKICAgICBEb2N1bWVudCogZG9jID0gZnJhbWUuZG9jdW1lbnQoKTsKICAgICBpZiAo
IWRvYyB8fCAhZG9jLT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBTVkdTVkdFbGVtZW50KiByb290RWxlbWVudCA9
IHRvU1ZHRG9jdW1lbnQoZG9jKS0+cm9vdEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgUmVuZGVy
T2JqZWN0KiByZW5kZXJlclJvb3QgPSByb290RWxlbWVudC0+cmVuZGVyZXIoKTsKICAgICBpZiAo
IXJlbmRlcmVyUm9vdCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHJvb3RTVkdPYmplY3QgPSBmcmFtZS5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlcmVyUm9vdCk7Cisg
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBmcmFtZS5kb2N1bWVudCgpLT5heE9iamVjdENhY2hl
KCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogcm9vdFNWR09iamVjdCA9IGNhY2hlLT5nZXRPckNyZWF0ZShyZW5kZXJl
clJvb3QpOwogCiAgICAgLy8gSW4gb3JkZXIgdG8gY29ubmVjdCB0aGUgQVggaGllcmFyY2h5IGZy
b20gdGhlIFNWRyByb290IGVsZW1lbnQgZnJvbSB0aGUgbG9hZGVkIHJlc291cmNlCiAgICAgLy8g
dGhlIHBhcmVudCBtdXN0IGJlIHNldCwgYmVjYXVzZSB0aGVyZSdzIG5vIG90aGVyIHdheSB0byBn
ZXQgYmFjayB0byB3aG8gY3JlYXRlZCB0aGUgaW1hZ2UuCiAgICAgQVNTRVJUKHJvb3RTVkdPYmpl
Y3QgJiYgcm9vdFNWR09iamVjdC0+aXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpKTsKICAgICBpZiAo
IXJvb3RTVkdPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIHJldHVybiB0b0FjY2Vzc2li
aWxpdHlTVkdSb290KHJvb3RTVkdPYmplY3QpOwogI2Vsc2UKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKICNlbmRpZgogfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTc1LDkgKzIxNzUsNiBAQAogCiBBWE9iamVjdENhY2hlKiBE
b2N1bWVudDo6ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAoIUFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCiAgICAgaWYgKCF0b3BEb2N1bWVudCgpLT5oYXNMaXZpbmdSZW5kZXJUcmVlKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIK
ICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKQEAgLTI5
MSw2ICsyOTIsOSBAQAogI2lmIEVOQUJMRShWSURFTykKICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkucmVzZXRSZXN0cmljdGlvbnMoKTsKICNlbmRpZgorI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkKKyAgICBBWE9iamVjdENhY2hlOjpkaXNhYmxlQWNjZXNzaWJpbGl0eSgp
OworI2VuZGlmCiB9CiAKIEludGVybmFsczo6SW50ZXJuYWxzKERvY3VtZW50KiBkb2N1bWVudCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9y
L1dlYktpdEV4cG9ydHMuZGVmLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0
LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCShyZXZp
c2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9y
dEdlbmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbgkod29ya2luZyBjb3B5KQpAQCAtNDY5LDMg
KzQ2OSw1IEBACiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9jb21wbGV0ZVVSTEBEb2N1bWVu
dEBXZWJDb3JlQEBVQkU/QVZVUkxAMkBBQlZTdHJpbmdAV1RGQEBAWiwgP2NvbXBsZXRlVVJMQERv
Y3VtZW50QFdlYkNvcmVAQFVFQkE/QVZVUkxAMkBBRUJWU3RyaW5nQFdURkBAQFopCiAgICAgICAg
IHN5bWJvbFdpdGhQb2ludGVyKD8/MURPTVdpbmRvd0BXZWJDb3JlQEBVQUVAWFosID8/MURPTVdp
bmRvd0BXZWJDb3JlQEBVRUFBQFhaKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/dmlzaWJs
ZUNvbnRlbnRSZWN0QFNjcm9sbGFibGVBcmVhQFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBXNFZp
c2libGVDb250ZW50UmVjdEJlaGF2aW9yQDEyQEBaLCA/dmlzaWJsZUNvbnRlbnRSZWN0QFNjcm9s
bGFibGVBcmVhQFdlYkNvcmVAQFFFQkE/QVZJbnRSZWN0QDJAVzRWaXNpYmxlQ29udGVudFJlY3RC
ZWhhdmlvckAxMkBAWikKKyAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2dBY2Nlc3NpYmlsaXR5
RW5hYmxlZEBBWE9iamVjdENhY2hlQFdlYkNvcmVAQDBfTkEsID9nQWNjZXNzaWJpbGl0eUVuYWJs
ZWRAQVhPYmplY3RDYWNoZUBXZWJDb3JlQEAwX05BKQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222304</attachid>
            <date>2014-01-26 23:08:45 -0800</date>
            <delta_ts>2014-01-27 04:35:49 -0800</delta_ts>
            <desc>patch </desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1834</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjgyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTI2ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IERpc2FibGUgYWNj
ZXNzaWJpbGl0eSBhZnRlciBldmVyeSB0ZXN0IHJ1bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY3VsYXRpdmUgZml4IGZvciBFRkwgYnVpbGQuIERv
bid0IHByb2Nlc3MgdGhlc2Ugbm90aWZpY2F0aW9ucyB1bmxlc3MgYWNjZXNzaWJpbGl0eSBpcyBl
bmFibGVkLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpwcmVwYXJlRm9yTG9hZFN0YXJ0KToKKwogMjAxNC0wMS0yNiAg
RGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVt
bl0gQ2hhbmdlIHRoZSBheGlzIHByb3BlcnR5IHRvIGJlIGEgYm9vbGVhbiBsaWtlIG90aGVyIGlz
SW5saW5lIGNoZWNrcwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShy
ZXZpc2lvbiAxNjI3OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTg0LDEwICsxMTg0LDExIEBACiAgICAgbV9wcm9ncmVzc1Ry
YWNrZXItPnByb2dyZXNzU3RhcnRlZCgpOwogICAgIG1fY2xpZW50LmRpc3BhdGNoRGlkU3RhcnRQ
cm92aXNpb25hbExvYWQoKTsKIAotICAgIC8vIE5vdGlmeSBhY2Nlc3NpYmlsaXR5LgotICAgIGlm
IChBWE9iamVjdENhY2hlKiBjYWNoZSA9IG1fZnJhbWUuZG9jdW1lbnQoKS0+ZXhpc3RpbmdBWE9i
amVjdENhY2hlKCkpIHsKLSAgICAgICAgQVhPYmplY3RDYWNoZTo6QVhMb2FkaW5nRXZlbnQgbG9h
ZGluZ0V2ZW50ID0gbG9hZFR5cGUoKSA9PSBGcmFtZUxvYWRUeXBlUmVsb2FkID8gQVhPYmplY3RD
YWNoZTo6QVhMb2FkaW5nUmVsb2FkZWQgOiBBWE9iamVjdENhY2hlOjpBWExvYWRpbmdTdGFydGVk
OwotICAgICAgICBjYWNoZS0+ZnJhbWVMb2FkaW5nRXZlbnROb3RpZmljYXRpb24oJm1fZnJhbWUs
IGxvYWRpbmdFdmVudCk7CisgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKCkpIHsKKyAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gbV9mcmFtZS5kb2N1
bWVudCgpLT5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkgeworICAgICAgICAgICAgQVhPYmplY3RD
YWNoZTo6QVhMb2FkaW5nRXZlbnQgbG9hZGluZ0V2ZW50ID0gbG9hZFR5cGUoKSA9PSBGcmFtZUxv
YWRUeXBlUmVsb2FkID8gQVhPYmplY3RDYWNoZTo6QVhMb2FkaW5nUmVsb2FkZWQgOiBBWE9iamVj
dENhY2hlOjpBWExvYWRpbmdTdGFydGVkOworICAgICAgICAgICAgY2FjaGUtPmZyYW1lTG9hZGlu
Z0V2ZW50Tm90aWZpY2F0aW9uKCZtX2ZyYW1lLCBsb2FkaW5nRXZlbnQpOworICAgICAgICB9CiAg
ICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>