<?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>54090</bug_id>
          
          <creation_ts>2011-02-09 04:35:41 -0800</creation_ts>
          <short_desc>KURL should remove default port numbers when canonicalizing urls</short_desc>
          <delta_ts>2012-05-18 11:23:02 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66017</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>brettw</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348156</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 04:35:41 -0800</bug_when>
    <thetext>KURL should remove default port numbers when cannonicalizing urls (to match every other browser)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348160</commentid>
    <comment_count>1</comment_count>
      <attachid>81790</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 04:49:47 -0800</bug_when>
    <thetext>Created attachment 81790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348395</commentid>
    <comment_count>2</comment_count>
      <attachid>81790</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 11:12:20 -0800</bug_when>
    <thetext>Comment on attachment 81790
Patch

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

&gt; Source/WebCore/platform/KURL.cpp:1105
&gt; +static inline bool isDefaultPortForScheme(const char* port, size_t portLength, const char* scheme, size_t schemeLength)

Where did this list of schemes/ports come from?  I think Firefox has some sort of extensibility model where each URL provider annonces a scheme and a default port.  This is probably a good step though.

&gt; Source/WebCore/platform/KURL.cpp:1122
&gt; +    switch (schemeLength) {
&gt; +    case 4:
&gt; +        return !strncmp(scheme, &quot;http&quot;, schemeLength) &amp;&amp; !strncmp(port, &quot;80&quot;, portLength);
&gt; +    case 5:
&gt; +        return !strncmp(scheme, &quot;https&quot;, schemeLength) &amp;&amp; !strncmp(port, &quot;443&quot;, portLength);
&gt; +    case 3:
&gt; +        if (!strncmp(scheme, &quot;ftp&quot;, schemeLength))
&gt; +            return !strncmp(port, &quot;43&quot;, portLength);
&gt; +        if (!strncmp(scheme, &quot;wss&quot;, schemeLength))
&gt; +            return !strncmp(port, &quot;443&quot;, portLength);
&gt; +        break;
&gt; +    case 6:
&gt; +        return !strncmp(scheme, &quot;gopher&quot;, schemeLength) &amp;&amp; !strncmp(port, &quot;70&quot;, portLength);
&gt; +    case 2:
&gt; +        return !strncmp(scheme, &quot;ws&quot;, schemeLength) &amp;&amp; !strncmp(port, &quot;80&quot;, portLength);
&gt; +    }

Can you put these in numerical origin?  Also, consider adding an explicit default case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348419</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-09 11:43:56 -0800</bug_when>
    <thetext>Let me find a dupe, I think there were some interesting comments there...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348446</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-09 12:11:02 -0800</bug_when>
    <thetext>The duplicate is in Radar, &lt;rdar://problem/7908207&gt;. An interesting thing is that we should care about what&apos;s sent over HTTP more that we should care about DOM access to components - and the most common practical case where this occurs is slightly misconfigured servers that redirect to :80.

The code in ResourceHandleMac.mm that (I think) makes redirects work correctly is super subtle.

Specifically, here is how one broken site behaved:
1. Open http://www.rambler.ru/dict

Expected results: redirected to http://www.rambler.ru/dict/
Actual results: redirected to http://www.rambler.ru:80/dict/

Here, the server was adding :80 at the same time it was adding a trailing slash, so we ended up sending www.rambler.ru:80 as Host, as well as in Safari address bar. The server has been since fixed.

-FAIL canonicalize(&apos;//c:\\foo&apos;) should be http://c/foo. Was http://c:/foo.
+PASS canonicalize(&apos;//c:\\foo&apos;) is &apos;http://c/foo&apos;

I think that you have an unrelated change in your patch that&apos;s affecting this test.

+// FIXME: This function is a horrible mess of copy/paste, but I don&apos;t know
+// of a better way to write it.
+static inline bool isDefaultPortForScheme(const char* port, size_t portLength, const char* scheme, size_t schemeLength)

Please don&apos;t wrap the comment. I personally don&apos;t think that code quality deserves a FIXME comment - a person capable of improving the code won&apos;t need a comment to see that. FIXMEs are more useful for subtle behavior bugs or questions.

+                const char *portEndPtr = url + portEnd;

Misplaced star.

I strongly encourage you to add HTTP test cases for this change. Not strongly enough to formally request that and mark the patch r-, but close to that :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348456</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 12:18:23 -0800</bug_when>
    <thetext>&gt; -FAIL canonicalize(&apos;//c:\\foo&apos;) should be http://c/foo. Was http://c:/foo.
&gt; +PASS canonicalize(&apos;//c:\\foo&apos;) is &apos;http://c/foo&apos;
&gt; 
&gt; I think that you have an unrelated change in your patch that&apos;s affecting this test.

You should also add a test for

//example.com:/foo
//example.com:
http://example.com:/foo
http://example.com:

I suspect you&apos;re canonicalizing away empty port number too, which seems beneficial (but should be verified).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348468</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-09 12:32:07 -0800</bug_when>
    <thetext>When I put &quot;//c:\\foo&quot; in Firefox address bar (yeah, on Mac), it doesn&apos;t remove the colon. Perhaps this change should be discussed on its own merits in a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348471</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 12:36:04 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; When I put &quot;//c:\\foo&quot; in Firefox address bar (yeah, on Mac), it doesn&apos;t remove the colon. Perhaps this change should be discussed on its own merits in a separate bug.

The address bar isn&apos;t a reliable way to test this behavior.  Also, note that because we&apos;re using shouldBe, the \\ gets unescaped to \.

I&apos;ve collated a bunch of data points on the compatibility of URL parsing here:

https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt

Although, I don&apos;t seem to have that particular test on that list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348607</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 14:58:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 81790 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81790&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/KURL.cpp:1105
&gt; &gt; +static inline bool isDefaultPortForScheme(const char* port, size_t portLength, const char* scheme, size_t schemeLength)
&gt; 
&gt; Where did this list of schemes/ports come from?  I think Firefox has some sort of extensibility model where each URL provider annonces a scheme and a default port.  This is probably a good step though.

This came from GURL.  Since GURL is BSD and Google copyright, the copyright line didn&apos;t end up changing.

&gt; Can you put these in numerical origin?  Also, consider adding an explicit default case.

I assumed Brett did that for perf.  Not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348656</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 15:37:20 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; -FAIL canonicalize(&apos;//c:\\foo&apos;) should be http://c/foo. Was http://c:/foo.
&gt; +PASS canonicalize(&apos;//c:\\foo&apos;) is &apos;http://c/foo&apos;
&gt; 
&gt; I think that you have an unrelated change in your patch that&apos;s affecting this test.

Nah.  That&apos;s just that our parser sees (correctly) &quot;c&quot; as the host name and the &quot;:&quot; as the : for port.  Its just like if someone wrote:
http://www.apple.com:/  I think we&apos;d expect to remove the trailing colon there too.

&gt; +// FIXME: This function is a horrible mess of copy/paste, but I don&apos;t know
&gt; +// of a better way to write it.
&gt; +static inline bool isDefaultPortForScheme(const char* port, size_t portLength, const char* scheme, size_t schemeLength)
&gt; 
&gt; Please don&apos;t wrap the comment. I personally don&apos;t think that code quality deserves a FIXME comment - a person capable of improving the code won&apos;t need a comment to see that. FIXMEs are more useful for subtle behavior bugs or questions.

I removed it and replace it with one which pointed out where I got the list from.

&gt; +                const char *portEndPtr = url + portEnd;
&gt; 
&gt; Misplaced star.

Fixed.

&gt; I strongly encourage you to add HTTP test cases for this change. Not strongly enough to formally request that and mark the patch r-, but close to that :)

What specific tests do you have in mind?  I&apos;m not sure what your asking for, but happy to entertain the request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348660</commentid>
    <comment_count>10</comment_count>
      <attachid>81888</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 15:43:56 -0800</bug_when>
    <thetext>Created attachment 81888
Fixed ap and abarth&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348665</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-09 15:46:37 -0800</bug_when>
    <thetext>&gt; What specific tests do you have in mind?  I&apos;m not sure what your asking for, but happy to entertain the request.

Sorry, I now realize that we can&apos;t have http tests on port 80.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348674</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 16:01:20 -0800</bug_when>
    <thetext>Btw, I checked FF, Chrome and Opera and they all do the colon-removal thing as tested in my most recent patch.  I don&apos;t have IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348676</commentid>
    <comment_count>13</comment_count>
      <attachid>81888</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 16:03:14 -0800</bug_when>
    <thetext>Comment on attachment 81888
Fixed ap and abarth&apos;s comments

Ok.  Please check the HTTP redirect case manually before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348677</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 16:04:25 -0800</bug_when>
    <thetext>Happy to.  Can you explain how I do that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348682</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 16:14:59 -0800</bug_when>
    <thetext>I don&apos;t fully understand, but consider an HTTP redirect with the following Location header:

Location: http://example.com:80/

I think he&apos;s worried that Safari will show the &quot;:80&quot; in the address bar or in the Host header when following the redirect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348683</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 16:16:49 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; I don&apos;t fully understand, but consider an HTTP redirect with the following Location header:
&gt; 
&gt; Location: http://example.com:80/
&gt; 
&gt; I think he&apos;s worried that Safari will show the &quot;:80&quot; in the address bar or in the Host header when following the redirect.

That seems the opposite of this change, since it&apos;s designed to remove :80 from urls.

This would be done with some sort of Apache settings or some custom php?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348684</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 16:19:51 -0800</bug_when>
    <thetext>I would just use netcat, but that&apos;s how I roll.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348688</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-09 16:22:47 -0800</bug_when>
    <thetext>1. Add main.php to LayoutTests/http/tests:
&lt;?php
  header(&apos;Location: http://localhost:80/foobar.html&apos;);
  header(&apos;HTTP/1.0 302 Found&apos;);
?&gt;

2. run-webkit-httpd
3. sudo nc -l 80
4. Open http://127.0.0.1:8000/main.php in Safari.
5. Observe that a request that you get in nc has &quot;localhost&quot; in Host header field (not localhost:80).
6. Type back:
HTTP/1.1 200 OK

Hello world!

7. Observe that address in Safari address bar doesn&apos;t have the :80.

Repeat with and without your patch, in Safari, Chrome, and Firefox :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348697</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 16:47:34 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; 1. Add main.php to LayoutTests/http/tests:
&gt; &lt;?php
&gt;   header(&apos;Location: http://localhost:80/foobar.html&apos;);
&gt;   header(&apos;HTTP/1.0 302 Found&apos;);
&gt; ?&gt;
&gt; 
&gt; 2. run-webkit-httpd
&gt; 3. sudo nc -l 80
&gt; 4. Open http://127.0.0.1:8000/main.php in Safari.
&gt; 5. Observe that a request that you get in nc has &quot;localhost&quot; in Host header field (not localhost:80).
&gt; 6. Type back:
&gt; HTTP/1.1 200 OK
&gt; 
&gt; Hello world!
&gt; 
&gt; 7. Observe that address in Safari address bar doesn&apos;t have the :80.
&gt; 
&gt; Repeat with and without your patch, in Safari, Chrome, and Firefox :)

Done.  Seems to work fine.  I never saw a :80.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348698</commentid>
    <comment_count>20</comment_count>
      <attachid>81894</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 16:49:01 -0800</bug_when>
    <thetext>Created attachment 81894
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348734</commentid>
    <comment_count>21</comment_count>
      <attachid>81899</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-09 17:33:04 -0800</bug_when>
    <thetext>Created attachment 81899
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348937</commentid>
    <comment_count>22</comment_count>
      <attachid>81899</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-10 04:26:16 -0800</bug_when>
    <thetext>Comment on attachment 81899
Patch for landing

Rejecting attachment 81899 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;build-...&quot; exit_code: 2

Last 500 characters of output:
..
fast/dom/Document ...................
fast/dom/Document/CaretRangeFromPoint ....
fast/dom/Element .................................
fast/dom/EntityReference .
fast/dom/Geolocation ...................................
fast/dom/HTMLAnchorElement ..
fast/dom/HTMLAnchorElement/set-href-attribute-host.html -&gt; failed

Exiting early after 1 failures. 7245 tests run.
154.29s total testing time

7244 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
4 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/7884258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348949</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-10 04:45:02 -0800</bug_when>
    <thetext>Two real failures.  I&apos;ll investigate after some sleep.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349658</commentid>
    <comment_count>24</comment_count>
      <attachid>82107</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-10 23:21:21 -0800</bug_when>
    <thetext>Created attachment 82107
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349686</commentid>
    <comment_count>25</comment_count>
      <attachid>82107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 01:12:42 -0800</bug_when>
    <thetext>Comment on attachment 82107
Patch for landing

Rejecting attachment 82107 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
Headers/wtf/CryptographicallyRandomNumber.h
r78321 = ba712d32d0ea52b479cd2b68230b941090e5296f (refs/remotes/trunk)
	M	Source/WebCore/dom/Document.h
	M	Source/WebCore/dom/Element.cpp
	M	Source/WebCore/dom/Element.h
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/css/CSSStyleSelector.cpp
	M	Source/WebCore/css/CSSStyleSelector.h
r78322 = 61ac637b95e13bf64bf5aba239900de89a6ece25 (refs/remotes/trunk)
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/trunk.

Full output: http://queues.webkit.org/results/7867605</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349690</commentid>
    <comment_count>26</comment_count>
      <attachid>82107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 01:33:04 -0800</bug_when>
    <thetext>Comment on attachment 82107
Patch for landing

Rejecting attachment 82107 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;la...&quot; exit_code: 1

Last 500 characters of output:
cfd4132944da0f11ed4b684f3403b2e9e3737719
r78320 = 3043e530d84fb64e5a4521811d9c344b9d122625
r78321 = ba712d32d0ea52b479cd2b68230b941090e5296f
r78322 = 61ac637b95e13bf64bf5aba239900de89a6ece25
r78323 = aa5a9e22db2a1749c225bbc65d2ae02ed526ba8d
r78324 = 4d78e0888b2e0e58a821f1cb10cfd1b52b9080a6
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://queues.webkit.org/results/7870604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349711</commentid>
    <comment_count>27</comment_count>
      <attachid>82122</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-11 04:35:11 -0800</bug_when>
    <thetext>Created attachment 82122
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349723</commentid>
    <comment_count>28</comment_count>
      <attachid>82122</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 05:23:42 -0800</bug_when>
    <thetext>Comment on attachment 82122
Patch for landing

Rejecting attachment 82122 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
CoreSupport/FrameLoaderClientGtk.cpp
	M	Source/WebKit/gtk/ChangeLog
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
r78331 = f47dc69db31dd8a1237a2f20563fb23636968430 (refs/remotes/trunk)
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
r78332 = 1f1d3b758799641fac7067bfe7013e9a837282a2 (refs/remotes/trunk)
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/trunk.

Full output: http://queues.webkit.org/results/7867647</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349989</commentid>
    <comment_count>29</comment_count>
      <attachid>82122</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-11 13:52:50 -0800</bug_when>
    <thetext>Comment on attachment 82122
Patch for landing

Ha.  It&apos;s missing a reviewer.  What a dumb message from the cq.  I guess it got lost along the way.

@abarth: would you r+ again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350118</commentid>
    <comment_count>30</comment_count>
      <attachid>82122</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 15:47:23 -0800</bug_when>
    <thetext>Comment on attachment 82122
Patch for landing

Clearing flags on attachment: 82122

Committed r78383: &lt;http://trac.webkit.org/changeset/78383&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350120</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 15:47:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350157</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 16:47:25 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 82122:

http/tests/security/xssAuditor/script-tag-post-control-char.html bug 54324 (author: dbates@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449433</commentid>
    <comment_count>33</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-10 15:27:30 -0700</bug_when>
    <thetext>This patch broke mobile GMail authentication in some cases. I&apos;ve filed bug 66017  about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554167</commentid>
    <comment_count>34</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-10 10:24:36 -0800</bug_when>
    <thetext>Also likely broke visited link coloring when port number is present, see bug 78358.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627845</commentid>
    <comment_count>35</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-18 11:23:02 -0700</bug_when>
    <thetext>*** Bug 21979 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81790</attachid>
            <date>2011-02-09 04:49:47 -0800</date>
            <delta_ts>2011-02-09 15:43:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54090-20110209044946.patch</filename>
            <type>text/plain</type>
            <size>9520</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgwNDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MWQ3NzEzNjUwMjk5ZTM2Mjg1NGY1
ZmNlOGZkNmVkNzhhMzhmNTEzLi4zOGQ0MzZiZDI2ZjNmYTQwZjBkZmNkZDk4NTIyMWYwOWQ2OGYw
ZTAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBkZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5v
bmljYWxpemluZyB1cmxzICh0byBtYXRjaCBldmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICAq
IGZhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdXJsL3JlbGF0aXZl
LXVuaXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0OgorCisy
MDExLTAyLTA5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAgICAgIEhvc3RuYW1lcyBzaG91bGQgY2Fubm9uaWNh
bGl6ZSB0byBsb3dlcmNhc2UgKHRvIG1hdGNoIGV2ZXJ5IG90aGVyIGJyb3dzZXIpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9wb3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGQ2NGRkM2EzZWMyZDliMmZlYmYyMzJm
MjA0MmNjNTIzOGMwYjBlZmMuLjhlOWQ0ZWMxNmVmZjYyMzkxYTc4Y2M0NmViMzkwN2ZhNDYzYTll
MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBGQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3
dy5leGFtcGxlLmNvbTphcyBkZi8nKSBzaG91bGQgYmUgaHR0cDovL3d3dy5leGFtcGxlLmNvbTph
cyUyMGRmLy4gV2FzIGh0dHA6Ly93d3cuZXhhbXBsZS5jb206YXMgZGYvLgogUEFTUyBjYW5vbmlj
YWxpemUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206LTIvJykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBs
ZS5jb206LTIvJwotRkFJTCBjYW5vbmljYWxpemUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206ODAv
Jykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vLiBXYXMgaHR0cDovL3d3dy5leGFt
cGxlLmNvbTo4MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4
MC8nKSBpcyAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0
cDovL3d3dy5leGFtcGxlLmNvbTo4MDgwLycpIGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgw
ODAvJwogUEFTUyBjYW5vbmljYWxpemUoJ2Zvb2JhcjovL3d3dy5leGFtcGxlLmNvbTo4MC8nKSBp
cyAnZm9vYmFyOi8vd3d3LmV4YW1wbGUuY29tOjgwLycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXVuaXgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3Rl
ZC50eHQKaW5kZXggNGNmY2RhMDE3MTMxNjQzNzM1ZTAyM2E2ZTAwZjc2Mjg4MzFkZmNjMS4uOGU5
M2Q0NDNmNmMzY2E1N2E3NjZjNmExODFmZWJhYjg0NTI0YjkxYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgY2Fub25pY2FsaXplKCdcXFxcQW5vdGhlclxc
cGF0aCcpIGlzICdodHRwOi8vYW5vdGhlci9wYXRoJwogUEFTUyBjYW5vbmljYWxpemUoJy9jOlxc
Zm9vJykgaXMgJ2h0dHA6Ly9ob3N0L2M6L2ZvbycKLUZBSUwgY2Fub25pY2FsaXplKCcvL2M6XFxm
b28nKSBzaG91bGQgYmUgaHR0cDovL2MvZm9vLiBXYXMgaHR0cDovL2M6L2Zvby4KK1BBU1MgY2Fu
b25pY2FsaXplKCcvL2M6XFxmb28nKSBpcyAnaHR0cDovL2MvZm9vJwogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9z
ZWdtZW50cy1leHBlY3RlZC50eHQKaW5kZXggZjUzZmJiMTBlNWFjM2M2NzE4MTJhM2I3MDdjNTAy
MjRkZWI0NjQzZS4uNjU5YmU1ZmVkMWY3NmFkZjJkM2QyNTdlMDVmYzQ2NmQzMjNiY2FkMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4dApAQCAtNjcsNyArNjcs
NyBAQCBQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjEnKSBpcyAnWyI6IiwiIiwiMCIsIiIs
IiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6OjFdJykgaXMgJ1siOiIsIiIsIjAi
LCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly8yMDAxOjoxXTo4MCcpIGlzICdbIjoi
LCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFdJykgaXMg
J1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdJwotRkFJTCBzZWdtZW50cygnaHR0
cDovL1syMDAxOjoxXTo4MCcpIHNob3VsZCBiZSBbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8i
LCIiLCIiXS4gV2FzIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCI4MCIsIi8iLCIiLCIiXS4KK1BBU1Mg
c2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBpcyAnWyJodHRwOiIsIlsyMDAxOjoxXSIs
IjAiLCIvIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vW1s6Ol1dJykgaXMgJ1siOiIs
IiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZnJvbS1kYXRhLXVybC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4
cGVjdGVkLnR4dAppbmRleCA2YWU5M2I4MzA4OWRjNGJmZGMyY2M1MDcyMDk0OGEzZjljMjVjMzhk
Li5iOTdlNDg5YTExODY1ODQwYWNkMzczNWIwMzcwOThhNzIyNjE2ZmIzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVk
LnR4dApAQCAtNjcsNyArNjcsNyBAQCBQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjEnKSBp
cyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6OjFd
JykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly8yMDAx
OjoxXTo4MCcpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRw
Oi8vWzIwMDE6OjFdJykgaXMgJ1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdJwot
RkFJTCBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxXTo4MCcpIHNob3VsZCBiZSBbImh0dHA6Iiwi
WzIwMDE6OjFdIiwiMCIsIi8iLCIiLCIiXS4gV2FzIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCI4MCIs
Ii8iLCIiLCIiXS4KK1BBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBpcyAnWyJo
dHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8v
W1s6Ol1dJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQt
dXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3N0YW5kYXJkLXVybC1leHBl
Y3RlZC50eHQKaW5kZXggM2Y1MTdkNGFiM2NhZDZmZGZjMGJiM2MyNjNlZGJjZjNkYTZmOTljYi4u
YzljZTc1MWYyNDcwNmVjNDY3OGU5ZDE1MjJlMTM3NDgyMDIyNmMxZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0CkBAIC0xMiwyMyArMTIsMjMg
QEAgUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly91c2VyOnBhc3NALycpIGlzICdodHRwOi8vdXNl
cjpwYXNzQC8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovLyUyNURPTUFJTjpmb29iYXJAZm9v
ZG9tYWluLmNvbS8nKSBpcyAnaHR0cDovLyUyNURPTUFJTjpmb29iYXJAZm9vZG9tYWluLmNvbS8n
CiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDpcXFxcd3d3Lmdvb2dsZS5jb21cXGZvbycpIGlzICdo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vZm9vJwogRkFJTCBjYW5vbmljYWxpemUoJ2h0dHA6Ly93d3cu
Z29vZ2xlLmNvbS9hc2RmI1x1ZDgwMCcpIHNob3VsZCBiZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20v
YXNkZiPvv70uIFdhcyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vYXNkZiMlMjYlMjM1NTI5NiUzQi4K
LUZBSUwgY2Fub25pY2FsaXplKCdodHRwOi8vZm9vOjgwLycpIHNob3VsZCBiZSBodHRwOi8vZm9v
Ly4gV2FzIGh0dHA6Ly9mb286ODAvLgorUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly9mb286ODAv
JykgaXMgJ2h0dHA6Ly9mb28vJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly9mb286ODEvJykg
aXMgJ2h0dHA6Ly9mb286ODEvJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHBhOi8vZm9vOjgwLycp
IGlzICdodHRwYTovL2Zvbzo4MC8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2ZvbzotODAv
JykgaXMgJ2h0dHA6Ly9mb286LTgwLycKLUZBSUwgY2Fub25pY2FsaXplKCdodHRwczovL2Zvbzo0
NDMvJykgc2hvdWxkIGJlIGh0dHBzOi8vZm9vLy4gV2FzIGh0dHBzOi8vZm9vOjQ0My8uCitQQVNT
IGNhbm9uaWNhbGl6ZSgnaHR0cHM6Ly9mb286NDQzLycpIGlzICdodHRwczovL2Zvby8nCiBQQVNT
IGNhbm9uaWNhbGl6ZSgnaHR0cHM6Ly9mb286ODAvJykgaXMgJ2h0dHBzOi8vZm9vOjgwLycKIEZB
SUwgY2Fub25pY2FsaXplKCdmdHA6Ly9mb286MjEvJykgc2hvdWxkIGJlIGZ0cDovL2Zvby8uIFdh
cyBmdHA6Ly9mb286MjEvLgogUEFTUyBjYW5vbmljYWxpemUoJ2Z0cDovL2Zvbzo4MC8nKSBpcyAn
ZnRwOi8vZm9vOjgwLycKLUZBSUwgY2Fub25pY2FsaXplKCdnb3BoZXI6Ly9mb286NzAvJykgc2hv
dWxkIGJlIGdvcGhlcjovL2Zvby8uIFdhcyBnb3BoZXI6Ly9mb286NzAvLgorUEFTUyBjYW5vbmlj
YWxpemUoJ2dvcGhlcjovL2Zvbzo3MC8nKSBpcyAnZ29waGVyOi8vZm9vLycKIFBBU1MgY2Fub25p
Y2FsaXplKCdnb3BoZXI6Ly9mb286NDQzLycpIGlzICdnb3BoZXI6Ly9mb286NDQzLycKLUZBSUwg
Y2Fub25pY2FsaXplKCd3czovL2Zvbzo4MC8nKSBzaG91bGQgYmUgd3M6Ly9mb28vLiBXYXMgd3M6
Ly9mb286ODAvLgorUEFTUyBjYW5vbmljYWxpemUoJ3dzOi8vZm9vOjgwLycpIGlzICd3czovL2Zv
by8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODEvJykgaXMgJ3dzOi8vZm9vOjgxLycK
IFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo0NDMvJykgaXMgJ3dzOi8vZm9vOjQ0My8nCiBQ
QVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODE1LycpIGlzICd3czovL2Zvbzo4MTUvJwogUEFT
UyBjYW5vbmljYWxpemUoJ3dzczovL2Zvbzo4MC8nKSBpcyAnd3NzOi8vZm9vOjgwLycKIFBBU1Mg
Y2Fub25pY2FsaXplKCd3c3M6Ly9mb286ODEvJykgaXMgJ3dzczovL2Zvbzo4MS8nCi1GQUlMIGNh
bm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjQ0My8nKSBzaG91bGQgYmUgd3NzOi8vZm9vLy4gV2FzIHdz
czovL2Zvbzo0NDMvLgorUEFTUyBjYW5vbmljYWxpemUoJ3dzczovL2Zvbzo0NDMvJykgaXMgJ3dz
czovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjgxNS8nKSBpcyAnd3NzOi8v
Zm9vOjgxNS8nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA3NmUwZTgwZjBkMjhkYmRjY2I3NTEzNDkwM2NmYWViMjRjNDNhMzRlLi5iZDM0OTQwYmM2MmZj
NWNmNTdkOWZmOWQyZTk3YTQzOTc1ZWM5NGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBk
ZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5vbmljYWxpemluZyB1cmxzICh0byBtYXRjaCBl
dmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICAqIHBsYXRmb3JtL0tVUkwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6aXNEZWZhdWx0UG9ydEZvclNjaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpL
VVJMOjpwYXJzZSk6CisKIDIwMTEtMDItMDkgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S1VSTC5jcHAKaW5kZXggY2Y0NGMwMjc3YzI0M2JkODY2MWMzMWFkODBkNjRjMGE1MmZhYzJmYy4u
OGI0MTg0ZDEyOTRlMGZjZTEwODAyZjhiMWFmOGI1MzBjMDY4MjU1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vS1VSTC5jcHAKQEAgLTExMDAsNiArMTEwMCwyOSBAQCB2b2lkIEtVUkw6OnBhcnNlKGNvbnN0
IFN0cmluZyYgc3RyaW5nKQogICAgIHBhcnNlKGJ1ZmZlci5kYXRhKCksICZzdHJpbmcpOwogfQog
CisvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBpcyBhIGhvcnJpYmxlIG1lc3Mgb2YgY29weS9wYXN0
ZSwgYnV0IEkgZG9uJ3Qga25vdworLy8gb2YgYSBiZXR0ZXIgd2F5IHRvIHdyaXRlIGl0Lgorc3Rh
dGljIGlubGluZSBib29sIGlzRGVmYXVsdFBvcnRGb3JTY2hlbWUoY29uc3QgY2hhciogcG9ydCwg
c2l6ZV90IHBvcnRMZW5ndGgsIGNvbnN0IGNoYXIqIHNjaGVtZSwgc2l6ZV90IHNjaGVtZUxlbmd0
aCkKK3sKKyAgICBzd2l0Y2ggKHNjaGVtZUxlbmd0aCkgeworICAgIGNhc2UgNDoKKyAgICAgICAg
cmV0dXJuICFzdHJuY21wKHNjaGVtZSwgImh0dHAiLCBzY2hlbWVMZW5ndGgpICYmICFzdHJuY21w
KHBvcnQsICI4MCIsIHBvcnRMZW5ndGgpOworICAgIGNhc2UgNToKKyAgICAgICAgcmV0dXJuICFz
dHJuY21wKHNjaGVtZSwgImh0dHBzIiwgc2NoZW1lTGVuZ3RoKSAmJiAhc3RybmNtcChwb3J0LCAi
NDQzIiwgcG9ydExlbmd0aCk7CisgICAgY2FzZSAzOgorICAgICAgICBpZiAoIXN0cm5jbXAoc2No
ZW1lLCAiZnRwIiwgc2NoZW1lTGVuZ3RoKSkKKyAgICAgICAgICAgIHJldHVybiAhc3RybmNtcChw
b3J0LCAiNDMiLCBwb3J0TGVuZ3RoKTsKKyAgICAgICAgaWYgKCFzdHJuY21wKHNjaGVtZSwgIndz
cyIsIHNjaGVtZUxlbmd0aCkpCisgICAgICAgICAgICByZXR1cm4gIXN0cm5jbXAocG9ydCwgIjQ0
MyIsIHBvcnRMZW5ndGgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDY6CisgICAgICAgIHJl
dHVybiAhc3RybmNtcChzY2hlbWUsICJnb3BoZXIiLCBzY2hlbWVMZW5ndGgpICYmICFzdHJuY21w
KHBvcnQsICI3MCIsIHBvcnRMZW5ndGgpOworICAgIGNhc2UgMjoKKyAgICAgICAgcmV0dXJuICFz
dHJuY21wKHNjaGVtZSwgIndzIiwgc2NoZW1lTGVuZ3RoKSAmJiAhc3RybmNtcChwb3J0LCAiODAi
LCBwb3J0TGVuZ3RoKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEtVUkw6
OnBhcnNlKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgU3RyaW5nKiBvcmlnaW5hbFN0cmluZykKIHsK
ICAgICBpZiAoIXVybCB8fCB1cmxbMF0gPT0gJ1wwJykgewpAQCAtMTMzNSwxMyArMTM1OCwxNSBA
QCB2b2lkIEtVUkw6OnBhcnNlKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgU3RyaW5nKiBvcmlnaW5h
bFN0cmluZykKICAgICAgICAgfQogICAgICAgICBtX2hvc3RFbmQgPSBwIC0gYnVmZmVyLmRhdGEo
KTsKIAotICAgICAgICAvLyBjb3B5IGluIHRoZSBwb3J0CisgICAgICAgIC8vIENvcHkgaW4gdGhl
IHBvcnQgaWYgdGhlIFVSTCBoYXMgb25lIChhbmQgaXQncyBub3QgZGVmYXVsdCkuCiAgICAgICAg
IGlmIChob3N0RW5kICE9IHBvcnRTdGFydCkgewotICAgICAgICAgICAgKnArKyA9ICc6JzsKICAg
ICAgICAgICAgIHN0clB0ciA9IHVybCArIHBvcnRTdGFydDsKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKnBvcnRFbmRQdHIgPSB1cmwgKyBwb3J0RW5kOwotICAgICAgICAgICAgd2hpbGUgKHN0clB0
ciA8IHBvcnRFbmRQdHIpCi0gICAgICAgICAgICAgICAgKnArKyA9ICpzdHJQdHIrKzsKKyAgICAg
ICAgICAgIGlmICghaXNEZWZhdWx0UG9ydEZvclNjaGVtZShzdHJQdHIsIHBvcnRFbmQgLSBwb3J0
U3RhcnQsIGJ1ZmZlci5kYXRhKCksIG1fc2NoZW1lRW5kKSkgeworICAgICAgICAgICAgICAgICpw
KysgPSAnOic7CisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcG9ydEVuZFB0ciA9IHVybCAr
IHBvcnRFbmQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKHN0clB0ciA8IHBvcnRFbmRQdHIpCisg
ICAgICAgICAgICAgICAgICAgICpwKysgPSAqc3RyUHRyKys7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgbV9wb3J0RW5kID0gcCAtIGJ1ZmZlci5kYXRhKCk7CiAgICAgfSBlbHNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81888</attachid>
            <date>2011-02-09 15:43:56 -0800</date>
            <delta_ts>2011-02-09 16:48:57 -0800</delta_ts>
            <desc>Fixed ap and abarth&apos;s comments</desc>
            <filename>bug-54090-20110209154355.patch</filename>
            <type>text/plain</type>
            <size>10292</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgwNDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MWQ3NzEzNjUwMjk5ZTM2Mjg1NGY1
ZmNlOGZkNmVkNzhhMzhmNTEzLi41ODA3YjBlN2YzOGFkMzA0YmMwZjJiMTg0NDdlMDQzOTdhMGEx
MDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBkZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5v
bmljYWxpemluZyB1cmxzICh0byBtYXRjaCBldmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICBB
ZGRlZCBhIG5ldyB0ZXN0IHRvIHNob3cgdGhhdCB3ZSBhcmUgaW50ZW50aW9uYWxseSByZW1vdmlu
ZworICAgICAgICBhIGNvbG9uIGFmdGVyIGEgaG9zdCBuYW1lLiAgaHR0cDovL2Zvby5jb206LyAt
PiBodHRwOi8vZm9vLmNvbS8KKworICAgICAgICAqIGZhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
ZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
dGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0OgorCisyMDExLTAyLTA5ICBFcmljIFNlaWRlbCAgPGVy
aWNAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAg
ICAgIEhvc3RuYW1lcyBzaG91bGQgY2Fubm9uaWNhbGl6ZSB0byBsb3dlcmNhc2UgKHRvIG1hdGNo
IGV2ZXJ5IG90aGVyIGJyb3dzZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9w
b3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0
CmluZGV4IGQ2NGRkM2EzZWMyZDliMmZlYmYyMzJmMjA0MmNjNTIzOGMwYjBlZmMuLjExYWIzNzEx
NTVlYjY1Y2RiMDUyMGE3NTdiYTAwYmUxMDVmZmZhZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3Bv
cnQtZXhwZWN0ZWQudHh0CkBAIC01LDggKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQog
CiBGQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyBkZi8nKSBzaG91
bGQgYmUgaHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyUyMGRmLy4gV2FzIGh0dHA6Ly93d3cuZXhh
bXBsZS5jb206YXMgZGYvLgogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5j
b206LTIvJykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206LTIvJwotRkFJTCBjYW5vbmljYWxp
emUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206ODAvJykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZXhh
bXBsZS5jb20vLiBXYXMgaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MC8uCitQQVNTIGNhbm9uaWNh
bGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MC8nKSBpcyAnaHR0cDovL3d3dy5leGFtcGxl
LmNvbS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MDgwLycp
IGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvJworUEFTUyBjYW5vbmljYWxpemUoJ2h0
dHA6Ly93d3cuZXhhbXBsZS5jb206LycpIGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycKIFBB
U1MgY2Fub25pY2FsaXplKCdmb29iYXI6Ly93d3cuZXhhbXBsZS5jb206ODAvJykgaXMgJ2Zvb2Jh
cjovL3d3dy5leGFtcGxlLmNvbTo4MC8nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQK
aW5kZXggNGNmY2RhMDE3MTMxNjQzNzM1ZTAyM2E2ZTAwZjc2Mjg4MzFkZmNjMS4uOGU5M2Q0NDNm
NmMzY2E1N2E3NjZjNmExODFmZWJhYjg0NTI0YjkxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgY2Fub25pY2FsaXplKCdcXFxcQW5vdGhlclxccGF0aCcp
IGlzICdodHRwOi8vYW5vdGhlci9wYXRoJwogUEFTUyBjYW5vbmljYWxpemUoJy9jOlxcZm9vJykg
aXMgJ2h0dHA6Ly9ob3N0L2M6L2ZvbycKLUZBSUwgY2Fub25pY2FsaXplKCcvL2M6XFxmb28nKSBz
aG91bGQgYmUgaHR0cDovL2MvZm9vLiBXYXMgaHR0cDovL2M6L2Zvby4KK1BBU1MgY2Fub25pY2Fs
aXplKCcvL2M6XFxmb28nKSBpcyAnaHR0cDovL2MvZm9vJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3VybC9zY3JpcHQtdGVzdHMvcG9ydC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NjcmlwdC10
ZXN0cy9wb3J0LmpzCmluZGV4IGIzMjI4YjE0ZTI4Y2RjNzFiZjBmYWE5YmIzMzc2YmZmMzM3Zjhj
YjYuLmU5ZTYwNTczYjI1NTkyMzNjZmI3NWQ3ZDA5ZDljMjM4NmFiYmNhNmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0LmpzCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0LmpzCkBAIC03LDYgKzcsOCBAQCBjYXNlcyA9
IFsKICAgLy8gRGVmYXVsdCBwb3J0IHNob3VsZCBiZSBvbWl0dGVkLgogICBbIjgwIiwgIiJdLAog
ICBbIjgwODAiLCAiOjgwODAiXSwKKyAgLy8gRW1wdHkgcG9ydHMgKGp1c3QgYSBjb2xvbikgc2hv
dWxkIGFsc28gYmUgcmVtb3ZlZAorICBbIiIsICIiXSwKIF07CiAKIGZvciAodmFyIGkgPSAwOyBp
IDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJs
L3NlZ21lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWV4
cGVjdGVkLnR4dAppbmRleCBmNTNmYmIxMGU1YWMzYzY3MTgxMmEzYjcwN2M1MDIyNGRlYjQ2NDNl
Li42NTliZTVmZWQxZjc2YWRmMmQzZDI1N2UwNWZjNDY2ZDMyM2JjYWQzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0CkBAIC02Nyw3ICs2Nyw3IEBAIFBBU1Mg
c2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQ
QVNTIHNlZ21lbnRzKCdodHRwOi8vMjAwMTo6MV0nKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJd
JwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6OjFdOjgwJykgaXMgJ1siOiIsIiIsIjAiLCIi
LCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV0nKSBpcyAnWyJodHRwOiIs
IlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCi1GQUlMIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6
OjFdOjgwJykgc2hvdWxkIGJlIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdLiBX
YXMgWyJodHRwOiIsIlsyMDAxOjoxXSIsIjgwIiwiLyIsIiIsIiJdLgorUEFTUyBzZWdtZW50cygn
aHR0cDovL1syMDAxOjoxXTo4MCcpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIi
LCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bWzo6XV0nKSBpcyAnWyI6IiwiIiwiMCIsIiIs
IiIsIiJdJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0
CmluZGV4IDZhZTkzYjgzMDg5ZGM0YmZkYzJjYzUwNzIwOTQ4YTNmOWMyNWMzOGQuLmI5N2U0ODlh
MTE4NjU4NDBhY2QzNzM1YjAzNzA5OGE3MjI2MTZmYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdXJsL3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC02
Nyw3ICs2Nyw3IEBAIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MScpIGlzICdbIjoiLCIi
LCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vMjAwMTo6MV0nKSBpcyAnWyI6
IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6OjFdOjgwJykg
aXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6
MV0nKSBpcyAnWyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCi1GQUlMIHNlZ21l
bnRzKCdodHRwOi8vWzIwMDE6OjFdOjgwJykgc2hvdWxkIGJlIFsiaHR0cDoiLCJbMjAwMTo6MV0i
LCIwIiwiLyIsIiIsIiJdLiBXYXMgWyJodHRwOiIsIlsyMDAxOjoxXSIsIjgwIiwiLyIsIiIsIiJd
LgorUEFTUyBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxXTo4MCcpIGlzICdbImh0dHA6IiwiWzIw
MDE6OjFdIiwiMCIsIi8iLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bWzo6XV0nKSBp
cyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVjdGVkLnR4dApp
bmRleCAzZjUxN2Q0YWIzY2FkNmZkZmMwYmIzYzI2M2VkYmNmM2RhNmY5OWNiLi5jOWNlNzUxZjI0
NzA2ZWM0Njc4ZTlkMTUyMmUxMzc0ODIwMjI2YzFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3N0YW5kYXJkLXVybC1leHBlY3RlZC50eHQKQEAgLTEyLDIzICsxMiwyMyBAQCBQQVNTIGNh
bm9uaWNhbGl6ZSgnaHR0cDovL3VzZXI6cGFzc0AvJykgaXMgJ2h0dHA6Ly91c2VyOnBhc3NALycK
IFBBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vJTI1RE9NQUlOOmZvb2JhckBmb29kb21haW4uY29t
LycpIGlzICdodHRwOi8vJTI1RE9NQUlOOmZvb2JhckBmb29kb21haW4uY29tLycKIFBBU1MgY2Fu
b25pY2FsaXplKCdodHRwOlxcXFx3d3cuZ29vZ2xlLmNvbVxcZm9vJykgaXMgJ2h0dHA6Ly93d3cu
Z29vZ2xlLmNvbS9mb28nCiBGQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5nb29nbGUuY29t
L2FzZGYjXHVkODAwJykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9hc2RmI++/vS4g
V2FzIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9hc2RmIyUyNiUyMzU1Mjk2JTNCLgotRkFJTCBjYW5v
bmljYWxpemUoJ2h0dHA6Ly9mb286ODAvJykgc2hvdWxkIGJlIGh0dHA6Ly9mb28vLiBXYXMgaHR0
cDovL2Zvbzo4MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4MC8nKSBpcyAnaHR0
cDovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4MS8nKSBpcyAnaHR0cDov
L2Zvbzo4MS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cGE6Ly9mb286ODAvJykgaXMgJ2h0dHBh
Oi8vZm9vOjgwLycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vZm9vOi04MC8nKSBpcyAnaHR0
cDovL2ZvbzotODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjQ0My8nKSBzaG91
bGQgYmUgaHR0cHM6Ly9mb28vLiBXYXMgaHR0cHM6Ly9mb286NDQzLy4KK1BBU1MgY2Fub25pY2Fs
aXplKCdodHRwczovL2Zvbzo0NDMvJykgaXMgJ2h0dHBzOi8vZm9vLycKIFBBU1MgY2Fub25pY2Fs
aXplKCdodHRwczovL2Zvbzo4MC8nKSBpcyAnaHR0cHM6Ly9mb286ODAvJwogRkFJTCBjYW5vbmlj
YWxpemUoJ2Z0cDovL2ZvbzoyMS8nKSBzaG91bGQgYmUgZnRwOi8vZm9vLy4gV2FzIGZ0cDovL2Zv
bzoyMS8uCiBQQVNTIGNhbm9uaWNhbGl6ZSgnZnRwOi8vZm9vOjgwLycpIGlzICdmdHA6Ly9mb286
ODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo3MC8nKSBzaG91bGQgYmUgZ29w
aGVyOi8vZm9vLy4gV2FzIGdvcGhlcjovL2Zvbzo3MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnZ29w
aGVyOi8vZm9vOjcwLycpIGlzICdnb3BoZXI6Ly9mb28vJwogUEFTUyBjYW5vbmljYWxpemUoJ2dv
cGhlcjovL2Zvbzo0NDMvJykgaXMgJ2dvcGhlcjovL2Zvbzo0NDMvJwotRkFJTCBjYW5vbmljYWxp
emUoJ3dzOi8vZm9vOjgwLycpIHNob3VsZCBiZSB3czovL2Zvby8uIFdhcyB3czovL2Zvbzo4MC8u
CitQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODAvJykgaXMgJ3dzOi8vZm9vLycKIFBBU1Mg
Y2Fub25pY2FsaXplKCd3czovL2Zvbzo4MS8nKSBpcyAnd3M6Ly9mb286ODEvJwogUEFTUyBjYW5v
bmljYWxpemUoJ3dzOi8vZm9vOjQ0My8nKSBpcyAnd3M6Ly9mb286NDQzLycKIFBBU1MgY2Fub25p
Y2FsaXplKCd3czovL2Zvbzo4MTUvJykgaXMgJ3dzOi8vZm9vOjgxNS8nCiBQQVNTIGNhbm9uaWNh
bGl6ZSgnd3NzOi8vZm9vOjgwLycpIGlzICd3c3M6Ly9mb286ODAvJwogUEFTUyBjYW5vbmljYWxp
emUoJ3dzczovL2Zvbzo4MS8nKSBpcyAnd3NzOi8vZm9vOjgxLycKLUZBSUwgY2Fub25pY2FsaXpl
KCd3c3M6Ly9mb286NDQzLycpIHNob3VsZCBiZSB3c3M6Ly9mb28vLiBXYXMgd3NzOi8vZm9vOjQ0
My8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjQ0My8nKSBpcyAnd3NzOi8vZm9vLycK
IFBBU1MgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286ODE1LycpIGlzICd3c3M6Ly9mb286ODE1LycK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2ZTBlODBm
MGQyOGRiZGNjYjc1MTM0OTAzY2ZhZWIyNGM0M2EzNGUuLmJkMzQ5NDBiYzYyZmM1Y2Y1N2Q5ZmY5
ZDJlOTdhNDM5NzVlYzk0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0w
OSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgS1VSTCBzaG91bGQgcmVtb3ZlIGRlZmF1bHQgcG9y
dCBudW1iZXJzIHdoZW4gY2Fubm9uaWNhbGl6aW5nIHVybHMgKHRvIG1hdGNoIGV2ZXJ5IG90aGVy
IGJyb3dzZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NDA5MAorCisgICAgICAgICogcGxhdGZvcm0vS1VSTC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojppc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6OnBhcnNl
KToKKwogMjAxMS0wMi0wOSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2luZG93cyBQcm9kdWN0aW9uIGJ1aWxkIGZpeApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vS1VSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcApp
bmRleCBjZjQ0YzAyNzdjMjQzYmQ4NjYxYzMxYWQ4MGQ2NGMwYTUyZmFjMmZjLi43ZTI4NmJkNjNl
ZGJhYTQ2ZTEzMmVmODZhMDQxZWIzZGE1YWI2MmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9LVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNw
cApAQCAtMTEwMCw2ICsxMTAwLDI5IEBAIHZvaWQgS1VSTDo6cGFyc2UoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCiAgICAgcGFyc2UoYnVmZmVyLmRhdGEoKSwgJnN0cmluZyk7CiB9CiAKKy8vIExpc3Qg
b2YgZGVmYXVsdCBzY2hlbWVzIGlzIHRha2VuIGZyb20gZ29vZ2xlLXVybDoKKy8vIGh0dHA6Ly9j
b2RlLmdvb2dsZS5jb20vcC9nb29nbGUtdXJsL3NvdXJjZS9icm93c2UvdHJ1bmsvc3JjL3VybF9j
YW5vbl9zdGR1cmwuY2MjMTIwCitzdGF0aWMgaW5saW5lIGJvb2wgaXNEZWZhdWx0UG9ydEZvclNj
aGVtZShjb25zdCBjaGFyKiBwb3J0LCBzaXplX3QgcG9ydExlbmd0aCwgY29uc3QgY2hhciogc2No
ZW1lLCBzaXplX3Qgc2NoZW1lTGVuZ3RoKQoreworICAgIHN3aXRjaCAoc2NoZW1lTGVuZ3RoKSB7
CisgICAgY2FzZSAyOgorICAgICAgICByZXR1cm4gIXN0cm5jbXAoc2NoZW1lLCAid3MiLCBzY2hl
bWVMZW5ndGgpICYmICFzdHJuY21wKHBvcnQsICI4MCIsIHBvcnRMZW5ndGgpOworICAgIGNhc2Ug
MzoKKyAgICAgICAgaWYgKCFzdHJuY21wKHNjaGVtZSwgImZ0cCIsIHNjaGVtZUxlbmd0aCkpCisg
ICAgICAgICAgICByZXR1cm4gIXN0cm5jbXAocG9ydCwgIjQzIiwgcG9ydExlbmd0aCk7CisgICAg
ICAgIGlmICghc3RybmNtcChzY2hlbWUsICJ3c3MiLCBzY2hlbWVMZW5ndGgpKQorICAgICAgICAg
ICAgcmV0dXJuICFzdHJuY21wKHBvcnQsICI0NDMiLCBwb3J0TGVuZ3RoKTsKKyAgICAgICAgYnJl
YWs7ICAgICAgICAKKyAgICBjYXNlIDQ6CisgICAgICAgIHJldHVybiAhc3RybmNtcChzY2hlbWUs
ICJodHRwIiwgc2NoZW1lTGVuZ3RoKSAmJiAhc3RybmNtcChwb3J0LCAiODAiLCBwb3J0TGVuZ3Ro
KTsKKyAgICBjYXNlIDU6CisgICAgICAgIHJldHVybiAhc3RybmNtcChzY2hlbWUsICJodHRwcyIs
IHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwgIjQ0MyIsIHBvcnRMZW5ndGgpOworICAg
IGNhc2UgNjoKKyAgICAgICAgcmV0dXJuICFzdHJuY21wKHNjaGVtZSwgImdvcGhlciIsIHNjaGVt
ZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwgIjcwIiwgcG9ydExlbmd0aCk7CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBLVVJMOjpwYXJzZShjb25zdCBjaGFyKiB1cmwsIGNv
bnN0IFN0cmluZyogb3JpZ2luYWxTdHJpbmcpCiB7CiAgICAgaWYgKCF1cmwgfHwgdXJsWzBdID09
ICdcMCcpIHsKQEAgLTEzMzUsMTMgKzEzNTgsMTUgQEAgdm9pZCBLVVJMOjpwYXJzZShjb25zdCBj
aGFyKiB1cmwsIGNvbnN0IFN0cmluZyogb3JpZ2luYWxTdHJpbmcpCiAgICAgICAgIH0KICAgICAg
ICAgbV9ob3N0RW5kID0gcCAtIGJ1ZmZlci5kYXRhKCk7CiAKLSAgICAgICAgLy8gY29weSBpbiB0
aGUgcG9ydAorICAgICAgICAvLyBDb3B5IGluIHRoZSBwb3J0IGlmIHRoZSBVUkwgaGFzIG9uZSAo
YW5kIGl0J3Mgbm90IGRlZmF1bHQpLgogICAgICAgICBpZiAoaG9zdEVuZCAhPSBwb3J0U3RhcnQp
IHsKLSAgICAgICAgICAgICpwKysgPSAnOic7CiAgICAgICAgICAgICBzdHJQdHIgPSB1cmwgKyBw
b3J0U3RhcnQ7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpwb3J0RW5kUHRyID0gdXJsICsgcG9y
dEVuZDsKLSAgICAgICAgICAgIHdoaWxlIChzdHJQdHIgPCBwb3J0RW5kUHRyKQotICAgICAgICAg
ICAgICAgICpwKysgPSAqc3RyUHRyKys7CisgICAgICAgICAgICBpZiAoIWlzRGVmYXVsdFBvcnRG
b3JTY2hlbWUoc3RyUHRyLCBwb3J0RW5kIC0gcG9ydFN0YXJ0LCBidWZmZXIuZGF0YSgpLCBtX3Nj
aGVtZUVuZCkpIHsKKyAgICAgICAgICAgICAgICAqcCsrID0gJzonOworICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIqIHBvcnRFbmRQdHIgPSB1cmwgKyBwb3J0RW5kOworICAgICAgICAgICAgICAg
IHdoaWxlIChzdHJQdHIgPCBwb3J0RW5kUHRyKQorICAgICAgICAgICAgICAgICAgICAqcCsrID0g
KnN0clB0cisrOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIG1fcG9ydEVuZCA9
IHAgLSBidWZmZXIuZGF0YSgpOwogICAgIH0gZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81894</attachid>
            <date>2011-02-09 16:49:01 -0800</date>
            <delta_ts>2011-02-09 17:33:00 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54090-20110209164859.patch</filename>
            <type>text/plain</type>
            <size>10199</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgxNTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNTZlZWFkNGJjMmQyZjQyMmYxMjk1
NGJhMzg2ZDk2YjQ2MWVkZDAyLi42NmE0NjJkODc0MDE3YjIzNGRhMTJiY2FkZDgwNzc5M2I4ODc4
YjczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAg
ICAgS1VSTCBzaG91bGQgcmVtb3ZlIGRlZmF1bHQgcG9ydCBudW1iZXJzIHdoZW4gY2Fubm9uaWNh
bGl6aW5nIHVybHMgKHRvIG1hdGNoIGV2ZXJ5IG90aGVyIGJyb3dzZXIpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA5MAorCisgICAgICAgIEFkZGVk
IGEgbmV3IHRlc3QgdG8gc2hvdyB0aGF0IHdlIGFyZSBpbnRlbnRpb25hbGx5IHJlbW92aW5nCisg
ICAgICAgIGEgY29sb24gYWZ0ZXIgYSBob3N0IG5hbWUuICBodHRwOi8vZm9vLmNvbTovIC0+IGh0
dHA6Ly9mb28uY29tLworCisgICAgICAgICogZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdXJsL3NlZ21l
bnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdXJsL3N0YW5k
YXJkLXVybC1leHBlY3RlZC50eHQ6CisKIDIwMTEtMDItMDkgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3VybC9wb3J0LWV4cGVjdGVkLnR4dAppbmRleCBkNjRkZDNhM2VjMmQ5YjJmZWJm
MjMyZjIwNDJjYzUyMzhjMGIwZWZjLi4xMWFiMzcxMTU1ZWI2NWNkYjA1MjBhNzU3YmEwMGJlMTA1
ZmZmYWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9wb3J0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9wb3J0LWV4cGVjdGVkLnR4dApAQCAtNSw4ICs1
LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogRkFJTCBjYW5vbmljYWxpemUoJ2h0dHA6
Ly93d3cuZXhhbXBsZS5jb206YXMgZGYvJykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZXhhbXBsZS5j
b206YXMlMjBkZi8uIFdhcyBodHRwOi8vd3d3LmV4YW1wbGUuY29tOmFzIGRmLy4KIFBBU1MgY2Fu
b25pY2FsaXplKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOi0yLycpIGlzICdodHRwOi8vd3d3LmV4
YW1wbGUuY29tOi0yLycKLUZBSUwgY2Fub25pY2FsaXplKCdodHRwOi8vd3d3LmV4YW1wbGUuY29t
OjgwLycpIHNob3VsZCBiZSBodHRwOi8vd3d3LmV4YW1wbGUuY29tLy4gV2FzIGh0dHA6Ly93d3cu
ZXhhbXBsZS5jb206ODAvLgorUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5j
b206ODAvJykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJwogUEFTUyBjYW5vbmljYWxpemUo
J2h0dHA6Ly93d3cuZXhhbXBsZS5jb206ODA4MC8nKSBpcyAnaHR0cDovL3d3dy5leGFtcGxlLmNv
bTo4MDgwLycKK1BBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOi8nKSBp
cyAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnZm9vYmFyOi8v
d3d3LmV4YW1wbGUuY29tOjgwLycpIGlzICdmb29iYXI6Ly93d3cuZXhhbXBsZS5jb206ODAvJwog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3VybC9yZWxhdGl2ZS11bml4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0CmluZGV4IDRjZmNkYTAxNzEzMTY0MzczNWUw
MjNhNmUwMGY3NjI4ODMxZGZjYzEuLjhlOTNkNDQzZjZjM2NhNTdhNzY2YzZhMTgxZmViYWI4NDUy
NGI5MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0
ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIGNh
bm9uaWNhbGl6ZSgnXFxcXEFub3RoZXJcXHBhdGgnKSBpcyAnaHR0cDovL2Fub3RoZXIvcGF0aCcK
IFBBU1MgY2Fub25pY2FsaXplKCcvYzpcXGZvbycpIGlzICdodHRwOi8vaG9zdC9jOi9mb28nCi1G
QUlMIGNhbm9uaWNhbGl6ZSgnLy9jOlxcZm9vJykgc2hvdWxkIGJlIGh0dHA6Ly9jL2Zvby4gV2Fz
IGh0dHA6Ly9jOi9mb28uCitQQVNTIGNhbm9uaWNhbGl6ZSgnLy9jOlxcZm9vJykgaXMgJ2h0dHA6
Ly9jL2ZvbycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVU
RQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRlc3RzL3BvcnQuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zY3JpcHQtdGVzdHMvcG9ydC5qcwppbmRleCBiMzIyOGIx
NGUyOGNkYzcxYmYwZmFhOWJiMzM3NmJmZjMzN2Y4Y2I2Li5lOWU2MDU3M2IyNTU5MjMzY2ZiNzVk
N2QwOWQ5YzIzODZhYmJjYTZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zY3Jp
cHQtdGVzdHMvcG9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zY3JpcHQtdGVzdHMv
cG9ydC5qcwpAQCAtNyw2ICs3LDggQEAgY2FzZXMgPSBbCiAgIC8vIERlZmF1bHQgcG9ydCBzaG91
bGQgYmUgb21pdHRlZC4KICAgWyI4MCIsICIiXSwKICAgWyI4MDgwIiwgIjo4MDgwIl0sCisgIC8v
IEVtcHR5IHBvcnRzIChqdXN0IGEgY29sb24pIHNob3VsZCBhbHNvIGJlIHJlbW92ZWQKKyAgWyIi
LCAiIl0sCiBdOwogCiBmb3IgKHZhciBpID0gMDsgaSA8IGNhc2VzLmxlbmd0aDsgKytpKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQKaW5kZXggZjUzZmJiMTBl
NWFjM2M2NzE4MTJhM2I3MDdjNTAyMjRkZWI0NjQzZS4uNjU5YmU1ZmVkMWY3NmFkZjJkM2QyNTdl
MDVmYzQ2NmQzMjNiY2FkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVu
dHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWV4cGVj
dGVkLnR4dApAQCAtNjcsNyArNjcsNyBAQCBQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjEn
KSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6
OjFdJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly8y
MDAxOjoxXTo4MCcpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdo
dHRwOi8vWzIwMDE6OjFdJykgaXMgJ1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJd
JwotRkFJTCBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxXTo4MCcpIHNob3VsZCBiZSBbImh0dHA6
IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIiLCIiXS4gV2FzIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCI4
MCIsIi8iLCIiLCIiXS4KK1BBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBpcyAn
WyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRw
Oi8vW1s6Ol1dJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVu
dHMtZnJvbS1kYXRhLXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdt
ZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dAppbmRleCA2YWU5M2I4MzA4OWRjNGJmZGMy
Y2M1MDcyMDk0OGEzZjljMjVjMzhkLi5iOTdlNDg5YTExODY1ODQwYWNkMzczNWIwMzcwOThhNzIy
NjE2ZmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRh
dGEtdXJsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1m
cm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dApAQCAtNjcsNyArNjcsNyBAQCBQQVNTIHNlZ21lbnRz
KCdodHRwOi8vWzIwMDE6OjEnKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdt
ZW50cygnaHR0cDovLzIwMDE6OjFdJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mg
c2VnbWVudHMoJ2h0dHA6Ly8yMDAxOjoxXTo4MCcpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0n
CiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFdJykgaXMgJ1siaHR0cDoiLCJbMjAwMTo6
MV0iLCIwIiwiLyIsIiIsIiJdJwotRkFJTCBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxXTo4MCcp
IHNob3VsZCBiZSBbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIiLCIiXS4gV2FzIFsiaHR0
cDoiLCJbMjAwMTo6MV0iLCI4MCIsIi8iLCIiLCIiXS4KK1BBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9b
MjAwMTo6MV06ODAnKSBpcyAnWyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCiBQ
QVNTIHNlZ21lbnRzKCdodHRwOi8vW1s6Ol1dJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3N0YW5kYXJkLXVybC1leHBlY3RlZC50eHQKaW5kZXggM2Y1MTdkNGFiM2NhZDZmZGZjMGJi
M2MyNjNlZGJjZjNkYTZmOTljYi4uYzljZTc1MWYyNDcwNmVjNDY3OGU5ZDE1MjJlMTM3NDgyMDIy
NmMxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQu
dHh0CkBAIC0xMiwyMyArMTIsMjMgQEAgUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly91c2VyOnBh
c3NALycpIGlzICdodHRwOi8vdXNlcjpwYXNzQC8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDov
LyUyNURPTUFJTjpmb29iYXJAZm9vZG9tYWluLmNvbS8nKSBpcyAnaHR0cDovLyUyNURPTUFJTjpm
b29iYXJAZm9vZG9tYWluLmNvbS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDpcXFxcd3d3Lmdv
b2dsZS5jb21cXGZvbycpIGlzICdodHRwOi8vd3d3Lmdvb2dsZS5jb20vZm9vJwogRkFJTCBjYW5v
bmljYWxpemUoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9hc2RmI1x1ZDgwMCcpIHNob3VsZCBiZSBo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vYXNkZiPvv70uIFdhcyBodHRwOi8vd3d3Lmdvb2dsZS5jb20v
YXNkZiMlMjYlMjM1NTI5NiUzQi4KLUZBSUwgY2Fub25pY2FsaXplKCdodHRwOi8vZm9vOjgwLycp
IHNob3VsZCBiZSBodHRwOi8vZm9vLy4gV2FzIGh0dHA6Ly9mb286ODAvLgorUEFTUyBjYW5vbmlj
YWxpemUoJ2h0dHA6Ly9mb286ODAvJykgaXMgJ2h0dHA6Ly9mb28vJwogUEFTUyBjYW5vbmljYWxp
emUoJ2h0dHA6Ly9mb286ODEvJykgaXMgJ2h0dHA6Ly9mb286ODEvJwogUEFTUyBjYW5vbmljYWxp
emUoJ2h0dHBhOi8vZm9vOjgwLycpIGlzICdodHRwYTovL2Zvbzo4MC8nCiBQQVNTIGNhbm9uaWNh
bGl6ZSgnaHR0cDovL2ZvbzotODAvJykgaXMgJ2h0dHA6Ly9mb286LTgwLycKLUZBSUwgY2Fub25p
Y2FsaXplKCdodHRwczovL2Zvbzo0NDMvJykgc2hvdWxkIGJlIGh0dHBzOi8vZm9vLy4gV2FzIGh0
dHBzOi8vZm9vOjQ0My8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cHM6Ly9mb286NDQzLycpIGlz
ICdodHRwczovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cHM6Ly9mb286ODAvJykgaXMg
J2h0dHBzOi8vZm9vOjgwLycKIEZBSUwgY2Fub25pY2FsaXplKCdmdHA6Ly9mb286MjEvJykgc2hv
dWxkIGJlIGZ0cDovL2Zvby8uIFdhcyBmdHA6Ly9mb286MjEvLgogUEFTUyBjYW5vbmljYWxpemUo
J2Z0cDovL2Zvbzo4MC8nKSBpcyAnZnRwOi8vZm9vOjgwLycKLUZBSUwgY2Fub25pY2FsaXplKCdn
b3BoZXI6Ly9mb286NzAvJykgc2hvdWxkIGJlIGdvcGhlcjovL2Zvby8uIFdhcyBnb3BoZXI6Ly9m
b286NzAvLgorUEFTUyBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo3MC8nKSBpcyAnZ29waGVy
Oi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCdnb3BoZXI6Ly9mb286NDQzLycpIGlzICdnb3Bo
ZXI6Ly9mb286NDQzLycKLUZBSUwgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4MC8nKSBzaG91bGQg
YmUgd3M6Ly9mb28vLiBXYXMgd3M6Ly9mb286ODAvLgorUEFTUyBjYW5vbmljYWxpemUoJ3dzOi8v
Zm9vOjgwLycpIGlzICd3czovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODEv
JykgaXMgJ3dzOi8vZm9vOjgxLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo0NDMvJykg
aXMgJ3dzOi8vZm9vOjQ0My8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODE1LycpIGlz
ICd3czovL2Zvbzo4MTUvJwogUEFTUyBjYW5vbmljYWxpemUoJ3dzczovL2Zvbzo4MC8nKSBpcyAn
d3NzOi8vZm9vOjgwLycKIFBBU1MgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286ODEvJykgaXMgJ3dz
czovL2Zvbzo4MS8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjQ0My8nKSBzaG91bGQg
YmUgd3NzOi8vZm9vLy4gV2FzIHdzczovL2Zvbzo0NDMvLgorUEFTUyBjYW5vbmljYWxpemUoJ3dz
czovL2Zvbzo0NDMvJykgaXMgJ3dzczovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8v
Zm9vOjgxNS8nKSBpcyAnd3NzOi8vZm9vOjgxNS8nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkN2UxNjlhMzI0ZTJiN2QzM2NjN2I4NDkyOGE5ZTBiOTE5
Y2FhYTMyLi5jYmE4MzgyOTUyZmQ3ZDRkMmViMmQ4MDY3ODhmMTRiNTJkOGU5MmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgS1VS
TCBzaG91bGQgcmVtb3ZlIGRlZmF1bHQgcG9ydCBudW1iZXJzIHdoZW4gY2Fubm9uaWNhbGl6aW5n
IHVybHMgKHRvIG1hdGNoIGV2ZXJ5IG90aGVyIGJyb3dzZXIpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA5MAorCisgICAgICAgICogcGxhdGZvcm0v
S1VSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OktVUkw6OnBhcnNlKToKKwogMjAxMS0wMi0wOSAgWWFlbCBBaGFyb24g
IDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IGNmNDRjMDI3N2MyNDNiZDg2NjFjMzFh
ZDgwZDY0YzBhNTJmYWMyZmMuLjU5OTM1MWY2NTMzZTBlMjE3YTk1MmE0ZmYzZGJhZGQ2YjQ5MTZh
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCkBAIC0xMTAwLDYgKzExMDAsMjkgQEAgdm9p
ZCBLVVJMOjpwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBwYXJzZShidWZmZXIuZGF0
YSgpLCAmc3RyaW5nKTsKIH0KIAorLy8gTGlzdCBvZiBkZWZhdWx0IHNjaGVtZXMgaXMgdGFrZW4g
ZnJvbSBnb29nbGUtdXJsOgorLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS11cmwv
c291cmNlL2Jyb3dzZS90cnVuay9zcmMvdXJsX2Nhbm9uX3N0ZHVybC5jYyMxMjAKK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKGNvbnN0IGNoYXIqIHBvcnQsIHNpemVf
dCBwb3J0TGVuZ3RoLCBjb25zdCBjaGFyKiBzY2hlbWUsIHNpemVfdCBzY2hlbWVMZW5ndGgpCit7
CisgICAgc3dpdGNoIChzY2hlbWVMZW5ndGgpIHsKKyAgICBjYXNlIDI6CisgICAgICAgIHJldHVy
biAhc3RybmNtcChzY2hlbWUsICJ3cyIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwg
IjgwIiwgcG9ydExlbmd0aCk7CisgICAgY2FzZSAzOgorICAgICAgICBpZiAoIXN0cm5jbXAoc2No
ZW1lLCAiZnRwIiwgc2NoZW1lTGVuZ3RoKSkKKyAgICAgICAgICAgIHJldHVybiAhc3RybmNtcChw
b3J0LCAiNDMiLCBwb3J0TGVuZ3RoKTsKKyAgICAgICAgaWYgKCFzdHJuY21wKHNjaGVtZSwgIndz
cyIsIHNjaGVtZUxlbmd0aCkpCisgICAgICAgICAgICByZXR1cm4gIXN0cm5jbXAocG9ydCwgIjQ0
MyIsIHBvcnRMZW5ndGgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDQ6CisgICAgICAgIHJl
dHVybiAhc3RybmNtcChzY2hlbWUsICJodHRwIiwgc2NoZW1lTGVuZ3RoKSAmJiAhc3RybmNtcChw
b3J0LCAiODAiLCBwb3J0TGVuZ3RoKTsKKyAgICBjYXNlIDU6CisgICAgICAgIHJldHVybiAhc3Ry
bmNtcChzY2hlbWUsICJodHRwcyIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwgIjQ0
MyIsIHBvcnRMZW5ndGgpOworICAgIGNhc2UgNjoKKyAgICAgICAgcmV0dXJuICFzdHJuY21wKHNj
aGVtZSwgImdvcGhlciIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwgIjcwIiwgcG9y
dExlbmd0aCk7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBLVVJMOjpwYXJz
ZShjb25zdCBjaGFyKiB1cmwsIGNvbnN0IFN0cmluZyogb3JpZ2luYWxTdHJpbmcpCiB7CiAgICAg
aWYgKCF1cmwgfHwgdXJsWzBdID09ICdcMCcpIHsKQEAgLTEzMzUsMTMgKzEzNTgsMTUgQEAgdm9p
ZCBLVVJMOjpwYXJzZShjb25zdCBjaGFyKiB1cmwsIGNvbnN0IFN0cmluZyogb3JpZ2luYWxTdHJp
bmcpCiAgICAgICAgIH0KICAgICAgICAgbV9ob3N0RW5kID0gcCAtIGJ1ZmZlci5kYXRhKCk7CiAK
LSAgICAgICAgLy8gY29weSBpbiB0aGUgcG9ydAorICAgICAgICAvLyBDb3B5IGluIHRoZSBwb3J0
IGlmIHRoZSBVUkwgaGFzIG9uZSAoYW5kIGl0J3Mgbm90IGRlZmF1bHQpLgogICAgICAgICBpZiAo
aG9zdEVuZCAhPSBwb3J0U3RhcnQpIHsKLSAgICAgICAgICAgICpwKysgPSAnOic7CiAgICAgICAg
ICAgICBzdHJQdHIgPSB1cmwgKyBwb3J0U3RhcnQ7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpw
b3J0RW5kUHRyID0gdXJsICsgcG9ydEVuZDsKLSAgICAgICAgICAgIHdoaWxlIChzdHJQdHIgPCBw
b3J0RW5kUHRyKQotICAgICAgICAgICAgICAgICpwKysgPSAqc3RyUHRyKys7CisgICAgICAgICAg
ICBpZiAoIWlzRGVmYXVsdFBvcnRGb3JTY2hlbWUoc3RyUHRyLCBwb3J0RW5kIC0gcG9ydFN0YXJ0
LCBidWZmZXIuZGF0YSgpLCBtX3NjaGVtZUVuZCkpIHsKKyAgICAgICAgICAgICAgICAqcCsrID0g
JzonOworICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBvcnRFbmRQdHIgPSB1cmwgKyBwb3J0
RW5kOworICAgICAgICAgICAgICAgIHdoaWxlIChzdHJQdHIgPCBwb3J0RW5kUHRyKQorICAgICAg
ICAgICAgICAgICAgICAqcCsrID0gKnN0clB0cisrOworICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIG1fcG9ydEVuZCA9IHAgLSBidWZmZXIuZGF0YSgpOwogICAgIH0gZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81899</attachid>
            <date>2011-02-09 17:33:04 -0800</date>
            <delta_ts>2011-02-10 23:21:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54090-20110209173303.patch</filename>
            <type>text/plain</type>
            <size>10259</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgxNTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNTZlZWFkNGJjMmQyZjQyMmYxMjk1
NGJhMzg2ZDk2YjQ2MWVkZDAyLi4wNmM2MDBkNTFhOTVhMTc0NzYwMmVjMTFhN2E2MzJiY2I4NGVi
M2Y4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBkZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5v
bmljYWxpemluZyB1cmxzICh0byBtYXRjaCBldmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICBB
ZGRlZCBhIG5ldyB0ZXN0IHRvIHNob3cgdGhhdCB3ZSBhcmUgaW50ZW50aW9uYWxseSByZW1vdmlu
ZworICAgICAgICBhIGNvbG9uIGFmdGVyIGEgaG9zdCBuYW1lLiAgaHR0cDovL2Zvby5jb206LyAt
PiBodHRwOi8vZm9vLmNvbS8KKworICAgICAgICAqIGZhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
ZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
dGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0OgorCiAyMDExLTAyLTA5ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQKaW5kZXggZDY0ZGQzYTNlYzJkOWIy
ZmViZjIzMmYyMDQyY2M1MjM4YzBiMGVmYy4uMTFhYjM3MTE1NWViNjVjZGIwNTIwYTc1N2JhMDBi
ZTEwNWZmZmFmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQKQEAgLTUs
OCArNSw5IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEZBSUwgY2Fub25pY2FsaXplKCdo
dHRwOi8vd3d3LmV4YW1wbGUuY29tOmFzIGRmLycpIHNob3VsZCBiZSBodHRwOi8vd3d3LmV4YW1w
bGUuY29tOmFzJTIwZGYvLiBXYXMgaHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyBkZi8uCiBQQVNT
IGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTotMi8nKSBpcyAnaHR0cDovL3d3
dy5leGFtcGxlLmNvbTotMi8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxl
LmNvbTo4MC8nKSBzaG91bGQgYmUgaHR0cDovL3d3dy5leGFtcGxlLmNvbS8uIFdhcyBodHRwOi8v
d3d3LmV4YW1wbGUuY29tOjgwLy4KK1BBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vd3d3LmV4YW1w
bGUuY29tOjgwLycpIGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycKIFBBU1MgY2Fub25pY2Fs
aXplKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvJykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBs
ZS5jb206ODA4MC8nCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTov
JykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJwogUEFTUyBjYW5vbmljYWxpemUoJ2Zvb2Jh
cjovL3d3dy5leGFtcGxlLmNvbTo4MC8nKSBpcyAnZm9vYmFyOi8vd3d3LmV4YW1wbGUuY29tOjgw
LycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3VybC9yZWxhdGl2ZS11bml4LWV4cGVjdGVkLnR4dAppbmRleCA0Y2ZjZGEwMTcxMzE2NDM3
MzVlMDIzYTZlMDBmNzYyODgzMWRmY2MxLi44ZTkzZDQ0M2Y2YzNjYTU3YTc2NmM2YTE4MWZlYmFi
ODQ1MjRiOTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS11bml4
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS11bml4LWV4
cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFT
UyBjYW5vbmljYWxpemUoJ1xcXFxBbm90aGVyXFxwYXRoJykgaXMgJ2h0dHA6Ly9hbm90aGVyL3Bh
dGgnCiBQQVNTIGNhbm9uaWNhbGl6ZSgnL2M6XFxmb28nKSBpcyAnaHR0cDovL2hvc3QvYzovZm9v
JwotRkFJTCBjYW5vbmljYWxpemUoJy8vYzpcXGZvbycpIHNob3VsZCBiZSBodHRwOi8vYy9mb28u
IFdhcyBodHRwOi8vYzovZm9vLgorUEFTUyBjYW5vbmljYWxpemUoJy8vYzpcXGZvbycpIGlzICdo
dHRwOi8vYy9mb28nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRlc3RzL3BvcnQuanMKaW5kZXggYjMy
MjhiMTRlMjhjZGM3MWJmMGZhYTliYjMzNzZiZmYzMzdmOGNiNi4uZTllNjA1NzNiMjU1OTIzM2Nm
Yjc1ZDdkMDlkOWMyMzg2YWJiY2E2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwv
c2NyaXB0LXRlc3RzL3BvcnQuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRl
c3RzL3BvcnQuanMKQEAgLTcsNiArNyw4IEBAIGNhc2VzID0gWwogICAvLyBEZWZhdWx0IHBvcnQg
c2hvdWxkIGJlIG9taXR0ZWQuCiAgIFsiODAiLCAiIl0sCiAgIFsiODA4MCIsICI6ODA4MCJdLAor
ICAvLyBFbXB0eSBwb3J0cyAoanVzdCBhIGNvbG9uKSBzaG91bGQgYWxzbyBiZSByZW1vdmVkCisg
IFsiIiwgIiJdLAogXTsKIAogZm9yICh2YXIgaSA9IDA7IGkgPCBjYXNlcy5sZW5ndGg7ICsraSkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0CmluZGV4IGY1M2Zi
YjEwZTVhYzNjNjcxODEyYTNiNzA3YzUwMjI0ZGViNDY0M2UuLjY1OWJlNWZlZDFmNzZhZGYyZDNk
MjU3ZTA1ZmM0NjZkMzIzYmNhZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3Nl
Z21lbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1l
eHBlY3RlZC50eHQKQEAgLTY3LDcgKzY3LDcgQEAgUEFTUyBzZWdtZW50cygnaHR0cDovL1syMDAx
OjoxJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly8y
MDAxOjoxXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRw
Oi8vMjAwMTo6MV06ODAnKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdtZW50
cygnaHR0cDovL1syMDAxOjoxXScpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIi
LCIiXScKLUZBSUwgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBzaG91bGQgYmUgWyJo
dHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0uIFdhcyBbImh0dHA6IiwiWzIwMDE6OjFd
IiwiODAiLCIvIiwiIiwiIl0uCitQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFdOjgwJykg
aXMgJ1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygn
aHR0cDovL1tbOjpdXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3Nl
Z21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwv
c2VnbWVudHMtZnJvbS1kYXRhLXVybC1leHBlY3RlZC50eHQKaW5kZXggNmFlOTNiODMwODlkYzRi
ZmRjMmNjNTA3MjA5NDhhM2Y5YzI1YzM4ZC4uYjk3ZTQ4OWExMTg2NTg0MGFjZDM3MzViMDM3MDk4
YTcyMjYxNmZiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZnJv
bS1kYXRhLXVybC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVu
dHMtZnJvbS1kYXRhLXVybC1leHBlY3RlZC50eHQKQEAgLTY3LDcgKzY3LDcgQEAgUEFTUyBzZWdt
ZW50cygnaHR0cDovL1syMDAxOjoxJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mg
c2VnbWVudHMoJ2h0dHA6Ly8yMDAxOjoxXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQ
QVNTIHNlZ21lbnRzKCdodHRwOi8vMjAwMTo6MV06ODAnKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIs
IiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxXScpIGlzICdbImh0dHA6IiwiWzIw
MDE6OjFdIiwiMCIsIi8iLCIiLCIiXScKLUZBSUwgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06
ODAnKSBzaG91bGQgYmUgWyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0uIFdhcyBb
Imh0dHA6IiwiWzIwMDE6OjFdIiwiODAiLCIvIiwiIiwiIl0uCitQQVNTIHNlZ21lbnRzKCdodHRw
Oi8vWzIwMDE6OjFdOjgwJykgaXMgJ1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJd
JwogUEFTUyBzZWdtZW50cygnaHR0cDovL1tbOjpdXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwi
Il0nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdXJsL3N0YW5kYXJkLXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0CmluZGV4IDNmNTE3ZDRhYjNjYWQ2ZmRm
YzBiYjNjMjYzZWRiY2YzZGE2Zjk5Y2IuLmU5NWJlNDYyZWY3ZGZjNjBmYjMxZGUzOTUwYTU3N2E3
M2JjM2NlNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3N0YW5kYXJkLXVybC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVj
dGVkLnR4dApAQCAtMTIsMjMgKzEyLDIzIEBAIFBBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vdXNl
cjpwYXNzQC8nKSBpcyAnaHR0cDovL3VzZXI6cGFzc0AvJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0
dHA6Ly8lMjVET01BSU46Zm9vYmFyQGZvb2RvbWFpbi5jb20vJykgaXMgJ2h0dHA6Ly8lMjVET01B
SU46Zm9vYmFyQGZvb2RvbWFpbi5jb20vJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6XFxcXHd3
dy5nb29nbGUuY29tXFxmb28nKSBpcyAnaHR0cDovL3d3dy5nb29nbGUuY29tL2ZvbycKIEZBSUwg
Y2Fub25pY2FsaXplKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vYXNkZiNcdWQ4MDAnKSBzaG91bGQg
YmUgaHR0cDovL3d3dy5nb29nbGUuY29tL2FzZGYj77+9LiBXYXMgaHR0cDovL3d3dy5nb29nbGUu
Y29tL2FzZGYjJTI2JTIzNTUyOTYlM0IuCi1GQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4
MC8nKSBzaG91bGQgYmUgaHR0cDovL2Zvby8uIFdhcyBodHRwOi8vZm9vOjgwLy4KK1BBU1MgY2Fu
b25pY2FsaXplKCdodHRwOi8vZm9vOjgwLycpIGlzICdodHRwOi8vZm9vLycKIFBBU1MgY2Fub25p
Y2FsaXplKCdodHRwOi8vZm9vOjgxLycpIGlzICdodHRwOi8vZm9vOjgxLycKIFBBU1MgY2Fub25p
Y2FsaXplKCdodHRwYTovL2Zvbzo4MC8nKSBpcyAnaHR0cGE6Ly9mb286ODAvJwogUEFTUyBjYW5v
bmljYWxpemUoJ2h0dHA6Ly9mb286LTgwLycpIGlzICdodHRwOi8vZm9vOi04MC8nCi1GQUlMIGNh
bm9uaWNhbGl6ZSgnaHR0cHM6Ly9mb286NDQzLycpIHNob3VsZCBiZSBodHRwczovL2Zvby8uIFdh
cyBodHRwczovL2Zvbzo0NDMvLgorUEFTUyBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjQ0My8n
KSBpcyAnaHR0cHM6Ly9mb28vJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjgwLycp
IGlzICdodHRwczovL2Zvbzo4MC8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnZnRwOi8vZm9vOjIxLycp
IHNob3VsZCBiZSBmdHA6Ly9mb28vLiBXYXMgZnRwOi8vZm9vOjIxLy4KK1BBU1MgY2Fub25pY2Fs
aXplKCdmdHA6Ly9mb286MjEvJykgaXMgJ2Z0cDovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgn
ZnRwOi8vZm9vOjgwLycpIGlzICdmdHA6Ly9mb286ODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2dv
cGhlcjovL2Zvbzo3MC8nKSBzaG91bGQgYmUgZ29waGVyOi8vZm9vLy4gV2FzIGdvcGhlcjovL2Zv
bzo3MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnZ29waGVyOi8vZm9vOjcwLycpIGlzICdnb3BoZXI6
Ly9mb28vJwogUEFTUyBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo0NDMvJykgaXMgJ2dvcGhl
cjovL2Zvbzo0NDMvJwotRkFJTCBjYW5vbmljYWxpemUoJ3dzOi8vZm9vOjgwLycpIHNob3VsZCBi
ZSB3czovL2Zvby8uIFdhcyB3czovL2Zvbzo4MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9m
b286ODAvJykgaXMgJ3dzOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4MS8n
KSBpcyAnd3M6Ly9mb286ODEvJwogUEFTUyBjYW5vbmljYWxpemUoJ3dzOi8vZm9vOjQ0My8nKSBp
cyAnd3M6Ly9mb286NDQzLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4MTUvJykgaXMg
J3dzOi8vZm9vOjgxNS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjgwLycpIGlzICd3
c3M6Ly9mb286ODAvJwogUEFTUyBjYW5vbmljYWxpemUoJ3dzczovL2Zvbzo4MS8nKSBpcyAnd3Nz
Oi8vZm9vOjgxLycKLUZBSUwgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286NDQzLycpIHNob3VsZCBi
ZSB3c3M6Ly9mb28vLiBXYXMgd3NzOi8vZm9vOjQ0My8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnd3Nz
Oi8vZm9vOjQ0My8nKSBpcyAnd3NzOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCd3c3M6Ly9m
b286ODE1LycpIGlzICd3c3M6Ly9mb286ODE1LycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ3ZTE2OWEzMjRlMmI3ZDMzY2M3Yjg0OTI4YTllMGI5MTlj
YWFhMzIuLjMwNzY0NWQwODkyZWU1ZDU2OTUxNGRkNDJjYmMyYjk2NGE1YTQ0YjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0wOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
S1VSTCBzaG91bGQgcmVtb3ZlIGRlZmF1bHQgcG9ydCBudW1iZXJzIHdoZW4gY2Fubm9uaWNhbGl6
aW5nIHVybHMgKHRvIG1hdGNoIGV2ZXJ5IG90aGVyIGJyb3dzZXIpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA5MAorCisgICAgICAgICogcGxhdGZv
cm0vS1VSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKToK
KyAgICAgICAgKFdlYkNvcmU6OktVUkw6OnBhcnNlKToKKwogMjAxMS0wMi0wOSAgWWFlbCBBaGFy
b24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IGNmNDRjMDI3N2MyNDNiZDg2NjFj
MzFhZDgwZDY0YzBhNTJmYWMyZmMuLmE0Y2I3YzEyNWJlNzg0ZDIyNjVkZDQ0ZDNiMWUyNTg5MjA1
MjIwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCkBAIC0xMTAwLDYgKzExMDAsMjkgQEAg
dm9pZCBLVVJMOjpwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBwYXJzZShidWZmZXIu
ZGF0YSgpLCAmc3RyaW5nKTsKIH0KIAorLy8gTGlzdCBvZiBkZWZhdWx0IHNjaGVtZXMgaXMgdGFr
ZW4gZnJvbSBnb29nbGUtdXJsOgorLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS11
cmwvc291cmNlL2Jyb3dzZS90cnVuay9zcmMvdXJsX2Nhbm9uX3N0ZHVybC5jYyMxMjAKK3N0YXRp
YyBpbmxpbmUgYm9vbCBpc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKGNvbnN0IGNoYXIqIHBvcnQsIHNp
emVfdCBwb3J0TGVuZ3RoLCBjb25zdCBjaGFyKiBzY2hlbWUsIHNpemVfdCBzY2hlbWVMZW5ndGgp
Cit7CisgICAgc3dpdGNoIChzY2hlbWVMZW5ndGgpIHsKKyAgICBjYXNlIDI6CisgICAgICAgIHJl
dHVybiAhc3RybmNtcChzY2hlbWUsICJ3cyIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9y
dCwgIjgwIiwgcG9ydExlbmd0aCk7CisgICAgY2FzZSAzOgorICAgICAgICBpZiAoIXN0cm5jbXAo
c2NoZW1lLCAiZnRwIiwgc2NoZW1lTGVuZ3RoKSkKKyAgICAgICAgICAgIHJldHVybiAhc3RybmNt
cChwb3J0LCAiMjEiLCBwb3J0TGVuZ3RoKTsKKyAgICAgICAgaWYgKCFzdHJuY21wKHNjaGVtZSwg
IndzcyIsIHNjaGVtZUxlbmd0aCkpCisgICAgICAgICAgICByZXR1cm4gIXN0cm5jbXAocG9ydCwg
IjQ0MyIsIHBvcnRMZW5ndGgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDQ6CisgICAgICAg
IHJldHVybiAhc3RybmNtcChzY2hlbWUsICJodHRwIiwgc2NoZW1lTGVuZ3RoKSAmJiAhc3RybmNt
cChwb3J0LCAiODAiLCBwb3J0TGVuZ3RoKTsKKyAgICBjYXNlIDU6CisgICAgICAgIHJldHVybiAh
c3RybmNtcChzY2hlbWUsICJodHRwcyIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwg
IjQ0MyIsIHBvcnRMZW5ndGgpOworICAgIGNhc2UgNjoKKyAgICAgICAgcmV0dXJuICFzdHJuY21w
KHNjaGVtZSwgImdvcGhlciIsIHNjaGVtZUxlbmd0aCkgJiYgIXN0cm5jbXAocG9ydCwgIjcwIiwg
cG9ydExlbmd0aCk7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBLVVJMOjpw
YXJzZShjb25zdCBjaGFyKiB1cmwsIGNvbnN0IFN0cmluZyogb3JpZ2luYWxTdHJpbmcpCiB7CiAg
ICAgaWYgKCF1cmwgfHwgdXJsWzBdID09ICdcMCcpIHsKQEAgLTEzMzUsMTMgKzEzNTgsMTUgQEAg
dm9pZCBLVVJMOjpwYXJzZShjb25zdCBjaGFyKiB1cmwsIGNvbnN0IFN0cmluZyogb3JpZ2luYWxT
dHJpbmcpCiAgICAgICAgIH0KICAgICAgICAgbV9ob3N0RW5kID0gcCAtIGJ1ZmZlci5kYXRhKCk7
CiAKLSAgICAgICAgLy8gY29weSBpbiB0aGUgcG9ydAorICAgICAgICAvLyBDb3B5IGluIHRoZSBw
b3J0IGlmIHRoZSBVUkwgaGFzIG9uZSAoYW5kIGl0J3Mgbm90IGRlZmF1bHQpLgogICAgICAgICBp
ZiAoaG9zdEVuZCAhPSBwb3J0U3RhcnQpIHsKLSAgICAgICAgICAgICpwKysgPSAnOic7CiAgICAg
ICAgICAgICBzdHJQdHIgPSB1cmwgKyBwb3J0U3RhcnQ7Ci0gICAgICAgICAgICBjb25zdCBjaGFy
ICpwb3J0RW5kUHRyID0gdXJsICsgcG9ydEVuZDsKLSAgICAgICAgICAgIHdoaWxlIChzdHJQdHIg
PCBwb3J0RW5kUHRyKQotICAgICAgICAgICAgICAgICpwKysgPSAqc3RyUHRyKys7CisgICAgICAg
ICAgICBpZiAoIWlzRGVmYXVsdFBvcnRGb3JTY2hlbWUoc3RyUHRyLCBwb3J0RW5kIC0gcG9ydFN0
YXJ0LCBidWZmZXIuZGF0YSgpLCBtX3NjaGVtZUVuZCkpIHsKKyAgICAgICAgICAgICAgICAqcCsr
ID0gJzonOworICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBvcnRFbmRQdHIgPSB1cmwgKyBw
b3J0RW5kOworICAgICAgICAgICAgICAgIHdoaWxlIChzdHJQdHIgPCBwb3J0RW5kUHRyKQorICAg
ICAgICAgICAgICAgICAgICAqcCsrID0gKnN0clB0cisrOworICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIG1fcG9ydEVuZCA9IHAgLSBidWZmZXIuZGF0YSgpOwogICAgIH0gZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82107</attachid>
            <date>2011-02-10 23:21:21 -0800</date>
            <delta_ts>2011-02-11 04:35:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54090-20110210232120.patch</filename>
            <type>text/plain</type>
            <size>16816</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgyMDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZDAyNmM3YmFjNzgyOWY0ODEwNTMw
MDdiYTk0ZGU4Y2Q0YTY3ZTYyLi4yODRjNzE4YTVlYTEwYzY5ZGQ1MGNmOTRlODI4YzFlMzI4OTg1
ZGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMTAgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBkZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5v
bmljYWxpemluZyB1cmxzICh0byBtYXRjaCBldmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICBB
ZGRlZCBhIG5ldyB0ZXN0IHRvIHNob3cgdGhhdCB3ZSBhcmUgaW50ZW50aW9uYWxseSByZW1vdmlu
ZworICAgICAgICBhIGNvbG9uIGFmdGVyIGEgaG9zdCBuYW1lLiAgaHR0cDovL2Zvby5jb206LyAt
PiBodHRwOi8vZm9vLmNvbS8KKworICAgICAgICAqIGZhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
ZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
dGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0OgorCiAyMDExLTAyLTEwICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBza2lwIGZhaWxp
bmcgZmFzdC9yZXBsYWNlZC9ib3JkZXItcmFkaXVzLWNsaXAuaHRtbCBvbiBHVEsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQKaW5kZXggZDY0ZGQzYTNlYzJkOWIyZmViZjIzMmYy
MDQyY2M1MjM4YzBiMGVmYy4uMTFhYjM3MTE1NWViNjVjZGIwNTIwYTc1N2JhMDBiZTEwNWZmZmFm
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcG9ydC1leHBlY3RlZC50eHQKQEAgLTUsOCArNSw5IEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEZBSUwgY2Fub25pY2FsaXplKCdodHRwOi8vd3d3
LmV4YW1wbGUuY29tOmFzIGRmLycpIHNob3VsZCBiZSBodHRwOi8vd3d3LmV4YW1wbGUuY29tOmFz
JTIwZGYvLiBXYXMgaHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyBkZi8uCiBQQVNTIGNhbm9uaWNh
bGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTotMi8nKSBpcyAnaHR0cDovL3d3dy5leGFtcGxl
LmNvbTotMi8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MC8n
KSBzaG91bGQgYmUgaHR0cDovL3d3dy5leGFtcGxlLmNvbS8uIFdhcyBodHRwOi8vd3d3LmV4YW1w
bGUuY29tOjgwLy4KK1BBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vd3d3LmV4YW1wbGUuY29tOjgw
LycpIGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRw
Oi8vd3d3LmV4YW1wbGUuY29tOjgwODAvJykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206ODA4
MC8nCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTovJykgaXMgJ2h0
dHA6Ly93d3cuZXhhbXBsZS5jb20vJwogUEFTUyBjYW5vbmljYWxpemUoJ2Zvb2JhcjovL3d3dy5l
eGFtcGxlLmNvbTo4MC8nKSBpcyAnZm9vYmFyOi8vd3d3LmV4YW1wbGUuY29tOjgwLycKIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9y
ZWxhdGl2ZS11bml4LWV4cGVjdGVkLnR4dAppbmRleCA0Y2ZjZGEwMTcxMzE2NDM3MzVlMDIzYTZl
MDBmNzYyODgzMWRmY2MxLi44ZTkzZDQ0M2Y2YzNjYTU3YTc2NmM2YTE4MWZlYmFiODQ1MjRiOTFi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS11bml4LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS11bml4LWV4cGVjdGVkLnR4
dApAQCAtNSw3ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBjYW5vbmlj
YWxpemUoJ1xcXFxBbm90aGVyXFxwYXRoJykgaXMgJ2h0dHA6Ly9hbm90aGVyL3BhdGgnCiBQQVNT
IGNhbm9uaWNhbGl6ZSgnL2M6XFxmb28nKSBpcyAnaHR0cDovL2hvc3QvYzovZm9vJwotRkFJTCBj
YW5vbmljYWxpemUoJy8vYzpcXGZvbycpIHNob3VsZCBiZSBodHRwOi8vYy9mb28uIFdhcyBodHRw
Oi8vYzovZm9vLgorUEFTUyBjYW5vbmljYWxpemUoJy8vYzpcXGZvbycpIGlzICdodHRwOi8vYy9m
b28nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXdpbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS13aW4tZXhwZWN0ZWQudHh0CmluZGV4IDcz
M2Y4MTUyYTMwYjFkNzAwZjAzZTBjMWM0YTY3YTk0NWFiOTVlYTUuLjFjYjhkNjc0NWJiMTljZDBi
NDZjN2VmMmJlYTQyYjIwZDdmYjAzYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJs
L3JlbGF0aXZlLXdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcmVs
YXRpdmUtd2luLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBjYW5vbmljYWxpemUo
J2JhcicpIGlzICdmaWxlOi8vL0M6L2JhcicKIEZBSUwgY2Fub25pY2FsaXplKCcuLi8uLi8uLi9i
YXIuaHRtbCcpIHNob3VsZCBiZSBmaWxlOi8vL0M6L2Jhci5odG1sLiBXYXMgZmlsZTovLy9iYXIu
aHRtbC4KIEZBSUwgY2Fub25pY2FsaXplKCcvLi4vYmFyLmh0bWwnKSBzaG91bGQgYmUgZmlsZTov
Ly9DOi9iYXIuaHRtbC4gV2FzIGZpbGU6Ly8vYmFyLmh0bWwuCiBGQUlMIGNhbm9uaWNhbGl6ZSgn
XFxcXGFub3RoZXJcXHBhdGgnKSBzaG91bGQgYmUgLiBXYXMgaHR0cDovL2Fub3RoZXIvcGF0aC4K
LUZBSUwgY2Fub25pY2FsaXplKCcvL2M6L2ZvbycpIHNob3VsZCBiZSBmaWxlOi8vL0M6L2Zvby4g
V2FzIGZpbGU6Ly9jOi9mb28uCitGQUlMIGNhbm9uaWNhbGl6ZSgnLy9jOi9mb28nKSBzaG91bGQg
YmUgZmlsZTovLy9DOi9mb28uIFdhcyBmaWxlOi8vYy9mb28uCiBGQUlMIGNhbm9uaWNhbGl6ZSgn
Ly9sb2NhbGhvc3QvYzovZm9vJykgc2hvdWxkIGJlIGZpbGU6Ly8vQzovZm9vLiBXYXMgZmlsZTov
Ly9jOi9mb28uCiBGQUlMIGNhbm9uaWNhbGl6ZSgnYzonKSBzaG91bGQgYmUgLiBXYXMgYzouCiBG
QUlMIGNhbm9uaWNhbGl6ZSgnYzovZm9vJykgc2hvdWxkIGJlIC4gV2FzIGM6L2Zvby4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0LmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRlc3RzL3BvcnQuanMKaW5kZXggYjMyMjhiMTRlMjhjZGM3
MWJmMGZhYTliYjMzNzZiZmYzMzdmOGNiNi4uZTllNjA1NzNiMjU1OTIzM2NmYjc1ZDdkMDlkOWMy
Mzg2YWJiY2E2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRlc3Rz
L3BvcnQuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2NyaXB0LXRlc3RzL3BvcnQuanMK
QEAgLTcsNiArNyw4IEBAIGNhc2VzID0gWwogICAvLyBEZWZhdWx0IHBvcnQgc2hvdWxkIGJlIG9t
aXR0ZWQuCiAgIFsiODAiLCAiIl0sCiAgIFsiODA4MCIsICI6ODA4MCJdLAorICAvLyBFbXB0eSBw
b3J0cyAoanVzdCBhIGNvbG9uKSBzaG91bGQgYWxzbyBiZSByZW1vdmVkCisgIFsiIiwgIiJdLAog
XTsKIAogZm9yICh2YXIgaSA9IDA7IGkgPCBjYXNlcy5sZW5ndGg7ICsraSkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC91cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0CmluZGV4IGY1M2ZiYjEwZTVhYzNjNjcx
ODEyYTNiNzA3YzUwMjI0ZGViNDY0M2UuLjY1OWJlNWZlZDFmNzZhZGYyZDNkMjU3ZTA1ZmM0NjZk
MzIzYmNhZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQK
QEAgLTY3LDcgKzY3LDcgQEAgUEFTUyBzZWdtZW50cygnaHR0cDovL1syMDAxOjoxJykgaXMgJ1si
OiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly8yMDAxOjoxXScpIGlz
ICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vMjAwMTo6MV06
ODAnKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovL1sy
MDAxOjoxXScpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIiLCIiXScKLUZBSUwg
c2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBzaG91bGQgYmUgWyJodHRwOiIsIlsyMDAx
OjoxXSIsIjAiLCIvIiwiIiwiIl0uIFdhcyBbImh0dHA6IiwiWzIwMDE6OjFdIiwiODAiLCIvIiwi
IiwiIl0uCitQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFdOjgwJykgaXMgJ1siaHR0cDoi
LCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovL1tbOjpd
XScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWZyb20t
ZGF0YS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZnJv
bS1kYXRhLXVybC1leHBlY3RlZC50eHQKaW5kZXggNmFlOTNiODMwODlkYzRiZmRjMmNjNTA3MjA5
NDhhM2Y5YzI1YzM4ZC4uYjk3ZTQ4OWExMTg2NTg0MGFjZDM3MzViMDM3MDk4YTcyMjYxNmZiMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZnJvbS1kYXRhLXVybC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc2VnbWVudHMtZnJvbS1kYXRh
LXVybC1leHBlY3RlZC50eHQKQEAgLTY3LDcgKzY3LDcgQEAgUEFTUyBzZWdtZW50cygnaHR0cDov
L1syMDAxOjoxJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0
dHA6Ly8yMDAxOjoxXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21lbnRz
KCdodHRwOi8vMjAwMTo6MV06ODAnKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBz
ZWdtZW50cygnaHR0cDovL1syMDAxOjoxXScpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIs
Ii8iLCIiLCIiXScKLUZBSUwgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV06ODAnKSBzaG91bGQg
YmUgWyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0uIFdhcyBbImh0dHA6IiwiWzIw
MDE6OjFdIiwiODAiLCIvIiwiIiwiIl0uCitQQVNTIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFd
OjgwJykgaXMgJ1siaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdJwogUEFTUyBzZWdt
ZW50cygnaHR0cDovL1tbOjpdXScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3N0YW5kYXJkLXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3VybC9zdGFu
ZGFyZC11cmwtZXhwZWN0ZWQudHh0CmluZGV4IDNmNTE3ZDRhYjNjYWQ2ZmRmYzBiYjNjMjYzZWRi
Y2YzZGE2Zjk5Y2IuLmU5NWJlNDYyZWY3ZGZjNjBmYjMxZGUzOTUwYTU3N2E3M2JjM2NlNWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3N0YW5kYXJkLXVybC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVjdGVkLnR4dApAQCAt
MTIsMjMgKzEyLDIzIEBAIFBBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vdXNlcjpwYXNzQC8nKSBp
cyAnaHR0cDovL3VzZXI6cGFzc0AvJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly8lMjVET01B
SU46Zm9vYmFyQGZvb2RvbWFpbi5jb20vJykgaXMgJ2h0dHA6Ly8lMjVET01BSU46Zm9vYmFyQGZv
b2RvbWFpbi5jb20vJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6XFxcXHd3dy5nb29nbGUuY29t
XFxmb28nKSBpcyAnaHR0cDovL3d3dy5nb29nbGUuY29tL2ZvbycKIEZBSUwgY2Fub25pY2FsaXpl
KCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vYXNkZiNcdWQ4MDAnKSBzaG91bGQgYmUgaHR0cDovL3d3
dy5nb29nbGUuY29tL2FzZGYj77+9LiBXYXMgaHR0cDovL3d3dy5nb29nbGUuY29tL2FzZGYjJTI2
JTIzNTUyOTYlM0IuCi1GQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4MC8nKSBzaG91bGQg
YmUgaHR0cDovL2Zvby8uIFdhcyBodHRwOi8vZm9vOjgwLy4KK1BBU1MgY2Fub25pY2FsaXplKCdo
dHRwOi8vZm9vOjgwLycpIGlzICdodHRwOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRw
Oi8vZm9vOjgxLycpIGlzICdodHRwOi8vZm9vOjgxLycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRw
YTovL2Zvbzo4MC8nKSBpcyAnaHR0cGE6Ly9mb286ODAvJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0
dHA6Ly9mb286LTgwLycpIGlzICdodHRwOi8vZm9vOi04MC8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgn
aHR0cHM6Ly9mb286NDQzLycpIHNob3VsZCBiZSBodHRwczovL2Zvby8uIFdhcyBodHRwczovL2Zv
bzo0NDMvLgorUEFTUyBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjQ0My8nKSBpcyAnaHR0cHM6
Ly9mb28vJwogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjgwLycpIGlzICdodHRwczov
L2Zvbzo4MC8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnZnRwOi8vZm9vOjIxLycpIHNob3VsZCBiZSBm
dHA6Ly9mb28vLiBXYXMgZnRwOi8vZm9vOjIxLy4KK1BBU1MgY2Fub25pY2FsaXplKCdmdHA6Ly9m
b286MjEvJykgaXMgJ2Z0cDovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnZnRwOi8vZm9vOjgw
LycpIGlzICdmdHA6Ly9mb286ODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo3
MC8nKSBzaG91bGQgYmUgZ29waGVyOi8vZm9vLy4gV2FzIGdvcGhlcjovL2Zvbzo3MC8uCitQQVNT
IGNhbm9uaWNhbGl6ZSgnZ29waGVyOi8vZm9vOjcwLycpIGlzICdnb3BoZXI6Ly9mb28vJwogUEFT
UyBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo0NDMvJykgaXMgJ2dvcGhlcjovL2Zvbzo0NDMv
JwotRkFJTCBjYW5vbmljYWxpemUoJ3dzOi8vZm9vOjgwLycpIHNob3VsZCBiZSB3czovL2Zvby8u
IFdhcyB3czovL2Zvbzo4MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9mb286ODAvJykgaXMg
J3dzOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4MS8nKSBpcyAnd3M6Ly9m
b286ODEvJwogUEFTUyBjYW5vbmljYWxpemUoJ3dzOi8vZm9vOjQ0My8nKSBpcyAnd3M6Ly9mb286
NDQzLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4MTUvJykgaXMgJ3dzOi8vZm9vOjgx
NS8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjgwLycpIGlzICd3c3M6Ly9mb286ODAv
JwogUEFTUyBjYW5vbmljYWxpemUoJ3dzczovL2Zvbzo4MS8nKSBpcyAnd3NzOi8vZm9vOjgxLycK
LUZBSUwgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286NDQzLycpIHNob3VsZCBiZSB3c3M6Ly9mb28v
LiBXYXMgd3NzOi8vZm9vOjQ0My8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjQ0My8n
KSBpcyAnd3NzOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286ODE1LycpIGlz
ICd3c3M6Ly9mb286ODE1LycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUtd2Vic29ja2V0LWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXdlYnNvY2tldC1lcnJvci1leHBlY3Rl
ZC50eHQKaW5kZXggYWFmN2NmMmIzMTdhY2UzOWNjOGFjZTA5NzE3ZThiOTI3NzJlMDQ0Ny4uYTg4
N2FmYzZmZmJkNDQ5NjY2ODgyM2FiYmI1Y2JlM2U3ZjgwMzc2MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtd2Vic29ja2V0
LWVycm9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS13ZWJzb2NrZXQtZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC01
LDcgKzUsNyBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjQ6IHRlc3RTU0xDZXJ0aWZpY2F0ZTog
b25jbG9zZSBpcyBjYWxsZWQuCiBXZWJTb2NrZXQncyBuZXR3b3JrIGVycm9ycyBzaG91bGQgYmUg
bG9nZ2VkIHRvIGNvbnNvbGUuCiAKIGNvbnNvbGUtd2Vic29ja2V0LWVycm9yLmh0bWw6MzJ0ZXN0
RE5TTG9va3VwOiBUZXN0IHN0YXJ0ZWQuCi13czovL25vbmV4aXN0ZW50LmRvbWFpbi5pbnZhbGlk
OjgwL1dlYlNvY2tldCBuZXR3b3JrIGVycm9yOiBUaGUgb3BlcmF0aW9uIGNvdWxkbuKAmXQgYmUg
Y29tcGxldGVkLiAoa0NGRXJyb3JEb21haW5DRk5ldHdvcmsgZXJyb3IgMi4pCit3czovL25vbmV4
aXN0ZW50LmRvbWFpbi5pbnZhbGlkL1dlYlNvY2tldCBuZXR3b3JrIGVycm9yOiBUaGUgb3BlcmF0
aW9uIGNvdWxkbuKAmXQgYmUgY29tcGxldGVkLiAoa0NGRXJyb3JEb21haW5DRk5ldHdvcmsgZXJy
b3IgMi4pCiBjb25zb2xlLXdlYnNvY2tldC1lcnJvci5odG1sOjQzdGVzdEROU0xvb2t1cDogb25j
bG9zZSBpcyBjYWxsZWQuCiBjb25zb2xlLXdlYnNvY2tldC1lcnJvci5odG1sOjUwdGVzdFNTTENl
cnRpZmljYXRlOiBUZXN0IHN0YXJ0ZWQuCiB3c3M6Ly8xMjcuMC4wLjE6ODQ0My9XZWJTb2NrZXQg
bmV0d29yayBlcnJvcjogT1NTdGF0dXMgRXJyb3IgLTk4MTI6IHZhbGlkIGNlcnQgY2hhaW4sIHVu
dHJ1c3RlZCByb290IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3NlY3Vy
aXR5L2Jsb2NrLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Nl
Y3VyaXR5L2Jsb2NrLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDU2YTVkZTJkZDUwZjY0ZDY5ZTIw
N2E1MzRjY2EzMDlhNWJkNTBlODMuLjExOTdlNDU3ODE4M2RiMzdiZjkxNzhmNzQxZDgxMWJiMzdh
YzhlOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zZWN1cml0eS9ibG9j
ay10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc2VjdXJp
dHkvYmxvY2stdGVzdC1leHBlY3RlZC50eHQKQEAgLTEzNywxNCArMTM3LDE0IEBAIGh0dHA6Ly8y
NTUuMjU1LjI1NS4yNTU6NDI5NDk2NzI5Ni90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNV
UkxSZXF1ZXN0IFVSTCBoCiBodHRwOi8vMjU1LjI1NS4yNTUuMjU1OjQyOTQ5NjcyOTYvdGVzdC5q
cGcgLSBkaWRGYWlsTG9hZGluZ1dpdGhFcnJvcjogPE5TRXJyb3IgZG9tYWluIFdlYktpdEVycm9y
RG9tYWluLCBjb2RlIDEwMywgZmFpbGluZyBVUkwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTU6NDI5
NDk2NzI5Ni90ZXN0LmpwZyI+CiBodHRwOi8vMjU1LjI1NS4yNTUuMjU1OjAvdGVzdC5qcGcgLSB3
aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzI1NS4yNTUuMjU1LjI1NTow
L3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9jay10ZXN0Lmh0bWwsIGh0dHAgbWV0aG9k
IEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKIGh0dHA6Ly8yNTUuMjU1LjI1NS4yNTU6MC90
ZXN0LmpwZyAtIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21haW4gTlNVUkxF
cnJvckRvbWFpbiwgY29kZSAtMTAwNCwgZmFpbGluZyBVUkwgImh0dHA6Ly8yNTUuMjU1LjI1NS4y
NTU6MC90ZXN0LmpwZyI+Ci1odHRwOi8vMjU1LjI1NS4yNTUuMjU1OjgwL3Rlc3QuanBnIC0gd2ls
bFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8yNTUuMjU1LjI1NS4yNTU6ODAv
dGVzdC5qcGcsIG1haW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRob2Qg
R0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQotaHR0cDovLzI1NS4yNTUuMjU1LjI1NTo4MC90
ZXN0LmpwZyAtIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21haW4gTlNVUkxF
cnJvckRvbWFpbiwgY29kZSAtMTAwNCwgZmFpbGluZyBVUkwgImh0dHA6Ly8yNTUuMjU1LjI1NS4y
NTU6ODAvdGVzdC5qcGciPgotaHR0cDovLzI1NS4yNTUuMjU1LjI1NTovdGVzdC5qcGcgLSB3aWxs
U2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzI1NS4yNTUuMjU1LjI1NTovdGVz
dC5qcGcsIG1haW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRob2QgR0VU
PiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQotaHR0cDovLzI1NS4yNTUuMjU1LjI1NTovdGVzdC5q
cGcgLSBkaWRGYWlsTG9hZGluZ1dpdGhFcnJvcjogPE5TRXJyb3IgZG9tYWluIE5TVVJMRXJyb3JE
b21haW4sIGNvZGUgLTEwMDQsIGZhaWxpbmcgVVJMICJodHRwOi8vMjU1LjI1NS4yNTUuMjU1Oi90
ZXN0LmpwZyI+CitodHRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnIC0gd2lsbFNlbmRSZXF1
ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcsIG1h
aW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVj
dFJlc3BvbnNlIChudWxsKQoraHR0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyAtIGRpZEZh
aWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21haW4gTlNVUkxFcnJvckRvbWFpbiwgY29k
ZSAtMTAwNCwgZmFpbGluZyBVUkwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGciPgor
aHR0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxS
ZXF1ZXN0IFVSTCBodHRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnLCBtYWluIGRvY3VtZW50
IFVSTCBibG9jay10ZXN0Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAo
bnVsbCkKK2h0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcgLSBkaWRGYWlsTG9hZGluZ1dp
dGhFcnJvcjogPE5TRXJyb3IgZG9tYWluIE5TVVJMRXJyb3JEb21haW4sIGNvZGUgLTEwMDQsIGZh
aWxpbmcgVVJMICJodHRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnIj4KK2Z0cDovLzI1NS4y
NTUuMjU1LjI1NS90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBm
dHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcsIG1haW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRl
c3QuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQorZnRwOi8v
MjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vy
cm9yIGRvbWFpbiBOU1VSTEVycm9yRG9tYWluLCBjb2RlIC0xLCBmYWlsaW5nIFVSTCAiZnRwOi8v
MjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnIj4KIGZ0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0Lmpw
ZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBmdHA6Ly8yNTUuMjU1LjI1NS4y
NTUvdGVzdC5qcGcsIG1haW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRo
b2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQogZnRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rl
c3QuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9yIGRvbWFpbiBOU1VSTEVy
cm9yRG9tYWluLCBjb2RlIC0xLCBmYWlsaW5nIFVSTCAiZnRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rl
c3QuanBnIj4KLWZ0cDovLzI1NS4yNTUuMjU1LjI1NToyMS90ZXN0LmpwZyAtIHdpbGxTZW5kUmVx
dWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBmdHA6Ly8yNTUuMjU1LjI1NS4yNTU6MjEvdGVzdC5qcGcs
IG1haW4gZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRp
cmVjdFJlc3BvbnNlIChudWxsKQotZnRwOi8vMjU1LjI1NS4yNTUuMjU1OjIxL3Rlc3QuanBnIC0g
ZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9yIGRvbWFpbiBOU1VSTEVycm9yRG9tYWlu
LCBjb2RlIC0xLCBmYWlsaW5nIFVSTCAiZnRwOi8vMjU1LjI1NS4yNTUuMjU1OjIxL3Rlc3QuanBn
Ij4KIGZ0cDovLzI1NS4yNTUuMjU1LjI1NToyMi90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8
TlNVUkxSZXF1ZXN0IFVSTCBmdHA6Ly8yNTUuMjU1LjI1NS4yNTU6MjIvdGVzdC5qcGcsIG1haW4g
ZG9jdW1lbnQgVVJMIGJsb2NrLXRlc3QuaHRtbCwgaHR0cCBtZXRob2QgR0VUPiByZWRpcmVjdFJl
c3BvbnNlIChudWxsKQogZnRwOi8vMjU1LjI1NS4yNTUuMjU1OjIyL3Rlc3QuanBnIC0gZGlkRmFp
bExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9yIGRvbWFpbiBOU1VSTEVycm9yRG9tYWluLCBjb2Rl
IC0xLCBmYWlsaW5nIFVSTCAiZnRwOi8vMjU1LjI1NS4yNTUuMjU1OjIyL3Rlc3QuanBnIj4KIFRo
aXMgdGVzdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIHNyYyBvZiBhbiBJTUcgdGFnIHRvIGFsbCBi
bGFjayBsaXN0ZWQgcG9ydHMgdG8gY29uZmlybSB0aGF0IFdlYktpdCByZXR1cm5zIHRoZSBjb3Jy
ZWN0IGVycm9yIGZvciB0aGVtIC0gYmxvY2tlZCBpbnN0ZWFkIG9mIGNhbm5vdCBmaW5kLiBJdCBh
bHNvIHRyaWVzIHRoZSBGVFAgcG9ydHMgZm9yIGV4ZW1wdGlvbnMuIER1ZSB0byB0aGUgbmF0dXJl
IG9mIHRoaXMgdGVzdCwgdGhlIHJlc3VsdHMgY2FuIG9ubHkgYmUgcHJvY2Vzc2VkIGF1dG9tYXRp
Y2FsbHkgdmlhIER1bXBSZW5kZXJUcmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUzMTk0MGRhMTBlNmVjOTUy
MzE0ZTA4MTE0ZWI3YzFhYWZmOTc5MC4uNjNkMWE1NzQ2YjlhNjYyYWYyNTQ5MDk1MmI5YjZlMDkw
NjkwODY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAyLTEwICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBLVVJMIHNob3VsZCByZW1vdmUgZGVmYXVsdCBwb3J0IG51bWJlcnMg
d2hlbiBjYW5ub25pY2FsaXppbmcgdXJscyAodG8gbWF0Y2ggZXZlcnkgb3RoZXIgYnJvd3NlcikK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDkwCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRGVmYXVs
dFBvcnRGb3JTY2hlbWUpOgorICAgICAgICAoV2ViQ29yZTo6S1VSTDo6cGFyc2UpOgorCiAyMDEx
LTAyLTA5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tVUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKaW5kZXgg
Y2Y0NGMwMjc3YzI0M2JkODY2MWMzMWFkODBkNjRjMGE1MmZhYzJmYy4uNzg5MTFjZTcwY2U3NWIx
NGYwMzViYThlMTdhZDg1ZjM4MGM5YTZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS1VSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKQEAg
LTExMDAsNiArMTEwMCwzOCBAQCB2b2lkIEtVUkw6OnBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5n
KQogICAgIHBhcnNlKGJ1ZmZlci5kYXRhKCksICZzdHJpbmcpOwogfQogCitzdGF0aWMgaW5saW5l
IGJvb2wgZXF1YWwoY29uc3QgY2hhciogYSwgc2l6ZV90IGxlbkEsIGNvbnN0IGNoYXIqIGIsIHNp
emVfdCBsZW5CKQoreworICAgIGlmIChsZW5BICE9IGxlbkIpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gIXN0cm5jbXAoYSwgYiwgbGVuQSk7Cit9CisKKy8vIExpc3Qgb2YgZGVm
YXVsdCBzY2hlbWVzIGlzIHRha2VuIGZyb20gZ29vZ2xlLXVybDoKKy8vIGh0dHA6Ly9jb2RlLmdv
b2dsZS5jb20vcC9nb29nbGUtdXJsL3NvdXJjZS9icm93c2UvdHJ1bmsvc3JjL3VybF9jYW5vbl9z
dGR1cmwuY2MjMTIwCitzdGF0aWMgaW5saW5lIGJvb2wgaXNEZWZhdWx0UG9ydEZvclNjaGVtZShj
b25zdCBjaGFyKiBwb3J0LCBzaXplX3QgcG9ydExlbmd0aCwgY29uc3QgY2hhciogc2NoZW1lLCBz
aXplX3Qgc2NoZW1lTGVuZ3RoKQoreworICAgIC8vIFRoaXMgc3dpdGNoIGlzIHRoZW9yZXRpY2Fs
bHkgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24uICBJdCBjYW1lIG92ZXIgd2hlbgorICAgIC8v
IHRoZSBjb2RlIHdhcyBtb3ZlZCBmcm9tIGdvb2dsZS11cmwsIGJ1dCBtYXkgYmUgcmVtb3ZlZCBs
YXRlci4KKyAgICBzd2l0Y2ggKHNjaGVtZUxlbmd0aCkgeworICAgIGNhc2UgMjoKKyAgICAgICAg
cmV0dXJuIGVxdWFsKCJ3cyIsIDIsIHNjaGVtZSwgc2NoZW1lTGVuZ3RoKSAmJiBlcXVhbCgiODAi
LCAyLCBwb3J0LCBwb3J0TGVuZ3RoKTsKKyAgICBjYXNlIDM6CisgICAgICAgIGlmIChlcXVhbCgi
ZnRwIiwgMywgc2NoZW1lLCBzY2hlbWVMZW5ndGgpKQorICAgICAgICAgICAgcmV0dXJuIGVxdWFs
KCIyMSIsIDIsIHBvcnQsIHBvcnRMZW5ndGgpOworICAgICAgICBpZiAoZXF1YWwoIndzcyIsIDMs
IHNjaGVtZSwgc2NoZW1lTGVuZ3RoKSkKKyAgICAgICAgICAgIHJldHVybiBlcXVhbCgiNDQzIiwg
MywgcG9ydCwgcG9ydExlbmd0aCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgNDoKKyAgICAg
ICAgcmV0dXJuIGVxdWFsKCJodHRwIiwgNCwgc2NoZW1lLCBzY2hlbWVMZW5ndGgpICYmIGVxdWFs
KCI4MCIsIDIsIHBvcnQsIHBvcnRMZW5ndGgpOworICAgIGNhc2UgNToKKyAgICAgICAgcmV0dXJu
IGVxdWFsKCJodHRwcyIsIDUsIHNjaGVtZSwgc2NoZW1lTGVuZ3RoKSAmJiBlcXVhbCgiNDQzIiwg
MywgcG9ydCwgcG9ydExlbmd0aCk7CisgICAgY2FzZSA2OgorICAgICAgICByZXR1cm4gZXF1YWwo
ImdvcGhlciIsIDYsIHNjaGVtZSwgc2NoZW1lTGVuZ3RoKSAmJiBlcXVhbCgiNzAiLCAyLCBwb3J0
LCBwb3J0TGVuZ3RoKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEtVUkw6
OnBhcnNlKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgU3RyaW5nKiBvcmlnaW5hbFN0cmluZykKIHsK
ICAgICBpZiAoIXVybCB8fCB1cmxbMF0gPT0gJ1wwJykgewpAQCAtMTMzNSwxMyArMTM2NywxNiBA
QCB2b2lkIEtVUkw6OnBhcnNlKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgU3RyaW5nKiBvcmlnaW5h
bFN0cmluZykKICAgICAgICAgfQogICAgICAgICBtX2hvc3RFbmQgPSBwIC0gYnVmZmVyLmRhdGEo
KTsKIAotICAgICAgICAvLyBjb3B5IGluIHRoZSBwb3J0CisgICAgICAgIC8vIENvcHkgaW4gdGhl
IHBvcnQgaWYgdGhlIFVSTCBoYXMgb25lIChhbmQgaXQncyBub3QgZGVmYXVsdCkuCiAgICAgICAg
IGlmIChob3N0RW5kICE9IHBvcnRTdGFydCkgewotICAgICAgICAgICAgKnArKyA9ICc6JzsKLSAg
ICAgICAgICAgIHN0clB0ciA9IHVybCArIHBvcnRTdGFydDsKLSAgICAgICAgICAgIGNvbnN0IGNo
YXIgKnBvcnRFbmRQdHIgPSB1cmwgKyBwb3J0RW5kOwotICAgICAgICAgICAgd2hpbGUgKHN0clB0
ciA8IHBvcnRFbmRQdHIpCi0gICAgICAgICAgICAgICAgKnArKyA9ICpzdHJQdHIrKzsKKyAgICAg
ICAgICAgIGNvbnN0IGNoYXIqIHBvcnRTdHIgPSB1cmwgKyBwb3J0U3RhcnQ7CisgICAgICAgICAg
ICBzaXplX3QgcG9ydExlbmd0aCA9IHBvcnRFbmQgLSBwb3J0U3RhcnQ7CisgICAgICAgICAgICBp
ZiAocG9ydExlbmd0aCAmJiAhaXNEZWZhdWx0UG9ydEZvclNjaGVtZShwb3J0U3RyLCBwb3J0TGVu
Z3RoLCBidWZmZXIuZGF0YSgpLCBtX3NjaGVtZUVuZCkpIHsKKyAgICAgICAgICAgICAgICAqcCsr
ID0gJzonOworICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBvcnRFbmRQdHIgPSB1cmwgKyBw
b3J0RW5kOworICAgICAgICAgICAgICAgIHdoaWxlIChwb3J0U3RyIDwgcG9ydEVuZFB0cikKKyAg
ICAgICAgICAgICAgICAgICAgKnArKyA9ICpwb3J0U3RyKys7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgbV9wb3J0RW5kID0gcCAtIGJ1ZmZlci5kYXRhKCk7CiAgICAgfSBlbHNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82122</attachid>
            <date>2011-02-11 04:35:11 -0800</date>
            <delta_ts>2011-02-11 15:47:23 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54090-20110211043509.patch</filename>
            <type>text/plain</type>
            <size>16788</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgzMzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YzVhMzFhYWIzNzkwMmNiYTRhMDgy
ODA1Mjk2Nzk4NjI3MDVjZDBhLi45NWFkNmM0MDM3OGZjMjY3NzA4YWQ4YWI0OTI3ZTI1MjcxNGFi
MDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMTEgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEtVUkwgc2hvdWxkIHJlbW92ZSBkZWZhdWx0IHBvcnQgbnVtYmVycyB3aGVuIGNhbm5v
bmljYWxpemluZyB1cmxzICh0byBtYXRjaCBldmVyeSBvdGhlciBicm93c2VyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwOTAKKworICAgICAgICBB
ZGRlZCBhIG5ldyB0ZXN0IHRvIHNob3cgdGhhdCB3ZSBhcmUgaW50ZW50aW9uYWxseSByZW1vdmlu
ZworICAgICAgICBhIGNvbG9uIGFmdGVyIGEgaG9zdCBuYW1lLiAgaHR0cDovL2Zvby5jb206LyAt
PiBodHRwOi8vZm9vLmNvbS8KKworICAgICAgICAqIGZhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
ZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3VybC9z
dGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0OgorCiAyMDExLTAyLTExICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVHVybnMgb3V0IHRoYXQgZXhwZWN0YXRpb24gaXNu
J3QgUXQgc3BlY2lmaWMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9wb3J0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhwZWN0ZWQudHh0CmluZGV4
IGQ2NGRkM2EzZWMyZDliMmZlYmYyMzJmMjA0MmNjNTIzOGMwYjBlZmMuLjExYWIzNzExNTVlYjY1
Y2RiMDUyMGE3NTdiYTAwYmUxMDVmZmZhZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3BvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3BvcnQtZXhw
ZWN0ZWQudHh0CkBAIC01LDggKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBGQUlM
IGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyBkZi8nKSBzaG91bGQgYmUg
aHR0cDovL3d3dy5leGFtcGxlLmNvbTphcyUyMGRmLy4gV2FzIGh0dHA6Ly93d3cuZXhhbXBsZS5j
b206YXMgZGYvLgogUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206LTIv
JykgaXMgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb206LTIvJwotRkFJTCBjYW5vbmljYWxpemUoJ2h0
dHA6Ly93d3cuZXhhbXBsZS5jb206ODAvJykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZXhhbXBsZS5j
b20vLiBXYXMgaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgn
aHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MC8nKSBpcyAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8n
CiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbTo4MDgwLycpIGlzICdo
dHRwOi8vd3d3LmV4YW1wbGUuY29tOjgwODAvJworUEFTUyBjYW5vbmljYWxpemUoJ2h0dHA6Ly93
d3cuZXhhbXBsZS5jb206LycpIGlzICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycKIFBBU1MgY2Fu
b25pY2FsaXplKCdmb29iYXI6Ly93d3cuZXhhbXBsZS5jb206ODAvJykgaXMgJ2Zvb2JhcjovL3d3
dy5leGFtcGxlLmNvbTo4MC8nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXVuaXgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKaW5kZXgg
NGNmY2RhMDE3MTMxNjQzNzM1ZTAyM2E2ZTAwZjc2Mjg4MzFkZmNjMS4uOGU5M2Q0NDNmNmMzY2E1
N2E3NjZjNmExODFmZWJhYjg0NTI0YjkxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC91
cmwvcmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91cmwv
cmVsYXRpdmUtdW5peC1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFCiAKIFBBU1MgY2Fub25pY2FsaXplKCdcXFxcQW5vdGhlclxccGF0aCcpIGlzICdo
dHRwOi8vYW5vdGhlci9wYXRoJwogUEFTUyBjYW5vbmljYWxpemUoJy9jOlxcZm9vJykgaXMgJ2h0
dHA6Ly9ob3N0L2M6L2ZvbycKLUZBSUwgY2Fub25pY2FsaXplKCcvL2M6XFxmb28nKSBzaG91bGQg
YmUgaHR0cDovL2MvZm9vLiBXYXMgaHR0cDovL2M6L2Zvby4KK1BBU1MgY2Fub25pY2FsaXplKCcv
L2M6XFxmb28nKSBpcyAnaHR0cDovL2MvZm9vJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9y
ZWxhdGl2ZS13aW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC91cmwvcmVsYXRpdmUt
d2luLWV4cGVjdGVkLnR4dAppbmRleCA3MzNmODE1MmEzMGIxZDcwMGYwM2UwYzFjNGE2N2E5NDVh
Yjk1ZWE1Li4xY2I4ZDY3NDViYjE5Y2QwYjQ2YzdlZjJiZWE0MmIyMGQ3ZmIwM2FhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9yZWxhdGl2ZS13aW4tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdXJsL3JlbGF0aXZlLXdpbi1leHBlY3RlZC50eHQKQEAgLTgsNyAr
OCw3IEBAIFBBU1MgY2Fub25pY2FsaXplKCdiYXInKSBpcyAnZmlsZTovLy9DOi9iYXInCiBGQUlM
IGNhbm9uaWNhbGl6ZSgnLi4vLi4vLi4vYmFyLmh0bWwnKSBzaG91bGQgYmUgZmlsZTovLy9DOi9i
YXIuaHRtbC4gV2FzIGZpbGU6Ly8vYmFyLmh0bWwuCiBGQUlMIGNhbm9uaWNhbGl6ZSgnLy4uL2Jh
ci5odG1sJykgc2hvdWxkIGJlIGZpbGU6Ly8vQzovYmFyLmh0bWwuIFdhcyBmaWxlOi8vL2Jhci5o
dG1sLgogRkFJTCBjYW5vbmljYWxpemUoJ1xcXFxhbm90aGVyXFxwYXRoJykgc2hvdWxkIGJlIC4g
V2FzIGh0dHA6Ly9hbm90aGVyL3BhdGguCi1GQUlMIGNhbm9uaWNhbGl6ZSgnLy9jOi9mb28nKSBz
aG91bGQgYmUgZmlsZTovLy9DOi9mb28uIFdhcyBmaWxlOi8vYzovZm9vLgorRkFJTCBjYW5vbmlj
YWxpemUoJy8vYzovZm9vJykgc2hvdWxkIGJlIGZpbGU6Ly8vQzovZm9vLiBXYXMgZmlsZTovL2Mv
Zm9vLgogRkFJTCBjYW5vbmljYWxpemUoJy8vbG9jYWxob3N0L2M6L2ZvbycpIHNob3VsZCBiZSBm
aWxlOi8vL0M6L2Zvby4gV2FzIGZpbGU6Ly8vYzovZm9vLgogRkFJTCBjYW5vbmljYWxpemUoJ2M6
Jykgc2hvdWxkIGJlIC4gV2FzIGM6LgogRkFJTCBjYW5vbmljYWxpemUoJ2M6L2ZvbycpIHNob3Vs
ZCBiZSAuIFdhcyBjOi9mb28uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zY3Jp
cHQtdGVzdHMvcG9ydC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0
LmpzCmluZGV4IGIzMjI4YjE0ZTI4Y2RjNzFiZjBmYWE5YmIzMzc2YmZmMzM3ZjhjYjYuLmU5ZTYw
NTczYjI1NTkyMzNjZmI3NWQ3ZDA5ZDljMjM4NmFiYmNhNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvdXJsL3NjcmlwdC10ZXN0cy9wb3J0LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dXJsL3NjcmlwdC10ZXN0cy9wb3J0LmpzCkBAIC03LDYgKzcsOCBAQCBjYXNlcyA9IFsKICAgLy8g
RGVmYXVsdCBwb3J0IHNob3VsZCBiZSBvbWl0dGVkLgogICBbIjgwIiwgIiJdLAogICBbIjgwODAi
LCAiOjgwODAiXSwKKyAgLy8gRW1wdHkgcG9ydHMgKGp1c3QgYSBjb2xvbikgc2hvdWxkIGFsc28g
YmUgcmVtb3ZlZAorICBbIiIsICIiXSwKIF07CiAKIGZvciAodmFyIGkgPSAwOyBpIDwgY2FzZXMu
bGVuZ3RoOyArK2kpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWV4cGVjdGVkLnR4
dAppbmRleCBmNTNmYmIxMGU1YWMzYzY3MTgxMmEzYjcwN2M1MDIyNGRlYjQ2NDNlLi42NTliZTVm
ZWQxZjc2YWRmMmQzZDI1N2UwNWZjNDY2ZDMyM2JjYWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3VybC9zZWdtZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC91
cmwvc2VnbWVudHMtZXhwZWN0ZWQudHh0CkBAIC02Nyw3ICs2Nyw3IEBAIFBBU1Mgc2VnbWVudHMo
J2h0dHA6Ly9bMjAwMTo6MScpIGlzICdbIjoiLCIiLCIwIiwiIiwiIiwiIl0nCiBQQVNTIHNlZ21l
bnRzKCdodHRwOi8vMjAwMTo6MV0nKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwogUEFTUyBz
ZWdtZW50cygnaHR0cDovLzIwMDE6OjFdOjgwJykgaXMgJ1siOiIsIiIsIjAiLCIiLCIiLCIiXScK
IFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV0nKSBpcyAnWyJodHRwOiIsIlsyMDAxOjox
XSIsIjAiLCIvIiwiIiwiIl0nCi1GQUlMIHNlZ21lbnRzKCdodHRwOi8vWzIwMDE6OjFdOjgwJykg
c2hvdWxkIGJlIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIsIiIsIiJdLiBXYXMgWyJodHRw
OiIsIlsyMDAxOjoxXSIsIjgwIiwiLyIsIiIsIiJdLgorUEFTUyBzZWdtZW50cygnaHR0cDovL1sy
MDAxOjoxXTo4MCcpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwiMCIsIi8iLCIiLCIiXScKIFBB
U1Mgc2VnbWVudHMoJ2h0dHA6Ly9bWzo6XV0nKSBpcyAnWyI6IiwiIiwiMCIsIiIsIiIsIiJdJwog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3VybC9zZWdtZW50cy1mcm9tLWRhdGEtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvdXJsL3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0CmluZGV4IDZh
ZTkzYjgzMDg5ZGM0YmZkYzJjYzUwNzIwOTQ4YTNmOWMyNWMzOGQuLmI5N2U0ODlhMTE4NjU4NDBh
Y2QzNzM1YjAzNzA5OGE3MjI2MTZmYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdXJs
L3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdXJsL3NlZ21lbnRzLWZyb20tZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC02Nyw3ICs2Nyw3
IEBAIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MScpIGlzICdbIjoiLCIiLCIwIiwiIiwi
IiwiIl0nCiBQQVNTIHNlZ21lbnRzKCdodHRwOi8vMjAwMTo6MV0nKSBpcyAnWyI6IiwiIiwiMCIs
IiIsIiIsIiJdJwogUEFTUyBzZWdtZW50cygnaHR0cDovLzIwMDE6OjFdOjgwJykgaXMgJ1siOiIs
IiIsIjAiLCIiLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bMjAwMTo6MV0nKSBpcyAn
WyJodHRwOiIsIlsyMDAxOjoxXSIsIjAiLCIvIiwiIiwiIl0nCi1GQUlMIHNlZ21lbnRzKCdodHRw
Oi8vWzIwMDE6OjFdOjgwJykgc2hvdWxkIGJlIFsiaHR0cDoiLCJbMjAwMTo6MV0iLCIwIiwiLyIs
IiIsIiJdLiBXYXMgWyJodHRwOiIsIlsyMDAxOjoxXSIsIjgwIiwiLyIsIiIsIiJdLgorUEFTUyBz
ZWdtZW50cygnaHR0cDovL1syMDAxOjoxXTo4MCcpIGlzICdbImh0dHA6IiwiWzIwMDE6OjFdIiwi
MCIsIi8iLCIiLCIiXScKIFBBU1Mgc2VnbWVudHMoJ2h0dHA6Ly9bWzo6XV0nKSBpcyAnWyI6Iiwi
IiwiMCIsIiIsIiIsIiJdJwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9zdGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC91cmwvc3RhbmRhcmQtdXJsLWV4cGVjdGVkLnR4dAppbmRleCAzZjUx
N2Q0YWIzY2FkNmZkZmMwYmIzYzI2M2VkYmNmM2RhNmY5OWNiLi5lOTViZTQ2MmVmN2RmYzYwZmIz
MWRlMzk1MGE1NzdhNzNiYzNjZTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3VybC9z
dGFuZGFyZC11cmwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdXJsL3N0YW5k
YXJkLXVybC1leHBlY3RlZC50eHQKQEAgLTEyLDIzICsxMiwyMyBAQCBQQVNTIGNhbm9uaWNhbGl6
ZSgnaHR0cDovL3VzZXI6cGFzc0AvJykgaXMgJ2h0dHA6Ly91c2VyOnBhc3NALycKIFBBU1MgY2Fu
b25pY2FsaXplKCdodHRwOi8vJTI1RE9NQUlOOmZvb2JhckBmb29kb21haW4uY29tLycpIGlzICdo
dHRwOi8vJTI1RE9NQUlOOmZvb2JhckBmb29kb21haW4uY29tLycKIFBBU1MgY2Fub25pY2FsaXpl
KCdodHRwOlxcXFx3d3cuZ29vZ2xlLmNvbVxcZm9vJykgaXMgJ2h0dHA6Ly93d3cuZ29vZ2xlLmNv
bS9mb28nCiBGQUlMIGNhbm9uaWNhbGl6ZSgnaHR0cDovL3d3dy5nb29nbGUuY29tL2FzZGYjXHVk
ODAwJykgc2hvdWxkIGJlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9hc2RmI++/vS4gV2FzIGh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS9hc2RmIyUyNiUyMzU1Mjk2JTNCLgotRkFJTCBjYW5vbmljYWxpemUo
J2h0dHA6Ly9mb286ODAvJykgc2hvdWxkIGJlIGh0dHA6Ly9mb28vLiBXYXMgaHR0cDovL2Zvbzo4
MC8uCitQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4MC8nKSBpcyAnaHR0cDovL2Zvby8n
CiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cDovL2Zvbzo4MS8nKSBpcyAnaHR0cDovL2Zvbzo4MS8n
CiBQQVNTIGNhbm9uaWNhbGl6ZSgnaHR0cGE6Ly9mb286ODAvJykgaXMgJ2h0dHBhOi8vZm9vOjgw
LycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRwOi8vZm9vOi04MC8nKSBpcyAnaHR0cDovL2Zvbzot
ODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2h0dHBzOi8vZm9vOjQ0My8nKSBzaG91bGQgYmUgaHR0
cHM6Ly9mb28vLiBXYXMgaHR0cHM6Ly9mb286NDQzLy4KK1BBU1MgY2Fub25pY2FsaXplKCdodHRw
czovL2Zvbzo0NDMvJykgaXMgJ2h0dHBzOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCdodHRw
czovL2Zvbzo4MC8nKSBpcyAnaHR0cHM6Ly9mb286ODAvJwotRkFJTCBjYW5vbmljYWxpemUoJ2Z0
cDovL2ZvbzoyMS8nKSBzaG91bGQgYmUgZnRwOi8vZm9vLy4gV2FzIGZ0cDovL2ZvbzoyMS8uCitQ
QVNTIGNhbm9uaWNhbGl6ZSgnZnRwOi8vZm9vOjIxLycpIGlzICdmdHA6Ly9mb28vJwogUEFTUyBj
YW5vbmljYWxpemUoJ2Z0cDovL2Zvbzo4MC8nKSBpcyAnZnRwOi8vZm9vOjgwLycKLUZBSUwgY2Fu
b25pY2FsaXplKCdnb3BoZXI6Ly9mb286NzAvJykgc2hvdWxkIGJlIGdvcGhlcjovL2Zvby8uIFdh
cyBnb3BoZXI6Ly9mb286NzAvLgorUEFTUyBjYW5vbmljYWxpemUoJ2dvcGhlcjovL2Zvbzo3MC8n
KSBpcyAnZ29waGVyOi8vZm9vLycKIFBBU1MgY2Fub25pY2FsaXplKCdnb3BoZXI6Ly9mb286NDQz
LycpIGlzICdnb3BoZXI6Ly9mb286NDQzLycKLUZBSUwgY2Fub25pY2FsaXplKCd3czovL2Zvbzo4
MC8nKSBzaG91bGQgYmUgd3M6Ly9mb28vLiBXYXMgd3M6Ly9mb286ODAvLgorUEFTUyBjYW5vbmlj
YWxpemUoJ3dzOi8vZm9vOjgwLycpIGlzICd3czovL2Zvby8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgn
d3M6Ly9mb286ODEvJykgaXMgJ3dzOi8vZm9vOjgxLycKIFBBU1MgY2Fub25pY2FsaXplKCd3czov
L2Zvbzo0NDMvJykgaXMgJ3dzOi8vZm9vOjQ0My8nCiBQQVNTIGNhbm9uaWNhbGl6ZSgnd3M6Ly9m
b286ODE1LycpIGlzICd3czovL2Zvbzo4MTUvJwogUEFTUyBjYW5vbmljYWxpemUoJ3dzczovL2Zv
bzo4MC8nKSBpcyAnd3NzOi8vZm9vOjgwLycKIFBBU1MgY2Fub25pY2FsaXplKCd3c3M6Ly9mb286
ODEvJykgaXMgJ3dzczovL2Zvbzo4MS8nCi1GQUlMIGNhbm9uaWNhbGl6ZSgnd3NzOi8vZm9vOjQ0
My8nKSBzaG91bGQgYmUgd3NzOi8vZm9vLy4gV2FzIHdzczovL2Zvbzo0NDMvLgorUEFTUyBjYW5v
bmljYWxpemUoJ3dzczovL2Zvbzo0NDMvJykgaXMgJ3dzczovL2Zvby8nCiBQQVNTIGNhbm9uaWNh
bGl6ZSgnd3NzOi8vZm9vOjgxNS8nKSBpcyAnd3NzOi8vZm9vOjgxNS8nCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXdlYnNvY2tldC1lcnJvci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS13ZWJzb2NrZXQtZXJyb3ItZXhwZWN0ZWQudHh0CmluZGV4IGFhZjdjZjJiMzE3YWNlMzljYzhh
Y2UwOTcxN2U4YjkyNzcyZTA0NDcuLmE4ODdhZmM2ZmZiZDQ0OTY2Njg4MjNhYmJiNWNiZTNlN2Y4
MDM3NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXdlYnNvY2tldC1lcnJvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtd2Vic29ja2V0
LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDY0OiB0ZXN0U1NMQ2VydGlmaWNhdGU6IG9uY2xvc2UgaXMgY2FsbGVkLgogV2ViU29ja2V0J3Mg
bmV0d29yayBlcnJvcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byBjb25zb2xlLgogCiBjb25zb2xlLXdl
YnNvY2tldC1lcnJvci5odG1sOjMydGVzdEROU0xvb2t1cDogVGVzdCBzdGFydGVkLgotd3M6Ly9u
b25leGlzdGVudC5kb21haW4uaW52YWxpZDo4MC9XZWJTb2NrZXQgbmV0d29yayBlcnJvcjogVGhl
IG9wZXJhdGlvbiBjb3VsZG7igJl0IGJlIGNvbXBsZXRlZC4gKGtDRkVycm9yRG9tYWluQ0ZOZXR3
b3JrIGVycm9yIDIuKQord3M6Ly9ub25leGlzdGVudC5kb21haW4uaW52YWxpZC9XZWJTb2NrZXQg
bmV0d29yayBlcnJvcjogVGhlIG9wZXJhdGlvbiBjb3VsZG7igJl0IGJlIGNvbXBsZXRlZC4gKGtD
RkVycm9yRG9tYWluQ0ZOZXR3b3JrIGVycm9yIDIuKQogY29uc29sZS13ZWJzb2NrZXQtZXJyb3Iu
aHRtbDo0M3Rlc3RETlNMb29rdXA6IG9uY2xvc2UgaXMgY2FsbGVkLgogY29uc29sZS13ZWJzb2Nr
ZXQtZXJyb3IuaHRtbDo1MHRlc3RTU0xDZXJ0aWZpY2F0ZTogVGVzdCBzdGFydGVkLgogd3NzOi8v
MTI3LjAuMC4xOjg0NDMvV2ViU29ja2V0IG5ldHdvcmsgZXJyb3I6IE9TU3RhdHVzIEVycm9yIC05
ODEyOiB2YWxpZCBjZXJ0IGNoYWluLCB1bnRydXN0ZWQgcm9vdCAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zZWN1cml0eS9ibG9jay10ZXN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zZWN1cml0eS9ibG9jay10ZXN0LWV4cGVjdGVkLnR4dApp
bmRleCA1NmE1ZGUyZGQ1MGY2NGQ2OWUyMDdhNTM0Y2NhMzA5YTViZDUwZTgzLi4xMTk3ZTQ1Nzgx
ODNkYjM3YmY5MTc4Zjc0MWQ4MTFiYjM3YWM4ZTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc2VjdXJpdHkvYmxvY2stdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3NlY3VyaXR5L2Jsb2NrLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0x
MzcsMTQgKzEzNywxNCBAQCBodHRwOi8vMjU1LjI1NS4yNTUuMjU1OjQyOTQ5NjcyOTYvdGVzdC5q
cGcgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaAogaHR0cDovLzI1NS4yNTUu
MjU1LjI1NTo0Mjk0OTY3Mjk2L3Rlc3QuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxO
U0Vycm9yIGRvbWFpbiBXZWJLaXRFcnJvckRvbWFpbiwgY29kZSAxMDMsIGZhaWxpbmcgVVJMICJo
dHRwOi8vMjU1LjI1NS4yNTUuMjU1OjQyOTQ5NjcyOTYvdGVzdC5qcGciPgogaHR0cDovLzI1NS4y
NTUuMjU1LjI1NTowL3Rlc3QuanBnIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJM
IGh0dHA6Ly8yNTUuMjU1LjI1NS4yNTU6MC90ZXN0LmpwZywgbWFpbiBkb2N1bWVudCBVUkwgYmxv
Y2stdGVzdC5odG1sLCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCiBo
dHRwOi8vMjU1LjI1NS4yNTUuMjU1OjAvdGVzdC5qcGcgLSBkaWRGYWlsTG9hZGluZ1dpdGhFcnJv
cjogPE5TRXJyb3IgZG9tYWluIE5TVVJMRXJyb3JEb21haW4sIGNvZGUgLTEwMDQsIGZhaWxpbmcg
VVJMICJodHRwOi8vMjU1LjI1NS4yNTUuMjU1OjAvdGVzdC5qcGciPgotaHR0cDovLzI1NS4yNTUu
MjU1LjI1NTo4MC90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBo
dHRwOi8vMjU1LjI1NS4yNTUuMjU1OjgwL3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9j
ay10ZXN0Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKLWh0
dHA6Ly8yNTUuMjU1LjI1NS4yNTU6ODAvdGVzdC5qcGcgLSBkaWRGYWlsTG9hZGluZ1dpdGhFcnJv
cjogPE5TRXJyb3IgZG9tYWluIE5TVVJMRXJyb3JEb21haW4sIGNvZGUgLTEwMDQsIGZhaWxpbmcg
VVJMICJodHRwOi8vMjU1LjI1NS4yNTUuMjU1OjgwL3Rlc3QuanBnIj4KLWh0dHA6Ly8yNTUuMjU1
LjI1NS4yNTU6L3Rlc3QuanBnIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0
dHA6Ly8yNTUuMjU1LjI1NS4yNTU6L3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9jay10
ZXN0Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKLWh0dHA6
Ly8yNTUuMjU1LjI1NS4yNTU6L3Rlc3QuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxO
U0Vycm9yIGRvbWFpbiBOU1VSTEVycm9yRG9tYWluLCBjb2RlIC0xMDA0LCBmYWlsaW5nIFVSTCAi
aHR0cDovLzI1NS4yNTUuMjU1LjI1NTovdGVzdC5qcGciPgoraHR0cDovLzI1NS4yNTUuMjU1LjI1
NS90ZXN0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVSTCBodHRwOi8vMjU1
LjI1NS4yNTUuMjU1L3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9jay10ZXN0Lmh0bWws
IGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8yNTUuMjU1
LjI1NS4yNTUvdGVzdC5qcGcgLSBkaWRGYWlsTG9hZGluZ1dpdGhFcnJvcjogPE5TRXJyb3IgZG9t
YWluIE5TVVJMRXJyb3JEb21haW4sIGNvZGUgLTEwMDQsIGZhaWxpbmcgVVJMICJodHRwOi8vMjU1
LjI1NS4yNTUuMjU1L3Rlc3QuanBnIj4KK2h0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcg
LSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzI1NS4yNTUuMjU1LjI1
NS90ZXN0LmpwZywgbWFpbiBkb2N1bWVudCBVUkwgYmxvY2stdGVzdC5odG1sLCBodHRwIG1ldGhv
ZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rl
c3QuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9yIGRvbWFpbiBOU1VSTEVy
cm9yRG9tYWluLCBjb2RlIC0xMDA0LCBmYWlsaW5nIFVSTCAiaHR0cDovLzI1NS4yNTUuMjU1LjI1
NS90ZXN0LmpwZyI+CitmdHA6Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcgLSB3aWxsU2VuZFJl
cXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgZnRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnLCBt
YWluIGRvY3VtZW50IFVSTCBibG9jay10ZXN0Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJl
Y3RSZXNwb25zZSAobnVsbCkKK2Z0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyAtIGRpZEZh
aWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21haW4gTlNVUkxFcnJvckRvbWFpbiwgY29k
ZSAtMSwgZmFpbGluZyBVUkwgImZ0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyI+CiBmdHA6
Ly8yNTUuMjU1LjI1NS4yNTUvdGVzdC5qcGcgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVz
dCBVUkwgZnRwOi8vMjU1LjI1NS4yNTUuMjU1L3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBi
bG9jay10ZXN0Lmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkK
IGZ0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyAtIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9y
OiA8TlNFcnJvciBkb21haW4gTlNVUkxFcnJvckRvbWFpbiwgY29kZSAtMSwgZmFpbGluZyBVUkwg
ImZ0cDovLzI1NS4yNTUuMjU1LjI1NS90ZXN0LmpwZyI+Ci1mdHA6Ly8yNTUuMjU1LjI1NS4yNTU6
MjEvdGVzdC5qcGcgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgZnRwOi8vMjU1
LjI1NS4yNTUuMjU1OjIxL3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9jay10ZXN0Lmh0
bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKLWZ0cDovLzI1NS4y
NTUuMjU1LjI1NToyMS90ZXN0LmpwZyAtIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJv
ciBkb21haW4gTlNVUkxFcnJvckRvbWFpbiwgY29kZSAtMSwgZmFpbGluZyBVUkwgImZ0cDovLzI1
NS4yNTUuMjU1LjI1NToyMS90ZXN0LmpwZyI+CiBmdHA6Ly8yNTUuMjU1LjI1NS4yNTU6MjIvdGVz
dC5qcGcgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgZnRwOi8vMjU1LjI1NS4y
NTUuMjU1OjIyL3Rlc3QuanBnLCBtYWluIGRvY3VtZW50IFVSTCBibG9jay10ZXN0Lmh0bWwsIGh0
dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKIGZ0cDovLzI1NS4yNTUuMjU1
LjI1NToyMi90ZXN0LmpwZyAtIGRpZEZhaWxMb2FkaW5nV2l0aEVycm9yOiA8TlNFcnJvciBkb21h
aW4gTlNVUkxFcnJvckRvbWFpbiwgY29kZSAtMSwgZmFpbGluZyBVUkwgImZ0cDovLzI1NS4yNTUu
MjU1LjI1NToyMi90ZXN0LmpwZyI+CiBUaGlzIHRlc3QgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBz
cmMgb2YgYW4gSU1HIHRhZyB0byBhbGwgYmxhY2sgbGlzdGVkIHBvcnRzIHRvIGNvbmZpcm0gdGhh
dCBXZWJLaXQgcmV0dXJucyB0aGUgY29ycmVjdCBlcnJvciBmb3IgdGhlbSAtIGJsb2NrZWQgaW5z
dGVhZCBvZiBjYW5ub3QgZmluZC4gSXQgYWxzbyB0cmllcyB0aGUgRlRQIHBvcnRzIGZvciBleGVt
cHRpb25zLiBEdWUgdG8gdGhlIG5hdHVyZSBvZiB0aGlzIHRlc3QsIHRoZSByZXN1bHRzIGNhbiBv
bmx5IGJlIHByb2Nlc3NlZCBhdXRvbWF0aWNhbGx5IHZpYSBEdW1wUmVuZGVyVHJlZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDllYTM1NTQ1NmRlZDQyZTRjMGQ2NWJjZDdlNjJiNzllZjY0NmQ2ZWUuLmU5ZTY2OGVh
ZjI4NWI4MzdmNDhjMTYzOWVhNTk1MGU2NTczZWMwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMS0wMi0xMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgS1VSTCBzaG91bGQgcmVt
b3ZlIGRlZmF1bHQgcG9ydCBudW1iZXJzIHdoZW4gY2Fubm9uaWNhbGl6aW5nIHVybHMgKHRvIG1h
dGNoIGV2ZXJ5IG90aGVyIGJyb3dzZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NDA5MAorCisgICAgICAgICogcGxhdGZvcm0vS1VSTC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OktVUkw6OnBhcnNlKToKKwogMjAxMS0wMi0xMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMLmNwcAppbmRleCBjZjQ0YzAyNzdjMjQzYmQ4NjYxYzMxYWQ4MGQ2
NGMwYTUyZmFjMmZjLi43ODkxMWNlNzBjZTc1YjE0ZjAzNWJhOGUxN2FkODVmMzgwYzlhNmMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcApAQCAtMTEwMCw2ICsxMTAwLDM4IEBAIHZvaWQgS1VS
TDo6cGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgcGFyc2UoYnVmZmVyLmRhdGEoKSwg
JnN0cmluZyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBz
aXplX3QgbGVuQSwgY29uc3QgY2hhciogYiwgc2l6ZV90IGxlbkIpCit7CisgICAgaWYgKGxlbkEg
IT0gbGVuQikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiAhc3RybmNtcChhLCBi
LCBsZW5BKTsKK30KKworLy8gTGlzdCBvZiBkZWZhdWx0IHNjaGVtZXMgaXMgdGFrZW4gZnJvbSBn
b29nbGUtdXJsOgorLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS11cmwvc291cmNl
L2Jyb3dzZS90cnVuay9zcmMvdXJsX2Nhbm9uX3N0ZHVybC5jYyMxMjAKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc0RlZmF1bHRQb3J0Rm9yU2NoZW1lKGNvbnN0IGNoYXIqIHBvcnQsIHNpemVfdCBwb3J0
TGVuZ3RoLCBjb25zdCBjaGFyKiBzY2hlbWUsIHNpemVfdCBzY2hlbWVMZW5ndGgpCit7CisgICAg
Ly8gVGhpcyBzd2l0Y2ggaXMgdGhlb3JldGljYWxseSBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlv
bi4gIEl0IGNhbWUgb3ZlciB3aGVuCisgICAgLy8gdGhlIGNvZGUgd2FzIG1vdmVkIGZyb20gZ29v
Z2xlLXVybCwgYnV0IG1heSBiZSByZW1vdmVkIGxhdGVyLgorICAgIHN3aXRjaCAoc2NoZW1lTGVu
Z3RoKSB7CisgICAgY2FzZSAyOgorICAgICAgICByZXR1cm4gZXF1YWwoIndzIiwgMiwgc2NoZW1l
LCBzY2hlbWVMZW5ndGgpICYmIGVxdWFsKCI4MCIsIDIsIHBvcnQsIHBvcnRMZW5ndGgpOworICAg
IGNhc2UgMzoKKyAgICAgICAgaWYgKGVxdWFsKCJmdHAiLCAzLCBzY2hlbWUsIHNjaGVtZUxlbmd0
aCkpCisgICAgICAgICAgICByZXR1cm4gZXF1YWwoIjIxIiwgMiwgcG9ydCwgcG9ydExlbmd0aCk7
CisgICAgICAgIGlmIChlcXVhbCgid3NzIiwgMywgc2NoZW1lLCBzY2hlbWVMZW5ndGgpKQorICAg
ICAgICAgICAgcmV0dXJuIGVxdWFsKCI0NDMiLCAzLCBwb3J0LCBwb3J0TGVuZ3RoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSA0OgorICAgICAgICByZXR1cm4gZXF1YWwoImh0dHAiLCA0LCBz
Y2hlbWUsIHNjaGVtZUxlbmd0aCkgJiYgZXF1YWwoIjgwIiwgMiwgcG9ydCwgcG9ydExlbmd0aCk7
CisgICAgY2FzZSA1OgorICAgICAgICByZXR1cm4gZXF1YWwoImh0dHBzIiwgNSwgc2NoZW1lLCBz
Y2hlbWVMZW5ndGgpICYmIGVxdWFsKCI0NDMiLCAzLCBwb3J0LCBwb3J0TGVuZ3RoKTsKKyAgICBj
YXNlIDY6CisgICAgICAgIHJldHVybiBlcXVhbCgiZ29waGVyIiwgNiwgc2NoZW1lLCBzY2hlbWVM
ZW5ndGgpICYmIGVxdWFsKCI3MCIsIDIsIHBvcnQsIHBvcnRMZW5ndGgpOworICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgS1VSTDo6cGFyc2UoY29uc3QgY2hhciogdXJsLCBjb25z
dCBTdHJpbmcqIG9yaWdpbmFsU3RyaW5nKQogewogICAgIGlmICghdXJsIHx8IHVybFswXSA9PSAn
XDAnKSB7CkBAIC0xMzM1LDEzICsxMzY3LDE2IEBAIHZvaWQgS1VSTDo6cGFyc2UoY29uc3QgY2hh
ciogdXJsLCBjb25zdCBTdHJpbmcqIG9yaWdpbmFsU3RyaW5nKQogICAgICAgICB9CiAgICAgICAg
IG1faG9zdEVuZCA9IHAgLSBidWZmZXIuZGF0YSgpOwogCi0gICAgICAgIC8vIGNvcHkgaW4gdGhl
IHBvcnQKKyAgICAgICAgLy8gQ29weSBpbiB0aGUgcG9ydCBpZiB0aGUgVVJMIGhhcyBvbmUgKGFu
ZCBpdCdzIG5vdCBkZWZhdWx0KS4KICAgICAgICAgaWYgKGhvc3RFbmQgIT0gcG9ydFN0YXJ0KSB7
Ci0gICAgICAgICAgICAqcCsrID0gJzonOwotICAgICAgICAgICAgc3RyUHRyID0gdXJsICsgcG9y
dFN0YXJ0OwotICAgICAgICAgICAgY29uc3QgY2hhciAqcG9ydEVuZFB0ciA9IHVybCArIHBvcnRF
bmQ7Ci0gICAgICAgICAgICB3aGlsZSAoc3RyUHRyIDwgcG9ydEVuZFB0cikKLSAgICAgICAgICAg
ICAgICAqcCsrID0gKnN0clB0cisrOworICAgICAgICAgICAgY29uc3QgY2hhciogcG9ydFN0ciA9
IHVybCArIHBvcnRTdGFydDsKKyAgICAgICAgICAgIHNpemVfdCBwb3J0TGVuZ3RoID0gcG9ydEVu
ZCAtIHBvcnRTdGFydDsKKyAgICAgICAgICAgIGlmIChwb3J0TGVuZ3RoICYmICFpc0RlZmF1bHRQ
b3J0Rm9yU2NoZW1lKHBvcnRTdHIsIHBvcnRMZW5ndGgsIGJ1ZmZlci5kYXRhKCksIG1fc2NoZW1l
RW5kKSkgeworICAgICAgICAgICAgICAgICpwKysgPSAnOic7CisgICAgICAgICAgICAgICAgY29u
c3QgY2hhciogcG9ydEVuZFB0ciA9IHVybCArIHBvcnRFbmQ7CisgICAgICAgICAgICAgICAgd2hp
bGUgKHBvcnRTdHIgPCBwb3J0RW5kUHRyKQorICAgICAgICAgICAgICAgICAgICAqcCsrID0gKnBv
cnRTdHIrKzsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBtX3BvcnRFbmQgPSBw
IC0gYnVmZmVyLmRhdGEoKTsKICAgICB9IGVsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>