<?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>30234</bug_id>
          
          <creation_ts>2009-10-08 14:21:25 -0700</creation_ts>
          <short_desc>Win: Double clicking words in selects adjacent newlines</short_desc>
          <delta_ts>2017-07-18 08:30:22 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>rniwa</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153536</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-08 14:21:25 -0700</bug_when>
    <thetext>From Chromium bug, http://crbug.com/12679

Double clicking the last word on a line also selects the following adjacent new lines.

This happens on Windows which has isSelectTrailingWhitespaceEnabled set to true. Mac and Linux returns false for that. This cause us to call appendTrailingWhitespace which incorrectly appends newlines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153556</commentid>
    <comment_count>1</comment_count>
      <attachid>40915</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-08 15:23:57 -0700</bug_when>
    <thetext>Created attachment 40915
Fixes issue where doubleclicking a word could select following adjacent newlines.

https://bugs.webkit.org/show_bug.cgi?id=30234
---
 12 files changed, 246 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153563</commentid>
    <comment_count>2</comment_count>
      <attachid>40915</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-08 16:34:55 -0700</bug_when>
    <thetext>Comment on attachment 40915
Fixes issue where doubleclicking a word could select following adjacent newlines.

I&apos;m not so happy with this function being named isSpace(). The &lt;ctype.h&gt; function named isspace() returns true for newlines, and having such a similarly-named function with different behavior seems wrong. So if you do want to add a function I think it needs a different name.

It&apos;s also worth noting that the characters coming out of the CharacterIterator will not be &apos;\r&apos; characters under any circumstance. I think for this patch it would be better to just add a special case for &apos;\n&apos; in the VisibleSelection code rather than adding the new function.

This otherwise seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153568</commentid>
    <comment_count>3</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-08 16:48:25 -0700</bug_when>
    <thetext>Thanks for the quick review. I&apos;ll remove isSpace and just handle &apos;\n&apos; in VisibleSelection as you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153582</commentid>
    <comment_count>4</comment_count>
      <attachid>40920</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-08 17:32:35 -0700</bug_when>
    <thetext>Created attachment 40920
Remove isSpace and check for newline in appendTrailingWhitespace

https://bugs.webkit.org/show_bug.cgi?id=30234
---
 11 files changed, 242 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153583</commentid>
    <comment_count>5</comment_count>
      <attachid>40921</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-08 17:41:16 -0700</bug_when>
    <thetext>Created attachment 40921
Fix ChangeLogs

https://bugs.webkit.org/show_bug.cgi?id=30234
---
 11 files changed, 238 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154368</commentid>
    <comment_count>6</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-13 10:08:07 -0700</bug_when>
    <thetext>Darin, can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154728</commentid>
    <comment_count>7</comment_count>
      <attachid>40921</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-14 23:31:30 -0700</bug_when>
    <thetext>Comment on attachment 40921
Fix ChangeLogs

R+ given that you&apos;ve addressed Darin&apos;s comment from Comment #2 and he said the rest looked good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155592</commentid>
    <comment_count>8</comment_count>
      <attachid>40921</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-19 00:00:06 -0700</bug_when>
    <thetext>Comment on attachment 40921
Fix ChangeLogs

Clearing flags on attachment: 40921

Committed r49767: &lt;http://trac.webkit.org/changeset/49767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155593</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-19 00:00:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155787</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-19 11:15:07 -0700</bug_when>
    <thetext>The test for this inside platform/win is not passing on the bots:

http://build.webkit.org/results/Windows%20Release%20(Tests)/r49789%20(5277)/platform/win/editing/selection/doubleclick-should-not-expand-across-lines-pretty-diff.html

Re-opening the bug and adding this test to the Windows Skipped List.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155802</commentid>
    <comment_count>11</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-19 11:45:42 -0700</bug_when>
    <thetext>Sorry about that. It seems like DRT is not platform specific and uses the Mac setting for Windows. I&apos;ll need to update DRT to do the right thing on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155843</commentid>
    <comment_count>12</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-19 12:43:31 -0700</bug_when>
    <thetext>I think I misunderstood how DRT was supposed to work. I&apos;m going to move the test out of platform since DRT behaves the same on all platforms. We&apos;ll just have to rebaseline our chromium layout tests instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155906</commentid>
    <comment_count>13</comment_count>
      <attachid>41452</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-19 14:30:04 -0700</bug_when>
    <thetext>Created attachment 41452
Move layout tests to non platform dirs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155913</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-19 14:35:45 -0700</bug_when>
    <thetext>This seems like a strange quirk to Apple&apos;s window port.  I think other windows ports will probably want windows-style behavior in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155920</commentid>
    <comment_count>15</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-10-19 14:46:18 -0700</bug_when>
    <thetext>Just wanted to let you know I landed changes to the Windows skip file before yours. So, you will have to update that bit of your patch before you land.

For your reference the changes landed were part of bug #30266.

(In reply to comment #13)
&gt; Created an attachment (id=41452) [details]
&gt; Move layout tests to non platform dirs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155989</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-19 17:14:10 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; This seems like a strange quirk to Apple&apos;s window port.  I think other windows
&gt; ports will probably want windows-style behavior in DRT.

I don’t think this is an intentional quirk. Could you clarify what the quirk is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156004</commentid>
    <comment_count>17</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-10-19 17:48:34 -0700</bug_when>
    <thetext>I don&apos;t think this is so much a quirk as an issue with Safari and DRT. WebViewClient::isSelectTrailingWhitespaceEnabled is supposed to return true on Windows but that is not the case with Safari Win nor DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171523</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 13:06:40 -0800</bug_when>
    <thetext>bweinstein added it to the skipped list in http://trac.webkit.org/changeset/49793</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171524</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 13:06:59 -0800</bug_when>
    <thetext>I&apos;m confused as to what&apos;s the status of this patch or if it&apos;s really up for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171529</commentid>
    <comment_count>20</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-12-14 13:10:17 -0800</bug_when>
    <thetext>This fixes the test (and removes the entry in the platform/win/Skipped). This is ready to be reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172591</commentid>
    <comment_count>21</comment_count>
      <attachid>45026</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-12-16 17:11:52 -0800</bug_when>
    <thetext>Created attachment 45026
Updated the ChangeLog with more description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172592</commentid>
    <comment_count>22</comment_count>
      <attachid>45027</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-12-16 17:17:17 -0800</bug_when>
    <thetext>Created attachment 45027
Updated the ChangeLog with more description as well as removed some whitespace changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173217</commentid>
    <comment_count>23</comment_count>
      <attachid>45027</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-18 10:42:45 -0800</bug_when>
    <thetext>Comment on attachment 45027
Updated the ChangeLog with more description as well as removed some whitespace changes

&gt; +        Move the layout tests to non platform dir. Since DRT on Windows uses Mac
&gt; +        settings all platforms produce the same result so there is no need for
&gt; +        platform specific expectations.

I don&apos;t understand this. Aren&apos;t there platforms other than Windows and Mac?

Don&apos;t we want to test both modes? Can DRT be told to switch modes so we can test both modes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175379</commentid>
    <comment_count>24</comment_count>
      <attachid>45027</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-12-28 20:02:00 -0800</bug_when>
    <thetext>Comment on attachment 45027
Updated the ChangeLog with more description as well as removed some whitespace changes

r- to address Darin&apos;s comment on Dec 18.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300894</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-27 23:12:43 -0700</bug_when>
    <thetext>Have you tried setEditingBehavior?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40915</attachid>
            <date>2009-10-08 15:23:57 -0700</date>
            <delta_ts>2009-10-08 17:32:32 -0700</delta_ts>
            <desc>Fixes issue where doubleclicking a word could select following adjacent newlines.</desc>
            <filename>bug-30234-20091008152355.patch</filename>
            <type>text/plain</type>
            <size>12411</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYWZkYmEyLi5jNGU0ZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMTAt
MDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBpc3N1ZSB3aGVyZSBkb3VibGVj
bGlja2luZyBhIHdvcmQgY291bGQgc2VsZWN0IGZvbGxvd2luZyBhZGphY2VudCBuZXdsaW5lcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjM0CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3Qt
ZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91Ymxl
Y2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzOiBBZGRlZC4KKyAgICAgICAg
KGRlc2NyaXB0aW9uLmRvdWJsZUNsaWNrT25FbGVtZW50KToKKyAgICAgICAgKGRvdWJsZUNsaWNr
QXQpOgorICAgICAgICAoc2VsZWN0aW9uU2hvdWxkQmUpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGlu
Zy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3Jp
cHQtdGVzdHMvVEVNUExBVEUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFu
ZC1hY3Jvc3MtbGluZXMuanM6IEFkZGVkLgorICAgICAgICAoZGVzY3JpcHRpb24uZG91YmxlQ2xp
Y2tPbkVsZW1lbnQpOgorICAgICAgICAoZG91YmxlQ2xpY2tBdCk6CisgICAgICAgIChzZWxlY3Rp
b25TaG91bGRCZSk6CisKIDIwMDktMDktMTEgIENhbWVyb24gTWNDb3JtYWNrICA8Y2FtQG1jYy5p
ZC5hdT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91
bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5k
LWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOWI4ZWFmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Vuc3VyZSB0aGF0IGRvdWJsZSBj
bGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFy
aWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdHJpbmcod2luZG93
LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKSkgaXMgIm1vcmUiCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJt
b3JlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9k
b3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90
LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi40ZTJiNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmJjZmViNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNf
RklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10
ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kOGU3NTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKQEAgLTAsMCArMSw2MiBAQAorZGVz
Y3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2Vs
ZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLiIpCisKK2Z1bmN0aW9uIGRvdWJsZUNs
aWNrT25FbGVtZW50KGVsKQoreworICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisgICAgdmFyIHggPSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICB2YXIg
eSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOworICAgIGRvdWJsZUNsaWNrQXQoeCwgeSk7
Cit9CisKK2Z1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwgeSkKK3sKKyAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0aW9uU2hvdWxkQmUocykK
K3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkpJywgcyk7Cit9CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworLy8gRElWIHdpdGggYnIKK2Rpdi5p
bm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5ic3A7PGJyPiZuYnNwOzxicj50ZXh0JzsK
K2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7CitzZWxlY3Rpb25T
aG91bGRCZSgnbW9yZScpOworCisvLyBESVYgd2l0aCB3aGl0ZS1zcGFjZSBwcmUKK2Rpdi5zdHls
ZS53aGl0ZVNwYWNlID0gJ3ByZSc7CitkaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9zcGFuPnJl
ICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxk
KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZGl2KTsKKworLy8gVGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBnZXQgdGhlIHBvc2l0
aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNlCisvLyBhIGxhcmdlIGZvbnQgaW4gYSB0
ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lcgorCit2YXIg
dGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwordGV4dGFyZWEu
c3R5bGUuYm9yZGVyID0gMDsKK3RleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAwOwordGV4dGFyZWEu
c3R5bGUuZm9udFNpemUgPSAnMzBweCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRh
cmVhKTsKKwordmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKK3Zh
ciB4ID0gcmVjdC5sZWZ0ICsgMTA7Cit2YXIgeSA9IHJlY3QudG9wICsgMTA7CisKK3RleHRhcmVh
LnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja0F0KHgsIHkpOworc2VsZWN0
aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0YXJl
YSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jN2RkYWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRW5zdXJlIHRoYXQgZG91YmxlIGNsaWNr
aW5nIGRvZXMgbm90IGV4cGFuZCBzZWxlY3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJpZXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkpIGlzICJtb3JlIMKgIgorUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlv
bigpKSBpcyAibW9yZSAgIgorUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAi
bW9yZSAgIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlv
bi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQt
bm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi40ZTJiNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Nj
cmlwdC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRp
bmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmJjZmViNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJf
SlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2Rv
dWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTQ2MzUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVj
bGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKQEAgLTAsMCArMSw2MiBAQAor
ZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQg
c2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLiIpCisKK2Z1bmN0aW9uIGRvdWJs
ZUNsaWNrT25FbGVtZW50KGVsKQoreworICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk7CisgICAgdmFyIHggPSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICB2
YXIgeSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOworICAgIGRvdWJsZUNsaWNrQXQoeCwg
eSk7Cit9CisKK2Z1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwgeSkKK3sKKyAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0aW9uU2hvdWxkQmUo
cykKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyh3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkpJywgcyk7Cit9CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworLy8gRElWIHdpdGggYnIKK2Rp
di5pbm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5ic3A7PGJyPiZuYnNwOzxicj50ZXh0
JzsKK2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7CitzZWxlY3Rp
b25TaG91bGRCZSgnbW9yZSBceGEwJyk7CisKKy8vIERJViB3aXRoIHdoaXRlLXNwYWNlIHByZQor
ZGl2LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlJzsKK2Rpdi5pbm5lckhUTUwgPSAnbTxzcGFuPm88
L3NwYW4+cmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja09uRWxlbWVudChkaXYuZmlyc3RFbGVt
ZW50Q2hpbGQpOworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUgICcpOworCitkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRpdik7CisKKy8vIFRleHRhcmVhIC0tIHdlIGNhbm5vdCByZWFsbHkgZ2V0
IHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCB3ZSB3YW50IHNvIHdlIHVzZQorLy8gYSBsYXJnZSBm
b250IGluIGEgdGV4dGFyZWEgYW5kIGRvdWJsZSBjbGljayBpbiB0aGUgdXBwZXIgbGVmdCBjb3Ju
ZXIKKwordmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
K3RleHRhcmVhLnN0eWxlLmJvcmRlciA9IDA7Cit0ZXh0YXJlYS5zdHlsZS5wYWRkaW5nID0gMDsK
K3RleHRhcmVhLnN0eWxlLmZvbnRTaXplID0gJzMwcHgnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciByZWN0ID0gdGV4dGFyZWEuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Cit2YXIgeCA9IHJlY3QubGVmdCArIDEwOwordmFyIHkgPSByZWN0LnRvcCArIDEwOwor
Cit0ZXh0YXJlYS52YWx1ZSA9ICdtb3JlICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tBdCh4LCB5
KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlICAnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOTU3MTJi
Li5iNjg0YTY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5LTEwLTA4ICBFcmlrIEFydmlkc3NvbiAgPGFy
dkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4ZXMgaXNzdWUgd2hlcmUgZG91YmxlY2xpY2tpbmcgYSB3b3JkIGNvdWxkIHNl
bGVjdCBmb2xsb3dpbmcgYWRqYWNlbnQgbmV3bGluZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDIzNAorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVj
dGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjphcHBl
bmRUcmFpbGluZ1doaXRlc3BhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvU3RyaW5nSW1w
bC5oOgorICAgICAgICAoV2ViQ29yZTo6aXNTcGFjZSk6CisKIDIwMDktMDktMTEgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRp
bW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAppbmRleCA4YWRm
ZDcxLi43ZGI4NTJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlv
bi5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwCkBAIC0yMzcs
NyArMjM3LDcgQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjphcHBlbmRUcmFpbGluZ1doaXRlc3Bh
Y2UoKQogCiAgICAgZm9yICg7IGNoYXJJdC5sZW5ndGgoKTsgY2hhckl0LmFkdmFuY2UoMSkpIHsK
ICAgICAgICAgVUNoYXIgYyA9IGNoYXJJdC5jaGFyYWN0ZXJzKClbMF07Ci0gICAgICAgIGlmICgh
aXNTcGFjZU9yTmV3bGluZShjKSAmJiBjICE9IG5vQnJlYWtTcGFjZSkKKyAgICAgICAgaWYgKCFp
c1NwYWNlKGMpICYmIGMgIT0gbm9CcmVha1NwYWNlKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIG1fZW5kID0gY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggOGI0ZTgyZC4uOGFlNjlhYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvU3RyaW5nSW1wbC5oCkBAIC0zMTcsNiArMzE3LDEyIEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1NwYWNlT3JOZXdsaW5lKFVDaGFyIGMpCiAgICAgcmV0dXJuIGMgPD0gMHg3RiA/IFdURjo6
aXNBU0NJSVNwYWNlKGMpIDogV1RGOjpVbmljb2RlOjpkaXJlY3Rpb24oYykgPT0gV1RGOjpVbmlj
b2RlOjpXaGl0ZVNwYWNlTmV1dHJhbDsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzU3BhY2Uo
VUNoYXIgYykKK3sKKyAgICAvLyBNb3N0IGxpa2VseSBvdXRjb21lIGlzIHRoYXQgdGhpcyBpcyBu
b3QgYSBzcGFjZSBvciBhIG5ld2xpbmUuCisgICAgcmV0dXJuIGlzU3BhY2VPck5ld2xpbmUoYykg
JiYgYyAhPSAnXG4nICYmIGMgIT0gJ1xyJzsKK30KKwogLy8gVGhpcyBpcyBhIGhvdCBmdW5jdGlv
biBiZWNhdXNlIGl0J3MgdXNlZCB3aGVuIHBhcnNpbmcgSFRNTC4KIGlubGluZSBQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZVN0cmlwcGluZ051bGxDaGFyYWN0ZXJzKGNv
bnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40920</attachid>
            <date>2009-10-08 17:32:35 -0700</date>
            <delta_ts>2009-10-08 17:41:13 -0700</delta_ts>
            <desc>Remove isSpace and check for newline in appendTrailingWhitespace</desc>
            <filename>bug-30234-20091008173233.patch</filename>
            <type>text/plain</type>
            <size>11743</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYWZkYmEyLi4yNzZkZWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDktMTAt
MDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBpc3N1ZSB3aGVyZSBkb3VibGVj
bGlja2luZyBhIHdvcmQgY291bGQgc2VsZWN0IGZvbGxvd2luZyBhZGphY2VudCBuZXdsaW5lcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjM0CisK
KyAgICAgICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKwor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91
bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1l
eHBhbmQtYWNyb3NzLWxpbmVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9l
ZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVj
bGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanM6IEFkZGVkLgorICAgICAgICAo
ZGVzY3JpcHRpb24uZG91YmxlQ2xpY2tPbkVsZW1lbnQpOgorICAgICAgICAoZG91YmxlQ2xpY2tB
dCk6CisgICAgICAgIChzZWxlY3Rpb25TaG91bGRCZSk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5n
L3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRp
dGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5k
LWFjcm9zcy1saW5lcy5qczogQWRkZWQuCisgICAgICAgIChkZXNjcmlwdGlvbi5kb3VibGVDbGlj
a09uRWxlbWVudCk6CisgICAgICAgIChkb3VibGVDbGlja0F0KToKKyAgICAgICAgKHNlbGVjdGlv
blNob3VsZEJlKToKKwogMjAwOS0wOS0xMSAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxjYW1AbWNjLmlk
LmF1PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3Vs
ZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQt
YWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45YjhlYWZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRW5zdXJlIHRoYXQgZG91YmxlIGNs
aWNraW5nIGRvZXMgbm90IGV4cGFuZCBzZWxlY3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJp
ZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN0cmluZyh3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlIgorUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlv
bigpKSBpcyAibW9yZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1v
cmUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2Rv
dWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3Qt
ZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjRlMmI0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxp
bmVzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0
LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYmNmZWI2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19G
SUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRl
c3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91Ymxl
Y2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZTc1M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNr
LXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpAQCAtMCwwICsxLDYyIEBACitkZXNj
cmlwdGlvbigiRW5zdXJlIHRoYXQgZG91YmxlIGNsaWNraW5nIGRvZXMgbm90IGV4cGFuZCBzZWxl
Y3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJpZXMuIikKKworZnVuY3Rpb24gZG91YmxlQ2xp
Y2tPbkVsZW1lbnQoZWwpCit7CisgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKKyAgICB2YXIgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOworICAgIHZhciB5
ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7CisgICAgZG91YmxlQ2xpY2tBdCh4LCB5KTsK
K30KKworZnVuY3Rpb24gZG91YmxlQ2xpY2tBdCh4LCB5KQoreworICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCk7CisgICAgfQorfQorCitmdW5jdGlvbiBzZWxlY3Rpb25TaG91bGRCZShzKQor
eworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24o
KSknLCBzKTsKK30KKwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworCisvLyBESVYgd2l0aCBicgorZGl2Lmlu
bmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAmbmJzcDs8YnI+Jm5ic3A7PGJyPnRleHQnOwor
ZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKK3NlbGVjdGlvblNo
b3VsZEJlKCdtb3JlJyk7CisKKy8vIERJViB3aXRoIHdoaXRlLXNwYWNlIHByZQorZGl2LnN0eWxl
LndoaXRlU3BhY2UgPSAncHJlJzsKK2Rpdi5pbm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUg
IFxuIFxudGV4dCc7Citkb3VibGVDbGlja09uRWxlbWVudChkaXYuZmlyc3RFbGVtZW50Q2hpbGQp
Oworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZChkaXYpOworCisvLyBUZXh0YXJlYSAtLSB3ZSBjYW5ub3QgcmVhbGx5IGdldCB0aGUgcG9zaXRp
b24gb2YgdGhlIHdvcmQgd2Ugd2FudCBzbyB3ZSB1c2UKKy8vIGEgbGFyZ2UgZm9udCBpbiBhIHRl
eHRhcmVhIGFuZCBkb3VibGUgY2xpY2sgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyCisKK3ZhciB0
ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Cit0ZXh0YXJlYS5z
dHlsZS5ib3JkZXIgPSAwOwordGV4dGFyZWEuc3R5bGUucGFkZGluZyA9IDA7Cit0ZXh0YXJlYS5z
dHlsZS5mb250U2l6ZSA9ICczMHB4JzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFy
ZWEpOworCit2YXIgcmVjdCA9IHRleHRhcmVhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwordmFy
IHggPSByZWN0LmxlZnQgKyAxMDsKK3ZhciB5ID0gcmVjdC50b3AgKyAxMDsKKwordGV4dGFyZWEu
dmFsdWUgPSAnbW9yZSAgXG4gXG50ZXh0JzsKK2RvdWJsZUNsaWNrQXQoeCwgeSk7CitzZWxlY3Rp
b25TaG91bGRCZSgnbW9yZScpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVh
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5v
dC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmM3ZGRhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRp
dGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitFbnN1cmUgdGhhdCBkb3VibGUgY2xpY2tp
bmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUgYm91bmRhcmllcy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKSkgaXMgIm1vcmUgwqAiCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkpIGlzICJtb3JlICAiCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJt
b3JlICAiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjRlMmI0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGlu
Zy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYmNmZWI2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRt
bApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9K
U19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0
LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91
YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNDYzNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNs
aWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpAQCAtMCwwICsxLDYyIEBACitk
ZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQgZG91YmxlIGNsaWNraW5nIGRvZXMgbm90IGV4cGFuZCBz
ZWxlY3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJpZXMuIikKKworZnVuY3Rpb24gZG91Ymxl
Q2xpY2tPbkVsZW1lbnQoZWwpCit7CisgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKKyAgICB2YXIgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOworICAgIHZh
ciB5ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7CisgICAgZG91YmxlQ2xpY2tBdCh4LCB5
KTsKK30KKworZnVuY3Rpb24gZG91YmxlQ2xpY2tBdCh4LCB5KQoreworICAgIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CisgICAgfQorfQorCitmdW5jdGlvbiBzZWxlY3Rpb25TaG91bGRCZShz
KQoreworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKSknLCBzKTsKK30KKwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworCisvLyBESVYgd2l0aCBicgorZGl2
LmlubmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAmbmJzcDs8YnI+Jm5ic3A7PGJyPnRleHQn
OworZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKK3NlbGVjdGlv
blNob3VsZEJlKCdtb3JlIFx4YTAnKTsKKworLy8gRElWIHdpdGggd2hpdGUtc3BhY2UgcHJlCitk
aXYuc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUnOworZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwv
c3Bhbj5yZSAgXG4gXG50ZXh0JzsKK2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1l
bnRDaGlsZCk7CitzZWxlY3Rpb25TaG91bGRCZSgnbW9yZSAgJyk7CisKK2RvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoZGl2KTsKKworLy8gVGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBnZXQg
dGhlIHBvc2l0aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNlCisvLyBhIGxhcmdlIGZv
bnQgaW4gYSB0ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5l
cgorCit2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwor
dGV4dGFyZWEuc3R5bGUuYm9yZGVyID0gMDsKK3RleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAwOwor
dGV4dGFyZWEuc3R5bGUuZm9udFNpemUgPSAnMzBweCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHRleHRhcmVhKTsKKwordmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKK3ZhciB4ID0gcmVjdC5sZWZ0ICsgMTA7Cit2YXIgeSA9IHJlY3QudG9wICsgMTA7CisK
K3RleHRhcmVhLnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja0F0KHgsIHkp
Oworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUgICcpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKHRleHRhcmVhKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ5NTcxMmIu
LjgxMGI2NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTAtMDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXhlcyBpc3N1ZSB3aGVyZSBkb3VibGVjbGlja2luZyBhIHdvcmQgY291bGQgc2Vs
ZWN0IGZvbGxvd2luZyBhZGphY2VudCBuZXdsaW5lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjM0CisKKyAgICAgICAgTmVlZCBhIHNob3J0IGRl
c2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICBUZXN0czogcGxhdGZvcm0v
bWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rp
b24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL3dp
bi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVT
ZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6YXBwZW5k
VHJhaWxpbmdXaGl0ZXNwYWNlKToKKwogMjAwOS0wOS0xMSAgQnJpYW4gV2VpbnN0ZWluICA8Yndl
aW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVy
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwIGIvV2Vi
Q29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwCmluZGV4IDhhZGZkNzEuLjIwNmRlODYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAorKysgYi9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKQEAgLTIzNyw3ICsyMzcsNyBAQCB2
b2lkIFZpc2libGVTZWxlY3Rpb246OmFwcGVuZFRyYWlsaW5nV2hpdGVzcGFjZSgpCiAKICAgICBm
b3IgKDsgY2hhckl0Lmxlbmd0aCgpOyBjaGFySXQuYWR2YW5jZSgxKSkgewogICAgICAgICBVQ2hh
ciBjID0gY2hhckl0LmNoYXJhY3RlcnMoKVswXTsKLSAgICAgICAgaWYgKCFpc1NwYWNlT3JOZXds
aW5lKGMpICYmIGMgIT0gbm9CcmVha1NwYWNlKQorICAgICAgICBpZiAoIWlzU3BhY2VPck5ld2xp
bmUoYykgJiYgYyAhPSBub0JyZWFrU3BhY2UgfHwgYyA9PSAnXG4nKQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIG1fZW5kID0gY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCk7CiAgICAg
fQ==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40921</attachid>
            <date>2009-10-08 17:41:16 -0700</date>
            <delta_ts>2009-10-19 14:29:50 -0700</delta_ts>
            <desc>Fix ChangeLogs</desc>
            <filename>bug-30234-20091008174115.patch</filename>
            <type>text/plain</type>
            <size>11631</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYWZkYmEyLi5jNGU0ZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMTAt
MDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBpc3N1ZSB3aGVyZSBkb3VibGVj
bGlja2luZyBhIHdvcmQgY291bGQgc2VsZWN0IGZvbGxvd2luZyBhZGphY2VudCBuZXdsaW5lcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMjM0CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3Qt
ZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91Ymxl
Y2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzOiBBZGRlZC4KKyAgICAgICAg
KGRlc2NyaXB0aW9uLmRvdWJsZUNsaWNrT25FbGVtZW50KToKKyAgICAgICAgKGRvdWJsZUNsaWNr
QXQpOgorICAgICAgICAoc2VsZWN0aW9uU2hvdWxkQmUpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGlu
Zy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3Jp
cHQtdGVzdHMvVEVNUExBVEUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFu
ZC1hY3Jvc3MtbGluZXMuanM6IEFkZGVkLgorICAgICAgICAoZGVzY3JpcHRpb24uZG91YmxlQ2xp
Y2tPbkVsZW1lbnQpOgorICAgICAgICAoZG91YmxlQ2xpY2tBdCk6CisgICAgICAgIChzZWxlY3Rp
b25TaG91bGRCZSk6CisKIDIwMDktMDktMTEgIENhbWVyb24gTWNDb3JtYWNrICA8Y2FtQG1jYy5p
ZC5hdT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91
bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5k
LWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOWI4ZWFmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Vuc3VyZSB0aGF0IGRvdWJsZSBj
bGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFy
aWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdHJpbmcod2luZG93
LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKSkgaXMgIm1vcmUiCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJt
b3JlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9k
b3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90
LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi40ZTJiNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmJjZmViNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNf
RklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10
ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kOGU3NTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKQEAgLTAsMCArMSw2MiBAQAorZGVz
Y3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2Vs
ZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLiIpCisKK2Z1bmN0aW9uIGRvdWJsZUNs
aWNrT25FbGVtZW50KGVsKQoreworICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisgICAgdmFyIHggPSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICB2YXIg
eSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOworICAgIGRvdWJsZUNsaWNrQXQoeCwgeSk7
Cit9CisKK2Z1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwgeSkKK3sKKyAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0aW9uU2hvdWxkQmUocykK
K3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkpJywgcyk7Cit9CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworLy8gRElWIHdpdGggYnIKK2Rpdi5p
bm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5ic3A7PGJyPiZuYnNwOzxicj50ZXh0JzsK
K2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7CitzZWxlY3Rpb25T
aG91bGRCZSgnbW9yZScpOworCisvLyBESVYgd2l0aCB3aGl0ZS1zcGFjZSBwcmUKK2Rpdi5zdHls
ZS53aGl0ZVNwYWNlID0gJ3ByZSc7CitkaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9zcGFuPnJl
ICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxk
KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZGl2KTsKKworLy8gVGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBnZXQgdGhlIHBvc2l0
aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNlCisvLyBhIGxhcmdlIGZvbnQgaW4gYSB0
ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lcgorCit2YXIg
dGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwordGV4dGFyZWEu
c3R5bGUuYm9yZGVyID0gMDsKK3RleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAwOwordGV4dGFyZWEu
c3R5bGUuZm9udFNpemUgPSAnMzBweCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRh
cmVhKTsKKwordmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKK3Zh
ciB4ID0gcmVjdC5sZWZ0ICsgMTA7Cit2YXIgeSA9IHJlY3QudG9wICsgMTA7CisKK3RleHRhcmVh
LnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja0F0KHgsIHkpOworc2VsZWN0
aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0YXJl
YSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jN2RkYWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRW5zdXJlIHRoYXQgZG91YmxlIGNsaWNr
aW5nIGRvZXMgbm90IGV4cGFuZCBzZWxlY3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJpZXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkpIGlzICJtb3JlIMKgIgorUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlv
bigpKSBpcyAibW9yZSAgIgorUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAi
bW9yZSAgIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlv
bi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQt
bm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi40ZTJiNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Nj
cmlwdC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRp
bmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmJjZmViNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJf
SlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2Rv
dWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTQ2MzUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVj
bGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKQEAgLTAsMCArMSw2MiBAQAor
ZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQg
c2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLiIpCisKK2Z1bmN0aW9uIGRvdWJs
ZUNsaWNrT25FbGVtZW50KGVsKQoreworICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk7CisgICAgdmFyIHggPSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICB2
YXIgeSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOworICAgIGRvdWJsZUNsaWNrQXQoeCwg
eSk7Cit9CisKK2Z1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwgeSkKK3sKKyAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0aW9uU2hvdWxkQmUo
cykKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyh3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkpJywgcyk7Cit9CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworLy8gRElWIHdpdGggYnIKK2Rp
di5pbm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5ic3A7PGJyPiZuYnNwOzxicj50ZXh0
JzsKK2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7CitzZWxlY3Rp
b25TaG91bGRCZSgnbW9yZSBceGEwJyk7CisKKy8vIERJViB3aXRoIHdoaXRlLXNwYWNlIHByZQor
ZGl2LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlJzsKK2Rpdi5pbm5lckhUTUwgPSAnbTxzcGFuPm88
L3NwYW4+cmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja09uRWxlbWVudChkaXYuZmlyc3RFbGVt
ZW50Q2hpbGQpOworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUgICcpOworCitkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRpdik7CisKKy8vIFRleHRhcmVhIC0tIHdlIGNhbm5vdCByZWFsbHkgZ2V0
IHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCB3ZSB3YW50IHNvIHdlIHVzZQorLy8gYSBsYXJnZSBm
b250IGluIGEgdGV4dGFyZWEgYW5kIGRvdWJsZSBjbGljayBpbiB0aGUgdXBwZXIgbGVmdCBjb3Ju
ZXIKKwordmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
K3RleHRhcmVhLnN0eWxlLmJvcmRlciA9IDA7Cit0ZXh0YXJlYS5zdHlsZS5wYWRkaW5nID0gMDsK
K3RleHRhcmVhLnN0eWxlLmZvbnRTaXplID0gJzMwcHgnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciByZWN0ID0gdGV4dGFyZWEuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Cit2YXIgeCA9IHJlY3QubGVmdCArIDEwOwordmFyIHkgPSByZWN0LnRvcCArIDEwOwor
Cit0ZXh0YXJlYS52YWx1ZSA9ICdtb3JlICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tBdCh4LCB5
KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlICAnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOTU3MTJi
Li43YjdkNGY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDA5LTEwLTA4ICBFcmlrIEFydmlkc3NvbiAgPGFy
dkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4ZXMgaXNzdWUgd2hlcmUgZG91YmxlY2xpY2tpbmcgYSB3b3JkIGNvdWxkIHNl
bGVjdCBmb2xsb3dpbmcgYWRqYWNlbnQgbmV3bGluZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDIzNAorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVj
dGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjphcHBl
bmRUcmFpbGluZ1doaXRlc3BhY2UpOgorCiAyMDA5LTA5LTExICBCcmlhbiBXZWluc3RlaW4gIDxi
d2VpbnN0ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNo
ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAgYi9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5kZXggOGFkZmQ3MS4uMjA2ZGU4
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwCisrKyBi
L1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6YXBwZW5kVHJhaWxpbmdXaGl0ZXNwYWNlKCkKIAogICAg
IGZvciAoOyBjaGFySXQubGVuZ3RoKCk7IGNoYXJJdC5hZHZhbmNlKDEpKSB7CiAgICAgICAgIFVD
aGFyIGMgPSBjaGFySXQuY2hhcmFjdGVycygpWzBdOwotICAgICAgICBpZiAoIWlzU3BhY2VPck5l
d2xpbmUoYykgJiYgYyAhPSBub0JyZWFrU3BhY2UpCisgICAgICAgIGlmICghaXNTcGFjZU9yTmV3
bGluZShjKSAmJiBjICE9IG5vQnJlYWtTcGFjZSB8fCBjID09ICdcbicpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgbV9lbmQgPSBjaGFySXQucmFuZ2UoKS0+ZW5kUG9zaXRpb24oKTsKICAg
ICB9
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41452</attachid>
            <date>2009-10-19 14:30:04 -0700</date>
            <delta_ts>2009-12-16 17:11:52 -0800</delta_ts>
            <desc>Move layout tests to non platform dirs.</desc>
            <filename>bug-30234-20091019143000.patch</filename>
            <type>text/plain</type>
            <size>14445</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOGIyMTJkLi4yMDg1YTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAt
MTkgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHRoZSBsYXlvdXQgdGVzdHMgdG8g
bm9uIHBsYXRmb3JtIGRpci4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzAyMzQKKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNs
aWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xp
Y2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2st
c2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMuCisgICAgICAgIChkZXNjcmlwdGlv
bi5kb3VibGVDbGlja09uRWxlbWVudCk6CisgICAgICAgIChkb3VibGVDbGlja0F0KToKKyAgICAg
ICAgKHNlbGVjdGlvblNob3VsZEJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2Vs
ZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMv
VEVNUExBVEUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5qczogUmVtb3ZlZC4KKwogMjAwOS0xMC0xOSAgWmFuIERvYmVyc2VrICA8emFuZG9i
ZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNo
b3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGlu
ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliOGVh
ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3Vi
bGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK0Vuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQg
c2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAibW9y
ZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUiCitQQVNTIFN0
cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMDM0MGMzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5o
dG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qtc2VsZWN0aW9uLXNoYXJlZC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3Vs
ZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQ4ZTc1M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNy
b3NzLWxpbmVzLmpzCkBAIC0wLDAgKzEsNjIgQEAKK2Rlc2NyaXB0aW9uKCJFbnN1cmUgdGhhdCBk
b3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUg
Ym91bmRhcmllcy4iKQorCitmdW5jdGlvbiBkb3VibGVDbGlja09uRWxlbWVudChlbCkKK3sKKyAg
ICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgIHZhciB4ID0gcmVj
dC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7CisgICAgdmFyIHkgPSByZWN0LnRvcCArIHJlY3QuaGVp
Z2h0IC8gMjsKKyAgICBkb3VibGVDbGlja0F0KHgsIHkpOworfQorCitmdW5jdGlvbiBkb3VibGVD
bGlja0F0KHgsIHkpCit7CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdGlvblNob3VsZEJlKHMpCit7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKScsIHMpOworfQorCit2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGRpdik7CisKKy8vIERJViB3aXRoIGJyCitkaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9z
cGFuPnJlICZuYnNwOzxicj4mbmJzcDs8YnI+dGV4dCc7Citkb3VibGVDbGlja09uRWxlbWVudChk
aXYuZmlyc3RFbGVtZW50Q2hpbGQpOworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworLy8g
RElWIHdpdGggd2hpdGUtc3BhY2UgcHJlCitkaXYuc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUnOwor
ZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAgXG4gXG50ZXh0JzsKK2RvdWJsZUNs
aWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7CitzZWxlY3Rpb25TaG91bGRCZSgn
bW9yZScpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7CisKKy8vIFRleHRhcmVh
IC0tIHdlIGNhbm5vdCByZWFsbHkgZ2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCB3ZSB3YW50
IHNvIHdlIHVzZQorLy8gYSBsYXJnZSBmb250IGluIGEgdGV4dGFyZWEgYW5kIGRvdWJsZSBjbGlj
ayBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIKKwordmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgndGV4dGFyZWEnKTsKK3RleHRhcmVhLnN0eWxlLmJvcmRlciA9IDA7Cit0ZXh0
YXJlYS5zdHlsZS5wYWRkaW5nID0gMDsKK3RleHRhcmVhLnN0eWxlLmZvbnRTaXplID0gJzMwcHgn
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7CisKK3ZhciByZWN0ID0gdGV4
dGFyZWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cit2YXIgeCA9IHJlY3QubGVmdCArIDEwOwor
dmFyIHkgPSByZWN0LnRvcCArIDEwOworCit0ZXh0YXJlYS52YWx1ZSA9ICdtb3JlICBcbiBcbnRl
eHQnOworZG91YmxlQ2xpY2tBdCh4LCB5KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7CisK
K2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9u
L2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliOGVhZmQuLjAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3Vs
ZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMiArMCwwIEBACi1FbnN1cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5k
IHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUgYm91bmRhcmllcy4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1v
cmUiCi1QQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlIgotUEFTUyBT
dHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1l
eHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlMmI0MzkuLjAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNo
b3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRl
c3RzL1RFTVBMQVRFLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjZmViNmIu
LjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9u
L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDhlNzUzYS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5qcworKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLWRlc2NyaXB0aW9uKCJF
bnN1cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jv
c3MgbmV3IGxpbmUgYm91bmRhcmllcy4iKQotCi1mdW5jdGlvbiBkb3VibGVDbGlja09uRWxlbWVu
dChlbCkKLXsKLSAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
IHZhciB4ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7Ci0gICAgdmFyIHkgPSByZWN0LnRv
cCArIHJlY3QuaGVpZ2h0IC8gMjsKLSAgICBkb3VibGVDbGlja0F0KHgsIHkpOwotfQotCi1mdW5j
dGlvbiBkb3VibGVDbGlja0F0KHgsIHkpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHNlbGVjdGlvblNob3VsZEJlKHMpCi17Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKScsIHMpOwot
fQotCi12YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGRpdik7Ci0KLS8vIERJViB3aXRoIGJyCi1kaXYuaW5uZXJIVE1MID0g
J208c3Bhbj5vPC9zcGFuPnJlICZuYnNwOzxicj4mbmJzcDs8YnI+dGV4dCc7Ci1kb3VibGVDbGlj
a09uRWxlbWVudChkaXYuZmlyc3RFbGVtZW50Q2hpbGQpOwotc2VsZWN0aW9uU2hvdWxkQmUoJ21v
cmUnKTsKLQotLy8gRElWIHdpdGggd2hpdGUtc3BhY2UgcHJlCi1kaXYuc3R5bGUud2hpdGVTcGFj
ZSA9ICdwcmUnOwotZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAgXG4gXG50ZXh0
JzsKLWRvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7Ci1zZWxlY3Rp
b25TaG91bGRCZSgnbW9yZScpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7Ci0K
LS8vIFRleHRhcmVhIC0tIHdlIGNhbm5vdCByZWFsbHkgZ2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUg
d29yZCB3ZSB3YW50IHNvIHdlIHVzZQotLy8gYSBsYXJnZSBmb250IGluIGEgdGV4dGFyZWEgYW5k
IGRvdWJsZSBjbGljayBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIKLQotdmFyIHRleHRhcmVhID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsKLXRleHRhcmVhLnN0eWxlLmJvcmRl
ciA9IDA7Ci10ZXh0YXJlYS5zdHlsZS5wYWRkaW5nID0gMDsKLXRleHRhcmVhLnN0eWxlLmZvbnRT
aXplID0gJzMwcHgnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7Ci0KLXZh
ciByZWN0ID0gdGV4dGFyZWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci12YXIgeCA9IHJlY3Qu
bGVmdCArIDEwOwotdmFyIHkgPSByZWN0LnRvcCArIDEwOwotCi10ZXh0YXJlYS52YWx1ZSA9ICdt
b3JlICBcbiBcbnRleHQnOwotZG91YmxlQ2xpY2tBdCh4LCB5KTsKLXNlbGVjdGlvblNob3VsZEJl
KCdtb3JlJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpOwotCi12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXgg
NjFiMDAzMC4uYTZlODYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTY4OCw0ICs2
ODgsMyBAQCBodHRwL3Rlc3RzL2dsb2JhbGhpc3RvcnkvaGlzdG9yeS1kZWxlZ2F0ZS1iYXNpYy12
aXNpdGVkLWxpbmtzLmh0bWwKIAogIyBUaGVzZSB0ZXN0cyBoYXZlIG5ldmVyIHBhc3NlZCBvbiBX
aW5kb3dzLCByZW9wZW5pbmcgdGhlaXIgYnVncwogZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1k
YXRhVHJhbnNmZXItdHlwZXMtbm9jcmFzaC5odG1sCi1wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxl
Y3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3Vi
bGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3Vs
ZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM3ZGRhZjEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1FbnN1
cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3Mg
bmV3IGxpbmUgYm91bmRhcmllcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUgwqAiCi1QQVNTIFN0cmlu
Zyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlICAiCi1QQVNTIFN0cmluZyh3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlICAiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTJiNDM5Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4
cGFuZC1hY3Jvc3MtbGluZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xp
Y2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFU
RS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiY2ZlYjZiLi4wMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVz
dHMvVEVNUExBVEUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5v
dC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRp
bmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1h
Y3Jvc3MtbGluZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxNDYzNTEuLjAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Nj
cmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMK
KysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1kZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQg
ZG91YmxlIGNsaWNraW5nIGRvZXMgbm90IGV4cGFuZCBzZWxlY3Rpb24gYWNyb3NzIG5ldyBsaW5l
IGJvdW5kYXJpZXMuIikKLQotZnVuY3Rpb24gZG91YmxlQ2xpY2tPbkVsZW1lbnQoZWwpCi17Ci0g
ICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICB2YXIgeCA9IHJl
Y3QubGVmdCArIHJlY3Qud2lkdGggLyAyOwotICAgIHZhciB5ID0gcmVjdC50b3AgKyByZWN0Lmhl
aWdodCAvIDI7Ci0gICAgZG91YmxlQ2xpY2tBdCh4LCB5KTsKLX0KLQotZnVuY3Rpb24gZG91Ymxl
Q2xpY2tBdCh4LCB5KQotewotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
RG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiBzZWxlY3Rpb25TaG91bGRCZShzKQotewotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSknLCBzKTsKLX0KLQotdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkaXYpOwotCi0vLyBESVYgd2l0aCBicgotZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwv
c3Bhbj5yZSAmbmJzcDs8YnI+Jm5ic3A7PGJyPnRleHQnOwotZG91YmxlQ2xpY2tPbkVsZW1lbnQo
ZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKLXNlbGVjdGlvblNob3VsZEJlKCdtb3JlIFx4YTAnKTsK
LQotLy8gRElWIHdpdGggd2hpdGUtc3BhY2UgcHJlCi1kaXYuc3R5bGUud2hpdGVTcGFjZSA9ICdw
cmUnOwotZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAgXG4gXG50ZXh0JzsKLWRv
dWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7Ci1zZWxlY3Rpb25TaG91
bGRCZSgnbW9yZSAgJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsKLQotLy8g
VGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBnZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB3b3Jk
IHdlIHdhbnQgc28gd2UgdXNlCi0vLyBhIGxhcmdlIGZvbnQgaW4gYSB0ZXh0YXJlYSBhbmQgZG91
YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lcgotCi12YXIgdGV4dGFyZWEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotdGV4dGFyZWEuc3R5bGUuYm9yZGVyID0g
MDsKLXRleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAwOwotdGV4dGFyZWEuc3R5bGUuZm9udFNpemUg
PSAnMzBweCc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKLQotdmFyIHJl
Y3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLXZhciB4ID0gcmVjdC5sZWZ0
ICsgMTA7Ci12YXIgeSA9IHJlY3QudG9wICsgMTA7Ci0KLXRleHRhcmVhLnZhbHVlID0gJ21vcmUg
IFxuIFxudGV4dCc7Ci1kb3VibGVDbGlja0F0KHgsIHkpOwotc2VsZWN0aW9uU2hvdWxkQmUoJ21v
cmUgICcpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVhKTsKLQotdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45026</attachid>
            <date>2009-12-16 17:11:52 -0800</date>
            <delta_ts>2009-12-16 17:17:17 -0800</delta_ts>
            <desc>Updated the ChangeLog with more description</desc>
            <filename>0001-Moved-double-click-to-select-tests.patch</filename>
            <type>text/plain</type>
            <size>18688</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">RnJvbSBjMDY0OGVhZDE4ZmQzNzczMWJjZmVmOTMwZWUxMjMyNmYyZGFhYjgwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlrIEFydmlkc3NvbiA8YXJ2QGNocm9taXVtLm9yZz4KRGF0
ZTogV2VkLCAxNiBEZWMgMjAwOSAxNzowOToyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIE1vdmVk
IGRvdWJsZSBjbGljayB0byBzZWxlY3QgdGVzdHMKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrKysrCiAuLi5pY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dCB8ICAgMTIgKysrKwogLi4u
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwgfCAgIDE0ICsr
KysrCiAuLi4vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzICB8
ICAgNjIgKysrKysrKysrKysrKysrKysrKysKIC4uLmljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMtZXhwZWN0ZWQudHh0IHwgICAxMiAtLS0tCiAuLi5kb3VibGVjbGljay1zaG91bGQt
bm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCB8ICAgMTMgLS0tLQogLi4uL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sICAgfCAgIDEzIC0tLS0KIC4uLi9kb3Vi
bGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgIHwgICA2MiAtLS0tLS0t
LS0tLS0tLS0tLS0tLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgICAgICAgICAg
ICAgICAgICAgfCAgIDExICstLQogLi4uaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy1leHBlY3RlZC50eHQgfCAgIDEyIC0tLS0KIC4uLmRvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhw
YW5kLWFjcm9zcy1saW5lcy5odG1sIHwgICAxMyAtLS0tCiAuLi4vZWRpdGluZy9zZWxlY3Rpb24v
c2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgICB8ICAgMTMgLS0tLQogLi4uL2RvdWJsZWNsaWNr
LXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyAgfCAgIDYyIC0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAxMyBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5zZXJ0aW9ucygrKSwgMjA3IGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2Rv
dWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1z
aG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxk
LW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1z
aG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVN
UExBVEUuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBh
bmQtYWNyb3NzLWxpbmVzLmpzCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFj
cm9zcy1saW5lcy1leHBlY3RlZC50eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBh
bmQtYWNyb3NzLWxpbmVzLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy5qcwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3OGZlYWNhLi41ZjEwY2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIw
MDktMTItMTYgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHRoZSBsYXlvdXQgdGVz
dHMgdG8gbm9uIHBsYXRmb3JtIGRpci4gU2luY2UgRFJUIG9uIFdpbmRvd3MgdXNlcyBNYWMKKyAg
ICAgICAgc2V0dGluZ3MgYWxsIHBsYXRmb3JtcyBwcm9kdWNlIHRoZSBzYW1lIHJlc3VsdCBzbyB0
aGVyZSBpcyBubyBuZWVkIGZvcgorICAgICAgICBwbGF0Zm9ybSBzcGVjaWZpYyBleHBlY3RhdGlv
bnMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMw
MjM0CisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90
LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3Qt
ZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNs
aWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcy4KKyAgICAgICAgKGRlc2NyaXB0
aW9uLmRvdWJsZUNsaWNrT25FbGVtZW50KToKKyAgICAgICAgKGRvdWJsZUNsaWNrQXQpOgorICAg
ICAgICAoc2VsZWN0aW9uU2hvdWxkQmUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5n
L3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNr
LXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2Ny
aXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qczog
UmVtb3ZlZC4KKwogMjAwOS0xMi0xNiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI4ZWFmZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhw
YW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRW5zdXJlIHRo
YXQgZG91YmxlIGNsaWNraW5nIGRvZXMgbm90IGV4cGFuZCBzZWxlY3Rpb24gYWNyb3NzIG5ldyBs
aW5lIGJvdW5kYXJpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFN0
cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlIgorUEFTUyBTdHJpbmcod2luZG93
LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKSkgaXMgIm1vcmUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG91
YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzQwYzNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xp
Y2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKQEAgLTAsMCArMSwxNCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMt
dGVzdC1zZWxlY3Rpb24tc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxp
bmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNo
b3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3Mt
bGluZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhlNzUzYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0
cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKQEAgLTAsMCAr
MSw2MiBAQAorZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5v
dCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLiIpCisKK2Z1bmN0
aW9uIGRvdWJsZUNsaWNrT25FbGVtZW50KGVsKQoreworICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7CisgICAgdmFyIHggPSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8g
MjsKKyAgICB2YXIgeSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOworICAgIGRvdWJsZUNs
aWNrQXQoeCwgeSk7Cit9CisKK2Z1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwgeSkKK3sKKyAgICBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KHgsIHkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0aW9u
U2hvdWxkQmUocykKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyh3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkpJywgcyk7Cit9CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworLy8gRElWIHdp
dGggYnIKK2Rpdi5pbm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5ic3A7PGJyPiZuYnNw
Ozxicj50ZXh0JzsKK2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7
CitzZWxlY3Rpb25TaG91bGRCZSgnbW9yZScpOworCisvLyBESVYgd2l0aCB3aGl0ZS1zcGFjZSBw
cmUKK2Rpdi5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZSc7CitkaXYuaW5uZXJIVE1MID0gJ208c3Bh
bj5vPC9zcGFuPnJlICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0
RWxlbWVudENoaWxkKTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7CisKK2RvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQoZGl2KTsKKworLy8gVGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBn
ZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNlCisvLyBhIGxhcmdl
IGZvbnQgaW4gYSB0ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNv
cm5lcgorCit2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScp
OwordGV4dGFyZWEuc3R5bGUuYm9yZGVyID0gMDsKK3RleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAw
OwordGV4dGFyZWEuc3R5bGUuZm9udFNpemUgPSAnMzBweCc7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHRleHRhcmVhKTsKKwordmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKK3ZhciB4ID0gcmVjdC5sZWZ0ICsgMTA7Cit2YXIgeSA9IHJlY3QudG9wICsgMTA7
CisKK3RleHRhcmVhLnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Citkb3VibGVDbGlja0F0KHgs
IHkpOworc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNs
aWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5v
dC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWI4ZWFmZC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxp
bmVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUVuc3VyZSB0
aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcg
bGluZSBib3VuZGFyaWVzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBT
dHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKLVBBU1MgU3RyaW5nKHdpbmRv
dy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUiCi1QQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkpIGlzICJtb3JlIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGUyYjQzOS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmNmZWI2Yi4uMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08
c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFj
cm9zcy1saW5lcy5qcyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlv
bi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVz
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGU3NTNhLi4wMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMv
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsNjIgKzAsMCBAQAotZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IGRvdWJsZSBjbGlj
a2luZyBkb2VzIG5vdCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVz
LiIpCi0KLWZ1bmN0aW9uIGRvdWJsZUNsaWNrT25FbGVtZW50KGVsKQotewotICAgIHZhciByZWN0
ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgdmFyIHggPSByZWN0LmxlZnQgKyBy
ZWN0LndpZHRoIC8gMjsKLSAgICB2YXIgeSA9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyOwot
ICAgIGRvdWJsZUNsaWNrQXQoeCwgeSk7Ci19Ci0KLWZ1bmN0aW9uIGRvdWJsZUNsaWNrQXQoeCwg
eSkKLXsKLSAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKHgsIHkpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotICAgIH0KLX0KLQotZnVuY3Rp
b24gc2VsZWN0aW9uU2hvdWxkQmUocykKLXsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0
cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpJywgcyk7Ci19Ci0KLXZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
LQotLy8gRElWIHdpdGggYnIKLWRpdi5pbm5lckhUTUwgPSAnbTxzcGFuPm88L3NwYW4+cmUgJm5i
c3A7PGJyPiZuYnNwOzxicj50ZXh0JzsKLWRvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVs
ZW1lbnRDaGlsZCk7Ci1zZWxlY3Rpb25TaG91bGRCZSgnbW9yZScpOwotCi0vLyBESVYgd2l0aCB3
aGl0ZS1zcGFjZSBwcmUKLWRpdi5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZSc7Ci1kaXYuaW5uZXJI
VE1MID0gJ208c3Bhbj5vPC9zcGFuPnJlICBcbiBcbnRleHQnOwotZG91YmxlQ2xpY2tPbkVsZW1l
bnQoZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKLXNlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7Ci0K
LWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsKLQotLy8gVGV4dGFyZWEgLS0gd2UgY2Fu
bm90IHJlYWxseSBnZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNl
Ci0vLyBhIGxhcmdlIGZvbnQgaW4gYSB0ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1
cHBlciBsZWZ0IGNvcm5lcgotCi12YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCd0ZXh0YXJlYScpOwotdGV4dGFyZWEuc3R5bGUuYm9yZGVyID0gMDsKLXRleHRhcmVhLnN0eWxl
LnBhZGRpbmcgPSAwOwotdGV4dGFyZWEuc3R5bGUuZm9udFNpemUgPSAnMzBweCc7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKLQotdmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKTsKLXZhciB4ID0gcmVjdC5sZWZ0ICsgMTA7Ci12YXIgeSA9IHJl
Y3QudG9wICsgMTA7Ci0KLXRleHRhcmVhLnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Ci1kb3Vi
bGVDbGlja0F0KHgsIHkpOwotc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKLQotZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZCh0ZXh0YXJlYSk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA2ZmJlNTI4Li4wMTEyZjEwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtNiwxMyArNiwxMyBAQAogIyBhcmUgbWV0OgogIwog
IyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisjICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogIyAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgogIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyMgICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
ICMKICMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKICMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtMjY3LDcgKzI2Nyw3
IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxvYWQtc3ViZnJhbWUtb2JqZWN0Lmh0bWwKIAog
IzxyZGFyOi8vcHJvYmxlbS81ODI5MjYwPiBSRUdSRVNTSU9OOiBmcmFtZS1kZWZhdWx0LWVuYyB0
ZXN0cyBmYWlsIG9uIFdpbmRvd3MgaW50ZXJtaXR0ZW50bHkKIGZhc3QvZW5jb2RpbmcvZnJhbWUt
ZGVmYXVsdC1lbmMuaHRtbAotaHR0cC90ZXN0cy9taXNjL2ZyYW1lLWRlZmF1bHQtZW5jLXNhbWUt
ZG9tYWluLmh0bWwgCitodHRwL3Rlc3RzL21pc2MvZnJhbWUtZGVmYXVsdC1lbmMtc2FtZS1kb21h
aW4uaHRtbAogCiAjPHJkYXI6Ly9wcm9ibGVtLzU4MjkzMjg+IFJFR1JFU1NJT046IGZhc3QvZnJh
bWVzL3ZpZXdzb3VyY2UtZW1wdHktYXR0cmlidXRlLXZhbHVlLmh0bWwgZmFpbHMgb24gV2luZG93
cyBpbnRlcm1pdHRlbnRseQogZmFzdC9mcmFtZXMvdmlld3NvdXJjZS1lbXB0eS1hdHRyaWJ1dGUt
dmFsdWUuaHRtbApAQCAtNjcxLDkgKzY3MSw2IEBAIHBsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1t
b2RlLmh0bWwKICMgU2tpcCB0aGVzZSB0d28gZmFpbHVyZXMgSSBpbnRyb2R1Y2VkIHRoaXMgbW9y
bmluZyB3aGlsZSBJIGV4cGxvcmUgdGhlbS4KIGh0dHAvdGVzdHMvZ2xvYmFsaGlzdG9yeS9oaXN0
b3J5LWRlbGVnYXRlLWJhc2ljLXZpc2l0ZWQtbGlua3MuaHRtbAogCi0jIFRoaXMgdGVzdCBoYXMg
bmV2ZXIgcGFzc2VkIG9uIFdpbmRvd3MgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMDIzNCkKLXBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbAotCiAjIFdpbmRvd3MgUmVsZWFz
ZSBib3RzIGFyZSBoYXZpbmcgcHJvYmxlbXMgaW4geG1saHR0cHJlcXVlc3QgdGVzdHMsIFNraXBw
aW5nIHRoZW0gdGVtcG9yYXJpbHkKICMgdG8gc2VlIGlmIHRoaXMgZWxpbWluYXRlcyB0aGUgcHJv
YmxlbSwgYW5kIGl0IGlzIGEgdGVzdCBjYXVzaW5nIGh0dHBkIHByb2JsZW1zLgogaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdkZGFmMS4uMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEyICswLDAgQEAKLUVuc3VyZSB0aGF0IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBh
bmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGluZSBib3VuZGFyaWVzLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAi
bW9yZSDCoCIKLVBBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUgICIK
LVBBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUgICIKLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3Nz
LWxpbmVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiZjJlNjcuLjAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRl
c3RzL1RFTVBMQVRFLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjZmViNmIu
LjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDE0NjM1MS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9z
cy1saW5lcy5qcworKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLWRlc2NyaXB0aW9uKCJF
bnN1cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jv
c3MgbmV3IGxpbmUgYm91bmRhcmllcy4iKQotCi1mdW5jdGlvbiBkb3VibGVDbGlja09uRWxlbWVu
dChlbCkKLXsKLSAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
IHZhciB4ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7Ci0gICAgdmFyIHkgPSByZWN0LnRv
cCArIHJlY3QuaGVpZ2h0IC8gMjsKLSAgICBkb3VibGVDbGlja0F0KHgsIHkpOwotfQotCi1mdW5j
dGlvbiBkb3VibGVDbGlja0F0KHgsIHkpCi17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHNlbGVjdGlvblNob3VsZEJlKHMpCi17Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcod2luZG93LmdldFNlbGVjdGlvbigpKScsIHMpOwot
fQotCi12YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGRpdik7Ci0KLS8vIERJViB3aXRoIGJyCi1kaXYuaW5uZXJIVE1MID0g
J208c3Bhbj5vPC9zcGFuPnJlICZuYnNwOzxicj4mbmJzcDs8YnI+dGV4dCc7Ci1kb3VibGVDbGlj
a09uRWxlbWVudChkaXYuZmlyc3RFbGVtZW50Q2hpbGQpOwotc2VsZWN0aW9uU2hvdWxkQmUoJ21v
cmUgXHhhMCcpOwotCi0vLyBESVYgd2l0aCB3aGl0ZS1zcGFjZSBwcmUKLWRpdi5zdHlsZS53aGl0
ZVNwYWNlID0gJ3ByZSc7Ci1kaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9zcGFuPnJlICBcbiBc
bnRleHQnOwotZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKLXNl
bGVjdGlvblNob3VsZEJlKCdtb3JlICAnKTsKLQotZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChk
aXYpOwotCi0vLyBUZXh0YXJlYSAtLSB3ZSBjYW5ub3QgcmVhbGx5IGdldCB0aGUgcG9zaXRpb24g
b2YgdGhlIHdvcmQgd2Ugd2FudCBzbyB3ZSB1c2UKLS8vIGEgbGFyZ2UgZm9udCBpbiBhIHRleHRh
cmVhIGFuZCBkb3VibGUgY2xpY2sgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyCi0KLXZhciB0ZXh0
YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Ci10ZXh0YXJlYS5zdHls
ZS5ib3JkZXIgPSAwOwotdGV4dGFyZWEuc3R5bGUucGFkZGluZyA9IDA7Ci10ZXh0YXJlYS5zdHls
ZS5mb250U2l6ZSA9ICczMHB4JzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEp
OwotCi12YXIgcmVjdCA9IHRleHRhcmVhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotdmFyIHgg
PSByZWN0LmxlZnQgKyAxMDsKLXZhciB5ID0gcmVjdC50b3AgKyAxMDsKLQotdGV4dGFyZWEudmFs
dWUgPSAnbW9yZSAgXG4gXG50ZXh0JzsKLWRvdWJsZUNsaWNrQXQoeCwgeSk7Ci1zZWxlY3Rpb25T
aG91bGRCZSgnbW9yZSAgJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEp
OwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLS0gCjEuNi41LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45027</attachid>
            <date>2009-12-16 17:17:17 -0800</date>
            <delta_ts>2010-06-10 19:59:10 -0700</delta_ts>
            <desc>Updated the ChangeLog with more description as well as removed some whitespace changes</desc>
            <filename>0001-Moved-double-click-to-select-tests.patch</filename>
            <type>text/plain</type>
            <size>17216</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">RnJvbSBiYWEyNGViZTcwYzU3Y2ZmZWVhOGRiZWFlYjA4MzJjYzc0ZWJlMjgwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlrIEFydmlkc3NvbiA8YXJ2QGNocm9taXVtLm9yZz4KRGF0
ZTogV2VkLCAxNiBEZWMgMjAwOSAxNzoxNTo1NyAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIE1vdmVk
IGRvdWJsZSBjbGljayB0byBzZWxlY3QgdGVzdHMKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrKysrCiAuLi5pY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dCB8ICAgMTIgKysrKwogLi4u
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwgfCAgIDE0ICsr
KysrCiAuLi4vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzICB8
ICAgNjIgKysrKysrKysrKysrKysrKysrKysKIC4uLmljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMtZXhwZWN0ZWQudHh0IHwgICAxMiAtLS0tCiAuLi5kb3VibGVjbGljay1zaG91bGQt
bm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbCB8ICAgMTMgLS0tLQogLi4uL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sICAgfCAgIDEzIC0tLS0KIC4uLi9kb3Vi
bGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgIHwgICA2MiAtLS0tLS0t
LS0tLS0tLS0tLS0tLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgICAgICAgICAg
ICAgICAgICAgfCAgICAzIC0KIC4uLmljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMt
ZXhwZWN0ZWQudHh0IHwgICAxMiAtLS0tCiAuLi5kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFu
ZC1hY3Jvc3MtbGluZXMuaHRtbCB8ICAgMTMgLS0tLQogLi4uL2VkaXRpbmcvc2VsZWN0aW9uL3Nj
cmlwdC10ZXN0cy9URU1QTEFURS5odG1sICAgfCAgIDEzIC0tLS0KIC4uLi9kb3VibGVjbGljay1z
aG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgIHwgICA2MiAtLS0tLS0tLS0tLS0tLS0t
LS0tLQogMTMgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDIwMyBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3Vi
bGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2st
c2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1u
b3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hv
dWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBM
QVRFLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRp
dGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5k
LWFjcm9zcy1saW5lcy5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5k
LWFjcm9zcy1saW5lcy5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCiBkZWxl
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMu
anMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNzhmZWFjYS4uNWYxMGNiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDA5
LTEyLTE2ICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgbGF5b3V0IHRlc3Rz
IHRvIG5vbiBwbGF0Zm9ybSBkaXIuIFNpbmNlIERSVCBvbiBXaW5kb3dzIHVzZXMgTWFjCisgICAg
ICAgIHNldHRpbmdzIGFsbCBwbGF0Zm9ybXMgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHQgc28gdGhl
cmUgaXMgbm8gbmVlZCBmb3IKKyAgICAgICAgcGxhdGZvcm0gc3BlY2lmaWMgZXhwZWN0YXRpb25z
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDIz
NAorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1l
eHBhbmQtYWNyb3NzLWxpbmVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4
cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0
aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2st
c2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMuCisgICAgICAgIChkZXNjcmlwdGlv
bi5kb3VibGVDbGlja09uRWxlbWVudCk6CisgICAgICAgIChkb3VibGVDbGlja0F0KToKKyAgICAg
ICAgKHNlbGVjdGlvblNob3VsZEJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVj
bGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1z
aG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanM6IFJl
bW92ZWQuCisKIDIwMDktMTItMTYgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVj
bGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliOGVhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFu
ZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Vuc3VyZSB0aGF0
IGRvdWJsZSBjbGlja2luZyBkb2VzIG5vdCBleHBhbmQgc2VsZWN0aW9uIGFjcm9zcyBuZXcgbGlu
ZSBib3VuZGFyaWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdHJp
bmcod2luZG93LmdldFNlbGVjdGlvbigpKSBpcyAibW9yZSIKK1BBU1MgU3RyaW5nKHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUiCitQQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9u
KCkpIGlzICJtb3JlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxp
bmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM0MGMzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNr
LXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRl
c3Qtc2VsZWN0aW9uLXNoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91
bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxp
bmVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZTc1M2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMv
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzCkBAIC0wLDAgKzEs
NjIgQEAKK2Rlc2NyaXB0aW9uKCJFbnN1cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3Qg
ZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUgYm91bmRhcmllcy4iKQorCitmdW5jdGlv
biBkb3VibGVDbGlja09uRWxlbWVudChlbCkKK3sKKyAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpOworICAgIHZhciB4ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7
CisgICAgdmFyIHkgPSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMjsKKyAgICBkb3VibGVDbGlj
a0F0KHgsIHkpOworfQorCitmdW5jdGlvbiBkb3VibGVDbGlja0F0KHgsIHkpCit7CisgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4
LCB5KTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvblNo
b3VsZEJlKHMpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcod2luZG93Lmdl
dFNlbGVjdGlvbigpKScsIHMpOworfQorCit2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisKKy8vIERJViB3aXRo
IGJyCitkaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9zcGFuPnJlICZuYnNwOzxicj4mbmJzcDs8
YnI+dGV4dCc7Citkb3VibGVDbGlja09uRWxlbWVudChkaXYuZmlyc3RFbGVtZW50Q2hpbGQpOwor
c2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKKworLy8gRElWIHdpdGggd2hpdGUtc3BhY2UgcHJl
CitkaXYuc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUnOworZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+
bzwvc3Bhbj5yZSAgXG4gXG50ZXh0JzsKK2RvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVs
ZW1lbnRDaGlsZCk7CitzZWxlY3Rpb25TaG91bGRCZSgnbW9yZScpOworCitkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGRpdik7CisKKy8vIFRleHRhcmVhIC0tIHdlIGNhbm5vdCByZWFsbHkgZ2V0
IHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCB3ZSB3YW50IHNvIHdlIHVzZQorLy8gYSBsYXJnZSBm
b250IGluIGEgdGV4dGFyZWEgYW5kIGRvdWJsZSBjbGljayBpbiB0aGUgdXBwZXIgbGVmdCBjb3Ju
ZXIKKwordmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
K3RleHRhcmVhLnN0eWxlLmJvcmRlciA9IDA7Cit0ZXh0YXJlYS5zdHlsZS5wYWRkaW5nID0gMDsK
K3RleHRhcmVhLnN0eWxlLmZvbnRTaXplID0gJzMwcHgnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh0ZXh0YXJlYSk7CisKK3ZhciByZWN0ID0gdGV4dGFyZWEuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Cit2YXIgeCA9IHJlY3QubGVmdCArIDEwOwordmFyIHkgPSByZWN0LnRvcCArIDEwOwor
Cit0ZXh0YXJlYS52YWx1ZSA9ICdtb3JlICBcbiBcbnRleHQnOworZG91YmxlQ2xpY2tBdCh4LCB5
KTsKK3NlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQodGV4dGFyZWEpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3Qt
ZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDliOGVhZmQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1FbnN1cmUgdGhh
dCBkb3VibGUgY2xpY2tpbmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxp
bmUgYm91bmRhcmllcy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3Ry
aW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24oKSkgaXMgIm1vcmUiCi1QQVNTIFN0cmluZyh3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlIgotUEFTUyBTdHJpbmcod2luZG93LmdldFNlbGVjdGlv
bigpKSBpcyAibW9yZSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2st
c2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRlMmI0MzkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1s
aW5lcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90
LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjZmViNmIuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNj
cmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jv
c3MtbGluZXMuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
c2NyaXB0LXRlc3RzL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhlNzUzYS4uMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2Rv
dWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDYyICswLDAgQEAKLWRlc2NyaXB0aW9uKCJFbnN1cmUgdGhhdCBkb3VibGUgY2xpY2tp
bmcgZG9lcyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUgYm91bmRhcmllcy4i
KQotCi1mdW5jdGlvbiBkb3VibGVDbGlja09uRWxlbWVudChlbCkKLXsKLSAgICB2YXIgcmVjdCA9
IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgIHZhciB4ID0gcmVjdC5sZWZ0ICsgcmVj
dC53aWR0aCAvIDI7Ci0gICAgdmFyIHkgPSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMjsKLSAg
ICBkb3VibGVDbGlja0F0KHgsIHkpOwotfQotCi1mdW5jdGlvbiBkb3VibGVDbGlja0F0KHgsIHkp
Ci17Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9u
IHNlbGVjdGlvblNob3VsZEJlKHMpCi17Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJp
bmcod2luZG93LmdldFNlbGVjdGlvbigpKScsIHMpOwotfQotCi12YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0K
LS8vIERJViB3aXRoIGJyCi1kaXYuaW5uZXJIVE1MID0gJ208c3Bhbj5vPC9zcGFuPnJlICZuYnNw
Ozxicj4mbmJzcDs8YnI+dGV4dCc7Ci1kb3VibGVDbGlja09uRWxlbWVudChkaXYuZmlyc3RFbGVt
ZW50Q2hpbGQpOwotc2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUnKTsKLQotLy8gRElWIHdpdGggd2hp
dGUtc3BhY2UgcHJlCi1kaXYuc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUnOwotZGl2LmlubmVySFRN
TCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAgXG4gXG50ZXh0JzsKLWRvdWJsZUNsaWNrT25FbGVtZW50
KGRpdi5maXJzdEVsZW1lbnRDaGlsZCk7Ci1zZWxlY3Rpb25TaG91bGRCZSgnbW9yZScpOwotCi1k
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7Ci0KLS8vIFRleHRhcmVhIC0tIHdlIGNhbm5v
dCByZWFsbHkgZ2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgd29yZCB3ZSB3YW50IHNvIHdlIHVzZQot
Ly8gYSBsYXJnZSBmb250IGluIGEgdGV4dGFyZWEgYW5kIGRvdWJsZSBjbGljayBpbiB0aGUgdXBw
ZXIgbGVmdCBjb3JuZXIKLQotdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
dGV4dGFyZWEnKTsKLXRleHRhcmVhLnN0eWxlLmJvcmRlciA9IDA7Ci10ZXh0YXJlYS5zdHlsZS5w
YWRkaW5nID0gMDsKLXRleHRhcmVhLnN0eWxlLmZvbnRTaXplID0gJzMwcHgnOwotZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7Ci0KLXZhciByZWN0ID0gdGV4dGFyZWEuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7Ci12YXIgeCA9IHJlY3QubGVmdCArIDEwOwotdmFyIHkgPSByZWN0
LnRvcCArIDEwOwotCi10ZXh0YXJlYS52YWx1ZSA9ICdtb3JlICBcbiBcbnRleHQnOwotZG91Ymxl
Q2xpY2tBdCh4LCB5KTsKLXNlbGVjdGlvblNob3VsZEJlKCdtb3JlJyk7Ci0KLWRvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpOwotCi12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggNmZiZTUyOC4uMDEwM2ZlYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTY3MSw5ICs2NzEsNiBAQCBwbHVnaW5zL3ByaXZhdGUt
YnJvd3NpbmctbW9kZS5odG1sCiAjIFNraXAgdGhlc2UgdHdvIGZhaWx1cmVzIEkgaW50cm9kdWNl
ZCB0aGlzIG1vcm5pbmcgd2hpbGUgSSBleHBsb3JlIHRoZW0uCiBodHRwL3Rlc3RzL2dsb2JhbGhp
c3RvcnkvaGlzdG9yeS1kZWxlZ2F0ZS1iYXNpYy12aXNpdGVkLWxpbmtzLmh0bWwKIAotIyBUaGlz
IHRlc3QgaGFzIG5ldmVyIHBhc3NlZCBvbiBXaW5kb3dzIChodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMzQpCi1wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24v
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmh0bWwKLQogIyBXaW5k
b3dzIFJlbGVhc2UgYm90cyBhcmUgaGF2aW5nIHByb2JsZW1zIGluIHhtbGh0dHByZXF1ZXN0IHRl
c3RzLCBTa2lwcGluZyB0aGVtIHRlbXBvcmFyaWx5CiAjIHRvIHNlZSBpZiB0aGlzIGVsaW1pbmF0
ZXMgdGhlIHByb2JsZW0sIGFuZCBpdCBpcyBhIHRlc3QgY2F1c2luZyBodHRwZCBwcm9ibGVtcy4K
IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1h
Y3Jvc3MtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRp
bmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3ZGRhZjEuLjAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1FbnN1cmUgdGhhdCBkb3VibGUgY2xpY2tpbmcgZG9l
cyBub3QgZXhwYW5kIHNlbGVjdGlvbiBhY3Jvc3MgbmV3IGxpbmUgYm91bmRhcmllcy4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rp
b24oKSkgaXMgIm1vcmUgwqAiCi1QQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlz
ICJtb3JlICAiCi1QQVNTIFN0cmluZyh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpIGlzICJtb3JlICAi
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJs
ZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhw
YW5kLWFjcm9zcy1saW5lcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmYy
ZTY3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVj
dGlvbi9kb3VibGVjbGljay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9U
RU1QTEFURS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiY2ZlYjZiLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5n
L3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVf
SEVSRSI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9zY3JpcHQtdGVzdHMv
ZG91YmxlY2xpY2stc2hvdWxkLW5vdC1leHBhbmQtYWNyb3NzLWxpbmVzLmpzIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGlj
ay1zaG91bGQtbm90LWV4cGFuZC1hY3Jvc3MtbGluZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQxNDYzNTEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L2VkaXRpbmcvc2VsZWN0aW9uL3NjcmlwdC10ZXN0cy9kb3VibGVjbGljay1zaG91bGQtbm90LWV4
cGFuZC1hY3Jvc3MtbGluZXMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1kZXNj
cmlwdGlvbigiRW5zdXJlIHRoYXQgZG91YmxlIGNsaWNraW5nIGRvZXMgbm90IGV4cGFuZCBzZWxl
Y3Rpb24gYWNyb3NzIG5ldyBsaW5lIGJvdW5kYXJpZXMuIikKLQotZnVuY3Rpb24gZG91YmxlQ2xp
Y2tPbkVsZW1lbnQoZWwpCi17Ci0gICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKLSAgICB2YXIgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOwotICAgIHZhciB5
ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7Ci0gICAgZG91YmxlQ2xpY2tBdCh4LCB5KTsK
LX0KLQotZnVuY3Rpb24gZG91YmxlQ2xpY2tBdCh4LCB5KQotewotICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBzZWxlY3Rpb25TaG91bGRCZShzKQot
ewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKHdpbmRvdy5nZXRTZWxlY3Rpb24o
KSknLCBzKTsKLX0KLQotdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotCi0vLyBESVYgd2l0aCBicgotZGl2Lmlu
bmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bhbj5yZSAmbmJzcDs8YnI+Jm5ic3A7PGJyPnRleHQnOwot
ZG91YmxlQ2xpY2tPbkVsZW1lbnQoZGl2LmZpcnN0RWxlbWVudENoaWxkKTsKLXNlbGVjdGlvblNo
b3VsZEJlKCdtb3JlIFx4YTAnKTsKLQotLy8gRElWIHdpdGggd2hpdGUtc3BhY2UgcHJlCi1kaXYu
c3R5bGUud2hpdGVTcGFjZSA9ICdwcmUnOwotZGl2LmlubmVySFRNTCA9ICdtPHNwYW4+bzwvc3Bh
bj5yZSAgXG4gXG50ZXh0JzsKLWRvdWJsZUNsaWNrT25FbGVtZW50KGRpdi5maXJzdEVsZW1lbnRD
aGlsZCk7Ci1zZWxlY3Rpb25TaG91bGRCZSgnbW9yZSAgJyk7Ci0KLWRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoZGl2KTsKLQotLy8gVGV4dGFyZWEgLS0gd2UgY2Fubm90IHJlYWxseSBnZXQgdGhl
IHBvc2l0aW9uIG9mIHRoZSB3b3JkIHdlIHdhbnQgc28gd2UgdXNlCi0vLyBhIGxhcmdlIGZvbnQg
aW4gYSB0ZXh0YXJlYSBhbmQgZG91YmxlIGNsaWNrIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lcgot
Ci12YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotdGV4
dGFyZWEuc3R5bGUuYm9yZGVyID0gMDsKLXRleHRhcmVhLnN0eWxlLnBhZGRpbmcgPSAwOwotdGV4
dGFyZWEuc3R5bGUuZm9udFNpemUgPSAnMzBweCc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHRleHRhcmVhKTsKLQotdmFyIHJlY3QgPSB0ZXh0YXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLXZhciB4ID0gcmVjdC5sZWZ0ICsgMTA7Ci12YXIgeSA9IHJlY3QudG9wICsgMTA7Ci0KLXRl
eHRhcmVhLnZhbHVlID0gJ21vcmUgIFxuIFxudGV4dCc7Ci1kb3VibGVDbGlja0F0KHgsIHkpOwot
c2VsZWN0aW9uU2hvdWxkQmUoJ21vcmUgICcpOwotCi1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KHRleHRhcmVhKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci0tIAoxLjYuNS41
Cgo=
</data>
<flag name="review"
          id="26983"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>