<?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>107317</bug_id>
          
          <creation_ts>2013-01-18 12:59:31 -0800</creation_ts>
          <short_desc>Make CompactHTMLToken a little more compact</short_desc>
          <delta_ts>2013-01-22 14:48:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hclam</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>810961</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-18 12:59:31 -0800</bug_when>
    <thetext>Make CompactHTMLToken a little more compact</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810962</commentid>
    <comment_count>1</comment_count>
      <attachid>183533</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-18 12:59:54 -0800</bug_when>
    <thetext>Created attachment 183533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810964</commentid>
    <comment_count>2</comment_count>
      <attachid>183533</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-18 13:07:02 -0800</bug_when>
    <thetext>Comment on attachment 183533
Patch

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

&gt; Source/WebCore/html/parser/BackgroundHTMLParser.cpp:129
&gt; +        if (m_token.type() == HTMLTokenTypes::DOCTYPE)
&gt; +            m_pendingTokens.append(DocTypeCompactHTMLToken(m_token));

How can this work?  Aren&apos;t we appending these by value, not pointers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811000</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-18 13:50:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 183533 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183533&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/BackgroundHTMLParser.cpp:129
&gt; &gt; +        if (m_token.type() == HTMLTokenTypes::DOCTYPE)
&gt; &gt; +            m_pendingTokens.append(DocTypeCompactHTMLToken(m_token));
&gt; 
&gt; How can this work?  Aren&apos;t we appending these by value, not pointers?

Oops, I&apos;ll have to think of another way to go about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811038</commentid>
    <comment_count>4</comment_count>
      <attachid>183533</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-18 14:22:31 -0800</bug_when>
    <thetext>Comment on attachment 183533
Patch

Maybe an OwnPtr to hold the DocType specific values?  Normally that will be 0, which is smaller and won&apos;t try to ref/deref twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811219</commentid>
    <comment_count>5</comment_count>
      <attachid>183584</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-18 17:54:57 -0800</bug_when>
    <thetext>Created attachment 183584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811380</commentid>
    <comment_count>6</comment_count>
      <attachid>183619</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-19 04:01:35 -0800</bug_when>
    <thetext>Created attachment 183619
An alternate approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811381</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-19 04:02:13 -0800</bug_when>
    <thetext>I hope you don&apos;t mind me hijacking your bug.  Please feel free to obsolete my patch and re-state yours for review if you like!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812767</commentid>
    <comment_count>8</comment_count>
      <attachid>183619</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 01:24:31 -0800</bug_when>
    <thetext>Comment on attachment 183619
An alternate approach

That&apos;s awesome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812788</commentid>
    <comment_count>9</comment_count>
      <attachid>183619</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 01:37:08 -0800</bug_when>
    <thetext>Comment on attachment 183619
An alternate approach

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

&gt; Source/WebCore/html/parser/CompactHTMLToken.h:71
&gt; +    const String&amp; publicIdentifier() const { return m_attributes[0].name(); }
&gt; +    const String&amp; systemIdentifier() const { return m_attributes[0].value(); }

Can we ASSERT that m_attributes has at least size one?  Maybe Vector does that for us?

&gt; Source/WebCore/html/parser/CompactHTMLToken.h:74
&gt; +    unsigned m_type : 4;

Can we ASSERT that we have enough bits somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812791</commentid>
    <comment_count>10</comment_count>
      <attachid>183619</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 01:43:52 -0800</bug_when>
    <thetext>Comment on attachment 183619
An alternate approach

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

&gt;&gt; Source/WebCore/html/parser/CompactHTMLToken.h:71
&gt;&gt; +    const String&amp; systemIdentifier() const { return m_attributes[0].value(); }
&gt; 
&gt; Can we ASSERT that m_attributes has at least size one?  Maybe Vector does that for us?

Yup:
http://trac.webkit.org/browser/trunk/Source/WTF/wtf/Vector.h#L553

&gt;&gt; Source/WebCore/html/parser/CompactHTMLToken.h:74
&gt;&gt; +    unsigned m_type : 4;
&gt; 
&gt; Can we ASSERT that we have enough bits somehow?

I believe the compiler does this for us (at least GCC) when we assign HTMLTokenTypes::Type to this value.  if it were too small it would warn.  At least that&apos;s my recollection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812795</commentid>
    <comment_count>11</comment_count>
      <attachid>183930</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 01:48:15 -0800</bug_when>
    <thetext>Created attachment 183930
Updated to TOT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813133</commentid>
    <comment_count>12</comment_count>
      <attachid>183930</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-22 10:19:10 -0800</bug_when>
    <thetext>Comment on attachment 183930
Updated to TOT

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

I am not an expert on the parser, but the patch looks fine to me and probably does not require parser expertise.

&gt; Source/WebCore/ChangeLog:13
&gt; +        however when I tried to assert that it failed.  Presumably because
&gt; +        Vector&lt;T&gt; is more than void* in size.

Yes, Vector&lt;T&gt; is much more than void* in size!

&gt; Source/WebCore/html/parser/CompactHTMLToken.h:78
&gt;      Vector&lt;CompactAttribute&gt; m_attributes;

What’s the typical size of this vector? If it’s typically empty, it could be OwnPtr&lt;Vector&gt;. If it typically has a small number of attributes, maybe it should have inline capacity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813139</commentid>
    <comment_count>13</comment_count>
      <attachid>183930</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-22 10:20:29 -0800</bug_when>
    <thetext>Comment on attachment 183930
Updated to TOT

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        Vector&lt;T&gt; is more than void* in size.
&gt; 
&gt; Yes, Vector&lt;T&gt; is much more than void* in size!

Roughly speaking, it’s got a pointer for the storage, a size, and a capacity. So we pay for the flexibility of being able to efficiently resize. For specialized uses we can use a different data structure that is more compact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813157</commentid>
    <comment_count>14</comment_count>
      <attachid>183930</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 10:32:28 -0800</bug_when>
    <thetext>Comment on attachment 183930
Updated to TOT

Rejecting attachment 183930 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
-fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare  -c ../../Source/WebCore/html/parser/CompactHTMLToken.cpp -o obj/Source/WebCore/html/parser/webcore_html.CompactHTMLToken.o
../../Source/WebCore/html/parser/CompactHTMLToken.cpp: In constructor &apos;WebCore::CompactHTMLToken::CompactHTMLToken(const WebCore::HTMLToken&amp;)&apos;:
../../Source/WebCore/html/parser/CompactHTMLToken.cpp:55: error: &apos;stringFromToken&apos; was not declared in this scope
ninja: build stopped: subcommand failed.

Full output: http://queues.webkit.org/results/16039638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813218</commentid>
    <comment_count>15</comment_count>
      <attachid>183930</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 11:03:20 -0800</bug_when>
    <thetext>Comment on attachment 183930
Updated to TOT

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt;&gt; +        Vector&lt;T&gt; is more than void* in size.
&gt;&gt; 
&gt;&gt; Yes, Vector&lt;T&gt; is much more than void* in size!
&gt; 
&gt; Roughly speaking, it’s got a pointer for the storage, a size, and a capacity. So we pay for the flexibility of being able to efficiently resize. For specialized uses we can use a different data structure that is more compact.

Yeah, I forgot about the necessary size member when writing that. :)  I didn&apos;t realize we had another one for capacity as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813220</commentid>
    <comment_count>16</comment_count>
      <attachid>183930</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 11:04:09 -0800</bug_when>
    <thetext>Comment on attachment 183930
Updated to TOT

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

&gt;&gt; Source/WebCore/html/parser/CompactHTMLToken.h:78
&gt;&gt;      Vector&lt;CompactAttribute&gt; m_attributes;
&gt; 
&gt; What’s the typical size of this vector? If it’s typically empty, it could be OwnPtr&lt;Vector&gt;. If it typically has a small number of attributes, maybe it should have inline capacity.

It&apos;s only used for attribute tokens, which are less common than character tokens for sure.  We probably should make it OwnPtr&lt;Vector&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813268</commentid>
    <comment_count>17</comment_count>
      <attachid>184026</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 11:35:37 -0800</bug_when>
    <thetext>Created attachment 184026
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813270</commentid>
    <comment_count>18</comment_count>
      <attachid>184026</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 11:38:08 -0800</bug_when>
    <thetext>Comment on attachment 184026
Patch for landing

Attachment 184026 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16042706</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813274</commentid>
    <comment_count>19</comment_count>
      <attachid>184028</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 11:42:43 -0800</bug_when>
    <thetext>Created attachment 184028
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813278</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 11:44:57 -0800</bug_when>
    <thetext>Sorry, this was originally part of a fancier patch series.   An earlier patch never landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813281</commentid>
    <comment_count>21</comment_count>
      <attachid>184028</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 11:47:26 -0800</bug_when>
    <thetext>Comment on attachment 184028
Patch for landing

Rejecting attachment 184028 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
r&apos;
../../Source/WebCore/html/parser/CompactHTMLToken.cpp:55: error:   crosses initialization of &apos;WTF::String publicIdentifier&apos;
../../Source/WebCore/html/parser/CompactHTMLToken.cpp:76: error: jump to case label
../../Source/WebCore/html/parser/CompactHTMLToken.cpp:56: error:   crosses initialization of &apos;WTF::String systemIdentifier&apos;
../../Source/WebCore/html/parser/CompactHTMLToken.cpp:55: error:   crosses initialization of &apos;WTF::String publicIdentifier&apos;
ninja: build stopped: subcommand failed.

Full output: http://queues.webkit.org/results/16036725</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813316</commentid>
    <comment_count>22</comment_count>
      <attachid>184035</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 12:32:27 -0800</bug_when>
    <thetext>Created attachment 184035
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813333</commentid>
    <comment_count>23</comment_count>
      <attachid>184035</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 13:03:11 -0800</bug_when>
    <thetext>Comment on attachment 184035
Patch for landing

Clearing flags on attachment: 184035

Committed r140453: &lt;http://trac.webkit.org/changeset/140453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813334</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 13:03:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813385</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 13:54:19 -0800</bug_when>
    <thetext>This broke the Windows builder because MSVC won&apos;t compact adjacent bitfields of differing types. I have to change &quot;bool&quot; to &quot;unsigned&quot; and it will work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813386</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 13:54:55 -0800</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win%20Builder/builds/35188 is the log from the break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813403</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 14:16:00 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813404</commentid>
    <comment_count>28</comment_count>
      <attachid>184046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 14:16:08 -0800</bug_when>
    <thetext>Created attachment 184046
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813434</commentid>
    <comment_count>29</comment_count>
      <attachid>184046</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2013-01-22 14:47:59 -0800</bug_when>
    <thetext>Comment on attachment 184046
Patch for landing

Clearing flags on attachment: 184046

Committed r140473: &lt;http://trac.webkit.org/changeset/140473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813435</commentid>
    <comment_count>30</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2013-01-22 14:48:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183533</attachid>
            <date>2013-01-18 12:59:54 -0800</date>
            <delta_ts>2013-01-18 17:54:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107317-20130118125653.patch</filename>
            <type>text/plain</type>
            <size>7047</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4Y2Q3Y2Y4YTE5ZDcw
ODlhMjAxODUzMmRiY2E1ZmU2YWMwMjE5Zi4uMjY3NWRjNWFmN2YxNGQxMWUzNGEyMTQyNDQ4MWM5
MGFmZjA5ZmM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTE4ICBUb255
IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFrZSBDb21wYWN0
SFRNTFRva2VuIGEgbGl0dGxlIG1vcmUgY29tcGFjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MzE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpwdW1wVG9r
ZW5pemVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXBhY3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGFjdEhUTUxUb2tlbjo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jVHlwZUNvbXBh
Y3RIVE1MVG9rZW46OkRvY1R5cGVDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY1R5cGVDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQpOgor
ICAgICAgICAqIGh0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaDoKKyAgICAgICAgKENvbXBh
Y3RIVE1MVG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2NUeXBlQ29tcGFj
dEhUTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbjo6
cHVibGljSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpEb2NUeXBlQ29tcGFjdEhUTUxU
b2tlbjo6c3lzdGVtSWRlbnRpZmllcik6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2Vu
Lmg6CisgICAgICAgIChXZWJDb3JlOjpBdG9taWNIVE1MVG9rZW46OkF0b21pY0hUTUxUb2tlbik6
CisKIDIwMTMtMDEtMTggIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgogCiAgICAgICAg
IFByb3BlcnR5Q29sbGVjdGlvbiB0ZXN0IGZhaWxzIG9uIEphdmFTY3JpcHRDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAKaW5k
ZXggM2NkMGY4NWU4MjM2MGY0ZWNkZmMxNTk4NzRmOTBkYTI4NjMzNGI3MC4uNzE2ZjZmY2YzNzNh
ZTAwMDBhZjE1OTQyNzZkMzYzZmY2ZTAwODdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmNwcApAQCAtMTI1LDcgKzEyNSwxMCBA
QCB2b2lkIEJhY2tncm91bmRIVE1MUGFyc2VyOjpwdW1wVG9rZW5pemVyKCkKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgeG1wVGFnLCAoInhtcCIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKIAogICAgIHdoaWxlIChtX3Rva2VuaXplci0+bmV4dFRv
a2VuKG1faW5wdXQuY3VycmVudCgpLCBtX3Rva2VuKSkgewotICAgICAgICBtX3BlbmRpbmdUb2tl
bnMuYXBwZW5kKENvbXBhY3RIVE1MVG9rZW4obV90b2tlbikpOworICAgICAgICBpZiAobV90b2tl
bi50eXBlKCkgPT0gSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEUpCisgICAgICAgICAgICBtX3BlbmRp
bmdUb2tlbnMuYXBwZW5kKERvY1R5cGVDb21wYWN0SFRNTFRva2VuKG1fdG9rZW4pKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgbV9wZW5kaW5nVG9rZW5zLmFwcGVuZChDb21wYWN0SFRNTFRv
a2VuKG1fdG9rZW4pKTsKIAogICAgICAgICBpZiAobV90b2tlbi50eXBlKCkgPT0gSFRNTFRva2Vu
VHlwZXM6OlN0YXJ0VGFnKSB7CiAgICAgICAgICAgICBBdG9taWNTdHJpbmcgdGFnTmFtZShtX3Rv
a2VuLm5hbWUoKS5kYXRhKCksIG1fdG9rZW4ubmFtZSgpLnNpemUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwCmluZGV4IDA5MzI4ZWU4NjBk
ZjQzMzM1NWRiYjMyNjVmM2U3ZTEyNjBhNmQzNWEuLmRhMTk2MjU4MTc2NTI1ZDM2Mjc1YWNjNmI0
Yjk2NzE3YmIyZmY0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0Nv
bXBhY3RIVE1MVG9rZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBh
Y3RIVE1MVG9rZW4uY3BwCkBAIC00Miw4ICs0Miw2IEBAIENvbXBhY3RIVE1MVG9rZW46OkNvbXBh
Y3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBIVE1MVG9rZW5UeXBlczo6RE9DVFlQRToKICAgICAgICAgbV9kYXRhID0gU3RyaW5nKHRv
a2VuLm5hbWUoKS5kYXRhKCksIHRva2VuLm5hbWUoKS5zaXplKCkpOwotICAgICAgICBtX3B1Ymxp
Y0lkZW50aWZpZXIgPSBTdHJpbmcodG9rZW4ucHVibGljSWRlbnRpZmllcigpLmRhdGEoKSwgdG9r
ZW4ucHVibGljSWRlbnRpZmllcigpLnNpemUoKSk7Ci0gICAgICAgIG1fc3lzdGVtSWRlbnRpZmll
ciA9IFN0cmluZyh0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuZGF0YSgpLCB0b2tlbi5zeXN0ZW1J
ZGVudGlmaWVyKCkuc2l6ZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBIVE1MVG9rZW5U
eXBlczo6RW5kT2ZGaWxlOgogICAgICAgICBicmVhazsKQEAgLTg5LDcgKzg3LDIwIEBAIGJvb2wg
Q29tcGFjdEhUTUxUb2tlbjo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICByZXR1cm4gaXNTdHJpbmdTYWZl
VG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSkKKyAgICByZXR1cm4gaXNTdHJpbmdTYWZlVG9T
ZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSk7Cit9CisKK0RvY1R5cGVDb21wYWN0SFRNTFRva2Vu
OjpEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbihjb25zdCBIVE1MVG9rZW4mIHRva2VuKQorICAgIDog
Q29tcGFjdEhUTUxUb2tlbih0b2tlbikKKyAgICAsIG1fcHVibGljSWRlbnRpZmllcihTdHJpbmco
dG9rZW4ucHVibGljSWRlbnRpZmllcigpLmRhdGEoKSwgdG9rZW4ucHVibGljSWRlbnRpZmllcigp
LnNpemUoKSkpCisgICAgLCBtX3N5c3RlbUlkZW50aWZpZXIoU3RyaW5nKHRva2VuLnN5c3RlbUlk
ZW50aWZpZXIoKS5kYXRhKCksIHRva2VuLnN5c3RlbUlkZW50aWZpZXIoKS5zaXplKCkpKQorewor
ICAgIEFTU0VSVChtX3R5cGUgPT0gSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEUpOworfQorCitib29s
IERvY1R5cGVDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBj
b25zdAoreworICAgIHJldHVybiBDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3Ro
ZXJUaHJlYWQoKQogICAgICAgICAmJiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQo
bV9wdWJsaWNJZGVudGlmaWVyKQogICAgICAgICAmJiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fub3Ro
ZXJUaHJlYWQobV9zeXN0ZW1JZGVudGlmaWVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaAppbmRleCA0MTA0MTVjZTk4M2ZkMjI4NWFmMDAzNzIx
MzNjZjk1NmU4ZGM3Zjg0Li5jZTE4YmVkYjc3YTQ0YWUxMGZkYmZmZjMzNmQ2YTI3NWVmZWM0NDBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2Vu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oCkBA
IC01OCwyMyArNTgsMzAgQEAgY2xhc3MgQ29tcGFjdEhUTUxUb2tlbiB7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgQ29tcGFjdEhUTUxUb2tlbihjb25zdCBIVE1MVG9rZW4mKTsKIAotICAgIGJvb2wg
aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlz
U2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCiAgICAgSFRNTFRva2VuVHlwZXM6
OlR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIGNvbnN0IFN0cmluZyYg
ZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIGJvb2wgc2VsZkNsb3NpbmcoKSBj
b25zdCB7IHJldHVybiBtX3NlbGZDbG9zaW5nOyB9CiAgICAgY29uc3QgVmVjdG9yPENvbXBhY3RB
dHRyaWJ1dGU+JiBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9CiAK
LSAgICBjb25zdCBTdHJpbmcmIHB1YmxpY0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3B1
YmxpY0lkZW50aWZpZXI7IH0KLSAgICBjb25zdCBTdHJpbmcmIHN5c3RlbUlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX3N5c3RlbUlkZW50aWZpZXI7IH0KLQogcHJpdmF0ZToKICAgICBIVE1M
VG9rZW5UeXBlczo6VHlwZSBtX3R5cGU7CiAgICAgU3RyaW5nIG1fZGF0YTsgLy8gIm5hbWUiLCAi
Y2hhcmFjdGVycyIsIG9yICJkYXRhIiBkZXBlbmRpbmcgb24gbV90eXBlCiAgICAgYm9vbCBtX3Nl
bGZDbG9zaW5nOwogICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiBtX2F0dHJpYnV0ZXM7Cit9
OworCitjbGFzcyBEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbiA6IHB1YmxpYyBDb21wYWN0SFRNTFRv
a2VuIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbihjb25z
dCBIVE1MVG9rZW4mKTsKIAotICAgIC8vIEZvciBkb2N0eXBlIG9ubHkuCisgICAgdmlydHVhbCBi
b29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OworCisgICAgY29uc3QgU3Ry
aW5nJiBwdWJsaWNJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wdWJsaWNJZGVudGlmaWVy
OyB9CisgICAgY29uc3QgU3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9zeXN0ZW1JZGVudGlmaWVyOyB9CisKK3ByaXZhdGU6CiAgICAgU3RyaW5nIG1fcHVibGljSWRl
bnRpZmllcjsKICAgICBTdHJpbmcgbV9zeXN0ZW1JZGVudGlmaWVyOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKaW5kZXggNmVhNjMwYjYxOTRhYjc3MWM3NTE0MjczNmEx
ZTk0NGQ0Zjk2ZDQxOC4uZTI5ZWUwMDZkZDk2MzNkMTM3MjU1YTRlYzYwNWI1ZWM5NDU1NmMzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTEwMywxNCArMTAzLDE2
IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OlVuaW5pdGlhbGl6ZWQ6
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEhUTUxUb2tlblR5cGVzOjpET0NUWVBFOgorICAgICAgICBjYXNlIEhUTUxU
b2tlblR5cGVzOjpET0NUWVBFOiB7CiAgICAgICAgICAgICBtX25hbWUgPSB0b2tlbi5kYXRhKCk7
CisgICAgICAgICAgICBjb25zdCBEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbiYgZG9jdHlwZSA9IHN0
YXRpY19jYXN0PGNvbnN0IERvY1R5cGVDb21wYWN0SFRNTFRva2VuJj4odG9rZW4pOwogICAgICAg
ICAgICAgbV9kb2N0eXBlRGF0YSA9IGFkb3B0UHRyKG5ldyBIVE1MVG9rZW46OkRvY3R5cGVEYXRh
KCkpOwogICAgICAgICAgICAgbV9kb2N0eXBlRGF0YS0+bV9oYXNQdWJsaWNJZGVudGlmaWVyID0g
dHJ1ZTsKLSAgICAgICAgICAgIG1fZG9jdHlwZURhdGEtPm1fcHVibGljSWRlbnRpZmllci5hcHBl
bmQodG9rZW4ucHVibGljSWRlbnRpZmllcigpLmNoYXJhY3RlcnMoKSwgdG9rZW4ucHVibGljSWRl
bnRpZmllcigpLmxlbmd0aCgpKTsKKyAgICAgICAgICAgIG1fZG9jdHlwZURhdGEtPm1fcHVibGlj
SWRlbnRpZmllci5hcHBlbmQoZG9jdHlwZS5wdWJsaWNJZGVudGlmaWVyKCkuY2hhcmFjdGVycygp
LCBkb2N0eXBlLnB1YmxpY0lkZW50aWZpZXIoKS5sZW5ndGgoKSk7CiAgICAgICAgICAgICBtX2Rv
Y3R5cGVEYXRhLT5tX2hhc1N5c3RlbUlkZW50aWZpZXIgPSB0cnVlOwotICAgICAgICAgICAgbV9k
b2N0eXBlRGF0YS0+bV9zeXN0ZW1JZGVudGlmaWVyLmFwcGVuZCh0b2tlbi5zeXN0ZW1JZGVudGlm
aWVyKCkuY2hhcmFjdGVycygpLCB0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkubGVuZ3RoKCkpOwor
ICAgICAgICAgICAgbV9kb2N0eXBlRGF0YS0+bV9zeXN0ZW1JZGVudGlmaWVyLmFwcGVuZChkb2N0
eXBlLnN5c3RlbUlkZW50aWZpZXIoKS5jaGFyYWN0ZXJzKCksIGRvY3R5cGUuc3lzdGVtSWRlbnRp
ZmllcigpLmxlbmd0aCgpKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAg
IGNhc2UgSFRNTFRva2VuVHlwZXM6OkVuZE9mRmlsZToKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIEhUTUxUb2tlblR5cGVzOjpTdGFydFRhZzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183584</attachid>
            <date>2013-01-18 17:54:57 -0800</date>
            <delta_ts>2013-01-19 04:01:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107317-20130118175155.patch</filename>
            <type>text/plain</type>
            <size>7339</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4Y2Q3Y2Y4YTE5ZDcw
ODlhMjAxODUzMmRiY2E1ZmU2YWMwMjE5Zi4uMjY3NWRjNWFmN2YxNGQxMWUzNGEyMTQyNDQ4MWM5
MGFmZjA5ZmM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTE4ICBUb255
IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFrZSBDb21wYWN0
SFRNTFRva2VuIGEgbGl0dGxlIG1vcmUgY29tcGFjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MzE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpwdW1wVG9r
ZW5pemVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXBhY3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGFjdEhUTUxUb2tlbjo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jVHlwZUNvbXBh
Y3RIVE1MVG9rZW46OkRvY1R5cGVDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY1R5cGVDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQpOgor
ICAgICAgICAqIGh0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaDoKKyAgICAgICAgKENvbXBh
Y3RIVE1MVG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2NUeXBlQ29tcGFj
dEhUTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpEb2NUeXBlQ29tcGFjdEhUTUxUb2tlbjo6
cHVibGljSWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpEb2NUeXBlQ29tcGFjdEhUTUxU
b2tlbjo6c3lzdGVtSWRlbnRpZmllcik6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2Vu
Lmg6CisgICAgICAgIChXZWJDb3JlOjpBdG9taWNIVE1MVG9rZW46OkF0b21pY0hUTUxUb2tlbik6
CisKIDIwMTMtMDEtMTggIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgogCiAgICAgICAg
IFByb3BlcnR5Q29sbGVjdGlvbiB0ZXN0IGZhaWxzIG9uIEphdmFTY3JpcHRDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwCmluZGV4IDA5MzI4
ZWU4NjBkZjQzMzM1NWRiYjMyNjVmM2U3ZTEyNjBhNmQzNWEuLjQ3Yzc1NWY2YjdmNzM0YzA4N2Jl
MjI1OGI1MWYzYjQyZjc4YTc0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0NvbXBhY3RIVE1MVG9rZW4uY3BwCkBAIC00Miw4ICs0Miw3IEBAIENvbXBhY3RIVE1MVG9rZW46
OkNvbXBhY3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBIVE1MVG9rZW5UeXBlczo6RE9DVFlQRToKICAgICAgICAgbV9kYXRhID0gU3Ry
aW5nKHRva2VuLm5hbWUoKS5kYXRhKCksIHRva2VuLm5hbWUoKS5zaXplKCkpOwotICAgICAgICBt
X3B1YmxpY0lkZW50aWZpZXIgPSBTdHJpbmcodG9rZW4ucHVibGljSWRlbnRpZmllcigpLmRhdGEo
KSwgdG9rZW4ucHVibGljSWRlbnRpZmllcigpLnNpemUoKSk7Ci0gICAgICAgIG1fc3lzdGVtSWRl
bnRpZmllciA9IFN0cmluZyh0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuZGF0YSgpLCB0b2tlbi5z
eXN0ZW1JZGVudGlmaWVyKCkuc2l6ZSgpKTsKKyAgICAgICAgbV9kb2N0eXBlID0gQ29tcGFjdERv
Y1R5cGU6OmNyZWF0ZSh0b2tlbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFRNTFRva2Vu
VHlwZXM6OkVuZE9mRmlsZToKICAgICAgICAgYnJlYWs7CkBAIC02OCw2ICs2NywxOCBAQCBDb21w
YWN0SFRNTFRva2VuOjpDb21wYWN0SFRNTFRva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiAg
ICAgfQogfQogCitDb21wYWN0SFRNTFRva2VuOjpDb21wYWN0SFRNTFRva2VuKGNvbnN0IENvbXBh
Y3RIVE1MVG9rZW4mIG90aGVyKQorICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAsIG1f
ZGF0YShvdGhlci5tX2RhdGEpCisgICAgLCBtX3NlbGZDbG9zaW5nKG90aGVyLm1fc2VsZkNsb3Np
bmcpCisgICAgLCBtX2F0dHJpYnV0ZXMob3RoZXIubV9hdHRyaWJ1dGVzKQoreworICAgIGlmIChv
dGhlci5tX2RvY3R5cGUpCisgICAgICAgIG1fZG9jdHlwZSA9IENvbXBhY3REb2NUeXBlOjpjcmVh
dGUoKm90aGVyLm1fZG9jdHlwZSk7CisgICAgZWxzZQorICAgICAgICBtX2RvY3R5cGUuY2xlYXIo
KTsKK30KKwogc3RhdGljIGJvb2wgaXNTdHJpbmdTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIFN0cmluZ0ltcGwqIGltcGwgPSBzdHJpbmcuaW1w
bCgpOwpAQCAtODgsOSArOTksMjEgQEAgYm9vbCBDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1Nl
bmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdAogICAgICAgICBpZiAoIWlzU3RyaW5nU2FmZVRvU2Vu
ZFRvQW5vdGhlclRocmVhZChpdC0+dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQorICAgIGlmIChtX2RvY3R5cGUgJiYgIW1fZG9jdHlwZS0+aXNTYWZlVG9TZW5kVG9B
bm90aGVyVGhyZWFkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gaXNTdHJp
bmdTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSk7Cit9CiAKLSAgICByZXR1cm4gaXNT
dHJpbmdTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSkKLSAgICAgICAgJiYgaXNTdHJp
bmdTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fcHVibGljSWRlbnRpZmllcikKK0NvbXBhY3RE
b2NUeXBlOjpDb21wYWN0RG9jVHlwZShjb25zdCBIVE1MVG9rZW4mIHRva2VuKQorICAgIDogbV9w
dWJsaWNJZGVudGlmaWVyKFN0cmluZyh0b2tlbi5wdWJsaWNJZGVudGlmaWVyKCkuZGF0YSgpLCB0
b2tlbi5wdWJsaWNJZGVudGlmaWVyKCkuc2l6ZSgpKSkKKyAgICAsIG1fc3lzdGVtSWRlbnRpZmll
cihTdHJpbmcodG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLmRhdGEoKSwgdG9rZW4uc3lzdGVtSWRl
bnRpZmllcigpLnNpemUoKSkpCit7CisgICAgQVNTRVJUKHRva2VuLnR5cGUoKSA9PSBIVE1MVG9r
ZW5UeXBlczo6RE9DVFlQRSk7Cit9CisKK2Jvb2wgQ29tcGFjdERvY1R5cGU6OmlzU2FmZVRvU2Vu
ZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzU3RyaW5nU2FmZVRvU2Vu
ZFRvQW5vdGhlclRocmVhZChtX3B1YmxpY0lkZW50aWZpZXIpCiAgICAgICAgICYmIGlzU3RyaW5n
U2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX3N5c3RlbUlkZW50aWZpZXIpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmgKaW5kZXggNDEwNDE1
Y2U5ODNmZDIyODVhZjAwMzcyMTMzY2Y5NTZlOGRjN2Y4NC4uNjQ0NWU5MWU2YWFiNjZjNzQyMjBl
NmUyNGRkNTQwMjdhOTJhNGYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ29tcGFjdEhUTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0Nv
bXBhY3RIVE1MVG9rZW4uaApAQCAtMjksNiArMjksOCBAQAogI2lmIEVOQUJMRShUSFJFQURFRF9I
VE1MX1BBUlNFUikKIAogI2luY2x1ZGUgIkhUTUxUb2tlblR5cGVzLmgiCisjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNTQsOSArNTYsMzIgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV92YWx1ZTsKIH07
CiAKK2NsYXNzIENvbXBhY3REb2NUeXBlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0
cjxDb21wYWN0RG9jVHlwZT4gY3JlYXRlKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pIHsgcmV0dXJu
IGFkb3B0UHRyKG5ldyBDb21wYWN0RG9jVHlwZSh0b2tlbikpOyB9CisgICAgc3RhdGljIFBhc3NP
d25QdHI8Q29tcGFjdERvY1R5cGU+IGNyZWF0ZShjb25zdCBDb21wYWN0RG9jVHlwZSYgb3RoZXIp
IHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb21wYWN0RG9jVHlwZShvdGhlcikpOyB9CisKKyAgICBi
b29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OworCisgICAgY29uc3QgU3Ry
aW5nJiBwdWJsaWNJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wdWJsaWNJZGVudGlmaWVy
OyB9CisgICAgY29uc3QgU3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9zeXN0ZW1JZGVudGlmaWVyOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ29tcGFjdERv
Y1R5cGUoY29uc3QgSFRNTFRva2VuJik7CisgICAgQ29tcGFjdERvY1R5cGUoY29uc3QgQ29tcGFj
dERvY1R5cGUmIG90aGVyKQorICAgICAgICA6IG1fcHVibGljSWRlbnRpZmllcihvdGhlci5tX3B1
YmxpY0lkZW50aWZpZXIpCisgICAgICAgICwgbV9zeXN0ZW1JZGVudGlmaWVyKG90aGVyLm1fc3lz
dGVtSWRlbnRpZmllcikKKyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fcHVibGljSWRlbnRp
ZmllcjsKKyAgICBTdHJpbmcgbV9zeXN0ZW1JZGVudGlmaWVyOworfTsKKwogY2xhc3MgQ29tcGFj
dEhUTUxUb2tlbiB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ29tcGFjdEhUTUxUb2tlbihjb25z
dCBIVE1MVG9rZW4mKTsKKyAgICBDb21wYWN0SFRNTFRva2VuKGNvbnN0IENvbXBhY3RIVE1MVG9r
ZW4mIG90aGVyKTsKIAogICAgIGJvb2wgaXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29u
c3Q7CiAKQEAgLTY0LDE5ICs4OSwxNCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBkYXRh
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAgICAgYm9vbCBzZWxmQ2xvc2luZygpIGNvbnN0
IHsgcmV0dXJuIG1fc2VsZkNsb3Npbmc7IH0KICAgICBjb25zdCBWZWN0b3I8Q29tcGFjdEF0dHJp
YnV0ZT4mIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KLQotICAg
IGNvbnN0IFN0cmluZyYgcHVibGljSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fcHVibGlj
SWRlbnRpZmllcjsgfQotICAgIGNvbnN0IFN0cmluZyYgc3lzdGVtSWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIG1fc3lzdGVtSWRlbnRpZmllcjsgfQorICAgIENvbXBhY3REb2NUeXBlKiBkb2N0
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9kb2N0eXBlLmdldCgpOyB9CiAKIHByaXZhdGU6CiAgICAg
SFRNTFRva2VuVHlwZXM6OlR5cGUgbV90eXBlOwogICAgIFN0cmluZyBtX2RhdGE7IC8vICJuYW1l
IiwgImNoYXJhY3RlcnMiLCBvciAiZGF0YSIgZGVwZW5kaW5nIG9uIG1fdHlwZQogICAgIGJvb2wg
bV9zZWxmQ2xvc2luZzsKICAgICBWZWN0b3I8Q29tcGFjdEF0dHJpYnV0ZT4gbV9hdHRyaWJ1dGVz
OwotCi0gICAgLy8gRm9yIGRvY3R5cGUgb25seS4KLSAgICBTdHJpbmcgbV9wdWJsaWNJZGVudGlm
aWVyOwotICAgIFN0cmluZyBtX3N5c3RlbUlkZW50aWZpZXI7CisgICAgT3duUHRyPENvbXBhY3RE
b2NUeXBlPiBtX2RvY3R5cGU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbi5oCmluZGV4IDZlYTYzMGI2MTk0YWI3NzFjNzUxNDI3MzZhMWU5NDRkNGY5NmQ0MTguLjM0
Y2ZkYzhhMjNmNzY3OTFhOTlkOTE4Yzk2YTA0NTMwYjRiYWM1YzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0xMDUsMTEgKzEwNSwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEU6CiAg
ICAgICAgICAgICBtX25hbWUgPSB0b2tlbi5kYXRhKCk7CisgICAgICAgICAgICBBU1NFUlQodG9r
ZW4uZG9jdHlwZSgpKTsKICAgICAgICAgICAgIG1fZG9jdHlwZURhdGEgPSBhZG9wdFB0cihuZXcg
SFRNTFRva2VuOjpEb2N0eXBlRGF0YSgpKTsKICAgICAgICAgICAgIG1fZG9jdHlwZURhdGEtPm1f
aGFzUHVibGljSWRlbnRpZmllciA9IHRydWU7Ci0gICAgICAgICAgICBtX2RvY3R5cGVEYXRhLT5t
X3B1YmxpY0lkZW50aWZpZXIuYXBwZW5kKHRva2VuLnB1YmxpY0lkZW50aWZpZXIoKS5jaGFyYWN0
ZXJzKCksIHRva2VuLnB1YmxpY0lkZW50aWZpZXIoKS5sZW5ndGgoKSk7CisgICAgICAgICAgICBt
X2RvY3R5cGVEYXRhLT5tX3B1YmxpY0lkZW50aWZpZXIuYXBwZW5kKHRva2VuLmRvY3R5cGUoKS0+
cHVibGljSWRlbnRpZmllcigpLmNoYXJhY3RlcnMoKSwgdG9rZW4uZG9jdHlwZSgpLT5wdWJsaWNJ
ZGVudGlmaWVyKCkubGVuZ3RoKCkpOwogICAgICAgICAgICAgbV9kb2N0eXBlRGF0YS0+bV9oYXNT
eXN0ZW1JZGVudGlmaWVyID0gdHJ1ZTsKLSAgICAgICAgICAgIG1fZG9jdHlwZURhdGEtPm1fc3lz
dGVtSWRlbnRpZmllci5hcHBlbmQodG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLmNoYXJhY3RlcnMo
KSwgdG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLmxlbmd0aCgpKTsKKyAgICAgICAgICAgIG1fZG9j
dHlwZURhdGEtPm1fc3lzdGVtSWRlbnRpZmllci5hcHBlbmQodG9rZW4uZG9jdHlwZSgpLT5zeXN0
ZW1JZGVudGlmaWVyKCkuY2hhcmFjdGVycygpLCB0b2tlbi5kb2N0eXBlKCktPnN5c3RlbUlkZW50
aWZpZXIoKS5sZW5ndGgoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBIVE1M
VG9rZW5UeXBlczo6RW5kT2ZGaWxlOgogICAgICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183619</attachid>
            <date>2013-01-19 04:01:35 -0800</date>
            <delta_ts>2013-01-22 01:48:12 -0800</delta_ts>
            <desc>An alternate approach</desc>
            <filename>bug-107317-20130119035834.patch</filename>
            <type>text/plain</type>
            <size>5154</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU1NDVmODRkNTU5YzBl
ZWYwYzM3ZjM3OWYxMjU1NmY5M2ZlZTRkYi4uZDRiZDc4Njk4YzBkMjY5YjIyZTRkZDUzYTQ5Yjhl
MDkwZmY4MTU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEzLTAxLTE5ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAorICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiBieSB0
d28gcG9pbnRlcnMuCisgICAgICAgIFRoZSBhYnVzZSBvZiB0aGUgYXR0cmlidXRlIHZlY3RvciB0
byBzdG9yZSB0aGUgRE9DVFlQRSBzdHJpbmdzCisgICAgICAgIGlzIGtpbmRhIGxhbWUsIGJ1dCBt
YWtlcyBhIGxvdCBvZiBzZW5zZSBnaXZlbiBob3cgcmFyZSBET0NUWVBFIHRva2VucyBhcmUuCisg
ICAgICAgIENvbXBhY3RIVE1MVG9rZW4gc2hvdWxkIG5vdyBiZSB0aGUgc2l6ZSBvZiB1bnNpZ25l
ZCArIHZvaWQqICsgdm9pZCosCisgICAgICAgIGhvd2V2ZXIgd2hlbiBJIHRyaWVkIHRvIGFzc2Vy
dCB0aGF0IGl0IGZhaWxlZC4gIFByZXN1bWFibHkgYmVjYXVzZQorICAgICAgICBWZWN0b3I8VD4g
aXMgbW9yZSB0aGFuIHZvaWQqIGluIHNpemUuCisgICAgICAgIFJlZ2FyZGxlc3MsIENvbXBhY3RI
VE1MVG9rZW4sIGFuZCB0aGUgcmVzdWx0aW5nIHZlY3RvciBvZiB0aGVtIHNob3VsZAorICAgICAg
ICBiZSBhIHNtYWxsZXIgbWFsbG9jIGFuZCB0aHVzIGZhc3Rlci4KKworICAgICAgICBJIHNhdyBu
byBwZXJmIGNoYW5nZSBvbiBodG1sLXBhcnNlci1zcmNkb2MuaHRtbC4KKworICAgICAgICAqIGh0
bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwOgorICAgICAgICAoU2FtZVNpemVBc0NvbXBh
Y3RIVE1MVG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21w
YWN0SFRNTFRva2VuOjpDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBh
Y3RIVE1MVG9rZW46OmlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCk6CisgICAgICAgICogaHRt
bC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGFjdEhU
TUxUb2tlbjo6dHlwZSk6CisgICAgICAgIChDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXBhY3RIVE1MVG9rZW46OnB1YmxpY0lkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGFjdEhUTUxUb2tlbjo6c3lzdGVtSWRlbnRpZmllcik6CisKKzIwMTMtMDEtMTkg
IEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCiAgICAgICAgIFByZS1hbGxvY2F0ZSBv
dXIgQ29tcGF0SFRNTFRva2VuIFZlY3RvciBzaW5jZSB3ZSBrbm93IGhvdyBiaWcgaXQgd2lsbCBi
ZSB0aGUgdGhlIGNvbW1vbiBjYXNlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDczNzEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9D
b21wYWN0SFRNTFRva2VuLmNwcAppbmRleCA2ZTA0Nzk4ZmM5MmQ5YTFlMTIzODM4YThhZDg4NDY1
MDM5M2E5YTg1Li40NmRlYTFiMGQ2M2NiNjEyMTQ2Zjc0Y2Y4OWY3ZjRmOWE2ZDg2YWVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcApAQCAt
MzMsNiArMzMsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgU2FtZVNpemVB
c0NvbXBhY3RIVE1MVG9rZW4gIHsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHM7CisgICAgU3RyaW5n
IG5hbWU7CisgICAgVmVjdG9yPENvbXBhY3RBdHRyaWJ1dGU+IHZlY3RvcjsKK307CisKK0NPTVBJ
TEVfQVNTRVJUKHNpemVvZihDb21wYWN0SFRNTFRva2VuKSA9PSBzaXplb2YoU2FtZVNpemVBc0Nv
bXBhY3RIVE1MVG9rZW4pLCBDb21wYWN0SFRNTFRva2VuX3Nob3VsZF9zdGF5X3NtYWxsKTsKKwog
Ly8gRklYTUU6IFRoaXMgcHJvYmFibHkgYmVsb25ncyBvbiBUb2tlbj8KIHN0YXRpYyBTdHJpbmcg
c3RyaW5nRnJvbVRva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIGNvbnN0IEhUTUxUb2tlbjo6
RGF0YVZlY3RvciYgdmVjdG9yKQogewpAQCAtNTIsOCArNjAsOSBAQCBDb21wYWN0SFRNTFRva2Vu
OjpDb21wYWN0SFRNTFRva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEU6CiAgICAgICAgIG1fZGF0YSA9IHN0
cmluZ0Zyb21Ub2tlbih0b2tlbiwgdG9rZW4ubmFtZSgpKTsKLSAgICAgICAgbV9wdWJsaWNJZGVu
dGlmaWVyID0gc3RyaW5nRnJvbVRva2VuKHRva2VuLCB0b2tlbi5wdWJsaWNJZGVudGlmaWVyKCkp
OwotICAgICAgICBtX3N5c3RlbUlkZW50aWZpZXIgPSBzdHJpbmdGcm9tVG9rZW4odG9rZW4sIHRv
a2VuLnN5c3RlbUlkZW50aWZpZXIoKSk7CisgICAgICAgIC8vIFRoZXJlIGlzIG9ubHkgMSBET0NU
WVBFIHRva2VuIHBlciBkb2N1bWVudCwgc28gdG8gYXZvaWQgaW5jcmVhc2luZyB0aGUKKyAgICAg
ICAgLy8gc2l6ZSBvZiBDb21wYWN0SFRNTFRva2VuLCB3ZSBqdXN0IHVzZSB0aGUgbV9hdHRyaWJ1
dGVzIHZlY3Rvci4KKyAgICAgICAgbV9hdHRyaWJ1dGVzLmFwcGVuZChDb21wYWN0QXR0cmlidXRl
KHN0cmluZ0Zyb21Ub2tlbih0b2tlbiwgdG9rZW4ucHVibGljSWRlbnRpZmllcigpKSwgc3RyaW5n
RnJvbVRva2VuKHRva2VuLCB0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkpKSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OkVuZE9mRmlsZToKICAgICAgICAgYnJlYWs7
CkBAIC05NSwxMCArMTA0LDcgQEAgYm9vbCBDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRU
b0Fub3RoZXJUaHJlYWQoKSBjb25zdAogICAgICAgICBpZiAoIWlzU3RyaW5nU2FmZVRvU2VuZFRv
QW5vdGhlclRocmVhZChpdC0+dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQotCi0gICAgcmV0dXJuIGlzU3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX2Rh
dGEpCi0gICAgICAgICYmIGlzU3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX3B1Ymxp
Y0lkZW50aWZpZXIpCi0gICAgICAgICYmIGlzU3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVh
ZChtX3N5c3RlbUlkZW50aWZpZXIpOworICAgIHJldHVybiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fu
b3RoZXJUaHJlYWQobV9kYXRhKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ29tcGFjdEhUTUxUb2tlbi5oCmluZGV4IDQxMDQxNWNlOTgzZmQyMjg1YWYwMDM3MjEzM2Nm
OTU2ZThkYzdmODQuLmExNTFlYjIyZDQ1ZDA3N2E3ZTdiMDk4ZWI5ZmYzOWYyYzcwNDU5NDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmgKQEAgLTYw
LDIzICs2MCwyMiBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRo
cmVhZCgpIGNvbnN0OwogCi0gICAgSFRNTFRva2VuVHlwZXM6OlR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQorICAgIEhUTUxUb2tlblR5cGVzOjpUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVG9rZW5UeXBlczo6VHlwZT4obV90eXBlKTsgfQogICAg
IGNvbnN0IFN0cmluZyYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIGJvb2wg
c2VsZkNsb3NpbmcoKSBjb25zdCB7IHJldHVybiBtX3NlbGZDbG9zaW5nOyB9CiAgICAgY29uc3Qg
VmVjdG9yPENvbXBhY3RBdHRyaWJ1dGU+JiBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9h
dHRyaWJ1dGVzOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIHB1YmxpY0lkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3B1YmxpY0lkZW50aWZpZXI7IH0KLSAgICBjb25zdCBTdHJpbmcmIHN5c3Rl
bUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3N5c3RlbUlkZW50aWZpZXI7IH0KKyAgICAv
LyBUaGVyZSBpcyBvbmx5IDEgRE9DVFlQRSB0b2tlbiBwZXIgZG9jdW1lbnQsIHNvIHRvIGF2b2lk
IGluY3JlYXNpbmcgdGhlCisgICAgLy8gc2l6ZSBvZiBDb21wYWN0SFRNTFRva2VuLCB3ZSBqdXN0
IHVzZSB0aGUgbV9hdHRyaWJ1dGVzIHZlY3Rvci4KKyAgICBjb25zdCBTdHJpbmcmIHB1YmxpY0lk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXNbMF0ubmFtZSgpOyB9CisgICAg
Y29uc3QgU3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1
dGVzWzBdLnZhbHVlKCk7IH0KIAogcHJpdmF0ZToKLSAgICBIVE1MVG9rZW5UeXBlczo6VHlwZSBt
X3R5cGU7CisgICAgdW5zaWduZWQgbV90eXBlIDogNDsKKyAgICBib29sIG1fc2VsZkNsb3Npbmcg
OiAxOworCiAgICAgU3RyaW5nIG1fZGF0YTsgLy8gIm5hbWUiLCAiY2hhcmFjdGVycyIsIG9yICJk
YXRhIiBkZXBlbmRpbmcgb24gbV90eXBlCi0gICAgYm9vbCBtX3NlbGZDbG9zaW5nOwogICAgIFZl
Y3RvcjxDb21wYWN0QXR0cmlidXRlPiBtX2F0dHJpYnV0ZXM7Ci0KLSAgICAvLyBGb3IgZG9jdHlw
ZSBvbmx5LgotICAgIFN0cmluZyBtX3B1YmxpY0lkZW50aWZpZXI7Ci0gICAgU3RyaW5nIG1fc3lz
dGVtSWRlbnRpZmllcjsKIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183930</attachid>
            <date>2013-01-22 01:48:15 -0800</date>
            <delta_ts>2013-01-22 11:35:34 -0800</delta_ts>
            <desc>Updated to TOT</desc>
            <filename>bug-107317-20130122014516.patch</filename>
            <type>text/plain</type>
            <size>5115</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjU4ZDIxZmNkN2NjODdi
YWQ0MmZlYzdlOTU1YmQ4Y2VkNzVkN2Q3OC4uYTcwODExNjJhM2UyNTNiYzE2YzRkNzNmMjAzMjky
N2ZjZGU4OTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAxLTIyICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiBieSB0
d28gcG9pbnRlcnMuCisgICAgICAgIFRoZSBhYnVzZSBvZiB0aGUgYXR0cmlidXRlIHZlY3RvciB0
byBzdG9yZSB0aGUgRE9DVFlQRSBzdHJpbmdzCisgICAgICAgIGlzIGtpbmRhIGxhbWUsIGJ1dCBt
YWtlcyBhIGxvdCBvZiBzZW5zZSBnaXZlbiBob3cgcmFyZSBET0NUWVBFIHRva2VucyBhcmUuCisg
ICAgICAgIENvbXBhY3RIVE1MVG9rZW4gc2hvdWxkIG5vdyBiZSB0aGUgc2l6ZSBvZiB1bnNpZ25l
ZCArIHZvaWQqICsgdm9pZCosCisgICAgICAgIGhvd2V2ZXIgd2hlbiBJIHRyaWVkIHRvIGFzc2Vy
dCB0aGF0IGl0IGZhaWxlZC4gIFByZXN1bWFibHkgYmVjYXVzZQorICAgICAgICBWZWN0b3I8VD4g
aXMgbW9yZSB0aGFuIHZvaWQqIGluIHNpemUuCisgICAgICAgIFJlZ2FyZGxlc3MsIENvbXBhY3RI
VE1MVG9rZW4sIGFuZCB0aGUgcmVzdWx0aW5nIHZlY3RvciBvZiB0aGVtIHNob3VsZAorICAgICAg
ICBiZSBhIHNtYWxsZXIgbWFsbG9jIGFuZCB0aHVzIGZhc3Rlci4KKworICAgICAgICBJIHNhdyBu
byBwZXJmIGNoYW5nZSBvbiBodG1sLXBhcnNlci1zcmNkb2MuaHRtbC4KKworICAgICAgICAqIGh0
bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwOgorICAgICAgICAoU2FtZVNpemVBc0NvbXBh
Y3RIVE1MVG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21w
YWN0SFRNTFRva2VuOjpDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBh
Y3RIVE1MVG9rZW46OmlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCk6CisgICAgICAgICogaHRt
bC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGFjdEhU
TUxUb2tlbjo6dHlwZSk6CisgICAgICAgIChDb21wYWN0SFRNTFRva2VuKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXBhY3RIVE1MVG9rZW46OnB1YmxpY0lkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGFjdEhUTUxUb2tlbjo6c3lzdGVtSWRlbnRpZmllcik6CisKIDIwMTMtMDEtMjIg
IE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdp
b25zXSBtaW4tbWF4IGhlaWdodCB3aWxsIG5vdCB0cmlnZ2VyIGEgcmVsYXlvdXQgd2hlbiBzZXQg
b24gYSByZWdpb24gd2l0aCBhdXRvLWhlaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9Db21wYWN0SFRNTFRva2VuLmNwcAppbmRleCAwOTMyOGVlODYwZGY0MzMzNTVkYmIzMjY1
ZjNlN2UxMjYwYTZkMzVhLi4xMWVmNWQ3YzI1YWI2OWRhZjc4ZTg3Y2ExZjBmZjU4MDZmMDBiMDk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2Vu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNw
cApAQCAtMzMsNiArMzMsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgU2Ft
ZVNpemVBc0NvbXBhY3RIVE1MVG9rZW4gIHsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHM7CisgICAg
U3RyaW5nIG5hbWU7CisgICAgVmVjdG9yPENvbXBhY3RBdHRyaWJ1dGU+IHZlY3RvcjsKK307CisK
K0NPTVBJTEVfQVNTRVJUKHNpemVvZihDb21wYWN0SFRNTFRva2VuKSA9PSBzaXplb2YoU2FtZVNp
emVBc0NvbXBhY3RIVE1MVG9rZW4pLCBDb21wYWN0SFRNTFRva2VuX3Nob3VsZF9zdGF5X3NtYWxs
KTsKKwogQ29tcGFjdEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbihjb25zdCBIVE1MVG9rZW4m
IHRva2VuKQogICAgIDogbV90eXBlKHRva2VuLnR5cGUoKSkKIHsKQEAgLTQyLDggKzUwLDkgQEAg
Q29tcGFjdEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbihjb25zdCBIVE1MVG9rZW4mIHRva2Vu
KQogICAgICAgICBicmVhazsKICAgICBjYXNlIEhUTUxUb2tlblR5cGVzOjpET0NUWVBFOgogICAg
ICAgICBtX2RhdGEgPSBTdHJpbmcodG9rZW4ubmFtZSgpLmRhdGEoKSwgdG9rZW4ubmFtZSgpLnNp
emUoKSk7Ci0gICAgICAgIG1fcHVibGljSWRlbnRpZmllciA9IFN0cmluZyh0b2tlbi5wdWJsaWNJ
ZGVudGlmaWVyKCkuZGF0YSgpLCB0b2tlbi5wdWJsaWNJZGVudGlmaWVyKCkuc2l6ZSgpKTsKLSAg
ICAgICAgbV9zeXN0ZW1JZGVudGlmaWVyID0gU3RyaW5nKHRva2VuLnN5c3RlbUlkZW50aWZpZXIo
KS5kYXRhKCksIHRva2VuLnN5c3RlbUlkZW50aWZpZXIoKS5zaXplKCkpOworICAgICAgICAvLyBU
aGVyZSBpcyBvbmx5IDEgRE9DVFlQRSB0b2tlbiBwZXIgZG9jdW1lbnQsIHNvIHRvIGF2b2lkIGlu
Y3JlYXNpbmcgdGhlCisgICAgICAgIC8vIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiwgd2UganVz
dCB1c2UgdGhlIG1fYXR0cmlidXRlcyB2ZWN0b3IuCisgICAgICAgIG1fYXR0cmlidXRlcy5hcHBl
bmQoQ29tcGFjdEF0dHJpYnV0ZShzdHJpbmdGcm9tVG9rZW4odG9rZW4sIHRva2VuLnB1YmxpY0lk
ZW50aWZpZXIoKSksIHN0cmluZ0Zyb21Ub2tlbih0b2tlbiwgdG9rZW4uc3lzdGVtSWRlbnRpZmll
cigpKSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEhUTUxUb2tlblR5cGVzOjpFbmRPZkZp
bGU6CiAgICAgICAgIGJyZWFrOwpAQCAtODgsMTAgKzk3LDcgQEAgYm9vbCBDb21wYWN0SFRNTFRv
a2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdAogICAgICAgICBpZiAoIWlz
U3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChpdC0+dmFsdWUoKSkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQotCi0gICAgcmV0dXJuIGlzU3RyaW5nU2FmZVRvU2VuZFRv
QW5vdGhlclRocmVhZChtX2RhdGEpCi0gICAgICAgICYmIGlzU3RyaW5nU2FmZVRvU2VuZFRvQW5v
dGhlclRocmVhZChtX3B1YmxpY0lkZW50aWZpZXIpCi0gICAgICAgICYmIGlzU3RyaW5nU2FmZVRv
U2VuZFRvQW5vdGhlclRocmVhZChtX3N5c3RlbUlkZW50aWZpZXIpOworICAgIHJldHVybiBpc1N0
cmluZ1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQobV9kYXRhKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oCmluZGV4IDQxMDQxNWNlOTgz
ZmQyMjg1YWYwMDM3MjEzM2NmOTU2ZThkYzdmODQuLmExNTFlYjIyZDQ1ZDA3N2E3ZTdiMDk4ZWI5
ZmYzOWYyYzcwNDU5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0Nv
bXBhY3RIVE1MVG9rZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0
SFRNTFRva2VuLmgKQEAgLTYwLDIzICs2MCwyMiBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzU2Fm
ZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCi0gICAgSFRNTFRva2VuVHlwZXM6OlR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIEhUTUxUb2tlblR5cGVzOjpU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxIVE1MVG9rZW5UeXBlczo6VHlw
ZT4obV90eXBlKTsgfQogICAgIGNvbnN0IFN0cmluZyYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YTsgfQogICAgIGJvb2wgc2VsZkNsb3NpbmcoKSBjb25zdCB7IHJldHVybiBtX3NlbGZDbG9z
aW5nOyB9CiAgICAgY29uc3QgVmVjdG9yPENvbXBhY3RBdHRyaWJ1dGU+JiBhdHRyaWJ1dGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIHB1Ymxp
Y0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3B1YmxpY0lkZW50aWZpZXI7IH0KLSAgICBj
b25zdCBTdHJpbmcmIHN5c3RlbUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3N5c3RlbUlk
ZW50aWZpZXI7IH0KKyAgICAvLyBUaGVyZSBpcyBvbmx5IDEgRE9DVFlQRSB0b2tlbiBwZXIgZG9j
dW1lbnQsIHNvIHRvIGF2b2lkIGluY3JlYXNpbmcgdGhlCisgICAgLy8gc2l6ZSBvZiBDb21wYWN0
SFRNTFRva2VuLCB3ZSBqdXN0IHVzZSB0aGUgbV9hdHRyaWJ1dGVzIHZlY3Rvci4KKyAgICBjb25z
dCBTdHJpbmcmIHB1YmxpY0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXNb
MF0ubmFtZSgpOyB9CisgICAgY29uc3QgU3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3Qg
eyByZXR1cm4gbV9hdHRyaWJ1dGVzWzBdLnZhbHVlKCk7IH0KIAogcHJpdmF0ZToKLSAgICBIVE1M
VG9rZW5UeXBlczo6VHlwZSBtX3R5cGU7CisgICAgdW5zaWduZWQgbV90eXBlIDogNDsKKyAgICBi
b29sIG1fc2VsZkNsb3NpbmcgOiAxOworCiAgICAgU3RyaW5nIG1fZGF0YTsgLy8gIm5hbWUiLCAi
Y2hhcmFjdGVycyIsIG9yICJkYXRhIiBkZXBlbmRpbmcgb24gbV90eXBlCi0gICAgYm9vbCBtX3Nl
bGZDbG9zaW5nOwogICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiBtX2F0dHJpYnV0ZXM7Ci0K
LSAgICAvLyBGb3IgZG9jdHlwZSBvbmx5LgotICAgIFN0cmluZyBtX3B1YmxpY0lkZW50aWZpZXI7
Ci0gICAgU3RyaW5nIG1fc3lzdGVtSWRlbnRpZmllcjsKIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184026</attachid>
            <date>2013-01-22 11:35:37 -0800</date>
            <delta_ts>2013-01-22 11:42:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107317-20130122113232.patch</filename>
            <type>text/plain</type>
            <size>4825</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2MmNlNmJkZTcwMjg3
ZjIyZGQ2Y2FkYTU2MjFmNThhMWYzNmNlMi4uMzBiZWY5NWU5OTdjYWMzOTMzNTUxNTAzMGExOTEw
OGQ2NWNjMjVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAxLTIyICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiBieSB0d28g
cG9pbnRlcnMuCisgICAgICAgIFRoZSBhYnVzZSBvZiB0aGUgYXR0cmlidXRlIHZlY3RvciB0byBz
dG9yZSB0aGUgRE9DVFlQRSBzdHJpbmdzCisgICAgICAgIGlzIGtpbmRhIGxhbWUsIGJ1dCBtYWtl
cyBhIGxvdCBvZiBzZW5zZSBnaXZlbiBob3cgcmFyZSBET0NUWVBFIHRva2VucyBhcmUuCisKKyAg
ICAgICAgVGhlIHJlc3VsdGluZyBDb21wYWN0SFRNTFRva2VuIHZlY3RvciBzaG91bGQgYmUgYSBz
bWFsbGVyIG1hbGxvYyBhbmQgdGh1cyBmYXN0ZXIuCisgICAgICAgIEhvd2V2ZXIgSSBzYXcgbm8g
cGVyZiBjaGFuZ2Ugb24gaHRtbC1wYXJzZXItc3JjZG9jLmh0bWwuCisKKyAgICAgICAgKiBodG1s
L3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcDoKKyAgICAgICAgKFNhbWVTaXplQXNDb21wYWN0
SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGFj
dEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDb21wYWN0
SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQpOgorICAgICAgICAqIGh0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBhY3RIVE1M
VG9rZW46OnR5cGUpOgorICAgICAgICAoQ29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJD
b3JlOjpDb21wYWN0SFRNTFRva2VuOjpwdWJsaWNJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBhY3RIVE1MVG9rZW46OnN5c3RlbUlkZW50aWZpZXIpOgorCiAyMDEzLTAxLTIyICBT
ZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTb3Vw
XSBSYW5kb20gdGhyZWFkIGNyYXNoZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
Q29tcGFjdEhUTUxUb2tlbi5jcHAKaW5kZXggMDkzMjhlZTg2MGRmNDMzMzU1ZGJiMzI2NWYzZTdl
MTI2MGE2ZDM1YS4uMTFlZjVkN2MyNWFiNjlkYWY3OGU4N2NhMWYwZmY1ODA2ZjAwYjA5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAKQEAg
LTMzLDYgKzMzLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RydWN0IFNhbWVTaXpl
QXNDb21wYWN0SFRNTFRva2VuICB7CisgICAgdW5zaWduZWQgYml0ZmllbGRzOworICAgIFN0cmlu
ZyBuYW1lOworICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiB2ZWN0b3I7Cit9OworCitDT01Q
SUxFX0FTU0VSVChzaXplb2YoQ29tcGFjdEhUTUxUb2tlbikgPT0gc2l6ZW9mKFNhbWVTaXplQXND
b21wYWN0SFRNTFRva2VuKSwgQ29tcGFjdEhUTUxUb2tlbl9zaG91bGRfc3RheV9zbWFsbCk7CisK
IENvbXBhY3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tl
bikKICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCiB7CkBAIC00Miw4ICs1MCw5IEBAIENvbXBh
Y3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tlbikKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBIVE1MVG9rZW5UeXBlczo6RE9DVFlQRToKICAgICAgICAg
bV9kYXRhID0gU3RyaW5nKHRva2VuLm5hbWUoKS5kYXRhKCksIHRva2VuLm5hbWUoKS5zaXplKCkp
OwotICAgICAgICBtX3B1YmxpY0lkZW50aWZpZXIgPSBTdHJpbmcodG9rZW4ucHVibGljSWRlbnRp
ZmllcigpLmRhdGEoKSwgdG9rZW4ucHVibGljSWRlbnRpZmllcigpLnNpemUoKSk7Ci0gICAgICAg
IG1fc3lzdGVtSWRlbnRpZmllciA9IFN0cmluZyh0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuZGF0
YSgpLCB0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuc2l6ZSgpKTsKKyAgICAgICAgLy8gVGhlcmUg
aXMgb25seSAxIERPQ1RZUEUgdG9rZW4gcGVyIGRvY3VtZW50LCBzbyB0byBhdm9pZCBpbmNyZWFz
aW5nIHRoZQorICAgICAgICAvLyBzaXplIG9mIENvbXBhY3RIVE1MVG9rZW4sIHdlIGp1c3QgdXNl
IHRoZSBtX2F0dHJpYnV0ZXMgdmVjdG9yLgorICAgICAgICBtX2F0dHJpYnV0ZXMuYXBwZW5kKENv
bXBhY3RBdHRyaWJ1dGUoc3RyaW5nRnJvbVRva2VuKHRva2VuLCB0b2tlbi5wdWJsaWNJZGVudGlm
aWVyKCkpLCBzdHJpbmdGcm9tVG9rZW4odG9rZW4sIHRva2VuLnN5c3RlbUlkZW50aWZpZXIoKSkp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBIVE1MVG9rZW5UeXBlczo6RW5kT2ZGaWxlOgog
ICAgICAgICBicmVhazsKQEAgLTg4LDEwICs5Nyw3IEBAIGJvb2wgQ29tcGFjdEhUTUxUb2tlbjo6
aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKICAgICAgICAgaWYgKCFpc1N0cmlu
Z1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoaXQtPnZhbHVlKCkpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KLQotICAgIHJldHVybiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fub3Ro
ZXJUaHJlYWQobV9kYXRhKQotICAgICAgICAmJiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fub3RoZXJU
aHJlYWQobV9wdWJsaWNJZGVudGlmaWVyKQotICAgICAgICAmJiBpc1N0cmluZ1NhZmVUb1NlbmRU
b0Fub3RoZXJUaHJlYWQobV9zeXN0ZW1JZGVudGlmaWVyKTsKKyAgICByZXR1cm4gaXNTdHJpbmdT
YWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaAppbmRleCA0MTA0MTVjZTk4M2ZkMjI4
NWFmMDAzNzIxMzNjZjk1NmU4ZGM3Zjg0Li5hMTUxZWIyMmQ0NWQwNzdhN2U3YjA5OGViOWZmMzlm
MmM3MDQ1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0
SFRNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxU
b2tlbi5oCkBAIC02MCwyMyArNjAsMjIgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1NhZmVUb1Nl
bmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdDsKIAotICAgIEhUTUxUb2tlblR5cGVzOjpUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBIVE1MVG9rZW5UeXBlczo6VHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRva2VuVHlwZXM6OlR5cGU+KG1f
dHlwZSk7IH0KICAgICBjb25zdCBTdHJpbmcmIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7
IH0KICAgICBib29sIHNlbGZDbG9zaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zZWxmQ2xvc2luZzsg
fQogICAgIGNvbnN0IFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiYgYXR0cmlidXRlcygpIGNvbnN0
IHsgcmV0dXJuIG1fYXR0cmlidXRlczsgfQogCi0gICAgY29uc3QgU3RyaW5nJiBwdWJsaWNJZGVu
dGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wdWJsaWNJZGVudGlmaWVyOyB9Ci0gICAgY29uc3Qg
U3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1JZGVudGlm
aWVyOyB9CisgICAgLy8gVGhlcmUgaXMgb25seSAxIERPQ1RZUEUgdG9rZW4gcGVyIGRvY3VtZW50
LCBzbyB0byBhdm9pZCBpbmNyZWFzaW5nIHRoZQorICAgIC8vIHNpemUgb2YgQ29tcGFjdEhUTUxU
b2tlbiwgd2UganVzdCB1c2UgdGhlIG1fYXR0cmlidXRlcyB2ZWN0b3IuCisgICAgY29uc3QgU3Ry
aW5nJiBwdWJsaWNJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzWzBdLm5h
bWUoKTsgfQorICAgIGNvbnN0IFN0cmluZyYgc3lzdGVtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fYXR0cmlidXRlc1swXS52YWx1ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgSFRNTFRva2Vu
VHlwZXM6OlR5cGUgbV90eXBlOworICAgIHVuc2lnbmVkIG1fdHlwZSA6IDQ7CisgICAgYm9vbCBt
X3NlbGZDbG9zaW5nIDogMTsKKwogICAgIFN0cmluZyBtX2RhdGE7IC8vICJuYW1lIiwgImNoYXJh
Y3RlcnMiLCBvciAiZGF0YSIgZGVwZW5kaW5nIG9uIG1fdHlwZQotICAgIGJvb2wgbV9zZWxmQ2xv
c2luZzsKICAgICBWZWN0b3I8Q29tcGFjdEF0dHJpYnV0ZT4gbV9hdHRyaWJ1dGVzOwotCi0gICAg
Ly8gRm9yIGRvY3R5cGUgb25seS4KLSAgICBTdHJpbmcgbV9wdWJsaWNJZGVudGlmaWVyOwotICAg
IFN0cmluZyBtX3N5c3RlbUlkZW50aWZpZXI7CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184028</attachid>
            <date>2013-01-22 11:42:43 -0800</date>
            <delta_ts>2013-01-22 12:32:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107317-20130122113938.patch</filename>
            <type>text/plain</type>
            <size>4962</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2MmNlNmJkZTcwMjg3
ZjIyZGQ2Y2FkYTU2MjFmNThhMWYzNmNlMi4uMzBiZWY5NWU5OTdjYWMzOTMzNTUxNTAzMGExOTEw
OGQ2NWNjMjVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAxLTIyICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiBieSB0d28g
cG9pbnRlcnMuCisgICAgICAgIFRoZSBhYnVzZSBvZiB0aGUgYXR0cmlidXRlIHZlY3RvciB0byBz
dG9yZSB0aGUgRE9DVFlQRSBzdHJpbmdzCisgICAgICAgIGlzIGtpbmRhIGxhbWUsIGJ1dCBtYWtl
cyBhIGxvdCBvZiBzZW5zZSBnaXZlbiBob3cgcmFyZSBET0NUWVBFIHRva2VucyBhcmUuCisKKyAg
ICAgICAgVGhlIHJlc3VsdGluZyBDb21wYWN0SFRNTFRva2VuIHZlY3RvciBzaG91bGQgYmUgYSBz
bWFsbGVyIG1hbGxvYyBhbmQgdGh1cyBmYXN0ZXIuCisgICAgICAgIEhvd2V2ZXIgSSBzYXcgbm8g
cGVyZiBjaGFuZ2Ugb24gaHRtbC1wYXJzZXItc3JjZG9jLmh0bWwuCisKKyAgICAgICAgKiBodG1s
L3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcDoKKyAgICAgICAgKFNhbWVTaXplQXNDb21wYWN0
SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGFj
dEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDb21wYWN0
SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQpOgorICAgICAgICAqIGh0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBhY3RIVE1M
VG9rZW46OnR5cGUpOgorICAgICAgICAoQ29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJD
b3JlOjpDb21wYWN0SFRNTFRva2VuOjpwdWJsaWNJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBhY3RIVE1MVG9rZW46OnN5c3RlbUlkZW50aWZpZXIpOgorCiAyMDEzLTAxLTIyICBT
ZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTb3Vw
XSBSYW5kb20gdGhyZWFkIGNyYXNoZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
Q29tcGFjdEhUTUxUb2tlbi5jcHAKaW5kZXggMDkzMjhlZTg2MGRmNDMzMzU1ZGJiMzI2NWYzZTdl
MTI2MGE2ZDM1YS4uZTk2NjZhNWY3ZGQzM2JiNTgyZTM2OTIyMGZiNDBlY2E1YjIyODg5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAKQEAg
LTMzLDYgKzMzLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RydWN0IFNhbWVTaXpl
QXNDb21wYWN0SFRNTFRva2VuICB7CisgICAgdW5zaWduZWQgYml0ZmllbGRzOworICAgIFN0cmlu
ZyBuYW1lOworICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiB2ZWN0b3I7Cit9OworCitDT01Q
SUxFX0FTU0VSVChzaXplb2YoQ29tcGFjdEhUTUxUb2tlbikgPT0gc2l6ZW9mKFNhbWVTaXplQXND
b21wYWN0SFRNTFRva2VuKSwgQ29tcGFjdEhUTUxUb2tlbl9zaG91bGRfc3RheV9zbWFsbCk7CisK
IENvbXBhY3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tl
bikKICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCiB7CkBAIC00Miw4ICs1MCwxMSBAQCBDb21w
YWN0SFRNTFRva2VuOjpDb21wYWN0SFRNTFRva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEU6CiAgICAgICAg
IG1fZGF0YSA9IFN0cmluZyh0b2tlbi5uYW1lKCkuZGF0YSgpLCB0b2tlbi5uYW1lKCkuc2l6ZSgp
KTsKLSAgICAgICAgbV9wdWJsaWNJZGVudGlmaWVyID0gU3RyaW5nKHRva2VuLnB1YmxpY0lkZW50
aWZpZXIoKS5kYXRhKCksIHRva2VuLnB1YmxpY0lkZW50aWZpZXIoKS5zaXplKCkpOwotICAgICAg
ICBtX3N5c3RlbUlkZW50aWZpZXIgPSBTdHJpbmcodG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLmRh
dGEoKSwgdG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLnNpemUoKSk7CisgICAgICAgIC8vIFRoZXJl
IGlzIG9ubHkgMSBET0NUWVBFIHRva2VuIHBlciBkb2N1bWVudCwgc28gdG8gYXZvaWQgaW5jcmVh
c2luZyB0aGUKKyAgICAgICAgLy8gc2l6ZSBvZiBDb21wYWN0SFRNTFRva2VuLCB3ZSBqdXN0IHVz
ZSB0aGUgbV9hdHRyaWJ1dGVzIHZlY3Rvci4KKyAgICAgICAgU3RyaW5nIHB1YmxpY0lkZW50aWZp
ZXIodG9rZW4ucHVibGljSWRlbnRpZmllcigpLmRhdGEoKSwgdG9rZW4ucHVibGljSWRlbnRpZmll
cigpLnNpemUoKSk7CisgICAgICAgIFN0cmluZyBzeXN0ZW1JZGVudGlmaWVyKHRva2VuLnN5c3Rl
bUlkZW50aWZpZXIoKS5kYXRhKCksIHRva2VuLnN5c3RlbUlkZW50aWZpZXIoKS5zaXplKCkpOwor
ICAgICAgICBtX2F0dHJpYnV0ZXMuYXBwZW5kKENvbXBhY3RBdHRyaWJ1dGUocHVibGljSWRlbnRp
Zmllciwgc3lzdGVtSWRlbnRpZmllcikpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEhUTUxU
b2tlblR5cGVzOjpFbmRPZkZpbGU6CiAgICAgICAgIGJyZWFrOwpAQCAtODgsMTAgKzk5LDcgQEAg
Ym9vbCBDb21wYWN0SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25z
dAogICAgICAgICBpZiAoIWlzU3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChpdC0+dmFs
dWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotCi0gICAgcmV0dXJuIGlz
U3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX2RhdGEpCi0gICAgICAgICYmIGlzU3Ry
aW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX3B1YmxpY0lkZW50aWZpZXIpCi0gICAgICAg
ICYmIGlzU3RyaW5nU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZChtX3N5c3RlbUlkZW50aWZpZXIp
OworICAgIHJldHVybiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQobV9kYXRhKTsK
IH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhU
TUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5o
CmluZGV4IDQxMDQxNWNlOTgzZmQyMjg1YWYwMDM3MjEzM2NmOTU2ZThkYzdmODQuLmExNTFlYjIy
ZDQ1ZDA3N2E3ZTdiMDk4ZWI5ZmYzOWYyYzcwNDU5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmgKQEAgLTYwLDIzICs2MCwyMiBAQCBwdWJsaWM6
CiAKICAgICBib29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCi0gICAg
SFRNTFRva2VuVHlwZXM6OlR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAg
IEhUTUxUb2tlblR5cGVzOjpUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxI
VE1MVG9rZW5UeXBlczo6VHlwZT4obV90eXBlKTsgfQogICAgIGNvbnN0IFN0cmluZyYgZGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQogICAgIGJvb2wgc2VsZkNsb3NpbmcoKSBjb25zdCB7
IHJldHVybiBtX3NlbGZDbG9zaW5nOyB9CiAgICAgY29uc3QgVmVjdG9yPENvbXBhY3RBdHRyaWJ1
dGU+JiBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzOyB9CiAKLSAgICBj
b25zdCBTdHJpbmcmIHB1YmxpY0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3B1YmxpY0lk
ZW50aWZpZXI7IH0KLSAgICBjb25zdCBTdHJpbmcmIHN5c3RlbUlkZW50aWZpZXIoKSBjb25zdCB7
IHJldHVybiBtX3N5c3RlbUlkZW50aWZpZXI7IH0KKyAgICAvLyBUaGVyZSBpcyBvbmx5IDEgRE9D
VFlQRSB0b2tlbiBwZXIgZG9jdW1lbnQsIHNvIHRvIGF2b2lkIGluY3JlYXNpbmcgdGhlCisgICAg
Ly8gc2l6ZSBvZiBDb21wYWN0SFRNTFRva2VuLCB3ZSBqdXN0IHVzZSB0aGUgbV9hdHRyaWJ1dGVz
IHZlY3Rvci4KKyAgICBjb25zdCBTdHJpbmcmIHB1YmxpY0lkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2F0dHJpYnV0ZXNbMF0ubmFtZSgpOyB9CisgICAgY29uc3QgU3RyaW5nJiBzeXN0ZW1J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVzWzBdLnZhbHVlKCk7IH0KIAog
cHJpdmF0ZToKLSAgICBIVE1MVG9rZW5UeXBlczo6VHlwZSBtX3R5cGU7CisgICAgdW5zaWduZWQg
bV90eXBlIDogNDsKKyAgICBib29sIG1fc2VsZkNsb3NpbmcgOiAxOworCiAgICAgU3RyaW5nIG1f
ZGF0YTsgLy8gIm5hbWUiLCAiY2hhcmFjdGVycyIsIG9yICJkYXRhIiBkZXBlbmRpbmcgb24gbV90
eXBlCi0gICAgYm9vbCBtX3NlbGZDbG9zaW5nOwogICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRl
PiBtX2F0dHJpYnV0ZXM7Ci0KLSAgICAvLyBGb3IgZG9jdHlwZSBvbmx5LgotICAgIFN0cmluZyBt
X3B1YmxpY0lkZW50aWZpZXI7Ci0gICAgU3RyaW5nIG1fc3lzdGVtSWRlbnRpZmllcjsKIH07CiAK
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184035</attachid>
            <date>2013-01-22 12:32:27 -0800</date>
            <delta_ts>2013-01-22 14:15:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107317-20130122122922.patch</filename>
            <type>text/plain</type>
            <size>5116</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2MmNlNmJkZTcwMjg3
ZjIyZGQ2Y2FkYTU2MjFmNThhMWYzNmNlMi4uMzBiZWY5NWU5OTdjYWMzOTMzNTUxNTAzMGExOTEw
OGQ2NWNjMjVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAxLTIyICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgQ29tcGFjdEhUTUxUb2tlbiBieSB0d28g
cG9pbnRlcnMuCisgICAgICAgIFRoZSBhYnVzZSBvZiB0aGUgYXR0cmlidXRlIHZlY3RvciB0byBz
dG9yZSB0aGUgRE9DVFlQRSBzdHJpbmdzCisgICAgICAgIGlzIGtpbmRhIGxhbWUsIGJ1dCBtYWtl
cyBhIGxvdCBvZiBzZW5zZSBnaXZlbiBob3cgcmFyZSBET0NUWVBFIHRva2VucyBhcmUuCisKKyAg
ICAgICAgVGhlIHJlc3VsdGluZyBDb21wYWN0SFRNTFRva2VuIHZlY3RvciBzaG91bGQgYmUgYSBz
bWFsbGVyIG1hbGxvYyBhbmQgdGh1cyBmYXN0ZXIuCisgICAgICAgIEhvd2V2ZXIgSSBzYXcgbm8g
cGVyZiBjaGFuZ2Ugb24gaHRtbC1wYXJzZXItc3JjZG9jLmh0bWwuCisKKyAgICAgICAgKiBodG1s
L3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmNwcDoKKyAgICAgICAgKFNhbWVTaXplQXNDb21wYWN0
SFRNTFRva2VuKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGFj
dEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDb21wYWN0
SFRNTFRva2VuOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQpOgorICAgICAgICAqIGh0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBhY3RIVE1M
VG9rZW46OnR5cGUpOgorICAgICAgICAoQ29tcGFjdEhUTUxUb2tlbik6CisgICAgICAgIChXZWJD
b3JlOjpDb21wYWN0SFRNTFRva2VuOjpwdWJsaWNJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBhY3RIVE1MVG9rZW46OnN5c3RlbUlkZW50aWZpZXIpOgorCiAyMDEzLTAxLTIyICBT
ZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTb3Vw
XSBSYW5kb20gdGhyZWFkIGNyYXNoZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
Q29tcGFjdEhUTUxUb2tlbi5jcHAKaW5kZXggMDkzMjhlZTg2MGRmNDMzMzU1ZGJiMzI2NWYzZTdl
MTI2MGE2ZDM1YS4uNWVmMmI3MzViMWFiYWQ4NjJhOGU4Zjk5ZDM4ZmFlNzI5MjEyYzQ0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5jcHAKQEAg
LTMzLDYgKzMzLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RydWN0IFNhbWVTaXpl
QXNDb21wYWN0SFRNTFRva2VuICB7CisgICAgdW5zaWduZWQgYml0ZmllbGRzOworICAgIFN0cmlu
ZyBuYW1lOworICAgIFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiB2ZWN0b3I7Cit9OworCitDT01Q
SUxFX0FTU0VSVChzaXplb2YoQ29tcGFjdEhUTUxUb2tlbikgPT0gc2l6ZW9mKFNhbWVTaXplQXND
b21wYWN0SFRNTFRva2VuKSwgQ29tcGFjdEhUTUxUb2tlbl9zaG91bGRfc3RheV9zbWFsbCk7CisK
IENvbXBhY3RIVE1MVG9rZW46OkNvbXBhY3RIVE1MVG9rZW4oY29uc3QgSFRNTFRva2VuJiB0b2tl
bikKICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCiB7CkBAIC00MCwxMSArNDgsMTUgQEAgQ29t
cGFjdEhUTUxUb2tlbjo6Q29tcGFjdEhUTUxUb2tlbihjb25zdCBIVE1MVG9rZW4mIHRva2VuKQog
ICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OlVuaW5pdGlhbGl6ZWQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUTUxUb2tlblR5cGVzOjpE
T0NUWVBFOgorICAgIGNhc2UgSFRNTFRva2VuVHlwZXM6OkRPQ1RZUEU6IHsKICAgICAgICAgbV9k
YXRhID0gU3RyaW5nKHRva2VuLm5hbWUoKS5kYXRhKCksIHRva2VuLm5hbWUoKS5zaXplKCkpOwot
ICAgICAgICBtX3B1YmxpY0lkZW50aWZpZXIgPSBTdHJpbmcodG9rZW4ucHVibGljSWRlbnRpZmll
cigpLmRhdGEoKSwgdG9rZW4ucHVibGljSWRlbnRpZmllcigpLnNpemUoKSk7Ci0gICAgICAgIG1f
c3lzdGVtSWRlbnRpZmllciA9IFN0cmluZyh0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuZGF0YSgp
LCB0b2tlbi5zeXN0ZW1JZGVudGlmaWVyKCkuc2l6ZSgpKTsKKyAgICAgICAgLy8gVGhlcmUgaXMg
b25seSAxIERPQ1RZUEUgdG9rZW4gcGVyIGRvY3VtZW50LCBzbyB0byBhdm9pZCBpbmNyZWFzaW5n
IHRoZQorICAgICAgICAvLyBzaXplIG9mIENvbXBhY3RIVE1MVG9rZW4sIHdlIGp1c3QgdXNlIHRo
ZSBtX2F0dHJpYnV0ZXMgdmVjdG9yLgorICAgICAgICBTdHJpbmcgcHVibGljSWRlbnRpZmllcih0
b2tlbi5wdWJsaWNJZGVudGlmaWVyKCkuZGF0YSgpLCB0b2tlbi5wdWJsaWNJZGVudGlmaWVyKCku
c2l6ZSgpKTsKKyAgICAgICAgU3RyaW5nIHN5c3RlbUlkZW50aWZpZXIodG9rZW4uc3lzdGVtSWRl
bnRpZmllcigpLmRhdGEoKSwgdG9rZW4uc3lzdGVtSWRlbnRpZmllcigpLnNpemUoKSk7CisgICAg
ICAgIG1fYXR0cmlidXRlcy5hcHBlbmQoQ29tcGFjdEF0dHJpYnV0ZShwdWJsaWNJZGVudGlmaWVy
LCBzeXN0ZW1JZGVudGlmaWVyKSk7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIEhU
TUxUb2tlblR5cGVzOjpFbmRPZkZpbGU6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFRNTFRv
a2VuVHlwZXM6OlN0YXJ0VGFnOgpAQCAtODgsMTAgKzEwMCw3IEBAIGJvb2wgQ29tcGFjdEhUTUxU
b2tlbjo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKICAgICAgICAgaWYgKCFp
c1N0cmluZ1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoaXQtPnZhbHVlKCkpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLQotICAgIHJldHVybiBpc1N0cmluZ1NhZmVUb1NlbmRU
b0Fub3RoZXJUaHJlYWQobV9kYXRhKQotICAgICAgICAmJiBpc1N0cmluZ1NhZmVUb1NlbmRUb0Fu
b3RoZXJUaHJlYWQobV9wdWJsaWNJZGVudGlmaWVyKQotICAgICAgICAmJiBpc1N0cmluZ1NhZmVU
b1NlbmRUb0Fub3RoZXJUaHJlYWQobV9zeXN0ZW1JZGVudGlmaWVyKTsKKyAgICByZXR1cm4gaXNT
dHJpbmdTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKG1fZGF0YSk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaAppbmRleCA0MTA0MTVjZTk4
M2ZkMjI4NWFmMDAzNzIxMzNjZjk1NmU4ZGM3Zjg0Li5hMTUxZWIyMmQ0NWQwNzdhN2U3YjA5OGVi
OWZmMzlmMmM3MDQ1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9D
b21wYWN0SFRNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFj
dEhUTUxUb2tlbi5oCkBAIC02MCwyMyArNjAsMjIgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1Nh
ZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdDsKIAotICAgIEhUTUxUb2tlblR5cGVzOjpU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBIVE1MVG9rZW5UeXBlczo6
VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFRva2VuVHlwZXM6OlR5
cGU+KG1fdHlwZSk7IH0KICAgICBjb25zdCBTdHJpbmcmIGRhdGEoKSBjb25zdCB7IHJldHVybiBt
X2RhdGE7IH0KICAgICBib29sIHNlbGZDbG9zaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zZWxmQ2xv
c2luZzsgfQogICAgIGNvbnN0IFZlY3RvcjxDb21wYWN0QXR0cmlidXRlPiYgYXR0cmlidXRlcygp
IGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlczsgfQogCi0gICAgY29uc3QgU3RyaW5nJiBwdWJs
aWNJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9wdWJsaWNJZGVudGlmaWVyOyB9Ci0gICAg
Y29uc3QgU3RyaW5nJiBzeXN0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1J
ZGVudGlmaWVyOyB9CisgICAgLy8gVGhlcmUgaXMgb25seSAxIERPQ1RZUEUgdG9rZW4gcGVyIGRv
Y3VtZW50LCBzbyB0byBhdm9pZCBpbmNyZWFzaW5nIHRoZQorICAgIC8vIHNpemUgb2YgQ29tcGFj
dEhUTUxUb2tlbiwgd2UganVzdCB1c2UgdGhlIG1fYXR0cmlidXRlcyB2ZWN0b3IuCisgICAgY29u
c3QgU3RyaW5nJiBwdWJsaWNJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVz
WzBdLm5hbWUoKTsgfQorICAgIGNvbnN0IFN0cmluZyYgc3lzdGVtSWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIG1fYXR0cmlidXRlc1swXS52YWx1ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgSFRN
TFRva2VuVHlwZXM6OlR5cGUgbV90eXBlOworICAgIHVuc2lnbmVkIG1fdHlwZSA6IDQ7CisgICAg
Ym9vbCBtX3NlbGZDbG9zaW5nIDogMTsKKwogICAgIFN0cmluZyBtX2RhdGE7IC8vICJuYW1lIiwg
ImNoYXJhY3RlcnMiLCBvciAiZGF0YSIgZGVwZW5kaW5nIG9uIG1fdHlwZQotICAgIGJvb2wgbV9z
ZWxmQ2xvc2luZzsKICAgICBWZWN0b3I8Q29tcGFjdEF0dHJpYnV0ZT4gbV9hdHRyaWJ1dGVzOwot
Ci0gICAgLy8gRm9yIGRvY3R5cGUgb25seS4KLSAgICBTdHJpbmcgbV9wdWJsaWNJZGVudGlmaWVy
OwotICAgIFN0cmluZyBtX3N5c3RlbUlkZW50aWZpZXI7CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184046</attachid>
            <date>2013-01-22 14:16:08 -0800</date>
            <delta_ts>2013-01-22 14:47:57 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-107317-20130122221303.patch</filename>
            <type>text/plain</type>
            <size>1376</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3YmQ1YjExNDAyNWE1
MGIzYjc1MjVjN2Y0M2JmZTFiOTRkZDFkYy4uNmVhYzM1MDFlMjY5OGJiODNlMGJjYWQyY2M1NmQw
ZDE2MWNkOTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTIyICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIENvbXBhY3RIVE1MVG9r
ZW4gYSBsaXR0bGUgbW9yZSBjb21wYWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDczMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgd2luZG93cyBidWlsZGVycyBnb3Qgc2FkIGJlY2F1c2UgTVNW
QyB3b24ndCBjb21iaW5lCisgICAgICAgIGFkamFjZW50IGJpdC1maWVsZHMgd2l0aCBkaWZmZXJl
bnQgdHlwZXMuICBDaGFuZ2luZworICAgICAgICBib29sIHRvIHVuc2lnbmVkIHNob3VsZCBmaXgg
dGhlIHByb2JsZW0uCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmg6
CisgICAgICAgIChDb21wYWN0SFRNTFRva2VuKToKKwogMjAxMy0wMS0yMiAgWmFuIERvYmVyc2Vr
ICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdIERpc2FibGUgQ1NTIFJl
Z2lvbnMgaW4gcmVsZWFzZSBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NvbXBhY3RIVE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0Nv
bXBhY3RIVE1MVG9rZW4uaAppbmRleCBhMTUxZWIyMmQ0NWQwNzdhN2U3YjA5OGViOWZmMzlmMmM3
MDQ1OTQ0Li40NmVhY2MzMjBkZWNmZjYyNjVmMzg3NjkwNGVjMGI2ZGNhYzU0YmNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Db21wYWN0SFRNTFRva2VuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ29tcGFjdEhUTUxUb2tlbi5oCkBAIC03Miw3ICs3
Miw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3R5cGUgOiA0OwotICAg
IGJvb2wgbV9zZWxmQ2xvc2luZyA6IDE7CisgICAgdW5zaWduZWQgbV9zZWxmQ2xvc2luZyA6IDE7
CiAKICAgICBTdHJpbmcgbV9kYXRhOyAvLyAibmFtZSIsICJjaGFyYWN0ZXJzIiwgb3IgImRhdGEi
IGRlcGVuZGluZyBvbiBtX3R5cGUKICAgICBWZWN0b3I8Q29tcGFjdEF0dHJpYnV0ZT4gbV9hdHRy
aWJ1dGVzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>