<?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>15790</bug_id>
          
          <creation_ts>2007-11-02 05:39:51 -0700</creation_ts>
          <short_desc>Ligatures aren&apos;t accounted for when manipulating VisiblePositions</short_desc>
          <delta_ts>2009-03-13 01:02:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>hbono</cc>
    
    <cc>jshin</cc>
    
    <cc>mitz</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60040</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-02 05:39:51 -0700</bug_when>
    <thetext>E.g., pressing arrow keys in Devanagari text can make the current selection not match what the user sees.

VisiblePosition calls (indirectly) into TextRenderer to find previous/next position, but the latter simply asks ICU about character breaks, and has no idea about font features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60041</commentid>
    <comment_count>1</comment_count>
      <attachid>16991</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-02 05:40:28 -0700</bug_when>
    <thetext>Created attachment 16991
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60381</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-06 01:24:58 -0800</bug_when>
    <thetext>Interestingly, TextEdit can set the insertion point inside some ligatures (such as Roman &quot;fi&quot; and &quot;ffi&quot;), but not in this one (Devanagari &quot;k, d, Shift+,&quot;). Its behavior when undoing deletions that affect ligatures is somewhat buggy as of Mac OS X 10.4.10 - insertion point disappears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60649</commentid>
    <comment_count>3</comment_count>
      <attachid>17124</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-08 11:00:41 -0800</bug_when>
    <thetext>Created attachment 17124
proposed fix

This fixes the test case... But I&apos;m not sure about many things here, e.g.:

- Is this likely to negatively affect performance?
- This changes behavior WRT zero-width characters, which will now be ignored when considering candidate positions.
- Is caretRect() the right way to compare coordinates?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60650</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-11-08 11:08:04 -0800</bug_when>
    <thetext>(In reply to comment #3)

&gt; - This changes behavior WRT zero-width characters, which will now be ignored
&gt; when considering candidate positions.

Does that mean users won&apos;t be able to move the caret from before a zero-width character (-sequence) to after that character (after the first character in the sequence)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60651</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-08 11:53:42 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Does that mean users won&apos;t be able to move the caret from before a zero-width
&gt; character (-sequence) to after that character (after the first character in the
&gt; sequence)?

Yes, I think the caret will be moved to after the next non zero-width character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60652</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-11-08 11:57:14 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yes, I think the caret will be moved to after the next non zero-width
&gt; character.

That will make life even harder for people trying to manipulate bidi embedding characters and LRM/RLMs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60657</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-08 12:28:34 -0800</bug_when>
    <thetext>While this sounds quite probable, I&apos;m afraid it&apos;s hard for me to come up with steps to reproduce the problems you mention. May I ask you to try this patch and provide some steps to reproduce them?

Is there any distinction at any level between zero length characters and those that are merged together when rendering (as this Devanagari ligature or 1/2 in some OpenType fonts)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60698</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-11-08 15:50:17 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; While this sounds quite probable, I&apos;m afraid it&apos;s hard for me to come up with
&gt; steps to reproduce the problems you mention.

No wonder -- things are already in pretty bad shape since many of the zero-width characters don&apos;t make it into the text boxes. Here is an example that&apos;s affected by your patch:

data:text/html,%3Cdiv%20contenteditable%3Ea&amp;#x200e;b%3C/div%3E

Given broken things already are, the extra &quot;damage&quot; done by the patch is probably insignificant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61079</commentid>
    <comment_count>9</comment_count>
      <attachid>17124</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-13 07:48:50 -0800</bug_when>
    <thetext>Comment on attachment 17124
proposed fix

It&apos;s a little ugly to be using caretRect for this purpose, but I think it&apos;s a clever solution.

 497                 return offset() == textRenderer-&gt;nextOffset(textRenderer-&gt;previousOffset(offset()));
 498             else
 499                 return thisRect != textRenderer-&gt;caretRect(textRenderer-&gt;previousOffset(offset()), UPSTREAM);

We normally don&apos;t do else after return.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61185</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-13 23:37:28 -0800</bug_when>
    <thetext>This patch breaks backspace and delete: since those work with selections, they now delete the whole ligature instead of just one character.

The solution is to have these code paths re-implemented to work with ranges (we need that for bug 4709, too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65062</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-12-22 01:27:27 -0800</bug_when>
    <thetext>Alexey, if this breaks backspace and delete and therefore can&apos;t be landed, should the review flag be cleared to remove it from the commit queue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65075</commentid>
    <comment_count>12</comment_count>
      <attachid>17124</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-22 09:15:51 -0800</bug_when>
    <thetext>Comment on attachment 17124
proposed fix

OK. Will land when the issues are resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112371</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-05 07:46:10 -0800</bug_when>
    <thetext>I no longer think that asking rendering layer for boundaries is the right approach. We should just tweak pure Unicode cursor movement iterator introduced in bug 24342 to better match platform conventions. One reason is that it should be possible to put insertion point inside a &quot;fi&quot; ligature, for example. Also, that&apos;s what other text engines do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113123</commentid>
    <comment_count>14</comment_count>
      <attachid>28465</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-03-10 22:29:05 -0700</bug_when>
    <thetext>Created attachment 28465
another proposed fix

Sorry for my fix for bug 24342 which caused a conflict with this bug. I added some rules which prevent a cursor from moving after Indic virama signs.
Nevertheless, I&apos;m a little wondering if this change covers the all possible combinations for Indic ligatures. I read Unicode spec and investigated Firefox, IE, TextEdit, and NeoOffice. But their cursor behaviors are not completely the same. For example, IE prevents a cursor from moving in the middle of a Devanagari ligature &quot;&amp;#x0915;&amp;#x094D;&amp;#x0915;&quot;, written in Table 9-3 of Unicode specification 5.0, but Firefox, TextEdit, and NeoOffice premit.
Even though this change emulates IE for such cases, please feel free to blame me if this is not your expected behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113132</commentid>
    <comment_count>15</comment_count>
      <attachid>28465</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-11 00:18:22 -0700</bug_when>
    <thetext>Comment on attachment 28465
another proposed fix

r=me

In general, we need to match TextEdit behavior, at least on PLATFORM(MAC). But this can be further tweaked in a follow-up patch.

There is a tab character in ChangeLog that will need to be fixed before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113190</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-11 09:06:31 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/projects/webkit/changeset/41588&gt;. I also added the new test to Skipped list on Tiger, since we don&apos;t use custom rules with ICU 3.2 now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113262</commentid>
    <comment_count>17</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-03-11 17:00:29 -0700</bug_when>
    <thetext>Sorry for my stupid change which caused an assertion on Tiger.
I would like to test this change on Tiger (on ICU 3.2) and re-send this fix. Is it possible to revert my change 41588?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113356</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-12 03:09:04 -0700</bug_when>
    <thetext>I don&apos;t think it&apos;s very important to get this working on Tiger, although that would be nice.

Bringing the behavior closer to TextEdit one on Mac would be more important in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113564</commentid>
    <comment_count>19</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-03-13 01:02:20 -0700</bug_when>
    <thetext>Thank you so much for your encouraging comment.

(In reply to comment #18)
&gt; I don&apos;t think it&apos;s very important to get this working on Tiger, although that
&gt; would be nice.
&gt; Bringing the behavior closer to TextEdit one on Mac would be more important in
&gt; my opinion.

I&apos;m updating the rules to improve the compatibility with TextEdit, and I&apos;m going to send its review request as soon as possible.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16991</attachid>
            <date>2007-11-02 05:40:28 -0700</date>
            <delta_ts>2007-11-02 05:40:28 -0700</delta_ts>
            <desc>test case</desc>
            <filename>selection-in-ligature.html</filename>
            <type>text/html</type>
            <size>642</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjwvaGVhZD4KPGJvZHk+CjwhLS0g
VGhyZWUgVW5pY29kZSBjaGFyYWN0ZXJzIGNvbWJpbmVkIChpbiBkaWZmZXJlbnQgd2F5cykgdG8g
Zm9ybSBhIHNpbmdsZSB2aXNpYmxlIGNoYXJhY3RlcjoKICBVKzA5MTUgREVWQU5BR0FSSSBMRVRU
RVIgS0EKICBVKzA5NGQgREVWQU5BR0FSSSBTSUdOIFZJUkFNQSAqKiogQ29tYmluZXMgd2l0aCB0
aGUgcHJldmlvdXMgY2hhcmFjdGVyICoqKgogIFUrMDkzNyBERVZBTkFHQVJJIExFVFRFUiBTU0Eg
ICoqKiBGb3JtcyBhIGxpZ2F0dXJlIHdpdGggdGhlIHByZXZpb3VzIGNoYXJhY3RlciAqKioKLS0+
CjxkaXYgaWQ9InRlc3QiIGNvbnRlbnRlZGl0YWJsZT7gpJXgpY3gpLc8L2Rpdj4KPG9sPgogIDxs
aT5QcmVzcyBsZWZ0IGFycm93LgogIDxsaT5QcmVzcyBCYWNrc3BhY2UuCjwvb2w+CjxwPkV4cGVj
dGVkIHJlc3VsdHM6IG5vdGhpbmcgaXMgZGVsZXRlZC48L3A+Cgo8c2NyaXB0PgogIHZhciB0ZXN0
RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKICB2YXIgcyA9IHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKTsKCiAgcy5zZXRQb3NpdGlvbih0ZXN0RGl2LCAzKTsKIAo8L3NjcmlwdD4K
PC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17124</attachid>
            <date>2007-11-08 11:00:41 -0800</date>
            <delta_ts>2007-12-22 09:15:51 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>15790r1_patch.txt</filename>
            <type>text/plain</type>
            <size>11814</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzYwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDctMTEtMDggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBv
cC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTAKKyAgICAgICAgTGln
YXR1cmVzIGFyZW4ndCBhY2NvdW50ZWQgZm9yIHdoZW4gbWFuaXB1bGF0aW5nIFZpc2libGVQb3Np
dGlvbnMKKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3Rpb24taW4tbGln
YXR1cmUuaHRtbAorCisgICAgICAgICogZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBvc2l0aW9uOjppblJlbmRlcmVkVGV4dCk6IFRlc3Qgd2hldGhlciB3ZSBmYWxsIG9uIGEg
dmlzaWJsZSBjaGFyYWN0ZXIgYm91bmRhcnksIG5vdCBqdXN0CisgICAgICAgIGEgVW5pY29kZSBj
aGFyYWN0ZXIgY2x1c3RlciBib3VuZGFyeS4KKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uOjpy
ZW5kZXJzSW5EaWZmZXJlbnRQb3NpdGlvbik6IEFjdHVhbGx5IGNvbXBhcmUgdGhlIHBvc2l0aW9u
cywgbm90IGp1c3Qgb2Zmc2V0cy4KKyAgICAgICAgVGhpcyBjaGFuZ2Ugd2Fzbid0IG5lY2Vzc2Fy
eSBmb3IgdGhlIHRlc3QgdG8gcGFzcywgYW5kIEkgZG9uJ3Qga25vdyB3aGF0IGNhc2UgaXQgYWZm
ZWN0cyAtIGJ1dCBpdAorICAgICAgICBtYWtlcyB0aGlzIGZ1bmN0aW9uIGRvIHNvbWV0aGluZyBj
bG9zZXIgdG8gd2hhdCBpdCBwcm9taXNlcy4KKwogMjAwNy0xMS0wOCAgTWFyayBSb3dlICA8bXJv
d2VAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgR3RrLCBRdCBhbmQgV3ggYnVpbGRzLgpJ
bmRleDogV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L1Bvc2l0aW9uLmNwcAkocmV2aXNpb24gMjc1OTUpCisrKyBXZWJDb3JlL2RvbS9Qb3NpdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4NSw5ICs0ODUsMTkgQEAgYm9vbCBQb3NpdGlvbjo6aW5S
ZW5kZXJlZFRleHQoKSBjb25zdAogICAgICAgICAgICAgLy8gbm90IHJlbmRlcmVkLiBSZXR1cm4g
ZmFsc2UuCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgaWYg
KGJveC0+Y29udGFpbnNDYXJldE9mZnNldChvZmZzZXQoKSkpCi0gICAgICAgICAgICAvLyBSZXR1
cm4gZmFsc2UgZm9yIG9mZnNldHMgaW5zaWRlIGNvbXBvc2VkIGNoYXJhY3RlcnMuCi0gICAgICAg
ICAgICByZXR1cm4gb2Zmc2V0KCkgPT0gMCB8fCBvZmZzZXQoKSA9PSB0ZXh0UmVuZGVyZXItPm5l
eHRPZmZzZXQodGV4dFJlbmRlcmVyLT5wcmV2aW91c09mZnNldChvZmZzZXQoKSkpOworICAgICAg
ICBpZiAoYm94LT5jb250YWluc0NhcmV0T2Zmc2V0KG9mZnNldCgpKSkgeworICAgICAgICAgICAg
Ly8gUmV0dXJuIGZhbHNlIGlmIGNhcmV0IGNhbm5vdCBiZSBwbGFjZWQgYXQgdGhpcyBwb3NpdGlv
biAtIGkuZS4gZm9yIG9mZnNldHMgaW5zaWRlIGNvbXBvc2VkIGNoYXJhY3RlcnMsCisgICAgICAg
ICAgICAvLyBhbmQgZm9yIG9mZnNldHMgaW5zaWRlIGNoYXJhY3RlcnMgc2VxdWVuY2VzIHRoYXQg
Zm9ybSBjZXJ0YWluIGxpZ2F0dXJlcy4KKyAgICAgICAgICAgIGlmIChvZmZzZXQoKSA9PSAwKQor
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgSW50UmVjdCB0aGlzUmVj
dCA9IHRleHRSZW5kZXJlci0+Y2FyZXRSZWN0KG9mZnNldCgpLCBET1dOU1RSRUFNKTsKKyAgICAg
ICAgICAgIGlmICh0aGlzUmVjdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgLy8gU1ZHIGRv
ZXNuJ3QgaW1wbGVtZW50IGNhcmV0UmVjdCAoeWV0PyksIHNvIGZhbGwgYmFjayBvbiBhIGxlc3Mg
cmVsaWFibGUgbWV0aG9kLgorICAgICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHRoaXMgbW9zdGx5
IGFmZmVjdHMgZWRpdGluZywgd2hpY2ggU1ZHIGRvZXNuJ3Qgc3VwcG9ydC4KKyAgICAgICAgICAg
ICAgICByZXR1cm4gb2Zmc2V0KCkgPT0gdGV4dFJlbmRlcmVyLT5uZXh0T2Zmc2V0KHRleHRSZW5k
ZXJlci0+cHJldmlvdXNPZmZzZXQob2Zmc2V0KCkpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdGhpc1JlY3QgIT0gdGV4dFJlbmRlcmVyLT5jYXJldFJlY3QodGV4
dFJlbmRlcmVyLT5wcmV2aW91c09mZnNldChvZmZzZXQoKSksIFVQU1RSRUFNKTsKKyAgICAgICAg
fQogICAgIH0KICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBAIC01OTcsNiArNjA3LDkgQEAgYm9v
bCBQb3NpdGlvbjo6cmVuZGVyc0luRGlmZmVyZW50UG9zaXRpbwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCisgICAgaWYgKHJlbmRlcmVyID09IHBvc1JlbmRlcmVyICYmIHJlbmRlcmVy
LT5jYXJldFJlY3QodGhpc1JlbmRlcmVkT2Zmc2V0LCBVUFNUUkVBTSwgMCkgPT0gcmVuZGVyZXIt
PmNhcmV0UmVjdChwb3NSZW5kZXJlZE9mZnNldCwgVVBTVFJFQU0sIDApKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjc2
MDIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
OSBAQAorMjAwNy0xMS0wOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQG55cG9wLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc5MAorICAgICAgICBMaWdhdHVyZXMgYXJl
bid0IGFjY291bnRlZCBmb3Igd2hlbiBtYW5pcHVsYXRpbmcgVmlzaWJsZVBvc2l0aW9ucworCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxpZ2F0dXJlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxp
Z2F0dXJlLmh0bWw6IEFkZGVkLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LWludG8tYW5jaG9yLXRleHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9l
ZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS10by1zZWxlY3QtdGFibGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTM4NzU3OC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC93aGl0ZXNwYWNlL3ByZS13cmFw
LW92ZXJmbG93LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKyAgICAgICAgVGhlIGNoYW5nZXMgdG8g
dGhlc2UgdGVzdCByZXN1bHRzIHNlZW0gaW5jb25zZXF1ZW50aWFsLiBQaXhlbCByZXN1bHRzIGFy
ZSBub3QgYWZmZWN0ZWQuCisKIDIwMDctMTEtMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtaW50by1hbmNob3ItdGV4dC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWludG8tYW5jaG9y
LXRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzU5NSkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1pbnRvLWFuY2hvci10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNiw1ICs2LDUgQEAgRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2Vs
ZWN0ZWRETwogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KICAgCi1DYW50b24gUmVw
b3NpdG9yeSAoc3Vic2NyaXB0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAlhbGwgN2hlbGxvIHdvcmxkOSBuZXdzIGFydGljbGVzwqDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoAkKK0NhbnRvbiBSZXBvc2l0b3J5
IChzdWJzY3JpcHRpb24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCWFsbCA3aGVsbG8gd29ybGQ5IG5ld3MgYXJ0aWNsZXPCoMKgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkKIApJbmRleDogTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxpZ2F0dXJlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3Rp
b24taW4tbGlnYXR1cmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxpZ2F0dXJlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorRURJVElORyBERUxFR0FURTogc2hvdWxkQmVnaW5F
ZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gMSBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5FZGl0aW5nTm90aWZp
Y2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb25Ob3RpZmljYXRpb24KK+CkleCljeCktworUHJlc3MgbGVmdCBhcnJvdy4KK1ByZXNzIEJh
Y2tzcGFjZS4KK0V4cGVjdGVkIHJlc3VsdHM6IG5vdGhpbmcgaXMgZGVsZXRlZC4KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdGlvbi1pbi1s
aWdhdHVyZS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsg
dGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxpZ2F0dXJlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLWluLWxpZ2F0
dXJlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
ZWxlY3Rpb24taW4tbGlnYXR1cmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9l
ZGl0aW5nLmpzIiBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0IiA+
PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGVkaXRpbmdUZXN0KCkgeworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciB0ZXN0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3QiKTsKKworICAgIHNldFNlbGVjdGlvbkNvbW1hbmQodGVzdERpdiwgMywgdGVz
dERpdiwgMyk7CisgICAgbW92ZVNlbGVjdGlvbkJhY2t3YXJkQnlDaGFyYWN0ZXJDb21tYW5kKCk7
CisgICAgaWYgKDAgIT0gc2VsZWN0aW9uLmJhc2VPZmZzZXQgfHwgMCAhPSBzZWxlY3Rpb24uZXh0
ZW50T2Zmc2V0KQorICAgICAgICBhbGVydCgiSW5jb3JyZWN0IHNlbGVjdGlvbiBhZnRlciBtb3Zp
bmcgbGVmdDogKCIgKyBzZWxlY3Rpb24uYmFzZU9mZnNldCArICIgLSAiICsgc2VsZWN0aW9uLmV4
dGVudE9mZnNldCArICIpIik7CisKKyAgICBzZXRTZWxlY3Rpb25Db21tYW5kKHRlc3REaXYsIDAs
IHRlc3REaXYsIDApOworICAgIG1vdmVTZWxlY3Rpb25Gb3J3YXJkQnlDaGFyYWN0ZXJDb21tYW5k
KCk7CisgICAgaWYgKDMgIT0gc2VsZWN0aW9uLmJhc2VPZmZzZXQgfHwgMyAhPSBzZWxlY3Rpb24u
ZXh0ZW50T2Zmc2V0KQorICAgICAgICBhbGVydCgiSW5jb3JyZWN0IHNlbGVjdGlvbiBhZnRlciBt
b3ZpbmcgcmlnaHQ6ICgiICsgc2VsZWN0aW9uLmJhc2VPZmZzZXQgKyAiIC0gIiArIHNlbGVjdGlv
bi5leHRlbnRPZmZzZXQgKyAiKSIpOworCisgICAgc2V0U2VsZWN0aW9uQ29tbWFuZCh0ZXN0RGl2
LCAzLCB0ZXN0RGl2LCAzKTsKKyAgICBleHRlbmRTZWxlY3Rpb25CYWNrd2FyZEJ5Q2hhcmFjdGVy
Q29tbWFuZCgpOworICAgIGlmICgzICE9IHNlbGVjdGlvbi5iYXNlT2Zmc2V0IHx8IDAgIT0gc2Vs
ZWN0aW9uLmV4dGVudE9mZnNldCkKKyAgICAgICAgYWxlcnQoIkluY29ycmVjdCBzZWxlY3Rpb24g
YWZ0ZXIgZXh0ZW5kaW5nIGxlZnQ6ICgiICsgc2VsZWN0aW9uLmJhc2VPZmZzZXQgKyAiIC0gIiAr
IHNlbGVjdGlvbi5leHRlbnRPZmZzZXQgKyAiKSIpOworCisgICAgc2V0U2VsZWN0aW9uQ29tbWFu
ZCh0ZXN0RGl2LCAwLCB0ZXN0RGl2LCAwKTsKKyAgICBleHRlbmRTZWxlY3Rpb25Gb3J3YXJkQnlD
aGFyYWN0ZXJDb21tYW5kKCk7CisgICAgaWYgKDAgIT0gc2VsZWN0aW9uLmJhc2VPZmZzZXQgfHwg
MyAhPSBzZWxlY3Rpb24uZXh0ZW50T2Zmc2V0KQorICAgICAgICBhbGVydCgiSW5jb3JyZWN0IHNl
bGVjdGlvbiBhZnRlciBleHRlbmRpbmcgcmlnaHQ6ICgiICsgc2VsZWN0aW9uLmJhc2VPZmZzZXQg
KyAiIC0gIiArIHNlbGVjdGlvbi5leHRlbnRPZmZzZXQgKyAiKSIpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPCEtLSBUaHJlZSBVbmljb2RlIGNoYXJhY3RlcnMgY29tYmluZWQg
KGluIGRpZmZlcmVudCB3YXlzKSB0byBmb3JtIGEgc2luZ2xlIHZpc2libGUgY2hhcmFjdGVyOgor
ICBVKzA5MTUgREVWQU5BR0FSSSBMRVRURVIgS0EKKyAgVSswOTRkIERFVkFOQUdBUkkgU0lHTiBW
SVJBTUEgKioqIENvbWJpbmVzIHdpdGggdGhlIHByZXZpb3VzIGNoYXJhY3RlciAqKioKKyAgVSsw
OTM3IERFVkFOQUdBUkkgTEVUVEVSIFNTQSAgKioqIEZvcm1zIGEgbGlnYXR1cmUgd2l0aCB0aGUg
cHJldmlvdXMgY2hhcmFjdGVyICoqKgorCisgIFRoaXMgdGVzdCB3aWxsIGZhaWwgaWYgdGhlIHBs
YXRmb3JtIGRvZXNuJ3QgaGF2ZSBhbiBhcHByb3ByaWF0ZSBmb250IG9yIGEgY2FwYWJsZSB0ZXh0
IGxheW91dCBlbmdpbmUuCistLT4KKzxkaXYgaWQ9InRlc3QiIGNvbnRlbnRlZGl0YWJsZT7gpJXg
pY3gpLc8L2Rpdj4KKzxvbD4KKyAgPGxpPlByZXNzIGxlZnQgYXJyb3cuCisgIDxsaT5QcmVzcyBC
YWNrc3BhY2UuCis8L29sPgorPHA+RXhwZWN0ZWQgcmVzdWx0czogbm90aGluZyBpcyBkZWxldGVk
LjwvcD4KKzxzY3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zZWxlY3Rpb24taW4tbGlnYXR1cmUuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5
cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtdG8tc2VsZWN0LXRhYmxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtdG8t
c2VsZWN0LXRhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc1OTUpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtdG8tc2VsZWN0LXRhYmxlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTEgKzIzLDYgQEAgRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgotRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bk5vdGlmaWNhdGlvbgotRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAyIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTM4NzU3OC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC81Mzg3NTc4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc1OTUpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkLzUzODc1NzgtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0yMCw0ICsyMCw1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDIpIHdpZHRoIDI1OiAib3JsZCIK
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgxLDIpIHNpemUgNHgxOAog
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgxLDIpIHdpZHRoIDQ6ICIgIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg1LDIpIHdpZHRoIDA6ICJceHs5fVx4ezl9IFx4ezl9
XHh7OX0iCiBjYXJldDogcG9zaXRpb24gNCBvZiBjaGlsZCAxIHsjdGV4dH0gb2YgY2hpbGQgMSB7
VER9IG9mIGNoaWxkIDAge1RSfSBvZiBjaGlsZCAxIHtUQk9EWX0gb2YgY2hpbGQgMSB7VEFCTEV9
IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMCB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2Yg
ZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVz
cGFjZS9wcmUtd3JhcC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3Jh
cC1vdmVyZmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzU5NSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS9wcmUtd3JhcC1vdmVy
Zmxvdy1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00NCw0ICs0NCw0
IEBAIGxheWVyIGF0ICg4LDEwOSkgc2l6ZSAxMDh4ODMgY2xpcCBhdCAoMTIKICAgICAgIHRleHQg
cnVuIGF0ICg0LDY0KSB3aWR0aCAzMjogImJveC4iCiAgICAgICB0ZXh0IHJ1biBhdCAoMzYsNjQp
IHdpZHRoIDA6ICIgIgogc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiA3IG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCA3IHtQUkV9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9
IG9mIGRvY3VtZW50Ci1zZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDE1IG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAxMSB7UFJFfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1M
fSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAxNiBvZiBjaGlsZCAwIHsj
dGV4dH0gb2YgY2hpbGQgMTEge1BSRX0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRN
TH0gb2YgZG9jdW1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28465</attachid>
            <date>2009-03-10 22:29:05 -0700</date>
            <delta_ts>2009-03-11 00:18:22 -0700</delta_ts>
            <desc>another proposed fix</desc>
            <filename>issue15790-patch1.txt</filename>
            <type>text/plain</type>
            <size>11605</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDMtMTAgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzkwCisgICAgICAgIExp
Z2F0dXJlcyBhcmVuJ3QgYWNjb3VudGVkIGZvciB3aGVuIG1hbmlwdWxhdGluZyBWaXNpYmxlUG9z
aXRpb25zCisKKyAgICAgICAgQ2hhbmdlZCBjdXJzb3JNb3ZlbWVudEl0ZXJhdG9yIHJ1bGVzIHRv
IHByZXZlbnQgYSBjdXJzb3IgZnJvbSBtb3ZpbmcgaW4gdGhlIG1pZGRsZSBvZiBhbgorICAgICAg
ICBJbmRpYyBsaWdhdHVyZSB3aGljaCB1c2VzIGEgdmlyYW1hIHNpZ24uCisgICAgICAgIAorICAg
ICAgICBUZXN0OiBlZGl0aW5nL2RlbGV0aW5nL3NraXAtdmlyYW1hLTAwMS5odG1sCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRCcmVha0l0ZXJhdG9ySUNVLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmN1cnNvck1vdmVtZW50SXRlcmF0b3IpOgorCiAyMDA5LTAzLTEwICBBbnR0aSBLb2l2
aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2Uu
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEJyZWFrSXRlcmF0b3JJQ1UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0QnJlYWtJdGVyYXRvcklDVS5j
cHAJKHJldmlzaW9uIDQxNTcyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRCcmVha0l0
ZXJhdG9ySUNVLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDM0ICsxNDIsODUgQEAgc3RhdGlj
IFRleHRCcmVha0l0ZXJhdG9yKiBzZXRVcEl0ZXJhdG9yVwogCiBUZXh0QnJlYWtJdGVyYXRvciog
Y3Vyc29yTW92ZW1lbnRJdGVyYXRvcihjb25zdCBVQ2hhciogc3RyaW5nLCBpbnQgbGVuZ3RoKQog
ewotICAgIC8vIFRoaXMgcnVsZSBzZXQgaXMgYmFzZWQgb24gY2hhcmFjdGVyLWJyZWFrIGl0ZXJh
dG9yIHJ1bGVzIG9mIElDVSAzLjgKLSAgICAvLyA8aHR0cDovL3NvdXJjZS5pY3UtcHJvamVjdC5v
cmcvcmVwb3MvaWN1L2ljdS90YWdzL3JlbGVhc2UtMy04L3NvdXJjZS9kYXRhL2Jya2l0ci9jaGFy
LnR4dD4uCisgICAgLy8gVGhpcyBydWxlIHNldCBpcyBiYXNlZCBvbiBjaGFyYWN0ZXItYnJlYWsg
aXRlcmF0b3IgcnVsZXMgb2YgSUNVIDQuMAorICAgIC8vIDxodHRwOi8vc291cmNlLmljdS1wcm9q
ZWN0Lm9yZy9yZXBvcy9pY3UvaWN1L3RhZ3MvcmVsZWFzZS00LTAvc291cmNlL2RhdGEvYnJraXRy
L2NoYXIudHh0Pi4KKyAgICAvLyBUaGUgbWFqb3IgZGlmZmVyZW5jZXMgZnJvbSB0aGUgb3JpZ2lu
YWwgb25lcyBhcmUgbGlzdGVkIGJlbG93OgorICAgIC8vICogUmVwbGFjZWQgJ1tccHtHcmFwaGVt
ZV9DbHVzdGVyX0JyZWFrID0gU3BhY2luZ01hcmt9XScgd2l0aCAnW1xwe0dlbmVyYWxfQ2F0ZWdv
cnkgPSBTcGFjaW5nIE1hcmt9IC0gJEV4dGVuZF0nIGZvciBJQ1UgMy44IG9yIGVhcmxpZXI7Cisg
ICAgLy8gKiBSZW1vdmVkIHJ1bGVzIHRoYXQgcHJldmVudCBhIGN1cnNvciBmcm9tIG1vdmluZyBh
ZnRlciBwcmVwZW5kIGNoYXJhY3RlcnMgKEJ1ZyAyNDM0Mik7CisgICAgLy8gKiBBZGRlZCBydWxl
cyB0aGF0IHByZXZlbnQgYSBjdXJzb3IgZnJvbSBtb3ZpbmcgYWZ0ZXIgdmlyYW1hIHNpZ25zIG9m
IEluZGljIGxhbmd1YWdlcyBleGNlcHQgVGFtaWwgKEJ1ZyAxNTc5MCksIGFuZDsKKyAgICAvLyAq
IEFkZGVkIHJ1bGVzIHRoYXQgcHJldmVudCBhIGN1cnNvciBmcm9tIG1vdmluZyBiZWZvcmUgSmFw
YW5lc2UgaGFsZi13aWR0aCBrYXRha2FyYSB2b2ljZWQgbWFya3MuCiAgICAgc3RhdGljIGNvbnN0
IGNoYXIqIGtSdWxlcyA9CiAgICAgICAgICIkQ1IgICAgICA9IFtcXHB7R3JhcGhlbWVfQ2x1c3Rl
cl9CcmVhayA9IENSfV07IgogICAgICAgICAiJExGICAgICAgPSBbXFxwe0dyYXBoZW1lX0NsdXN0
ZXJfQnJlYWsgPSBMRn1dOyIKICAgICAgICAgIiRDb250cm9sID0gW1xccHtHcmFwaGVtZV9DbHVz
dGVyX0JyZWFrID0gQ29udHJvbH1dOyIKLSAgICAgICAgIiRWb2ljZU1hcmtzID0gW1xcdWZmOWVc
XHVmZjlmXTsiCisgICAgICAgICIkVm9pY2VNYXJrcyA9IFtcXHVGRjlFXFx1RkY5Rl07IiAgLy8g
SmFwYW5lc2UgaGFsZi13aWR0aCBrYXRha2FuYSB2b2ljZWQgbWFya3MKICAgICAgICAgIiRFeHRl
bmQgID0gW1xccHtHcmFwaGVtZV9DbHVzdGVyX0JyZWFrID0gRXh0ZW5kfSAkVm9pY2VNYXJrc107
IgorICAgICAgICAiJFNwYWNpbmdNYXJrID0gW1tcXHB7R2VuZXJhbF9DYXRlZ29yeSA9IFNwYWNp
bmcgTWFya31dIC0gJEV4dGVuZF07IgogICAgICAgICAiJEwgICAgICAgPSBbXFxwe0dyYXBoZW1l
X0NsdXN0ZXJfQnJlYWsgPSBMfV07IgogICAgICAgICAiJFYgICAgICAgPSBbXFxwe0dyYXBoZW1l
X0NsdXN0ZXJfQnJlYWsgPSBWfV07IgogICAgICAgICAiJFQgICAgICAgPSBbXFxwe0dyYXBoZW1l
X0NsdXN0ZXJfQnJlYWsgPSBUfV07IgogICAgICAgICAiJExWICAgICAgPSBbXFxwe0dyYXBoZW1l
X0NsdXN0ZXJfQnJlYWsgPSBMVn1dOyIKICAgICAgICAgIiRMVlQgICAgID0gW1xccHtHcmFwaGVt
ZV9DbHVzdGVyX0JyZWFrID0gTFZUfV07IgotICAgICAgICAiJEhhbmd1bFN5bGxhYmxlID0gJEwr
IHwgKCRMKiAoJExWPyAkVisgfCAkTFYgfCAkTFZUKSAkVCopIHwgJFQrOyIKKyAgICAgICAgIiRI
aW4wICAgID0gW1xcdTA5MDUtXFx1MDkzOV07IiAgICAvLyBEZXZhbmFnYXJpIExldHRlciBBLC4u
LixIYQorICAgICAgICAiJEhpblYgICAgPSBcXHUwOTREOyIgICAgICAgICAgICAgIC8vIERldmFu
YWdhcmkgU2lnbiBWaXJhbWEKKyAgICAgICAgIiRIaW4xICAgID0gW1xcdTA5MTUtXFx1MDkzOV07
IiAgICAvLyBEZXZhbmFnYXJpIExldHRlciBLYSwuLi4sSGEKKyAgICAgICAgIiRCZW4wICAgID0g
W1xcdTA5ODUtXFx1MDlCOV07IiAgICAvLyBCZW5nYWxpIExldHRlciBBLC4uLixIYQorICAgICAg
ICAiJEJlblYgICAgPSBcXHUwOUNEOyIgICAgICAgICAgICAgIC8vIEJlbmdhbGkgU2lnbiBWaXJh
bWEKKyAgICAgICAgIiRCZW4xICAgID0gW1xcdTA5OTUtXFx1MDlCOV07IiAgICAvLyBCZW5nYWxp
IExldHRlciBLYSwuLi4sSGEKKyAgICAgICAgIiRQYW4wICAgID0gW1xcdTBBMDUtXFx1MEEzOV07
IiAgICAvLyBHdXJtdWtoaSBMZXR0ZXIgQSwuLi4sSGEKKyAgICAgICAgIiRQYW5WICAgID0gXFx1
MEE0RDsiICAgICAgICAgICAgICAvLyBHdXJtdWtoaSBTaWduIFZpcmFtYQorICAgICAgICAiJFBh
bjEgICAgPSBbXFx1MEExNS1cXHUwQTM5XTsiICAgIC8vIEd1cm11a2hpIExldHRlciBLYSwuLi4s
SGEKKyAgICAgICAgIiRHdWowICAgID0gW1xcdTBBODUtXFx1MEFCOV07IiAgICAvLyBHdWphcmF0
aSBMZXR0ZXIgQSwuLi4sSGEKKyAgICAgICAgIiRHdWpWICAgID0gXFx1MEFDRDsiICAgICAgICAg
ICAgICAvLyBHdWphcmF0aSBTaWduIFZpcmFtYQorICAgICAgICAiJEd1ajEgICAgPSBbXFx1MEE5
NS1cXHUwQUI5XTsiICAgIC8vIEd1amFyYXRpIExldHRlciBLYSwuLi4sSGEKKyAgICAgICAgIiRP
cmkwICAgID0gW1xcdTBCMDUtXFx1MEIzOV07IiAgICAvLyBPcml5YSBMZXR0ZXIgQSwuLi4sSGEK
KyAgICAgICAgIiRPcmlWICAgID0gXFx1MEI0RDsiICAgICAgICAgICAgICAvLyBPcml5YSBTaWdu
IFZpcmFtYQorICAgICAgICAiJE9yaTEgICAgPSBbXFx1MEIxNS1cXHUwQjM5XTsiICAgIC8vIE9y
aXlhIExldHRlciBLYSwuLi4sSGEKKyAgICAgICAgIiRUZWwwICAgID0gW1xcdTBDMDUtXFx1MEMz
OV07IiAgICAvLyBUZWx1Z3UgTGV0dGVyIEEsLi4uLEhhCisgICAgICAgICIkVGVsViAgICA9IFxc
dTBDNEQ7IiAgICAgICAgICAgICAgLy8gVGVsdWd1IFNpZ24gVmlyYW1hCisgICAgICAgICIkVGVs
MSAgICA9IFtcXHUwQzE0LVxcdTBDMzldOyIgICAgLy8gVGVsdWd1IExldHRlciBLYSwuLi4sSGEK
KyAgICAgICAgIiRLYW4wICAgID0gW1xcdTBDODUtXFx1MENCOV07IiAgICAvLyBLYW5uYWRhIExl
dHRlciBBLC4uLixIYQorICAgICAgICAiJEthblYgICAgPSBcXHUwQ0NEOyIgICAgICAgICAgICAg
IC8vIEthbm5hZGEgU2lnbiBWaXJhbWEKKyAgICAgICAgIiRLYW4xICAgID0gW1xcdTBDOTUtXFx1
MENCOV07IiAgICAvLyBLYW5uYWRhIExldHRlciBBLC4uLixIYQorICAgICAgICAiJE1hbDAgICAg
PSBbXFx1MEQwNS1cXHUwRDM5XTsiICAgIC8vIE1hbGF5YWxhbSBMZXR0ZXIgQSwuLi4sSGEKKyAg
ICAgICAgIiRNYWxWICAgID0gXFx1MEQ0RDsiICAgICAgICAgICAgICAvLyBNYWxheWFsYW0gU2ln
biBWaXJhbWEKKyAgICAgICAgIiRNYWwxICAgID0gW1xcdTBEMTUtXFx1MEQzOV07IiAgICAvLyBN
YWxheWFsYW0gTGV0dGVyIEEsLi4uLEhhCisgICAgICAgICIhIWNoYWluOyIKICAgICAgICAgIiEh
Zm9yd2FyZDsiCiAgICAgICAgICIkQ1IgJExGOyIKLSAgICAgICAgIihbXiRDb250cm9sICRDUiAk
TEZdIHwgJEhhbmd1bFN5bGxhYmxlKSAkRXh0ZW5kKjsiCisgICAgICAgICIkTCAoJEwgfCAkViB8
ICRMViB8ICRMVlQpOyIKKyAgICAgICAgIigkTFYgfCAkVikgKCRWIHwgJFQpOyIKKyAgICAgICAg
IigkTFZUIHwgJFQpICRUOyIKKyAgICAgICAgIlteJENvbnRyb2wgJENSICRMRl0gJEV4dGVuZDsi
CisgICAgICAgICJbXiRDb250cm9sICRDUiAkTEZdICRTcGFjaW5nTWFyazsiCisgICAgICAgICIk
SGluMCAkSGluViAkSGluMTsiICAgICAgICAgICAgICAgLy8gRGV2YW5hZ2FyaSBWaXJhbWEgKGZv
cndhcmQpCisgICAgICAgICIkQmVuMCAkQmVuViAkQmVuMTsiICAgICAgICAgICAgICAgLy8gQmVu
Z2FsaSBWaXJhbWEgKGZvcndhcmQpCisgICAgICAgICIkUGFuMCAkUGFuViAkUGFuMTsiICAgICAg
ICAgICAgICAgLy8gR3VybXVraGkgVmlyYW1hIChmb3J3YXJkKQorICAgICAgICAiJEd1ajAgJEd1
alYgJEd1ajE7IiAgICAgICAgICAgICAgIC8vIEd1amFyYXRpIFZpcmFtYSAoZm9yd2FyZCkKKyAg
ICAgICAgIiRPcmkwICRPcmlWICRPcmkxOyIgICAgICAgICAgICAgICAvLyBPcml5YSBWaXJhbWEg
KGZvcndhcmQpCisgICAgICAgICIkVGVsMCAkVGVsViAkVGVsMTsiICAgICAgICAgICAgICAgLy8g
VGVsdWd1IFZpcmFtYSAoZm9yd2FyZCkKKyAgICAgICAgIiRLYW4wICRLYW5WICRLYW4xOyIgICAg
ICAgICAgICAgICAvLyBLYW5uYWRhIFZpcmFtYSAoZm9yd2FyZCkKKyAgICAgICAgIiRNYWwwICRN
YWxWICRNYWwxOyIgICAgICAgICAgICAgICAvLyBNYWxheWFsYW0gVmlyYW1hIChmb3J3YXJkKQog
ICAgICAgICAiISFyZXZlcnNlOyIKLSAgICAgICAgIiRCYWNrSGFuZ3VsU3lsbGFibGUgPSAkTCsg
fCAoJFQqICgkViskTFY/IHwgJExWIHwgJExWVCkgJEwqKSB8ICRUKzsiCi0gICAgICAgICIkQmFj
a09uZUNsdXN0ZXIgPSAoJExGICRDUikgfCAoJEV4dGVuZCogKFteJENvbnRyb2wgJENSICRMRl0g
fCAkQmFja0hhbmd1bFN5bGxhYmxlKSk7IgotICAgICAgICAiJEJhY2tPbmVDbHVzdGVyOyIKKyAg
ICAgICAgIiRMRiAkQ1I7IgorICAgICAgICAiKCRMIHwgJFYgfCAkTFYgfCAkTFZUKSAkTDsiCisg
ICAgICAgICIoJFYgfCAkVCkgKCRMViB8ICRWKTsiCisgICAgICAgICIkVCAoJExWVCB8ICRUKTsi
CisgICAgICAgICIkRXh0ZW5kICAgICAgW14kQ29udHJvbCAkQ1IgJExGXTsiCisgICAgICAgICIk
U3BhY2luZ01hcmsgW14kQ29udHJvbCAkQ1IgJExGXTsiCisgICAgICAgICIkSGluMSAkSGluViAk
SGluMDsiICAgICAgICAgICAgICAgLy8gRGV2YW5hZ2FyaSBWaXJhbWEgKGJhY2t3YXJkKQorICAg
ICAgICAiJEJlbjEgJEJlblYgJEJlbjA7IiAgICAgICAgICAgICAgIC8vIEJlbmdhbGkgVmlyYW1h
IChiYWNrd2FyZCkKKyAgICAgICAgIiRQYW4xICRQYW5WICRQYW4wOyIgICAgICAgICAgICAgICAv
LyBHdXJtdWtoaSBWaXJhbWEgKGJhY2t3YXJkKQorICAgICAgICAiJEd1ajEgJEd1alYgJEd1ajA7
IiAgICAgICAgICAgICAgIC8vIEd1amFyYXRpIFZpcmFtYSAoYmFja3dhcmQpCisgICAgICAgICIk
T3JpMSAkT3JpViAkT3JpMDsiICAgICAgICAgICAgICAgLy8gR3VqYXJhdGkgVmlyYW1hIChiYWNr
d2FyZCkKKyAgICAgICAgIiRUZWwxICRUZWxWICRUZWwwOyIgICAgICAgICAgICAgICAvLyBUZWx1
Z3UgVmlyYW1hIChiYWNrd2FyZCkKKyAgICAgICAgIiRLYW4xICRLYW5WICRLYW4wOyIgICAgICAg
ICAgICAgICAvLyBLYW5uYWRhIFZpcmFtYSAoYmFja3dhcmQpCisgICAgICAgICIkTWFsMSAkTWFs
ViAkTWFsMDsiICAgICAgICAgICAgICAgLy8gTWFsYXlhbGFtIFZpcmFtYSAoYmFja3dhcmQpCiAg
ICAgICAgICIhIXNhZmVfcmV2ZXJzZTsiCi0gICAgICAgICIkVisgJEw7IgotICAgICAgICAiISFz
YWZlX2ZvcndhcmQ7IgotICAgICAgICAiJFYrICRUOyI7Ci0gICAgc3RhdGljIGJvb2wgY3JlYXRl
ZElucHV0Q3Vyc29ySXRlcmF0b3IgPSBmYWxzZTsKLSAgICBzdGF0aWMgVGV4dEJyZWFrSXRlcmF0
b3IqIHN0YXRpY0lucHV0Q3Vyc29ySXRlcmF0b3I7Ci0gICAgcmV0dXJuIHNldFVwSXRlcmF0b3JX
aXRoUnVsZXMoY3JlYXRlZElucHV0Q3Vyc29ySXRlcmF0b3IsIHN0YXRpY0lucHV0Q3Vyc29ySXRl
cmF0b3IsIGtSdWxlcywgc3RyaW5nLCBsZW5ndGgpOworICAgICAgICAiISFzYWZlX2ZvcndhcmQ7
IjsKKyAgICBzdGF0aWMgYm9vbCBjcmVhdGVkQ3Vyc29yTW92ZW1lbnRJdGVyYXRvciA9IGZhbHNl
OworICAgIHN0YXRpYyBUZXh0QnJlYWtJdGVyYXRvciogc3RhdGljQ3Vyc29yTW92ZW1lbnRJdGVy
YXRvcjsKKyAgICByZXR1cm4gc2V0VXBJdGVyYXRvcldpdGhSdWxlcyhjcmVhdGVkQ3Vyc29yTW92
ZW1lbnRJdGVyYXRvciwgc3RhdGljQ3Vyc29yTW92ZW1lbnRJdGVyYXRvciwga1J1bGVzLCBzdHJp
bmcsIGxlbmd0aCk7CiB9CiAKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQxNTc1KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDMt
MTAgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzkwCisgICAgICAgIExpZ2F0dXJlcyBhcmVuJ3QgYWNjb3VudGVk
IGZvciB3aGVuIG1hbmlwdWxhdGluZyBWaXNpYmxlUG9zaXRpb25zCisKKwlBZGRlZCBhIHRlc3Qg
d2hpY2ggdGVzdHMgaWYgd2UgY2FuIHByZXZlbnQgYSBjdXJzb3IgZnJvbSBtb3ZpbmcgaW4gdGhl
IG1pZGRsZSBvZiBhbiBJbmRpYyBsaWdhdHVyZS4KKwkKKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0
aW5nL3NraXAtdmlyYW1hLTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvZGVsZXRpbmcvc2tpcC12aXJhbWEtMDAxLmh0bWw6IEFkZGVkLgorCiAyMDA5LTAzLTEwICBC
ZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvc2tpcC12aXJhbWEt
MDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0
aW5nL3NraXAtdmlyYW1hLTAwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3NraXAtdmlyYW1hLTAwMS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3Rl
ZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgdG8gMCBvZiBESVYgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgdG8gMSBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZp
ZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNl
bGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWIHRvIDEgb2YgI3RleHQg
PiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgdG8gMiBvZiAjdGV4
dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0
ID4gRElWIHRvIDIgb2YgI3RleHQgPiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDMgb2YgI3Rl
eHQgPiBESVYgdG8gMyBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorVGhpcyB0ZXN0IHRlc3RzIHdoZXRo
ZXIgb3Igbm90IHdlIGNhbiBwcmV2ZW50IGEgY3Vyc29yIGZyb20gbW92aW5nIGFmdGVyIGEgdmly
YW1hIHNpZ24uCisKK0lmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91IGNhbiBzZWUgYSBzdHJpbmcg
InN1Y2NlZWRlZCIgYmVsb3cuCisKKworU3VjY2VlZGVkLgpJbmRleDogTGF5b3V0VGVzdHMvZWRp
dGluZy9kZWxldGluZy9za2lwLXZpcmFtYS0wMDEuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3NraXAtdmlyYW1hLTAwMS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9za2lwLXZpcmFtYS0wMDEuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5FZGl0aW5n
IFRlc3QgKFNraXBwaW5nIGEgdmlyYW1hIHNpZ24pPC90aXRsZT4KKzxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+Cis8c2Ny
aXB0IHNyYz0iLi4vZWRpdGluZy5qcyIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorZnVuY3Rpb24gbG9nKHN0cikgeworICAgIHZhciBsaSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgbGkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQobGkpOworfQorZnVu
Y3Rpb24gc2VuZEJhY2t3YXJkRGVsZXRlS2V5KCkgeworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpCisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAw
MDgpLCBudWxsKTsKK30KK2Z1bmN0aW9uIGVkaXRpbmdUZXN0KCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3QiKTsKKyAgICB0ZXh0YXJlYS5mb2N1cygpOworICAgIHR5cGVDaGFyYWN0ZXJDb21t
YW5kKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwOTE1KSk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1h
bmQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDA5NEQpKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFu
ZChTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDkzNykpOworICAgIG1vdmVTZWxlY3Rpb25CYWNrd2Fy
ZEJ5Q2hhcmFjdGVyQ29tbWFuZCgpOworICAgIHNlbmRCYWNrd2FyZERlbGV0ZUtleSgpOworICAg
IHZhciBleHBlY3RlZF9yZXN1bHQgPSAiXHUwOTE1XHUwOTREXHUwOTM3IjsKKyAgICBpZiAodGV4
dGFyZWEudmFsdWUgPT0gZXhwZWN0ZWRfcmVzdWx0KQorICAgICAgICBsb2coIlN1Y2NlZWRlZC4i
KTsKKyAgICBlbHNlCisgICAgICAgIGxvZygiRmFpbGVkLiBBY3R1YWw6IFwiIiArIHRleHRhcmVh
LnZhbHVlICsgIlwiLCBFeHBlY3RlZDogXCIiICsgZXhwZWN0ZWRfcmVzdWx0ICsgIlwiLiIpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCB0ZXN0cyB3aGV0aGVy
IG9yIG5vdCB3ZSBjYW4gcHJldmVudCBhIGN1cnNvciBmcm9tIG1vdmluZyBhZnRlciBhIHZpcmFt
YSBzaWduLjwvcD4KKzxwPklmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91IGNhbiBzZWUgYSBzdHJp
bmcgInN1Y2NlZWRlZCIgYmVsb3cuPC9wPgorPHRleHRhcmVhIGlkPSJ0ZXN0IiByb3dzPSIxIiBj
b2xzPSI0MCI+PC90ZXh0YXJlYT4KKzx1bCBpZD0iY29uc29sZSI+PC91bD4KKzxzY3JpcHQgbGFu
Z3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitydW5FZGl0aW5nVGVz
dCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="13958"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>