<?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>27417</bug_id>
          
          <creation_ts>2009-07-18 15:23:43 -0700</creation_ts>
          <short_desc>Add spread radius support to -webkit-box-shadow</short_desc>
          <delta_ts>2011-01-20 00:14:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132948</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-07-18 15:23:43 -0700</bug_when>
    <thetext>A spread radius component for box-shadow values is described in &lt;http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-box-shadow&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132949</commentid>
    <comment_count>1</comment_count>
      <attachid>33030</attachid>
    <who name="">mitz</who>
    <bug_when>2009-07-18 15:28:42 -0700</bug_when>
    <thetext>Created attachment 33030
Patch

Treatment of corner radii is deliberately different from Firefox’s. &lt;http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-box-shadow&gt; says “ The shadow should not change shape when a spread radius is applied: sharp corners should remain sharp”, and this patch extrapolates this to not increasing the radius. Firefox makes a special case for the 0 radius by preserving it, while growing any positive radius by the spread radius, which does not make sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132950</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-07-18 15:32:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/7072267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132954</commentid>
    <comment_count>3</comment_count>
      <attachid>33030</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2009-07-18 15:53:23 -0700</bug_when>
    <thetext>Comment on attachment 33030
Patch

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132956</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-07-18 15:59:46 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/projects/webkit/changeset/46097&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337145</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-19 23:21:52 -0800</bug_when>
    <thetext>Hi mitz, 
Trying fix Bug 49913, I find this bug describes the behavior reported 49913 is intentional.
But I have an objection... 

According to the spec [1], &quot;The shadow should not change shape when a spread radius is applied&quot;, 
that means, in my understanding, the circle-shaped border makes circle-shaped shadow.
And Mozilla and Opera go that way [2].
I think scaling shadow radii based on spread is the right thing to do because it &quot;optically&quot; correct.

What do you think?

[1] http://www.w3.org/TR/2008/WD-css3-background-20080910/#box-shadow
[2] http://habrahabr.ru/blogs/css/103170/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337151</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-01-19 23:33:13 -0800</bug_when>
    <thetext>I think that the language in the editor’s draft has changed in a way that it is no longer possible to reconcile the WebKit implementation with it. I still think the discontinuity at 0 is bizarre.

&lt;http://dev.w3.org/cvsweb/~checkout~/csswg/css3-background/Overview.html?rev=1.237&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337165</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-19 23:48:09 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think that the language in the editor’s draft has changed in a way that it is no longer possible to reconcile the WebKit implementation with it. I still think the discontinuity at 0 is bizarre.
&gt; 
&gt; &lt;http://dev.w3.org/cvsweb/~checkout~/csswg/css3-background/Overview.html?rev=1.237&gt;

Mitz, thanks for your rapid feedback! I didn&apos;t know such a history.
Though I&apos;m not sure whether I understand your concern about discontinuity,
I&apos;ll try something at Bug 49726.
(which is the canonical of Bug 49913 I mentioned at previous post.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337167</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-01-19 23:55:09 -0800</bug_when>
    <thetext>By “discontinuity” I mean that the rule applied to a border-radius value of 0 is different from that applied to any positive border-radius value. To me, this makes no sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337170</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-20 00:14:03 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; By “discontinuity” I mean that the rule applied to a border-radius value of 0 is different from that applied to any positive border-radius value. To me, this makes no sense.
I got it! We cannot increase nor decrease the radii in that case.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33030</attachid>
            <date>2009-07-18 15:28:42 -0700</date>
            <delta_ts>2009-07-18 15:53:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>spread.diff</filename>
            <type>text/plain</type>
            <size>56720</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjA5NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODkgQEAKKzIwMDktMDctMTggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
c3ByZWFkIHJhZGl1cyBzdXBwb3J0IHRvIC13ZWJraXQtYm94LXNoYWRvdworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc0MTcKKworICAgICAgICBUZXN0
OiBmYXN0L2JveC1zaGFkb3cvc3ByZWFkLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JTaGFkb3cp
OiBBZGRlZCBhIHByb3BlcnR5IElEIHBhcmFtZXRlciBhbmQgdXNlZCBpdCB0bworICAgICAgICAg
ICAgaW5jbHVkZSB0aGUgc3ByZWFkIGxlbmd0aCBmb3IgYm94LXNoYWRvdyBidXQgbm90IGZvciB0
ZXh0LXNoYWRvdy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICAgICBQYXNzIHRoZSBwcm9wZXJ0eSBJ
RCB0byB2YWx1ZUZvclNoYWRvdygpLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OlNoYWRvd1BhcnNlQ29udGV4dCk6
IEFkZGVkIHByb3BlcnR5LAorICAgICAgICAgICAgc3ByZWFkLCBhbmQgYWxsb3dTcHJlYWQgbWVt
YmVycy4gQWRkZWQgYSBwcm9wZXJ0eSBJRCBwYXJhbWV0ZXIgdG8KKyAgICAgICAgICAgIHRoZSBj
b25zdHJ1Y3Rvci4gSW5pdGlhbGl6ZSB0aGUgcHJvcGVydHkgYW5kIGFsbG93U3ByZWFkIG1lbWJl
cnMuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6OmFsbG93TGVuZ3RoKTog
QWRkZWQgYWxsb3dTcHJlYWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dQYXJzZUNvbnRleHQ6
OmNvbW1pdFZhbHVlKTogUGFzcyB0aGUgc3ByZWFkIHZhbHVlIHRvCisgICAgICAgICAgICB0aGUg
U2hhZG93VmFsdWUgY29uc3RydWN0b3IuIFJlc2V0IGFsbG93U3ByZWFkLgorICAgICAgICAoV2Vi
Q29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRMZW5ndGgpOiBBbGxvdyBzcHJlYWQgYWZ0
ZXIgYmx1cgorICAgICAgICAgICAgZm9yIHRoZSBib3gtc2hhZG93IHByb3BlcnR5LgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRDb2xvcik6IFJlc2V0IGFsbG93
U3ByZWFkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNoYWRvdyk6IFBhc3Mg
dGhlIHByb3BlcnR5IElEIHRvCisgICAgICAgICAgICBTaGFkb3dQYXJzZUNvbnRleHQoKS4KKwor
ICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOiBHZXQgdGhlIHNwcmVhZCB2YWx1ZSBmcm9t
CisgICAgICAgICAgICB0aGUgc2hhZG93IHZhbHVlIGFuZCBwYXNzIGl0IHRvIHRoZSBTaGFkb3dE
YXRhIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogY3NzL1NoYWRvd1ZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNoYWRvd1ZhbHVlOjpTaGFkb3dWYWx1ZSk6IEFkZGVkIHNwcmVhZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNoYWRvd1ZhbHVlOjpjc3NUZXh0KTogQWRkZWQgc3ByZWFkLgorCisg
ICAgICAgICogY3NzL1NoYWRvd1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dWYWx1
ZTo6Y3JlYXRlKTogQWRkZWQgc3ByZWFkLgorCisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpibGVuZEZ1bmMpOiBCbGVuZCB0aGUg
c3ByZWFkIHZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlXcmFwcGVyU2hhZG93Ojpi
bGVuZCk6IEFkZGVkIDAgc3ByZWFkIHRvIHRoZSBkZWZhdWx0CisgICAgICAgICAgICBzaGFkb3cu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSG9yaXpvbnRhbGx5KTogQWNjb3VudCBmb3Ig
c3ByZWFkIGluCisgICAgICAgICAgICB0aGUgdmlzdWFsIG92ZXJmbG93IGNhbGN1bGF0aW9ucy4K
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5KTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwYWludCk6IERpdHRvLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpvdmVyZmxvd0hlaWdodCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Om92ZXJmbG93V2lkdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpvdmVyZmxvd0xlZnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpvdmVyZmxvd1RvcCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6Om92ZXJmbG93UmVjdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmxheW91dEJsb2NrKTogRGl0dG8uCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBh
aW50Qm94U2hhZG93KTogSW5mbGF0ZSB0aGUgc2hhZG93LQorICAgICAgICAgICAgY2FzdGluZyBy
ZWN0IGJ5IHRoZSBzaGFkb3cgc3ByZWFkIHZhbHVlLiBBZGp1c3QgYm9yZGVyIHJhZGlpIGlmCisg
ICAgICAgICAgICBuZWNlc3NhcnkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEJs
b2NrKTogQWNjb3VudCBmb3Igc3ByZWFkIGluIHRoZQorICAgICAgICAgICAgdmlzdWFsIG92ZXJm
bG93IGNhbGN1bGF0aW9ucy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKTogRGl0dG8uCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck9iamVjdDo6cmVwYWludEFmdGVyTGF5b3V0SWZOZWVkZWQpOiBBY2NvdW50IGZvciBz
cHJlYWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFkanVzdFJlY3RGb3JPdXRs
aW5lQW5kU2hhZG93KTogRGl0dG8uCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmFkanVzdE92ZXJmbG93
Rm9yQm94U2hhZG93QW5kUmVmbGVjdCk6IERpdHRvLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRU
ZXh0U2hhZG93KTogQXNzZXJ0IHRoYXQgdGV4dCBzaGFkb3dzIGRvIG5vdAorICAgICAgICAgICAg
aGF2ZSBzcHJlYWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dEYXRhOjpTaGFkb3dEYXRhKTogQWRkZWQgc3ByZWFk
LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93RGF0YTo6b3BlcmF0b3I9PSk6IENvbXBhcmUgc3By
ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dEYXRhOjpTaGFkb3dEYXRhKTogQWRkZWQgc3ByZWFkLgorCiAyMDA5LTA3
LTE4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSmFuIEFsb256by4KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAkocmV2aXNpb24gNDYwNzkpCisrKyBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsNyArMjYxLDcgQEAgc3Rh
dGljIGNvbnN0IGludCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IAogCiBjb25zdCB1bnNpZ25lZCBu
dW1Db21wdXRlZFByb3BlcnRpZXMgPSBzaXplb2YoY29tcHV0ZWRQcm9wZXJ0aWVzKSAvIHNpemVv
Zihjb21wdXRlZFByb3BlcnRpZXNbMF0pOwogCi1zdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
dmFsdWVGb3JTaGFkb3coY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQorc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHZhbHVlRm9yU2hhZG93KGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogewogICAgIGlmICghc2hhZG93KQogICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVOb25lKTsKQEAg
LTI3MSw4ICsyNzEsOSBAQCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JTaGFk
CiAgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geCA9IENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUocy0+eCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCk7CiAgICAgICAgIFJlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4geSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocy0+eSwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCk7CiAgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gYmx1ciA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocy0+Ymx1ciwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QWCk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc3By
ZWFkID0gcHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eVRleHRTaGFkb3cgPyAwIDogQ1NTUHJpbWl0
aXZlVmFsdWU6OmNyZWF0ZShzLT5zcHJlYWQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFgpOwog
ICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbG9yID0gQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZUNvbG9yKHMtPmNvbG9yLnJnYigpKTsKLSAgICAgICAgbGlzdC0+cHJlcGVuZChT
aGFkb3dWYWx1ZTo6Y3JlYXRlKHgucmVsZWFzZSgpLCB5LnJlbGVhc2UoKSwgYmx1ci5yZWxlYXNl
KCksIGNvbG9yLnJlbGVhc2UoKSkpOworICAgICAgICBsaXN0LT5wcmVwZW5kKFNoYWRvd1ZhbHVl
OjpjcmVhdGUoeC5yZWxlYXNlKCksIHkucmVsZWFzZSgpLCBibHVyLnJlbGVhc2UoKSwgc3ByZWFk
LnJlbGVhc2UoKSwgY29sb3IucmVsZWFzZSgpKSk7CiAgICAgfQogICAgIHJldHVybiBsaXN0LnJl
bGVhc2UoKTsKIH0KQEAgLTcyMiw3ICs3MjMsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3hSZWZsZWN0
OgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yUmVmbGVjdGlvbihzdHlsZS0+Ym94UmVmbGVj
dCgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdzoKLSAgICAgICAg
ICAgIHJldHVybiB2YWx1ZUZvclNoYWRvdyhzdHlsZS0+Ym94U2hhZG93KCkpOworICAgICAgICAg
ICAgcmV0dXJuIHZhbHVlRm9yU2hhZG93KHN0eWxlLT5ib3hTaGFkb3coKSwgc3RhdGljX2Nhc3Q8
Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJRCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q2Fw
dGlvblNpZGU6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShz
dHlsZS0+Y2FwdGlvblNpZGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlDbGVhcjoKQEAg
LTEwNDksNyArMTA1MCw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVE
ZWMKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRJbmRlbnQ6CiAgICAgICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dGV4dEluZGVudCgpKTsKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRTaGFkb3c6Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWVG
b3JTaGFkb3coc3R5bGUtPnRleHRTaGFkb3coKSk7CisgICAgICAgICAgICByZXR1cm4gdmFsdWVG
b3JTaGFkb3coc3R5bGUtPnRleHRTaGFkb3coKSwgc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4o
cHJvcGVydHlJRCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFNlY3VyaXR5
OgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPnRl
eHRTZWN1cml0eSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTaXplQWRq
dXN0OgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA0NjA3OSkKKysrIFdlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0NDEsMzEgKzM0NDEsNDMgQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlQ29sb3JGcm9tVmFsdWUoQ1NTUAogLy8gVGhpcyBjbGFzcyB0cmFja3Mg
cGFyc2luZyBzdGF0ZSBmb3Igc2hhZG93IHZhbHVlcy4gIElmIGl0IGdvZXMgb3V0IG9mIHNjb3Bl
IChlLmcuLCBkdWUgdG8gYW4gZWFybHkgcmV0dXJuKQogLy8gd2l0aG91dCB0aGUgYWxsb3dCcmVh
ayBiaXQgYmVpbmcgc2V0LCB0aGVuIGl0IHdpbGwgY2xlYW4gdXAgYWxsIG9mIHRoZSBvYmplY3Rz
IGFuZCBkZXN0cm95IHRoZW0uCiBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKLSAgICBTaGFk
b3dQYXJzZUNvbnRleHQoKQotICAgIDogYWxsb3dYKHRydWUpCi0gICAgLCBhbGxvd1koZmFsc2Up
Ci0gICAgLCBhbGxvd0JsdXIoZmFsc2UpCi0gICAgLCBhbGxvd0NvbG9yKHRydWUpCi0gICAgLCBh
bGxvd0JyZWFrKHRydWUpCi0gICAge30KKyAgICBTaGFkb3dQYXJzZUNvbnRleHQoQ1NTUHJvcGVy
dHlJRCBwcm9wKQorICAgICAgICA6IHByb3BlcnR5KHByb3ApCisgICAgICAgICwgYWxsb3dYKHRy
dWUpCisgICAgICAgICwgYWxsb3dZKGZhbHNlKQorICAgICAgICAsIGFsbG93Qmx1cihmYWxzZSkK
KyAgICAgICAgLCBhbGxvd1NwcmVhZChmYWxzZSkKKyAgICAgICAgLCBhbGxvd0NvbG9yKHRydWUp
CisgICAgICAgICwgYWxsb3dCcmVhayh0cnVlKQorICAgIHsKKyAgICB9CiAKLSAgICBib29sIGFs
bG93TGVuZ3RoKCkgeyByZXR1cm4gYWxsb3dYIHx8IGFsbG93WSB8fCBhbGxvd0JsdXI7IH0KKyAg
ICBib29sIGFsbG93TGVuZ3RoKCkgeyByZXR1cm4gYWxsb3dYIHx8IGFsbG93WSB8fCBhbGxvd0Js
dXIgfHwgYWxsb3dTcHJlYWQ7IH0KIAogICAgIHZvaWQgY29tbWl0VmFsdWUoKQogICAgIHsKICAg
ICAgICAgLy8gSGFuZGxlIHRoZSAsLCBjYXNlIGdyYWNlZnVsbHkgYnkgZG9pbmcgbm90aGluZy4K
LSAgICAgICAgaWYgKHggfHwgeSB8fCBibHVyIHx8IGNvbG9yKSB7CisgICAgICAgIGlmICh4IHx8
IHkgfHwgYmx1ciB8fCBzcHJlYWQgfHwgY29sb3IpIHsKICAgICAgICAgICAgIGlmICghdmFsdWVz
KQogICAgICAgICAgICAgICAgIHZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gQ29uc3RydWN0IHRoZSBjdXJy
ZW50IHNoYWRvdyB2YWx1ZSBhbmQgYWRkIGl0IHRvIHRoZSBsaXN0LgotICAgICAgICAgICAgdmFs
dWVzLT5hcHBlbmQoU2hhZG93VmFsdWU6OmNyZWF0ZSh4LnJlbGVhc2UoKSwgeS5yZWxlYXNlKCks
IGJsdXIucmVsZWFzZSgpLCBjb2xvci5yZWxlYXNlKCkpKTsKKyAgICAgICAgICAgIHZhbHVlcy0+
YXBwZW5kKFNoYWRvd1ZhbHVlOjpjcmVhdGUoeC5yZWxlYXNlKCksIHkucmVsZWFzZSgpLCBibHVy
LnJlbGVhc2UoKSwgc3ByZWFkLnJlbGVhc2UoKSwgY29sb3IucmVsZWFzZSgpKSk7CiAgICAgICAg
IH0KLSAgICAgICAgCisKICAgICAgICAgLy8gTm93IHJlc2V0IGZvciB0aGUgbmV4dCBzaGFkb3cg
dmFsdWUuCi0gICAgICAgIHggPSB5ID0gYmx1ciA9IGNvbG9yID0gMDsKLSAgICAgICAgYWxsb3dY
ID0gYWxsb3dDb2xvciA9IGFsbG93QnJlYWsgPSB0cnVlOwotICAgICAgICBhbGxvd1kgPSBhbGxv
d0JsdXIgPSBmYWxzZTsgIAorICAgICAgICB4ID0gMDsKKyAgICAgICAgeSA9IDA7CisgICAgICAg
IGJsdXIgPSAwOworICAgICAgICBzcHJlYWQgPSAwOworICAgICAgICBjb2xvciA9IDA7CisKKyAg
ICAgICAgYWxsb3dYID0gdHJ1ZTsKKyAgICAgICAgYWxsb3dDb2xvciA9IHRydWU7CisgICAgICAg
IGFsbG93QnJlYWsgPSB0cnVlOworICAgICAgICBhbGxvd1kgPSBmYWxzZTsKKyAgICAgICAgYWxs
b3dCbHVyID0gZmFsc2U7CisgICAgICAgIGFsbG93U3ByZWFkID0gZmFsc2U7ICAKICAgICB9CiAK
ICAgICB2b2lkIGNvbW1pdExlbmd0aChDU1NQYXJzZXJWYWx1ZSogdikKQEAgLTM0NzQsMTUgKzM0
ODYsMjMgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAgICAgICAgaWYgKGFsbG93
WCkgewogICAgICAgICAgICAgeCA9IHZhbC5yZWxlYXNlKCk7Ci0gICAgICAgICAgICBhbGxvd1gg
PSBmYWxzZTsgYWxsb3dZID0gdHJ1ZTsgYWxsb3dDb2xvciA9IGZhbHNlOyBhbGxvd0JyZWFrID0g
ZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoYWxsb3dZKSB7CisgICAgICAgICAg
ICBhbGxvd1ggPSBmYWxzZTsKKyAgICAgICAgICAgIGFsbG93WSA9IHRydWU7CisgICAgICAgICAg
ICBhbGxvd0NvbG9yID0gZmFsc2U7CisgICAgICAgICAgICBhbGxvd0JyZWFrID0gZmFsc2U7Cisg
ICAgICAgIH0gZWxzZSBpZiAoYWxsb3dZKSB7CiAgICAgICAgICAgICB5ID0gdmFsLnJlbGVhc2Uo
KTsKLSAgICAgICAgICAgIGFsbG93WSA9IGZhbHNlOyBhbGxvd0JsdXIgPSB0cnVlOyBhbGxvd0Nv
bG9yID0gdHJ1ZTsgYWxsb3dCcmVhayA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBp
ZiAoYWxsb3dCbHVyKSB7CisgICAgICAgICAgICBhbGxvd1kgPSBmYWxzZTsKKyAgICAgICAgICAg
IGFsbG93Qmx1ciA9IHRydWU7CisgICAgICAgICAgICBhbGxvd0NvbG9yID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGFsbG93QnJlYWsgPSB0cnVlOworICAgICAgICB9IGVsc2UgaWYgKGFsbG93Qmx1cikg
ewogICAgICAgICAgICAgYmx1ciA9IHZhbC5yZWxlYXNlKCk7CiAgICAgICAgICAgICBhbGxvd0Js
dXIgPSBmYWxzZTsKKyAgICAgICAgICAgIGFsbG93U3ByZWFkID0gcHJvcGVydHkgPT0gQ1NTUHJv
cGVydHlXZWJraXRCb3hTaGFkb3c7CisgICAgICAgIH0gZWxzZSBpZiAoYWxsb3dTcHJlYWQpIHsK
KyAgICAgICAgICAgIHNwcmVhZCA9IHZhbC5yZWxlYXNlKCk7CisgICAgICAgICAgICBhbGxvd1Nw
cmVhZCA9IGZhbHNlOwogICAgICAgICB9CiAgICAgfQogCkBAIC0zNDkyLDI2ICszNTEyLDMyIEBA
IHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewogICAgICAgICBhbGxvd0NvbG9yID0gZmFsc2U7
CiAgICAgICAgIGlmIChhbGxvd1gpCiAgICAgICAgICAgICBhbGxvd0JyZWFrID0gZmFsc2U7Ci0g
ICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBhbGxvd0JsdXIgPSBmYWxz
ZTsKKyAgICAgICAgICAgIGFsbG93U3ByZWFkID0gZmFsc2U7CisgICAgICAgIH0KICAgICB9Ci0g
ICAgCisKKyAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5OworCiAgICAgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gdmFsdWVzOwogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geDsKICAgICBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHk7CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBi
bHVyOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc3ByZWFkOwogICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gY29sb3I7CiAKICAgICBib29sIGFsbG93WDsKICAgICBib29sIGFs
bG93WTsKICAgICBib29sIGFsbG93Qmx1cjsKKyAgICBib29sIGFsbG93U3ByZWFkOwogICAgIGJv
b2wgYWxsb3dDb2xvcjsKICAgICBib29sIGFsbG93QnJlYWs7CiB9OwogCiBib29sIENTU1BhcnNl
cjo6cGFyc2VTaGFkb3coaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiB7Ci0gICAgU2hhZG93
UGFyc2VDb250ZXh0IGNvbnRleHQ7CisgICAgU2hhZG93UGFyc2VDb250ZXh0IGNvbnRleHQoc3Rh
dGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSk7CiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZh
bDsKICAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAgICAg
IC8vIENoZWNrIGZvciBhIGNvbW1hIGJyZWFrIGZpcnN0LgpAQCAtMzUyMywxNyArMzU0OSwxNCBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VTaGFkb3coaW50IHByb3BJZCwgCiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIC8vIFRoZSB2YWx1ZSBpcyBnb29kLiAgQ29tbWl0IGl0LgogICAgICAgICAg
ICAgY29udGV4dC5jb21taXRWYWx1ZSgpOwotICAgICAgICB9Ci0gICAgICAgIC8vIENoZWNrIHRv
IHNlZSBpZiB3ZSdyZSBhIGxlbmd0aC4KLSAgICAgICAgZWxzZSBpZiAodmFsaWRVbml0KHZhbCwg
Rkxlbmd0aCwgdHJ1ZSkpIHsKKyAgICAgICAgfSBlbHNlIGlmICh2YWxpZFVuaXQodmFsLCBGTGVu
Z3RoLCB0cnVlKSkgewogICAgICAgICAgICAgLy8gV2UgcmVxdWlyZWQgYSBsZW5ndGggYW5kIGRp
ZG4ndCBnZXQgb25lLiBJbnZhbGlkLgogICAgICAgICAgICAgaWYgKCFjb250ZXh0LmFsbG93TGVu
Z3RoKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICAvLyBB
IGxlbmd0aCBpcyBhbGxvd2VkIGhlcmUuICBDb25zdHJ1Y3QgdGhlIHZhbHVlIGFuZCBhZGQgaXQu
CiAgICAgICAgICAgICBjb250ZXh0LmNvbW1pdExlbmd0aCh2YWwpOwotICAgICAgICB9Ci0gICAg
ICAgIGVsc2UgeworICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgb3Ro
ZXIgdHlwZSBvZiB2YWx1ZSB0aGF0J3Mgb2sgaXMgYSBjb2xvciB2YWx1ZS4KICAgICAgICAgICAg
IFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcGFyc2VkQ29sb3I7CiAgICAgICAgICAgICBib29s
IGlzQ29sb3IgPSAoKHZhbC0+aWQgPj0gQ1NTVmFsdWVBcXVhICYmIHZhbC0+aWQgPD0gQ1NTVmFs
dWVXaW5kb3d0ZXh0KSB8fCB2YWwtPmlkID09IENTU1ZhbHVlTWVudSB8fApAQCAtMzU1NCw3ICsz
NTc3LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2hhZG93KGludCBwcm9wSWQsIAogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBjb250ZXh0LmNvbW1pdENvbG9yKHBhcnNlZENvbG9yLnJlbGVh
c2UoKSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQo
KTsKICAgICB9CiAKQEAgLTM1NjYsNyArMzU4OSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNo
YWRvdyhpbnQgcHJvcElkLCAKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAg
ICAgfQotICAgIAorCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBXZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAkocmV2aXNpb24gNDYwNzkpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUzOSwxMCArNDUzOSwxMSBAQCB2b2lkIENTU1N0
eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgICAgICAgICBpbnQgeCA9IGl0ZW0t
PngtPmNvbXB1dGVMZW5ndGhJbnQoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFj
dG9yKTsKICAgICAgICAgICAgIGludCB5ID0gaXRlbS0+eS0+Y29tcHV0ZUxlbmd0aEludChzdHls
ZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpOwogICAgICAgICAgICAgaW50IGJs
dXIgPSBpdGVtLT5ibHVyID8gaXRlbS0+Ymx1ci0+Y29tcHV0ZUxlbmd0aEludChzdHlsZSgpLCBt
X3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpIDogMDsKKyAgICAgICAgICAgIGludCBzcHJl
YWQgPSBpdGVtLT5zcHJlYWQgPyBpdGVtLT5zcHJlYWQtPmNvbXB1dGVMZW5ndGhJbnQoc3R5bGUo
KSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSA6IDA7CiAgICAgICAgICAgICBDb2xv
ciBjb2xvcjsKICAgICAgICAgICAgIGlmIChpdGVtLT5jb2xvcikKICAgICAgICAgICAgICAgICBj
b2xvciA9IGdldENvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKGl0ZW0tPmNvbG9yLmdldCgpKTsKLSAg
ICAgICAgICAgIFNoYWRvd0RhdGEqIHNoYWRvd0RhdGEgPSBuZXcgU2hhZG93RGF0YSh4LCB5LCBi
bHVyLCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xvciA6IENvbG9yOjp0cmFuc3BhcmVudCk7CisgICAg
ICAgICAgICBTaGFkb3dEYXRhKiBzaGFkb3dEYXRhID0gbmV3IFNoYWRvd0RhdGEoeCwgeSwgYmx1
ciwgc3ByZWFkLCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xvciA6IENvbG9yOjp0cmFuc3BhcmVudCk7
CiAgICAgICAgICAgICBpZiAoaWQgPT0gQ1NTUHJvcGVydHlUZXh0U2hhZG93KQogICAgICAgICAg
ICAgICAgIG1fc3R5bGUtPnNldFRleHRTaGFkb3coc2hhZG93RGF0YSwgaSAhPSAwKTsKICAgICAg
ICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAJKHJldmlzaW9uIDQ2MDc5KQorKysgV2Vi
Q29yZS9jc3MvU2hhZG93VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMTIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU2hhZG93VmFsdWU6OlNoYWRvd1ZhbHVlKFBhc3NSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IF94LAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IF95LAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IF9ibHVyLAorICAgIFBh
c3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IF9zcHJlYWQsCiAgICAgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gX2NvbG9yKQogICAgIDogeChfeCkKICAgICAsIHkoX3kpCiAgICAgLCBi
bHVyKF9ibHVyKQorICAgICwgc3ByZWFkKF9zcHJlYWQpCiAgICAgLCBjb2xvcihfY29sb3IpCiB7
CiB9CkBAIC02MCw2ICs2MiwxMSBAQCBTdHJpbmcgU2hhZG93VmFsdWU6OmNzc1RleHQoKSBjb25z
dAogICAgICAgICAgICAgdGV4dCArPSAiICI7CiAgICAgICAgIHRleHQgKz0gYmx1ci0+Y3NzVGV4
dCgpOwogICAgIH0KKyAgICBpZiAoc3ByZWFkKSB7CisgICAgICAgIGlmICghdGV4dC5pc0VtcHR5
KCkpCisgICAgICAgICAgICB0ZXh0ICs9ICIgIjsKKyAgICAgICAgdGV4dCArPSBzcHJlYWQtPmNz
c1RleHQoKTsKKyAgICB9CiAKICAgICByZXR1cm4gdGV4dDsKIH0KSW5kZXg6IFdlYkNvcmUvY3Nz
L1NoYWRvd1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuaAko
cmV2aXNpb24gNDYwNzkpCisrKyBXZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw5ICszNSwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hh
ZG93VmFsdWU+IGNyZWF0ZShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB4LAogICAgICAg
ICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB5LAogICAgICAgICBQYXNzUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBibHVyLAorICAgICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBzcHJlYWQsCiAgICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbG9y
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFkb3dWYWx1ZSh4LCB5LCBi
bHVyLCBjb2xvcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYWRvd1ZhbHVlKHgs
IHksIGJsdXIsIHNwcmVhZCwgY29sb3IpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIFN0cmluZyBj
c3NUZXh0KCkgY29uc3Q7CkBAIC00NSwxMiArNDYsMTQgQEAgcHVibGljOgogICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4geDsKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHk7CiAg
ICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBibHVyOworICAgIFJlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gc3ByZWFkOwogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29sb3I7CiAK
IHByaXZhdGU6CiAgICAgU2hhZG93VmFsdWUoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
eCwKICAgICAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geSwKICAgICAgICAgUGFz
c1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gYmx1ciwKKyAgICAgICAgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gc3ByZWFkLAogICAgICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBjb2xvcik7CiB9OwogCkluZGV4OiBXZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAJKHJldmlzaW9uIDQ2MDc5KQorKysgV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDcgKzExNyw4IEBAIHN0YXRpYyBp
bmxpbmUgU2hhZG93RGF0YSogYmxlbmRGdW5jKGNvbnMKIHsgIAogICAgIEFTU0VSVChmcm9tICYm
IHRvKTsKICAgICByZXR1cm4gbmV3IFNoYWRvd0RhdGEoYmxlbmRGdW5jKGFuaW0sIGZyb20tPngs
IHRvLT54LCBwcm9ncmVzcyksIGJsZW5kRnVuYyhhbmltLCBmcm9tLT55LCB0by0+eSwgcHJvZ3Jl
c3MpLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmRGdW5jKGFuaW0sIGZyb20tPmJs
dXIsIHRvLT5ibHVyLCBwcm9ncmVzcyksIGJsZW5kRnVuYyhhbmltLCBmcm9tLT5jb2xvciwgdG8t
PmNvbG9yLCBwcm9ncmVzcykpOworICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZEZ1bmMo
YW5pbSwgZnJvbS0+Ymx1ciwgdG8tPmJsdXIsIHByb2dyZXNzKSwgYmxlbmRGdW5jKGFuaW0sIGZy
b20tPnNwcmVhZCwgdG8tPnNwcmVhZCwgcHJvZ3Jlc3MpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBibGVuZEZ1bmMoYW5pbSwgZnJvbS0+Y29sb3IsIHRvLT5jb2xvciwgcHJvZ3Jlc3MpKTsK
IH0KIAogc3RhdGljIGlubGluZSBUcmFuc2Zvcm1PcGVyYXRpb25zIGJsZW5kRnVuYyhjb25zdCBB
bmltYXRpb25CYXNlKiBhbmltLCBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBmcm9tLCBjb25z
dCBUcmFuc2Zvcm1PcGVyYXRpb25zJiB0bywgZG91YmxlIHByb2dyZXNzKQpAQCAtMzAwLDcgKzMw
MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIFNoYWRvd0RhdGEqIHNoYWRvd0EgPSAoYS0+
Km1fZ2V0dGVyKSgpOwogICAgICAgICBTaGFkb3dEYXRhKiBzaGFkb3dCID0gKGItPiptX2dldHRl
cikoKTsKLSAgICAgICAgU2hhZG93RGF0YSBkZWZhdWx0U2hhZG93RGF0YSgwLCAwLCAwLCBDb2xv
cjo6dHJhbnNwYXJlbnQpOworICAgICAgICBTaGFkb3dEYXRhIGRlZmF1bHRTaGFkb3dEYXRhKDAs
IDAsIDAsIDAsIENvbG9yOjp0cmFuc3BhcmVudCk7CiAKICAgICAgICAgaWYgKCFzaGFkb3dBKQog
ICAgICAgICAgICAgc2hhZG93QSA9ICZkZWZhdWx0U2hhZG93RGF0YTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA0NjA3OSkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTYsOCArMjU2LDggQEAg
aW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNIb3Jpem9udGFsbAogICAgIGludCBib3hTaGFk
b3dMZWZ0ID0gMDsKICAgICBpbnQgYm94U2hhZG93UmlnaHQgPSAwOwogICAgIGZvciAoU2hhZG93
RGF0YSogYm94U2hhZG93ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5ib3hTaGFk
b3coKTsgYm94U2hhZG93OyBib3hTaGFkb3cgPSBib3hTaGFkb3ctPm5leHQpIHsKLSAgICAgICAg
Ym94U2hhZG93TGVmdCA9IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ctPmJsdXIsIGJveFNo
YWRvd0xlZnQpOwotICAgICAgICBib3hTaGFkb3dSaWdodCA9IG1heChib3hTaGFkb3ctPnggKyBi
b3hTaGFkb3ctPmJsdXIsIGJveFNoYWRvd1JpZ2h0KTsKKyAgICAgICAgYm94U2hhZG93TGVmdCA9
IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ctPmJsdXIgLSBib3hTaGFkb3ctPnNwcmVhZCwg
Ym94U2hhZG93TGVmdCk7CisgICAgICAgIGJveFNoYWRvd1JpZ2h0ID0gbWF4KGJveFNoYWRvdy0+
eCArIGJveFNoYWRvdy0+Ymx1ciArIGJveFNoYWRvdy0+c3ByZWFkLCBib3hTaGFkb3dSaWdodCk7
CiAgICAgfQogICAgIGxlZnRQb3NpdGlvbiA9IG1pbih4UG9zICsgYm94U2hhZG93TGVmdCwgbGVm
dFBvc2l0aW9uKTsKIApAQCAtNTI5LDggKzUyOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxh
Y2VCb3hlc1ZlcnRpY2FsbHkKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZm9yIChTaGFk
b3dEYXRhKiBib3hTaGFkb3cgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSkt
PmJveFNoYWRvdygpOyBib3hTaGFkb3c7IGJveFNoYWRvdyA9IGJveFNoYWRvdy0+bmV4dCkgewot
ICAgICAgICAgICAgICAgIG92ZXJmbG93VG9wID0gbWluKG92ZXJmbG93VG9wLCBib3hTaGFkb3ct
PnkgLSBib3hTaGFkb3ctPmJsdXIpOwotICAgICAgICAgICAgICAgIG92ZXJmbG93Qm90dG9tID0g
bWF4KG92ZXJmbG93Qm90dG9tLCBib3hTaGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIpOworICAg
ICAgICAgICAgICAgIG92ZXJmbG93VG9wID0gbWluKG92ZXJmbG93VG9wLCBib3hTaGFkb3ctPnkg
LSBib3hTaGFkb3ctPmJsdXIgLSBib3hTaGFkb3ctPnNwcmVhZCk7CisgICAgICAgICAgICAgICAg
b3ZlcmZsb3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIGJveFNoYWRvdy0+eSArIGJveFNo
YWRvdy0+Ymx1ciArIGJveFNoYWRvdy0+c3ByZWFkKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgZm9yIChTaGFkb3dEYXRhKiB0ZXh0U2hhZG93ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5
bGUobV9maXJzdExpbmUpLT50ZXh0U2hhZG93KCk7IHRleHRTaGFkb3c7IHRleHRTaGFkb3cgPSB0
ZXh0U2hhZG93LT5uZXh0KSB7CkBAIC02MDEsOCArNjAxLDggQEAgdm9pZCBJbmxpbmVGbG93Qm94
OjpwYWludChSZW5kZXJPYmplY3Q6OgogICAgIGludCBzaGFkb3dMZWZ0ID0gMDsKICAgICBpbnQg
c2hhZG93UmlnaHQgPSAwOwogICAgIGZvciAoU2hhZG93RGF0YSogYm94U2hhZG93ID0gcmVuZGVy
ZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5ib3hTaGFkb3coKTsgYm94U2hhZG93OyBib3hTaGFk
b3cgPSBib3hTaGFkb3ctPm5leHQpIHsKLSAgICAgICAgc2hhZG93TGVmdCA9IG1pbihib3hTaGFk
b3ctPnggLSBib3hTaGFkb3ctPmJsdXIsIHNoYWRvd0xlZnQpOwotICAgICAgICBzaGFkb3dSaWdo
dCA9IG1heChib3hTaGFkb3ctPnggKyBib3hTaGFkb3ctPmJsdXIsIHNoYWRvd1JpZ2h0KTsKKyAg
ICAgICAgc2hhZG93TGVmdCA9IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ctPmJsdXIgLSBi
b3hTaGFkb3ctPnNwcmVhZCwgc2hhZG93TGVmdCk7CisgICAgICAgIHNoYWRvd1JpZ2h0ID0gbWF4
KGJveFNoYWRvdy0+eCArIGJveFNoYWRvdy0+Ymx1ciArIGJveFNoYWRvdy0+c3ByZWFkLCBzaGFk
b3dSaWdodCk7CiAgICAgfQogICAgIGZvciAoU2hhZG93RGF0YSogdGV4dFNoYWRvdyA9IHJlbmRl
cmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+dGV4dFNoYWRvdygpOyB0ZXh0U2hhZG93OyB0ZXh0
U2hhZG93ID0gdGV4dFNoYWRvdy0+bmV4dCkgewogICAgICAgICBzaGFkb3dMZWZ0ID0gbWluKHRl
eHRTaGFkb3ctPnggLSB0ZXh0U2hhZG93LT5ibHVyLCBzaGFkb3dMZWZ0KTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDQ2MDc5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTUsNyArNTU1LDcgQEAgaW50
IFJlbmRlckJsb2NrOjpvdmVyZmxvd0hlaWdodChib29sIGluYwogICAgIGlmICghaW5jbHVkZUlu
dGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIGludCBzaGFkb3dIZWlnaHQg
PSAwOwogICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIGJveFNoYWRvdyA9IHN0eWxlKCktPmJveFNo
YWRvdygpOyBib3hTaGFkb3c7IGJveFNoYWRvdyA9IGJveFNoYWRvdy0+bmV4dCkKLSAgICAgICAg
ICAgIHNoYWRvd0hlaWdodCA9IG1heChib3hTaGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIsIHNo
YWRvd0hlaWdodCk7CisgICAgICAgICAgICBzaGFkb3dIZWlnaHQgPSBtYXgoYm94U2hhZG93LT55
ICsgYm94U2hhZG93LT5ibHVyICsgYm94U2hhZG93LT5zcHJlYWQsIHNoYWRvd0hlaWdodCk7CiAg
ICAgICAgIGludCBpbmZsYXRlZEhlaWdodCA9IGhlaWdodCgpICsgc2hhZG93SGVpZ2h0OwogICAg
ICAgICBpZiAoaGFzUmVmbGVjdGlvbigpKQogICAgICAgICAgICAgaW5mbGF0ZWRIZWlnaHQgPSBt
YXgoaW5mbGF0ZWRIZWlnaHQsIHJlZmxlY3Rpb25Cb3goKS5ib3R0b20oKSk7CkBAIC01NjksNyAr
NTY5LDcgQEAgaW50IFJlbmRlckJsb2NrOjpvdmVyZmxvd1dpZHRoKGJvb2wgaW5jbAogICAgIGlm
ICghaW5jbHVkZUludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIGludCBz
aGFkb3dXaWR0aCA9IDA7CiAgICAgICAgIGZvciAoU2hhZG93RGF0YSogYm94U2hhZG93ID0gc3R5
bGUoKS0+Ym94U2hhZG93KCk7IGJveFNoYWRvdzsgYm94U2hhZG93ID0gYm94U2hhZG93LT5uZXh0
KQotICAgICAgICAgICAgc2hhZG93V2lkdGggPSBtYXgoYm94U2hhZG93LT54ICsgYm94U2hhZG93
LT5ibHVyLCBzaGFkb3dXaWR0aCk7CisgICAgICAgICAgICBzaGFkb3dXaWR0aCA9IG1heChib3hT
aGFkb3ctPnggKyBib3hTaGFkb3ctPmJsdXIgKyBib3hTaGFkb3ctPnNwcmVhZCwgc2hhZG93V2lk
dGgpOwogICAgICAgICBpbnQgaW5mbGF0ZWRXaWR0aCA9IHdpZHRoKCkgKyBzaGFkb3dXaWR0aDsK
ICAgICAgICAgaWYgKGhhc1JlZmxlY3Rpb24oKSkKICAgICAgICAgICAgIGluZmxhdGVkV2lkdGgg
PSBtYXgoaW5mbGF0ZWRXaWR0aCwgcmVmbGVjdGlvbkJveCgpLnJpZ2h0KCkpOwpAQCAtNTgzLDcg
KzU4Myw3IEBAIGludCBSZW5kZXJCbG9jazo6b3ZlcmZsb3dMZWZ0KGJvb2wgaW5jbHUKICAgICBp
ZiAoIWluY2x1ZGVJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkgewogICAgICAgICBpbnQg
c2hhZG93TGVmdCA9IDA7CiAgICAgICAgIGZvciAoU2hhZG93RGF0YSogYm94U2hhZG93ID0gc3R5
bGUoKS0+Ym94U2hhZG93KCk7IGJveFNoYWRvdzsgYm94U2hhZG93ID0gYm94U2hhZG93LT5uZXh0
KQotICAgICAgICAgICAgc2hhZG93TGVmdCA9IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ct
PmJsdXIsIHNoYWRvd0xlZnQpOworICAgICAgICAgICAgc2hhZG93TGVmdCA9IG1pbihib3hTaGFk
b3ctPnggLSBib3hTaGFkb3ctPmJsdXIgLSBib3hTaGFkb3ctPnNwcmVhZCwgc2hhZG93TGVmdCk7
CiAgICAgICAgIGludCBsZWZ0ID0gc2hhZG93TGVmdDsKICAgICAgICAgaWYgKGhhc1JlZmxlY3Rp
b24oKSkKICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgcmVmbGVjdGlvbkJveCgpLngoKSk7
CkBAIC01OTcsNyArNTk3LDcgQEAgaW50IFJlbmRlckJsb2NrOjpvdmVyZmxvd1RvcChib29sIGlu
Y2x1ZAogICAgIGlmICghaW5jbHVkZUludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKSB7CiAg
ICAgICAgIGludCBzaGFkb3dUb3AgPSAwOwogICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIGJveFNo
YWRvdyA9IHN0eWxlKCktPmJveFNoYWRvdygpOyBib3hTaGFkb3c7IGJveFNoYWRvdyA9IGJveFNo
YWRvdy0+bmV4dCkKLSAgICAgICAgICAgIHNoYWRvd1RvcCA9IG1pbihib3hTaGFkb3ctPnkgLSBi
b3hTaGFkb3ctPmJsdXIsIHNoYWRvd1RvcCk7CisgICAgICAgICAgICBzaGFkb3dUb3AgPSBtaW4o
Ym94U2hhZG93LT55IC0gYm94U2hhZG93LT5ibHVyIC0gYm94U2hhZG93LT5zcHJlYWQsIHNoYWRv
d1RvcCk7CiAgICAgICAgIGludCB0b3AgPSBzaGFkb3dUb3A7CiAgICAgICAgIGlmIChoYXNSZWZs
ZWN0aW9uKCkpCiAgICAgICAgICAgICB0b3AgPSBtaW4odG9wLCByZWZsZWN0aW9uQm94KCkueSgp
KTsKQEAgLTYxNiwxMCArNjE2LDEwIEBAIEludFJlY3QgUmVuZGVyQmxvY2s6Om92ZXJmbG93UmVj
dChib29sIGkKICAgICAgICAgaW50IHNoYWRvd0JvdHRvbSA9IDA7CiAKICAgICAgICAgZm9yIChT
aGFkb3dEYXRhKiBib3hTaGFkb3cgPSBzdHlsZSgpLT5ib3hTaGFkb3coKTsgYm94U2hhZG93OyBi
b3hTaGFkb3cgPSBib3hTaGFkb3ctPm5leHQpIHsKLSAgICAgICAgICAgIHNoYWRvd0xlZnQgPSBt
aW4oYm94U2hhZG93LT54IC0gYm94U2hhZG93LT5ibHVyLCBzaGFkb3dMZWZ0KTsKLSAgICAgICAg
ICAgIHNoYWRvd1JpZ2h0ID0gbWF4KGJveFNoYWRvdy0+eCArIGJveFNoYWRvdy0+Ymx1ciwgc2hh
ZG93UmlnaHQpOwotICAgICAgICAgICAgc2hhZG93VG9wID0gbWluKGJveFNoYWRvdy0+eSAtIGJv
eFNoYWRvdy0+Ymx1ciwgc2hhZG93VG9wKTsKLSAgICAgICAgICAgIHNoYWRvd0JvdHRvbSA9IG1h
eChib3hTaGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIsIHNoYWRvd0JvdHRvbSk7CisgICAgICAg
ICAgICBzaGFkb3dMZWZ0ID0gbWluKGJveFNoYWRvdy0+eCAtIGJveFNoYWRvdy0+Ymx1ciAtIGJv
eFNoYWRvdy0+c3ByZWFkLCBzaGFkb3dMZWZ0KTsKKyAgICAgICAgICAgIHNoYWRvd1JpZ2h0ID0g
bWF4KGJveFNoYWRvdy0+eCArIGJveFNoYWRvdy0+Ymx1ciArIGJveFNoYWRvdy0+c3ByZWFkLCBz
aGFkb3dSaWdodCk7CisgICAgICAgICAgICBzaGFkb3dUb3AgPSBtaW4oYm94U2hhZG93LT55IC0g
Ym94U2hhZG93LT5ibHVyIC0gYm94U2hhZG93LT5zcHJlYWQsIHNoYWRvd1RvcCk7CisgICAgICAg
ICAgICBzaGFkb3dCb3R0b20gPSBtYXgoYm94U2hhZG93LT55ICsgYm94U2hhZG93LT5ibHVyICsg
Ym94U2hhZG93LT5zcHJlYWQsIHNoYWRvd0JvdHRvbSk7CiAgICAgICAgIH0KIAogICAgICAgICBi
b3gubW92ZShzaGFkb3dMZWZ0LCBzaGFkb3dUb3ApOwpAQCAtODcxLDEwICs4NzEsMTAgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogCiAgICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSkgewogICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIGJveFNoYWRvdyA9IHN0eWxl
KCktPmJveFNoYWRvdygpOyBib3hTaGFkb3c7IGJveFNoYWRvdyA9IGJveFNoYWRvdy0+bmV4dCkg
ewotICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVyZmxvd0xlZnQsIGJveFNo
YWRvdy0+eCAtIGJveFNoYWRvdy0+Ymx1cik7Ci0gICAgICAgICAgICBtX292ZXJmbG93V2lkdGgg
PSBtYXgobV9vdmVyZmxvd1dpZHRoLCB3aWR0aCgpICsgYm94U2hhZG93LT54ICsgYm94U2hhZG93
LT5ibHVyKTsKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9vdmVyZmxvd1RvcCwg
Ym94U2hhZG93LT55IC0gYm94U2hhZG93LT5ibHVyKTsKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dI
ZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkgKyBib3hTaGFkb3ctPnkgKyBi
b3hTaGFkb3ctPmJsdXIpOworICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVy
Zmxvd0xlZnQsIGJveFNoYWRvdy0+eCAtIGJveFNoYWRvdy0+Ymx1ciAtIGJveFNoYWRvdy0+c3By
ZWFkKTsKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1heChtX292ZXJmbG93V2lkdGgs
IHdpZHRoKCkgKyBib3hTaGFkb3ctPnggKyBib3hTaGFkb3ctPmJsdXIgKyBib3hTaGFkb3ctPnNw
cmVhZCk7CisgICAgICAgICAgICBtX292ZXJmbG93VG9wID0gbWluKG1fb3ZlcmZsb3dUb3AsIGJv
eFNoYWRvdy0+eSAtIGJveFNoYWRvdy0+Ymx1ciAtIGJveFNoYWRvdy0+c3ByZWFkKTsKKyAgICAg
ICAgICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkg
KyBib3hTaGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIgKyBib3hTaGFkb3ctPnNwcmVhZCk7CiAg
ICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlmIChoYXNSZWZsZWN0aW9uKCkpIHsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDQ2
MDc5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTM4LDIwICsxMTM4LDI0IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OnBhaW50Qm94U2hhZG8KICAgICBib29sIGhhc0JvcmRlclJhZGl1cyA9IHMtPmhhc0JvcmRl
clJhZGl1cygpOwogICAgIGJvb2wgaGFzT3BhcXVlQmFja2dyb3VuZCA9IHMtPmJhY2tncm91bmRD
b2xvcigpLmlzVmFsaWQoKSAmJiBzLT5iYWNrZ3JvdW5kQ29sb3IoKS5hbHBoYSgpID09IDI1NTsK
ICAgICBmb3IgKFNoYWRvd0RhdGEqIHNoYWRvdyA9IHMtPmJveFNoYWRvdygpOyBzaGFkb3c7IHNo
YWRvdyA9IHNoYWRvdy0+bmV4dCkgewotICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0KICAgICAg
ICAgSW50U2l6ZSBzaGFkb3dPZmZzZXQoc2hhZG93LT54LCBzaGFkb3ctPnkpOwogICAgICAgICBp
bnQgc2hhZG93Qmx1ciA9IHNoYWRvdy0+Ymx1cjsKKyAgICAgICAgaW50IHNoYWRvd1NwcmVhZCA9
IHNoYWRvdy0+c3ByZWFkOwogICAgICAgICBJbnRSZWN0IGZpbGxSZWN0KHJlY3QpOworICAgICAg
ICBmaWxsUmVjdC5pbmZsYXRlKHNoYWRvd1NwcmVhZCk7CisgICAgICAgIGlmIChmaWxsUmVjdC5p
c0VtcHR5KCkpCisgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBJbnRSZWN0IHNoYWRv
d1JlY3QocmVjdCk7Ci0gICAgICAgIHNoYWRvd1JlY3QuaW5mbGF0ZShzaGFkb3dCbHVyKTsKKyAg
ICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHNoYWRvd0JsdXIgKyBzaGFkb3dTcHJlYWQpOwogICAg
ICAgICBzaGFkb3dSZWN0Lm1vdmUoc2hhZG93T2Zmc2V0KTsKKworICAgICAgICBjb250ZXh0LT5z
YXZlKCk7CiAgICAgICAgIGNvbnRleHQtPmNsaXAoc2hhZG93UmVjdCk7CiAKICAgICAgICAgLy8g
TW92ZSB0aGUgZmlsbCBqdXN0IG91dHNpZGUgdGhlIGNsaXAsIGFkZGluZyAxIHBpeGVsIHNlcGFy
YXRpb24gc28gdGhhdCB0aGUgZmlsbCBkb2VzIG5vdAogICAgICAgICAvLyBibGVlZCBpbiAoZHVl
IHRvIGFudGlhbGlhc2luZykgaWYgdGhlIGNvbnRleHQgaXMgdHJhbnNmb3JtZWQuCi0gICAgICAg
IEludFNpemUgZXh0cmFPZmZzZXQodyArIG1heCgwLCBzaGFkb3dPZmZzZXQud2lkdGgoKSkgKyBz
aGFkb3dCbHVyICsgMSwgMCk7CisgICAgICAgIEludFNpemUgZXh0cmFPZmZzZXQodyArIG1heCgw
LCBzaGFkb3dPZmZzZXQud2lkdGgoKSkgKyBzaGFkb3dCbHVyICsgMiAqIHNoYWRvd1NwcmVhZCAr
IDEsIDApOwogICAgICAgICBzaGFkb3dPZmZzZXQgLT0gZXh0cmFPZmZzZXQ7CiAgICAgICAgIGZp
bGxSZWN0Lm1vdmUoZXh0cmFPZmZzZXQpOwogCkBAIC0xMTcxLDYgKzExNzUsMjAgQEAgdm9pZCBS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRCb3hTaGFkbwogICAgICAgICAgICAgSW50U2l6ZSBi
b3R0b21MZWZ0VG9DbGlwT3V0ID0gYm90dG9tTGVmdDsKICAgICAgICAgICAgIEludFNpemUgYm90
dG9tUmlnaHRUb0NsaXBPdXQgPSBib3R0b21SaWdodDsKIAorICAgICAgICAgICAgaWYgKHNoYWRv
d1NwcmVhZCA8IDApIHsKKyAgICAgICAgICAgICAgICB0b3BMZWZ0LmV4cGFuZChzaGFkb3dTcHJl
YWQsIHNoYWRvd1NwcmVhZCk7CisgICAgICAgICAgICAgICAgdG9wTGVmdC5jbGFtcE5lZ2F0aXZl
VG9aZXJvKCk7CisKKyAgICAgICAgICAgICAgICB0b3BSaWdodC5leHBhbmQoc2hhZG93U3ByZWFk
LCBzaGFkb3dTcHJlYWQpOworICAgICAgICAgICAgICAgIHRvcFJpZ2h0LmNsYW1wTmVnYXRpdmVU
b1plcm8oKTsKKworICAgICAgICAgICAgICAgIGJvdHRvbUxlZnQuZXhwYW5kKHNoYWRvd1NwcmVh
ZCwgc2hhZG93U3ByZWFkKTsKKyAgICAgICAgICAgICAgICBib3R0b21MZWZ0LmNsYW1wTmVnYXRp
dmVUb1plcm8oKTsKKworICAgICAgICAgICAgICAgIGJvdHRvbVJpZ2h0LmV4cGFuZChzaGFkb3dT
cHJlYWQsIHNoYWRvd1NwcmVhZCk7CisgICAgICAgICAgICAgICAgYm90dG9tUmlnaHQuY2xhbXBO
ZWdhdGl2ZVRvWmVybygpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAvLyBJZiB0aGUg
Ym94IGlzIG9wYXF1ZSwgaXQgaXMgdW5uZWNlc3NhcnkgdG8gY2xpcCBpdCBvdXQuIEhvd2V2ZXIs
IGRvaW5nIHNvIHNhdmVzIHRpbWUKICAgICAgICAgICAgIC8vIHdoZW4gcGFpbnRpbmcgdGhlIHNo
YWRvdy4gT24gdGhlIG90aGVyIGhhbmQsIGl0IGludHJvZHVjZXMgc3VicGl4ZWwgZ2FwcyBhbG9u
ZyB0aGUKICAgICAgICAgICAgIC8vIGNvcm5lcnMuIFRob3NlIGFyZSBhdm9pZGVkIGJ5IGluc2V0
dGluZyB0aGUgY2xpcHBpbmcgcGF0aCBieSBvbmUgcGl4ZWwuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiA0NjA3OSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgwLDEwICsy
ODAsMTAgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogCiAgICAg
aWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkgewogICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIGJveFNo
YWRvdyA9IHN0eWxlKCktPmJveFNoYWRvdygpOyBib3hTaGFkb3c7IGJveFNoYWRvdyA9IGJveFNo
YWRvdy0+bmV4dCkgewotICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQgPSBtaW4obV9vdmVyZmxv
d0xlZnQsIGJveFNoYWRvdy0+eCAtIGJveFNoYWRvdy0+Ymx1cik7Ci0gICAgICAgICAgICBtX292
ZXJmbG93V2lkdGggPSBtYXgobV9vdmVyZmxvd1dpZHRoLCB3aWR0aCgpICsgYm94U2hhZG93LT54
ICsgYm94U2hhZG93LT5ibHVyKTsKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dUb3AgPSBtaW4obV9v
dmVyZmxvd1RvcCwgYm94U2hhZG93LT55IC0gYm94U2hhZG93LT5ibHVyKTsKLSAgICAgICAgICAg
IG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdodCwgaGVpZ2h0KCkgKyBib3hT
aGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIpOworICAgICAgICAgICAgbV9vdmVyZmxvd0xlZnQg
PSBtaW4obV9vdmVyZmxvd0xlZnQsIGJveFNoYWRvdy0+eCAtIGJveFNoYWRvdy0+Ymx1ciAtIGJv
eFNoYWRvdy0+c3ByZWFkKTsKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dXaWR0aCA9IG1heChtX292
ZXJmbG93V2lkdGgsIHdpZHRoKCkgKyBib3hTaGFkb3ctPnggKyBib3hTaGFkb3ctPmJsdXIgKyBi
b3hTaGFkb3ctPnNwcmVhZCk7CisgICAgICAgICAgICBtX292ZXJmbG93VG9wID0gbWluKG1fb3Zl
cmZsb3dUb3AsIGJveFNoYWRvdy0+eSAtIGJveFNoYWRvdy0+Ymx1ciAtIGJveFNoYWRvdy0+c3By
ZWFkKTsKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9vdmVyZmxvd0hlaWdo
dCwgaGVpZ2h0KCkgKyBib3hTaGFkb3ctPnkgKyBib3hTaGFkb3ctPmJsdXIgKyBib3hTaGFkb3ct
PnNwcmVhZCk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlmIChoYXNSZWZsZWN0aW9u
KCkpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDQ2MDc5KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzA5LDcgKzI3MDksNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVSZWN0cyhjb25zdCBS
CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0ID0g
bGF5ZXJCb3VuZHM7CiAgICAgICAgICAgICAgICAgc2hhZG93UmVjdC5tb3ZlKGJveFNoYWRvdy0+
eCwgYm94U2hhZG93LT55KTsKLSAgICAgICAgICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUoYm94
U2hhZG93LT5ibHVyKTsKKyAgICAgICAgICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUoYm94U2hh
ZG93LT5ibHVyICsgYm94U2hhZG93LT5zcHJlYWQpOwogICAgICAgICAgICAgICAgIG92ZXJmbG93
LnVuaXRlKHNoYWRvd1JlY3QpOwogICAgICAgICAgICAgICAgIGJveFNoYWRvdyA9IGJveFNoYWRv
dy0+bmV4dDsKICAgICAgICAgICAgIH0gd2hpbGUgKGJveFNoYWRvdyk7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDQ2MDc5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxOCw3ICsxMjE4LDcgQEAg
Ym9vbCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRBZnRlckxheW91dElmTgogICAgIGlmICh3aWR0aCkg
ewogICAgICAgICBpbnQgc2hhZG93UmlnaHQgPSAwOwogICAgICAgICBmb3IgKFNoYWRvd0RhdGEq
IHNoYWRvdyA9IGJveFNoYWRvdzsgc2hhZG93OyBzaGFkb3cgPSBzaGFkb3ctPm5leHQpCi0gICAg
ICAgICAgICBzaGFkb3dSaWdodCA9IG1heChzaGFkb3ctPnggKyBzaGFkb3ctPmJsdXIsIHNoYWRv
d1JpZ2h0KTsKKyAgICAgICAgICAgIHNoYWRvd1JpZ2h0ID0gbWF4KHNoYWRvdy0+eCArIHNoYWRv
dy0+Ymx1ciArIHNoYWRvdy0+c3ByZWFkLCBzaGFkb3dSaWdodCk7CiAKICAgICAgICAgaW50IGJv
cmRlclJpZ2h0ID0gaXNCb3goKSA/IHRvUmVuZGVyQm94KHRoaXMpLT5ib3JkZXJSaWdodCgpIDog
MDsKICAgICAgICAgaW50IGJvcmRlcldpZHRoID0gbWF4KC1vdXRsaW5lU3R5bGUtPm91dGxpbmVP
ZmZzZXQoKSwgbWF4KGJvcmRlclJpZ2h0LCBtYXgoc3R5bGUoKS0+Ym9yZGVyVG9wUmlnaHRSYWRp
dXMoKS53aWR0aCgpLCBzdHlsZSgpLT5ib3JkZXJCb3R0b21SaWdodFJhZGl1cygpLndpZHRoKCkp
KSkgKyBtYXgob3csIHNoYWRvd1JpZ2h0KTsKQEAgLTEyMzYsNyArMTIzNiw3IEBAIGJvb2wgUmVu
ZGVyT2JqZWN0OjpyZXBhaW50QWZ0ZXJMYXlvdXRJZk4KICAgICBpZiAoaGVpZ2h0KSB7CiAgICAg
ICAgIGludCBzaGFkb3dCb3R0b20gPSAwOwogICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIHNoYWRv
dyA9IGJveFNoYWRvdzsgc2hhZG93OyBzaGFkb3cgPSBzaGFkb3ctPm5leHQpCi0gICAgICAgICAg
ICBzaGFkb3dCb3R0b20gPSBtYXgoc2hhZG93LT55ICsgc2hhZG93LT5ibHVyLCBzaGFkb3dCb3R0
b20pOworICAgICAgICAgICAgc2hhZG93Qm90dG9tID0gbWF4KHNoYWRvdy0+eSArIHNoYWRvdy0+
Ymx1ciArIHNoYWRvdy0+c3ByZWFkLCBzaGFkb3dCb3R0b20pOwogCiAgICAgICAgIGludCBib3Jk
ZXJCb3R0b20gPSBpc0JveCgpID8gdG9SZW5kZXJCb3godGhpcyktPmJvcmRlckJvdHRvbSgpIDog
MDsKICAgICAgICAgaW50IGJvcmRlckhlaWdodCA9IG1heCgtb3V0bGluZVN0eWxlLT5vdXRsaW5l
T2Zmc2V0KCksIG1heChib3JkZXJCb3R0b20sIG1heChzdHlsZSgpLT5ib3JkZXJCb3R0b21MZWZ0
UmFkaXVzKCkuaGVpZ2h0KCksIHN0eWxlKCktPmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzKCkuaGVp
Z2h0KCkpKSkgKyBtYXgob3csIHNoYWRvd0JvdHRvbSk7CkBAIC0yMjQwLDEwICsyMjQwLDEwIEBA
IHZvaWQgUmVuZGVyT2JqZWN0OjphZGp1c3RSZWN0Rm9yT3V0bGluZUEKICAgICAgICAgaW50IHNo
YWRvd0JvdHRvbSA9IDA7CiAKICAgICAgICAgZG8gewotICAgICAgICAgICAgc2hhZG93TGVmdCA9
IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ctPmJsdXIgLSBvdXRsaW5lU2l6ZSwgc2hhZG93
TGVmdCk7Ci0gICAgICAgICAgICBzaGFkb3dSaWdodCA9IG1heChib3hTaGFkb3ctPnggKyBib3hT
aGFkb3ctPmJsdXIgKyBvdXRsaW5lU2l6ZSwgc2hhZG93UmlnaHQpOwotICAgICAgICAgICAgc2hh
ZG93VG9wID0gbWluKGJveFNoYWRvdy0+eSAtIGJveFNoYWRvdy0+Ymx1ciAtIG91dGxpbmVTaXpl
LCBzaGFkb3dUb3ApOwotICAgICAgICAgICAgc2hhZG93Qm90dG9tID0gbWF4KGJveFNoYWRvdy0+
eSArIGJveFNoYWRvdy0+Ymx1ciArIG91dGxpbmVTaXplLCBzaGFkb3dCb3R0b20pOworICAgICAg
ICAgICAgc2hhZG93TGVmdCA9IG1pbihib3hTaGFkb3ctPnggLSBib3hTaGFkb3ctPmJsdXIgLSBi
b3hTaGFkb3ctPnNwcmVhZCAtIG91dGxpbmVTaXplLCBzaGFkb3dMZWZ0KTsKKyAgICAgICAgICAg
IHNoYWRvd1JpZ2h0ID0gbWF4KGJveFNoYWRvdy0+eCArIGJveFNoYWRvdy0+Ymx1ciArIGJveFNo
YWRvdy0+c3ByZWFkKyBvdXRsaW5lU2l6ZSwgc2hhZG93UmlnaHQpOworICAgICAgICAgICAgc2hh
ZG93VG9wID0gbWluKGJveFNoYWRvdy0+eSAtIGJveFNoYWRvdy0+Ymx1ciAtIGJveFNoYWRvdy0+
c3ByZWFkIC0gb3V0bGluZVNpemUsIHNoYWRvd1RvcCk7CisgICAgICAgICAgICBzaGFkb3dCb3R0
b20gPSBtYXgoYm94U2hhZG93LT55ICsgYm94U2hhZG93LT5ibHVyICsgYm94U2hhZG93LT5zcHJl
YWQgKyBvdXRsaW5lU2l6ZSwgc2hhZG93Qm90dG9tKTsKIAogICAgICAgICAgICAgYm94U2hhZG93
ID0gYm94U2hhZG93LT5uZXh0OwogICAgICAgICB9IHdoaWxlIChib3hTaGFkb3cpOwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAkocmV2aXNpb24gNDYwNzkpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzMyw3
ICszMzMsNyBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjphZGp1c3RPdmVyZmxvd0ZvckJvCiAgICAg
Zm9yIChTaGFkb3dEYXRhKiBib3hTaGFkb3cgPSBzdHlsZSgpLT5ib3hTaGFkb3coKTsgYm94U2hh
ZG93OyBib3hTaGFkb3cgPSBib3hTaGFkb3ctPm5leHQpIHsKICAgICAgICAgSW50UmVjdCBzaGFk
b3cgPSBib3JkZXJCb3hSZWN0KCk7CiAgICAgICAgIHNoYWRvdy5tb3ZlKGJveFNoYWRvdy0+eCwg
Ym94U2hhZG93LT55KTsKLSAgICAgICAgc2hhZG93LmluZmxhdGUoYm94U2hhZG93LT5ibHVyKTsK
KyAgICAgICAgc2hhZG93LmluZmxhdGUoYm94U2hhZG93LT5ibHVyICsgYm94U2hhZG93LT5zcHJl
YWQpOwogICAgICAgICBvdmVyZmxvdy51bml0ZShzaGFkb3cpOwogICAgIH0KIApJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gNDYwNzkpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY5NSw2ICs2OTUsOCBAQCB2b2lkIFJlbmRlclN0eWxlOjphZGRCaW5kaW5nVVJJKFN0cmluZ0lt
CiAKIHZvaWQgUmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3coU2hhZG93RGF0YSogdmFsLCBib29s
IGFkZCkKIHsKKyAgICBBU1NFUlQoIXZhbCB8fCAhdmFsLT5zcHJlYWQpOworCiAgICAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YSogcmFyZURhdGEgPSByYXJlSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKTsK
ICAgICBpZiAoIWFkZCkgewogICAgICAgICBkZWxldGUgcmFyZURhdGEtPnRleHRTaGFkb3c7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcAkocmV2aXNpb24gNDYwNzkp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNiArMjgsNyBAQCBTaGFkb3dEYXRhOjpTaGFkb3dEYXRhKGNvbnN0IFNoYWRvd0Rh
dGEmCiAgICAgOiB4KG8ueCkKICAgICAsIHkoby55KQogICAgICwgYmx1cihvLmJsdXIpCisgICAg
LCBzcHJlYWQoby5zcHJlYWQpCiAgICAgLCBjb2xvcihvLmNvbG9yKQogewogICAgIG5leHQgPSBv
Lm5leHQgPyBuZXcgU2hhZG93RGF0YSgqby5uZXh0KSA6IDA7CkBAIC0zOSw3ICs0MCw3IEBAIGJv
b2wgU2hhZG93RGF0YTo6b3BlcmF0b3I9PShjb25zdCBTaGFkb3cKICAgICAgICAgKG5leHQgJiYg
by5uZXh0ICYmICpuZXh0ICE9ICpvLm5leHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
Ci0gICAgcmV0dXJuIHggPT0gby54ICYmIHkgPT0gby55ICYmIGJsdXIgPT0gby5ibHVyICYmIGNv
bG9yID09IG8uY29sb3I7CisgICAgcmV0dXJuIHggPT0gby54ICYmIHkgPT0gby55ICYmIGJsdXIg
PT0gby5ibHVyICYmIHNwcmVhZCA9PSBvLnNwcmVhZCAmJiBjb2xvciA9PSBvLmNvbG9yOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
aGFkb3dEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93
RGF0YS5oCShyZXZpc2lvbiA0NjA3OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTUgKzM2LDE3IEBAIHN0cnVjdCBTaGFkb3dE
YXRhIHsKICAgICAgICAgOiB4KDApCiAgICAgICAgICwgeSgwKQogICAgICAgICAsIGJsdXIoMCkK
KyAgICAgICAgLCBzcHJlYWQoMCkKICAgICAgICAgLCBuZXh0KDApCiAgICAgewogICAgIH0KIAot
ICAgIFNoYWRvd0RhdGEoaW50IF94LCBpbnQgX3ksIGludCBfYmx1ciwgY29uc3QgQ29sb3ImIF9j
b2xvcikKLSAgICAgICAgOiB4KF94KQotICAgICAgICAsIHkoX3kpCi0gICAgICAgICwgYmx1cihf
Ymx1cikKLSAgICAgICAgLCBjb2xvcihfY29sb3IpCisgICAgU2hhZG93RGF0YShpbnQgeCwgaW50
IHksIGludCBibHVyLCBpbnQgc3ByZWFkLCBjb25zdCBDb2xvciYgY29sb3IpCisgICAgICAgIDog
eCh4KQorICAgICAgICAsIHkoeSkKKyAgICAgICAgLCBibHVyKGJsdXIpCisgICAgICAgICwgc3By
ZWFkKHNwcmVhZCkKKyAgICAgICAgLCBjb2xvcihjb2xvcikKICAgICAgICAgLCBuZXh0KDApCiAg
ICAgewogICAgIH0KQEAgLTYyLDYgKzY0LDcgQEAgc3RydWN0IFNoYWRvd0RhdGEgewogICAgIGlu
dCB4OwogICAgIGludCB5OwogICAgIGludCBibHVyOworICAgIGludCBzcHJlYWQ7CiAgICAgQ29s
b3IgY29sb3I7CiAgICAgU2hhZG93RGF0YSogbmV4dDsKIH07CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0
NjA5NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDA5LTA3LTE4ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBib3gtc2hh
ZG93IHNwcmVhZCByYWRpdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI3NDE3CisKKyAgICAgICAgKiBmYXN0L2JveC1zaGFkb3cvc3ByZWFkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvc3ByZWFkLWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3gt
c2hhZG93L3NwcmVhZC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L2JveC1zaGFkb3cvc3ByZWFkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMDct
MTggIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W0d0a10gU2tpcCB0ZXN0cyB0aGF0IHJlcXVpcmUgbmV3IGV4cGVjdGVkIHJlc3VsdHMsIGV2ZW50
U2VuZGVyCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2JveC1zaGFkb3cvc3ByZWFkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ib3gtc2hhZG93L3NwcmVhZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ib3gtc2hhZG93L3NwcmVhZC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACis8c3R5bGU+CisgICAgZGl2IHsKKyAgICB3aWR0aDog
NTBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgbWFyZ2luOiAw
IDI1cHggNTBweCAyNXB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0eWVsbG93OworfQor
PC9zdHlsZT4KKzwhLS0gUG9zaXRpdmUgc3ByZWFkIGRvZXMgbm90IGluY3JlYXNlIGJvcmRlciBy
YWRpaS4gLS0+Cis8ZGl2IHN0eWxlPSIKKwktd2Via2l0LWJveC1zaGFkb3c6IGJsYWNrIDAgMTAw
cHggMCAyMHB4OworCS13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDsKKyI+PC9kaXY+Cis8IS0t
IEl0IHVzZXMgdGhlIGFjdHVhbCByYWRpaSAoaW4gdGhpcyBjYXNlLCAyNXB4IGFmdGVyIHNjYWxp
bmcKKyAgICAgdG8gZml0IGluIGEgdG90YWwgc2lkZSBsZW5ndGggb2YgNTBweCkgbm90IHRoZSBz
cGVjaWZpZWQgcmFkaWkuIC0tPgorPGRpdiBzdHlsZT0iCisJLXdlYmtpdC1ib3gtc2hhZG93OiBi
bGFjayAwIDEwMHB4IDAgMjBweDsKKwktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwcHg7CisiPjwv
ZGl2PgorPCEtLSBOZWdhdGl2ZSBzcHJlYWQgZGVjcmVhc2VzIHRoZSByYWRpaS4gLS0+Cis8ZGl2
IHN0eWxlPSIKKwktd2Via2l0LWJveC1zaGFkb3c6IGJsYWNrIDAgMTAwcHggMCAtMTBweDsKKwkt
d2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CisiPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9zcHJlYWQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9zcHJl
YWQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ib3gtc2hhZG93L3NwcmVhZC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSBAQAorNDQ3MjgwMDhhYzdkZDIxOWU1YjZhOGE3NmQxOTk1Y2IKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ib3gtc2hhZG93L3NwcmVhZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9zcHJlYWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9zcHJl
YWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQK
KyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDI1LDApIHNpemUgNTB4NTAg
W2JnY29sb3I9I0ZGRkZFMF0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQg
KDEyNSwwKSBzaXplIDUweDUwIFtiZ2NvbG9yPSNGRkZGRTBdCisgICAgICBSZW5kZXJCbG9jayAo
ZmxvYXRpbmcpIHtESVZ9IGF0ICgyMjUsMCkgc2l6ZSA1MHg1MCBbYmdjb2xvcj0jRkZGRkUwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9zcHJlYWQtZXhw
ZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cv
c3ByZWFkLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFK
WUNBWUFBQUNhZG9Kd0FBQURPMmxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYr
TUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdrWEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhj
K1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmExRUVjYVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9Q
NjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBDQQp0bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2
NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNs
RHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJVRytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlU
bVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBvYjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBH
TDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhiYwp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FN
SE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTlsWWNvcklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3
RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2NpNTlsdWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRx
MmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tnM1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhM
ZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZi
T3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThKSTk0eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxm
ZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3enBxN2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5H
RktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4YjhxTFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5Zmgr
aWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBWRHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09Q
TG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZMStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpa
CnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3FhdmtlcU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0Rr
alpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJWTmIxVTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9O
MC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFISmYyakN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVW
RFh4TE96c0FBQ0FBU1VSQlZIZ0I3ZDNQajFXSGVUL2dNelRndGk3RnJ1cFdmQ1ZNWkN3QksyU3hp
Y1RPCmlwUlZKSEFzWjRFalp4bXZ2TUt5OGdkWXlLeThpYjJMSWpzTDU0ZGhHeWxpaDVRTlFxd0F5
VmpDU0VYZnVxcExxZHNhV3R6ekVvK0IKZ1ptNTk4NjU1N3puUGMrVnJtQ1ltWFBlOS9sY3BQdVor
Mk5Xdm00dmpRc0JBZ1FJRUNCQWdBQUJBZ1I2RU5qV3d6bWNnZ0FCQWdRSQpFQ0JBZ0FBQkF2Y0VG
QkEzQkFJRUNCQWdRSUFBQVFJRWVoTlFRSHFqZGlJQ0JBZ1FJRUNBQUFFQ0JCUVF0d0VDQkFnUUlF
Q0FBQUVDCkJIb1RVRUI2bzNZaUFnUUlFQ0JBZ0FBQkFnUVVFTGNCQWdRSUVDQkFnQUFCQWdSNkUx
QkFlcU4ySWdJRUNCQWdRSUFBQVFJRXZwT1gKSUg0OXlYOStjLzJxL2ZOL0J4NzFMOXJ6UDlGZS8v
cWI2OHJBODR6aDlQL1REdm5mN2ZWMmU3M1RYdVBqdTk5YzJ6K2E2TDl4alp2aAo5dmE2bzczKzVU
Y2Z0Mys0YkVFZy92K0UrNFArOFg4by9PZTVSRDV4MjM4d244ako3WDhlUlY5TGdBQUJBZ1FJM0Jk
WXlmbUxDS040CmZORmU0dzVyeGt2Y1lYNjZ2VVlaY1hsWUlETDdzcjMrUjN0ZE5ML3cvWnYyK21S
N1RkeVIyK255WGNMOFZudU5ESlpWMnFPUVJEWTcKMjZ0OFdnUVhBZ1FJRUNCQVlBNkJaQVVrZm1y
N2IrMzEzK2RZWWNndi9kdjI1RSsxVno4Ti92TlAyMisyRmxFZXU3eEV5ZHZWWHVPbgo3aTdyQzBU
WmlQODdVZno2dkVSUmpQOERVVXBjQ0JBZ1FJQUFBUUtiQ3lRcklQR294MWpLeHlwdWxKQjROR1Nx
bDdqakc3bkZUOXlYCmVZbWZ1SWV6TzdxUEtvZjl2N2JYZVo5ZTllaVJGdnVYZUpyVzM3WFh5TWlG
QUFFQ0JBZ1FJTEN4UUtJQ0VqODUvM3pqYWROKzlwbDIKc2lrK0hhdnZPNzd1NkQ3OFh5QWVNWXpp
MGZlakhnOVBjZitqZURRa2lvaEhCTytiK0JzQkFnUUlFQ0N3VmlCSkFZazdVdi9VWGhkOQp6Y0Rh
dGZyK09KNEgvLy9hNjFUdWVBMTl4OWNkM1Q4LzJ2RXY3VzN1di9xK3NXOXl2cjlxUC8vMzdUWEtv
Z3NCQWdRSUVDQkE0RkdCCkpQY1M0dEdQc1phUFFJM1p1Mzd0UXh3MzR5V2U1dlBQN1hYSW43ckh1
V09Hb1o1eTFKNTYwRXNVd0l6bEkxQ2lFTVZzTWFNTEFRSUUKQ0JBZ1FPQlJnVVFGNU5IaHh2VXZV
eWdnY1lmLy83ZlhlR3ZYb1M4eFE4d3l4UklTVDd2SzlzakhnN2VIbUMxbWRDRkFnQUFCQWdRSQpQ
Q3FRcElERTcva1krNlhDRGh0bEVEL1JqdGZveE8rV3lIS0pXV0ttS2YyMFBWNTNNK1NqVDdObUh6
UEdyQzRFQ0JBZ1FJQUFnWWNGCmtoU1FaZjIrZ29lWFhlNUhGWGJZU0NoK29wM2hrWSsxTThaTVUv
bHBlOXpHeHJScnpGcjkvOFhhMjZPUENSQWdRSUFBZ2MwRWtoU1EKemNiMCtXRUZzdi9VZlNvL2JZ
L2Y4ekdtcDV6RnJER3pDd0VDQkFnUUlFRGd2b0FDY3QvQzN4NHJNSmFmdWxmL2FYdTgwY0VZbm5x
MQo5a1lVTTQvNURTYlc3dU5qQWdRSUVDQkFZS3NDQ3NoV0JjdC9mL3lTd1RIODFEMW1qRm1yWG02
TmVMRXh6ejVpZHFNVElFQ0FBSUdrCkFncEkwbUJ5akJVdjhoN1RDNGxqMWt3dmt1OHF4WGlSL1po
eVdMdDN6RDZsTndwWXU3K1BDUkFnUUlBQWdRY0ZGSkFITmZ4OWpjRE4KTlIrUDRjTXh6cnlaYTVT
cU1iK1lPMmF2V0F3M3k4M25DUkFnUUlBQWdjY0pLQ0NQVS9GdnJjQllmN25pMkgrcDVlTnVmQm5m
ZmV4eApjMjcwYnhWMjJHZy9ueU5BZ0FBQkFnUm1GVkJBWnBXYTNOZU44UVhQcXlHTitlbEtxenM4
K0dlRlJ3OHE3UEJnSnY1T2dBQUJBZ1FJCkxDcWdnQ3dxVi83N3hud25mc3psNlhFM3JEdVArOGVS
L1Z1RkhVWkdibHdDQkFnUUlKQlVRQUZKR3N5d1k4WFRyOGI4MXFsam4zOXQKK21OKy9jZnFMaFYy
V04zRm53UUlFQ0JBZ01CV0JCU1FyZWlWL2Q0S3o5ZXZzTVBxRFd3TWI0TzhPdXQ2ZjFiWVliM2Qv
RHNCQWdRSQpFQ0F3ajRBQ01vL1daTDYyd3ZQMUsrd3dtUnVjUlFrUUlFQ0FBSUVKQ1NnZ0V3cDc5
bFVyUEYrL3dnNnpKK1lyQ1JBZ1FJQUFBUUpqCkVWQkF4cEpVcjNPTytmVWZxMUFWZGxqZHhaOEVD
QkFnUUlBQWdUb0NDa2lkTER2Y3BNTHo5U3ZzMEdHa0RrV0FBQUVDQkFnUVNDS2cKZ0NRSkl0Y1lG
ZTY4VjlnaDE2M0NOQVFJRUNCQWdBQ0JMZ1FVa0M0VUhZTUFBUUlFQ0JBZ1FJQUFnWmtFRkpDWm1L
YjJSUlZ1RmhWMgptTnJ0enI0RUNCQWdRSURBRkFUY1M1dEN5blB2V09GbVVXR0h1WVB6RFFRSUVD
QkFnQUNCOUFMdXBhV1BhSWdCdnpQRVNUcytaNFVkCk9pWnhPQUlFQ0JBZ1FJQkFBZ0VGSkVFSStV
YllubStrdVNlcXNNUGNTL3NHQWdRSUVDQkFnRUI2QVFVa2ZVUkRETGhqaUpOMmZNNEsKTzNSTTRu
QUVDQkFnUUlBQWdRUUNDa2lDRVBLTjhKZjVScHA3b2dvN3JDNWQ0YjlwaFIxVzgvQW5BUUlFQ0JB
Z3NCVUI5d3Eyb2xmMgplK1AxRTJOK0RjWFk1MTk3dy9xTHRmOHd3bzhyN0RCQ2RpTVRJRUNBQUlH
RUFncEl3bEJ5alBSa2pqRVdtdUp2RnZxdXZOOVU0ZlVzCkZYYklld3N4R1FFQ0JBZ1FHSk9BQWpL
bXRIcWRkY3gzNHNkY25oNFhjb1hYczFUWTRYSForRGNDQkFnUUlFQmdYZ0VGWkY2eHlYeDkKUEkz
cHIwZTRiY3c4NXFlUFBZNjh3dXRaS3V6d3VHejhHd0VDQkFnUUlEQ3ZnQUl5cjlpa3ZuN1hDTGNk
NDh5Yk1jZWpCMk4rRFVYTQo3aEdRelZMMmVRSUVDQkFnTUJVQkJXUXFTUyswWjl4cEhOUFRtV0xX
aW5kMFYwYVd3OW9iVytRU083Z1FJRUNBQUFFQ0JKcEdBWEVyCjJFVGc2ZmJ6WTdpWnhJd3hhOVhM
emhFdk51YlpSOHh1ZEFJRUNCQWdrRlJnRFBjc2s5Sk5aYXg0K3N6ZmpXRFptSEhNVDFQYWpEaGUK
MXpMR053YUltYXU5Sm1lenJIeWVBQUVDQkFnUTJFaEFBZGxJeCtlK0VZaW4wR1MrOHh1emplbXBZ
b3Zlc0o1cXYzRk0vMlZqMXBqWgpoUUFCQWdRSUVDQndYeURKdlprS1A3bXVzTVA5RzhhamY0dEhH
REsrazFITU5JWkhhQjRWbmY5Znh2Sm8xT3BtMVIrVld0M1Rud1FJCkVDQkFnTUE4QWtrS3lCUHp6
SnowYXl2c3NCRnR2SWo0bWZhYTZVWGVNVXZNTktVWE9HZC9OS3FONDk1bEtvOUtyZTdyVHdJRUNC
QWcKUUdCV2dTUUZaSXkvYjJJdGNZVWQxdTYwOXVPNHVmeGplODN3U0VqTUVMTWt1UW0zay9SM2lV
Y1cvcXEvMDgxOXBwaHRLbzlLelkzagpHd2dRSUVDQXdPUUZrdHg3Ry9zdmp4dnJMKzFiNVBZZk41
bC9hSzlEdmlZa3poMHpKTG41dHBQMGU0bEhmUDYrdldZc0lURlR6RGFsClI2WGFkVjBJRUNCQWdB
Q0JtUVZXdm00dk0zLzFVci93UDl1amY3N1VNeXp2NFBFMG9DazhBckpXOE12MkgvNjF2ZDVkKzRr
bGZSeUYKSTM2eVBvVVhuTTlDR1A5MXcvOC9adm5pSHI0bWltSGtvM3owZ08wVUJBZ1FJRUJndEFL
SkNrZ1lmdEZlLzMxa21IL2J6bHY1OTA5cwpGc2YvdGw4UXVVVVpXZVlsU2tjNFYzK3gveUtHZlJm
QnRUTXFobXRGZkV5QUFBRUNCQWlzTDVDc2dNUlBkUCt0dlk2bGhFVDVpTGNaCjlSUGZwcm5kT3R4
c3IvRklWcGVYZUdScFYzdk45T0wzTHZmcjZsaFJCT1AvVHQrUGhzU2pIdkYvUURGc0VWd0lFQ0JB
Z0FDQkdRU1MKRlpEVmllTk9iUHhVL1g5Vy95SFpuL0dhai9ocC9CU2ZkclZaRkpGWjNBbU9uOG92
bWwvNHJyN2JrMTlpMTJMTWNRbnpXKzAxL0tPVQpMT01TWlNQeWlkOXdMcDlsQ0RzbUFRSUVDQkNv
TEpDMGdBUjVQQm9TUlNTdVg3WFhaZDJaYWc4OTB5WHVkTVZiN1VicGlLdEhQVnFFClRTNXhaL2kv
MjJzOE9uS252Y2JIOFhxUjFkZU14Rk4zNGhwM1lyZTMxM2lVSTk3ZHlwM2FGbUdMbC9qL0UrNFAr
c2Yvb1ZYN1dROGYKK2NSdC84RjhJaWUzLzFrRmZSMEJBZ1FJRUNEd3NFRGlBdkx3b0Q0aVFJQUFB
UUlFQ0JBZ1FHRDhBdkhqVFJjQ0JBZ1FJRUNBQUFFQwpCQWowSXFDQTlNTHNKQVFJRUNCQWdBQUJB
Z1FJaElBQzRuWkFnQUFCQWdRSUVDQkFnRUJ2QWdwSWI5Uk9SSUFBQVFJRUNCQWdRSUNBCkF1STJR
SUFBQVFJRUNCQWdRSUJBYndJS1NHL1VUa1NBQUFFQ0JBZ1FJRUNBZ0FMaU5rQ0FBQUVDQkFnUUlF
Q0FRRzhDQ2todjFFNUUKZ0FBQkFnUUlFQ0JBZ0lBQzRqWkFnQUFCQWdRSUVDQkFnRUJ2QWdwSWI5
Uk9SSUFBQVFJRUNCQWdRSUNBQXVJMlFJQUFBUUlFQ0JBZwpRSUJBYndJS1NHL1VUa1NBQUFFQ0JB
Z1FJRUNBZ0FMaU5rQ0FBQUVDQkFnUUlFQ0FRRzhDQ2todjFFNUVnQUFCQWdRSUVDQkFnSUFDCjRq
WkFnQUFCQWdRSUVDQkFnRUJ2QWdwSWI5Uk9SSUFBQVFJRUNCQWdRSUNBQXVJMlFJQUFBUUlFQ0JB
Z1FJQkFid0lLU0cvVVRrU0EKQUFFQ0JBZ1FJRUNBZ0FMaU5rQ0FBQUVDQkFnUUlFQ0FRRzhDQ2to
djFFNUVnQUFCQWdRSUVDQkFnSUFDNGpaQWdBQUJBZ1FJRUNCQQpnRUJ2QWdwSWI5Uk9SSUFBQVFJ
RUNCQWdRSUNBQXVJMlFJQUFBUUlFQ0JBZ1FJQkFid0lLU0cvVVRrU0FBQUVDQkFnUUlFQ0FnQUxp
Ck5rQ0FBQUVDQkFnUUlFQ0FRRzhDQ2todjFFNUVnQUFCQWdRSUVDQkFnSUFDNGpaQWdBQUJBZ1FJ
RUNCQWdFQnZBZ3BJYjlST1JJQUEKQVFJRUNCQWdRSUNBQXVJMlFJQUFBUUlFQ0JBZ1FJQkFid0xm
NmVwTWQrN2NhYzZjT1hQdmV1N2N1ZWJHalJ2TjdkdTN1enA4cWVQcwoyTEdqMmIxN2QzUGt5Skht
Nk5Hajk2N2J0MjhmZk1mcjE2ODNaOCtlYmM2ZlA5OWN1WEtsK2VTVFQ1cWJOMjgydDI3ZFNwOWxt
TzdjCnViUFp0V3RYOC96enp6Zjc5Kzl2RGg4KzNMejQ0b3ZObmoxN0JyYzFBQUVDQkFnUUlFQ0F3
SjhGVnI1dUwxdkZPSDM2ZEhQaXhJbm0KNnRXcld6M1VKTDkvMzc1OXphbFRwNXBqeDQ3MXZ2KzFh
OWVhRHovODhONzE4dVhMdlorL2p4TWVPSENnZWZYVlYrOWQ5KzdkMjhjcApuWU1BQVFJRUNCQWdR
R0FkZ1MwVmtMdDM3elp2dmZYV3ZUdlA2eHpmUDg4aEVDWHU1TW1UemJadHkzOW0zTVdMRjV1MzMz
NjcrZDN2CmZ0ZEVqbE80aE92TEw3L2MvUHpuUDI4T0hUbzBoWlh0U0lBQUFRSUVDQkJJSjdDbEF2
TG1tMjhxSHgxSEdpWGtuWGZlNmZpbzl3LzMKK2VlZk41SGJyMzcxcTZhREI3L3VIM2hFZjF0WldX
bGVlKzIxZTg3UFBQUE1pQ1kzS2dFQ0JBZ1FJRUJnL0FJTEY1QjQydFZMTDcwMApmb0dFRzN6ODhj
ZExlVHJXYjM3em0rWm5QL3RaODhVWFh5VGN1ditSbm43NjZlYjk5OTl2WG5ubGxmNVA3b3dFQ0JB
Z1FJQUFnWWtLCkxGUkE0Z1huQnc4ZTlKcVBKZDFvNGpVaGx5NWRhcnA2WVhyazljWWJielR2dmZm
ZWtpWWU5MkZmZi8zMTV0MTMzKzNNZTl3YXBpZEEKZ0FBQkFnUUlMRmRnb1JjYnhMdGRlY0g1OG9J
SjJ6RHU0dkxsbDE4MlAvemhENVdQRFRDam1JVlJXTGtRSUVDQUFBRUNCQWdzVjJEaApBckxjc1J5
OWl3SVNkNmkvLy8zdk4zLzR3eCtBYmlJUVJtR2xoR3dDNWRNRUNCQWdRSUFBZ1MwS0xGUkE0dmQ4
dUN4WFlLdkc4YlNyCkgvM29SODJmL3ZTbjVRNWE2T2hoRldaaDUwS0FBQUVDQkFnUUlMQWNnWVVL
U1B5U1FaZmxDbXpWT0Y3ejRaR1ArVE1LczdCeklVQ0EKQUFFQ0JBZ1FXSTdBUWk5Q2o3Y3hkVm0r
d0tKdmt4dnZkdlhqSC85NCtRTVdQc05ISDMzazNiRUs1MnMxQWdRSUVDQkFZRGdCQldRNAorMDNQ
dkVnQmlkL3pzWC8vZm0rMXU2bnV4bDhRYjlGNzVjcVZ4dThKMmRqSlp3a1FJRUNBQUFFQzh3b3M5
QlNzZVUvaTYvc1RpRjh5CjZQZDhiTjA3RE1QU2hRQUJBZ1FJRUNCQW9Gc0JqNEIwNjlucDBlWjlC
T1RpeFl2TkN5KzhNTm5mY040cGZudXdlS3JoaFFzWG1rT0gKRG5WOWFNY2pRSUFBQVFJRUNFeFd3
Q01naGFKLysrMjNsWThPODR3Q0dLWXVCQWdRSUVDQUFBRUMzUWw0QktRN3k4NlBOTThqSU5ldQpY
V3VlZSs2NTV1N2R1NTNQTWVVRGJ0dTJyZm4wMDArYnZYdjNUcG5CN2dRSUVDQkFnQUNCemdROEF0
SVo1YkFIK3VDREQ1U1BKVVFRCmhlN0REejljd3BFZGtnQUJBZ1FJRUNBd1RRR1BnQ1RPZlo1SFFB
NGVQTmhjdm53NThUYmpIZTNBZ1FQTnBVdVh4cnVBeVFrUUlFQ0EKQUFFQ2lRUVVrRVJockIxbDFn
SnkvZnIxNXRsbm4xMzc3VDd1VU9Denp6NXI5dXpaMCtFUkhZb0FBUUlFQ0JBZ01FMEJUOEVxa1B2
WgpzMmNMYkpGN0JjYTU4ekVkQVFJRUNCQWdNQjRCQldROFdhMDc2Zm56NTlmOW5FOTBJOEM0RzBk
SElVQ0FBQUVDQkFnb0lBVnVBMTc3CnNmd1E0N2VpdXhBZ1FJQUFBUUlFQ0d4ZFFBSFp1dUhnUjdo
NjllcmdNMVFmNEpOUFBxbStvdjBJRUNCQWdBQUJBcjBJS0NDOU1DLzMKSkRkdjNsenVDUnk5WWV4
R1FJQUFBUUlFQ0JEb1JrQUI2Y1p4MEtQY3VuVnIwUE5QNGVTTXA1Q3lIUWtRSUVDQUFJRStCTHdO
YngvSwpDNTVqMXJmaFhWbFpXZkFNdm0wZWdWbnptT2VZdnBZQUFRSUVDQkFnTURVQmo0Qk1MWEg3
RWlCQWdBQUJBZ1FJRUJoUVFBRVpFTitwCkNSQWdRSUFBQVFJRUNFeE5RQUdaV3VMMkpVQ0FBQUVD
QkFnUUlEQ2dnQUl5SUw1VEV5QkFnQUFCQWdRSUVKaWFnQUl5dGNUdE95bUIKTzNmdU5MLzk3Vyti
NDhlUE45Lzk3bmViSjU1NG9vazNMWmpsR2w4YjN4UGZHOGVJWTdrUUlFQ0FBQUVDQkxZcTRGMnd0
aXE0eE8rZgo5VjJYdkF2V0VrTjQ0TkN6NXZIQXR3ejYxOU9uVHpjblRweG91dnBGbGZ2MjdXdE9u
VHJWSER0MmJOQzluSndBQVFJRUNCQVl0NEJIClFNYWRuK2tKUENKdzkrN2Q1czAzMzJ4ZWV1bWx6
c3BIbkNTS1RCd3pqaDNuY0NGQWdBQUJBZ1FJTENMd25VVyt5ZmNRSUpCWDRLMjMKM3JyM1NNV3lK
b3hIUWVMeXpqdnZMT3NVamt1QUFBRUNCQWdVRnZBVXJNVGh6dnFVSDAvQjZpZkVXZlBvWjVySG55
V2VkaFdQVXZSeAorZmpqanowZHF3OW81eUJBZ0FBQkFzVUVGSkRFZ2M1NmgxY0I2U2ZFV2ZQb1o1
cEh6eEl2RWo5NDhHQ25UN3Q2OUN6My95VmVFM0xwCjBxVm0rL2J0OS8vUjN3Z1FJRUNBQUFFQ213
aDREY2dtUUQ1TllDd0NaODZjNmExOGhFbThKaVRPNlVLQUFBRUNCQWdRbUVkQUFabEgKeTljU1ND
d3dSQmtZNHB5Skl6QWFBUUlFQ0JBZ01JT0FBaklEa2k4aE1BYUJjK2ZPOVQ3bUVPZnNmVWtuSkVD
QUFBRUNCRG9WOEJxUQpUam03UGRpc3J6bndHcEJ1M2RjNzJxeDVyUGY5eS83MytNV0J0Mi9mWHZa
cEhqcitqaDA3bXErKyt1cWhmL01CQVFJRUNCQWdRR0FqCkFRVmtJNTJCUHpmckhWNEZwSitnWnMy
am4ya2VQY3RRdDRQc0xvOUsrUmNDQkFnUUlFQmdTQUZQd1JwUzM3a0pFQ0JBZ0FBQkFnUUkKVEV4
QUFabFk0TllsUUlBQUFRSUVDQkFnTUtTQUFqS2t2bk1USUVDQUFBRUNCQWdRbUppQUFqS3h3SzFM
Z0FBQkFnUUlFQ0JBWUVnQgpCV1JJZmVjbVFJQUFBUUlFQ0JBZ01ERUJCV1JpZ1Z1WEFBRUNCQWdR
SUVDQXdKQUNDc2lRK3M1TmdBQUJBZ1FJRUNCQVlHSUNDc2pFCkFyY3VBUUlFQ0JBZ1FJQUFnU0VG
RkpBaDlaMmJBQUVDQkFnUUlFQ0F3TVFFRkpDSkJXN2R1Z0k3ZHV6b2Zia2h6dG43a2s1SWdBQUIK
QWdRSWRDcWdnSFRLNldBRWhoUFl2WHQzN3ljZjRweTlMK21FQkFnUUlFQ0FRS2NDQ2tpbm5BNUdZ
RGlCSTBlTzlIN3lJYzdaKzVKTwpTSUFBQVFJRUNIUXFvSUIweXVsZ0JJWVRPSHIwYU84bkgrS2N2
Uy9waEFRSUVDQkFnRUNuQWl0ZnQ1ZDVqN2l5c2pMdnQvajZCUVJtCmpVWWVDK0F1OEMyejVySEFv
VHY1bGp0MzdqUUhEeDVzcmw2OTJzbnhOanZJdm4zN21rdVhMalhidDIvZjdFdDluZ0FCQWdRSUVD
RHcKcllCSFFMNmw4QmNDNHhhSUluRHExS25lbG9oektSKzljVHNSQVFJRUNCQW9JNkNBbEluU0ln
U2E1dGl4WTgySkV5ZVdUaEhuaUhPNQpFQ0JBZ0FBQkFnVG1GVkJBNWhYejlRU1NDNXc4ZVhLcEpT
VEtSNXpEaFFBQkFnUUlFQ0N3aUlEWGdDeWkxdFAzelBxYUE2OEI2U2VRCldmUG9aNXJOejNMNjlP
bDdSYVNyMTRURWF6N2lhVmNlK2RqYzNsY1FJRUNBQUFFQzZ3c29JT3ZiRFA2WldlL3dLaUQ5UkRW
ckh2MU0KTTl0WjRvWHBaODZjdVhjOWQrNWNjK1BHamViMjdkc3pmWFA4a3NINFBSL3hWcnZ4Ymxk
eDlacVBtZWg4RVFFQ0JBZ1FJTENCZ0FLeQpBYzdRbjVyMURxOEMwazlTcytiUnp6VE9Rb0FBQVFJ
RUNCQVlwNERYZ0l3ek4xTVRJRUNBQUFFQ0JBZ1FHS1dBQWpMSzJBeE5nQUFCCkFnUUlFQ0JBWUp3
Q0NzZzRjek0xQVFJRUNCQWdRSUFBZ1ZFS0tDQ2pqTTNRQkFnUUlFQ0FBQUVDQk1ZcG9JQ01NN2VI
cG81M0szSloKcmdEajVmbzZPZ0VDQkFnUUlEQWRBUVdrUU5ZN2QrNHNzRVh1RlJqbnpzZDBCQWdR
SUVDQXdIZ0VGSkR4WkxYdXBMdDI3VnIzY3o3UgpqY0JUVHozVnpZRWNoUUFCQWdRSUVDQXdjUUVG
cE1BTjRQbm5ueSt3UmU0VjRyZUF1eEFnUUlBQUFRSUVDR3hkUUFIWnV1SGdSOWkvCmYvL2dNMVFm
Z0hIMWhPMUhnQUFCQWdRSTlDV2dnUFFsdmNUekhENThlSWxIZCtnUVlPeDJRSUFBQVFJRUNCRG9S
bURsNi9ZeTc2RlcKVmxibS9SWmZ2NERBck5GY3YzNjllZmJaWnhjNGcyK1pWZUN6eno1cjl1elpN
K3VYK3pvQ0JBZ1FJRUNBQUlGMUJEd0NzZzdNbVA0NQo3aGdmT0hCZ1RDT1BhdGF3VlQ1R0ZabGhD
UkFnUUlBQWdjUUNDa2ppY09ZWjdmang0L044dWErZFErRFZWMStkNDZ0OUtRRUNCQWdRCklFQ0F3
RVlDbm9LMWtjN0FuNXYxS1ZneDVyVnIxNXJubm51dXVYdjM3c0JUMXpyOXRtM2JtazgvL2JUWnUz
ZHZyY1ZzUTRBQUFRSUUKQ0JBWVNNQWpJQVBCZDMzYXVJUDg4c3N2ZDMzWXlSOHZUSldQeWQ4TUFC
QWdRSUFBQVFJZENuZ0VwRVBNcmc4MXp5TWdjZTZMRnk4MgpMN3p3UWpQdjkzVTlkNVhqeFpzdFhM
aHdvVGwwNkZDVmxleEJnQUFCQWdRSUVCaGN3Q01nZzBmUTNRQnhSL20xMTE3cjdvQVRQMUpZCkto
OFR2eEZZbndBQkFnUUlFT2hjd0NNZ25aTjJkOEJGSHNuNC9QUFBtL2lsZVY5ODhVVjNnMHp3U0U4
Ly9YUno1Y3FWNXBsbm5wbmcKOWxZbVFJQUFBUUlFQ0N4UHdDTWd5N01kNU1oeGgvbjk5OThmNU55
VlRocUd5a2VsUk8xQ2dBQUJBZ1FJWkJGWXFJRHMyTEVqeS94bAo1OWlLOFN1dnZOSzgvdnJyWlcy
V3ZWalloYUVMQVFJRUNCQWdRSUJBOXdJTEZaRGR1M2QzUDRralBpU3dWZU4zMzMyMytjRVBmdkRR
Ck1YMnd1VUNZaFowTEFRSUVDQkFnUUlEQWNnUVdLaUJIamh4WnpqU08rcTNBVm8yM2I5L2UvUDcz
djIrKzk3M3ZmWHRNZjlsWUlLekMKTE94Y0NCQWdRSUFBQVFJRWxpT3dVQUU1ZXZUb2NxWngxRzhG
dWpCKzhza25tei8rOFk4ZUNmbFdkZjIveENNZllSVm1MZ1FJRUNCQQpnQUFCQXNzVFdPaGRzTzdj
dWRNY1BIaXd1WHIxNnZJbW0vQ1I5KzNiMTF5NmRLbXpuOFJIWG0rODhVYnozbnZ2VFZoMS9kWGpO
Ui94CnRDdVBmS3h2NURNRUNCQWdRSUFBZ2E0RUZub0VKTzZvblRwMXFxc1pIR2VOUU5oMmVXYzRq
dldMWC95aStlaWpqNXA0ZTFtWFB3dUUKUlppRVRaZmVmQWtRSUVDQUFBRUNCTllYV0tpQXhPR09I
VHZXbkRoeFl2MGorOHhDQW1FYXRzdTR4RHM3eGUrMitPbFBmOXJFYi9tZQo2aVYyRDRPdzhHNVhV
NzBWMkpzQUFRSUVDQkFZU21EaEFoSURueng1VWducE1Ma29IMkc2ekV2OGJvdGYvdktYellVTEYr
N2QrZDYyCmJVczNnV1dPMnZteFk5Y29ITEY3R1BnOUg1MFRPeUFCQWdRSUVDQkFZRk9CaFY0RHN2
YW9wMCtmdmxkRXZDWmtyY3hzSDhkclB1SnAKVjh0NjVHT2pLYTVkdTlaODhNRUh6YTkvL2V2bTh1
WExHMzNwYUQ5MzRNQ0I1dmp4NDgxUGZ2S1RadS9ldmFQZHcrQUVDQkFnUUlBQQpnUW9DblJTUWdJ
Z1hPcDg1YytiZTlkeTVjODJOR3plYTI3ZHZWekRxZklmNEpZUHhlejdpclhiajNhN2ltdUUxQ05l
dlgyL09uajNiCm5EOS8vbDRaaVVKNTgrYk41dGF0VyttekROT2RPM2MydTNidGFxTFFSZWs0ZlBo
dzgrS0xMelo3OXV6cFBFTUhKRUNBQUFFQ0JBZ1EKV0V5Z3N3S3kyT2w5RndFQ0JBZ1FJRUNBQUFF
Q1V4S1l6Z3NBcHBTcVhRa1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQQpBUUlWQlJT
UWlxbmFpUUFCQWdRSUVDQkFnRUJTQVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRDQkFn
UUlBQUFRSUVDQ1FWClVFQ1NCbU1zQWdRSUVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJRUNB
UUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVkKcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklH
WXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQQpnQUFC
QWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZC
UlNRaXFuYWlRQUJBZ1FJCkVDQkFnRUJTQVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRD
QkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUIKQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJ
RUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUQpR
SklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdB
QUJBZ1FJRUNCUVVVQUJxWmlxCm5RZ1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFR
SVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0EKQUFFQ0JBZ1FJRkJSUUFHcG1L
cWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFn
UQpJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJW
UVFKSUdZeXdDQkFnUUlFQ0FBQUVDCkZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlK
QWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkEKa2daakxBSUVDQkFnUUlB
QUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdw
bUtxZApDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVD
QkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBCkFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJ
SkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWcKUUlCQVVnRUZKR2t3
eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWdR
SUFBQVFJVgpCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJR
QUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNTCkJtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpB
QUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMEkKRUNCQWdBQUJB
Z1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpH
a3d4aUpBZ0FBQgpBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNC
QWdRSUFBQVFJVkJSU1FpcW5haVFBQkFnUUlFQ0JBCmdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlG
QlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUYKRkpDS3Fk
cUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FB
QkFnUUlKQlZRUUpJRwpZeXdDQkFnUUlFQ0E3aGh3UGdBQUdHRkpSRUZVQUFFQ0ZRVVVrSXFwMm9r
QUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJCkVDQlFVVUFCcVppcW5RZ1FJRUNBQUFF
Q0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlMKQVFV
a2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJ
RUNCQWdBQUJBaFVGRkpDSwpxZHFKQUFFQ0JBZ1FJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFn
VUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDCkJBZ1FJRUNBQUFFQ0ZRVVVrSXFw
Mm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0EK
QUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNB
UVVrYVRER0lrQ0FBQUVDQkFnUQpJRkJSUUFHcG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNB
Z1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCCkJTUnBNTVlpUUlBQUFRSUVD
QkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJ
cXAKMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlF
Q0FBQUVDQkFna0ZWQkFrZ1pqTEFJRQpDQkFnUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdF
QlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBCkFRSUVDQ1FWVUVDU0Jt
TXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBQVFJ
RUNCQWcKVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFV
VWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRgpKR2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFn
UUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5hCmlRQUJBZ1FJRUNC
QWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNT
Qm1Nc0FnUUkKRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFB
QVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQgpBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVD
RlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRClVVQUJxWmlx
blFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQkFnUUlF
Q0JBZ0VCU0FRVWsKYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZV
RUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZGSkNLcWRxSgpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlR
SUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdRCklFQ0FB
QUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVBQnFa
aXFuUWdRSUVDQUFBRUMKQkFna0ZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQkFn
UUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFBRUNCQWdRSUZCUgpRQUdwbUtxZENCQWdRSUFBQVFJRUND
UVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJCU1JwCk1N
WWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdRSUVD
QUFBRUNGUVVVa0lxcDJva0EKQVFJRUNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVB
QnFaaXFuUWdRSUVDQUFBRUNCQWdrRlZCQWtnWmpMQUlFQ0JBZwpRSUFBQVFJVkJSU1FpcW5haVFB
QkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFBRUNCQWdRSUZCUlFBR3BtS3FkQ0JBZ1FJQUFBUUlF
CkNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJCU1Jw
TU1ZaVFJQUFBUUlFQ0JBZ1VGRkEKQWFtWXFwMElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdR
SUVDQUFBRUNGUVVVa0lxcDJva0FBUUlFQ0JBZ1FJQkFVZ0VGSkdrdwp4aUpBZ0FBQkFnUUlFQ0JR
VVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdrRlZCQWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJTUWlxbmFp
UUFCCkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFBRUNCQWdRSUZCUlFBR3BtS3FkQ0JBZ1FJQUFB
UUlFQ0NRVlVFQ1NCbU1zQWdRSUVDQkEKZ0FBQkFoVUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJC
U1JwTU1ZaVFJQUFBUUlFQ0JBZ1VGRkFBYW1ZcXAwSUVDQkFnQUFCQWdRSQpKQlZRUUpJR1l5d0NC
QWdRSUVDQUFBRUNGUVVVa0lxcDJva0FBUUlFQ0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFCQWdRSUVD
QlFVVUFCCnFaaXFuUWdRSUVDQUFBRUNCQWdrRlZCQWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJTUWlx
bmFpUUFCQWdRSUVDQkFnRUJTQVFVa2FUREcKSWtDQUFBRUNCQWdRSUZCUlFBR3BtS3FkQ0JBZ1FJ
QUFBUUlFQ0NRVlVFQ1NCbU1zQWdRSUVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQwpCQWdRSUVDQVFG
SUJCU1JwTU1ZaVFJQUFBUUlFQ0JBZ1VGRkFBYW1ZcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklHWXl3
Q0JBZ1FJRUNBCkFBRUNGUVVVa0lxcDJva0FBUUlFQ0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFCQWdR
SUVDQlFVVUFCcVppcW5RZ1FJRUNBQUFFQ0JBZ2sKRlZCQWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJT
UWlxbmFpUUFCQWdRSUVDQkFnRUJTQVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcAptS3FkQ0JB
Z1FJQUFBUUlFQ0NRVlVFQ1NCbU1zQWdRSUVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJRUNB
UUZJQkJTUnBNTVlpClFJQUFBUUlFQ0JBZ1VGRkFBYW1ZcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklH
WXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwMm9rQUFRSUUKQ0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFC
QWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQQpBUUlW
QlJTUWlxbmFpUUFCQWdRSUVDQkFnRUJTQVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRD
QkFnUUlBQUFRSUVDQ1FWClVFQ1NCbU1zQWdRSUVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJ
RUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVkKcXAwSUVDQkFnQUFCQWdRSUpCVlFR
SklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQQpn
QUFCQWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFR
SVZCUlNRaXFuYWlRQUJBZ1FJCkVDQkFnRUJTQVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1L
cWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUIKQWhVRkZKQ0txZHFKQUFFQ0JB
Z1FJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJW
UQpRSklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlK
QWdBQUJBZ1FJRUNCUVVVQUJxWmlxCm5RZ1FJRUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlB
QUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0EKQUFFQ0JBZ1FJRkJSUUFH
cG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVD
QkFnUQpJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJ
SkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDCkZRVVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3
eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkEKa2daakxBSUVDQkFn
UUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJR
QUdwbUtxZApDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpB
QUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBCkFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJB
Z1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWcKUUlCQVVnRUZK
R2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNC
QWdRSUFBQVFJVgpCUlNRaXFuYWlRQUJBZ1FJRUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlG
QlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNTCkJtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3Fk
cUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMEkKRUNCQWdB
QUJBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdF
RkpHa3d4aUpBZ0FBQgpBZ1FJRUNCUVVVQUJxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJ
RUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQkFnUUlFQ0JBCmdFQlNBUVVrYVRER0lrQ0FBQUVDQkFn
UUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUYKRkpD
S3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JB
Z0FBQkFnUUlKQlZRUUpJRwpZeXdDQkFnUUlFQ0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJB
VWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVBQnFaaXFuUWdRCklFQ0FBQUVDQkFna0ZWQkFrZ1pq
TEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFBRUMK
QkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZG
SkNLcWRxSkFBRUNCQWdRSUVDQQpRRklCQlNScE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElF
Q0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdRSUVDQUFBRUNGUVVVCmtJcXAyb2tBQVFJRUNCQWdR
SUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdrRlZCQWtn
WmoKTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFB
RUNCQWdRSUZCUlFBR3BtS3FkQ0JBZwpRSUFBQVFJRUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFo
VUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJCU1JwTU1ZaVFJQUFBUUlFCkNCQWdVRkZBQWFtWXFw
MElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdRSUVDQUFBRUNGUVVVa0lxcDJva0FBUUlFQ0JB
Z1FJQkEKVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdrRlZC
QWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJTUQppcW5haVFBQkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtD
QUFBRUNCQWdRSUZCUlFBR3BtS3FkQ0JBZ1FJQUFBUUlFQ0NRVlVFQ1NCbU1zCkFnUUlFQ0JBZ0FB
QkFoVUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJCU1JwTU1ZaVFJQUFBUUlFQ0JBZ1VGRkFBYW1Z
cXAwSUVDQkEKZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdRSUVDQUFBRUNGUVVVa0lxcDJva0FBUUlF
Q0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFCQWdRSQpFQ0JRVVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdr
RlZCQWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJTUWlxbmFpUUFCQWdRSUVDQkFnRUJTCkFRVWthVERH
SWtDQUFBRUNCQWdRSUZCUlFBR3BtS3FkQ0JBZ1FJQUFBUUlFQ0NRVlVFQ1NCbU1zQWdRSUVDQkFn
QUFCQWhVRkZKQ0sKcWRxSkFBRUNCQWdRSUVDQVFGSUJCU1JwTU1ZaVFJQUFBUUlFQ0JBZ1VGRkFB
YW1ZcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklHWXl3QwpCQWdRSUVDQUFBRUNGUVVVa0lxcDJva0FB
UUlFQ0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFCQWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNBCkFBRUNC
QWdrRlZCQWtnWmpMQUlFQ0JBZ1FJQUFBUUlWQlJTUWlxbmFpUUFCQWdRSUVDQkFnRUJTQVFVa2FU
REdJa0NBQUFFQ0JBZ1EKSUZCUlFBR3BtS3FkQ0JBZ1FJQUFBUUlFQ0NRVlVFQ1NCbU1zQWdRSUVD
QkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJRUNBUUZJQgpCU1JwTU1ZaVFJQUFBUUlFQ0JBZ1VG
RkFBYW1ZcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFwCjJv
a0FBUUlFQ0JBZ1FJQkFVZ0VGSkdrd3hpSkFnQUFCQWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNBQUFF
Q0JBZ2tGVkJBa2daakxBSUUKQ0JBZ1FJQUFBUUlWQlJTUWlxbmFpUUFCQWdRSUVDQkFnRUJTQVFV
a2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRDQkFnUUlBQQpBUUlFQ0NRVlVFQ1NCbU1zQWdR
SUVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVDQkFn
ClVGRkFBYW1ZcXAwSUVDQkFnQUFCQWdRSUpCVlFRSklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVrSXFw
Mm9rQUFRSUVDQkFnUUlCQVVnRUYKSkdrd3hpSkFnQUFCQWdRSUVDQlFVVUFCcVppcW5RZ1FJRUNB
QUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZCUlNRaXFuYQppUUFCQWdRSUVDQkFnRUJT
QVFVa2FUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0JtTXNB
Z1FJCkVDQkFnQUFCQWhVRkZKQ0txZHFKQUFFQ0JBZ1FJRUNBUUZJQkJTUnBNTVlpUUlBQUFRSUVD
QkFnVUZGQUFhbVlxcDBJRUNCQWdBQUIKQWdRSUpCVlFRSklHWXl3Q0JBZ1FJRUNBQUFFQ0ZRVVVr
SXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJRUNCUQpVVUFCcVppcW5RZ1FJ
RUNBQUFFQ0JBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNCQWdF
QlNBUVVrCmFUREdJa0NBQUFFQ0JBZ1FJRkJSUUFHcG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVDU0Jt
TXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUoKQUFFQ0JBZ1FJRUNBUUZJQkJTUnBNTVlpUUlBQUFR
SUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDQkFnUQpJRUNBQUFFQ0ZR
VVVrSXFwMm9rQUFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlxblFn
UUlFQ0FBQUVDCkJBZ2tGVkJBa2daakxBSUVDQkFnUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJRUNC
QWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlIKUUFHcG1LcWRDQkFnUUlBQUFRSUVDQ1FWVUVD
U0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScApNTVlpUUlB
QUFRSUVDQkFnVUZGQUFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FBQUVD
RlFVVWtJcXAyb2tBCkFRSUVDQkFnUUlCQVVnRUZKR2t3eGlKQWdBQUJBZ1FJRUNCUVVVQUJxWmlx
blFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWcKUUlBQUFRSVZCUlNRaXFuYWlRQUJBZ1FJ
RUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRQpDQ1FW
VUVDU0JtTXNBZ1FJRUNCQWdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScE1NWWlR
SUFBQVFJRUNCQWdVRkZBCkFhbVlxcDBJRUNCQWdBQUJBZ1FJSkJWUVFKSUdZeXdDQkFnUUlFQ0FB
QUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpHa3cKeGlKQWdBQUJBZ1FJRUNCUVVVQUJx
WmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFBQgpB
Z1FJRUNCQWdFQlNBUVVrYVRER0lrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJRUND
UVZVRUNTQm1Nc0FnUUlFQ0JBCmdBQUJBaFVGRkpDS3FkcUpBQUVDQkFnUUlFQ0FRRklCQlNScE1N
WWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQkFnUUkKSkJWUVFKSUdZeXdDQkFnUUlF
Q0FBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JRVVVB
QgpxWmlxblFnUUlFQ0FBQUVDQkFna0ZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5haVFB
QkFnUUlFQ0JBZ0VCU0FRVWthVERHCklrQ0FBQUVDQkFnUUlGQlJRQUdwbUtxZENCQWdRSUFBQVFJ
RUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZGSkNLcWRxSkFBRUMKQkFnUUlFQ0FRRklCQlNS
cE1NWWlRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NCQWdR
SUVDQQpBQUVDRlFVVWtJcXAyb2tBQVFJRUNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlFQ0JR
VVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdrCkZWQkFrZ1pqTEFJRUNCQWdRSUFBQVFJVkJSU1FpcW5h
aVFBQkFnUUlFQ0JBZ0VCU0FRVWthVERHSWtDQUFBRUNCQWdRSUZCUlFBR3AKbUtxZENCQWdRSUFB
QVFJRUNDUVZVRUNTQm1Nc0FnUUlFQ0JBZ0FBQkFoVUZGSkNLcWRxSkFBRUNCQWdRSUVDQVFGSUJC
U1JwTU1ZaQpRSUFBQVFJRUNCQWdVRkZBQWFtWXFwMElFQ0JBZ0FBQkFnUUlKQlZRUUpJR1l5d0NC
QWdRSUVDQUFBRUNGUVVVa0lxcDJva0FBUUlFCkNCQWdRSUJBVWdFRkpHa3d4aUpBZ0FBQkFnUUlF
Q0JRVVVBQnFaaXFuUWdRSUVDQUFBRUNCQWdrRmZnL2k0TjBjRVl0MzdFQUFBQUEKU1VWT1JLNUNZ
SUk9Cgo=
</data>
<flag name="review"
          id="17366"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>