Return-Path: <vishwas.ietf@gmail.com>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix)
 with ESMTP id C9B5721F8C8D for <ipsec@ietfa.amsl.com>;
 Wed, 20 Feb 2013 16:08:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.774
X-Spam-Level: 
X-Spam-Status: No, score=-2.774 tagged_above=-999 required=5 tests=[AWL=0.624,
 BAYES_00=-2.599, GB_I_LETTER=-2, HTML_MESSAGE=0.001, J_BACKHAIR_35=1,
 J_CHICKENPOX_13=0.6, J_CHICKENPOX_14=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com
 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AQGu3RB68kKU for
 <ipsec@ietfa.amsl.com>; Wed, 20 Feb 2013 16:08:36 -0800 (PST)
Received: from mail-qe0-f51.google.com (mail-qe0-f51.google.com
 [209.85.128.51]) by ietfa.amsl.com (Postfix) with ESMTP id 7B52421F8C8C for
 <ipsec@ietf.org>; Wed, 20 Feb 2013 16:08:32 -0800 (PST)
Received: by mail-qe0-f51.google.com with SMTP id 6so4046638qea.10 for
 <ipsec@ietf.org>; Wed, 20 Feb 2013 16:08:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:x-received:in-reply-to:references:date:message-id
 :subject:from:to:cc:content-type;
 bh=mo9Y9iW/DwwCdjRpBPsp9evT7euh0z24w/mgTDmQxEk=;
 b=ZvzndPO1ssyCKa4/SePpihJBcBjCIp4p0AMIqtffah/MiO4KwrD5KhkLWSaavIfIu2
 r2uddRaAik5sq+IdDnR9t1TBUxFPYJyRPrElpY5xJSTLY73TIfJtANkL+o/hbCtKnebd
 89Qz8fzWRTf4yOvgo3ukIhj+/3XbqCMLkmBnIbou+mwddbUUBhKTgVq+B/ZvvmhsPULs
 gdT1n80UNmaBVzH6pLrSuUMpnhrUiyPK0seczMM0wXmiJK1NsSYUgCQeRchRteU5iNhM
 oSiqo2P3QoGzlp2RavKIdiuYqCEu7ZyXz/J/3nxd3PcKAZn5CSk/Hn6cF+E2WtCsJz8Z 5IYQ==
MIME-Version: 1.0
X-Received: by 10.224.52.68 with SMTP id h4mr10230463qag.17.1361405311811;
 Wed, 20 Feb 2013 16:08:31 -0800 (PST)
Received: by 10.229.92.77 with HTTP; Wed, 20 Feb 2013 16:08:31 -0800 (PST)
In-Reply-To: <20692.12491.489818.760016@fireball.kivinen.iki.fi>
References: <20692.12491.489818.760016@fireball.kivinen.iki.fi>
Date: Wed, 20 Feb 2013 16:08:31 -0800
Message-ID: <CAOyVPHRTAhbW4BAUNj0Dz9JbAs08cHg-ZWyx-psnWTNrhZzZPA@mail.gmail.com>
From: Vishwas Manral <vishwas.ietf@gmail.com>
To: Tero Kivinen <kivinen@iki.fi>
Content-Type: multipart/mixed; boundary=20cf3074afa801bc1404d630e0ac
Cc: ipsec@ietf.org
Subject: Re: [IPsec] My comments to the
 draft-ietf-ipsecme-ad-vpn-problem-03.txt
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>,
 <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>,
 <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Feb 2013 00:08:39 -0000

--20cf3074afa801bc1404d630e0ac
Content-Type: multipart/alternative; boundary=20cf3074afa801bc0c04d630e0aa

--20cf3074afa801bc0c04d630e0aa
Content-Type: text/plain; charset=ISO-8859-1

Hi Tero,

I am attaching the draft with your comment incorporated.

Regarding points 6 & 7 below I think there is some confusion. A spoke in my
view can be both an endpoint and a gateway. So within a ADVPN domain the
concept of connections to a spoke gateways from end points are not in the
perview at all. Do let me know if that makes sense?

If you approve this I will post the draft across.

Thanks,
Vishwas

On Fri, Dec 21, 2012 at 1:50 AM, Tero Kivinen <kivinen@iki.fi> wrote:

> I now read the lastest version. The terminology is much clearer now,
> and the document is much easier to read. I still see that not all of
> my comments in previous versions have been added to the document (some
> even from my 2012-03-14 email
> http://www.ietf.org/mail-archive/web/ipsec/current/msg07558.html, i.e
> the changes to section 3.1, 3.2 and 3.3).
>
> I am now going through my comments from 2012-09-10 email
> http://www.ietf.org/mail-archive/web/ipsec/current/msg07910.html and
> see which still apply).
>
> ----------------------------------------------------------------------
>
> Now that we have new terminology, it would be nice to have all terms
> defined in the terminology to use capital letter, so it would be clear
> that Hub/Gateway/Spoke/Endpoint etc has special meaning...
>
> ----------------------------------------------------------------------
>
> > 4.1.  Gateway and Endpoint Requirements
> > ...
> >    2.  Gateways and endpoints MUST allow IPsec Tunnels to be setup
> >    without any configuration changes, even when peer addresses get
> >    updated every time the device comes up.  This implies that SPD
> >    entries or other configuration based on peer IP address will need to
> >    be automatically updated, avoided, or handled in some manner to avoid
> >    a need to manually update policy whenever an address changes.
>
> In this I was trying to ask whether this is supposed to for existing
> already configured Gateways and endpoints, and as now the 1 has been
> changed to include gateway or endpoints addition/removal/changes, it
> is quite clear this only covers the normal operational use, i.e. when
> the gateways and endpoints are already configured. Perhaps changing it
> something like
>
>    2. Existing member Gateways and endpoints of the ADVPN MUST allow
>    IPsec Tunnels to be setup with other members of the ADVPN without
>    any configuration changes, even when peer addresses get updated
>    every time the device comes up. This implies that SPD entries or
>    other configuration based on peer IP address will need to be
>    automatically updated, avoided, or handled in some manner to avoid
>    a need to manually update policy whenever an address changes.
>
> to make it clear that we are not talking about the initial
> configuration but the actual normal use case of 2 peers which are
> already part of the ADVPN.
>
> BTW, perhaps we should add "ADVPN Peer" to the terminology and say it
> is any member (gateway, endpoint, hub or spoke) of the ADVPN and use
> "other ADVPN peers" above instead of "other members of the ADVPN".
>
> Or see if there is any other uses for peer than exactly that, and then
> define "Peer" to be same as ADVPN Peer...
>
> ----------------------------------------------------------------------
>
> >   4.  In the full mesh and dynamic full mesh topology, Spokes MUST
> >   allow for direct communication with other spoke gateways and
> >   endpoints.  In the star topology mode, direct communication between
> >   spokes MUST be disallowed.
>
> I have question here, why are we defining things for strict star
> topology mode, as the 2.2 says star topology is not good, and we need
> to have spoke to spoke communications. So 2.2 does NOT justify the
> last sentence in this requirement that forbids spoke to spoke
> communications for star topology mode. What is the justification for
> it?
>
> If we are not defining things for star topology we should not put any
> restrictions to it either. In my March email I pointed out that star
> topology is sometimes used for policy reasons, but that addition never
> made to the document. Those policy reasons might be one reason why
> some setups would still use star topology even with ADVPN, but I would
> expect it to be more like half star half mesh setup, where some
> traffic goes through star and some traffic bypasses it, so even there
> the last sentence does not work out.
>
> ----------------------------------------------------------------------
>
> >   5.  One spoke MUST NOT be able to impersonate another spoke.
>
> Note, that this does not say anything about the Hubs or Endpoints. For
> Endpoints I think there should be same requirement, i.e. one Endpoint
> MUST NOT be able to impersonate another Endpoint or Gateway.
>
> Btw, I think it would also be unacceptable for Spoke to impersonate of
> being Hub, so the "another Spoke" should be changed to "any other
> Gateway".
>
> Note, also that Spokes and Hubs quite often can impersonate Endpoints,
> as Endpoints might use weak form authentication (shared secrets), and
> the Spokes have access to them. Also when using temporary credentials
> given by Spokes/Hubs etc to the Endpoints for Point-to-Point
> communication between two Endpoints the entity who gave those out
> might be able to impersonate Endpoints (unless the temporary
> credentials is in form of certificate signed by some CA).
>
> When I pointed this out last time, I got answer that this document is
> trying to impose the "typical enterprice connectivity scenario" here,
> but I think we should think these requirements, not rely on some
> unspoken enterprice connectivity scenario. Especially as it do limit
> our options and will affect our threat model.
>
> So I would like to see expictly whether Hubs should be able to
> impersonate other Gateways / Endpoints and same for Endpoints.
>
> Also last time the comment was that with this "typical enterprice
> connectivity scenario" spoke to hub connections are static, but now we
> have requirement 7 which says that gateway might handoff sessions to
> another gateway. Gateway includes hubs, so hub can handoff spokes to
> another hub if he feels like. If this was not intended, then 7 should
> be changed so it says "Spokes SHOULD allow for easy handoff of a
> session to another Spoke, ...".
>
> Also as this connectivity scenario is not documented anywhere, so if
> it is wanted, we should add text for it, i.e. most likely change the
> Hub and Spoke definitions to say that connections between Hubs and
> Spokes are mostly static.
>
> ----------------------------------------------------------------------
>
> >   6.  Gateways SHOULD allow for seamless handoff of sessions in case
> >   endpoints are roaming, even if they cross policy boundaries.  This
> >   would mean the data traffic is minimally affected even as the handoff
> >   happens.  External factors like firewall, NAT box will not be
> >   considered part of this solution.
> >
> >   This requirement is driven by use case 2.1.  Today's endpoints are
> >   mobile and transition often between different networks (from 4G to
> >   WiFi and among various WiFi networks).
>
> This is still unclear. Last time I proposed two options, and I was
> said that both of them might be correct, but neither one of them are
> what is really said above.
>
> As the 2.1 is Endpoint-to-Endpoint use case, I assume this is supposed
> to say that "Spokes SHOULD allow for seamless handoff of sessions to
> Point-to-Point communication mode between Endpoints that used to be
> connected to Spoke, in case ...".
>
> I.e. This does not cover the Endpoint moving from one Spoke to
> another, but two Endpoints talking through Spokes moving to the
> Point-to-Point mode, I think the Endpoint moving from one Spoke to
> another Spoke is covered by requirement 7.
>
> Right?
>
> ----------------------------------------------------------------------
>
> >   7.  Gateways SHOULD allow for easy handoff of a session to another
> >   gateway, to optimize latency, bandwidth, load balancing,
> >   availability, or other factors, based on policy.
> >
> >   This requirement is driven by use case 2.3.
>
> And as 2.3 is Endpoint-to-Gateway, I assume this is the case where
> Spoke gives one Endpoint to another Spoke..., i.e. "Spokes SHOULD
> allow for easy handoff of a Endpoint to another Spoke, ...".
>
> Am I correct here?
>
> And if we assume Hub<->Spoke connection is mostly static we do not
> allow Hubs to handoff Spokes to another Hubs (if we do want to say
> that, then we can use the "Gateways" above).
>
> These 6 and 7 use term "session" which is not very well defined. There
> are multiple possible meanings for it, and I think it would be good
> idea to try to define which one of them is meant.
> --
> kivinen@iki.fi
> _______________________________________________
> IPsec mailing list
> IPsec@ietf.org
> https://www.ietf.org/mailman/listinfo/ipsec
>

--20cf3074afa801bc0c04d630e0aa
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Hi Tero,</div><div>=A0</div><div>I am attaching the draft with=A0your =
comment incorporated. </div><div>=A0</div><div>Regarding points 6 &amp; 7 b=
elow I think there is some confusion. A spoke in my view can be both an end=
point and a gateway. So within a ADVPN domain the concept of connections to=
 a=A0spoke gateways=A0from end points are not in the perview at all. Do let=
 me know if that makes sense?</div>
<div>=A0</div><div>If you approve this I will post the draft across.</div><=
div>=A0</div><div>Thanks,</div><div>Vishwas<br><br></div><div class=3D"gmai=
l_quote">On Fri, Dec 21, 2012 at 1:50 AM, Tero Kivinen <span dir=3D"ltr">&l=
t;<a href=3D"mailto:kivinen@iki.fi" target=3D"_blank">kivinen@iki.fi</a>&gt=
;</span> wrote:<br>
<blockquote style=3D"margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-=
color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class=
=3D"gmail_quote">I now read the lastest version. The terminology is much cl=
earer now,<br>

and the document is much easier to read. I still see that not all of<br>
my comments in previous versions have been added to the document (some<br>
even from my 2012-03-14 email<br>
<a href=3D"http://www.ietf.org/mail-archive/web/ipsec/current/msg07558.html=
" target=3D"_blank">http://www.ietf.org/mail-archive/web/ipsec/current/msg0=
7558.html</a>, i.e<br>
the changes to section 3.1, 3.2 and 3.3).<br>
<br>
I am now going through my comments from 2012-09-10 email<br>
<a href=3D"http://www.ietf.org/mail-archive/web/ipsec/current/msg07910.html=
" target=3D"_blank">http://www.ietf.org/mail-archive/web/ipsec/current/msg0=
7910.html</a> and<br>
see which still apply).<br>
<br>
----------------------------------------------------------------------<br>
<br>
Now that we have new terminology, it would be nice to have all terms<br>
defined in the terminology to use capital letter, so it would be clear<br>
that Hub/Gateway/Spoke/Endpoint etc has special meaning...<br>
<br>
----------------------------------------------------------------------<br>
<br>
&gt; 4.1. =A0Gateway and Endpoint Requirements<br>
&gt; ...<br>
&gt; =A0 =A02. =A0Gateways and endpoints MUST allow IPsec Tunnels to be set=
up<br>
&gt; =A0 =A0without any configuration changes, even when peer addresses get=
<br>
&gt; =A0 =A0updated every time the device comes up. =A0This implies that SP=
D<br>
&gt; =A0 =A0entries or other configuration based on peer IP address will ne=
ed to<br>
&gt; =A0 =A0be automatically updated, avoided, or handled in some manner to=
 avoid<br>
&gt; =A0 =A0a need to manually update policy whenever an address changes.<b=
r>
<br>
In this I was trying to ask whether this is supposed to for existing<br>
already configured Gateways and endpoints, and as now the 1 has been<br>
changed to include gateway or endpoints addition/removal/changes, it<br>
is quite clear this only covers the normal operational use, i.e. when<br>
the gateways and endpoints are already configured. Perhaps changing it<br>
something like<br>
<br>
=A0 =A02. Existing member Gateways and endpoints of the ADVPN MUST allow<br=
>
=A0 =A0IPsec Tunnels to be setup with other members of the ADVPN without<br=
>
=A0 =A0any configuration changes, even when peer addresses get updated<br>
=A0 =A0every time the device comes up. This implies that SPD entries or<br>
=A0 =A0other configuration based on peer IP address will need to be<br>
=A0 =A0automatically updated, avoided, or handled in some manner to avoid<b=
r>
=A0 =A0a need to manually update policy whenever an address changes.<br>
<br>
to make it clear that we are not talking about the initial<br>
configuration but the actual normal use case of 2 peers which are<br>
already part of the ADVPN.<br>
<br>
BTW, perhaps we should add &quot;ADVPN Peer&quot; to the terminology and sa=
y it<br>
is any member (gateway, endpoint, hub or spoke) of the ADVPN and use<br>
&quot;other ADVPN peers&quot; above instead of &quot;other members of the A=
DVPN&quot;.<br>
<br>
Or see if there is any other uses for peer than exactly that, and then<br>
define &quot;Peer&quot; to be same as ADVPN Peer...<br>
<br>
----------------------------------------------------------------------<br>
<br>
&gt; =A0 4. =A0In the full mesh and dynamic full mesh topology, Spokes MUST=
<br>
&gt; =A0 allow for direct communication with other spoke gateways and<br>
&gt; =A0 endpoints. =A0In the star topology mode, direct communication betw=
een<br>
&gt; =A0 spokes MUST be disallowed.<br>
<br>
I have question here, why are we defining things for strict star<br>
topology mode, as the 2.2 says star topology is not good, and we need<br>
to have spoke to spoke communications. So 2.2 does NOT justify the<br>
last sentence in this requirement that forbids spoke to spoke<br>
communications for star topology mode. What is the justification for<br>
it?<br>
<br>
If we are not defining things for star topology we should not put any<br>
restrictions to it either. In my March email I pointed out that star<br>
topology is sometimes used for policy reasons, but that addition never<br>
made to the document. Those policy reasons might be one reason why<br>
some setups would still use star topology even with ADVPN, but I would<br>
expect it to be more like half star half mesh setup, where some<br>
traffic goes through star and some traffic bypasses it, so even there<br>
the last sentence does not work out.<br>
<br>
----------------------------------------------------------------------<br>
<br>
&gt; =A0 5. =A0One spoke MUST NOT be able to impersonate another spoke.<br>
<br>
Note, that this does not say anything about the Hubs or Endpoints. For<br>
Endpoints I think there should be same requirement, i.e. one Endpoint<br>
MUST NOT be able to impersonate another Endpoint or Gateway.<br>
<br>
Btw, I think it would also be unacceptable for Spoke to impersonate of<br>
being Hub, so the &quot;another Spoke&quot; should be changed to &quot;any =
other<br>
Gateway&quot;.<br>
<br>
Note, also that Spokes and Hubs quite often can impersonate Endpoints,<br>
as Endpoints might use weak form authentication (shared secrets), and<br>
the Spokes have access to them. Also when using temporary credentials<br>
given by Spokes/Hubs etc to the Endpoints for Point-to-Point<br>
communication between two Endpoints the entity who gave those out<br>
might be able to impersonate Endpoints (unless the temporary<br>
credentials is in form of certificate signed by some CA).<br>
<br>
When I pointed this out last time, I got answer that this document is<br>
trying to impose the &quot;typical enterprice connectivity scenario&quot; h=
ere,<br>
but I think we should think these requirements, not rely on some<br>
unspoken enterprice connectivity scenario. Especially as it do limit<br>
our options and will affect our threat model.<br>
<br>
So I would like to see expictly whether Hubs should be able to<br>
impersonate other Gateways / Endpoints and same for Endpoints.<br>
<br>
Also last time the comment was that with this &quot;typical enterprice<br>
connectivity scenario&quot; spoke to hub connections are static, but now we=
<br>
have requirement 7 which says that gateway might handoff sessions to<br>
another gateway. Gateway includes hubs, so hub can handoff spokes to<br>
another hub if he feels like. If this was not intended, then 7 should<br>
be changed so it says &quot;Spokes SHOULD allow for easy handoff of a<br>
session to another Spoke, ...&quot;.<br>
<br>
Also as this connectivity scenario is not documented anywhere, so if<br>
it is wanted, we should add text for it, i.e. most likely change the<br>
Hub and Spoke definitions to say that connections between Hubs and<br>
Spokes are mostly static.<br>
<br>
----------------------------------------------------------------------<br>
<br>
&gt; =A0 6. =A0Gateways SHOULD allow for seamless handoff of sessions in ca=
se<br>
&gt; =A0 endpoints are roaming, even if they cross policy boundaries. =A0Th=
is<br>
&gt; =A0 would mean the data traffic is minimally affected even as the hand=
off<br>
&gt; =A0 happens. =A0External factors like firewall, NAT box will not be<br=
>
&gt; =A0 considered part of this solution.<br>
&gt;<br>
&gt; =A0 This requirement is driven by use case 2.1. =A0Today&#39;s endpoin=
ts are<br>
&gt; =A0 mobile and transition often between different networks (from 4G to=
<br>
&gt; =A0 WiFi and among various WiFi networks).<br>
<br>
This is still unclear. Last time I proposed two options, and I was<br>
said that both of them might be correct, but neither one of them are<br>
what is really said above.<br>
<br>
As the 2.1 is Endpoint-to-Endpoint use case, I assume this is supposed<br>
to say that &quot;Spokes SHOULD allow for seamless handoff of sessions to<b=
r>
Point-to-Point communication mode between Endpoints that used to be<br>
connected to Spoke, in case ...&quot;.<br>
<br>
I.e. This does not cover the Endpoint moving from one Spoke to<br>
another, but two Endpoints talking through Spokes moving to the<br>
Point-to-Point mode, I think the Endpoint moving from one Spoke to<br>
another Spoke is covered by requirement 7.<br>
<br>
Right?<br>
<br>
----------------------------------------------------------------------<br>
<br>
&gt; =A0 7. =A0Gateways SHOULD allow for easy handoff of a session to anoth=
er<br>
&gt; =A0 gateway, to optimize latency, bandwidth, load balancing,<br>
&gt; =A0 availability, or other factors, based on policy.<br>
&gt;<br>
&gt; =A0 This requirement is driven by use case 2.3.<br>
<br>
And as 2.3 is Endpoint-to-Gateway, I assume this is the case where<br>
Spoke gives one Endpoint to another Spoke..., i.e. &quot;Spokes SHOULD<br>
allow for easy handoff of a Endpoint to another Spoke, ...&quot;.<br>
<br>
Am I correct here?<br>
<br>
And if we assume Hub&lt;-&gt;Spoke connection is mostly static we do not<br=
>
allow Hubs to handoff Spokes to another Hubs (if we do want to say<br>
that, then we can use the &quot;Gateways&quot; above).<br>
<br>
These 6 and 7 use term &quot;session&quot; which is not very well defined. =
There<br>
are multiple possible meanings for it, and I think it would be good<br>
idea to try to define which one of them is meant.<br>
<span class=3D"HOEnZb"><font color=3D"#888888">--<br>
<a href=3D"mailto:kivinen@iki.fi">kivinen@iki.fi</a><br>
_______________________________________________<br>
IPsec mailing list<br>
<a href=3D"mailto:IPsec@ietf.org">IPsec@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/ipsec" target=3D"_blank">h=
ttps://www.ietf.org/mailman/listinfo/ipsec</a><br>
</font></span></blockquote></div><br>

--20cf3074afa801bc0c04d630e0aa--
--20cf3074afa801bc1404d630e0ac
Content-Type: text/plain; charset=US-ASCII;
 name="draft-ietf-ipsecme-ad-vpn-problem-04.txt"
Content-Disposition: attachment; 
 filename="draft-ietf-ipsecme-ad-vpn-problem-04.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hdf5gv2z0

DQoNCg0KSVBzZWNNRSBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFMuIEhhbm5hDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmlwZXINCkludGVuZGVkIHN0YXR1czog
SW5mb3JtYXRpb25hbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYuIE1hbnJhbA0K
RXhwaXJlczogQXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEhQDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRmVicnVhcnkgMjEsIDIwMTMNCg0KDQogICAgICAgICBBdXRvIERpc2Nv
dmVyeSBWUE4gUHJvYmxlbSBTdGF0ZW1lbnQgYW5kIFJlcXVpcmVtZW50cw0KICAgICAgICAgICAg
ICAgICAgZHJhZnQtaWV0Zi1pcHNlY21lLWFkLXZwbi1wcm9ibGVtLTA0DQoNCkFic3RyYWN0DQoN
CiAgIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSBwcm9ibGVtIG9mIGVuYWJsaW5nIGEgbGFy
Z2UgbnVtYmVyIG9mDQogICBzeXN0ZW1zIHRvIGNvbW11bmljYXRlIGRpcmVjdGx5IHVzaW5nIElQ
c2VjIHRvIHByb3RlY3QgdGhlIHRyYWZmaWMNCiAgIGJldHdlZW4gdGhlbS4gIEl0IHRoZW4gZXhw
YW5kcyBvbiB0aGUgcmVxdWlyZW1lbnRzLCBmb3Igc3VjaCBhDQogICBzb2x1dGlvbi4NCg0KICAg
TWFudWFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHBvc3NpYmxlIHR1bm5lbHMgaXMgdG9vIGN1bWJl
cnNvbWUgaW4NCiAgIG1hbnkgc3VjaCBjYXNlcy4gIEluIG90aGVyIGNhc2VzIHRoZSBJUCBhZGRy
ZXNzIG9mIGVuZHBvaW50cyBjaGFuZ2UNCiAgIG9yIHRoZSBlbmRwb2ludHMgbWF5IGJlIGJlaGlu
ZCBOQVQgZ2F0ZXdheXMsIG1ha2luZyBzdGF0aWMNCiAgIGNvbmZpZ3VyYXRpb24gaW1wb3NzaWJs
ZS4gIFRoZSBBdXRvIERpc2NvdmVyeSBWUE4gc29sdXRpb24gd2lsbA0KICAgYWRkcmVzcyB0aGVz
ZSByZXF1aXJlbWVudHMuDQoNClN0YXR1cyBvZiB0aGlzIE1lbW8NCg0KICAgVGhpcyBJbnRlcm5l
dC1EcmFmdCBpcyBzdWJtaXR0ZWQgaW4gZnVsbCBjb25mb3JtYW5jZSB3aXRoIHRoZQ0KICAgcHJv
dmlzaW9ucyBvZiBCQ1AgNzggYW5kIEJDUCA3OS4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3
b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9y
Y2UgKElFVEYpLiAgTm90ZSB0aGF0IG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlDQog
ICB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1EcmFmdHMuICBUaGUgbGlzdCBvZiBjdXJy
ZW50IEludGVybmV0LQ0KICAgRHJhZnRzIGlzIGF0IGh0dHA6Ly9kYXRhdHJhY2tlci5pZXRmLm9y
Zy9kcmFmdHMvY3VycmVudC8uDQoNCiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1l
bnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRocw0KICAgYW5kIG1heSBiZSB1cGRh
dGVkLCByZXBsYWNlZCwgb3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkNCiAg
IHRpbWUuICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVm
ZXJlbmNlDQogICBtYXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBp
biBwcm9ncmVzcy4iDQoNCiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVn
dXN0IDI1LCAyMDEzLg0KDQpDb3B5cmlnaHQgTm90aWNlDQoNCiAgIENvcHlyaWdodCAoYykgMjAx
MyBJRVRGIFRydXN0IGFuZCB0aGUgcGVyc29ucyBpZGVudGlmaWVkIGFzIHRoZQ0KICAgZG9jdW1l
bnQgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQoNCiAgIFRoaXMgZG9jdW1lbnQgaXMg
c3ViamVjdCB0byBCQ1AgNzggYW5kIHRoZSBJRVRGIFRydXN0J3MgTGVnYWwNCiAgIFByb3Zpc2lv
bnMgUmVsYXRpbmcgdG8gSUVURiBEb2N1bWVudHMNCiAgIChodHRwOi8vdHJ1c3RlZS5pZXRmLm9y
Zy9saWNlbnNlLWluZm8pIGluIGVmZmVjdCBvbiB0aGUgZGF0ZSBvZg0KDQoNCg0KSGFubmEgJiBN
YW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAgIFtQ
YWdlIDFdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQTiAg
ICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9j
dW1lbnQuICBQbGVhc2UgcmV2aWV3IHRoZXNlIGRvY3VtZW50cw0KICAgY2FyZWZ1bGx5LCBhcyB0
aGV5IGRlc2NyaWJlIHlvdXIgcmlnaHRzIGFuZCByZXN0cmljdGlvbnMgd2l0aCByZXNwZWN0DQog
ICB0byB0aGlzIGRvY3VtZW50LiAgQ29kZSBDb21wb25lbnRzIGV4dHJhY3RlZCBmcm9tIHRoaXMg
ZG9jdW1lbnQgbXVzdA0KICAgaW5jbHVkZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlIHRleHQgYXMg
ZGVzY3JpYmVkIGluIFNlY3Rpb24gNC5lIG9mDQogICB0aGUgVHJ1c3QgTGVnYWwgUHJvdmlzaW9u
cyBhbmQgYXJlIHByb3ZpZGVkIHdpdGhvdXQgd2FycmFudHkgYXMNCiAgIGRlc2NyaWJlZCBpbiB0
aGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZS4NCg0KDQpUYWJsZSBvZiBDb250ZW50cw0KDQogICAx
LiAgSW50cm9kdWN0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDMNCiAgICAgMS4xLiAgVGVybWlub2xvZ3kgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMw0KICAgICAxLjIuICBDb252ZW50aW9ucyBVc2Vk
IGluIFRoaXMgRG9jdW1lbnQgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAyLiAgVXNl
IENhc2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDUNCiAgICAgMi4xLiAgRW5kcG9pbnQtdG8tRW5kcG9pbnQgQURWUE4gVXNlIENhc2UgIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgNQ0KICAgICAyLjIuICBHYXRld2F5LXRvLUdhdGV3YXkgQURW
UE4gVXNlIENhc2UgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA1DQogICAgIDIuMy4gIEVuZHBv
aW50LXRvLUdhdGV3YXkgQURWUE4gVXNlIENhc2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDYN
CiAgIDMuICBJbmFkZXF1YWN5IG9mIEV4aXN0aW5nIFNvbHV0aW9ucyAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgNw0KICAgICAzLjEuICBFeGhhdXN0aXZlIENvbmZpZ3VyYXRpb24gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA3DQogICAgIDMuMi4gIFN0YXIgVG9wb2xv
Z3kgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDcNCiAgICAg
My4zLiAgUHJvcHJpZXRhcnkgQXBwcm9hY2hlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgOA0KICAgNC4gIFJlcXVpcmVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA5DQogICAgIDQuMS4gIEdhdGV3YXkgYW5kIEVuZHBv
aW50IFJlcXVpcmVtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkNCiAgIDUuICBTZWN1
cml0eSBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAxMg0KICAgNi4gIElBTkEgQ29uc2lkZXJhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICA3LiAgQWNrbm93bGVkZ2VtZW50cyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgIDguICBOb3JtYXRpdmUg
UmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNQ0K
ICAgQXV0aG9ycycgQWRkcmVzc2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIDE2DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KSGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAg
ICAgICAgICAgICAgIFtQYWdlIDJdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8g
RGlzY292ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCjEuICBJbnRyb2R1
Y3Rpb24NCg0KICAgSVBzZWMgW1JGQzQzMDFdIGlzIHVzZWQgaW4gc2V2ZXJhbCBkaWZmZXJlbnQg
Y2FzZXMsIGluY2x1ZGluZyB0dW5uZWwtDQogICBtb2RlIHNpdGUtdG8tc2l0ZSBWUE5zIGFuZCBS
ZW1vdGUgQWNjZXNzIFZQTnMuICBIb3N0IHRvIGhvc3QNCiAgIGNvbW11bmljYXRpb24gZW1wbG95
aW5nIHRyYW5zcG9ydCBtb2RlIGFsc28gZXhpc3RzLCBidXQgaXMgZmFyIGxlc3MNCiAgIGNvbW1v
bmx5IGRlcGxveWVkLg0KDQogICBUaGUgc3ViamVjdCBvZiB0aGlzIGRvY3VtZW50IGlzIHRoZSBw
cm9ibGVtIHByZXNlbnRlZCBieSBsYXJnZSBzY2FsZQ0KICAgZGVwbG95bWVudHMgb2YgSVBzZWMg
YW5kIHRoZSByZXF1aXJlbWVudHMgb24gYSBzb2x1dGlvbiB0byBhZGRyZXNzDQogICB0aGUgcHJv
YmxlbS4gIFRoZXNlIG1heSBiZSBhIGxhcmdlIGNvbGxlY3Rpb24gb2YgVlBOIGdhdGV3YXlzDQog
ICBjb25uZWN0aW5nIHZhcmlvdXMgc2l0ZXMsIGEgbGFyZ2UgbnVtYmVyIG9mIHJlbW90ZSBlbmRw
b2ludHMNCiAgIGNvbm5lY3RpbmcgdG8gYSBudW1iZXIgb2YgZ2F0ZXdheXMgb3IgdG8gZWFjaCBv
dGhlciwgb3IgYSBtaXggb2YgdGhlDQogICB0d28uICBUaGUgZ2F0ZXdheXMgYW5kIGVuZHBvaW50
cyBtYXkgYmVsb25nIHRvIGEgc2luZ2xlDQogICBhZG1pbmlzdHJhdGl2ZSBkb21haW4gb3Igc2V2
ZXJhbCBkb21haW5zIHdpdGggYSB0cnVzdCByZWxhdGlvbnNoaXAuDQoNCiAgIFNlY3Rpb24gNC40
IG9mIFJGQyA0MzAxIGRlc2NyaWJlcyB0aGUgbWFqb3IgSVBzZWMgZGF0YWJhc2VzIG5lZWRlZA0K
ICAgZm9yIElQc2VjIHByb2Nlc3NpbmcuICBJdCByZXF1aXJlcyBhbiBleHRlbnNpdmUgY29uZmln
dXJhdGlvbiBmb3INCiAgIGVhY2ggdHVubmVsLCBzbyBtYW51YWxseSBjb25maWd1cmluZyBhIHN5
c3RlbSBvZiBtYW55IGdhdGV3YXlzIGFuZA0KICAgZW5kcG9pbnRzIGJlY29tZXMgaW5mZWFzaWJs
ZSBhbmQgaW5mbGV4aWJsZS4NCg0KICAgVGhlIGRpZmZpY3VsdHkgaXMgdGhhdCBhbGwgdGhlIGNv
bmZpZ3VyYXRpb24gbWVudGlvbmVkIGluIFJGQyA0MzAxIGlzDQogICBub3Qgc3VwZXJmbHVvdXMu
ICBJS0UgaW1wbGVtZW50YXRpb25zIG5lZWQgdG8ga25vdyB0aGUgaWRlbnRpdHkgYW5kDQogICBj
cmVkZW50aWFscyBvZiBhbGwgcG9zc2libGUgcGVlciBzeXN0ZW1zLCBhcyB3ZWxsIGFzIHRoZSBh
ZGRyZXNzZXMgb2YNCiAgIGhvc3RzIGFuZC9vciBuZXR3b3JrcyBiZWhpbmQgdGhlbS4gIEEgc2lt
cGxpZmllZCBtZWNoYW5pc20gZm9yDQogICBkeW5hbWljYWxseSBlc3RhYmxpc2hpbmcgcG9pbnQt
dG8tcG9pbnQgdHVubmVscyBpcyBuZWVkZWQuICBTZWN0aW9uIDINCiAgIGNvbnRhaW5zIHNldmVy
YWwgdXNlIGNhc2VzIHRoYXQgbW90aXZhdGUgdGhpcyBlZmZvcnQuDQoNCjEuMS4gIFRlcm1pbm9s
b2d5DQoNCiAgIEVuZHBvaW50IC0gQSBkZXZpY2UgdGhhdCBpbXBsZW1lbnRzIElQc2VjIGZvciBp
dHMgb3duIHRyYWZmaWMgYnV0DQogICBkb2VzIG5vdCBhY3QgYXMgYSBnYXRld2F5Lg0KDQogICBH
YXRld2F5IC0gQSBuZXR3b3JrIGRldmljZSB0aGF0IGltcGxlbWVudHMgSVBzZWMgdG8gcHJvdGVj
dCB0cmFmZmljDQogICBmbG93aW5nIHRocm91Z2ggdGhlIGRldmljZS4NCg0KICAgUG9pbnQtdG8t
UG9pbnQgLSBDb21tdW5pY2F0aW9uIGJldHdlZW4gdHdvIHBhcnRpZXMgd2l0aG91dCBhY3RpdmUN
CiAgIHBhcnRpY2lwYXRpb24gKGUuZy4gZW5jcnlwdGlvbiBvciBkZWNyeXB0aW9uKSBieSBhbnkg
b3RoZXIgcGFydGllcy4NCg0KICAgSHViIC0gVGhlIGNlbnRyYWwgcG9pbnQgaW4gYSBzdGFyIHRv
cG9sb2d5LyBkeW5hbWljIGZ1bGwgbWVzaA0KICAgdG9wb2xvZ3ksIG9yIG9uZSBvZiB0aGUgY2Vu
dHJhbCBwb2ludHMgaW4gdGhlIGZ1bGwgbWVzaCBzdHlsZSBWUE4sDQogICBpLmUuIGdhdGV3YXkg
d2hlcmUgbXVsdGlwbGUgb3RoZXIgaHVicyBvciBzcG9rZXMgY29ubmVjdCB0by4gIFRoZQ0KICAg
aHVicyB1c3VhbGx5IGZvcndhcmQgdHJhZmZpYyBjb21pbmcgZnJvbSBlbmNyeXB0ZWQgbGlua3Mg
dG8gb3RoZXINCiAgIGVuY3J5cHRlZCBsaW5rcywgaS5lLiB0aGVyZSBhcmUgbm8gZGV2aWNlcyBj
b25uZWN0ZWQgdG8gaXQgaW4gY2xlYXIuDQoNCiAgIFNwb2tlIC0gVGhlIGVkZ2UgZGV2aWNlcyBp
biBhIHN0YXIgdG9wb2xvZ3kvIGR5bmFtaWMgZnVsbCBtZXNoDQogICB0b3BvbG9neSwgb3IgZ2F0
ZXdheSB3aGljaCBmb3J3YXJkcyB0cmFmZmljIGZyb20gbXVsdGlwbGUgY2xlYXJ0ZXh0DQogICBk
ZXZpY2VzIHRvIG90aGVyIGh1YnMgb3Igc3Bva2VzLCBhbmQgc29tZSBvZiB0aG9zZSBvdGhlciBk
ZXZpY2VzIGFyZQ0KICAgY29ubmVjdGVkIHRvIGl0IGluIGNsZWFyIChpLmUuIGl0IGVuY3J5cHRz
IGRhdGEgY29taW5nIGZyb20gY2xlYXJ0ZXh0DQoNCg0KDQpIYW5uYSAmIE1hbnJhbCAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMTMgICAgICAgICAgICAgICAgW1BhZ2UgM10NCg0KSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgQXV0byBEaXNjb3ZlcnkgVlBOICAgICAgICAgICAgICBG
ZWJydWFyeSAyMDEzDQoNCg0KICAgZGV2aWNlcyBhbmQgZm9yd2FyZHMgaXQgdG8gdGhlIEFEVlBO
KS4NCg0KICAgQURWUE4gUGVlciAtIGFueSBtZW1iZXIgb2YgYW4gQURWUE4gaW5jbHVkaW5nIGdh
dGV3YXlzLCBlbmRwb2ludHMsDQogICBodWIgb3Igc3Bva2UuDQoNCiAgIFN0YXIgdG9wb2xvZ3kg
LSBUaGlzIGlzIHRoZSB0b3BvbG9neSB3aGVyZSB0aGVyZSBpcyBkaXJlY3QNCiAgIGNvbm5lY3Rp
dml0eSBvbmx5IGJldHdlZW4gdGhlIGh1YiBhbmQgc3Bva2UgYW5kIGNvbW11bmljYXRpb24gYmV0
d2Vlbg0KICAgdGhlIDIgc3Bva2VzIGhhcHBlbnMgdGhyb3VnaCB0aGUgaHViLg0KDQogICBGdWxs
IE1lc2ggdG9wb2xvZ3kgLSBUaGlzIGlzIHRoZSB0b3BvbG9neSB3aGVyZSB0aGVyZSBpcyBhIGRp
cmVjdA0KICAgY29ubmVjdGl2aXR5IGJldHdlZW4gZXZlcnkgU3Bva2UgdG8gZXZlcnkgb3RoZXIg
U3Bva2UgZGlyZWN0bHksDQogICB3aXRob3V0IHRoZSB0cmFmZmljIGJldHdlZW4gdGhlIHNwb2tl
cyBoYXZpbmcgdG8gYmUgcmVkaXJlY3RlZA0KICAgdGhyb3VnaCBhbiBpbnRlcm1lZGlhdGUgaHVi
IGRldmljZS4NCg0KICAgRHluYW1pYyBGdWxsIE1lc2ggdG9wb2xvZ3kgLSBUaGlzIGlzIHRoZSB0
b3BvbG9neSB3aGVyZSBkaXJlY3QNCiAgIGNvbm5lY3Rpb25zIGV4aXN0IGluIGEgaHViIGFuZCBz
cG9rZSBtYW5uZXIsIGJ1dCBkeW5hbWljIGNvbm5lY3Rpb25zDQogICBhcmUgY3JlYXRlZC8gcmVt
b3ZlZCBiZXR3ZWVuIHRoZSBzcG9rZXMgb24gYSBuZWVkIGJhc2lzLg0KDQogICBTZWN1cml0eSBB
c3NvY2lhdGlvbiAoU0EpIC0gRGVmaW5lZCBpbiBbUkZDNDMwMV0uDQoNCjEuMi4gIENvbnZlbnRp
b25zIFVzZWQgaW4gVGhpcyBEb2N1bWVudA0KDQogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1V
U1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwg
IlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhp
cw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbiBbUkZD
MjExOV0uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KSGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAg
ICAgICAgICAgIFtQYWdlIDRdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlz
Y292ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCjIuICBVc2UgQ2FzZXMN
Cg0KICAgVGhpcyBzZWN0aW9uIHByZXNlbnRzIHRoZSBrZXkgdXNlIGNhc2VzIGZvciBsYXJnZS1z
Y2FsZSBwb2ludC10by0NCiAgIHBvaW50IFZQTi4NCg0KICAgSW4gYWxsIG9mIHRoZXNlIHVzZSBj
YXNlcywgdGhlIHBhcnRpY2lwYW50cyAoZW5kcG9pbnRzIGFuZCBnYXRld2F5cykNCiAgIG1heSBi
ZSBmcm9tIGEgc2luZ2xlIG9yZ2FuaXphdGlvbiAoYWRtaW5pc3RyYXRpdmUgZG9tYWluKSBvciBm
cm9tDQogICBtdWx0aXBsZSBvcmdhbml6YXRpb25zIHdpdGggYW4gZXN0YWJsaXNoZWQgdHJ1c3Qg
cmVsYXRpb25zaGlwLiAgV2hlbg0KICAgbXVsdGlwbGUgb3JnYW5pemF0aW9ucyBhcmUgaW52b2x2
ZWQsIHByb2R1Y3RzIGZyb20gbXVsdGlwbGUgdmVuZG9ycw0KICAgYXJlIGVtcGxveWVkIHNvIG9w
ZW4gc3RhbmRhcmRzIGFyZSBuZWVkZWQgdG8gcHJvdmlkZQ0KICAgaW50ZXJvcGVyYWJpbGl0eS4g
IEVzdGFibGlzaGluZyBjb21tdW5pY2F0aW9ucyBiZXR3ZWVuIHBhcnRpY2lwYW50cw0KICAgd2l0
aCBubyBlc3RhYmxpc2hlZCB0cnVzdCByZWxhdGlvbnNoaXAgaXMgb3V0IG9mIHNjb3BlIGZvciB0
aGlzDQogICBlZmZvcnQuDQoNCjIuMS4gIEVuZHBvaW50LXRvLUVuZHBvaW50IEFEVlBOIFVzZSBD
YXNlDQoNCiAgIFR3byBlbmRwb2ludHMgd2lzaCB0byBjb21tdW5pY2F0ZSBzZWN1cmVseSB2aWEg
YSBwb2ludC10by1wb2ludA0KICAgU2VjdXJpdHkgQXNzb2NpYXRpb24gKFNBKS4NCg0KICAgVGhl
IG5lZWQgZm9yIHNlY3VyZSBlbmRwb2ludCB0byBlbmRwb2ludCBjb21tdW5pY2F0aW9ucyBpcyBv
ZnRlbg0KICAgZHJpdmVuIGJ5IGEgbmVlZCB0byBlbXBsb3kgaGlnaC1iYW5kd2lkdGgsIGxvdyBs
YXRlbmN5IGxvY2FsDQogICBjb25uZWN0aXZpdHkgaW5zdGVhZCBvZiB1c2luZyBzbG93LCBleHBl
bnNpdmUgbGlua3MgdG8gcmVtb3RlDQogICBnYXRld2F5cy4gIEZvciBleGFtcGxlLCB0d28gdXNl
cnMgaW4gY2xvc2UgcHJveGltaXR5IG1heSB3aXNoIHRvDQogICBwbGFjZSBhIGRpcmVjdCwgc2Vj
dXJlIHZpZGVvIG9yIHZvaWNlIGNhbGwgd2l0aG91dCBuZWVkaW5nIHRvIHNlbmQNCiAgIHRoZSBj
YWxsIHRocm91Z2ggcmVtb3RlIGdhdGV3YXlzLCB3aGljaCB3b3VsZCBhZGQgbGF0ZW5jeSB0byB0
aGUNCiAgIGNhbGwsIGNvbnN1bWUgcHJlY2lvdXMgcmVtb3RlIGJhbmR3aWR0aCwgYW5kIGluY3Jl
YXNlIG92ZXJhbGwgY29zdHMuDQogICBTdWNoIGEgdXNlIGNhc2UgYWxzbyBlbmFibGVzIGNvbm5l
Y3Rpdml0eSB3aGVuIGJvdGggYmVoaW5kIE5BVA0KICAgZ2F0ZXdheXMuICBTdWNoIGEgdXNlIGNh
c2Ugb3VnaHQgdG8gYWxsb3cgZm9yIHNlYW1sZXNzIGNvbm5lY3Rpdml0eQ0KICAgZXZlbiBhcyBl
bmRwb2ludHMgcm9hbSwgZXZlbiBpZiB0aGV5IGFyZSBtb3Zpbmcgb3V0IGZyb20gYmVoaW5kIGEg
TkFUDQogICBnYXRld2F5LCBmcm9tIGJlaGluZCBvbmUgTkFUIGdhdGV3YXkgdG8gYmVoaW5kIGFu
b3RoZXIsIG9yIGZyb20gYQ0KICAgc3RhbmRhbG9uZSBwb3NpdGlvbiB0byBiZWhpbmQgYSBOQVQg
Z2F0ZXdheS4NCg0KICAgSW4gYSBzdGFyIHRvcG9sb2d5IHdoZW4gdHdvIGVuZHBvaW50cyBjb21t
dW5pY2F0ZSwgdGhleSBuZWVkIGENCiAgIG1lY2hhbmlzbSBmb3IgYXV0aGVudGljYXRpb24sIHN1
Y2ggdGhhdCB0aGV5IGRvIG5vdCBleHBvc2UgdGhlbXNlbHZlcw0KICAgdG8gaW1wZXJzb25hdGlv
biBieSB0aGUgb3RoZXIgc3Bva2UgZW5kcG9pbnQuDQoNCjIuMi4gIEdhdGV3YXktdG8tR2F0ZXdh
eSBBRFZQTiBVc2UgQ2FzZQ0KDQogICBBIHR5cGljYWwgRW50ZXJwcmlzZSB0cmFmZmljIG1vZGVs
IGZvbGxvd3MgYSBzdGFyIHRvcG9sb2d5LCB3aXRoIHRoZQ0KICAgZ2F0ZXdheXMgY29ubmVjdGlu
ZyB0byBlYWNoIG90aGVyIHVzaW5nIElQc2VjIHR1bm5lbHMuDQoNCiAgIEhvd2V2ZXIgZm9yIHZv
aWNlIGFuZCBvdGhlciByaWNoIG1lZGlhIHRyYWZmaWMgdGhhdCByZXF1aXJlcyBhIGxvdCBvZg0K
ICAgYmFuZHdpZHRoIG9yIGlzIHBlcmZvcm1hbmNlIHNlbnNpdGl2ZSwgdGhlIHRyYWZmaWMgdHJv
bWJvbmluZyB0byB0aGUNCiAgIGh1YiBjYW4gY3JlYXRlIHRyYWZmaWMgYm90dGxlbmVja3Mgb24g
dGhlIGh1YiBhbmQgY2FuIGxlYWQgdG8gYW4NCiAgIGluY3JlYXNlIGluIGNvc3QuICBBIGZ1bGx5
IG1lc2hlZCBzb2x1dGlvbiB3b3VsZCBtYWtlIGJlc3QgdXNlIG9mIHRoZQ0KICAgYXZhaWxhYmxl
IG5ldHdvcmsgY2FwYWNpdHkgYW5kIHBlcmZvcm1hbmNlIGJ1dCB0aGUgZGVwbG95bWVudCBvZiBh
DQogICBmdWxseSBtZXNoZWQgc29sdXRpb24gaW52b2x2ZXMgY29uc2lkZXJhYmxlIGNvbmZpZ3Vy
YXRpb24sIGVzcGVjaWFsbHkNCiAgIHdoZW4gYSBsYXJnZSBudW1iZXIgb2Ygbm9kZXMgYXJlIGlu
dm9sdmVkLiAgSXQgaXMgZm9yIHRoaXMgcHVycG9zZQ0KDQoNCg0KSGFubmEgJiBNYW5yYWwgICAg
ICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAgIFtQYWdlIDVdDQoN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQTiAgICAgICAgICAg
ICAgRmVicnVhcnkgMjAxMw0KDQoNCiAgIHNwb2tlLXRvLXNwb2tlIHR1bm5lbHMgYXJlIGR5bmFt
aWNhbGx5IGNyZWF0ZWQgYW5kIHRvcm4tZG93bi4gIEZvcg0KICAgdGhlIHJlYXNvbnMgb2YgY29z
dCBhbmQgbWFudWFsIGVycm9yIHJlZHVjdGlvbiwgaXQgaXMgZGVzaXJlZCB0aGF0DQogICB0aGVy
ZSBiZSBtaW5pbWFsIGNvbmZpZ3VyYXRpb24gb24gZWFjaCBnYXRld2F5Lg0KDQogICBUaGUgc29s
dXRpb24gb3VnaHQgdG8gd29yayBpbiBjYXNlcyB3aGVyZSB0aGUgZW5kcG9pbnRzIGFyZSBpbg0K
ICAgZGlmZmVyZW50IGFkbWluaXN0cmF0aXZlIGRvbWFpbnMsIGFsYmVpdCwgb25lcyB0aGF0IGhh
dmUgYW4gZXhpc3RpbmcNCiAgIHRydXN0IHJlbGF0aW9uc2hpcCAoZm9yIGV4YW1wbGUgdHdvIG9y
Z2FuaXNhdGlvbnMgd2hvIGFyZQ0KICAgY29sbGFib3JhdGluZyBvbiBhIHByb2plY3QsIHRoZXkg
bWF5IHdpc2ggdG8gam9pbiB0aGVpciBuZXR3b3JrcywNCiAgIHdoaWxzdCByZXRhaW5pbmcgaW5k
ZXBlbmRlbnQgY29udHJvbCBvdmVyIGNvbmZpZ3VyYXRpb24pLiAgSXQgaXMNCiAgIGhpZ2hseSBk
ZXNpcmFibGUgdGhhdCB0aGUgc29sdXRpb24gd29ya3MgZm9yIHRoZSBzdGFyLCBmdWxsIG1lc2gg
YXMNCiAgIHdlbGwgYXMgZHluYW1pYyBmdWxsIG1lc2ggdG9wb2xvZ3kuDQoNCiAgIFRoZSBzb2x1
dGlvbiBvdWdodCB0byBhbHNvIGFkZHJlc3MgdGhlIGNhc2Ugd2hlcmUgZ2F0ZXdheXMgdXNlDQog
ICBkeW5hbWljIElQIGFkZHJlc3Nlcy4NCg0KICAgQWRkaXRpb25hbGx5LCB0aGUgcm91dGluZyBp
bXBsaWNhdGlvbnMgb2YgZ2F0ZXdheS10by1nYXRld2F5DQogICBjb21tdW5pY2F0aW9uIG5lZWQg
dG8gYmUgYWRkcmVzc2VkLiAgSW4gdGhlIHNpbXBsZSBjYXNlLCBzZWxlY3RvcnMNCiAgIHByb3Zp
ZGUgc3VmZmljaWVudCBpbmZvcm1hdGlvbiBmb3IgYSBnYXRld2F5IHRvIGZvcndhcmQgdHJhZmZp
Yw0KICAgYXBwcm9wcmlhdGVseS4gIEluIG90aGVyIGNhc2VzLCBhZGRpdGlvbmFsIHR1bm5lbGlu
ZyAoZS5nLiwgR2VuZXJpYw0KICAgUm91dGluZyBFbmNhcHN1bGF0aW9uIC0gR1JFKSBhbmQgcm91
dGluZyAoZS5nLiwgT3BlbiBTaG9ydGVzdCBQYXRoDQogICBGaXJzdCAtIE9TUEYpIHByb3RvY29s
cyBhcmUgcnVuIG92ZXIgSVBzZWMgdHVubmVscywgYW5kIHRoZQ0KICAgY29uZmlndXJhdGlvbiBp
bXBhY3Qgb24gdGhvc2UgcHJvdG9jb2xzIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQuDQogICBUaGVy
ZSBpcyBhbHNvIHRoZSBjYXNlIHdoZW4gTGF5ZXItMyBWaXJ0dWFsIFByaXZhdGUgTmV0d29ya3Mg
KEwzVlBOcykNCiAgIG9wZXJhdGUgb3ZlciBJUHNlYyBUdW5uZWxzLg0KDQogICBXaGVuIHR3byBn
YXRld2F5cyBjb21tdW5pY2F0ZSwgdGhleSBuZWVkIHRvIHVzZSBhIG1lY2hhbmlzbSBmb3INCiAg
IGF1dGhlbnRpY2F0aW9uLCBzdWNoIHRoYXQgdGhleSBkbyBub3QgZXhwb3NlIHRoZW1zZWx2ZXMg
dG8gdGhlIHJpc2sNCiAgIG9mIGltcGVyc29uYXRpb24gYnkgdGhlIG90aGVyIGVudGl0aWVzLg0K
DQoyLjMuICBFbmRwb2ludC10by1HYXRld2F5IEFEVlBOIFVzZSBDYXNlDQoNCiAgIEFuIGVuZHBv
aW50IG91Z2h0IHRvIGJlIGFibGUgdG8gdXNlIHRoZSBtb3N0IGVmZmljaWVudCBnYXRld2F5IGFz
IGl0DQogICByb2FtcyBpbiB0aGUgaW50ZXJuZXQuDQoNCiAgIEEgbW9iaWxlIHVzZXIgcm9hbWlu
ZyBvbiB0aGUgSW50ZXJuZXQgbWF5IGNvbm5lY3QgdG8gYSBnYXRld2F5LCB3aGljaA0KICAgYmVj
YXVzZSBvZiByb2FtaW5nIGlzIG5vIGxvbmdlciB0aGUgbW9zdCBlZmZpY2llbnQgZ2F0ZXdheSB0
byB1c2UNCiAgIChyZWFzb25zIGNvdWxkIGJlIGNvc3QvIGVmZmljaWVuY3kvIGxhdGVuY3kgb3Ig
c29tZSBvdGhlciBmYWN0b3IpLg0KICAgVGhlIG1vYmlsZSB1c2VyIG91Z2h0IHRvIGJlIGFibGUg
dG8gZGlzY292ZXIgYW5kIHRoZW4gY29ubmVjdCB0byB0aGUNCiAgIGN1cnJlbnQgbW9zdCBlZmZp
Y2llbnQgZ2F0ZXdheSB3aXRob3V0IGhhdmluZyB0byByZWluaXRpYXRlIHRoZQ0KICAgY29ubmVj
dGlvbi4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpIYW5uYSAmIE1hbnJhbCAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgMjUsIDIwMTMgICAgICAgICAgICAgICAgW1BhZ2UgNl0NCg0KSW50ZXJuZXQt
RHJhZnQgICAgICAgICAgICAgQXV0byBEaXNjb3ZlcnkgVlBOICAgICAgICAgICAgICBGZWJydWFy
eSAyMDEzDQoNCg0KMy4gIEluYWRlcXVhY3kgb2YgRXhpc3RpbmcgU29sdXRpb25zDQoNCiAgIFNl
dmVyYWwgc29sdXRpb25zIGV4aXN0IGZvciB0aGUgcHJvYmxlbXMgZGVzY3JpYmVkIGFib3ZlLiAg
SG93ZXZlciwNCiAgIG5vbmUgb2YgdGhlc2Ugc29sdXRpb25zIGlzIGFkZXF1YXRlLCBhcyBkZXNj
cmliZWQgaGVyZS4NCg0KMy4xLiAgRXhoYXVzdGl2ZSBDb25maWd1cmF0aW9uDQoNCiAgIE9uZSBz
aW1wbGUgc29sdXRpb24gaXMgdG8gY29uZmlndXJlIGFsbCBnYXRld2F5cyBhbmQgZW5kcG9pbnRz
IGluDQogICBhZHZhbmNlIHdpdGggYWxsIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZGV0ZXJt
aW5lIHdoaWNoIGdhdGV3YXkgb3INCiAgIGVuZHBvaW50IGlzIG9wdGltYWwgYW5kIHRvIGVzdGFi
bGlzaCBhbiBTQSB3aXRoIHRoYXQgZ2F0ZXdheSBvcg0KICAgZW5kcG9pbnQuICBIb3dldmVyLCB0
aGlzIHNvbHV0aW9uIGRvZXMgbm90IHNjYWxlIGluIGEgbGFyZ2UgbmV0d29yaw0KICAgd2l0aCBo
dW5kcmVkcyBvZiB0aG91c2FuZHMgb2YgZ2F0ZXdheXMgYW5kIGVuZHBvaW50cywgZXNwZWNpYWxs
eSB3aGVuDQogICBtdWx0aXBsZSBhZG1pbmlzdHJhdGl2ZSBkb21haW5zIGFyZSBpbnZvbHZlZCBh
bmQgdGhpbmdzIGFyZSByYXBpZGx5DQogICBjaGFuZ2luZyAoZS5nLiBtb2JpbGUgZW5kcG9pbnRz
KS4gIFN1Y2ggYSBzb2x1dGlvbiBpcyBhbHNvIGxpbWl0ZWQgYnkNCiAgIHRoZSBzbWFsbGVzdCBl
bmRwb2ludC8gZ2F0ZXdheSwgYXMgdGhlIHNhbWUgZXhoYXVzdGl2ZSBjb25maWd1cmF0aW9uDQog
ICBpcyB0byBiZSBhcHBsaWVkIG9uIGFsbCBlbmRwb2ludHMvIGdhdGV3YXlzLiAgQSBtb3JlIGR5
bmFtaWMsIHNlY3VyZQ0KICAgYW5kIHNjYWxhYmxlIHN5c3RlbSBmb3IgZXN0YWJsaXNoaW5nIFNB
cyBiZXR3ZWVuIGdhdGV3YXlzIGlzIG5lZWRlZC4NCg0KMy4yLiAgU3RhciBUb3BvbG9neQ0KDQog
ICBUaGUgbW9zdCBjb21tb24gd2F5IHRvIGFkZHJlc3MgYSBwYXJ0IG9mIHRoaXMgdGhpcyBwcm9i
bGVtIHRvZGF5IGlzDQogICB0byB1c2Ugd2hhdCBoYXMgYmVlbiB0ZXJtZWQgYSAic3RhciB0b3Bv
bG9neSIuICBJbiB0aGlzIGNhc2Ugb25lIG9yIGENCiAgIGZldyBnYXRld2F5cyBhcmUgZGVmaW5l
ZCBhcyAiaHViIGdhdGV3YXlzIiwgd2hpbGUgdGhlIHJlc3Qgb2YgdGhlDQogICBzeXN0ZW1zICh3
aGV0aGVyIGVuZHBvaW50cyBvciBnYXRld2F5cykgYXJlIGRlZmluZWQgYXMgInNwb2tlcyIuICBU
aGUNCiAgIHNwb2tlcyBuZXZlciBjb25uZWN0IHRvIG90aGVyIHNwb2tlcy4gIFRoZXkgb25seSBv
cGVuIHR1bm5lbHMgd2l0aA0KICAgdGhlIGh1YiBnYXRld2F5cy4gIEFsc28gZm9yIGEgbGFyZ2Ug
bnVtYmVyIG9mIGdhdGV3YXlzIGluIG9uZQ0KICAgYWRtaW5pc3RyYXRpdmUgZG9tYWluLCBvbmUg
Z2F0ZXdheSBtYXkgYmUgZGVmaW5lZCBhcyB0aGUgaHViLCBhbmQgdGhlDQogICByZXN0IG9mIHRo
ZSBnYXRld2F5cyBhbmQgcmVtb3RlIGFjY2VzcyBjbGllbnRzIGNvbm5lY3Qgb25seSB0byB0aGF0
DQogICBnYXRld2F5Lg0KDQogICBUaGlzIHNvbHV0aW9uIGhvd2V2ZXIgaXMgY29tcGxpY2F0ZWQg
YnkgdGhlIGNhc2Ugd2hlbiB0aGUgc3Bva2VzIHVzZQ0KICAgZHluYW1pYyBJUCBhZGRyZXNzZXMg
YW5kIEROUyB3aXRoIGR5bmFtaWMgdXBkYXRlcyBuZWVkcyB0byBiZSB1c2VkLg0KICAgSXQgaXMg
YWxzbyBkZXNpcmVkIHRoYXQgdGhlcmUgaXMgbWluaW1hbCB0byBubyBjb25maWd1cmF0aW9uIG9u
IHRoZQ0KICAgaHViIGFzIHRoZSBudW1iZXIgb2Ygc3Bva2VzIGluY3JlYXNlcyBhbmQgbmV3IHNw
b2tlcyBhcmUgYWRkZWQgYW5kDQogICBkZWxldGVkIHJhbmRvbWx5Lg0KDQogICBBbm90aGVyIHBy
b2JsZW0gd2l0aCB0aGUgc3RhciB0b3BvbG9neSBpcyB0aGF0IGl0IGNyZWF0ZXMgYSBoaWdoIGxv
YWQNCiAgIG9uIHRoZSBodWIgZ2F0ZXdheXMgYXMgd2VsbCBhcyBvbiB0aGUgY29ubmVjdGlvbiBi
ZXR3ZWVuIHRoZSBzcG9rZXMNCiAgIGFuZCB0aGUgaHViLiAgVGhpcyBsb2FkIGlzIGJvdGggaW4g
cHJvY2Vzc2luZyBwb3dlciBhbmQgaW4gbmV0d29yaw0KICAgYmFuZHdpZHRoLiAgQSBzaW5nbGUg
cGFja2V0IGluIHRoZSBodWItYW5kLXNwb2tlIHNjZW5hcmlvIGNhbiBiZQ0KICAgZW5jcnlwdGVk
IGFuZCBkZWNyeXB0ZWQgbXVsdGlwbGUgdGltZXMuICBJdCB3b3VsZCBiZSBtdWNoIHByZWZlcmFi
bGUNCiAgIGlmIHRoZXNlIGdhdGV3YXlzIGFuZCBjbGllbnRzIGNvdWxkIGluaXRpYXRlIHR1bm5l
bHMgYmV0d2VlbiB0aGVtLA0KICAgYnlwYXNzaW5nIHRoZSBodWIgZ2F0ZXdheXMuICBBZGRpdGlv
bmFsbHksIHRoZSBwYXRoIGJhbmR3aWR0aCB0bw0KICAgdGhlc2UgaHViIGdhdGV3YXlzIG1heSBi
ZSBsb3dlciB0aGFuIHRoYXQgb2YgdGhlIHBhdGggYmV0d2VlbiB0aGUNCiAgIHNwb2tlcy4gIEZv
ciBleGFtcGxlLCB0d28gcmVtb3RlIGFjY2VzcyB1c2VycyBtYXkgYmUgaW4gdGhlIHNhbWUNCiAg
IGJ1aWxkaW5nIHdpdGggaGlnaC1zcGVlZCB3aWZpIChmb3IgZXhhbXBsZSwgYXQgYW4gSUVURiBt
ZWV0aW5nKS4NCiAgIENoYW5uZWxpbmcgdGhlaXIgY29udmVyc2F0aW9uIHRocm91Z2ggdGhlIGh1
YiBnYXRld2F5cyBvZiB0aGVpcg0KICAgcmVzcGVjdGl2ZSBlbXBsb3llcnMgc2VlbXMgZXh0cmVt
ZWx5IHdhc3RlZnVsLCBhcyB3ZWxsIGFzIGhhdmluZw0KDQoNCg0KSGFubmEgJiBNYW5yYWwgICAg
ICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAgIFtQYWdlIDddDQoN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQTiAgICAgICAgICAg
ICAgRmVicnVhcnkgMjAxMw0KDQoNCiAgIGxvd2VyIGJhbmR3aWR0aC4NCg0KICAgVGhlIGNoYWxs
ZW5nZSBpcyB0byBidWlsZCBhIGxhcmdlIHNjYWxlLCBJUHNlYyBwcm90ZWN0ZWQgbmV0d29ya3MN
CiAgIHRoYXQgY2FuIGR5bmFtaWNhbGx5IGNoYW5nZSB3aXRoIG1pbmltdW0gYWRtaW5pc3RyYXRp
dmUgb3ZlcmhlYWQuDQoNCjMuMy4gIFByb3ByaWV0YXJ5IEFwcHJvYWNoZXMNCg0KICAgU2V2ZXJh
bCB2ZW5kb3JzIG9mZmVyIHByb3ByaWV0YXJ5IHNvbHV0aW9ucyB0byB0aGVzZSBwcm9ibGVtcy4N
CiAgIEhvd2V2ZXIsIHRoZXNlIHNvbHV0aW9ucyBvZmZlciBubyBpbnRlcm9wZXJhYmlsaXR5IGJl
dHdlZW4gZXF1aXBtZW50DQogICBmcm9tIG9uZSB2ZW5kb3IgYW5kIGFub3RoZXIuICBUaGlzIG1l
YW5zIHRoYXQgdGhleSBhcmUgZ2VuZXJhbGx5DQogICByZXN0cmljdGVkIHRvIHVzZSB3aXRoaW4g
b25lIG9yZ2FuaXphdGlvbiwgYW5kIGl0IGlzIGhhcmRlciB0byBtb3ZlDQogICBvZmYgc3VjaCBz
b2x1dGlvbnMgYXMgdGhlIGZlYXR1cmVzIGFyZSBub3Qgc3RhbmRhcmRpemVkLiAgQmVzaWRlcw0K
ICAgbXVsdGlwbGUgb3JnYW5pemF0aW9ucyBjYW5ub3QgYmUgZXhwZWN0ZWQgdG8gYWxsIGNob29z
ZSB0aGUgc2FtZQ0KICAgZXF1aXBtZW50IHZlbmRvci4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KSGFubmEg
JiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAg
IFtQYWdlIDhdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQ
TiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCjQuICBSZXF1aXJlbWVudHMNCg0KICAg
VGhpcyBzZWN0aW9uIGRlZmluZXMgdGhlIHJlcXVpcmVtZW50cywgb24gd2hpY2ggdGhlIHNvbHV0
aW9uIHdpbGwgYmUNCiAgIGJhc2VkLg0KDQo0LjEuICBHYXRld2F5IGFuZCBFbmRwb2ludCBSZXF1
aXJlbWVudHMNCg0KICAgMS4gIEZvciBhbnkgbmV0d29yayB0b3BvbG9neSAoc3RhciwgZnVsbCBt
ZXNoIGFuZCBkeW5hbWljIGZ1bGwgbWVzaCkNCiAgIGdhdGV3YXlzIGFuZCBlbmRwb2ludHMgU0hP
VUxEIG1pbmltaXplIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyB3aGVuIGENCiAgIG5ldyBnYXRld2F5
IG9yIGVuZHBvaW50IGlzIGFkZGVkLCByZW1vdmVkIG9yIGNoYW5nZWQuICBBZGRpbmcgb3INCiAg
IHJlbW92aW5nIGEgc3Bva2UgaW4gdGhlIHRvcG9sb2d5IE1VU1QgTk9UIHJlcXVpcmUgY29uZmln
dXJhdGlvbg0KICAgY2hhbmdlcyB0byB0aGUgaHVicyBvdGhlciB0aGFuIHdoZXJlIHRoZSBzcG9r
ZSB3YXMgY29ubmVjdGVkIHRvIGFuZA0KICAgU0hPVUxEIE5PVCByZXF1aXJlIGNvbmZpZ3VyYXRp
b24gY2hhbmdlcyB0byB0aGUgaHViIHRoZSBzcG9rZSB3YXMNCiAgIGNvbm5lY3RlZCB0by4gIFRo
ZSBjaGFuZ2VzIGFsc28gTVVTVCBOT1QgcmVxdWlyZSBjb25maWd1cmF0aW9uDQogICBjaGFuZ2Vz
IGluIG90aGVyIHNwb2tlcy4NCg0KICAgU3BlY2lmaWNhbGx5LCB3aGVuIGV2YWx1YXRpbmcgcG90
ZW50aWFsIHByb3Bvc2Fscywgd2Ugd2lsbCBjb21wYXJlDQogICB0aGVtIGJ5IGxvb2tpbmcgYXQg
aG93IG1hbnkgZW5kcG9pbnRzIG9yIGdhdGV3YXlzIG11c3QgYmUNCiAgIHJlY29uZmlndXJlZCB3
aGVuIGEgbmV3IGdhdGV3YXkgb3IgZW5kcG9pbnQgaXMgYWRkZWQsIHJlbW92ZWQsIG9yDQogICBj
aGFuZ2VkIGFuZCBob3cgc3Vic3RhbnRpYWwgdGhpcyByZWNvbmZpZ3VyYXRpb24gaXMsIGJlc2lk
ZXMgdGhlDQogICBhbW91bnQgb2Ygc3RhdGljIGNvbmZpZ3VyYXRpb24gcmVxdWlyZWQuDQoNCiAg
IFRoaXMgcmVxdWlyZW1lbnQgaXMgZHJpdmVuIGJ5IHVzZSBjYXNlcyAyLjEgYW5kIDIuMiBhbmQg
YnkgdGhlDQogICBzY2FsaW5nIGxpbWl0YXRpb25zIHBvaW50ZWQgb3V0IGluIHNlY3Rpb24gMy4x
Lg0KDQogICAyLiAgQURWUE4gcGVlcnMgTVVTVCBhbGxvdyBJUHNlYyBUdW5uZWxzIHRvIGJlIHNl
dHVwIHdpdGggb3RoZXINCiAgIG1lbWJlcnMgb2YgdGhlIEFEVlBOIHdpdGhvdXQgYW55IGNvbmZp
Z3VyYXRpb24gY2hhbmdlcywgZXZlbiB3aGVuDQogICBwZWVyIGFkZHJlc3NlcyBnZXQgdXBkYXRl
ZCBldmVyeSB0aW1lIHRoZSBkZXZpY2UgY29tZXMgdXAuICBUaGlzDQogICBpbXBsaWVzIHRoYXQg
U1BEIGVudHJpZXMgb3Igb3RoZXIgY29uZmlndXJhdGlvbiBiYXNlZCBvbiBwZWVyIElQDQogICBh
ZGRyZXNzIHdpbGwgbmVlZCB0byBiZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQsIGF2b2lkZWQsIG9y
IGhhbmRsZWQgaW4NCiAgIHNvbWUgbWFubmVyIHRvIGF2b2lkIGEgbmVlZCB0byBtYW51YWxseSB1
cGRhdGUgcG9saWN5IHdoZW5ldmVyIGFuDQogICBhZGRyZXNzIGNoYW5nZXMuDQoNCiAgIDMuICBJ
biBtYW55IGNhc2VzIGFkZGl0aW9uYWwgdHVubmVsaW5nIHByb3RvY29scyAoZS5nLiAgR1JFKSBv
cg0KICAgUm91dGluZyBwcm90b2NvbHMgKGUuZy4gIE9TUEYpIGFyZSBydW4gb3ZlciB0aGUgSVBz
ZWMgdHVubmVscy4NCiAgIEdhdGV3YXlzIE1VU1QgYWxsb3cgZm9yIHRoZSBvcGVyYXRpb24gb2Yg
dHVubmVsaW5nIGFuZCBSb3V0aW5nDQogICBwcm90b2NvbHMgb3BlcmF0aW5nIG92ZXIgc3Bva2Ut
dG8tc3Bva2UgSVBzZWMgVHVubmVscyB3aXRoIG1pbmltYWwgb3INCiAgIG5vLCBjb25maWd1cmF0
aW9uIGltcGFjdC4gIFRoZSBBRFZQTiBzb2x1dGlvbiBTSE9VTEQgTk9UIGluY3JlYXNlIHRoZQ0K
ICAgYW1vdW50IG9mIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGNvbmZpZ3VyZSBwcm90b2NvbHMg
cnVubmluZyBvdmVyDQogICBJUHNlYyB0dW5uZWxzLg0KDQogICA0LiAgSW4gdGhlIGZ1bGwgbWVz
aCBhbmQgZHluYW1pYyBmdWxsIG1lc2ggdG9wb2xvZ3ksIFNwb2tlcyBNVVNUDQogICBhbGxvdyBm
b3IgZGlyZWN0IGNvbW11bmljYXRpb24gd2l0aCBvdGhlciBzcG9rZSBnYXRld2F5cyBhbmQNCiAg
IGVuZHBvaW50cy4gIEluIHRoZSBzdGFyIHRvcG9sb2d5IG1vZGUsIGRpcmVjdCBjb21tdW5pY2F0
aW9uIGJldHdlZW4NCiAgIHNwb2tlcyBNVVNUIGJlIGRpc2FsbG93ZWQuDQoNCiAgIFRoaXMgcmVx
dWlyZW1lbnQgaXMgZHJpdmVuIGJ5IHVzZSBjYXNlcyAyLjEgYW5kIDIuMiBhbmQgYnkgdGhlDQog
ICBsaW1pdGF0aW9ucyBvZiBhIHN0YXIgdG9wb2xvZ3kgcG9pbnRlZCBvdXQgaW4gc2VjdGlvbiAz
LjIuDQoNCg0KDQpIYW5uYSAmIE1hbnJhbCAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIw
MTMgICAgICAgICAgICAgICAgW1BhZ2UgOV0NCg0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
QXV0byBEaXNjb3ZlcnkgVlBOICAgICAgICAgICAgICBGZWJydWFyeSAyMDEzDQoNCg0KICAgNS4g
IE9uZSBBRFZQTiBwZWVyIE1VU1QgTk9UIGJlIGFibGUgdG8gaW1wZXJzb25hdGUgYW5vdGhlciBB
RFZQTg0KICAgcGVlci4NCg0KICAgVGhpcyByZXF1aXJlbWVudCBpcyBkcml2ZW4gYnkgdXNlIGNh
c2UgMi4xLiAgQURWUE4gcGVlcnMgKGVzcGVjaWFsbHkNCiAgIHNwb2tlcykgYmVjb21lIGNvbXBy
b21pc2VkIGZhaXJseSBvZnRlbi4gIFRoZSBjb21wcm9taXNlIG9mIG9uZSBBRFZQTg0KICAgcGVl
ciBTSE9VTEQgTk9UIGFmZmVjdCB0aGUgc2VjdXJpdHkgb2Ygb3RoZXIgcGVlcnMuDQoNCiAgIDYu
ICBHYXRld2F5cyBTSE9VTEQgYWxsb3cgZm9yIHNlYW1sZXNzIGhhbmRvZmYgb2Ygc2Vzc2lvbnMg
aW4gY2FzZQ0KICAgZW5kcG9pbnRzIGFyZSByb2FtaW5nLCBldmVuIGlmIHRoZXkgY3Jvc3MgcG9s
aWN5IGJvdW5kYXJpZXMuICBUaGlzDQogICB3b3VsZCBtZWFuIHRoZSBkYXRhIHRyYWZmaWMgaXMg
bWluaW1hbGx5IGFmZmVjdGVkIGV2ZW4gYXMgdGhlIGhhbmRvZmYNCiAgIGhhcHBlbnMuICBFeHRl
cm5hbCBmYWN0b3JzIGxpa2UgZmlyZXdhbGwsIE5BVCBib3hlcyB3aWxsIG5vdCBiZQ0KICAgY29u
c2lkZXJlZCBwYXJ0IG9mIHRoaXMgc29sdXRpb24uDQoNCiAgIFRoaXMgcmVxdWlyZW1lbnQgaXMg
ZHJpdmVuIGJ5IHVzZSBjYXNlIDIuMS4gIFRvZGF5J3MgZW5kcG9pbnRzIGFyZQ0KICAgbW9iaWxl
IGFuZCB0cmFuc2l0aW9uIG9mdGVuIGJldHdlZW4gZGlmZmVyZW50IG5ldHdvcmtzIChmcm9tIDRH
IHRvDQogICBXaUZpIGFuZCBhbW9uZyB2YXJpb3VzIFdpRmkgbmV0d29ya3MpLg0KDQogICA3LiAg
R2F0ZXdheXMgU0hPVUxEIGFsbG93IGZvciBlYXN5IGhhbmRvZmYgb2YgYSBzZXNzaW9uIHRvIGFu
b3RoZXINCiAgIGdhdGV3YXksIHRvIG9wdGltaXplIGxhdGVuY3ksIGJhbmR3aWR0aCwgbG9hZCBi
YWxhbmNpbmcsDQogICBhdmFpbGFiaWxpdHksIG9yIG90aGVyIGZhY3RvcnMsIGJhc2VkIG9uIHBv
bGljeS4NCg0KICAgVGhpcyByZXF1aXJlbWVudCBpcyBkcml2ZW4gYnkgdXNlIGNhc2UgMi4zLg0K
DQogICA4LiAgR2F0ZXdheXMgYW5kIGVuZHBvaW50cyBNVVNUIGhhdmUgdGhlIGNhcGFiaWxpdHkg
dG8gcGFydGljaXBhdGUgaW4NCiAgIGFuIEFEVlBOIGV2ZW4gd2hlbiB0aGV5IGFyZSBsb2NhdGVk
IGJlaGluZCBOQVQgYm94ZXMuICBIb3dldmVyLCBpbg0KICAgc29tZSBjYXNlcyB0aGV5IG1heSBi
ZSBkZXBsb3llZCBpbiBzdWNoIGEgd2F5IHRoYXQgdGhleSB3aWxsIG5vdCBiZQ0KICAgZnVsbHkg
cmVhY2hhYmxlIGJlaGluZCBhIE5BVCBib3guICBJdCBpcyBlc3BlY2lhbGx5IGRpZmZpY3VsdCB0
bw0KICAgaGFuZGxlIGNhc2VzIHdoZXJlIHRoZSBIdWIgaXMgYmVoaW5kIGEgTkFUIGJveC4gIFdo
ZXJlIHRoZSB0d28NCiAgIGVuZHBvaW50cyBhcmUgYm90aCBiZWhpbmQgc2VwYXJhdGUgTkFUcywg
Y29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZXNlDQogICBzcG9rZXMgU0hPVUxEIGJlIHN1cHBvcnRl
ZCB1c2luZyB3b3JrYXJvdW5kcyBzdWNoIGFzIHBvcnQgZm9yd2FyZGluZw0KICAgYnkgdGhlIE5B
VCBvciBkZXRlY3Rpbmcgd2hlbiB0d28gc3Bva2VzIGFyZSBiZWhpbmQgdW5jb29wZXJhdGl2ZSBO
QVRzDQogICBhbmQgdXNpbmcgYSBodWIgaW4gdGhhdCBjYXNlLg0KDQogICBUaGlzIHJlcXVpcmVt
ZW50IGlzIGRyaXZlbiBieSB1c2UgY2FzZXMgMi4xIGFuZCAyLjIuICBFbmRwb2ludHMgYXJlDQog
ICBvZnRlbiBiZWhpbmQgTkFUcyBhbmQgZ2F0ZXdheXMgc29tZXRpbWVzIGFyZS4gIElQc2VjIFNI
T1VMRCBjb250aW51ZQ0KICAgdG8gd29yayBzZWFtbGVzc2x5IHJlZ2FyZGxlc3MsIHVzaW5nIEFE
VlBOIHRlY2huaXF1ZXMgd2hlbmV2ZXINCiAgIHBvc3NpYmxlIGFuZCBwcm92aWRpbmcgZ3JhY2Vm
dWwgZmFsbGJhY2sgdG8gaHViIGFuZCBzcG9rZSB0ZWNobmlxdWVzDQogICBhcyBuZWVkZWQuDQoN
CiAgIDkuICBDaGFuZ2VzIHN1Y2ggYXMgZXN0YWJsaXNoaW5nIGEgbmV3IElQc2VjIFNBIFNIT1VM
RCBiZSByZXBvcnRhYmxlDQogICBhbmQgbWFuYWdlYWJsZS4gIEhvd2V2ZXIsIGNyZWF0aW5nIGEg
TUlCIG9yIG90aGVyIG1hbmFnZW1lbnQNCiAgIHRlY2huaXF1ZSBpcyBub3Qgd2l0aGluIHNjb3Bl
IGZvciB0aGlzIGVmZm9ydC4NCg0KICAgVGhpcyByZXF1aXJlbWVudCBpcyBkcml2ZW4gYnkgbWFu
YWdlYWJpbGl0eSBjb25jZXJucyBmb3IgYWxsIHRoZSB1c2UNCiAgIGNhc2VzLCBlc3BlY2lhbGx5
IHVzZSBjYXNlIDIuMi4gIEFzIElQc2VjIG5ldHdvcmtzIGJlY29tZSBtb3JlDQogICBkeW5hbWlj
LCBtYW5hZ2VtZW50IHRvb2xzIGJlY29tZSBtb3JlIGVzc2VudGlhbC4NCg0KICAgMTAuICBUbyBz
dXBwb3J0IGFsbGllZCBhbmQgZmVkZXJhdGVkIGVudmlyb25tZW50cywgZW5kcG9pbnRzIGFuZA0K
DQoNCg0KSGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAg
ICAgICAgICAgICAgW1BhZ2UgMTBdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8g
RGlzY292ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCiAgIGdhdGV3YXlz
IGZyb20gZGlmZmVyZW50IG9yZ2FuaXphdGlvbnMgU0hPVUxEIGJlIGFibGUgdG8gY29ubmVjdCB0
bw0KICAgZWFjaCBvdGhlci4NCg0KICAgVGhpcyByZXF1aXJlbWVudCBpcyBkcml2ZW4gYnkgZGVt
YW5kIGZvciBhbGwgdGhlIHVzZSBjYXNlcyBpbg0KICAgZmVkZXJhdGVkIGFuZCBhbGxpZWQgZW52
aXJvbm1lbnRzLg0KDQogICAxMS4gIFRoZSBhZG1pbmlzdHJhdG9yIG9mIHRoZSBBRFZQTiBTSE9V
TEQgYWxsb3cgZm9yIHRoZQ0KICAgY29uZmlndXJhdGlvbiBvZiBhIFN0YXIsIEZ1bGwgbWVzaCBv
ciBhIHBhcnRpYWwgZnVsbCBtZXNoIHRvcG9sb2d5LA0KICAgYmFzZWQgb24gd2hpY2ggdHVubmVs
cyBhcmUgYWxsb3dlZCB0byBiZSBzZXR1cC4NCg0KICAgVGhpcyByZXF1aXJlbWVudCBpcyBkcml2
ZW4gYnkgZGVtYW5kIGZvciBhbGwgdGhlIHVzZSBjYXNlcyBpbg0KICAgZmVkZXJhdGVkIGFuZCBh
bGxpZWQgZW52aXJvbm1lbnRzLg0KDQogICAxMi4gIFRoZSBBRFZQTiBzb2x1dGlvbiBTSE9VTEQg
YmUgYWJsZSB0byBzY2FsZSBmb3IgbXVsdGljYXN0DQogICB0cmFmZmljLg0KDQogICBUaGlzIHJl
cXVpcmVtZW50IGlzIGRyaXZlbiBieSB0aGUgdXNlIGNhc2UgMi4yLCB3aGVyZSB0aGUgYW1vdW50
IG9mDQogICByaWNoIG1lZGlhIG11bHRpY2FzdCB0cmFmZmljIGlzIGluY3JlYXNpbmcuDQoNCiAg
IDEzLiAgVGhlIEFEVlBOIHNvbHV0aW9uIFNIT1VMRCBhbGxvdyBmb3IgZWFzeSBtb25pdG9yaW5n
LCBsb2dnaW5nIGFuZA0KICAgcmVwb3J0aW5nIG9mIHRoZSBkeW5hbWljIGNoYW5nZXMsIHRvIGhl
bHAgZm9yIHRyb3VibGUgc2hvb3Rpbmcgc3VjaA0KICAgZW52aXJvbm1lbnRzLg0KDQogICBUaGlz
IHJlcXVpcmVtZW50IGlzIGRyaXZlbiBieSBkZW1hbmQgZm9yIGFsbCB0aGUgdXNlIGNhc2VzIGlu
DQogICBmZWRlcmF0ZWQgYW5kIGFsbGllZCBlbnZpcm9ubWVudHMuDQoNCiAgIDE0LiAgVGhlcmUg
aXMgYWxzbyB0aGUgY2FzZSB3aGVuIEwzVlBOcyBvcGVyYXRlIG92ZXIgSVBzZWMgVHVubmVscywN
CiAgIGZvciBleGFtcGxlIFByb3ZpZGVyIEVkZ2UgKFBFKSBiYXNlZCBWUE4ncy4gIEFuIEFEVlBO
IE1VU1Qgc3VwcG9ydA0KICAgTDNWUE4gYXMgYW4gYXBwbGljYXRpb24gcHJvdGVjdGVkIGJ5IHRo
ZSBJUHNlYyBUdW5uZWxzLg0KDQogICBUaGlzIHJlcXVpcmVtZW50IGlzIGRyaXZlbiBieSBkZW1h
bmQgZm9yIGFsbCB0aGUgdXNlIGNhc2VzIGluDQogICBmZWRlcmF0ZWQgYW5kIGFsbGllZCBlbnZp
cm9ubWVudHMuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkhhbm5hICYg
TWFucmFsICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAxMyAgICAgICAgICAgICAgIFtQ
YWdlIDExXQ0KDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBBdXRvIERpc2NvdmVyeSBWUE4g
ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTMNCg0KDQo1LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlv
bnMNCg0KICAgVGhpcyBpcyBhIFByb2JsZW0gc3RhdGVtZW50IGFuZCByZXF1aXJlbWVudCBkb2N1
bWVudCBmb3IgdGhlIEFEVlBODQogICBzb2x1dGlvbiwgYW5kIGluIGl0c2VsZiBkb2VzIG5vdCBp
bnRyb2R1Y2UgYW55IG5ldyBzZWN1cml0eSBjb25jZXJucy4NCiAgIFRoZSBzb2x1dGlvbiB0byB0
aGUgcHJvYmxlbXMgcHJlc2VudGVkIGluIHRoaXMgZHJhZnQgbWF5IGludm9sdmUNCiAgIGR5bmFt
aWMgdXBkYXRlcyB0byBkYXRhYmFzZXMgZGVmaW5lZCBieSBSRkMgNDMwMSwgc3VjaCBhcyB0aGUN
CiAgIFNlY3VyaXR5IFBvbGljeSBEYXRhYmFzZSAoU1BEKSBvciB0aGUgUGVlciBBdXRob3JpemF0
aW9uIERhdGFiYXNlDQogICAoUEFEKS4NCg0KICAgUkZDIDQzMDEgaXMgc2lsZW50IGFib3V0IHRo
ZSB3YXkgdGhlc2UgZGF0YWJhc2VzIGFyZSBwb3B1bGF0ZWQsIGFuZA0KICAgaXQgaXMgaW1wbGll
ZCB0aGF0IHRoZXNlIGRhdGFiYXNlcyBhcmUgc3RhdGljIGFuZCBwcmUtY29uZmlndXJlZCBieSBh
DQogICBodW1hbi4gIEFsbG93aW5nIGR5bmFtaWMgdXBkYXRlcyB0byB0aGVzZSBkYXRhYmFzZXMg
bXVzdCBiZSB0aG91Z2h0DQogICBvdXQgY2FyZWZ1bGx5LCBiZWNhdXNlIGl0IGFsbG93cyB0aGUg
cHJvdG9jb2wgdG8gYWx0ZXIgdGhlIHNlY3VyaXR5DQogICBwb2xpY3kgdGhhdCB0aGUgSVBzZWMg
ZW5kcG9pbnRzIGltcGxlbWVudC4NCg0KICAgT25lIG9idmlvdXMgYXR0YWNrIHRvIHdhdGNoIG91
dCBmb3IgaXMgc3RlYWxpbmcgdHJhZmZpYyB0byBhDQogICBwYXJ0aWN1bGFyIHNpdGUuICBUaGUg
SVAgYWRkcmVzcyBmb3Igd3d3LmV4YW1wbGUuY29tIGlzIDE5Mi4wLjIuMTAuDQogICBJZiB3ZSBh
ZGQgYW4gZW50cnkgdG8gYW4gSVBzZWMgZW5kcG9pbnQncyBTUEQgdGhhdCBzYXlzIHRoYXQgdHJh
ZmZpYw0KICAgdG8gMTkyLjAuMi4xMCBpcyBwcm90ZWN0ZWQgdGhyb3VnaCBwZWVyIEd3LU1hbGxv
cnksIHRoZW4gdGhpcyBhbGxvd3MNCiAgIEd3LU1hbGxvcnkgdG8gZWl0aGVyIHByZXRlbmQgdG8g
YmUgd3d3LmV4YW1wbGUuY29tIG9yIHRvIHByb3h5IGFuZA0KICAgcmVhZCBhbGwgdHJhZmZpYyB0
byB0aGF0IHNpdGUuICBVcGRhdGVzIHRvIHRoaXMgZGF0YWJhc2UgcmVxdWlyZXMgYQ0KICAgY2xl
YXIgdHJ1c3QgbW9kZWwuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KSGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0
IDI1LCAyMDEzICAgICAgICAgICAgICAgW1BhZ2UgMTJdDQoNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoN
CjYuICBJQU5BIENvbnNpZGVyYXRpb25zDQoNCiAgIE5vIGFjdGlvbnMgYXJlIHJlcXVpcmVkIGZy
b20gSUFOQSBmb3IgdGhpcyBpbmZvcm1hdGlvbmFsIGRvY3VtZW50Lg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KSGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMg
QXVndXN0IDI1LCAyMDEzICAgICAgICAgICAgICAgW1BhZ2UgMTNdDQoNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgIEF1dG8gRGlzY292ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAx
Mw0KDQoNCjcuICBBY2tub3dsZWRnZW1lbnRzDQoNCiAgIE1hbnkgcGVvcGxlIGhhdmUgY29udHJp
YnV0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIHRoaXMgcHJvYmxlbQ0KICAgc3RhdGVtZW50IGFu
ZCBtYW55IG1vcmUgd2lsbCBwcm9iYWJseSBkbyBzbyBiZWZvcmUgd2UgYXJlIGRvbmUgd2l0aA0K
ICAgaXQuICBXaGlsZSB3ZSBjYW5ub3QgdGhhbmsgYWxsIGNvbnRyaWJ1dG9ycywgc29tZSBoYXZl
IHBsYXllZCBhbg0KICAgZXNwZWNpYWxseSBwcm9taW5lbnQgcm9sZS4gIFlvYXYgTmlyLCBZYXJv
biBTaGVmZmVyLCBKb3JnZSBDb3JvbmVsDQogICBNZW5kb3phLCBDaHJpcyBVbGxpb3R0LCBhbmQg
Sm9obiBWZWl6YWRlcyB3cm90ZSB0aGUgZG9jdW1lbnQgdXBvbg0KICAgd2hpY2ggdGhpcyBkcmFm
dCB3YXMgYmFzZWQuICBHZW9mZnJleSBIdWFuZywgU3VyZXNoIE1lbGFtLCBQcmF2ZWVuDQogICBT
YXRoeWFuYXJheWFuLCBBbmRyZWFzIFN0ZWZmZW4sIEJyaWFuIFdlaXMsIGFuZCBMb3UgQmVyZ2Vy
IHByb3ZpZGVkDQogICBlc3NlbnRpYWwgaW5wdXQuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
SGFubmEgJiBNYW5yYWwgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDEzICAgICAgICAg
ICAgICAgW1BhZ2UgMTRdDQoNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIEF1dG8gRGlzY292
ZXJ5IFZQTiAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMw0KDQoNCjguICBOb3JtYXRpdmUgUmVm
ZXJlbmNlcw0KDQogICBbUkZDMjExOV0gIEJyYWRuZXIsIFMuLCAiS2V5IHdvcmRzIGZvciB1c2Ug
aW4gUkZDcyB0byBJbmRpY2F0ZQ0KICAgICAgICAgICAgICBSZXF1aXJlbWVudCBMZXZlbHMiLCBC
Q1AgMTQsIFJGQyAyMTE5LCBNYXJjaCAxOTk3Lg0KDQogICBbUkZDNDMwMV0gIEtlbnQsIFMuIGFu
ZCBLLiBTZW8sICJTZWN1cml0eSBBcmNoaXRlY3R1cmUgZm9yIHRoZQ0KICAgICAgICAgICAgICBJ
bnRlcm5ldCBQcm90b2NvbCIsIFJGQyA0MzAxLCBEZWNlbWJlciAyMDA1Lg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCkhhbm5hICYgTWFucmFsICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz
dCAyNSwgMjAxMyAgICAgICAgICAgICAgIFtQYWdlIDE1XQ0KDQpJbnRlcm5ldC1EcmFmdCAgICAg
ICAgICAgICBBdXRvIERpc2NvdmVyeSBWUE4gICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTMNCg0K
DQpBdXRob3JzJyBBZGRyZXNzZXMNCg0KICAgU3RldmUgSGFubmENCiAgIEp1bmlwZXIgTmV0d29y
a3MsIEluYy4NCiAgIDExOTQgTi4gTWF0aGlsZGEgQXZlLg0KICAgU3Vubnl2YWxlLCBDQSAgOTQw
ODkNCiAgIFVTQQ0KDQogICBFbWFpbDogc2hhbm5hQGp1bmlwZXIubmV0DQoNCg0KICAgVmlzaHdh
cyBNYW5yYWwNCiAgIEhld2xldHQtUGFja2FyZCBDby4NCiAgIDE5MTExIFBydW5lcmlkZ2UgQXZl
Lg0KICAgQ3VwZXJ0aW5vLCBDQSAgOTUxMTMNCiAgIFVTQQ0KDQogICBFbWFpbDogdmlzaHdhcy5t
YW5yYWxAaHAuY29tDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpIYW5uYSAmIE1hbnJhbCAgICAgICAgICAgRXhwaXJlcyBB
dWd1c3QgMjUsIDIwMTMgICAgICAgICAgICAgICBbUGFnZSAxNl0NCg==
--20cf3074afa801bc1404d630e0ac--
