<?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>18762</bug_id>
          
          <creation_ts>2008-04-26 16:00:37 -0700</creation_ts>
          <short_desc>Window.onload is firing before image resources are loaded (if loading in multiple documents at once)</short_desc>
          <delta_ts>2022-07-23 08:37:27 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://philip.html5.org/misc/iframe-canvas-security/iframes.html</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="Philip Taylor">excors</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>arv</cc>
    
    <cc>beidson</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>hahn.seb</cc>
    
    <cc>hyatt</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>mihaip</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
    
    <cc>pnr</cc>
    
    <cc>sam</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>79003</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Taylor">excors</who>
    <bug_when>2008-04-26 16:00:37 -0700</bug_when>
    <thetext>Normally, after drawing an image from a different origin onto a canvas, toDataURL is blocked with a security exception (which is good).

The linked page has nine identical pages in iframes, each loading the same remote image and calling toDataURL. It gives output like http://philip.html5.org/misc/iframe-canvas-security/webkit-r32574.png - most of the iframes are able to successfully read the image data (which is bad). Sometimes, when revisiting the page, the unsuccessful one randomly swaps to a different location (but there&apos;s always only one). When pressing the &quot;reload&quot; button, all the iframes work correctly until the page is revisited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79011</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-04-26 17:44:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/5892542&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79012</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-04-26 18:23:26 -0700</bug_when>
    <thetext>Turns out this is not a canvas tainting bug.  The issue is that the images are not being drawn to the canvas at all, and thus no canvas tainting is taking place.  The data: urls that are being produced are of the empty canvas, not including the yellow image.

Removing from the security component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79057</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-04-27 14:06:17 -0700</bug_when>
    <thetext>The probable issue here is that the onload handler in the subframes seem to be firing before the image resource is available, and thus the drawImage is failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79058</commentid>
    <comment_count>4</comment_count>
      <attachid>20853</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-04-27 15:11:05 -0700</bug_when>
    <thetext>Created attachment 20853
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79178</commentid>
    <comment_count>5</comment_count>
    <who name="">hahn.seb</who>
    <bug_when>2008-04-28 16:10:01 -0700</bug_when>
    <thetext>Note that the testcase has a small bug in it. It should not be slow-png.pl but instead slow-png.php.

I will add a corrected testcase below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79180</commentid>
    <comment_count>6</comment_count>
      <attachid>20878</attachid>
    <who name="">hahn.seb</who>
    <bug_when>2008-04-28 16:18:21 -0700</bug_when>
    <thetext>Created attachment 20878
fixed testcase, added mail address to slow-png.php</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243475</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-06-27 10:10:08 -0700</bug_when>
    <thetext>I looked into this a bit, and this is my understanding ~

The problem is that we have multiple DocLoaders depending on the same CachedResource. The first DocLoader to request the resource gets its requestCount() bumped in Loader::load(), but subsequent loaders don&apos;t.

Later on, in FrameLoader::checkCompleted(), the DocLoader&apos;s requestCount() is checked and may return 0 since the loader isn&apos;t tracking all its resources.

I am not quite sure how to fix this without incurring a performance penalty for the common case (no shared resources between concurrent loaders.) Would love some input from someone who knows the loader code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243489</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-06-27 12:35:56 -0700</bug_when>
    <thetext>My understanding of window.onload is that it deliberately does not wait for images to be loaded due to that (in the general case) delaying page load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243495</commentid>
    <comment_count>9</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-06-27 13:15:06 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; My understanding of window.onload is that it deliberately does not wait for images to be loaded due to that (in the general case) delaying page load.

You&apos;re probably thinking of the DOMContentLoaded event. window.onload should wait for all sub-resources to finish loading. This already works in the WebKit implementation, except for this corner-case with a single resource shared between multiple simultaneously loading documents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249660</commentid>
    <comment_count>10</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-11 15:32:05 -0700</bug_when>
    <thetext>*** Bug 20541 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292667</commentid>
    <comment_count>11</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-10-11 14:36:58 -0700</bug_when>
    <thetext>*** Bug 29615 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358630</commentid>
    <comment_count>12</comment_count>
      <attachid>83961</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-26 19:50:08 -0800</bug_when>
    <thetext>Created attachment 83961
Proposed patch

A first swing at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358636</commentid>
    <comment_count>13</comment_count>
      <attachid>83961</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-26 21:32:29 -0800</bug_when>
    <thetext>Comment on attachment 83961
Proposed patch

No test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358731</commentid>
    <comment_count>14</comment_count>
      <attachid>83981</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-27 11:04:59 -0800</bug_when>
    <thetext>Created attachment 83981
Proposed patch v2

Same patch with a test.
Sorry about that, I had a little trouble figuring out how to trigger the bug 100% reliably.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359008</commentid>
    <comment_count>15</comment_count>
      <attachid>83981</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-28 05:53:53 -0800</bug_when>
    <thetext>Comment on attachment 83981
Proposed patch v2

As discussed in the IRC, I think it would be better to try to address the underlying problem (onloads fired by ResourceLoaders instead of CachedResources that know about all the clients) rather than to add another hack of this kind. If that turns out to be massively complicated then we may need to consider something like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360759</commentid>
    <comment_count>16</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-03-02 06:15:40 -0800</bug_when>
    <thetext>*** Bug 36208 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1886221</commentid>
    <comment_count>17</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-07-23 08:35:11 -0700</bug_when>
    <thetext>*** Bug 243127 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20853</attachid>
            <date>2008-04-27 15:11:05 -0700</date>
            <delta_ts>2010-06-10 16:27:26 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>slowImageLoading.diff</filename>
            <type>text/plain</type>
            <size>18990</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IGh0dHAvdGVzdHMvbG9hZGluZy9vbmxvYWQtc2xvdy1wbmctaW4tc3ViZnJhbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBodHRwL3Rlc3RzL2xvYWRpbmcvb25sb2FkLXNsb3ctcG5nLWluLXN1
YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBodHRwL3Rlc3RzL2xvYWRpbmcvb25sb2FkLXNs
b3ctcG5nLWluLXN1YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorPGh0
bWw+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRp
bmcvcmVzb3VyY2VzL2NhbnZhcy1kcmF3SW1hZ2Utc2xvdy1wbmcuaHRtbCI+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9j
YW52YXMtZHJhd0ltYWdlLXNsb3ctcG5nLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9jYW52YXMtZHJhd0ltYWdlLXNs
b3ctcG5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9j
YW52YXMtZHJhd0ltYWdlLXNsb3ctcG5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VzL2NhbnZhcy1kcmF3SW1hZ2Utc2xvdy1wbmcuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8c2NyaXB0PgorICAgIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjJyk7CisgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpLCAwLCAw
KTsKKyAgICB9Cis8L3NjcmlwdD4KKzxib2R5PgorICAgIFRoZXJlIHNob3VsZCBiZSB0d28gaW1h
Z2VzIGJlbG93LgorICAgIDxjYW52YXMgaWQ9J2MnIHdpZHRoPSI3NiIgaGVpZ2h0PSIxMDMiPjwv
Y2FudmFzPgorICAgIDxpbWcgaWQ9J2knIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRp
bmcvcmVzb3VyY2VzL3Nsb3ctcG5nLnBsIj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZXMvc2xvdy1wbmcucGhwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZXMvc2xvdy1wbmcucGhwCShyZXZpc2lvbiAwKQorKysgaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9zbG93LXBuZy5waHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjIgQEAKKzw/cGhwCisKKy8vIGJ5IFNlYmFzdGlhbiBIYWhuCisKKyRmbiA9ICIuL2Fi
ZS5wbmciOworJHRpbWVUb1NsZWVwID0gMTsKKyRob3dNYW55Qnl0ZXMgPSA0MDk2OworCitoZWFk
ZXIoIkNvbnRlbnQtTGVuZ3RoOiAiIC4gZmlsZXNpemUoJGZuKSk7CitoZWFkZXIoIkNvbnRlbnQt
VHlwZTogaW1hZ2UvcG5nIik7CisKK3NsZWVwKCR0aW1lVG9TbGVlcCk7CisKKyRoYW5kbGUgPSBm
b3BlbigkZm4sICJyYiIpOworaWYgKCRoYW5kbGUpIHsKKyAgICB3aGlsZSAoIWZlb2YoICRoYW5k
bGUpKSB7CisgICAgICAgICRidWZmZXIgPSBmZ2V0cygkaGFuZGxlLCAkaG93TWFueUJ5dGVzKTsK
KyAgICAgICAgZWNobyAkYnVmZmVyOworICAgIH0KKyAgICBmY2xvc2UoJGhhbmRsZSk7Cit9Cis/
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZXMvc2xvdy1wbmcucGhwCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3Zu
OmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9h
YmUucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5
IGNoYW5nZXMgb246IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZXMvYWJlLnBuZwpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFBQUFDWEJJV1hNQUFB
c1RBQUFMRXdFQW1wd1lBQUFnCkFFbEVRVlI0bkcxOGFXd2M1M24vek96TTdNenNmUzkzZVIraWVJ
aWtwRWhSU01tV0xjZUtiVGxISGNXdUV6dk5sN1FvZ2g2ZmlnSkYKZ2FKbys2a0ZDalJBZzdiL3dr
bFFGMDFodUdrVnFYSWR5YlVzNnFZa2t1SWxMc1ZkY3NubDN2ZnM3QnovRHovTzY1SGMrVUFzOTVo
NQozL2U1ZnMvdmVkNlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RNUFFORTFSRkUz
VCtGZlROSTdqTkUxck5wc013emdjCkRrM1RhcldhTE1zMm00Mm02WGE3M1c2M2RWMm5hWnFtYVVW
Uk9JNHpERU9XWlZWVmJUWWJ3ekM2cnF1cTZuUTZPWTVyTnB1cXFncUMKSUlvaXd6QTJtODFtczJF
a3VJbXU2KzEydTlWcXNTekw4enpIY2JnSmh0UnNOdkhDWnJrd0RGM1hEY1BRZFoxbFdaWmhHSXFp
RE1QUQpOQTB6cENpSzR6aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVEUk5veWpL
YnJjekRGT3YxOXZ0TnNNd2Ryc2Q3MHVTClJGR1VwbWswVGJNczIyZzAydTIyb2lnMm04M2xjZ21D
WUJpR29paUdZZEEwYmJQWnNEVDRpYTdydUMwbVFGRVVtVDlHUlpzWG1UeGsKaG5teWVKZE1tcUlv
U014bXMrSDMrSWpJczkxdTIydzJRUkF3aUhhN0xRakN3TUJBdFZwdE5CcXFxaklNWXhnR0Zwdm5l
Y2lFcG1tcwpXcXZWd3FkdXR4c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4Yzdo
bm50VHhjTGc1dXlMQXVGd2IzSUpIRWp2OTlmCnI5Y3Bpb0oybGN0bFdaWVpobkU2blR6UE54cU5l
cjJ1cWlwdWdsOUJXYUNsUE05am1YbWU1M2tlejFWVlZWRVV1OTN1Y3JscXRacjEKdDBSdVdEdkt2
TWdFaU9pSXhoS3pJcHJJa2c4d2RYSVhWVlhKN2F3cWtjMW1ZN0dZSkVrN096dUpSS0xSYURpZFRy
ZmJuY2xrZkQ2ZgpJQWlRbTkxdTEzVzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9p
ajhGVVVSaXdLUkV0VWxPZ1U1NHlOaStXUnU1SUtOCjdJc05DMEFzRFpkVnk1OTU3ZlY2RGNPNGVm
UG1lKys5OXovLzh6K0dZWVREWVo3blIwWkdSa1pHaG9hRzRFNHdkTHZkRGo5RVVSVHgKR1VRT2VC
WlVsNklvV1paYnJaWWtTUkFqUmtrRWlMK1lGZkdJRUJjUkk5Nzg0ckJadUFlZTU2Mlcrb3dkNHdj
WW1jZmorY1V2ZnZIMwpmLy8zZCsvZWRUZ2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNB
SW9WQW9IQTdMc3B6TDVRekRpRWFqRG9lalZDb1ZpMFZkCjE5MXVONVJGa3FSUUtCUU1CaUV1S0RQ
KzRsL01CSXFBc1dGVytCY3JRZ1JJWm1oVmVGYVdaV2dYK1NXbUJGMkNZaEM5MVhWOVoyZG4KZG5a
MmFXbko0L0g0L2Y2OXZUMVpsZ09CQU1keGUzdDdxcXF1cjYvWGFyVjJ1ejA0T0hqNDhPR3RyYTNG
eFVWWmxnOGNPT0J5dVZaWApWemMyTm5SZGowYWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhm
TTdRS0JNcUZBZENXQzZ0Zy9aZGNWbHVsUC9yb0l5eTgzVzZICk9rSHVOcHV0M1c1cm1vWi84VE9P
NDRyRjR1dXZ2NjRvU3IxZTkvbDhITWVGdzJHZnp5ZkxjbmQzOStEZ29NZmpLWmZMaVVRaWtVamsK
OC9uZTNsNVlZTEZZekdhejVYSVpIbFdXNVhnOFBqVTFOVHc4ekRCTVBwK25hZHJ2OS9NOEg0L0gz
VzYzS0lyeGVEd2FqWEljcCt1NgpMTXVWU3NYbGN1bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFy
ME9jT0pRRVZ2R01pVzV2YjFlclZWM1hGVVZwTkJwWWRWVlZoNGFHCnN0bHNLcFh5ZXIwOVBUMzkv
ZjNkM2QzVmFuVnpjM052YnkrVlN1VnlPUmlucnV1NGVibGN6bVF5VHFkVDEvVmtNcG5MNVhSZEZ3
VEIKWnJQVjYvVm1zK24xZXNmR3hzNmNPZlA4ODgrTG91aDJ1M1ZkNXpqTzcvZGpBb3FpUVB1c1V5
SWVGRlBiUndLMEpmTEFBUEE5cStwegpISWZWeW1henhHc3BpZ0svVWk2WEh6MTZKRWtTeDNGNDAr
bDA5dmIyZG5aMlFyQzZycmRhTGNSWXNvNkZRbUZoWVdGM2Q5ZG1zeFdMClJRaVo1M203M1c2MzIx
bVczZHJhU2lRUzgvUHpzN096My8zdWR3OGVQTmhxdGZEb1NxVWlDQUtSa0RVUVlCRWhWZmhVMXJC
Y1ZnRFIKYnJkaHFNU2hJYUJsczFtOENkMUdyRyszMndRaFlWMUtwZExpNHVMYTJ0cms1R1M5WG9j
Y0twVUs1bW0zMnltS2FqUWErWHkrVUNnZwo1RElNSTRvaVFCekRNQTZIUXhURmJEYWJTQ1RxOWZx
aFE0Y09IanlJUnp1ZFRrM1RYQzRYNEFTeFE2dXpoTlpBY3ArREFTdXNzWVlnCk1rbmcxZlgxOVdh
ejJXNjNlWjRuOFZCUkZOZ01ZQURtZ0g4cmxRcjBCVExIR3VOdVVBMzRHRWdBa2xRVXBWS3A1UE41
ajhlREdOaG8KTkJLSkJPQXhWQlNCcWxnczRsbEVPYTJLU1p1NGw3WGEyek9PaTN3YnIyVlpMaGFM
R3hzYkJEcmpxYmlSTE10T3A1UGdkU0FZdDl0ZApLQlRJU2tQNFdCVGdac3dUWUpDb0djd1NDMGRS
Vkx2ZHJ0VnF4V0tSb3FpT2pvNTZ2ZDVxdGVyMU9zSWVGSWMyTVRvSkIwQ2R1Q2RyCnhRcFdSMHdz
azhEYVpyT1p6K2VUeVNSTjA1SWtTWkpVcTlYZ2ZnVkJDSWZEMEFpR1lkeHVOL0tHU3FYaThYaGdw
YlFKWDl2dE5sQVIKQWhYY0c4L3pVUDVXcXdVNVErd1lydFBwM05uWldWaFlpRVFpZ2lEQWNDaUtp
a2FqbFVxRndGM0VSb3dXZDhQa240SjFWZ3NtWXNRawo4ZmhxdGJxMXRkVnV0OTF1dDl2dGhzcEpr
aVNLSW9UWmFyVmtXU2JRbWVmNWFyVktWQWpvL0JtOEJ1TmhHQVpBRCtDV1lSZ0FRTnlOCm9xaWJO
Mi8rNUNjL2VmTGt5ZVRrNU9qb3FNL25LeFFLOVhxZFJBdmM4SXZoZ0FKMnBVMUFoOWtUY0NjSVFy
UFpoRXBrTWhtUHgxTXEKbFRpTzgzZzhyVlpyYjI4UG9iWFpiQllLQlNJaUVvZzFUVk5WbGVNNHVF
UkprbUNXSG8rbnU3djcxS2xUSG8vSGJyZG5NcG1IRHg4dQpMeTlEc1JHZm9iR3lMUE04NzNLNTRJ
YzJOalorL09NZmQzZDMvOG1mL01taFE0ZmNibmU5WGlmNmlWbGdnYUNySkp5d0JCblFUK005Cmht
R3ExU3JCVmo2ZnI5bHNycXlzMUdvMUFrME53MmcwR28xR0E2T3hvbWNTREFuQ2FqYWJGRVVORGc1
KzYxdmZldTIxMXdLQmdOUHAKWkZtMlhDNC9lZkxrenAwN0Z5OWV2SG56Sm1NbWFMVmF6VEFNaDhP
aDYzcXBWSUszcDJrNm1VeCs4TUVIa1VoRUZFV0h3L0ZNL21BTgorNStEQVpMRldNRUFIR0M5WHZk
NFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZBUUJWb2VJMG1xMWNGdWd0bmE3N2ZmN2p4MDdkdWJN
Cm1hbXBxV0F3aVBBRjZ3b0dnN0ZZYkh4OGZIQndjSHg4L0ZlLytsV3RWcU1veXV2MTF1djF2YjA5
U1pLNnVyb3FsUXB1VzYxV0wxeTQKOE9hYmI0YkRZYmd4NnlTLzZEZ3BpbUt4MkFRbGtJVWg2d0cz
dWJXMTlmSEhIeTh0TFRtZFRpUzRSRThROTFxdEZ1YVBwOXJ0OW1Bdwo2UGY3anh3NU1qbzZPalUx
RlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RVMk5qWTFkdkhqeDAwOC9iYlZheUU1VVZTMlZT
ZzZIClExVlZHR0VtazBtbjA3RllEQSsxWWgyTTJUcEptcVpaNHQ4SkpNQlhWVlVWUlJFcTEyNjM3
OTY5ZS9YcVZRd0xubDJTSk9nUGJ0VFQKMCtQMWVqMGVENVRUNC9IMDlmVjFkWFc5OXRwclpBVTVq
bU5aVnBibFVxa1VDQVFNd3lDY0NITGxycTZ1SC96Z0I0Y1BIMzcvL2ZjdgpYYnBVTHBjRlFkQTBy
ZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01yTlRpR28vbjhSYkpJV0RFMmRaRmpSVXJW
YTdmLy8rCjl2WTJMQVJlbnVkNW44OG5pcUxQNXdzRUFyRllMQmdNUmlJUmw4dkY4N3piN2U3bzZB
aUh3NlZTU1JBRW51ZmhoM0JibjgrSDhBTy8Kd25FY3FCT2J6YVpwMnBlKzlDVy8zejh5TW5MMTZ0
VTdkKzdJc3R6WDE1ZlA1d09CZ0tJb0ZFVXBpdkxaWjU5QjhpUkJzYzZUc3BBSgpORTJ6UkltSkpQ
RTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3M2VlRHplMWRYRmNad2tTVTZuVTVJ
a1VCdmdwaHdPCkI1WVB0cXBwR3NoQnhOSjkyTVd5MEJvOHZWd3VpNkw0Mm11dmpZNk8vdk0vLy9P
VksxZEtwUkpFN1hBNDZ2VzZydXVaVE9iMjdkczkKUFQwK240OU16N0F3RzFZYWdTVUVqelZqaHVW
VUtoVzh5R2F6aFVMQjZYU20wMm1lNS8xKy84VEV4TW1USjd1N3V4RW5nOEZnS0JRQwpFb0pIWVZs
VzEvVkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZrc1FCSWZEZ2ZqcDgvbUN3U0J5
RklaaElHMVpsaUdsCmh3OGZRdWEwbVhCYURmS3BkQVJyakdmRHFiSXNDLzBCZWJPN3U4dHhYQ0FR
cUZRcVRxZXpYcThmUG56NGxWZGVPWExraU1mamNibGMKOFhnY1lpZlR3NjNoUWtuZW9DZ0t3ZE1r
bThQNmFwcUczQXBmUTBCeXU5MWVyM2R3Y0xDL3Y5OHdESS9IazB3bVgzMzFWUWc4bVV3KwplZkpr
Zm40K2s4azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0ZkRTR1RCNVJ3N2Rpd2Fq
YklzRzRsRUVBOWdWNFJsCmd4Smk3YXhZaW9CSjYwT3RsMkVZUE04REcwRUxSa2RIRHg4KzNOSFJB
UU5qR09hZGQ5NUJZZ214QTk4RERDUEFnb2FHL2VNdlF5anoKWjl3c0lTQUVRWEM3M1dBckdJWkIr
aTlKa2l6TGRydGRGRVhEek1lUkNzTGtvQVVlajRjZ0Irc0tHcFkwMXdxU0NjV0dyTjh3akw2Kwp2
aE1uVG95T2pyYmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwayttRDJWdWkyUDhsbjFw
V3NoOTF1eDdlRHdTQ1NQVW1TCllMU0E3QlJGUVZkYlQxOGtueVlTZm9aTnN6bzVxNmlCYjUxT3A5
MXVCLy9VMmRrNU9qb2FEQVpwbWw1ZVhxN1ZhaU1qSThQRHc1RkkKWkdWbEpaL1BJMUFUbnBIZ1dI
THRKemhrMHNUSHd2V3BxZ3I0ZXVEQWdYQTRURElNRU1HTlJrUFRORW1TbXMwbVNYTndRK2dxWUJE
OQpCYXovVEV3akY4Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdISGNxNisrMm1n
MGxwZVhLNVVLWWcvS0xjQVAxbVZsCmlNTzFYbGdNV1phcjFhcW1hUjZQWjNoNE9CZ01JcXhoQW9q
Z2xVcWwyV3hXS3BWR285RnNObHV0Rm9hSURBT0ZFSEtSeFNaaDJqbzkKS0FoMHAxNnZJL2RIY3V4
MnU4K2VQWHZvMEtGU3FYVHg0c1ZDb2JDN3U5dHNObjArMy9MeWNqS1pWQlFGSUJFQjNKbzY2N3Ir
MUQrawo0SU1McmgvOHYyRVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhclljS0tvaUIy
azRzQUR5andNL01FQ0tITTBwQXN5NmdtCklJeEZJcEhmK3EzZjZ1am9lUHo0TVZiNTh1WEwyOXZi
R3hzYkN3c0xlM3Q3Z2lEQUZBbFgvamwydFU2U3NvQllDTVRoY0RpZHprYWoKc2IyOW5VNm5rWCs1
WEM0UWR2RjRIUDROR1RNY29KWDhoejhrc1pkTWhqTFJsVldTbUtTaUtENmZ6MmF6d2VBWnM0TFNh
clZHUmtiNgordnFheldheFdBd0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZhdDk0
TVpZV0Vrays0cWl1TjN1YXJWcXM5bENvZERzCjdDd2t3N0pzTXBuTTUvT3FxbnE5M29NSEQxSVVC
U0VqZ3F1cTZuQTRrQ3NIZzBHR1lTcVZDcncwU2FZaHJtS3hDSldHU1FQV05ob04KU0UrU3BIUTZU
VkVVR01CeXVmemd3WU5Iang1eEhKZE9wd09CQU5pZGxaVVZsbVdkVG1kSFJ3Zm9RaXdXS0JWY0xC
WWViMUZtbUFZNgpKNWE1c3JKeS8vNzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tp
UWhGMnMybXh6SE9Sd09lQlNQeDRNblF1YUtvcWlxCkdnd0dtODBtWWxnK245L1kyT2pwNlRsNjlH
aXoyVXdtazZWU1NkZDFRQlNXWlp2TlpyMWVYMXBhTWd4amZIejgyTEZqa1VoRWx1VkMKb1lCVWMx
K1NFQjFqS1JEQVFTR2pwMm02VnF2ZHZYdjN4bzBibVV6RzYvVm1zOW1CZ1lHaG9TR2Z6OWZaMlFs
S0c3WG5WcXVGZUZpdApWajBlRDh1eTBHcFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVp
Ym04dG1zMGVQSGwxZVhwNmZud2RHNys3dWJyVmE0WEI0CmUzdTdWcXVwcXByUDU0dkZvcXFxd1Ax
MnU5M0tYVDFsa3pCV1RCdUpPYy96K1h4K1lXRmhjM01URWJYWmJDSjhZUkNRUEg0aVNSSU0KVzFW
VmZCa0VLWlRUNFhESXNweEtwUllXRmg0K2ZGZ3FsYWFucDBkR1JrakJyMVFxd1F0Z3VXVlp4aU9X
bDVkM2RuWWtTWUovTGhhTApvaWllUFh0MmFHaW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9R
ajgyUytQWk1VRWFJVTFVMWxVcHRibTRDMzJtYXRyYTIxbXcyCkZ4WVdvTFJ1dHpzUUNQajkvcDZl
bnZIeGNhUXY4SEpRN0VxbGtzMW1xOVZxc1ZoY1hGeDgrUEFodEE0MUVpU2lXRTI0UjFtVzRiMWsK
V1VhT0JyK2R5K1ZxdFpyYjdRNkZRb2NQSHg0WUdMaDE2OWFkTzNlZ2QrMTJ1MVFxQVhVUjBFOGd4
K2VTTkw1UVdxWW9xbDZ2bDBvbApWVlVCZEhSZHoyYXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZP
anM3bDVlWG56eDU0bks1NXVibVZsWldjcmxjT3AwRzEreDBPamMyCk5qNzg4RU5rRWkrKytPTFky
QmpIY2RWcUZYZ2RCUytQeHdNR2hLS29iRGFyNjdyWDZ4VkY4ZDY5ZTd1N3U5ZXVYZHZlM3ZaNnZV
aFcKWkZsdU5wdm81MEJ1L2JtNldxTXpZeWxaa3lEbThYaDZlbm9LaFVJcWxVTDZnNFFEdEpxaUtL
amtvQ2pnZERxN3U3dkQ0ZkM3Nzc0cgp5L0tISDM2WXkrVlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZ
cWlvdEhvMXRaV1IwZEhNQmlFNnlMcHBTQUlyVllybDh2SnNwekpaRnd1CjE3Rmp4K3IxK3R6Y25D
aUtMNy84c2lSSlY2NWNBYzhDV2d4Qm04VGh6NzByd2F0V2VXcWFCbXdkaThWcXRkclcxbFlxbGRK
MUhlREcKWnJPSm9raFJGRHdFYkFtVTdPN3VialFhL1ozZitaMnVycTVVS29VZzVIUTZLWXFxMVdv
MFRZUElSSXF6czdOejRjS0ZYLy82MXlkUApubnpublhlbXA2ZlJEMExUZExGWWJMVmFjTTdsY2ht
REdSb2FXbDVlaGd2OHhqZStBWko2ZTN1NzJXenlQQjhLaGNCM2tSVDg4emhKCjB6U29SNlN6SE1j
UlpnVkxjdURBZ1V3bTgrREJBNTduUWMvQk1TTG5SRCtFdytIQXA1cW16Y3pNZ0JRK2YvNzgrKysv
WHk2WEVRWTEKVGZONnZhVlNxYSt2NytEQmc0SWdvR2dsQ01MTm16Y0ZRVUExSGlRZ1NwUTJtMjFu
WjRlbTZYYTdQVEF3a00xbWs4bGtOQm9OQkFLSQpUTWVPSFd1MzIrRncrRXRmK2xLMVdrV3N0Z3FN
b2lqYm0yKyt5VmlxQ0FRV0Vjb1U0c3BtczQ4ZVBVSVJqakJBYnJjYlgvRDVmUGw4Cm5pUWNmWDE5
d1dEUTUvUEY0M0c0b21ReVdhL1hDV2pPNS9PeUxJK09qbzZQajRPVkx4YUxUcWZ6NE1HRDBXZ1Vm
b3VtNlZLcGRPdlcKclVRaUlZcGliMit2cG1ucGRCcjE3RmdzTmpJeTR2ZjdPem82aG9hR1JrZEhB
NEVBYmJMeUdCNlpsKzNOTjk4azJJcGtkRWhEQ2ZZRApGYkt5c3JLN3UwdkVpRFFLeFN5S292QW1n
TTc1OCtkUG5qeloxZFdGZkJvVmRUakdiRGFMMmttOVhyOTM3OTdLeWdwTjArRndHUHJjCmFyV21w
cVljRGdlcVp0VnF0VkFvbE12bEF3Y09uRHg1c2xnc3pzM05JY0RDeDBhalVWbVdJNUdJSkVuN21z
bXlZTnVlc2tuSzBvNUUKY2dVNFphZ2Y2Qm0vM3grUHg5ZlcxZ2pqaGt6SzZYUWlMNmxVS3NDcjdY
WWJtQVlQaU1WaUw3MzBVcjFlLytpamp5aUtpc1Zpa1VoawpmWDI5djcvLytQSGpwMDZkYXJmYitY
eGVFQVNvVExQWkJINUFTamsxTlZVb0ZIcDdleWNuSjFWVnZYbnpacVZTUWUwTXZnRGtvQ3pMCktM
Q1RWQmFWUll6QjlwM3ZmRWMzYTJZa0ZVSzBRRFlNMkVuVE5JSVZ3QnBOMDZJb2dsTUNlb1lrV1ph
TngrTnZ2UEVHWEdXajBVQlYKWTNoNEdGQWVZYkM3dTd0V3ErVnl1V0F3ZVB6NDhVT0hEb1ZDSWEv
WDI5L2Y3M1E2VVFnRDllNXdPUEw1L01EQXdPRGdJTU13Q3dzTAo2K3ZydXE2UGpvNCs5OXh6U0d0
Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhGb09ZUTRNREJ3OGVEQ1ZTb0diOG5xOWRydTlXcTIy
CldpMlh5d1gxN3VucGVlV1ZWNzc4NVM4ekRGTXNGZ0ZFK3Z2NzgvazhPUFVUSjA1VXE5WGQzZDNU
cDA4Zk9IRGc2TkdqU09MQXJ5TnMKSU1PaUtNcHV0eU5hQm9OQnU5MCtNREF3TVRGeC8vNTl1OTNl
MWRYbDkvdkJIdVR6K1hBNDNHcTFhcldhMStzbFpVK1MzOWplZU9NTgpvTEJuc2o0Z1FGSkxROUtF
ZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Ydnh4UmY5Zm4rcFZGSVVCWm9NS09OeXVUWTJO
dGJXCjFxTFI2UGUrOTcycHFTbS8zKy96K1VENVlUUmRYVjJvdDVPc1RaYmx6YzNOZUR3T25ySlFL
T3pzN0hSMWRYM3RhMThiR1JsQkkrTDEKNjlkQktSbUc0WGE3MGE1aFpkQnQzL3ptTjBtVjI1cmFv
VlNNZ0dHWVRZREZZakVVQ3IzNDRvdXFxcTZ1cnFJYXQ3cTZXaWdVWG43NQo1ZWVlZTI1aVlnSnJH
UTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJjM096Z0pZZ3pjQ2JBSzBBUE9QdWwyajBj
aG1zeXNyCks4RmcwT1Z5R1laUnJWYnorWHhQVDgvMDlMVGY3MWRWOWVPUFAvN2J2LzFiWGRkUnAz
QzVYT1Z5R1Y4bWMyRWJqUVpCcmZ0bWFyTWgKa0FBS3d5d2xTVUozWnpnY3BpanF6Smt6TE1zdUxD
d2NQSGp3aFJkZWNEcWRNek16Nit2ckd4c2JCdzRjUU9CT0pwUG83d0Vsa1VxbAplbnQ3ejU0OSs4
WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIzLzk2ME9IRG9HWWpVYWpmL2lIZndo
b0NreHkvLzc5ClVDaUVFSUFWOUhxOXlKK0kwcktBQVNTRVVDYmJSY2dJdyt4RVpGbFdrcVRidDIr
TG9qZzhQRHc1T1RrNE9JaTBtT080MWRYVlhDNzMKd2dzdmtCNUNBRUJGVWJxNnV0YlgxeDBPUjZW
U2dWVjdQSjU0UEk1NkVRWUVJa0xYZGF4TFBwOWZYVjI5ZXZYcWpSczNRUE9VU2lXZgp6d2RmU3Br
TXh1Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNklsZ0JnZHV3OUwyd0xJdEYydG5a
S1JhTGZyOC9Gb3NCCkowVWlrY0hCd1hhN2pXS0JZUmhnZ0FSQjZPenN2SC8vUGpxK3NGaWpvNk1v
TFlJS0pNOUNYcC9KWkZSVlRhZlRxNnVyMTY5ZjM5emMKSEJ3Y3JGYXJkcnZkNy9lN1hDNThNeEFJ
b0JBK09EaDQ2dFNwUTRjT3dTNUliR01zcERaakpkRm9zK2NYUkJCSkZDbVRNVUNMNVBiMgpkcVZT
UVdLS0pNdmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRyR3hnVENJWEJuRVBHcVBX
MXRiNVhLNVVxbklzdHh1CnQzZDJkcHhPWnp3ZUIzNUFrb204REtzdlNkTFkyRmc0SEVZVThYcTlE
TU9nTVlURUQ0cWlUT0R6Zi9XQVFKSUVKeGhtY1h0emN4T3QKY0R6UFJ5SVJYZGMvL1BERFR6Lzk5
UGp4NHgwZEhhSW9vdWJSYnJlejJXeXBWTUlxNVBQNW4vemtKd0Fvd0lQd01kRFljcmxjTEJiWAox
dFlXRnhldlg3K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFWd3VWelFhUldvT2VJ
QXB3RjFUWnBLODMxaGtQRjNjCk0wd1NHcWtuWGlDSWpZMk4vZXhuUHdOVklRZ0NXSW5MbHkrUGo0
K0hRcUZrTXRuVjFZWDZMRkZYUUpad09Qem5mLzduaVVUaXIvN3EKcjN3K0h5d1oybDZyMVZDaUtS
UUtxNnVyWHErM3U3djc4ZVBINCtQakl5TWpYcS8zeXBVcnp6Ly9QRWdEUVA5Q29hRHJPaHdzU2lQ
Tgpack5VS29GNXNsb2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1lU2RPM2Z1M2J2
WGJyY2JqY2JDd3NLREJ3OGcvRWFqCmdad0FPU0dhdUhwNmVqNzg4TU5FSWhHTHhRZ2NBNnlENjU2
Ym0yTlpkbkJ3TUJxTlpqS1o4Zkh4OGZIeDI3ZHYvL1ZmLzNVb0ZISTYKbmRWcWRXTmpJNS9QSTRF
RzNFSHVCaWVIMUE4UmdjaU1OWjRtN1luR0F1ekNzNU5hRmNNd2tVams5T25ULy9WZi8zWDU4bVd3
VlpWSwp4ZTEyKy8zKytmbDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQUE8rdnI2
KysrL3Y3YTI5dFpiYjNWMmRsSVVKVWtTCjZBSzBmQThPRG9xaW1FcWxYbi85ZFdUbjkrN2RVeFRs
ei83c3ozN3Y5MzZ2cDZjbm44K0hRcUhSMFZGSmtrQ0xRcmFrdk05WXlFZEkKa29XaUEwbVJaZ3Fi
MmR3REQ0VCtBOXlDcHVuVHAwOS84TUVIU0NuOGZqOVNyY25KeVVhanNibTVhYlBaeXVYeXJWdTNr
Rlh6UE85MApPdDk0NHcySHc4R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3WUdC
bDU2NlNWQkVJNGVQZXB3T0ZDUWhISW1rMG5RCkpiRllyTkZvK0h5K2taRVJRUkRBK2dHdndqUjB5
MllFZUNZU0JWbkNjek5tUXc5bE5rVVRlSVVMVnFRb1NqZ2NQbkxreU96c0xKTGEKY0RnOFBqNU9H
dm5RSllhNmlOZnJQWExreUFzdnZIRDY5R2tRSDBlT0hORjF2VnF0L3VkLy9pZkRNRjFkWGQvKzly
Zi80aS8rWW5sNQorUi8vOFI5RG9SQ2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5M
OWhhU2FuTGRWQlluY1VSZG5lZXVzdEVqbklEQ0ZTCkFCZnlKc3FQSUxXS3hlSzFhOWRFVVFTZDBk
M2RQVEF3c0xPemc5Wk9SVkhRUFBIbEwzLzUvUG56SjA2YzZPN3VwczFxREZEeGl5KysKdUxhMmR1
Zk9uV1BIam1VeW1TZFBuZ3dORFFVQ0FUaGVVUlRobG5aM2Q3MWU3NGtUSjhiSHh6czZPdUJhRWVo
SjVlWVpuaEh6dE1ZTAoyMi8rNW0rUzVJTVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQx
ZDF5T1JDSDVDVVZRNEhENS8vdnpSbzBkQm1lTExDR0xqCjQrT3FxazVNVEV4T1RsNjZkS2xZTEo0
N2QyNWtaQ1NiellaQ0lZWmgwUGlONm1Ba0VrRVF3aHlRdGFJNlNLenUvNXdrZWZPcGZTNGsKS3RK
bUl5dmtqcTV1cUM1MkJQVDI5cDQ2ZGVydTNiczJtNjFXcXlXVFNYUVVxS3BhTEJiRDRURHc1TmJX
Vmo2Zmh4dXNWcXRnSlVGMgpRRXJmL3ZhM0dZYjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlC
Z2gwU1FoUmxjMEp3VzZlZ1d6cTFXSUxkaUVMdkIxQ1diWnRiCmkwam1vdXM2QUgwMEdoMGZINzkv
L3o1RlVXaGk4Zmw4UHA4dmxVbzFtODFzTmx1cFZEUk55K1Z5bHk5ZlJ0TUx6SlZobU4zZDNVUWkK
TVRJeWN1VElFVVZSaG9lSDIrMTJQQjczK1h4NDMrbDBLb3FTU0NSV1ZsWkE0Y0RCWUhwUVk4ckMr
bHNsWkZqYVhjakZrbWFOejVFZQp3OER4R0dhWENIUURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1
L1A1dWJrNXQ5dmQwOU1UaVVTUUtNYmpjVTNUc3RuczB0TFN2WHYzCkRNUDQxcmUrRll2RkhqOSty
T3Q2SnBOSnBWTFkyS1NxNnU3dTdwTW5UL2IyOWppTzYrenNKSFZWWkNkRVMwSEUwSlltSk1QczNi
Rk8KZUg4M3dUTStDcUdHQkZNU1p1Q2ZVUFpKSnBNVVJTR3I1amp1OGVQSDlYcGRsdVh6NTgrZk8z
ZnUzTGx6c1ZnTVpUd3MvK3JxNnZ6OAp2TmZyZmZYVlY3LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwx
OSsyVzYzNTNJNTlLN3dQTi9iMjRzOG1EU29JUWFDNE5ITWJRR1VoZnUzClRtZC9rZ2lHcEVSSmZB
OXQ3a3piOThLbU1XQldIbzhuRkFvcGlpSkpVcVBSNk9ycTRubCtlWGxaRk1XZi92U25WNjVjNmV2
cnc2YzIKbXkwZWozL3l5U2QydS8zZGQ5Lzl5bGUrc3JlM3AybGFQcDlQcFZLaFVPaktsU3Rlcnpj
WURLYlRhWEJReVdSUzA3UlVLdFhUMDBPcQpsN0I1VkkyYXpTWXFpK2ludGJvZkROWHFkV2lhWnJX
bjkwaDgvb0dweGtScGNhSERKaEFJN096c1JDS1JUQ2FqYVJyeWtsZ3NWcTFXCnM5bHNxOVY2L1Bo
eHBWS3AxK3V4V0N5ZnowOU1UUHpvUno4YUhoNHVsOHRvRDBra0VsdGJXL2Z2MzBjMUNlMml5V1JT
bG1WWmxoOCsKZkxpNXVZa09IbzdqVXFrVTNBL2dJYUF2dGlFZ3JtSnN1dGxhWmp6ZHljSmFNWjdW
TXEzaXRocTYzKzh2RkFvbzFvTWNRZm9UaVVUUQpvREEyTmxZcWxRcUZ3dlBQUHgrUHg3dTd1KzEy
KzhURXhNaklTREtaZExsY3BWTHA1czJiVjY1Y0FmcHRObU9HMUZrQUFBOTRTVVJCClZKdHV0OXR1
dDhmajhWUXF0Ymk0V0tsVXJsKy8zdC9mUHo0K0RzTkJFZ1BLdDFxdHVsd3VUZFBBSWNGRTZhZTdl
STJuMjZCWWt1L1EKbG0yazVLLzFJL3dlRS92WGYvM1hkRHBkcTlWNmUzdEJSbUNCSFE3SEs2Kzgw
dG5aK2Vtbm4zWjJkdjd3aHo5RS96OFdaWDE5L2NHRApCLy83di84cml1TFMwaElBRFdBVGRLZFNx
WHp5eVNlNDFjbVRKd2NHQnRDNDV2ZjdaMmRuWlZrK2ZQZ3d4M0VvalNERHRKcmwvM25SCk5NMWFF
eFByOUVqOHBDM04yL0N1ZHJ0OVpXVUZiWkdoVUFqTGpKMndMNzMwMHNHREIydTEyc1RFaENpS2Mz
TnorWHgrZVhuNXhvMGIKaUwzejgvT1BIajA2YytZTUFyM2Rib2NDY3h5M3RyYTJ1N3U3dDdmbjlY
cS8vdld2ejh6TVFIUTh6MlBMeE5MU2tzL25pMFFpYURJRApIL2xGQmJUaTAzM25RakpqcS9sUlp0
dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhkL2EydXJzN0N3V2kvLzkzLzhkaVVRTXc5amEyanA0CjhP
Qm5uMzBHcklmaTRZRURCNGcvcTlmcldEVk00KzdkdTRnWktIV2d5a0JSRlBLbVlERDQzbnZ2T1oz
TzExNTdyYk96RTBSN3E5VWkKVERtWnJWV0d4SU95cEVlSnNteDFvWjZPdHVSZjhCUlRVMU8vL09V
dlFWVlFGRlV1bDBPaFVMbGMzdDNkamNmakR4OCtMQmFMbXFhdApyNi9Mc2x5cjFYcDZlZ0tCUUwx
ZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVYSWRIUjNZYitad09Gd3VGellQWXdmZTl2YjJyMzcx
CksxVlZYMy85ZGIvZmovellLa1BpSGEzRHBzaVdDVElyNitzdlRoS0VFTS96cDA2ZG1waVllUERn
Z2FacGlVUUNVTUhyOVc1c2JKUksKSlpxbWM3bWN6K2RqV1RhZFRrdVNSTHh1TUJqRS9pUnNMZ0Vo
MEc2M1VYSUVNSjZlbnU3cDZjRWNHSVlCMmVGd09BUkJXRmxaUWNTYQpucDUydTkyQ0lEUWFqV2Y4
alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndtWnV2c1h6SEE0SE9zSkRvVkNwVkZwZlgwYzdQ
SnArCmdOM2hHT3gyZXo2ZkJ6ZUIxbU5zaEVKcERVZ05UaExsR2p4dWJHenM5T25UZzRPRHNWZ01Y
UTRZZHpLWnZIVHBrcUlvcFZJcGxVb2gKRTNRNm5iQm5pUFFaSVgwdVNmZ1kwdnBCZkF6cGtpT0tT
bEVVR29mUm5uZjQ4R0ZabHJlM3Q1ZVhsMkc5NE5RWTg1QUJCSEZpMk5hLwpGRVhoU0FIRGJJbkF0
QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtmbjVyMzcxcXlkUG5vUnhBcW1qWFFOQm5r
eG5IOFZiCkovTU1DSHdtYkVKekVFaGVldWtsbG1VdlhyeTR0TFMwc2JGQldkSnpUZE5RcTBUVVFj
SFA2c01RL2FDclNKRTlIcy9Bd0FCMnZ6cWQKVHN5Zk1VOHQyTnZiZy8xTGtxUW95dTd1TGx6eDR1
SmlmMy8vb1VPSGVudDcwWTllcTlYcTlUcTQrWDJnWmsydWlXWVRrbzRremNCRApVRjNVNnByTlpr
ZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZzM2NjNjFibWtESkMraXFZUmhJdnVG
MWdYTEF4S0xlClNOTTB4M0ViR3h2d2tiVmFUUkFFN0RpNmZ2MzZ2WHYzNHZINDBORFFnUU1IaG9h
R2hvYUd1cnE2Z3NFZzRRQUE0bG1ydzRYL0JNNEEKcGlWQkJYNGZiZ0Q3SlVxbGt0dnQ5dmw4b0Z0
dE5wdkQ0U2dXaTgxbUU1dnZDYXhuTEgwbDhPU29Bc0dZY1lZQytzQm5abVpDb1pCaApkbWFRTFdl
cnE2dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUxUEhqaDNyNit1THhXSit2eCs5
eUt4dTJhTm1qUzJVCnBlbkZlSm95TWN5cU5lUTJQei8vczUvOXJGd3VkM1oyVGs5UFAzbnlCT2dF
NGVHTG1rS1pQZTZOUmdPdGRtaEhuSnljL1A3M3Z4K0wKeFlqVjJHdzJsQ2pUNlRRYVhGRUxhTGZi
YUdWeHVWeG9DRWVrVGFmVCtYeit4bzBiZ2lCTVQwOFBEZzVPVGs3MjkvZXpKS1d5em9HeQprQ0J3
UDhTSURjTUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTByYkdYc29zWUlPYklidElB
VjltWm1iZWZ2dnRreWRQCmdpSUNMd0VMMUhWOWNYRVJlUmwrYU0yZXNia0d2QXo4VGJQWmJEUWFQ
Ly81ejhHYlJLTlJ4c3JUNFVJdGhCQTgxazlKV1FhTWFLVlMKdVhUcDBrY2ZmUVEySFhzR29XeVUy
U3h2UmIva1dUUk5WNnRWd3pEZ2RjYkd4djdnRC83ZzNMbHptNXViMENEZ1VsaHNwVks1ZmZzMgpN
Q0NzQUNrQnFVd1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhTUm1XbWtlNElHbHBh
WExseTlmdm53WlViSFZhbzJQCmo2TjRqdm8rRm9qMHZZRDdnOUlpYkFRQ0FWbVcrL3Y3LytpUC91
anMyYlAxZWgwUkg0RW5FQWlnTFVHVzVXdlhybEVVaFpvSEdxNGMKRGdkY0lOa3ZadVVwQWN1QUIy
MDIyLzUrQVdRU21DUXBwSkhPU2t5WVlSaEZVZENEdXJTMHRMcTYrdWpSSSt6amhsc0htSTVHb3lN
agpJeXNySzZWU0tSd083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enovM29Sejk2NFlV
WHF0V3FxcXArdjc5YXJUcWRUdUErClRkUDhmditGQ3hmUVBZaEZSKzVpbUhzWVNSWkNtKzBOY0d4
b1Y5aG5Nd0JsSURGNEZLdzM1b3hnaFoyRDJXd1dmVmtyS3l0TFMwdTUKWEs3UmFNREY0NllvdjRi
RDRXOTg0eHV0VnV2Q2hRdDdlM3R1dHh0RmRVd0FBYVpjTHIvMTFsczh6My96bTk5RU9RQXRzb3Fp
SUN0QwphY3poY0pUTDVZOCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVKRGtRemZQ
VGdMcG1FZ2s3dDI3dDdhMnRyQ3drTXZsClVNcUZyeU9kUFRCOWxtV25wcVlDZ1FDb2paV1ZGVWdt
bjgramxEODJOdmJidi8zYk16TXpZRWJRanVmMyt4ME94OTdlWGlBUUlCc1AKYVpyKzRJTVAwSFpx
TTl2bk5mT2dCSlEzeVFZVUV0dXQwWjR5V1E3V1poNmlaRTArRUk1THBWSTJtMFd5Ky9EaHc2MnRM
V0FvcURUUgpjQ2loeldZREtLL1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhzLzN2
dmU5ZDk5OWQzSnlFbjRGM1RJNDFLUmVyNlBUCkFuZW1LT3JHalJ2dnYvOStxVlFpOElVSWdJQUgy
cVRhbnRGYmEvQm5HY3ZaR1N6TEFueWlYQUZjdXJpNHVMS3lBdnFZM0FnT1RUVjMKWTdIbVhpQVVR
bUEvNkxBN2UvYnNtMisrK2Q1Nzd5VVNpZTk4NXp2bnpwMnoyV3lsVW9reFM2VU13emdjRGtWUndH
czBHZzJ2MTR0VApFbVpuWnpjM056RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZk
Z1BIanhZWFYyZG01dkRsaWgwYVBJOGo0MERKS0lRCmdBWnNqV2VnSlFCTjhZSWdURTVPL3VWZi9p
VzZDRkR4aHBNRStrTlpHcXVEWmFMTTZqMjZFQWs4SkJHSXNPTUVzUkQ0U1hJUnhrSWQKUDdWSkZP
ZFJwTlBwVENaei9mcjE5ZlgxOWZWMWhIVVUwa0Zrb1grTllDc29qQ0FJUFQwOURvY0REZ01kWmw2
dkY1N0dack9SWWlhWQphR0I5ekFyUkM5cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJF
N1JKK2hrbEI3bHBpaUxNdnBkSHBoWVdGdWJtNWpZMk5qCll3UDNRcmtHTy9waDZCUkZoY05oZEMy
b3FncklRcHVWQlZtV0Z4WVcvdUVmL3VIUm8wY0FzVU5EUS9GNHZGQW9MQzh2dDFxdDBkSFIKeWNu
SmtaR1JVQ2pVMjl1TGRsSE4zSXpBOC96dDI3ZWJ6ZWJodzRjdlhMaUFPSUhUeHpSTlF6YUxqZXZJ
RTZDOWlKd0lqMUFUMHYwSQpsV1pSazFwYld3UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZO
TEMwdGRYVjFaYlBaUC83alAzN3c0SUhmNzg5a01nNkhnM0R0CldJdDBPdjNKSjU4VUNvVm9OTnJS
MFhIZ3dJSHA2V21nNmtBZ2NQSGl4ZmZlZTI5K2ZqNFdpOEVidVZ5dVRDYkRtWWR1WVREZ0I5SFcK
UjFzT0F1UE1iWXlHdWVHVnBta1cyOWtYRnhmdjM3Ky9zcktTeldaVjh5dzVrdnRSSmo5QVVSUWNE
TzZPbG1TTzQ3eGU3enZ2dkRNeApNYUZwMnZ6OC9OMjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUz
ZnFQLy9nUEZDVDlmajg2V3lSSnltUXluWjJkdVZ3Ty9ra3pUMzBoCldNb3dtKzhRV2xWenN6SGVo
Ky9ZOTY3WHIxL2YyTmlZbjUvZjNOeEVMczlaenBRZ2pwZ2dXQUJYUEFsWWo2S29jK2ZPL2VBSFAr
am8KNk1obXM0OGZQd2JEalVRQlpRek9QTWtQZ1I1NERVb0ZHSXdWY1RxZGxVb0ZGWjZkblIxNFhi
Umh3L01CR3lKRVE4bnhQbFlCb3FiTgpzeDFKZEdRLy92ampYQzZYeVdUUVBzMllKNmdRMXVTWkZL
UmVyOE9Yb0xrRFgvdis5NzhmQ29Wa1dVYlRHSHdZRWs3QVdyVFlZNU1zCkVDWmxIanRRclZZRlFZ
RHFkbloycGxJcGhtRktwUkpZSHhnaGFpcEVvUkN4T1BOSVE5d1FrOFNXQ1F5TWRGMnhEeDQ4UUdU
SFVSQ2sKcHFtWm0wZndMeUdVU0x5cTFXcm9JTVpPVmFDLzlmWDEyN2R2MHpRTmgwbU9sOEJ0Q1Er
Q2dhTFhISWVqd0NBem1jenM3Q3drR1FnRQo0TWFCWmhtelBZeHdia0RrRUNsOEJDbWkwalNOSFZI
NzJKWG9Ia0ZEK0Rhd0NHVnBYQ0xaT3BhVEZNK09IRGtDMFQxOCtQQ2YvdW1mClB2bmtFeHhSaGhv
emZDYTRSaFIyb0Foa2F6YlA4emdMcmRWcTRhQXRuREtsNnpvMmlkSTBUUXliUkQ4U0o5R3JvWnA3
NGNpUm0yUkQKR3NNd2JEQVlSTkFqRXRQTlU2cUlYMlVzbFdhUTFvcWlrR1RuMUtsVEVNaVBmL3pq
Zi91M2YzTzVYREFHZEN1Q2lkc25Xc3pUVlN1Vgppcy9uMjl2YjgzZzhvaWdDOTN1OTNrS2g0UEY0
a0lWaER3Yk1HQkFLRHQ5NG12Nm16UTRKbTNud0ptYU9nMS8ySzZ1SUZvYUZMOVROCjZqeHVBZFVu
OUNTSUJ2QlVvaWk2WEs0alI0NXdISmZMNVdablozRVNFVVZSMVdvVjVJMGtTYkJKeEgzZ2FZUWZF
TGJvVTRkcGRIUjAKQkFLQlJDTFIwZEVCL2dhaEdKMTN1QlVnSGtDbDErdkZlVHBZUHR3Y3JyVmNM
bU5EcnFxcSs1UWtnVWlVU1RRQkdWSmZxT0VCSldNRQp1cTZqN1lSbFdWUUVFSFd4c2Nubjh5RmVv
MnlLd0kzdGQzRDlMTXVpNU43VjFSVUtoVERWZXIzZTM5Ky9zcklTQ29VUTBDdVZDbnd2CnlqQ3dU
SFJoNFlRWk11QmFyVll1bCtHdWtSNEJpckdrKzV5eDhPcUdwU0JMZElPMmxJMlFTZVB3UkhEazJH
eEdLRWFnM0wyOXZVZ2sKZ3YzdGlPTW9oSUVRT25IaXhDdXZ2REk1T1luSkFFczFtODNsNWVYZi8v
M2ZSeGMvOWtZejVtR0IxdVUyVE1yYk1Edkt5RHRrSThjKwozTEVPM1FvQVNOMlMzQlRmTWN5eUQ4
cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBGcXRsc3RsTkp6QjE0Mk9qbjc5NjE4L2NlSUVXbFlvCjgz
UlJHRGt5YjlvOGRiUlNxV0NsNEg0UWhBZ1lvQ3lIYW1LRHJhcXFkcnNkWjZ1Z1N3Tk5hYUJPZEYx
bnlheXNBQUFPalV6YmVQcFUKVlpMNENJSXdNREFBYzRkRHl1VnlPTDRaZy9CNFBJMUc0K3paczIr
Ly9mYk16QXoyOTFKbWZ3TWtROElBWUdxdFZydDI3UnA4SThkeApicmZiNFhEVWFqWEVRemhuMmp3
WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpkTFRBblJpalR5VXVXK0xzUDJnWkhwNmVoQ3lmdmpE
CkgzcTkzZzgrK0FETlNuNi9IMjRnSG8rLy9mYmJ2L0VidjZGcEdqWWlZdzhiVVNKVlZRSDBVRHky
MiszWmJEWWFqV0pmR0VWUnJMbE4KQkg5SjJRYjJSbEFYWTFhck1EM01ncFJHV0tnZlpTbmRXWFdZ
ZXBxSnhTNWNHRWt3R0F3R2c0Wmg4RHgvK3ZUcHZyNCtwOVA1Ny8vKwo3NkJrQkVIbzd1NCtkKzdj
OGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtxbnJlcVBSZVBqd1lUcWRSaWoyK1h6WUk0RjBq
ellKCkdvUm9aRWk2cmdNcUlCQmdJZHJ0ZHFGUU1FenU1LzhESmMrY1VjaGRURHNBQUFBQVNVVk9S
SzVDWUlJPQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>20878</attachid>
            <date>2008-04-28 16:18:21 -0700</date>
            <delta_ts>2008-04-28 16:18:21 -0700</delta_ts>
            <desc>fixed testcase, added mail address to slow-png.php</desc>
            <filename>slowImageLoading.diff.txt</filename>
            <type>text/plain</type>
            <size>19016</size>
            <attacher>hahn.seb</attacher>
            
              <data encoding="base64">SW5kZXg6IGh0dHAvdGVzdHMvbG9hZGluZy9vbmxvYWQtc2xvdy1wbmctaW4tc3ViZnJhbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBodHRwL3Rlc3RzL2xvYWRpbmcvb25sb2FkLXNsb3ctcG5nLWluLXN1
YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBodHRwL3Rlc3RzL2xvYWRpbmcvb25sb2FkLXNs
b3ctcG5nLWluLXN1YmZyYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorPGh0
bWw+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRp
bmcvcmVzb3VyY2VzL2NhbnZhcy1kcmF3SW1hZ2Utc2xvdy1wbmcuaHRtbCI+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9j
YW52YXMtZHJhd0ltYWdlLXNsb3ctcG5nLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9jYW52YXMtZHJhd0ltYWdlLXNs
b3ctcG5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9j
YW52YXMtZHJhd0ltYWdlLXNsb3ctcG5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VzL2NhbnZhcy1kcmF3SW1hZ2Utc2xvdy1wbmcuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8c2NyaXB0PgorICAgIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjJyk7CisgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
KyAgICAgICAgY3R4LmRyYXdJbWFnZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpLCAwLCAw
KTsKKyAgICB9Cis8L3NjcmlwdD4KKzxib2R5PgorICAgIFRoZXJlIHNob3VsZCBiZSB0d28gaW1h
Z2VzIGJlbG93LgorICAgIDxjYW52YXMgaWQ9J2MnIHdpZHRoPSI3NiIgaGVpZ2h0PSIxMDMiPjwv
Y2FudmFzPgorICAgIDxpbWcgaWQ9J2knIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRp
bmcvcmVzb3VyY2VzL3Nsb3ctcG5nLnBocCI+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VzL3Nsb3ctcG5nLnBocAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VzL3Nsb3ctcG5nLnBocAkocmV2aXNpb24gMCkKKysrIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZXMvc2xvdy1wbmcucGhwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDIyIEBACis8P3BocAorCisvLyBieSBTZWJhc3RpYW4gSGFobiA8bWFpbEBzZWJhc3Rp
YW5oYWhuLm5ldD4KKworJGZuID0gIi4vYWJlLnBuZyI7CiskdGltZVRvU2xlZXAgPSAxOworJGhv
d01hbnlCeXRlcyA9IDQwOTY7CisKK2hlYWRlcigiQ29udGVudC1MZW5ndGg6ICIgLiBmaWxlc2l6
ZSgkZm4pKTsKK2hlYWRlcigiQ29udGVudC1UeXBlOiBpbWFnZS9wbmciKTsKKworc2xlZXAoJHRp
bWVUb1NsZWVwKTsKKworJGhhbmRsZSA9IGZvcGVuKCRmbiwgInJiIik7CitpZiAoJGhhbmRsZSkg
eworICAgIHdoaWxlICghZmVvZiggJGhhbmRsZSkpIHsKKyAgICAgICAgJGJ1ZmZlciA9IGZnZXRz
KCRoYW5kbGUsICRob3dNYW55Qnl0ZXMpOworICAgICAgICBlY2hvICRidWZmZXI7CisgICAgfQor
ICAgIGZjbG9zZSgkaGFuZGxlKTsKK30KKz8+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlcy9zbG93LXBu
Zy5waHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VzL2FiZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlcy9hYmUucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFd0FBQUJu
Q0FJQUFBQWxuak9KQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQWcKQUVsRVFWUjRuRzE4
YVd3YzUzbi96T3pNN016c2ZTOTNlUitpZUlpa3BFaFJTTW1XTGNlS2JUbEhIY1d1RXp2Tmw3UW9n
aDZmaWdKRgpnYUpvKzZrRkNqUkFnN2Ivd2tsUUYwMWh1R2tWcVhJZHliVXM2cVlra3VJbExzVmRj
c25sM3ZmczdCei9Eei9PNjVIYytVQXM5NWg1CjMvZTVmcy92ZWQ2WHZuTGxpaUFJa2lTeExHc1lo
cXFxbXFZWmhpRkpFc013RE1QUU5FMVJGRTNUK0ZmVE5JN2pORTFyTnBzTXd6Z2MKRGszVGFyV2FM
TXMybTQybTZYYTczVzYzZFYybmFacW1hVVZST0k0ekRFT1daVlZWYlRZYnd6QzZycXVxNm5RNk9Z
NXJOcHVxcWdxQwpJSW9pd3pBMm04MW1zMkVrdUltdTYrMTJ1OVZxc1N6TDh6ekhjYmdKaHRSc052
SENacmt3REYzWERjUFFkWjFsV1paaEdJcWlETVBRCk5BMHpwQ2lLNHpoTUR4L2hUWXFpV0piRmcy
MDJteWlLZ2lCVUtwVlNxZVR4ZURSTm95akticmN6REZPdjE5dnROc013ZHJzZDcwdVMKUkZHVXBt
azBUYk1zMjJnMDJ1MjJvaWcybTgzbGNnbUNZQmlHb2lpR1lkQTBiYlBac0RUNGlhN3J1QzBtUUZF
VW1UOUdSWnNYbVR4awpobm15ZUpkTW1xSW9TTXhtcytIMytJaklzOTF1MjJ3MlFSQXdpSGE3TFFq
Q3dNQkF0VnB0TkJxcXFqSU1ZeGdHRnB2bmVjaUVwbW1zCldxdlZ3cWR1dHhzeXhEZXg4SGdjR1FP
ZXFLcXFZUmo0T2RFc2lBUURJOU1qSThjN2hubnRUeGNMZzV1eUxBdUZ3YjNJSkhFanY5OWYKcjlj
cGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhxTmVyMnVxaXB1Z2w5QldhQ2xQTTlqbVhtZTUza2V6MVZW
VlZFVXU5M3VjcmxxdFpyMQp0MFJ1V0R2S3ZNZ0VpT2lJeGhLeklwcklrZzh3ZFhJWFZWWEo3YXdx
a2MxbVk3R1lKRWs3T3p1SlJLTFJhRGlkVHJmYm5jbGtmRDZmCklBaVFtOTF1MTNXOVZxc3hEQ01J
QXN1eVdIaW9BRVZSaXFKb21zWXdER3lNb2lqOEZVVVJpd0tSRXRVbE9nVTU0eU5pK1dSdTVJS04K
N0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQbWUrKzk5ei8vOHorR1lZVERZWjduUjBaR1JrWkdo
b2FHNEU0d2RMdmREajlFVVJUeApHVVFPZUJaVWw2SW9XWlpiclpZa1NSQWpSa2tFaUwrWUZmR0lF
QmNSSTk3ODRyQlp1QWVlNTYyVytvd2Q0d2NZbWNmaitjVXZmdkgzCmYvLzNkKy9lZFRnY3NWaXMy
V3htTXBuTnpjMjF0YlhSMGRGb05Ncnp2Q0FJb1ZBb0hBN0xzcHpMNVF6RGlFYWpEb2VqVkNvVmkw
VmQKMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwvTUJJcUFzV0ZXK0JjclFnUklabWhWZUZhV1pX
Z1grU1dtQkYyQ1loQzkxWFY5WjJkbgpkbloyYVduSjQvSDQvZjY5dlQxWmxnT0JBTWR4ZTN0N3Fx
cXVyNi9YYXJWMnV6MDRPSGo0OE9HdHJhM0Z4VVZabGc4Y09PQnl1VlpYClZ6YzJOblJkajBham9p
anlQQytLWWl3V0d4MGRIUmdZOEhxOWZyOGZNN1FLQk1xRkFkQ1dDNnRnL1pkY1ZsdWxQL3JvSXl5
ODNXNkgKT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1dnY2NG9TcjFlOS9sOEhNZUZ3Mkdmenlm
TGNuZDM5K0Rnb01maktaZkxpVVFpa1Vqawo4L25lM2w1WVlMRll6R2F6NVhJWkhsV1c1WGc4UGpV
MU5Udzh6REJNUHArbmFkcnY5L004SDQvSDNXNjNLSXJ4ZUR3YWpYSWNwK3U2CkxNdVZTc1hsY3Vt
NlhxMVdvZFhRQlNJTUNCWjJRUXg0UDRRUXIwT2NPSlFFVnZHTWlXNXZiMWVyVlYzWEZVVnBOQnBZ
ZFZWVmg0YUcKc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5WemMzTnZieStWU3VWeU9SaW5ydXU0
ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQgpaclBWNi9WbXMrbjFlc2ZHeHM2Y09mUDg4OCtM
b3VoMnUzVmQ1empPNy9kakFvcWlRUHVzVXlJZUZGUGJSd0swSmZMQUFQQTlxK3B6CkhJZlZ5bWF6
eEdzcGlnSy9VaTZYSHoxNkpFa1N4M0Y0MCtsMDl2YjJkbloyUXJDNnJyZGFMY1JZc282RlFtRmhZ
V0YzZDlkbXN4V0wKUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9QenM3T3ozLzN1ZHc4ZVBOaHF0
ZkRvU3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUgpicmRocU1TaElhQmxzMW04Q2QxR3JHKzMy
d1FoWVYxS3BkTGk0dUxhMnRyazVHUzlYb2NjS3BVSzVtbTMyeW1LYWpRYStYeStVQ2dnCjVESU1J
NG9pUUJ6RE1BNkhReFRGYkRhYlNDVHE5ZnFoUTRjT0hqeUlSenVkVGszVFhDNFg0QVN4UTZ1emhO
WkFjcCtEQVN1c3NZWWcKTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5nTVlBRG1nSDhybFFyMEJU
TEhHdU51VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05obwpOQktKQk9BeFZCU0JxbGdzNGxsRU9h
MktTWnU0bDdYYTJ6T09pM3dicjJWWkxoYUxHeHNiQkRyanFiaVJMTXRPcDVQZ2RTQVl0OXRkCktC
VElTa1A0V0JUZ1pzd1RZSkNvR2N3U0MwZFJWTHZkcnRWcXhXS1JvcWlPam81NnZkNXF0ZXIxT3NJ
ZUZJYzJNVG9KQjBDZHVDZHIKeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJa1NaSlVxOVhnZmdW
QkNJZkQwQWlHWWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUgpBaFhjRzgvelVQNVdxd1U1USt3
WXJ0UHAzTm5aV1ZoWWlFUWlnaURBY0NpS2lrYWpsVXFGd0YzRVJvd1dkOFBrbjRKMVZnc21Zc1Fr
CjhmaHF0YnExdGRWdXQ5MXV0OXZ0aHNwSmtpU0tJb1RaYXJWa1dTYlFtZWY1YXJWS1ZBam8vQm04
QnVOaEdBWkFEK0NXWVJnQVFOeU4Kb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0vbkt4UUs5WHFk
UkF2YzhJdmhnQUoycFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcQpsVGlPODNnOHJWWnJiMjhQ
b2JYWmJCWUtCU0lpRW9nMVRWTlZsZU00dUVSSmttQ1dIbytudTd2NzFLbFRIby9IYnJkbk1wbUhE
eDh1Ckx5OURzUkdmb2JHeUxQTTg3M0s1NEljMk5qWisvT01mZDNkMy84bWYvTW1oUTRmY2JuZTlY
aWY2aVZsZ2dhQ3JKSnl3QkJuUVQrTTkKaG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWswTncyZzBH
bzFHQTZPeG9tY1NEQW5DYWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcApaRm0yWEM0L2VmTGt6
cDA3Rnk5ZXZIbnpKbU1tYUxWYXpUQU1oOE9oNjNxcFZJSzNwMms2bVV4KzhNRUhrVWhFRkVXSHcv
Rk0vbUFOCis1K0RBWkxGV01FQUhHQzlYdmQ0UE8xMkd5Nys4ZVBIMTY5ZlI4QWt3b2MvRkFRQlZv
ZUkwbXExY0Z1Z3RuYTc3ZmY3angwN2R1Yk0KbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhCd2NI
eDgvRmUvK2xXdFZxTW95dXYxMXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NAo4T2FiYjRiRFli
Z3g2eVMvNkRncGltS3gyQVFsa0lVaDZ3RzN1YlcxOWZISEh5OHRMVG1kVGlTNFJFOFE5MXF0RnVh
UHA5cnQ5bUF3CjZQZjdqeHc1TWpvNk9qVTFGWTFHWWZ4Z09vQU5jQ3VIdytIMys3LzYxYTlPVFUy
TmpZMWR2SGp4MDA4L2JiVmF5RTVVVlMyVlNnNkgKUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRw
Sm1xWlo0dDhKSk1CWFZWVVZSUkVxMTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVAowK1AxZWow
ZUQ1VFQ0L0gwOWZWMWRYVzk5dHByWkFVNWptTlpWcGJsVXFrVUNBUU13eUNjQ0hMbHJxNnVIL3pn
QjRjUEgzNy8vZmN2ClhicFVMcGNGUWRBMHJkVnF3WUJydFJyUDg2MVdhM1oyZG54OG5DQ1FaNVNX
TXJOVGlHby9uOFJiSklXREUyZFpGalJVclZhN2YvLysKOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NF
QXJGWUxCZ01SaUlSbDh2Rjg3emI3ZTdvNkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPLwp3bkVj
cUJPYnphWnAycGUrOUNXLzN6OHlNbkwxNnRVN2QrN0lzdHpYMTVmUDV3T0JnS0lvRkVVcGl2TFpa
NTlCOGlSQnNjNlRzcEFKCk5FMnpSSW1KSlBFOW51ZWhTNUlrYld4c0pCSUpPR3ZJTUJBSURBOFBk
M2QzZTczZWVEemUxZFhGY1p3a1NVNm5VNUlrVUJ2Z3Bod08KQjVZUHRxcHBHc2hCeE5KOTJNV3kw
Qm84dlZ3dWk2TDQybXV2alk2Ty92TS8vL09WSzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOQpQ
VDArbjQ5TXo3QXdHMVlhZ1NVRWp6VmpodVZVS2hXOHlHYXpoVUxCNlhTbTAybWU1LzErLzhURXhN
bVRKN3U3dXhFbmc4RmdLQlFDCkVvSkhZVmxXMS9WR28yRzMyeFZGQVg3QXhQQTF3RjNETUJBZVJW
RzAyV3l0VmtzUUJJZkRnZmpwOC9tQ3dTQnlGSVpoSUcxWmxpR2wKaHc4ZlF1YTBtWEJhRGZLcGRB
UnJqR2ZEcWJJc0MvMEJlYk83dTh0eFhDQVFxRlFxVHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2Js
Ywo4WGdjWWlmVHc2M2hRa25lb0NnS3dkTWttOFA2YXBxRzNBcGZRMEJ5dTkxZXIzZHdjTEMvdjk4
d0RJL0hrMHdtWDMzMVZRZzhtVXcrCmVmSmtmbjQrazhrMEdnMDhGSlFhUWpkdElUVDJuMFMwbE1o
ZEZFVW9tTjF1RDRmRFNHVEI1Unc3ZGl3YWpiSXNHNGxFRUE5Z1Y0UmwKZ3hKaTdheFlpb0JKNjBP
dGwyRVlQTThERzBFTFJrZEhEeDgrM05IUkFRTmpHT2FkZDk1QllnbXhBOThERENQQWdvYUcvZU12
UXlqegpaOXdzSVNBRVFYQzczV0FyR0laQitpOUpraXpMZHJ0ZEZFWER6TWVSQ3NMa29BVWVqNGNn
QitzS0dwWTAxd3FTQ2NXR3JOOHdqTDYrCnZoTW5Ub3lPanJiYjdmNysvbXExT2pNek16MDlIWXZG
RW9rRVFCSVNTOHBrK21EMlZ1aTJQOGxuMXBXc2g5MXV4N2VEd1NDU1BVbVMKWUxTQTdCUkZRVmRi
VDE4a255WVNmb1pOc3pvNXE2aUJiNTFPcDkxdUIvL1UyZGs1T2pvYURBWnBtbDVlWHE3VmFpTWpJ
OFBEdzVGSQpaR1ZsSlovUEkxQVRucEhnV0hMdEp6aGswc1RId3ZXcHFncjRldURBZ1hBNFRESU1F
TUdOUmtQVE5FbVNtczBtU1hOd1ErZ3FZQkQ5CkJhei9URXdqRjhGTTBGc0FHa21TT2pzN3o1NDl1
NzYrUGo4L2YrZk9uVUtod0hIY3E2KysybWcwbHBlWEs1VUtZZy9LTGNBUDFtVmwKaU1PMVhsZ01X
WmFyMWFxbWFSNlBaM2g0T0JnTUlxeGhBb2pnbFVxbDJXeFdLcFZHbzlGc05sdXRGb2FJREFPRkVI
S1J4U1poMmpvOQpLQWgwcDE2dkkvZEhjdXgydTgrZVBYdm8wS0ZTcVhUeDRzVkNvYkM3dTl0c05u
MCszL0x5Y2pLWlZCUUZJQkVCM0pvNjY3cisxRCtrCjRJTUxyaC84djJFWUtHT0JmU2tVQ2lCNzRC
anRkbnVsVXFsVUt0VnF0VmFyWWNLS29pQjJrNHNBRHlqd00vTUVDS0hNMHBBc3k2Z20KSUl4Rklw
SGYrcTNmNnVqb2VQejRNVmI1OHVYTDI5dmJHeHNiQ3dzTGUzdDdnaURBRkFsWC9qbDJ0VTZTc29C
WUNNVGhjRGlkemthagpzYjI5blU2bmtYKzVYQzRRZHZGNEhQNE5HVE1jb0pYOGh6OGtzWmRNaGpM
UmxWV1NtS1NpS0Q2ZnoyYXp3ZUFaczRMU2FyVkdSa2I2Cit2cWF6V2F4V0F3R2c0OGVQZHJiMnp0
OCtQRHk4dkx3OEhBMEdzWFN3QXRhNmF0OTRNWllXRWtrKzRxaXVOM3VhclZxczlsQ29kRHMKN0N3
a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJVUJTRWpncXVxNm5BNGtDc0hnMEdHWVNxVkNydzBTYVlo
cm1LeENKV0dTUVBXTmhvTgpTRStTcEhRNlRWRVVHTUJ5dWZ6Z3dZTkhqeDV4SEpkT3B3T0JBTmlk
bFpVVmxtV2RUbWRIUndmb1Fpd1dLQlZjTEJZZWIxRm1tQVk2Cko1YTVzckp5Ly83OVRDYWo2M282
blVia3dJTEJReUMxSTNVN1ZWVmhXZ0Jva2lRaEYyczJteHpIT1J3T2VCU1B4NE1uUXVhS29xaXEK
R2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdpejJVd21rNlZTU2RkMVFCU1daWnZOWnIxZVgxcGFN
Z3hqZkh6ODJMRmprVWhFbHVWQwpvWUJVYzErU0VCMWpLUkRBUVNHanAybTZWcXZkdlh2M3hvMGJt
VXpHNi9WbXM5bUJnWUdob1NHZno5ZloyUWxLRzdYblZxdUZlRml0ClZqMGVEOHV5MEdwUzlCVkZF
V2xLc1ZpVVpSbDRBL2txRmdXaEdORUxBNWlibTh0bXMwZVBIbDFlWHA2Zm53ZEc3Kzd1YnJWYTRY
QjQKZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkzS1hUMWxrekJXVEJ1Sk9jL3orWHgrWVdGaGMz
TVRFYlhaYkNKOFlSQ1FQSDRpU1JJTQpXMVZWZkJrRUtaVFQ0WERJc3B4S3BSWVdGaDQrZkZncWxh
YW5wMGRHUmtqQnIxUXF3UXRndVdWWnhpT1dsNWQzZG5Za1NZSi9MaGFMCm9paWVQWHQyYUdpb1Vx
bjg5S2MvM2Q3ZWhoRUtnbEF1bDFtV3hWb1FqODJTK1BaTVVFYUlVMVUxbFVwdGJtNEMzMm1hdHJh
MjFtdzIKRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FRdjhISlE3RXFsa3MxbXE5VnFzVmhjWEZ4
OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxawpXVWFPQnIrZHkrVnF0WnJiN1E2RlFvY1BIeDRZR0xo
MTY5YWRPM2VnZCsxMnUxUXFBWFVSMEU4Z3grZVNOTDVRV3FZb3FsNnZsMG9sClZWVUJkSFJkejJh
enhXSVJTWVpoR0FCOWtpU0JtM0s3M1dCZk9qczdsNWVYbnp4NTRuSzU1dWJtVmxaV2NybGNPcDBH
MSt4ME9qYzIKTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhnZEJTK1B4d01HaEtLb2JEYXI2N3JY
NnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoVwpaRmx1TnB2bzUwQnUvYm02V3FNell5bFpreURt
OFhoNmVub0toVUlxbFVMNmc0UUR0SnFpS0tqa29DamdkRHE3dTd2RDRmQzc3NzRyCnkvS0hIMzZZ
eStWU3FaU2lLQmczeXBMVmFsVVV4ZTN0YllxaW90SG8xdFpXUjBkSE1CaUU2eUxwcFNBSXJWWXJs
OHZKc3B6SlpGd3UKMTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1Y0FjOENXZ3hCbThUaHo3MHJ3
YXRXZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVERwpack9Kb2toUkZEd0ViQW1VN083dWJqUWEv
WjNmK1oydXJxNVVLb1VnNUhRNktZcXExV28wVFlQSVJJcXpzN056NGNLRlgvLzYxeWRQCm5uem5u
WGVtcDZmUkQwTFRkTEZZYkxWYWNNN2xjaG1ER1JvYVdsNWVoZ3Y4eGplK0FaSjZlM3U3Mld6eVBC
OEtoY0Iza1JUODh6aEoKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtEQkE1N25RYy9CTVNMblJE
K0V3K0hBcDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMQpUZk42dmFWU3FhK3Y3K0RCZzRJZ29H
Z2xDTUxObXpjRlFVQTFIaVFnU3BRMm0yMW5aNGVtNlhhN1BUQXdrTTFtazhsa05Cb05CQUtJClRN
ZU9IV3UzMitGdytFdGYrbEsxV2tXc3RncU1vaWpibTIrK3lWaXFDQVFXRWNvVTRzcG1zNDhlUFVJ
UmpqQkFicmNiWC9ENWZQbDgKbmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2EvWENXak81L095TEkr
T2pvNlBqNE9WTHhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92VwpyVVFpSVlwaWIyK3ZwbW5wZEJy
MTdGZ3NOakl5NHZmN096bzZob2FHUmtkSEE0RUFiYkx5R0I2WmwrM05OOThrMklwa2RFaERDZllE
CkZiS3lzcks3dTB2RWlEUUt4U3lLb3ZBbWdNNzU4K2RQbmp6WjFkV0ZmQm9WZFRqR2JEYUwya205
WHI5Mzc5N0t5Z3BOMCtGd0dQcmMKYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdjT25EeDVzbGdz
enMzTkljREN4MGFqVVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RQpjZ1U0WmFnZjZCbS8zeCtQ
eDlmVzFnampoa3pLNlhRaUw2bFVLc0NyN1hZYm1BWVBpTVZpTDczMFVyMWUvK2lqanlpS2lzVmlr
VWhrCmZYMjl2Ny8vK1BIanAwNmRhcmZiK1h4ZUVBU29UTFBaQkg1QVNqazFOVlVvRkhwN2V5Y25K
MVZWdlhuelpxVlNRZTBNdmdEa29DekwKS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVLMFFEWU0y
RW5UTklJVndCcE4wNklvZ2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVgpZM2g0R0ZBZVliQzd1
N3RXcStWeXVXQXdlUHo0OFVPSERvVkNJYS9YMjkvZjczUTZVUWdEOWU1d09QTDUvTURBd09EZ0lN
TXdDd3NMCjYrdnJ1cTZQam80Kzk5eHpTR3RSTWdLWnFKdnRhS1RWZ3dhNWJMVlJJbUpJSEZvT1lR
NE1EQnc4ZURDVlNvR2I4bnE5ZHJ1OVdxMjIKV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZNc0Zn
RkUrdnY3OC9rOE9QVVRKMDVVcTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOcwpJTU9pS01wdXR5
TmFCb05CdTkwK01EQXdNVEZ4Ly81OXU5M2UxZFhsOS92Qkh1VHorWEE0M0dxMWFyV2ExK3NsWlUr
UzM5amVlT01OCm9MQm5zajRnUUZKTFE5S0VlTkRiMjR1aGRIWjJ1dDF1dkVna0VtTmpZK2ZPblh2
eHhSZjlmbitwVkZJVUJab01LT055dVRZMk50YlcKMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRS
ZFhWMm90NU9zVFpibHpjM05lRHdPbnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMQo2OWRCS1Jt
RzRYYTcwYTVoWmRCdDMvem1OMG1WMjVyYW9WU01nR0dZVFlERllqRVVDcjM0NG91cXFxNnVycUlh
dDdxNldpZ1VYbjc1CjVlZWVlMjVpWWdKckdRNkg3WFo3c1ZqRWNqUWFqYTk4NVNzOVBUMnFxbTV0
YmMzT3pnSllnemNDYkFLMEFQT1B1bDJqMGNobXN5c3IKSzhGZzBPVnlHWVpSclZieitYeFBUOC8w
OUxUZjcxZFY5ZU9QUC83YnYvMWJYZGRScDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaAprQUFL
d3l3bFNVSjNaemdjcGlqcXpKa3pMTXN1TEN3Y1BIandoUmRlY0RxZE16TXo2K3ZyR3hzYkJ3NGNR
T0JPSnBQbzd3RWxrVXFsCmVudDd6NTQ5KzhZYmIrVHorZDNkWFRoVmtoSkFnS1FJclNqSyt2cjY3
dTd1cjMvOTYwT0hEb0dZalVhamYvaUhmd2hvQ2t4eS8vNzkKVUNpRUVJQVY5SHE5eUorSTByS0FB
U1NFVUNiYlJjZ0l3K3hFWkZsV2txVGJ0MitMb2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3Mwp3
Z3N2a0I1Q0FFQkZVYnE2dXRiWDF4ME9SNlZTZ1ZWN1BKNTRQSTU2RVFZRUlrTFhkYXhMUHA5ZlhW
MjlldlhxalJzM1FQT1VTaVdmCnp3ZGZTcGtNeHVibVpqQVlmUG5sbDQ4ZlArN3hlSURwRWZEZ1hm
Y05rSHI2SWxnQmdkdXc5TDJ3TEl0RjJ0blpLUmFMZnI4L0Zvc0IKSjBVaWtjSEJ3WGE3aldLQllS
aGdnQVJCNk96c3ZILy9QanErc0Zpam82TW9MWUlLSk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6
YwpIQndjckZhcmRydmQ3L2U3WEM1OE14QUlvQkErT0RoNDZ0U3BRNGNPd1M1SWJHTXNwRFpqSmRG
b3MrY1hSQkJKRkNtVE1VQ0w1UGIyCmRxVlNRV0tLSk12bGN2M3lsNy9jMmRsQnl3NVFDNElINUZh
dFZpOWR1Z1M4dHJHeGdUQ0lYQm5FUEdxUFcxdGI1WEs1VXFuSXN0eHUKdDNkMmRweE9aendlQjM1
QWtvbThES3N2U2RMWTJGZzRIRVlVOFhxOURNT2dNWVRFRDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6
Y3hPdApjRHpQUnlJUlhkYy8vUEREVHovOTlQang0eDBkSGFJb291YlJicmV6Mld5cFZNSXE1UFA1
bi96a0p3QW93SVB3TWREWWNybGNMQmJYCjF0WVdGeGV2WDcrdTZ6cHF6SkZJWkdCZ1lIUjBsSERx
THBkTEZNVkdvMUdyMVZ3dVZ6UWFSV29PZUlBcHdGMVRacEs4MzFoa1BGM2MKTTB3U0dxa25YaUNJ
alkyTi9leG5Qd05WSVFnQ1dJbkxseStQajQrSFFxRmtNdG5WMVlYNkxGRlhRSlp3T1B6bmYvN25p
VVRpci83cQpyM3crSHl3WjJsNnIxVkNpS1JRS3E2dXJYcSszdTd2NzhlUEg0K1BqSXlNalhxLzN5
cFVyenovL1BFZ0RRUDlDb2FEck9od3NTaVBOClpyTlVLb0Y1c2xvZlRkUDdBUDJMRjJBNlRCRm9C
aDQvR0F4ZXZYcDFhV2tKbWVTZE8zZnUzYnZYYnJjYmpjYkN3c0tEQnc4Zy9FYWoKZ1p3QU9TR2F1
SHA2ZWo3ODhNTkVJaEdMeFFnY0E2eUQ2NTZibTJOWmRuQndNQnFOWmpLWjhmSHg4Zkh4Mjdkdi8v
VmYvM1VvRkhJNgpuZFZxZFdOakk1L1BJNEVHM0VIdUJpZUgxQThSZ2NpTU5aNG03WW5HQXV6Q3M1
TmFGY013a1VqazlPblQvL1ZmLzNYNThtV3dWWlZLCnhlMTIrLzMrK2ZsNWlxSSsvdmhqdTkzZTM5
OFBtSnJOWnRIZjg2ZC8rcWZ2dlBQTyt2cjYrKysvdjdhMjl0WmJiM1YyZGxJVUpVa1MKNkFLMGZB
OE9Eb3FpbUVxbFhuLzlkV1RuOSs3ZFV4VGx6LzdzejM3djkzNnZwNmNubjgrSFFxSFIwVkZKa2tD
TFFyYWt2TTlZeUVkSQprb1dpQTBtUlpncWIyZHdERDRUK0E5eUNwdW5UcDA5LzhNRUhTQ244Zmo5
U3Jjbkp5VWFqc2JtNWFiUFp5dVh5clZ1M2tGWHpQTzkwCk90OTQ0dzJIdzhHeTdIZS8rMTJPNDM3
Kzg1Ly8zZC85WFc5djc4VEV4SzFidHdZR0JsNTY2U1ZCRUk0ZVBlcHdPRkNRaEhJbWswblEKSmJG
WXJORm8rSHkra1pFUlFSREErZ0d2d2pSMHkyWUVlQ1lTQlZuQ2N6Tm1RdzlsTmtVVGVJVUxWcVFv
U2pnY1BuTGt5T3pzTEpMYQpjRGc4UGo1T0d2blFKWWE2aU5mclBYTGt5QXN2dkhENjlHa1FIMGVP
SE5GMXZWcXQvdWQvL2lmRE1GMWRYZC8rOXJmLzRpLytZbmw1CitSLy84UjlEb1JDY09VSUxsbWww
ZExTcnF5c1dpL1gzOS9mMDlMamRicXc0bkw5aGFTYW5MZFZCWW5jVVJkbmVldXN0RWpuSURDRlMK
QUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQzZFBUQXdzTE96ZzlaT1JWSFFQUEhsTDMvNS9QbnpK
MDZjNk83dXBzMXFERkR4aXkrKwp1TGEyZHVmT25XUEhqbVV5bVNkUG5nd05EUVVDQVRoZVVSVGhs
blozZDcxZTc0a1RKOGJIeHpzNk91QmFFZWhKNWVZWm5oSHp0TVlMCjIyLys1bStTNUlNWXErM3BD
OVlNK3haRkVSWHZ6ejc3REwvQ0hxYTl2VDFkMXlPUkNINUNVVlE0SEQ1Ly92elJvMGRCbWVMTENH
TGoKNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1a1pDU2J6WVpDSVlaaDBQaU42bUFrRWtFUXdo
eVF0YUk2U0t6dS81d2tlZk9wZlM0awpLdEptSXl2a2pxNXVxQzUyQlBUMjlwNDZkZXJ1M2JzMm02
MVdxeVdUU1hRVXFLcGFMQmJENFREdzVOYldWajZmaHh1c1ZxdGdKVUYyClFFcmYvdmEzR1liNWYv
L3YvNEhkN096c3hGT0F6b1BCSUVoNnh1eUJnaDBTUWhSbGMwSndXNmVnV3pxMVdJTGRpRUx2QjFD
V2JadGIKaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdoaThmbDhQcDh2bFVvMW04MXNObHVwVkRS
TnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaQpNVEl5Y3VUSUVVVlJob2VIMisxMlBCNzMrWHg0Myts
MEtvcVNTQ1JXVmxaQTRjREJZSHBRWThyQytsc2xaRmphWGNqRmttYU56NUVlCnc4RHhHR2FYQ0hR
RHJ4dU5Cb2htbEprQjBORDhmdWJNR2ZSVTUvUDV1Yms1dDl2ZDA5TVRpVVNRS01iamNVM1RzdG5z
MHRMU3ZYdjMKRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZMWTJLU3E2dTd1N3BNblQvYjI5amlP
Nit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGTwplSDgzd1RNK0NxR0dCRk1TWnVDZlVQWkpKcE1V
UlNHcjVqanU4ZVBIOVhwZGx1WHo1OCtmTzNmdTNMbHpzVmdNWlR3cy8rcnE2dno4CnZOZnJmZlhW
VjcvMnRhOEJMZFJxTlRTQlhyMTZsZWY1bDE5KzJXNjM1M0k1OUs3d1BOL2IyNHM4bURTb0lRYUM0
TkhNYlFHVWhmdTMKVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdCV0hvOG5GQW9waWlKSlVxUFI2
T3JxNG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMgpteTBlajMveXlTZDJ1LzNkZDkvOXlsZStz
cmUzcDJsYVBwOVBwVktoVU9qS2xTdGVyemNZREtiVGFYQlF5V1JTMDdSVUt0WFQwME9xCmw3QjVW
STJhelNZcWkraW50Ym9mRE5YcWRXaWFaclduOTBoOC9vR3B4a1JwY2FIREpoQUk3T3pzUkNLUlRD
YWphUnJ5a2xnc1ZxMVcKczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5TVRQem9SejhhSGg0dWw4
dG9EMGtrRWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4KwpmTGk1dVlrT0hvN2pVcWtVM0EvZ0lh
QXZ0aUVncm1Kc3V0bGFaanpkeWNKYU1aN1ZNcTNpdGhxNjMrOHZGQW9vMW9NY1Fmb1RpVVRRCm9E
QTJObFlxbFFxRnd2UFBQeCtQeDd1N3UrMTIrOFRFeE1qSVNES1pkTGxjcFZMcDVzMmJWNjVjQWZw
dE5tT0cxRmtBQUE5NFNVUkIKVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwrLzN0L2ZQejQrRHNO
QkVnUEt0MXF0dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUQpsbTJrNUsvMUkvd2VFL3ZYZi8z
WGREcGRxOVY2ZTN0QlJtQ0JIUTdISzYrODB0blorZW1ubjNaMmR2N3doejlFL3o4V1pYMTkvY0dE
CkIvLzd2LzhyaXVMUzBoSUFEV0FUZEtkU3FYenl5U2U0MWNtVEp3Y0dCdEM0NXZmN1oyZG5aVmsr
ZlBnd3gzRW9qU0REdEpybC8zblIKTk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldVRmJaR2hVQWpM
akoyd0w3MzAwc0dEQjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYgppTDN6OC9PUEhqMDZjK1lN
QXIzZGJvY0NjeHkzdHJhMnU3dTd0N2ZuOVhxLy92V3Z6OHpNUUhROHoyUEx4TkxTa3MvbmkwUWlh
RElECkgvbEZCYlRpMDMzblFqSmpxL2xSWnR2Rk04cXQ2em9zSHUwZVlFTzZ1cnAwWGQvYTJ1cnM3
Q3dXaS8vOTMvOGRpVVFNdzlqYTJqcDQKOE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RWTTQrN2R1
NGdaS0hXZ3lrQlJGUEttWURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaQpURG1aclZXR3hJT3lw
RWVKc214MW9aNk90dVJmOEJSVFUxTy8vT1V2UVZWUUZGVXVsME9oVUxsYzN0M2RqY2ZqRHg4K0xC
YUxtcWF0CnI2L0xzbHlyMVhwNmVnS0JRTDFlVDZmVDJHbUk5SStpS0ZRdktwVktzVmpNNVhJZEhS
M1liK1p3T0Z3dUZ6WVBZd2ZlOXZiMnIzNzEKSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNpV0NU
SXI2K3N2VGhLRUVNL3pwMDZkbXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSSwpKWnFtYzdtY3or
ZGpXVGFkVGt1U1JMeHVNQmpFL2lSc0xnRWgwRzYzVVhJRU1KNmVudTdwNmNFY0dJWUIyZUZ3T0FS
QldGbFpRY1NhCm5wNTJ1OTJDSURRYWpXZjhqVzd1dXlLVHRQM3U3LzZ1YnJiWE1aYU9LYklGd21a
dXZzWHpIQTRIT3NKRG9WQ3BWRnBmWDBjN1BKcCsKZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVn
TlRoTGxHanh1Ykd6czlPblRnNE9Ec1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaApFM1E2bmJC
bmlQUVpJWDB1U2ZnWTB2cEJmQXpwa2lPS1NsRVVHb2ZSbm5mNDhHRlpscmUzdDVlWGwyRzk0TlFZ
ODVBQkJIRmkyTmEvCkZFWGhTQUhEYkluQXRBT0JnTS9uaTBhajBFYVNjR0RoUUt1Q0FmeVhmL21Y
K2ZuNXIzNzFxeWRQbm9SeEFxbWpYUU5Cbmt4bkg4VmIKSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2
WHJ5NHRMUzBzYkZCV2RKelRkTlFxMFRVUWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZApUc3lm
TVU4dDJOdmJnLzFMa3FRb3l1N3VMbHp4NHVKaWYzLy9vVU9IZW50NzBZOWVxOVhxOVRxNCtYMmda
azJ1aVdZVGtvNGt6Y0JEClVGM1U2cHJOWmtkSHgrdXZ2ejQ0T0hqejVzMi8rWnUvcVZhcnNpeWpZ
UkZsVnMzY2M2MWJta0RKQytpcVlSaEl2dUYxZ1hMQXhLTGUKU05NMHgzRWJHeHZ3a2JWYVRSQUU3
RGk2ZnYzNnZYdjM0dkg0ME5EUWdRTUhob2FHaG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QQpw
aVZCQlg0ZmJnRDdKVXFsa3R2dDl2bDhvRnR0TnB2RDRTZ1dpODFtRTV2dkNheG5MSDBsOE9Tb0Fz
R1ljWVlDK3NCblptWkNvWkJoCmRtYVFMV2VycTZ0dXQ5dnBkR1l5R1d5aEpJUGMzdDVPSkJLWExs
MktSQ0pUVTFQSGpoM3I2K3VMeFdKK3Z4Kzl5S3h1MmFObWpTMlUKcGVuRmVKb3lNY3lxTmVRMlB6
Ly9zNS85ckZ3dWQzWjJUazlQUDNueUJPZ0U0ZUdMbWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngr
TAp4WWpWMkd3MmxDalQ2VFFhWEZFTGFMZmJhR1Z4dVZ4b0NFZWtUYWZUK1h6K3hvMGJnaUJNVDA4
UERnNU9UazcyOS9lekpLV3l6b0d5CmtDQndQOFNJRGNNQTJ3bGJSOVhwNHNXTFRxZlQ3L2ZQek13
NG5jNVBQLzBVMHJiR1hzb3NZSU9iSWJ0SUFWOW1abWJlZnZ2dGt5ZFAKZ2lJQ0x3RUwxSFY5Y1hF
UmVSbCthTTJlc2JrR3ZBejhUYlBaYkRRYVAvLzV6OEdiUktOUnhzclQ0VUl0aEJBODFrOUpXUWFN
YUtWUwp1WFRwMGtjZmZRUTJIWHNHb1d5VTJTeHZSYi9rV1RSTlY2dFZ3ekRnZGNiR3h2N2dELzdn
M0xsem01dWIwQ0RnVWxoc3BWSzVmZnMyCk1DQ3NBQ2tCcVV3VC8wU01Id2hKVmRYSGp4OWZ1M1p0
bnltSGZoT3BHdVloSFNSbVdta2U0SUdscGFYTGx5OWZ2bndaVWJIVmFvMlAKajZONGp2bytGb2ow
dllEN2c5SWliQVFDQVZtVysvdjcvK2lQL3VqczJiUDFlaDBSSDRFbkVBaWdMVUdXNVd2WHJsRVVo
Wm9IR3E0YwpEZ2RjSU5rdlp1VXBBY3VBQjIwMjIvNStBV1FTbUNRcHBKSE9Ta3lZWVJoRlVkQ0R1
clMwdExxNit1alJJK3pqaGxzSG1JNUdveU1qCkl5c3JLNlZTS1J3TzcrM3QrWHcrVUQ0b1FyZmJi
WmZMdGJlM3Q3T3o4OXh6ei8zb1J6OTY0WVVYcXRXcXFxcCt2NzlhclRxZFR1QSsKVGRQOGZ2K0ZD
eGZRUFloRlIrNWltSHNZU1JaQ20rME5jR3hvVjlobk13QmxJREY0Rkt3MzVveGdoWjJEMld3V2ZW
a3JLeXRMUzB1NQpYSzdSYU1ERjQ2WW92NGJENFc5ODR4dXRWdXZDaFF0N2UzdHV0eHRGZFV3QUFh
WmNMci8xMWxzOHozL3ptOTlFT1FBdHNvcWlJQ3RDCmFjemhjSlRMNVk4KytnaHdISjZNdUdob0xB
bnl4TW9JSC9zNTRnR0R3SnFudUpEa1F6ZlBUZ0xwbUVnazd0Mjd0N2EydHJDd2tNdmwKVU1xRnJ5
T2RQVEI5bG1XbnBxWUNnUUNvalpXVkZVZ21uOCtqbEQ4Mk52YmJ2LzNiTXpNellFYlFqdWYzK3gw
T3g5N2VYaUFRSUJzUAphWnIrNElNUDBIWnFNOXZuTmZPZ0JKUTN5UVlVRXR1dDBaNHlXUTdXWmg2
aVpFMCtFSTVMcFZJMm0wV3krL0RodzYydExXQW9xRFRSCmNDaWh6V1lES0svVmFrZVBIdTN2N3o5
ejVzeXRXN2V1WExueTZORWpWVlU5SHMvM3Z2ZTlkOTk5ZDNKeUVuNEYzVEk0MUtSZXI2UFQKQW5l
bUtPckdqUnZ2di85K3FWUWk4SVVJZ0lBSDJxVGFudEZiYS9CbkdjdlpHU3pMQW55aVhBRmN1cmk0
dUxLeUF2cVkzQWdPVFRWMwpZN0htWGlBVVFtQS82TEE3ZS9ic20yKysrZDU3N3lVU2llOTg1enZu
enAyejJXeWxVb2t4UzZVTXd6Z2NEa1ZSd0dzMEdnMnYxNHRUCkVtWm5aemMzTnpFWk9HcjRaMWdk
QVJ1MEpjV256STF3VDNWSmtsZU0yYjZEdmRnUEhqeFlYVjJkbTV2RGxpaDBhUEk4ajQwREpLSVEK
Z0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lXNkNGRHhocE1FK2tOWkdxdURaYUxNNmoyNkVBazhK
QkdJc09NRXNSRDRTWElSeGtJZApQN1ZKRk9kUnBOUHBUQ1p6L2ZyMTlmWDE5ZlYxaEhVVTBrRmtv
WCtOWUNzb2pDQUlQVDA5RG9jRERnTWRabDZ2RjU3R1pyT1JZaWFZCmFHQjl6QXJSQzlxQlNlTHY5
UFQwTDM3eEN4U1Z5UmxVdUdqejZDMkNOMkU3UkoraGtsQjdscGlpTE12cGRIcGhZV0Z1Ym01alky
TmoKWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdySVFwdVZCVm1XRnhZVy91RWYvdUhSbzBjQXNV
TkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUgp5Y25Ka1pHUlVDalUyOXVMZGxITjNJekE4L3p0MjdlYnpl
Ymh3NGN2WExpQU9JSFR4elJOUXphTGpldklFNkM5aUp3SWoxQVQwdjBJCmxXWlJrMXBiV3dQTFJF
N2NJWVVRa2tQbzVtWXorTjU2dlk0VUFRZk5MQzB0ZFhWMVpiUFpQLzdqUDM3dzRJSGY3ODlrTWc2
SGczRHQKV0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lIcDZXbWc2a0FnY1BIaXhmZmVlMjkrZmo0
V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIVwpSMXNPQXVQTWJZeUd1ZUdWcG1rVzI5a1hGeGZ2Mzcr
L3NyS1N6V1pWOHl3NWt2dFJKajlBVVJRY0RPNk9sbVNPNDd4ZTd6dnZ2RE14Ck1hRnAydno4L04y
N2R3RWswTkJGRk14bTdocEI5UnZ0dkxkdTNmcVAvL2dQRkNUOWZqODZXeVJKeW1ReW5aMmR1VndP
L2trelQzMGgKV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEvZjJOaVluNS9mM054RUxzOVp6cFFn
anBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbwo2TWhtczQ4ZlB3YkRqVVFCWlF6T1BNa1BnUjU0
RFVvRkdJd1ZjVHFkbFVvRkZaNmRuUjE0WGJSaHcvTUJHeUpFUThueFBsWUJvcWJOCnN4MUpkR1Ev
L3ZqalhDNlh5V1RRUHMyWUo2Z1ExdVNaRktSZXI4T1hvTGtEWC92Kzk3OGZDb1ZrV1ViVEdId1lF
azdBV3JUWVk1TXMKRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1GS3BSSllIeGdoYWlwRW9SQ3hP
UE5JUTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDawpwcW1abTBmd0x5R1VTTHlxMVdyb0lNWk9W
YUMvOWZYMTI3ZHYwelFOaDBtT2w4QnRDUStDZ2FMWEhJZWp3Q0F6bWN6czdDd2tHUWdFCjRNYUJa
aG16UFl4d2JrRGtFQ2w4QkNtaTBqU05IVkg3MkpYb0hrRkQrRGF3Q0dWcFhDTFpPcGFURk0rT0hE
a0MwVDE4K1BDZi91bWYKUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpiUDh6Z0xyZFZxNGFBdG5E
S2w2em8yaWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSRApHc013YkRBWVJOQWpFdFBOVTZxSVgy
VXNsV2FRMW9xaWtHVG4xS2xURU1pUGYvempmL3UzZjNPNVhEQUdkQ3VDaWRzbldzelRWU3VWCmlz
L24yOXZiODNnOG9pZ0M5M3U5M2tLaDRQRjRrSVZoRHdiTUdCQUtEdDk0bXY2bXpRNEptM253Sm1h
T2cxLzJLNnVJRm9hRkw5VE4KNmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1d0hKZkw1V1puWjNF
U0VVVlIxV29WNUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMApCQUtCUkNMUjBkRUIvZ2FoR0ox
M3VCVWdIa0NsMSt2RmVUcFlQdHdjcnJWY0xtTkRycXFxKzVRa2dVaVVTVFFCR1ZKZnFPRUJKV01F
CnVxNmo3WVJsV1ZRRUVIV3hzY25uOHlGZW8yeUt3STN0ZDNEOUxNdWk1TjdWMVJVS2hURFZlcjNl
MzkrL3NySVNDb1VRMEN1VkNud3YKeWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0QmlyR2srNXl4
OE9xR3BTQkxkSU8ybEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVnawpndjN0aU9Nb2hJRVFPbkhp
eEN1dnZESTVPWW5KQUVzMW04M2w1ZVhmLy8zZlJ4Yy85a1l6NW1HQjF1VTJUTXJiTUR2S3lEdGtJ
OGMrCjNMRU8zUW9BU04yUzNCVGZNY3l5RDhxdnc4UERITWMxbTgzUFB2dE1VUlFJcEZxdGxzdGxO
SnpCMTQyT2puNzk2MTgvY2VJRVdsWW8KODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFnWW9DeUhh
bUtEcmFxcWRyc2RaNnVnU3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVQpWWkw0Q0lJd01EQUFj
NGREeXVWeU9MNFpnL0I0UEkxRzQrelpzMisvL2ZiTXpBejI5MUptZndNa1E4SUFZR3F0VnJ0MjdS
cDhJOGR4CmJyZmI0WERVYWpYRVF6aG4yandZRmFFSXQ0TG5CeGpBTzNCQ05wdnQ4LzRRemRMVEFu
UmlqVHlVdVcrTHNQMmdaSHA2ZWhDeWZ2akQKSDNxOTNnOCsrQUROU242L0gyNGdIbysvL2ZiYnYv
RWJ2NkZwR2pZaVl3OGJVU0pWVlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTgpCSDlKMlFiMlJs
QVhZMWFyTUQzTWdwUkdXS2dmWlNuZFdYV1llcHFKeFM1Y0dFa3dHQXdHZzRaaDhEeC8rdlRwdnI0
K3A5UDU3Ly8rCjc2QmtCRUhvN3U0K2QrN2M4ZVBIRGNQWTJkbkJRWENLb29BRVFFdU0zVzVIa3Fu
cmVxUFJlUGp3WVRxZFJpajIrWHpZSTRGMGp6WUoKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6
dTUvOERKYytjVWNoZFREc0FBQUFBU1VWT1JLNUNZSUk9Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83961</attachid>
            <date>2011-02-26 19:50:08 -0800</date>
            <delta_ts>2011-02-27 11:04:59 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-18762.diff</filename>
            <type>text/plain</type>
            <size>9946</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNGZmZjUzLi41ZGRhYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTEtMDItMjYgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdpbmRvdy5vbmxvYWQg
aXMgZmlyaW5nIGJlZm9yZSBpbWFnZSByZXNvdXJjZXMgYXJlIGxvYWRlZAorICAgICAgICAoaWYg
bG9hZGluZyBpbiBtdWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZSkKKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjIKKworICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgV2hlbiB0aGUgcmV2
YWxpZGF0aW9uIHBvbGljeSBpcyAiVXNlIiwgYWRkIHNlbGYgYXMgYSBwYXNzaXZlIGxvYWRlciBm
b3IKKyAgICAgICAgdGhlIENhY2hlZFJlc291cmNlUmVxdWVzdCBhbmQgYnVtcCB0aGUgcmVxdWVz
dCBjb3VudC4KKyAgICAgICAgVGhlIGNvdW50IGxhdGVyIGdldHMgZGVjcmVtZW50ZWQgYnkgQ1JS
OjpkZWNyZW1lbnRMb2FkZXJSZXF1ZXN0Q291bnRzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZVJlcXVlc3Q6OmFkZFBhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIEFk
ZGVkLCByZWdpc3RlcnMgc2Vjb25kYXJ5IENhY2hlZFJlc291cmNlTG9hZGVyKHMpIGZvciBub3Rp
ZmljYXRpb25zCisgICAgICAgIGZyb20gdGhlIHJlcXVlc3QuCisKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6Om5vdGlmeUxvYWRGaW5pc2hp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpub3RpZnlMb2Fk
RG9uZSk6CisgICAgICAgIEFkZGVkIGNvbnZlbmllbmNlIG1ldGhvZHMsIHRoZXkgcGVyZm9ybSB0
aGUgbmFtZWQgYWN0aW9uIG9uIHRoZQorICAgICAgICBhY3RpdmUgbG9hZGVyIGFuZCBhbGwgcmVn
aXN0ZXJlZCBwYXNzaXZlIGxvYWRlcnMuCisKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZVJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICBDYWxsIHRoZSBjb252ZW5p
ZW5jZSBtZXRob2RzIG1lbnRpb25lZCBhYm92ZS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmNhY2hl
ZFJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIEFkZGVkLCByZXR1cm5zIHRoZSByZXNvdXJjZSdz
IENhY2hlZFJlc291cmNlUmVxdWVzdCouCisgICAgICAgIFRoaXMgaXMgdXNlZCBieSBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKCkuCisKIDIwMTEtMDItMjYgIEp1c3RpbiBT
Y2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmlu
ZGV4IDMzNzlmOGMuLjY2NDg5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCkBAIC0yMTYsNiArMjE2LDggQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJSZXNvdXJjZVRvUmV2YWxpZGF0ZSgpOwogICAgIHZvaWQgdXBkYXRlUmVzcG9uc2VBZnRlclJl
dmFsaWRhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiB2YWxpZGF0aW5nUmVzcG9uc2UpOwog
CisgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KiBjYWNoZWRSZXNvdXJjZVJlcXVlc3QoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3Q7IH0KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0RW5jb2Rl
ZFNpemUodW5zaWduZWQpOwogICAgIHZvaWQgc2V0RGVjb2RlZFNpemUodW5zaWduZWQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggOTQ0NTQ1MS4uZDliMWViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMTcsMTEgKzMxNywxNyBA
QCBDYWNoZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLAogICAgIGNhc2UgUmV2YWxpZGF0ZToKICAgICAgICAg
cmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2UsIHByaW9yaXR5KTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBVc2U6CisgICAgY2FzZSBVc2U6IHsKKyAgICAgICAgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0KiBhY3RpdmVSZXF1ZXN0ID0gcmVzb3VyY2UtPmNhY2hlZFJlc291cmNl
UmVxdWVzdCgpOworICAgICAgICBpZiAoYWN0aXZlUmVxdWVzdCAmJiBhY3RpdmVSZXF1ZXN0LT5j
YWNoZWRSZXNvdXJjZUxvYWRlcigpICE9IHRoaXMpIHsKKyAgICAgICAgICAgIGFjdGl2ZVJlcXVl
c3QtPmFkZFBhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcih0aGlzKTsKKyAgICAgICAgICAgIGlu
Y3JlbWVudFJlcXVlc3RDb3VudChyZXNvdXJjZSk7CisgICAgICAgIH0KICAgICAgICAgbWVtb3J5
Q2FjaGUoKS0+cmVzb3VyY2VBY2Nlc3NlZChyZXNvdXJjZSk7CiAgICAgICAgIG5vdGlmeUxvYWRl
ZEZyb21NZW1vcnlDYWNoZShyZXNvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICB9
CiAKICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5kZXgg
MDJjZjEzZS4uNjMyY2FkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAKIHN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUg
Y2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUp
CkBAIC04MCw2ICs4MSwzOCBAQCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6On5DYWNoZWRSZXNvdXJj
ZVJlcXVlc3QoKQogICAgIG1fcmVzb3VyY2UtPnNldFJlcXVlc3QoMCk7CiB9CiAKK3ZvaWQgQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0OjphZGRQYXNzaXZlQ2FjaGVkUmVzb3VyY2VMb2FkZXIoQ2FjaGVk
UmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKQoreworICAgIG1fcGFzc2l2ZUNh
Y2hlZFJlc291cmNlTG9hZGVycy5hcHBlbmQoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOworfQorCit2
b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50cygp
Cit7CisgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZGVjcmVtZW50UmVxdWVzdENvdW50KG1f
cmVzb3VyY2UpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3Bhc3NpdmVDYWNoZWRS
ZXNvdXJjZUxvYWRlcnMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fcGFzc2l2ZUNhY2hlZFJlc291
cmNlTG9hZGVyc1tpXS0+ZGVjcmVtZW50UmVxdWVzdENvdW50KG1fcmVzb3VyY2UpOworfQorCit2
b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6bm90aWZ5TG9hZEZpbmlzaGluZygpCit7CisgICAg
bV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOworCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX3Bhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcnMuc2l6ZSgpOyArK2kp
CisgICAgICAgIG1fcGFzc2l2ZUNhY2hlZFJlc291cmNlTG9hZGVyc1tpXS0+bG9hZEZpbmlzaGlu
ZygpOworfQorCit2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6bm90aWZ5TG9hZERvbmUoKQor
eworICAgIC8vIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSgpIG1heSBlbmQgdXAgZGVs
ZXRpbmcgdGhpcyByZXF1ZXN0LgorICAgIFJlZlB0cjxDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IHBy
b3RlY3QodGhpcyk7CisKKyAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5sb2FkRG9uZSh0aGlz
KTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wYXNzaXZlQ2FjaGVkUmVzb3VyY2VM
b2FkZXJzLnNpemUoKTsgKytpKQorICAgICAgICBtX3Bhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRl
cnNbaV0tPmxvYWREb25lKHRoaXMpOworfQorCiBQYXNzUmVmUHRyPENhY2hlZFJlc291cmNlUmVx
dWVzdD4gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBj
YWNoZWRSZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29sIGluY3Jl
bWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5IHNlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291
cmNlTG9hZENhbGxiYWNrcykKIHsKICAgICBSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PiBy
ZXF1ZXN0ID0gYWRvcHRSZWYobmV3IENhY2hlZFJlc291cmNlUmVxdWVzdChjYWNoZWRSZXNvdXJj
ZUxvYWRlciwgcmVzb3VyY2UsIGluY3JlbWVudGFsKSk7CkBAIC0xNTAsMTggKzE4MywxOSBAQCB2
b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhTdWJyZXNvdXJjZUxv
YWRlciogbG9hZGVyLCBkb3VibGUpCiAgICAgLy8gdGhlIGNhY2hlZFJlc291cmNlTG9hZGVyIHRo
YXQgaXQgd2lsbCBkZWxldGUgd2hlbiB0aGUgZG9jdW1lbnQgZ2V0cyBkZWxldGVkLgogICAgIFJl
ZlB0cjxEb2N1bWVudD4gcHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50
KCkpOwogICAgIGlmICghbV9tdWx0aXBhcnQpCi0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPmRlY3JlbWVudFJlcXVlc3RDb3VudChtX3Jlc291cmNlKTsKKyAgICAgICAgZGVjcmVtZW50
TG9hZGVyUmVxdWVzdENvdW50cygpOwogICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKIAogICAgIC8v
IElmIHdlIGdvdCBhIDR4eCByZXNwb25zZSwgd2UncmUgcHJldGVuZGluZyB0byBoYXZlIHJlY2Vp
dmVkIGEgbmV0d29yawogICAgIC8vIGVycm9yLCBzbyB3ZSBjYW4ndCBzZW5kIHRoZSBzdWNjZXNz
ZnVsIGRhdGEoKSBhbmQgZmluaXNoKCkgY2FsbGJhY2tzLgogICAgIGlmICghbV9yZXNvdXJjZS0+
ZXJyb3JPY2N1cnJlZCgpKSB7Ci0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWRG
aW5pc2hpbmcoKTsKKyAgICAgICAgbm90aWZ5TG9hZEZpbmlzaGluZygpOwogICAgICAgICBtX3Jl
c291cmNlLT5kYXRhKGxvYWRlci0+cmVzb3VyY2VEYXRhKCksIHRydWUpOwogICAgICAgICBpZiAo
IW1fcmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSkKICAgICAgICAgICAgIG1fcmVzb3VyY2UtPmZp
bmlzaCgpOwogICAgIH0KLSAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5sb2FkRG9uZSh0aGlz
KTsKKworICAgIG5vdGlmeUxvYWREb25lKCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0OjpkaWRGYWlsKFN1YnJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpCkBA
IC0xODIsNyArMjE2LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZEZhaWwoYm9v
bCBjYW5jZWxsZWQpCiAgICAgLy8gdGhlIGNhY2hlZFJlc291cmNlTG9hZGVyIHRoYXQgaXQgd2ls
bCBkZWxldGUgd2hlbiB0aGUgZG9jdW1lbnQgZ2V0cyBkZWxldGVkLgogICAgIFJlZlB0cjxEb2N1
bWVudD4gcHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkpOwogICAg
IGlmICghbV9tdWx0aXBhcnQpCi0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRlY3Jl
bWVudFJlcXVlc3RDb3VudChtX3Jlc291cmNlKTsKKyAgICAgICAgZGVjcmVtZW50TG9hZGVyUmVx
dWVzdENvdW50cygpOwogICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKICAgICBtX2xvYWRlci0+Y2xl
YXJDbGllbnQoKTsKIApAQCAtMTkwLDE0ICsyMjQsMTQgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6OmRpZEZhaWwoYm9vbCBjYW5jZWxsZWQpCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJl
dmFsaWRhdGlvbkZhaWxlZChtX3Jlc291cmNlKTsKIAogICAgIGlmICghY2FuY2VsbGVkKSB7Ci0g
ICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWRGaW5pc2hpbmcoKTsKKyAgICAgICAg
bm90aWZ5TG9hZEZpbmlzaGluZygpOwogICAgICAgICBtX3Jlc291cmNlLT5lcnJvcihDYWNoZWRS
ZXNvdXJjZTo6TG9hZEVycm9yKTsKICAgICB9CiAKICAgICBpZiAoY2FuY2VsbGVkIHx8ICFtX3Jl
c291cmNlLT5pc1ByZWxvYWRlZCgpKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUobV9y
ZXNvdXJjZSk7CiAgICAgCi0gICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERvbmUodGhp
cyk7CisgICAgbm90aWZ5TG9hZERvbmUoKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OmRpZFJlY2VpdmVSZXNwb25zZShTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKQEAgLTIwOCw3ICsyNDIsNyBAQCB2b2lkIENhY2hl
ZFJlc291cmNlUmVxdWVzdDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFN1YnJlc291cmNlTG9hZGVyKiBs
b2FkZXIsIGNvbnN0CiAgICAgICAgICAgICAvLyAzMDQgTm90IG1vZGlmaWVkIC8gVXNlIGxvY2Fs
IGNvcHkKICAgICAgICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKICAgICAgICAgICAgIFJl
ZlB0cjxEb2N1bWVudD4gcHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50
KCkpOwotICAgICAgICAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZGVjcmVtZW50UmVxdWVz
dENvdW50KG1fcmVzb3VyY2UpOworICAgICAgICAgICAgZGVjcmVtZW50TG9hZGVyUmVxdWVzdENv
dW50cygpOwogICAgICAgICAgICAgbV9maW5pc2hpbmcgPSB0cnVlOwogCiAgICAgICAgICAgICAv
LyBFeGlzdGluZyByZXNvdXJjZSBpcyBvaywganVzdCB1c2UgaXQgdXBkYXRpbmcgdGhlIGV4cGly
YXRpb24gdGltZS4KQEAgLTIxNyw3ICsyNTEsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVz
dDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFN1YnJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0CiAg
ICAgICAgICAgICBpZiAobV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZnJhbWUoKSkKICAgICAgICAg
ICAgICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5mcmFtZSgpLT5sb2FkZXIoKS0+Y2hlY2tD
b21wbGV0ZWQoKTsKIAotICAgICAgICAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERv
bmUodGhpcyk7CisgICAgICAgICAgICBub3RpZnlMb2FkRG9uZSgpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9IAogICAgICAgICAvLyBEaWQgbm90IGdldCAzMDQgcmVzcG9uc2UsIGNv
bnRpbnVlIGFzIGEgcmVndWxhciByZXNvdXJjZSBsb2FkLgpAQCAtMjM5LDcgKzI3Myw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZlUmVzcG9uc2UoU3VicmVzb3VyY2VM
b2FkZXIqIGxvYWRlciwgY29uc3QKICAgICAgICAgbV9tdWx0aXBhcnQgPSB0cnVlOwogICAgICAg
ICAKICAgICAgICAgLy8gV2UgZG9uJ3QgY291bnQgbXVsdGlQYXJ0cyBpbiBhIENhY2hlZFJlc291
cmNlTG9hZGVyJ3MgcmVxdWVzdCBjb3VudAotICAgICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVy
LT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQobV9yZXNvdXJjZSk7CisgICAgICAgIGRlY3JlbWVudExv
YWRlclJlcXVlc3RDb3VudHMoKTsKIAogICAgICAgICAvLyBJZiB3ZSBnZXQgYSBtdWx0aXBhcnQg
cmVzcG9uc2UsIHdlIG11c3QgaGF2ZSBhIGhhbmRsZQogICAgICAgICBBU1NFUlQobG9hZGVyLT5o
YW5kbGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmgKaW5kZXggY2Y3OTFmYS4uZTcyMmExZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuaApAQCAtNDMsNiAr
NDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRSZXNvdXJj
ZUxvYWRlcjsgfQogCisgICAgICAgIHZvaWQgYWRkUGFzc2l2ZUNhY2hlZFJlc291cmNlTG9hZGVy
KENhY2hlZFJlc291cmNlTG9hZGVyKik7CisKICAgICBwcml2YXRlOgogICAgICAgICBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJv
b2wgaW5jcmVtZW50YWwpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFN1
YnJlc291cmNlTG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYpOwpAQCAtNTIsNyArNTQsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTdWJyZXNvdXJjZUxvYWRlciosIGRvdWJsZSk7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFN1YnJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVz
b3VyY2VFcnJvciYpOwogCisgICAgICAgIHZvaWQgZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50
cygpOworICAgICAgICB2b2lkIG5vdGlmeUxvYWRGaW5pc2hpbmcoKTsKKyAgICAgICAgdm9pZCBu
b3RpZnlMb2FkRG9uZSgpOworCiAgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gbV9s
b2FkZXI7CisgICAgICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJjZUxvYWRlcio+IG1fcGFzc2l2ZUNh
Y2hlZFJlc291cmNlTG9hZGVyczsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1fY2Fj
aGVkUmVzb3VyY2VMb2FkZXI7CiAgICAgICAgIENhY2hlZFJlc291cmNlKiBtX3Jlc291cmNlOwog
ICAgICAgICBib29sIG1faW5jcmVtZW50YWw7Cg==
</data>
<flag name="review"
          id="75871"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83981</attachid>
            <date>2011-02-27 11:04:59 -0800</date>
            <delta_ts>2011-02-28 05:53:53 -0800</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>bug-18762-v2.diff</filename>
            <type>text/plain</type>
            <size>12676</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOWYyZWVhLi40YTAwMmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDIt
MjcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdpbmRvdy5vbmxvYWQgaXMgZmlyaW5nIGJl
Zm9yZSBpbWFnZSByZXNvdXJjZXMgYXJlIGxvYWRlZAorICAgICAgICAoaWYgbG9hZGluZyBpbiBt
dWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZSkKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NjIKKworICAgICAgICBBZGQgYSB0ZXN0IHdpdGggdHdv
IGlmcmFtZXMgdGhhdCByZXF1ZXN0IHRoZSBzYW1lIGltYWdlLgorICAgICAgICBOZWl0aGVyIGlm
cmFtZSBzaG91bGQgaGF2ZSBpdHMgbG9hZCBldmVudCBmaXJlIHVudGlsIGFmdGVyIHRoZQorICAg
ICAgICBpbWFnZSBpcyBhdmFpbGFibGUuCisKKyAgICAgICAgKiBsb2FkZXIvaWZyYW1lLW9ubG9h
ZC13aXRoLXNoYXJlZC1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBs
b2FkZXIvaWZyYW1lLW9ubG9hZC13aXRoLXNoYXJlZC1yZXNvdXJjZXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogbG9hZGVyL3Jlc291cmNlcy9wYWdlLXdpdGgtaW1hZ2UuaHRtbDogQWRkZWQuCisK
IDIwMTEtMDItMjcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBXaW5kb3dzLXNwZWNpZmljIGh0bWw1bGliIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2xvYWRlci9pZnJhbWUtb25sb2FkLXdpdGgtc2hhcmVkLXJlc291cmNlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9sb2FkZXIvaWZyYW1lLW9ubG9hZC13aXRoLXNoYXJlZC1yZXNv
dXJjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdl
ZjIyZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9sb2FkZXIvaWZyYW1lLW9ubG9h
ZC13aXRoLXNoYXJlZC1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2xvYWRlci9pZnJhbWUtb25sb2FkLXdpdGgtc2hhcmVk
LXJlc291cmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvbG9hZGVyL2lmcmFtZS1vbmxvYWQtd2l0aC1z
aGFyZWQtcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
N2NmN2NkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2xvYWRlci9pZnJhbWUtb25s
b2FkLXdpdGgtc2hhcmVkLXJlc291cmNlcy5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgordmFyIG5jb21wbGV0ZSA9IDA7CitmdW5jdGlvbiBjaGVja0NvbXBs
ZXRlKCkKK3sKKyAgICBpZiAoKytuY29tcGxldGUgIT0gMikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgdmFyIGYxdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmMScpLmNvbnRlbnREb2N1
bWVudC5ib2R5LmlubmVyVGV4dDsKKyAgICB2YXIgZjJ0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2YyJykuY29udGVudERvY3VtZW50LmJvZHkuaW5uZXJUZXh0OworCisgICAgaWYgKGYx
dGV4dCA9PSAnMjUnICYmIGYydGV4dCA9PSAnMjUnKQorICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnb3V0JykuaW5uZXJIVE1MID0gJ1BBU1MnOworICAgIGVsc2UKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dCcpLmlubmVySFRNTCA9ICdGQUlMJzsKK30KKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ib3V0Ij48
L2Rpdj4KKzxpZnJhbWUgc3R5bGU9ImRpc3BsYXk6IG5vbmUiIGlkPSJmMSIgc3JjPSJyZXNvdXJj
ZXMvcGFnZS13aXRoLWltYWdlLmh0bWwiIG9ubG9hZD0iY2hlY2tDb21wbGV0ZSgpIj48L2lmcmFt
ZT4KKzxpZnJhbWUgc3R5bGU9ImRpc3BsYXk6IG5vbmUiIGlkPSJmMiIgc3JjPSJyZXNvdXJjZXMv
cGFnZS13aXRoLWltYWdlLmh0bWwiIG9ubG9hZD0iY2hlY2tDb21wbGV0ZSgpIj48L2lmcmFtZT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2xvYWRlci9yZXNvdXJj
ZXMvcGFnZS13aXRoLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9sb2FkZXIvcmVzb3VyY2VzL3Bh
Z2Utd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2
MWE3NzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9sb2FkZXIvcmVzb3VyY2VzL3Bh
Z2Utd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsMyBAQAorPGJvZHkgb25sb2FkPSJkb2N1bWVu
dC53cml0ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpLndpZHRoKSI+Cis8aW1nIGlkPSJp
IiBzcmM9ImltYWdlMS5wbmciLz4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDRlYzE1Li40OGQ3
ZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEgQEAKIDIwMTEtMDItMjcgIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdpbmRvdy5vbmxvYWQgaXMgZmlyaW5nIGJlZm9yZSBpbWFnZSByZXNv
dXJjZXMgYXJlIGxvYWRlZAorICAgICAgICAoaWYgbG9hZGluZyBpbiBtdWx0aXBsZSBkb2N1bWVu
dHMgYXQgb25jZSkKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg3NjIKKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJl
c291cmNlKToKKyAgICAgICAgV2hlbiB0aGUgcmV2YWxpZGF0aW9uIHBvbGljeSBpcyAiVXNlIiwg
YWRkIHNlbGYgYXMgYSBwYXNzaXZlIGxvYWRlciBmb3IKKyAgICAgICAgdGhlIENhY2hlZFJlc291
cmNlUmVxdWVzdCBhbmQgYnVtcCB0aGUgcmVxdWVzdCBjb3VudC4KKyAgICAgICAgVGhlIGNvdW50
IGxhdGVyIGdldHMgZGVjcmVtZW50ZWQgYnkgQ1JSOjpkZWNyZW1lbnRMb2FkZXJSZXF1ZXN0Q291
bnRzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmFkZFBhc3NpdmVDYWNo
ZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIEFkZGVkLCByZWdpc3RlcnMgc2Vjb25kYXJ5IENh
Y2hlZFJlc291cmNlTG9hZGVyKHMpIGZvciBub3RpZmljYXRpb25zCisgICAgICAgIGZyb20gdGhl
IHJlcXVlc3QuCisKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGVj
cmVtZW50TG9hZGVyUmVxdWVzdENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZVJlcXVlc3Q6Om5vdGlmeUxvYWRGaW5pc2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0Ojpub3RpZnlMb2FkRG9uZSk6CisgICAgICAgIEFkZGVkIGNvbnZl
bmllbmNlIG1ldGhvZHMsIHRoZXkgcGVyZm9ybSB0aGUgbmFtZWQgYWN0aW9uIG9uIHRoZQorICAg
ICAgICBhY3RpdmUgbG9hZGVyIGFuZCBhbGwgcmVnaXN0ZXJlZCBwYXNzaXZlIGxvYWRlcnMuCisK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZEZhaWwpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZlUmVzcG9u
c2UpOgorICAgICAgICBDYWxsIHRoZSBjb252ZW5pZW5jZSBtZXRob2RzIG1lbnRpb25lZCBhYm92
ZS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmNhY2hlZFJlc291cmNlUmVxdWVzdCk6CisgICAgICAg
IEFkZGVkLCByZXR1cm5zIHRoZSByZXNvdXJjZSdzIENhY2hlZFJlc291cmNlUmVxdWVzdCouCisg
ICAgICAgIFRoaXMgaXMgdXNlZCBieSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291
cmNlKCkuCisKKzIwMTEtMDItMjcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgor
CiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgogCiAgICAg
ICAgIFtRdF0gVXNlIFdURiByZWYgY291bnRpbmcgZm9yIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDMz
NzlmOGMuLjY2NDg5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCkBAIC0yMTYsNiArMjE2LDggQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJSZXNv
dXJjZVRvUmV2YWxpZGF0ZSgpOwogICAgIHZvaWQgdXBkYXRlUmVzcG9uc2VBZnRlclJldmFsaWRh
dGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiB2YWxpZGF0aW5nUmVzcG9uc2UpOwogCisgICAg
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0KiBjYWNoZWRSZXNvdXJjZVJlcXVlc3QoKSBjb25zdCB7IHJl
dHVybiBtX3JlcXVlc3Q7IH0KKwogcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0RW5jb2RlZFNpemUo
dW5zaWduZWQpOwogICAgIHZvaWQgc2V0RGVjb2RlZFNpemUodW5zaWduZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggOTQ0NTQ1MS4uZDliMWViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMTcsMTEgKzMxNywxNyBAQCBDYWNo
ZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZTo6VHlwZSB0eXBlLAogICAgIGNhc2UgUmV2YWxpZGF0ZToKICAgICAgICAgcmVzb3Vy
Y2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2UsIHByaW9yaXR5KTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBVc2U6CisgICAgY2FzZSBVc2U6IHsKKyAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0KiBhY3RpdmVSZXF1ZXN0ID0gcmVzb3VyY2UtPmNhY2hlZFJlc291cmNlUmVxdWVz
dCgpOworICAgICAgICBpZiAoYWN0aXZlUmVxdWVzdCAmJiBhY3RpdmVSZXF1ZXN0LT5jYWNoZWRS
ZXNvdXJjZUxvYWRlcigpICE9IHRoaXMpIHsKKyAgICAgICAgICAgIGFjdGl2ZVJlcXVlc3QtPmFk
ZFBhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcih0aGlzKTsKKyAgICAgICAgICAgIGluY3JlbWVu
dFJlcXVlc3RDb3VudChyZXNvdXJjZSk7CisgICAgICAgIH0KICAgICAgICAgbWVtb3J5Q2FjaGUo
KS0+cmVzb3VyY2VBY2Nlc3NlZChyZXNvdXJjZSk7CiAgICAgICAgIG5vdGlmeUxvYWRlZEZyb21N
ZW1vcnlDYWNoZShyZXNvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICB9CiAKICAg
ICBpZiAoIXJlc291cmNlKQogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5kZXggMDJjZjEz
ZS4uNjMyY2FkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKIHN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVk
UmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCkBAIC04
MCw2ICs4MSwzOCBAQCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6On5DYWNoZWRSZXNvdXJjZVJlcXVl
c3QoKQogICAgIG1fcmVzb3VyY2UtPnNldFJlcXVlc3QoMCk7CiB9CiAKK3ZvaWQgQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0OjphZGRQYXNzaXZlQ2FjaGVkUmVzb3VyY2VMb2FkZXIoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKQoreworICAgIG1fcGFzc2l2ZUNhY2hlZFJl
c291cmNlTG9hZGVycy5hcHBlbmQoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOworfQorCit2b2lkIENh
Y2hlZFJlc291cmNlUmVxdWVzdDo6ZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50cygpCit7Cisg
ICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZGVjcmVtZW50UmVxdWVzdENvdW50KG1fcmVzb3Vy
Y2UpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3Bhc3NpdmVDYWNoZWRSZXNvdXJj
ZUxvYWRlcnMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fcGFzc2l2ZUNhY2hlZFJlc291cmNlTG9h
ZGVyc1tpXS0+ZGVjcmVtZW50UmVxdWVzdENvdW50KG1fcmVzb3VyY2UpOworfQorCit2b2lkIENh
Y2hlZFJlc291cmNlUmVxdWVzdDo6bm90aWZ5TG9hZEZpbmlzaGluZygpCit7CisgICAgbV9jYWNo
ZWRSZXNvdXJjZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOworCisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtX3Bhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcnMuc2l6ZSgpOyArK2kpCisgICAg
ICAgIG1fcGFzc2l2ZUNhY2hlZFJlc291cmNlTG9hZGVyc1tpXS0+bG9hZEZpbmlzaGluZygpOwor
fQorCit2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6bm90aWZ5TG9hZERvbmUoKQoreworICAg
IC8vIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSgpIG1heSBlbmQgdXAgZGVsZXRpbmcg
dGhpcyByZXF1ZXN0LgorICAgIFJlZlB0cjxDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IHByb3RlY3Qo
dGhpcyk7CisKKyAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5sb2FkRG9uZSh0aGlzKTsKKwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wYXNzaXZlQ2FjaGVkUmVzb3VyY2VMb2FkZXJz
LnNpemUoKTsgKytpKQorICAgICAgICBtX3Bhc3NpdmVDYWNoZWRSZXNvdXJjZUxvYWRlcnNbaV0t
PmxvYWREb25lKHRoaXMpOworfQorCiBQYXNzUmVmUHRyPENhY2hlZFJlc291cmNlUmVxdWVzdD4g
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRS
ZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29sIGluY3JlbWVudGFs
LCBTZWN1cml0eUNoZWNrUG9saWN5IHNlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9h
ZENhbGxiYWNrcykKIHsKICAgICBSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PiByZXF1ZXN0
ID0gYWRvcHRSZWYobmV3IENhY2hlZFJlc291cmNlUmVxdWVzdChjYWNoZWRSZXNvdXJjZUxvYWRl
ciwgcmVzb3VyY2UsIGluY3JlbWVudGFsKSk7CkBAIC0xNTAsMTggKzE4MywxOSBAQCB2b2lkIENh
Y2hlZFJlc291cmNlUmVxdWVzdDo6ZGlkRmluaXNoTG9hZGluZyhTdWJyZXNvdXJjZUxvYWRlciog
bG9hZGVyLCBkb3VibGUpCiAgICAgLy8gdGhlIGNhY2hlZFJlc291cmNlTG9hZGVyIHRoYXQgaXQg
d2lsbCBkZWxldGUgd2hlbiB0aGUgZG9jdW1lbnQgZ2V0cyBkZWxldGVkLgogICAgIFJlZlB0cjxE
b2N1bWVudD4gcHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkpOwog
ICAgIGlmICghbV9tdWx0aXBhcnQpCi0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRl
Y3JlbWVudFJlcXVlc3RDb3VudChtX3Jlc291cmNlKTsKKyAgICAgICAgZGVjcmVtZW50TG9hZGVy
UmVxdWVzdENvdW50cygpOwogICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKIAogICAgIC8vIElmIHdl
IGdvdCBhIDR4eCByZXNwb25zZSwgd2UncmUgcHJldGVuZGluZyB0byBoYXZlIHJlY2VpdmVkIGEg
bmV0d29yawogICAgIC8vIGVycm9yLCBzbyB3ZSBjYW4ndCBzZW5kIHRoZSBzdWNjZXNzZnVsIGRh
dGEoKSBhbmQgZmluaXNoKCkgY2FsbGJhY2tzLgogICAgIGlmICghbV9yZXNvdXJjZS0+ZXJyb3JP
Y2N1cnJlZCgpKSB7Ci0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWRGaW5pc2hp
bmcoKTsKKyAgICAgICAgbm90aWZ5TG9hZEZpbmlzaGluZygpOwogICAgICAgICBtX3Jlc291cmNl
LT5kYXRhKGxvYWRlci0+cmVzb3VyY2VEYXRhKCksIHRydWUpOwogICAgICAgICBpZiAoIW1fcmVz
b3VyY2UtPmVycm9yT2NjdXJyZWQoKSkKICAgICAgICAgICAgIG1fcmVzb3VyY2UtPmZpbmlzaCgp
OwogICAgIH0KLSAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5sb2FkRG9uZSh0aGlzKTsKKwor
ICAgIG5vdGlmeUxvYWREb25lKCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpk
aWRGYWlsKFN1YnJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpCkBAIC0xODIs
NyArMjE2LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZEZhaWwoYm9vbCBjYW5j
ZWxsZWQpCiAgICAgLy8gdGhlIGNhY2hlZFJlc291cmNlTG9hZGVyIHRoYXQgaXQgd2lsbCBkZWxl
dGUgd2hlbiB0aGUgZG9jdW1lbnQgZ2V0cyBkZWxldGVkLgogICAgIFJlZlB0cjxEb2N1bWVudD4g
cHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkpOwogICAgIGlmICgh
bV9tdWx0aXBhcnQpCi0gICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRlY3JlbWVudFJl
cXVlc3RDb3VudChtX3Jlc291cmNlKTsKKyAgICAgICAgZGVjcmVtZW50TG9hZGVyUmVxdWVzdENv
dW50cygpOwogICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKICAgICBtX2xvYWRlci0+Y2xlYXJDbGll
bnQoKTsKIApAQCAtMTkwLDE0ICsyMjQsMTQgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6
OmRpZEZhaWwoYm9vbCBjYW5jZWxsZWQpCiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRh
dGlvbkZhaWxlZChtX3Jlc291cmNlKTsKIAogICAgIGlmICghY2FuY2VsbGVkKSB7Ci0gICAgICAg
IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWRGaW5pc2hpbmcoKTsKKyAgICAgICAgbm90aWZ5
TG9hZEZpbmlzaGluZygpOwogICAgICAgICBtX3Jlc291cmNlLT5lcnJvcihDYWNoZWRSZXNvdXJj
ZTo6TG9hZEVycm9yKTsKICAgICB9CiAKICAgICBpZiAoY2FuY2VsbGVkIHx8ICFtX3Jlc291cmNl
LT5pc1ByZWxvYWRlZCgpKQogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUobV9yZXNvdXJj
ZSk7CiAgICAgCi0gICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERvbmUodGhpcyk7Cisg
ICAgbm90aWZ5TG9hZERvbmUoKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRp
ZFJlY2VpdmVSZXNwb25zZShTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKQEAgLTIwOCw3ICsyNDIsNyBAQCB2b2lkIENhY2hlZFJlc291
cmNlUmVxdWVzdDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFN1YnJlc291cmNlTG9hZGVyKiBsb2FkZXIs
IGNvbnN0CiAgICAgICAgICAgICAvLyAzMDQgTm90IG1vZGlmaWVkIC8gVXNlIGxvY2FsIGNvcHkK
ICAgICAgICAgICAgIGxvYWRlci0+Y2xlYXJDbGllbnQoKTsKICAgICAgICAgICAgIFJlZlB0cjxE
b2N1bWVudD4gcHJvdGVjdG9yKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvY3VtZW50KCkpOwot
ICAgICAgICAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZGVjcmVtZW50UmVxdWVzdENvdW50
KG1fcmVzb3VyY2UpOworICAgICAgICAgICAgZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50cygp
OwogICAgICAgICAgICAgbV9maW5pc2hpbmcgPSB0cnVlOwogCiAgICAgICAgICAgICAvLyBFeGlz
dGluZyByZXNvdXJjZSBpcyBvaywganVzdCB1c2UgaXQgdXBkYXRpbmcgdGhlIGV4cGlyYXRpb24g
dGltZS4KQEAgLTIxNyw3ICsyNTEsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKFN1YnJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0CiAgICAgICAg
ICAgICBpZiAobV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+ZnJhbWUoKSkKICAgICAgICAgICAgICAg
ICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5mcmFtZSgpLT5sb2FkZXIoKS0+Y2hlY2tDb21wbGV0
ZWQoKTsKIAotICAgICAgICAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERvbmUodGhp
cyk7CisgICAgICAgICAgICBub3RpZnlMb2FkRG9uZSgpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9IAogICAgICAgICAvLyBEaWQgbm90IGdldCAzMDQgcmVzcG9uc2UsIGNvbnRpbnVl
IGFzIGEgcmVndWxhciByZXNvdXJjZSBsb2FkLgpAQCAtMjM5LDcgKzI3Myw3IEBAIHZvaWQgQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZlUmVzcG9uc2UoU3VicmVzb3VyY2VMb2FkZXIq
IGxvYWRlciwgY29uc3QKICAgICAgICAgbV9tdWx0aXBhcnQgPSB0cnVlOwogICAgICAgICAKICAg
ICAgICAgLy8gV2UgZG9uJ3QgY291bnQgbXVsdGlQYXJ0cyBpbiBhIENhY2hlZFJlc291cmNlTG9h
ZGVyJ3MgcmVxdWVzdCBjb3VudAotICAgICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5kZWNy
ZW1lbnRSZXF1ZXN0Q291bnQobV9yZXNvdXJjZSk7CisgICAgICAgIGRlY3JlbWVudExvYWRlclJl
cXVlc3RDb3VudHMoKTsKIAogICAgICAgICAvLyBJZiB3ZSBnZXQgYSBtdWx0aXBhcnQgcmVzcG9u
c2UsIHdlIG11c3QgaGF2ZSBhIGhhbmRsZQogICAgICAgICBBU1NFUlQobG9hZGVyLT5oYW5kbGUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0LmgKaW5kZXggY2Y3OTFmYS4uZTcyMmExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuaApAQCAtNDMsNiArNDMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNh
Y2hlZFJlc291cmNlTG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRSZXNvdXJjZUxvYWRl
cjsgfQogCisgICAgICAgIHZvaWQgYWRkUGFzc2l2ZUNhY2hlZFJlc291cmNlTG9hZGVyKENhY2hl
ZFJlc291cmNlTG9hZGVyKik7CisKICAgICBwcml2YXRlOgogICAgICAgICBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5j
cmVtZW50YWwpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFN1YnJlc291
cmNlTG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwpA
QCAtNTIsNyArNTQsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmluaXNoTG9hZGluZyhTdWJyZXNvdXJjZUxvYWRlciosIGRvdWJsZSk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRGYWlsKFN1YnJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOwogCisgICAgICAgIHZvaWQgZGVjcmVtZW50TG9hZGVyUmVxdWVzdENvdW50cygpOwor
ICAgICAgICB2b2lkIG5vdGlmeUxvYWRGaW5pc2hpbmcoKTsKKyAgICAgICAgdm9pZCBub3RpZnlM
b2FkRG9uZSgpOworCiAgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gbV9sb2FkZXI7
CisgICAgICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJjZUxvYWRlcio+IG1fcGFzc2l2ZUNhY2hlZFJl
c291cmNlTG9hZGVyczsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1fY2FjaGVkUmVz
b3VyY2VMb2FkZXI7CiAgICAgICAgIENhY2hlZFJlc291cmNlKiBtX3Jlc291cmNlOwogICAgICAg
ICBib29sIG1faW5jcmVtZW50YWw7Cg==
</data>
<flag name="review"
          id="75897"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>