<?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>49581</bug_id>
          
          <creation_ts>2010-11-15 23:45:20 -0800</creation_ts>
          <short_desc>Cleanup UTF8.cpp</short_desc>
          <delta_ts>2010-11-30 16:40:40 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>45488</dependson>
    
    <dependson>49618</dependson>
          <blocked>45594</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>309608</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-15 23:45:20 -0800</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309611</commentid>
    <comment_count>1</comment_count>
      <attachid>73969</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-15 23:54:52 -0800</bug_when>
    <thetext>Created attachment 73969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309613</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-15 23:58:18 -0800</bug_when>
    <thetext>Attachment 73969 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;JavaScriptCore/ChangeLog&apos;, u&apos;JavaScriptCore/wtf/unicode/UTF8.cpp&apos;, u&apos;JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/unicode/UTF8.cpp:242:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:242:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:243:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:244:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:245:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:246:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h:41:  Missing spaces around &lt;=  [whitespace/operators] [3]
Total errors found: 7 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309803</commentid>
    <comment_count>3</comment_count>
      <attachid>73969</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-16 10:33:05 -0800</bug_when>
    <thetext>Comment on attachment 73969
Patch

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

Thanks for making these changes. I think these are an improvement!

&gt; JavaScriptCore/wtf/unicode/UTF8.cpp:290
&gt; +                *target++ = static_cast&lt;UChar&gt;(character); // normal case

Is this typecast really needed? Why? Doesn’t narrowing happen automatically without explicit typecasting.

&gt; JavaScriptCore/wtf/unicode/UTF8.cpp:300
&gt; +            character -= 0x0010000UL;
&gt; +            *target++ = U16_LEAD(character);
&gt; +            *target++ = U16_TRAIL(character);

This is wrong. The U16_LEAD macro works on an actual character, not a character that has had subtraction done. So this change will break things! We need to make sure we have testing coverage.

&gt; JavaScriptCore/wtf/unicode/UTF8.cpp:307
&gt; +                *target++ = 0xFFFD;

We should consider moving CharacterNames.h from WebCore into WTF. Then we could use the name replacementCharacter here instead of the constant 0xFFFD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309916</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-16 13:43:06 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Thanks for making these changes. I think these are an improvement!
I hope so ;-)

&gt; &gt; JavaScriptCore/wtf/unicode/UTF8.cpp:300
&gt; &gt; +            character -= 0x0010000UL;
&gt; &gt; +            *target++ = U16_LEAD(character);
&gt; &gt; +            *target++ = U16_TRAIL(character);
&gt; 
&gt; This is wrong. The U16_LEAD macro works on an actual character, not a character that has had subtraction done. So this change will break things! We need to make sure we have testing coverage.
Uups, missed removal of this line. I had some failures in the LayoutTests, but they seam to be unrelated to UTF8 changes. :-/
I&apos;m not 100% familar with all LayouTests. Can you point me to a good example to test this? There are some xml test with invalid unicode sequenzes, but I&apos;m not sure if that&apos;s the best way to to this too.

&gt; &gt; JavaScriptCore/wtf/unicode/UTF8.cpp:307
&gt; &gt; +                *target++ = 0xFFFD;
&gt; 
&gt; We should consider moving CharacterNames.h from WebCore into WTF. Then we could use the name replacementCharacter here instead of the constant 0xFFFD.
Created bug 49618 to move CharacterNames.h into WTF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310073</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-16 18:08:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;m not 100% familar with all LayoutTests.

Nobody is. There are too many for any one person to know them all.

&gt; Can you point me to a good example to test this?

I’m not sure there is already one. First you’d have to look at where this function is used, and then figure out a way to make a test that will pass in a UTF-8 sequence for a character that is non-BMP to that code path. I’d be happy to help, but I can’t do it right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310504</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-17 13:57:33 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; First you’d have to look at where this function is used

As you know from your AtomicString work, one place this is used is in the XML parser. Knowing that, I think we can easily produce a test using DOMParser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310507</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-17 14:00:25 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; As you know from your AtomicString work, one place this is used is in the XML parser. Knowing that, I think we can easily produce a test using DOMParser.

That won’t be completely great because in the case of DOMParser, the input is UTF-16, which is then converted to UTF-8, and then back to UTF-16. But it can test if the round trip works, and would have caught the 0x10000 bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310510</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-17 14:01:18 -0800</bug_when>
    <thetext>Just adding more characters to fast/encoding/xml-utf-8-default.xml might work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310520</commentid>
    <comment_count>9</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-17 14:11:10 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Just adding more characters to fast/encoding/xml-utf-8-default.xml might work.
Ok, thx! I&apos;ll look for some characters in the different unicode ranges add them and post a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311418</commentid>
    <comment_count>10</comment_count>
      <attachid>74381</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-19 06:38:00 -0800</bug_when>
    <thetext>Created attachment 74381
test case for unicode plane 1 characters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311534</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-19 09:57:09 -0800</bug_when>
    <thetext>You should check that this test case will catch that bug in convertUTF8ToUTF16, by leaving the bug in and running the test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311537</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-19 10:03:39 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; You should check that this test case will catch that bug in convertUTF8ToUTF16, by leaving the bug in and running the test case.
Argh, missed to add the comment :-/.
I already tried it with the new test case, but it didn&apos;t catch an error. Then I inserted a CRASH in the convertUTF8ToUTF16 function, but it didn&apos;t crashed.
I didn&apos;t had the time to look deeper into this issue, but this additonal testcase won&apos;t hurt anyway.
Maybe you can review bug 49618 (CharacterNames.h) in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311875</commentid>
    <comment_count>13</comment_count>
      <attachid>74381</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-19 22:31:40 -0800</bug_when>
    <thetext>Comment on attachment 74381
test case for unicode plane 1 characters

Rejecting patch 74381 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, 74381]&quot; exit_code: 1
Last 500 characters of output:
 in _process_patch
    self._main_sequence.run_and_handle_errors(tool, options, state)
  File &quot;/Projects/CommitQueue/WebKitTools/Scripts/webkitpy/tool/commands/stepsequence.py&quot;, line 79, in run_and_handle_errors
    log(e.message_with_output())
  File &quot;/Projects/CommitQueue/WebKitTools/Scripts/webkitpy/common/system/deprecated_logging.py&quot;, line 39, in log
    print &gt;&gt; sys.stderr, string
UnicodeEncodeError: &apos;ascii&apos; codec can&apos;t encode character u&apos;\ufeff&apos; in position 292: ordinal not in range(128)

Full output: http://queues.webkit.org/results/6155071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311901</commentid>
    <comment_count>14</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-20 01:26:14 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; You should check that this test case will catch that bug in convertUTF8ToUTF16, by leaving the bug in and running the test case.
&gt; I already tried it with the new test case, but it didn&apos;t catch an error.
Now I found the problem: I missed one toString in bug 45488. With the patch from that bug the test fails as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311909</commentid>
    <comment_count>15</comment_count>
      <attachid>74476</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-20 03:06:04 -0800</bug_when>
    <thetext>Created attachment 74476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311910</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-20 03:08:35 -0800</bug_when>
    <thetext>Attachment 74476 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;JavaScriptCore/ChangeLog&apos;, u&apos;JavaScriptCore/wtf/unicode/UTF8.cpp&apos;, u&apos;JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/unicode/UTF8.cpp:245:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:245:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:246:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:247:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:248:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UTF8.cpp:249:  More than one command on the same line  [whitespace/newline] [4]
JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h:41:  Missing spaces around &lt;=  [whitespace/operators] [3]
Total errors found: 7 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312071</commentid>
    <comment_count>17</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-21 05:11:39 -0800</bug_when>
    <thetext>Committed r72497: &lt;http://trac.webkit.org/changeset/72497&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312073</commentid>
    <comment_count>18</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-21 05:14:35 -0800</bug_when>
    <thetext>webkit-patch land closed bug, so reopen it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314899</commentid>
    <comment_count>19</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-11-30 01:52:45 -0800</bug_when>
    <thetext>@darin: ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315145</commentid>
    <comment_count>20</comment_count>
      <attachid>74476</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-30 10:37:39 -0800</bug_when>
    <thetext>Comment on attachment 74476
Patch

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

&gt; JavaScriptCore/wtf/unicode/UTF8.cpp:35
&gt; +const UChar replacementCharacter = 0xFFFD;

Since this is inside a .cpp file we should use static to give it internal linkage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315213</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-30 11:54:57 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 74476:

compositing/iframes/overlapped-nested-iframes.html
inspector/styles-disable-then-delete.html

Please file bugs against the tests.  These tests were authored by pfeldman@chromium.org and simon.fraser@apple.com.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315246</commentid>
    <comment_count>22</comment_count>
      <attachid>74476</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-30 12:38:16 -0800</bug_when>
    <thetext>Comment on attachment 74476
Patch

Rejecting patch 74476 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=both&apos;]&quot; exit_code: 2
Last 500 characters of output:
s/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/JSWebKitAnimationEvent.o /Projects/CommitQueue/WebKitBuild/Debug/DerivedSources/WebCore/JSWebKitAnimationEvent.cpp normal x86_64 c++ com.apple.compilers.gcc.4_2
	CompileC /Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/JSWebGLShader.o /Projects/CommitQueue/WebKitBuild/Debug/DerivedSources/WebCore/JSWebGLShader.cpp normal x86_64 c++ com.apple.compilers.gcc.4_2
(5 failures)


Full output: http://queues.webkit.org/results/6343115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315259</commentid>
    <comment_count>23</comment_count>
      <attachid>74476</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-30 13:09:06 -0800</bug_when>
    <thetext>Comment on attachment 74476
Patch

Try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315262</commentid>
    <comment_count>24</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-30 13:14:56 -0800</bug_when>
    <thetext>One of those flakes was bug 50255.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315373</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-30 16:13:56 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 74476:

animations/play-state-suspend.html
http/tests/websocket/tests/multiple-connections.html

Please file bugs against the tests.  These tests were authored by abarth@webkit.org and cmarrin@apple.com.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315395</commentid>
    <comment_count>26</comment_count>
      <attachid>74476</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-30 16:40:33 -0800</bug_when>
    <thetext>Comment on attachment 74476
Patch

Clearing flags on attachment: 74476

Committed r72979: &lt;http://trac.webkit.org/changeset/72979&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315396</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-30 16:40:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73969</attachid>
            <date>2010-11-15 23:54:52 -0800</date>
            <delta_ts>2010-11-20 03:06:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45981.patch</filename>
            <type>text/plain</type>
            <size>7381</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAxMjBhMmZkLi40ZGMxYzM3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTAtMTEtMTUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2xlYW51cCBV
VEY4LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDk1ODEKKworICAgICAgICBVc2UgbWFjcm9zIGFuZCBmdW5jdGlvbnMgaW5zdGVhZCBvZiByYW5n
ZSB2YWx1ZXMgZGlyZWN0bHkuCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNwcDoKKyAg
ICAgICAgKFdURjo6VW5pY29kZTo6aW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoKToKKyAgICAgICAg
KFdURjo6VW5pY29kZTo6VVRGOFNlcXVlbmNlTGVuZ3RoKToKKyAgICAgICAgKFdURjo6VW5pY29k
ZTo6cmVhZFVURjhTZXF1ZW5jZSk6CisgICAgICAgIChXVEY6OlVuaWNvZGU6OmNvbnZlcnRVVEY4
VG9VVEYxNik6CisgICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaDog
QWRkZWQgVV9JU19TVVBQTEVNRU5UQVJZIG1hY3JvLgorCiAyMDEwLTExLTEyICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBS
b2Jlbi4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguY3BwIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAKaW5kZXggNDBjNTYwOS4uMmNhMDNm
YiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJVVEY4LmgiCiAKKyNpbmNsdWRlICJBU0NJSUNU
eXBlLmgiCisKIG5hbWVzcGFjZSBXVEYgewogbmFtZXNwYWNlIFVuaWNvZGUgewogCkBAIC00NCwx
MiArNDYsMTIgQEAgaW5saW5lIGludCBpbmxpbmVVVEY4U2VxdWVuY2VMZW5ndGhOb25BU0NJSShj
aGFyIGIwKQogCiBpbmxpbmUgaW50IGlubGluZVVURjhTZXF1ZW5jZUxlbmd0aChjaGFyIGIwKQog
ewotICAgIHJldHVybiAoYjAgJiAweDgwKSA9PSAwID8gMSA6IGlubGluZVVURjhTZXF1ZW5jZUxl
bmd0aE5vbkFTQ0lJKGIwKTsKKyAgICByZXR1cm4gaXNBU0NJSShiMCkgPyAxIDogaW5saW5lVVRG
OFNlcXVlbmNlTGVuZ3RoTm9uQVNDSUkoYjApOwogfQogCiBpbnQgVVRGOFNlcXVlbmNlTGVuZ3Ro
KGNoYXIgYjApCiB7Ci0gICAgcmV0dXJuIChiMCAmIDB4ODApID09IDAgPyAxIDogaW5saW5lVVRG
OFNlcXVlbmNlTGVuZ3RoTm9uQVNDSUkoYjApOworICAgIHJldHVybiBpc0FTQ0lJKGIwKSA/IDEg
OiBpbmxpbmVVVEY4U2VxdWVuY2VMZW5ndGhOb25BU0NJSShiMCk7CiB9CiAKIGludCBkZWNvZGVV
VEY4U2VxdWVuY2UoY29uc3QgY2hhciogc2VxdWVuY2UpCkBAIC0yMzEsNiArMjMzLDIzIEBAIHN0
YXRpYyBib29sIGlzTGVnYWxVVEY4KGNvbnN0IHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwgaW50IGxl
bmd0aCkKIHN0YXRpYyBjb25zdCBVQ2hhcjMyIG9mZnNldHNGcm9tVVRGOFs2XSA9IHsgMHgwMDAw
MDAwMFVMLCAweDAwMDAzMDgwVUwsIDB4MDAwRTIwODBVTCwgCiAgICAgICAgICAgICAweDAzQzgy
MDgwVUwsIDB4RkEwODIwODBVTCwgMHg4MjA4MjA4MFVMIH07CiAKK3N0YXRpYyBpbmxpbmUgVUNo
YXIzMiByZWFkVVRGOFNlcXVlbmNlKGNvbnN0IGNoYXIqJiBzZXF1ZW5jZSwgdW5zaWduZWQgbGVu
Z3RoKQoreworICAgIFVDaGFyMzIgY2hhcmFjdGVyID0gMDsKKworICAgIC8vIFRoZSBjYXNlcyBh
bGwgZmFsbCB0aHJvdWdoLgorICAgIHN3aXRjaCAobGVuZ3RoKSB7CisgICAgICAgIGNhc2UgNjog
Y2hhcmFjdGVyICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KCpzZXF1ZW5jZSsrKTsgY2hh
cmFjdGVyIDw8PSA2OworICAgICAgICBjYXNlIDU6IGNoYXJhY3RlciArPSBzdGF0aWNfY2FzdDx1
bnNpZ25lZCBjaGFyPigqc2VxdWVuY2UrKyk7IGNoYXJhY3RlciA8PD0gNjsKKyAgICAgICAgY2Fz
ZSA0OiBjaGFyYWN0ZXIgKz0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNlcXVlbmNlKysp
OyBjaGFyYWN0ZXIgPDw9IDY7CisgICAgICAgIGNhc2UgMzogY2hhcmFjdGVyICs9IHN0YXRpY19j
YXN0PHVuc2lnbmVkIGNoYXI+KCpzZXF1ZW5jZSsrKTsgY2hhcmFjdGVyIDw8PSA2OworICAgICAg
ICBjYXNlIDI6IGNoYXJhY3RlciArPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPigqc2VxdWVu
Y2UrKyk7IGNoYXJhY3RlciA8PD0gNjsKKyAgICAgICAgY2FzZSAxOiBjaGFyYWN0ZXIgKz0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNlcXVlbmNlKyspOworICAgIH0KKworICAgIHJldHVy
biBjaGFyYWN0ZXIgLSBvZmZzZXRzRnJvbVVURjhbbGVuZ3RoIC0gMV07Cit9CisKIENvbnZlcnNp
b25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgIGNvbnN0IGNoYXIqKiBzb3VyY2VTdGFy
dCwgY29uc3QgY2hhciogc291cmNlRW5kLCAKICAgICBVQ2hhcioqIHRhcmdldFN0YXJ0LCBVQ2hh
ciogdGFyZ2V0RW5kLCBib29sIHN0cmljdCkKQEAgLTIzOSw2MCArMjU4LDUzIEBAIENvbnZlcnNp
b25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgIGNvbnN0IGNoYXIqIHNvdXJjZSA9ICpz
b3VyY2VTdGFydDsKICAgICBVQ2hhciogdGFyZ2V0ID0gKnRhcmdldFN0YXJ0OwogICAgIHdoaWxl
IChzb3VyY2UgPCBzb3VyY2VFbmQpIHsKLSAgICAgICAgVUNoYXIzMiBjaCA9IDA7Ci0gICAgICAg
IGludCBleHRyYUJ5dGVzVG9SZWFkID0gaW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoKCpzb3VyY2Up
IC0gMTsKLSAgICAgICAgaWYgKHNvdXJjZSArIGV4dHJhQnl0ZXNUb1JlYWQgPj0gc291cmNlRW5k
KSB7CisgICAgICAgIGludCB1dGY4U2VxdWVuY2VMZW5ndGggPSBpbmxpbmVVVEY4U2VxdWVuY2VM
ZW5ndGgoKnNvdXJjZSk7CisgICAgICAgIGlmIChzb3VyY2VFbmQgLSBzb3VyY2UgPCB1dGY4U2Vx
dWVuY2VMZW5ndGgpICB7CiAgICAgICAgICAgICByZXN1bHQgPSBzb3VyY2VFeGhhdXN0ZWQ7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAvLyBEbyB0aGlzIGNoZWNrIHdo
ZXRoZXIgbGVuaWVudCBvciBzdHJpY3QKLSAgICAgICAgaWYgKCFpc0xlZ2FsVVRGOChyZWludGVy
cHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihzb3VyY2UpLCBleHRyYUJ5dGVzVG9SZWFk
ICsgMSkpIHsKKyAgICAgICAgaWYgKCFpc0xlZ2FsVVRGOChyZWludGVycHJldF9jYXN0PGNvbnN0
IHVuc2lnbmVkIGNoYXIqPihzb3VyY2UpLCB1dGY4U2VxdWVuY2VMZW5ndGgpKSB7CiAgICAgICAg
ICAgICByZXN1bHQgPSBzb3VyY2VJbGxlZ2FsOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KLSAgICAgICAgLy8gVGhlIGNhc2VzIGFsbCBmYWxsIHRocm91Z2guCi0gICAgICAgIHN3aXRj
aCAoZXh0cmFCeXRlc1RvUmVhZCkgewotICAgICAgICAgICAgY2FzZSA1OiBjaCArPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPigqc291cmNlKyspOyBjaCA8PD0gNjsgLy8gcmVtZW1iZXIsIGls
bGVnYWwgVVRGLTgKLSAgICAgICAgICAgIGNhc2UgNDogY2ggKz0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcj4oKnNvdXJjZSsrKTsgY2ggPDw9IDY7IC8vIHJlbWVtYmVyLCBpbGxlZ2FsIFVURi04
Ci0gICAgICAgICAgICBjYXNlIDM6IGNoICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KCpz
b3VyY2UrKyk7IGNoIDw8PSA2OwotICAgICAgICAgICAgY2FzZSAyOiBjaCArPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZCBjaGFyPigqc291cmNlKyspOyBjaCA8PD0gNjsKLSAgICAgICAgICAgIGNhc2Ug
MTogY2ggKz0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNvdXJjZSsrKTsgY2ggPDw9IDY7
Ci0gICAgICAgICAgICBjYXNlIDA6IGNoICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KCpz
b3VyY2UrKyk7Ci0gICAgICAgIH0KLSAgICAgICAgY2ggLT0gb2Zmc2V0c0Zyb21VVEY4W2V4dHJh
Qnl0ZXNUb1JlYWRdOworCisgICAgICAgIFVDaGFyMzIgY2hhcmFjdGVyID0gcmVhZFVURjhTZXF1
ZW5jZShzb3VyY2UsIHV0ZjhTZXF1ZW5jZUxlbmd0aCk7CiAKICAgICAgICAgaWYgKHRhcmdldCA+
PSB0YXJnZXRFbmQpIHsKLSAgICAgICAgICAgIHNvdXJjZSAtPSAoZXh0cmFCeXRlc1RvUmVhZCAr
IDEpOyAvLyBCYWNrIHVwIHNvdXJjZSBwb2ludGVyIQotICAgICAgICAgICAgcmVzdWx0ID0gdGFy
Z2V0RXhoYXVzdGVkOyBicmVhazsKKyAgICAgICAgICAgIHNvdXJjZSAtPSB1dGY4U2VxdWVuY2VM
ZW5ndGg7IC8vIEJhY2sgdXAgc291cmNlIHBvaW50ZXIhCisgICAgICAgICAgICByZXN1bHQgPSB0
YXJnZXRFeGhhdXN0ZWQ7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBp
ZiAoY2ggPD0gMHhGRkZGKSB7CisKKyAgICAgICAgaWYgKFVfSVNfQk1QKGNoYXJhY3RlcikpIHsK
ICAgICAgICAgICAgIC8vIFVURi0xNiBzdXJyb2dhdGUgdmFsdWVzIGFyZSBpbGxlZ2FsIGluIFVU
Ri0zMgotICAgICAgICAgICAgaWYgKGNoID49IDB4RDgwMCAmJiBjaCA8PSAweERGRkYpIHsKKyAg
ICAgICAgICAgIGlmIChVX0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHN0cmljdCkgewotICAgICAgICAgICAgICAgICAgICBzb3VyY2UgLT0gKGV4dHJhQnl0
ZXNUb1JlYWQgKyAxKTsgLy8gcmV0dXJuIHRvIHRoZSBpbGxlZ2FsIHZhbHVlIGl0c2VsZgorICAg
ICAgICAgICAgICAgICAgICBzb3VyY2UgLT0gdXRmOFNlcXVlbmNlTGVuZ3RoOyAvLyByZXR1cm4g
dG8gdGhlIGlsbGVnYWwgdmFsdWUgaXRzZWxmCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9
IHNvdXJjZUlsbGVnYWw7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAqdGFyZ2V0KysgPSAweEZGRkQ7CiAgICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAqdGFyZ2V0KysgPSAoVUNoYXIpY2g7IC8v
IG5vcm1hbCBjYXNlCi0gICAgICAgIH0gZWxzZSBpZiAoY2ggPiAweDEwRkZGRikgewotICAgICAg
ICAgICAgaWYgKHN0cmljdCkgewotICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNvdXJjZUlsbGVn
YWw7Ci0gICAgICAgICAgICAgICAgc291cmNlIC09IChleHRyYUJ5dGVzVG9SZWFkICsgMSk7IC8v
IHJldHVybiB0byB0aGUgc3RhcnQKLSAgICAgICAgICAgICAgICBicmVhazsgLy8gQmFpbCBvdXQ7
IHNob3VsZG4ndCBjb250aW51ZQotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
KnRhcmdldCsrID0gMHhGRkZEOwotICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICp0
YXJnZXQrKyA9IHN0YXRpY19jYXN0PFVDaGFyPihjaGFyYWN0ZXIpOyAvLyBub3JtYWwgY2FzZQor
ICAgICAgICB9IGVsc2UgaWYgKFVfSVNfU1VQUExFTUVOVEFSWShjaGFyYWN0ZXIpKSB7CiAgICAg
ICAgICAgICAvLyB0YXJnZXQgaXMgYSBjaGFyYWN0ZXIgaW4gcmFuZ2UgMHhGRkZGIC0gMHgxMEZG
RkYKICAgICAgICAgICAgIGlmICh0YXJnZXQgKyAxID49IHRhcmdldEVuZCkgewotICAgICAgICAg
ICAgICAgIHNvdXJjZSAtPSAoZXh0cmFCeXRlc1RvUmVhZCArIDEpOyAvLyBCYWNrIHVwIHNvdXJj
ZSBwb2ludGVyIQorICAgICAgICAgICAgICAgIHNvdXJjZSAtPSB1dGY4U2VxdWVuY2VMZW5ndGg7
IC8vIEJhY2sgdXAgc291cmNlIHBvaW50ZXIhCiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdGFy
Z2V0RXhoYXVzdGVkOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgY2ggLT0gMHgwMDEwMDAwVUw7Ci0gICAgICAgICAgICAqdGFyZ2V0KysgPSAoVUNo
YXIpKChjaCA+PiAxMCkgKyAweEQ4MDApOwotICAgICAgICAgICAgKnRhcmdldCsrID0gKFVDaGFy
KSgoY2ggJiAweDAzRkYpICsgMHhEQzAwKTsKKyAgICAgICAgICAgIGNoYXJhY3RlciAtPSAweDAw
MTAwMDBVTDsKKyAgICAgICAgICAgICp0YXJnZXQrKyA9IFUxNl9MRUFEKGNoYXJhY3Rlcik7Cisg
ICAgICAgICAgICAqdGFyZ2V0KysgPSBVMTZfVFJBSUwoY2hhcmFjdGVyKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmIChzdHJpY3QpIHsKKyAgICAgICAgICAgICAgICBzb3VyY2Ug
LT0gdXRmOFNlcXVlbmNlTGVuZ3RoOyAvLyByZXR1cm4gdG8gdGhlIHN0YXJ0CisgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gc291cmNlSWxsZWdhbDsKKyAgICAgICAgICAgICAgICBicmVhazsgLy8g
QmFpbCBvdXQ7IHNob3VsZG4ndCBjb250aW51ZQorICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgKnRhcmdldCsrID0gMHhGRkZEOwogICAgICAgICB9CiAgICAgfQogICAgICpzb3Vy
Y2VTdGFydCA9IHNvdXJjZTsKQEAgLTMwMCw1ICszMTIsNSBAQCBDb252ZXJzaW9uUmVzdWx0IGNv
bnZlcnRVVEY4VG9VVEYxNigKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi19Ci19Cit9IC8vIG5h
bWVzcGFjZSBVbmljb2RlCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oCmluZGV4IGY4NjVlZjEuLjFmZGFi
NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NG
cm9tSUNVLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZU1hY3Jvc0Zy
b21JQ1UuaApAQCAtMzgsNiArMzgsNyBAQAogI2RlZmluZSBVMTZfVFJBSUwoc3VwcGxlbWVudGFy
eSkgKFVDaGFyKSgoKHN1cHBsZW1lbnRhcnkpJjB4M2ZmKXwweGRjMDApCiAjZGVmaW5lIFUxNl9M
RU5HVEgoYykgKCh1aW50MzJfdCkoYykgPD0gMHhmZmZmID8gMSA6IDIpCiAKKyNkZWZpbmUgVV9J
U19TVVBQTEVNRU5UQVJZKGMpICgoVUNoYXIzMikoKGMpLTB4MTAwMDApPD0weGZmZmZmKQogI2Rl
ZmluZSBVX0lTX1NVUlJPR0FURShjKSAoKChjKSYweGZmZmZmODAwKT09MHhkODAwKQogI2RlZmlu
ZSBVMTZfSVNfU0lOR0xFKGMpICFVX0lTX1NVUlJPR0FURShjKQogI2RlZmluZSBVMTZfSVNfU1VS
Uk9HQVRFKGMpIFVfSVNfU1VSUk9HQVRFKGMpCg==
</data>
<flag name="review"
          id="64502"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="64503"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74381</attachid>
            <date>2010-11-19 06:38:00 -0800</date>
            <delta_ts>2010-11-21 05:13:00 -0800</delta_ts>
            <desc>test case for unicode plane 1 characters</desc>
            <filename>plane1.patch</filename>
            <type>text/plain</type>
            <size>1983</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">77u/ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBmMmQ1MDgyLi5hMzMwNDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTEtMTkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgZm9yIHVuaWNv
ZGUgcGxhbmUgMSBjaGFyYWN0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00OTU4MQorCisgICAgICAgICogZmFzdC9lbmNvZGluZy94bWwtdXRmLTgt
ZGVmYXVsdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9lbmNvZGluZy94bWwtdXRmLTgt
ZGVmYXVsdC54bWw6CisKIDIwMTAtMTEtMTkgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQsIHN1cHByZXNzaW5nIENocm9taXVtIGxheW91
dCB0ZXN0IGZhaWx1cmVzIGFmdGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29k
aW5nL3htbC11dGYtOC1kZWZhdWx0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZW5j
b2RpbmcveG1sLXV0Zi04LWRlZmF1bHQtZXhwZWN0ZWQudHh0CmluZGV4IDA0YTFjMjYuLmY3MGZk
N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcveG1sLXV0Zi04LWRlZmF1
bHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcveG1sLXV0Zi04
LWRlZmF1bHQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogV2hlbiBkdW1wZWQgaW50byBh
IHRleHQgZmlsZSBieSB0aGUgdGVzdCBjb250cm9sbGVyLCB0aGlzIG5lZWRzIHRvIGJlIHZpZXdl
ZCBhcyBVVEYtODoKIAogVGhpcyBpcyBhbiBlbSBkYXNoLCDigJQsIHRoaXMgaXMgaXMgYSBkZWx0
YSBzeW1ib2wsIOKIhiwgdGhpcyBpcyBhbiB1cHBlcmNhc2UgcGksIOKIjywgYW5kIHRoaXMgaXMg
YSBsb3dlcmNhc2UgcGksIM+ALgorCitDaGFyYWN0ZXJzIGZyb20gdW5pY29kZSBwbGFuZSAxLCBs
aWtlIG1hdGhlbWF0aWNhbCBib2xkIHNjcmlwdCBjYXBpdGFsIGEsIPCdk5AsIGFuZCBtYXRoZW1h
dGljYWwgYm9sZCBmcmFrdHVyIHNtYWxsIHUsIPCdlposIHdvcmsgdG9vLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy94bWwtdXRmLTgtZGVmYXVsdC54bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2VuY29kaW5nL3htbC11dGYtOC1kZWZhdWx0LnhtbAppbmRleCAxZjA3NTA1Li43
MDViYmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3htbC11dGYtOC1k
ZWZhdWx0LnhtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3htbC11dGYtOC1kZWZh
dWx0LnhtbApAQCAtNCw2ICs0LDcgQEAKIDxib2R5PgogPHA+V2hlbiBkdW1wZWQgaW50byBhIHRl
eHQgZmlsZSBieSB0aGUgdGVzdCBjb250cm9sbGVyLCB0aGlzIG5lZWRzIHRvIGJlIHZpZXdlZCBh
cyBVVEYtODo8L3A+CiA8cD5UaGlzIGlzIGFuIGVtIGRhc2gsIOKAlCwgdGhpcyBpcyBpcyBhIGRl
bHRhIHN5bWJvbCwg4oiGLCB0aGlzIGlzIGFuIHVwcGVyY2FzZSBwaSwg4oiPLCBhbmQgdGhpcyBp
cyBhIGxvd2VyY2FzZSBwaSwgz4AuPC9wPgorPHA+Q2hhcmFjdGVycyBmcm9tIHVuaWNvZGUgcGxh
bmUgMSwgbGlrZSBtYXRoZW1hdGljYWwgYm9sZCBzY3JpcHQgY2FwaXRhbCBhLCDwnZOQLCBhbmQg
bWF0aGVtYXRpY2FsIGJvbGQgZnJha3R1ciBzbWFsbCB1LCDwnZaaLCB3b3JrIHRvby48L3A+CiA8
c2NyaXB0PmlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTs8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74476</attachid>
            <date>2010-11-20 03:06:04 -0800</date>
            <delta_ts>2010-11-30 16:40:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>UTF8b.patch</filename>
            <type>text/plain</type>
            <size>7869</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAxMDIyZDM1Li5jMzBjMmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTAtMTEtMjAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2xlYW51cCBV
VEY4LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDk1ODEKKworICAgICAgICBVc2UgbWFjcm9zIGFuZCBmdW5jdGlvbnMgaW5zdGVhZCBvZiByYW5n
ZSB2YWx1ZXMgZGlyZWN0bHkuCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNwcDoKKyAg
ICAgICAgKFdURjo6VW5pY29kZTo6aW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoKToKKyAgICAgICAg
KFdURjo6VW5pY29kZTo6VVRGOFNlcXVlbmNlTGVuZ3RoKToKKyAgICAgICAgKFdURjo6VW5pY29k
ZTo6Y29udmVydFVURjE2VG9VVEY4KToKKyAgICAgICAgKFdURjo6VW5pY29kZTo6cmVhZFVURjhT
ZXF1ZW5jZSk6CisgICAgICAgIChXVEY6OlVuaWNvZGU6OmNvbnZlcnRVVEY4VG9VVEYxNik6Cisg
ICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaDogQWRkZWQgVV9JU19T
VVBQTEVNRU5UQVJZIG1hY3JvLgorCiAyMDEwLTExLTE5ICBXaWxsaWFtIENoYW4gIDx3aWxsY2hh
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmNwcCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL1VURjguY3BwCmluZGV4IDQwYzU2MDkuLmNhNGZjMWMgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL1VURjguY3BwCkBAIC0yNiw5ICsyNiwxNCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlVURjguaCIKIAorI2luY2x1ZGUgIkFTQ0lJQ1R5cGUuaCIKKwog
bmFtZXNwYWNlIFdURiB7CiBuYW1lc3BhY2UgVW5pY29kZSB7CiAKKy8vIEZJWE1FOiBVc2UgZGVm
aW5pdGlvbiBmcm9tIENoYXJhY3Rlck5hbWVzLmguCitjb25zdCBVQ2hhciByZXBsYWNlbWVudENo
YXJhY3RlciA9IDB4RkZGRDsKKwogaW5saW5lIGludCBpbmxpbmVVVEY4U2VxdWVuY2VMZW5ndGhO
b25BU0NJSShjaGFyIGIwKQogewogICAgIGlmICgoYjAgJiAweEMwKSAhPSAweEMwKQpAQCAtNDQs
MTIgKzQ5LDEyIEBAIGlubGluZSBpbnQgaW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoTm9uQVNDSUko
Y2hhciBiMCkKIAogaW5saW5lIGludCBpbmxpbmVVVEY4U2VxdWVuY2VMZW5ndGgoY2hhciBiMCkK
IHsKLSAgICByZXR1cm4gKGIwICYgMHg4MCkgPT0gMCA/IDEgOiBpbmxpbmVVVEY4U2VxdWVuY2VM
ZW5ndGhOb25BU0NJSShiMCk7CisgICAgcmV0dXJuIGlzQVNDSUkoYjApID8gMSA6IGlubGluZVVU
RjhTZXF1ZW5jZUxlbmd0aE5vbkFTQ0lJKGIwKTsKIH0KIAogaW50IFVURjhTZXF1ZW5jZUxlbmd0
aChjaGFyIGIwKQogewotICAgIHJldHVybiAoYjAgJiAweDgwKSA9PSAwID8gMSA6IGlubGluZVVU
RjhTZXF1ZW5jZUxlbmd0aE5vbkFTQ0lJKGIwKTsKKyAgICByZXR1cm4gaXNBU0NJSShiMCkgPyAx
IDogaW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoTm9uQVNDSUkoYjApOwogfQogCiBpbnQgZGVjb2Rl
VVRGOFNlcXVlbmNlKGNvbnN0IGNoYXIqIHNlcXVlbmNlKQpAQCAtMTcyLDcgKzE3Nyw3IEBAIENv
bnZlcnNpb25SZXN1bHQgY29udmVydFVURjE2VG9VVEY4KAogICAgICAgICAgICAgYnl0ZXNUb1dy
aXRlID0gNDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGJ5dGVzVG9Xcml0ZSA9IDM7
Ci0gICAgICAgICAgICBjaCA9IDB4RkZGRDsKKyAgICAgICAgICAgIGNoID0gcmVwbGFjZW1lbnRD
aGFyYWN0ZXI7CiAgICAgICAgIH0KIAogICAgICAgICB0YXJnZXQgKz0gYnl0ZXNUb1dyaXRlOwpA
QCAtMjMxLDYgKzIzNiwyMyBAQCBzdGF0aWMgYm9vbCBpc0xlZ2FsVVRGOChjb25zdCB1bnNpZ25l
ZCBjaGFyKiBzb3VyY2UsIGludCBsZW5ndGgpCiBzdGF0aWMgY29uc3QgVUNoYXIzMiBvZmZzZXRz
RnJvbVVURjhbNl0gPSB7IDB4MDAwMDAwMDBVTCwgMHgwMDAwMzA4MFVMLCAweDAwMEUyMDgwVUws
IAogICAgICAgICAgICAgMHgwM0M4MjA4MFVMLCAweEZBMDgyMDgwVUwsIDB4ODIwODIwODBVTCB9
OwogCitzdGF0aWMgaW5saW5lIFVDaGFyMzIgcmVhZFVURjhTZXF1ZW5jZShjb25zdCBjaGFyKiYg
c2VxdWVuY2UsIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IDA7
CisKKyAgICAvLyBUaGUgY2FzZXMgYWxsIGZhbGwgdGhyb3VnaC4KKyAgICBzd2l0Y2ggKGxlbmd0
aCkgeworICAgICAgICBjYXNlIDY6IGNoYXJhY3RlciArPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBj
aGFyPigqc2VxdWVuY2UrKyk7IGNoYXJhY3RlciA8PD0gNjsKKyAgICAgICAgY2FzZSA1OiBjaGFy
YWN0ZXIgKz0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNlcXVlbmNlKyspOyBjaGFyYWN0
ZXIgPDw9IDY7CisgICAgICAgIGNhc2UgNDogY2hhcmFjdGVyICs9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXI+KCpzZXF1ZW5jZSsrKTsgY2hhcmFjdGVyIDw8PSA2OworICAgICAgICBjYXNlIDM6
IGNoYXJhY3RlciArPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPigqc2VxdWVuY2UrKyk7IGNo
YXJhY3RlciA8PD0gNjsKKyAgICAgICAgY2FzZSAyOiBjaGFyYWN0ZXIgKz0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQgY2hhcj4oKnNlcXVlbmNlKyspOyBjaGFyYWN0ZXIgPDw9IDY7CisgICAgICAgIGNh
c2UgMTogY2hhcmFjdGVyICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KCpzZXF1ZW5jZSsr
KTsKKyAgICB9CisKKyAgICByZXR1cm4gY2hhcmFjdGVyIC0gb2Zmc2V0c0Zyb21VVEY4W2xlbmd0
aCAtIDFdOworfQorCiBDb252ZXJzaW9uUmVzdWx0IGNvbnZlcnRVVEY4VG9VVEYxNigKICAgICBj
b25zdCBjaGFyKiogc291cmNlU3RhcnQsIGNvbnN0IGNoYXIqIHNvdXJjZUVuZCwgCiAgICAgVUNo
YXIqKiB0YXJnZXRTdGFydCwgVUNoYXIqIHRhcmdldEVuZCwgYm9vbCBzdHJpY3QpCkBAIC0yMzks
NjAgKzI2MSw1MiBAQCBDb252ZXJzaW9uUmVzdWx0IGNvbnZlcnRVVEY4VG9VVEYxNigKICAgICBj
b25zdCBjaGFyKiBzb3VyY2UgPSAqc291cmNlU3RhcnQ7CiAgICAgVUNoYXIqIHRhcmdldCA9ICp0
YXJnZXRTdGFydDsKICAgICB3aGlsZSAoc291cmNlIDwgc291cmNlRW5kKSB7Ci0gICAgICAgIFVD
aGFyMzIgY2ggPSAwOwotICAgICAgICBpbnQgZXh0cmFCeXRlc1RvUmVhZCA9IGlubGluZVVURjhT
ZXF1ZW5jZUxlbmd0aCgqc291cmNlKSAtIDE7Ci0gICAgICAgIGlmIChzb3VyY2UgKyBleHRyYUJ5
dGVzVG9SZWFkID49IHNvdXJjZUVuZCkgeworICAgICAgICBpbnQgdXRmOFNlcXVlbmNlTGVuZ3Ro
ID0gaW5saW5lVVRGOFNlcXVlbmNlTGVuZ3RoKCpzb3VyY2UpOworICAgICAgICBpZiAoc291cmNl
RW5kIC0gc291cmNlIDwgdXRmOFNlcXVlbmNlTGVuZ3RoKSAgewogICAgICAgICAgICAgcmVzdWx0
ID0gc291cmNlRXhoYXVzdGVkOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAg
ICAgLy8gRG8gdGhpcyBjaGVjayB3aGV0aGVyIGxlbmllbnQgb3Igc3RyaWN0Ci0gICAgICAgIGlm
ICghaXNMZWdhbFVURjgocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oc291
cmNlKSwgZXh0cmFCeXRlc1RvUmVhZCArIDEpKSB7CisgICAgICAgIGlmICghaXNMZWdhbFVURjgo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oc291cmNlKSwgdXRmOFNlcXVl
bmNlTGVuZ3RoKSkgewogICAgICAgICAgICAgcmVzdWx0ID0gc291cmNlSWxsZWdhbDsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIC8vIFRoZSBjYXNlcyBhbGwgZmFsbCB0
aHJvdWdoLgotICAgICAgICBzd2l0Y2ggKGV4dHJhQnl0ZXNUb1JlYWQpIHsKLSAgICAgICAgICAg
IGNhc2UgNTogY2ggKz0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNvdXJjZSsrKTsgY2gg
PDw9IDY7IC8vIHJlbWVtYmVyLCBpbGxlZ2FsIFVURi04Ci0gICAgICAgICAgICBjYXNlIDQ6IGNo
ICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KCpzb3VyY2UrKyk7IGNoIDw8PSA2OyAvLyBy
ZW1lbWJlciwgaWxsZWdhbCBVVEYtOAotICAgICAgICAgICAgY2FzZSAzOiBjaCArPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPigqc291cmNlKyspOyBjaCA8PD0gNjsKLSAgICAgICAgICAgIGNh
c2UgMjogY2ggKz0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oKnNvdXJjZSsrKTsgY2ggPDw9
IDY7Ci0gICAgICAgICAgICBjYXNlIDE6IGNoICs9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+
KCpzb3VyY2UrKyk7IGNoIDw8PSA2OwotICAgICAgICAgICAgY2FzZSAwOiBjaCArPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPigqc291cmNlKyspOwotICAgICAgICB9Ci0gICAgICAgIGNoIC09
IG9mZnNldHNGcm9tVVRGOFtleHRyYUJ5dGVzVG9SZWFkXTsKKworICAgICAgICBVQ2hhcjMyIGNo
YXJhY3RlciA9IHJlYWRVVEY4U2VxdWVuY2Uoc291cmNlLCB1dGY4U2VxdWVuY2VMZW5ndGgpOwog
CiAgICAgICAgIGlmICh0YXJnZXQgPj0gdGFyZ2V0RW5kKSB7Ci0gICAgICAgICAgICBzb3VyY2Ug
LT0gKGV4dHJhQnl0ZXNUb1JlYWQgKyAxKTsgLy8gQmFjayB1cCBzb3VyY2UgcG9pbnRlciEKLSAg
ICAgICAgICAgIHJlc3VsdCA9IHRhcmdldEV4aGF1c3RlZDsgYnJlYWs7CisgICAgICAgICAgICBz
b3VyY2UgLT0gdXRmOFNlcXVlbmNlTGVuZ3RoOyAvLyBCYWNrIHVwIHNvdXJjZSBwb2ludGVyIQor
ICAgICAgICAgICAgcmVzdWx0ID0gdGFyZ2V0RXhoYXVzdGVkOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGNoIDw9IDB4RkZGRikgeworCisgICAgICAgIGlmIChV
X0lTX0JNUChjaGFyYWN0ZXIpKSB7CiAgICAgICAgICAgICAvLyBVVEYtMTYgc3Vycm9nYXRlIHZh
bHVlcyBhcmUgaWxsZWdhbCBpbiBVVEYtMzIKLSAgICAgICAgICAgIGlmIChjaCA+PSAweEQ4MDAg
JiYgY2ggPD0gMHhERkZGKSB7CisgICAgICAgICAgICBpZiAoVV9JU19TVVJST0dBVEUoY2hhcmFj
dGVyKSkgewogICAgICAgICAgICAgICAgIGlmIChzdHJpY3QpIHsKLSAgICAgICAgICAgICAgICAg
ICAgc291cmNlIC09IChleHRyYUJ5dGVzVG9SZWFkICsgMSk7IC8vIHJldHVybiB0byB0aGUgaWxs
ZWdhbCB2YWx1ZSBpdHNlbGYKKyAgICAgICAgICAgICAgICAgICAgc291cmNlIC09IHV0ZjhTZXF1
ZW5jZUxlbmd0aDsgLy8gcmV0dXJuIHRvIHRoZSBpbGxlZ2FsIHZhbHVlIGl0c2VsZgogICAgICAg
ICAgICAgICAgICAgICByZXN1bHQgPSBzb3VyY2VJbGxlZ2FsOwogICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgKnRh
cmdldCsrID0gMHhGRkZEOworICAgICAgICAgICAgICAgICAgICAqdGFyZ2V0KysgPSByZXBsYWNl
bWVudENoYXJhY3RlcjsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICp0YXJn
ZXQrKyA9IChVQ2hhciljaDsgLy8gbm9ybWFsIGNhc2UKLSAgICAgICAgfSBlbHNlIGlmIChjaCA+
IDB4MTBGRkZGKSB7Ci0gICAgICAgICAgICBpZiAoc3RyaWN0KSB7Ci0gICAgICAgICAgICAgICAg
cmVzdWx0ID0gc291cmNlSWxsZWdhbDsKLSAgICAgICAgICAgICAgICBzb3VyY2UgLT0gKGV4dHJh
Qnl0ZXNUb1JlYWQgKyAxKTsgLy8gcmV0dXJuIHRvIHRoZSBzdGFydAotICAgICAgICAgICAgICAg
IGJyZWFrOyAvLyBCYWlsIG91dDsgc2hvdWxkbid0IGNvbnRpbnVlCi0gICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICAqdGFyZ2V0KysgPSAweEZGRkQ7Ci0gICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgKnRhcmdldCsrID0gY2hhcmFjdGVyOyAvLyBub3JtYWwgY2FzZQor
ICAgICAgICB9IGVsc2UgaWYgKFVfSVNfU1VQUExFTUVOVEFSWShjaGFyYWN0ZXIpKSB7CiAgICAg
ICAgICAgICAvLyB0YXJnZXQgaXMgYSBjaGFyYWN0ZXIgaW4gcmFuZ2UgMHhGRkZGIC0gMHgxMEZG
RkYKICAgICAgICAgICAgIGlmICh0YXJnZXQgKyAxID49IHRhcmdldEVuZCkgewotICAgICAgICAg
ICAgICAgIHNvdXJjZSAtPSAoZXh0cmFCeXRlc1RvUmVhZCArIDEpOyAvLyBCYWNrIHVwIHNvdXJj
ZSBwb2ludGVyIQorICAgICAgICAgICAgICAgIHNvdXJjZSAtPSB1dGY4U2VxdWVuY2VMZW5ndGg7
IC8vIEJhY2sgdXAgc291cmNlIHBvaW50ZXIhCiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdGFy
Z2V0RXhoYXVzdGVkOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgY2ggLT0gMHgwMDEwMDAwVUw7Ci0gICAgICAgICAgICAqdGFyZ2V0KysgPSAoVUNo
YXIpKChjaCA+PiAxMCkgKyAweEQ4MDApOwotICAgICAgICAgICAgKnRhcmdldCsrID0gKFVDaGFy
KSgoY2ggJiAweDAzRkYpICsgMHhEQzAwKTsKKyAgICAgICAgICAgICp0YXJnZXQrKyA9IFUxNl9M
RUFEKGNoYXJhY3Rlcik7CisgICAgICAgICAgICAqdGFyZ2V0KysgPSBVMTZfVFJBSUwoY2hhcmFj
dGVyKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChzdHJpY3QpIHsKKyAgICAg
ICAgICAgICAgICBzb3VyY2UgLT0gdXRmOFNlcXVlbmNlTGVuZ3RoOyAvLyByZXR1cm4gdG8gdGhl
IHN0YXJ0CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gc291cmNlSWxsZWdhbDsKKyAgICAgICAg
ICAgICAgICBicmVhazsgLy8gQmFpbCBvdXQ7IHNob3VsZG4ndCBjb250aW51ZQorICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgKnRhcmdldCsrID0gcmVwbGFjZW1lbnRDaGFyYWN0
ZXI7CiAgICAgICAgIH0KICAgICB9CiAgICAgKnNvdXJjZVN0YXJ0ID0gc291cmNlOwpAQCAtMzAw
LDUgKzMxNCw1IEBAIENvbnZlcnNpb25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLX0KLX0KK30gLy8gbmFtZXNwYWNlIFVuaWNvZGUKK30gLy8gbmFt
ZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29k
ZU1hY3Jvc0Zyb21JQ1UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNy
b3NGcm9tSUNVLmgKaW5kZXggZjg2NWVmMS4uMWZkYWI2YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oCkBAIC0zOCw2ICszOCw3IEBA
CiAjZGVmaW5lIFUxNl9UUkFJTChzdXBwbGVtZW50YXJ5KSAoVUNoYXIpKCgoc3VwcGxlbWVudGFy
eSkmMHgzZmYpfDB4ZGMwMCkKICNkZWZpbmUgVTE2X0xFTkdUSChjKSAoKHVpbnQzMl90KShjKSA8
PSAweGZmZmYgPyAxIDogMikKIAorI2RlZmluZSBVX0lTX1NVUFBMRU1FTlRBUlkoYykgKChVQ2hh
cjMyKSgoYyktMHgxMDAwMCk8PTB4ZmZmZmYpCiAjZGVmaW5lIFVfSVNfU1VSUk9HQVRFKGMpICgo
KGMpJjB4ZmZmZmY4MDApPT0weGQ4MDApCiAjZGVmaW5lIFUxNl9JU19TSU5HTEUoYykgIVVfSVNf
U1VSUk9HQVRFKGMpCiAjZGVmaW5lIFUxNl9JU19TVVJST0dBVEUoYykgVV9JU19TVVJST0dBVEUo
YykK
</data>

          </attachment>
      

    </bug>

</bugzilla>