<?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>42953</bug_id>
          
          <creation_ts>2010-07-25 20:29:52 -0700</creation_ts>
          <short_desc>SVG gradients do not update when scripted via xlink</short_desc>
          <delta_ts>2010-08-01 02:51:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="mg">griffin_m82</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>krit</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255871</commentid>
    <comment_count>0</comment_count>
      <attachid>62536</attachid>
    <who name="mg">griffin_m82</who>
    <bug_when>2010-07-25 20:29:52 -0700</bug_when>
    <thetext>Created attachment 62536
Simple test case showing bug.

The scenario is:
1) A linear gradient is defined in a def.
2) That gradient is referenced by another def (via url).
4) That second def is used for the fill via url (e.g. fill=&quot;url(#xlinkedgradient)&quot; ).
4) The original gradient stops are then modified via Javascript.

The result is the fill in the SVG element does not update on the screen unless the update is somehow &quot;forced&quot; (e.g. by hiding and then showing the element). Note that this is unrelated to other reports involving &quot;use&quot; or external SVG. There is no &quot;use&quot; or external elements involved. This is all in a single SVG file. 

This works in some Webkit browsers but not others:

1) Does NOT work with Safari 5.0 (7533.16) on MS Windows XP.
2) Does NOT work with Chromium 6.0.453.0 (51332) Built on Ubuntu 9.04, running on Ubuntu 10.04.
3) Does NOT work with Midori 0.2.2  WebKitGTK+ 1.1.21.
4) Does NOT work with Epiphany Web Browser 2.30.2. (Viewing the &quot;about&quot; window or reducing the window to the task bar and then restoring it rather interestingly however gives Webkit enough of a kick to force a single screen update each time). 

5) DOES work OK on with Chrome Chrome 5.0.375.99 on MS Windows XP.


Where the situation involving gradients arises is when manipulating a drawing using Inkscape (and possibly other drawing editors as well). The drawing editor will in many situations replace the direct url reference to the gradient fill with an indirect one using xlink (it does this when adding more properties). Applications involve creating drawings using Inkscape and then manipulating them using Javascript. This is typical in applications where you want to use SVG as a replacement for something traditionally done with Flash, Java, or ActiveX. Doing large drawings by hand is impractical, so a drawing editor (such as Inkscape) must be used. I have a software project where this bug was showing up in the standard demo. I have patched the demo by hand, but the problem still exists for people attempting to create their own applications.

This feature works fine (and has always worked fine) in all versions of Firefox or Opera that I&apos;ve tested. The problem seems to exist in Webkit only. At present I can tell affected users to use one of those browsers until this bug is sorted out. 

Note that the problem appears present in *most* Webkit browsers, but at in least one version it does not (see above). The problem *seems* to have come and gone and then returned from time to time with different versions, although I can&apos;t give any details on that since I only recently tracked down what was actually going on. 

The attached file illustrates the problem in a simplified form (I created the SVG by hand for this example). It shows three polygons. The left two polygons show a fill property which gives the appearance of a level of liquid alternately filling and lowering in column gauges. The right polygon references the gradient via xlink, and does not update (although it can be forced to update if you can force the screen to redraw).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255903</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-25 22:43:28 -0700</bug_when>
    <thetext>Second gradient doesn&apos;t get invalidated on the change of the first, referenced, gradient changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256399</commentid>
    <comment_count>2</comment_count>
    <who name="Radek Pietruszewski">radexpl</who>
    <bug_when>2010-07-26 23:20:02 -0700</bug_when>
    <thetext>I guess that&apos;s the same bug as bug 42944 - with the difference that I was talking about SVG backgrounds, not standalone SVGs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256408</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-26 23:47:26 -0700</bug_when>
    <thetext>Wonderful testcase and investigation, it&apos;s highly appreciated!
We&apos;re going to look into this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256410</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-26 23:52:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I guess that&apos;s the same bug as bug 42944 - with the difference that I was talking about SVG backgrounds, not standalone SVGs.

No, they are unrelated even if they seem to share the same problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258081</commentid>
    <comment_count>5</comment_count>
      <attachid>63033</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-30 00:22:59 -0700</bug_when>
    <thetext>Created attachment 63033
Even more reduced testcase

Bug is valid, can fix this now with the new SVGResourcesCache approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258196</commentid>
    <comment_count>6</comment_count>
      <attachid>63059</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-30 07:59:20 -0700</bug_when>
    <thetext>Created attachment 63059
Patch

Included slightly modified variant of the testcase within the LayoutTests. Bug is finally fixed :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258207</commentid>
    <comment_count>7</comment_count>
      <attachid>63062</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-30 08:31:44 -0700</bug_when>
    <thetext>Created attachment 63062
Updated patch

Oops, left in some debugging code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258630</commentid>
    <comment_count>8</comment_count>
      <attachid>63062</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-31 12:50:03 -0700</bug_when>
    <thetext>Comment on attachment 63062
Updated patch

great patch. We should start to document resources somehow. :-) r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258677</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-08-01 02:51:20 -0700</bug_when>
    <thetext>Landed in r64440. Check out your testcase with a nightly!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>62536</attachid>
            <date>2010-07-25 20:29:52 -0700</date>
            <delta_ts>2010-07-30 07:59:20 -0700</delta_ts>
            <desc>Simple test case showing bug.</desc>
            <filename>gradientbug.svg</filename>
            <type>image/svg+xml</type>
            <size>4208</size>
            <attacher name="mg">griffin_m82</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxz
dmcKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjAiCiAgIHdpZHRoPSIxMDAw
IgogICBoZWlnaHQ9IjEwMDAiCiAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIgogICBvbmxvYWQ9InN0YXJ0dXAoZXZ0KSI+CgoJPCEtLSBUaGlzIG9uZSB3b3JrcyBm
aW5lLiAtLT4KCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwMCwyMDApIj4KCQk8ZGVmcz4KCQkJ
PCEtLSBUaGlzIGdyYWRpZW50IGNvbnRyb2xzIHRoZSB0YW5rIGZpbGwuIENoYW5nZSB0aGUgY29s
b3VycyBoZXJlIHRvCgkJCQljaGFuZ2UgdGhlIGNvbG91ciBvZiB0aGUgZmlsbCBpbmRpY2F0b3Ig
Y29sdW1uLiAtLT4KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJNQl9UYW5rRmlsbEJsdWVfMCIgeDE9
IjAiIHkxPSIxIiB4Mj0iMCIgeTI9IjAiPgoJCQkJPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xv
cj0iYmx1ZSIgLz4KCQkJCTxzdG9wIGlkPSJNQl9URmlsbEJsdWUwQSIgb2Zmc2V0PSIxMCUiIHN0
b3AtY29sb3I9ImJsdWUiIC8+CgkJCQk8c3RvcCBpZD0iTUJfVEZpbGxCbHVlMEIiIG9mZnNldD0i
OTAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgLz4KCQkJCTxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1j
b2xvcj0id2hpdGUiIC8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJPC9kZWZzPgoKCQk8IS0tIFRo
aXMgaXMgdGhlIGFjdHVhbCB0YW5rIGNvbHVtbi4gLS0+CgkJPHBvbHlnb24gc3Ryb2tlPSJibGFj
ayIgc3Ryb2tlLXdpZHRoPSIyIiAgZmlsbD0idXJsKCNNQl9UYW5rRmlsbEJsdWVfMCkiIAoJCQlw
b2ludHM9IjAsMCAxMCw1MCAwLDg3IDEwLDEyNSAwLDE1MCA1LDE4NyAwLDIwNSAxMiwyMjUKCQkJ
MzcsMjI1IDUwLDIwMCAzNywxNjIgNTAsMTM3IDM3LDg3IDUwLDYyIDM3LDMyIDUwLDAgMCwwIiAv
PgoKCTwvZz4KCgk8IS0tIFRoaXMgb25lIGFsc28gd29ya3MgZmluZS4gLS0+Cgk8ZyB0cmFuc2Zv
cm09InRyYW5zbGF0ZSgzMDAsMjAwKSI+CgkJPGRlZnM+CgkJCTwhLS0gVGhpcyBncmFkaWVudCBj
b250cm9scyB0aGUgdGFuayBmaWxsLiBDaGFuZ2UgdGhlIGNvbG91cnMgaGVyZSB0bwoJCQkJY2hh
bmdlIHRoZSBjb2xvdXIgb2YgdGhlIGZpbGwgaW5kaWNhdG9yIGNvbHVtbi4gLS0+CgkJCTxsaW5l
YXJHcmFkaWVudCBpZD0iTUJfVGFua0ZpbGxCbHVlXzEiIHgxPSIwIiB5MT0iMSIgeDI9IjAiIHky
PSIwIj4KCQkJCTxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9ImJsdWUiIC8+CgkJCQk8c3Rv
cCBpZD0iTUJfVEZpbGxCbHVlMUEiIG9mZnNldD0iMTAlIiBzdG9wLWNvbG9yPSJibHVlIiAvPgoJ
CQkJPHN0b3AgaWQ9Ik1CX1RGaWxsQmx1ZTFCIiBvZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0id2hp
dGUiIC8+CgkJCQk8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IndoaXRlIiAvPgoJCQk8
L2xpbmVhckdyYWRpZW50PgoJCTwvZGVmcz4KCgkJPCEtLSBUaGlzIGlzIHRoZSBhY3R1YWwgdGFu
ayBjb2x1bW4uIC0tPgoJCTxwb2x5Z29uIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIg
IGZpbGw9InVybCgjTUJfVGFua0ZpbGxCbHVlXzEpIiAKCQkJcG9pbnRzPSIwLDAgMTAsNTAgMCw4
NyAxMCwxMjUgMCwxNTAgNSwxODcgMCwyMDUgMTIsMjI1CgkJCTM3LDIyNSA1MCwyMDAgMzcsMTYy
IDUwLDEzNyAzNyw4NyA1MCw2MiAzNywzMiA1MCwwIDAsMCIgLz4KCgk8L2c+CgoJPCEtLSBUaGlz
IG9uZSB3b3JrcyBvbiBGaXJlZm94IGFuZCBPcGVyYSwgYnV0IG5vdCBvbiBzb21lIHZlcnNpb25z
IG9mIFdlYmtpdC4gLS0+Cgk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MDAsMjAwKSI+CgkJPGRl
ZnM+CgkJCTwhLS0gVGhpcyBncmFkaWVudCBjb250cm9scyB0aGUgdGFuayBmaWxsLiBDaGFuZ2Ug
dGhlIGNvbG91cnMgaGVyZSB0bwoJCQkJY2hhbmdlIHRoZSBjb2xvdXIgb2YgdGhlIGZpbGwgaW5k
aWNhdG9yIGNvbHVtbi4gLS0+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iTUJfVGFua0ZpbGxCbHVl
XzIiIHgxPSIwIiB5MT0iMSIgeDI9IjAiIHkyPSIwIj4KCQkJCTxzdG9wIG9mZnNldD0iMCUiIHN0
b3AtY29sb3I9ImJsdWUiIC8+CgkJCQk8c3RvcCBpZD0iTUJfVEZpbGxCbHVlMkEiIG9mZnNldD0i
MTAlIiBzdG9wLWNvbG9yPSJibHVlIiAvPgoJCQkJPHN0b3AgaWQ9Ik1CX1RGaWxsQmx1ZTJCIiBv
ZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0id2hpdGUiIC8+CgkJCQk8c3RvcCBvZmZzZXQ9IjEwMCUi
IHN0b3AtY29sb3I9IndoaXRlIiAvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoKCQkJPCEtLSBUaGlz
IGlzIHRoZSBkaWZmZXJlbmNlIC0gd2UgYXJlIHVzaW5nIHhsaW5rLiAtLT4KCQkJPGxpbmVhckdy
YWRpZW50IHhsaW5rOmhyZWY9IiNNQl9UYW5rRmlsbEJsdWVfMiIgaWQ9InhsaW5rZWRncmFkaWVu
dCIvPgoKCQkgIDwvZGVmcz4KCgoJCTwhLS0gVGhpcyBpcyB0aGUgYWN0dWFsIHRhbmsgY29sdW1u
LiAtLT4KCQk8cG9seWdvbiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiICBmaWxsPSJ1
cmwoI3hsaW5rZWRncmFkaWVudCkiIAoJCQlwb2ludHM9IjAsMCAxMCw1MCAwLDg3IDEwLDEyNSAw
LDE1MCA1LDE4NyAwLDIwNSAxMiwyMjUKCQkJMzcsMjI1IDUwLDIwMCAzNywxNjIgNTAsMTM3IDM3
LDg3IDUwLDYyIDM3LDMyIDUwLDAgMCwwIiAvPgoKCTwvZz4KCgo8c2NyaXB0Pgo8IVtDREFUQVsK
CnZhciBzdmdEb2N1bWVudDsKCnZhciB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
CgovLyBUaGlzIGhhbmRsZXMgdGhlIHN0YXJ0dXAuCmZ1bmN0aW9uIHN0YXJ0dXAoZXZ0KSB7CglP
PWV2dC50YXJnZXQKCXN2Z0RvY3VtZW50PU8ub3duZXJEb2N1bWVudAoKCVRhbmswQSA9IHN2Z0Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJNQl9URmlsbEJsdWUwQSIpOwoJVGFuazBCID0gc3ZnRG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1CX1RGaWxsQmx1ZTBCIik7CglUYW5rMUEgPSBzdmdEb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiTUJfVEZpbGxCbHVlMUEiKTsKCVRhbmsxQiA9IHN2Z0RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJNQl9URmlsbEJsdWUxQiIpOwoKCVRhbmsyQSA9IHN2Z0RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJNQl9URmlsbEJsdWUyQSIpOwoJVGFuazJCID0gc3ZnRG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIk1CX1RGaWxsQmx1ZTJCIik7CgoJRmlsbFN0ZXAoKQp9CgpGaWxs
TGV2ZWwxID0gMAkJLy8gSW5pdGlhbGlzZSB0aGUgZmlsbCBsZXZlbC4KRmxvd0RpcmVjdGlvbiA9
IDEJLy8gK3ZlIGlzIGZsb3dpbmcgdG8gdGhlIGxlZnQuCgoKLy8gVGhpcyBnZXRzIGNhbGxlZCBh
dCBhIHJlZ3VsYXIgaW50ZXJ2YWwuCmZ1bmN0aW9uIEZpbGxTdGVwKCl7CgoJLy8gQ2hlY2sgaWYg
dGhlIGZpbGwgbGV2ZWwgaXMgYmV0d2VlbiAwJSBhbmQgMTAwJS4KCS8vIElmIGl0IG92ZXIgZmls
bHMgb3IgZW1wdGllcywgcmV2ZXJzZSBkaXJlY3Rpb24uCglpZiAoRmlsbExldmVsMSA+IDk1KSB7
CgkJRmxvd0RpcmVjdGlvbiA9IC0xCgl9CglpZiAoRmlsbExldmVsMSA8PSA1KSB7CgkJRmxvd0Rp
cmVjdGlvbiA9IDEKCX0KCUZpbGxMZXZlbDEgPSBGaWxsTGV2ZWwxICsgKDEgKiBGbG93RGlyZWN0
aW9uKQoJRmlsbExldmVsMiA9IDEwMCAtIEZpbGxMZXZlbDEKCQoJLy8gQWRqdXN0IHRoZSBmaWxs
IGxldmVsIGluIHRoZSB0YW5rLgoJVGFuazBBLnNldEF0dHJpYnV0ZSgib2Zmc2V0IiwgRmlsbExl
dmVsMSArICIlIik7CglUYW5rMEIuc2V0QXR0cmlidXRlKCJvZmZzZXQiLCBGaWxsTGV2ZWwxICsg
IiUiKTsKCVRhbmsxQS5zZXRBdHRyaWJ1dGUoIm9mZnNldCIsIEZpbGxMZXZlbDIgKyAiJSIpOwoJ
VGFuazFCLnNldEF0dHJpYnV0ZSgib2Zmc2V0IiwgRmlsbExldmVsMiArICIlIik7CgoJVGFuazJB
LnNldEF0dHJpYnV0ZSgib2Zmc2V0IiwgRmlsbExldmVsMSArICIlIik7CglUYW5rMkIuc2V0QXR0
cmlidXRlKCJvZmZzZXQiLCBGaWxsTGV2ZWwxICsgIiUiKTsKCgoKCS8vIENhbGwgdGhlIGZ1bmN0
aW9uIGJhY2sgYWdhaW4gYXQgdGhlIHNldCBpbnRlcnZhbC4KCXdpbmRvdy5zZXRUaW1lb3V0KCJG
aWxsU3RlcCgpIiw1MDApCgp9CgoKLy9dXT4KPC9zY3JpcHQ+Cgo8L3N2Zz4KCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63033</attachid>
            <date>2010-07-30 00:22:59 -0700</date>
            <delta_ts>2010-07-30 07:59:20 -0700</delta_ts>
            <desc>Even more reduced testcase</desc>
            <filename>linkedGradientBug.svg</filename>
            <type>image/svg+xml</type>
            <size>1265</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxz
dmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94bGluayIgb25sb2FkPSJzdGFydHVwKGV2dCkiPgo8ZGVmcz4KICAg
IDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JhZGllbnQiIHgxPSIwIiB5MT0iMSIgeDI9IjAiIHkyPSIw
Ij4KICAgICAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSJibHVlIiAvPgogICAgICAg
IDxzdG9wIGlkPSJzdG9wMSIgb2Zmc2V0PSIxMCUiIHN0b3AtY29sb3I9ImJsdWUiIC8+CiAgICAg
ICAgPHN0b3AgaWQ9InN0b3AyIiBvZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0id2hpdGUiIC8+CiAg
ICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgLz4KICAgIDwvbGlu
ZWFyR3JhZGllbnQ+CgogICAgPGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNncmFkaWVudCIg
aWQ9ImxpbmtlZEdyYWRpZW50Ii8+CjwvZGVmcz4KCjxwb2x5Z29uIHN0cm9rZT0iYmxhY2siIHN0
cm9rZS13aWR0aD0iMiIgZmlsbD0idXJsKCNsaW5rZWRHcmFkaWVudCkiIHBvaW50cz0iMCwwIDEw
LDUwIDAsODcgMTAsMTI1IDAsMTUwIDUsMTg3IDAsMjA1IDEyLDIyNSAzNywyMjUgNTAsMjAwIDM3
LDE2MiA1MCwxMzcgMzcsODcgNTAsNjIgMzcsMzIgNTAsMCAwLDAiIC8+Cgo8c2NyaXB0Pgo8IVtD
REFUQVsKZnVuY3Rpb24gc3RhcnR1cChldnQpIHsKICAgIFRhbmsyQSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdG9wMSIpOwogICAgVGFuazJCID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0b3AyIik7CiAgICBjaGFuZ2VHcmFkaWVudCgpCn0KCmZpbGxMZXZlbCA9IDAKZmxvd0RpcmVj
dGlvbiA9IDEKCmZ1bmN0aW9uIGNoYW5nZUdyYWRpZW50KCkgewogICAgaWYgKGZpbGxMZXZlbCA+
IDk1KSB7IGZsb3dEaXJlY3Rpb24gPSAtMSB9CiAgICBpZiAoZmlsbExldmVsIDw9IDUpIHsgZmxv
d0RpcmVjdGlvbiA9IDEgfQogICAgZmlsbExldmVsID0gZmlsbExldmVsICsgKDEgKiBmbG93RGly
ZWN0aW9uKQoKICAgIFRhbmsyQS5zZXRBdHRyaWJ1dGUoIm9mZnNldCIsIGZpbGxMZXZlbCArICIl
Iik7CiAgICBUYW5rMkIuc2V0QXR0cmlidXRlKCJvZmZzZXQiLCBmaWxsTGV2ZWwgKyAiJSIpOwoK
ICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoYW5nZUdyYWRpZW50LCAxMDApCn0KLy9dXT4KPC9zY3Jp
cHQ+Cjwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63059</attachid>
            <date>2010-07-30 07:59:20 -0700</date>
            <delta_ts>2010-07-30 08:31:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>FixGradients.diff</filename>
            <type>text/plain</type>
            <size>56820</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDM1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTAtMDctMzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU1ZHIGdyYWRpZW50cyBkbyBub3QgdXBkYXRlIHdoZW4gc2NyaXB0ZWQgdmlhIHhsaW5r
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk1Mwor
CisgICAgICAgIFVuaWZ5IGN5Y2xlIGRldGVjdGlvbiBsb2dpYyBmb3IgY2hhaW5hYmxlICh0aHJv
dWdoIHhsaW5rOmhyZWYpIGFuZCBvcmRpbmFyeSByZXNvdXJjZXMuCisgICAgICAgIEFsbCBvcGVy
YXRlIG9uIHRoZSByZW5kZXIgdHJlZSBub3csIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIHRo
ZSBET00gdHJlZSBmb3IgeGxpbms6aHJlZiBxdWVyaWVzLgorCisgICAgICAgIFdoZW4gbGlua2lu
ZyByZXNvdXJjZXMsIHJlZ2lzdGVyIGFzIHJlZ3VsYXIgY2xpZW50cywgc28gdGhlIHJlZ3VsYXIg
dXBkYXRlIG1lY2hhbmlzbXMgd29yayBhcyBleHBlY3RlZC4KKyAgICAgICAgPGxpbmVhckdyYWRp
ZW50IGlkPSJmb28iPjxzdG9wLi4vPiA8L2xpbmVhckdyYWRpZW50PgorICAgICAgICA8bGluZWFy
R3JhZGllbnQgaWQ9ImJhciIgeGxpbms6aHJlZj0iI2ZvbyIvPgorICAgICAgICA8cmVjdCBmaWxs
PSJ1cmwoI2JhcikiLz4KKworICAgICAgICBXaXRob3V0IHRoYXQgdGhlIHJlY3Qgd29uJ3QgcmVj
ZWl2ZSBpbnZhbGlkYXRpb24gbm90aWZpY2F0aW9ucywgYXMgZm9vIDwtPiBiYXIgaGFkIG5vIGNv
bm5lY3Rpb24uCisgICAgICAgIEZpeGVzIHRoZSBsYXN0IG91dHN0YW5kaW5nIGNsYXNzIG9mIGlu
dmFsaWRhdGlvbnMuIEFsc28gc3BlZWRzIHVwIHRoZSBjeWNsZSBkZXRldGlvbiwgd2hlbiB1c2lu
ZyBjaGFpbmVkIHJlc291cmNlcywKKyAgICAgICAgYXMgbm8gU1ZHIERPTSBxdWVyaWVzIGhhdmUg
dG8gYmUgZXhlY3V0ZWQgYW55bW9yZS4KKworICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL2pzLXVw
ZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC5zdmcKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lcjo6bWFya0FsbENsaWVudHNGb3JJbnZhbGlkYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6bGlua2VkUmVzb3VyY2VGb3JDb250YWluZXIpOgorICAgICAgICAqIHJlbmRl
cmluZy9TVkdSZXNvdXJjZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VzOjpT
VkdSZXNvdXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y2hhaW5hYmxlUmVzb3VyY2VUYWdzKToK
KyAgICAgICAgKFdlYkNvcmU6OnRhcmdldFJlZmVyZW5jZUZyb21SZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpyZWdpc3RlclBlbmRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jlc291cmNlczo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNv
dXJjZXM6OnJlc291cmNlRGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNl
czo6YnVpbGRTZXRPZlJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZXM6
OnNldExpbmtlZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlczo6cmVz
ZXRMaW5rZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZXM6OmR1bXAp
OgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSZXNvdXJjZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Jlc291cmNlczo6bGlua2VkUmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZXND
eWNsZVNvbHZlcjo6cmVzb2x2ZUN5Y2xlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlcjo6YnJlYWtDeWNsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jlc291
cmNlc0N5Y2xlU29sdmVyLmg6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6U1ZHRmlsdGVyRWxlbWVudCk6Cisg
ICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6U1ZH
R3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMp
OgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXR0ZXJuRWxlbWVudDo6U1ZHUGF0dGVybkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcyk6CisgICAgICAg
ICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMpOgorCiAyMDEwLTA3LTMwICBSYWZhZWwgQW50
b2dub2xsaSAgPGFudG9nbm9sbGlAcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQW50b25pbyBHb21lcy4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lci5jcHAJKHJldmlzaW9uIDY0MzQ3KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCIKIAog
I2luY2x1ZGUgIlJlbmRlclNWR1NoYWRvd1RyZWVSb290Q29udGFpbmVyLmgiCisjaW5jbHVkZSAi
U1ZHUmVzb3VyY2VzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtOTUsOCArOTYsMTQgQEAgdm9pZCBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcjo6bWFya0FsbAogCiAgICAgSGFzaFNldDxSZW5kZXJPYmplY3Qq
Pjo6aXRlcmF0b3IgZW5kID0gbV9jbGllbnRzLmVuZCgpOwogICAgIGZvciAoSGFzaFNldDxSZW5k
ZXJPYmplY3QqPjo6aXRlcmF0b3IgaXQgPSBtX2NsaWVudHMuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KSB7Ci0gICAgICAgIG1hcmtDbGllbnRGb3JJbnZhbGlkYXRpb24oKml0LCBtb2RlKTsKLSAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JMYXlvdXRBbmRQYXJlbnRSZXNvdXJjZUlu
dmFsaWRhdGlvbigqaXQsIG5lZWRzTGF5b3V0KTsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBjbGll
bnQgPSAqaXQ7CisgICAgICAgIGlmIChjbGllbnQtPmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkg
eworICAgICAgICAgICAgY2xpZW50LT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCktPmlu
dmFsaWRhdGVDbGllbnRzKCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisg
ICAgICAgIG1hcmtDbGllbnRGb3JJbnZhbGlkYXRpb24oY2xpZW50LCBtb2RlKTsKKyAgICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JMYXlvdXRBbmRQYXJlbnRSZXNvdXJjZUludmFsaWRh
dGlvbihjbGllbnQsIG5lZWRzTGF5b3V0KTsKICAgICB9CiB9CiAKQEAgLTExNyw2ICsxMjQsMjAg
QEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6bWFya0NsaQogICAgIH0KIH0KIAor
c3RhdGljIGlubGluZSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogbGlua2VkUmVzb3VyY2VG
b3JDb250YWluZXIoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGNvbnRhaW5lcikKK3sKKyAg
ICBzd2l0Y2ggKGNvbnRhaW5lci0+cmVzb3VyY2VUeXBlKCkpIHsKKyAgICBjYXNlIFBhdHRlcm5S
ZXNvdXJjZVR5cGU6CisgICAgY2FzZSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZToKKyAgICBj
YXNlIFJhZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlOgorICAgIGNhc2UgRmlsdGVyUmVzb3VyY2VU
eXBlOgorICAgICAgICBpZiAoU1ZHUmVzb3VyY2VzKiByZXNvdXJjZXMgPSBTVkdSZXNvdXJjZXND
YWNoZTo6Y2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyT2JqZWN0KGNvbnRhaW5lcikpCisgICAgICAg
ICAgICByZXR1cm4gcmVzb3VyY2VzLT5saW5rZWRSZXNvdXJjZSgpOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KK30KKwogdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcjo6YWRkQ2xpZW50KFJlbmRlck9iamVjdCogY2xpZW50KQogewogICAgIEFTU0VSVChjbGll
bnQpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuY3BwCShyZXZpc2lvbiA2NDM0NykK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1LDcgKzI1LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlTWFza2VyLmgiCisjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgorI2luY2x1ZGUg
IlNWR0dyYWRpZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1BhaW50LmgiCisjaW5jbHVkZSAi
U1ZHUGF0dGVybkVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1
ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogCkBAIC0zNSw2ICszOCw3IEBAIFNWR1Jlc291cmNlczo6
U1ZHUmVzb3VyY2VzKCkKICAgICA6IG1fY2xpcHBlckZpbHRlck1hc2tlckRhdGEoMCkKICAgICAs
IG1fbWFya2VyRGF0YSgwKQogICAgICwgbV9maWxsU3Ryb2tlRGF0YSgwKQorICAgICwgbV9saW5r
ZWRSZXNvdXJjZSgwKQogewogfQogCkBAIC0xMTcsNiArMTIxLDM0IEBAIHN0YXRpYyBIYXNoU2V0
PEF0b21pY1N0cmluZ0ltcGwqPiYgZmlsbEEKICAgICByZXR1cm4gc190YWdMaXN0OwogfQogCitz
dGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGNoYWluYWJsZVJlc291cmNlVGFncygp
Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiwg
c190YWdMaXN0LCAoKSk7CisgICAgaWYgKHNfdGFnTGlzdC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
c190YWdMaXN0LmFkZChTVkdOYW1lczo6bGluZWFyR3JhZGllbnRUYWcubG9jYWxOYW1lKCkuaW1w
bCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6ZmlsdGVyVGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSk7CisgICAgICAgIHNfdGFnTGlzdC5hZGQoU1ZHTmFtZXM6OnBhdHRlcm5UYWcu
bG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cmFk
aWFsR3JhZGllbnRUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4g
c190YWdMaXN0OworfQorCitzdGF0aWMgaW5saW5lIFN0cmluZyB0YXJnZXRSZWZlcmVuY2VGcm9t
UmVzb3VyY2UoU1ZHRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBTdHJpbmcgdGFyZ2V0OworICAg
IGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpwYXR0ZXJuVGFnKSkKKyAgICAgICAg
dGFyZ2V0ID0gc3RhdGljX2Nhc3Q8U1ZHUGF0dGVybkVsZW1lbnQqPihlbGVtZW50KS0+aHJlZigp
OworICAgIGVsc2UgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVhckdyYWRp
ZW50VGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxHcmFkaWVudFRh
ZykpCisgICAgICAgIHRhcmdldCA9IHN0YXRpY19jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KGVs
ZW1lbnQpLT5ocmVmKCk7CisgICAgZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1l
czo6ZmlsdGVyVGFnKSkKKyAgICAgICAgdGFyZ2V0ID0gc3RhdGljX2Nhc3Q8U1ZHRmlsdGVyRWxl
bWVudCo+KGVsZW1lbnQpLT5ocmVmKCk7CisgICAgZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKworICAgIHJldHVybiBTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldCh0YXJnZXQp
OworfQorCiBzdGF0aWMgaW5saW5lIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBwYWludGlu
Z1Jlc291cmNlRnJvbVNWR1BhaW50KERvY3VtZW50KiBkb2N1bWVudCwgU1ZHUGFpbnQqIHBhaW50
LCBBdG9taWNTdHJpbmcmIGlkLCBib29sJiBoYXNQZW5kaW5nUmVzb3VyY2UpCiB7CiAgICAgQVNT
RVJUKHBhaW50KTsKQEAgLTEzMywxNyArMTY1LDEzIEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSB2b2lk
IHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9u
cywgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgTm9kZSogbm9kZSkKK3N0YXRpYyBpbmxpbmUgdm9p
ZCByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lv
bnMsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIFNWR0VsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAg
QVNTRVJUKG5vZGUpOwotICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50Kj4obm9kZSk7Ci0gICAgaWYgKCFzdmdFbGVtZW50LT5pc1N0eWxlZCgpKQorICAgIEFTU0VS
VChlbGVtZW50KTsKKyAgICBpZiAoIWVsZW1lbnQtPmlzU3R5bGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGV4dGVuc2lvbnMtPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwgc3RhdGljX2Nhc3Q8
U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKKyAgICBleHRlbnNpb25zLT5hZGRQZW5k
aW5nUmVzb3VyY2UoaWQsIHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihlbGVtZW50KSk7
CiB9CiAKIGJvb2wgU1ZHUmVzb3VyY2VzOjpidWlsZENhY2hlZFJlc291cmNlcyhjb25zdCBSZW5k
ZXJPYmplY3QqIG9iamVjdCwgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlKQpAQCAtMTUzLDcg
KzE4MSwxMSBAQCBib29sIFNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMoCiAKICAg
ICBOb2RlKiBub2RlID0gb2JqZWN0LT5ub2RlKCk7CiAgICAgQVNTRVJUKG5vZGUpOwotICAgIEFT
U0VSVChub2RlLT5pc0VsZW1lbnROb2RlKCkpOworICAgIEFTU0VSVChub2RlLT5pc1NWR0VsZW1l
bnQoKSk7CisKKyAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVu
dCo+KG5vZGUpOworICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gb2JqZWN0LT5kb2N1bWVudCgpOwogICAgIEFTU0VSVChk
b2N1bWVudCk7CkBAIC0xNjEsNyArMTkzLDcgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2Fj
aGVkUmVzb3VyY2VzKAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IGRv
Y3VtZW50LT5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiAgICAgQVNTRVJUKGV4dGVuc2lvbnMpOwog
Ci0gICAgQXRvbWljU3RyaW5nSW1wbCogdGFnTmFtZUltcGwgPSBzdGF0aWNfY2FzdDxFbGVtZW50
Kj4obm9kZSktPnRhZ1FOYW1lKCkubG9jYWxOYW1lKCkuaW1wbCgpOworICAgIEF0b21pY1N0cmlu
Z0ltcGwqIHRhZ05hbWVJbXBsID0gZWxlbWVudC0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKS5pbXBs
KCk7CiAgICAgaWYgKCF0YWdOYW1lSW1wbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0x
NzIsNyArMjA0LDcgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKAog
ICAgICAgICAgICAgaWYgKHNldENsaXBwZXIoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRl
clNWR1Jlc291cmNlQ2xpcHBlcj4oZG9jdW1lbnQsIGlkKSkpCiAgICAgICAgICAgICAgICAgZm91
bmRSZXNvdXJjZXMgPSB0cnVlOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJl
Z2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBub2RlKTsKKyAgICAgICAgICAg
ICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShleHRlbnNpb25zLCBpZCwgZWxlbWVudCk7CiAg
ICAgICAgIH0KIAogI2lmIEVOQUJMRShGSUxURVJTKQpAQCAtMTgxLDcgKzIxMyw3IEBAIGJvb2wg
U1ZHUmVzb3VyY2VzOjpidWlsZENhY2hlZFJlc291cmNlcygKICAgICAgICAgICAgIGlmIChzZXRG
aWx0ZXIoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlRmlsdGVyPihk
b2N1bWVudCwgaWQpKSkKICAgICAgICAgICAgICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7CiAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2Uo
ZXh0ZW5zaW9ucywgaWQsIG5vZGUpOworICAgICAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jl
c291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50KTsKICAgICAgICAgfQogI2VuZGlmCiAKQEAg
LTE5MCw3ICsyMjIsNyBAQCBib29sIFNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMo
CiAgICAgICAgICAgICBpZiAoc2V0TWFza2VyKGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5k
ZXJTVkdSZXNvdXJjZU1hc2tlcj4oZG9jdW1lbnQsIGlkKSkpCiAgICAgICAgICAgICAgICAgZm91
bmRSZXNvdXJjZXMgPSB0cnVlOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJl
Z2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBub2RlKTsKKyAgICAgICAgICAg
ICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShleHRlbnNpb25zLCBpZCwgZWxlbWVudCk7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTE5OSwxOSArMjMxLDE5IEBAIGJvb2wgU1ZHUmVzb3VyY2Vz
OjpidWlsZENhY2hlZFJlc291cmNlcygKICAgICAgICAgaWYgKHNldE1hcmtlclN0YXJ0KGdldFJl
bmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4oZG9jdW1lbnQsIG1h
cmtlclN0YXJ0SWQpKSkKICAgICAgICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1ZTsKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywg
bWFya2VyU3RhcnRJZCwgbm9kZSk7CisgICAgICAgICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJj
ZShleHRlbnNpb25zLCBtYXJrZXJTdGFydElkLCBlbGVtZW50KTsKIAogICAgICAgICBBdG9taWNT
dHJpbmcgbWFya2VyTWlkSWQoc3R5bGUtPm1hcmtlck1pZFJlc291cmNlKCkpOwogICAgICAgICBp
ZiAoc2V0TWFya2VyTWlkKGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJj
ZU1hcmtlcj4oZG9jdW1lbnQsIG1hcmtlck1pZElkKSkpCiAgICAgICAgICAgICBmb3VuZFJlc291
cmNlcyA9IHRydWU7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jl
c291cmNlKGV4dGVuc2lvbnMsIG1hcmtlck1pZElkLCBub2RlKTsKKyAgICAgICAgICAgIHJlZ2lz
dGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIG1hcmtlck1pZElkLCBlbGVtZW50KTsKIAog
ICAgICAgICBBdG9taWNTdHJpbmcgbWFya2VyRW5kSWQoc3R5bGUtPm1hcmtlckVuZFJlc291cmNl
KCkpOwogICAgICAgICBpZiAoc2V0TWFya2VyRW5kKGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxS
ZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4oZG9jdW1lbnQsIG1hcmtlckVuZElkKSkpCiAgICAgICAg
ICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJl
Z2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIG1hcmtlckVuZElkLCBub2RlKTsKKyAg
ICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIG1hcmtlckVuZElk
LCBlbGVtZW50KTsKICAgICB9CiAKICAgICBpZiAoZmlsbEFuZFN0cm9rZVRhZ3MoKS5jb250YWlu
cyh0YWdOYW1lSW1wbCkpIHsKQEAgLTIyMSw3ICsyNTMsNyBAQCBib29sIFNWR1Jlc291cmNlczo6
YnVpbGRDYWNoZWRSZXNvdXJjZXMoCiAgICAgICAgICAgICBpZiAoc2V0RmlsbChwYWludGluZ1Jl
c291cmNlRnJvbVNWR1BhaW50KGRvY3VtZW50LCBzdHlsZS0+ZmlsbFBhaW50KCksIGlkLCBoYXNQ
ZW5kaW5nUmVzb3VyY2UpKSkKICAgICAgICAgICAgICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7
CiAgICAgICAgICAgICBlbHNlIGlmIChoYXNQZW5kaW5nUmVzb3VyY2UpCi0gICAgICAgICAgICAg
ICAgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIG5vZGUpOworICAgICAg
ICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50
KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChzdHlsZS0+aGFzU3Ryb2tlKCkpIHsKQEAgLTIz
MCwxOCArMjYyLDM0IEBAIGJvb2wgU1ZHUmVzb3VyY2VzOjpidWlsZENhY2hlZFJlc291cmNlcygK
ICAgICAgICAgICAgIGlmIChzZXRTdHJva2UocGFpbnRpbmdSZXNvdXJjZUZyb21TVkdQYWludChk
b2N1bWVudCwgc3R5bGUtPnN0cm9rZVBhaW50KCksIGlkLCBoYXNQZW5kaW5nUmVzb3VyY2UpKSkK
ICAgICAgICAgICAgICAgICBmb3VuZFJlc291cmNlcyA9IHRydWU7CiAgICAgICAgICAgICBlbHNl
IGlmIChoYXNQZW5kaW5nUmVzb3VyY2UpCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5n
UmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIG5vZGUpOworICAgICAgICAgICAgICAgIHJlZ2lzdGVy
UGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50KTsKICAgICAgICAgfQogICAg
IH0KIAorICAgIGlmIChjaGFpbmFibGVSZXNvdXJjZVRhZ3MoKS5jb250YWlucyh0YWdOYW1lSW1w
bCkpIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKHRhcmdldFJlZmVyZW5jZUZyb21SZXNvdXJj
ZShlbGVtZW50KSk7CisgICAgICAgIGlmIChzZXRMaW5rZWRSZXNvdXJjZShnZXRSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lckJ5SWQoZG9jdW1lbnQsIGlkKSkpCisgICAgICAgICAgICBmb3VuZFJl
c291cmNlcyA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGlu
Z1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50KTsKKyAgICB9CisKICAgICByZXR1cm4g
Zm91bmRSZXNvdXJjZXM7CiB9CiAKIHZvaWQgU1ZHUmVzb3VyY2VzOjppbnZhbGlkYXRlQ2xpZW50
KFJlbmRlck9iamVjdCogb2JqZWN0KSBjb25zdAogewotICAgIGlmICghbV9jbGlwcGVyRmlsdGVy
TWFza2VyRGF0YSAmJiAhbV9tYXJrZXJEYXRhICYmICFtX2ZpbGxTdHJva2VEYXRhKQorICAgIGlm
ICghbV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YSAmJiAhbV9tYXJrZXJEYXRhICYmICFtX2ZpbGxT
dHJva2VEYXRhICYmICFtX2xpbmtlZFJlc291cmNlKQogICAgICAgICByZXR1cm47CiAKKyAgICBp
ZiAobV9saW5rZWRSZXNvdXJjZSkgeworICAgICAgICBBU1NFUlQoIW1fY2xpcHBlckZpbHRlck1h
c2tlckRhdGEpOworICAgICAgICBBU1NFUlQoIW1fbWFya2VyRGF0YSk7CisgICAgICAgIEFTU0VS
VCghbV9maWxsU3Ryb2tlRGF0YSk7CisgICAgICAgIG1fbGlua2VkUmVzb3VyY2UtPmludmFsaWRh
dGVDbGllbnQob2JqZWN0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2Ns
aXBwZXJGaWx0ZXJNYXNrZXJEYXRhKSB7CiAgICAgICAgIGlmIChtX2NsaXBwZXJGaWx0ZXJNYXNr
ZXJEYXRhLT5jbGlwcGVyKQogICAgICAgICAgICAgbV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YS0+
Y2xpcHBlci0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOwpAQCAtMjczLDggKzMyMSwxNyBAQCB2
b2lkIFNWR1Jlc291cmNlczo6aW52YWxpZGF0ZUNsaWVudChSZW5kCiB2b2lkIFNWR1Jlc291cmNl
czo6cmVzb3VyY2VEZXN0cm95ZWQoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChyZXNvdXJjZSk7Ci0gICAgaWYgKCFtX2NsaXBwZXJGaWx0ZXJNYXNr
ZXJEYXRhICYmICFtX21hcmtlckRhdGEgJiYgIW1fZmlsbFN0cm9rZURhdGEpCisgICAgaWYgKCFt
X2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhICYmICFtX21hcmtlckRhdGEgJiYgIW1fZmlsbFN0cm9r
ZURhdGEgJiYgIW1fbGlua2VkUmVzb3VyY2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICht
X2xpbmtlZFJlc291cmNlID09IHJlc291cmNlKSB7CisgICAgICAgIEFTU0VSVCghbV9jbGlwcGVy
RmlsdGVyTWFza2VyRGF0YSk7CisgICAgICAgIEFTU0VSVCghbV9tYXJrZXJEYXRhKTsKKyAgICAg
ICAgQVNTRVJUKCFtX2ZpbGxTdHJva2VEYXRhKTsKKyAgICAgICAgbV9saW5rZWRSZXNvdXJjZS0+
aW52YWxpZGF0ZUNsaWVudHMoKTsKKyAgICAgICAgbV9saW5rZWRSZXNvdXJjZSA9IDA7CiAgICAg
ICAgIHJldHVybjsKKyAgICB9CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT5yZXNvdXJjZVR5cGUo
KSkgewogICAgIGNhc2UgTWFza2VyUmVzb3VyY2VUeXBlOgpAQCAtMzQwLDkgKzM5NywxNyBAQCB2
b2lkIFNWR1Jlc291cmNlczo6cmVzb3VyY2VEZXN0cm95ZWQoUmVuCiAKIHZvaWQgU1ZHUmVzb3Vy
Y2VzOjpidWlsZFNldE9mUmVzb3VyY2VzKEhhc2hTZXQ8UmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIqPiYgc2V0KQogewotICAgIGlmICghbV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YSAmJiAhbV9t
YXJrZXJEYXRhICYmICFtX2ZpbGxTdHJva2VEYXRhKQorICAgIGlmICghbV9jbGlwcGVyRmlsdGVy
TWFza2VyRGF0YSAmJiAhbV9tYXJrZXJEYXRhICYmICFtX2ZpbGxTdHJva2VEYXRhICYmICFtX2xp
bmtlZFJlc291cmNlKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAobV9saW5rZWRSZXNvdXJj
ZSkgeworICAgICAgICBBU1NFUlQoIW1fY2xpcHBlckZpbHRlck1hc2tlckRhdGEpOworICAgICAg
ICBBU1NFUlQoIW1fbWFya2VyRGF0YSk7CisgICAgICAgIEFTU0VSVCghbV9maWxsU3Ryb2tlRGF0
YSk7CisgICAgICAgIHNldC5hZGQobV9saW5rZWRSZXNvdXJjZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAobV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YSkgewogICAgICAgICBp
ZiAobV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YS0+Y2xpcHBlcikKICAgICAgICAgICAgIHNldC5h
ZGQobV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YS0+Y2xpcHBlcik7CkBAIC01MjUsNiArNTkwLDIx
IEBAIHZvaWQgU1ZHUmVzb3VyY2VzOjpyZXNldFN0cm9rZSgpCiAgICAgbV9maWxsU3Ryb2tlRGF0
YS0+c3Ryb2tlID0gMDsKIH0KIAorYm9vbCBTVkdSZXNvdXJjZXM6OnNldExpbmtlZFJlc291cmNl
KFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBsaW5rZWRSZXNvdXJjZSkKK3sKKyAgICBpZiAo
IWxpbmtlZFJlc291cmNlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2xpbmtlZFJl
c291cmNlID0gbGlua2VkUmVzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU1ZH
UmVzb3VyY2VzOjpyZXNldExpbmtlZFJlc291cmNlKCkKK3sKKyAgICBBU1NFUlQobV9saW5rZWRS
ZXNvdXJjZSk7CisgICAgbV9saW5rZWRSZXNvdXJjZSA9IDA7Cit9CisKICNpZm5kZWYgTkRFQlVH
CiB2b2lkIFNWR1Jlc291cmNlczo6ZHVtcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsK
QEAgLTU2Miw2ICs2NDIsOSBAQCB2b2lkIFNWR1Jlc291cmNlczo6ZHVtcChjb25zdCBSZW5kZXJP
YmplCiAgICAgICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogc3Ryb2tlID0gbV9m
aWxsU3Ryb2tlRGF0YS0+c3Ryb2tlKQogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIgfC0+
IFN0cm9rZSAgICAgOiAlcCAobm9kZT0lcClcbiIsIHN0cm9rZSwgc3Ryb2tlLT5ub2RlKCkpOwog
ICAgIH0KKworICAgIGlmIChtX2xpbmtlZFJlc291cmNlKQorICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiB8LT4geGxpbms6aHJlZiA6ICVwIChub2RlPSVwKVxuIiwgbV9saW5rZWRSZXNvdXJjZSwg
bV9saW5rZWRSZXNvdXJjZS0+bm9kZSgpKTsKIH0KICNlbmRpZgogCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9TVkdSZXNvdXJjZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9T
VkdSZXNvdXJjZXMuaAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGZpbGwoKSBjb25zdCB7IHJldHVybiBtX2ZpbGxT
dHJva2VEYXRhID8gbV9maWxsU3Ryb2tlRGF0YS0+ZmlsbCA6IDA7IH0KICAgICBSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lciogc3Ryb2tlKCkgY29uc3QgeyByZXR1cm4gbV9maWxsU3Ryb2tlRGF0
YSA/IG1fZmlsbFN0cm9rZURhdGEtPnN0cm9rZSA6IDA7IH0KIAorICAgIC8vIENoYWluYWJsZSBy
ZXNvdXJjZXMgLSBsaW5rZWQgdGhyb3VnaCB4bGluazpocmVmCisgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIqIGxpbmtlZFJlc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9saW5rZWRSZXNv
dXJjZTsgfQorCiAgICAgdm9pZCBidWlsZFNldE9mUmVzb3VyY2VzKEhhc2hTZXQ8UmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIqPiYpOwogCiAgICAgLy8gTWV0aG9kcyBvcGVyYXRpbmcgb24gYWxs
IGNhY2hlZCByZXNvdXJjZXMKQEAgLTgyLDYgKzg1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJl
c2V0TWFza2VyKCk7CiAgICAgdm9pZCByZXNldEZpbGwoKTsKICAgICB2b2lkIHJlc2V0U3Ryb2tl
KCk7CisgICAgdm9pZCByZXNldExpbmtlZFJlc291cmNlKCk7CiAKIHByaXZhdGU6CiAgICAgYm9v
bCBzZXRDbGlwcGVyKFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciopOwpAQCAtOTQsNiArOTgsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgc2V0TWFza2VyKFJlbmRlclNWR1Jlc291cmNlTWFza2VyKik7
CiAgICAgYm9vbCBzZXRGaWxsKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKik7CiAgICAgYm9v
bCBzZXRTdHJva2UoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKKyAgICBib29sIHNldExp
bmtlZFJlc291cmNlKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKik7CiAKICAgICAvLyBGcm9t
IFNWRyAxLjEgMm5kIEVkaXRpb24KICAgICAvLyBjbGlwcGVyOiAnY29udGFpbmVyIGVsZW1lbnRz
JyBhbmQgJ2dyYXBoaWNzIGVsZW1lbnRzJwpAQCAtMTY1LDYgKzE3MCw3IEBAIHByaXZhdGU6CiAg
ICAgT3duUHRyPENsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhPiBtX2NsaXBwZXJGaWx0ZXJNYXNrZXJE
YXRhOwogICAgIE93blB0cjxNYXJrZXJEYXRhPiBtX21hcmtlckRhdGE7CiAgICAgT3duUHRyPEZp
bGxTdHJva2VEYXRhPiBtX2ZpbGxTdHJva2VEYXRhOworICAgIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyKiBtX2xpbmtlZFJlc291cmNlOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk0LDg5ICs5NCw2IEBAIGJvb2wgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXI6OnJlc291
cmNlQ28KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgU3RyaW5nIHRhcmdl
dFJlZmVyZW5jZUZyb21SZXNvdXJjZShTVkdFbGVtZW50KiBlbGVtZW50LCBib29sJiBpc1ZhbGlk
KQotewotICAgIFN0cmluZyB0YXJnZXQ7Ci0gICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZH
TmFtZXM6OnBhdHRlcm5UYWcpKQotICAgICAgICB0YXJnZXQgPSBzdGF0aWNfY2FzdDxTVkdQYXR0
ZXJuRWxlbWVudCo+KGVsZW1lbnQpLT5ocmVmKCk7Ci0gICAgZWxzZSBpZiAoZWxlbWVudC0+aGFz
VGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGllbnRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnKSkKLSAgICAgICAgdGFyZ2V0ID0gc3RhdGlj
X2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4oZWxlbWVudCktPmhyZWYoKTsKLSAgICBlbHNlIGlm
IChlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmaWx0ZXJUYWcpKQotICAgICAgICB0YXJn
ZXQgPSBzdGF0aWNfY2FzdDxTVkdGaWx0ZXJFbGVtZW50Kj4oZWxlbWVudCktPmhyZWYoKTsKLSAg
ICBlbHNlIHsKLSAgICAgICAgaXNWYWxpZCA9IGZhbHNlOwotICAgICAgICByZXR1cm4gdGFyZ2V0
OwotICAgIH0KLQotICAgIHJldHVybiBTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldCh0YXJnZXQp
OwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0Rm9sbG93TGlua0ZvckNoYWluYWJsZVJlc291
cmNlKFNWR0VsZW1lbnQqIGVsZW1lbnQsIGJvb2wgZm9sbG93TGluaykKLXsKLSAgICBpZiAoZWxl
bWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6cGF0dGVyblRhZykpCi0gICAgICAgIHN0YXRpY19j
YXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4oZWxlbWVudCktPnNldEZvbGxvd0xpbmsoZm9sbG93TGlu
ayk7Ci0gICAgZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3Jh
ZGllbnRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50
VGFnKSkKLSAgICAgICAgc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4oZWxlbWVudCkt
PnNldEZvbGxvd0xpbmsoZm9sbG93TGluayk7Ci0gICAgZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFn
TmFtZShTVkdOYW1lczo6ZmlsdGVyVGFnKSkKLSAgICAgICAgc3RhdGljX2Nhc3Q8U1ZHRmlsdGVy
RWxlbWVudCo+KGVsZW1lbnQpLT5zZXRGb2xsb3dMaW5rKGZvbGxvd0xpbmspOwotfQotCi1ib29s
IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyOjpjaGFpbmFibGVSZXNvdXJjZUNvbnRhaW5zQ3ljbGVz
KFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBjb250YWluZXIpIGNvbnN0Ci17Ci0gICAgQVNT
RVJUKGNvbnRhaW5lcik7Ci0gICAgQVNTRVJUKGNvbnRhaW5lci0+bm9kZSgpKTsKLSAgICBBU1NF
UlQoY29udGFpbmVyLT5ub2RlKCktPmlzU1ZHRWxlbWVudCgpKTsKLQotICAgIC8vIENoYWluYWJs
ZSByZXNvdXJjZXMgY3ljbGUgZGV0ZWN0aW9uIGlzIHBlcmZvcm1lZCBpbiB0aGUgRE9NIHRyZWUu
Ci0gICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihjb250
YWluZXItPm5vZGUoKSk7Ci0gICAgQVNTRVJUKGVsZW1lbnQpOwotCi0gICAgSGFzaFNldDxTVkdF
bGVtZW50Kj4gcHJvY2Vzc2VkT2JqZWN0czsKLQotICAgIGJvb2wgaXNWYWxpZCA9IHRydWU7Ci0g
ICAgU3RyaW5nIHRhcmdldCA9IHRhcmdldFJlZmVyZW5jZUZyb21SZXNvdXJjZShlbGVtZW50LCBp
c1ZhbGlkKTsKLSAgICBBU1NFUlQoaXNWYWxpZCk7Ci0KLSAgICBTVkdFbGVtZW50KiBwcmV2aW91
c0VsZW1lbnQgPSBlbGVtZW50OwotICAgIHdoaWxlICghdGFyZ2V0LmlzRW1wdHkoKSkgewotICAg
ICAgICBOb2RlKiB0YXJnZXROb2RlID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+Z2V0RWxlbWVudEJ5
SWQodGFyZ2V0KTsKLSAgICAgICAgaWYgKCF0YXJnZXROb2RlIHx8ICF0YXJnZXROb2RlLT5pc1NW
R0VsZW1lbnQoKSkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIC8vIENhdGNoIGN5bGlj
IGNoYWluaW5nLCBvdGhlcndoaXNlIHdlJ2xsIHJ1biBpbnRvIGFuIGluZmluaXRlIGxvb3AgaGVy
ZS4KLSAgICAgICAgLy8gPHBhdHRlcm4gaWQ9ImZvbyIgeGxpbms6aHJlZj0iI2JhciIvPiA8cGF0
dGVybiBpZD0iYmFyIHhsaW5rOmhyZWY9IiNmb28iLz4KLSAgICAgICAgU1ZHRWxlbWVudCogdGFy
Z2V0RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPih0YXJnZXROb2RlKTsKLQotICAg
ICAgICBib29sIGZvbGxvd0xpbmsgPSB0cnVlOwotICAgICAgICBpZiAocHJvY2Vzc2VkT2JqZWN0
cy5jb250YWlucyh0YXJnZXRFbGVtZW50KSB8fCB0YXJnZXRFbGVtZW50ID09IGVsZW1lbnQpCi0g
ICAgICAgICAgICBmb2xsb3dMaW5rID0gZmFsc2U7Ci0KLSAgICAgICAgc2V0Rm9sbG93TGlua0Zv
ckNoYWluYWJsZVJlc291cmNlKHByZXZpb3VzRWxlbWVudCwgZm9sbG93TGluayk7Ci0gICAgICAg
IGlmICghZm9sbG93TGluaykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBw
cmV2aW91c0VsZW1lbnQgPSB0YXJnZXRFbGVtZW50OwotICAgICAgICBwcm9jZXNzZWRPYmplY3Rz
LmFkZCh0YXJnZXRFbGVtZW50KTsKLSAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0UmVmZXJlbmNlRnJv
bVJlc291cmNlKHRhcmdldEVsZW1lbnQsIGlzVmFsaWQpOwotICAgICAgICBpZiAoIWlzVmFsaWQp
Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICAvLyBDb3VsZG4ndCBmaW5kIGFueSBk
aXJlY3QgY3ljbGUgaW4gdGhlIHhsaW5rOmhyZWYgY2hhaW4sIG1heWJlIHRoZXJlJ3MgYW4gaW5k
aXJlY3Qgb25lLgotICAgIC8vIDxwYXR0ZXJuIGlkPSJmb28iIHhsaW5rOmhyZWY9IiNiYXIiLz4g
PHBhdHRlcm4gaWQ9ImJhciI+IDxyZWN0IGZpbGw9InVybCgjZm9vKSIuLi4KLSAgICBIYXNoU2V0
PFNWR0VsZW1lbnQqPjo6aXRlcmF0b3IgZW5kID0gcHJvY2Vzc2VkT2JqZWN0cy5lbmQoKTsKLSAg
ICBmb3IgKEhhc2hTZXQ8U1ZHRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IHByb2Nlc3NlZE9iamVj
dHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFJlbmRlck9iamVjdCogcmVu
ZGVyZXIgPSAoKml0KS0+cmVuZGVyZXIoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcikKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICBBU1NFUlQocmVuZGVyZXItPmlzU1ZHUmVzb3VyY2VD
b250YWluZXIoKSk7Ci0gICAgICAgIGlmIChtX2FsbFJlc291cmNlcy5jb250YWlucyhyZW5kZXJl
ci0+dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpKSkKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBTVkdSZXNvdXJjZXND
eWNsZVNvbHZlcjo6cmVzb2x2ZUN5Y2xlcygpCiB7CiAgICAgQVNTRVJUKG1fYWxsUmVzb3VyY2Vz
LmlzRW1wdHkoKSk7CkBAIC0yMjEsNiArMTM4LDEwIEBAIHZvaWQgU1ZHUmVzb3VyY2VzQ3ljbGVT
b2x2ZXI6OnJlc29sdmVDeWMKICAgICBmb3IgKEhhc2hTZXQ8UmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIqPjo6aXRlcmF0b3IgaXQgPSBwYXJlbnRSZXNvdXJjZXMuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KQogICAgICAgICBtX2FsbFJlc291cmNlcy5hZGQoKml0KTsKIAorICAgIC8vIElmIHdl
J3JlIGEgcmVzb3VyY2UsIGFkZCBvdXJzZWx2ZXMgdG8gdGhlIEhhc2hTZXQuCisgICAgaWYgKG1f
cmVuZGVyZXItPmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkKKyAgICAgICAgbV9hbGxSZXNvdXJj
ZXMuYWRkKG1fcmVuZGVyZXItPnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKSk7CisKICAg
ICBBU1NFUlQoIW1fYWxsUmVzb3VyY2VzLmlzRW1wdHkoKSk7CiAKICAgICAvLyBUaGUgam9iIG9m
IHRoaXMgZnVuY3Rpb24gaXMgdG8gZGV0ZXJtaW5lIHdoZXRlciBhbnkgb2YgdGhlICdyZXNvdXJj
ZXMnIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gJ3JlbmRlcmVyJwpAQCAtMjI4LDIyICsxNDks
NiBAQCB2b2lkIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyOjpyZXNvbHZlQ3ljCiAgICAgZW5kID0g
bG9jYWxSZXNvdXJjZXMuZW5kKCk7CiAgICAgZm9yIChIYXNoU2V0PFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyKj46Oml0ZXJhdG9yIGl0ID0gbG9jYWxSZXNvdXJjZXMuYmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiByZXNvdXJj
ZSA9ICppdDsKLQotICAgICAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciByZXNvdXJjZXMgdGhh
dCBjYW4gYmUgY2hhaW5lZCB1c2luZyB4bGluazpocmVmIC0gbmVlZCB0byBkZXRlY3QgY3ljbGVz
IGFzIHdlbGwhCi0gICAgICAgIHN3aXRjaCAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpKSB7Ci0g
ICAgICAgIGNhc2UgUGF0dGVyblJlc291cmNlVHlwZToKLSAgICAgICAgY2FzZSBMaW5lYXJHcmFk
aWVudFJlc291cmNlVHlwZToKLSAgICAgICAgY2FzZSBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlw
ZToKLSAgICAgICAgY2FzZSBGaWx0ZXJSZXNvdXJjZVR5cGU6Ci0gICAgICAgICAgICBpZiAoY2hh
aW5hYmxlUmVzb3VyY2VDb250YWluc0N5Y2xlcyhyZXNvdXJjZSkpIHsKLSAgICAgICAgICAgICAg
ICBicmVha0N5Y2xlKHJlc291cmNlKTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLQogICAgICAgICBpZiAocGFyZW50UmVzb3VyY2VzLmNvbnRh
aW5zKHJlc291cmNlKSB8fCByZXNvdXJjZUNvbnRhaW5zQ3ljbGVzKHJlc291cmNlKSkKICAgICAg
ICAgICAgIGJyZWFrQ3ljbGUocmVzb3VyY2UpOwogICAgIH0KQEAgLTI1OSw2ICsxNjQsMTEgQEAg
dm9pZCBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcjo6cmVzb2x2ZUN5Ywogdm9pZCBTVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlcjo6YnJlYWtDeWNsZShSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogcmVz
b3VyY2VMZWFkaW5nVG9DeWNsZSkKIHsKICAgICBBU1NFUlQocmVzb3VyY2VMZWFkaW5nVG9DeWNs
ZSk7CisgICAgaWYgKHJlc291cmNlTGVhZGluZ1RvQ3ljbGUgPT0gbV9yZXNvdXJjZXMtPmxpbmtl
ZFJlc291cmNlKCkpIHsKKyAgICAgICAgbV9yZXNvdXJjZXMtPnJlc2V0TGlua2VkUmVzb3VyY2Uo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHN3aXRjaCAocmVzb3VyY2VMZWFkaW5n
VG9DeWNsZS0+cmVzb3VyY2VUeXBlKCkpIHsKICAgICBjYXNlIE1hc2tlclJlc291cmNlVHlwZToK
ICAgICAgICAgQVNTRVJUKHJlc291cmNlTGVhZGluZ1RvQ3ljbGUgPT0gbV9yZXNvdXJjZXMtPm1h
c2tlcigpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2
ZXIuaAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXND
eWNsZVNvbHZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICBib29sIHJlc291cmNlQ29udGFpbnNDeWNsZXMoUmVuZGVyT2JqZWN0Kikg
Y29uc3Q7Ci0gICAgYm9vbCBjaGFpbmFibGVSZXNvdXJjZUNvbnRhaW5zQ3ljbGVzKFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKikgY29uc3Q7CiAgICAgdm9pZCBicmVha0N5Y2xlKFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKik7CiAKICAgICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7Cklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNiBA
QCBTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50KGNvbnN0CiAgICAgLCBTVkdVUklS
ZWZlcmVuY2UoKQogICAgICwgU1ZHTGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQoKQotICAgICwgbV9mb2xsb3dMaW5rKHRydWUpCiAgICAgLCBtX2ZpbHRlclVu
aXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkKICAgICAs
IG1fcHJpbWl0aXZlVW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9O
VVNFKQogICAgICwgbV94KExlbmd0aE1vZGVXaWR0aCwgIi0xMCUiKQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHRmlsdGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuaAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDE0ICs1NSw5IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0
eWxlKik7CiAKLSAgICAvLyBGSVhNRTogQWRkIHhsaW5rOmhyZWYgc3VwcG9ydCBmb3IgZmlsdGVy
cywgYW5kIHVzZSB0aGlzIHByb3BlcnR5Ci0gICAgdm9pZCBzZXRGb2xsb3dMaW5rKGJvb2wgZm9s
bG93TGluaykgeyBtX2ZvbGxvd0xpbmsgPSBmb2xsb3dMaW5rOyB9Ci0KIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIAotICAgIGJvb2wg
bV9mb2xsb3dMaW5rOwotCiAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGaWx0ZXJF
bGVtZW50LCBTVkdOYW1lczo6ZmlsdGVyVW5pdHNBdHRyLCBpbnQsIEZpbHRlclVuaXRzLCBmaWx0
ZXJVbml0cykKICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0ZpbHRlckVsZW1lbnQs
IFNWR05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIsIGludCwgUHJpbWl0aXZlVW5pdHMsIHByaW1p
dGl2ZVVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRmlsdGVyRWxlbWVu
dCwgU1ZHTmFtZXM6OnhBdHRyLCBTVkdMZW5ndGgsIFgsIHgpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRp
ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDY0MzQ3KQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNiBAQCBTVkdHcmFkaWVu
dEVsZW1lbnQ6OlNWR0dyYWRpZW50RWxlbWVudChjCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRh
Z05hbWUsIGRvYykKICAgICAsIFNWR1VSSVJlZmVyZW5jZSgpCiAgICAgLCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKCkKLSAgICAsIG1fZm9sbG93TGluayh0cnVlKQogICAgICwgbV9ncmFk
aWVudFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkK
ICAgICAsIG1fZ3JhZGllbnRUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdDo6Y3JlYXRlKFNWR05h
bWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIpKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3Jh
ZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVt
ZW50LmgJKHJldmlzaW9uIDY0MzQ3KQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDExICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4gYnVpbGRTdG9wcygpOwogIAot
ICAgICAgICB2b2lkIHNldEZvbGxvd0xpbmsoYm9vbCBmb2xsb3dMaW5rKSB7IG1fZm9sbG93TGlu
ayA9IGZvbGxvd0xpbms7IH0KLQogICAgIHByb3RlY3RlZDoKLSAgICAgICAgYm9vbCBtX2ZvbGxv
d0xpbms7Ci0KICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdHcmFkaWVudEVs
ZW1lbnQsIFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLCBpbnQsIFNwcmVhZE1ldGhvZCwgc3By
ZWFkTWV0aG9kKQogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0dyYWRpZW50
RWxlbWVudCwgU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyLCBpbnQsIEdyYWRpZW50VW5pdHMs
IGdyYWRpZW50VW5pdHMpCiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHR3Jh
ZGllbnRFbGVtZW50LCBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyLCBTVkdUcmFuc2Zv
cm1MaXN0KiwgR3JhZGllbnRUcmFuc2Zvcm0sIGdyYWRpZW50VHJhbnNmb3JtKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2NDM0NykKKysr
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1NSw3ICsxNTUsNyBAQCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3Jh
ZGllCiAgICAgICAgIHByb2Nlc3NlZEdyYWRpZW50cy5hZGQoY3VycmVudCk7CiAKICAgICAgICAg
Ly8gUmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVs
ZW1lbnQKLSAgICAgICAgTm9kZSogcmVmTm9kZSA9IG1fZm9sbG93TGluayA/IG93bmVyRG9jdW1l
bnQoKS0+Z2V0RWxlbWVudEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+
aHJlZigpKSkgOiAwOworICAgICAgICBOb2RlKiByZWZOb2RlID0gb3duZXJEb2N1bWVudCgpLT5n
ZXRFbGVtZW50QnlJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50LT5ocmVmKCkp
KTsKICAgICAgICAgaWYgKHJlZk5vZGUgJiYgKHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmxpbmVhckdyYWRpZW50VGFnKSB8fCByZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRp
YWxHcmFkaWVudFRhZykpKSB7CiAgICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8U1ZH
R3JhZGllbnRFbGVtZW50Kj4ocmVmTm9kZSk7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRl
cm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDY0MzQ3KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw2IEBAIFNWR1BhdHRlcm5FbGVtZW50OjpT
VkdQYXR0ZXJuRWxlbWVudChjb24KICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNWR0ZpdFRvVmlld0JveCgpCi0gICAgLCBt
X2ZvbGxvd0xpbmsodHJ1ZSkKICAgICAsIG1feChMZW5ndGhNb2RlV2lkdGgpCiAgICAgLCBtX3ko
TGVuZ3RoTW9kZUhlaWdodCkKICAgICAsIG1fd2lkdGgoTGVuZ3RoTW9kZVdpZHRoKQpAQCAtMjM5
LDcgKzIzOCw3IEBAIFBhdHRlcm5BdHRyaWJ1dGVzIFNWR1BhdHRlcm5FbGVtZW50Ojpjb2wKICAg
ICAgICAgcHJvY2Vzc2VkUGF0dGVybnMuYWRkKGN1cnJlbnQpOwogCiAgICAgICAgIC8vIFJlc3Bl
Y3QgeGxpbms6aHJlZiwgdGFrZSBhdHRyaWJ1dGVzIGZyb20gcmVmZXJlbmNlZCBlbGVtZW50Ci0g
ICAgICAgIE5vZGUqIHJlZk5vZGUgPSBtX2ZvbGxvd0xpbmsgPyBvd25lckRvY3VtZW50KCktPmdl
dEVsZW1lbnRCeUlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYoKSkp
IDogMDsKKyAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQoKS0+Z2V0RWxlbWVu
dEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigpKSk7CiAgICAg
ICAgIGlmIChyZWZOb2RlICYmIHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBhdHRlcm5U
YWcpKSB7CiAgICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGF0dGVy
bkVsZW1lbnQqPihjb25zdF9jYXN0PGNvbnN0IE5vZGUqPihyZWZOb2RlKSk7CiAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHUGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQ
YXR0ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NywxMyArNTcsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAgICAgICAgIFBhdHRlcm5BdHRyaWJ1
dGVzIGNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEZv
bGxvd0xpbmsoYm9vbCBmb2xsb3dMaW5rKSB7IG1fZm9sbG93TGluayA9IGZvbGxvd0xpbms7IH0K
IAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5n
dGhzKCkgY29uc3Q7CiAKLSAgICAgICAgYm9vbCBtX2ZvbGxvd0xpbms7Ci0KICAgICAgICAgREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRy
LCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZH
UGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgU1ZHTGVuZ3RoLCBZLCB5KQogICAgICAg
ICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6
d2lkdGhBdHRyLCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2
Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgsNyAr
MTY4LDcgQEAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZQogICAgICAg
ICBwcm9jZXNzZWRHcmFkaWVudHMuYWRkKGN1cnJlbnQpOwogCiAgICAgICAgIC8vIFJlc3BlY3Qg
eGxpbms6aHJlZiwgdGFrZSBhdHRyaWJ1dGVzIGZyb20gcmVmZXJlbmNlZCBlbGVtZW50Ci0gICAg
ICAgIE5vZGUqIHJlZk5vZGUgPSBtX2ZvbGxvd0xpbmsgPyBvd25lckRvY3VtZW50KCktPmdldEVs
ZW1lbnRCeUlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYoKSkpIDog
MDsKKyAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQoKS0+Z2V0RWxlbWVudEJ5
SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigpKSk7CiAgICAgICAg
IGlmIChyZWZOb2RlICYmIChyZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxHcmFk
aWVudFRhZykgfHwgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGllbnRU
YWcpKSkgewogICAgICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0PFNWR0dyYWRpZW50RWxl
bWVudCo+KHJlZk5vZGUpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NDM1NykKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA3LTMw
ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWRyBncmFkaWVudHMgZG8gbm90
IHVwZGF0ZSB3aGVuIHNjcmlwdGVkIHZpYSB4bGluaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI5NTMKKworICAgICAgICBBZGQgbmV3IHRlc3QgY292
ZXJpbmcgdXBkYXRlcyBvZiBsaW5rZWQgZ3JhZGllbnRzLgorCisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtbGlua2VkLWdyYWRpZW50LWV4cGVjdGVkLmNo
ZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRh
dGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxp
bmtlZC1ncmFkaWVudC5zdmc6IEFkZGVkLgorCiAyMDEwLTA3LTMwICBTdGV2ZSBCbG9jayAgPHN0
ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBCbG9jay4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9w
LWxpbmtlZC1ncmFkaWVudC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGll
bnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzgyNDZlYWU2Y2UwOTAwNDc4ODI2
OTRhNGFlM2ZhNGQyClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtbGlua2VkLWdyYWRpZW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRl
LXN0b3AtbGlua2VkLWdyYWRpZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg0NTAKKyAgUmVuZGVyU1ZH
Um9vdCB7c3ZnfSBhdCAoMTAsMTApIHNpemUgNDMweDMxNAorICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
TGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50Il0gW2dyYWRpZW50
VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMTAsMTApXSBbZW5kPSg0NDAsMTApXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMw
MDgwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAw
XSBbY29sb3I9IzAwODAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
e2xpbmVhckdyYWRpZW50fSBbaWQ9ImxpbmtlZEdyYWRpZW50MiJdIFtncmFkaWVudFVuaXRzPXVz
ZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDEwLDEwKV0gW2VuZD0oNDQwLDEwKV0KKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImxpbmtlZEdy
YWRpZW50MSJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDEwLDEwKV0g
W2VuZD0oNDQwLDEwKV0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgNDMw
eDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZGllbnQiXX1dIFtkYXRh
PSJNMTAuMDAsMTAuMDAgTDQ0MC4wMCwxMC4wMCBMNDQwLjAwLDkwLjAwIEwxMC4wMCw5MC4wMCBa
Il0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTEwKSBzaXplIDQzMHg4MCBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImxpbmtlZEdyYWRpZW50MSJdfV0gW2RhdGE9Ik0x
MC4wMCwxMTAuMDAgTDQ0MC4wMCwxMTAuMDAgTDQ0MC4wMCwxOTAuMDAgTDEwLjAwLDE5MC4wMCBa
Il0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMjEwKSBzaXplIDQzMHg4MCBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImxpbmtlZEdyYWRpZW50MiJdfV0gW2RhdGE9Ik0x
MC4wMCwyMTAuMDAgTDQ0MC4wMCwyMTAuMDAgTDQ0MC4wMCwyOTAuMDAgTDEwLjAwLDI5MC4wMCBa
Il0KKyAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzMsMzA2KSBzaXplIDM3NHgxOCBjb250
YWlucyAxIGNodW5rKHMpCisgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAzNzR4MTgKKyAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoMzMuMDAsMzIwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA2MSB3aWR0aCAzNzQu
MDA6ICJBbGwgZ3JhZGllbnRzIHNob3VsZCBsb29rIHRoZSBzYW1lLCBlc3BlY2lhbGx5IGFmdGVy
IGNsaWNraW5nIgorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxk
IDExIHt0ZXh0fSBvZiBjaGlsZCAxIHtzdmd9IG9mIGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC5zdmcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGll
bnQuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9qcy11cGRhdGUt
c3RvcC1saW5rZWQtZ3JhZGllbnQuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACis8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiBzdGFuZGFsb25lPSJubyI/
PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAyMDAxMDkwNC8vRU4iICJo
dHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+
Cis8c3ZnIHdpZHRoPSI0NTAiIGhlaWdodD0iNDUwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKzxk
ZWZzPgorICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9InVz
ZXJTcGFjZU9uVXNlIiB4MT0iMTAiIHkxPSIxMCIgeDI9IjQ0MCIgeTI9IjEwIj4KKyAgICAgICAg
PHN0b3Agc3RvcC1jb2xvcj0iZ3JlZW4iIG9mZnNldD0iMCIvPgorICAgICAgICA8c3RvcCBpZD0i
c3RvcDEiIHN0b3AtY29sb3I9InJlZCIgb2Zmc2V0PSIwLjUiLz4KKyAgICAgICAgPHN0b3Agc3Rv
cC1jb2xvcj0iZ3JlZW4iIG9mZnNldD0iMSIvPgorICAgIDwvbGluZWFyR3JhZGllbnQ+CisKKyAg
ICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmtlZEdyYWRpZW50MiIgeGxpbms6aHJlZj0iI2xpbmtl
ZEdyYWRpZW50MSIvPgorICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGlua2VkR3JhZGllbnQxIiB4
bGluazpocmVmPSIjZ3JhZGllbnQiLz4KKzwvZGVmcz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgd2luZG93LnNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDE1MCwgNTAp
OworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOworICAgIH0sIDApOworfQorCitmdW5jdGlvbiBtb3VzZUhhbmRsZXIoZXZ0KQor
eworICAgIHZhciBzdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AxIik7CisgICAg
c3RvcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0b3ApOworCisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworfQorPC9zY3JpcHQ+CisKKzxyZWN0IG9uY2xpY2s9Im1vdXNlSGFuZGxlcihldnQpIiB4
PSIxMCIgeT0iMTAiIHdpZHRoPSI0MzAiIGhlaWdodD0iODAiIGZpbGw9InVybCgjZ3JhZGllbnQp
Ii8+Cis8cmVjdCB4PSIxMCIgeT0iMTEwIiB3aWR0aD0iNDMwIiBoZWlnaHQ9IjgwIiBmaWxsPSJ1
cmwoI2xpbmtlZEdyYWRpZW50MSkiLz4KKzxyZWN0IHg9IjEwIiB5PSIyMTAiIHdpZHRoPSI0MzAi
IGhlaWdodD0iODAiIGZpbGw9InVybCgjbGlua2VkR3JhZGllbnQyKSIvPgorPHRleHQgdGV4dC1h
bmNob3I9Im1pZGRsZSIgeD0iMjIwIiB5PSIzMjAiPkFsbCBncmFkaWVudHMgc2hvdWxkIGxvb2sg
dGhlIHNhbWUsIGVzcGVjaWFsbHkgYWZ0ZXIgY2xpY2tpbmc8L3RleHQ+Cis8L3N2Zz4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtl
ZC1ncmFkaWVudC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtbGlua2VkLWdyYWRpZW50LWV4cGVjdGVkLnBuZwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFt
CgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFEx
QkpRME1nVUhKdlptbHNaUUFBZUFHRgpsRXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWls
RGJhYlhXa1hFWSs5QWl5RFJ6WnhwTk16R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtV
THJhMUVFY2FVaWlFSTNVc2IvSnUxTUtsWXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFo
MjZQQ0EKdG5nQ1ZhaEJOYmhTaHVlMEp4TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYx
TGoyTHY2NTcyK3A3NStubHZOUzRUQW9wRwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2
a1JyY24yVUcrUVY2YURmRmdpTlBDTTRDcU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENY
dGFjOFlwb2I5Um43SVdkREdsWThCcld1QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQ
cEQ4ZnBYYmMKeTJ6WjdJZFRxcU9zNlVPcDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRj
b3E5bFljb3JJS2czMk0zNHlUbGFpSU9lZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFn
WndjaTU5bHVjT1hGS2M0RjZNZzVwMTB6TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6
aFNmY29rZzNZOWdxY003K1dzWjd0YkI3RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5
WTNrZXhselR6ZTUKZ2RkVXh0M1RHN0N5MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpS
K1U4Skk5NHhZTXlwbTgvbHRxWElOZlRuanllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RG
cEl5N3pwcTdqaVcvODJ6dHNoekhJWUZBUk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fh
c0xEOGI4cUxTVEt1eXdxdXZDWmV6NzdlMDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBi
OWVxUzgwVkR3ajdsSFQKR0wvOG5YRmxabG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhs
bmZGSzR1WTErcEwzczBtVU5jakUrSHVoU2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4
NCtxYXZrZXFPT0habXNmbkUyWEExci83T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1y
cExiVk5iMVU2KzdWVDNsM2YwY2xZbVRySnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1
NHBxSEpmMmpDeldWTVMvaU8KNFBZZmQwajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN2Qw
RmpPVEkyUVpnYjNKaFpvWUxNN1BDekZHWUZFNFVac2JUSlFvcQpUQXF6d3N4NFlXYU9RZ296TS91
dno0b25ibGZUM0czdDFsLzNXTHFiZG5WM3VlcjV1bWY5ZHR1ZVBYMWFPZ3NCQWdRSUVDQkFnQUFC
CkFnVDJnY0FSOXNFMmJJSUFBUUlFQ0JBZ1FJQUFBUUtEZ0FEaWhVQ0FBQUVDQkFnUUlFQ0F3RDRU
RUVEMkdiVU5FU0JBZ0FBQkFnUUkKRUNBZ2dIZ05FQ0JBZ0FBQkFnUUlFQ0N3endRRWtIMUdiVU1F
Q0JBZ1FJQUFBUUlFQ0FnZ1hnTUVDQkFnUUlBQUFRSUVDT3d6QVFGawpuMUhiRUFFQ0JBZ1FJRUNB
QUFFQ0FvalhBQUVDQkFnUUlFQ0FBQUVDKzB4QUFObG4xRFpFZ0FBQkFnUUlFQ0JBZ01BQjJ4THNP
WGpQCnRnLzFPQUlFQ0JBZ3NOOEYrb1A2L1Q0R0F5QkFnQUNCWE1BM0lMbUpGZ0lFQ0JBZ1FJQUFB
UUlFQ2drSUlJVmdkVXVBQUFFQ0JBZ1EKSUVDQVFDNGdnT1FtV2dnUUlFQ0FBQUVDQkFnUUtDUWdn
QlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFBSktiYUNGQWdBQUJBZ1FJRUNCQQpvSkNBQUZJSVZyY0VD
QkFnUUlBQUFRSUVDT1FDQWtodW9vVUFBUUlFQ0JBZ1FJQUFnVUlDQWtnaFdOMFNJRUNBQUFFQ0JB
Z1FJSkFMCkNDQzVpUllDQkFnUUlFQ0FBQUVDQkFvSkNDQ0ZZSFZMZ0FBQkFnUUlFQ0JBZ0VBdUlJ
RGtKbG9JRUNCQWdBQUJBZ1FJRUNna0lJQVUKZ3RVdEFRSUVDQkFnUUlBQUFRSzVnQUNTbTJnaFFJ
QUFBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBQUFFQ0JBamtBZ0pJYnFLRgpBQUVDQkFnUUlF
Q0FBSUZDQWdKSUlWamRFaUJBZ0FBQkFnUUlFQ0NRQ3dnZ3VZa1dBZ1FJRUNCQWdBQUJBZ1FLQ1Fn
Z2hXQjFTNEFBCkFRSUVDQkFnUUlCQUxpQ0E1Q1phQ0JBZ1FJQUFBUUlFQ0JBb0pDQ0FGSUxWTFFF
Q0JBZ1FJRUNBQUFFQ3VZQUFrcHRvSVVDQUFBRUMKQkFnUUlFQ2drSUFBVWdoV3R3UUlFQ0JBZ0FB
QkFnUUk1QUlDU0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lDU0NGWTNSSWdRSUFBQVFJRQpDQkFna0Fz
SUlMbUpGZ0lFQ0JBZ1FJQUFBUUlFQ2drSUlJVmdkVXVBQUFFQ0JBZ1FJRUNBUUM0Z2dPUW1XZ2dR
SUVDQUFBRUNCQWdRCktDUWdnQlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFBSktiYUNGQWdBQUJBZ1FJ
RUNCQW9KQ0FBRklJVnJjRUNCQWdRSUFBQVFJRUNPUUMKQWtodW9vVUFBUUlFQ0JBZ1FJQUFnVUlD
QWtnaFdOMFNJRUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNCQWdRSUVDQUFBRUNCQW9KQ0NDRgpZSFZM
Z0FBQkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNCQWdBQUJBZ1FJRUNna0lJQVVndFV0QVFJRUNCQWdR
SUFBQVFLNWdBQ1NtMmdoClFJQUFBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBQUFFQ0JBamtB
Z0pJYnFLRkFBRUNCQWdRSUVDQUFJRkNBZ0pJSVZqZEVpQkEKZ0FBQkFnUUlFQ0NRQ3dnZ3VZa1dB
Z1FJRUNCQWdBQUJBZ1FLQ1FnZ2hXQjFTNEFBQVFJRUNCQWdRSUJBTGlDQTVDWmFDQkFnUUlBQQpB
UUlFQ0JBb0pDQ0FGSUxWTFFFQ0JBZ1FJRUNBQUFFQ3VZQUFrcHRvSVVDQUFBRUNCQWdRSUVDZ2tJ
QUFVZ2hXdHdRSUVDQkFnQUFCCkFnUUk1QUlDU0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lDU0NGWTNS
SWdRSUFBQVFJRUNCQWdrQXNJSUxtSkZnSUVDQkFnUUlBQUFRSUUKQ2drSUlJVmdkVXVBQUFFQ0JB
Z1FJRUNBUUM0Z2dPUW1XZ2dRSUVDQUFBRUNCQWdRS0NRZ2dCU0MxUzBCQWdRSUVDQkFnQUFCQXJt
QQpBSktiYUNGQWdBQUJBZ1FJRUNCQW9KQ0FBRklJVnJjRUNCQWdRSUFBQVFJRUNPUUNBa2h1b29V
QUFRSUVDQkFnUUlBQWdVSUNBa2doCldOMFNJRUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNCQWdRSUVD
QUFBRUNCQW9KQ0NDRllIVkxnQUFCQWdRSUVDQkFnRUF1SUlEa0psb0kKRUNCQWdBQUJBZ1FJRUNn
a0lJQVVndFV0QVFJRUNCQWdRSUFBQVFLNWdBQ1NtMmdoUUlBQUFRSUVDQkFnUUtDUWdBQlNDRmEz
QkFnUQpJRUNBQUFFQ0JBamtBZ0pJYnFLRkFBRUNCQWdRSUVDQUFJRkNBZ0pJSVZqZEVpQkFnQUFC
QWdRSUVDQ1FDd2dndVlrV0FnUUlFQ0JBCmdBQUJBZ1FLQ1FnZ2hXQjFTNEFBQVFJRUNCQWdRSUJB
TGlDQTVDWmFDQkFnUUlBQUFRSUVDQkFvSkNDQUZJTFZMUUVDQkFnUUlFQ0EKQUFFQ3VZQUFrcHRv
SVVDQUFBRUNCQWdRSUVDZ2tJQUFVZ2hXdHdRSUVDQkFnQUFCQWdRSTVBSUNTRzZpaFFBQkFnUUlF
Q0JBZ0FDQgpRZ0lDU0NGWTNSSWdRSUFBQVFJRUNCQWdrQXNJSUxtSkZnSUVDQkFnUUlBQUFRSUVD
Z2tJSUlWZ2RVdUFBQUVDQkFnUUlFQ0FRQzRnCmdPUW1XZ2dRSUVDQUFBRUNCQWdRS0NRZ2dCU0Mx
UzBCQWdRSUVDQkFnQUFCQXJtQUFKS2JhQ0ZBZ0FBQkFnUUlFQ0JBb0pDQUFGSUkKVnJjRUNCQWdR
SUFBQVFJRUNPUUNBa2h1b29VQUFRSUVDQkFnUUlBQWdVSUNlL3EwRk9wYnR3UUlFQ0JBZ0FBQkFn
UUlFRmdROEEzSQpBb2NWQWdRSUVDQkFnQUFCQWdSS0NnZ2dKWFgxVFlBQUFRSUVDQkFnUUlEQWdv
QUFzc0JoaFFBQkFnUUlFQ0JBZ0FDQmtnSUNTRWxkCmZSTWdRSUFBQVFJRUNCQWdzQ0FnZ0N4d1dD
RkFnQUFCQWdRSUVDQkFvS1NBQUZKU1Y5OEVDQkFnUUlBQUFRSUVDQ3dJQ0NBTEhGWUkKRUNCQWdB
QUJBZ1FJRUNncElJQ1UxTlUzQVFJRUNCQWdRSUFBQVFJTEFnTElBb2NWQWdRSUVDQkFnQUFCQWdS
S0NnZ2dKWFgxVFlBQQpBUUlFQ0JBZ1FJREFnb0FBc3NCaGhRQUJBZ1FJRUNCQWdBQ0JrZ0lDU0Vs
ZGZSTWdRSUFBQVFJRUNCQWdzQ0FnZ0N4d1dDRkFnQUFCCkFnUUlFQ0JBb0tTQUFGSlNWOThFQ0JB
Z1FJQUFBUUlFQ0N3SUNDQUxIRllJRUNCQWdBQUJBZ1FJRUNncElJQ1UxTlUzQVFJRUNCQWcKUUlB
QUFRSUxBZ0xJQW9jVkFnUUlFQ0JBZ0FBQkFnUktDZ2dnSlhYMVRZQUFBUUlFQ0JBZ1FJREFnb0FB
c3NCaGhRQUJBZ1FJRUNCQQpnQUNCa2dJSGJOdjVub1AzYlB0UWp5TkFnQUFCQXZ0ZG9EK28zKzlq
TUFBQ0JBZ1F5QVY4QTVLYmFDRkFnQUFCQWdRSUVDQkFvSkNBCkFGSUlWcmNFQ0JBZ1FJQUFBUUlF
Q09RQ0FraHVvb1VBQVFJRUNCQWdRSUFBZ1VJQ0FrZ2hXTjBTSUVDQUFBRUNCQWdRSUpBTENDQzUK
aVJZQ0JBZ1FJRUNBQUFFQ0JBb0pDQ0NGWUhWTGdBQUJBZ1FJRUNCQWdFQXVJSURrSmxvSUVDQkFn
QUFCQWdRSUVDZ2tJSUFVZ3RVdApBUUlFQ0JBZ1FJQUFBUUs1Z0FDU20yZ2hRSUFBQVFJRUNCQWdR
S0NRZ0FCU0NGYTNCQWdRSUVDQUFBRUNCQWprQWdKSWJxS0ZBQUVDCkJBZ1FJRUNBQUlGQ0FnSklJ
VmpkRWlCQWdBQUJBZ1FJRUNDUUN3Z2d1WWtXQWdRSUVDQkFnQUFCQWdRS0NRZ2doV0IxUzRBQUFR
SUUKQ0JBZ1FJQkFMaUNBNUNaYUNCQWdRSUFBQVFJRUNCQW9KQ0NBRklMVkxRRUNCQWdRSUVDQUFB
RUN1WUFBa3B0b0lVQ0FBQUVDQkFnUQpJRUNna0lBQVVnaFd0d1FJRUNCQWdBQUJBZ1FJNUFJQ1NH
NmloUUFCQWdRSUVDQkFnQUNCUWdJQ1NDRlkzUklnUUlBQUFRSUVDQkFnCmtBc0lJTG1KRmdJRUNC
QWdRSUFBQVFJRUNna0lJSVZnZFV1QUFBRUNCQWdRSUVDQVFDNGdnT1FtV2dnUUlFQ0FBQUVDQkFn
UUtDUWcKZ0JTQzFTMEJBZ1FJRUNCQWdBQUJBcm1BQUpLYmFDRkFnQUFCQWdRSUVDQkFvSkNBQUZJ
SVZyY0VDQkFnUUlBQUFRSUVDT1FDQWtodQpvb1VBQVFJRUNCQWdRSUFBZ1VJQ0FrZ2hXTjBTSUVD
QUFBRUNCQWdRSUpBTENDQzVpUllDQkFnUUlFQ0FBQUVDQkFvSkNDQ0ZZSFZMCmdBQUJBZ1FJRUNC
QWdFQXVJSURrSmxvSUVDQkFnQUFCQWdRSUVDZ2tJSUFVZ3RVdEFRSUVDQkFnUUlBQUFRSzVnQUNT
bTJnaFFJQUEKQVFJRUNCQWdRS0NRZ0FCU0NGYTNCQWdRSUVDQUFBRUNCQWprQWdKSWJxS0ZBQUVD
QkFnUUlFQ0FBSUZDQWdKSUlWamRFaUJBZ0FBQgpBZ1FJRUNDUUN3Z2d1WWtXQWdRSUVDQkFnQUFC
QWdRS0NRZ2doV0IxUzRBQUFRSUVDQkFnUUlCQUxpQ0E1Q1phQ0JBZ1FJQUFBUUlFCkNCQW9KQ0NB
RklMVkxRRUNCQWdRSUVDQUFBRUN1WUFBa3B0b0lVQ0FBQUVDQkFnUUlFQ2drSUFBVWdoV3R3UUlF
Q0JBZ0FBQkFnUUkKNUFJQ1NHNmloUUFCQWdRSUVDQkFnQUNCUWdJQ1NDRlkzUklnUUlBQUFRSUVD
QkFna0FzSUlMbUpGZ0lFQ0JBZ1FJQUFBUUlFQ2drSQpJSVZnZFV1QUFBRUNCQWdRSUVDQVFDNGdn
T1FtV2dnUUlFQ0FBQUVDQkFnUUtDUWdnQlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFBSktiCmFDRkFn
QUFCQWdRSUVDQkFvSkNBQUZJSVZyY0VDQkFnUUlBQUFRSUVDT1FDQWtodW9vVUFBUUlFQ0JBZ1FJ
QUFnVUlDQWtnaFdOMFMKSUVDQUFBRUNCQWdRSUpBTENDQzVpUllDQkFnUUlFQ0FBQUVDQkFvSkND
Q0ZZSFZMZ0FBQkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNCQQpnQUFCQWdRSUVDZ2tJSUFVZ3RVdEFR
SUVDQkFnUUlBQUFRSzVnQUNTbTJnaFFJQUFBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBCkFB
RUNCQWprQWdKSWJxS0ZBQUVDQkFnUUlFQ0FBSUZDQWdKSUlWamRFaUJBZ0FBQkFnUUlFQ0NRQ3dn
Z3VZa1dBZ1FJRUNCQWdBQUIKQWdRS0NRZ2doV0IxUzRBQUFRSUVDQkFnUUlCQUxpQ0E1Q1phQ0JB
Z1FJQUFBUUlFQ0JBb0pDQ0FGSUxWTFFFQ0JBZ1FJRUNBQUFFQwp1WUFBa3B0b0lVQ0FBQUVDQkFn
UUlFQ2drSUFBVWdoV3R3UUlFQ0JBZ0FBQkFnUUk1QUlDU0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lD
ClNDRlkzUklnUUlBQUFRSUVDQkFna0FzSUlMbUpGZ0lFQ0JBZ1FJQUFBUUlFQ2drSUlJVmdkVXVB
QUFFQ0JBZ1FJRUNBUUM0Z2dPUW0KV2dnUUlFQ0FBQUVDQkFnUUtDUWdnQlNDMVMwQkFnUUlFQ0JB
Z0FBQkFybUFBSktiYUNGQWdBQUJBZ1FJRUNCQW9KQ0FBRklJVnJjRQpDQkFnUUlBQUFRSUVDT1FD
QWtodW9vVUFBUUlFQ0JBZ1FJQUFnVUlDQWtnaFdOMFNJRUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNC
QWdRCklFQ0FBQUVDQkFvSkNDQ0ZZSFZMZ0FBQkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNCQWdBQUJB
Z1FJRUNna3NLZFBTNkcrZFV1QUFBRUMKQkFnUUlFQ0FBSUVGQWQrQUxIQllJVUNBQUFFQ0JBZ1FJ
RUNncElBQVVsSlgzd1FJRUNCQWdBQUJBZ1FJTEFnSUlBc2NWZ2dRSUVDQQpBQUVDQkFnUUtDa2dn
SlRVMVRjQkFnUUlFQ0JBZ0FBQkFnc0NBc2dDaHhVQ0JBZ1FJRUNBQUFFQ0JFb0tDQ0FsZGZWTmdB
QUJBZ1FJCkVDQkFnTUNDZ0FDeXdHR0ZBQUVDQkFnUUlFQ0FBSUdTQWdKSVNWMTlFeUJBZ0FBQkFn
UUlFQ0N3SUNDQUxIQllJVUNBQUFFQ0JBZ1EKSUVDZ3BJQUFVbEpYM3dRSUVDQkFnQUFCQWdRSUxB
Z0lJQXNjVmdnUUlFQ0FBQUVDQkFnUUtDa2dnSlRVMVRjQkFnUUlFQ0JBZ0FBQgpBZ3NDQXNnQ2h4
VUNCQWdRSUVDQUFBRUNCRW9LQ0NBbGRmVk5nQUFCQWdRSUVDQkFnTUNDZ0FDeXdHR0ZBQUVDQkFn
UUlFQ0FBSUdTCkFnSklTVjE5RXlCQWdBQUJBZ1FJRUNDd0lDQ0FMSEJZSVVDQUFBRUNCQWdRSUVD
Z3BJQUFVbEpYM3dRSUVDQkFnQUFCQWdRSUxBZ0kKSUFzY1ZnZ1FJRUNBQUFFQ0JBZ1FLQ2x3d0xh
ZDd6bDR6N1lQOVRnQ0JBZ1FJTERmQmZxRCt2MCtCZ01nUUlBQWdWekFOeUM1aVJZQwpCQWdRSUVD
QUFBRUNCQW9KQ0NDRllIVkxnQUFCQWdRSUVDQkFnRUF1SUlEa0psb0lFQ0JBZ0FBQkFnUUlFQ2dr
SUlBVWd0VXRBUUlFCkNCQWdRSUFBQVFLNWdBQ1NtMmdoUUlBQUFRSUVDQkFnUUtDUWdBQlNDRmEz
QkFnUUlFQ0FBQUVDQkFqa0FnSklicUtGQUFFQ0JBZ1EKSUVDQUFJRkNBZ0pJSVZqZEVpQkFnQUFC
QWdRSUVDQ1FDd2dndVlrV0FnUUlFQ0JBZ0FBQkFnUUtDUWdnaFdCMVM0QUFBUUlFQ0JBZwpRSUJB
TGlDQTVDWmFDQkFnUUlBQUFRSUVDQkFvSkNDQUZJTFZMUUVDQkFnUUlFQ0FBQUVDdVlBQWtwdG9J
VUNBQUFFQ0JBZ1FJRUNnCmtJQUFVZ2hXdHdRSUVDQkFnQUFCQWdRSTVBSUNTRzZpaFFBQkFnUUlF
Q0JBZ0FDQlFnSUNTQ0ZZM1JJZ1FJQUFBUUlFQ0JBZ2tBc0kKSUxtSkZnSUVDQkFnUUlBQUFRSUVD
Z2tJSUlWZ2RVdUFBQUVDQkFnUUlFQ0FRQzRnZ09RbVdnZ1FJRUNBQUFFQ0JBZ1FLQ1FnZ0JTQwox
UzBCQWdRSUVDQkFnQUFCQXJtQUFKS2JhQ0ZBZ0FBQkFnUUlFQ0JBb0pDQUFGSUlWcmNFQ0JBZ1FJ
QUFBUUlFQ09RQ0FraHVvb1VBCkFRSUVDQkFnUUlBQWdVSUNBa2doV04wU0lFQ0FBQUVDQkFnUUlK
QUxDQ0M1aVJZQ0JBZ1FJRUNBQUFFQ0JBb0pDQ0NGWUhWTGdBQUIKQWdRSUVDQkFnRUF1SUlEa0ps
b0lFQ0JBZ0FBQkFnUUlFQ2drSUlBVWd0VXRBUUlFQ0JBZ1FJQUFBUUs1Z0FDU20yZ2hRSUFBQVFJ
RQpDQkFnUUtDUWdBQlNDRmEzQkFnUUlFQ0FBQUVDQkFqa0FnSklicUtGQUFFQ0JBZ1FJRUNBQUlG
Q0FnSklJVmpkRWlCQWdBQUJBZ1FJCkVDQ1FDd2dndVlrV0FnUUlFQ0JBZ0FBQkFnUUtDUWdnaFdC
MVM0QUFBUUlFQ0JBZ1FJQkFMaUNBNUNaYUNCQWdRSUFBQVFJRUNCQW8KSkNDQUZJTFZMUUVDQkFn
UUlFQ0FBQUVDdVlBQWtwdG9JVUNBQUFFQ0JBZ1FJRUNna0lBQVVnaFd0d1FJRUNCQWdBQUJBZ1FJ
NUFJQwpTRzZpaFFBQkFnUUlFQ0JBZ0FDQlFnSUNTQ0ZZM1JJZ1FJQUFBUUlFQ0JBZ2tBc0lJTG1K
RmdJRUNCQWdRSUFBQVFJRUNna0lJSVZnCmRVdUFBQUVDQkFnUUlFQ0FRQzRnZ09RbVdnZ1FJRUNB
QUFFQ0JBZ1FLQ1FnZ0JTQzFTMEJBZ1FJRUNCQWdBQUJBcm1BQUpLYmFDRkEKZ0FBQkFnUUlFQ0JB
b0pDQUFGSUlWcmNFQ0JBZ1FJQUFBUUlFQ09RQ0FraHVvb1VBQVFJRUNCQWdRSUFBZ1VJQ0FrZ2hX
TjBTSUVDQQpBQUVDQkFnUUlKQUxDQ0M1aVJZQ0JBZ1FJRUNBQUFFQ0JBb0pDQ0NGWUhWTGdBQUJB
Z1FJRUNCQWdFQXVJSURrSmxvSUVDQkFnQUFCCkFnUUlFQ2drSUlBVWd0VXRBUUlFQ0JBZ1FJQUFB
UUs1Z0FDU20yZ2hRSUFBQVFJRUNCQWdRS0NRZ0FCU0NGYTNCQWdRSUVDQUFBRUMKQkFqa0FnSkli
cUtGQUFFQ0JBZ1FJRUNBQUlGQ0FnSklJVmpkRWlCQWdBQUJBZ1FJRUNDUUN3Z2d1WWtXQWdRSUVD
QkFnQUFCQWdRSwpDUWdnaFdCMVM0QUFBUUlFQ0JBZ1FJQkFMaUNBNUNaYUNCQWdRSUFBQVFJRUNC
QW9KQ0NBRklMVkxRRUNCQWdRSUVDQUFBRUN1WUFBCmtwdG9JVUNBQUFFQ0JBZ1FJRUNna0lBQVVn
aFd0d1FJRUNCQWdBQUJBZ1FJNUFJQ1NHNmloUUFCQWdRSUVDQkFnQUNCUWdJQ1NDRlkKM1JJZ1FJ
QUFBUUlFQ0JBZ2tBc0lJTG1KRmdJRUNCQWdRSUFBQVFJRUNna0lJSVZnZFV1QUFBRUNCQWdRSUVD
QVFDNGdnT1FtV2dnUQpJRUNBQUFFQ0JBZ1FLQ1FnZ0JTQzFTMEJBZ1FJRUNCQWdBQUJBcm1BQUpL
YmFDRkFnQUFCQWdRSUVDQkFvSkNBQUZJSVZyY0VDQkFnClFJQUFBUUlFQ09RQ0FraHVvb1VBQVFJ
RUNCQWdRSUFBZ1VJQ0FrZ2hXTjBTSUVDQUFBRUNCQWdRSUpBTENDQzVpUllDQkFnUUlFQ0EKQUFF
Q0JBb0pDQ0NGWUhWTGdBQUJBZ1FJRUNCQWdFQXVJSURrSmxvSUVDQkFnQUFCQWdRSUVDZ2tJSUFV
Z3RVdEFRSUVDQkFnUUlBQQpBUUs1Z0FDU20yZ2hRSUFBQVFJRUNCQWdRS0NRZ0FCU0NGYTNCQWdR
SUVDQUFBRUNCQWprQWdKSWJxS0ZBQUVDQkFnUUlFQ0FBSUZDCkFudjZ0QlRxVzdjRUNCQWdRSUFB
QVFJRUNCQllFUEFOeUFLSEZRSUVDQkFnUUlBQUFRSUVTZ29JSUNWMTlVMkFBQUVDQkFnUUlFQ0EK
d0lLQUFMTEFZWVVBQVFJRUNCQWdRSUFBZ1pJQ0FraEpYWDBUSUVDQUFBRUNCQWdRSUxBZ0lJQXNj
RmdoUUlBQUFRSUVDQkFnUUtDawpnQUJTVWxmZkJBZ1FJRUNBQUFFQ0JBZ3NDQWdnQ3h4V0NCQWdR
SUFBQVFJRUNCQW9LU0NBbE5UVk53RUNCQWdRSUVDQUFBRUNDd0lDCnlBS0hGUUlFQ0JBZ1FJQUFB
UUlFU2dvSUlDVjE5VTJBQUFFQ0JBZ1FJRUNBd0lLQUFMTEFZWVVBQVFJRUNCQWdRSUFBZ1pJQ0Fr
aEoKWFgwVElFQ0FBQUVDQkFnUUlMQWdJSUFzY0ZnaFFJQUFBUUlFQ0JBZ1FLQ2tnQUJTVWxmZkJB
Z1FJRUNBQUFFQ0JBZ3NDQWdnQ3h4VwpDQkFnUUlBQUFRSUVDQkFvS1NDQWxOVFZOd0VDQkFnUUlF
Q0FBQUVDQ3dJQ3lBS0hGUUlFQ0JBZ1FJQUFBUUlFU2dwVUcwQisrOXZmCnJwMzMzLy8rOSs1akgv
dll6bVBtNnp0MzdLTWIvLzczdjd0dmZPTWJPMXY3OWE5LzNYM3JXOS9hV2EvcHhwLys5S2Z1aHov
OFliRWgKYmFyRjNHbytrRTNQbno5KzAvcGYvL3JYN252Zis5Nm1oNjI4djdUWHlnMGZ6dS9Zelh0
by9wcVpyNWVnL09sUGY5b2Rjc2doM1c5Kwo4NXNTM2Evc2N6NjMzVGh0ZWkvc3BxK1ZBM1FIQVFJ
RUNCRFlJRkJ0QUxuUmpXN1VmZjNyWDE4Ni9NOTg1alBkUlM5NjBlNDYxN25PCmNQOThmZW1UQ2pa
Ky92T2Y3ODUvL3ZOM3Q3Lzk3WGUyY3RCQkIrMk1iNmV4Z2h1dmZlMXJ1NU9kN0dUZFMxLzYwaUtq
MlZTTFpWYlQKZ1d4Ni92U3gyOXgrd3h2ZTBKM2lGS2ZvbnZqRUoyN3o4T3d4cGIyeURXcllFZGoy
UFRSL3pjelhkenJjaXplZThwU25kSzkvL2V1SApEMEhPZHJhemRSRUs5c1d5Ykc3Yk9tM3pYdGky
cjMweFY5c2dRSUFBZ1hZRnFnd2czL3ptTjd2M3ZPYzkzZE9mL3ZTbDhoZTR3QVc2Cm05M3NaanYz
emRkMzd0aEhOODU3M3ZOMmw3emtKYnNERGpoZ1o0dVBlOXpqdXZlKzk3MDc2NGZseHAvLy9PZnVi
Vzk3MjJIcFl1ZTUKMTd2ZTlicFRuL3JVTyt0Nys4YW1XaXl6bW81aDAvT25qOTNtOXJXdmZlM3VI
T2M0eHpZUDNYbk0xTHUwMTg1RzNjZ0V0bjBQelY4ego4L1dzNDhQWThNYy8vckY3d0FNZTBOM3BU
bmZxSHZLUWgzUWYrdENIdW4vOTYxOTc3VDI2Ym5qTDVyYXQwemJ2aFczN1dqZEc5eEVnClFJQUFn
VTBDVlFhUTV6Ly8rZDNkNzM3MzdpVXZlVW4zaHovOFlla2NZbWQvejU0OU8vZk4xM2Z1bU4zbysz
N1dzbm4xbi8vODU4b0gKL2VjLy94bnVPK0lSajlnZDRRai80eno2MFkvZW5lUWtKMW41dkczditN
Yy8vdEhGdDBHZi9leG5zNmRzTzVmNTQ3YTF5amE0WmNPcQovbGRaemJ0ZDlmejU0N1pkUDlLUmpy
VHdXbG4zdkdYZWUzczhzZjE1VGNZeHJYdXRqWS9aM3o5WGpUM0d0ZTYrM1k1NzFYdG9tZEc4ClJ2
UDEzVzU3ZlB5eWJYM2xLMS9wNGpEQzhmZlBhVTk3MnBYdjBiR2Z2Zmx6UHJkVlRzdTJ1ZW05c0p1
K3B2M3Z6YnBQKzNXYkFBRUMKQk5vVStOOUg5cFhNN3k5LytVdjN1OS85cmp2NDRJT0hiMEJlK01J
WERtSGtzQTR2UHRXKzR4M3YyQjN2ZU1jYnp0VTQ3bkdQMjUzNwozT2Z1TG43eGkzZEhQZXBSdStj
Kzk3bERZRGpLVVk3U3hlRVY4WTFEaEovUGZlNXpRN0I0NHh2ZjJEM3ptYzhjbmhOamlmTUM3bnZm
Cit3Nkg5OFN4NEYvODRoZTdveDN0YU1Nd2YvempIdy9oNlUxdmVsUDNpVTk4WW1pTHh6eis4WS92
NGhDa21GOTh1M094aTEyc2U5LzcKM3RjOTV6blA2VTUxcWxOMVp6clRtYnJIUHZheHd6Y3A3M2pI
TzdyVG5lNTAzZE9lOXJUaDI2Q2YvT1FuM2ZlLy8vM3VxVTk5YXZmbQpONys1Ky8zdmY5L0ZKN0Z4
V01YMFhKaGhZLy85M3l0ZThZcVZqNHNkcUFjLytNSERvVmpIT3RheGhqNVBmL3JURDgrTWVUL29R
US9xClltZmtPOS81em5ESVZvenJHTWM0UnZlYTE3eW11OGM5N2pGOEFuelh1OTYxZTlXclh0VTk3
R0VQNnk1em1jdDB6M3JXczZhYjM3bTkKem1yblFXdHVyQnRQUEczVC9kT3V2L0NGTDNTM3ZlMXR1
OHRlOXJMZFRXOTYwNTE2am85WjVoMzNyZk5hVmR1eHorblBWVFdKYi95Vwp2ZGJpMjhCNGZjVDJM
MzNwU3cvdmk5anhqZGZCTVk5NXpPNFJqM2hFOTlHUGZyUzc4NTN2UEh3YUg5dmF6WGltWTl2MDNH
VmpmOWU3CjN0Vzk0QVV2Nk01NHhqTU9oeUhGaHdheGt4c2ZJbHpwU2xjYXVsODNubmhmUHZLUmp4
emVseEd5ejNlKzgzWDN1OS85dW1Ydm9WVkcKOHpuTTExLzV5bGQyRDMvNHc0ZjMweE9lOElUdXpH
YytjeGNoNG5hM3UxMzNtTWM4cHJ2VXBTNDFmOHJ3bmx0V2o1aHJ2QWZpRzQrNwozZTF1dzN2K3hD
YytjZlllamRma3N2ZjdwejcxcWFXL2F5NTg0UXN2akdHVnk4S0Qwc295cDIyZk8zOHZuUENFSjF6
NHZiWHBkMU9NClpkM3YxZmhXMkVLQUFBRUNCSllLcEUrdXFscFNFT2pUb1V2RG1LNTczZXYyYWNl
bVQ1K2NaMk5NTzJEOVNVOTYwcDMyK2ZyT0hmKzkKOGVRblA3bFBPODdEMnRlKzlyWDRHcVJQT3do
OU9obTdUenMrL1FsT2NJSStCWkkrN2R6MzZkdVhQaDZUenBYbzMvLys5dy9QU1lHbwpUK2VjL0xl
M3ZrODdWMzA2UDJCWWovR2Q4cFNuN0s5d2hTc002K21rMVA0dWQ3bExuLzVCSDliVHA2ajlsYTk4
NVQ3dGlBOXpTVHVMCncvYlNDWi85cjM3MXEvNHNaem5MOEYvYW1ldlREa1YvMXJPZXRiL05iVzZ6
czYzMENXdi9xRWM5YWxoUG45RDNhU2R0NTc3NzNPYysKZmRvNTNWa2ZiNng3M0xuT2RhNytQT2M1
VDU4T0hlblR6bUdmam1IZjJWN01KUVdqL3VVdmYvblFWWXc5blc4enpIZnNPK2FhZGhySAoxZUcr
NjEvLytqdnI4MXFzczlwNTB1VEc5UG1ieHJQcC91ZzJoWTArN1N3T1cwZ0JvMDg3cEpPdDVUZW4z
bkh2T3E5MXRaMzN2S29tCmYvdmIzMWErMXRMSjgzMDY3S1pQWVhSNGJhWnpEZm9iMy9qRy9ZRUhI
amk4ZmxPWUhXb1JyK2Q0UGUxbVBQUHhyWHZ1cXJILzZFYy8KNnRNM2ZjUDQwczUxLy9HUGY3eFA1
MFAxNmJ5Ym9mdDFmY1lETG5lNXkvWHh2RmhTT0IvZWw1Lys5S2Y3K1h0b25WRThkL3FhV2JhZQpB
bklmLzQxTGpDc2RYamV1THZ6Y3RLMVh2L3JWZmZxMmMrRTUwOWZNdWprdisxMlRRdjVDWDdHeXlp
WHVtODUxN3JUcHVldmVDL08rCnR2bmR0TzczYW96RlFvQUFBUUlFbGduODc1aWhwZkZrM3plKzg1
M3ZIRDZkamkzSFNkMXhKYWxvTzZ6THkxNzJzaTQrNFlzbDdlQVAKMzNiRXA4cHBaM3I0MURVK0ZZ
MXpCYTV4ald0MDZSL1ZMb1dDN2xhM3VsVVg1eXpFY3B6akhHZm5wUGlQZk9Rand5ZWVLWEFNOThV
bgowbGU5NmxXSDIvRy8rSllsdHBIQWg3YTBNejk4WXZxV3Q3eGwrTVlnUHJtT3E4M0VzZU1wK0hS
cFo3STc1em5QMlYzeGlsZnNUbjd5Cmt3L2ZKc1FuMzlObFBOd2p2dlg0MHBlK05Id0tHL2VIMGJp
ZDZlTTNQZTVxVjd0YWQ0bExYS0pMSVc3WTNuZ0ZyL2ptNTVPZi9HU1gKQXNYUVhSenVjZXRiMzdx
TFQ3by8vT0VQRDIzeGpkRTRubWlJYjM2bTY4T0QvdnUvVFZiVHh5Njd2V2s4bSs2Zjl2bWtKejFw
c0w3aApEVzg0YlY1NmV6NmZWVjdyYWp2dmVGVk5qbnprSTY5OHJaM21OS2NaWGh2eGVvclhaancy
ZnFZZC8rN2U5NzczOExwTVlYZllWRnpwCmF6ZmptWTl2M1hOWGpUMU84SS8zMERXdmVjM3VnaGU4
WUhlUmkxeGsrRVlqUHBuLzhwZS92SFk4NzM3M3U0ZjNWRHd2bGhTS3UzaWYKbnVFTVo4amVRK3VN
NXZOWXRuN1BlOTZ6KzhBSFB0Q043NnNQZnZDREMrL1o2WE1PN2JiRzE4dzZ4L2lHWi82N0pyN3Bu
QzdyWEthUAppOXZ6M3pYYlBuZlplMkhlMXphL205YjlYcDJQMVRvQkFnUUlFQmdGcWpvRUt3NGxp
c00xNG5DZldOS24yOE1PVnh3V2M1V3JYR1VjCjg2SDZHZUVqRGxVWmwvakhkWHFJUU94VVI5dTR4
TTVFSEJvU2h5bEVBSXFkL2ppVUtKWUlEckZEZU94akgzdDgrSEM0MHJnREVvMXgKZTF5UEhmbzQ4
VHNPQjVHaDV3QUFITEpKUkVGVVU0a2xmc1lPL25neStQU3hjWDhFbFBsVmRjYStqbi84NDNlM3VN
VXR1aHZjNEFaZAoraVI4T0N3c3pqK1pMNXNlTi9ZWHo0dHdGWWRTeEpJK2ZlNU9kS0lUTFp4UVB4
NGVFaFlSV25hemJHTzFycjlONDBtZjBtNDEzamhzCkxYMnlQUng2czI1NzQzMVRuMmlicmsrOU50
VjI3QzkrcnF2SnF0ZGFQQysyUGQxK3ZENm15N2dlb1hZMzQ1bjJFYmZYUFhmZDJHTnMKMC9PZjRq
VVNPL0Z4Q0U5OGdMRHF0Ui92Ni9HMU5ZNGxEb3NibCttODQvWTZvL0U1cTM1R2dJd3dGNGNKeGhY
UjRzT0FPTXh6MlhKbwp0eFhQaTJXZFk5dy8vMTBUYmRNbFF2czZsK2xqNC9iVWFadm5ybnN2VFB1
YTl4M3I4OTlObTM2dnhuTXNCQWdRSUVCZ0xsQlZBSG4yCnM1L2RQZlNoRHgzT05SZ0hldk9iMzN3
NG5qeDJaTVlkK1BHKzNmeDg0QU1mMk1VbjM3RlRGRHNBc1ZNVW45YXVXMktISno3SmZjWXoKbmpI
c3VJd0JKczdIaVAvaW00ZHhweVA2bWQ2ZTlodm5hOFJqNDFLOWgzYVo5djI4NXoxditKUTRMcGta
b1NCMjhzZHZkNmI5Yi91NAo2WFBTNFNQZHozLys4K0U4bFRoUEpwYTR6R2g4RXhMMzdYYlpyZFc4
LzAzajJYVC8yRjk4V3hYMWkyK000dEs2bTVhcDk3ckg3cmEyCnEycXk2clcyYk51eHN6OGQzL1Qy
YnNjejdYL1RjMWVOZmRwSDNJNXZ4T0w4b2ZodlhaOFJIdU04aTIyWDNSak4rd3l6dUdyVm94LzkK
Nk9GOGtBaWpFU1JYTFlkbVcyTWQxczE1MWZhbTdidDEyZTF6ZC90ZW1QWS92MzFvZnEvTys3Qk9n
QUFCQW9jL2dXb093ZnJsTDM4NQovRUd2ZEs3RThDbDdmSW9hLzkzLy92Y2Zxckxxa3J6Ymxpeiti
a2ljaEI3ZnNNVE94MXZmK3RhMVQ0MGRvN2pFWnB6a08rNVlqRStJClQxTGpEeVhHaWF6YkxIRklT
WnhVSGllbWprdWN4UHIydDc5OVhOMzRjenpNS3Y2QVlCeHFFNWNCalJQY2YvR0xYd3lIdWN3NzJQ
WngKOCtmRllXaXhyVGhaZGx3aWhNVjRwNWV6amZWdGx0MWF6ZnZjTko1Tjk0Lzl4VTV4L08yVCtQ
UTNkcVEzTGFQM3BzZnRwcmFyYXJMdQp0YlpwKy9QN2R6T2UzVHgzMWRqbmZjUjZPbjlxQ0xEeEtm
NjY4Y1NoUjNGaGhlbjdLQUpsT284azYzWnZHTVdoaFBHSCtPS1F0YmdJCndhcmwwRzVyZk0yc20v
T3FiVTdiZCtNeWZWN2MzdWE1dTMwdnpMY3hYZC90NzlYcGM5MG1RSUFBZ2NPdlFEVUJKTDc5bUo1
SE1aWWsKL2pHUGJ3N2lhbGh4aU1tNHhJN0U5RENsK2ZyNHVQRm5YTEVxRGlPNS9PVXZQeHplTUQx
a0pCNlRUckxkT2NRcTFuL3dneC9FaitFSwpVOUYzaElVNFRDbDJrT0tibExoYVZseFJKNVk0bHlS
Mld1TFQvcmlLVnl4eHpIdzhQZzRqaTc5WkVwK0t4aUZURVI3aU9QUTRmbjg4CjlqMENVZlF4THZI
YzJNNjR4TGkvL2UxdkQ4RWdya29WVi9XSkpjNVBpY0FXVjlDYUx4RjJWajB1RGlXTGJZeExySStI
bDZVVC80ZWQKbURpM1lsemlqNS9GRmNQQ0xwYjRXd1J4UEgzMEVYOHNNdVlUd1c1Y3ByV0lPVyt5
R3A4My9wdytmOU40TnQwZmZVWnRvdzV4L0gxOApheFJYTDRwNnJWcW0zakd2ZFY2YmFqdmR4cXFh
ckh1dHhiampkVDROZlBGNmlmWHg5Ui96aXlYYU5vMG5uV2pjM2ZLV3QrelN4UldtClF4dHVyM3Z1
cXJHUG5VUklIWmU0V2xXOEx1TTFzNjdQbTl6a0pzTzNuZkV6RGgyS2M0enVjSWM3ZEdjLys5bUhy
cWJ2b1UxRzA5ZE0KUEhtK0htMXhpR1c4SGwvM3V0ZDFWNy82MWFOcDZiSnBXL0hoUTlSbCtoNmF2
bWJpNmwvcjN1L3ozelh6UVd4eW1jOXQ2clRwdVp2ZQpDOU8rWWx5YmZqZHQrcjA2bjV0MUFnUUlF
Q0F3Q0tSUDdmYjdraTV0MmFkamkvdTBVOURQcndpVHpyOFlydmlUQnR1bjQ3ajd0SlBmCnAwLysr
N1R6UFZ3eEo2NXFsSFpjRnRiVGpsazJwM3ZkNjE3RDQ2T2YrQzlkVXJaUEo1bjM4ZGoweVhpZkRo
Y1pydWFUTGpVNlBEY0YKaWFIUGRMaFduLzVSSDY3TUZZK0pxejJsZjhUN3RCUFRwME00K25Rb1Y1
OU9DdTdUSC9rYXJoNlZUc29jeHBjKy9SMjJFMWZhaW0yOAo2RVV2NnRNbmowTmJPc2VpVDkvQURO
dUpxMnhGUDNIRnJiaUNVRndKS0gySzJhZGo2UHU0S2xZczZiQzA0WGt4am5RWVVYL2FkRldzCmRF
bmdQbDBhdUUrSGxmUnB4M040M1BSLzZWUGxwWTlMbDgwZHJ1QVRWOTVLTytIREZjRFNTYkY5T285
azZDLzYrT3BYdjlxbmJ4YUcKSzIvRk9GUGdXcWpMSVljY01sekZLNTB3MzZjZGtENTlzelJjdFNm
R082OU56SDJkMVhUTWNYdlo4emVOWjkzOU1kK29kWmlsYzR6Ngo3MzczdThONk9tU3RqeXY0TEZ1
bTN1bHlzaHU5VnRWMjN2ZXFtcXg3cmNWck82NzJsaTcxMm9kN2pEK3VxQmF2NGZRTlhSOVh3VXFY
Cm1CM1c0NnB4Y1ZXcWRlT0oxMWNLMzhPVnF1YmppL1ZWejEwMTluaE9YS1VyM28vcFc3aytYWks1
VCtkckRWZXhpdnRpV2RWbjNKZUMKL2ZDK2kvbWt5MEQzS2V4R2MvWWVpbm5HTnBhOUgxTjRXWGov
ci90OWtBNVg3Tk41SnNNMlZ2MXZVejNpS25FeDNuUmkrODc3WXZxYQppYXVSclpyenN0ODF5OGF4
em1YK3UyLyt1MmJWY3plOUYrSzlOKzBybmRDKzhYZlR1dCtyeSthbGpRQUJBZ1FJaE1DZStGLzZ4
N1Q1CkpZNzlqcjlxSFovb3hhZDg4YmM0MHVVMGg3OEZNVjdOYWhsQ2ZOb1loeXpFRXQ5S3hOODRH
SmY0RkRRK1VZN3pMNkxmT0xkazNSTFAKajBOWjRyQ2taU2VPcjN0dUhCY2UyNGx0eHJjM01mNFlT
L3h0am1YTHRvOWI5dHl4TGI1MWlYRWVtSzdTTlYvaWs5VDQxaVpzNWk3egp4OGI2YnEyVzliRnVQ
UEg0VGZjdjYzTlYyK2k5NnY1NSt6YTEzVlNUZGErMStmWTJyYThiVDN3NkgxZDZpMitEbGkzTG5y
dHU3UEZOClhselFJZjdXUnN4aDJmbEl5L29jdHgyL2d1SlF3bTMrY09kaE5ZcS9xWkxDNkhERnVY
SDdxMzd1ZGx2ejE4eTZPYS9hNXJSOU55N1QKNThYdHcvTGNlVi9yMWcvdDc5VjFmYnFQQUFFQ0JO
b1hPRndFa05qcGlMQ1IvcjdJUWtYajByTHh4L2ZpTUM4TGdjT0xRUHd4dlF0ZAo2RUlMNS9RY2xy
bVBBV1E4SlBHdzlGWHF1ZkdoUXh3S0dGZlppdDhGOC9PNlNtMjM1WDc5WG0yNXV1WkdnQUNCc2dK
VlhRV3IxRlRqClJNazQ3ajh1ZlJ2bms4UW5tM0dscHpnT1hQZ29wYTdmV2dYUzRZTEQzNC9ZRytP
TGIwYmkzS2M0TjZuV0pSMnVPSng0SG4rekpQNUMKdS9DeGR5cmw5K3JlY2RRTEFRSUVEbzhDaDR0
dlFLS3djZGhKWEs3Mlp6LzcyZkNIOXdTUHcrUEwzWnozdHNDTFgvemk0WThpUnI5eApCYVk0eWJ1
MkpRNlRUT2MvZE5lNjFyV0dQL1JaMi9qK1A0L0g3OVgvejlVemRnSUVDT3cvZ2NOTkFObC94TFpN
Z0FBQkFnUUlFQ0JBCmdNQW9VTTFsZU1jQitVbUFBQUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJ
RUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUUKQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdR
SUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVgpDUWdn
MVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FB
UUlFQ0JBZ1FJQkF1d0lDClNMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJB
Z1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmQKU1F5SUFBRUNCQWdRSUVDQVFMc0NB
a2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzegpJ
MENBQUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJ
QUFBUUxWQ1FnZzFaWEVnQWdRCklFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5Z
QUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1EKSUVDQUFBRUMxUWtJSU5XVnhJ
QUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFn
UQpJRUNBUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xR
cklJQzBXMXN6STBDQUFBRUNCQWdRCklGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdV
MU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFFQ0JBaTAKS3lDQXRGdGJNeU5BZ0FB
QkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVD
MVFrSQpJTldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpk
U1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3CnRUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFn
UUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNkZ0FCU1hVa00KaUFBQkFnUUlFQ0JB
Z0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0
RnRiTXlOQQpnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNC
QWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBCmdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVD
QkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0VFV6QWdRSUVDQkEKZ0FBQkF0VUpD
Q0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlB
QUJBZ1FJRUNCQQpnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFB
RUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRCm5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3
SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSUVDQkFnQUFCQWdRSXRDc2cKZ0xSYld6
TWpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNC
QWdBQUJBdFVKQ0NEVgpsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZD
ZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxCk13SUVDQkFnUUlBQUFRTFZDUWdnMVpY
RWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0EKQVFJ
RUNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJ
dENzZ2dMUmJXek1qUUlBQQpBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3
dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBCkFRSUVDTFFySUlDMFcxc3pJMENB
QUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUEK
QVFMVkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFV
bDFKRElnQUFRSUVDQkFnUUlCQQp1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlF
Q0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdVSjJBCkFGSmRTUXlJQUFFQ0JBZ1FJ
RUNBUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJ
QzAKVzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13
SUVDQkFnUUlBQUFRTFZDUWdnMVpYRQpnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFn
UUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NMdTFOVE1DCkJBZ1FJRUNBQUFFQzFR
a0lJTldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5
SUFBRUMKQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlB
QUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQwpCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VD
N0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDCkJBaTBLeUNBdEZ0
Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdR
SUVDQUFBRUMKMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFn
VUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQwpBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RW
bGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTClhVa01pQUFC
QWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNC
QWkwS3lDQXRGdGIKTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNT
THUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSQpFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpR
SUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJCkVDQkFn
QUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZGdB
QlNYVWtNaUFBQkFnUUkKRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdB
Z1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSQpFQ0JRbllBQVVsMUpESWdBQVFJRUNC
QWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJCnRD
c2dnTFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRV
ekFnUUlFQ0JBZ0FBQkF0VUoKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFF
Q0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSQp1N1UxTXdJRUNCQWdRSUFBQVFM
VkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFK
CkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JB
Z0FBQkFnUUl0Q3NnZ0xSYld6TWoKUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNB
UUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZwpRSUFBQVFJRUNMUXJJSUMw
VzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVD
QkFnClFJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlF
Q0JRbllBQVVsMUpESWdBQVFJRUNCQWcKUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJ
TldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFBUUlFQ0JBZwpVSjJBQUZKZFNReUlB
QUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFR
SUVDTFFyCklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0Fn
Skl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cKMVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15
TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MQpOVE1DQkFnUUlF
Q0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoy
QUFGSmRTUXlJCkFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNT
QUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0EKQUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdR
SUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQQpBQUVDQkFp
MEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUx
TlRNQ0JBZ1FJRUNBCkFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFB
QVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0EKUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFC
QXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZApnQUJT
WFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJ
RUNBQUFFQ0JBaTBLeUNBCnRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdR
SUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1YKeElBSUVDQkFnQUFCQWdRSXRDc2dn
TFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVegpB
Z1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JB
Z1FJRkNkZ0FCU1hVa01pQUFCCkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNR
Z2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUIKQWdRSUVDQlFuWUFBVWwxSkRJ
Z0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FB
QgpBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxz
Q0FraTd0VFV6QWdRSUVDQkFnQUFCCkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFz
ekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzcKQWdKSXU3VTFNd0lFQ0JB
Z1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JR
bllBQQpVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldW
eElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiCld6TWpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVD
QkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0EKQ0JBZ1FJQUFBUUlF
Q0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1
N1UxTXdJRQpDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFn
QUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFCkNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FB
QUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUUKQ0JBZ1VKMkFB
RkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNC
QWdRSUFBQVFJRQpDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVD
QkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWCkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5
Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUMKU0x1MU5U
TUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJ
RUNCQWdVSjJBQUZKZApTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRV
SkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6CkkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVr
TWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1EKSUVD
QUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJB
dXdJQ1NMdTFOVE1DQkFnUQpJRUNBQUFFQzFRa0lJTldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJi
V3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRCklFQ0FRTHNDQWtpN3RUVXpBZ1FJ
RUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1EK
SUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cx
WlhFZ0FnUUlFQ0FBQUVDQkFpMApLeUNBdEZ0Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FB
UUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJCklOV1Z4SUFJRUNCQWdBQUJB
Z1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0Fr
aTcKdFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkw
Q0FBQUVDQkFnUUlGQ2RnQUJTWFVrTQppQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJ
QUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BCmdBQUJBZ1FJRUNCUW5Z
QUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElB
SUVDQkEKZ0FBQkFnUUl0Q3Z3ZnhUNXRKNy8xUHRYQUFBQUFFbEZUa1N1UW1DQwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63062</attachid>
            <date>2010-07-30 08:31:44 -0700</date>
            <delta_ts>2010-07-31 12:50:03 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>FixGradients.diff</filename>
            <type>text/plain</type>
            <size>55967</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDM1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTAtMDctMzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU1ZHIGdyYWRpZW50cyBkbyBub3QgdXBkYXRlIHdoZW4gc2NyaXB0ZWQgdmlhIHhsaW5r
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk1Mwor
CisgICAgICAgIFVuaWZ5IGN5Y2xlIGRldGVjdGlvbiBsb2dpYyBmb3IgY2hhaW5hYmxlICh0aHJv
dWdoIHhsaW5rOmhyZWYpIGFuZCBvcmRpbmFyeSByZXNvdXJjZXMuCisgICAgICAgIEFsbCBvcGVy
YXRlIG9uIHRoZSByZW5kZXIgdHJlZSBub3csIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIHRo
ZSBET00gdHJlZSBmb3IgeGxpbms6aHJlZiBxdWVyaWVzLgorCisgICAgICAgIFdoZW4gbGlua2lu
ZyByZXNvdXJjZXMsIHJlZ2lzdGVyIGFzIHJlZ3VsYXIgY2xpZW50LCBzbyB0aGUgcmVndWxhciB1
cGRhdGUgbWVjaGFuaXNtcyB3b3JrIGFzIGV4cGVjdGVkLgorICAgICAgICA8bGluZWFyR3JhZGll
bnQgaWQ9ImZvbyI+PHN0b3AuLi8+IDwvbGluZWFyR3JhZGllbnQ+CisgICAgICAgIDxsaW5lYXJH
cmFkaWVudCBpZD0iYmFyIiB4bGluazpocmVmPSIjZm9vIi8+CisgICAgICAgIDxyZWN0IGZpbGw9
InVybCgjYmFyKSIvPgorCisgICAgICAgIFdpdGhvdXQgdGhhdCB0aGUgcmVjdCB3b24ndCByZWNl
aXZlIGludmFsaWRhdGlvbiBub3RpZmljYXRpb25zLCBhcyBmb28gPC0+IGJhciBoYWQgbm8gY29u
bmVjdGlvbi4KKyAgICAgICAgRml4ZXMgdGhlIGxhc3Qgb3V0c3RhbmRpbmcgY2xhc3Mgb2YgaW52
YWxpZGF0aW9ucy4gQWxzbyBzcGVlZHMgdXAgdGhlIGN5Y2xlIGRldGV0aW9uLCB3aGVuIHVzaW5n
IGNoYWluZWQgcmVzb3VyY2VzLAorICAgICAgICBhcyBubyBTVkcgRE9NIHF1ZXJpZXMgaGF2ZSB0
byBiZSBleGVjdXRlZCBhbnltb3JlLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vanMtdXBk
YXRlLXN0b3AtbGlua2VkLWdyYWRpZW50LnN2ZworCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyOjptYXJrQWxsQ2xpZW50c0ZvckludmFsaWRhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpsaW5rZWRSZXNvdXJjZUZvckNvbnRhaW5lcik6CisgICAgICAgICogcmVuZGVy
aW5nL1NWR1Jlc291cmNlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZXM6OlNW
R1Jlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpjaGFpbmFibGVSZXNvdXJjZVRhZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6dGFyZ2V0UmVmZXJlbmNlRnJvbVJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OnJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UmVzb3VyY2VzOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291
cmNlczo6cmVzb3VyY2VEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2Vz
OjpidWlsZFNldE9mUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlczo6
c2V0TGlua2VkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VzOjpyZXNl
dExpbmtlZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlczo6ZHVtcCk6
CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVzb3VyY2VzOjpsaW5rZWRSZXNvdXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jl
c291cmNlc0N5Y2xlU29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyOjpyZXNvbHZlQ3ljbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyOjpicmVha0N5Y2xlKToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVu
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR3JhZGllbnRFbGVtZW50OjpTVkdH
cmFkaWVudEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcyk6
CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdHRlcm5FbGVtZW50OjpTVkdQYXR0ZXJuRWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQYXR0ZXJuRWxlbWVudDo6Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKToKKyAgICAgICAg
KiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcyk6CisKIDIwMTAtMDctMzAgIFJhZmFlbCBBbnRv
Z25vbGxpICA8YW50b2dub2xsaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbnRvbmlvIEdvbWVzLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyLmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1
LDggKzk1LDE0IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6Om1hcmtBbGwKIAog
ICAgIEhhc2hTZXQ8UmVuZGVyT2JqZWN0Kj46Oml0ZXJhdG9yIGVuZCA9IG1fY2xpZW50cy5lbmQo
KTsKICAgICBmb3IgKEhhc2hTZXQ8UmVuZGVyT2JqZWN0Kj46Oml0ZXJhdG9yIGl0ID0gbV9jbGll
bnRzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBtYXJrQ2xpZW50Rm9ySW52
YWxpZGF0aW9uKCppdCwgbW9kZSk7Ci0gICAgICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9y
TGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24oKml0LCBuZWVkc0xheW91dCk7Cisg
ICAgICAgIFJlbmRlck9iamVjdCogY2xpZW50ID0gKml0OworICAgICAgICBpZiAoY2xpZW50LT5p
c1NWR1Jlc291cmNlQ29udGFpbmVyKCkpIHsKKyAgICAgICAgICAgIGNsaWVudC0+dG9SZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcigpLT5pbnZhbGlkYXRlQ2xpZW50cygpOworICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBtYXJrQ2xpZW50Rm9ySW52YWxpZGF0aW9u
KGNsaWVudCwgbW9kZSk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0
QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24oY2xpZW50LCBuZWVkc0xheW91dCk7CiAgICAg
fQogfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5jcHAJKHJldmlzaW9uIDY0MzQ3
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsNyArMjUsMTAgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgog
I2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXIuaCIKKyNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHR3JhZGllbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUGFpbnQuaCIKKyNpbmNsdWRl
ICJTVkdQYXR0ZXJuRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAKQEAgLTM1LDYgKzM4LDcgQEAgU1ZHUmVzb3VyY2Vz
OjpTVkdSZXNvdXJjZXMoKQogICAgIDogbV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YSgwKQogICAg
ICwgbV9tYXJrZXJEYXRhKDApCiAgICAgLCBtX2ZpbGxTdHJva2VEYXRhKDApCisgICAgLCBtX2xp
bmtlZFJlc291cmNlKDApCiB7CiB9CiAKQEAgLTExNyw2ICsxMjEsMzQgQEAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBmaWxsQQogICAgIHJldHVybiBzX3RhZ0xpc3Q7CiB9CiAK
K3N0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgY2hhaW5hYmxlUmVzb3VyY2VUYWdz
KCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+
LCBzX3RhZ0xpc3QsICgpKTsKKyAgICBpZiAoc190YWdMaXN0LmlzRW1wdHkoKSkgeworICAgICAg
ICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZy5sb2NhbE5hbWUoKS5p
bXBsKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpmaWx0ZXJUYWcubG9jYWxO
YW1lKCkuaW1wbCgpKTsKKyAgICAgICAgc190YWdMaXN0LmFkZChTVkdOYW1lczo6cGF0dGVyblRh
Zy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgICAgICBzX3RhZ0xpc3QuYWRkKFNWR05hbWVzOjpy
YWRpYWxHcmFkaWVudFRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgIH0KKworICAgIHJldHVy
biBzX3RhZ0xpc3Q7Cit9CisKK3N0YXRpYyBpbmxpbmUgU3RyaW5nIHRhcmdldFJlZmVyZW5jZUZy
b21SZXNvdXJjZShTVkdFbGVtZW50KiBlbGVtZW50KQoreworICAgIFN0cmluZyB0YXJnZXQ7Cisg
ICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBhdHRlcm5UYWcpKQorICAgICAg
ICB0YXJnZXQgPSBzdGF0aWNfY2FzdDxTVkdQYXR0ZXJuRWxlbWVudCo+KGVsZW1lbnQpLT5ocmVm
KCk7CisgICAgZWxzZSBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3Jh
ZGllbnRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50
VGFnKSkKKyAgICAgICAgdGFyZ2V0ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4o
ZWxlbWVudCktPmhyZWYoKTsKKyAgICBlbHNlIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpmaWx0ZXJUYWcpKQorICAgICAgICB0YXJnZXQgPSBzdGF0aWNfY2FzdDxTVkdGaWx0ZXJF
bGVtZW50Kj4oZWxlbWVudCktPmhyZWYoKTsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworCisgICAgcmV0dXJuIFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHRhcmdl
dCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHBhaW50
aW5nUmVzb3VyY2VGcm9tU1ZHUGFpbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBTVkdQYWludCogcGFp
bnQsIEF0b21pY1N0cmluZyYgaWQsIGJvb2wmIGhhc1BlbmRpbmdSZXNvdXJjZSkKIHsKICAgICBB
U1NFUlQocGFpbnQpOwpAQCAtMTMzLDE3ICsxNjUsMTMgQEAgc3RhdGljIGlubGluZSBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcgogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZv
aWQgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNp
b25zLCBjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBOb2RlKiBub2RlKQorc3RhdGljIGlubGluZSB2
b2lkIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5z
aW9ucywgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgU1ZHRWxlbWVudCogZWxlbWVudCkKIHsKLSAg
ICBBU1NFUlQobm9kZSk7Ci0gICAgaWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0Vs
ZW1lbnQqPihub2RlKTsKLSAgICBpZiAoIXN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpCisgICAgQVNT
RVJUKGVsZW1lbnQpOworICAgIGlmICghZWxlbWVudC0+aXNTdHlsZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZXh0ZW5zaW9ucy0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2Fz
dDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOworICAgIGV4dGVuc2lvbnMtPmFkZFBl
bmRpbmdSZXNvdXJjZShpZCwgc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KGVsZW1lbnQp
KTsKIH0KIAogYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3R5bGUpCkBAIC0xNTMs
NyArMTgxLDExIEBAIGJvb2wgU1ZHUmVzb3VyY2VzOjpidWlsZENhY2hlZFJlc291cmNlcygKIAog
ICAgIE5vZGUqIG5vZGUgPSBvYmplY3QtPm5vZGUoKTsKICAgICBBU1NFUlQobm9kZSk7Ci0gICAg
QVNTRVJUKG5vZGUtPmlzRWxlbWVudE5vZGUoKSk7CisgICAgQVNTRVJUKG5vZGUtPmlzU1ZHRWxl
bWVudCgpKTsKKworICAgIFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50Kj4obm9kZSk7CisgICAgaWYgKCFlbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBvYmplY3QtPmRvY3VtZW50KCk7CiAgICAgQVNTRVJU
KGRvY3VtZW50KTsKQEAgLTE2MSw3ICsxOTMsNyBAQCBib29sIFNWR1Jlc291cmNlczo6YnVpbGRD
YWNoZWRSZXNvdXJjZXMoCiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0g
ZG9jdW1lbnQtPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKICAgICBBU1NFUlQoZXh0ZW5zaW9ucyk7
CiAKLSAgICBBdG9taWNTdHJpbmdJbXBsKiB0YWdOYW1lSW1wbCA9IHN0YXRpY19jYXN0PEVsZW1l
bnQqPihub2RlKS0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKS5pbXBsKCk7CisgICAgQXRvbWljU3Ry
aW5nSW1wbCogdGFnTmFtZUltcGwgPSBlbGVtZW50LT50YWdRTmFtZSgpLmxvY2FsTmFtZSgpLmlt
cGwoKTsKICAgICBpZiAoIXRhZ05hbWVJbXBsKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTE3Miw3ICsyMDQsNyBAQCBib29sIFNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMo
CiAgICAgICAgICAgICBpZiAoc2V0Q2xpcHBlcihnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyPihkb2N1bWVudCwgaWQpKSkKICAgICAgICAgICAgICAgICBm
b3VuZFJlc291cmNlcyA9IHRydWU7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIG5vZGUpOworICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50KTsK
ICAgICAgICAgfQogCiAjaWYgRU5BQkxFKEZJTFRFUlMpCkBAIC0xODEsNyArMjEzLDcgQEAgYm9v
bCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKAogICAgICAgICAgICAgaWYgKHNl
dEZpbHRlcihnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI+
KGRvY3VtZW50LCBpZCkpKQogICAgICAgICAgICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1ZTsK
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJj
ZShleHRlbnNpb25zLCBpZCwgbm9kZSk7CisgICAgICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5n
UmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIGVsZW1lbnQpOwogICAgICAgICB9CiAjZW5kaWYKIApA
QCAtMTkwLDcgKzIyMiw3IEBAIGJvb2wgU1ZHUmVzb3VyY2VzOjpidWlsZENhY2hlZFJlc291cmNl
cygKICAgICAgICAgICAgIGlmIChzZXRNYXNrZXIoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJl
bmRlclNWR1Jlc291cmNlTWFza2VyPihkb2N1bWVudCwgaWQpKSkKICAgICAgICAgICAgICAgICBm
b3VuZFJlc291cmNlcyA9IHRydWU7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIG5vZGUpOworICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGV4dGVuc2lvbnMsIGlkLCBlbGVtZW50KTsK
ICAgICAgICAgfQogICAgIH0KIApAQCAtMTk5LDE5ICsyMzEsMTkgQEAgYm9vbCBTVkdSZXNvdXJj
ZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKAogICAgICAgICBpZiAoc2V0TWFya2VyU3RhcnQoZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwg
bWFya2VyU3RhcnRJZCkpKQogICAgICAgICAgICAgZm91bmRSZXNvdXJjZXMgPSB0cnVlOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShleHRlbnNpb25z
LCBtYXJrZXJTdGFydElkLCBub2RlKTsKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291
cmNlKGV4dGVuc2lvbnMsIG1hcmtlclN0YXJ0SWQsIGVsZW1lbnQpOwogCiAgICAgICAgIEF0b21p
Y1N0cmluZyBtYXJrZXJNaWRJZChzdHlsZS0+bWFya2VyTWlkUmVzb3VyY2UoKSk7CiAgICAgICAg
IGlmIChzZXRNYXJrZXJNaWQoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291
cmNlTWFya2VyPihkb2N1bWVudCwgbWFya2VyTWlkSWQpKSkKICAgICAgICAgICAgIGZvdW5kUmVz
b3VyY2VzID0gdHJ1ZTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5n
UmVzb3VyY2UoZXh0ZW5zaW9ucywgbWFya2VyTWlkSWQsIG5vZGUpOworICAgICAgICAgICAgcmVn
aXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgbWFya2VyTWlkSWQsIGVsZW1lbnQpOwog
CiAgICAgICAgIEF0b21pY1N0cmluZyBtYXJrZXJFbmRJZChzdHlsZS0+bWFya2VyRW5kUmVzb3Vy
Y2UoKSk7CiAgICAgICAgIGlmIChzZXRNYXJrZXJFbmQoZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlk
PFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwgbWFya2VyRW5kSWQpKSkKICAgICAg
ICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1ZTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgbWFya2VyRW5kSWQsIG5vZGUpOwor
ICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgbWFya2VyRW5k
SWQsIGVsZW1lbnQpOwogICAgIH0KIAogICAgIGlmIChmaWxsQW5kU3Ryb2tlVGFncygpLmNvbnRh
aW5zKHRhZ05hbWVJbXBsKSkgewpAQCAtMjIxLDcgKzI1Myw3IEBAIGJvb2wgU1ZHUmVzb3VyY2Vz
OjpidWlsZENhY2hlZFJlc291cmNlcygKICAgICAgICAgICAgIGlmIChzZXRGaWxsKHBhaW50aW5n
UmVzb3VyY2VGcm9tU1ZHUGFpbnQoZG9jdW1lbnQsIHN0eWxlLT5maWxsUGFpbnQoKSwgaWQsIGhh
c1BlbmRpbmdSZXNvdXJjZSkpKQogICAgICAgICAgICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1
ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKGhhc1BlbmRpbmdSZXNvdXJjZSkKLSAgICAgICAgICAg
ICAgICByZWdpc3RlclBlbmRpbmdSZXNvdXJjZShleHRlbnNpb25zLCBpZCwgbm9kZSk7CisgICAg
ICAgICAgICAgICAgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIGVsZW1l
bnQpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHN0eWxlLT5oYXNTdHJva2UoKSkgewpAQCAt
MjMwLDE4ICsyNjIsMzQgQEAgYm9vbCBTVkdSZXNvdXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2Vz
KAogICAgICAgICAgICAgaWYgKHNldFN0cm9rZShwYWludGluZ1Jlc291cmNlRnJvbVNWR1BhaW50
KGRvY3VtZW50LCBzdHlsZS0+c3Ryb2tlUGFpbnQoKSwgaWQsIGhhc1BlbmRpbmdSZXNvdXJjZSkp
KQogICAgICAgICAgICAgICAgIGZvdW5kUmVzb3VyY2VzID0gdHJ1ZTsKICAgICAgICAgICAgIGVs
c2UgaWYgKGhhc1BlbmRpbmdSZXNvdXJjZSkKLSAgICAgICAgICAgICAgICByZWdpc3RlclBlbmRp
bmdSZXNvdXJjZShleHRlbnNpb25zLCBpZCwgbm9kZSk7CisgICAgICAgICAgICAgICAgcmVnaXN0
ZXJQZW5kaW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIGVsZW1lbnQpOwogICAgICAgICB9CiAg
ICAgfQogCisgICAgaWYgKGNoYWluYWJsZVJlc291cmNlVGFncygpLmNvbnRhaW5zKHRhZ05hbWVJ
bXBsKSkgeworICAgICAgICBBdG9taWNTdHJpbmcgaWQodGFyZ2V0UmVmZXJlbmNlRnJvbVJlc291
cmNlKGVsZW1lbnQpKTsKKyAgICAgICAgaWYgKHNldExpbmtlZFJlc291cmNlKGdldFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyQnlJZChkb2N1bWVudCwgaWQpKSkKKyAgICAgICAgICAgIGZvdW5k
UmVzb3VyY2VzID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVnaXN0ZXJQZW5k
aW5nUmVzb3VyY2UoZXh0ZW5zaW9ucywgaWQsIGVsZW1lbnQpOworICAgIH0KKwogICAgIHJldHVy
biBmb3VuZFJlc291cmNlczsKIH0KIAogdm9pZCBTVkdSZXNvdXJjZXM6OmludmFsaWRhdGVDbGll
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2NsaXBwZXJGaWx0
ZXJNYXNrZXJEYXRhICYmICFtX21hcmtlckRhdGEgJiYgIW1fZmlsbFN0cm9rZURhdGEpCisgICAg
aWYgKCFtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhICYmICFtX21hcmtlckRhdGEgJiYgIW1fZmls
bFN0cm9rZURhdGEgJiYgIW1fbGlua2VkUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAorICAg
IGlmIChtX2xpbmtlZFJlc291cmNlKSB7CisgICAgICAgIEFTU0VSVCghbV9jbGlwcGVyRmlsdGVy
TWFza2VyRGF0YSk7CisgICAgICAgIEFTU0VSVCghbV9tYXJrZXJEYXRhKTsKKyAgICAgICAgQVNT
RVJUKCFtX2ZpbGxTdHJva2VEYXRhKTsKKyAgICAgICAgbV9saW5rZWRSZXNvdXJjZS0+aW52YWxp
ZGF0ZUNsaWVudChvYmplY3QpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1f
Y2xpcHBlckZpbHRlck1hc2tlckRhdGEpIHsKICAgICAgICAgaWYgKG1fY2xpcHBlckZpbHRlck1h
c2tlckRhdGEtPmNsaXBwZXIpCiAgICAgICAgICAgICBtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRh
LT5jbGlwcGVyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CkBAIC0yNzMsOCArMzIxLDE3IEBA
IHZvaWQgU1ZHUmVzb3VyY2VzOjppbnZhbGlkYXRlQ2xpZW50KFJlbmQKIHZvaWQgU1ZHUmVzb3Vy
Y2VzOjpyZXNvdXJjZURlc3Ryb3llZChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogcmVzb3Vy
Y2UpCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsKLSAgICBpZiAoIW1fY2xpcHBlckZpbHRlck1h
c2tlckRhdGEgJiYgIW1fbWFya2VyRGF0YSAmJiAhbV9maWxsU3Ryb2tlRGF0YSkKKyAgICBpZiAo
IW1fY2xpcHBlckZpbHRlck1hc2tlckRhdGEgJiYgIW1fbWFya2VyRGF0YSAmJiAhbV9maWxsU3Ry
b2tlRGF0YSAmJiAhbV9saW5rZWRSZXNvdXJjZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KG1fbGlua2VkUmVzb3VyY2UgPT0gcmVzb3VyY2UpIHsKKyAgICAgICAgQVNTRVJUKCFtX2NsaXBw
ZXJGaWx0ZXJNYXNrZXJEYXRhKTsKKyAgICAgICAgQVNTRVJUKCFtX21hcmtlckRhdGEpOworICAg
ICAgICBBU1NFUlQoIW1fZmlsbFN0cm9rZURhdGEpOworICAgICAgICBtX2xpbmtlZFJlc291cmNl
LT5pbnZhbGlkYXRlQ2xpZW50cygpOworICAgICAgICBtX2xpbmtlZFJlc291cmNlID0gMDsKICAg
ICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIHN3aXRjaCAocmVzb3VyY2UtPnJlc291cmNlVHlw
ZSgpKSB7CiAgICAgY2FzZSBNYXNrZXJSZXNvdXJjZVR5cGU6CkBAIC0zNDAsOSArMzk3LDE3IEBA
IHZvaWQgU1ZHUmVzb3VyY2VzOjpyZXNvdXJjZURlc3Ryb3llZChSZW4KIAogdm9pZCBTVkdSZXNv
dXJjZXM6OmJ1aWxkU2V0T2ZSZXNvdXJjZXMoSGFzaFNldDxSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcio+JiBzZXQpCiB7Ci0gICAgaWYgKCFtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhICYmICFt
X21hcmtlckRhdGEgJiYgIW1fZmlsbFN0cm9rZURhdGEpCisgICAgaWYgKCFtX2NsaXBwZXJGaWx0
ZXJNYXNrZXJEYXRhICYmICFtX21hcmtlckRhdGEgJiYgIW1fZmlsbFN0cm9rZURhdGEgJiYgIW1f
bGlua2VkUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX2xpbmtlZFJlc291
cmNlKSB7CisgICAgICAgIEFTU0VSVCghbV9jbGlwcGVyRmlsdGVyTWFza2VyRGF0YSk7CisgICAg
ICAgIEFTU0VSVCghbV9tYXJrZXJEYXRhKTsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbGxTdHJva2VE
YXRhKTsKKyAgICAgICAgc2V0LmFkZChtX2xpbmtlZFJlc291cmNlKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKwogICAgIGlmIChtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhKSB7CiAgICAgICAg
IGlmIChtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhLT5jbGlwcGVyKQogICAgICAgICAgICAgc2V0
LmFkZChtX2NsaXBwZXJGaWx0ZXJNYXNrZXJEYXRhLT5jbGlwcGVyKTsKQEAgLTUyNSw2ICs1OTAs
MjEgQEAgdm9pZCBTVkdSZXNvdXJjZXM6OnJlc2V0U3Ryb2tlKCkKICAgICBtX2ZpbGxTdHJva2VE
YXRhLT5zdHJva2UgPSAwOwogfQogCitib29sIFNWR1Jlc291cmNlczo6c2V0TGlua2VkUmVzb3Vy
Y2UoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGxpbmtlZFJlc291cmNlKQoreworICAgIGlm
ICghbGlua2VkUmVzb3VyY2UpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fbGlua2Vk
UmVzb3VyY2UgPSBsaW5rZWRSZXNvdXJjZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBT
VkdSZXNvdXJjZXM6OnJlc2V0TGlua2VkUmVzb3VyY2UoKQoreworICAgIEFTU0VSVChtX2xpbmtl
ZFJlc291cmNlKTsKKyAgICBtX2xpbmtlZFJlc291cmNlID0gMDsKK30KKwogI2lmbmRlZiBOREVC
VUcKIHZvaWQgU1ZHUmVzb3VyY2VzOjpkdW1wKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQog
ewpAQCAtNTYyLDYgKzY0Miw5IEBAIHZvaWQgU1ZHUmVzb3VyY2VzOjpkdW1wKGNvbnN0IFJlbmRl
ck9iamUKICAgICAgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBzdHJva2UgPSBt
X2ZpbGxTdHJva2VEYXRhLT5zdHJva2UpCiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiB8
LT4gU3Ryb2tlICAgICA6ICVwIChub2RlPSVwKVxuIiwgc3Ryb2tlLCBzdHJva2UtPm5vZGUoKSk7
CiAgICAgfQorCisgICAgaWYgKG1fbGlua2VkUmVzb3VyY2UpCisgICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiIHwtPiB4bGluazpocmVmIDogJXAgKG5vZGU9JXApXG4iLCBtX2xpbmtlZFJlc291cmNl
LCBtX2xpbmtlZFJlc291cmNlLT5ub2RlKCkpOwogfQogI2VuZGlmCiAKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlcy5oCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NW
R1Jlc291cmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw5IEBAIHB1YmxpYzoKICAg
ICBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogZmlsbCgpIGNvbnN0IHsgcmV0dXJuIG1fZmls
bFN0cm9rZURhdGEgPyBtX2ZpbGxTdHJva2VEYXRhLT5maWxsIDogMDsgfQogICAgIFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKiBzdHJva2UoKSBjb25zdCB7IHJldHVybiBtX2ZpbGxTdHJva2VE
YXRhID8gbV9maWxsU3Ryb2tlRGF0YS0+c3Ryb2tlIDogMDsgfQogCisgICAgLy8gQ2hhaW5hYmxl
IHJlc291cmNlcyAtIGxpbmtlZCB0aHJvdWdoIHhsaW5rOmhyZWYKKyAgICBSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lciogbGlua2VkUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2xpbmtlZFJl
c291cmNlOyB9CisKICAgICB2b2lkIGJ1aWxkU2V0T2ZSZXNvdXJjZXMoSGFzaFNldDxSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcio+Jik7CiAKICAgICAvLyBNZXRob2RzIG9wZXJhdGluZyBvbiBh
bGwgY2FjaGVkIHJlc291cmNlcwpAQCAtODIsNiArODUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
cmVzZXRNYXNrZXIoKTsKICAgICB2b2lkIHJlc2V0RmlsbCgpOwogICAgIHZvaWQgcmVzZXRTdHJv
a2UoKTsKKyAgICB2b2lkIHJlc2V0TGlua2VkUmVzb3VyY2UoKTsKIAogcHJpdmF0ZToKICAgICBi
b29sIHNldENsaXBwZXIoUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKik7CkBAIC05NCw2ICs5OCw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzZXRNYXNrZXIoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIq
KTsKICAgICBib29sIHNldEZpbGwoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKICAgICBi
b29sIHNldFN0cm9rZShSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciopOworICAgIGJvb2wgc2V0
TGlua2VkUmVzb3VyY2UoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKIAogICAgIC8vIEZy
b20gU1ZHIDEuMSAybmQgRWRpdGlvbgogICAgIC8vIGNsaXBwZXI6ICdjb250YWluZXIgZWxlbWVu
dHMnIGFuZCAnZ3JhcGhpY3MgZWxlbWVudHMnCkBAIC0xNjUsNiArMTcwLDcgQEAgcHJpdmF0ZToK
ICAgICBPd25QdHI8Q2xpcHBlckZpbHRlck1hc2tlckRhdGE+IG1fY2xpcHBlckZpbHRlck1hc2tl
ckRhdGE7CiAgICAgT3duUHRyPE1hcmtlckRhdGE+IG1fbWFya2VyRGF0YTsKICAgICBPd25QdHI8
RmlsbFN0cm9rZURhdGE+IG1fZmlsbFN0cm9rZURhdGE7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIqIG1fbGlua2VkUmVzb3VyY2U7CiB9OwogCiB9CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuY3BwCShyZXZpc2lvbiA2NDM0NykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTQsODkgKzk0LDYgQEAgYm9vbCBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcjo6cmVz
b3VyY2VDbwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBTdHJpbmcgdGFy
Z2V0UmVmZXJlbmNlRnJvbVJlc291cmNlKFNWR0VsZW1lbnQqIGVsZW1lbnQsIGJvb2wmIGlzVmFs
aWQpCi17Ci0gICAgU3RyaW5nIHRhcmdldDsKLSAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShT
VkdOYW1lczo6cGF0dGVyblRhZykpCi0gICAgICAgIHRhcmdldCA9IHN0YXRpY19jYXN0PFNWR1Bh
dHRlcm5FbGVtZW50Kj4oZWxlbWVudCktPmhyZWYoKTsKLSAgICBlbHNlIGlmIChlbGVtZW50LT5o
YXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZykgfHwgZWxlbWVudC0+aGFzVGFn
TmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGllbnRUYWcpKQotICAgICAgICB0YXJnZXQgPSBzdGF0
aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1lbnQqPihlbGVtZW50KS0+aHJlZigpOwotICAgIGVsc2Ug
aWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZpbHRlclRhZykpCi0gICAgICAgIHRh
cmdldCA9IHN0YXRpY19jYXN0PFNWR0ZpbHRlckVsZW1lbnQqPihlbGVtZW50KS0+aHJlZigpOwot
ICAgIGVsc2UgewotICAgICAgICBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgICAgIHJldHVybiB0YXJn
ZXQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHRhcmdl
dCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRGb2xsb3dMaW5rRm9yQ2hhaW5hYmxlUmVz
b3VyY2UoU1ZHRWxlbWVudCogZWxlbWVudCwgYm9vbCBmb2xsb3dMaW5rKQotewotICAgIGlmIChl
bGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpwYXR0ZXJuVGFnKSkKLSAgICAgICAgc3RhdGlj
X2Nhc3Q8U1ZHUGF0dGVybkVsZW1lbnQqPihlbGVtZW50KS0+c2V0Rm9sbG93TGluayhmb2xsb3dM
aW5rKTsKLSAgICBlbHNlIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lYXJH
cmFkaWVudFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGll
bnRUYWcpKQotICAgICAgICBzdGF0aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1lbnQqPihlbGVtZW50
KS0+c2V0Rm9sbG93TGluayhmb2xsb3dMaW5rKTsKLSAgICBlbHNlIGlmIChlbGVtZW50LT5oYXNU
YWdOYW1lKFNWR05hbWVzOjpmaWx0ZXJUYWcpKQotICAgICAgICBzdGF0aWNfY2FzdDxTVkdGaWx0
ZXJFbGVtZW50Kj4oZWxlbWVudCktPnNldEZvbGxvd0xpbmsoZm9sbG93TGluayk7Ci19Ci0KLWJv
b2wgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXI6OmNoYWluYWJsZVJlc291cmNlQ29udGFpbnNDeWNs
ZXMoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGNvbnRhaW5lcikgY29uc3QKLXsKLSAgICBB
U1NFUlQoY29udGFpbmVyKTsKLSAgICBBU1NFUlQoY29udGFpbmVyLT5ub2RlKCkpOwotICAgIEFT
U0VSVChjb250YWluZXItPm5vZGUoKS0+aXNTVkdFbGVtZW50KCkpOwotCi0gICAgLy8gQ2hhaW5h
YmxlIHJlc291cmNlcyBjeWNsZSBkZXRlY3Rpb24gaXMgcGVyZm9ybWVkIGluIHRoZSBET00gdHJl
ZS4KLSAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KGNv
bnRhaW5lci0+bm9kZSgpKTsKLSAgICBBU1NFUlQoZWxlbWVudCk7Ci0KLSAgICBIYXNoU2V0PFNW
R0VsZW1lbnQqPiBwcm9jZXNzZWRPYmplY3RzOwotCi0gICAgYm9vbCBpc1ZhbGlkID0gdHJ1ZTsK
LSAgICBTdHJpbmcgdGFyZ2V0ID0gdGFyZ2V0UmVmZXJlbmNlRnJvbVJlc291cmNlKGVsZW1lbnQs
IGlzVmFsaWQpOwotICAgIEFTU0VSVChpc1ZhbGlkKTsKLQotICAgIFNWR0VsZW1lbnQqIHByZXZp
b3VzRWxlbWVudCA9IGVsZW1lbnQ7Ci0gICAgd2hpbGUgKCF0YXJnZXQuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIE5vZGUqIHRhcmdldE5vZGUgPSBlbGVtZW50LT5kb2N1bWVudCgpLT5nZXRFbGVtZW50
QnlJZCh0YXJnZXQpOwotICAgICAgICBpZiAoIXRhcmdldE5vZGUgfHwgIXRhcmdldE5vZGUtPmlz
U1ZHRWxlbWVudCgpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgLy8gQ2F0Y2ggY3ls
aWMgY2hhaW5pbmcsIG90aGVyd2hpc2Ugd2UnbGwgcnVuIGludG8gYW4gaW5maW5pdGUgbG9vcCBo
ZXJlLgotICAgICAgICAvLyA8cGF0dGVybiBpZD0iZm9vIiB4bGluazpocmVmPSIjYmFyIi8+IDxw
YXR0ZXJuIGlkPSJiYXIgeGxpbms6aHJlZj0iI2ZvbyIvPgotICAgICAgICBTVkdFbGVtZW50KiB0
YXJnZXRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KHRhcmdldE5vZGUpOwotCi0g
ICAgICAgIGJvb2wgZm9sbG93TGluayA9IHRydWU7Ci0gICAgICAgIGlmIChwcm9jZXNzZWRPYmpl
Y3RzLmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpIHx8IHRhcmdldEVsZW1lbnQgPT0gZWxlbWVudCkK
LSAgICAgICAgICAgIGZvbGxvd0xpbmsgPSBmYWxzZTsKLQotICAgICAgICBzZXRGb2xsb3dMaW5r
Rm9yQ2hhaW5hYmxlUmVzb3VyY2UocHJldmlvdXNFbGVtZW50LCBmb2xsb3dMaW5rKTsKLSAgICAg
ICAgaWYgKCFmb2xsb3dMaW5rKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAg
IHByZXZpb3VzRWxlbWVudCA9IHRhcmdldEVsZW1lbnQ7Ci0gICAgICAgIHByb2Nlc3NlZE9iamVj
dHMuYWRkKHRhcmdldEVsZW1lbnQpOwotICAgICAgICB0YXJnZXQgPSB0YXJnZXRSZWZlcmVuY2VG
cm9tUmVzb3VyY2UodGFyZ2V0RWxlbWVudCwgaXNWYWxpZCk7Ci0gICAgICAgIGlmICghaXNWYWxp
ZCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIC8vIENvdWxkbid0IGZpbmQgYW55
IGRpcmVjdCBjeWNsZSBpbiB0aGUgeGxpbms6aHJlZiBjaGFpbiwgbWF5YmUgdGhlcmUncyBhbiBp
bmRpcmVjdCBvbmUuCi0gICAgLy8gPHBhdHRlcm4gaWQ9ImZvbyIgeGxpbms6aHJlZj0iI2JhciIv
PiA8cGF0dGVybiBpZD0iYmFyIj4gPHJlY3QgZmlsbD0idXJsKCNmb28pIi4uLgotICAgIEhhc2hT
ZXQ8U1ZHRWxlbWVudCo+OjppdGVyYXRvciBlbmQgPSBwcm9jZXNzZWRPYmplY3RzLmVuZCgpOwot
ICAgIGZvciAoSGFzaFNldDxTVkdFbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0gcHJvY2Vzc2VkT2Jq
ZWN0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9ICgqaXQpLT5yZW5kZXJlcigpOwotICAgICAgICBpZiAoIXJlbmRlcmVyKQotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIEFTU0VSVChyZW5kZXJlci0+aXNTVkdSZXNvdXJj
ZUNvbnRhaW5lcigpKTsKLSAgICAgICAgaWYgKG1fYWxsUmVzb3VyY2VzLmNvbnRhaW5zKHJlbmRl
cmVyLT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkpKQotICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyOjpyZXNvbHZlQ3ljbGVzKCkKIHsKICAgICBBU1NFUlQobV9hbGxSZXNvdXJj
ZXMuaXNFbXB0eSgpKTsKQEAgLTIyMSw2ICsxMzgsMTAgQEAgdm9pZCBTVkdSZXNvdXJjZXNDeWNs
ZVNvbHZlcjo6cmVzb2x2ZUN5YwogICAgIGZvciAoSGFzaFNldDxSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcio+OjppdGVyYXRvciBpdCA9IHBhcmVudFJlc291cmNlcy5iZWdpbigpOyBpdCAhPSBl
bmQ7ICsraXQpCiAgICAgICAgIG1fYWxsUmVzb3VyY2VzLmFkZCgqaXQpOwogCisgICAgLy8gSWYg
d2UncmUgYSByZXNvdXJjZSwgYWRkIG91cnNlbHZlcyB0byB0aGUgSGFzaFNldC4KKyAgICBpZiAo
bV9yZW5kZXJlci0+aXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKQorICAgICAgICBtX2FsbFJlc291
cmNlcy5hZGQobV9yZW5kZXJlci0+dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpKTsKKwog
ICAgIEFTU0VSVCghbV9hbGxSZXNvdXJjZXMuaXNFbXB0eSgpKTsKIAogICAgIC8vIFRoZSBqb2Ig
b2YgdGhpcyBmdW5jdGlvbiBpcyB0byBkZXRlcm1pbmUgd2hldGVyIGFueSBvZiB0aGUgJ3Jlc291
cmNlcycgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiAncmVuZGVyZXInCkBAIC0yMjgsMjIgKzE0
OSw2IEBAIHZvaWQgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXI6OnJlc29sdmVDeWMKICAgICBlbmQg
PSBsb2NhbFJlc291cmNlcy5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8UmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIqPjo6aXRlcmF0b3IgaXQgPSBsb2NhbFJlc291cmNlcy5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJlc291
cmNlID0gKml0OwotCi0gICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIHJlc291cmNlcyB0
aGF0IGNhbiBiZSBjaGFpbmVkIHVzaW5nIHhsaW5rOmhyZWYgLSBuZWVkIHRvIGRldGVjdCBjeWNs
ZXMgYXMgd2VsbCEKLSAgICAgICAgc3dpdGNoIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkpIHsK
LSAgICAgICAgY2FzZSBQYXR0ZXJuUmVzb3VyY2VUeXBlOgotICAgICAgICBjYXNlIExpbmVhckdy
YWRpZW50UmVzb3VyY2VUeXBlOgotICAgICAgICBjYXNlIFJhZGlhbEdyYWRpZW50UmVzb3VyY2VU
eXBlOgotICAgICAgICBjYXNlIEZpbHRlclJlc291cmNlVHlwZToKLSAgICAgICAgICAgIGlmIChj
aGFpbmFibGVSZXNvdXJjZUNvbnRhaW5zQ3ljbGVzKHJlc291cmNlKSkgewotICAgICAgICAgICAg
ICAgIGJyZWFrQ3ljbGUocmVzb3VyY2UpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotCiAgICAgICAgIGlmIChwYXJlbnRSZXNvdXJjZXMuY29u
dGFpbnMocmVzb3VyY2UpIHx8IHJlc291cmNlQ29udGFpbnNDeWNsZXMocmVzb3VyY2UpKQogICAg
ICAgICAgICAgYnJlYWtDeWNsZShyZXNvdXJjZSk7CiAgICAgfQpAQCAtMjU5LDYgKzE2NCwxMSBA
QCB2b2lkIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyOjpyZXNvbHZlQ3ljCiB2b2lkIFNWR1Jlc291
cmNlc0N5Y2xlU29sdmVyOjpicmVha0N5Y2xlKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBy
ZXNvdXJjZUxlYWRpbmdUb0N5Y2xlKQogewogICAgIEFTU0VSVChyZXNvdXJjZUxlYWRpbmdUb0N5
Y2xlKTsKKyAgICBpZiAocmVzb3VyY2VMZWFkaW5nVG9DeWNsZSA9PSBtX3Jlc291cmNlcy0+bGlu
a2VkUmVzb3VyY2UoKSkgeworICAgICAgICBtX3Jlc291cmNlcy0+cmVzZXRMaW5rZWRSZXNvdXJj
ZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgc3dpdGNoIChyZXNvdXJjZUxlYWRp
bmdUb0N5Y2xlLT5yZXNvdXJjZVR5cGUoKSkgewogICAgIGNhc2UgTWFza2VyUmVzb3VyY2VUeXBl
OgogICAgICAgICBBU1NFUlQocmVzb3VyY2VMZWFkaW5nVG9DeWNsZSA9PSBtX3Jlc291cmNlcy0+
bWFza2VyKCkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
c0N5Y2xlU29sdmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDYgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIGJvb2wgcmVzb3VyY2VDb250YWluc0N5Y2xlcyhSZW5kZXJPYmplY3Qq
KSBjb25zdDsKLSAgICBib29sIGNoYWluYWJsZVJlc291cmNlQ29udGFpbnNDeWNsZXMoUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIqKSBjb25zdDsKICAgICB2b2lkIGJyZWFrQ3ljbGUoUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIqKTsKIAogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw2
IEBAIFNWR0ZpbHRlckVsZW1lbnQ6OlNWR0ZpbHRlckVsZW1lbnQoY29uc3QKICAgICAsIFNWR1VS
SVJlZmVyZW5jZSgpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCgpCi0gICAgLCBtX2ZvbGxvd0xpbmsodHJ1ZSkKICAgICAsIG1fZmlsdGVy
VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKQogICAg
ICwgbV9wcmltaXRpdmVVbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNF
T05VU0UpCiAgICAgLCBtX3goTGVuZ3RoTW9kZVdpZHRoLCAiLTEwJSIpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmls
dGVyRWxlbWVudC5oCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDkgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVy
U3R5bGUqKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgeGxpbms6aHJlZiBzdXBwb3J0IGZvciBmaWx0
ZXJzLCBhbmQgdXNlIHRoaXMgcHJvcGVydHkKLSAgICB2b2lkIHNldEZvbGxvd0xpbmsoYm9vbCBm
b2xsb3dMaW5rKSB7IG1fZm9sbG93TGluayA9IGZvbGxvd0xpbms7IH0KLQogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0OwogCi0gICAgYm9v
bCBtX2ZvbGxvd0xpbms7Ci0KICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0ZpbHRl
ckVsZW1lbnQsIFNWR05hbWVzOjpmaWx0ZXJVbml0c0F0dHIsIGludCwgRmlsdGVyVW5pdHMsIGZp
bHRlclVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHRmlsdGVyRWxlbWVu
dCwgU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRzQXR0ciwgaW50LCBQcmltaXRpdmVVbml0cywgcHJp
bWl0aXZlVW5pdHMpCiAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdGaWx0ZXJFbGVt
ZW50LCBTVkdOYW1lczo6eEF0dHIsIFNWR0xlbmd0aCwgWCwgeCkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0dyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3Jh
ZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFk
aWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw2IEBAIFNWR0dyYWRp
ZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KGMKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQo
dGFnTmFtZSwgZG9jKQogICAgICwgU1ZHVVJJUmVmZXJlbmNlKCkKICAgICAsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV9mb2xsb3dMaW5rKHRydWUpCiAgICAgLCBtX2dy
YWRpZW50VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9Y
KQogICAgICwgbV9ncmFkaWVudFRyYW5zZm9ybShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoU1ZH
TmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0cikpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdH
cmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuaAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiBidWlsZFN0b3BzKCk7CiAg
Ci0gICAgICAgIHZvaWQgc2V0Rm9sbG93TGluayhib29sIGZvbGxvd0xpbmspIHsgbV9mb2xsb3dM
aW5rID0gZm9sbG93TGluazsgfQotCiAgICAgcHJvdGVjdGVkOgotICAgICAgICBib29sIG1fZm9s
bG93TGluazsKLQogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0dyYWRpZW50
RWxlbWVudCwgU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIsIGludCwgU3ByZWFkTWV0aG9kLCBz
cHJlYWRNZXRob2QpCiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHR3JhZGll
bnRFbGVtZW50LCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIGludCwgR3JhZGllbnRVbml0
cywgZ3JhZGllbnRVbml0cykKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdH
cmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIsIFNWR1RyYW5z
Zm9ybUxpc3QqLCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0pCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDY0MzQ3KQor
KysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTU1LDcgKzE1NSw3IEBAIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJH
cmFkaWUKICAgICAgICAgcHJvY2Vzc2VkR3JhZGllbnRzLmFkZChjdXJyZW50KTsKIAogICAgICAg
ICAvLyBSZXNwZWN0IHhsaW5rOmhyZWYsIHRha2UgYXR0cmlidXRlcyBmcm9tIHJlZmVyZW5jZWQg
ZWxlbWVudAotICAgICAgICBOb2RlKiByZWZOb2RlID0gbV9mb2xsb3dMaW5rID8gb3duZXJEb2N1
bWVudCgpLT5nZXRFbGVtZW50QnlJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50
LT5ocmVmKCkpKSA6IDA7CisgICAgICAgIE5vZGUqIHJlZk5vZGUgPSBvd25lckRvY3VtZW50KCkt
PmdldEVsZW1lbnRCeUlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYo
KSkpOwogICAgICAgICBpZiAocmVmTm9kZSAmJiAocmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6bGluZWFyR3JhZGllbnRUYWcpIHx8IHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJh
ZGlhbEdyYWRpZW50VGFnKSkpIHsKICAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxT
VkdHcmFkaWVudEVsZW1lbnQqPihyZWZOb2RlKTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmNwcAkocmV2aXNpb24gNjQzNDcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDYgQEAgU1ZHUGF0dGVybkVsZW1lbnQ6
OlNWR1BhdHRlcm5FbGVtZW50KGNvbgogICAgICwgU1ZHTGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgU1ZHRml0VG9WaWV3Qm94KCkKLSAgICAs
IG1fZm9sbG93TGluayh0cnVlKQogICAgICwgbV94KExlbmd0aE1vZGVXaWR0aCkKICAgICAsIG1f
eShMZW5ndGhNb2RlSGVpZ2h0KQogICAgICwgbV93aWR0aChMZW5ndGhNb2RlV2lkdGgpCkBAIC0y
MzksNyArMjM4LDcgQEAgUGF0dGVybkF0dHJpYnV0ZXMgU1ZHUGF0dGVybkVsZW1lbnQ6OmNvbAog
ICAgICAgICBwcm9jZXNzZWRQYXR0ZXJucy5hZGQoY3VycmVudCk7CiAKICAgICAgICAgLy8gUmVz
cGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVsZW1lbnQK
LSAgICAgICAgTm9kZSogcmVmTm9kZSA9IG1fZm9sbG93TGluayA/IG93bmVyRG9jdW1lbnQoKS0+
Z2V0RWxlbWVudEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigp
KSkgOiAwOworICAgICAgICBOb2RlKiByZWZOb2RlID0gb3duZXJEb2N1bWVudCgpLT5nZXRFbGVt
ZW50QnlJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50LT5ocmVmKCkpKTsKICAg
ICAgICAgaWYgKHJlZk5vZGUgJiYgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6cGF0dGVy
blRhZykpIHsKICAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCo+KGNvbnN0X2Nhc3Q8Y29uc3QgTm9kZSo+KHJlZk5vZGUpKTsKIApJbmRleDog
V2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNvcmUvc3ZnL1NW
R1BhdHRlcm5FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDEzICs1NywxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKICAgICAgICAgUGF0dGVybkF0dHJp
YnV0ZXMgY29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0
Rm9sbG93TGluayhib29sIGZvbGxvd0xpbmspIHsgbV9mb2xsb3dMaW5rID0gZm9sbG93TGluazsg
fQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxl
bmd0aHMoKSBjb25zdDsKIAotICAgICAgICBib29sIG1fZm9sbG93TGluazsKLQogICAgICAgICBE
RUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6eEF0
dHIsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShT
VkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBTVkdMZW5ndGgsIFksIHkpCiAgICAg
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2NDM0NykKKysrIFdlYkNvcmUv
c3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw3
ICsxNjgsNyBAQCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFkaWFsR3JhZGllCiAgICAg
ICAgIHByb2Nlc3NlZEdyYWRpZW50cy5hZGQoY3VycmVudCk7CiAKICAgICAgICAgLy8gUmVzcGVj
dCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVsZW1lbnQKLSAg
ICAgICAgTm9kZSogcmVmTm9kZSA9IG1fZm9sbG93TGluayA/IG93bmVyRG9jdW1lbnQoKS0+Z2V0
RWxlbWVudEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigpKSkg
OiAwOworICAgICAgICBOb2RlKiByZWZOb2RlID0gb3duZXJEb2N1bWVudCgpLT5nZXRFbGVtZW50
QnlJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50LT5ocmVmKCkpKTsKICAgICAg
ICAgaWYgKHJlZk5vZGUgJiYgKHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdy
YWRpZW50VGFnKSB8fCByZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVu
dFRhZykpKSB7CiAgICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRF
bGVtZW50Kj4ocmVmTm9kZSk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0MzU3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDct
MzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZHIGdyYWRpZW50cyBkbyBu
b3QgdXBkYXRlIHdoZW4gc2NyaXB0ZWQgdmlhIHhsaW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk1MworCisgICAgICAgIEFkZCBuZXcgdGVzdCBj
b3ZlcmluZyB1cGRhdGVzIG9mIGxpbmtlZCBncmFkaWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVw
ZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3At
bGlua2VkLWdyYWRpZW50LnN2ZzogQWRkZWQuCisKIDIwMTAtMDctMzAgIFN0ZXZlIEJsb2NrICA8
c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXZlIEJsb2Nr
LgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0
b3AtbGlua2VkLWdyYWRpZW50LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFk
aWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorODI0NmVhZTZjZTA5MDA0Nzg4
MjY5NGE0YWUzZmE0ZDIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGll
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRh
dGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNDUweDQ1MAorICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICgxMCwxMCkgc2l6ZSA0MzB4MzE0CisgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQiXSBbZ3JhZGll
bnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgxMCwxMCldIFtlbmQ9KDQ0MCwxMCldCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
IzAwODAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibGlua2VkR3JhZGllbnQyIl0gW2dyYWRpZW50VW5pdHM9
dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMTAsMTApXSBbZW5kPSg0NDAsMTApXQorICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibGlua2Vk
R3JhZGllbnQxIl0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMTAsMTAp
XSBbZW5kPSg0NDAsMTApXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSA0
MzB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudCJdfV0gW2Rh
dGE9Ik0xMC4wMCwxMC4wMCBMNDQwLjAwLDEwLjAwIEw0NDAuMDAsOTAuMDAgTDEwLjAwLDkwLjAw
IFoiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMTApIHNpemUgNDMweDgwIFtmaWxs
PXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibGlua2VkR3JhZGllbnQxIl19XSBbZGF0YT0i
TTEwLjAwLDExMC4wMCBMNDQwLjAwLDExMC4wMCBMNDQwLjAwLDE5MC4wMCBMMTAuMDAsMTkwLjAw
IFoiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwyMTApIHNpemUgNDMweDgwIFtmaWxs
PXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibGlua2VkR3JhZGllbnQyIl19XSBbZGF0YT0i
TTEwLjAwLDIxMC4wMCBMNDQwLjAwLDIxMC4wMCBMNDQwLjAwLDI5MC4wMCBMMTAuMDAsMjkwLjAw
IFoiXQorICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMywzMDYpIHNpemUgMzc0eDE4IGNv
bnRhaW5zIDEgY2h1bmsocykKKyAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDM3NHgxOAorICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1
biAxIGF0ICgzMy4wMCwzMjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYxIHdpZHRoIDM3
NC4wMDogIkFsbCBncmFkaWVudHMgc2hvdWxkIGxvb2sgdGhlIHNhbWUsIGVzcGVjaWFsbHkgYWZ0
ZXIgY2xpY2tpbmciCitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hp
bGQgMTEge3RleHR9IG9mIGNoaWxkIDEge3N2Z30gb2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtbGlua2VkLWdyYWRpZW50LnN2Zwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1zdG9wLWxpbmtlZC1ncmFk
aWVudC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2pzLXVwZGF0
ZS1zdG9wLWxpbmtlZC1ncmFkaWVudC5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiIHN0YW5kYWxvbmU9Im5v
Ij8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRk
Ij4KKzxzdmcgd2lkdGg9IjQ1MCIgaGVpZ2h0PSI0NTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgor
PGRlZnM+CisgICAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudCIgZ3JhZGllbnRVbml0cz0i
dXNlclNwYWNlT25Vc2UiIHgxPSIxMCIgeTE9IjEwIiB4Mj0iNDQwIiB5Mj0iMTAiPgorICAgICAg
ICA8c3RvcCBzdG9wLWNvbG9yPSJncmVlbiIgb2Zmc2V0PSIwIi8+CisgICAgICAgIDxzdG9wIGlk
PSJzdG9wMSIgc3RvcC1jb2xvcj0icmVkIiBvZmZzZXQ9IjAuNSIvPgorICAgICAgICA8c3RvcCBz
dG9wLWNvbG9yPSJncmVlbiIgb2Zmc2V0PSIxIi8+CisgICAgPC9saW5lYXJHcmFkaWVudD4KKwor
ICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGlua2VkR3JhZGllbnQyIiB4bGluazpocmVmPSIjbGlu
a2VkR3JhZGllbnQxIi8+CisgICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5rZWRHcmFkaWVudDEi
IHhsaW5rOmhyZWY9IiNncmFkaWVudCIvPgorPC9kZWZzPgorCis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTUwLCA1
MCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCk7CisgICAgfSwgMCk7Cit9CisKK2Z1bmN0aW9uIG1vdXNlSGFuZGxlcihldnQp
Cit7CisgICAgdmFyIHN0b3AgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcDEiKTsKKyAg
ICBzdG9wLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3RvcCk7CisKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9Cis8L3NjcmlwdD4KKworPHJlY3Qgb25jbGljaz0ibW91c2VIYW5kbGVyKGV2dCki
IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjQzMCIgaGVpZ2h0PSI4MCIgZmlsbD0idXJsKCNncmFkaWVu
dCkiLz4KKzxyZWN0IHg9IjEwIiB5PSIxMTAiIHdpZHRoPSI0MzAiIGhlaWdodD0iODAiIGZpbGw9
InVybCgjbGlua2VkR3JhZGllbnQxKSIvPgorPHJlY3QgeD0iMTAiIHk9IjIxMCIgd2lkdGg9IjQz
MCIgaGVpZ2h0PSI4MCIgZmlsbD0idXJsKCNsaW5rZWRHcmFkaWVudDIpIi8+Cis8dGV4dCB0ZXh0
LWFuY2hvcj0ibWlkZGxlIiB4PSIyMjAiIHk9IjMyMCI+QWxsIGdyYWRpZW50cyBzaG91bGQgbG9v
ayB0aGUgc2FtZSwgZXNwZWNpYWxseSBhZnRlciBjbGlja2luZzwvdGV4dD4KKzwvc3ZnPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtbGlu
a2VkLWdyYWRpZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1saW5rZWQtZ3JhZGllbnQtZXhwZWN0ZWQucG5nCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxE
UTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdR
aWxEYmFiWFdrWEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VM
a1VMcmExRUVjYVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpy
cWgyNlBDQQp0bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5
ZjFMajJMdjY1NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZK
anZrUnJjbjJVRytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQ
Q1h0YWM4WXBvYjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZk
dlBwRDhmcFhiYwp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpS
VGNvcTlsWWNvcklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlS
cWdad2NpNTlsdWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxr
OXpoU2Zjb2tnM1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAy
N3lZM2tleGx6VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRY
SlIrVThKSTk0eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3
dEZwSXk3enBxN2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYv
UWFzTEQ4YjhxTFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5m
MGI5ZXFTODBWRHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQ
WGxuZkZLNHVZMStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYx
TDg0K3FhdmtlcU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QK
bXJwTGJWTmIxVTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFD
VnU0cHFISmYyakN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3
ZDBGak9USTJRWmdiM0poWm9ZTE03UEN6RkdZRkU0VVpzYlRKUW9xClRBcXp3c3g0WVdhT1Fnb3pN
L3V2ejRvbmJsZlQzRzN0MWwvM1dMcWJkblYzdWVyNXVtZjlkdHVlUFgxYU9nc0JBZ1FJRUNCQWdB
QUIKQWdUMmdjQVI5c0UyYklJQUFRSUVDQkFnUUlBQUFRS0RnQURpaFVDQUFBRUNCQWdRSUVDQXdE
NFRFRUQyR2JVTkVTQkFnQUFCQWdRSQpFQ0FnZ0hnTkVDQkFnQUFCQWdRSUVDQ3d6d1FFa0gxR2JV
TUVDQkFnUUlBQUFRSUVDQWdnWGdNRUNCQWdRSUFBQVFJRUNPd3pBUUZrCm4xSGJFQUVDQkFnUUlF
Q0FBQUVDQW9qWEFBRUNCQWdRSUVDQUFBRUMrMHhBQU5sbjFEWkVnQUFCQWdRSUVDQkFnTUFCMnhM
c09YalAKdGcvMU9BSUVDQkFnc044RitvUDYvVDRHQXlCQWdBQ0JYTUEzSUxtSkZnSUVDQkFnUUlB
QUFRSUVDZ2tJSUlWZ2RVdUFBQUVDQkFnUQpJRUNBUUM0Z2dPUW1XZ2dRSUVDQUFBRUNCQWdRS0NR
Z2dCU0MxUzBCQWdRSUVDQkFnQUFCQXJtQUFKS2JhQ0ZBZ0FBQkFnUUlFQ0JBCm9KQ0FBRklJVnJj
RUNCQWdRSUFBQVFJRUNPUUNBa2h1b29VQUFRSUVDQkFnUUlBQWdVSUNBa2doV04wU0lFQ0FBQUVD
QkFnUUlKQUwKQ0NDNWlSWUNCQWdRSUVDQUFBRUNCQW9KQ0NDRllIVkxnQUFCQWdRSUVDQkFnRUF1
SUlEa0psb0lFQ0JBZ0FBQkFnUUlFQ2drSUlBVQpndFV0QVFJRUNCQWdRSUFBQVFLNWdBQ1NtMmdo
UUlBQUFRSUVDQkFnUUtDUWdBQlNDRmEzQkFnUUlFQ0FBQUVDQkFqa0FnSklicUtGCkFBRUNCQWdR
SUVDQUFJRkNBZ0pJSVZqZEVpQkFnQUFCQWdRSUVDQ1FDd2dndVlrV0FnUUlFQ0JBZ0FBQkFnUUtD
UWdnaFdCMVM0QUEKQVFJRUNCQWdRSUJBTGlDQTVDWmFDQkFnUUlBQUFRSUVDQkFvSkNDQUZJTFZM
UUVDQkFnUUlFQ0FBQUVDdVlBQWtwdG9JVUNBQUFFQwpCQWdRSUVDZ2tJQUFVZ2hXdHdRSUVDQkFn
QUFCQWdRSTVBSUNTRzZpaFFBQkFnUUlFQ0JBZ0FDQlFnSUNTQ0ZZM1JJZ1FJQUFBUUlFCkNCQWdr
QXNJSUxtSkZnSUVDQkFnUUlBQUFRSUVDZ2tJSUlWZ2RVdUFBQUVDQkFnUUlFQ0FRQzRnZ09RbVdn
Z1FJRUNBQUFFQ0JBZ1EKS0NRZ2dCU0MxUzBCQWdRSUVDQkFnQUFCQXJtQUFKS2JhQ0ZBZ0FBQkFn
UUlFQ0JBb0pDQUFGSUlWcmNFQ0JBZ1FJQUFBUUlFQ09RQwpBa2h1b29VQUFRSUVDQkFnUUlBQWdV
SUNBa2doV04wU0lFQ0FBQUVDQkFnUUlKQUxDQ0M1aVJZQ0JBZ1FJRUNBQUFFQ0JBb0pDQ0NGCllI
VkxnQUFCQWdRSUVDQkFnRUF1SUlEa0psb0lFQ0JBZ0FBQkFnUUlFQ2drSUlBVWd0VXRBUUlFQ0JB
Z1FJQUFBUUs1Z0FDU20yZ2gKUUlBQUFRSUVDQkFnUUtDUWdBQlNDRmEzQkFnUUlFQ0FBQUVDQkFq
a0FnSklicUtGQUFFQ0JBZ1FJRUNBQUlGQ0FnSklJVmpkRWlCQQpnQUFCQWdRSUVDQ1FDd2dndVlr
V0FnUUlFQ0JBZ0FBQkFnUUtDUWdnaFdCMVM0QUFBUUlFQ0JBZ1FJQkFMaUNBNUNaYUNCQWdRSUFB
CkFRSUVDQkFvSkNDQUZJTFZMUUVDQkFnUUlFQ0FBQUVDdVlBQWtwdG9JVUNBQUFFQ0JBZ1FJRUNn
a0lBQVVnaFd0d1FJRUNCQWdBQUIKQWdRSTVBSUNTRzZpaFFBQkFnUUlFQ0JBZ0FDQlFnSUNTQ0ZZ
M1JJZ1FJQUFBUUlFQ0JBZ2tBc0lJTG1KRmdJRUNCQWdRSUFBQVFJRQpDZ2tJSUlWZ2RVdUFBQUVD
QkFnUUlFQ0FRQzRnZ09RbVdnZ1FJRUNBQUFFQ0JBZ1FLQ1FnZ0JTQzFTMEJBZ1FJRUNCQWdBQUJB
cm1BCkFKS2JhQ0ZBZ0FBQkFnUUlFQ0JBb0pDQUFGSUlWcmNFQ0JBZ1FJQUFBUUlFQ09RQ0FraHVv
b1VBQVFJRUNCQWdRSUFBZ1VJQ0FrZ2gKV04wU0lFQ0FBQUVDQkFnUUlKQUxDQ0M1aVJZQ0JBZ1FJ
RUNBQUFFQ0JBb0pDQ0NGWUhWTGdBQUJBZ1FJRUNCQWdFQXVJSURrSmxvSQpFQ0JBZ0FBQkFnUUlF
Q2drSUlBVWd0VXRBUUlFQ0JBZ1FJQUFBUUs1Z0FDU20yZ2hRSUFBQVFJRUNCQWdRS0NRZ0FCU0NG
YTNCQWdRCklFQ0FBQUVDQkFqa0FnSklicUtGQUFFQ0JBZ1FJRUNBQUlGQ0FnSklJVmpkRWlCQWdB
QUJBZ1FJRUNDUUN3Z2d1WWtXQWdRSUVDQkEKZ0FBQkFnUUtDUWdnaFdCMVM0QUFBUUlFQ0JBZ1FJ
QkFMaUNBNUNaYUNCQWdRSUFBQVFJRUNCQW9KQ0NBRklMVkxRRUNCQWdRSUVDQQpBQUVDdVlBQWtw
dG9JVUNBQUFFQ0JBZ1FJRUNna0lBQVVnaFd0d1FJRUNCQWdBQUJBZ1FJNUFJQ1NHNmloUUFCQWdR
SUVDQkFnQUNCClFnSUNTQ0ZZM1JJZ1FJQUFBUUlFQ0JBZ2tBc0lJTG1KRmdJRUNCQWdRSUFBQVFJ
RUNna0lJSVZnZFV1QUFBRUNCQWdRSUVDQVFDNGcKZ09RbVdnZ1FJRUNBQUFFQ0JBZ1FLQ1FnZ0JT
QzFTMEJBZ1FJRUNCQWdBQUJBcm1BQUpLYmFDRkFnQUFCQWdRSUVDQkFvSkNBQUZJSQpWcmNFQ0JB
Z1FJQUFBUUlFQ09RQ0FraHVvb1VBQVFJRUNCQWdRSUFBZ1VJQ2UvcTBGT3BidHdRSUVDQkFnQUFC
QWdRSUVGZ1E4QTNJCkFvY1ZBZ1FJRUNCQWdBQUJBZ1JLQ2dnZ0pYWDFUWUFBQVFJRUNCQWdRSURB
Z29BQXNzQmhoUUFCQWdRSUVDQkFnQUNCa2dJQ1NFbGQKZlJNZ1FJQUFBUUlFQ0JBZ3NDQWdnQ3h3
V0NGQWdBQUJBZ1FJRUNCQW9LU0FBRkpTVjk4RUNCQWdRSUFBQVFJRUNDd0lDQ0FMSEZZSQpFQ0JB
Z0FBQkFnUUlFQ2dwSUlDVTFOVTNBUUlFQ0JBZ1FJQUFBUUlMQWdMSUFvY1ZBZ1FJRUNCQWdBQUJB
Z1JLQ2dnZ0pYWDFUWUFBCkFRSUVDQkFnUUlEQWdvQUFzc0JoaFFBQkFnUUlFQ0JBZ0FDQmtnSUNT
RWxkZlJNZ1FJQUFBUUlFQ0JBZ3NDQWdnQ3h3V0NGQWdBQUIKQWdRSUVDQkFvS1NBQUZKU1Y5OEVD
QkFnUUlBQUFRSUVDQ3dJQ0NBTEhGWUlFQ0JBZ0FBQkFnUUlFQ2dwSUlDVTFOVTNBUUlFQ0JBZwpR
SUFBQVFJTEFnTElBb2NWQWdRSUVDQkFnQUFCQWdSS0NnZ2dKWFgxVFlBQUFRSUVDQkFnUUlEQWdv
QUFzc0JoaFFBQkFnUUlFQ0JBCmdBQ0JrZ0lIYk52NW5vUDNiUHRRanlOQWdBQUJBdnRkb0QrbzMr
OWpNQUFDQkFnUXlBVjhBNUtiYUNGQWdBQUJBZ1FJRUNCQW9KQ0EKQUZJSVZyY0VDQkFnUUlBQUFR
SUVDT1FDQWtodW9vVUFBUUlFQ0JBZ1FJQUFnVUlDQWtnaFdOMFNJRUNBQUFFQ0JBZ1FJSkFMQ0ND
NQppUllDQkFnUUlFQ0FBQUVDQkFvSkNDQ0ZZSFZMZ0FBQkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNC
QWdBQUJBZ1FJRUNna0lJQVVndFV0CkFRSUVDQkFnUUlBQUFRSzVnQUNTbTJnaFFJQUFBUUlFQ0JB
Z1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBQUFFQ0JBamtBZ0pJYnFLRkFBRUMKQkFnUUlFQ0FBSUZDQWdK
SUlWamRFaUJBZ0FBQkFnUUlFQ0NRQ3dnZ3VZa1dBZ1FJRUNCQWdBQUJBZ1FLQ1FnZ2hXQjFTNEFB
QVFJRQpDQkFnUUlCQUxpQ0E1Q1phQ0JBZ1FJQUFBUUlFQ0JBb0pDQ0FGSUxWTFFFQ0JBZ1FJRUNB
QUFFQ3VZQUFrcHRvSVVDQUFBRUNCQWdRCklFQ2drSUFBVWdoV3R3UUlFQ0JBZ0FBQkFnUUk1QUlD
U0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lDU0NGWTNSSWdRSUFBQVFJRUNCQWcKa0FzSUlMbUpGZ0lF
Q0JBZ1FJQUFBUUlFQ2drSUlJVmdkVXVBQUFFQ0JBZ1FJRUNBUUM0Z2dPUW1XZ2dRSUVDQUFBRUNC
QWdRS0NRZwpnQlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFBSktiYUNGQWdBQUJBZ1FJRUNCQW9KQ0FB
RklJVnJjRUNCQWdRSUFBQVFJRUNPUUNBa2h1Cm9vVUFBUUlFQ0JBZ1FJQUFnVUlDQWtnaFdOMFNJ
RUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNCQWdRSUVDQUFBRUNCQW9KQ0NDRllIVkwKZ0FBQkFnUUlF
Q0JBZ0VBdUlJRGtKbG9JRUNCQWdBQUJBZ1FJRUNna0lJQVVndFV0QVFJRUNCQWdRSUFBQVFLNWdB
Q1NtMmdoUUlBQQpBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBQUFFQ0JBamtBZ0pJYnFLRkFB
RUNCQWdRSUVDQUFJRkNBZ0pJSVZqZEVpQkFnQUFCCkFnUUlFQ0NRQ3dnZ3VZa1dBZ1FJRUNCQWdB
QUJBZ1FLQ1FnZ2hXQjFTNEFBQVFJRUNCQWdRSUJBTGlDQTVDWmFDQkFnUUlBQUFRSUUKQ0JBb0pD
Q0FGSUxWTFFFQ0JBZ1FJRUNBQUFFQ3VZQUFrcHRvSVVDQUFBRUNCQWdRSUVDZ2tJQUFVZ2hXdHdR
SUVDQkFnQUFCQWdRSQo1QUlDU0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lDU0NGWTNSSWdRSUFBQVFJ
RUNCQWdrQXNJSUxtSkZnSUVDQkFnUUlBQUFRSUVDZ2tJCklJVmdkVXVBQUFFQ0JBZ1FJRUNBUUM0
Z2dPUW1XZ2dRSUVDQUFBRUNCQWdRS0NRZ2dCU0MxUzBCQWdRSUVDQkFnQUFCQXJtQUFKS2IKYUNG
QWdBQUJBZ1FJRUNCQW9KQ0FBRklJVnJjRUNCQWdRSUFBQVFJRUNPUUNBa2h1b29VQUFRSUVDQkFn
UUlBQWdVSUNBa2doV04wUwpJRUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNCQWdRSUVDQUFBRUNCQW9K
Q0NDRllIVkxnQUFCQWdRSUVDQkFnRUF1SUlEa0psb0lFQ0JBCmdBQUJBZ1FJRUNna0lJQVVndFV0
QVFJRUNCQWdRSUFBQVFLNWdBQ1NtMmdoUUlBQUFRSUVDQkFnUUtDUWdBQlNDRmEzQkFnUUlFQ0EK
QUFFQ0JBamtBZ0pJYnFLRkFBRUNCQWdRSUVDQUFJRkNBZ0pJSVZqZEVpQkFnQUFCQWdRSUVDQ1FD
d2dndVlrV0FnUUlFQ0JBZ0FBQgpBZ1FLQ1FnZ2hXQjFTNEFBQVFJRUNCQWdRSUJBTGlDQTVDWmFD
QkFnUUlBQUFRSUVDQkFvSkNDQUZJTFZMUUVDQkFnUUlFQ0FBQUVDCnVZQUFrcHRvSVVDQUFBRUNC
QWdRSUVDZ2tJQUFVZ2hXdHdRSUVDQkFnQUFCQWdRSTVBSUNTRzZpaFFBQkFnUUlFQ0JBZ0FDQlFn
SUMKU0NGWTNSSWdRSUFBQVFJRUNCQWdrQXNJSUxtSkZnSUVDQkFnUUlBQUFRSUVDZ2tJSUlWZ2RV
dUFBQUVDQkFnUUlFQ0FRQzRnZ09RbQpXZ2dRSUVDQUFBRUNCQWdRS0NRZ2dCU0MxUzBCQWdRSUVD
QkFnQUFCQXJtQUFKS2JhQ0ZBZ0FBQkFnUUlFQ0JBb0pDQUFGSUlWcmNFCkNCQWdRSUFBQVFJRUNP
UUNBa2h1b29VQUFRSUVDQkFnUUlBQWdVSUNBa2doV04wU0lFQ0FBQUVDQkFnUUlKQUxDQ0M1aVJZ
Q0JBZ1EKSUVDQUFBRUNCQW9KQ0NDRllIVkxnQUFCQWdRSUVDQkFnRUF1SUlEa0psb0lFQ0JBZ0FB
QkFnUUlFQ2drc0tkUFM2RytkVXVBQUFFQwpCQWdRSUVDQUFJRUZBZCtBTEhCWUlVQ0FBQUVDQkFn
UUlFQ2dwSUFBVWxKWDN3UUlFQ0JBZ0FBQkFnUUlMQWdJSUFzY1ZnZ1FJRUNBCkFBRUNCQWdRS0Nr
Z2dKVFUxVGNCQWdRSUVDQkFnQUFCQWdzQ0FzZ0NoeFVDQkFnUUlFQ0FBQUVDQkVvS0NDQWxkZlZO
Z0FBQkFnUUkKRUNCQWdNQ0NnQUN5d0dHRkFBRUNCQWdRSUVDQUFJR1NBZ0pJU1YxOUV5QkFnQUFC
QWdRSUVDQ3dJQ0NBTEhCWUlVQ0FBQUVDQkFnUQpJRUNncElBQVVsSlgzd1FJRUNCQWdBQUJBZ1FJ
TEFnSUlBc2NWZ2dRSUVDQUFBRUNCQWdRS0NrZ2dKVFUxVGNCQWdRSUVDQkFnQUFCCkFnc0NBc2dD
aHhVQ0JBZ1FJRUNBQUFFQ0JFb0tDQ0FsZGZWTmdBQUJBZ1FJRUNCQWdNQ0NnQUN5d0dHRkFBRUNC
QWdRSUVDQUFJR1MKQWdKSVNWMTlFeUJBZ0FBQkFnUUlFQ0N3SUNDQUxIQllJVUNBQUFFQ0JBZ1FJ
RUNncElBQVVsSlgzd1FJRUNCQWdBQUJBZ1FJTEFnSQpJQXNjVmdnUUlFQ0FBQUVDQkFnUUtDbHd3
TGFkN3psNHo3WVA5VGdDQkFnUUlMRGZCZnFEK3YwK0JnTWdRSUFBZ1Z6QU55QzVpUllDCkJBZ1FJ
RUNBQUFFQ0JBb0pDQ0NGWUhWTGdBQUJBZ1FJRUNCQWdFQXVJSURrSmxvSUVDQkFnQUFCQWdRSUVD
Z2tJSUFVZ3RVdEFRSUUKQ0JBZ1FJQUFBUUs1Z0FDU20yZ2hRSUFBQVFJRUNCQWdRS0NRZ0FCU0NG
YTNCQWdRSUVDQUFBRUNCQWprQWdKSWJxS0ZBQUVDQkFnUQpJRUNBQUlGQ0FnSklJVmpkRWlCQWdB
QUJBZ1FJRUNDUUN3Z2d1WWtXQWdRSUVDQkFnQUFCQWdRS0NRZ2doV0IxUzRBQUFRSUVDQkFnClFJ
QkFMaUNBNUNaYUNCQWdRSUFBQVFJRUNCQW9KQ0NBRklMVkxRRUNCQWdRSUVDQUFBRUN1WUFBa3B0
b0lVQ0FBQUVDQkFnUUlFQ2cKa0lBQVVnaFd0d1FJRUNCQWdBQUJBZ1FJNUFJQ1NHNmloUUFCQWdR
SUVDQkFnQUNCUWdJQ1NDRlkzUklnUUlBQUFRSUVDQkFna0FzSQpJTG1KRmdJRUNCQWdRSUFBQVFJ
RUNna0lJSVZnZFV1QUFBRUNCQWdRSUVDQVFDNGdnT1FtV2dnUUlFQ0FBQUVDQkFnUUtDUWdnQlND
CjFTMEJBZ1FJRUNCQWdBQUJBcm1BQUpLYmFDRkFnQUFCQWdRSUVDQkFvSkNBQUZJSVZyY0VDQkFn
UUlBQUFRSUVDT1FDQWtodW9vVUEKQVFJRUNCQWdRSUFBZ1VJQ0FrZ2hXTjBTSUVDQUFBRUNCQWdR
SUpBTENDQzVpUllDQkFnUUlFQ0FBQUVDQkFvSkNDQ0ZZSFZMZ0FBQgpBZ1FJRUNCQWdFQXVJSURr
SmxvSUVDQkFnQUFCQWdRSUVDZ2tJSUFVZ3RVdEFRSUVDQkFnUUlBQUFRSzVnQUNTbTJnaFFJQUFB
UUlFCkNCQWdRS0NRZ0FCU0NGYTNCQWdRSUVDQUFBRUNCQWprQWdKSWJxS0ZBQUVDQkFnUUlFQ0FB
SUZDQWdKSUlWamRFaUJBZ0FBQkFnUUkKRUNDUUN3Z2d1WWtXQWdRSUVDQkFnQUFCQWdRS0NRZ2do
V0IxUzRBQUFRSUVDQkFnUUlCQUxpQ0E1Q1phQ0JBZ1FJQUFBUUlFQ0JBbwpKQ0NBRklMVkxRRUNC
QWdRSUVDQUFBRUN1WUFBa3B0b0lVQ0FBQUVDQkFnUUlFQ2drSUFBVWdoV3R3UUlFQ0JBZ0FBQkFn
UUk1QUlDClNHNmloUUFCQWdRSUVDQkFnQUNCUWdJQ1NDRlkzUklnUUlBQUFRSUVDQkFna0FzSUlM
bUpGZ0lFQ0JBZ1FJQUFBUUlFQ2drSUlJVmcKZFV1QUFBRUNCQWdRSUVDQVFDNGdnT1FtV2dnUUlF
Q0FBQUVDQkFnUUtDUWdnQlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFBSktiYUNGQQpnQUFCQWdRSUVD
QkFvSkNBQUZJSVZyY0VDQkFnUUlBQUFRSUVDT1FDQWtodW9vVUFBUUlFQ0JBZ1FJQUFnVUlDQWtn
aFdOMFNJRUNBCkFBRUNCQWdRSUpBTENDQzVpUllDQkFnUUlFQ0FBQUVDQkFvSkNDQ0ZZSFZMZ0FB
QkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNCQWdBQUIKQWdRSUVDZ2tJSUFVZ3RVdEFRSUVDQkFnUUlB
QUFRSzVnQUNTbTJnaFFJQUFBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JBZ1FJRUNBQUFFQwpCQWprQWdK
SWJxS0ZBQUVDQkFnUUlFQ0FBSUZDQWdKSUlWamRFaUJBZ0FBQkFnUUlFQ0NRQ3dnZ3VZa1dBZ1FJ
RUNCQWdBQUJBZ1FLCkNRZ2doV0IxUzRBQUFRSUVDQkFnUUlCQUxpQ0E1Q1phQ0JBZ1FJQUFBUUlF
Q0JBb0pDQ0FGSUxWTFFFQ0JBZ1FJRUNBQUFFQ3VZQUEKa3B0b0lVQ0FBQUVDQkFnUUlFQ2drSUFB
VWdoV3R3UUlFQ0JBZ0FBQkFnUUk1QUlDU0c2aWhRQUJBZ1FJRUNCQWdBQ0JRZ0lDU0NGWQozUkln
UUlBQUFRSUVDQkFna0FzSUlMbUpGZ0lFQ0JBZ1FJQUFBUUlFQ2drSUlJVmdkVXVBQUFFQ0JBZ1FJ
RUNBUUM0Z2dPUW1XZ2dRCklFQ0FBQUVDQkFnUUtDUWdnQlNDMVMwQkFnUUlFQ0JBZ0FBQkFybUFB
SktiYUNGQWdBQUJBZ1FJRUNCQW9KQ0FBRklJVnJjRUNCQWcKUUlBQUFRSUVDT1FDQWtodW9vVUFB
UUlFQ0JBZ1FJQUFnVUlDQWtnaFdOMFNJRUNBQUFFQ0JBZ1FJSkFMQ0NDNWlSWUNCQWdRSUVDQQpB
QUVDQkFvSkNDQ0ZZSFZMZ0FBQkFnUUlFQ0JBZ0VBdUlJRGtKbG9JRUNCQWdBQUJBZ1FJRUNna0lJ
QVVndFV0QVFJRUNCQWdRSUFBCkFRSzVnQUNTbTJnaFFJQUFBUUlFQ0JBZ1FLQ1FnQUJTQ0ZhM0JB
Z1FJRUNBQUFFQ0JBamtBZ0pJYnFLRkFBRUNCQWdRSUVDQUFJRkMKQW52NnRCVHFXN2NFQ0JBZ1FJ
QUFBUUlFQ0JCWUVQQU55QUtIRlFJRUNCQWdRSUFBQVFJRVNnb0lJQ1YxOVUyQUFBRUNCQWdRSUVD
QQp3SUtBQUxMQVlZVUFBUUlFQ0JBZ1FJQUFnWklDQWtoSlhYMFRJRUNBQUFFQ0JBZ1FJTEFnSUlB
c2NGZ2hRSUFBQVFJRUNCQWdRS0NrCmdBQlNVbGZmQkFnUUlFQ0FBQUVDQkFnc0NBZ2dDeHhXQ0JB
Z1FJQUFBUUlFQ0JBb0tTQ0FsTlRWTndFQ0JBZ1FJRUNBQUFFQ0N3SUMKeUFLSEZRSUVDQkFnUUlB
QUFRSUVTZ29JSUNWMTlVMkFBQUVDQkFnUUlFQ0F3SUtBQUxMQVlZVUFBUUlFQ0JBZ1FJQUFnWklD
QWtoSgpYWDBUSUVDQUFBRUNCQWdRSUxBZ0lJQXNjRmdoUUlBQUFRSUVDQkFnUUtDa2dBQlNVbGZm
QkFnUUlFQ0FBQUVDQkFnc0NBZ2dDeHhXCkNCQWdRSUFBQVFJRUNCQW9LU0NBbE5UVk53RUNCQWdR
SUVDQUFBRUNDd0lDeUFLSEZRSUVDQkFnUUlBQUFRSUVTZ3BVRzBCKys5dmYKcnAzMzMvLys5KzVq
SC92WXptUG02enQzN0tNYi8vNzN2N3R2Zk9NYk8xdjc5YTkvM1gzclc5L2FXYS9weHAvKzlLZnVo
ei84WWJFaApiYXJGM0dvK2tFM1BuejkrMC9wZi8vclg3bnZmKzk2bWg2Mjh2N1RYeWcwZnp1L1l6
WHRvL3BxWnI1ZWcvT2xQZjlvZGNzZ2gzVzkrCjg1c1MzYS9zY3o2MzNUaHRlaS9zcHErVkEzUUhB
UUlFQ0JEWUlGQnRBTG5Salc3VWZmM3JYMTg2L005ODVqUGRSUzk2MGU0NjE3bk8KY1A5OGZlbVRD
alorL3ZPZjc4NS8vdk4zdDcvOTdYZTJjdEJCQisyTWI2ZXhnaHV2ZmUxcnU1T2Q3R1RkUzEvNjBp
S2oyVlNMWlZiVApnV3g2L3ZTeDI5eCt3eHZlMEozaUZLZm9udmpFSjI3ejhPd3hwYjJ5RFdyWUVk
ajJQVFIvemN6WGR6cmNpemVlOHBTbmRLOS8vZXVICkQwSE9kcmF6ZFJFSzlzV3liRzdiT20zelh0
aTJyMzB4VjlzZ1FJQUFnWFlGcWd3ZzMvem1ON3Yzdk9jOTNkT2YvdlNsOGhlNHdBVzYKbTkzc1pq
djN6ZGQzN3RoSE44NTczdk4ybDd6a0pic0REamhnWjR1UGU5emp1dmUrOTcwNzY0Zmx4cC8vL09m
dWJXOTcyMkhwWXVlNQoxN3ZlOWJwVG4vclVPK3Q3KzhhbVdpeXptbzVoMC9Pbmo5M205cld2ZmUz
dUhPYzR4ellQM1huTTFMdTAxODVHM2NnRXRuMFB6Vjh6CjgvV3M0OFBZOE1jLy9yRjd3QU1lME4z
cFRuZnFIdktRaDNRZit0Q0h1bi85NjE5NzdUMjZibmpMNXJhdDB6YnZoVzM3V2pkRzl4RWcKUUlB
QWdVMENWUWFRNXovLytkM2Q3MzczN2lVdmVVbjNoei84WWVrY1ltZC96NTQ5Ty9mTjEzZnVtTjNv
KzM3V3NubjFuLy84NThvSAovZWMvL3hudU8rSVJqOWdkNFFqLzR6ejYwWS9lbmVRa0oxbjV2RzN2
K01jLy90SEZ0MEdmL2V4bnM2ZHNPNWY1NDdhMXlqYTRaY09xCi9sZFp6YnRkOWZ6NTQ3WmRQOUtS
anJUd1dsbjN2R1hlZTNzOHNmMTVUY1l4clh1dGpZL1ozejlYalQzR3RlNiszWTU3MVh0b21kRzgK
UnZQMTNXNTdmUHl5YlgzbEsxL3A0akRDOGZmUGFVOTcycFh2MGJHZnZmbHpQcmRWVHN1MnVlbTlz
SnUrcHYzdnpicFArM1diQUFFQwpCTm9VK045SDlwWE03eTkvK1V2M3U5LzlyanY0NElPSGIwQmUr
TUlYRG1Ia3NBNHZQdFcrNHgzdjJCM3ZlTWNienRVNDduR1AyNTM3CjNPZnVMbjd4aTNkSFBlcFJ1
K2MrOTdsRFlEaktVWTdTeGVFVjhZMURoSi9QZmU1elE3QjQ0eHZmMkQzem1jOGNuaE5qaWZNQzdu
dmYKK3c2SDk4U3g0Ri84NGhlN294M3RhTU13Zi96akh3L2g2VTF2ZWxQM2lVOThZbWlMeHp6KzhZ
L3Y0aENrbUY5OHUzT3hpMTJzZTkvNwozdGM5NXpuUDZVNTFxbE4xWnpyVG1ickhQdmF4d3pjcDcz
akhPN3JUbmU1MDNkT2U5clRoMjZDZi9PUW4zZmUvLy8zdXFVOTlhdmZtCk43KzUrLzN2ZjkvRko3
RnhXTVgwWEpoaFkvLzkzeXRlOFlxVmo0c2RxQWMvK01IRG9WakhPdGF4aGo1UGYvclREOCtNZVQv
b1FRL3EKWW1ma085LzV6bkRJVm96ckdNYzRSdmVhMTd5bXU4Yzk3akY4QW56WHU5NjFlOVdyWHRV
OTdHRVA2eTV6bWN0MHozcldzNmFiMzdtOQp6bXJuUVd0dXJCdFBQRzNUL2RPdXYvQ0ZMM1MzdmUx
dHU4dGU5ckxkVFc5NjA1MTZqbzlaNWgzM3JmTmFWZHV4eituUFZUV0piL3lXCnZkYmkyOEI0ZmNU
MkwzM3BTdy92aTlqeGpkZkJNWTk1ek80UmozaEU5OUdQZnJTNzg1M3ZQSHdhSDl2YXpYaW1ZOXYw
M0dWamY5ZTcKM3RXOTRBVXY2TTU0eGpNT2h5SEZod2F4a3hzZklsenBTbGNhdWw4M25uaGZQdktS
anh6ZWx4R3l6M2UrODNYM3U5Lzl1bVh2b1ZWRwo4em5NMTEvNXlsZDJEMy80dzRmMzB4T2U4SVR1
ekdjK2N4Y2g0bmEzdTEzM21NYzhwcnZVcFM0MWY4cndubHRXajVocnZBZmlHNCs3CjNlMXV3M3Yr
eENjK2NmWWVqZGZrc3ZmN3B6NzFxYVcvYXk1ODRRc3ZqR0dWeThLRDBzb3lwMjJmTzM4dm5QQ0VK
MXo0dmJYcGQxT00KWmQzdjFmaFcyRUtBQUFFQ0JKWUtwRSt1cWxwU0VPalRvVXZEbUs1NzNldjJh
Y2VtVDUrY1oyTk1PMkQ5U1U5NjBwMzIrZnJPSGYrOQo4ZVFuUDdsUE84N0QydGUrOXJYNEdxUlBP
d2g5T2htN1R6cysvUWxPY0lJK0JaSSs3ZHozNmR1WFBoNlR6cFhvMy8vKzl3L1BTWUdvClQrZWMv
TGUzdms4N1YzMDZQMkJZai9HZDhwU243Szl3aFNzTTYrbWsxUDR1ZDdsTG4vNUJIOWJUcDZqOWxh
OTg1VDd0aUE5elNUdUwKdy9iU0NaLzlyMzcxcS80c1p6bkw4Ri9hbWV2VERrVi8xck9ldGIvTmJX
NnpzNjMwQ1d2L3FFYzlhbGhQbjlEM2FTZHQ1Nzc3M09jKwpmZG81M1ZrZmI2eDczTG5PZGE3K1BP
YzVUNThPSGVuVHptR2ZqbUhmMlY3TUpRV2ovdVV2Zi9uUVZZdzluVzh6ekhmc08rYWFkaHJICjFl
Rys2MS8vK2p2cjgxcXNzOXA1MHVURzlQbWJ4clBwL3VnMmhZMCs3U3dPVzBnQm8wODdwSk90NVRl
bjNuSHZPcTkxdFozM3ZLb20KZi92YjMxYSsxdExKODMwNjdLWlBZWFI0YmFaekRmb2IzL2pHL1lF
SEhqaThmbE9ZSFdvUnIrZDRQZTFtUFBQeHJYdnVxckgvNkVjLwo2dE0zZmNQNDBzNTEvL0dQZjd4
UDUwUDE2Ynlib2Z0MWZjWURMbmU1eS9YeHZGaFNPQi9lbDUvKzlLZjcrWHRvblZFOGQvcWFXYmFl
CkFuSWYvNDFMakNzZFhqZXVMdnpjdEsxWHYvclZmZnEyYytFNTA5Zk11amt2KzEyVFF2NUNYN0d5
eWlYdW04NTE3clRwdWV2ZUMvTysKdHZuZHRPNzNhb3pGUW9BQUFRSUVsZ244NzVpaHBmRmszemUr
ODUzdkhENmRqaTNIU2QxeEphbG9PNnpMeTE3MnNpNCs0WXNsN2VBUAozM2JFcDhwcFozcjQxRFUr
RlkxekJhNXhqV3QwNlIvVkxvV0M3bGEzdWxVWDV5ekVjcHpqSEdmbnBQaVBmT1Fqd3llZUtYQU05
OFVuCjBsZTk2bFdIMi9HLytKWWx0cEhBaDdhME16OThZdnFXdDd4bCtNWWdQcm1PcTgzRXNlTXAr
SFJwWjdJNzV6blAyVjN4aWxmc1RuN3kKa3cvZkpzUW4zOU5sUE53anZ2WDQwcGUrTkh3S0cvZUgw
YmlkNmVNM1BlNXFWN3RhZDRsTFhLSkxJVzdZM25nRnIvam01NU9mL0dTWApBc1hRWFJ6dWNldGIz
N3FMVDdvLy9PRVBEMjN4amRFNG5taUliMzZtNjhPRC92dS9UVmJUeHk2N3ZXazhtKzZmOXZta0p6
MXBzTDdoCkRXODRiVjU2ZXo2ZlZWN3JhanZ2ZUZWTmpuemtJNjk4clozbU5LY1pYaHZ4ZW9yWFpq
dzJmcVlkLys3ZTk3NzM4THBNWVhmWVZGenAKYXpmam1ZOXYzWE5YalQxTzhJLzMwRFd2ZWMzdWdo
ZThZSGVSaTF4aytFWWpQcG4vOHBlL3ZIWTg3MzczdTRmM1ZEd3ZsaFNLdTNpZgpudUVNWjhqZVEr
dU01dk5ZdG43UGU5NnorOEFIUHRDTjc2c1BmdkNEQysvWjZYTU83YmJHMTh3NngvaUdaLzY3SnI3
cG5DN3JYS2FQCmk5dnozelhiUG5mWmUySGUxemEvbTliOVhwMlAxVG9CQWdRSUVCZ0Zxam9FS3c0
bGlzTTE0bkNmV05LbjI4TU9WeHdXYzVXclhHVWMKODZINkdlRWpEbFVabC9qSGRYcUlRT3hVUjl1
NHhNNUVIQm9TaHlsRUFJcWQvamlVS0pZSURyRkRlT3hqSDN0OCtIQzQwcmdERW8xeAplMXlQSGZv
NDhUc09CNUdoNXdBQUhMSkpSRUZVVTRrbGZzWU8vbmd5K1BTeGNYOEVsUGxWZGNhK2puLzg0M2Uz
dU1VdHVodmM0QVpkCitpUjhPQ3dzemorWkw1c2VOL1lYejR0d0ZZZFN4SkkrZmU1T2RLSVRMWnhR
UHg0ZUVoWVJXbmF6YkdPMXJyOU40MG1mMG00MTNqaHMKTFgyeVBSeDZzMjU3NDMxVG4yaWJyays5
TnRWMjdDOStycXZKcXRkYVBDKzJQZDErdkQ2bXk3Z2VvWFkzNDVuMkViZlhQWGZkMkdOcwowL09m
NGpVU08vRnhDRTk4Z0xEcXRSL3Y2L0cxTlk0bERvc2JsK204NC9ZNm8vRTVxMzVHZ0l3d0Y0Y0p4
aFhSNHNPQU9NeHoyWEpvCnR4WFBpMldkWTl3Ly8xMFRiZE1sUXZzNmwrbGo0L2JVYVp2bnJuc3ZU
UHVhOXgzcjg5OU5tMzZ2eG5Nc0JBZ1FJRUJnTGxCVkFIbjIKczUvZFBmU2hEeDNPTlJnSGV2T2Iz
M3c0bmp4MlpNWWQrUEcrM2Z4ODRBTWYyTVVuMzdGVEZEc0FzVk1VbjlhdVcyS0hKejdKZmNZegpu
akhzdUl3QkpzN0hpUC9pbTRkeHB5UDZtZDZlOWh2bmE4Umo0MUs5aDNhWjl2Mjg1ejF2K0pRNExw
a1pvU0IyOHNkdmQ2YjliL3U0CjZYUFM0U1BkejMvKzgrRThsVGhQSnBhNHpHaDhFeEwzN1hiWnJk
VzgvMDNqMlhULzJGOThXeFgxaTIrTTR0SzZtNWFwOTdySDdyYTIKcTJxeTZyVzJiTnV4c3o4ZDMv
VDJic2N6N1gvVGMxZU5mZHBIM0k1dnhPTDhvZmh2WFo4Ukh1TThpMjJYM1JqTit3eXp1R3JWb3gv
OQo2T0Y4a0FpakVTUlhMWWRtVzJNZDFzMTUxZmFtN2J0MTJlMXpkL3RlbVBZL3YzMW9mcS9PKzdC
T2dBQUJBb2MvZ1dvT3dmcmxMMzg1Ci9FR3ZkSzdFOENsN2ZJb2EvOTMvL3ZjZnFyTHFrcnpibGl6
K2JraWNoQjdmc01UT3gxdmYrdGExVDQwZG83akVacHprTys1WWpFK0kKVDFMakR5WEdpYXpiTEhG
SVNaeFVIaWVtamt1Y3hQcjJ0Nzk5WE4zNGN6ek1LdjZBWUJ4cUU1Y0JqUlBjZi9HTFh3eUh1Y3c3
MlBaeAo4K2ZGWVdpeHJUaFpkbHdpaE1WNHA1ZXpqZlZ0bHQxYXpmdmNOSjVOOTQvOXhVNXgvTzJU
K1BRM2RxUTNMYVAzcHNmdHByYXJhckx1CnRiWnArL1A3ZHpPZTNUeDMxZGpuZmNSNk9uOXFDTER4
S2Y2NjhjU2hSM0ZoaGVuN0tBSmxPbzhrNjNadkdNV2hoUEdIK09LUXRiZ0kKd2FybDBHNXJmTTJz
bS9PcWJVN2JkK015ZlY3YzN1YTV1MzB2ekxjeFhkL3Q3OVhwYzkwbVFJQUFnY092UURVQkpMNzlt
SjVITVpZawovakdQYnc3aWFsaHhpTW00eEk3RTlEQ2wrZnI0dVBGblhMRXFEaU81L09VdlB4emVN
RDFrSkI2VFRyTGRPY1FxMW4vd2d4L0VqK0VLClU5RjNoSVU0VENsMmtPS2JsTGhhVmx4Uko1WTRs
eVIyV3VMVC9yaUtWeXh4ekh3OFBnNGppNzlaRXArS3hpRlRFUjdpT1BRNGZuODgKOWowQ1VmUXhM
dkhjMk02NHhMaS8vZTF2RDhFZ3Jrb1ZWL1dKSmM1UGljQVdWOUNhTHhGMlZqMHVEaVdMYll4THJJ
K0hsNlVULzRlZAptRGkzWWx6aWo1L0ZGY1BDTHBiNFd3UnhQSDMwRVg4c011WVR3VzVjcHJXSU9X
K3lHcDgzL3B3K2Y5TjROdDBmZlVadG93NXgvSDE4CmF4UlhMNHA2clZxbTNqR3ZkVjZiYWp2ZHhx
cWFySHV0eGJqamRUNE5mUEY2aWZYeDlSL3ppeVhhTm8wbm5XamMzZktXdCt6U3hSV20KUXh0dXIz
dnVxckdQblVSSUhaZTRXbFc4THVNMXM2N1BtOXprSnNPM25mRXpEaDJLYzR6dWNJYzdkR2MvKzlt
SHJxYnZvVTFHMDlkTQpQSG0rSG0xeGlHVzhIbC8zdXRkMVY3LzYxYU5wNmJKcFcvSGhROVJsK2g2
YXZtYmk2bC9yM3UvejN6WHpRV3h5bWM5dDZyVHB1WnZlCkM5TytZbHliZmpkdCtyMDZuNXQxQWdR
SUVDQXdDS1JQN2ZiN2tpNXQyYWRqaS91MFU5RFByd2lUenI4WXJ2aVRCdHVuNDdqN3RKUGYKcDAv
Kys3VHpQVnd4SjY1cWxIWmNGdGJUamxrMnAzdmQ2MTdENDZPZitDOWRVclpQSjVuMzhkajB5WGlm
RGhjWnJ1YVRMalU2UERjRgppYUhQZExoV24vNVJINjdNRlkrSnF6MmxmOFQ3dEJQVHAwTTQrblFv
VjU5T0N1N1RIL2thcmg2VlRzb2N4cGMrL1IyMkUxZmFpbTI4CjZFVXY2dE1uajBOYk9zZWlUOS9B
RE51SnEyeEZQM0hGcmJpQ1VGd0pLSDJLMmFkajZQdTRLbFlzNmJDMDRYa3hqblFZVVgvYWRGV3MK
ZEVuZ1BsMGF1RStIbGZScHgzTjQzUFIvNlZQbHBZOUxsODBkcnVBVFY5NUtPK0hERmNEU1NiRjlP
bzlrNkMvNitPcFh2OXFuYnhhRwpLMi9GT0ZQZ1dxakxJWWNjTWx6Rks1MHczNmNka0Q1OXN6UmN0
U2ZHTzY5TnpIMmQxWFRNY1h2Wjh6ZU5aOTM5TWQrb2RaaWxjNHo2CjczNzN1OE42T21TdGp5djRM
RnVtM3VseXNodTlWdFYyM3ZlcW1xeDdyY1ZyTzY3MmxpNzEyb2Q3akQrdXFCYXY0ZlFOWFI5WHdV
cVgKbUIzVzQ2cHhjVldxZGVPSjExY0szOE9WcXViamkvVlZ6MTAxOW5oT1hLVXIzby9wVzdrK1ha
SzVUK2RyRFZleGl2dGlXZFZuM0plQwovZkMraS9ta3kwRDNLZXhHYy9ZZWlubkdOcGE5SDFONFdY
ai9yL3Q5a0E1WDdOTjVKc00yVnYxdlV6M2lLbkV4M25SaSs4NzdZdnFhCmlhdVJyWnJ6c3Q4MXk4
YXh6bVgrdTIvK3UyYlZjemU5RitLOU4rMHJuZEMrOFhmVHV0K3J5K2FsalFBQkFnUUloTUNlK0Yv
Nng3VDUKSlk3OWpyOXFIWi9veGFkODhiYzQwdVUwaDc4Rk1WN05haGxDZk5vWWh5ekVFdDlLeE44
NEdKZjRGRFErVVk3ekw2TGZPTGRrM1JMUApqME5aNHJDa1pTZU9yM3R1SEJjZTI0bHR4cmMzTWY0
WVMveHRqbVhMdG85Yjl0eXhMYjUxaVhFZW1LN1NOVi9pazlUNDFpWnM1aTd6Cng4YjZicTJXOWJG
dVBQSDRUZmN2NjNOVjIraTk2djU1K3phMTNWU1RkYSsxK2ZZMnJhOGJUM3c2SDFkNmkyK0RsaTNM
bnJ0dTdQRk4KWGx6UUlmN1dSc3hoMmZsSXkvb2N0eDIvZ3VKUXdtMytjT2RoTllxL3FaTEM2SERG
dVhIN3EzN3VkbHZ6MTh5Nk9hL2E1clI5Tnk3VAo1OFh0dy9MY2VWL3IxZy90NzlWMWZicVBBQUVD
Qk5vWE9Gd0VrTmpwaUxDUi9yN0lRa1hqMHJMeHgvZmlNQzhMZ2NPTFFQd3h2UXRkCjZFSUw1L1Fj
bHJtUEFXUThKUEd3OUZYcXVmR2hReHdLR0ZmWml0OEY4L082U20yMzVYNzlYbTI1dXVaR2dBQ0Jz
Z0pWWFFXcjFGVGoKUk1rNDdqOHVmUnZuazhRbm0zR2xwemdPWFBnb3BhN2ZXZ1hTNFlMRDM0L1lH
K09MYjBiaTNLYzRONm5XSlIydU9KeDRIbit6SlA1Qwp1L0N4ZHlybDkrcmVjZFFMQVFJRURvOENo
NHR2UUtLd2NkaEpYSzcyWnovNzJmQ0g5d1NQdytQTDNaejN0c0NMWC96aTRZOGlScjl4CkJhWTR5
YnUySlE2VFRPYy9kTmU2MXJXR1AvUloyL2orUDQvSDc5WC96OVV6ZGdJRUNPdy9nY05OQU5sL3hM
Wk1nQUFCQWdRSUVDQkEKZ01Bb1VNMWxlTWNCK1VtQUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFn
UUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRQpDTFFySUlDMFcxc3pJMENBQUFFQ0JB
Z1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWCkNR
Z2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKREln
QUFRSUVDQkFnUUlCQXV3SUMKU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FB
QkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdVSjJBQUZKZApTUXlJQUFFQ0JBZ1FJRUNBUUxz
Q0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6
CkkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFn
UUlBQUFRTFZDUWdnMVpYRWdBZ1EKSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JR
bllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUQpJRUNBQUFFQzFRa0lJTldW
eElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNC
QWdRCklFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVD
TFFySUlDMFcxc3pJMENBQUFFQ0JBZ1EKSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1
N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMApLeUNBdEZ0Yk15TkFn
QUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFB
RUMxUWtJCklOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFG
SmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTcKdFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNC
QWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTQppQUFCQWdRSUVD
QkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lD
QXRGdGJNeU5BCmdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRN
Q0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSUVDQkEKZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJ
RUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQQpnQUFCQXRV
SkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtN
aUFBQkFnUUlFQ0JBCmdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNB
QUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSUVDQlEKbllBQVVsMUpESWdBQVFJRUNCQWdRSUJB
dXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZwpnTFJi
V3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlF
Q0JBZ0FBQkF0VUpDQ0RWCmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJ
RkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTEKTXdJRUNCQWdRSUFBQVFMVkNRZ2cx
WlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQQpB
UUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFn
UUl0Q3NnZ0xSYld6TWpRSUFBCkFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0Fr
aTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUEKQVFJRUNMUXJJSUMwVzFzekkw
Q0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlB
QQpBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllB
QVVsMUpESWdBQVFJRUNCQWdRSUJBCnV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElB
SUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFBUUlFQ0JBZ1VKMkEKQUZKZFNReUlBQUVDQkFn
UUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFy
SUlDMApXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1Ux
TXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFCmdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFC
QWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJQkF1d0lDU0x1MU5UTUMKQkFnUUlFQ0FBQUVD
MVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRT
UXlJQUFFQwpCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdR
SUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVDCkJBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFn
RUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUMKQkFpMEt5Q0F0
RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JB
Z1FJRUNBQUFFQwoxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNC
QWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FRTHNDCkFraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkND
RFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlMKWFVrTWlB
QUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFF
Q0JBaTBLeUNBdEZ0YgpNeU5BZ0FBQkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJ
Q1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4SUFJCkVDQkFnQUFCQWdRSXRDc2dnTFJiV3pN
alFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUkKRUNC
QWdBQUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNk
Z0FCU1hVa01pQUFCQWdRSQpFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhF
Z0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlOQWdBQUJBZ1FJCkVDQlFuWUFBVWwxSkRJZ0FBUUlF
Q0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUkK
dENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0
VFV6QWdRSUVDQkFnQUFCQXRVSgpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FB
QUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJRUNCQWdFQzdBZ0pJCnU3VTFNd0lFQ0JBZ1FJQUFB
UUxWQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllBQVVs
MUoKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSUVD
QkFnQUFCQWdRSXRDc2dnTFJiV3pNagpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlF
Q0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJBdFVKQ0NEVmxjU0FDQkFnClFJQUFBUUlFQ0xRcklJ
QzBXMXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJ
RUNCQWcKUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdR
SUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZwpRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFr
SUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmJXek1qUUlBQUFRSUVDQkFnClVKMkFBRkpkU1F5
SUFBRUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFB
QVFJRUNMUXIKSUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3
QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1FnZwoxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRi
TXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxCk5UTUNCQWdR
SUVDQUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdV
SjJBQUZKZFNReUkKQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZs
Y1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6STBDQQpBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJB
Z1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBCkFBRUNC
QWkwS3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NM
dTFOVE1DQkFnUUlFQ0EKQUFFQzFRa0lJTldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJ
QUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFBRUNCQWdRSUVDQQpRTHNDQWtpN3RUVXpBZ1FJRUNCQWdB
QUJBdFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNkCmdB
QlNYVWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0Fn
UUlFQ0FBQUVDQkFpMEt5Q0EKdEZ0Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JB
Z1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVDQUFBRUMxUWtJSU5XVgp4SUFJRUNCQWdBQUJBZ1FJdENz
Z2dMUmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0VFV6
CkFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVD
QkFnUUlGQ2RnQUJTWFVrTWlBQUIKQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxW
Q1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkwS3lDQXRGdGJNeU5BZ0FBQgpBZ1FJRUNCUW5ZQUFVbDFK
RElnQUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSUVDQkFn
QUFCCkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FR
THNDQWtpN3RUVXpBZ1FJRUNCQWdBQUIKQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBX
MXN6STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNaUFBQkFnUUlFQ0JBZ0VDNwpBZ0pJdTdVMU13SUVD
QkFnUUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSUVD
QlFuWUFBClVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlO
V1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dMUmIKV3pNalFJQUFBUUlFQ0JBZ1VKMkFBRkpkU1F5SUFB
RUNCQWdRSUVDQVFMc0NBa2k3dFRVekFnUUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQQpDQkFnUUlBQUFR
SUVDTFFySUlDMFcxc3pJMENBQUFFQ0JBZ1FJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdK
SXU3VTFNd0lFCkNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0FnUUlFQ0FBQUVDQkFpMEt5Q0F0RnRiTXlO
QWdBQUJBZ1FJRUNCUW5ZQUFVbDFKRElnQUFRSUUKQ0JBZ1FJQkF1d0lDU0x1MU5UTUNCQWdRSUVD
QUFBRUMxUWtJSU5XVnhJQUlFQ0JBZ0FBQkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRQpDQkFnVUoy
QUFGSmRTUXlJQUFFQ0JBZ1FJRUNBUUxzQ0FraTd0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NB
Q0JBZ1FJQUFBUUlFCkNMUXJJSUMwVzFzekkwQ0FBQUVDQkFnUUlGQ2RnQUJTWFVrTWlBQUJBZ1FJ
RUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFnUUlBQUFRTFYKQ1FnZzFaWEVnQWdRSUVDQUFBRUNCQWkw
S3lDQXRGdGJNeU5BZ0FBQkFnUUlFQ0JRbllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQwpTTHUx
TlRNQ0JBZ1FJRUNBQUFFQzFRa0lJTldWeElBSUVDQkFnQUFCQWdRSXRDc2dnTFJiV3pNalFJQUFB
UUlFQ0JBZ1VKMkFBRkpkClNReUlBQUVDQkFnUUlFQ0FRTHNDQWtpN3RUVXpBZ1FJRUNCQWdBQUJB
dFVKQ0NEVmxjU0FDQkFnUUlBQUFRSUVDTFFySUlDMFcxc3oKSTBDQUFBRUNCQWdRSUZDZGdBQlNY
VWtNaUFBQkFnUUlFQ0JBZ0VDN0FnSkl1N1UxTXdJRUNCQWdRSUFBQVFMVkNRZ2cxWlhFZ0FnUQpJ
RUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkFnQUFCQWdRSUVDQlFuWUFBVWwxSkRJZ0FBUUlFQ0JBZ1FJ
QkF1d0lDU0x1MU5UTUNCQWdRCklFQ0FBQUVDMVFrSUlOV1Z4SUFJRUNCQWdBQUJBZ1FJdENzZ2dM
UmJXek1qUUlBQUFRSUVDQkFnVUoyQUFGSmRTUXlJQUFFQ0JBZ1EKSUVDQVFMc0NBa2k3dFRVekFn
UUlFQ0JBZ0FBQkF0VUpDQ0RWbGNTQUNCQWdRSUFBQVFJRUNMUXJJSUMwVzFzekkwQ0FBQUVDQkFn
UQpJRkNkZ0FCU1hVa01pQUFCQWdRSUVDQkFnRUM3QWdKSXU3VTFNd0lFQ0JBZ1FJQUFBUUxWQ1Fn
ZzFaWEVnQWdRSUVDQUFBRUNCQWkwCkt5Q0F0RnRiTXlOQWdBQUJBZ1FJRUNCUW5ZQUFVbDFKREln
QUFRSUVDQkFnUUlCQXV3SUNTTHUxTlRNQ0JBZ1FJRUNBQUFFQzFRa0kKSU5XVnhJQUlFQ0JBZ0FB
QkFnUUl0Q3NnZ0xSYld6TWpRSUFBQVFJRUNCQWdVSjJBQUZKZFNReUlBQUVDQkFnUUlFQ0FRTHND
QWtpNwp0VFV6QWdRSUVDQkFnQUFCQXRVSkNDRFZsY1NBQ0JBZ1FJQUFBUUlFQ0xRcklJQzBXMXN6
STBDQUFBRUNCQWdRSUZDZGdBQlNYVWtNCmlBQUJBZ1FJRUNCQWdFQzdBZ0pJdTdVMU13SUVDQkFn
UUlBQUFRTFZDUWdnMVpYRWdBZ1FJRUNBQUFFQ0JBaTBLeUNBdEZ0Yk15TkEKZ0FBQkFnUUlFQ0JR
bllBQVVsMUpESWdBQVFJRUNCQWdRSUJBdXdJQ1NMdTFOVE1DQkFnUUlFQ0FBQUVDMVFrSUlOV1Z4
SUFJRUNCQQpnQUFCQWdRSXRDdndmeFQ1dEo3LzFQdFhBQUFBQUVsRlRrU3VRbUNDCgo=
</data>
<flag name="review"
          id="51355"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>