<?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>70044</bug_id>
          
          <creation_ts>2011-10-13 12:19:49 -0700</creation_ts>
          <short_desc>SVG Filter on a group doesn&apos;t invalidate when children are moved</short_desc>
          <delta_ts>2011-11-02 07:19:23 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>johnnyg</cc>
    
    <cc>krit</cc>
    
    <cc>paroga</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>483376</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-10-13 12:19:49 -0700</bug_when>
    <thetext>Repro attached; the filter is attached to a &lt;g&gt;, we&apos;re moving children of the &lt;g&gt; (a &lt;circle&gt;) from within JS. When the filter is applied, the filter never invalidates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483377</commentid>
    <comment_count>1</comment_count>
      <attachid>110886</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-10-13 12:20:05 -0700</bug_when>
    <thetext>Created attachment 110886
repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483378</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-10-13 12:20:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/10281529&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483380</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-10-13 12:20:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/10281530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483401</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-10-13 12:41:35 -0700</bug_when>
    <thetext>Adding Reni to this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488758</commentid>
    <comment_count>5</comment_count>
      <attachid>112042</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-10-21 16:36:57 -0700</bug_when>
    <thetext>Created attachment 112042
preliminary (no changelog/test) patch

I don&apos;t like the &quot;only call clientChildLayoutChanged if we didn&apos;t clientLayoutChanged&quot; semantic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488898</commentid>
    <comment_count>6</comment_count>
      <attachid>112042</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-22 00:12:43 -0700</bug_when>
    <thetext>Comment on attachment 112042
preliminary (no changelog/test) patch

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

&gt; Source/WebCore/rendering/svg/RenderSVGContainer.cpp:73
&gt; +    if (m_everHadLayout) {
&gt; +        if (selfNeedsLayout())
&gt; +            SVGResourcesCache::clientLayoutChanged(this);
&gt; +        else if(needsLayout())
&gt; +            SVGResourcesCache::clientChildLayoutChanged(this);
&gt; +    }

In general the idea looks sane to me. I&apos;d propose to not do any selfNeedsLayout/needsLayout checks on the call site at all but leave that to clientLayoutChanged().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491132</commentid>
    <comment_count>7</comment_count>
      <attachid>112583</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-10-26 13:17:46 -0700</bug_when>
    <thetext>Created attachment 112583
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491376</commentid>
    <comment_count>8</comment_count>
      <attachid>112583</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-27 00:29:37 -0700</bug_when>
    <thetext>Comment on attachment 112583
patch

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

r=me, assuming no pixel regressions. Some comments on the test:

&gt; LayoutTests/svg/filters/invalidate-on-child-layout.svg:1
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; onload=&quot;setup()&quot;&gt;

The onload=&quot;setup()&quot; is not really needed. You can just use setTimeout(jump, 0) in the &lt;script&gt; directly.
Also I&apos;d rename jump to executeTest.

&gt; LayoutTests/svg/filters/invalidate-on-child-layout.svg:6
&gt; +    layoutTestController.display();

Why is display() needed? I guess you want to test repainting, but in the expected.png I can not see any gray overlay, which should be produced by display(). Can it be removed?

&gt; LayoutTests/svg/filters/invalidate-on-child-layout.svg:16
&gt; +    a.setAttributeNS(null,&quot;cx&quot;,100);
&gt; +    a.setAttributeNS(null,&quot;cy&quot;,100);

setAttribute(&quot;cx&quot;, &quot;100&quot;) ...

&gt; LayoutTests/svg/filters/invalidate-on-child-layout.svg:29
&gt; +&lt;g filter=&quot;url(#filt)&quot;&gt;
&gt; +    &lt;circle id=&quot;c&quot; r=&quot;50&quot; cx=&quot;50&quot; cy=&quot;50&quot; /&gt;

Nitpick, I&apos;d name the resources &quot;filter&quot; and &quot;circle&quot;, to avoid confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491537</commentid>
    <comment_count>9</comment_count>
      <attachid>112583</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 07:01:48 -0700</bug_when>
    <thetext>Comment on attachment 112583
patch

Attachment 112583 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10226697

New failing tests:
svg/filters/invalidate-on-child-layout.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491729</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-10-27 11:05:41 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 112583 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112583&amp;action=review
&gt; 
&gt; Why is display() needed? I guess you want to test repainting, but in the expected.png I can not see any gray overlay, which should be produced by display(). Can it be removed?

Is there a way to force a repaint without doing the grey wash thing? Without the display(), I was seeing (before the fix) the test *pass* sometimes because the animation would happen before the first paint. (i.e. without the display(), before this fix, the test is a flaky fail).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492276</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-10-27 23:55:21 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Is there a way to force a repaint without doing the grey wash thing? Without the display(), I was seeing (before the fix) the test *pass* sometimes because the animation would happen before the first paint. (i.e. without the display(), before this fix, the test is a flaky fail).
Hm, good question. Without knowing exactly what&apos;s causing the pass theres probably no other way.
Anyhow, it&apos;s fine with me, this shouldn&apos;t block your patch. Let&apos;s live with it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494066</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-11-01 12:14:09 -0700</bug_when>
    <thetext>Landed in r98989.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494098</commentid>
    <comment_count>13</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2011-11-01 13:25:52 -0700</bug_when>
    <thetext>In your test, you removed the setup() method but left the call to it in onload.  This causes chromium to fail your layout test because it throws a ReferenceError in the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494099</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-11-01 13:29:44 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; In your test, you removed the setup() method but left the call to it in onload.  This causes chromium to fail your layout test because it throws a ReferenceError in the output.

Whoops! I&apos;ll fix that right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494130</commentid>
    <comment_count>15</comment_count>
      <attachid>113212</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-11-01 14:07:14 -0700</bug_when>
    <thetext>Created attachment 113212
fix the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494350</commentid>
    <comment_count>16</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-11-01 17:34:33 -0700</bug_when>
    <thetext>For whatever reason (because this was marked RESOLVED?) commit-queue never took the patch. Landed manually as r99017.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494603</commentid>
    <comment_count>17</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-11-02 07:19:23 -0700</bug_when>
    <thetext>Landed build fix for !ENABLE(FILTERS) in http://trac.webkit.org/changeset/99056</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>110886</attachid>
            <date>2011-10-13 12:20:05 -0700</date>
            <delta_ts>2011-10-13 12:20:05 -0700</delta_ts>
            <desc>repro</desc>
            <filename>feGaussianBlur-invalidation-repro.svg</filename>
            <type>image/svg+xml</type>
            <size>490</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0ibWFpbmxvb3Ao
KSI+DQo8c2NyaXB0Pg0KPCFbQ0RBVEFbDQp2YXIgbiA9IDcwOw0KZnVuY3Rpb24gbWFpbmxvb3Ao
KSB7DQogICAgbisrOw0KICAgIHZhciBhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsN
CiAgICBhLnNldEF0dHJpYnV0ZU5TKG51bGwsImN4IixuKTsNCiAgICBhLnNldEF0dHJpYnV0ZU5T
KG51bGwsImN5IixuKTsNCglzZXRUaW1lb3V0KCJtYWlubG9vcCgpIiwyMCk7DQp9DQpdXT4NCjwv
c2NyaXB0Pg0KPGRlZnM+DQogICAgPGZpbHRlciBpZD0iZmlsdCI+DQogICAgICAgIDxmZUdhdXNz
aWFuQmx1ciBzdGREZXZpYXRpb249IjIiLz4NCiAgICA8L2ZpbHRlcj4NCjwvZGVmcz4NCjxnIGlk
PSJjbG9jazNEIiBmaWx0ZXI9InVybCgjZmlsdCkiPg0KICAgIDxjaXJjbGUgaWQ9ImMiIHI9IjUw
IiBjeD0iNzAiIGN5PSI3MCIgLz4NCjwvZz4NCjwvc3ZnPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112042</attachid>
            <date>2011-10-21 16:36:57 -0700</date>
            <delta_ts>2011-10-26 13:17:46 -0700</delta_ts>
            <desc>preliminary (no changelog/test) patch</desc>
            <filename>70044.patch</filename>
            <type>text/plain</type>
            <size>2655</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVy
LmNwcAppbmRleCAxNWM3YjIyLi5iZWI4MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuY3BwCkBAIC02NSw4ICs2NSwxMiBAQCB2
b2lkIFJlbmRlclNWR0NvbnRhaW5lcjo6bGF5b3V0KCkKICAgICBTVkdSZW5kZXJTdXBwb3J0Ojps
YXlvdXRDaGlsZHJlbih0aGlzLCBzZWxmTmVlZHNMYXlvdXQoKSk7CiAKICAgICAvLyBJbnZhbGlk
YXRlIGFsbCByZXNvdXJjZXMgb2YgdGhpcyBjbGllbnQgaWYgb3VyIGxheW91dCBjaGFuZ2VkLgot
ICAgIGlmIChtX2V2ZXJIYWRMYXlvdXQgJiYgc2VsZk5lZWRzTGF5b3V0KCkpCi0gICAgICAgIFNW
R1Jlc291cmNlc0NhY2hlOjpjbGllbnRMYXlvdXRDaGFuZ2VkKHRoaXMpOworICAgIGlmIChtX2V2
ZXJIYWRMYXlvdXQpIHsKKyAgICAgICAgaWYgKHNlbGZOZWVkc0xheW91dCgpKQorICAgICAgICAg
ICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQodGhpcyk7CisgICAgICAg
IGVsc2UgaWYobmVlZHNMYXlvdXQoKSkKKyAgICAgICAgICAgIFNWR1Jlc291cmNlc0NhY2hlOjpj
bGllbnRDaGlsZExheW91dENoYW5nZWQodGhpcyk7CisgICAgfQogCiAgICAgLy8gQXQgdGhpcyBw
b2ludCBMYXlvdXRSZXBhaW50ZXIgYWxyZWFkeSBncmFiYmVkIHRoZSBvbGQgYm91bmRzLAogICAg
IC8vIHJlY2FsY3VsYXRlIHRoZW0gbm93IHNvIHJlcGFpbnRBZnRlckxheW91dCgpIHVzZXMgdGhl
IG5ldyBib3VuZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVz
b3VyY2VzQ2FjaGUuY3BwCmluZGV4IDM2MTlhY2UuLjlmNGFlMjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwCkBAIC0xMjIsNiAr
MTIyLDE4IEBAIHZvaWQgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQoUmVu
ZGVyT2JqZWN0KiBvYmplY3QpCiAgICAgcmVzb3VyY2VzLT5yZW1vdmVDbGllbnRGcm9tQ2FjaGUo
b2JqZWN0KTsKIH0KIAordm9pZCBTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50Q2hpbGRMYXlvdXRD
aGFuZ2VkKFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIC8vIFRoaXMgaXMgb25seSBjYWxs
ZWQgaWYgY2xpZW50TGF5b3V0Q2hhbmdlZCgpIHdhc24ndCwgYnV0IHRoZSBsYXlvdXQgb2Ygc29t
ZSBjaGlsZCBvZiB0aGUgUmVuZGVyT2JqZWN0CisgICAgLy8gZGlkIGNoYW5nZS4gSW4gdGhpcyBj
YXNlLCB3ZSB3YW50IHRvIGludmFsaWRhdGUgb3VyIGZpbHRlciwgc2luY2UgaXQgZGVwZW5kcyBv
biB0aGUgbGF5b3V0IG9mIG91ciBjaGlsZHJlbi4KKworI2lmIEVOQUJMRShGSUxURVJTKQorICAg
IFNWR1Jlc291cmNlcyogcmVzb3VyY2VzID0gU1ZHUmVzb3VyY2VzQ2FjaGU6OmNhY2hlZFJlc291
cmNlc0ZvclJlbmRlck9iamVjdChvYmplY3QpOworICAgIGlmIChyZXNvdXJjZXMgJiYgcmVzb3Vy
Y2VzLT5maWx0ZXIoKSkKKyAgICAgICAgcmVzb3VyY2VzLT5yZW1vdmVDbGllbnRGcm9tQ2FjaGUo
b2JqZWN0KTsKKyNlbmRpZgorfQorCiB2b2lkIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRTdHls
ZUNoYW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSkKIHsKICAgICBBU1NFUlQocmVuZGVyZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4
IDg5N2MxODQuLjI3OWNkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1Jlc291cmNlc0NhY2hlLmgKQEAgLTQ3LDYgKzQ3LDkgQEAgcHVibGljOgogICAgIC8vIENh
bGxlZCBmcm9tIGFsbCBTVkcgcmVuZGVyZXJzIGxheW91dCgpIG1ldGhvZHMuCiAgICAgc3RhdGlj
IHZvaWQgY2xpZW50TGF5b3V0Q2hhbmdlZChSZW5kZXJPYmplY3QqKTsKIAorICAgIC8vIENhbGxl
ZCBmcm9tIFJlbmRlclNWR0NvbnRhaW5lcjo6bGF5b3V0KCkuCisgICAgc3RhdGljIHZvaWQgY2xp
ZW50Q2hpbGRMYXlvdXRDaGFuZ2VkKFJlbmRlck9iamVjdCopOworCiAgICAgLy8gQ2FsbGVkIGZy
b20gYWxsIFNWRyByZW5kZXJlcnMgc3R5bGVEaWRDaGFuZ2UoKSBtZXRob2RzLgogICAgIHN0YXRp
YyB2b2lkIGNsaWVudFN0eWxlQ2hhbmdlZChSZW5kZXJPYmplY3QqLCBTdHlsZURpZmZlcmVuY2Us
IGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112583</attachid>
            <date>2011-10-26 13:17:46 -0700</date>
            <delta_ts>2011-10-27 07:01:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>70044.patch</filename>
            <type>text/plain</type>
            <size>18524</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyOWRjOTIwLi43NTBmYTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTAt
MjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZH
IEZpbHRlciBvbiBhIGdyb3VwIGRvZXNuJ3QgaW52YWxpZGF0ZSB3aGVuIGNoaWxkcmVuIGFyZSBt
b3ZlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAw
NDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwMjgxNTMwPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVu
c3VyZXMgdGhhdCBjaGFuZ2luZyB0aGUgbGF5b3V0IG9mIGEgY2hpbGQgb2YgYSBmaWx0ZXJlZCBl
bGVtZW50IGludmFsaWRhdGVzIHRoZSBmaWx0ZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvaW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQtZXhwZWN0ZWQucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvaW52YWxpZGF0ZS1vbi1jaGls
ZC1sYXlvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZmlsdGVycy9pbnZh
bGlkYXRlLW9uLWNoaWxkLWxheW91dC5zdmc6IEFkZGVkLgorCiAyMDExLTEwLTIxICBKdWxpZW4g
Q2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
Z2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0
ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9pbnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC1leHBl
Y3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZmODEyZWMyMTIxOWZmODc2ZDg1NjIyNjY3MzdhMjIzM2Nh
YmRhZQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTg4MDgKemNtZUh2ZHB5KGF8TnFQKGhqdTR2
Nj5naVRaWGMtPk1YYHh3clBBNWk1X2klSmNUVTZSNnopbkh5MzFXOzYmPiF8CnpTUHEtQklpJUBp
QXJgflBWUUZUTDgpb3grYH19VG18Tmo1fF5MPjIlI29sfUd4fn0pQEBPKFk1PWorO1RvanpwYAp6
UVBvbGZmazJSQnMzVGBWQWJCX2wxYT8rZDA8SnM/aXdePys3PjN3NmhqP0g4KWYqRVdpVXNZbip6
QGNESiR1WiYKel9WNHhhdmhkbn0jbHBocCUwOTA+N1FkUjlvMHdjYUBIWHo/MGJtcWVLVT4/PSQ4
MnJrcj5fVElAJD4lYDFqNU5CCnpwNjZpTlBIUmZMZXRyRDlLbHp+VmRLSlhndjtkIVRBK31qR2o4
bnhZKkJ8PiFeLSE1RnU8bm9FOHR8aUV1anh6PAp6SmxHZ011PzhgPldeTHo8el5IVntUVFFRN14z
QU8kZ2o8V1ZHZmh3S0k0NTUmc15yWCNTP3U1cmRPbiVeJjl6TikKel9kM2xCPU51ZEI3djJuTmF3
Zz9HYiE/M211QVdSemYqIyopWkBzUnFDXysjP15eQCpmfEIkZ2pQTSp9ZXtuN29rCno+JkpFQUhH
aTFCKzFsXiYjTHhYcCRjRGEtVFl8P1hYNyEmPTFVdFZ9UD1XY0gyWVNjIy0/XioqO0VKaTReJl4k
fgp6SEh8aDA5bT1mRHxNY3NkZl8hYWAoO1ZFZntqYzwwJChESWBYTGs/eipjR2k2aj5DZClPcmxA
RWBlUChCcFIwWnMKemApSkZsN1gwbUFtPDF1fCZNPklHNHZGNGVlWW9zI2tue2U1OUo2U2ZQWC0w
K3ded3Q9TGozO1p8TjFEeSNaWTZMCnpqelFKc145QjMte2Y1PSNaI14xcjw0PlBYZUAheF9vOT1V
JjhzTU00dWZRe0RvRG4pNG92eF42dkQ1Q1k4OEFiPAp6SDArNDZtUjVecXVIUFB0TkZWMnc9LXpG
Z2MxdTVhazxBfGJeZ19Ta1A1MnE0Smp5ME1NYVNvdHpCSFMpVVhRJXIKens1XlhEeEBHSX0rKlpH
a15BU2JuOWZ5OW9fa2djc2s5JnZ5c212MlA8NXBCQT49UzRBWS02UVZaQUAkfCZHfndVCnpQbUxS
P0RCQUV5SjB7ZlljfV90OGYlMmhEWkVUKkpAKV95dnArYzFCdWtSaD4mIyolRzUydjJYU09gXlA/
KV90SQp6VGJQRlArNndaeD1qP3l7UlVII0kpbzBNWkcmVDM7dW0yR0grZkdEWV9QSX1RTjRLP31Y
eXk1byhRblYjeXhseVAKellHVWo5eFc/ZFEpQF9UKXVHNEJlbCl+ZUEhezZMQHYoe3UrZSlRO3tG
SVVkcmJ6TUtEZSQkS3tVVD9mK1VrdzZYCno4aEYjfENBKzUwaG5IakclQnlUa3Q5VnV6YDNJNGBM
dWklcV9sN00rZypBb0k3bk99bG9fU3c4VUw0e0dsSFowcwp6bGAqQXdQcTAyZzRTJSExXyFjcW12
UXcmfmshcys+d1ZvTWtrNU4jYXlJdm42XjV0cGdJeXtFYCg3X2Z7e3xPcT0Kem1OZjhvOWtgKDZ4
dXYheGMtTipVYCQ3aipVZ0pHP0A7MCh6bWY1QVRYQH1VfWBCcXIzaWUkdmFKYSkofkgoan5QCnpi
JFJWMT1IS2wtK2AkKyVUK1Z7aFU7MyZZXi1zfXpLX0VFaipwYjhNYWRQfmdUTXFgXy1kRmhpZlpS
U2d4Zm5CWQp6QT0laHY7Rm0rRGhNUnBaJSsmaSZkU3VAP3JMS19MbHhZXzFkQT99U0Y8TDYoLVE2
U3lSIX4tbFRnUVRjZSopbSsKekJhciNlaXZQWnJ0KVFUZVI5P0E5eCUtNFFzQyl9R01mTkZXYiM/
Mjd3YWE0d214SzFuJHFpb2xhJllWYTlkK3FPCnpZdFkyTGx+PUt+cEEtflFHdGNtREYzdE1TS3lx
KUd8OVM7SnV0RDhBO0FwPFM/MHhYa0xnYmg0MX0/OEk8YlJ0Kgp6OytYMXFUcFRHeklfTENRaHFM
JmohNio8aEgrVDxDaHtQfUV0KmgzUE1jRFh5UmJ7diE7JXJDSVo/dUBPKFE8cHwKejglSVRMTFFr
cylWelFYbyF7Vi1sUUdoVyN3cmI2VVFlMUpFUmhadm1tJWkhZ1QqQUJQZDFxIzJTUmlUcktiZkpk
CnpVUGdAdE8rTlVCYExvRypRYzg4QnhVb21NcD07TWU7MXN7YXZfPEZuak9GMCU4KDZQeT9QOz0h
blYxcUk7aGBQJQp6MkZyejsmcmQyPmhyQGchYUtgNn1rKFZUZDt2ZHx1blMpLXJNWHQ7NzlycVh2
WmM+fXB7d2J3U1ByIVBlQ0o4YEYKenJyVU9sdCFVWCVSWmhBJjVfZVM/cm1zbV9Bc0llRXBLQk0t
YmVyOXI/aX5zMlZNZ3M8OXp6WmNhfE0hZllxeGRLCnpTfmJqKnJzIyZGVD81ajJEYjhiemVMOV9T
SDNwKk8kQWJSYEhQXjdMN0A4VzhNeEdTaDd0QEgtbTFFck02KEVSUAp6dyskWWYpd0V4a1RzTj47
eDh1XnAwMT01JEJ2TCZAKzl4X05rI3M2Pz04VHBgPjs1QWxfakMwMGBNeEJBUTFmN0cKemZ0Y3FE
KjxTNik3UGRxeXJYOWJrdko0MV9LVm1gR1EkNkdsMyQtO3tfZ2o8dXd+OU5aYkloMSpueHUqfnQm
MyZiCno+KnxYbSUjO20mRl4ken11JFEtSUdtKG82aE9zKkE9dzlwVig0IXNqKSo2IVQ4e35AMWRX
ISo5cGclKHdBcXJTKwp6T0QlWWNtd3cjPFk7bCV4NHJEUkxDRVIheU5vY1RkSTY0MzAwbUJifGJA
dXloSktIMWRnayopM1ExUTNxLU8mO0IKekY7UkMoSDNCPkRhcFAxPmpsI2JkK3hycTJJYDkqOChO
OX1kJVRmY1hwe3IlN3dPOFh7Mm1nMGlebFpDMGlJfjtLCnpWKyh1djcoVmh8NngxNUhMJGwmcE9C
aUhKciQ5S0FmdEQ2PXlte3FZb0VsSnE+WkNNO3ozYWJ4QlhHREIweTxYcgp6bkJAQDlGITQ3Q0Ap
MWtMMCNhOXZBUj5hSlVRYGZva1dqQF9NS3YlZ0NKVThQTSNJSEZAK2lAclhyfHhoayFsVF8Kemoq
ViN2azg4K0Q9V1FKUjMpS0s8anUoS3Y8KG4jZ3EpTCtGM3ZpfkU8aFc7WGBjRFZTV3tSXiY1Pkoq
bVdKWF5rCnoyeT5UbiotQE1hPWRtYlM4ZF9SZikpbjxGdWBRcHxnI0gtd2s8ZTtLOVc5JjVvckko
QDNlJVVnOUtvQCpZfj8jXgp6O2g1UjAlSH5RJGgySXIhREZNYjQpUUhDbmFrK2UmdTMhJEwyWjh4
alBOcyFQUjZGSyhAKVQmWmoreUd8bXApVDIKentmZ0FmdDwlRS1fUDJ7P3UrVDlRUDN6ViRIPS18
K2NATUshK1Bob1NvWSgpN2RFYStwcjh0YzUwdU8qdVlFbVUpCnppTzF1c20jKEg+RXhZPTRSPiUk
eyNXVDh1U3RacUQmK31qcjUyaWBgREt6NzBaQTRkP1Z5PkpJTTk8QHN4Zit9PAp6O1Jsa3lEN0t8
OV8qbktudFptYl4pKGEwVCtxOTAlYHdKIyp4aHZeYTQkYzlpWmpibUltc0l7cDE2TXVPWW1CaDkK
emk/Xj5vTn4xNEkxb1Rtbl5Obk44ZnVJcFc+dWA7VjhHaT4+OTU5WmBiWlc0VihSQk8lYXlBZzty
K3lXNUVifkhnCnpMWlZWP2lIZUAmI3w3fXc+O3dKISUqXzRGYEEtS3BtVXFqYThaalNuS1RydVkl
WDNiKWxrT3UoM1dEOUh5fHxuUwp6JUlkaHArQ009Pk5rcSpxaEB4PlZHdjN+WUBmJjhkLXorTjE1
VEUtaCY/XlJ0bV9HcjVWY3EmKGRYeGd3Y3RBI3UKekgkR1F5ckZhZ05aI2RZJntxKk9DS1E2eVVW
Qn49WmNBRWQtcGQ4Vi03OzE1VSo+UWFfM1AlLUVIOXM0X1YyIXU1CnotJWNWSF8/dzAtQEI/Rl9S
TjtQPW9aIXwxQmJhWF57YFVOfF98YlVGbVBrTTRWe202JSlXc3Rlc19FQF82akkxWgp6QXclOH1f
fEd4NiZKQWE/JWlWMHhrY19hfCN1REtjN0lTcE4zS1ZXMUFEMSZ3M0BKP19MYzFabGhWUDViYTBA
ZSgKejc9byR9TD5EXzFBPlVNKER6S19kfDIqRGVRLWRXdlBiOUVVb0U1Ul5Zczd3KSZ1NVZWNEU2
TSZGWXQ2dz4rMkFqCnpZbnZ+e0ZgTjRJRlhvczElIWxvJUhHLSszdlZVT19TMyZuK1klWiN+Qm1T
VVc9eHpTT2EwfjxuKFM+Tkt6PEZXcgp6a31AY3dWezZTKmVQOXlvX1UmUnF6U3gyVzc0YHRtcyFV
M35nT1J2aVR1aT5XZy1nWHNSNC07JT1mT0ojI1dhMn4Kej9jYCNfJXZffHFFUihHSihyWCkoUWxY
eiVfNFhJe1gmfCZMcklRKFNPR1A0JGNmNkAkdkwoS3pHM3hkclJEayk4CnorbEFBeVdqc0gyRXNq
b3U9bUI3d0UrSG9rS0dkKmo0ZFhjI2JPfnxuZzVIcHxXPndTZjdQfUpNK2F8VXdeUEFjOwp6ZVJ9
ZEpINz5NT1dzUENjSW91OVFBNFA4bk9ocnJPWEl7c34pUCNGeF8oN3UrNyYmXnU8YFF+d1V0IVlT
UTJLYEoKem1MMEZ0bkJ2WXplK1lhZTVWQ2JrOzY+WD5mNUBodjd3Mm9sNVomQCFaajd7T1J6OTxm
Iz8oKFplPzt+Pzw1eyYwCnppbUI4fnJ9UTRqUzB2N3c7N3hyTjBLfDx9ZzwmaGZ0Jn1VPFZ5N2Bx
NUUjWDxPQj1wLTNyfFhZWEtgcFohKiFZPgp6aFVqQ3x7Z25NKUlnPzdvZSFNbkc2O2RnNkFlY3Ir
SUl5IXkkNiVESD9CIVVDdCtpRTUpZzA8KzIyOGVGISQ0emEKeiN8NUdTRn5DRjdXcFBaT1dsKXVz
TmMxbDNtOWAwflcxX0VZbnk9YDZwXyUzJmZzYGxiZ0pwcVFCQFQ3b3s2S3o9CnpjI0ZOVFFuZ2hT
Y25IQ2c2PGJUJSglPmc5Qm52ZFo3IzIqSzxzfCVXaEJ0NkdoJjJyJVc1Rz0oY3dxVkVQSElCdgp6
dFh+X3FWI2ZaOGFjfFY8KihsMmNjOUxMPD1lPU5kJSNGSXBvdXFzd2RyeShCbjwkRHg8NT5+SzVw
USlxODBxRFQKejlvSDxfRUBQOzVBQUVkfFR5RXBfV0lwaHE5MElVdnEtNGE9KGFRKE9aK2g3TUAk
fiREWnt1RFRxTHs7fjtDVEQ7CnpzWiQteVlAOzdoMG5IenhYYD49U3k8UHBgNnhmWm9eOVY2ZVFQ
OTsrVH1nTEpjK3QjfSY8S0l1JH1HUSh0SU9ydQp6MXQqVXJCcSReU2NeUGVoX3U7WH5ETW0xdGpV
enU4XlZCQD1TeVlVMWhrVnp3Tzgpd31TP1AxYE9oeHZoYHgkeVIKek9IeHczT1UlZj4hb3poMVFa
UWVnKiRaaD1AfkNGczE1Ql9iI2RDNGA/WX5OKylFSm5eVXwobF9nJU5ELUBBRl8oCnpKITJrUzw9
UzhgKytZKClqdFF4ZSozREBsVCo7LUI2MjkxdmAhRlVfeTY+Z09MS3pGYF5pQDxmYjJMS2VuWllF
bwp6QkxnVWJ1YmdrIzMkK29FUmY0R0tmPFFFbiEyY0hsaChTZnJSIVFYZjJLei1KZkVZWCZYJE5r
UUttKkVTbCNyVE4KenBpWSh5Rjx2JiNRKEAwRHZWIV5aMUhSUnFWN3V0JTQ7RUhQayVoS0JHQjkp
TXhgK0h4VGxASDxpPD8tTEIkfUs3CnpjY19CTzlGMzklZiU+YzMyOEdtdVEtRGhuWmNGKEw3bShs
VmNVRDE0JXY0S01zV3A8O1hpMmpZOzEmcWcwdHNjfgp6b1B7cSRmZTxzWUM2WkRDKFMqUHVGaWd+
MXhXeGZhOSUwd2FraHZAaUUjb1NHZipaYWxlJXtBLXFEPGNaJVVALV4KemlsJVJXUE0pcUwzTWxP
cWs4MHcwbnMzRVdvYG1geERTWFZGPmc7K3UrR1RZM25WWncwaj10WSRvY3BRTV9sO1NsCnpPYmxW
fSZUPVlUTj9CVHw8YCkrVUtzSTM2O2kyOWhhPnFheE5rQmQ8ZH1eWjc9ZWByfClUQXxOSGluZVhD
RVMhPwp6OGwjYkpCKkQlRWEpMUJNU2lFJE84KDJoYFh4IXc4PD9LaWVGKkNyOVJWUVZ5R3d+RHxF
RUMhP1dMelojWmtTdFgKemg5eyV4S1lyTGRTITxZZzd9eG9EJTtBcEJJd3krOyZaRVZueFV0e3k5
ND19aTJBQHZ+VUVGTT1XITxWUGtHZiVCCnomIzFgUCVSUVhTZE9gQntXZGBGQjB2UzJlTWZaKSNx
ZzIxb0BTRyZPKFBwdF5mSXN8NXlPOGNyKUlmQj1TUXh0KQp6cShkZjQlTyp1Rzdmcjl3TF5Re3Zv
TlAyfnVHNTkzMm9obkxjZzgmZ2hpfGJ5YCNHI344ZU1ZQDxVKUBSZzw5KFoKelg9Kj5gK1J0SU80
ITVnb0ZxMlhoWllKRiNgLWVPU05YbSFaYmJNRk17RXN9ZUZ4WmtpRXdDbFdoaW9zQVFNYD8xCnpB
Myo4OUpOOVFpdnY2QSE+VSYrNTNgYHt2WD47JH1nVkJ9bTM2KWdSPCk3SjUwYj5CeENia0BTUEM/
RVRyfDRyWAp6d1FaV2dzMFJCUl9IM25ldmpsUkMrTjgtdDk4fFZTMHl1bj1eO3ZeKE9rcD1EZVl9
Tm9BeW07SUUrPEJpQ2MqYjIKeiVeZmVqcWs3bytKJkFaMVFnU3VzVTNuJCpVOXFSQzk8VFY8MTtX
c1JeeUpDLUJVdFowVSNJbkBAcCUtd153O0RpCnpCdVglN2BvaTFCWjFNZjl2ME5UNHZ1az8qQEgl
fEUoK3BwN2BxVUhEYFlORXtmOSVtWnJEYzhIZ1Z0PiVAPXdHMgp6NldlOzNMPFZ3TDZmcz08am19
ezA3bnxIVlMjUnF1LWJoWUojXzJaTCREP2VJSDhVZzE1Jmg1NmpSJCMpLXV0S2cKelclZCFFYGBT
Yj9BSiM9TkcjU1JKK0JURDw9OTRYS1BWMF9Ydll2cSRzQTZObWg2eV9NX2k2KylwKENBOW1STVMz
CnpFKjlsUkFuSCtpRXFhNDhFWik2OERgPTE2PFVRdFlVeWQ7eDUqKXRLK1Z1X1gpeWNSX0BaNEZE
cEkwfUs8JjUmTgp6dnZGQ2AmN0spNHF7cmV5LUFkQ1dVQl50bXQjJTk8ayk2RHAwKH1qdC00e1NB
ampuTENEcUkyfiRUditLbkRYcigKenVvI0FaWEZkKkpOMjJAZXEoSm1jWUtGVGJEJVpmNnNBWHN6
P15oVzZQaSlEfT5TXntJdzljPmNONlJ5dWhYZlRnCnpeMjEqNjVGbVU7YkRmMVZRJkhWVz9RX0tF
ZD8rdDYte18+SWc1N2RaRmNxNGc2JFBFe1ZwdShqeEZZaiRfQD1UPAp6UDswejdIdT45OU9sdjFY
LShvVClSNSY3dWhgQj5fLS1BM3JkJkR7dlVgOENkaEY9QCR0Q3VUXkQmU3pJYHVFOTMKejVKUTB4
Rz0/PGBKUzExb1I2Kll1TXhJaitjWmxuQCE5bjJGajYoUnUmNU1od3BSYip4ME5Ja0tIKjw7JiN8
PUxnCnpAMkw/aXtAeT5ib0xHWVkxUmFuWWJYS1B7MkhvejMpP2w+fWxRb1V3XllAPzNMfSNlKShF
UHg5VGModkNNfG0wOwp6TihwRFRPVWt+NTxURCtEYCZXUjxUZTxyck5GYGtEVGsmT188U3QlcTA5
cHJ1OHorYn1YUX1GKkF+d3RXI0tjcmkKeio/d1U9Szl1UDlpUHRtVSFxaG41WXtRdnk5OSUxVjYj
ST4zJClNSik9R2ZiUCgwYm9JeE4jQyUxQ2YjXyR+aVN6CnpkNTQheWE1fGkjbW4qZ0M5c2Rvd0BS
azA3VD13N31lK0pSUDtwP3NJcWpufCRNM1BmaEklfWx7VntGQWVGN2hfUAp6PExUTXJTN0w/PHNo
WH1TMXdLRGpuM1U/Qzg1SV9GLWhNenY+ZFNUb1ozNDxfUCMzaCRMdmUoSz98MnM4Qk05dHwKekA9
KXZSb2pPUSMpUE1iYGVQU21fd30mViFyO1RBJVdUb1khMkMoRkdMa25ufmFxUExsZzJYX2ZfVk1l
ZE59PGl3CnpqeFhuJm0wPXVGbD93bTJRSiMzekhfekp4ZVErSEZSP1NwIV5wLSo4RUlPYEk0UT9G
VU1wRip4R3NnczxxUFFlOwp6TXgmfXZKaD9jTiRKSWpZPlpDfV4zcSZ7PFgwdlJ5SU1YO0hCOV5S
KDVmUz9iJG0kNGE0UTMpIUpsSWFWN200USMKei0wUjlZJXo0VDAwSlJGIVZ7REVnYzwkNWx4Qn5H
I3tNfXtaeX5tPzNYQzNfVTZIUmdpXipmZGc3TTt6VWF2Y0B3CnpSPSpVXmZiKUwhLSg0PWthc1I/
Ym55I2FTaGNCeVplUDxOTHcjSmd9MCEzfk1HO0FINHJXblpmV0NfalZFWEhQRgp6YXI9QGhzUURP
bjFxRi12QVRGczZ6KCVaP1h2MzBNe3JvMW5vfFAoJjZAS1NXUHs7WEpCPzl8UGtDVChgUkZGUlgK
elVYRFlLam9KS0BWckFpUmxgMyMhOUo1UWFsKSlkWigmNiExcW1pVXUmJmwkXiRaNTFacXRtUjdh
Q2RxMHg5MzlOCnpFXnczVVRIan1gcFIrZXNeOXIrQkd9ZnVkcXYxYj9iRHc1b291LU48KmAtMkdS
NmIqNkx0dDRgWVkoJlR1JVJaNwp6ViVRQVFUUHVBJC0qUzJaZiRkJFg8e3ZkP3pzb20wQUdyI3dU
S0lMaUIwRzNRY2VmUUZmKUUhdkYkKmJEMCZfTWsKeiNeJW81ZSokbmthO2V+TGA5VEhHVlViWip7
ZGJJZEpFcG9xX1lLfWpVeHU3WjhfUmcwcU16TyVtV3c7XjI4Pj9vCnp1X28wSzVRVXpOdiFsWiVr
e1hhV0h6dE0hKjxwdE5DbzVgRU9DdVptd2BGND1lIyNFVVVPYGBQcnQpQk8jVGozeAp6dnIyczNA
Ujd+PlpkPGdNMmQoe31mUzNuaGttOVIyPTgjZi1yezBDSzVxQz97WH5Fdz9palotWXwyYGUrI2Vu
bEcKeitBQmJ7YXBidE9CUiQjMFFKKUAtZz09RyUzYGhCTjd7UUNjMiYhMztBN3Z9OTlaPjdHMUhD
Z1h4b0wlQXNgZUY2CnpidnpUYk4oVVYwSnstbHA8RUhhNCE8Vlc+QUZ8KU4kYmdAPzZ+R21QS0kz
VENXZjMzKWVhWn53YEMyQFhjdXhKWQp6TDBFVnZyQCo4alJLeSVeYUw0YzUkRj14SlNPckhaMCli
WlkpcUBTSyNJbH0rOHtlRm9iNnBWWCs2IzM9XlRnVlIKemMwRkFrUkRLSVJfJW5AX1p5WUU/a0JC
NzwqbFRSKUs2Un4qRWhMWTc1UWktNzFSSHZ5PTZ0RGxffTIoRFBRPG0kCnotQG0pcFdVUlRxTEg0
UTJCfWIjd2RTOFhiN35fJVIoYytnfCZHe0EySHdVel5Yez1JRTBESEAhOG98VWRlIztYPAp6VFVl
ZWkrbkZOZFd0c2psKnpFfnBoUV8yKjNZUUQlM3BNPC1UPChUMUBsP0NPRUAmeV5UUjRIUGwtOD4r
YGRHdkkKenBtNk8xeX04YjErYE5rLVd2RVhVXiopeDc/UXp0OSVlPXc/ZTkyZUkhVzVIM2J8VzVt
TGJlTV57KGtDbUdTNUt9CnpnfH5fTl5lZ31+YHpvLVNXemlIKFdZSTxEIWhMbGVvMHJqQkw4YHc1
VXk3SjZYZX4xXzcyMDRKPypgJigqXlRwSgp6cmsjckM4SyQmUTFkVEQ/IXN7cjxPWVc3JEZOYjdi
P348aHo9QTBFczgqOTx7aU4/JFQ8RDEmbkRTQUdTJWI8LWAKelZFfnZBeUxCME9WVTZDXzJsazU8
RlleZ3FeSisxfmcqTlp5KzgmcCY2Y1djd3k3XzA8UzN6cmcwYDtuKGIqbFh0CnppJFF9UURfKGw9
eTxJdHg2dXVUQnJKb3xnX3VNbmpsK0M/PDJ+SVJDNTszYSVRWUVSZ2E/SVJOMkF2JEEzbEIpYwp6
OHp6dU5XNkBwSFc8I01teSFtSnxiUHVtMERXeXdQezNtNnNueCpNOUBjK09rZkVKIUB4QCFHUDd+
Qj57KkJkLSoKemt8cCt0XmJuNz5udSk+fHg7OVVfbCh0KHdQfSEwZlJuMENLXk48XjxFfGBmM2pM
dSVzS3RzWGQ4PzUofEg0NitBCnpEbm1DS0d6T2AwQzs7NiVTKnEoNnF0Q2YpRTs1SXtRNXslQiYk
KGNtdEYpfnp5OS1LR2JTKWsqUz8kRSQ4eHVVfgp6eC1Yc28jQyk5bjJCMDJhLSs3Wll7QGNQeXls
T3g2dHNoYkdIKFFoLTAoJXgjZWtuU0BmOTRxT1g2SDNlKTs/WXsKeiF6NXVrbm1INE5NY3xKdlE7
WjxhKHFpaG4hOEgwd3dBd2UjWUZeK3N4XiRrMD9rI24wd2xLV3ljN2x0al9EJWpxCno8Q1NGcD8x
clE+QippOCgmUnN4Jkk2R05nYmBgV0FXYzxMcCVaKnFHVDBaUVBwPlAhfXUyTDFnPCRDZzA9dnk4
fgp6VW5sdlM9M0M+R3NaTUpCdFZRIypfIW1tWG9vIXJxKXlVOS16YEs9Tio4JCFXckQ7MmBPY0s+
YGh2SnlNVj98YUAKeilTSEJwVWZvO2chfiVORVJLcSVDKWZAdlVvZnN4OUVec3FSKGVvcEk7eUVz
ZjZZfTl6NWg9UD03b0N2O1Z+WVJlCnpfXiRQKEVZVUZSOWcxUlZIJHtadGFaRj8+eE1oalI/Y0hY
NG5GV3JKVHN3V2NGRFpwMTZfeTQ5MCR3R1dXKXswSgp6SjN3QGw4JD5WOHZ2JGlGaCRGMTdEY3xi
cCV3ckh+Q2U1bm5YeWpgbExwZzZKSzN4PWVnV2ZzeTlDV019eGgkcnYKelZCUHclTj5LVj0kNG9O
b1gpKkd4VTw8b1JSfjxfS0twRlZAVERTX1ZUJWQpUm0oQzZaam0lQ3w1bDBCd2JFRUE4CnowMHFQ
Sj1oUyYpI2IpRz5oaU9Vfk52WFl5cWchPEptJnhhIWBhJDd4eHJ6U0NnR3M2Nl8kKX5oTGVIUm9Y
PUJOSAp6NFFTUD50JHU+ekM9UTdfdk4oIXlfMnJIc0UqNWpNYk1pS3Q8WVZPUnUtWFN9PTd1dzB3
aTYzdDRRMnNPQURwKE4KenV+e31ha09zPVIoLXR4KW0jQjdvZkRBKSNjUzFpSmhPc0RLTCF9ZFE2
JkdrcUw+ZEk8QUBgMEdaeUlaR0l6LVZ4Cno2MCYmcWJKSVRlY2B+IVN2aWpuKnNKTnUzPE5vdFUx
JG9DK2JXfnV4NCl5ZlpeeDlUWD56cDY1KHM8ZiZJblo5Qwp6YCp6OHJsN352PmpIQUZ1PXQ9RklG
OSNBI2FwYWlBR143bjMzU2c7K1ZtVmorZGo3YjttK0o1UXtYTjVGN1dJOSQKek0tVk00Rl5lX0Ro
c0AtbD5GKV9lR2c1eHdCQyU/UkVMZ3I4MjQlPEBUciYzR0VxUk1EYGs2JkRPVkR3JEtCeTxzCnp1
X0BUTkFuYFk9OFowWV9DZD1nPl81bj14IXllJU9vcnI2SFo8QVRxSTdrRXRiXilxQTxrJiZwZEJn
YlBpWm5vVAp6eD5LeHZlSnZ+bGpFWGkqKEtCRSkqTXpre2xhM2E8MmpAQUYyRlVjODshKXFecDZC
RTE4PXtCKWpgUE0meHlZbUYKeihmMT5vZk5lZ05RX1F7bz8rdEt8UXRGQTgha2VmMUdidWtrLStX
NT4qeXJ5Wl5yaWk8KGAkYEE3MjdQYzZtS1NfCnpQQ3NPfTJ8NlBQRkMwaWlRfHNtYEVgQXBrUT4h
JSotQEAwem1RK3x5aD1jTm8pOWRTPV55cEF3RFUyXyRPPGBCZAp6S3pZbyoma0t5SW5ZPnF6XndL
bFpnWHBQZld6ZUtAa0A4SmN6WWk5ZVMoRiNTQE1fOFRuJn4tZWJua0duRm5wdmQKenhgeVc0dVli
aUNVNEN0UndnRHlgJmpXO1pLemxLYm90PHhne3hCI0BoTW9vVHMyM0V3UF8tWkFfKDY7X1dVSTsr
CnpVJUF9PW9UdHlkcDdKfTFNLWU9KFV0MmhiXnFBdlk4UD9ueHk0JEtsajZPdT89NmFPa3cqNWxS
SkwpbV97bGAmMgp6JiRUYUFOK1pXa15QRF4rLShqUzEtN1hmQGNXT2xpdzJiPioxI1hBfjZmWW8j
VDBwSGRib0RoNUFPTEE7VCZHbUkKejkobjEoNmNGRHoqcXtYVyF1VUJOVHFjYnY+WlYhK3sla0tf
dVo3VWkxekgxMSM5fmtAMS0pJmxTMkZleCVOTGFVCnp7d3VfSCMjSTdEdjtiTlNTT0BCJTtAOU1D
ZHhXQDYoe3l2bUMxaHswc0NnITBYdSYtT0taOVRsNUlBQ0Z4Ri1geQp6dENyI3hXXjFfbCptKFFp
MHxwXk9gYlQ7MT9aSFFIRnFUPj5LdnZPUVI0a05JMy1FKXttfDFoZ0omfXh6Q35SRikKendHeldf
azUtKms8X2d4SXtlRUM0cHc9WWFeb0JQe0QkYWhjdypyS1JDRTAtPUpwSHc7QSF9aShidD0tMkRH
KXBHCnpCUnojSTt7byN9aTZuX2d6VW5peHE9bzctIyh+VjBfRDZ0RzxZMilnRCN3OTJ2YSV5YGtO
YUkyezsmcWhAcEpSJQp6bVFKZTNeUkMkb2dVTjAkWXdVdDRmaExjYHRSN0g7aDZzWClEKWQrO2JM
emQ2PmNsKkJDfG9reVdpe0N1ODZhZH4KemYzfjtteEtFN2N8Snw/T3pjbWxnc3hnX0Qod1ZebFV7
dCg9NkgqSiY1bHhEXkxYc2k7TUBgKEhwdzx6R147eXBqCnpRSXVrbj9pUG1gS1pAZUptVzAjdSoz
Mj5JaE1nQjU3X2hQdTBZISt9IU5vLWVfbWlAdGBVbHo/Y3hJaSowQUJGewp6eW4oNkRwI3I9cVVQ
bTYpZGpSaX49O0krVjdnSWJSQlZPSERGezBGSHtJcn5wYW5te2M0JTVMPHNIT0NmNm00VVoKekVH
bTloLTYrPHdERlMqIShiY0BLUEdZfUlDVEVENlFZYTx9WH1yeW9TcDtia2Fve347ekNCTVZtQTNz
eSMpanB5CnowNGxJZlBZcCFaViZ4cXNSVz1YTjc/e1QzVD5DUml2RWlGM1NLR1JfeEZIaHNRXnN1
fUhQJXNZUTZsMFhIJT8xbgp6YHpfVjxHQTxyeiNtKm02KF8/dF4lOyhFXmckUGtzKmpoakIyYV9M
Tnt4Vm1DJV5rZE81JUoleTd9aklYbkkwS1IKem57NDVKRlROKHJST0t1Y09MeCNheFpBNCh2QUxV
KEhMaU9+dUBnMVdHMmBCSUtAfDJuPGloeE5IKFFqSCluMlRjCnp6TmJpdlpFe2g2N2l7V1pAfklG
SkVGQEIqWCo5eEUzR2tFPVZ8UXx4LTR5cUhibWdeS2JFVlhUbCFSMHI9N2FtaAp6dFYtI1FATCow
aVR7N2Q2IXNKXm1McCYlaHJgQT59YiF8fiY8bjJLVzE8RXZqYWp1R19OR3lRb08yI1MkKnwpe3MK
eiVIPF9tbGtWIzhydC1aRTFtWG89Rz5NOE9tR2laLVF+SkZuVF5HUTFAcl8hRDNlX1NkO3NDMil1
UH0rSWwhfGMzCnpaaiZoO3Y5LWJBYj11WkAkRHRFfGRYTn4qcnM5fjx3b01oMHNUJmdsUlBeUSFj
RE5gWFFAM3p+U1NZMWc0cnAwYwp6YUpaZ34mKWdJMitDbSFTNmskdnU1Z35wKS10eEwtem47Tzxv
VnRQOEhRYWpwRHtvfXVfanhSSkpRUTl1Oz0yQCoKellkUXVEMmdUWUZyTDw1Knl+RzlBazF3QXJF
O1l1JERCQzhqQlU7djRIWFg+YiRmVlN5NnErd0ghPFNEPk48bUJrCnp4fF8+fTJiMUtecTh9fiFj
fGNuQTFkZX5WREJzUXNBMDVmclBrNWp1ZTdGKTgzZlVXUXZtbExGJkcmfWdMXzZ1Ywp6aTwoJW9s
V2AjZEkmSnZBQDt8QmpeV2NwOHNTNiRgcHlVfERSJjdyeGQ1dTwrcTw5Z1VtenEhd14lRF9PPFc3
eWYKel5EfXUkREt2fVRESl9JbmVhQ3AzUlA0QF8xa0s2ZEhNYUs1cjZadHNQdSN3fGoyI24wVGFF
djJFM2xLeW80cUw1CnpVVj50KEhVVnUoNFdPUT83Zkl2aFU2a001TXRMJVZOKVVtPERnVTFOSkFQ
QWxSRm5hWUhxTWFRZWc3XkVxVkhSbQp6QmY5cWI3P05MayNjPkBVdyM8OXZ6IWM1Ujg/MygtTDEj
aio5cSFxUll6JExkQzsoO1V8QkBSN2Jrc1g4cSgqTnYKemt+OFNuY1hQNEByaH0oe1psVS1MTVFH
V35YQXhlfDJzOHY1VHQ5ekAmfV9ESVRZeztONG07X3UwXkRGbEY5amVqCnpgcT1Dbz0wJjlPTn1S
RWpAMkpBI3tOJD5rVXlSM0RtbiMpPHMqfXskZmkybWUpOFl8OG1yYyYjYUlSZGdvJm4oQwp6YTZP
ZnVkcGQ0bTNPVCtHLTx6Z30kXnBNWVRaSUMlQzNUaSRmcHhOTCV+bTlLPU1sYm02Q1RXTGBJcFIm
JWRhZzEKelgqfCpWTEk4VUd4TCVsKDdDPTJ9VGVjI15Kc1Jka3IyOWtgQWUkPVk9RGBSQlB6Z2tp
O2Q+bCk2KlNgWExkITtMCnpyYEZ5U3RuRzBNa0k+UFZDWUBpNDc1bUcycD5wNnJxZGp8TDc0cX45
dSpyK2lFPGYhZkRUJmNlbj42LW45anVAJAp6NWwzTjgpKlkwfitpKVF+KXUhaU1waEtBYigoUShB
Un13TGxgaHdZMlRiTytoUTExb3B2MjhXMjF4RXdMXjF9eUwKemUyYGJXVnt1bnhqT1YlJi1Ecjdo
K3J3U2JQZSpVcSR+VnNjS0hQKERWOWJrUG9xYCFgbHQ0JW8hV087TnVXZGZnCnp1S2kzcXl3JlRP
a3JxVWNDbXVVY0dDbDg1bSY0cE0hTDlwSzF9VFdGckpnQH5fO3JiajU+Xn1OJWctT3Nren1Ucgp6
ckRwTWcmYUZNZ2t2LW0wMU41QFpqaXFlYE1qOSQ9RG5EVjFJbzIpdjQtZmQkeGRra007PlU9T3Z3
ZC0wNllFeUkKekRFZWlPKDgkQG8wb3JTa3ttZTJCJlpybzJqPDsydl5AblZMWXtMQlZ1Q1BZSF4k
Un1QMDBfI0RyIXlzMF5FKmZPCnppVCQqcHRwIyRxJXpLfkhCO0lVaClUYzx3WGVsd0puMUhtcDhN
RDBTUiMyfDtsezEzeGNtZV9ZUnB1SyhKdlJFVwp6Zzk+VDk9b3xMN19Veih6QkJFSktTeFhicCZ6
P1RSKSpsdElnZ1psWVpySU9uTUVwJldAd1ZDMVV+dHBNJlNINEYKekg+KTFpJmBBQjwhaSVDJU50
VU4+U2EmSFVDWipDO0hnYEkqdT5fN0puLWQxdmszbCtaI3ZmVXhxdDw9WkQkNE5QCnpQdSU1Z2dz
bDkkJjUoXik/SVpJdypuJl5lTmE4NUJKcSk2UnhyRG1lQnU9X1QjbGxeUEd1PDx+SiZyTSpCQUc0
Kgp6NHtgdWJhJjdFX0M8NnBPMDBMIUZ0Pns9P0p1eHFAfDRFenw3VStIc1dieyY0Z1NgPVNucSVP
PHlKfF9tIXJkKygKeipoOXczSCMpRkdzeSpxNV9hLX5aVWYtVUolUStKVzNgezhWdGEzTVNXK2hf
WEgtPnMpUDBUd2YpIXRlRGple19sCnpHRTs+UzMxIVIpNno4U305Ty1lWGlxa0soVmp+WDt5TWNv
YGdIPmF0OT5rd1RRQHR8eWpJQ3VEeis8fkY/ZUYtVQp6SGtLa2wmbnNpVEg8PlgreVFfJilFNH5A
a1BgM195JENLPz5WezVKQjlNYDBEcm1uMD97Vk9uemU/MDQ3SWUhYXkKenM1ZFNMV01aPSVJMUBP
PWM1PUt6PH1tbzRHdUVKbz1EZkVqV0tPdHJGQlZqITsjbiN5IzB1TWl2cT45I2RzYnB3CnoqJmtU
V3t5Tl5XYGY0M3BkcWhzbz1Obm1qLSU2O1MxU2EyKD5zZU11bC0yK0kxczsxTUU3ViZpO0tOQFp2
aiVsNAp6UH41PD54aSU7JnF+MG5IXyRhJWV1cGJEQyUpVUBydEp3T3x2c2xwSC0jWUYtVCZCWFl3
Y0NOb0gmZ3x6Knk0bnkKenk3bCh2M0tKUE1TfmJxOWFhSlF8SExjV0ZGPXJLIVNGNj0oRFRpQ0hA
fDxQMGIoSTlKR0d5Z2RoUD12PFJ+aG11CnpMdGJVYnRDR2Q0cDBnQDswcDleeVd5cUB4SWNgLSRV
T0NtV0R6R294O3tVSX11N0NRcklTOGNLd0RofEd0RE9qLQp3dWQmKnVTI0FsZjs/SFVpWXFpMW1L
ZFNwVmklZmpsXnlKKXxnYzlKVmx0OVBxUDh9KCp4Zks2QDBEe3Y/NSYhQEkKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmls
dGVycy9pbnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvaW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYWQ3YjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvaW52
YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30g
YXQgKDQwLDQwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2Rl
ZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7Zmls
dGVyfSBbaWQ9ImZpbHQiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlh
dGlvbj0iNS4wMCwgNS4wMCJdCisgICAgICAgICAgW1NvdXJjZUdyYXBoaWNdCisgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoNDAsNDApIHNpemUgMTIweDEyMAorICAgICAgW2ZpbHRlcj0i
ZmlsdCJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICg0MCw0MCkgc2l6ZSAx
MjB4MTIwCisgICAgICBSZW5kZXJTVkdQYXRoIHtjaXJjbGV9IGF0ICg1MCw1MCkgc2l6ZSAxMDB4
MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2N4PTEwMC4wMF0gW2N5
PTEwMC4wMF0gW3I9NTAuMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9p
bnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC5zdmcgYi9MYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9p
bnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNDM3ODAxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0LnN2ZwpAQCAtMCwwICsxLDMxIEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgb25sb2FkPSJzZXR1cCgpIj4NCis8
c2NyaXB0Pg0KKzwhW0NEQVRBWw0KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsN
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOw0KKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7DQorfQ0KKw0KK2Z1bmN0aW9uIHNldHVwKCkgew0KKyAg
ICBzZXRUaW1lb3V0KGp1bXAsIDApOw0KK30NCisNCitmdW5jdGlvbiBqdW1wKCkgew0KKyAgICB2
YXIgYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjIik7DQorICAgIGEuc2V0QXR0cmlidXRl
TlMobnVsbCwiY3giLDEwMCk7DQorICAgIGEuc2V0QXR0cmlidXRlTlMobnVsbCwiY3kiLDEwMCk7
DQorICAgIA0KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOw0KK30NCitdXT4NCis8L3NjcmlwdD4N
Cis8ZGVmcz4NCisgICAgPGZpbHRlciBpZD0iZmlsdCI+DQorICAgICAgICA8ZmVHYXVzc2lhbkJs
dXIgc3RkRGV2aWF0aW9uPSI1Ii8+DQorICAgIDwvZmlsdGVyPg0KKzwvZGVmcz4NCis8ZyBmaWx0
ZXI9InVybCgjZmlsdCkiPg0KKyAgICA8Y2lyY2xlIGlkPSJjIiByPSI1MCIgY3g9IjUwIiBjeT0i
NTAiIC8+DQorPC9nPg0KKzwvc3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwOGZmNjFjLi5iODNiNGYyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIw
MTEtMTAtMjYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgU1ZHIEZpbHRlciBvbiBhIGdyb3VwIGRvZXNuJ3QgaW52YWxpZGF0ZSB3aGVuIGNoaWxkcmVu
IGFyZSBtb3ZlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzAwNDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwMjgxNTMwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgU1ZHUmVzb3VyY2VzQ2Fj
aGU6OmNsaWVudExheW91dENoYW5nZWQgd2hlbmV2ZXIgdGhlIGVsZW1lbnQgb3IgaXRzIGNoaWxk
cmVuIG5lZWQgbGF5b3V0LiBQcmV2aW91c2x5LAorICAgICAgICBpbnZhbGlkYXRpb24gd2FzIG9u
bHkgcGVyZm9ybWVkIGlmIHRoZSBlbGVtZW50IGl0c2VsZiBuZWVkZWQgbGF5b3V0OyBub3cgd2Ug
YWxzbyBpbnZhbGlkYXRlIGlmIGFueSBjaGlsZAorICAgICAgICBuZWVkcyBsYXlvdXQgYW5kIHRo
ZXJlIGlzIGEgZmlsdGVyIGFwcGxpZWQsIGFzIHRoZSBjYWNoZWQgZmlsdGVyIHJlc3VsdCBjYW4g
ZGVwZW5kIG9uIHRoZSBsYXlvdXQgb2YgY2hpbGRyZW4uCisKKyAgICAgICAgVGVzdDogc3ZnL2Zp
bHRlcnMvaW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQuc3ZnCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdDb250YWluZXI6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJj
ZXNDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZXNDYWNoZTo6Y2xpZW50
TGF5b3V0Q2hhbmdlZCk6CisKIDIwMTEtMTAtMjEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2VhcmNoIHJl
c3VsdHMgc2hvdWxkIGJlIGNsZWFyZWQgb24gbmF2aWdhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcAppbmRleCAxNWM3YjIy
Li42MDAwYjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0NvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdDb250YWluZXIuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgUmVuZGVyU1ZHQ29udGFp
bmVyOjpsYXlvdXQoKQogICAgIFNWR1JlbmRlclN1cHBvcnQ6OmxheW91dENoaWxkcmVuKHRoaXMs
IHNlbGZOZWVkc0xheW91dCgpKTsKIAogICAgIC8vIEludmFsaWRhdGUgYWxsIHJlc291cmNlcyBv
ZiB0aGlzIGNsaWVudCBpZiBvdXIgbGF5b3V0IGNoYW5nZWQuCi0gICAgaWYgKG1fZXZlckhhZExh
eW91dCAmJiBzZWxmTmVlZHNMYXlvdXQoKSkKKyAgICBpZiAobV9ldmVySGFkTGF5b3V0ICYmIG5l
ZWRzTGF5b3V0KCkpCiAgICAgICAgIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRMYXlvdXRDaGFu
Z2VkKHRoaXMpOwogCiAgICAgLy8gQXQgdGhpcyBwb2ludCBMYXlvdXRSZXBhaW50ZXIgYWxyZWFk
eSBncmFiYmVkIHRoZSBvbGQgYm91bmRzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmNwcAppbmRleCAzNjE5YWNlLi40OTdiYjQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmNw
cApAQCAtMTE5LDcgKzExOSwxMCBAQCB2b2lkIFNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRMYXlv
dXRDaGFuZ2VkKFJlbmRlck9iamVjdCogb2JqZWN0KQogICAgIGlmICghcmVzb3VyY2VzKQogICAg
ICAgICByZXR1cm47CiAKLSAgICByZXNvdXJjZXMtPnJlbW92ZUNsaWVudEZyb21DYWNoZShvYmpl
Y3QpOworICAgIC8vIEludmFsaWRhdGUgdGhlIHJlc291cmNlcyBpZiBlaXRoZXIgdGhlIFJlbmRl
ck9iamVjdCBpdHNlbGYgY2hhbmdlZCwKKyAgICAvLyBvciB3ZSBoYXZlIGZpbHRlciByZXNvdXJj
ZXMsIHdoaWNoIGNvdWxkIGRlcGVuZCBvbiB0aGUgbGF5b3V0IG9mIGNoaWxkcmVuLgorICAgIGlm
IChvYmplY3QtPnNlbGZOZWVkc0xheW91dCgpIHx8IHJlc291cmNlcy0+ZmlsdGVyKCkpCisgICAg
ICAgIHJlc291cmNlcy0+cmVtb3ZlQ2xpZW50RnJvbUNhY2hlKG9iamVjdCk7CiB9CiAKIHZvaWQg
U1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFN0eWxlQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRl
cmVyLCBTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKQo=
</data>
<flag name="review"
          id="110674"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
    <flag name="commit-queue"
          id="110675"
          type_id="3"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113212</attachid>
            <date>2011-11-01 14:07:14 -0700</date>
            <delta_ts>2011-11-01 17:33:44 -0700</delta_ts>
            <desc>fix the test</desc>
            <filename>fix-test.patch</filename>
            <type>text/plain</type>
            <size>1189</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ludmFsaWRhdGUtb24tY2hpbGQtbGF5b3V0
LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9pbnZhbGlkYXRlLW9u
LWNoaWxkLWxheW91dC5zdmcJKHJldmlzaW9uIDk4OTk0KQorKysgTGF5b3V0VGVzdHMvc3ZnL2Zp
bHRlcnMvaW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNCBAQAotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9h
ZD0ic2V0dXAoKSI+DQorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0K
IDxzY3JpcHQ+DQogPCFbQ0RBVEFbDQogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ew0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTk0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDEgIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHIEZpbHRlciBvbiBhIGdyb3Vw
IGRvZXNuJ3QgaW52YWxpZGF0ZSB3aGVuIGNoaWxkcmVuIGFyZSBtb3ZlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwMjgxNTMwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZpeCBzdmcvZmlsdGVycy9pbnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC5z
dmcgdG8gbm90IGluY2x1ZGUgbm9uZXhpc3RlbnQgb25sb2FkIGhhbmRsZXIuCisKKyAgICAgICAg
KiBzdmcvZmlsdGVycy9pbnZhbGlkYXRlLW9uLWNoaWxkLWxheW91dC5zdmc6CisKIDIwMTEtMTEt
MDEgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAg
W0VGTF0gVW5yZXZpZXdlZC4gQWRkIHJlbWFpbmluZyBwaXhlbCBiYXNlbGluZXMuCg==
</data>
<flag name="review"
          id="111487"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>