<?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>80376</bug_id>
          
          <creation_ts>2012-03-05 21:47:14 -0800</creation_ts>
          <short_desc>[V8][Performance] Optimize V8 bindings for HTMLElement.classList, Element.dataset and Node.attributes</short_desc>
          <delta_ts>2013-05-02 11:15:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>arv</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>571451</commentid>
    <comment_count>0</comment_count>
      <attachid>130283</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-05 21:47:14 -0800</bug_when>
    <thetext>Created attachment 130283
Test cases

V8 bindings for HTMLElement.classList, Element.dataset and Node.attributes are much slower than JavaScriptCore bindings. We should optimize them.

Performance tests are attached. The results for the tests in my local Mac environment are as follows:

AppleWebKit/JavaScriptCore:
div.classList : 382ms
div.classList.foo = 123 : 335ms
div.dataset : 403ms
div.dataset.foo = 123 : 5250ms
div.attributes : 183ms

Chromium/V8:
div.classList : 9140ms
div.classList.foo = 123 : 9086ms
div.dataset : 9930ms
div.dataset.foo = 123 : 49698ms
div.attributes : 13489ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571452</commentid>
    <comment_count>1</comment_count>
      <attachid>130284</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-05 21:48:09 -0800</bug_when>
    <thetext>Created attachment 130284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571453</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-05 21:48:41 -0800</bug_when>
    <thetext>The patch improves the performance of HTMLElement.classList, Element.dataset and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571465</commentid>
    <comment_count>3</comment_count>
      <attachid>130284</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-05 22:08:10 -0800</bug_when>
    <thetext>Comment on attachment 130284
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:95
&gt; +        static v8::Persistent&lt;v8::String&gt; hiddenReferenceName = v8::Persistent&lt;v8::String&gt;::New(V8HiddenPropertyName::hiddenReferenceName(&quot;domStringMap&quot;));

We should use DEFINE_STATIC_LOCAL.  Actually, consider using V8HiddenPropertyName, which should solve this problem too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571500</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-05 22:37:47 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:95
&gt; &gt; +        static v8::Persistent&lt;v8::String&gt; hiddenReferenceName = v8::Persistent&lt;v8::String&gt;::New(V8HiddenPropertyName::hiddenReferenceName(&quot;domStringMap&quot;));
&gt; 
&gt; We should use DEFINE_STATIC_LOCAL. 

Sure. Thanks.

&gt; Actually, consider using V8HiddenPropertyName, which should solve this problem too.

What do you mean?

DEFINE_STATIC_LOCAL(v8::Persistent&lt;v8::String&gt;, hiddenReferenceName, v8::Persistent&lt;v8::String&gt;::New(V8HiddenPropertyName::hiddenReferenceName(&quot;domStringMap&quot;)); ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571563</commentid>
    <comment_count>5</comment_count>
      <attachid>130310</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-05 23:58:27 -0800</bug_when>
    <thetext>Created attachment 130310
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571595</commentid>
    <comment_count>6</comment_count>
      <attachid>130322</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 00:46:58 -0800</bug_when>
    <thetext>Created attachment 130322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571598</commentid>
    <comment_count>7</comment_count>
      <attachid>130322</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-06 00:49:05 -0800</bug_when>
    <thetext>Comment on attachment 130322
Patch

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

&gt; Source/WebCore/ChangeLog:63
&gt; +2012-03-05  Kentaro Hara  &lt;haraken@chromium.org&gt;

Looks like you&apos;ve got two ChangeLogs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571599</commentid>
    <comment_count>8</comment_count>
      <attachid>130323</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 00:49:12 -0800</bug_when>
    <thetext>Created attachment 130323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571711</commentid>
    <comment_count>9</comment_count>
      <attachid>130323</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-06 03:57:36 -0800</bug_when>
    <thetext>Comment on attachment 130323
Patch

Rejecting attachment 130323 from commit-queue.

New failing tests:
fast/xmlhttprequest/xmlhttprequest-gc.html
inspector/debugger/script-formatter-breakpoints.html
Full output: http://queues.webkit.org/results/11835315</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571865</commentid>
    <comment_count>10</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-06 08:03:15 -0800</bug_when>
    <thetext>I have a patch that removes this code entirely. We should not be using hidden properties at all. We should use hidden references in the GC phase instead. 

I&apos;m currently using my phone. I&apos;ll provide more details when I get to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571881</commentid>
    <comment_count>11</comment_count>
      <attachid>130323</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-06 08:26:37 -0800</bug_when>
    <thetext>Comment on attachment 130323
Patch

Okay, let&apos;s not land this patch until arv comments on the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571902</commentid>
    <comment_count>12</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-06 09:13:17 -0800</bug_when>
    <thetext>In the WIP patch for bug 78149 I introduces V8GenerateIsReachable (name is matching JSC but implementation is very different). If this extended attribute is set we generate code that calls v8::V8::AddImplicitReferences which adds an edge from the parent to the child object during the GC phase.

When working on bug 78052 I also found that creating a new symbol every time is slow. We should define the name statically in the code generator too. See patch for 78052. 

I think it does not hurt to submit this. Since this is a perf win we will need to ensure that the other work er are doing is at least as good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571904</commentid>
    <comment_count>13</comment_count>
      <attachid>130323</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-06 09:18:31 -0800</bug_when>
    <thetext>Comment on attachment 130323
Patch

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

&gt; Source/WebCore/bindings/v8/V8HiddenPropertyName.h:58
&gt; +#define V8_DECLARE_PROPERTY(name, prefix) static v8::Handle&lt;v8::String&gt; name();

prefix is not used

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:95
&gt; +        toV8(element)-&gt;ToObject()-&gt;SetHiddenValue(V8HiddenPropertyName::domStringMap(), wrapper);

Use v8::Object::Cast or As() instead. If you look at the code it is a lot cheaper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572232</commentid>
    <comment_count>14</comment_count>
      <attachid>130458</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 15:52:54 -0800</bug_when>
    <thetext>Created attachment 130458
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572233</commentid>
    <comment_count>15</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 15:53:11 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; Source/WebCore/bindings/v8/V8HiddenPropertyName.h:58
&gt; &gt; +#define V8_DECLARE_PROPERTY(name, prefix) static v8::Handle&lt;v8::String&gt; name();
&gt; 
&gt; prefix is not used

prefix is necessary, since V8_DECLARE_PROPERTY() is called by V8_HIDDEN_PROPERTIES().

&gt; &gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:95
&gt; &gt; +        toV8(element)-&gt;ToObject()-&gt;SetHiddenValue(V8HiddenPropertyName::domStringMap(), wrapper);
&gt; 
&gt; Use v8::Object::Cast or As() instead. If you look at the code it is a lot cheaper.

Fixed. (I couldn&apos;t see any performance gain though.)

&gt; I think it does not hurt to submit this. Since this is a perf win we will need to ensure that the other work er are doing is at least as good.

Thanks. Let me land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572235</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 15:55:04 -0800</bug_when>
    <thetext>Committed r109969: &lt;http://trac.webkit.org/changeset/109969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572239</commentid>
    <comment_count>17</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 16:03:14 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; In the WIP patch for bug 78149 I introduces V8GenerateIsReachable (name is matching JSC but implementation is very different). If this extended attribute is set we generate code that calls v8::V8::AddImplicitReferences which adds an edge from the parent to the child object during the GC phase.

arv: Sounds great!

In following patches, I am planning to remove V8HiddenPropertyName::hiddenReferenceName() completely (and may remove V8HiddenPropertyName.{h,cpp}). V8HiddenPropertyName::fooName() is not good in that we need to add V8_HIDDEN_PROPERTIES(V) entries to V8HiddenPropertyName.h every time we want to add a new fooName. This makes it difficult to generate V8HiddenPropertyName::fooName() in code generators (since the code generators cannot touch V8HiddenPropertyName.h). Maybe what we need is just one macro, i.e. DEFINE_STATIC_HIDDEN_NAME(fooName), which defines the hidden fooName statically on v8::Persistent. I am afraid this work would conflict with bug 78052. If you have concern, I can stop the work. WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572460</commentid>
    <comment_count>18</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 19:53:43 -0800</bug_when>
    <thetext>Reverted r109969 for reason:

layout tests crash

Committed r110004: &lt;http://trac.webkit.org/changeset/110004&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572497</commentid>
    <comment_count>19</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 21:07:11 -0800</bug_when>
    <thetext>It seems the patch was innocent. Landed again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572542</commentid>
    <comment_count>20</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 22:35:43 -0800</bug_when>
    <thetext>Reverted r110011 for reason:

layout tests crash

Committed r110019: &lt;http://trac.webkit.org/changeset/110019&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572544</commentid>
    <comment_count>21</comment_count>
      <attachid>130547</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 22:38:41 -0800</bug_when>
    <thetext>Created attachment 130547
patch I tried to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572545</commentid>
    <comment_count>22</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-06 22:40:07 -0800</bug_when>
    <thetext>The following tests are crashing in V8 gc:

fast/writing-mode/Kusa-Makura-background-canvas.html
inspector/debugger/script-formatter-breakpoints.html
inspector/debugger/script-formatter.html
storage/indexeddb/index-count.html
storage/indexeddb/objectstore-basics.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573347</commentid>
    <comment_count>23</comment_count>
      <attachid>130547</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 16:27:06 -0800</bug_when>
    <thetext>Comment on attachment 130547
patch I tried to land

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

&gt; Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp:47
&gt; +    DEFINE_STATIC_LOCAL(v8::Persistent&lt;v8::String&gt;, hiddenPropertyName, (createString(prefix V8_AS_STRING(name)))); \

It seems we cannot use a static variable in bindings code which can be executed by multiple threads. I&apos;ll fix bug 80453 before committing this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573468</commentid>
    <comment_count>24</comment_count>
      <attachid>130746</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 18:41:23 -0800</bug_when>
    <thetext>Created attachment 130746
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573521</commentid>
    <comment_count>25</comment_count>
      <attachid>130746</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-07 20:00:08 -0800</bug_when>
    <thetext>Comment on attachment 130746
patch for landing

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

Overall comments

&gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:96
&gt;          if (!elementValue.IsEmpty() &amp;&amp; elementValue-&gt;IsObject())

This test can be removed like you said in the ChangeLog.

&gt; Source/WebCore/bindings/v8/custom/V8DOMTokenListCustom.cpp:50
&gt;          if (!elementValue.IsEmpty() &amp;&amp; elementValue-&gt;IsObject())

remove

&gt; Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp:81
&gt;      if (!wrapper.IsEmpty() &amp;&amp; element)

remove</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573524</commentid>
    <comment_count>26</comment_count>
      <attachid>130746</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 20:02:44 -0800</bug_when>
    <thetext>Comment on attachment 130746
patch for landing

Clearing flags on attachment: 130746

Committed r110137: &lt;http://trac.webkit.org/changeset/110137&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573525</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 20:02:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573533</commentid>
    <comment_count>28</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 20:11:16 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; &gt; Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp:96
&gt; &gt;          if (!elementValue.IsEmpty() &amp;&amp; elementValue-&gt;IsObject())
&gt; 
&gt; This test can be removed like you said in the ChangeLog.
&gt;
&gt; &gt; Source/WebCore/bindings/v8/custom/V8DOMTokenListCustom.cpp:50
&gt; &gt;          if (!elementValue.IsEmpty() &amp;&amp; elementValue-&gt;IsObject())
&gt; 
&gt; remove

OK. I&apos;ll do it in a following patch.
 
&gt; &gt; Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp:81
&gt; &gt;      if (!wrapper.IsEmpty() &amp;&amp; element)

I think this cannot be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573558</commentid>
    <comment_count>29</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 21:12:58 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573559</commentid>
    <comment_count>30</comment_count>
      <attachid>130759</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 21:13:02 -0800</bug_when>
    <thetext>Created attachment 130759
follow-up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573562</commentid>
    <comment_count>31</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-07 21:19:39 -0800</bug_when>
    <thetext>Per-isolate data to the rescue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573564</commentid>
    <comment_count>32</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 21:21:08 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; Per-isolate data to the rescue.

What do you mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573574</commentid>
    <comment_count>33</comment_count>
      <attachid>130759</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-07 21:27:57 -0800</bug_when>
    <thetext>Comment on attachment 130759
follow-up patch

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

&gt; Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp:49
&gt; +    return V8BindingPerIsolateData::current()-&gt;hiddenPropertyName()-&gt;m_##name; \

I mean that using V8BindingPerIsolateData lets you get around the threading problems since each isolate is only used on one thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575350</commentid>
    <comment_count>34</comment_count>
      <attachid>130759</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-09 16:58:25 -0800</bug_when>
    <thetext>Comment on attachment 130759
follow-up patch

  fast/filesystem/workers/file-from-file-entry.html = CRASH
  fast/filesystem/workers/file-writer-gc-blob.html = CRASH
  fast/filesystem/workers/file-writer-sync-truncate-extend.html = CRASH
  fast/filesystem/workers/file-writer-sync-write-overlapped.html = CRASH
  fast/filesystem/workers/file-writer-truncate-extend.html = CRASH
  fast/filesystem/workers/file-writer-write-overlapped.html = CRASH
  http/tests/eventsource/workers/eventsource-simple.html = CRASH
  http/tests/filesystem/workers/resolve-url-sync.html = CRASH
  http/tests/filesystem/workers/resolve-url.html = CRASH
  http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html = CRASH
  http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html = CRASH

This patch makes many tests crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575856</commentid>
    <comment_count>35</comment_count>
      <attachid>131262</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-11 17:32:03 -0700</bug_when>
    <thetext>Created attachment 131262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575857</commentid>
    <comment_count>36</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-11 17:33:46 -0700</bug_when>
    <thetext>Restored &quot;if (!elementValue.IsEmpty() &amp;&amp; elementValue-&gt;IsObject())&quot; check. I think that theoretically the check won&apos;t be necessary, but actually it seems to be necessary. Watching the cr-linux ews-bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575896</commentid>
    <comment_count>37</comment_count>
      <attachid>131262</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-11 19:30:25 -0700</bug_when>
    <thetext>Comment on attachment 131262
Patch

It still crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576863</commentid>
    <comment_count>38</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-12 18:28:58 -0700</bug_when>
    <thetext>arv: Do you know why creating a string in the V8HiddenPropertyName constructor causes test crashes? Maybe this seems to be a similar crash when we use a static variable in bindings code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577629</commentid>
    <comment_count>39</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 12:00:27 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; arv: Do you know why creating a string in the V8HiddenPropertyName constructor causes test crashes? Maybe this seems to be a similar crash when we use a static variable in bindings code.

I don&apos;t think these are thread safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589169</commentid>
    <comment_count>40</comment_count>
      <attachid>130322</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-27 12:50:35 -0700</bug_when>
    <thetext>Comment on attachment 130322
Patch

Cleared Adam Barth&apos;s review+ from obsolete attachment 130322 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883843</commentid>
    <comment_count>41</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-02 11:15:13 -0700</bug_when>
    <thetext>V8 is gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>130283</attachid>
            <date>2012-03-05 21:47:14 -0800</date>
            <delta_ts>2012-03-05 21:47:14 -0800</delta_ts>
            <desc>Test cases</desc>
            <filename>dom_class_list.html</filename>
            <type>text/html</type>
            <size>1266</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9Im5vZGUiPgo8L2Rpdj4KPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KPHNjcmlwdD4KdmFyIHJlcGVhdCA9IDEwMDAwMDAwOwp2YXIgZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vZGUiKTsKdmFyIHJlc3VsdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKCihmdW5jdGlvbihkaXYpIHsKICB2YXIgc3RhcnQg
PSBEYXRlLm5vdygpOwogIGRpdi5jbGFzc0xpc3QuZm9vID0gMTIzOwogIGZvciAodmFyIGkgPSAw
OyBpIDwgcmVwZWF0OyBpKyspIHsKICAgIGRpdi5jbGFzc0xpc3Q7CiAgfQogIHJlc3VsdC5pbm5l
ckhUTUwgKz0gImRpdi5jbGFzc0xpc3QgOiAiICsgKERhdGUubm93KCkgLSBzdGFydCkgKyAibXM8
YnIgLz4iOwp9KShkaXYpOwoKKGZ1bmN0aW9uKGRpdikgewogIHZhciBzdGFydCA9IERhdGUubm93
KCk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBlYXQ7IGkrKykgewogICAgZGl2LmNsYXNzTGlz
dC5mb28gPSAxMjM7CiAgfQogIHJlc3VsdC5pbm5lckhUTUwgKz0gImRpdi5jbGFzc0xpc3QuZm9v
ID0gMTIzIDogIiArIChEYXRlLm5vdygpIC0gc3RhcnQpICsgIm1zPGJyIC8+IjsKfSkoZGl2KTsK
CihmdW5jdGlvbihkaXYpIHsKICB2YXIgc3RhcnQgPSBEYXRlLm5vdygpOwogIGRpdi5kYXRhc2V0
LmZvbyA9IDEyMzsKICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKSB7CiAgICBkaXYu
ZGF0YXNldDsKICB9CiAgcmVzdWx0LmlubmVySFRNTCArPSAiZGl2LmRhdGFzZXQgOiAiICsgKERh
dGUubm93KCkgLSBzdGFydCkgKyAibXM8YnIgLz4iOwp9KShkaXYpOwoKKGZ1bmN0aW9uKGRpdikg
ewogIHZhciBzdGFydCA9IERhdGUubm93KCk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBlYXQ7
IGkrKykgewogICAgZGl2LmRhdGFzZXQuZm9vID0gMTIzOwogIH0KICByZXN1bHQuaW5uZXJIVE1M
ICs9ICJkaXYuZGF0YXNldC5mb28gPSAxMjMgOiAiICsgKERhdGUubm93KCkgLSBzdGFydCkgKyAi
bXM8YnIgLz4iOwp9KShkaXYpOwoKKGZ1bmN0aW9uKGRpdikgewogIHZhciBzdGFydCA9IERhdGUu
bm93KCk7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXBlYXQ7IGkrKykgewogICAgZGl2LmF0dHJp
YnV0ZXM7CiAgfQogIHJlc3VsdC5pbm5lckhUTUwgKz0gImRpdi5hdHRyaWJ1dGVzIDogIiArIChE
YXRlLm5vdygpIC0gc3RhcnQpICsgIm1zPGJyIC8+IjsKfSkoZGl2KTsKCjwvc2NyaXB0Pgo8L2Jv
ZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130284</attachid>
            <date>2012-03-05 21:48:09 -0800</date>
            <delta_ts>2012-03-06 00:46:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80376-20120306144807.patch</filename>
            <type>text/plain</type>
            <size>5505</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzljNDcyZWYyZTYwYTEw
YmEyNjE4Yzk1ODYyOTEwNjc5OWI3YzViOS4uNmEzZDhlZDA1ZjhmNzJjOGYyMWExYzlkMGJjNWVi
YzAyZDNhMWEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAzLTA1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBw
ZXJmb3JtYW5jZSBvZiBIVE1MRWxlbWVudC5jbGFzc0xpc3QsIEVsZW1lbnQuZGF0YXNldAorICAg
ICAgICBhbmQgTm9kZS5hdHRyaWJ1dGVzIGJ5IDYuNCB0aW1lcywgNy4xIHRpbWVzIGFuZCAxMC45
IHRpbWVzLCByZXNwZWN0aXZlbHkuIFlheSEhCisKKyAgICAgICAgUHJldmlvdXNseSwgYSAnaGlk
ZGVuUmVmZXJlbmNlTmFtZScgc3RyaW5nIHdhcyBhbGxvY2F0ZWQgb24gdjg6OkhhbmRsZSBhbmQK
KyAgICAgICAgY3JlYXRlZCBldmVyeSB0aW1lIHRoZSBET00gYXR0cmlidXRlIGlzIGFjY2Vzc2Vk
LCBpbiBzcGl0ZSBvZiB0aGUgZmFjdCB0aGF0CisgICAgICAgIHRoZSAnaGlkZGVuUmVmZXJlbmNl
TmFtZScgc3RyaW5nIGlzIHN0YXRpYy4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIHRoZSAn
aGlkZGVuUmVmZXJlbmNlTmFtZScgc3RyaW5nIHRvIHY4OjpQZXJzaXN0ZW50IGFuZCBtYWtlcyBp
dCBzdGF0aWMuCisgICAgICAgIEFsc28sIHRoaXMgcGF0Y2ggcmVtb3ZlcyAnaWYgKCFlbGVtZW50
VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSknLAorICAgICAgICBz
aW5jZSBpZiAnZWxlbWVudCcgZXhpc3RzLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgJ2VsZW1lbnRW
YWx1ZScgaXMgbm90IGVtcHR5CisgICAgICAgIGFuZCBpcyBhbiBPYmplY3QuCisKKyAgICAgICAg
QXBwbGVXZWJLaXQvSmF2YVNjcmlwdENvcmU6CisgICAgICAgIGRpdi5jbGFzc0xpc3QgOiAzODJt
cworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDMzNW1zCisgICAgICAgIGRpdi5k
YXRhc2V0IDogNDAzbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIzIDogNTI1MG1zCisg
ICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTgzbXMKKworICAgICAgICBDaHJvbWl1bS9WOCAod2l0
aG91dCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDkxNDBtcworICAgICAg
ICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDkwODZtcworICAgICAgICBkaXYuZGF0YXNldCA6
IDk5MzBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiA0OTY5OG1zCisgICAgICAg
IGRpdi5hdHRyaWJ1dGVzIDogMTM0ODltcworCisgICAgICAgIENocm9taXVtL1Y4ICh3aXRoIHRo
aXMgcGF0Y2gpOgorICAgICAgICBkaXYuY2xhc3NMaXN0IDogMTQzNW1zCisgICAgICAgIGRpdi5j
bGFzc0xpc3QuZm9vID0gMTIzIDogMTQ3MG1zCisgICAgICAgIGRpdi5kYXRhc2V0IDogMTQwMG1z
CisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9IDEyMyA6IDMwMzk2bXMKKyAgICAgICAgZGl2LmF0
dHJpYnV0ZXMgOiAxMjQybXMKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisKIDIwMTItMDMtMDUgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBCZSBtb3JlIGFnZ3Jlc3NpdmUgYWJvdXQg
cmVwYWludGluZyBwYWdlIG92ZXJsYXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCAyNzk5YWUy
Yzg3NGUzNGVjMzA5YWRmNjVmOGZkNzFmYWVjNzA5ZTFlLi4wZTM4YzI1OWMxM2JlN2M2MTMwM2Vj
M2UwYzBmOTFkNGZlMTkyNTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTkyLDkgKzkyLDgg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsKQogICAgIC8v
IEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NU3RyaW5n
TWFwLgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7CiAgICAgaWYgKCF3
cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRW
YWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAg
VjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZShlbGVtZW50VmFsdWUuQXM8djg6
Ok9iamVjdD4oKSwgImRvbVN0cmluZ01hcCIsIHdyYXBwZXIpOworICAgICAgICBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gaGlkZGVuUmVmZXJlbmNlTmFtZSA9IHY4OjpQZXJzaXN0
ZW50PHY4OjpTdHJpbmc+OjpOZXcoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmhpZGRlblJlZmVyZW5j
ZU5hbWUoImRvbVN0cmluZ01hcCIpKTsKKyAgICAgICAgdG9WOChlbGVtZW50KS0+VG9PYmplY3Qo
KS0+U2V0SGlkZGVuVmFsdWUoaGlkZGVuUmVmZXJlbmNlTmFtZSwgd3JhcHBlcik7CiAgICAgfQog
ICAgIHJldHVybiB3cmFwcGVyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKaW5kZXggMDgwNTFhYmQ1
NThkZWYxYzZmNjI5NjU3MTgyODAxMzIxMjMxOGUzNS4uNTI1ZTZkMDlmYjJlMWQ5OGEwY2JhMDg4
MTYzZDc3ZmFmMzRkMTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBAIC00Niw5ICs0Niw4IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVRva2VuTGlzdCogaW1wbCkKICAgICAvLyBB
ZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gdGhlIGVsZW1lbnQgdG8gdGhlIERPTVRva2VuTGlz
dC4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOwogICAgIGlmICghd3Jh
cHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkgewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gZWxlbWVudFZhbHVlID0gdG9WOChlbGVtZW50KTsKLSAgICAgICAgaWYgKCFlbGVtZW50VmFs
dWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIFY4
RE9NV3JhcHBlcjo6c2V0TmFtZWRIaWRkZW5SZWZlcmVuY2UoZWxlbWVudFZhbHVlLkFzPHY4OjpP
YmplY3Q+KCksICJkb21Ub2tlbkxpc3QiLCB3cmFwcGVyKTsKKyAgICAgICAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGhpZGRlblJlZmVyZW5jZU5hbWUgPSB2ODo6UGVyc2lzdGVu
dDx2ODo6U3RyaW5nPjo6TmV3KFY4SGlkZGVuUHJvcGVydHlOYW1lOjpoaWRkZW5SZWZlcmVuY2VO
YW1lKCJkb21Ub2tlbkxpc3QiKSk7CisgICAgICAgIHRvVjgoZWxlbWVudCktPlRvT2JqZWN0KCkt
PlNldEhpZGRlblZhbHVlKGhpZGRlblJlZmVyZW5jZU5hbWUsIHdyYXBwZXIpOwogICAgIH0KICAg
ICByZXR1cm4gd3JhcHBlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IDQ3ODJkY2MzMjJk
MDVhZGRkMDY2NmVhZTFlOTgxNzFkMjRiOTk0NzkuLjVkOWUzYTJmNGEyZjA0OGRmZmI4MjllMDVk
MDczNzUxYTI0MWNlNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzgsOCArNzgsMTAgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsKQogICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4TmFtZWROb2RlTWFwOjp3cmFwKGltcGwpOwog
ICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBuYW1lZCBub2RlIG1hcCB0byBpdHMg
b3duZXIgbm9kZS4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOwotICAg
IGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkKLSAgICAgICAgVjhET01XcmFwcGVy
OjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChlbGVt
ZW50KSk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7CisgICAgICAg
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBoaWRkZW5SZWZlcmVuY2VOYW1lID0g
djg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz46Ok5ldyhWOEhpZGRlblByb3BlcnR5TmFtZTo6aGlk
ZGVuUmVmZXJlbmNlTmFtZSgib3duZXJOb2RlIikpOworICAgICAgICB0b1Y4KGVsZW1lbnQpLT5U
b09iamVjdCgpLT5TZXRIaWRkZW5WYWx1ZShoaWRkZW5SZWZlcmVuY2VOYW1lLCB3cmFwcGVyKTsK
KyAgICB9CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130310</attachid>
            <date>2012-03-05 23:58:27 -0800</date>
            <delta_ts>2012-03-06 00:46:51 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-80376-20120306165825.patch</filename>
            <type>text/plain</type>
            <size>9182</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzljNDcyZWYyZTYwYTEw
YmEyNjE4Yzk1ODYyOTEwNjc5OWI3YzViOS4uMDZlZjMwYjI2NGQzYTZmMThhYjgzZmM5MTk1MDVi
YThiYTI5OTBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTAzLTA1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBw
ZXJmb3JtYW5jZSBvZiBIVE1MRWxlbWVudC5jbGFzc0xpc3QsIEVsZW1lbnQuZGF0YXNldAorICAg
ICAgICBhbmQgTm9kZS5hdHRyaWJ1dGVzIGJ5IDYuNCB0aW1lcywgNy4xIHRpbWVzIGFuZCAxMC45
IHRpbWVzLCByZXNwZWN0aXZlbHkuIFlheSEhCisKKyAgICAgICAgUHJldmlvdXNseSwgYSAnaGlk
ZGVuUmVmZXJlbmNlTmFtZScgc3RyaW5nIHdhcyBhbGxvY2F0ZWQgb24gdjg6OkhhbmRsZSBhbmQK
KyAgICAgICAgY3JlYXRlZCBldmVyeSB0aW1lIHRoZSBET00gYXR0cmlidXRlIGlzIGFjY2Vzc2Vk
LCBpbiBzcGl0ZSBvZiB0aGUgZmFjdCB0aGF0CisgICAgICAgIHRoZSAnaGlkZGVuUmVmZXJlbmNl
TmFtZScgc3RyaW5nIGlzIHN0YXRpYy4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIHRoZSAn
aGlkZGVuUmVmZXJlbmNlTmFtZScgc3RyaW5nIHRvIHY4OjpQZXJzaXN0ZW50IGFuZCBtYWtlcyBp
dCBzdGF0aWMuCisgICAgICAgIEFsc28sIHRoaXMgcGF0Y2ggcmVtb3ZlcyAnaWYgKCFlbGVtZW50
VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSknLAorICAgICAgICBz
aW5jZSBpZiAnZWxlbWVudCcgZXhpc3RzLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgJ2VsZW1lbnRW
YWx1ZScgaXMgbm90IGVtcHR5CisgICAgICAgIGFuZCBpcyBhbiBPYmplY3QuCisKKyAgICAgICAg
QXBwbGVXZWJLaXQvSmF2YVNjcmlwdENvcmU6CisgICAgICAgIGRpdi5jbGFzc0xpc3QgOiAzODJt
cworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDMzNW1zCisgICAgICAgIGRpdi5k
YXRhc2V0IDogNDAzbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIzIDogNTI1MG1zCisg
ICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTgzbXMKKworICAgICAgICBDaHJvbWl1bS9WOCAod2l0
aG91dCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDkxNDBtcworICAgICAg
ICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDkwODZtcworICAgICAgICBkaXYuZGF0YXNldCA6
IDk5MzBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiA0OTY5OG1zCisgICAgICAg
IGRpdi5hdHRyaWJ1dGVzIDogMTM0ODltcworCisgICAgICAgIENocm9taXVtL1Y4ICh3aXRoIHRo
aXMgcGF0Y2gpOgorICAgICAgICBkaXYuY2xhc3NMaXN0IDogMTQzNW1zCisgICAgICAgIGRpdi5j
bGFzc0xpc3QuZm9vID0gMTIzIDogMTQ3MG1zCisgICAgICAgIGRpdi5kYXRhc2V0IDogMTQwMG1z
CisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9IDEyMyA6IDMwMzk2bXMKKyAgICAgICAgZGl2LmF0
dHJpYnV0ZXMgOiAxMjQybXMKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcDogTW9kaWZpZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAoV2ViQ29yZTo6dG9W
OCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OnRvVjgpOgorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEhpZGRlblByb3Bl
cnR5TmFtZTo6aGlkZGVuUmVmZXJlbmNlTmFtZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWUpOgorCiAyMDEyLTAzLTA1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNj
YUBhcHBsZS5jb20+CiAKICAgICAgICAgQmUgbW9yZSBhZ2dyZXNzaXZlIGFib3V0IHJlcGFpbnRp
bmcgcGFnZSBvdmVybGF5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCmluZGV4IDkzYWM3NTE3ODRiMjQ5OGJhZDUyNzBjNjU2Nzc2
NzAwNWRiOTExNjIuLjlmMDdlMDlmNTI1ZWIzZWU5ZDU3YWU3Zjg5OGNlY2ExZWM4NTM1ZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFt
ZS5jcHAKQEAgLTQwLDI0ICs0MCwyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZGVmaW5lIFY4
X0FTX1NUUklORyh4KSBWOF9BU19TVFJJTkdfSU1QTCh4KQogI2RlZmluZSBWOF9BU19TVFJJTkdf
SU1QTCh4KSAjeAogCi0jZGVmaW5lIFY4X0RFRklORV9QUk9QRVJUWShuYW1lKSBcCisjZGVmaW5l
IFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkobmFtZSwgcHJlZml4KSBcCiB2ODo6SGFuZGxlPHY4
OjpTdHJpbmc+IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpuYW1lKCkgXAogeyBcCiAgICAgVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWUqIGhpZGRlblByb3BlcnR5TmFtZSA9IFY4QmluZGluZ1Blcklzb2xhdGVE
YXRhOjpjdXJyZW50KCktPmhpZGRlblByb3BlcnR5TmFtZSgpOyBcCiAgICAgaWYgKGhpZGRlblBy
b3BlcnR5TmFtZS0+bV8jI25hbWUuSXNFbXB0eSgpKSB7IFwKLSAgICAgICAgaGlkZGVuUHJvcGVy
dHlOYW1lLT5tXyMjbmFtZSA9IGNyZWF0ZVN0cmluZygiV2ViQ29yZTo6SGlkZGVuUHJvcGVydHk6
OiIgVjhfQVNfU1RSSU5HKG5hbWUpKTsgXAorICAgICAgICBoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1f
IyNuYW1lID0gY3JlYXRlU3RyaW5nKHByZWZpeCBWOF9BU19TVFJJTkcobmFtZSkpOyBcCiAgICAg
fSBcCiAgICAgcmV0dXJuIGhpZGRlblByb3BlcnR5TmFtZS0+bV8jI25hbWU7IFwKIH0KIAotVjhf
SElEREVOX1BST1BFUlRJRVMoVjhfREVGSU5FX1BST1BFUlRZKTsKLQotc3RhdGljIGNvbnN0IGNo
YXIgaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeFtdID0gIldlYkNvcmU6OkhpZGRlblJlZmVyZW5j
ZTo6IjsKK1Y4X0hJRERFTl9QUk9QRVJUSUVTKFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkpOwog
CiB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpoaWRkZW5SZWZl
cmVuY2VOYW1lKGNvbnN0IGNoYXIqIG5hbWUpCiB7CiAgICAgVmVjdG9yPGNoYXIsIDY0PiBwcmVm
aXhlZE5hbWU7Ci0gICAgcHJlZml4ZWROYW1lLmFwcGVuZChoaWRkZW5SZWZlcmVuY2VOYW1lUHJl
Zml4LCBzaXplb2YoaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeCkgLSAxKTsKKyAgICBwcmVmaXhl
ZE5hbWUuYXBwZW5kKFY4X0hJRERFTl9SRUZFUkVOQ0VfUFJFRklYLCBzaXplb2YoVjhfSElEREVO
X1JFRkVSRU5DRV9QUkVGSVgpIC0gMSk7CiAgICAgQVNTRVJUKG5hbWUgJiYgc3RybGVuKG5hbWUp
KTsKICAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKG5hbWUsIHN0cmxlbihuYW1lKSk7CiAgICAgcmV0
dXJuIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChwcmVmaXhlZE5hbWUuZGF0YSgpLCBzdGF0aWNfY2Fz
dDxpbnQ+KHByZWZpeGVkTmFtZS5zaXplKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCmluZGV4IGM4ZjUzNTI3ZmU4YThmMmE0YzU4
ODQ2MmUyYjM5OGExMmRkY2E1MTUuLjk5YmYzNjc2N2ZjYTZkMGJkYzQ4ODA2MmI2ZTM2ODQ3NDEw
ODk3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWUuaApAQCAtMzUsMjIgKzM1LDI3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
I2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBcCi0gICAgVihvYmplY3RQcm90b3R5cGUp
IFwKLSAgICBWKGxpc3RlbmVyKSBcCi0gICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAotICAgIFYo
c2NyaXB0U3RhdGUpIFwKLSAgICBWKGRldnRvb2xzSW5qZWN0ZWRTY3JpcHQpIFwKLSAgICBWKHNs
ZWVwRnVuY3Rpb24pIFwKLSAgICBWKHRvU3RyaW5nU3RyaW5nKSBcCi0gICAgVihldmVudCkgXAot
ICAgIFYoc3RhdGUpCisjZGVmaW5lIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVggIldlYkNvcmU6
OkhpZGRlblByb3BlcnR5OjoiCisjZGVmaW5lIFY4X0hJRERFTl9SRUZFUkVOQ0VfUFJFRklYICJX
ZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIKIAorI2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElF
UyhWKSBcCisgICAgVihvYmplY3RQcm90b3R5cGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgp
IFwKKyAgICBWKGxpc3RlbmVyLCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAgVihh
dHRyaWJ1dGVMaXN0ZW5lciwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc2Ny
aXB0U3RhdGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGRldnRvb2xzSW5q
ZWN0ZWRTY3JpcHQsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKHNsZWVwRnVu
Y3Rpb24sIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKHRvU3RyaW5nU3RyaW5n
LCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAgVihldmVudCwgVjhfSElEREVOX1BS
T1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc3RhdGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgp
IFwKKyAgICBWKGRvbVN0cmluZ01hcCwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpIFwKKyAg
ICBWKGRvbVRva2VuTGlzdCwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpIFwKKyAgICBWKG93
bmVyTm9kZSwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpCiAKICAgICBjbGFzcyBWOEhpZGRl
blByb3BlcnR5TmFtZSB7CiAgICAgcHVibGljOgogICAgICAgICBWOEhpZGRlblByb3BlcnR5TmFt
ZSgpIHsgfQotI2RlZmluZSBWOF9ERUNMQVJFX1BST1BFUlRZKG5hbWUpIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKKyNkZWZpbmUgVjhfREVDTEFSRV9QUk9QRVJUWShuYW1l
LCBwcmVmaXgpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKICAgICAgICAg
VjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9QUk9QRVJUWSk7CiAjdW5kZWYgVjhfREVD
TEFSRV9QUk9QRVJUWQogCkBAIC01OCw3ICs2Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBj
cmVhdGVTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKLSNkZWZpbmUgVjhfREVDTEFSRV9GSUVMRChu
YW1lKSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKKyNkZWZpbmUgVjhfREVD
TEFSRV9GSUVMRChuYW1lLCBwcmVmaXgpIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IG1fIyNu
YW1lOwogICAgICAgICBWOF9ISURERU5fUFJPUEVSVElFUyhWOF9ERUNMQVJFX0ZJRUxEKTsKICN1
bmRlZiBWOF9ERUNMQVJFX0ZJRUxECiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCmluZGV4IDI3
OTlhZTJjODc0ZTM0ZWMzMDlhZGY2NWY4ZmQ3MWZhZWM3MDllMWUuLmIxZWRhYzk3Y2QwYTY5MjAy
ZWY4ODk1MWE0ZDczNjVhOTM1NjJhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApAQCAtOTEsMTEg
KzkxLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsKQog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFw
KGltcGwpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0
byB0aGUgRE9NU3RyaW5nTWFwLgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50
KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwotICAgICAg
ICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgp
KQotICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZShlbGVt
ZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKSwgImRvbVN0cmluZ01hcCIsIHdyYXBwZXIpOwotICAg
IH0KKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCisgICAgICAgIHRvVjgo
ZWxlbWVudCktPlRvT2JqZWN0KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1l
Ojpkb21TdHJpbmdNYXAoKSwgd3JhcHBlcik7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlz
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tl
bkxpc3RDdXN0b20uY3BwCmluZGV4IDA4MDUxYWJkNTU4ZGVmMWM2ZjYyOTY1NzE4MjgwMTMyMTIz
MThlMzUuLjIxZWZmYjgzMDc5ZjhkYzJlYmYzYzA5MTZmZTM5ZGE2ZTdmYjllNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcApAQCAtNDUsMTEgKzQ1LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoRE9NVG9rZW5MaXN0KiBpbXBsKQogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
ciA9IFY4RE9NVG9rZW5MaXN0Ojp3cmFwKGltcGwpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZl
cmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgogICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAm
JiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUg
PSB0b1Y4KGVsZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYg
ZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRO
YW1lZEhpZGRlblJlZmVyZW5jZShlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKSwgImRvbVRv
a2VuTGlzdCIsIHdyYXBwZXIpOwotICAgIH0KKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYm
IGVsZW1lbnQpCisgICAgICAgIHRvVjgoZWxlbWVudCktPlRvT2JqZWN0KCktPlNldEhpZGRlblZh
bHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21Ub2tlbkxpc3QoKSwgd3JhcHBlcik7CiAgICAg
cmV0dXJuIHdyYXBwZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IDQ3ODJkY2MzMjJk
MDVhZGRkMDY2NmVhZTFlOTgxNzFkMjRiOTk0NzkuLmEwZWJhNGQ1NTQyMjQyY2Y1MTk3MmMwZGMx
OGQ2NDJkM2M5NWU2MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzksNyArNzksNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwpCiAgICAgLy8gQWRk
IGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIG5hbWVkIG5vZGUgbWFwIHRvIGl0cyBvd25lciBub2Rl
LgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7CiAgICAgaWYgKCF3cmFw
cGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVk
SGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KGVsZW1lbnQpKTsKKyAg
ICAgICAgdG9WOChlbGVtZW50KS0+VG9PYmplY3QoKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6Om93bmVyTm9kZSgpLCB3cmFwcGVyKTsKICAgICByZXR1cm4gd3JhcHBlcjsK
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130322</attachid>
            <date>2012-03-06 00:46:58 -0800</date>
            <delta_ts>2012-03-27 12:50:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80376-20120306174655.patch</filename>
            <type>text/plain</type>
            <size>10253</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzljNDcyZWYyZTYwYTEw
YmEyNjE4Yzk1ODYyOTEwNjc5OWI3YzViOS4uNjkxMmE4NzM5NmJjYjYxYjc0OTQwMDI5OTlkZDBm
OWEwNTUyNDAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTAzLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBw
ZXJmb3JtYW5jZSBvZiBIVE1MRWxlbWVudC5jbGFzc0xpc3QsIEVsZW1lbnQuZGF0YXNldAorICAg
ICAgICBhbmQgTm9kZS5hdHRyaWJ1dGVzIGJ5IDYuNCB0aW1lcywgNy4xIHRpbWVzIGFuZCAxMC45
IHRpbWVzLCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgUHJldmlvdXNseSwgYSAnaGlkZGVuUmVm
ZXJlbmNlTmFtZScgc3RyaW5nIHdhcyBhbGxvY2F0ZWQgb24gdjg6OkhhbmRsZSBhbmQKKyAgICAg
ICAgY3JlYXRlZCBldmVyeSB0aW1lIHRoZSBET00gYXR0cmlidXRlIGlzIGFjY2Vzc2VkLCBpbiBz
cGl0ZSBvZiB0aGUgZmFjdCB0aGF0CisgICAgICAgIHRoZSAnaGlkZGVuUmVmZXJlbmNlTmFtZScg
c3RyaW5nIGlzIHN0YXRpYy4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIHRoZSAnaGlkZGVu
UmVmZXJlbmNlTmFtZScgc3RyaW5nIHRvIHY4OjpQZXJzaXN0ZW50IGFuZCBtYWtlcyBpdCBzdGF0
aWMuCisgICAgICAgIEFsc28sIHRoaXMgcGF0Y2ggcmVtb3ZlcyAnaWYgKCFlbGVtZW50VmFsdWUu
SXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSknLAorICAgICAgICBzaW5jZSBp
ZiAnZWxlbWVudCcgZXhpc3RzLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgJ2VsZW1lbnRWYWx1ZScg
aXMgbm90IGVtcHR5CisgICAgICAgIGFuZCBpcyBhbiBPYmplY3QuCisKKyAgICAgICAgUGVyZm9y
bWFuY2UgdGVzdHM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTEz
MDI4MworCisgICAgICAgIEFwcGxlV2ViS2l0L0phdmFTY3JpcHRDb3JlOgorICAgICAgICBkaXYu
Y2xhc3NMaXN0IDogMzgybXMKKyAgICAgICAgZGl2LmNsYXNzTGlzdC5mb28gPSAxMjMgOiAzMzVt
cworICAgICAgICBkaXYuZGF0YXNldCA6IDQwM21zCisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9
IDEyMyA6IDUyNTBtcworICAgICAgICBkaXYuYXR0cmlidXRlcyA6IDE4M21zCisKKyAgICAgICAg
Q2hyb21pdW0vVjggKHdpdGhvdXQgdGhpcyBwYXRjaCk6CisgICAgICAgIGRpdi5jbGFzc0xpc3Qg
OiA5MTQwbXMKKyAgICAgICAgZGl2LmNsYXNzTGlzdC5mb28gPSAxMjMgOiA5MDg2bXMKKyAgICAg
ICAgZGl2LmRhdGFzZXQgOiA5OTMwbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIzIDog
NDk2OThtcworICAgICAgICBkaXYuYXR0cmlidXRlcyA6IDEzNDg5bXMKKworICAgICAgICBDaHJv
bWl1bS9WOCAod2l0aCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDE0MzVt
cworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDE0NzBtcworICAgICAgICBkaXYu
ZGF0YXNldCA6IDE0MDBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiAzMDM5Nm1z
CisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTI0Mm1zCisKKyAgICAgICAgTm8gdGVzdHMuIE5v
IGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHA6IE1vZGlmaWVkIGFzIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRv
a2VuTGlzdEN1c3RvbS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlk
ZGVuUHJvcGVydHlOYW1lLmNwcDogRGVmaW5lZCBhIGhpZGRlbiBwcm9wZXJ0eSBuYW1lIHN0cmlu
ZyBzdGF0aWNhbGx5CisgICAgICAgIHRvIG9wdGltaXplIHRoZSBtYWNyby4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmhpZGRlblJl
ZmVyZW5jZU5hbWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
Lmg6IE1vZGlmaWVkIHRvIHN3aXRjaCB0d28gcHJlZml4ZXMgIldlYkNvcmU6OkhpZGRlblByb3Bl
cnR5OjoiCisgICAgICAgIGFuZCAiV2ViQ29yZTo6SGlkZGVuUmVmZXJlbmNlOjoiLCBkZXBlbmRp
bmcgb24gd2hldGhlciBhIGdpdmVuIG5hbWUgcmVwcmVzZW50cyBhIGhpZGRlbiBwcm9wZXJ0eQor
ICAgICAgICBvciBhIGhpZGRlbiByZWZlcmVuY2UuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFY4SGlkZGVuUHJvcGVydHlOYW1lKToKKworMjAxMi0wMy0wNSAgS2VudGFybyBIYXJhICA8
aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwOiBNb2RpZmllZCBhcyBkZXNjcmliZWQgYWJvdmUuCisgICAg
ICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01U
b2tlbkxpc3RDdXN0b20uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhp
ZGRlblByb3BlcnR5TmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4SGlkZGVuUHJvcGVydHlOYW1lOjpoaWRkZW5SZWZlcmVuY2VOYW1lKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChWOEhpZGRlblByb3BlcnR5TmFtZSk6CisKIDIwMTItMDMtMDUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBCZSBtb3JlIGFnZ3Jlc3Np
dmUgYWJvdXQgcmVwYWludGluZyBwYWdlIG92ZXJsYXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAKaW5kZXggOTNhYzc1MTc4NGIy
NDk4YmFkNTI3MGM2NTY3NzY3MDA1ZGI5MTE2Mi4uMjI4ZGNmMjFjMTY4ZWYzMGRhZGEyODcxMGMx
ZTMyNjE1NjVmMWIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
SGlkZGVuUHJvcGVydHlOYW1lLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiVjhC
aW5kaW5nLmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDAsMjQgKzQxLDE5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNkZWZpbmUgVjhfQVNfU1RSSU5H
KHgpIFY4X0FTX1NUUklOR19JTVBMKHgpCiAjZGVmaW5lIFY4X0FTX1NUUklOR19JTVBMKHgpICN4
CiAKLSNkZWZpbmUgVjhfREVGSU5FX1BST1BFUlRZKG5hbWUpIFwKKyNkZWZpbmUgVjhfREVGSU5F
X0hJRERFTl9QUk9QRVJUWShuYW1lLCBwcmVmaXgpIFwKIHY4OjpIYW5kbGU8djg6OlN0cmluZz4g
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om5hbWUoKSBcCiB7IFwKLSAgICBWOEhpZGRlblByb3BlcnR5
TmFtZSogaGlkZGVuUHJvcGVydHlOYW1lID0gVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmN1cnJl
bnQoKS0+aGlkZGVuUHJvcGVydHlOYW1lKCk7IFwKLSAgICBpZiAoaGlkZGVuUHJvcGVydHlOYW1l
LT5tXyMjbmFtZS5Jc0VtcHR5KCkpIHsgXAotICAgICAgICBoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1f
IyNuYW1lID0gY3JlYXRlU3RyaW5nKCJXZWJDb3JlOjpIaWRkZW5Qcm9wZXJ0eTo6IiBWOF9BU19T
VFJJTkcobmFtZSkpOyBcCi0gICAgfSBcCi0gICAgcmV0dXJuIGhpZGRlblByb3BlcnR5TmFtZS0+
bV8jI25hbWU7IFwKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKHY4OjpQZXJzaXN0ZW50PHY4OjpT
dHJpbmc+LCBoaWRkZW5Qcm9wZXJ0eU5hbWUsIChjcmVhdGVTdHJpbmcocHJlZml4IFY4X0FTX1NU
UklORyhuYW1lKSkpKTsgXAorICAgIHJldHVybiBoaWRkZW5Qcm9wZXJ0eU5hbWU7IFwKIH0KIAot
VjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVGSU5FX1BST1BFUlRZKTsKLQotc3RhdGljIGNvbnN0
IGNoYXIgaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeFtdID0gIldlYkNvcmU6OkhpZGRlblJlZmVy
ZW5jZTo6IjsKK1Y4X0hJRERFTl9QUk9QRVJUSUVTKFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkp
OwogCiB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpoaWRkZW5S
ZWZlcmVuY2VOYW1lKGNvbnN0IGNoYXIqIG5hbWUpCiB7CiAgICAgVmVjdG9yPGNoYXIsIDY0PiBw
cmVmaXhlZE5hbWU7Ci0gICAgcHJlZml4ZWROYW1lLmFwcGVuZChoaWRkZW5SZWZlcmVuY2VOYW1l
UHJlZml4LCBzaXplb2YoaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeCkgLSAxKTsKKyAgICBwcmVm
aXhlZE5hbWUuYXBwZW5kKFY4X0hJRERFTl9SRUZFUkVOQ0VfUFJFRklYLCBzaXplb2YoVjhfSElE
REVOX1JFRkVSRU5DRV9QUkVGSVgpIC0gMSk7CiAgICAgQVNTRVJUKG5hbWUgJiYgc3RybGVuKG5h
bWUpKTsKICAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKG5hbWUsIHN0cmxlbihuYW1lKSk7CiAgICAg
cmV0dXJuIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChwcmVmaXhlZE5hbWUuZGF0YSgpLCBzdGF0aWNf
Y2FzdDxpbnQ+KHByZWZpeGVkTmFtZS5zaXplKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCmluZGV4IGM4ZjUzNTI3ZmU4YThmMmE0
YzU4ODQ2MmUyYjM5OGExMmRkY2E1MTUuLjBlNGUxOGRiYWVjZmIzODViMWI1YjljZTdhN2FjNGY5
ODk5Yjg0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVu
UHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuaApAQCAtMzUsMjIgKzM1LDI3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBcCi0gICAgVihvYmplY3RQcm90b3R5
cGUpIFwKLSAgICBWKGxpc3RlbmVyKSBcCi0gICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAotICAg
IFYoc2NyaXB0U3RhdGUpIFwKLSAgICBWKGRldnRvb2xzSW5qZWN0ZWRTY3JpcHQpIFwKLSAgICBW
KHNsZWVwRnVuY3Rpb24pIFwKLSAgICBWKHRvU3RyaW5nU3RyaW5nKSBcCi0gICAgVihldmVudCkg
XAotICAgIFYoc3RhdGUpCisjZGVmaW5lIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVggIldlYkNv
cmU6OkhpZGRlblByb3BlcnR5OjoiCisjZGVmaW5lIFY4X0hJRERFTl9SRUZFUkVOQ0VfUFJFRklY
ICJXZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIKIAorI2RlZmluZSBWOF9ISURERU5fUFJPUEVS
VElFUyhWKSBcCisgICAgVihvYmplY3RQcm90b3R5cGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVG
SVgpIFwKKyAgICBWKGxpc3RlbmVyLCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAg
VihhdHRyaWJ1dGVMaXN0ZW5lciwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYo
c2NyaXB0U3RhdGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGRldnRvb2xz
SW5qZWN0ZWRTY3JpcHQsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKHNsZWVw
RnVuY3Rpb24sIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKHRvU3RyaW5nU3Ry
aW5nLCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAgVihldmVudCwgVjhfSElEREVO
X1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc3RhdGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVG
SVgpIFwKKyAgICBWKGRvbVN0cmluZ01hcCwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpIFwK
KyAgICBWKGRvbVRva2VuTGlzdCwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpIFwKKyAgICBW
KG93bmVyTm9kZSwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpCiAKICAgICBjbGFzcyBWOEhp
ZGRlblByb3BlcnR5TmFtZSB7CiAgICAgcHVibGljOgogICAgICAgICBWOEhpZGRlblByb3BlcnR5
TmFtZSgpIHsgfQotI2RlZmluZSBWOF9ERUNMQVJFX1BST1BFUlRZKG5hbWUpIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKKyNkZWZpbmUgVjhfREVDTEFSRV9QUk9QRVJUWShu
YW1lLCBwcmVmaXgpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKICAgICAg
ICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9QUk9QRVJUWSk7CiAjdW5kZWYgVjhf
REVDTEFSRV9QUk9QRVJUWQogCkBAIC01OCw5ICs2Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5n
PiBjcmVhdGVTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKLSNkZWZpbmUgVjhfREVDTEFSRV9GSUVM
RChuYW1lKSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKLSAgICAgICAgVjhf
SElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9GSUVMRCk7Ci0jdW5kZWYgVjhfREVDTEFSRV9G
SUVMRAogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCmluZGV4IDI3OTlhZTJjODc0ZTM0
ZWMzMDlhZGY2NWY4ZmQ3MWZhZWM3MDllMWUuLmIxZWRhYzk3Y2QwYTY5MjAyZWY4ODk1MWE0ZDcz
NjVhOTM1NjJhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApAQCAtOTEsMTEgKzkxLDggQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsKQogICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGltcGwpOwogICAg
IC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NU3Ry
aW5nTWFwLgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAgaWYg
KCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1l
bnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAg
ICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZShlbGVtZW50VmFsdWUuQXM8
djg6Ok9iamVjdD4oKSwgImRvbVN0cmluZ01hcCIsIHdyYXBwZXIpOwotICAgIH0KKyAgICBpZiAo
IXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCisgICAgICAgIHRvVjgoZWxlbWVudCktPlRv
T2JqZWN0KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdN
YXAoKSwgd3JhcHBlcik7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20u
Y3BwCmluZGV4IDA4MDUxYWJkNTU4ZGVmMWM2ZjYyOTY1NzE4MjgwMTMyMTIzMThlMzUuLjIxZWZm
YjgzMDc5ZjhkYzJlYmYzYzA5MTZmZTM5ZGE2ZTdmYjllNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNw
cApAQCAtNDUsMTEgKzQ1LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5M
aXN0KiBpbXBsKQogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9r
ZW5MaXN0Ojp3cmFwKGltcGwpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0
aGUgZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBp
bXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7
Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1l
bnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVl
LT5Jc09iamVjdCgpKQotICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJl
ZmVyZW5jZShlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKSwgImRvbVRva2VuTGlzdCIsIHdy
YXBwZXIpOwotICAgIH0KKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCisg
ICAgICAgIHRvVjgoZWxlbWVudCktPlRvT2JqZWN0KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVu
UHJvcGVydHlOYW1lOjpkb21Ub2tlbkxpc3QoKSwgd3JhcHBlcik7CiAgICAgcmV0dXJuIHdyYXBw
ZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IDQ3ODJkY2MzMjJkMDVhZGRkMDY2NmVh
ZTFlOTgxNzFkMjRiOTk0NzkuLmEwZWJhNGQ1NTQyMjQyY2Y1MTk3MmMwZGMxOGQ2NDJkM2M5NWU2
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzksNyArNzksNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwpCiAgICAgLy8gQWRkIGEgaGlkZGVuIHJl
ZmVyZW5jZSBmcm9tIG5hbWVkIG5vZGUgbWFwIHRvIGl0cyBvd25lciBub2RlLgogICAgIEVsZW1l
bnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7CiAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHko
KSAmJiBlbGVtZW50KQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJl
bmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KGVsZW1lbnQpKTsKKyAgICAgICAgdG9WOChl
bGVtZW50KS0+VG9PYmplY3QoKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
Om93bmVyTm9kZSgpLCB3cmFwcGVyKTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130323</attachid>
            <date>2012-03-06 00:49:12 -0800</date>
            <delta_ts>2012-03-07 21:12:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80376-20120306174911.patch</filename>
            <type>text/plain</type>
            <size>9676</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzljNDcyZWYyZTYwYTEw
YmEyNjE4Yzk1ODYyOTEwNjc5OWI3YzViOS4uMWM0YzU1MjAxNGMwYjRiNDhkNTgzZDUwYTU0MTll
NjAzYjNmZWFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTAzLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvdmVzIHRoZSBw
ZXJmb3JtYW5jZSBvZiBIVE1MRWxlbWVudC5jbGFzc0xpc3QsIEVsZW1lbnQuZGF0YXNldAorICAg
ICAgICBhbmQgTm9kZS5hdHRyaWJ1dGVzIGJ5IDYuNCB0aW1lcywgNy4xIHRpbWVzIGFuZCAxMC45
IHRpbWVzLCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgUHJldmlvdXNseSwgYSAnaGlkZGVuUmVm
ZXJlbmNlTmFtZScgc3RyaW5nIHdhcyBhbGxvY2F0ZWQgb24gdjg6OkhhbmRsZSBhbmQKKyAgICAg
ICAgY3JlYXRlZCBldmVyeSB0aW1lIHRoZSBET00gYXR0cmlidXRlIGlzIGFjY2Vzc2VkLCBpbiBz
cGl0ZSBvZiB0aGUgZmFjdCB0aGF0CisgICAgICAgIHRoZSAnaGlkZGVuUmVmZXJlbmNlTmFtZScg
c3RyaW5nIGlzIHN0YXRpYy4KKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIHRoZSAnaGlkZGVu
UmVmZXJlbmNlTmFtZScgc3RyaW5nIHRvIHY4OjpQZXJzaXN0ZW50IGFuZCBtYWtlcyBpdCBzdGF0
aWMuCisgICAgICAgIEFsc28sIHRoaXMgcGF0Y2ggcmVtb3ZlcyAnaWYgKCFlbGVtZW50VmFsdWUu
SXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSknLAorICAgICAgICBzaW5jZSBp
ZiAnZWxlbWVudCcgZXhpc3RzLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgJ2VsZW1lbnRWYWx1ZScg
aXMgbm90IGVtcHR5CisgICAgICAgIGFuZCBpcyBhbiBPYmplY3QuCisKKyAgICAgICAgUGVyZm9y
bWFuY2UgdGVzdHM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTEz
MDI4MworCisgICAgICAgIEFwcGxlV2ViS2l0L0phdmFTY3JpcHRDb3JlOgorICAgICAgICBkaXYu
Y2xhc3NMaXN0IDogMzgybXMKKyAgICAgICAgZGl2LmNsYXNzTGlzdC5mb28gPSAxMjMgOiAzMzVt
cworICAgICAgICBkaXYuZGF0YXNldCA6IDQwM21zCisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9
IDEyMyA6IDUyNTBtcworICAgICAgICBkaXYuYXR0cmlidXRlcyA6IDE4M21zCisKKyAgICAgICAg
Q2hyb21pdW0vVjggKHdpdGhvdXQgdGhpcyBwYXRjaCk6CisgICAgICAgIGRpdi5jbGFzc0xpc3Qg
OiA5MTQwbXMKKyAgICAgICAgZGl2LmNsYXNzTGlzdC5mb28gPSAxMjMgOiA5MDg2bXMKKyAgICAg
ICAgZGl2LmRhdGFzZXQgOiA5OTMwbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIzIDog
NDk2OThtcworICAgICAgICBkaXYuYXR0cmlidXRlcyA6IDEzNDg5bXMKKworICAgICAgICBDaHJv
bWl1bS9WOCAod2l0aCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDE0MzVt
cworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDE0NzBtcworICAgICAgICBkaXYu
ZGF0YXNldCA6IDE0MDBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiAzMDM5Nm1z
CisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTI0Mm1zCisKKyAgICAgICAgTm8gdGVzdHMuIE5v
IGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHA6IE1vZGlmaWVkIGFzIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRv
a2VuTGlzdEN1c3RvbS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlk
ZGVuUHJvcGVydHlOYW1lLmNwcDogRGVmaW5lZCBhIGhpZGRlbiBwcm9wZXJ0eSBuYW1lIHN0cmlu
ZyBzdGF0aWNhbGx5CisgICAgICAgIHRvIG9wdGltaXplIHRoZSBtYWNyby4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmhpZGRlblJl
ZmVyZW5jZU5hbWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
Lmg6IE1vZGlmaWVkIHRvIHN3aXRjaCB0d28gcHJlZml4ZXMgIldlYkNvcmU6OkhpZGRlblByb3Bl
cnR5OjoiCisgICAgICAgIGFuZCAiV2ViQ29yZTo6SGlkZGVuUmVmZXJlbmNlOjoiLCBkZXBlbmRp
bmcgb24gd2hldGhlciBhIGdpdmVuIG5hbWUgcmVwcmVzZW50cyBhIGhpZGRlbiBwcm9wZXJ0eQor
ICAgICAgICBvciBhIGhpZGRlbiByZWZlcmVuY2UuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFY4SGlkZGVuUHJvcGVydHlOYW1lKToKKwogMjAxMi0wMy0wNSAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEJlIG1vcmUgYWdncmVzc2l2ZSBhYm91
dCByZXBhaW50aW5nIHBhZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcAppbmRleCA5M2FjNzUxNzg0YjI0OThiYWQ1
MjcwYzY1Njc3NjcwMDVkYjkxMTYyLi4yMjhkY2YyMWMxNjhlZjMwZGFkYTI4NzEwYzFlMzI2MTU2
NWYxYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblBy
b3BlcnR5TmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJWOEJpbmRpbmcu
aCIKICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCwyNCAr
NDEsMTkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2RlZmluZSBWOF9BU19TVFJJTkcoeCkgVjhf
QVNfU1RSSU5HX0lNUEwoeCkKICNkZWZpbmUgVjhfQVNfU1RSSU5HX0lNUEwoeCkgI3gKIAotI2Rl
ZmluZSBWOF9ERUZJTkVfUFJPUEVSVFkobmFtZSkgXAorI2RlZmluZSBWOF9ERUZJTkVfSElEREVO
X1BST1BFUlRZKG5hbWUsIHByZWZpeCkgXAogdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBWOEhpZGRl
blByb3BlcnR5TmFtZTo6bmFtZSgpIFwKIHsgXAotICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKiBo
aWRkZW5Qcm9wZXJ0eU5hbWUgPSBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5o
aWRkZW5Qcm9wZXJ0eU5hbWUoKTsgXAotICAgIGlmIChoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1fIyNu
YW1lLklzRW1wdHkoKSkgeyBcCi0gICAgICAgIGhpZGRlblByb3BlcnR5TmFtZS0+bV8jI25hbWUg
PSBjcmVhdGVTdHJpbmcoIldlYkNvcmU6OkhpZGRlblByb3BlcnR5OjoiIFY4X0FTX1NUUklORyhu
YW1lKSk7IFwKLSAgICB9IFwKLSAgICByZXR1cm4gaGlkZGVuUHJvcGVydHlOYW1lLT5tXyMjbmFt
ZTsgXAorICAgIERFRklORV9TVEFUSUNfTE9DQUwodjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4s
IGhpZGRlblByb3BlcnR5TmFtZSwgKGNyZWF0ZVN0cmluZyhwcmVmaXggVjhfQVNfU1RSSU5HKG5h
bWUpKSkpOyBcCisgICAgcmV0dXJuIGhpZGRlblByb3BlcnR5TmFtZTsgXAogfQogCi1WOF9ISURE
RU5fUFJPUEVSVElFUyhWOF9ERUZJTkVfUFJPUEVSVFkpOwotCi1zdGF0aWMgY29uc3QgY2hhciBo
aWRkZW5SZWZlcmVuY2VOYW1lUHJlZml4W10gPSAiV2ViQ29yZTo6SGlkZGVuUmVmZXJlbmNlOjoi
OworVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVGSU5FX0hJRERFTl9QUk9QRVJUWSk7CiAKIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmhpZGRlblJlZmVyZW5j
ZU5hbWUoY29uc3QgY2hhciogbmFtZSkKIHsKICAgICBWZWN0b3I8Y2hhciwgNjQ+IHByZWZpeGVk
TmFtZTsKLSAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKGhpZGRlblJlZmVyZW5jZU5hbWVQcmVmaXgs
IHNpemVvZihoaWRkZW5SZWZlcmVuY2VOYW1lUHJlZml4KSAtIDEpOworICAgIHByZWZpeGVkTmFt
ZS5hcHBlbmQoVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgsIHNpemVvZihWOF9ISURERU5fUkVG
RVJFTkNFX1BSRUZJWCkgLSAxKTsKICAgICBBU1NFUlQobmFtZSAmJiBzdHJsZW4obmFtZSkpOwog
ICAgIHByZWZpeGVkTmFtZS5hcHBlbmQobmFtZSwgc3RybGVuKG5hbWUpKTsKICAgICByZXR1cm4g
djg6OlN0cmluZzo6TmV3U3ltYm9sKHByZWZpeGVkTmFtZS5kYXRhKCksIHN0YXRpY19jYXN0PGlu
dD4ocHJlZml4ZWROYW1lLnNpemUoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgKaW5kZXggYzhmNTM1MjdmZThhOGYyYTRjNTg4NDYy
ZTJiMzk4YTEyZGRjYTUxNS4uMGU0ZTE4ZGJhZWNmYjM4NWIxYjViOWNlN2E3YWM0Zjk4OTliODRh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0
eU5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5
TmFtZS5oCkBAIC0zNSwyMiArMzUsMjcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jZGVm
aW5lIFY4X0hJRERFTl9QUk9QRVJUSUVTKFYpIFwKLSAgICBWKG9iamVjdFByb3RvdHlwZSkgXAot
ICAgIFYobGlzdGVuZXIpIFwKLSAgICBWKGF0dHJpYnV0ZUxpc3RlbmVyKSBcCi0gICAgVihzY3Jp
cHRTdGF0ZSkgXAotICAgIFYoZGV2dG9vbHNJbmplY3RlZFNjcmlwdCkgXAotICAgIFYoc2xlZXBG
dW5jdGlvbikgXAotICAgIFYodG9TdHJpbmdTdHJpbmcpIFwKLSAgICBWKGV2ZW50KSBcCi0gICAg
VihzdGF0ZSkKKyNkZWZpbmUgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCAiV2ViQ29yZTo6SGlk
ZGVuUHJvcGVydHk6OiIKKyNkZWZpbmUgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVggIldlYkNv
cmU6OkhpZGRlblJlZmVyZW5jZTo6IgogCisjZGVmaW5lIFY4X0hJRERFTl9QUk9QRVJUSUVTKFYp
IFwKKyAgICBWKG9iamVjdFByb3RvdHlwZSwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAor
ICAgIFYobGlzdGVuZXIsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGF0dHJp
YnV0ZUxpc3RlbmVyLCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAgVihzY3JpcHRT
dGF0ZSwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoZGV2dG9vbHNJbmplY3Rl
ZFNjcmlwdCwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc2xlZXBGdW5jdGlv
biwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYodG9TdHJpbmdTdHJpbmcsIFY4
X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGV2ZW50LCBWOF9ISURERU5fUFJPUEVS
VFlfUFJFRklYKSBcCisgICAgVihzdGF0ZSwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAor
ICAgIFYoZG9tU3RyaW5nTWFwLCBWOF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkgXAorICAgIFYo
ZG9tVG9rZW5MaXN0LCBWOF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkgXAorICAgIFYob3duZXJO
b2RlLCBWOF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkKIAogICAgIGNsYXNzIFY4SGlkZGVuUHJv
cGVydHlOYW1lIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKCkg
eyB9Ci0jZGVmaW5lIFY4X0RFQ0xBUkVfUFJPUEVSVFkobmFtZSkgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlN0cmluZz4gbmFtZSgpOworI2RlZmluZSBWOF9ERUNMQVJFX1BST1BFUlRZKG5hbWUsIHBy
ZWZpeCkgc3RhdGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gbmFtZSgpOwogICAgICAgICBWOF9I
SURERU5fUFJPUEVSVElFUyhWOF9ERUNMQVJFX1BST1BFUlRZKTsKICN1bmRlZiBWOF9ERUNMQVJF
X1BST1BFUlRZCiAKQEAgLTU4LDkgKzYzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGNyZWF0
ZVN0cmluZyhjb25zdCBjaGFyKiBrZXkpOwotI2RlZmluZSBWOF9ERUNMQVJFX0ZJRUxEKG5hbWUp
IHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IG1fIyNuYW1lOwotICAgICAgICBWOF9ISURERU5f
UFJPUEVSVElFUyhWOF9ERUNMQVJFX0ZJRUxEKTsKLSN1bmRlZiBWOF9ERUNMQVJFX0ZJRUxECiAg
ICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKaW5kZXggMjc5OWFlMmM4NzRlMzRlYzMwOWFk
ZjY1ZjhmZDcxZmFlYzcwOWUxZS4uYjFlZGFjOTdjZDBhNjkyMDJlZjg4OTUxYTRkNzM2NWE5MzU2
MmE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
U3RyaW5nTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCkBAIC05MSwxMSArOTEsOCBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChET01TdHJpbmdNYXAqIGltcGwpCiAgICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB3cmFwcGVyID0gVjhET01TdHJpbmdNYXA6OndyYXAoaW1wbCk7CiAgICAgLy8gQWRk
IGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01TdHJpbmdNYXAu
CiAgICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBw
ZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVl
LklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBWOERP
TVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2Jq
ZWN0PigpLCAiZG9tU3RyaW5nTWFwIiwgd3JhcHBlcik7Ci0gICAgfQorICAgIGlmICghd3JhcHBl
ci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkKKyAgICAgICAgdG9WOChlbGVtZW50KS0+VG9PYmplY3Qo
KS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVN0cmluZ01hcCgpLCB3
cmFwcGVyKTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKaW5k
ZXggMDgwNTFhYmQ1NThkZWYxYzZmNjI5NjU3MTgyODAxMzIxMjMxOGUzNS4uMjFlZmZiODMwNzlm
OGRjMmViZjNjMDkxNmZlMzlkYTZlN2ZiOWU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBAIC00
NSwxMSArNDUsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChET01Ub2tlbkxpc3QqIGlt
cGwpCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01Ub2tlbkxpc3Q6
OndyYXAoaW1wbCk7CiAgICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVt
ZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCiAgICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVs
ZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0g
ICAgICAgIGlmICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2Jq
ZWN0KCkpCi0gICAgICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNl
KGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLCAiZG9tVG9rZW5MaXN0Iiwgd3JhcHBlcik7
Ci0gICAgfQorICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkKKyAgICAgICAg
dG9WOChlbGVtZW50KS0+VG9PYmplY3QoKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0
eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWRO
b2RlTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5h
bWVkTm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggNDc4MmRjYzMyMmQwNWFkZGQwNjY2ZWFlMWU5ODE3
MWQyNGI5OTQ3OS4uYTBlYmE0ZDU1NDIyNDJjZjUxOTcyYzBkYzE4ZDY0MmQzYzk1ZTYyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFw
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1l
ZE5vZGVNYXBDdXN0b20uY3BwCkBAIC03OSw3ICs3OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KE5hbWVkTm9kZU1hcCogaW1wbCkKICAgICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNl
IGZyb20gbmFtZWQgbm9kZSBtYXAgdG8gaXRzIG93bmVyIG5vZGUuCiAgICAgRWxlbWVudCogZWxl
bWVudCA9IGltcGwtPmVsZW1lbnQoKTsKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVs
ZW1lbnQpCi0gICAgICAgIFY4RE9NV3JhcHBlcjo6c2V0TmFtZWRIaWRkZW5SZWZlcmVuY2Uod3Jh
cHBlciwgIm93bmVyTm9kZSIsIHRvVjgoZWxlbWVudCkpOworICAgICAgICB0b1Y4KGVsZW1lbnQp
LT5Ub09iamVjdCgpLT5TZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6b3duZXJO
b2RlKCksIHdyYXBwZXIpOwogICAgIHJldHVybiB3cmFwcGVyOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130458</attachid>
            <date>2012-03-06 15:52:54 -0800</date>
            <delta_ts>2012-03-07 21:12:42 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-80376-20120307085253.patch</filename>
            <type>text/plain</type>
            <size>9716</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjU2ZTE2ZDM4ZjVmOTY4
NzM5ZTgxNzJlNDZmMjg3NjQ1ZTYxNDUxMC4uOGYwNTA2OTc1MWY1NDZkZWM0YWE2ZmVkMjU3ZDRl
OTM3YmM5NGM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTAzLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIHBlcmZv
cm1hbmNlIG9mIEhUTUxFbGVtZW50LmNsYXNzTGlzdCwgRWxlbWVudC5kYXRhc2V0CisgICAgICAg
IGFuZCBOb2RlLmF0dHJpYnV0ZXMgYnkgNi40IHRpbWVzLCA3LjEgdGltZXMgYW5kIDEwLjkgdGlt
ZXMsIHJlc3BlY3RpdmVseS4KKworICAgICAgICBQcmV2aW91c2x5LCBhICdoaWRkZW5SZWZlcmVu
Y2VOYW1lJyBzdHJpbmcgd2FzIGFsbG9jYXRlZCBvbiB2ODo6SGFuZGxlIGFuZAorICAgICAgICBj
cmVhdGVkIGV2ZXJ5IHRpbWUgdGhlIERPTSBhdHRyaWJ1dGUgaXMgYWNjZXNzZWQsIGluIHNwaXRl
IG9mIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgdGhlICdoaWRkZW5SZWZlcmVuY2VOYW1lJyBzdHJp
bmcgaXMgc3RhdGljLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlICdoaWRkZW5SZWZl
cmVuY2VOYW1lJyBzdHJpbmcgdG8gdjg6OlBlcnNpc3RlbnQgYW5kIG1ha2VzIGl0IHN0YXRpYy4K
KyAgICAgICAgQWxzbywgdGhpcyBwYXRjaCByZW1vdmVzICdpZiAoIWVsZW1lbnRWYWx1ZS5Jc0Vt
cHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKScsCisgICAgICAgIHNpbmNlIGlmICdl
bGVtZW50JyBleGlzdHMsIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCAnZWxlbWVudFZhbHVlJyBpcyBu
b3QgZW1wdHkKKyAgICAgICAgYW5kIGlzIGFuIE9iamVjdC4KKworICAgICAgICBQZXJmb3JtYW5j
ZSB0ZXN0czogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTMwMjgz
CisKKyAgICAgICAgQXBwbGVXZWJLaXQvSmF2YVNjcmlwdENvcmU6CisgICAgICAgIGRpdi5jbGFz
c0xpc3QgOiAzODJtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDMzNW1zCisg
ICAgICAgIGRpdi5kYXRhc2V0IDogNDAzbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIz
IDogNTI1MG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTgzbXMKKworICAgICAgICBDaHJv
bWl1bS9WOCAod2l0aG91dCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDkx
NDBtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDkwODZtcworICAgICAgICBk
aXYuZGF0YXNldCA6IDk5MzBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiA0OTY5
OG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTM0ODltcworCisgICAgICAgIENocm9taXVt
L1Y4ICh3aXRoIHRoaXMgcGF0Y2gpOgorICAgICAgICBkaXYuY2xhc3NMaXN0IDogMTQzNW1zCisg
ICAgICAgIGRpdi5jbGFzc0xpc3QuZm9vID0gMTIzIDogMTQ3MG1zCisgICAgICAgIGRpdi5kYXRh
c2V0IDogMTQwMG1zCisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9IDEyMyA6IDMwMzk2bXMKKyAg
ICAgICAgZGl2LmF0dHJpYnV0ZXMgOiAxMjQybXMKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hh
bmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3Ry
aW5nTWFwQ3VzdG9tLmNwcDogTW9kaWZpZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvVjgpOgorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuY3BwOiBEZWZpbmVkIGEgaGlkZGVuIHByb3BlcnR5IG5hbWUgc3RyaW5nIHN0
YXRpY2FsbHkKKyAgICAgICAgdG8gb3B0aW1pemUgdGhlIG1hY3JvLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEhpZGRlblByb3BlcnR5TmFtZTo6aGlkZGVuUmVmZXJl
bmNlTmFtZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaDog
TW9kaWZpZWQgdG8gc3dpdGNoIHR3byBwcmVmaXhlcyAiV2ViQ29yZTo6SGlkZGVuUHJvcGVydHk6
OiIKKyAgICAgICAgYW5kICJXZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIsIGRlcGVuZGluZyBv
biB3aGV0aGVyIGEgZ2l2ZW4gbmFtZSByZXByZXNlbnRzIGEgaGlkZGVuIHByb3BlcnR5CisgICAg
ICAgIG9yIGEgaGlkZGVuIHJlZmVyZW5jZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUpOgorCiAyMDEyLTAzLTA2ICBTaGF3biBTaW5naCAgPHNoYXdu
c2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBjb21wb3NpdGVB
bmRSZWFkYmFjayBhbmQgZGFtYWdlIHRyYWNraW5nIHBsYXkgbmljZWx5IHRvZ2V0aGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAK
aW5kZXggOTNhYzc1MTc4NGIyNDk4YmFkNTI3MGM2NTY3NzY3MDA1ZGI5MTE2Mi4uMjI4ZGNmMjFj
MTY4ZWYzMGRhZGEyODcxMGMxZTMyNjE1NjVmMWIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDAsMjQgKzQxLDE5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNk
ZWZpbmUgVjhfQVNfU1RSSU5HKHgpIFY4X0FTX1NUUklOR19JTVBMKHgpCiAjZGVmaW5lIFY4X0FT
X1NUUklOR19JTVBMKHgpICN4CiAKLSNkZWZpbmUgVjhfREVGSU5FX1BST1BFUlRZKG5hbWUpIFwK
KyNkZWZpbmUgVjhfREVGSU5FX0hJRERFTl9QUk9QRVJUWShuYW1lLCBwcmVmaXgpIFwKIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om5hbWUoKSBcCiB7IFwKLSAg
ICBWOEhpZGRlblByb3BlcnR5TmFtZSogaGlkZGVuUHJvcGVydHlOYW1lID0gVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+aGlkZGVuUHJvcGVydHlOYW1lKCk7IFwKLSAgICBpZiAo
aGlkZGVuUHJvcGVydHlOYW1lLT5tXyMjbmFtZS5Jc0VtcHR5KCkpIHsgXAotICAgICAgICBoaWRk
ZW5Qcm9wZXJ0eU5hbWUtPm1fIyNuYW1lID0gY3JlYXRlU3RyaW5nKCJXZWJDb3JlOjpIaWRkZW5Q
cm9wZXJ0eTo6IiBWOF9BU19TVFJJTkcobmFtZSkpOyBcCi0gICAgfSBcCi0gICAgcmV0dXJuIGhp
ZGRlblByb3BlcnR5TmFtZS0+bV8jI25hbWU7IFwKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKHY4
OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+LCBoaWRkZW5Qcm9wZXJ0eU5hbWUsIChjcmVhdGVTdHJp
bmcocHJlZml4IFY4X0FTX1NUUklORyhuYW1lKSkpKTsgXAorICAgIHJldHVybiBoaWRkZW5Qcm9w
ZXJ0eU5hbWU7IFwKIH0KIAotVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVGSU5FX1BST1BFUlRZ
KTsKLQotc3RhdGljIGNvbnN0IGNoYXIgaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeFtdID0gIldl
YkNvcmU6OkhpZGRlblJlZmVyZW5jZTo6IjsKK1Y4X0hJRERFTl9QUk9QRVJUSUVTKFY4X0RFRklO
RV9ISURERU5fUFJPUEVSVFkpOwogCiB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IFY4SGlkZGVuUHJv
cGVydHlOYW1lOjpoaWRkZW5SZWZlcmVuY2VOYW1lKGNvbnN0IGNoYXIqIG5hbWUpCiB7CiAgICAg
VmVjdG9yPGNoYXIsIDY0PiBwcmVmaXhlZE5hbWU7Ci0gICAgcHJlZml4ZWROYW1lLmFwcGVuZCho
aWRkZW5SZWZlcmVuY2VOYW1lUHJlZml4LCBzaXplb2YoaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZp
eCkgLSAxKTsKKyAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKFY4X0hJRERFTl9SRUZFUkVOQ0VfUFJF
RklYLCBzaXplb2YoVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgpIC0gMSk7CiAgICAgQVNTRVJU
KG5hbWUgJiYgc3RybGVuKG5hbWUpKTsKICAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKG5hbWUsIHN0
cmxlbihuYW1lKSk7CiAgICAgcmV0dXJuIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChwcmVmaXhlZE5h
bWUuZGF0YSgpLCBzdGF0aWNfY2FzdDxpbnQ+KHByZWZpeGVkTmFtZS5zaXplKCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCmluZGV4
IGM4ZjUzNTI3ZmU4YThmMmE0YzU4ODQ2MmUyYjM5OGExMmRkY2E1MTUuLjBlNGUxOGRiYWVjZmIz
ODViMWI1YjljZTdhN2FjNGY5ODk5Yjg0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaApAQCAtMzUsMjIgKzM1LDI3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotI2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBcCi0g
ICAgVihvYmplY3RQcm90b3R5cGUpIFwKLSAgICBWKGxpc3RlbmVyKSBcCi0gICAgVihhdHRyaWJ1
dGVMaXN0ZW5lcikgXAotICAgIFYoc2NyaXB0U3RhdGUpIFwKLSAgICBWKGRldnRvb2xzSW5qZWN0
ZWRTY3JpcHQpIFwKLSAgICBWKHNsZWVwRnVuY3Rpb24pIFwKLSAgICBWKHRvU3RyaW5nU3RyaW5n
KSBcCi0gICAgVihldmVudCkgXAotICAgIFYoc3RhdGUpCisjZGVmaW5lIFY4X0hJRERFTl9QUk9Q
RVJUWV9QUkVGSVggIldlYkNvcmU6OkhpZGRlblByb3BlcnR5OjoiCisjZGVmaW5lIFY4X0hJRERF
Tl9SRUZFUkVOQ0VfUFJFRklYICJXZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIKIAorI2RlZmlu
ZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBcCisgICAgVihvYmplY3RQcm90b3R5cGUsIFY4X0hJ
RERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGxpc3RlbmVyLCBWOF9ISURERU5fUFJPUEVS
VFlfUFJFRklYKSBcCisgICAgVihhdHRyaWJ1dGVMaXN0ZW5lciwgVjhfSElEREVOX1BST1BFUlRZ
X1BSRUZJWCkgXAorICAgIFYoc2NyaXB0U3RhdGUsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgp
IFwKKyAgICBWKGRldnRvb2xzSW5qZWN0ZWRTY3JpcHQsIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVG
SVgpIFwKKyAgICBWKHNsZWVwRnVuY3Rpb24sIFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwK
KyAgICBWKHRvU3RyaW5nU3RyaW5nLCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAg
VihldmVudCwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc3RhdGUsIFY4X0hJ
RERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGRvbVN0cmluZ01hcCwgVjhfSElEREVOX1JF
RkVSRU5DRV9QUkVGSVgpIFwKKyAgICBWKGRvbVRva2VuTGlzdCwgVjhfSElEREVOX1JFRkVSRU5D
RV9QUkVGSVgpIFwKKyAgICBWKG93bmVyTm9kZSwgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVgp
CiAKICAgICBjbGFzcyBWOEhpZGRlblByb3BlcnR5TmFtZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBWOEhpZGRlblByb3BlcnR5TmFtZSgpIHsgfQotI2RlZmluZSBWOF9ERUNMQVJFX1BST1BFUlRZ
KG5hbWUpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKKyNkZWZpbmUgVjhf
REVDTEFSRV9QUk9QRVJUWShuYW1lLCBwcmVmaXgpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IG5hbWUoKTsKICAgICAgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9QUk9Q
RVJUWSk7CiAjdW5kZWYgVjhfREVDTEFSRV9QUk9QRVJUWQogCkBAIC01OCw5ICs2Myw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2ODo6UGVy
c2lzdGVudDx2ODo6U3RyaW5nPiBjcmVhdGVTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKLSNkZWZp
bmUgVjhfREVDTEFSRV9GSUVMRChuYW1lKSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMj
bmFtZTsKLSAgICAgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9GSUVMRCk7Ci0j
dW5kZWYgVjhfREVDTEFSRV9GSUVMRAogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCmlu
ZGV4IDI3OTlhZTJjODc0ZTM0ZWMzMDlhZGY2NWY4ZmQ3MWZhZWM3MDllMWUuLjJkN2ZjMzQyMGRh
NzkxMzc3OTM0YmYyYWQ3OTMzYjljMjA1YjMxOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApAQCAt
OTEsMTEgKzkxLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBp
bXBsKQogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFw
Ojp3cmFwKGltcGwpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxl
bWVudCB0byB0aGUgRE9NU3RyaW5nTWFwLgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5l
bGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAg
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwot
ICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09i
amVjdCgpKQotICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5j
ZShlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKSwgImRvbVN0cmluZ01hcCIsIHdyYXBwZXIp
OwotICAgIH0KKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCisgICAgICAg
IHRvVjgoZWxlbWVudCkuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6OmRvbVN0cmluZ01hcCgpLCB3cmFwcGVyKTsKICAgICByZXR1cm4gd3JhcHBl
cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKaW5kZXggMDgwNTFhYmQ1NThkZWYxYzZmNjI5NjU3
MTgyODAxMzIxMjMxOGUzNS4uNmUzNWQ4ZDdiMmEzNDhiNjhmZDIwNTgwMWU2ZDU4NTcwMDY3ZDU2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9r
ZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBAIC00NSwxMSArNDUsOCBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChET01Ub2tlbkxpc3QqIGltcGwpCiAgICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyID0gVjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCk7CiAgICAgLy8gQWRkIGEg
aGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCiAg
ICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIu
SXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVs
ZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVlLklz
RW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBWOERPTVdy
YXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0
PigpLCAiZG9tVG9rZW5MaXN0Iiwgd3JhcHBlcik7Ci0gICAgfQorICAgIGlmICghd3JhcHBlci5J
c0VtcHR5KCkgJiYgZWxlbWVudCkKKyAgICAgICAgdG9WOChlbGVtZW50KS5Bczx2ODo6T2JqZWN0
PigpLT5TZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6ZG9tVG9rZW5MaXN0KCks
IHdyYXBwZXIpOwogICAgIHJldHVybiB3cmFwcGVyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApp
bmRleCA0NzgyZGNjMzIyZDA1YWRkZDA2NjZlYWUxZTk4MTcxZDI0Yjk5NDc5Li4xMTFjZTRkNWE0
YjI1MmNmYTg5ZTNjNjNlNDVjODhjZjYwYjgxNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKQEAg
LTc5LDcgKzc5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBp
bXBsKQogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBuYW1lZCBub2RlIG1hcCB0
byBpdHMgb3duZXIgbm9kZS4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgp
OwogICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkKLSAgICAgICAgVjhET01X
cmFwcGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9W
OChlbGVtZW50KSk7CisgICAgICAgIHRvVjgoZWxlbWVudCkuQXM8djg6Ok9iamVjdD4oKS0+U2V0
SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om93bmVyTm9kZSgpLCB3cmFwcGVyKTsK
ICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130547</attachid>
            <date>2012-03-06 22:38:41 -0800</date>
            <delta_ts>2012-03-07 21:12:46 -0800</delta_ts>
            <desc>patch I tried to land</desc>
            <filename>bug-80376-20120307153839.patch</filename>
            <type>text/plain</type>
            <size>9227</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJhZTU0Y2M1ZWI5MWJl
YTA0MzhjMWI0YTFkOTk5ZTZhNWNmMDkzNy4uNjczNmUwNGUwNWM1NDlkZDc2MGZjYzA3NDIxMjli
ZWY0NDc1NzExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTAzLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIHBlcmZv
cm1hbmNlIG9mIEhUTUxFbGVtZW50LmNsYXNzTGlzdCwgRWxlbWVudC5kYXRhc2V0CisgICAgICAg
IGFuZCBOb2RlLmF0dHJpYnV0ZXMgYnkgNi40IHRpbWVzLCA3LjEgdGltZXMgYW5kIDEwLjkgdGlt
ZXMsIHJlc3BlY3RpdmVseS4KKworICAgICAgICBQcmV2aW91c2x5LCBhICdoaWRkZW5SZWZlcmVu
Y2VOYW1lJyBzdHJpbmcgd2FzIGFsbG9jYXRlZCBvbiB2ODo6SGFuZGxlIGFuZAorICAgICAgICBj
cmVhdGVkIGV2ZXJ5IHRpbWUgdGhlIERPTSBhdHRyaWJ1dGUgaXMgYWNjZXNzZWQsIGluIHNwaXRl
IG9mIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgdGhlICdoaWRkZW5SZWZlcmVuY2VOYW1lJyBzdHJp
bmcgaXMgc3RhdGljLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlICdoaWRkZW5SZWZl
cmVuY2VOYW1lJyBzdHJpbmcgdG8gdjg6OlBlcnNpc3RlbnQgYW5kIG1ha2VzIGl0IHN0YXRpYy4K
KyAgICAgICAgQWxzbywgdGhpcyBwYXRjaCByZW1vdmVzICdpZiAoIWVsZW1lbnRWYWx1ZS5Jc0Vt
cHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKScsCisgICAgICAgIHNpbmNlIGlmICdl
bGVtZW50JyBleGlzdHMsIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCAnZWxlbWVudFZhbHVlJyBpcyBu
b3QgZW1wdHkKKyAgICAgICAgYW5kIGlzIGFuIE9iamVjdC4KKworICAgICAgICBQZXJmb3JtYW5j
ZSB0ZXN0czogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTMwMjgz
CisKKyAgICAgICAgQXBwbGVXZWJLaXQvSmF2YVNjcmlwdENvcmU6CisgICAgICAgIGRpdi5jbGFz
c0xpc3QgOiAzODJtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDMzNW1zCisg
ICAgICAgIGRpdi5kYXRhc2V0IDogNDAzbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIz
IDogNTI1MG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTgzbXMKKworICAgICAgICBDaHJv
bWl1bS9WOCAod2l0aG91dCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDkx
NDBtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDkwODZtcworICAgICAgICBk
aXYuZGF0YXNldCA6IDk5MzBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiA0OTY5
OG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTM0ODltcworCisgICAgICAgIENocm9taXVt
L1Y4ICh3aXRoIHRoaXMgcGF0Y2gpOgorICAgICAgICBkaXYuY2xhc3NMaXN0IDogMTQzNW1zCisg
ICAgICAgIGRpdi5jbGFzc0xpc3QuZm9vID0gMTIzIDogMTQ3MG1zCisgICAgICAgIGRpdi5kYXRh
c2V0IDogMTQwMG1zCisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9IDEyMyA6IDMwMzk2bXMKKyAg
ICAgICAgZGl2LmF0dHJpYnV0ZXMgOiAxMjQybXMKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hh
bmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3Ry
aW5nTWFwQ3VzdG9tLmNwcDogTW9kaWZpZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvVjgpOgorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuY3BwOiBEZWZpbmVkIGEgaGlkZGVuIHByb3BlcnR5IG5hbWUgc3RyaW5nIHN0
YXRpY2FsbHkKKyAgICAgICAgdG8gb3B0aW1pemUgdGhlIG1hY3JvLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEhpZGRlblByb3BlcnR5TmFtZTo6aGlkZGVuUmVmZXJl
bmNlTmFtZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaDog
TW9kaWZpZWQgdG8gc3dpdGNoIHR3byBwcmVmaXhlcyAiV2ViQ29yZTo6SGlkZGVuUHJvcGVydHk6
OiIKKyAgICAgICAgYW5kICJXZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIsIGRlcGVuZGluZyBv
biB3aGV0aGVyIGEgZ2l2ZW4gbmFtZSByZXByZXNlbnRzIGEgaGlkZGVuIHByb3BlcnR5CisgICAg
ICAgIG9yIGEgaGlkZGVuIHJlZmVyZW5jZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUpOgorCiAyMDEyLTAzLTA2ICBOYXQgRHVjYSAgPG5kdWNhQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIENDVGhyZWFkUHJveHkgY29udGV4dCBs
b3N0IHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlk
ZGVuUHJvcGVydHlOYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVu
UHJvcGVydHlOYW1lLmNwcAppbmRleCA5M2FjNzUxNzg0YjI0OThiYWQ1MjcwYzY1Njc3NjcwMDVk
YjkxMTYyLi4yMjhkY2YyMWMxNjhlZjMwZGFkYTI4NzEwYzFlMzI2MTU2NWYxYjNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlIDxz
dHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCwyNCArNDEsMTkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogI2RlZmluZSBWOF9BU19TVFJJTkcoeCkgVjhfQVNfU1RSSU5HX0lNUEwo
eCkKICNkZWZpbmUgVjhfQVNfU1RSSU5HX0lNUEwoeCkgI3gKIAotI2RlZmluZSBWOF9ERUZJTkVf
UFJPUEVSVFkobmFtZSkgXAorI2RlZmluZSBWOF9ERUZJTkVfSElEREVOX1BST1BFUlRZKG5hbWUs
IHByZWZpeCkgXAogdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBWOEhpZGRlblByb3BlcnR5TmFtZTo6
bmFtZSgpIFwKIHsgXAotICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKiBoaWRkZW5Qcm9wZXJ0eU5h
bWUgPSBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5oaWRkZW5Qcm9wZXJ0eU5h
bWUoKTsgXAotICAgIGlmIChoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1fIyNuYW1lLklzRW1wdHkoKSkg
eyBcCi0gICAgICAgIGhpZGRlblByb3BlcnR5TmFtZS0+bV8jI25hbWUgPSBjcmVhdGVTdHJpbmco
IldlYkNvcmU6OkhpZGRlblByb3BlcnR5OjoiIFY4X0FTX1NUUklORyhuYW1lKSk7IFwKLSAgICB9
IFwKLSAgICByZXR1cm4gaGlkZGVuUHJvcGVydHlOYW1lLT5tXyMjbmFtZTsgXAorICAgIERFRklO
RV9TVEFUSUNfTE9DQUwodjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4sIGhpZGRlblByb3BlcnR5
TmFtZSwgKGNyZWF0ZVN0cmluZyhwcmVmaXggVjhfQVNfU1RSSU5HKG5hbWUpKSkpOyBcCisgICAg
cmV0dXJuIGhpZGRlblByb3BlcnR5TmFtZTsgXAogfQogCi1WOF9ISURERU5fUFJPUEVSVElFUyhW
OF9ERUZJTkVfUFJPUEVSVFkpOwotCi1zdGF0aWMgY29uc3QgY2hhciBoaWRkZW5SZWZlcmVuY2VO
YW1lUHJlZml4W10gPSAiV2ViQ29yZTo6SGlkZGVuUmVmZXJlbmNlOjoiOworVjhfSElEREVOX1BS
T1BFUlRJRVMoVjhfREVGSU5FX0hJRERFTl9QUk9QRVJUWSk7CiAKIHY4OjpIYW5kbGU8djg6OlN0
cmluZz4gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmhpZGRlblJlZmVyZW5jZU5hbWUoY29uc3QgY2hh
ciogbmFtZSkKIHsKICAgICBWZWN0b3I8Y2hhciwgNjQ+IHByZWZpeGVkTmFtZTsKLSAgICBwcmVm
aXhlZE5hbWUuYXBwZW5kKGhpZGRlblJlZmVyZW5jZU5hbWVQcmVmaXgsIHNpemVvZihoaWRkZW5S
ZWZlcmVuY2VOYW1lUHJlZml4KSAtIDEpOworICAgIHByZWZpeGVkTmFtZS5hcHBlbmQoVjhfSElE
REVOX1JFRkVSRU5DRV9QUkVGSVgsIHNpemVvZihWOF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkg
LSAxKTsKICAgICBBU1NFUlQobmFtZSAmJiBzdHJsZW4obmFtZSkpOwogICAgIHByZWZpeGVkTmFt
ZS5hcHBlbmQobmFtZSwgc3RybGVuKG5hbWUpKTsKICAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3
U3ltYm9sKHByZWZpeGVkTmFtZS5kYXRhKCksIHN0YXRpY19jYXN0PGludD4ocHJlZml4ZWROYW1l
LnNpemUoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmgKaW5kZXggYzhmNTM1MjdmZThhOGYyYTRjNTg4NDYyZTJiMzk4YTEyZGRjYTUx
NS4uMGU0ZTE4ZGJhZWNmYjM4NWIxYjViOWNlN2E3YWM0Zjk4OTliODRhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCkBAIC0zNSwy
MiArMzUsMjcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jZGVmaW5lIFY4X0hJRERFTl9Q
Uk9QRVJUSUVTKFYpIFwKLSAgICBWKG9iamVjdFByb3RvdHlwZSkgXAotICAgIFYobGlzdGVuZXIp
IFwKLSAgICBWKGF0dHJpYnV0ZUxpc3RlbmVyKSBcCi0gICAgVihzY3JpcHRTdGF0ZSkgXAotICAg
IFYoZGV2dG9vbHNJbmplY3RlZFNjcmlwdCkgXAotICAgIFYoc2xlZXBGdW5jdGlvbikgXAotICAg
IFYodG9TdHJpbmdTdHJpbmcpIFwKLSAgICBWKGV2ZW50KSBcCi0gICAgVihzdGF0ZSkKKyNkZWZp
bmUgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCAiV2ViQ29yZTo6SGlkZGVuUHJvcGVydHk6OiIK
KyNkZWZpbmUgVjhfSElEREVOX1JFRkVSRU5DRV9QUkVGSVggIldlYkNvcmU6OkhpZGRlblJlZmVy
ZW5jZTo6IgogCisjZGVmaW5lIFY4X0hJRERFTl9QUk9QRVJUSUVTKFYpIFwKKyAgICBWKG9iamVj
dFByb3RvdHlwZSwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYobGlzdGVuZXIs
IFY4X0hJRERFTl9QUk9QRVJUWV9QUkVGSVgpIFwKKyAgICBWKGF0dHJpYnV0ZUxpc3RlbmVyLCBW
OF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisgICAgVihzY3JpcHRTdGF0ZSwgVjhfSElEREVO
X1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoZGV2dG9vbHNJbmplY3RlZFNjcmlwdCwgVjhfSElE
REVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoc2xlZXBGdW5jdGlvbiwgVjhfSElEREVOX1BS
T1BFUlRZX1BSRUZJWCkgXAorICAgIFYodG9TdHJpbmdTdHJpbmcsIFY4X0hJRERFTl9QUk9QRVJU
WV9QUkVGSVgpIFwKKyAgICBWKGV2ZW50LCBWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSBcCisg
ICAgVihzdGF0ZSwgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCkgXAorICAgIFYoZG9tU3RyaW5n
TWFwLCBWOF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkgXAorICAgIFYoZG9tVG9rZW5MaXN0LCBW
OF9ISURERU5fUkVGRVJFTkNFX1BSRUZJWCkgXAorICAgIFYob3duZXJOb2RlLCBWOF9ISURERU5f
UkVGRVJFTkNFX1BSRUZJWCkKIAogICAgIGNsYXNzIFY4SGlkZGVuUHJvcGVydHlOYW1lIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKCkgeyB9Ci0jZGVmaW5lIFY4
X0RFQ0xBUkVfUFJPUEVSVFkobmFtZSkgc3RhdGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gbmFt
ZSgpOworI2RlZmluZSBWOF9ERUNMQVJFX1BST1BFUlRZKG5hbWUsIHByZWZpeCkgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4gbmFtZSgpOwogICAgICAgICBWOF9ISURERU5fUFJPUEVSVElF
UyhWOF9ERUNMQVJFX1BST1BFUlRZKTsKICN1bmRlZiBWOF9ERUNMQVJFX1BST1BFUlRZCiAKQEAg
LTU4LDkgKzYzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGNyZWF0ZVN0cmluZyhjb25zdCBj
aGFyKiBrZXkpOwotI2RlZmluZSBWOF9ERUNMQVJFX0ZJRUxEKG5hbWUpIHY4OjpQZXJzaXN0ZW50
PHY4OjpTdHJpbmc+IG1fIyNuYW1lOwotICAgICAgICBWOF9ISURERU5fUFJPUEVSVElFUyhWOF9E
RUNMQVJFX0ZJRUxEKTsKLSN1bmRlZiBWOF9ERUNMQVJFX0ZJRUxECiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFw
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmlu
Z01hcEN1c3RvbS5jcHAKaW5kZXggMjc5OWFlMmM4NzRlMzRlYzMwOWFkZjY1ZjhmZDcxZmFlYzcw
OWUxZS4uZGRmMjJhNzQ2YTIxY2ZjMzc4NmU4MGNhNDQ0OTc0NDhhYzI3N2M2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdN
YXBDdXN0b20uY3BwCkBAIC05NCw3ICs5NCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KERPTVN0cmluZ01hcCogaW1wbCkKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1l
bnQpIHsKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgo
ZWxlbWVudCk7CiAgICAgICAgIGlmICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50
VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlk
ZGVuUmVmZXJlbmNlKGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLCAiZG9tU3RyaW5nTWFw
Iiwgd3JhcHBlcik7CisgICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+
U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVN0cmluZ01hcCgpLCB3cmFw
cGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApp
bmRleCAwODA1MWFiZDU1OGRlZjFjNmY2Mjk2NTcxODI4MDEzMjEyMzE4ZTM1Li5hMjNkYTQ4MTBl
M2YxNjM3ZWFiMmFiNTg5NTBmMDJiNWRhYWNlYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKQEAg
LTQ4LDcgKzQ4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBp
bXBsKQogICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkgewogICAgICAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZWxlbWVudFZhbHVlID0gdG9WOChlbGVtZW50KTsKICAgICAg
ICAgaWYgKCFlbGVtZW50VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3Qo
KSkKLSAgICAgICAgICAgIFY4RE9NV3JhcHBlcjo6c2V0TmFtZWRIaWRkZW5SZWZlcmVuY2UoZWxl
bWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCksICJkb21Ub2tlbkxpc3QiLCB3cmFwcGVyKTsKKyAg
ICAgICAgICAgIGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLT5TZXRIaWRkZW5WYWx1ZShW
OEhpZGRlblByb3BlcnR5TmFtZTo6ZG9tVG9rZW5MaXN0KCksIHdyYXBwZXIpOwogICAgIH0KICAg
ICByZXR1cm4gd3JhcHBlcjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IDQ3ODJkY2MzMjJk
MDVhZGRkMDY2NmVhZTFlOTgxNzFkMjRiOTk0NzkuLmYzMDMxMjhlMDg3NDA3Y2MwOGFjZDg1Mjcx
YzI5NTlkY2U5OWVmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzksNyArNzksNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwpCiAgICAgLy8gQWRk
IGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIG5hbWVkIG5vZGUgbWFwIHRvIGl0cyBvd25lciBub2Rl
LgogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7CiAgICAgaWYgKCF3cmFw
cGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVk
SGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KGVsZW1lbnQpKTsKKyAg
ICAgICAgd3JhcHBlci0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om93bmVy
Tm9kZSgpLCB0b1Y4KGVsZW1lbnQpKTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130746</attachid>
            <date>2012-03-07 18:41:23 -0800</date>
            <delta_ts>2012-03-07 21:12:51 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-80376-20120308114121.patch</filename>
            <type>text/plain</type>
            <size>7920</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTkzYzg0MWM1ZjNiNjZk
OWUxN2JkYzA1MWE5MzA1ZmVlZmI4NDhiNC4uODhjNDk4M2FiMmVmZDI5N2QwZjBmOTJkZmQ0MWMw
NzcyNmQyNTM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY3IEBACiAyMDEyLTAzLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBPcHRpbWl6ZSBWOCBiaW5kaW5ncyBmb3IgSFRNTEVsZW1lbnQuY2xhc3NMaXN0LAorICAg
ICAgICBFbGVtZW50LmRhdGFzZXQgYW5kIE5vZGUuYXR0cmlidXRlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIHBlcmZv
cm1hbmNlIG9mIEhUTUxFbGVtZW50LmNsYXNzTGlzdCwgRWxlbWVudC5kYXRhc2V0CisgICAgICAg
IGFuZCBOb2RlLmF0dHJpYnV0ZXMgYnkgNi40IHRpbWVzLCA3LjEgdGltZXMgYW5kIDEwLjkgdGlt
ZXMsIHJlc3BlY3RpdmVseS4KKworICAgICAgICBQcmV2aW91c2x5LCBhICdoaWRkZW5SZWZlcmVu
Y2VOYW1lJyBzdHJpbmcgd2FzIGFsbG9jYXRlZCBvbiB2ODo6SGFuZGxlIGFuZAorICAgICAgICBj
cmVhdGVkIGV2ZXJ5IHRpbWUgdGhlIERPTSBhdHRyaWJ1dGUgaXMgYWNjZXNzZWQsIGluIHNwaXRl
IG9mIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgdGhlICdoaWRkZW5SZWZlcmVuY2VOYW1lJyBzdHJp
bmcgaXMgc3RhdGljLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlICdoaWRkZW5SZWZl
cmVuY2VOYW1lJyBzdHJpbmcgdG8gdjg6OlBlcnNpc3RlbnQgYW5kIG1ha2VzIGl0IHN0YXRpYy4K
KyAgICAgICAgQWxzbywgdGhpcyBwYXRjaCByZW1vdmVzICdpZiAoIWVsZW1lbnRWYWx1ZS5Jc0Vt
cHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKScsCisgICAgICAgIHNpbmNlIGlmICdl
bGVtZW50JyBleGlzdHMsIGl0IGlzIGd1YXJhbnRlZWQgdGhhdCAnZWxlbWVudFZhbHVlJyBpcyBu
b3QgZW1wdHkKKyAgICAgICAgYW5kIGlzIGFuIE9iamVjdC4KKworICAgICAgICBQZXJmb3JtYW5j
ZSB0ZXN0czogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTMwMjgz
CisKKyAgICAgICAgQXBwbGVXZWJLaXQvSmF2YVNjcmlwdENvcmU6CisgICAgICAgIGRpdi5jbGFz
c0xpc3QgOiAzODJtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDMzNW1zCisg
ICAgICAgIGRpdi5kYXRhc2V0IDogNDAzbXMKKyAgICAgICAgZGl2LmRhdGFzZXQuZm9vID0gMTIz
IDogNTI1MG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTgzbXMKKworICAgICAgICBDaHJv
bWl1bS9WOCAod2l0aG91dCB0aGlzIHBhdGNoKToKKyAgICAgICAgZGl2LmNsYXNzTGlzdCA6IDkx
NDBtcworICAgICAgICBkaXYuY2xhc3NMaXN0LmZvbyA9IDEyMyA6IDkwODZtcworICAgICAgICBk
aXYuZGF0YXNldCA6IDk5MzBtcworICAgICAgICBkaXYuZGF0YXNldC5mb28gPSAxMjMgOiA0OTY5
OG1zCisgICAgICAgIGRpdi5hdHRyaWJ1dGVzIDogMTM0ODltcworCisgICAgICAgIENocm9taXVt
L1Y4ICh3aXRoIHRoaXMgcGF0Y2gpOgorICAgICAgICBkaXYuY2xhc3NMaXN0IDogMTQzNW1zCisg
ICAgICAgIGRpdi5jbGFzc0xpc3QuZm9vID0gMTIzIDogMTQ3MG1zCisgICAgICAgIGRpdi5kYXRh
c2V0IDogMTQwMG1zCisgICAgICAgIGRpdi5kYXRhc2V0LmZvbyA9IDEyMyA6IDMwMzk2bXMKKyAg
ICAgICAgZGl2LmF0dHJpYnV0ZXMgOiAxMjQybXMKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hh
bmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3Ry
aW5nTWFwQ3VzdG9tLmNwcDogTW9kaWZpZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvVjgpOgorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuY3BwOiBEZWZpbmVkIGEgaGlkZGVuIHByb3BlcnR5IG5hbWUgc3RyaW5nIHN0
YXRpY2FsbHkKKyAgICAgICAgdG8gb3B0aW1pemUgdGhlIG1hY3JvLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpWOEhpZGRlblByb3BlcnR5TmFtZTo6aGlkZGVuUmVmZXJl
bmNlTmFtZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaDog
TW9kaWZpZWQgdG8gc3dpdGNoIHR3byBwcmVmaXhlcyAiV2ViQ29yZTo6SGlkZGVuUHJvcGVydHk6
OiIKKyAgICAgICAgYW5kICJXZWJDb3JlOjpIaWRkZW5SZWZlcmVuY2U6OiIsIGRlcGVuZGluZyBv
biB3aGV0aGVyIGEgZ2l2ZW4gbmFtZSByZXByZXNlbnRzIGEgaGlkZGVuIHByb3BlcnR5CisgICAg
ICAgIG9yIGEgaGlkZGVuIHJlZmVyZW5jZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUpOgorCisyMDEyLTAzLTA2ICBLZW50YXJvIEhhcmEgIDxoYXJh
a2VuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEw
MDExLgogICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTAwMTEKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzc2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAK
aW5kZXggOTNhYzc1MTc4NGIyNDk4YmFkNTI3MGM2NTY3NzY3MDA1ZGI5MTE2Mi4uOTAxZmE1ZTQ0
ODE2NDg3ZmQzMTMzZDVjZmQwY2ZkOTBiY2I2ODg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDAsMjQgKzQxLDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNk
ZWZpbmUgVjhfQVNfU1RSSU5HKHgpIFY4X0FTX1NUUklOR19JTVBMKHgpCiAjZGVmaW5lIFY4X0FT
X1NUUklOR19JTVBMKHgpICN4CiAKLSNkZWZpbmUgVjhfREVGSU5FX1BST1BFUlRZKG5hbWUpIFwK
KyNkZWZpbmUgVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCAiV2ViQ29yZTo6SGlkZGVuUHJvcGVy
dHk6OiIKKworI2RlZmluZSBWOF9ERUZJTkVfSElEREVOX1BST1BFUlRZKG5hbWUpIFwKIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om5hbWUoKSBcCiB7IFwKICAg
ICBWOEhpZGRlblByb3BlcnR5TmFtZSogaGlkZGVuUHJvcGVydHlOYW1lID0gVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+aGlkZGVuUHJvcGVydHlOYW1lKCk7IFwKICAgICBpZiAo
aGlkZGVuUHJvcGVydHlOYW1lLT5tXyMjbmFtZS5Jc0VtcHR5KCkpIHsgXAotICAgICAgICBoaWRk
ZW5Qcm9wZXJ0eU5hbWUtPm1fIyNuYW1lID0gY3JlYXRlU3RyaW5nKCJXZWJDb3JlOjpIaWRkZW5Q
cm9wZXJ0eTo6IiBWOF9BU19TVFJJTkcobmFtZSkpOyBcCisgICAgICAgIGhpZGRlblByb3BlcnR5
TmFtZS0+bV8jI25hbWUgPSBjcmVhdGVTdHJpbmcoVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCBW
OF9BU19TVFJJTkcobmFtZSkpOyBcCiAgICAgfSBcCiAgICAgcmV0dXJuIGhpZGRlblByb3BlcnR5
TmFtZS0+bV8jI25hbWU7IFwKIH0KIAotVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVGSU5FX1BS
T1BFUlRZKTsKLQotc3RhdGljIGNvbnN0IGNoYXIgaGlkZGVuUmVmZXJlbmNlTmFtZVByZWZpeFtd
ID0gIldlYkNvcmU6OkhpZGRlblJlZmVyZW5jZTo6IjsKK1Y4X0hJRERFTl9QUk9QRVJUSUVTKFY4
X0RFRklORV9ISURERU5fUFJPUEVSVFkpOwogCiB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IFY4SGlk
ZGVuUHJvcGVydHlOYW1lOjpoaWRkZW5SZWZlcmVuY2VOYW1lKGNvbnN0IGNoYXIqIG5hbWUpCiB7
CiAgICAgVmVjdG9yPGNoYXIsIDY0PiBwcmVmaXhlZE5hbWU7Ci0gICAgcHJlZml4ZWROYW1lLmFw
cGVuZChoaWRkZW5SZWZlcmVuY2VOYW1lUHJlZml4LCBzaXplb2YoaGlkZGVuUmVmZXJlbmNlTmFt
ZVByZWZpeCkgLSAxKTsKKyAgICBwcmVmaXhlZE5hbWUuYXBwZW5kKFY4X0hJRERFTl9QUk9QRVJU
WV9QUkVGSVgsIHNpemVvZihWOF9ISURERU5fUFJPUEVSVFlfUFJFRklYKSAtIDEpOwogICAgIEFT
U0VSVChuYW1lICYmIHN0cmxlbihuYW1lKSk7CiAgICAgcHJlZml4ZWROYW1lLmFwcGVuZChuYW1l
LCBzdHJsZW4obmFtZSkpOwogICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXdTeW1ib2wocHJlZml4
ZWROYW1lLmRhdGEoKSwgc3RhdGljX2Nhc3Q8aW50PihwcmVmaXhlZE5hbWUuc2l6ZSgpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaApp
bmRleCBjOGY1MzUyN2ZlOGE4ZjJhNGM1ODg0NjJlMmIzOThhMTJkZGNhNTE1Li5lZjAyNWQzOWZk
ZjFkZjYxZjJjNWEwNjU3NzdlZGMwYjRjZGQ3NThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgKQEAgLTQ0LDggKzQ0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBWKHNsZWVwRnVuY3Rpb24pIFwKICAgICBWKHRvU3RyaW5n
U3RyaW5nKSBcCiAgICAgVihldmVudCkgXAotICAgIFYoc3RhdGUpCi0KKyAgICBWKHN0YXRlKSBc
CisgICAgVihkb21TdHJpbmdNYXApIFwKKyAgICBWKGRvbVRva2VuTGlzdCkgXAorICAgIFYob3du
ZXJOb2RlKQogCiAgICAgY2xhc3MgVjhIaWRkZW5Qcm9wZXJ0eU5hbWUgewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmlu
Z01hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01T
dHJpbmdNYXBDdXN0b20uY3BwCmluZGV4IDI3OTlhZTJjODc0ZTM0ZWMzMDlhZGY2NWY4ZmQ3MWZh
ZWM3MDllMWUuLmRkZjIyYTc0NmEyMWNmYzM3ODZlODBjYTQ0NDk3NDQ4YWMyNzdjNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3Ry
aW5nTWFwQ3VzdG9tLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChET01TdHJpbmdNYXAqIGltcGwpCiAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBl
bGVtZW50KSB7CiAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0
b1Y4KGVsZW1lbnQpOwogICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxl
bWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1l
ZEhpZGRlblJlZmVyZW5jZShlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKSwgImRvbVN0cmlu
Z01hcCIsIHdyYXBwZXIpOworICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+
KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdNYXAoKSwg
d3JhcHBlcik7CiAgICAgfQogICAgIHJldHVybiB3cmFwcGVyOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHAKaW5kZXggMDgwNTFhYmQ1NThkZWYxYzZmNjI5NjU3MTgyODAxMzIxMjMxOGUzNS4uYTIzZGE0
ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVkYWFjZWJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3Bw
CkBAIC00OCw3ICs0OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVRva2VuTGlz
dCogaW1wbCkKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKICAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7CiAg
ICAgICAgIGlmICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2Jq
ZWN0KCkpCi0gICAgICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNl
KGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLCAiZG9tVG9rZW5MaXN0Iiwgd3JhcHBlcik7
CisgICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFs
dWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKICAgICB9
CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcAppbmRleCA0NzgyZGNj
MzIyZDA1YWRkZDA2NjZlYWUxZTk4MTcxZDI0Yjk5NDc5Li5mMzAzMTI4ZTA4NzQwN2NjMDhhY2Q4
NTI3MWMyOTU5ZGNlOTllZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKQEAgLTc5LDcgKzc5LDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsKQogICAgIC8v
IEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBuYW1lZCBub2RlIG1hcCB0byBpdHMgb3duZXIg
bm9kZS4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOwogICAgIGlmICgh
d3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkKLSAgICAgICAgVjhET01XcmFwcGVyOjpzZXRO
YW1lZEhpZGRlblJlZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChlbGVtZW50KSk7
CisgICAgICAgIHdyYXBwZXItPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpv
d25lck5vZGUoKSwgdG9WOChlbGVtZW50KSk7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130759</attachid>
            <date>2012-03-07 21:13:02 -0800</date>
            <delta_ts>2012-03-11 17:31:45 -0700</delta_ts>
            <desc>follow-up patch</desc>
            <filename>bug-80376-20120308141301.patch</filename>
            <type>text/plain</type>
            <size>6400</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM5ZmRhYTM3ZDNhZmY0
M2NmMzcyMzc0Mjg1NWRjZTE4ZmU2YmQ4My4uNzgwMjE4ZmY2ZWNhYTA5ZWFhNGVmMWE3ZTEzMTY3
MDMyODdkMWQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBBIGZvbGxvdy11cCBvcHRpbWl6YXRpb24gZm9yIHIxMTAxMzcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzc2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhlIG9yaWdpbmFsIHBhdGNo
IChyMTA5OTY5KSBoYWQgY3Jhc2hlZCBzb21lIGxheW91dCB0ZXN0cywKKyAgICAgICAgSSBzaW1w
bGlmaWVkIHRoZSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gYW5kIGNvbW1pdHRlZCBpdCBhdCBy
MTEwMTM3LgorCisgICAgICAgIE5vdyByMTEwMTM3IHdvcmtzIGZpbmUsIGFuZCBJIHdvdWxkIGxp
a2UgdG8gY29tbWl0IGEgZm9sbG93LXVwIG9wdGltaXphdGlvbgorICAgICAgICBpbiB0aGlzIHBh
dGNoLiBUaGlzIHdpbGwgc2xpZ2h0bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UuCisKKyAgICAg
ICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OlY4SGlkZGVuUHJvcGVydHlOYW1lKTog
TW9kaWZpZWQgdG8gaW5pdGlhbGl6ZSB0aGUgc3RyaW5nCisgICAgICAgIGluIHRoZSBjb25zdHJ1
Y3RvciBpbiBvcmRlciB0byByZW1vdmUgJ2lmIChoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1fIyNuYW1l
LklzRW1wdHkoKSknCisgICAgICAgIGZyb20gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om5hbWUoKS4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHA6IFJlbW92ZWQgYW4gdW5uZWNlc3NhcnkgaWYgc3RhdGVtZW50
LgorICAgICAgICBJZiAnZWxlbWVudCcgZXhpc3RzLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgJyFl
bGVtZW50VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSknCisgICAg
ICAgIGlzIHRydWUuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OnRvVjgpOgorCiAyMDEyLTAzLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQ29udGFpbmVyTm9kZTo6d2lsbFJlbW92ZSB1c2VzIGEgd2VhayBpdGVy
YXRpb24gcGF0dGVybgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWUuY3BwCmluZGV4IDkwMWZhNWU0NDgxNjQ4N2ZkMzEzM2Q1Y2ZkMGNmZDkw
YmNiNjg4NmEuLjRjODRjNTFlOWExNjlmYmYyMTgxZmY3MmQwNDA0MWNkMzVhZDY2M2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5j
cHAKQEAgLTQ2LDE1ICs0NiwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZGVmaW5lIFY4X0RF
RklORV9ISURERU5fUFJPUEVSVFkobmFtZSkgXAogdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBWOEhp
ZGRlblByb3BlcnR5TmFtZTo6bmFtZSgpIFwKIHsgXAotICAgIFY4SGlkZGVuUHJvcGVydHlOYW1l
KiBoaWRkZW5Qcm9wZXJ0eU5hbWUgPSBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgp
LT5oaWRkZW5Qcm9wZXJ0eU5hbWUoKTsgXAotICAgIGlmIChoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1f
IyNuYW1lLklzRW1wdHkoKSkgeyBcCi0gICAgICAgIGhpZGRlblByb3BlcnR5TmFtZS0+bV8jI25h
bWUgPSBjcmVhdGVTdHJpbmcoVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCBWOF9BU19TVFJJTkco
bmFtZSkpOyBcCi0gICAgfSBcCi0gICAgcmV0dXJuIGhpZGRlblByb3BlcnR5TmFtZS0+bV8jI25h
bWU7IFwKKyAgICByZXR1cm4gVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+aGlk
ZGVuUHJvcGVydHlOYW1lKCktPm1fIyNuYW1lOyBcCiB9CiAKIFY4X0hJRERFTl9QUk9QRVJUSUVT
KFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkpOwogCitWOEhpZGRlblByb3BlcnR5TmFtZTo6VjhI
aWRkZW5Qcm9wZXJ0eU5hbWUoKQoreworI2RlZmluZSBWOF9JTklUSUFMSVpFX0hJRERFTl9QUk9Q
RVJUWShuYW1lKSBtXyMjbmFtZSA9IGNyZWF0ZVN0cmluZyhWOF9ISURERU5fUFJPUEVSVFlfUFJF
RklYIFY4X0FTX1NUUklORyhuYW1lKSk7CisgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfSU5J
VElBTElaRV9ISURERU5fUFJPUEVSVFkpOworI3VuZGVmIFY4X0lOSVRJQUxJWkVfSElEREVOX1BS
T1BFUlRZCit9CisKIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
OmhpZGRlblJlZmVyZW5jZU5hbWUoY29uc3QgY2hhciogbmFtZSkKIHsKICAgICBWZWN0b3I8Y2hh
ciwgNjQ+IHByZWZpeGVkTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEhpZGRlblByb3BlcnR5TmFtZS5oCmluZGV4IGVmMDI1ZDM5ZmRmMWRmNjFmMmM1YTA2NTc3N2Vk
YzBiNGNkZDc1OGMuLjg4ZTM0NDA1NWVmNzgwMTdhZjExMTI2NGU0ZDc0YWFjMzYyY2UxMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUu
aApAQCAtNTEsMTggKzUxLDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFY4
SGlkZGVuUHJvcGVydHlOYW1lIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFY4SGlkZGVuUHJvcGVy
dHlOYW1lKCkgeyB9Ci0jZGVmaW5lIFY4X0RFQ0xBUkVfUFJPUEVSVFkobmFtZSkgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4gbmFtZSgpOwotICAgICAgICBWOF9ISURERU5fUFJPUEVSVElF
UyhWOF9ERUNMQVJFX1BST1BFUlRZKTsKLSN1bmRlZiBWOF9ERUNMQVJFX1BST1BFUlRZCisgICAg
ICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKCk7CisjZGVmaW5lIFY4X0RFQ0xBUkVfSElEREVOX1BS
T1BFUlRZKG5hbWUpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUoKTsKKyAgICAg
ICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9ISURERU5fUFJPUEVSVFkpOworI3Vu
ZGVmIFY4X0RFQ0xBUkVfSElEREVOX1BST1BFUlRZCiAKICAgICAgICAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlN0cmluZz4gaGlkZGVuUmVmZXJlbmNlTmFtZShjb25zdCBjaGFyKiBuYW1lKTsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBj
cmVhdGVTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKLSNkZWZpbmUgVjhfREVDTEFSRV9GSUVMRChu
YW1lKSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKLSAgICAgICAgVjhfSElE
REVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9GSUVMRCk7Ci0jdW5kZWYgVjhfREVDTEFSRV9GSUVM
RAorI2RlZmluZSBWOF9ERUNMQVJFX0hJRERFTl9QUk9QRVJUWShuYW1lKSB2ODo6UGVyc2lzdGVu
dDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKKyAgICAgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhf
REVDTEFSRV9ISURERU5fUFJPUEVSVFkpOworI3VuZGVmIFY4X0RFQ0xBUkVfSElEREVOX1BST1BF
UlRZCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKaW5kZXggZGRmMjJhNzQ2YTIxY2Zj
Mzc4NmU4MGNhNDQ0OTc0NDhhYzI3N2M2NC4uMmQ3ZmMzNDIwZGE3OTEzNzc5MzRiZjJhZDc5MzNi
OWMyMDViMzE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCkBAIC05MSwxMSArOTEsOCBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChET01TdHJpbmdNYXAqIGltcGwpCiAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01TdHJpbmdNYXA6OndyYXAoaW1wbCk7CiAgICAg
Ly8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01TdHJp
bmdNYXAuCiAgICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAo
IXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0gICAgICAgIGlmICghZWxlbWVu
dFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAg
ICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6OmRvbVN0cmluZ01hcCgpLCB3cmFwcGVyKTsKLSAgICB9CisgICAgaWYgKCF3
cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KQorICAgICAgICB0b1Y4KGVsZW1lbnQpLkFzPHY4
OjpPYmplY3Q+KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJp
bmdNYXAoKSwgd3JhcHBlcik7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCmluZGV4IGEyM2RhNDgxMGUzZjE2MzdlYWIyYWI1ODk1MGYwMmI1ZGFhY2ViYTQuLjZl
MzVkOGQ3YjJhMzQ4YjY4ZmQyMDU4MDFlNmQ1ODU3MDA2N2Q1NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9t
LmNwcApAQCAtNDUsMTEgKzQ1LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9r
ZW5MaXN0KiBpbXBsKQogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9N
VG9rZW5MaXN0Ojp3cmFwKGltcGwpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJv
bSB0aGUgZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgogICAgIEVsZW1lbnQqIGVsZW1lbnQg
PSBpbXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50
KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVs
ZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZh
bHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+
KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21Ub2tlbkxpc3QoKSwg
d3JhcHBlcik7Ci0gICAgfQorICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkK
KyAgICAgICAgdG9WOChlbGVtZW50KS5Bczx2ODo6T2JqZWN0PigpLT5TZXRIaWRkZW5WYWx1ZShW
OEhpZGRlblByb3BlcnR5TmFtZTo6ZG9tVG9rZW5MaXN0KCksIHdyYXBwZXIpOwogICAgIHJldHVy
biB3cmFwcGVyOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131262</attachid>
            <date>2012-03-11 17:32:03 -0700</date>
            <delta_ts>2012-03-11 19:30:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80376-20120312093202.patch</filename>
            <type>text/plain</type>
            <size>3962</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIyZThkNmFlMGQ5ZDVl
YjUwMDExMDE2OWU2OTE4ZjY5YTg2YTAyNy4uODM1YTA1Y2NmNGFjNmVmMDJhN2EwYTA1YzU3YjVj
ZTExYWZlNWI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdW1BlcmZvcm1h
bmNlXSBBIGZvbGxvdy11cCBvcHRpbWl6YXRpb24gZm9yIHIxMTAxMzcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzc2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhlIG9yaWdpbmFsIHBhdGNo
IChyMTA5OTY5KSBoYWQgY3Jhc2hlZCBzb21lIGxheW91dCB0ZXN0cywKKyAgICAgICAgSSBzaW1w
bGlmaWVkIHRoZSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gYW5kIGNvbW1pdHRlZCBpdCBhdCBy
MTEwMTM3LgorCisgICAgICAgIE5vdyByMTEwMTM3IHdvcmtzIGZpbmUsIGFuZCBJIHdvdWxkIGxp
a2UgdG8gY29tbWl0IGEgZm9sbG93LXVwIG9wdGltaXphdGlvbgorICAgICAgICBpbiB0aGlzIHBh
dGNoLiBUaGlzIHdpbGwgc2xpZ2h0bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UuCisKKyAgICAg
ICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OlY4SGlkZGVuUHJvcGVydHlOYW1lKTog
TW9kaWZpZWQgdG8gaW5pdGlhbGl6ZSB0aGUgc3RyaW5nCisgICAgICAgIGluIHRoZSBjb25zdHJ1
Y3RvciBpbiBvcmRlciB0byByZW1vdmUgJ2lmIChoaWRkZW5Qcm9wZXJ0eU5hbWUtPm1fIyNuYW1l
LklzRW1wdHkoKSknCisgICAgICAgIGZyb20gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6Om5hbWUoKS4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWUpOgorCiAyMDEyLTAzLTExICBTaGF3biBTaW5naCAgPHNoYXdu
c2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHI5MzYxNCk6IHNjcm9s
bGluZyBkaXYgZG9lcyBub3QgcmVwYWludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCmluZGV4IDkwMWZhNWU0NDgxNjQ4N2ZkMzEz
M2Q1Y2ZkMGNmZDkwYmNiNjg4NmEuLjRjODRjNTFlOWExNjlmYmYyMTgxZmY3MmQwNDA0MWNkMzVh
ZDY2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblBy
b3BlcnR5TmFtZS5jcHAKQEAgLTQ2LDE1ICs0NiwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
ZGVmaW5lIFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkobmFtZSkgXAogdjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiBWOEhpZGRlblByb3BlcnR5TmFtZTo6bmFtZSgpIFwKIHsgXAotICAgIFY4SGlkZGVu
UHJvcGVydHlOYW1lKiBoaWRkZW5Qcm9wZXJ0eU5hbWUgPSBWOEJpbmRpbmdQZXJJc29sYXRlRGF0
YTo6Y3VycmVudCgpLT5oaWRkZW5Qcm9wZXJ0eU5hbWUoKTsgXAotICAgIGlmIChoaWRkZW5Qcm9w
ZXJ0eU5hbWUtPm1fIyNuYW1lLklzRW1wdHkoKSkgeyBcCi0gICAgICAgIGhpZGRlblByb3BlcnR5
TmFtZS0+bV8jI25hbWUgPSBjcmVhdGVTdHJpbmcoVjhfSElEREVOX1BST1BFUlRZX1BSRUZJWCBW
OF9BU19TVFJJTkcobmFtZSkpOyBcCi0gICAgfSBcCi0gICAgcmV0dXJuIGhpZGRlblByb3BlcnR5
TmFtZS0+bV8jI25hbWU7IFwKKyAgICByZXR1cm4gVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmN1
cnJlbnQoKS0+aGlkZGVuUHJvcGVydHlOYW1lKCktPm1fIyNuYW1lOyBcCiB9CiAKIFY4X0hJRERF
Tl9QUk9QRVJUSUVTKFY4X0RFRklORV9ISURERU5fUFJPUEVSVFkpOwogCitWOEhpZGRlblByb3Bl
cnR5TmFtZTo6VjhIaWRkZW5Qcm9wZXJ0eU5hbWUoKQoreworI2RlZmluZSBWOF9JTklUSUFMSVpF
X0hJRERFTl9QUk9QRVJUWShuYW1lKSBtXyMjbmFtZSA9IGNyZWF0ZVN0cmluZyhWOF9ISURERU5f
UFJPUEVSVFlfUFJFRklYIFY4X0FTX1NUUklORyhuYW1lKSk7CisgICAgVjhfSElEREVOX1BST1BF
UlRJRVMoVjhfSU5JVElBTElaRV9ISURERU5fUFJPUEVSVFkpOworI3VuZGVmIFY4X0lOSVRJQUxJ
WkVfSElEREVOX1BST1BFUlRZCit9CisKIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6OmhpZGRlblJlZmVyZW5jZU5hbWUoY29uc3QgY2hhciogbmFtZSkKIHsKICAg
ICBWZWN0b3I8Y2hhciwgNjQ+IHByZWZpeGVkTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCmluZGV4IGVmMDI1ZDM5ZmRmMWRmNjFm
MmM1YTA2NTc3N2VkYzBiNGNkZDc1OGMuLjg4ZTM0NDA1NWVmNzgwMTdhZjExMTI2NGU0ZDc0YWFj
MzYyY2UxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVu
UHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuaApAQCAtNTEsMTggKzUxLDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIFY4SGlkZGVuUHJvcGVydHlOYW1lIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFY4
SGlkZGVuUHJvcGVydHlOYW1lKCkgeyB9Ci0jZGVmaW5lIFY4X0RFQ0xBUkVfUFJPUEVSVFkobmFt
ZSkgc3RhdGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gbmFtZSgpOwotICAgICAgICBWOF9ISURE
RU5fUFJPUEVSVElFUyhWOF9ERUNMQVJFX1BST1BFUlRZKTsKLSN1bmRlZiBWOF9ERUNMQVJFX1BS
T1BFUlRZCisgICAgICAgIFY4SGlkZGVuUHJvcGVydHlOYW1lKCk7CisjZGVmaW5lIFY4X0RFQ0xB
UkVfSElEREVOX1BST1BFUlRZKG5hbWUpIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5h
bWUoKTsKKyAgICAgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9ISURERU5fUFJP
UEVSVFkpOworI3VuZGVmIFY4X0RFQ0xBUkVfSElEREVOX1BST1BFUlRZCiAKICAgICAgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gaGlkZGVuUmVmZXJlbmNlTmFtZShjb25zdCBjaGFy
KiBuYW1lKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2
ODo6U3RyaW5nPiBjcmVhdGVTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKLSNkZWZpbmUgVjhfREVD
TEFSRV9GSUVMRChuYW1lKSB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKLSAg
ICAgICAgVjhfSElEREVOX1BST1BFUlRJRVMoVjhfREVDTEFSRV9GSUVMRCk7Ci0jdW5kZWYgVjhf
REVDTEFSRV9GSUVMRAorI2RlZmluZSBWOF9ERUNMQVJFX0hJRERFTl9QUk9QRVJUWShuYW1lKSB2
ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBtXyMjbmFtZTsKKyAgICAgICAgVjhfSElEREVOX1BS
T1BFUlRJRVMoVjhfREVDTEFSRV9ISURERU5fUFJPUEVSVFkpOworI3VuZGVmIFY4X0RFQ0xBUkVf
SElEREVOX1BST1BFUlRZCiAgICAgfTsKIAogfQo=
</data>
<flag name="review"
          id="134519"
          type_id="1"
          status="-"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>