<?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>55679</bug_id>
          
          <creation_ts>2011-03-03 08:42:32 -0800</creation_ts>
          <short_desc>[chromium] Regression: r80081</short_desc>
          <delta_ts>2011-03-04 15:57:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://http://peter.sh/2010/06/chromium-now-features-gpu-acceleration-and-css-3d-transforms/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Backer">backer</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>vangelis</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>361640</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Backer">backer</who>
    <bug_when>2011-03-03 08:42:32 -0800</bug_when>
    <thetext>Affects all platforms (Windows requires --use-gl=desktop to repro): enable accelerated compositing by moving the z slider on URL above. Then select some text on the rotated layer. This causes the layer to display some corrupted graphics. I built Chrome by hand and narrowed it down to the specific commit.

http://trac.webkit.org/changeset/80081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361693</commentid>
    <comment_count>1</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-03 09:43:32 -0800</bug_when>
    <thetext>Thanks for taking the time to narrow this down to a single commit.  I&apos;ll take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361701</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-03 10:05:09 -0800</bug_when>
    <thetext>This looks like it&apos;s occurring on large layers.  Probably just a mismatched stride somewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361732</commentid>
    <comment_count>3</comment_count>
      <attachid>84583</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-03 10:39:26 -0800</bug_when>
    <thetext>Created attachment 84583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361859</commentid>
    <comment_count>4</comment_count>
      <attachid>84583</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-03 12:58:27 -0800</bug_when>
    <thetext>Comment on attachment 84583
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:215
&gt;      const uint8_t* uploadPixels = pixels + srcStride * m_uploadUpdateRect.x();

this line is also clearly wrong (multiplying a stride by an x offset makes no sense).  would you mind changing this as well?

can you take a shot at making a test?  clearly the tests in LayoutTests/compositing/ are insufficient to catch this error, since they all pass, and since we&apos;re planning to rewrite this code again I would really like to have some tests that exercise this code a bit more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361867</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-03 13:04:06 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 84583 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84583&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:215
&gt; &gt;      const uint8_t* uploadPixels = pixels + srcStride * m_uploadUpdateRect.x();
&gt; 
&gt; this line is also clearly wrong (multiplying a stride by an x offset makes no sense).  would you mind changing this as well?
&gt; 
&gt; can you take a shot at making a test?  clearly the tests in LayoutTests/compositing/ are insufficient to catch this error, since they all pass, and since we&apos;re planning to rewrite this code again I would really like to have some tests that exercise this code a bit more.

We do have a large layer test for images, but it&apos;s a solid color, so a stride difference is a no-op.  I could just add a gradient and rebaseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361885</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-03 13:18:41 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 84583 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84583&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:215
&gt; &gt; &gt;      const uint8_t* uploadPixels = pixels + srcStride * m_uploadUpdateRect.x();
&gt; &gt; 
&gt; &gt; this line is also clearly wrong (multiplying a stride by an x offset makes no sense).  would you mind changing this as well?
&gt; &gt; 
&gt; &gt; can you take a shot at making a test?  clearly the tests in LayoutTests/compositing/ are insufficient to catch this error, since they all pass, and since we&apos;re planning to rewrite this code again I would really like to have some tests that exercise this code a bit more.
&gt; 
&gt; We do have a large layer test for images, but it&apos;s a solid color, so a stride difference is a no-op.  I could just add a gradient and rebaseline.

D&apos;oh!  Yeah having some sort of pattern or gradient or something would be awesome so we can tell if we are uploading garbage.  Either augmenting the existing test or just adding a new one sound great to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361933</commentid>
    <comment_count>7</comment_count>
      <attachid>84583</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-03 14:19:19 -0800</bug_when>
    <thetext>Comment on attachment 84583
Patch

I promise to R+ once we have test coverage :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361937</commentid>
    <comment_count>8</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-03 14:22:12 -0800</bug_when>
    <thetext>As it turns out the huge-layer-img.html test would have caught this had it been a pixel test.  Of course, that uncovered a second bug (yay testing) where the image layer is replaced by a scrollbar texture (oops), so I&apos;ll fix that too before I upload another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362661</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-04 12:17:25 -0800</bug_when>
    <thetext>I&apos;ve confirmed locally that this fixes the stride issue on https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html as well (to repro, click &apos;run&apos; on a test such as conformance/buffer-preserve-test.html and select some text in the iframe in the top left.  It&apos;s a large layer and looks pretty jacked up without this patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362670</commentid>
    <comment_count>10</comment_count>
      <attachid>84791</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-04 13:06:47 -0800</bug_when>
    <thetext>Created attachment 84791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362671</commentid>
    <comment_count>11</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-04 13:09:18 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=84791) [details]
&gt; Patch

I added one image for this test, but it&apos;s going to fail on a bunch of platforms because it was previously text-only.  What&apos;s the best way to handle this? Is it ok to land and immediately fix the tests that I know will be broken?

It&apos;s a little unclear for me how to sort out which platforms even run this test, but another option might be to change test_expectations to fail IMAGE for all the rest as a part of this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362673</commentid>
    <comment_count>12</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-04 13:20:33 -0800</bug_when>
    <thetext>We chatted in person.  I think the best approach is to make a new copy of this test that does not have visible text and has overflow:hidden on the &lt;body&gt; to hide the scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362701</commentid>
    <comment_count>13</comment_count>
      <attachid>84798</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-04 14:28:58 -0800</bug_when>
    <thetext>Created attachment 84798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362741</commentid>
    <comment_count>14</comment_count>
      <attachid>84798</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-04 15:17:51 -0800</bug_when>
    <thetext>Comment on attachment 84798
Patch

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362764</commentid>
    <comment_count>15</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-03-04 15:57:37 -0800</bug_when>
    <thetext>Committed r80384: &lt;http://trac.webkit.org/changeset/80384&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84583</attachid>
            <date>2011-03-03 10:39:26 -0800</date>
            <delta_ts>2011-03-04 13:06:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55679-20110303103925.patch</filename>
            <type>text/plain</type>
            <size>1622</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyNTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZWY2ODUzMDYyNWI3Njc1
OWViYzg3YjY2MjhlYzFhYmJkNzcxYzZmLi40ZmRjMDMwMzA4MjBlMTMzMGY1YmJjOWZkMGYxMGI3
MmY3YTVlMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMDMgIEFkcmll
bm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEZpeCB0ZXh0dXJlIHN0cmlkZSBpc3N1
ZXMgb24gbGFyZ2UgbGF5ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTU2NzkKKworICAgICAgICBUaGlzIHdhcyBhbiBlcnJvciBjYXVzZWQgZHVy
aW5nIHRoZSByZWZhY3RvcmluZyBpbiByODAwODEuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRl
c3RzL2NvbXBvc2l0aW5nCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9D
b250ZW50TGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50TGF5ZXJD
aHJvbWl1bTo6dXBkYXRlVGV4dHVyZSk6CisKIDIwMTEtMDMtMDMgIEhlbGRlciBDb3JyZWlhICA8
aGVsZGVyQHNlbmNoYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nv
bnRlbnRMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmNwcAppbmRleCBhNGI4MGM3OWUzMDE3MjVk
NDllZmVhZWNjNTU2NWY2Y2M1MzJiYmJkLi40ZjAxZTA2YWYyYmMyODQxYjg4NzgwZjJjNTNlOTYy
OTdiMTQxMTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCkBAIC0yMDks
NyArMjA5LDcgQEAgdm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4dHVyZShjb25z
dCB1aW50OF90KiBwaXhlbHMsIGNvbnN0IEludFNpemUmIHMKICAgICBpZiAocmVxdWlyZXNDbGlw
cGVkVXBkYXRlUmVjdCgpKQogICAgICAgICBzcmNSZWN0ID0gbV92aXNpYmxlUmVjdEluTGF5ZXJD
b29yZHM7CiAKLSAgICBjb25zdCBzaXplX3QgZGVzdFN0cmlkZSA9IHNpemUud2lkdGgoKSAqIDQ7
CisgICAgY29uc3Qgc2l6ZV90IGRlc3RTdHJpZGUgPSBtX3VwbG9hZFVwZGF0ZVJlY3Qud2lkdGgo
KSAqIDQ7CiAgICAgY29uc3Qgc2l6ZV90IHNyY1N0cmlkZSA9IHNyY1JlY3Qud2lkdGgoKSAqIDQ7
CiAKICAgICBjb25zdCB1aW50OF90KiB1cGxvYWRQaXhlbHMgPSBwaXhlbHMgKyBzcmNTdHJpZGUg
KiBtX3VwbG9hZFVwZGF0ZVJlY3QueCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84791</attachid>
            <date>2011-03-04 13:06:47 -0800</date>
            <delta_ts>2011-03-04 14:28:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55679-20110304130646.patch</filename>
            <type>text/plain</type>
            <size>14876</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyNDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmOTJhOTY0MjA1MmViMTMzMWQ2ZjAx
NThmODhiMmZjOGZiNmNiNTRjLi5kMzAzN2U3OGU3ZTMyY2U0MTkxNDE2ODQ1ZWZmMmYwNjBiZmZk
NjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMDQgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUdXJuIG9uIHBpeGVsIHRlc3RzIGZvciBodWdlLWxheWVyLWltZy5odG1sIGZv
ciBiZXR0ZXIgdGVzdCBjb3ZlcmFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU1Njc5CisKKyAgICAgICAgV2lsbCByZWJhc2VsaW5lIGltYWdlcyBm
b3Igb3RoZXIgcGxhdGZvcm1zIG9uY2UgdGhpcyBsYW5kcy4KKworICAgICAgICAqIGNvbXBvc2l0
aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtLWdwdS1saW51eC9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWdwdS1saW51eC9j
b21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKwog
MjAxMS0wMy0wMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgc2tpcCBmYWlsaW5nIHRlc3Qgb24gR1RLLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWcuaHRtbAppbmRleCA5YWMz
ODM5NDZlMjg1NWRmYTRkODBhNjlkMWUwMWU2M2Q0ZWVjMjExLi44NmM3MzFjNTE3ZTFiMDQyYjRi
NzViMmQ1MmRhYzhmOGU3MDVmNzNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy90aWxpbmcvaHVnZS1sYXllci1pbWcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy90aWxpbmcvaHVnZS1sYXllci1pbWcuaHRtbApAQCAtMTIsNyArMTIsNyBAQAogICAgIDwvc3R5
bGU+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4K
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1ncHUtbGludXgvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2Ut
bGF5ZXItaW1nLWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0tZ3B1LWxpbnV4L2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5j
aGVja3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNDg3OGUzNzU5ZDE2YTEyNGQzYWNlOTRhZjE1NjJmNTQ3OTBj
ZmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tZ3B1
LWxpbnV4L2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5jaGVja3N1
bQpAQCAtMCwwICsxIEBACitlOWVjM2UyZmYwNWQ3NTQ1MzBlNWRjZDc0NWRlN2QzYgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLWdwdS1saW51eC9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tZ3B1LWxpbnV4L2NvbXBvc2l0
aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNjOGRj
YzU5M2FhNGQ2MTRiOWYzMTY1MTBlMDFiNWMzYWFiYjg0NwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgMTAzNzAKemNtZUhOY35wflV6SyteZjNuRFhCV1J4WUh4PT5rRkhVVUZ5dDVRSGZmZWBrJUFx
SjJqdEFyKUM0bXlaUDF0TWloCnpxRn0taiFvSjlzQ3t+ZG0xUVBab2srTVhWdW1sSyVaMSt2dW5S
e3BNezR3WEFgXlRNZ2hqWlclXz9Hd2tFemo/SAp6cDclPlc/YCleMHZSPyVQZnZETWtkKWdITys0
ZWFFdmVrM1BSYDNeJUpzTnJ0JG1iQ0koX2d2WSRgZyNtSkA4bH4Keno/YmZQdkdhfl4+RCVMPGVe
IX5sTCp3YWRMXnM2KFoqZXVaPH0wXj8oJlVARFcwWkReJDd8MXcmfnYjSSUyQC0wCnokNV5rNSYo
NUQ0YTh4ekNgLUore2kwMkVCKTJmQyRqKD8pQmRGa0hWaTk4O1pLY0w2enZTSX1nI1hCYDZTWHRE
Rwp6aF8zWmA3R0VNRyM8RVArUypzMmx2bmBNKHlHJllFKihrWCUlS0BjaDlyPlhLJX1HQnZsYzMl
NzVoUDUtcntkenYKemNpRTxNUitLRGMxcTJkPW9ncnNjQXEhYCVnZit3a0hPUHk/UStWRmE+OWpy
SWY4VCVWMzR5JSkkUGpZLTZDPS14CnpDdC19K0E0OXRUWjBNKFAmMlduPDxWZ29KMCUzYmFkNW05
JWkjdEtJQCNGJkpjM0g5YldgWTA5dCZrbXVGSyZUKwp6dnxEK1pTb09WLVEtMW1odmpgJSUhdWhP
bm9OUGBeKnVHMnFMcnZmbTZRNml5MmpxOT5VaXs0fGhAR0EtYGFYQDMKekdpTm1ZZEx0Nl9Zb1Qj
WmkzYHpoNTkheVFmNmZeMSg3RVRUP1Y9fFpuNEtoempFbj8hPTlwaTdgQDxpPHhxRVd5CnojV3Uz
d28tVmVDaVAlM2sobXdyPkVzamFoSCl6eiRsZm4kcSZ5aUQoXldVbyk/XnFuUHwzV24wLUR3cFQ/
KTtSUAp6Pyh4SUhjNkhwd3N7P2lxdWEyTnxiWno0fCU5PDcmKHl3a1RqVSR9cj1AQmZMV2lYQFdf
eFhpUUleb0Y8XihSOUgKekUyUSRmQ1luQmp5QkFKODIjRXBmeiVBV0A4aFRZLTw8UyNkO0loXkNG
WWg+eFghP2VJQzRjfHNlaS19bCFoY14kCnpYXyF9bl5gMmI7UFdZMUhQN0c5IXpvJiVmPF5vJjBg
S1VqeWtjY2ZvPTFgSmUyMV9AViVOZz5gN3ZGOG1JNV5XYwp6ci0wVUJjPVRlbyFaUURzI15Ufilj
SmYldjxsOUgzR1dPWSE+T2EhZnk4azliWW9wSFNUfk00RmkrYGN1PzJYfT8Kem5GcHBfQThQIXtC
MmxUUz14dT5gV0VIO3p5T2ppPWE+aT9uP1JKKnlNbj8kc0BMMzRMMDFXWXl0IytmO2NJVDJLCnp5
fCtKQi1QQH07cmx0WWs5ejUwPEJfYGJZTGB7RGJOKEJvY1NYfENjI1p6V3AtcXxpJFV4YjMtODB9
ZldZPXB6eQp6QDkhcDAzen1FRFl9Q3dyWV4lbjRtZzJlZWd0KGE9Nnk0Nz9RRihoTE9QX0sxM1dD
UEBHK3YlfVV6d3N3KnR+cXcKek1jPEl4RUlpVXZ6QGd2IVozKUM5az1rYlIhfFA3RDdKaUIxc2Nx
WUwjbWByXlJsKUE1TCtScV9UPTFvTD8jR0lvCno2S3tsZk5Rcyo+XlJuSEZSVG85KCFGR25VZ0s8
PzY1KiRub190MGI2Tjx0aFJKM3lIdmlhU3UoYmwmYzduMFJQWQp6Q0UmS2lzc0d7VmAqdUImVkoh
fE0rJk5YY2ojSTJaemQ2eG1KeSZgVW4pdXZkIWhXZGY2Y0h5RXYhZV85Yno+KFYKek87MW56VXxN
UldqJCk9ZThxVi1yWHk2bUlZQCs5SFpgbm8hRHt1JW4ocDwxZi1Hbk5acCNecW53aTYpaXU9UD1e
CnppME9tJlJVdCFGbH4+eTJLV2oySm5pIUklXzYkOGVkKk1SVXFXe2c7OFZNM24lbEtVX1RrJkx1
d2FGdis9ZlByfQp6b1IyR083QmF1dnchTXBCUX4leE9wNko4SD1TQTw8MjJkcFBAVWZAP001Q3tz
X3peNjZlejRUNWBWKTJDUThydW4KenAmKUpWLVYpK3RSU204ait7PEJpZDV4Y3AtZExtV0lFJmdk
ZylBKkJAay18NjZ0V3wzbCUzaXFtWGhefHhBPXNaCnohJWpKNzdobHtLX0Z6dUlWc2ZCUWF7NWsw
QXRNdzJtXz1wbVFDcUtZYTRMYkhRRlNSNW1jRVV8M0EwUzdZXl4pTwp6cSo9Mj0haHVmZDA4VGFs
Qkd6QiM3ZEk0O3dZSkVeXzJpIStuYHJFRXh9eDZha1QlISliKVBuS0hzWWB3eC1eNWkKeitnNm5B
N05MU0RJZCNjJFItQzk9T2hqMnZ0Mj9HJjcwbk9EdHVPZjFnJHp8KGRSMFk7OE5Kei07YkkjTGww
dFVPCnpOP2ZDJmpOdFR3Zi04TGBoPjE2OzY3WkM0R3YkTjdlUk49OylYUXpBbCYjXlkjWmJyPThB
NSNke0JaM1lJbT5eKQp6KzRiJVk2R2szb01rRTtWQCVEfmg3fHFyKGpvKDwodjU5XyQ5diZYSDJF
VzdOTTNZU3xWZEpmIXZfTloqR1khaCkKenI/VWV+JTs8cUU7JHAmTCsmVH0zXllJeXA4dHt2bXF0
I3pxKztQTSo/RU1RUHBTcUxscVkrYSZUfVZvVzQxQ0okCnorRlQoaUApJVBaMXxJUnREWDd1cipj
REotaSFKTmkpfFZ4YmM4RTltOTdMRFJWbCZPQnpPS0hXdXtsZVhOIURGQgp6dDljUCFfVVYmSm4q
THd2IX47T1NoSFApX0RNdkF8IypnNG4kbUJ5KioxfWoqbVo4XmlmTzRQQXgoI054UiV2b0UKejxj
X0Z4PW56en4oRlBae3lYP31qSHA2aDZTNkZhSCNkKkFVbXdJU0pQOVZiaTgxN3RfTjVEKyFyc2Ym
RXpsSlU7CnpicHh6UHZAai1fdVZ4WFdgbns/SFN6UGNmb2ElNWFLKUpuUWspKThtKGxeQ1RgNzVk
b3o2QTBJWExZVF9geVNhPQp6Oz1uVjcjN3ZCKGd9NkYoSzBHTiZLa3FYITw/YiQ+b1ArSjc0SDRe
dGteMHpgWD0rKkh0ZTgoPyhjTXAmck5aMS0Kem9EbGwldXk0RSl4fU0/TnRiPUxuS2N5djFfdlU/
IypGUWcpaWx5QHExTFhDSz1ESFBDc1Y8PTZZZEZwd2I9QitpCnpmU2xhaTZ+UVFvXzQtJjBEdS1n
aWtPfm48S2czazIpU1lNQEhUJjRlciVDe0JtSXtVMmo/a3diYHcoeWFvTlZVQQp6aShsI1ZaXjNw
RlklSEJQbDB9OUJBYjNnUWZrbkR4O2hCOSNpNnhPVDw3N0Z1YHUwSER5QnU/QkxCUnB1YEB6YTkK
ens0VC0+bStSa2g5NnhMI14rek9qZkwhXzQkKEd4b05iSH5uX2Q7am9tKzxBS0BtRmF1KGNuK1h5
RTdReyt+PUhICnp1dEllbT4mI3padVBzI3okdi02QW8+YHdLPitWMDVwa218WkRSTmwlMzMlPShK
WVc7bFRodFBfe3VyOEo7QCt1cwp6TUVmVj51fCZLaUM8R0I1Yi17ZldGfX1RQVVEcl4xYFFnS2Q0
bChYNl94dV87ZStmVGxeeWBJSEdTO0RvcGxjIUIKelZ8MjJUVTdoZGgocjZfSEgrRyt5Sz9YUXZj
NXVJVSt2THlvUUI5aGNUR3taR1ojYVlCbkRnQjZfa3VjfjhxUnhPCnpOPzxFJmBqZ2FhKndHdU5k
TmtgS2VaJikyJWItTEN3YW8xV2MyPVJYJVg0WjMwMWwxWUhRa3hwX0YhTWN7OXhyaQp6KGAkeWwm
bnVXLTteakZgQXEke1JtN3VQIWpfcVlhLX1yZlRoUWwjeTBmPnVmNjRWOGt3XiVyRlNQMlVlYXw3
ayYKemkzallgYlVWMzBOYjw2b2xjdElQTmRQNENOdE1iJT1aM3ZmMTBkKk04LSRSNVdeUkwkLTVk
cF80Z1J0Pm5tKD01CnpyPTd4MTQoPjBfSntjPG5aNmV7dUVoM20oYyhSMlUrLWQ8LT1TMH4xPl9E
T3dLUUNnb2BTalcmQ29QKUdyOWwwSgp6MGgzWCRVamlKcklhNyRsKURnOWclPT1gOEc5MCQ9X3Jk
JTU/WktBfl9EIyY7aWxYPnAmZGxocUtzTnEkUyNMUGAKemxQMW9xeVFGK0ltU1Y2U2c/ezhnYFY4
LUZnSSZFb0duPUgwVSt3Zm5xaGtpbUZAaDNiTjx+PnF2b3JkMHpGdnpkCnpBVEd4QT0/b3clbkR1
KGpkN2lAITdoaXRnTn0tRXQlUjVQTTw8S0FfI1ZSWiZQWWh9VnVwM24xaCl2OHdeSz8jZAp6bUVm
Q3V5OWYhUUF1WT5MWlBSUC05diFncl9WKUhEXiprMFVvWG9NVGlXVXI7I0UrfT9YI28ocFomMD0m
WDVyK1cKem44Zk9lbSt6USgxSDA3eWMqZzBARTxPOGprUTtXaTgwWC1eaUpYM3lqY0h5IVRoe3tT
Rk1DVEFfV35MPj93UlNWCno0Wn11Pz9zTmc5Rm1RU2Ztb0tOZVFPPT0qZipMPk1yI3Y9NmBTVEJ6
cT1nSiQybGRHejJqMFl3RkZjRkNkVC19Rwp6QSgoc2E9KF4yUl9aZ3FnWUpHeXwpUV85VTBIbyNf
dk8pQ1AjP295PjFSWV8wYyt1VXJDclAhendGQUZAeytoYTAKeis8bDlhaVl0MSF3S0x2bWhzWXBX
Q2ZYdSZedShwc0taUGBmVUVkIzkpRjFCfmdSWTd+Y1YodFVpT0RPd1pHVmVuCnpTfFdfTVNkeX5T
ditiZGQ8UH1zN1hqZCtWP3VBOCUmaF52bShgKU1MRENvdjNaNFZGSCtpdHdTVzlGbzZVaHhYUQp6
elA4ckx5WE1PeyNGMGUraz1NYTlOZnckTTxBaX1YTShUfDAoKmdFbVMrTEZnWUo+VSFfJFpvcXZR
V18wbWZUd3QKenBmPzxpZH52ZTEtRm5XXzg1ZGoqV3lZdn1HQEtqREA2MHdXVCQlO29PUn5pSDE3
eUZlcmV6RnAyOEB8JjU+K2k7CnpSWTFwc2VXclZqeWdgcldwR2wkMTFlbkYpVEJfUn1gKmNKOT0z
QjRzc3Mpa35xVllga1MhdGx7Tl9JZlVXNUhPSAp6clIybGcteWItZSRyQz0qdV8+YygmSkxoKEVp
e0B5Rz1nelNlP30mZ3lLRzhxX2Y4QEFveEhVSzgwRW41QGFGcUYKej5jcj9fRyhaNjxfJTsyWVJz
MlRTJXRuZHt7ZTtiUC1fRyRhPW50fGtUUGgyWGtpbFAmckZlYnt5U15ac3JJdWVTCnp3P2J3Kzs/
SUh9KVdTNjFlMF5VLU1ASSpBQkZweDs5OyZHSXVfYH5KcHwhZnwlfE15bzIpYz0jVkJXMFhSUCZg
Wgp6cVVzdT0rUSU1VzlNVik8WWleJG9gZzI8MVIranI0P2pMRSk9ajEyKCVLTk14ZSszPnw8bUtf
fGR8eWpGb1ZiZDQKejdkPXZVTDtVcD1eeTRXRy04Y1BVe2FFeWZUcWcxSEBoTm81XzFMOE58Ml50
IXlsSVNnKDZyNkpMYjVWMUpXcDJICno2YTdtZ29zcileRHJRJjw9NClEVDNPT2N6TE12ZiZIUU5s
JDIzYihpM2MrQTdwYG5RaSp9NXt0aHBkSmtNTkdlSQp6bSNZdV97NXF2JCNQQG1GQnt3JVdrNXhW
aU18VUNGSHBNSSZIKmU7YzJVRV52dmtQNUZwWUE+XjcxY0EwNnQ0N1QKemh4KHluK2NkYSoxQ1p6
SFo7P30odHpCP1hTMEwqT0RJWlIxKjs7P0tKPjVBXzF9ZFgqc2E0aFAhNT1FKSNYP3IxCnpzRzZ8
cEpOMis2P1RpPzRqWVMrQTlnUD1IVyNPZERaQ1NxST9TdlJeYl47bzNadF9ILUdyYCtCO0tsN05V
XzV3cwp6SV99WiFtSH5jN0F3SjNoUkw/N3JQI1pxUSlYJDxHdVJgWjZqNWUkYzJiYlJuM2QjV3dT
YE5xenlPeWJuN3pgKGkKek5CZ1F2Y3U0WFd6MWtGR3F4O1ZJUW07T1Q3SlZNXmMhMHpCPzxQfnV3
eyR3SihCZnxnY150NFpNQEQrcntJRyZBCnpFbVNoSGlvKnolTER9dm1EeyUmc3Nmd1N9e2deO1c1
SS04aVN0KTQ9Rzt3MmBFcEw1X29gMzIrYkpOZVdEQ2RfKwp6NDAwbVhQZkdoUjgwZyVZLUEoUSg9
UyUjZWp6UF9hend3VX4pUkpXTGZsOD1mWnZKdj84NUF6NGBuakNvR1creXIKemZPaTR6ND18LTJT
MldESzd6bEJnUlh8KT5tMlN1Xit2fV4oPCZ9SnFOVkh3fClfVnowQXk9TW0yOWxicFdxSGorCnpX
cjQ+fjtGMTI+d2g0YDBraihrZjIyPWE9ZENnNG8qb08mMCgmPSlLR0c4ekc8KUc8fWs0cm1Abj9o
RFVeemcpOAp6RzR4ZmtpQjVlQUozJD9gKzZfMyUqQHhPZ14leCRZJWIybDdiSUZmUmdlYEJjO3Vj
TEw9T3tUUitpY0QwYS0+cjcKekdOZS1gRmBLaFRNMyM2NiNRRHp8PiZRUHJBVUlXfWlvTGlNPStM
Nzt4XzxzNig0b0k4RXhUUENJbTFwZFpZLWlZCnpTd3tDUzR7KjcqVT1qZnR4cFV2fmdPWDsyR2p7
Vz1nUF9nNyRnWExPVElEZCUwe0J7N2sqVjRWIzlfVDh4eThObQp6Tnt2V2lYJmE7UyFVVj80NTZV
QHVgS0xkdCE9KThlPSFmbj51UW5jX3tIOVR9eT9fLTM0T0luemwmfm1IeHo7K30KejlMd1kzbFcq
cjJ0Pz9GTD1MbVgyKkp1MFk/IWwkdztDSyF3O3JXJTZHO0ojKE1qXnJnMkUrc0chJHAxKnVEc2BF
CnpCKHU7NVhjJk1tJlVkfXtuY0lIY3hPejtqWj56YDU5Uilhci1QX3lTbSg9c1pZWUc/aUw9THk8
Yn1CZlZJdD05aAp6elFEVy0jaXByYWlMJjF3MmJMKF4wTyp3UHs+NjlwVVFZb3R3Z2xfIXFhdEpZ
amNPMCNXUUFySGwocmxDI0t3bWEKeiR5bHNDYWs5fX1rV3VLTj1pPjZAbEFucmFpJFNkcnUtTUV4
MntgaTx5YjxkbSo2NjVAOHdRX05XPWJVV0QyQSh+CnpRZ2dOXndBYG9PbT1WJGE8ZnxtZjNaVXdA
bU0kdmZHODtqOCNBdF5MaXskRHV2OEt0dDxAYEZkQnlze0sqdktqPgp6JSRsXiU0P0VUNXQtS3At
SUFnY0RTZ2ZfMCVhYztMLXgkYytLTDlPclpUcV8pan4kUj9VallnckwoZklgPSoxVFcKelh8XzIh
NWcpcHI7LXFjM2BHSW1DcCM5ITZFKnlyQ1hgcE9hQWpLNmpvfXh3U240KVEtWVl7Unk2aTktX0VS
MEd1CnpaMlZmNUhVUUBQJDFsSjNzUzlaVUN2NHlPaG95filHX2RsfXBNT2RZQipzcGdCcmQxNDx9
eGleaX0jRSolZyZfaQp6NEpoUGM9Vjw2MGAzaFZTQXp+QDdaRkdfdnhoNCNhb0U1eEQpdjcpbCU4
LWRkQiYhQDNfe3V2fEs4dTczUWdsRTQKek1zMHhNZXZlTyNFMU8+WjVRJiEob3V8QzN1RDFWcD5g
R082N1pednkjV095PE8lTTRgJkgqTitoKGVBSCE0KUA9CnpiWT02Vy03YX1SZElCMSRkK2hSMHVo
aWpyYTA1NUtYUnEoKTBQJG5NRVBMfFI5UlFyNzR3U3NnNjxTcUhNe182IQp6V3pSMUlTVzRuRmFa
PEM/UVJwfk9mNjduKm9JSEgpJExgVjVXKn5PdlojemcjQHNHSSYob1A8YXtMcm9CQXhWZTQKej5x
NU5oUik5ekhFb1lVSThfSlo2ZCtlWjc5akBIPkE5QE41WGF1MUBleGJ+QCFDfW1pNkRpd1YxNDA/
YzEydjBECnpuRFk/YDFWaFFHc219UUMtRENHZyl3WVZhN30xXyFgQGhZaEQ4d1gxP0RBXyhRdFdq
MFA8MFc5aFdEb09rS35reAp6eSpmbFEzLVpIV29ObFhVbWZaNk09MTE/eVRJXzZiVlRuX2x1cE1a
TmBKdzd7ei1XTUd6Vnp5RGZYKDliaUhDWm0KemNwPk5zJDFHI25FUnh8cCp4SCg7czsrJGtEOHs9
Njw7X0FzN3UhViZgOHE/dk1BRUIqMmc8Vml2MW18Jkt0X2EqCnpZZERUMXdGVG5WKEE/JSZwZm13
NTN1RlAyS1U1dksyKUBPX0RiVn12RiUpOVQqfDlgQnlTNVNwNzM2YXJNMVlMTwp6MHROPXlUYlds
aWgzekgyalRqc095cmFJUk1oUnkmKjhsfF5ZQktRbEBsa3BiS3J9QSY7I2ZvJlByX1lhVT99OCgK
ekxDKm0+KChpK1RnLT9FYURXR0llaUVCZ0VPRDVnPVJ+MzJuU1EkMXJzZ19DZFBqcnhfWUNmRWE8
ckNfbz1LMkFtCnpCMmZ2b1VgWE9ha0oyIVBMQj5EKTFHeHYxS0hFdXpmIyhAPmR+QTNtazRwJVI/
fDV1UDRwamcpKjtSTSVBQihpfAp6RG1kKlpxNjwqI2daQlFuIyo8b0dBMWZzQFI2WSlePmdFOWAz
fTl4NG9LPEgyQkVIdGBNNVpgPXN3cWFQTzt5Sk0Kek18Vm5waEdIYkRyOCE/PTwoR00hZklwY3NE
NE8yeVJlQVh9dXIqJEg9MnxXU0tHWmJqVDw7TT9CTmtwQyYlYSohCno0MWJwOXNReW02O2VsSEZU
flhteWtHZl5SSkBXd2w4ND5+ZUJ2Kj12aD1eRiolU343eHYoR3BqRnlkQ3xKWFJJcAp6U08pe0Rj
NnApPSo+SVVXcHt7JDxsU15lcyt1N05UQUUpeTNFOS1HVWteXylUSzxDaDwhVmFXZzZhcnJAT3pV
IUoKelk1OTkpN3l1VjRKJiV+TkRDQys/UUsxfjIhO1IhUHJKV1NNMTsmWkJ3WTVyenQ0eUNEJTQ5
fFhDfURSMnRXZz4rCnp0OE4mNHplK0czLVhoSzEpSDJjTG1eckNLWktaPSgod3k+NlI0eiVwOGdp
fiZoYDlTO3pqQEZpdz8hLT9ZPShoYQp6WGY1X0ghK0tRLT1LWiNrMn49YmA5bmNIdnlvPHAoeWlv
M0woIS1GP0czYWFrSzQ4KEo7YX4oYTlhOWt8YUJzWWYKejRfQXVjPmIjaHhfYi04K2dfdTM3bXNH
JFJ0UytLekk3ZSpycmhndylfNlMmaV5tVDZCa2Y7cmMlWXpiSmdRSU5FCnp0ZmJedXJoOHpqeVM4
NlRqSGl9a2NsMV9vcH5nMT5lYkNxQm4lTGh7VXtAVjtmYFQzZmpTM3UmdDBPbVYrI3BCbQp6YCZD
bGdHO0o1PSg5Y30/VDFfJkx3NnVNdSg/QXBobyR7czNefnFBSHc0bUEqZzk2fDwhem5DOFZePXlZ
ZEM/O2AKejJLP2kwPFdOWUdRR1MwcDNNSmIrVE1VU2A1P1lVNUpTRG4oaiFeUFpYeyptalc3TTNR
PD4qb0Q+SVZlWDFBKERjCnpjISlWMkYyIylIUilLa058Mmc3R0YoeykxQWgmfSlEZzdtY2RCOFht
NlUtJiYyVDhMNU0/Jn1qWjw0NF87JkI4agp6I1dmal9gUEJJPSt1dWxpSEs4eC02ZVVjc007RkVW
QXo+WGJ7K19oTk5IRU5sY24hUmlWcz5nYzI7N25+YUFuN3oKem09QW8qTlImTylnP1dRWj5yaW5R
JXNrayRIIVBOM3ltSlNvX3lPPmE8bFRDWXFtNjtkamEzRFIoVjIpTTU7bz5nCnozaE5QV0xqPlBe
en1IUTctdyNHI2BwKHRtME4kRTZDQDRnNCl8TXlTa1cwbXs/eH54fDhmaFJfdWdZOThLJTdTYwp6
T3U+dmt6WGBeYS05djNPOG0oLUskQFl3Mz8kQHhqfEVCVkNrbk19YnQxdH1rIU5JSTk7ZDxqJHZQ
aV9tUT9PTGMKeiZAXjNgd1dKM0orUytgWk1gdllgbTZEaCFeOytieFNHNzhSR2g+P2h0MVBxdCo2
QCpweGlNaEN7cHIpKTQlXyFFCnpsdD1XciYjPUt+V2pDPT93OSZMZj1oSU8oTnl5VGB3e3FZWUlj
RmF5Z0wjdm1WKGQraWtIdj4oOGZYKmxsRnM8aQp6IVlFPEgwcEEwcmZuRCh2c2dfaiY7MUElPkdK
SXVRczE+Y0xfIT98M2RJMCs0bHMqbCtXNiQxLS09eFN4Q19NMz4KeihRbEZxXmI4O3VTaDwkdkd9
O1pJcHxWaGtWbTheYVQxTkd0U3UzT35JRkwhZlhoWEhzWmlLQzJiMzs+PzBSKjBGCnp4dmd+UjYr
MWRPSTVfPHZuOTczUT9BRWhOZDNld3N4USEjYj5xKFJ1Umc+b0stcmgqU21hO15YRU4xOWNLdXBN
fgp6YGlDNGl0REFHPnEhVHhQY0VOM2UmYyFyTEpxQ182cllwfVgzQXlNaHN9QzdFZSZ4KnJGd0BF
QyNfSykjN0BUQ0oKekRPI1coUWExX08wQmlfQSgrfGRpcyZ7MCM4WDYqX2dNc3tVPGUxcn56ZlJH
XzBHa2s0WGwxUzwyYVBUelpXQl9HCnpgI0hie2hYYkJScXRWcEM2NDhaKFh3Yj5kZio5OFghPVNE
b3sjS31RY2xyPEJuXiF8anh4d2FjRylQbCUpMjFYWgp6VjB7OV51c1YmVWJMe2Z6PSlvS0hWfDQp
aWB9X09CUHstcmleaFokdmVjSEQxJiU9N0gwY09TLUtZI3h7UlFpNnEKejU8LXB8ZER8U0NHQnxg
UGl4MVhCI292cSRZanxfRWE2SXJybVZPP3pUZDNoNGtxU29HMWtqRiZ2YkJNYztiQTM5CnpJY057
OzI7cy0wYnZKeHFGY2FUQllNQ3tnTVRxXlkqbFVoITI9KHQ7eEF1ZTBCSVN0MDh6MndrQEQjTEkx
WDlSWQp6UFE/SC1EM0paa0sxbVVINj5QciVUPnZuRzE8RWZgR1F4WHxMeFR8Qyp7Jlc2JUQ/JjZQ
NUZJN29vWlRuRkk2YVQKekUtXzFvKDxMQmw9KHhESmg9PihuKXVEem47MEVvKnVLQjxeR1dIJHA/
YWReVXs7UnloWDNlNXpFREZ6TXlBSXg+CnpeQVc9e0g3bWZOZ1BzVnhjKilvaHk1NmU3Y1FKdkp5
V1NYIyU+JXZ3d2daJXdwO0dzeUl+cTVEZH4tKEtPTDU4cwp6NU51K1VCRkQrZURkVnV5Vz95K0NV
aHI9SERSRzl0U2wka2V1Szx4STBjQlZ7RiE8UWVEX3V0ZnloMVplT0gkbEkKejE2bEVWant1eF5Z
ez4me3QxMXdDRkdnWlFgb1NUYU5gM3F4LWJMQDRYbDkmR3oqYH5CaUN8cUQkcHBJcXheZVRCCnpj
a0shdHo3bFRoTUt7UyszTENaPFZNP2E9K2pDWnhyM2g/ezZGQDlYYiE2ZDApZyhjVSlXR04rYUE+
ejNxNzdYZQp6ZT09YXxCZ3xraC1CY1MzOUpoNG5lSkxzaGtTaHA7T05NfG1hNFgrdHRHJW4oUk50
amwtN1ZHSTFfUUVLPUdSbyMKekZyOVBJOSpuVm1udlckSS1PfEZYcU1EM35SPCpmP2JuTTBPYm1o
S1pLJGYyZT5rKzE5P0otPDVkU2BmSzFiWFpKCnpjWiljTU02ZEN7NGA2Ml5nNUwjeHFMVFpvNig2
YmkrNWohV2R3JW5aaTF7LX1JVnlHdjQ+QkNYNyY1bHspTD5LeAp6PUkqTH4mTmtxcVFlcnFUezhN
I2RuPklrVFdkWVQ7ZHJiNCZebj8yPkxPZWwpPzRXKHNpcXB3e0h2ZFMpdHBRPnMKek5VWmg/dVI9
Vn0jcFhaTHtWeyRzOV93SEczRkwjN2EjdHx5aUApd2J7KylMRnlZMGUlXjAyaXNEY1FmUlRvYTxM
CnpIPFA+b2t2YzdAe0VaXn5wSSFCenkhcm91IXojRlhqb2JXcz1UNjdtYnxKNXhqKUJ+RShKY1Mj
SHRxamAxXiVadgp6fEpPfiRaTjUlMjFoTkNCZD43IWFVYzxsYzxOVyYoe3VUUzhiVWtfRGxxTU9w
SXxOZEQ+KksjelVqSHRgfENLck4KenVVSFpQUFdgYEF8TGZ+bXxJZXh5T1p1PTIwP0ZJWTEpaTwt
RlltUkA5dFJzcipqPDFUZX4wQDAqNTYpSWBfSEl3CnpDd0Q9KiYwRFoqJSpBdEBuaV8heSpnN2FY
IWc1V0RRKkkmezhAUlpPbi0ybGpXY0VifExMNzxUMGJZUHBHZFBEIwp6Ul8tWXtnViklS1pVRnlp
NFNFQ3woclc/VXhsK0Q3YnUjNFRfYUFkOFBJSEt2bjB4bEZPSXk/LWN8WXNKUj0jVSYKc1VTJkp0
ITIzeDAyfTtgdTlPOVRoc28wWHRjRzkodFVjTF9BRXJpJmdhWHd4NF5+TFoxMURTZnI0KiZvRgoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDEyZDljZDZiMzE4MWIxNjliZTgy
NTZmNzY5YTQwOTUyZGEyOTg3YmMuLjdmZmFmMjg2NGIyMWYzNzYwY2VkMTE3ZWRlMzBmZTVmZDc4
ZWI5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMy0wNCAgQWRyaWVubmUg
V2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gRml4IHRleHR1cmUgc3RyaWRlIGlzc3VlcyBv
biBsYXJnZSBjb250ZW50IGFuZCBpbWFnZSBsYXllcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTY3OQorCisgICAgICAgIFRoaXMgd2FzIGFuIGVy
cm9yIGNhdXNlZCBkdXJpbmcgdGhlIHJlZmFjdG9yaW5nIGluIHI4MDA4MS4KKworICAgICAgICBU
ZXN0czogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjp1cGRhdGVU
ZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVy
Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMYXllckNocm9taXVtOjp1cGRh
dGVUZXh0dXJlSWZOZWVkZWQpOgorCiAyMDExLTAzLTAzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250
ZW50TGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggYTRiODBjNzllMzAxNzI1ZDQ5
ZWZlYWVjYzU1NjVmNmNjNTMyYmJiZC4uZWFiNGU4ZWY0ZTgwMzRiZDkwMTVhYWFiY2M5MGJjNGEw
N2NkNmM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmNwcApAQCAtMjA5LDEy
ICsyMDksMTIgQEAgdm9pZCBDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4dHVyZShjb25z
dCB1aW50OF90KiBwaXhlbHMsIGNvbnN0IEludFNpemUmIHMKICAgICBpZiAocmVxdWlyZXNDbGlw
cGVkVXBkYXRlUmVjdCgpKQogICAgICAgICBzcmNSZWN0ID0gbV92aXNpYmxlUmVjdEluTGF5ZXJD
b29yZHM7CiAKLSAgICBjb25zdCBzaXplX3QgZGVzdFN0cmlkZSA9IHNpemUud2lkdGgoKSAqIDQ7
CisgICAgY29uc3Qgc2l6ZV90IGRlc3RTdHJpZGUgPSBtX3VwbG9hZFVwZGF0ZVJlY3Qud2lkdGgo
KSAqIDQ7CiAgICAgY29uc3Qgc2l6ZV90IHNyY1N0cmlkZSA9IHNyY1JlY3Qud2lkdGgoKSAqIDQ7
CiAKLSAgICBjb25zdCB1aW50OF90KiB1cGxvYWRQaXhlbHMgPSBwaXhlbHMgKyBzcmNTdHJpZGUg
KiBtX3VwbG9hZFVwZGF0ZVJlY3QueCgpOworICAgIGNvbnN0IHVpbnQ4X3QqIHVwbG9hZFBpeGVs
cyA9IHBpeGVscyArIHNyY1N0cmlkZSAqIG1fdXBsb2FkVXBkYXRlUmVjdC55KCk7CiAgICAgVmVj
dG9yPHVpbnQ4X3Q+IHVwbG9hZEJ1ZmZlcjsKLSAgICBpZiAoc3JjU3RyaWRlICE9IGRlc3RTdHJp
ZGUpIHsKKyAgICBpZiAoc3JjU3RyaWRlICE9IGRlc3RTdHJpZGUgfHwgbV91cGxvYWRVcGRhdGVS
ZWN0LngoKSkgewogICAgICAgICB1cGxvYWRCdWZmZXIucmVzaXplKG1fdXBsb2FkVXBkYXRlUmVj
dC5oZWlnaHQoKSAqIGRlc3RTdHJpZGUpOwogICAgICAgICBmb3IgKGludCByb3cgPSAwOyByb3cg
PCBtX3VwbG9hZFVwZGF0ZVJlY3QuaGVpZ2h0KCk7ICsrcm93KSB7CiAgICAgICAgICAgICBzaXpl
X3Qgc3JjT2Zmc2V0ID0gKG1fdXBsb2FkVXBkYXRlUmVjdC55KCkgKyByb3cpICogc3JjU3RyaWRl
ICsgbV91cGxvYWRVcGRhdGVSZWN0LngoKSAqIDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVt
LmNwcAppbmRleCAxYTFhYTg5MmUwNzNjYTE5MjFlYjkxZTY0NGUzNDc3ZDIwZDFlYmFlLi43YzQy
MzY2Y2RmMGI1MzVjZjNjNWIyODAxOTEyM2JjZjU0N2Y4ZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVyQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5
ZXJDaHJvbWl1bS5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIHZvaWQgSW1hZ2VMYXllckNocm9taXVt
Ojp1cGRhdGVDb250ZW50c0lmRGlydHkoKQogCiB2b2lkIEltYWdlTGF5ZXJDaHJvbWl1bTo6dXBk
YXRlVGV4dHVyZUlmTmVlZGVkKCkKIHsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgdGVzdCB3
aGVuIHRpbGVkIGxheWVycyBhcmUgaW1wbGVtZW50ZWQuCisgICAgaWYgKHJlcXVpcmVzQ2xpcHBl
ZFVwZGF0ZVJlY3QoKSkgeworICAgICAgICBDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4
dHVyZUlmTmVlZGVkKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgdXBkYXRlVGV4dHVy
ZShtX2RlY29kZWRJbWFnZS5waXhlbHMoKSwgbV9kZWNvZGVkSW1hZ2Uuc2l6ZSgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84798</attachid>
            <date>2011-03-04 14:28:58 -0800</date>
            <delta_ts>2011-03-04 15:17:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55679-20110304142857.patch</filename>
            <type>text/plain</type>
            <size>10122</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyNDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmOTJhOTY0MjA1MmViMTMzMWQ2ZjAx
NThmODhiMmZjOGZiNmNiNTRjLi5mYTBjNGE4ZWMyNzMyMmYzMmE5YzE1YzFlYTViMTcxZGQ2MTU3
ZjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDMtMDQgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUdXJuIG9uIHBpeGVsIHRlc3RzIGZvciBodWdlLWxheWVyLWltZy5odG1sIGZv
ciBiZXR0ZXIgdGVzdCBjb3ZlcmFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU1Njc5CisKKyAgICAgICAgQWxzbywgbW9kaWZ5IHRoaXMgdGVzdCB0
byBiZSBtb3JlIHBpeGVsIHRlc3QgZnJpZW5kbHkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy90
aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWdwdS13aW4vY29tcG9zaXRpbmcvdGlsaW5n
L2h1Z2UtbGF5ZXItaW1nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1ncHUvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3RpbGluZy9o
dWdlLWxheWVyLWltZy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMTEtMDMtMDMgIFBoaWxp
cHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHNraXAgZmFpbGluZyB0ZXN0IG9uIEdUSy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5jaGVja3N1bQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yOTVhYjk2ZmMzOTQ4OWNmY2E5ZWE1NzhmZGY4ZjExYWViYzM5NzJmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIt
aW1nLWV4cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKK2Q0MDc3YWUzNTJhNWEyZjBmOWM5
NTBkYjg0OWY0YmUzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjU3NGQ5YjQ5NjU0MTEyNWZiNjYwMjMyNzczODc3NTI0YWY4NDZhMgpH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjgzMwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheakwlYU5ZMjlhU1ctTF5ZKUcqVSRjUC0KenQ3RyR5e31VaDJWUX1AKG1i
dXtMe2gzUkFiXk0wMm1oMjErYjhFamNGZj9vemo5XzNlWS1EOCs1WE45d3BSPj5YCnp6THcjRStQ
XytrQGA4ZyozPn08MDM9SzA1M19waEtZV0EyZHtmNlFCNF5wPW8rTzBOY19ATColSjdKfUVrKD87
UQp6KjUjflgzPHZJRzJHNkpuKT5KYlpFVGg0S3QzKTk9WkVRXmIrUioqJTYoYSt+e3Y4UjczYGJi
Ujcjd14/OEtaJFAKa25pNThIIUR1Y1JMQWhYYE1GI0gldylFXmVVe2phRCk3OCZxb2xgOyswSlBq
QWxtR3cjCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43M2Q5YTFhOTM1YjIzNDdjNDQ3NzQyZGE5ZDBhMWNiOGRhN2IzNWY4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMg
ODAwLjAwIDIwMDUzLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAoYm91bmRzIDgwMC4wMCAyMDA1My4wMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAgICAgICAo
Ym91bmRzIDUwMC4wMCAyMDAwMC4wMCkKKyAgICAgICAgICAodXNpbmdUaWxlZExheWVyIDEpCisg
ICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICAp
CispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxh
eWVyLWltZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIt
aW1nLmh0bWwKaW5kZXggOWFjMzgzOTQ2ZTI4NTVkZmE0ZDgwYTY5ZDFlMDFlNjNkNGVlYzIxMS4u
ZDYxODZiMTU1NzI2NmNhYTMxYWJhMDQ2MzdlOGQyYTAwM2MzY2NiZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLmh0bWwKQEAgLTksMTAg
KzksMTMgQEAKICAgICAgIGhlaWdodDogMjAwMDBweDsKICAgICAgIC13ZWJraXQtdHJhbnNmb3Jt
OnRyYW5zbGF0ZVooMCk7CiAgICAgfQorICAgIGJvZHkgeworICAgICAgb3ZlcmZsb3c6aGlkZGVu
OworICAgIH0KICAgICA8L3N0eWxlPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7CiAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KIApA
QCAtMjcsOCArMzAsNiBAQAogICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBjYW52
YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUg
PSAicmVkIjsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoNTAsIDUwLCAyMDAsIDIwMCk7
Ci0gICAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICJibHVlIjsKLSAgICAgICAgICAgIGNv
bnRleHQuZmlsbFJlY3QoNTAsIGNhbnZhcy5oZWlnaHQgLSAyNTAsIDIwMCwgMjAwKTsKICAgICAg
ICAgICAgIGltZy5zcmMgPSBjYW52YXMudG9EYXRhVVJMKCk7CiAKICAgICAgICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpAQCAtNDMsMTIgKzQ0LDExIEBACiAgICAgPC9zY3Jp
cHQ+CiAgIDwvaGVhZD4KICAgPGJvZHk+Ci0gICAgICA8cD4KKyAgICAgIDwhLS0KICAgICAgICAg
VGhlIHllbGxvdyBib3ggc2hvdWxkIGJlIGxhcmdlIGVub3VnaCB0byBzY3JvbGwgb2ZmIHRoZSBi
b3R0b20uCi0gICAgICAgIFRoZXJlIHNob3VsZCBiZSBhIHJlZCBib3ggb24gdGhlIGZpcnN0IHBh
Z2UgYW5kIGEgYmx1ZSBib3gKLSAgICAgICAgbmVhciB0aGUgYm90dG9tIG9mIHRoZSB5ZWxsb3cg
Ym94LiBUaGlzIHRlc3RzIHRoYXQgd2UgY2FuIHN1cHBvcnQKLSAgICAgICAgdmVyeSBsYXJnZSBj
b21wb3NpdGVkIGltYWdlIGxheWVycy4KLSAgICAgIDwvcD4KKyAgICAgICAgVGhlcmUgc2hvdWxk
IGJlIGEgcmVkIGJveCB3aXRoaW4gdGhlIHllbGxvdyBib3guCisgICAgICAgIFRoaXMgdGVzdHMg
dGhhdCB3ZSBjYW4gc3VwcG9ydCB2ZXJ5IGxhcmdlIGNvbXBvc2l0ZWQgaW1hZ2UgbGF5ZXJzLgor
ICAgICAgLS0+CiAgICAgICAgIDxpbWcgaWQ9ImNvbnRhaW5lciI+CiAgICAgICAgIDxwcmUgaWQ9
ImxheWVycyI+TGF5ZXIgdHJlZSBhcHBlYXJzIGhlcmUgaW4gRFJULjwvcHJlPgogICA8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1ncHUtd2luL2NvbXBv
c2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1ncHUtd2luL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWlt
Zy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlOWU0NTY4NTAy
NWM3OTM2M2ZmMDg4MTMxZGVjMzRmMzZkOTg2ZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tZ3B1LXdp
bi9jb21wb3NpdGluZy90aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHllbGxvdyBib3ggc2hvdWxkIGJlIGxhcmdlIGVu
b3VnaCB0byBzY3JvbGwgb2ZmIHRoZSBib3R0b20uIFRoZXJlIHNob3VsZCBiZSBhIHJlZCBib3gg
b24gdGhlIGZpcnN0IHBhZ2UgYW5kIGEgYmx1ZSBib3ggbmVhciB0aGUgYm90dG9tIG9mIHRoZSB5
ZWxsb3cgYm94LiBUaGlzIHRlc3RzIHRoYXQgd2UgY2FuIHN1cHBvcnQgdmVyeSBsYXJnZSBjb21w
b3NpdGVkIGltYWdlIGxheWVycy4KLQotCi0oR3JhcGhpY3NMYXllcgotICAoYm91bmRzIDc4NS4w
MCAyMDExOS4wMCkKLSAgKGNoaWxkcmVuIDEKLSAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJv
dW5kcyA3ODUuMDAgMjAxMTkuMDApCi0gICAgICAoY2hpbGRyZW4gMQotICAgICAgICAoR3JhcGhp
Y3NMYXllcgotICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDcyLjAwKQotICAgICAgICAgIChib3Vu
ZHMgNTAwLjAwIDIwMDAwLjAwKQotICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAg
KQotICAgICAgKQotICAgICkKLSAgKQotKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1ncHUvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy90
aWxpbmcvaHVnZS1sYXllci1pbWctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NTk3ZWU4MzVm
Njc5NGYwNjFmNTdmYmMyM2QwZDViZDIyM2E1MTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1ncHUvY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIt
aW1nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACisKKyhHcmFwaGljc0xheWVyCisgIChi
b3VuZHMgODAwLjAwIDIwMDU1LjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCAyMDA1NS4wMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAg
ICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAg
ICAgICAoYm91bmRzIDUwMC4wMCAyMDAwMC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvdGlsaW5nL2h1
Z2UtbGF5ZXItaW1nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWIxNzc2MjJjYjE0MmY1NWY2M2I4ODNkMTdkOTM5OWQ1OGEyYmY0ZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItaW1nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDIwICswLDAgQEAKLVRoZSB5ZWxsb3cgYm94IHNob3VsZCBiZSBsYXJnZSBlbm91
Z2ggdG8gc2Nyb2xsIG9mZiB0aGUgYm90dG9tLiBUaGVyZSBzaG91bGQgYmUgYSByZWQgYm94IG9u
IHRoZSBmaXJzdCBwYWdlIGFuZCBhIGJsdWUgYm94IG5lYXIgdGhlIGJvdHRvbSBvZiB0aGUgeWVs
bG93IGJveC4gVGhpcyB0ZXN0cyB0aGF0IHdlIGNhbiBzdXBwb3J0IHZlcnkgbGFyZ2UgY29tcG9z
aXRlZCBpbWFnZSBsYXllcnMuCi0KLQotKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyA3ODUuMDAg
MjAxMTMuMDApCi0gIChjaGlsZHJlbiAxCi0gICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgIChib3Vu
ZHMgNzg1LjAwIDIwMTEzLjAwKQotICAgICAgKGNoaWxkcmVuIDEKLSAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKLSAgICAgICAgICAocG9zaXRpb24gOC4wMCA2OC4wMCkKLSAgICAgICAgICAoYm91bmRz
IDUwMC4wMCAyMDAwMC4wMCkKLSAgICAgICAgICAodXNpbmdUaWxlZExheWVyIDEpCi0gICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICApCi0gICAgICApCi0gICAgKQotICApCi0pCi0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMmQ5Y2Q2YjMxODFiMTY5YmU4MjU2Zjc2OWE0MDk1MmRhMjk4N2JjLi43
ZmZhZjI4NjRiMjFmMzc2MGNlZDExN2VkZTMwZmU1ZmQ3OGViOWU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTEtMDMtMDQgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hy
b21pdW1dIEZpeCB0ZXh0dXJlIHN0cmlkZSBpc3N1ZXMgb24gbGFyZ2UgY29udGVudCBhbmQgaW1h
Z2UgbGF5ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTU2NzkKKworICAgICAgICBUaGlzIHdhcyBhbiBlcnJvciBjYXVzZWQgZHVyaW5nIHRoZSBy
ZWZhY3RvcmluZyBpbiByODAwODEuCisKKyAgICAgICAgVGVzdHM6IExheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3RpbGluZy9odWdlLWxheWVyLWltZy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4dHVyZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlTGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4dHVyZUlmTmVlZGVkKToKKwog
MjAxMS0wMy0wMyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hy
b21pdW0uY3BwCmluZGV4IGE0YjgwYzc5ZTMwMTcyNWQ0OWVmZWFlY2M1NTY1ZjZjYzUzMmJiYmQu
LmVhYjRlOGVmNGU4MDM0YmQ5MDE1YWFhYmNjOTBiYzRhMDdjZDZjNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9D
b250ZW50TGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTIwOSwxMiArMjA5LDEyIEBAIHZvaWQgQ29udGVu
dExheWVyQ2hyb21pdW06OnVwZGF0ZVRleHR1cmUoY29uc3QgdWludDhfdCogcGl4ZWxzLCBjb25z
dCBJbnRTaXplJiBzCiAgICAgaWYgKHJlcXVpcmVzQ2xpcHBlZFVwZGF0ZVJlY3QoKSkKICAgICAg
ICAgc3JjUmVjdCA9IG1fdmlzaWJsZVJlY3RJbkxheWVyQ29vcmRzOwogCi0gICAgY29uc3Qgc2l6
ZV90IGRlc3RTdHJpZGUgPSBzaXplLndpZHRoKCkgKiA0OworICAgIGNvbnN0IHNpemVfdCBkZXN0
U3RyaWRlID0gbV91cGxvYWRVcGRhdGVSZWN0LndpZHRoKCkgKiA0OwogICAgIGNvbnN0IHNpemVf
dCBzcmNTdHJpZGUgPSBzcmNSZWN0LndpZHRoKCkgKiA0OwogCi0gICAgY29uc3QgdWludDhfdCog
dXBsb2FkUGl4ZWxzID0gcGl4ZWxzICsgc3JjU3RyaWRlICogbV91cGxvYWRVcGRhdGVSZWN0Lngo
KTsKKyAgICBjb25zdCB1aW50OF90KiB1cGxvYWRQaXhlbHMgPSBwaXhlbHMgKyBzcmNTdHJpZGUg
KiBtX3VwbG9hZFVwZGF0ZVJlY3QueSgpOwogICAgIFZlY3Rvcjx1aW50OF90PiB1cGxvYWRCdWZm
ZXI7Ci0gICAgaWYgKHNyY1N0cmlkZSAhPSBkZXN0U3RyaWRlKSB7CisgICAgaWYgKHNyY1N0cmlk
ZSAhPSBkZXN0U3RyaWRlIHx8IG1fdXBsb2FkVXBkYXRlUmVjdC54KCkpIHsKICAgICAgICAgdXBs
b2FkQnVmZmVyLnJlc2l6ZShtX3VwbG9hZFVwZGF0ZVJlY3QuaGVpZ2h0KCkgKiBkZXN0U3RyaWRl
KTsKICAgICAgICAgZm9yIChpbnQgcm93ID0gMDsgcm93IDwgbV91cGxvYWRVcGRhdGVSZWN0Lmhl
aWdodCgpOyArK3JvdykgewogICAgICAgICAgICAgc2l6ZV90IHNyY09mZnNldCA9IChtX3VwbG9h
ZFVwZGF0ZVJlY3QueSgpICsgcm93KSAqIHNyY1N0cmlkZSArIG1fdXBsb2FkVXBkYXRlUmVjdC54
KCkgKiA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggMWExYWE4OTJlMDcz
Y2ExOTIxZWI5MWU2NDRlMzQ3N2QyMGQxZWJhZS4uN2M0MjM2NmNkZjBiNTM1Y2YzYzViMjgwMTkx
MjNiY2Y1NDdmOGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVyQ2hyb21pdW0uY3BwCkBAIC03Nyw2
ICs3NywxMSBAQCB2b2lkIEltYWdlTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29udGVudHNJZkRpcnR5
KCkKIAogdm9pZCBJbWFnZUxheWVyQ2hyb21pdW06OnVwZGF0ZVRleHR1cmVJZk5lZWRlZCgpCiB7
CisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHRlc3Qgd2hlbiB0aWxlZCBsYXllcnMgYXJlIGlt
cGxlbWVudGVkLgorICAgIGlmIChyZXF1aXJlc0NsaXBwZWRVcGRhdGVSZWN0KCkpIHsKKyAgICAg
ICAgQ29udGVudExheWVyQ2hyb21pdW06OnVwZGF0ZVRleHR1cmVJZk5lZWRlZCgpOworICAgICAg
ICByZXR1cm47CisgICAgfQogICAgIHVwZGF0ZVRleHR1cmUobV9kZWNvZGVkSW1hZ2UucGl4ZWxz
KCksIG1fZGVjb2RlZEltYWdlLnNpemUoKSk7CiB9CiAK
</data>
<flag name="review"
          id="76835"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>