
From nobody Mon Sep 10 13:33:19 2018
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0705130F90 for <dime@ietfa.amsl.com>; Mon, 10 Sep 2018 13:33:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level: 
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ATKrdKYiSgTA for <dime@ietfa.amsl.com>; Mon, 10 Sep 2018 13:33:12 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9B928130DDE for <dime@ietf.org>; Mon, 10 Sep 2018 13:33:12 -0700 (PDT)
Received: from [137.254.7.153] (port=57447 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <srdonovan@usdonovans.com>) id 1fzSrc-009WA8-Fk; Mon, 10 Sep 2018 13:33:11 -0700
To: "NOEL, ERIC C" <en5192@att.com>, "dime@ietf.org" <dime@ietf.org>
References: <2C4A8F89-9FB1-483F-B160-52822F71531F@nostrum.com> <b65b92d8-e1ba-195d-0662-95cb3492e4eb@usdonovans.com> <432544DCDB78E046B9E22D0EE8F419032625DFDB@MISOUT7MSGUSRDC.ITServices.sbc.com>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <a503a984-3f82-5872-0c60-68102efd47e2@usdonovans.com>
Date: Mon, 10 Sep 2018 15:33:27 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <432544DCDB78E046B9E22D0EE8F419032625DFDB@MISOUT7MSGUSRDC.ITServices.sbc.com>
Content-Type: multipart/alternative; boundary="------------56EA43271A9A71730204DFB4"
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/3gtOVc_1tac1nc9FlMrSu5xndlE>
Subject: Re: [Dime] draft-ietf-dime-doic-rate-control-08
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Sep 2018 20:33:18 -0000

This is a multi-part message in MIME format.
--------------56EA43271A9A71730204DFB4
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Eric,

Thanks for the comments.  See my comments inline.

I will be submitting a new version of the document shortly.  Hopefully I
have captured all of the suggested changes.

Steve

On 8/8/18 5:05 PM, NOEL, ERIC C wrote:
> > Hi Steve, > > > > It seems my mail system has been moving to spam your
emails. > > > > Just noticed below while cleaning my spam folder,
apologies for the > lack of responses. > > > > Please see below. > > >
>>>> General: The document seems inconsistent about whether rate >>>>
limits are only reported during overload conditions, or in >>>> advance
of overload conditions. >>>> >>>> <JPG> I think that would be "local
policy" of the serving >>>> (reporting) node, and independent of the
protocol used to >>>> communicate it.  I think most cases would be
reactive, but I >>>> can see situations where it could be
proactive.<JPG> >>> SRD> I agree with Janet, when the report is sent is
very much >>> local policy.  There is no reason to attempt to prevent
proactive >>> use of the rate mechanism. >> >> That’s fine with me, but
a sentence or two to that effect would be >> helpful. (On re-reading, I
see where section 1 talks about >> “approaching overload or overloaded”,
but I assume neither of those >> conditions are necessary?)
srd> I've added the following in section 5.5:

          Note: It is also possible for the reporting node to send overload
          reports with the rate algorithm indicated when the reporting
node is
          not in an overloaded state.  This could be a strategy to
proactively
          avoid entering into an overloaded state.  Whether to do so is
          up to local policy.
>> >>>> >>>> I’d like to see the need to allocate the rate limit across all
>>>> potential sources of traffic given some more emphasis. (Maybe a
>>>> sub-section of its own?) >>>> >>>> <JPG> I agree, but again I see
that as "local policy" of the >>>> serving (reporting) node. In
particular, there may be reacting >>>> nodes that do not support the
rate abatement algorithm.<JPG> >>> SRD> Again, I agree with Janet.  This
is local policy and there >>> may well be a mix of rate and loss if not
all nodes support rate. >>> I don't think it is appropriate to say that
rate should be >>> preferred over loss.  But maybe I'm missing your
meaning on >>> "allocate the rate limit”. >> >> Okay, but you still have
to allocate the rate limit across all >> sources that you apply the rate
algorithm to, right? That is, the >> total offered rate will be
something like (average rate per source) >> * (number of sources). Or am
I misunderstanding something? > > > > <EN> Correct, the reporting node
maintains an overload control state > for each reacting node. > SRD>
I've added the following to section 5.1:

          The rate OCS entery SHOULD include the rate allocated to each
reacting note.

> > > > >>>> §1: - “ While this can effectively decrease the load handled
by >>>> the server, it does not directly address cases where the rate
>>>> of arrival of service requests increases quickly." >>>> >>>> I
think it fails to address cases where the load changes >>>> rapidly in
either direction, right? At least, the following >>>> text seems to say
that. >>>> >>>> <JPG> I agree.  When there are rapid fluctuations in the
>>>> offered load, the "loss" algorithm errs both in  throttling TOO
>>>> MUCH when there is a dip in offered load, and throttling NOT >>>>
ENOUGH when there is a spike in offered load.<JPG> >>> SRD> The text in
section 1 talks about this already.  Is there a >>> specific change
being suggested? >> >> Section 1 talks about rapidly increasing load.
Did I miss mention >> of rapidly _decreasing_ load? > > > > <EN>
Suggested edit: > > > > While this can effectively decrease the load
handled by the > > server, it does not directly address cases where the
rate of arrival > > of service requests _changes_increases quickly. 
_For instance,_ if > the service requests that > > result in Diameter
transactions increase quickly then the loss > > algorithm cannot
guarantee the load presented to the server remains > > below a specific
rate level.  _The loss algorithm can be slow to_ > > _protect the
stability of reporting nodes when subjected with > rapidly_ > >
_changing loads. The "loss" algorithm errs both in throttling TOO > MUCH
_ > > _when there is a dip in offered load, and throttling NOT ENOUGH
when > there _ > > _is a spike in offered load._ > > SRD> I've
incorporated Eric's suggested wording.
> > > >>>> §3: Does the need for future report types to consider the rate
>>>> algorithm have IANA implications? >>> SRD> Are you suggesting that
the IANA section indicate that all >>> new report types MUST indicate
whether or not the rate algorithm >>> can be used with that report
type?  I can make that change to the >>> IANA section if it would be
appropriate. >>>> >> >> I’m not suggesting, I’m asking :-)  But my point
was more along >> whether the IANA registry for report types should
include a field >> about supporting the rate algorithm. > > <EN> Not
sure how to address that comment.
SRD> I've added a section the to the IANA considerations section:

8.2.   New DOIC Report Types

          All DOIC report types defined in the future MUST
          indicate whether or not the rate algorithm can be used with that
          report type.

> > >>>> §5.1: The first paragraph indicates state should be kept for >>>>
every reacting node to which it sends an OLR. But the 5th >>>> paragraph
can be interpreted to say it sends an OLR to every >>>> reacting node
with which it has negotiated use of the rate >>>> algorithm. (see
general comment). >>> SRD> I'm missing something.  The first paragraph
says the >>> reporting node maintains state any time it sends a rate
overload >>> report.  The fifth paragraph is just saying that the report
must >>> include the rate information. >> >> Actually, my question
relates to my question on 5.4. The first >> paragraph says to keep state
for every reporting node to which it >> sends an OLR. The 5th paragraph
implies that it sends on OLR when >> it selects the rate algorithm for a
reacting node. (If you are >> going to include the rate info, you have
to have a report to >> include it in.) >> >> So it comes down to clarity
about what events happen “when the >> reporting node selects the
algorithm for a reacting node” vs “when >> the reporting node sends an
OLR”. >> >>>> >>>> §5.4: The first paragraph seems to suggest the
reacting node >>>> keeps OCS for every server that has indicated support
for the >>>> rate algorithm, not just nodes that have sent OLRs. Is that
the >>>> intent? >>> SRD>  Yes, that is the intent.  This allows the
reacting node to >>> make sure that the machinery needed to respond to a
rate request >>> is in place prior to receiving an OLR. >> >> See above.
> > <EN> Agreed. Do not know what does ‘see above’ refers to.
SRD> I don't see the need for a change to the document.  If there is
still confusion then it can be addressed in the next version of the
document.

> >>>> §5.6, first paragraph: The MAY seems week here. I know and >>>>
agree that we don’t want to force a particular application. But >>>>
don’t we need to say that if an implementation uses a different >>>>
algorithm, it MUST have the same behavior as the algorithm in >>>>
section 7? >>>> >>>> <JPG> I think it MUST "limit the message rate to
the >>>> OC-Maximum-Rate AVP value in units of messages per second" (as
>>>> stated in 7.3.1).  The algorithm described in the rest of 7.3.1
>>>> and 7.3.2 is somewhat more sophisticated, allowing for a >>>>
smoothing factor (TAU) and prioritization.  I do not think we >>>> need 
to say that the selected algorithm MUST have those >>>> features.<JPG>
>>> SRD> Again, I agree with Janet. >> >> Okay. > > <EN> Agreed. > >
>>>> §7.2, third and 4th paragraphs: I don’t understand what this is
>>>> trying to say. Please elaborate. >>>> >>>> <JPG>3rd para - Just as
a "for instance"- if the reacting node >>>> has 50/second low priority
messages and 50/second high priority >>>> messages that it want to send,
and has a rate limit of >>>> 75/second, it will send 25/second low
priority messages and 50 >>>> /second high priority messages.  The limit
of 75/second applies >>>> to the combined stream of high and low
priority messages, even >>>> though only the low priority messages are
being abated.<JPG > >>>> >>>> <JPG> 4th para - in the same example, it
could be that the high >>>> priority messages typically require more
processing resources >>>> (cpu, etc) than the low priority messages (or
vice versa).  So >>>> cutting the rate to 75/sec may NOT produce the
expected >>>> reduction in resource usage.<JPG> >>> SRD> Thanks Janet, I
couldn't have explained it better. >> >> Janet’s explanation is good,
but I don’t get that from the text, at >> least in the case of the third
paragraph. >> >> In the 4th paragraph, I don’t understand how the
reporting node >> would “take into account the workload” in a useful
way. That seems >> to suggest the reporting node can predict the impact
of workload >> based decisions made by the reacting node, which seems
unlikely >> unless there is some out-of-band agreement. >> >> Is this
really saying anything more than “The reacting nodes will >> decide
which messages to send and which to drop, and the result may >> not be
predictable by the reporting node”? > > <EN>  Computation of maximum
rate per reacting node modulated with > its measured workload (message
type frequency) improves throttling > when reacting nodes prioritize
messages. > >>>> -6th paragraph: “  may receive requests at a rate below
its >>>> target maximum Diameter  request rate while others above that
>>>> target rate.  But the resulting request rate presented to the >>>>
overloaded reporting node will converge towards the target >>>> Diameter
request rate.” >>>> >>>> Why do we expect traffic to converge to the
rate limit? It >>>> seems like that won't happen if some reporting nodes
are not >>>> sending at full capacity, unless work can be shifted from
the >>>> high-rate sources to the slow-rate ones. >>>> >>>> <JPG>
Probably would be better to say that it "will converge >>>> toward a
rate at or below the target Diameter request >>>> rate.”<JPG> >>> SRD>
I'm okay with making Janet's suggested change. >> >> WFM. > > <EN> 
Agreed. > >>>> §7.3.1: paragraph starting with “ In situations where
reacting >>>> nodes are configured with some knowledge” >>>> >>>> that
requires knowledge of other traffic sources, not just >>>> knowledge of
the reporting node. >>>> >>>> The example code says to transmit a
message if (Xp <= TAU). But >>>> the text said the limit was “T+TAU).
>>>> >>>> <JPG> I think it is supposed to be "T+TAU"<JPG> >>> SRD> I'd
like to get Eric's opinion on this.  This section was >>> copied from
the SOC RFC so if it is in error here than it is in >>> error there as
well. >> >> I agree with getting Eric’s opinion :-) > > <EN>  Went back
to IETF document  Xp <= TAU is correct (continuous > state leaky bucket)
> >>>> §9: I think the security considerations need more thought. What
>>>> are the security considerations specific to the rate algorithm?
>>>> If there aren’t any, then please describe the rational behind >>>>
that. But I suspect there are, for example, can this be used >>>> for a
DoS? Can it be used to help _mitigate_ a DoS? Could one >>>> reacting
node cause others to be traffic starved? >>>> >>>> <JPG>It is possible
that a reacting node that does not support >>>> overload control could
starve the nodes that do support >>>> overload control, but this is also
true of the loss based >>>> version<JPG> >>> SRD> I'm not convinced that
there are security scenarios that are >>> new or different for rate
versus those documented in the existing >>> DOIC specifications. >> >>
This draft adds a new feature that isn’t in the base mechanism. I >>
gather your point is to say that the new feature shares the same >>
security considerations as the base, and adds no new ones. Right >> now,
section 9 only states the former. > > <EN>  Computation > >>>> Editorial
Comments: >>>> >>>> General: IDNits returns several issues. Some of
those may be >>>> errors on its part, but I’m pretty sure some of them
are real. >>>> Please resolve these. >>> SRD> I'll look at those next
time I try to submit but I've not >>> gotten IDNits errors in the past.
>>> >>> SRD> I've made the suggested changes below unless indicated >>>
otherwise. >>>> >> >> … and I’ve deleted sections that seem resolved. >>
>> […] > > <EN>  I think comment resolved > >>>> §5.1, third paragraph:
The text is not clear whether this means >>>> OCS should be maintained
per supported application, etc, or >>>> that it should maintain state
when the rate algorithm on a per >>>> supported application, etc, basis.
>>> SRD> I don't understand the point being made here. >> >> Probably
because I failed to make it. >> >> I _think_ that the reporting node
keeps state for each reporting >> node for which it selects rate, and
further needs to subdivide that >> state by application and report type.
But the it doesn’t need to >> keep state for a reporting node for which
it doesn’t select rate, >> even though that reporting node might have an
application in common >> with the first reporting node? >> >> […] > >
<EN>  Reporting node maintain state for each reacting node that >
executes the rate algorithm. > >>>> §6.1.1, definition of "
OLR_RATE_ALGORITHM”: Two periods at end >>>> of sentence. >>>> >>> SRD>
I am hesitant to change any of the test in section 7 given >>> that it
is taken from the SOC specification.  I would prefer that >>> Eric
comment on these proposed changes before including them in >>> the next
version. >> >> Makes sense. > > <EN>  Typo, please remove extra period >
>>>> §7.1, 2nd paragraph: “ signal one another support for >>>>
rate-based overload control”: This seems awkward; are there >>>> missing
words? > > <EN>  Looks ok to me , but I am not an English native
speaker. > >>>> §7.2, last two paragraphs: The MUSTs do not seem
necessary. >>>> 2119 keywords should be used when there is some sort of
choice >>>> or room for error. You don’t need them to define the basic
>>>> operation of the protocol. > > <EN>  OK with me > >>>> §7.3.1: I
found the text hard to follow. It would help to >>>> declare all the
identifiers and initialization up front, and to >>>> present things in
more of a stepwise fashion. >>>> >>>> - T is effectively a time
interval, right? It would help to say >>>> that, especially later when
you subtract a different time >>>> interval from it. >>>> >>>> -
paragraph 9: Should “admit” be “emit”? >>>> >>>> - the example code has
several mentions of SIP requests. > > <EN>   T  = 1/[OC-Maximum-Rate] is
the target inter-Diameter request > interval  per 7.3.1 paragraph 1.
“admit” usage is correct SIP should > be replace with Diameter > >>>>
§7.3.2: “ Request candidates for reduction, requests not >>>> subject to
reduction (except under extenuating circumstances >>>> when there aren’t
any messages in the first category that can >>>> be reduced).”: That
seems like an awkward way to say that the >>>> second category is the
set of requests that is only subject to >>>> reduction if there are no
messages left in the first category. >>>> >>>> <JPG> Yes, that is what
it means.<JPG> >>>> >>>> - “ This can be generalized to n priorities
using n thresholds >>>> for n>2 in the obvious way.”: I suggest you
refrain from >>>> calling it “obvious". > > <EN>    Agreed > >>>>
§7.3.3: Paragraph starting with “ Then (only) if the arrival is >>>>
admitted, increase the bucket by an amount…”: I think you >>>> increase
the bucket _count_, right? > > > > <EN>   Correct > > > > Thanks, > > >
> Eric Noel > > *AT&T Labs, Inc.* /Rethink Possible/ > > > >
Optimization, Reliability and Customer Analytics > > 200 South Laurel
Avenue, D5-3C38 Middletown, NJ 07748 P: > 732.420.4174 > >
ecnoel@att.com <mailto:jsmith@att.com> > > > > *From:*Steve Donovan
[mailto:srdonovan@usdonovans.com] *Sent:* > Monday, August 06, 2018
12:42 PM *To:* NOEL, ERIC C <en5192@att.com> > *Subject:* Fwd: Re:
[Dime] draft-ietf-dime-doic-rate-control-08 > > > > Eric, > > If not I
will make the necessary changes.  I would prefer that you > handle the
comments on the actual rate algorithm but, if you are not > able then I
will make the necessary changes. > > Regards, > > Steve > > > > --------
Forwarded Message -------- > > *Subject: * > > > > Re: [Dime]
draft-ietf-dime-doic-rate-control-08 > > *Date: * > > > > Tue, 26 Jun
2018 16:08:56 -0500 > > *From: * > > > > Ben Campbell <ben@nostrum.com>
<mailto:ben@nostrum.com> > > *To: * > > > > Steve Donovan
<srdonovan@usdonovans.com> > <mailto:srdonovan@usdonovans.com> > > *CC:
* > > > > ecnoel@research.att.com <mailto:ecnoel@research.att.com>, >
dime@ietf.org <mailto:dime@ietf.org> > > > > <bump> > >> On Jun 14,
2018, at 4:38 PM, Ben Campbell <ben@nostrum.com> >>
<mailto:ben@nostrum.com> wrote: >> >> Hi, >> >> See my responses inline.
I removed sections that seem resolved. >> >> Thanks, >> >> Ben. >> >>>
On Jun 13, 2018, at 12:30 PM, Steve Donovan >>>
<srdonovan@usdonovans.com> <mailto:srdonovan@usdonovans.com> >>> wrote:
>>> >>> See my comments inline. >>> >>> Steve >>> >>> On 5/25/18 4:17
PM, Gunn, Janet P (CNV) wrote: >>>> Not an author, but I have a strong
interest in this ID. >>>> Comments in line. Janet >>>> >>>>
-----Original Message----- From: DiME <dime-bounces@ietf.org> >>>>
<mailto:dime-bounces@ietf.org> On Behalf Of Ben Campbell Sent: >>>>
Wednesday, May 16, 2018 1:31 AM To: >>>>
draft-ietf-dime-doic-rate-control.all@ietf.org >>>>
<mailto:draft-ietf-dime-doic-rate-control.all@ietf.org> Cc: >>>>
dime@ietf.org <mailto:dime@ietf.org> Subject: [Dime] >>>>
draft-ietf-dime-doic-rate-control-08 >>>> >>>> Substantive Comments:
>>>> >>>> General: The document seems inconsistent about whether rate
>>>> limits are only reported during overload conditions, or in >>>>
advance of overload conditions. >>>> >>>> <JPG> I think that would be
"local policy" of the serving >>>> (reporting) node, and independent of
the protocol used to >>>> communicate it.  I think most cases would be
reactive, but I >>>> can see situations where it could be
proactive.<JPG> >>> SRD> I agree with Janet, when the report is sent is
very much >>> local policy.  There is no reason to attempt to prevent
proactive >>> use of the rate mechanism. >> >> That’s fine with me, but
a sentence or two to that effect would be >> helpful. (On re-reading, I
see where section 1 talks about >> “approaching overload or overloaded”,
but I assume neither of those >> conditions are necessary?) >> >>>> >>>>
I’d like to see the need to allocate the rate limit across all >>>>
potential sources of traffic given some more emphasis. (Maybe a >>>>
sub-section of its own?) >>>> >>>> <JPG> I agree, but again I see that
as "local policy" of the >>>> serving (reporting) node. In particular,
there may be reacting >>>> nodes that do not support the rate abatement
algorithm.<JPG> >>> SRD> Again, I agree with Janet.  This is local
policy and there >>> may well be a mix of rate and loss if not all nodes
support rate. >>> I don't think it is appropriate to say that rate
should be >>> preferred over loss.  But maybe I'm missing your meaning
on >>> "allocate the rate limit”. >> >> Okay, but you still have to
allocate the rate limit across all >> sources that you apply the rate
algorithm to, right? That is, the >> total offered rate will be
something like (average rate per source) >> * (number of sources). Or am
I misunderstanding something? >> >> >>>> >>>> >>>> §1: - “ While this
can effectively decrease the load handled by >>>> the server, it does
not directly address cases where the rate >>>> of arrival of service
requests increases quickly." >>>> >>>> I think it fails to address cases
where the load changes >>>> rapidly in either direction, right? At
least, the following >>>> text seems to say that. >>>> >>>> <JPG> I
agree.  When there are rapid fluctuations in the >>>> offered load, the
"loss" algorithm errs both in  throttling TOO >>>> MUCH when there is a
dip in offered load, and throttling NOT >>>> ENOUGH when there is a
spike in offered load.<JPG> >>> SRD> The text in section 1 talks about
this already.  Is there a >>> specific change being suggested? >> >>
Section 1 talks about rapidly increasing load. Did I miss mention >> of
rapidly _decreasing_ load? >> >>>> >>>> >>>> >>>> §3: Does the need for
future report types to consider the rate >>>> algorithm have IANA
implications? >>> SRD> Are you suggesting that the IANA section indicate
that all >>> new report types MUST indicate whether or not the rate
algorithm >>> can be used with that report type?  I can make that change
to the >>> IANA section if it would be appropriate. >>>> >> >> I’m not
suggesting, I’m asking :-)  But my point was more along >> whether the
IANA registry for report types should include a field >> about
supporting the rate algorithm. >> >> >>>> §5.1: The first paragraph
indicates state should be kept for >>>> every reacting node to which it
sends an OLR. But the 5th >>>> paragraph can be interpreted to say it
sends an OLR to every >>>> reacting node with which it has negotiated
use of the rate >>>> algorithm. (see general comment). >>> SRD> I'm
missing something.  The first paragraph says the >>> reporting node
maintains state any time it sends a rate overload >>> report.  The fifth
paragraph is just saying that the report must >>> include the rate
information. >> >> Actually, my question relates to my question on 5.4.
The first >> paragraph says to keep state for every reporting node to
which it >> sends an OLR. The 5th paragraph implies that it sends on OLR
when >> it selects the rate algorithm for a reacting node. (If you are
>> going to include the rate info, you have to have a report to >>
include it in.) >> >> So it comes down to clarity about what events
happen “when the >> reporting node selects the algorithm for a reacting
node” vs “when >> the reporting node sends an OLR”. >> >>>> >>>> §5.4:
The first paragraph seems to suggest the reacting node >>>> keeps OCS
for every server that has indicated support for the >>>> rate algorithm,
not just nodes that have sent OLRs. Is that the >>>> intent? >>> SRD> 
Yes, that is the intent.  This allows the reacting node to >>> make sure
that the machinery needed to respond to a rate request >>> is in place
prior to receiving an OLR. >> >> See above. >> >> >>>> >>>> §5.6, first
paragraph: The MAY seems week here. I know and >>>> agree that we don’t
want to force a particular application. But >>>> don’t we need to say
that if an implementation uses a different >>>> algorithm, it MUST have
the same behavior as the algorithm in >>>> section 7? >>>> >>>> <JPG> I
think it MUST "limit the message rate to the >>>> OC-Maximum-Rate AVP
value in units of messages per second" (as >>>> stated in 7.3.1).  The
algorithm described in the rest of 7.3.1 >>>> and 7.3.2 is somewhat more
sophisticated, allowing for a >>>> smoothing factor (TAU) and
prioritization.  I do not think we >>>> need  to say that the selected
algorithm MUST have those >>>> features.<JPG> >>> SRD> Again, I agree
with Janet. >> >> Okay. >> >> >>>> >>>> §7.2, third and 4th paragraphs:
I don’t understand what this is >>>> trying to say. Please elaborate.
>>>> >>>> <JPG>3rd para - Just as a "for instance"- if the reacting node
>>>> has 50/second low priority messages and 50/second high priority
>>>> messages that it want to send, and has a rate limit of >>>>
75/second, it will send 25/second low priority messages and 50 >>>>
/second high priority messages.  The limit of 75/second applies >>>> to
the combined stream of high and low priority messages, even >>>> though
only the low priority messages are being abated.<JPG > >>>> >>>> <JPG>
4th para - in the same example, it could be that the high >>>> priority
messages typically require more processing resources >>>> (cpu, etc)
than the low priority messages (or vice versa).  So >>>> cutting the
rate to 75/sec may NOT produce the expected >>>> reduction in resource
usage.<JPG> >>> SRD> Thanks Janet, I couldn't have explained it better.
>> >> Janet’s explanation is good, but I don’t get that from the text,
at >> least in the case of the third paragraph. >> >> In the 4th
paragraph, I don’t understand how the reporting node >> would “take into
account the workload” in a useful way. That seems >> to suggest the
reporting node can predict the impact of workload >> based decisions
made by the reacting node, which seems unlikely >> unless there is some
out-of-band agreement. >> >> Is this really saying anything more than
“The reacting nodes will >> decide which messages to send and which to
drop, and the result may >> not be predictable by the reporting node”?
>> >> >> >>>> >>>> >>>> -6th paragraph: “  may receive requests at a
rate below its >>>> target maximum Diameter  request rate while others
above that >>>> target rate.  But the resulting request rate presented
to the >>>> overloaded reporting node will converge towards the target
>>>> Diameter request rate.” >>>> >>>> Why do we expect traffic to
converge to the rate limit? It >>>> seems like that won't happen if some
reporting nodes are not >>>> sending at full capacity, unless work can
be shifted from the >>>> high-rate sources to the slow-rate ones. >>>>
>>>> <JPG> Probably would be better to say that it "will converge >>>>
toward a rate at or below the target Diameter request >>>> rate.”<JPG>
>>> SRD> I'm okay with making Janet's suggested change. >> >> WFM. >> >>
>>>> >>>> §7.3.1: paragraph starting with “ In situations where reacting
>>>> nodes are configured with some knowledge” >>>> >>>> that requires
knowledge of other traffic sources, not just >>>> knowledge of the
reporting node. >>>> >>>> The example code says to transmit a message if
(Xp <= TAU). But >>>> the text said the limit was “T+TAU). >>>> >>>>
<JPG> I think it is supposed to be "T+TAU"<JPG> >>> SRD> I'd like to get
Eric's opinion on this.  This section was >>> copied from the SOC RFC so
if it is in error here than it is in >>> error there as well. >> >> I
agree with getting Eric’s opinion :-) >> >> >>>> >>>> §9: I think the
security considerations need more thought. What >>>> are the security
considerations specific to the rate algorithm? >>>> If there aren’t any,
then please describe the rational behind >>>> that. But I suspect there
are, for example, can this be used >>>> for a DoS? Can it be used to
help _mitigate_ a DoS? Could one >>>> reacting node cause others to be
traffic starved? >>>> >>>> <JPG>It is possible that a reacting node that
does not support >>>> overload control could starve the nodes that do
support >>>> overload control, but this is also true of the loss based
>>>> version<JPG> >>> SRD> I'm not convinced that there are security
scenarios that are >>> new or different for rate versus those documented
in the existing >>> DOIC specifications. >> >> This draft adds a new
feature that isn’t in the base mechanism. I >> gather your point is to
say that the new feature shares the same >> security considerations as
the base, and adds no new ones. Right >> now, section 9 only states the
former. >> >>>> >>>> Editorial Comments: >>>> >>>> General: IDNits
returns several issues. Some of those may be >>>> errors on its part,
but I’m pretty sure some of them are real. >>>> Please resolve these.
>>> SRD> I'll look at those next time I try to submit but I've not >>>
gotten IDNits errors in the past. >>> >>> SRD> I've made the suggested
changes below unless indicated >>> otherwise. >>>> >> >> … and I’ve
deleted sections that seem resolved. >> >> […] >> >> >>>> >>>> §5.1,
third paragraph: The text is not clear whether this means >>>> OCS
should be maintained per supported application, etc, or >>>> that it
should maintain state when the rate algorithm on a per >>>> supported
application, etc, basis. >>> SRD> I don't understand the point being
made here. >> >> Probably because I failed to make it. >> >> I _think_
that the reporting node keeps state for each reporting >> node for which
it selects rate, and further needs to subdivide that >> state by
application and report type. But the it doesn’t need to >> keep state
for a reporting node for which it doesn’t select rate, >> even though
that reporting node might have an application in common >> with the
first reporting node? >> >> […] >> >> >>>> >>>> §6.1.1, definition of "
OLR_RATE_ALGORITHM”: Two periods at end >>>> of sentence. >>>> >>> SRD>
I am hesitant to change any of the test in section 7 given >>> that it
is taken from the SOC specification.  I would prefer that >>> Eric
comment on these proposed changes before including them in >>> the next
version. >> >> Makes sense. >> >>>> §7.1, 2nd paragraph: “ signal one
another support for >>>> rate-based overload control”: This seems
awkward; are there >>>> missing words? >>>> >>>> §7.2, last two
paragraphs: The MUSTs do not seem necessary. >>>> 2119 keywords should
be used when there is some sort of choice >>>> or room for error. You
don’t need them to define the basic >>>> operation of the protocol. >>>>
>>>> §7.3.1: I found the text hard to follow. It would help to >>>>
declare all the identifiers and initialization up front, and to >>>>
present things in more of a stepwise fashion. >>>> >>>> - T is
effectively a time interval, right? It would help to say >>>> that,
especially later when you subtract a different time >>>> interval from
it. >>>> >>>> - paragraph 9: Should “admit” be “emit”? >>>> >>>> - the
example code has several mentions of SIP requests. >>>> >>>> §7.3.2: “
Request candidates for reduction, requests not >>>> subject to reduction
(except under extenuating circumstances >>>> when there aren’t any
messages in the first category that can >>>> be reduced).”: That seems
like an awkward way to say that the >>>> second category is the set of
requests that is only subject to >>>> reduction if there are no messages
left in the first category. >>>> >>>> <JPG> Yes, that is what it
means.<JPG> >>>> >>>> - “ This can be generalized to n priorities using
n thresholds >>>> for n>2 in the obvious way.”: I suggest you refrain
from >>>> calling it “obvious". >>>> >>>> §7.3.3: Paragraph starting
with “ Then (only) if the arrival is >>>> admitted, increase the bucket
by an amount…”: I think you >>>> increase the bucket _count_, right?
>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>
This electronic message transmission contains information from >>>> CSRA
that may be attorney-client privileged, proprietary or >>>>
confidential. The information in this message is intended only >>>> for
use by the individual(s) to whom it is addressed. If you >>>> believe
you have received this message in error, please contact >>>> me
immediately and be aware that any use, disclosure, copying >>>> or
distribution of the contents of this message is strictly >>>>
prohibited. NOTE: Regardless of content, this email shall not >>>>
operate to bind CSRA to any order or other contract unless >>>> pursuant
to explicit written agreement or government initiative >>>> expressly
permitting the use of email for such purpose. >>>>
_______________________________________________ DiME mailing >>>> list
DiME@ietf.org <mailto:DiME@ietf.org> >>>>
https://www.ietf.org/mailman/listinfo/dime >>> >>>
_______________________________________________ DiME mailing >>> list
DiME@ietf.org <mailto:DiME@ietf.org> >>>
https://www.ietf.org/mailman/listinfo/dime >> >> >> > >



--------------56EA43271A9A71730204DFB4
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Eric,<br>
    <br>
    Thanks for the comments.  See my comments inline.<br>
    <br>
    I will be submitting a new version of the document shortly. 
    Hopefully I have captured all of the suggested changes.<br>
    <br>
    Steve<br>
    <br>
    On 8/8/18 5:05 PM, NOEL, ERIC C wrote:<br>
    <span style="white-space: pre;">&gt; 
&gt; Hi Steve,
&gt; 
&gt; 
&gt; 
&gt; It seems my mail system has been moving to spam your emails.
&gt; 
&gt; 
&gt; 
&gt; Just noticed below while cleaning my spam folder, apologies for the
&gt; lack of responses.
&gt; 
&gt; 
&gt; 
&gt; Please see below.
&gt; 
&gt; 
&gt; 
&gt;&gt;&gt;&gt; General: The document seems inconsistent about whether rate
&gt;&gt;&gt;&gt; limits are only reported during overload conditions, or in
&gt;&gt;&gt;&gt; advance of overload conditions.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think that would be "local policy" of the serving
&gt;&gt;&gt;&gt; (reporting) node, and independent of the protocol used to
&gt;&gt;&gt;&gt; communicate it.  I think most cases would be reactive, but I
&gt;&gt;&gt;&gt; can see situations where it could be proactive.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I agree with Janet, when the report is sent is very much
&gt;&gt;&gt; local policy.  There is no reason to attempt to prevent proactive
&gt;&gt;&gt; use of the rate mechanism.
&gt;&gt; 
&gt;&gt; That’s fine with me, but a sentence or two to that effect would be
&gt;&gt; helpful. (On re-reading, I see where section 1 talks about
&gt;&gt; “approaching overload or overloaded”, but I assume neither of those
&gt;&gt; conditions are necessary?)
</span><br>
    srd&gt; I've added the following in section 5.5:<br>
    <br>
              Note: It is also possible for the reporting node to send
    overload<br>
              reports with the rate algorithm indicated when the
    reporting node is<br>
              not in an overloaded state.  This could be a strategy to
    proactively <br>
              avoid entering into an overloaded state.  Whether to do so
    is<br>
              up to local policy.<br>
    <span style="white-space: pre;">&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I’d like to see the need to allocate the rate limit across all
&gt;&gt;&gt;&gt; potential sources of traffic given some more emphasis. (Maybe a
&gt;&gt;&gt;&gt; sub-section of its own?)
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I agree, but again I see that as "local policy" of the
&gt;&gt;&gt;&gt; serving (reporting) node. In particular, there may be reacting
&gt;&gt;&gt;&gt; nodes that do not support the rate abatement algorithm.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Again, I agree with Janet.  This is local policy and there
&gt;&gt;&gt; may well be a mix of rate and loss if not all nodes support rate.
&gt;&gt;&gt; I don't think it is appropriate to say that rate should be
&gt;&gt;&gt; preferred over loss.  But maybe I'm missing your meaning on
&gt;&gt;&gt; "allocate the rate limit”.
&gt;&gt; 
&gt;&gt; Okay, but you still have to allocate the rate limit across all
&gt;&gt; sources that you apply the rate algorithm to, right? That is, the
&gt;&gt; total offered rate will be something like (average rate per source)
&gt;&gt; * (number of sources). Or am I misunderstanding something?
&gt; 
&gt; 
&gt; 
&gt; &lt;EN&gt; Correct, the reporting node maintains an overload control state
&gt; for each reacting node.
&gt; 
</span>SRD&gt; I've added the following to section 5.1:<br>
    <br>
              The rate OCS entery SHOULD include the rate allocated to
    each reacting note.<br>
    <br>
    <span style="white-space: pre;">&gt; 
&gt; 
&gt; 
&gt; 
&gt;&gt;&gt;&gt; §1: - “ While this can effectively decrease the load handled by
&gt;&gt;&gt;&gt; the server, it does not directly address cases where the rate
&gt;&gt;&gt;&gt; of arrival of service requests increases quickly."
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I think it fails to address cases where the load changes
&gt;&gt;&gt;&gt; rapidly in either direction, right? At least, the following
&gt;&gt;&gt;&gt; text seems to say that.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I agree.  When there are rapid fluctuations in the
&gt;&gt;&gt;&gt; offered load, the "loss" algorithm errs both in  throttling TOO
&gt;&gt;&gt;&gt; MUCH when there is a dip in offered load, and throttling NOT
&gt;&gt;&gt;&gt; ENOUGH when there is a spike in offered load.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; The text in section 1 talks about this already.  Is there a
&gt;&gt;&gt; specific change being suggested?
&gt;&gt; 
&gt;&gt; Section 1 talks about rapidly increasing load. Did I miss mention
&gt;&gt; of rapidly _decreasing_ load?
&gt; 
&gt; 
&gt; 
&gt; &lt;EN&gt; Suggested edit:
&gt; 
&gt; 
&gt; 
&gt; While this can effectively decrease the load handled by the
&gt; 
&gt; server, it does not directly address cases where the rate of arrival
&gt; 
&gt; of service requests _changes_increases quickly.  _For instance,_ if
&gt; the service requests that
&gt; 
&gt; result in Diameter transactions increase quickly then the loss
&gt; 
&gt; algorithm cannot guarantee the load presented to the server remains
&gt; 
&gt; below a specific rate level.  _The loss algorithm can be slow to_
&gt; 
&gt; _protect the stability of reporting nodes when subjected with
&gt; rapidly_
&gt; 
&gt; _changing loads. The "loss" algorithm errs both in throttling TOO
&gt; MUCH _
&gt; 
&gt; _when there is a dip in offered load, and throttling NOT ENOUGH when
&gt; there _
&gt; 
&gt; _is a spike in offered load._
&gt; 
&gt; 
</span>SRD&gt; I've incorporated Eric's suggested wording.<br>
    <span style="white-space: pre;">&gt; 
&gt; 
&gt; 
&gt;&gt;&gt;&gt; §3: Does the need for future report types to consider the rate
&gt;&gt;&gt;&gt; algorithm have IANA implications?
&gt;&gt;&gt; SRD&gt; Are you suggesting that the IANA section indicate that all
&gt;&gt;&gt; new report types MUST indicate whether or not the rate algorithm
&gt;&gt;&gt; can be used with that report type?  I can make that change to the
&gt;&gt;&gt; IANA section if it would be appropriate.
&gt;&gt;&gt;&gt; 
&gt;&gt; 
&gt;&gt; I’m not suggesting, I’m asking :-)  But my point was more along
&gt;&gt; whether the IANA registry for report types should include a field
&gt;&gt; about supporting the rate algorithm.
&gt; 
&gt; &lt;EN&gt; Not sure how to address that comment.
</span><br>
    SRD&gt; I've added a section the to the IANA considerations section:<br>
    <br>
    8.2.   New DOIC Report Types<br>
    <br>
              All DOIC report types defined in the future MUST <br>
              indicate whether or not the rate algorithm can be used
    with that<br>
              report type.<br>
    <br>
    <span style="white-space: pre;">&gt; 
&gt; 
&gt;&gt;&gt;&gt; §5.1: The first paragraph indicates state should be kept for
&gt;&gt;&gt;&gt; every reacting node to which it sends an OLR. But the 5th
&gt;&gt;&gt;&gt; paragraph can be interpreted to say it sends an OLR to every
&gt;&gt;&gt;&gt; reacting node with which it has negotiated use of the rate
&gt;&gt;&gt;&gt; algorithm. (see general comment).
&gt;&gt;&gt; SRD&gt; I'm missing something.  The first paragraph says the
&gt;&gt;&gt; reporting node maintains state any time it sends a rate overload
&gt;&gt;&gt; report.  The fifth paragraph is just saying that the report must
&gt;&gt;&gt; include the rate information.
&gt;&gt; 
&gt;&gt; Actually, my question relates to my question on 5.4. The first
&gt;&gt; paragraph says to keep state for every reporting node to which it
&gt;&gt; sends an OLR. The 5th paragraph implies that it sends on OLR when
&gt;&gt; it selects the rate algorithm for a reacting node. (If you are
&gt;&gt; going to include the rate info, you have to have a report to
&gt;&gt; include it in.)
&gt;&gt; 
&gt;&gt; So it comes down to clarity about what events happen “when the
&gt;&gt; reporting node selects the algorithm for a reacting node” vs “when
&gt;&gt; the reporting node sends an OLR”.
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §5.4: The first paragraph seems to suggest the reacting node
&gt;&gt;&gt;&gt; keeps OCS for every server that has indicated support for the
&gt;&gt;&gt;&gt; rate algorithm, not just nodes that have sent OLRs. Is that the
&gt;&gt;&gt;&gt; intent?
&gt;&gt;&gt; SRD&gt;  Yes, that is the intent.  This allows the reacting node to
&gt;&gt;&gt; make sure that the machinery needed to respond to a rate request
&gt;&gt;&gt; is in place prior to receiving an OLR.
&gt;&gt; 
&gt;&gt; See above.
&gt; 
&gt; &lt;EN&gt; Agreed. Do not know what does ‘see above’ refers to.
</span><br>
    SRD&gt; I don't see the need for a change to the document.  If there
    is still confusion then it can be addressed in the next version of
    the document.<br>
    <br>
    <span style="white-space: pre;">&gt; 
&gt;&gt;&gt;&gt; §5.6, first paragraph: The MAY seems week here. I know and
&gt;&gt;&gt;&gt; agree that we don’t want to force a particular application. But
&gt;&gt;&gt;&gt; don’t we need to say that if an implementation uses a different
&gt;&gt;&gt;&gt; algorithm, it MUST have the same behavior as the algorithm in
&gt;&gt;&gt;&gt; section 7?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think it MUST "limit the message rate to the
&gt;&gt;&gt;&gt; OC-Maximum-Rate AVP value in units of messages per second" (as
&gt;&gt;&gt;&gt; stated in 7.3.1).  The algorithm described in the rest of 7.3.1
&gt;&gt;&gt;&gt; and 7.3.2 is somewhat more sophisticated, allowing for a
&gt;&gt;&gt;&gt; smoothing factor (TAU) and prioritization.  I do not think we
&gt;&gt;&gt;&gt; need  to say that the selected algorithm MUST have those
&gt;&gt;&gt;&gt; features.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Again, I agree with Janet.
&gt;&gt; 
&gt;&gt; Okay.
&gt; 
&gt; &lt;EN&gt; Agreed.
&gt; 
&gt; 
&gt;&gt;&gt;&gt; §7.2, third and 4th paragraphs: I don’t understand what this is
&gt;&gt;&gt;&gt; trying to say. Please elaborate.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt;3rd para - Just as a "for instance"- if the reacting node
&gt;&gt;&gt;&gt; has 50/second low priority messages and 50/second high priority
&gt;&gt;&gt;&gt; messages that it want to send, and has a rate limit of
&gt;&gt;&gt;&gt; 75/second, it will send 25/second low priority messages and 50
&gt;&gt;&gt;&gt; /second high priority messages.  The limit of 75/second applies
&gt;&gt;&gt;&gt; to the combined stream of high and low priority messages, even
&gt;&gt;&gt;&gt; though only the low priority messages are being abated.&lt;JPG &gt;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; 4th para - in the same example, it could be that the high
&gt;&gt;&gt;&gt; priority messages typically require more processing resources
&gt;&gt;&gt;&gt; (cpu, etc) than the low priority messages (or vice versa).  So
&gt;&gt;&gt;&gt; cutting the rate to 75/sec may NOT produce the expected
&gt;&gt;&gt;&gt; reduction in resource usage.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Thanks Janet, I couldn't have explained it better.
&gt;&gt; 
&gt;&gt; Janet’s explanation is good, but I don’t get that from the text, at
&gt;&gt; least in the case of the third paragraph.
&gt;&gt; 
&gt;&gt; In the 4th paragraph, I don’t understand how the reporting node
&gt;&gt; would “take into account the workload” in a useful way. That seems
&gt;&gt; to suggest the reporting node can predict the impact of workload
&gt;&gt; based decisions made by the reacting node, which seems unlikely
&gt;&gt; unless there is some out-of-band agreement.
&gt;&gt; 
&gt;&gt; Is this really saying anything more than “The reacting nodes will
&gt;&gt; decide which messages to send and which to drop, and the result may
&gt;&gt; not be predictable by the reporting node”?
&gt; 
&gt; &lt;EN&gt;  Computation of maximum rate per reacting node modulated with
&gt; its measured workload (message type frequency) improves throttling
&gt; when reacting nodes prioritize messages.
&gt; 
&gt;&gt;&gt;&gt; -6th paragraph: “  may receive requests at a rate below its
&gt;&gt;&gt;&gt; target maximum Diameter  request rate while others above that
&gt;&gt;&gt;&gt; target rate.  But the resulting request rate presented to the
&gt;&gt;&gt;&gt; overloaded reporting node will converge towards the target
&gt;&gt;&gt;&gt; Diameter request rate.”
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Why do we expect traffic to converge to the rate limit? It
&gt;&gt;&gt;&gt; seems like that won't happen if some reporting nodes are not
&gt;&gt;&gt;&gt; sending at full capacity, unless work can be shifted from the
&gt;&gt;&gt;&gt; high-rate sources to the slow-rate ones.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; Probably would be better to say that it "will converge
&gt;&gt;&gt;&gt; toward a rate at or below the target Diameter request
&gt;&gt;&gt;&gt; rate.”&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'm okay with making Janet's suggested change.
&gt;&gt; 
&gt;&gt; WFM.
&gt; 
&gt; &lt;EN&gt;  Agreed.
&gt; 
&gt;&gt;&gt;&gt; §7.3.1: paragraph starting with “ In situations where reacting
&gt;&gt;&gt;&gt; nodes are configured with some knowledge”
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; that requires knowledge of other traffic sources, not just
&gt;&gt;&gt;&gt; knowledge of the reporting node.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; The example code says to transmit a message if (Xp &lt;= TAU). But
&gt;&gt;&gt;&gt; the text said the limit was “T+TAU).
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think it is supposed to be "T+TAU"&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'd like to get Eric's opinion on this.  This section was
&gt;&gt;&gt; copied from the SOC RFC so if it is in error here than it is in
&gt;&gt;&gt; error there as well.
&gt;&gt; 
&gt;&gt; I agree with getting Eric’s opinion :-)
&gt; 
&gt; &lt;EN&gt;  Went back to IETF document  Xp &lt;= TAU is correct (continuous
&gt; state leaky bucket)
&gt; 
&gt;&gt;&gt;&gt; §9: I think the security considerations need more thought. What
&gt;&gt;&gt;&gt; are the security considerations specific to the rate algorithm?
&gt;&gt;&gt;&gt; If there aren’t any, then please describe the rational behind
&gt;&gt;&gt;&gt; that. But I suspect there are, for example, can this be used
&gt;&gt;&gt;&gt; for a DoS? Can it be used to help _mitigate_ a DoS? Could one
&gt;&gt;&gt;&gt; reacting node cause others to be traffic starved?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt;It is possible that a reacting node that does not support
&gt;&gt;&gt;&gt; overload control could starve the nodes that do support
&gt;&gt;&gt;&gt; overload control, but this is also true of the loss based
&gt;&gt;&gt;&gt; version&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'm not convinced that there are security scenarios that are
&gt;&gt;&gt; new or different for rate versus those documented in the existing
&gt;&gt;&gt; DOIC specifications.
&gt;&gt; 
&gt;&gt; This draft adds a new feature that isn’t in the base mechanism. I
&gt;&gt; gather your point is to say that the new feature shares the same
&gt;&gt; security considerations as the base, and adds no new ones. Right
&gt;&gt; now, section 9 only states the former.
&gt; 
&gt; &lt;EN&gt;  Computation
&gt; 
&gt;&gt;&gt;&gt; Editorial Comments:
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; General: IDNits returns several issues. Some of those may be
&gt;&gt;&gt;&gt; errors on its part, but I’m pretty sure some of them are real.
&gt;&gt;&gt;&gt; Please resolve these.
&gt;&gt;&gt; SRD&gt; I'll look at those next time I try to submit but I've not
&gt;&gt;&gt; gotten IDNits errors in the past.
&gt;&gt;&gt; 
&gt;&gt;&gt; SRD&gt; I've made the suggested changes below unless indicated
&gt;&gt;&gt; otherwise.
&gt;&gt;&gt;&gt; 
&gt;&gt; 
&gt;&gt; … and I’ve deleted sections that seem resolved.
&gt;&gt; 
&gt;&gt; […]
&gt; 
&gt; &lt;EN&gt;  I think comment resolved
&gt; 
&gt;&gt;&gt;&gt; §5.1, third paragraph: The text is not clear whether this means
&gt;&gt;&gt;&gt; OCS should be maintained per supported application, etc, or
&gt;&gt;&gt;&gt; that it should maintain state when the rate algorithm on a per
&gt;&gt;&gt;&gt; supported application, etc, basis.
&gt;&gt;&gt; SRD&gt; I don't understand the point being made here.
&gt;&gt; 
&gt;&gt; Probably because I failed to make it.
&gt;&gt; 
&gt;&gt; I _think_ that the reporting node keeps state for each reporting
&gt;&gt; node for which it selects rate, and further needs to subdivide that
&gt;&gt; state by application and report type. But the it doesn’t need to
&gt;&gt; keep state for a reporting node for which it doesn’t select rate,
&gt;&gt; even though that reporting node might have an application in common
&gt;&gt; with the first reporting node?
&gt;&gt; 
&gt;&gt; […]
&gt; 
&gt; &lt;EN&gt;  Reporting node maintain state for each reacting node that
&gt; executes the rate algorithm.
&gt; 
&gt;&gt;&gt;&gt; §6.1.1, definition of " OLR_RATE_ALGORITHM”: Two periods at end
&gt;&gt;&gt;&gt; of sentence.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt; SRD&gt; I am hesitant to change any of the test in section 7 given
&gt;&gt;&gt; that it is taken from the SOC specification.  I would prefer that
&gt;&gt;&gt; Eric comment on these proposed changes before including them in
&gt;&gt;&gt; the next version.
&gt;&gt; 
&gt;&gt; Makes sense.
&gt; 
&gt; &lt;EN&gt;  Typo, please remove extra period
&gt; 
&gt;&gt;&gt;&gt; §7.1, 2nd paragraph: “ signal one another support for
&gt;&gt;&gt;&gt; rate-based overload control”: This seems awkward; are there
&gt;&gt;&gt;&gt; missing words?
&gt; 
&gt; &lt;EN&gt;  Looks ok to me , but I am not an English native speaker.
&gt; 
&gt;&gt;&gt;&gt; §7.2, last two paragraphs: The MUSTs do not seem necessary.
&gt;&gt;&gt;&gt; 2119 keywords should be used when there is some sort of choice
&gt;&gt;&gt;&gt; or room for error. You don’t need them to define the basic
&gt;&gt;&gt;&gt; operation of the protocol.
&gt; 
&gt; &lt;EN&gt;  OK with me
&gt; 
&gt;&gt;&gt;&gt; §7.3.1: I found the text hard to follow. It would help to
&gt;&gt;&gt;&gt; declare all the identifiers and initialization up front, and to
&gt;&gt;&gt;&gt; present things in more of a stepwise fashion.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - T is effectively a time interval, right? It would help to say
&gt;&gt;&gt;&gt; that, especially later when you subtract a different time
&gt;&gt;&gt;&gt; interval from it.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - paragraph 9: Should “admit” be “emit”?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - the example code has several mentions of SIP requests.
&gt; 
&gt; &lt;EN&gt;   T  = 1/[OC-Maximum-Rate] is the target inter-Diameter request
&gt; interval  per 7.3.1 paragraph 1. “admit” usage is correct SIP should
&gt; be replace with Diameter
&gt; 
&gt;&gt;&gt;&gt; §7.3.2: “ Request candidates for reduction, requests not
&gt;&gt;&gt;&gt; subject to reduction (except under extenuating circumstances
&gt;&gt;&gt;&gt; when there aren’t any messages in the first category that can
&gt;&gt;&gt;&gt; be reduced).”: That seems like an awkward way to say that the
&gt;&gt;&gt;&gt; second category is the set of requests that is only subject to
&gt;&gt;&gt;&gt; reduction if there are no messages left in the first category.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; Yes, that is what it means.&lt;JPG&gt;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - “ This can be generalized to n priorities using n thresholds
&gt;&gt;&gt;&gt; for n&gt;2 in the obvious way.”: I suggest you refrain from
&gt;&gt;&gt;&gt; calling it “obvious".
&gt; 
&gt; &lt;EN&gt;    Agreed
&gt; 
&gt;&gt;&gt;&gt; §7.3.3: Paragraph starting with “ Then (only) if the arrival is
&gt;&gt;&gt;&gt; admitted, increase the bucket by an amount…”: I think you
&gt;&gt;&gt;&gt; increase the bucket _count_, right?
&gt; 
&gt; 
&gt; 
&gt; &lt;EN&gt;   Correct
&gt; 
&gt; 
&gt; 
&gt; Thanks,
&gt; 
&gt; 
&gt; 
&gt; Eric Noel
&gt; 
&gt; *AT&amp;T Labs, Inc.* /Rethink Possible/
&gt; 
&gt; 
&gt; 
&gt; Optimization, Reliability and Customer Analytics
&gt; 
&gt; 200 South Laurel Avenue, D5-3C38 Middletown, NJ 07748 P:
&gt; 732.420.4174
&gt; 
&gt; <a class="moz-txt-link-abbreviated" href="mailto:ecnoel@att.com">ecnoel@att.com</a> <a class="moz-txt-link-rfc2396E" href="mailto:jsmith@att.com">&lt;mailto:jsmith@att.com&gt;</a>
&gt; 
&gt; 
&gt; 
&gt; *From:*Steve Donovan [<a class="moz-txt-link-freetext" href="mailto:srdonovan@usdonovans.com">mailto:srdonovan@usdonovans.com</a>] *Sent:*
&gt; Monday, August 06, 2018 12:42 PM *To:* NOEL, ERIC C <a class="moz-txt-link-rfc2396E" href="mailto:en5192@att.com">&lt;en5192@att.com&gt;</a> 
&gt; *Subject:* Fwd: Re: [Dime] draft-ietf-dime-doic-rate-control-08
&gt; 
&gt; 
&gt; 
&gt; Eric,
&gt; 
&gt; If not I will make the necessary changes.  I would prefer that you
&gt; handle the comments on the actual rate algorithm but, if you are not
&gt; able then I will make the necessary changes.
&gt; 
&gt; Regards,
&gt; 
&gt; Steve
&gt; 
&gt; 
&gt; 
&gt; -------- Forwarded Message --------
&gt; 
&gt; *Subject: *
&gt; 
&gt; 
&gt; 
&gt; Re: [Dime] draft-ietf-dime-doic-rate-control-08
&gt; 
&gt; *Date: *
&gt; 
&gt; 
&gt; 
&gt; Tue, 26 Jun 2018 16:08:56 -0500
&gt; 
&gt; *From: *
&gt; 
&gt; 
&gt; 
&gt; Ben Campbell <a class="moz-txt-link-rfc2396E" href="mailto:ben@nostrum.com">&lt;ben@nostrum.com&gt;</a> <a class="moz-txt-link-rfc2396E" href="mailto:ben@nostrum.com">&lt;mailto:ben@nostrum.com&gt;</a>
&gt; 
&gt; *To: *
&gt; 
&gt; 
&gt; 
&gt; Steve Donovan <a class="moz-txt-link-rfc2396E" href="mailto:srdonovan@usdonovans.com">&lt;srdonovan@usdonovans.com&gt;</a>
&gt; <a class="moz-txt-link-rfc2396E" href="mailto:srdonovan@usdonovans.com">&lt;mailto:srdonovan@usdonovans.com&gt;</a>
&gt; 
&gt; *CC: *
&gt; 
&gt; 
&gt; 
&gt; <a class="moz-txt-link-abbreviated" href="mailto:ecnoel@research.att.com">ecnoel@research.att.com</a> <a class="moz-txt-link-rfc2396E" href="mailto:ecnoel@research.att.com">&lt;mailto:ecnoel@research.att.com&gt;</a>,
&gt; <a class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:dime@ietf.org">&lt;mailto:dime@ietf.org&gt;</a>
&gt; 
&gt; 
&gt; 
&gt; &lt;bump&gt;
&gt; 
&gt;&gt; On Jun 14, 2018, at 4:38 PM, Ben Campbell <a class="moz-txt-link-rfc2396E" href="mailto:ben@nostrum.com">&lt;ben@nostrum.com&gt;</a>
&gt;&gt; <a class="moz-txt-link-rfc2396E" href="mailto:ben@nostrum.com">&lt;mailto:ben@nostrum.com&gt;</a> wrote:
&gt;&gt; 
&gt;&gt; Hi,
&gt;&gt; 
&gt;&gt; See my responses inline. I removed sections that seem resolved.
&gt;&gt; 
&gt;&gt; Thanks,
&gt;&gt; 
&gt;&gt; Ben.
&gt;&gt; 
&gt;&gt;&gt; On Jun 13, 2018, at 12:30 PM, Steve Donovan
&gt;&gt;&gt; <a class="moz-txt-link-rfc2396E" href="mailto:srdonovan@usdonovans.com">&lt;srdonovan@usdonovans.com&gt;</a> <a class="moz-txt-link-rfc2396E" href="mailto:srdonovan@usdonovans.com">&lt;mailto:srdonovan@usdonovans.com&gt;</a>
&gt;&gt;&gt; wrote:
&gt;&gt;&gt; 
&gt;&gt;&gt; See my comments inline.
&gt;&gt;&gt; 
&gt;&gt;&gt; Steve
&gt;&gt;&gt; 
&gt;&gt;&gt; On 5/25/18 4:17 PM, Gunn, Janet P (CNV) wrote:
&gt;&gt;&gt;&gt; Not an author, but I have a strong interest in this ID.
&gt;&gt;&gt;&gt; Comments in line. Janet
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; -----Original Message----- From: DiME <a class="moz-txt-link-rfc2396E" href="mailto:dime-bounces@ietf.org">&lt;dime-bounces@ietf.org&gt;</a>
&gt;&gt;&gt;&gt; <a class="moz-txt-link-rfc2396E" href="mailto:dime-bounces@ietf.org">&lt;mailto:dime-bounces@ietf.org&gt;</a> On Behalf Of Ben Campbell Sent:
&gt;&gt;&gt;&gt; Wednesday, May 16, 2018 1:31 AM To:
&gt;&gt;&gt;&gt; <a class="moz-txt-link-abbreviated" href="mailto:draft-ietf-dime-doic-rate-control.all@ietf.org">draft-ietf-dime-doic-rate-control.all@ietf.org</a>
&gt;&gt;&gt;&gt; <a class="moz-txt-link-rfc2396E" href="mailto:draft-ietf-dime-doic-rate-control.all@ietf.org">&lt;mailto:draft-ietf-dime-doic-rate-control.all@ietf.org&gt;</a> Cc:
&gt;&gt;&gt;&gt; <a class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:dime@ietf.org">&lt;mailto:dime@ietf.org&gt;</a> Subject: [Dime]
&gt;&gt;&gt;&gt; draft-ietf-dime-doic-rate-control-08
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Substantive Comments:
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; General: The document seems inconsistent about whether rate
&gt;&gt;&gt;&gt; limits are only reported during overload conditions, or in
&gt;&gt;&gt;&gt; advance of overload conditions.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think that would be "local policy" of the serving
&gt;&gt;&gt;&gt; (reporting) node, and independent of the protocol used to
&gt;&gt;&gt;&gt; communicate it.  I think most cases would be reactive, but I
&gt;&gt;&gt;&gt; can see situations where it could be proactive.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I agree with Janet, when the report is sent is very much
&gt;&gt;&gt; local policy.  There is no reason to attempt to prevent proactive
&gt;&gt;&gt; use of the rate mechanism.
&gt;&gt; 
&gt;&gt; That’s fine with me, but a sentence or two to that effect would be
&gt;&gt; helpful. (On re-reading, I see where section 1 talks about
&gt;&gt; “approaching overload or overloaded”, but I assume neither of those
&gt;&gt; conditions are necessary?)
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I’d like to see the need to allocate the rate limit across all
&gt;&gt;&gt;&gt; potential sources of traffic given some more emphasis. (Maybe a
&gt;&gt;&gt;&gt; sub-section of its own?)
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I agree, but again I see that as "local policy" of the
&gt;&gt;&gt;&gt; serving (reporting) node. In particular, there may be reacting
&gt;&gt;&gt;&gt; nodes that do not support the rate abatement algorithm.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Again, I agree with Janet.  This is local policy and there
&gt;&gt;&gt; may well be a mix of rate and loss if not all nodes support rate.
&gt;&gt;&gt; I don't think it is appropriate to say that rate should be
&gt;&gt;&gt; preferred over loss.  But maybe I'm missing your meaning on
&gt;&gt;&gt; "allocate the rate limit”.
&gt;&gt; 
&gt;&gt; Okay, but you still have to allocate the rate limit across all
&gt;&gt; sources that you apply the rate algorithm to, right? That is, the
&gt;&gt; total offered rate will be something like (average rate per source)
&gt;&gt; * (number of sources). Or am I misunderstanding something?
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §1: - “ While this can effectively decrease the load handled by
&gt;&gt;&gt;&gt; the server, it does not directly address cases where the rate
&gt;&gt;&gt;&gt; of arrival of service requests increases quickly."
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I think it fails to address cases where the load changes
&gt;&gt;&gt;&gt; rapidly in either direction, right? At least, the following
&gt;&gt;&gt;&gt; text seems to say that.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I agree.  When there are rapid fluctuations in the
&gt;&gt;&gt;&gt; offered load, the "loss" algorithm errs both in  throttling TOO
&gt;&gt;&gt;&gt; MUCH when there is a dip in offered load, and throttling NOT
&gt;&gt;&gt;&gt; ENOUGH when there is a spike in offered load.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; The text in section 1 talks about this already.  Is there a
&gt;&gt;&gt; specific change being suggested?
&gt;&gt; 
&gt;&gt; Section 1 talks about rapidly increasing load. Did I miss mention
&gt;&gt; of rapidly _decreasing_ load?
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §3: Does the need for future report types to consider the rate
&gt;&gt;&gt;&gt; algorithm have IANA implications?
&gt;&gt;&gt; SRD&gt; Are you suggesting that the IANA section indicate that all
&gt;&gt;&gt; new report types MUST indicate whether or not the rate algorithm
&gt;&gt;&gt; can be used with that report type?  I can make that change to the
&gt;&gt;&gt; IANA section if it would be appropriate.
&gt;&gt;&gt;&gt; 
&gt;&gt; 
&gt;&gt; I’m not suggesting, I’m asking :-)  But my point was more along
&gt;&gt; whether the IANA registry for report types should include a field
&gt;&gt; about supporting the rate algorithm.
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; §5.1: The first paragraph indicates state should be kept for
&gt;&gt;&gt;&gt; every reacting node to which it sends an OLR. But the 5th
&gt;&gt;&gt;&gt; paragraph can be interpreted to say it sends an OLR to every
&gt;&gt;&gt;&gt; reacting node with which it has negotiated use of the rate
&gt;&gt;&gt;&gt; algorithm. (see general comment).
&gt;&gt;&gt; SRD&gt; I'm missing something.  The first paragraph says the
&gt;&gt;&gt; reporting node maintains state any time it sends a rate overload
&gt;&gt;&gt; report.  The fifth paragraph is just saying that the report must
&gt;&gt;&gt; include the rate information.
&gt;&gt; 
&gt;&gt; Actually, my question relates to my question on 5.4. The first
&gt;&gt; paragraph says to keep state for every reporting node to which it
&gt;&gt; sends an OLR. The 5th paragraph implies that it sends on OLR when
&gt;&gt; it selects the rate algorithm for a reacting node. (If you are
&gt;&gt; going to include the rate info, you have to have a report to
&gt;&gt; include it in.)
&gt;&gt; 
&gt;&gt; So it comes down to clarity about what events happen “when the
&gt;&gt; reporting node selects the algorithm for a reacting node” vs “when
&gt;&gt; the reporting node sends an OLR”.
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §5.4: The first paragraph seems to suggest the reacting node
&gt;&gt;&gt;&gt; keeps OCS for every server that has indicated support for the
&gt;&gt;&gt;&gt; rate algorithm, not just nodes that have sent OLRs. Is that the
&gt;&gt;&gt;&gt; intent?
&gt;&gt;&gt; SRD&gt;  Yes, that is the intent.  This allows the reacting node to
&gt;&gt;&gt; make sure that the machinery needed to respond to a rate request
&gt;&gt;&gt; is in place prior to receiving an OLR.
&gt;&gt; 
&gt;&gt; See above.
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §5.6, first paragraph: The MAY seems week here. I know and
&gt;&gt;&gt;&gt; agree that we don’t want to force a particular application. But
&gt;&gt;&gt;&gt; don’t we need to say that if an implementation uses a different
&gt;&gt;&gt;&gt; algorithm, it MUST have the same behavior as the algorithm in
&gt;&gt;&gt;&gt; section 7?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think it MUST "limit the message rate to the
&gt;&gt;&gt;&gt; OC-Maximum-Rate AVP value in units of messages per second" (as
&gt;&gt;&gt;&gt; stated in 7.3.1).  The algorithm described in the rest of 7.3.1
&gt;&gt;&gt;&gt; and 7.3.2 is somewhat more sophisticated, allowing for a
&gt;&gt;&gt;&gt; smoothing factor (TAU) and prioritization.  I do not think we
&gt;&gt;&gt;&gt; need  to say that the selected algorithm MUST have those
&gt;&gt;&gt;&gt; features.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Again, I agree with Janet.
&gt;&gt; 
&gt;&gt; Okay.
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.2, third and 4th paragraphs: I don’t understand what this is
&gt;&gt;&gt;&gt; trying to say. Please elaborate.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt;3rd para - Just as a "for instance"- if the reacting node
&gt;&gt;&gt;&gt; has 50/second low priority messages and 50/second high priority
&gt;&gt;&gt;&gt; messages that it want to send, and has a rate limit of
&gt;&gt;&gt;&gt; 75/second, it will send 25/second low priority messages and 50
&gt;&gt;&gt;&gt; /second high priority messages.  The limit of 75/second applies
&gt;&gt;&gt;&gt; to the combined stream of high and low priority messages, even
&gt;&gt;&gt;&gt; though only the low priority messages are being abated.&lt;JPG &gt;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; 4th para - in the same example, it could be that the high
&gt;&gt;&gt;&gt; priority messages typically require more processing resources
&gt;&gt;&gt;&gt; (cpu, etc) than the low priority messages (or vice versa).  So
&gt;&gt;&gt;&gt; cutting the rate to 75/sec may NOT produce the expected
&gt;&gt;&gt;&gt; reduction in resource usage.&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; Thanks Janet, I couldn't have explained it better.
&gt;&gt; 
&gt;&gt; Janet’s explanation is good, but I don’t get that from the text, at
&gt;&gt; least in the case of the third paragraph.
&gt;&gt; 
&gt;&gt; In the 4th paragraph, I don’t understand how the reporting node
&gt;&gt; would “take into account the workload” in a useful way. That seems
&gt;&gt; to suggest the reporting node can predict the impact of workload
&gt;&gt; based decisions made by the reacting node, which seems unlikely
&gt;&gt; unless there is some out-of-band agreement.
&gt;&gt; 
&gt;&gt; Is this really saying anything more than “The reacting nodes will
&gt;&gt; decide which messages to send and which to drop, and the result may
&gt;&gt; not be predictable by the reporting node”?
&gt;&gt; 
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; -6th paragraph: “  may receive requests at a rate below its
&gt;&gt;&gt;&gt; target maximum Diameter  request rate while others above that
&gt;&gt;&gt;&gt; target rate.  But the resulting request rate presented to the
&gt;&gt;&gt;&gt; overloaded reporting node will converge towards the target
&gt;&gt;&gt;&gt; Diameter request rate.”
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Why do we expect traffic to converge to the rate limit? It
&gt;&gt;&gt;&gt; seems like that won't happen if some reporting nodes are not
&gt;&gt;&gt;&gt; sending at full capacity, unless work can be shifted from the
&gt;&gt;&gt;&gt; high-rate sources to the slow-rate ones.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; Probably would be better to say that it "will converge
&gt;&gt;&gt;&gt; toward a rate at or below the target Diameter request
&gt;&gt;&gt;&gt; rate.”&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'm okay with making Janet's suggested change.
&gt;&gt; 
&gt;&gt; WFM.
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.3.1: paragraph starting with “ In situations where reacting
&gt;&gt;&gt;&gt; nodes are configured with some knowledge”
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; that requires knowledge of other traffic sources, not just
&gt;&gt;&gt;&gt; knowledge of the reporting node.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; The example code says to transmit a message if (Xp &lt;= TAU). But
&gt;&gt;&gt;&gt; the text said the limit was “T+TAU).
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; I think it is supposed to be "T+TAU"&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'd like to get Eric's opinion on this.  This section was
&gt;&gt;&gt; copied from the SOC RFC so if it is in error here than it is in
&gt;&gt;&gt; error there as well.
&gt;&gt; 
&gt;&gt; I agree with getting Eric’s opinion :-)
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §9: I think the security considerations need more thought. What
&gt;&gt;&gt;&gt; are the security considerations specific to the rate algorithm?
&gt;&gt;&gt;&gt; If there aren’t any, then please describe the rational behind
&gt;&gt;&gt;&gt; that. But I suspect there are, for example, can this be used
&gt;&gt;&gt;&gt; for a DoS? Can it be used to help _mitigate_ a DoS? Could one
&gt;&gt;&gt;&gt; reacting node cause others to be traffic starved?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt;It is possible that a reacting node that does not support
&gt;&gt;&gt;&gt; overload control could starve the nodes that do support
&gt;&gt;&gt;&gt; overload control, but this is also true of the loss based
&gt;&gt;&gt;&gt; version&lt;JPG&gt;
&gt;&gt;&gt; SRD&gt; I'm not convinced that there are security scenarios that are
&gt;&gt;&gt; new or different for rate versus those documented in the existing
&gt;&gt;&gt; DOIC specifications.
&gt;&gt; 
&gt;&gt; This draft adds a new feature that isn’t in the base mechanism. I
&gt;&gt; gather your point is to say that the new feature shares the same
&gt;&gt; security considerations as the base, and adds no new ones. Right
&gt;&gt; now, section 9 only states the former.
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Editorial Comments:
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; General: IDNits returns several issues. Some of those may be
&gt;&gt;&gt;&gt; errors on its part, but I’m pretty sure some of them are real.
&gt;&gt;&gt;&gt; Please resolve these.
&gt;&gt;&gt; SRD&gt; I'll look at those next time I try to submit but I've not
&gt;&gt;&gt; gotten IDNits errors in the past.
&gt;&gt;&gt; 
&gt;&gt;&gt; SRD&gt; I've made the suggested changes below unless indicated
&gt;&gt;&gt; otherwise.
&gt;&gt;&gt;&gt; 
&gt;&gt; 
&gt;&gt; … and I’ve deleted sections that seem resolved.
&gt;&gt; 
&gt;&gt; […]
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §5.1, third paragraph: The text is not clear whether this means
&gt;&gt;&gt;&gt; OCS should be maintained per supported application, etc, or
&gt;&gt;&gt;&gt; that it should maintain state when the rate algorithm on a per
&gt;&gt;&gt;&gt; supported application, etc, basis.
&gt;&gt;&gt; SRD&gt; I don't understand the point being made here.
&gt;&gt; 
&gt;&gt; Probably because I failed to make it.
&gt;&gt; 
&gt;&gt; I _think_ that the reporting node keeps state for each reporting
&gt;&gt; node for which it selects rate, and further needs to subdivide that
&gt;&gt; state by application and report type. But the it doesn’t need to
&gt;&gt; keep state for a reporting node for which it doesn’t select rate,
&gt;&gt; even though that reporting node might have an application in common
&gt;&gt; with the first reporting node?
&gt;&gt; 
&gt;&gt; […]
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §6.1.1, definition of " OLR_RATE_ALGORITHM”: Two periods at end
&gt;&gt;&gt;&gt; of sentence.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt; SRD&gt; I am hesitant to change any of the test in section 7 given
&gt;&gt;&gt; that it is taken from the SOC specification.  I would prefer that
&gt;&gt;&gt; Eric comment on these proposed changes before including them in
&gt;&gt;&gt; the next version.
&gt;&gt; 
&gt;&gt; Makes sense.
&gt;&gt; 
&gt;&gt;&gt;&gt; §7.1, 2nd paragraph: “ signal one another support for
&gt;&gt;&gt;&gt; rate-based overload control”: This seems awkward; are there
&gt;&gt;&gt;&gt; missing words?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.2, last two paragraphs: The MUSTs do not seem necessary.
&gt;&gt;&gt;&gt; 2119 keywords should be used when there is some sort of choice
&gt;&gt;&gt;&gt; or room for error. You don’t need them to define the basic
&gt;&gt;&gt;&gt; operation of the protocol.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.3.1: I found the text hard to follow. It would help to
&gt;&gt;&gt;&gt; declare all the identifiers and initialization up front, and to
&gt;&gt;&gt;&gt; present things in more of a stepwise fashion.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - T is effectively a time interval, right? It would help to say
&gt;&gt;&gt;&gt; that, especially later when you subtract a different time
&gt;&gt;&gt;&gt; interval from it.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - paragraph 9: Should “admit” be “emit”?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - the example code has several mentions of SIP requests.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.3.2: “ Request candidates for reduction, requests not
&gt;&gt;&gt;&gt; subject to reduction (except under extenuating circumstances
&gt;&gt;&gt;&gt; when there aren’t any messages in the first category that can
&gt;&gt;&gt;&gt; be reduced).”: That seems like an awkward way to say that the
&gt;&gt;&gt;&gt; second category is the set of requests that is only subject to
&gt;&gt;&gt;&gt; reduction if there are no messages left in the first category.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; &lt;JPG&gt; Yes, that is what it means.&lt;JPG&gt;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; - “ This can be generalized to n priorities using n thresholds
&gt;&gt;&gt;&gt; for n&gt;2 in the obvious way.”: I suggest you refrain from
&gt;&gt;&gt;&gt; calling it “obvious".
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; §7.3.3: Paragraph starting with “ Then (only) if the arrival is
&gt;&gt;&gt;&gt; admitted, increase the bucket by an amount…”: I think you
&gt;&gt;&gt;&gt; increase the bucket _count_, right?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; This electronic message transmission contains information from
&gt;&gt;&gt;&gt; CSRA that may be attorney-client privileged, proprietary or
&gt;&gt;&gt;&gt; confidential. The information in this message is intended only
&gt;&gt;&gt;&gt; for use by the individual(s) to whom it is addressed. If you
&gt;&gt;&gt;&gt; believe you have received this message in error, please contact
&gt;&gt;&gt;&gt; me immediately and be aware that any use, disclosure, copying
&gt;&gt;&gt;&gt; or distribution of the contents of this message is strictly
&gt;&gt;&gt;&gt; prohibited. NOTE: Regardless of content, this email shall not
&gt;&gt;&gt;&gt; operate to bind CSRA to any order or other contract unless
&gt;&gt;&gt;&gt; pursuant to explicit written agreement or government initiative
&gt;&gt;&gt;&gt; expressly permitting the use of email for such purpose. 
&gt;&gt;&gt;&gt; _______________________________________________ DiME mailing
&gt;&gt;&gt;&gt; list <a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:DiME@ietf.org">&lt;mailto:DiME@ietf.org&gt;</a> 
&gt;&gt;&gt;&gt; <a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
&gt;&gt;&gt; 
&gt;&gt;&gt; _______________________________________________ DiME mailing
&gt;&gt;&gt; list <a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:DiME@ietf.org">&lt;mailto:DiME@ietf.org&gt;</a> 
&gt;&gt;&gt; <a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
&gt;&gt; 
&gt;&gt; 
&gt;&gt; 
&gt; 
&gt; </span><br>
    <br>
    <br>
  </body>
</html>

--------------56EA43271A9A71730204DFB4--


From nobody Mon Sep 10 13:41:02 2018
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietf.org
Delivered-To: dime@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 95062130F9D; Mon, 10 Sep 2018 13:41:00 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: dime@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.83.1
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: dime@ietf.org
Message-ID: <153661206055.16037.15308827602109875958@ietfa.amsl.com>
Date: Mon, 10 Sep 2018 13:41:00 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/ycVASA7yDtY7maEWaQxEsFK9TIA>
Subject: [Dime] I-D Action: draft-ietf-dime-doic-rate-control-09.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Sep 2018 20:41:01 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Diameter Maintenance and Extensions WG of the IETF.

        Title           : Diameter Overload Rate Control
        Authors         : Steve Donovan
                          Eric Noel
	Filename        : draft-ietf-dime-doic-rate-control-09.txt
	Pages           : 19
	Date            : 2018-09-10

Abstract:
   This specification documents an extension to the Diameter Overload
   Indication Conveyance (DOIC) [RFC7683] base solution.  This extension
   adds a new overload control abatement algorithm.  This abatement
   algorithm allows for a DOIC reporting node to specify a maximum rate
   at which a DOIC reacting node sends Diameter requests to the DOIC
   reporting node.

Requirements

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-doic-rate-control/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-dime-doic-rate-control-09
https://datatracker.ietf.org/doc/html/draft-ietf-dime-doic-rate-control-09

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-dime-doic-rate-control-09


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Mon Sep 10 13:44:09 2018
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68231130FFE for <dime@ietfa.amsl.com>; Mon, 10 Sep 2018 13:43:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.11
X-Spam-Level: 
X-Spam-Status: No, score=-1.11 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779, T_HTML_ATTACH=0.01] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lmf-nnFLFE8B for <dime@ietfa.amsl.com>; Mon, 10 Sep 2018 13:43:54 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 273A6130FF5 for <dime@ietf.org>; Mon, 10 Sep 2018 13:43:54 -0700 (PDT)
Received: from [137.254.7.153] (port=57546 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <srdonovan@usdonovans.com>) id 1fzT1y-009d7T-8z for dime@ietf.org; Mon, 10 Sep 2018 13:43:53 -0700
To: "dime@ietf.org" <dime@ietf.org>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com>
Date: Mon, 10 Sep 2018 15:44:08 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------DA68A239A69E882CDEAC05DC"
X-OutGoing-Spam-Status: No, score=2.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/VWWZB2tUwmbfjuzTtzG9CU3vg-I>
Subject: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Sep 2018 20:44:07 -0000

This is a multi-part message in MIME format.
--------------DA68A239A69E882CDEAC05DC
Content-Type: multipart/alternative;
 boundary="------------81D09852617B3DAECE264CA8"


--------------81D09852617B3DAECE264CA8
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

I've posted a new version of the rate draft.

I've attached the diff file.

Regards,

Steve

--------------81D09852617B3DAECE264CA8
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Times New Roman, Times, serif">I've posted a new version
      of the rate draft.<br>
      <br>
      I've attached the diff file.<br>
      <br>
      Regards,<br>
      <br>
      Steve<br>
    </font>
  </body>
</html>

--------------81D09852617B3DAECE264CA8--

--------------DA68A239A69E882CDEAC05DC
Content-Type: text/html; charset=UTF-8;
 name="Diff draft-ietf-dime-doic-rate-control-08.txt -
 draft-ietf-dime-doic-rate-control-09.txt.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="Diff  draft-ietf-dime-doic-rate-control-08.txt - draft-ietf-";
 filename*1="dime-doic-rate-control-09.txt.html"

PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlv
bmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5z
aXRpb25hbC5kdGQiPgo8IS0tIEdlbmVyYXRlZCBieSByZmNkaWZmIDEuNDc6IHJmY2RpZmYg
IC0tPgo8IS0tIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAx
IFRyYW5zaXRpb25hbCIgPiAtLT4KPCEtLSBTeXN0ZW06IExpbnV4IGRlY2hhdW5hYyAzLjIu
MC00LWFtZDY0ICMxIFNNUCBEZWJpYW4gMy4yLjY4LTErZGViN3U2IHg4Nl82NCBHTlUvTGlu
dXggLS0+CjwhLS0gVXNpbmcgYXdrOiAvdXNyL2Jpbi9nYXdrOiBHTlUgQXdrIDQuMS4xLCBB
UEk6IDEuMSAoR05VIE1QRlIgMy4xLjMsIEdOVSBNUCA2LjAuMCkgLS0+CjwhLS0gVXNpbmcg
ZGlmZjogL3Vzci9iaW4vZGlmZjogZGlmZiAoR05VIGRpZmZ1dGlscykgMy4zIC0tPgo8IS0t
IFVzaW5nIHdkaWZmOiAvdXNyL2Jpbi93ZGlmZjogd2RpZmYgKEdOVSB3ZGlmZikgMS4yLjIg
LS0+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD4g
CiAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9VVRGLTgiPiAKICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5
cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4gCiAgPHRpdGxlPkRpZmY6IGRyYWZ0LWlldGYtZGlt
ZS1kb2ljLXJhdGUtY29udHJvbC0wOC50eHQgLSBkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRl
LWNvbnRyb2wtMDkudHh0PC90aXRsZT4gCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gCiAg
ICBib2R5ICAgIHsgbWFyZ2luOiAwLjRleDsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IAogICAg
dHIgICAgICB7IH0gCiAgICB0ZCAgICAgIHsgd2hpdGUtc3BhY2U6IHByZTsgZm9udC1mYW1p
bHk6IG1vbm9zcGFjZTsgdmVydGljYWwtYWxpZ246IHRvcDsgZm9udC1zaXplOiAwLjg2ZW07
fSAKICAgIHRoICAgICAgeyBmb250LXNpemU6IDAuODZlbTsgfSAKICAgIC5zbWFsbCAgeyBm
b250LXNpemU6IDAuNmVtOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtZmFtaWx5OiBWZXJk
YW5hLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0gCiAgICAubGVmdCAgIHsgYmFja2dyb3Vu
ZC1jb2xvcjogI0VFRTsgfSAKICAgIC5yaWdodCAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZG
OyB9IAogICAgLmRpZmYgICB7IGJhY2tncm91bmQtY29sb3I6ICNDQ0Y7IH0gCiAgICAubGJs
b2NrIHsgYmFja2dyb3VuZC1jb2xvcjogI0JGQjsgfSAKICAgIC5yYmxvY2sgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiAjRkY4OyB9IAogICAgLmluc2VydCB7IGJhY2tncm91bmQtY29sb3I6ICM4
RkY7IH0gCiAgICAuZGVsZXRlIHsgYmFja2dyb3VuZC1jb2xvcjogI0FDRjsgfSAKICAgIC52
b2lkICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCOyB9IAogICAgLmNvbnQgICB7IGJhY2tn
cm91bmQtY29sb3I6ICNFRUU7IH0gCiAgICAubGluZWJyIHsgYmFja2dyb3VuZC1jb2xvcjog
I0FBQTsgfSAKICAgIC5saW5lbm8geyBjb2xvcjogcmVkOyBiYWNrZ3JvdW5kLWNvbG9yOiAj
RkZGOyBmb250LXNpemU6IDAuN2VtOyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZzogMCAy
cHg7IH0gCiAgICAuZWxpcHNpc3sgYmFja2dyb3VuZC1jb2xvcjogI0FBQTsgfSAKICAgIC5s
ZWZ0IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogI0RERDsgfSAKICAgIC5yaWdodCAuY29u
dCB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gCiAgICAubGJsb2NrIC5jb250IHsgYmFj
a2dyb3VuZC1jb2xvcjogIzlEOTsgfSAKICAgIC5yYmxvY2sgLmNvbnQgeyBiYWNrZ3JvdW5k
LWNvbG9yOiAjREQ2OyB9IAogICAgLmluc2VydCAuY29udCB7IGJhY2tncm91bmQtY29sb3I6
ICMwREQ7IH0gCiAgICAuZGVsZXRlIC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzhBRDsg
fSAKICAgIC5zdGF0cywgLnN0YXRzIHRkLCAuc3RhdHMgdGggeyBiYWNrZ3JvdW5kLWNvbG9y
OiAjRUVFOyBwYWRkaW5nOiAycHggMDsgfSAKICAgIHNwYW4uaGlkZSB7IGRpc3BsYXk6IG5v
bmU7IGNvbG9yOiAjYWFhO30gICAgYTpob3ZlciBzcGFuIHsgZGlzcGxheTogaW5saW5lOyB9
ICAgIHRyLmNoYW5nZSB7IGJhY2tncm91bmQtY29sb3I6IGdyYXk7IH0gCiAgICB0ci5jaGFu
Z2UgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGJsYWNrIH0gCiAgPC9zdHls
ZT4gCiAgICAgPHNjcmlwdD4KdmFyIGNodW5rX2luZGV4ID0gMDsKdmFyIG9sZF9jaHVuayA9
IG51bGw7CgpmdW5jdGlvbiBmb3JtYXRfY2h1bmsoaW5kZXgpIHsKICAgIHZhciBwcmVmaXgg
PSAiZGlmZiI7CiAgICB2YXIgc3RyID0gaW5kZXgudG9TdHJpbmcoKTsKICAgIGZvciAoeD0w
OyB4PCg0LXN0ci5sZW5ndGgpOyArK3gpIHsKICAgICAgICBwcmVmaXgrPScwJzsKICAgIH0K
ICAgIHJldHVybiBwcmVmaXggKyBzdHI7Cn0KCmZ1bmN0aW9uIGZpbmRfY2h1bmsobil7CiAg
ICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndHJbaWQkPSInICsgbiArICciXScp
Owp9CgpmdW5jdGlvbiBjaGFuZ2VfY2h1bmsob2Zmc2V0KSB7CiAgICB2YXIgaW5kZXggPSBj
aHVua19pbmRleCArIG9mZnNldDsKICAgIHZhciBuZXdfc3RyOwogICAgdmFyIG5ld19jaHVu
azsKCiAgICBuZXdfc3RyID0gZm9ybWF0X2NodW5rKGluZGV4KTsKICAgIG5ld19jaHVuayA9
IGZpbmRfY2h1bmsobmV3X3N0cik7CiAgICBpZiAoIW5ld19jaHVuaykgewogICAgICAgIHJl
dHVybjsKICAgIH0KICAgIGlmIChvbGRfY2h1bmspIHsKICAgICAgICBvbGRfY2h1bmsuc3R5
bGUub3V0bGluZSA9ICIiOwogICAgfQogICAgb2xkX2NodW5rID0gbmV3X2NodW5rOwogICAg
b2xkX2NodW5rLnN0eWxlLm91dGxpbmUgPSAiMXB4IHNvbGlkIHJlZCI7CiAgICB3aW5kb3cu
bG9jYXRpb24ucmVwbGFjZSgiIyIgKyBuZXdfc3RyKQogICAgd2luZG93LnNjcm9sbEJ5KDAs
LTEwMCk7CiAgICBjaHVua19pbmRleCA9IGluZGV4Owp9Cgpkb2N1bWVudC5vbmtleWRvd24g
PSBmdW5jdGlvbihlKSB7CiAgICBzd2l0Y2ggKGUua2V5Q29kZSkgewogICAgY2FzZSA3ODoK
ICAgICAgICBjaGFuZ2VfY2h1bmsoMSk7CiAgICAgICAgYnJlYWs7CiAgICBjYXNlIDgwOgog
ICAgICAgIGNoYW5nZV9jaHVuaygtMSk7CiAgICAgICAgYnJlYWs7CiAgICB9Cn07CiAgIDwv
c2NyaXB0PiAKPC9oZWFkPiAKPGJvZHk+IAogIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2Vs
bHBhZGRpbmc9IjAiIGJvcmRlcj0iMCI+IAogIDx0Ym9keT48dHIgaWQ9InBhcnQtMSIgYmdj
b2xvcj0ib3JhbmdlIj48dGg+PC90aD48dGg+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRm
Lm9yZy9yZmNkaWZmP3VybDI9ZHJhZnQtaWV0Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLTA4
LnR4dCIgc3R5bGU9ImNvbG9yOiMwMDg7IHRleHQtZGVjb3JhdGlvbjpub25lOyI+Jmx0Ozwv
YT4mbmJzcDs8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0
Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLTA4LnR4dCIgc3R5bGU9ImNvbG9yOiMwMDgiPmRy
YWZ0LWlldGYtZGltZS1kb2ljLXJhdGUtY29udHJvbC0wOC50eHQ8L2E+Jm5ic3A7PC90aD48
dGg+IDwvdGg+PHRoPiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9kcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wtMDkudHh0IiBzdHlsZT0iY29s
b3I6IzAwOCI+ZHJhZnQtaWV0Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLTA5LnR4dDwvYT4m
bmJzcDs8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmY/dXJsMT1kcmFm
dC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wtMDkudHh0IiBzdHlsZT0iY29sb3I6IzAw
ODsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7Ij4mZ3Q7PC9hPjwvdGg+PHRoPjwvdGg+PC90cj4g
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+RGlhbWV0ZXIgTWFpbnRlbmFuY2UgYW5kIEV4dGVuc2lvbnMgKERJTUUpICAg
ICAgICAgICAgICAgUy4gRG9ub3ZhbiwgRWQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+RGlhbWV0ZXIgTWFpbnRlbmFuY2UgYW5kIEV4dGVuc2lvbnMgKERJTUUpICAgICAg
ICAgICAgICAgUy4gRG9ub3ZhbiwgRWQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij5JbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBPcmFjbGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5J
bnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBPcmFjbGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPkludGVu
ZGVkIHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRS4gTm9lbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPkludGVuZGVk
IHN0YXR1czogU3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRS4gTm9lbDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
IGlkPSJkaWZmMDAwMSI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj5FeHBpcmVzOiA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj5TZXB0ZW1iZXIgNiwgMjAxODwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQVQmYW1wO1QgTGFiczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj5FeHBpcmVzOiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5NYXJjaCAxNCwgMjAxOTwvc3Bh
bj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVQmYW1wO1QgTGFi
czwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJk
ZWxldGUiPk1hcmNoIDUsPC9zcGFuPiAyMDE4PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPlNlcHRlbWJlciAxMCw8L3NwYW4+IDIwMTg8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAg
ICAgICAgICAgRGlhbWV0ZXIgT3ZlcmxvYWQgUmF0ZSBDb250cm9sPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgRGlhbWV0ZXIgT3Zlcmxv
YWQgUmF0ZSBDb250cm9sPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHIgaWQ9ImRpZmYwMDAyIj48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgICBkcmFm
dC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wtMDxzcGFuIGNsYXNzPSJkZWxldGUiPjg8
L3NwYW4+LnR4dDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAg
ICAgICAgZHJhZnQtaWV0Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLTA8c3BhbiBjbGFzcz0i
aW5zZXJ0Ij45PC9zcGFuPi50eHQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+QWJzdHJhY3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5BYnN0
cmFjdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlz
IHNwZWNpZmljYXRpb24gZG9jdW1lbnRzIGFuIGV4dGVuc2lvbiB0byB0aGUgRGlhbWV0ZXIg
T3ZlcmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGlzIHNwZWNp
ZmljYXRpb24gZG9jdW1lbnRzIGFuIGV4dGVuc2lvbiB0byB0aGUgRGlhbWV0ZXIgT3Zlcmxv
YWQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEluZGljYXRpb24gQ29udmV5
YW5jZSAoRE9JQykgW1JGQzc2ODNdIGJhc2Ugc29sdXRpb24uICBUaGlzIGV4dGVuc2lvbjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEluZGljYXRpb24gQ29udmV5YW5j
ZSAoRE9JQykgW1JGQzc2ODNdIGJhc2Ugc29sdXRpb24uICBUaGlzIGV4dGVuc2lvbjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYWRkcyBhIG5ldyBvdmVybG9hZCBjb250
cm9sIGFiYXRlbWVudCBhbGdvcml0aG0uICBUaGlzIGFiYXRlbWVudDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFkZHMgYSBuZXcgb3ZlcmxvYWQgY29udHJvbCBhYmF0
ZW1lbnQgYWxnb3JpdGhtLiAgVGhpcyBhYmF0ZW1lbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPiAgIGFsZ29yaXRobSBhbGxvd3MgZm9yIGEgRE9JQyByZXBvcnRpbmcgbm9k
ZSB0byBzcGVjaWZ5IGEgbWF4aW11bSByYXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgYWxnb3JpdGhtIGFsbG93cyBmb3IgYSBET0lDIHJlcG9ydGluZyBub2RlIHRv
IHNwZWNpZnkgYSBtYXhpbXVtIHJhdGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIGF0IHdoaWNoIGEgRE9JQyByZWFjdGluZyBub2RlIHNlbmRzIERpYW1ldGVyIHJlcXVl
c3RzIHRvIHRoZSBET0lDPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXQg
d2hpY2ggYSBET0lDIHJlYWN0aW5nIG5vZGUgc2VuZHMgRGlhbWV0ZXIgcmVxdWVzdHMgdG8g
dGhlIERPSUM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcG9ydGluZyBu
b2RlLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHJlcG9ydGluZyBub2Rl
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0ciBpZD0icGFydC0yIiBjbGFzcz0iY2hhbmdlIj48dGQ+PC90ZD48dGg+
PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iI3BhcnQtMiI+
PGVtPiBwYWdlIDEsIGxpbmUgNDI8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+
PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9z
bWFsbD48YSBocmVmPSIjcGFydC0yIj48ZW0+IHBhZ2UgMSwgbGluZSA0MjxzcGFuIGNsYXNz
PSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJbnRlcm5l
dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVl
cmluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEludGVybmV0LURyYWZ0
cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nPC90
ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUYXNrIEZvcmNlIChJRVRGKS4gIE5v
dGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRhc2sgRm9yY2UgKElFVEYpLiAgTm90ZSB0aGF0IG90
aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC1EcmFmdHMuICBUaGUg
bGlzdCBvZiBjdXJyZW50IEludGVybmV0LTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0
IG9mIGN1cnJlbnQgSW50ZXJuZXQtPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBEcmFmdHMgaXMgYXQgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kcmFmdHMvY3Vy
cmVudC8uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRHJhZnRzIGlzIGF0
IGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZHJhZnRzL2N1cnJlbnQvLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJbnRlcm5ldC1EcmFmdHMg
YXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHM8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBJbnRlcm5ldC1EcmFmdHMgYXJl
IGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHM8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVw
bGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNl
ZCwgb3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnk8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRpbWUuICBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVz
ZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVmZXJlbmNlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgdGltZS4gIEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0
LURyYWZ0cyBhcyByZWZlcmVuY2U8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dy
ZXNzLiI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBtYXRlcmlhbCBvciB0
byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4iPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlm
ZjAwMDMiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGly
ZSBvbiA8c3BhbiBjbGFzcz0iZGVsZXRlIj5TZXB0ZW1iZXIgNiwgMjAxODwvc3Bhbj4uPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQg
d2lsbCBleHBpcmUgb24gPHNwYW4gY2xhc3M9Imluc2VydCI+TWFyY2ggMTQsIDIwMTk8L3Nw
YW4+LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5Db3B5cmln
aHQgTm90aWNlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+Q29weXJpZ2h0IE5v
dGljZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBDb3B5
cmlnaHQgKGMpIDIwMTggSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBh
cyB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBDb3B5cmlnaHQgKGMp
IDIwMTggSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcyB0aGU8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRvY3VtZW50IGF1dGhvcnMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGRv
Y3VtZW50IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3Qg
dG8gQkNQIDc4IGFuZCB0aGUgSUVURiBUcnVzdCdzIExlZ2FsPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIEJDUCA3OCBh
bmQgdGhlIElFVEYgVHJ1c3QncyBMZWdhbDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50czwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFByb3Zpc2lvbnMgUmVsYXRpbmcgdG8gSUVURiBE
b2N1bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChodHRwczovL3Ry
dXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKSBpbiBlZmZlY3Qgb24gdGhlIGRhdGUgb2Y8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoaHR0cHM6Ly90cnVzdGVlLmll
dGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0IG9uIHRoZSBkYXRlIG9mPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50
LiAgUGxlYXNlIHJldmlldyB0aGVzZSBkb2N1bWVudHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50LiAgUGxlYXNlIHJl
dmlldyB0aGVzZSBkb2N1bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJwYXJ0LTMiIGNsYXNzPSJjaGFuZ2UiPjx0ZD48
L3RkPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSIj
cGFydC0zIj48ZW0+IHBhZ2UgMiwgbGluZSAyNjxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3Nw
YW4+PC9lbT48L2E+PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFu
Z2UgYXQ8L3NtYWxsPjxhIGhyZWY9IiNwYXJ0LTMiPjxlbT4gcGFnZSAyLCBsaW5lIDI2PHNw
YW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgMS4gIEludHJvZHVjdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgMS4gIEludHJvZHVjdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICAyLiAgVGVybWlub2xvZ3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgIDQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICAyLiAgVGVybWlub2xvZ3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgIDQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDMu
ICBJbnRlcmFjdGlvbiB3aXRoIERPSUMgUmVwb3J0IFR5cGVzICAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAgNTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDMuICBJ
bnRlcmFjdGlvbiB3aXRoIERPSUMgUmVwb3J0IFR5cGVzICAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAgNTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgNC4gIENhcGFi
aWxpdHkgQW5ub3VuY2VtZW50IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gICA1PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgNC4gIENhcGFiaWxp
dHkgQW5ub3VuY2VtZW50IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
ICA1PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICA1LiAgT3ZlcmxvYWQgUmVw
b3J0IEhhbmRsaW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDY8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICA1LiAgT3ZlcmxvYWQgUmVwb3J0
IEhhbmRsaW5nICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDY8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNS4xLiAgUmVwb3J0aW5nIE5vZGUg
T3ZlcmxvYWQgQ29udHJvbCBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNS4xLiAgUmVwb3J0aW5nIE5vZGUgT3Zl
cmxvYWQgQ29udHJvbCBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA1LjIuICBSZWFjdGluZyBOb2RlIE92ZXJsb2Fk
IENvbnRyb2wgU3RhdGUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA2PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgICA1LjIuICBSZWFjdGluZyBOb2RlIE92ZXJsb2FkIENv
bnRyb2wgU3RhdGUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA2PC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICAgIDUuMy4gIFJlcG9ydGluZyBOb2RlIE1haW50ZW5hbmNlIG9m
IE92ZXJsb2FkIENvbnRyb2wgU3RhdGUgIC4gLiAgIDc8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICAgIDUuMy4gIFJlcG9ydGluZyBOb2RlIE1haW50ZW5hbmNlIG9mIE92
ZXJsb2FkIENvbnRyb2wgU3RhdGUgIC4gLiAgIDc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgICAgNS40LiAgUmVhY3RpbmcgTm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9h
ZCBDb250cm9sIFN0YXRlIC4gLiAuICAgNzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgICAgNS40LiAgUmVhY3RpbmcgTm9kZSBNYWludGVuYW5jZSBvZiBPdmVybG9hZCBD
b250cm9sIFN0YXRlIC4gLiAuICAgNzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyIGlkPSJkaWZmMDAwNCI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgIDUuNS4gIFJl
cG9ydGluZyBOb2RlIEJlaGF2aW9yIGZvciBSYXRlIEFiYXRlbWVudCBBbGdvcml0aG0gIC4g
LiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjc8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPiAgICAgNS41LiAgUmVwb3J0aW5nIE5vZGUgQmVoYXZpb3IgZm9yIFJh
dGUgQWJhdGVtZW50IEFsZ29yaXRobSAgLiAuICAgPHNwYW4gY2xhc3M9Imluc2VydCI+ODwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNS42LiAgUmVhY3Rp
bmcgTm9kZSBCZWhhdmlvciBmb3IgUmF0ZSBBYmF0ZW1lbnQgQWxnb3JpdGhtIC4gLiAuICAg
ODwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNS42LiAgUmVhY3Rpbmcg
Tm9kZSBCZWhhdmlvciBmb3IgUmF0ZSBBYmF0ZW1lbnQgQWxnb3JpdGhtIC4gLiAuICAgODwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgNi4gIFJhdGUgQWJhdGVtZW50IEFs
Z29yaXRobSBBVlBzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA4PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgNi4gIFJhdGUgQWJhdGVtZW50IEFsZ29y
aXRobSBBVlBzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA4PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDYuMS4gIE9DLVN1cHBvcnRlZC1GZWF0dXJl
cyBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDg8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDYuMS4gIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBB
VlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDg8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMDUiPjx0ZD48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgICAgIDYuMS4xLiAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gICA8c3BhbiBjbGFzcz0iZGVsZXRlIj44PC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgNi4xLjEuICBPQy1GZWF0dXJl
LVZlY3RvciBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPjk8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICAgIDYuMi4gIE9DLU9MUiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgIDk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg
IDYuMi4gIE9DLU9MUiBBVlAgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgIDk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICA2
LjIuMS4gIE9DLU1heGltdW0tUmF0ZSBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuICAgOTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICA2LjIu
MS4gIE9DLU1heGltdW0tUmF0ZSBBVlAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICAgOTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA2LjMuICBBdHRy
aWJ1dGUgVmFsdWUgUGFpciBGbGFnIFJ1bGVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
ICA5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA2LjMuICBBdHRyaWJ1
dGUgVmFsdWUgUGFpciBGbGFnIFJ1bGVzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA5
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICA3LiAgUmF0ZSBCYXNlZCBBYmF0
ZW1lbnQgQWxnb3JpdGhtICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTA8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICA3LiAgUmF0ZSBCYXNlZCBBYmF0ZW1l
bnQgQWxnb3JpdGhtICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTA8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgNy4xLiAgT3ZlcnZpZXcgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMDwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgNy4xLiAgT3ZlcnZpZXcgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA3LjIuICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvciAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEwPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICA3LjIuICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvciAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEwPC90ZD48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICAgIDcuMy4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICAgIDcuMy4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgICA3LjMuMS4gIERlZmF1bHQgQWxnb3JpdGhtIGZvciBSYXRlLWJhc2VkIENv
bnRyb2wgIC4gLiAuIC4gLiAuICAxMTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgICAgICA3LjMuMS4gIERlZmF1bHQgQWxnb3JpdGhtIGZvciBSYXRlLWJhc2VkIENvbnRy
b2wgIC4gLiAuIC4gLiAuICAxMTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
ICAgIDcuMy4yLiAgUHJpb3JpdHkgVHJlYXRtZW50ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gIDE0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAg
IDcuMy4yLiAgUHJpb3JpdHkgVHJlYXRtZW50ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDE0PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgNy4z
LjMuICBPcHRpb25hbCBFbmhhbmNlbWVudDogQXZvaWRhbmNlIG9mIFJlc29uYW5jZSAgLiAu
IC4gLiAgMTY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgNy4zLjMu
ICBPcHRpb25hbCBFbmhhbmNlbWVudDogQXZvaWRhbmNlIG9mIFJlc29uYW5jZSAgLiAuIC4g
LiAgMTY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDguICBJQU5BIENvbnNp
ZGVyYXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAx
NzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDguICBJQU5BIENvbnNpZGVy
YXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNzwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICA4LjEuICBBVlAgQ29kZXMgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE3PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICA4LjEuICBBVlAgQ29kZXMgLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE3PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDguMi4gIE5ldyBSZWdpc3RyaWVzICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTc8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDguMi4gIE5ldyBSZWdpc3RyaWVzICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTc8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMDYiPjx0ZD48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgOS4gIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPjE3PC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PjguMy4gIE5ldyBET0lDIHJlcG9ydCB0eXBlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAgMTc8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA5LiAgU2VjdXJpdHkgQ29u
c2lkZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNw
YW4gY2xhc3M9Imluc2VydCI+MTg8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAxMC4gQWNrbm93bGVkZ2VtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAgMTg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICAxMC4gQWNrbm93bGVkZ2VtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAgMTg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IDExLiBSZWZlcmVuY2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICAxODwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDEx
LiBSZWZlcmVuY2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuICAxODwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAxMS4x
LiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gIDE4PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAxMS4xLiAg
Tm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gIDE4PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIDExLjIuICBJbmZv
cm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
MTg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIDExLjIuICBJbmZvcm1h
dGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTg8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAw
MDciPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgQXV0aG9ycycgQWRkcmVzc2VzICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE8c3BhbiBjbGFzcz0iZGVsZXRl
Ij44PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBBdXRob3Jz
JyBBZGRyZXNzZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgMTxzcGFuIGNsYXNzPSJpbnNlcnQiPjk8L3NwYW4+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjEuICBJbnRyb2R1Y3Rpb248L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4xLiAgSW50cm9kdWN0aW9uPC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIG5l
dyBEaWFtZXRlciBvdmVybG9hZCBjb250cm9sIGFiYXRlbWVudDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIG5ldyBEaWFtZXRl
ciBvdmVybG9hZCBjb250cm9sIGFiYXRlbWVudDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgYWxnb3JpdGhtLCB0aGUgInJhdGUiIGFsZ29yaXRobS48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhbGdvcml0aG0sIHRoZSAicmF0ZSIgYWxnb3JpdGht
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGUgYmFz
ZSBEaWFtZXRlciBvdmVybG9hZCBzcGVjaWZpY2F0aW9uIFtSRkM3NjgzXSBkZWZpbmVzIHRo
ZSAibG9zcyI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgYmFzZSBE
aWFtZXRlciBvdmVybG9hZCBzcGVjaWZpY2F0aW9uIFtSRkM3NjgzXSBkZWZpbmVzIHRoZSAi
bG9zcyI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsZ29yaXRobSBhcyB0
aGUgZGVmYXVsdCBEaWFtZXRlciBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtLiAgVGhl
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYWxnb3JpdGhtIGFzIHRoZSBk
ZWZhdWx0IERpYW1ldGVyIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0aG0uICBUaGU8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMDgi
Pjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgbG9zcyBhbGdvcml0aG0gYWxsb3dzIGEgcmVwb3J0aW5nIG5v
ZGUgdG8gaW5zdHJ1Y3QgYSByZWFjdGluZyBub2RlIHRvPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPiAgIGxvc3MgYWxnb3JpdGhtIGFsbG93cyBhIHJlcG9ydGluZyBub2Rl
IDxzcGFuIGNsYXNzPSJpbnNlcnQiPihzZWUgU2VjdGlvbiAyKTwvc3Bhbj4gdG8gaW5zdHJ1
Y3QgYTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICByZWR1Y2UgdGhlIGFt
b3VudCBvZiB0cmFmZmljIHNlbnQgdG8gdGhlIHJlcG9ydGluZyBub2RlIGJ5IGFiYXRpbmc8
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgcmVhY3Rpbmcgbm9kZSA8c3Bh
biBjbGFzcz0iaW5zZXJ0Ij4oc2VlIFNlY3Rpb24gMik8L3NwYW4+IHRvIHJlZHVjZSB0aGUg
YW1vdW50IG9mIHRyYWZmaWMgc2VudCB0bzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj4gICAoZGl2ZXJ0aW5nIG9yIHRocm90dGxpbmcpIGEgcGVyY2VudGFnZSBvZiByZXF1
ZXN0cyBzZW50IHRvIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICB0
aGUgcmVwb3J0aW5nIG5vZGUgYnkgYWJhdGluZyAoZGl2ZXJ0aW5nIG9yIHRocm90dGxpbmcp
IGEgcGVyY2VudGFnZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBzZXJ2
ZXIuICBXaGlsZSB0aGlzIGNhbiBlZmZlY3RpdmVseSBkZWNyZWFzZSB0aGUgbG9hZCBoYW5k
bGVkIGJ5IHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBvZiByZXF1
ZXN0cyBzZW50IHRvIHRoZSBzZXJ2ZXIuICBXaGlsZSB0aGlzIGNhbiBlZmZlY3RpdmVseSBk
ZWNyZWFzZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBzZXJ2ZXIsIGl0
IGRvZXMgbm90IGRpcmVjdGx5IGFkZHJlc3MgY2FzZXMgd2hlcmUgdGhlIHJhdGUgb2YgYXJy
aXZhbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICB0aGUgbG9hZCBoYW5k
bGVkIGJ5IHRoZSBzZXJ2ZXIsIGl0IGRvZXMgbm90IGRpcmVjdGx5IGFkZHJlc3MgY2FzZXM8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgb2Ygc2VydmljZSByZXF1ZXN0
cyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5pbmNyZWFzZXM8L3NwYW4+IHF1aWNrbHkuICA8c3Bh
biBjbGFzcz0iZGVsZXRlIj5JZjwvc3Bhbj4gdGhlIHNlcnZpY2UgcmVxdWVzdHMgdGhhdDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICB3aGVyZSB0aGUgcmF0ZSBvZiBh
cnJpdmFsIG9mIHNlcnZpY2UgcmVxdWVzdHMgPHNwYW4gY2xhc3M9Imluc2VydCI+Y2hhbmdl
czwvc3Bhbj4gcXVpY2tseS4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkZvcjwvc3Bhbj48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgcmVzdWx0IGluIERpYW1ldGVyIHRy
YW5zYWN0aW9ucyBpbmNyZWFzZSBxdWlja2x5IHRoZW4gdGhlIGxvc3M8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgaW5zdGFuY2Us
IGlmPC9zcGFuPiB0aGUgc2VydmljZSByZXF1ZXN0cyB0aGF0IHJlc3VsdCBpbiBEaWFtZXRl
cjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBhbGdvcml0aG0gY2Fubm90
IGd1YXJhbnRlZSB0aGUgbG9hZCBwcmVzZW50ZWQgdG8gdGhlIHNlcnZlciByZW1haW5zPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHRyYW5zYWN0aW9ucyBpbmNyZWFz
ZSBxdWlja2x5IHRoZW4gdGhlIGxvc3MgYWxnb3JpdGhtIGNhbm5vdDwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBiZWxvdyBhIHNwZWNpZmljIHJhdGUgbGV2ZWwuICBU
aGUgbG9zcyBhbGdvcml0aG0gY2FuIGJlIHNsb3cgdG88L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgZ3VhcmFudGVlIHRoZSBsb2FkIHByZXNlbnRlZCB0byB0aGUgc2Vy
dmVyIHJlbWFpbnMgYmVsb3cgYSBzcGVjaWZpYzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj4gICBwcm90ZWN0IHRoZSBzdGFiaWxpdHkgb2YgcmVwb3J0aW5nIG5vZGVzIHdo
ZW4gc3ViamVjdGVkIHdpdGggcmFwaWRseTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICByYXRlIGxldmVsLiAgVGhlIGxvc3MgYWxnb3JpdGhtIGNhbiBiZSBzbG93IHRv
IHByb3RlY3QgdGhlIHN0YWJpbGl0eTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICBjaGFuZ2luZyBsb2Fkcy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
ICAgb2YgcmVwb3J0aW5nIG5vZGVzIHdoZW4gc3ViamVjdGVkIHdpdGggcmFwaWRseSBjaGFu
Z2luZyBsb2Fkcy4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPlRoZTwvc3Bhbj48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICJsb3NzIiBhbGdvcml0aG0gZXJycyBib3Ro
IGluIHRocm90dGxpbmcgVE9PIE1VQ0ggd2hlbiB0aGVyZSBpcyBhIGRpcDwvc3Bhbj48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIGluIG9mZmVyZWQgbG9hZCwgYW5k
IHRocm90dGxpbmcgTk9UIEVOT1VHSCB3aGVuIHRoZXJlIGlzIGEgc3Bpa2UgaW48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBvZmZlcmVkIGxvYWQuPC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBDb25z
aWRlciB0aGUgY2FzZSB3aGVyZSBhIHJlYWN0aW5nIG5vZGUgaXMgaGFuZGxpbmcgMTAwIHNl
cnZpY2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBDb25zaWRlciB0aGUg
Y2FzZSB3aGVyZSBhIHJlYWN0aW5nIG5vZGUgaXMgaGFuZGxpbmcgMTAwIHNlcnZpY2U8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcXVlc3RzIHBlciBzZWNvbmQsIHdo
ZXJlIGVhY2ggb2YgdGhlc2Ugc2VydmljZSByZXF1ZXN0cyByZXN1bHRzIGluPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcmVxdWVzdHMgcGVyIHNlY29uZCwgd2hlcmUg
ZWFjaCBvZiB0aGVzZSBzZXJ2aWNlIHJlcXVlc3RzIHJlc3VsdHMgaW48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG9uZSBEaWFtZXRlciB0cmFuc2FjdGlvbiBiZWluZyBz
ZW50IHRvIGEgcmVwb3J0aW5nIG5vZGUuICBJZiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICBvbmUgRGlhbWV0ZXIgdHJhbnNhY3Rpb24gYmVpbmcgc2VudCB0byBh
IHJlcG9ydGluZyBub2RlLiAgSWYgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICByZXBvcnRpbmcgbm9kZSBpcyBhcHByb2FjaGluZyBhbiBvdmVybG9hZCBzdGF0ZSwg
b3IgaXMgYWxyZWFkeSBpbiBhbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
IHJlcG9ydGluZyBub2RlIGlzIGFwcHJvYWNoaW5nIGFuIG92ZXJsb2FkIHN0YXRlLCBvciBp
cyBhbHJlYWR5IGluIGFuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvdmVy
bG9hZCBzdGF0ZSwgaXQgd2lsbCBzZW5kIGEgRGlhbWV0ZXIgb3ZlcmxvYWQgcmVwb3J0IHJl
cXVlc3RpbmcgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG92ZXJsb2Fk
IHN0YXRlLCBpdCB3aWxsIHNlbmQgYSBEaWFtZXRlciBvdmVybG9hZCByZXBvcnQgcmVxdWVz
dGluZyBhPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBwZXJjZW50YWdlIHJl
ZHVjdGlvbiBpbiB0cmFmZmljIHNlbnQgd2hlbiB0aGUgbG9zcyBhbGdvcml0aG0gaXMgdXNl
ZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHBlcmNlbnRhZ2UgcmVkdWN0
aW9uIGluIHRyYWZmaWMgc2VudCB3aGVuIHRoZSBsb3NzIGFsZ29yaXRobSBpcyB1c2VkPC90
ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhcyBEaWFtZXRlciBvdmVybG9hZCBh
YmF0ZW1lbnQgYWxnb3JpdGhtLiAgQXNzdW1lIGZvciB0aGlzIGRpc2N1c3Npb248L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhcyBEaWFtZXRlciBvdmVybG9hZCBhYmF0
ZW1lbnQgYWxnb3JpdGhtLiAgQXNzdW1lIGZvciB0aGlzIGRpc2N1c3Npb248L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoYXQgdGhlIHJlcG9ydGluZyBub2RlIHJlcXVl
c3RzIGEgMTAlIHJlZHVjdGlvbi4gIFRoZSByZWFjdGluZyBub2RlPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgdGhhdCB0aGUgcmVwb3J0aW5nIG5vZGUgcmVxdWVzdHMg
YSAxMCUgcmVkdWN0aW9uLiAgVGhlIHJlYWN0aW5nIG5vZGU8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIHdpbGwgdGhlbiBhYmF0ZSAoZGl2ZXJ0aW5nIG9yIHRocm90dGxp
bmcpIHRlbiBEaWFtZXRlciB0cmFuc2FjdGlvbnMgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIHdpbGwgdGhlbiBhYmF0ZSAoZGl2ZXJ0aW5nIG9yIHRocm90dGxpbmcp
IHRlbiBEaWFtZXRlciB0cmFuc2FjdGlvbnMgYTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtNCIgY2xhc3M9ImNoYW5n
ZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxh
IGhyZWY9IiNwYXJ0LTQiPjxlbT4gcGFnZSA0LCBsaW5lIDE3PHNwYW4gY2xhc3M9ImhpZGUi
PiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxsPnNraXBwaW5n
IHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iI3BhcnQtNCI+PGVtPiBwYWdlIDQsIGxp
bmUgMjA8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRkPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgT25lIG9mIHRoZSBiZW5lZml0cyBvZiBhIHJhdGUgYmFzZWQgYWxnb3JpdGht
IG92ZXIgdGhlIGxvc3MgYWxnb3JpdGhtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+ICAgT25lIG9mIHRoZSBiZW5lZml0cyBvZiBhIHJhdGUgYmFzZWQgYWxnb3JpdGhtIG92
ZXIgdGhlIGxvc3MgYWxnb3JpdGhtPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBpcyB0aGF0IGl0IGJldHRlciBoYW5kbGVzIHNwaWtlcyBpbiB0cmFmZmljLiAgSW5zdGVh
ZCBvZiBzZW5kaW5nIGE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBpcyB0
aGF0IGl0IGJldHRlciBoYW5kbGVzIHNwaWtlcyBpbiB0cmFmZmljLiAgSW5zdGVhZCBvZiBz
ZW5kaW5nIGE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcXVlc3QgdG8g
cmVkdWNlIHRyYWZmaWMgYnkgYSBwZXJjZW50YWdlLCB0aGUgcmF0ZSBhcHByb2FjaCBhbGxv
d3M8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXF1ZXN0IHRvIHJlZHVj
ZSB0cmFmZmljIGJ5IGEgcGVyY2VudGFnZSwgdGhlIHJhdGUgYXBwcm9hY2ggYWxsb3dzPC90
ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGUgcmVwb3J0aW5nIG5vZGUgdG8g
c3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgRGlhbWV0ZXIgcmVxdWVzdHM8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgcmVwb3J0aW5nIG5vZGUgdG8gc3Bl
Y2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgRGlhbWV0ZXIgcmVxdWVzdHM8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHBlciBzZWNvbmQgdGhhdCBjYW4gYmUgc2VudCB0
byB0aGUgcmVwb3J0aW5nIG5vZGUuICBGb3IgaW5zdGFuY2UsIGluPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgcGVyIHNlY29uZCB0aGF0IGNhbiBiZSBzZW50IHRvIHRo
ZSByZXBvcnRpbmcgbm9kZS4gIEZvciBpbnN0YW5jZSwgaW48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIHRoaXMgZXhhbXBsZSwgdGhlIHJlcG9ydGluZyBub2RlIGNvdWxk
IHNlbmQgYSByYXRlLWJhc2VkIHJlcXVlc3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICB0aGlzIGV4YW1wbGUsIHRoZSByZXBvcnRpbmcgbm9kZSBjb3VsZCBzZW5kIGEg
cmF0ZS1iYXNlZCByZXF1ZXN0PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBz
cGVjaWZ5aW5nIHRoZSBtYXhpbXVtIHRyYW5zYWN0aW9ucyBwZXIgc2Vjb25kIHRvIGJlIDkw
LiAgVGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgc3BlY2lmeWluZyB0
aGUgbWF4aW11bSB0cmFuc2FjdGlvbnMgcGVyIHNlY29uZCB0byBiZSA5MC4gIFRoZTwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcmVhY3Rpbmcgbm9kZSB3aWxsIHNlbmQg
dGhlIDkwIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyByZWNlaXZpbmc8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZWFjdGluZyBub2RlIHdpbGwgc2VuZCB0aGUg
OTAgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIHJlY2VpdmluZzwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgMTAwIG9yIDEwMDAgc2VydmljZSByZXF1ZXN0cyBwZXIg
c2Vjb25kLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDEwMCBvciAxMDAw
IHNlcnZpY2UgcmVxdWVzdHMgcGVyIHNlY29uZC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAwOSI+PHRkPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj4gICBUaGlzIGRvY3VtZW50IGV4dGVuZHMgdGhlIGJhc2UgPHNwYW4gY2xhc3M9ImRl
bGV0ZSI+RE9JQzwvc3Bhbj4gc29sdXRpb24gW1JGQzc2ODNdIHRvIGFkZCBzdXBwb3J0PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMgZG9jdW1lbnQgZXh0ZW5k
cyB0aGUgYmFzZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5EaWFtZXRlciBPdmVybG9hZCBJbmRp
Y2F0aW9uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBmb3Ig
dGhlIHJhdGUgYmFzZWQgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobS48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgQ29udmV5
YW5jZSAoRE9JQyk8L3NwYW4+IHNvbHV0aW9uIFtSRkM3NjgzXSB0byBhZGQgc3VwcG9ydCBm
b3IgdGhlIHJhdGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGJhc2VkIG92ZXJsb2FkIGFiYXRlbWVudCBh
bGdvcml0aG0uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IFRoaXMgZG9jdW1lbnQgZHJhd3MgaGVhdmlseSBvbiB3b3JrIGluIHRoZSBTSVAgT3Zlcmxv
YWQgQ29udHJvbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9j
dW1lbnQgZHJhd3MgaGVhdmlseSBvbiB3b3JrIGluIHRoZSBTSVAgT3ZlcmxvYWQgQ29udHJv
bDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgd29ya2luZyBncm91cC4gIFRo
ZSBkZWZpbml0aW9uIG9mIHRoZSByYXRlIGFiYXRlbWVudCBhbGdvcml0aG0gaXM8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB3b3JraW5nIGdyb3VwLiAgVGhlIGRlZmlu
aXRpb24gb2YgdGhlIHJhdGUgYWJhdGVtZW50IGFsZ29yaXRobSBpczwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAxMCI+PHRkPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj4gICBjb3BpZWQgYWxtb3N0IHZlcmJhdGltIGZyb20gdGhlIDxzcGFuIGNsYXNzPSJk
ZWxldGUiPlNPQzwvc3Bhbj4gZG9jdW1lbnQgW1JGQzc0MTVdLCB3aXRoIGNoYW5nZXM8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgY29waWVkIGFsbW9zdCB2ZXJiYXRp
bSBmcm9tIHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5TSVAgT3ZlcmxvYWQgQ29udHJvbCAo
U09DKTwvc3Bhbj4gZG9jdW1lbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgZm9jdXNlZCBvbiBtYWtpbmcgdGhlIHdvcmRpbmcgY29uc2lzdGVudCB3aXRoIHRoZSBE
T0lDIHNvbHV0aW9uIGFuZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBb
UkZDNzQxNV0sIHdpdGggY2hhbmdlcyBmb2N1c2VkIG9uIG1ha2luZyB0aGUgd29yZGluZyBj
b25zaXN0ZW50IHdpdGg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgdGhl
IERpYW1ldGVyIHByb3RvY29sLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4g
ICB0aGUgRE9JQyBzb2x1dGlvbiBhbmQgdGhlIERpYW1ldGVyIHByb3RvY29sLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4yLiAgVGVybWlub2xvZ3k8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4yLiAgVGVybWlub2xvZ3k8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgRGlhbWV0ZXIgTm9kZTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIERpYW1ldGVyIE5vZGU8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZm
MDAxMSI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBBIDxzcGFuIGNsYXNzPSJkZWxldGUiPlJGQzY3
MzM8L3NwYW4+IERpYW1ldGVyIENsaWVudCwgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+UkZDNjcz
Mzwvc3Bhbj4gRGlhbWV0ZXIgU2VydmVyLCBvciA8c3BhbiBjbGFzcz0iZGVsZXRlIj5SRkM2
NzMzPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBBIERp
YW1ldGVyIENsaWVudCwgRGlhbWV0ZXIgU2VydmVyLCBvciBEaWFtZXRlciBBZ2VudC4gIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPltSRkM2NzMzXTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgICAgRGlhbWV0ZXIgQWdlbnQuPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICBEaWFtZXRlciBFbmRwb2ludDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIERpYW1ldGVyIEVuZHBvaW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTIiPjx0ZD48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgICAgQTxzcGFuIGNsYXNzPSJkZWxldGUiPm4gUkZDNjczMyBEaWFtZXRlciBDbGllbnQg
b3IgUkZDNjczMyBEaWFtZXRlciBTZXJ2ZXIuPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj4gICAgICBBPHNwYW4gY2xhc3M9Imluc2VydCI+IERpYW1ldGVyIENs
aWVudCBvciBEaWFtZXRlciBTZXJ2ZXIuICBbUkZDNjczM108L3NwYW4+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERPSUMgTm9kZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIERPSUMgTm9kZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBBIERpYW1ldGVyIE5vZGUgdGhhdCBzdXBw
b3J0cyB0aGUgRE9JQyBzb2x1dGlvbiBkZWZpbmVkIGluPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgICAgQSBEaWFtZXRlciBOb2RlIHRoYXQgc3VwcG9ydHMgdGhlIERP
SUMgc29sdXRpb24gZGVmaW5lZCBpbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgICAgW1JGQzc2ODNdLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAg
IFtSRkM3NjgzXS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgUmVwb3J0aW5nIE5vZGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBS
ZXBvcnRpbmcgTm9kZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij4gICAgICBBIERPSUMgTm9kZSB0aGF0IHNlbmRzIGEgRE9JQyBvdmVybG9hZCByZXBvcnQu
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgQSBET0lDIE5vZGUgdGhh
dCBzZW5kcyBhIERPSUMgb3ZlcmxvYWQgcmVwb3J0LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC01
IiBjbGFzcz0iY2hhbmdlIj48dGQ+PC90ZD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5n
ZSBhdDwvc21hbGw+PGEgaHJlZj0iI3BhcnQtNSI+PGVtPiBwYWdlIDUsIGxpbmUgMjg8c3Bh
biBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48
c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSIjcGFydC01Ij48
ZW0+IHBhZ2UgNSwgbGluZSAyODxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48
L2E+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoZSByYXRlIGFsZ29yaXRobSBN
QVkgYmUgc2VsZWN0ZWQgYnkgcmVwb3J0aW5nIG5vZGVzIGZvciBhbnkgb2Y8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgcmF0ZSBhbGdvcml0aG0gTUFZIGJlIHNl
bGVjdGVkIGJ5IHJlcG9ydGluZyBub2RlcyBmb3IgYW55IG9mPC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICB0aGVzZSByZXBvcnQgdHlwZXMuPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgdGhlc2UgcmVwb3J0IHR5cGVzLjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJdCBpcyBleHBlY3RlZCB0aGF0IGFsbCBy
ZXBvcnQgdHlwZXMgZGVmaW5lZCBpbiB0aGUgZnV0dXJlIHdpbGw8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBJdCBpcyBleHBlY3RlZCB0aGF0IGFsbCByZXBvcnQgdHlw
ZXMgZGVmaW5lZCBpbiB0aGUgZnV0dXJlIHdpbGw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoZSByYXRlIGFsZ29yaXRobSBj
YW4gYmUgdXNlZCB3aXRoIHRoYXQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBpbmRpY2F0ZSB3aGV0aGVyIG9yIG5vdCB0aGUgcmF0ZSBhbGdvcml0aG0gY2FuIGJlIHVz
ZWQgd2l0aCB0aGF0PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXBvcnQg
dHlwZS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXBvcnQgdHlwZS48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+NC4gIENhcGFiaWxp
dHkgQW5ub3VuY2VtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+NC4gIENh
cGFiaWxpdHkgQW5ub3VuY2VtZW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTMiPjx0ZD48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
VGhpcyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5leHRlbnNpb248L3NwYW4+IGRlZmluZXMgdGhl
IHJhdGUgYWJhdGVtZW50IGFsZ29yaXRobSAocmVmZXJyZWQgdG8gYXM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+ICAgVGhpcyA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5kb2N1
bWVudDwvc3Bhbj4gZGVmaW5lcyB0aGUgcmF0ZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIChyZWZl
cnJlZCB0byBhczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICByYXRlIGlu
IHRoaXMgZG9jdW1lbnQpIGZlYXR1cmUuICBTdXBwb3J0IDxzcGFuIGNsYXNzPSJkZWxldGUi
Pm9mPC9zcGFuPiB0aGUgcmF0ZSBmZWF0dXJlIGJ5IDxzcGFuIGNsYXNzPSJkZWxldGUiPnRo
ZTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgcmF0ZSBpbiB0
aGlzIGRvY3VtZW50KSBmZWF0dXJlLiAgU3VwcG9ydCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5m
b3I8L3NwYW4+IHRoZSByYXRlIGZlYXR1cmUgYnkgPHNwYW4gY2xhc3M9Imluc2VydCI+YTwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgRE9JQyBub2RlIDxz
cGFuIGNsYXNzPSJkZWxldGUiPmlzIGFubm91bmNlZDwvc3Bhbj4gYnkgYSBuZXcgdmFsdWUg
b2YgdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUCw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgRE9JQyBub2RlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPndpbGwgYmUgaW5k
aWNhdGVkPC9zcGFuPiBieSBhIG5ldyB2YWx1ZSBvZiB0aGUgT0MtRmVhdHVyZS1WZWN0b3I8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgYXMgZGVzY3JpYmVkIGluIFNl
Y3Rpb24gNi4xLjEsIHBlciB0aGUgcnVsZXMgZGVmaW5lZCBpbiBbUkZDNzY4M10uPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIEFWUCwgYXMgZGVzY3JpYmVkIGluIFNl
Y3Rpb24gNi4xLjEsIHBlciB0aGUgcnVsZXMgZGVmaW5lZCBpbjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAg
W1JGQzc2ODNdLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry
PgogICAgICA8dHIgaWQ9ImRpZmYwMDE0Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNz
PSJkZWxldGUiPlRoZSBsb3NzIGFsZ29yaXRobSBiZWluZyB0aGUgZGVmYXVsdCBhbGdvcml0
aG0gc3VwcG9ydGVkIGJ5PC9zcGFuPiBhbGwgbm9kZXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+U2luY2U8L3NwYW4+IGFsbCBu
b2RlcyB0aGF0IHN1cHBvcnQgPHNwYW4gY2xhc3M9Imluc2VydCI+RE9JQyBhcmUgcmVxdWly
ZWQgdG8gc3VwcG9ydDwvc3Bhbj4gdGhlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmxvc3M8L3Nw
YW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHRoYXQgc3VwcG9ydCB0
aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+RGlhbWV0ZXIgb3ZlcmxvYWQgY29udHJvbCBtZWNo
YW5pc20gYXMgc3BlY2lmaWVkIGluPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBhbGdvcml0aG0sPC9zcGFuPiBET0lD
IG5vZGVzIHN1cHBvcnRpbmcgdGhlIHJhdGUgZmVhdHVyZSB3aWxsIHN1cHBvcnQgYm90aDwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4g
ICBbUkZDNzY4M10sPC9zcGFuPiBET0lDIG5vZGVzIHN1cHBvcnRpbmcgdGhlIHJhdGUgZmVh
dHVyZSB3aWxsIHN1cHBvcnQgYm90aDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoZSBsb3NzIGFuZCByYXRl
IGJhc2VkIGFiYXRlbWVudCBhbGdvcml0aG1zLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIHRoZSBsb3NzIGFuZCByYXRlIGJhc2VkIGFiYXRlbWVudCBhbGdvcml0aG1z
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBET0lDIHJl
YWN0aW5nIG5vZGVzIHN1cHBvcnRpbmcgdGhlIHJhdGUgZmVhdHVyZSBNVVNUIGluZGljYXRl
IHN1cHBvcnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBET0lDIHJlYWN0
aW5nIG5vZGVzIHN1cHBvcnRpbmcgdGhlIHJhdGUgZmVhdHVyZSBNVVNUIGluZGljYXRlIHN1
cHBvcnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGZvciBib3RoIHRoZSBs
b3NzIGFuZCByYXRlIGFsZ29yaXRobXMgaW4gdGhlIE9DLUZlYXR1cmUtVmVjdG9yIEFWUC48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBmb3IgYm90aCB0aGUgbG9zcyBh
bmQgcmF0ZSBhbGdvcml0aG1zIGluIHRoZSBPQy1GZWF0dXJlLVZlY3RvciBBVlAuPC90ZD48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEFzIGRlZmluZWQgaW4g
W1JGQzc2ODNdLCBhIERPSUMgcmVwb3J0aW5nIG5vZGUgc3VwcG9ydGluZyB0aGUgcmF0ZTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEFzIGRlZmluZWQgaW4gW1JGQzc2
ODNdLCBhIERPSUMgcmVwb3J0aW5nIG5vZGUgc3VwcG9ydGluZyB0aGUgcmF0ZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZmVhdHVyZSBNVVNUIHNlbGVjdCBhIHNpbmds
ZSBhYmF0ZW1lbnQgYWxnb3JpdGhtIGluIHRoZSBPQy1GZWF0dXJlLTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIGZlYXR1cmUgTVVTVCBzZWxlY3QgYSBzaW5nbGUgYWJh
dGVtZW50IGFsZ29yaXRobSBpbiB0aGUgT0MtRmVhdHVyZS08L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTUiPjx0ZD48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgVmVjdG9yIEFWUCBhbmQgT0MtUGVlci1BbGdvIEFWUCBpbiB0aGUgc2VudCB0byB0aGUg
RE9JQyByZWFjdGluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBWZWN0
b3IgQVZQIGFuZCBPQy1QZWVyLUFsZ28gQVZQIGluIHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij5hbnN3ZXIgbWVzc2FnZTwvc3Bhbj4gc2VudCB0byB0aGU8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgbm9kZXMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPiAgIERPSUMgcmVhY3Rpbmcgbm9kZXMuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTYiPjx0ZD48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+ICAgQSByZXBvcnRpbmcgbm9kZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5NQVk8L3NwYW4+
IHNlbGVjdCBvbmUgYWJhdGVtZW50IGFsZ29yaXRobSB0byBhcHBseSB0byBob3N0PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIEEgcmVwb3J0aW5nIG5vZGUgPHNwYW4g
Y2xhc3M9Imluc2VydCI+Y2FuPC9zcGFuPiBzZWxlY3Qgb25lIGFiYXRlbWVudCBhbGdvcml0
aG0gdG8gYXBwbHkgdG8gaG9zdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
YW5kIHJlYWxtIHJlcG9ydHMgYW5kIGEgZGlmZmVyZW50IGFsZ29yaXRobSB0byBhcHBseSB0
byBwZWVyIHJlcG9ydHMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5k
IHJlYWxtIHJlcG9ydHMgYW5kIGEgZGlmZmVyZW50IGFsZ29yaXRobSB0byBhcHBseSB0byBw
ZWVyIHJlcG9ydHMuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgICAgIEZvciBob3N0IG9yIHJlYWxtIHJlcG9ydHMgdGhlIHNlbGVjdGVkIGFsZ29yaXRo
bSBpcyByZWZsZWN0ZWQgaW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg
ICBGb3IgaG9zdCBvciByZWFsbSByZXBvcnRzIHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gaXMg
cmVmbGVjdGVkIGluPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB0aGUg
T0MtRmVhdHVyZS1WZWN0b3IgQVZQIHNlbnQgYXMgcGFydCBvZiB0aGUgT0MtU3VwcG9ydGVk
LTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHRoZSBPQy1GZWF0dXJl
LVZlY3RvciBBVlAgc2VudCBhcyBwYXJ0IG9mIHRoZSBPQy1TdXBwb3J0ZWQtPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBGZWF0dXJlcyBBVlAgaW5jbHVkZWQgaW4g
YW5zd2VyIG1lc3NhZ2VzIGZvciB0cmFuc2FjdGlvbiB3aGVyZSB0aGU8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBGZWF0dXJlcyBBVlAgaW5jbHVkZWQgaW4gYW5z
d2VyIG1lc3NhZ2VzIGZvciB0cmFuc2FjdGlvbiB3aGVyZSB0aGU8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgICAgIHJlcXVlc3QgY29udGFpbmVkIGFuIE9DLVN1cHBvcnRl
ZC1GZWF0dXJlcyBBVlAuICBUaGlzIGlzIHBlciB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij4gICAgICByZXF1ZXN0IGNvbnRhaW5lZCBhbiBPQy1TdXBwb3J0ZWQtRmVh
dHVyZXMgQVZQLiAgVGhpcyBpcyBwZXIgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgICBwcm9jZWR1cmVzIGRlZmluZWQgaW4gW1JGQzc2ODNdLjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHByb2NlZHVyZXMgZGVmaW5lZCBpbiBbUkZD
NzY4M10uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAg
IEZvciBwZWVyIHJlcG9ydHMgdGhlIHNlbGVjdGVkIGFsZ29yaXRobSBpcyByZWZsZWN0ZWQg
aW4gdGhlIE9DLTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIEZvciBw
ZWVyIHJlcG9ydHMgdGhlIHNlbGVjdGVkIGFsZ29yaXRobSBpcyByZWZsZWN0ZWQgaW4gdGhl
IE9DLTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgUGVlci1BbGdvIEFW
UCBzZW50IGFzIHBhcnQgb2YgdGhlIE9DLVN1cHBvcnRlZC1GZWF0dXJlcyBBVlA8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBQZWVyLUFsZ28gQVZQIHNlbnQgYXMg
cGFydCBvZiB0aGUgT0MtU3VwcG9ydGVkLUZlYXR1cmVzIEFWUDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtNiIgY2xh
c3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8
L3NtYWxsPjxhIGhyZWY9IiNwYXJ0LTYiPjxlbT4gcGFnZSA2LCBsaW5lIDM1PHNwYW4gY2xh
c3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxs
PnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iI3BhcnQtNiI+PGVtPiBw
YWdlIDYsIGxpbmUgMzU8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwv
dGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgYmVoYXZp
b3IgZGVmaW5lZCBpbiBbUkZDNzY4M10gd2hlcmUgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGJlaGF2aW9yIGRl
ZmluZWQgaW4gW1JGQzc2ODNdIHdoZXJlIGE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgIHNpbmdsZSBsb3NzIHBlcmNlbnRhZ2Ugc2VudCB0byBhbGwgcmVhY3Rpbmcg
bm9kZXMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgc2luZ2xlIGxv
c3MgcGVyY2VudGFnZSBzZW50IHRvIGFsbCByZWFjdGluZyBub2Rlcy48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQSByZXBvcnRpbmcgbm9kZSBTSE9V
TEQgbWFpbnRhaW4gT0NTIGVudHJpZXMgd2hlbiB1c2luZyB0aGUgcmF0ZTwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgU0hPVUxEIG1haW50
YWluIE9DUyBlbnRyaWVzIHdoZW4gdXNpbmcgdGhlIHJhdGU8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg
Y2xhc3M9ImxlZnQiPiAgIGFiYXRlbWVudCBhbGdvcml0aG0gcGVyIHN1cHBvcnRlZCBEaWFt
ZXRlciBhcHBsaWNhdGlvbiwgcGVyIHRhcmdldGVkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgYWJhdGVtZW50IGFsZ29yaXRobSBwZXIgc3VwcG9ydGVkIERpYW1ldGVy
IGFwcGxpY2F0aW9uLCBwZXIgdGFyZ2V0ZWQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIHJlYWN0aW5nIG5vZGUgYW5kIHBlciByZXBvcnQgdHlwZS48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZWFjdGluZyBub2RlIGFuZCBwZXIgcmVwb3J0IHR5
cGUuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEEgcmF0
ZSBPQ1MgZW50cnkgaXMgaWRlbnRpZmllZCBieSB0aGUgdHVwbGUgb2YgQXBwbGljYXRpb24t
SWQsIHJlcG9ydDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmF0ZSBP
Q1MgZW50cnkgaXMgaWRlbnRpZmllZCBieSB0aGUgdHVwbGUgb2YgQXBwbGljYXRpb24tSWQs
IHJlcG9ydDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdHlwZSBhbmQgRGlh
bWV0ZXJJZGVudGl0eSBvZiB0aGUgdGFyZ2V0IG9mIHRoZSByYXRlIE9MUi48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0eXBlIGFuZCBEaWFtZXRlcklkZW50aXR5IG9m
IHRoZSB0YXJnZXQgb2YgdGhlIHJhdGUgT0xSLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDE3Ij48dGQ+PC90ZD48
L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3BhbiBjbGFzcz0i
aW5zZXJ0Ij5UaGUgcmF0ZSBPQ1MgZW50ZXJ5IFNIT1VMRCBpbmNsdWRlIHRoZSByYXRlIGFs
bG9jYXRlZCB0byBlYWNoPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2Vy
dCI+ICAgcmVhY3Rpbmcgbm90ZS48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
YmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBIHJlcG9ydGluZyBu
b2RlIHRoYXQgaGFzIHNlbGVjdGVkIHRoZSByYXRlIG92ZXJsb2FkIGFiYXRlbWVudDwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEEgcmVwb3J0aW5nIG5vZGUgdGhhdCBo
YXMgc2VsZWN0ZWQgdGhlIHJhdGUgb3ZlcmxvYWQgYWJhdGVtZW50PC90ZD48dGQgY2xhc3M9
ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbGdvcml0aG0gTVVTVCBpbmRpY2F0ZSB0aGUgcmF0ZSBy
ZXF1ZXN0ZWQgdG8gYmUgYXBwbGllZCBieSBET0lDPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgYWxnb3JpdGhtIE1VU1QgaW5kaWNhdGUgdGhlIHJhdGUgcmVxdWVzdGVk
IHRvIGJlIGFwcGxpZWQgYnkgRE9JQzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90
cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgcmVhY3Rpbmcgbm9kZXMgaW4gdGhlIE9DLU1heGltdW0tUmF0ZSBBVlAgaW5jbHVkZWQg
aW4gdGhlIE9DLU9MUiBBVlAuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
cmVhY3Rpbmcgbm9kZXMgaW4gdGhlIE9DLU1heGltdW0tUmF0ZSBBVlAgaW5jbHVkZWQgaW4g
dGhlIE9DLU9MUiBBVlAuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIEFsbCBvdGhlciBlbGVtZW50cyBmb3IgdGhlIE9DUyBkZWZpbmVkIGluIFtSRkM3
NjgzXSBhbmQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBbGwgb3RoZXIg
ZWxlbWVudHMgZm9yIHRoZSBPQ1MgZGVmaW5lZCBpbiBbUkZDNzY4M10gYW5kPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbSS1ELmlldGYtZGltZS1hZ2VudC1vdmVybG9h
ZF0gYWxzbyBhcHBseSB0byB0aGUgcmVwb3J0aW5nIG5vZGVzIE9DUzwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIFtJLUQuaWV0Zi1kaW1lLWFnZW50LW92ZXJsb2FkXSBh
bHNvIGFwcGx5IHRvIHRoZSByZXBvcnRpbmcgbm9kZXMgT0NTPC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICB3aGVuIHVzaW5nIHRoZSByYXRlIGFiYXRlbWVudCBhbGdvcml0
aG0uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgd2hlbiB1c2luZyB0aGUg
cmF0ZSBhYmF0ZW1lbnQgYWxnb3JpdGhtLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij41LjIuICBSZWFjdGluZyBOb2RlIE92ZXJsb2FkIENvbnRyb2wgU3Rh
dGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij41LjIuICBSZWFjdGluZyBOb2Rl
IE92ZXJsb2FkIENvbnRyb2wgU3RhdGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtNyIgY2xhc3M9
ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3Nt
YWxsPjxhIGhyZWY9IiNwYXJ0LTciPjxlbT4gcGFnZSA4LCBsaW5lIDg8c3BhbiBjbGFzcz0i
aGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tp
cHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSIjcGFydC03Ij48ZW0+IHBhZ2Ug
OCwgbGluZSAxNDxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48
dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjUuNS4gIFJlcG9ydGluZyBOb2RlIEJlaGF2aW9yIGZv
ciBSYXRlIEFiYXRlbWVudCBBbGdvcml0aG08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij41LjUuICBSZXBvcnRpbmcgTm9kZSBCZWhhdmlvciBmb3IgUmF0ZSBBYmF0ZW1lbnQg
QWxnb3JpdGhtPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
IFdoZW4gaW4gYW4gb3ZlcmxvYWQgY29uZGl0aW9uIHdpdGggcmF0ZSBzZWxlY3RlZCBhcyB0
aGUgb3ZlcmxvYWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBXaGVuIGlu
IGFuIG92ZXJsb2FkIGNvbmRpdGlvbiB3aXRoIHJhdGUgc2VsZWN0ZWQgYXMgdGhlIG92ZXJs
b2FkPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhYmF0ZW1lbnQgYWxnb3Jp
dGhtIGFuZCB3aGVuIGhhbmRsaW5nIGEgcmVxdWVzdCB0aGF0IGNvbnRhaW5lZCBhbiBPQy08
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhYmF0ZW1lbnQgYWxnb3JpdGht
IGFuZCB3aGVuIGhhbmRsaW5nIGEgcmVxdWVzdCB0aGF0IGNvbnRhaW5lZCBhbiBPQy08L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFN1cHBvcnRlZC1GZWF0dXJlcyBBVlAg
dGhhdCBpbmRpY2F0ZWQgc3VwcG9ydCBmb3IgdGhlIHJhdGUgYWJhdGVtZW50PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgU3VwcG9ydGVkLUZlYXR1cmVzIEFWUCB0aGF0
IGluZGljYXRlZCBzdXBwb3J0IGZvciB0aGUgcmF0ZSBhYmF0ZW1lbnQ8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsZ29yaXRobSwgYSByZXBvcnRpbmcgbm9kZSBTSE9V
TEQgaW5jbHVkZSBhbiBPQy1PTFIgQVZQIGZvciB0aGUgcmF0ZTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIGFsZ29yaXRobSwgYSByZXBvcnRpbmcgbm9kZSBTSE9VTEQg
aW5jbHVkZSBhbiBPQy1PTFIgQVZQIGZvciB0aGUgcmF0ZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgYWxnb3JpdGhtIHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHN0b3JlZCBp
biB0aGUgcmVwb3J0aW5nIG5vZGUgT0NTIGZvcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIGFsZ29yaXRobSB1c2luZyB0aGUgcGFyYW1ldGVycyBzdG9yZWQgaW4gdGhl
IHJlcG9ydGluZyBub2RlIE9DUyBmb3I8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIHRoZSB0YXJnZXQgb2YgdGhlIG92ZXJsb2FkIHJlcG9ydC48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgdGFyZ2V0IG9mIHRoZSBvdmVybG9hZCByZXBvcnQu
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0
ciBpZD0iZGlmZjAwMTgiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPk5vdGU6IEl0IGlzIGFsc28g
cG9zc2libGUgZm9yIHRoZSByZXBvcnRpbmcgbm9kZSB0byBzZW5kIG92ZXJsb2FkPC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgcmVwb3J0cyB3aXRo
IHRoZSByYXRlIGFsZ29yaXRobSBpbmRpY2F0ZWQgd2hlbiB0aGUgcmVwb3J0aW5nIG5vZGU8
L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBpcyBub3Qg
aW4gYW4gb3ZlcmxvYWRlZCBzdGF0ZS4gIFRoaXMgY291bGQgYmUgYSBzdHJhdGVneSB0bzwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHByb2FjdGl2
ZWx5IGF2b2lkIGVudGVyaW5nIGludG8gYW4gb3ZlcmxvYWRlZCBzdGF0ZS4gIFdoZXRoZXIg
dG88L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBkbyBz
byBpcyB1cCB0byBsb2NhbCBwb2xpY3kuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgV2hlbiBzZW5k
aW5nIGFuIG92ZXJsb2FkIHJlcG9ydCBmb3IgdGhlIHJhdGUgYWxnb3JpdGhtLCB0aGUgT0Mt
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgV2hlbiBzZW5kaW5nIGFuIG92
ZXJsb2FkIHJlcG9ydCBmb3IgdGhlIHJhdGUgYWxnb3JpdGhtLCB0aGUgT0MtPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBNYXhpbXVtLVJhdGUgQVZQIE1VU1QgYmUgaW5j
bHVkZWQgaW4gdGhlIE9DLU9MUiBBVlAgYW5kIHRoZSBPQy08L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBNYXhpbXVtLVJhdGUgQVZQIE1VU1QgYmUgaW5jbHVkZWQgaW4g
dGhlIE9DLU9MUiBBVlAgYW5kIHRoZSBPQy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgIFJlZHVjdGlvbi1QZXJjZW50YWdlIEFWUCBNVVNUIE5PVCBiZSBpbmNsdWRlZC48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBSZWR1Y3Rpb24tUGVyY2VudGFn
ZSBBVlAgTVVTVCBOT1QgYmUgaW5jbHVkZWQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPjUuNi4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgZm9yIFJhdGUg
QWJhdGVtZW50IEFsZ29yaXRobTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjUu
Ni4gIFJlYWN0aW5nIE5vZGUgQmVoYXZpb3IgZm9yIFJhdGUgQWJhdGVtZW50IEFsZ29yaXRo
bTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBXaGVuIGRl
dGVybWluaW5nIGlmIGFiYXRlbWVudCB0cmVhdG1lbnQgc2hvdWxkIGJlIGFwcGxpZWQgdG8g
YTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFdoZW4gZGV0ZXJtaW5pbmcg
aWYgYWJhdGVtZW50IHRyZWF0bWVudCBzaG91bGQgYmUgYXBwbGllZCB0byBhPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXF1ZXN0IGJlaW5nIHNlbnQgdG8gYSByZXBv
cnRpbmcgbm9kZSB0aGF0IGhhcyBzZWxlY3RlZCB0aGUgcmF0ZTwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIHJlcXVlc3QgYmVpbmcgc2VudCB0byBhIHJlcG9ydGluZyBu
b2RlIHRoYXQgaGFzIHNlbGVjdGVkIHRoZSByYXRlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtLCB0aGUgcmVhY3Rpbmcg
bm9kZSBNQVkgdXNlIHRoZSBhbGdvcml0aG08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBvdmVybG9hZCBhYmF0ZW1lbnQgYWxnb3JpdGhtLCB0aGUgcmVhY3Rpbmcgbm9k
ZSBNQVkgdXNlIHRoZSBhbGdvcml0aG08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv
dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIGRldGFpbGVkIGluIFNlY3Rpb24gNy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBkZXRhaWxlZCBpbiBTZWN0aW9uIDcuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC04IiBjbGFzcz0iY2hh
bmdlIj48dGQ+PC90ZD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+
PGEgaHJlZj0iI3BhcnQtOCI+PGVtPiBwYWdlIDgsIGxpbmUgNDc8c3BhbiBjbGFzcz0iaGlk
ZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tpcHBp
bmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSIjcGFydC04Ij48ZW0+IHBhZ2UgOSwg
bGluZSAxNDxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGQ+
PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjYuMS4xLiAgT0MtRmVhdHVyZS1WZWN0b3IgQVZQPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+Ni4xLjEuICBPQy1GZWF0dXJlLVZlY3RvciBB
VlA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBl
eHRlbnNpb24gYWRkcyB0aGUgZm9sbG93aW5nIGNhcGFiaWxpdHkgdG8gdGhlIE9DLUZlYXR1
cmUtVmVjdG9yPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhpcyBleHRl
bnNpb24gYWRkcyB0aGUgZm9sbG93aW5nIGNhcGFiaWxpdHkgdG8gdGhlIE9DLUZlYXR1cmUt
VmVjdG9yPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBVlAuPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQVZQLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBPTFJfUkFURV9BTEdPUklUSE0gKGJpdCAyKTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE9MUl9SQVRFX0FMR09SSVRITSAoYml0
IDIpPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIEJp
dCAyIGlzIGFzc2lnbmVkIHRvIHRoZSByYXRlIG92ZXJsb2FkIGFiYXRlbWVudCBhbGdvcml0
aG0uICBXaGVuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgQml0IDIg
aXMgYXNzaWduZWQgdG8gdGhlIHJhdGUgb3ZlcmxvYWQgYWJhdGVtZW50IGFsZ29yaXRobS4g
IFdoZW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHRoaXMgZmxhZyBp
cyBzZXQgYnkgdGhlIG92ZXJsb2FkIGNvbnRyb2wgZW5kcG9pbnQgaXQgaW5kaWNhdGVzPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgdGhpcyBmbGFnIGlzIHNldCBi
eSB0aGUgb3ZlcmxvYWQgY29udHJvbCBlbmRwb2ludCBpdCBpbmRpY2F0ZXM8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTkiPjx0ZD48
L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgICAgdGhhdCB0aGUgRE9JQyBOb2RlIHN1cHBvcnRzIHRoZSByYXRlIG92
ZXJsb2FkIGFiYXRlbWVudDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAg
ICB0aGF0IHRoZSBET0lDIE5vZGUgc3VwcG9ydHMgdGhlIHJhdGUgb3ZlcmxvYWQgYWJhdGVt
ZW50IDxzcGFuIGNsYXNzPSJpbnNlcnQiPmFsZ29yaXRobS48L3NwYW4+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPmFsZ29y
aXRobS4uPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+Ni4yLiAgT0MtT0xSIEFWUDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjYuMi4gIE9DLU9MUiBBVlA8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBleHRlbnNpb24g
ZGVmaW5lcyB0aGUgT0MtTWF4aW11bS1SYXRlIEFWUCB0byBiZSBhbiBvcHRpb25hbCBwYXJ0
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhpcyBleHRlbnNpb24gZGVm
aW5lcyB0aGUgT0MtTWF4aW11bS1SYXRlIEFWUCB0byBiZSBhbiBvcHRpb25hbCBwYXJ0PC90
ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvZiB0aGUgT0MtT0xSIEFWUC48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvZiB0aGUgT0MtT0xSIEFWUC48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgT0MtT0xSIDo6
PSAmbHQ7IEFWUCBIZWFkZXI6IFRCRDIgJmd0OzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgICAgIE9DLU9MUiA6Oj0gJmx0OyBBVlAgSGVhZGVyOiBUQkQyICZndDs8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgICAgJmx0OyBPQy1T
ZXF1ZW5jZS1OdW1iZXIgJmd0OzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
ICAgICAgICAgICAgICAgJmx0OyBPQy1TZXF1ZW5jZS1OdW1iZXIgJmd0OzwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAgICAmbHQ7IE9DLVJlcG9ydC1U
eXBlICZndDs8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAg
ICAgICZsdDsgT0MtUmVwb3J0LVR5cGUgJmd0OzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv
dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+ICAgICAgICAgICAgICAgICBbIE9DLVJlZHVjdGlvbi1QZXJjZW50YWdlIF08L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICAgIFsgT0MtUmVk
dWN0aW9uLVBlcmNlbnRhZ2UgXTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtOSIgY2xhc3M9ImNoYW5nZSI+PHRkPjwv
dGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9IiNw
YXJ0LTkiPjxlbT4gcGFnZSAxNywgbGluZSA0NzxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3Nw
YW4+PC9lbT48L2E+PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFu
Z2UgYXQ8L3NtYWxsPjxhIGhyZWY9IiNwYXJ0LTkiPjxlbT4gcGFnZSAxNywgbGluZSA0Nzxz
cGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGQ+PC90ZD48L3Ry
PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij44
LjEuICBBVlAgQ29kZXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij44LjEuICBB
VlAgQ29kZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg
TmV3IEFWUHMgZGVmaW5lZCBieSB0aGlzIHNwZWNpZmljYXRpb24gYXJlIGxpc3RlZCBpbiBT
ZWN0aW9uIDYuICBBbGw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBOZXcg
QVZQcyBkZWZpbmVkIGJ5IHRoaXMgc3BlY2lmaWNhdGlvbiBhcmUgbGlzdGVkIGluIFNlY3Rp
b24gNi4gIEFsbDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQVZQIGNvZGVz
IGFyZSBhbGxvY2F0ZWQgZnJvbSB0aGUgJ0F1dGhlbnRpY2F0aW9uLCBBdXRob3JpemF0aW9u
LCBhbmQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBVlAgY29kZXMgYXJl
IGFsbG9jYXRlZCBmcm9tIHRoZSAnQXV0aGVudGljYXRpb24sIEF1dGhvcml6YXRpb24sIGFu
ZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQWNjb3VudGluZyAoQUFBKSBQ
YXJhbWV0ZXJzJyBBVlAgQ29kZXMgcmVnaXN0cnkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgQWNjb3VudGluZyAoQUFBKSBQYXJhbWV0ZXJzJyBBVlAgQ29kZXMgcmVn
aXN0cnkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjguMi4g
IE5ldyBSZWdpc3RyaWVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+OC4yLiAg
TmV3IFJlZ2lzdHJpZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+
PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgVGhlcmUgYXJlIG5vIG5ldyBJQU5BIHJlZ2lzdHJpZXMgaW50cm9kdWNlZCBieSB0
aGlzIGRvY3VtZW50LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoZXJl
IGFyZSBubyBuZXcgSUFOQSByZWdpc3RyaWVzIGludHJvZHVjZWQgYnkgdGhpcyBkb2N1bWVu
dC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyIGlkPSJkaWZmMDAyMCI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+OC4zLiAgTmV3IERPSUMgcmVwb3J0
IHR5cGVzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+PC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgQWxsIERPSUMgcmVwb3J0
IHR5cGVzIGRlZmluZWQgaW4gdGhlIGZ1dHVyZSBNVVNUIGluZGljYXRlIHdoZXRoZXIgb3I8
L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBub3QgdGhlIHJh
dGUgYWxnb3JpdGhtIGNhbiBiZSB1c2VkIHdpdGggdGhhdCByZXBvcnQgdHlwZS48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xhc3M9ImxpbmVu
byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij45LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij45LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIHJhdGUgb3ZlcmxvYWQg
YWJhdGVtZW50IG1lY2hhbmlzbSBpcyBhbiBleHRlbnNpb24gdG8gdGhlIGJhc2U8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgcmF0ZSBvdmVybG9hZCBhYmF0ZW1l
bnQgbWVjaGFuaXNtIGlzIGFuIGV4dGVuc2lvbiB0byB0aGUgYmFzZTwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgRGlhbWV0ZXIgb3ZlcmxvYWQgbWVjaGFuaXNtLiAgQXMg
c3VjaCwgYWxsIG9mIHRoZSBzZWN1cml0eTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIERpYW1ldGVyIG92ZXJsb2FkIG1lY2hhbmlzbS4gIEFzIHN1Y2gsIGFsbCBvZiB0
aGUgc2VjdXJpdHk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNvbnNpZGVy
YXRpb25zIG91dGxpbmVkIGluIFtSRkM3NjgzXSBhcHBseSB0byB0aGUgcmF0ZSBvdmVybG9h
ZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGNvbnNpZGVyYXRpb25zIG91
dGxpbmVkIGluIFtSRkM3NjgzXSBhcHBseSB0byB0aGUgcmF0ZSBvdmVybG9hZDwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYWJhdGVtZW50IG1lY2hhbmlzbS48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhYmF0ZW1lbnQgbWVjaGFuaXNtLjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4xMC4gIEFja25vd2xlZGdl
bWVudHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4xMC4gIEFja25vd2xlZGdl
bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+MTEuICBS
ZWZlcmVuY2VzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+MTEuICBSZWZlcmVu
Y2VzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgoKICAgICA8dHI+PHRkPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48
L3RkPjx0ZD48L3RkPjwvdHI+CiAgICAgPHRyIGlkPSJlbmQiIGJnY29sb3I9ImdyYXkiPjx0
aCBjb2xzcGFuPSI1IiBhbGlnbj0iY2VudGVyIj4mbmJzcDtFbmQgb2YgY2hhbmdlcy4gMjAg
Y2hhbmdlIGJsb2Nrcy4mbmJzcDs8L3RoPjwvdHI+CiAgICAgPHRyIGNsYXNzPSJzdGF0cyI+
PHRkPjwvdGQ+PHRoPjxpPjM5IGxpbmVzIGNoYW5nZWQgb3IgZGVsZXRlZDwvaT48L3RoPjx0
aD48aT4gPC9pPjwvdGg+PHRoPjxpPjU2IGxpbmVzIGNoYW5nZWQgb3IgYWRkZWQ8L2k+PC90
aD48dGQ+PC90ZD48L3RyPgogICAgIDx0cj48dGQgY29sc3Bhbj0iNSIgY2xhc3M9InNtYWxs
IiBhbGlnbj0iY2VudGVyIj48YnI+VGhpcyBodG1sIGRpZmYgd2FzIHByb2R1Y2VkIGJ5IHJm
Y2RpZmYgMS40Ny4gVGhlIGxhdGVzdCB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBmcm9tIDxhIGhy
ZWY9Imh0dHA6Ly93d3cudG9vbHMuaWV0Zi5vcmcvdG9vbHMvcmZjZGlmZi8iPmh0dHA6Ly90
b29scy5pZXRmLm9yZy90b29scy9yZmNkaWZmLzwvYT4gPC90ZD48L3RyPgogICA8L3Rib2R5
PjwvdGFibGU+CiAgIAogICAKPC9ib2R5PjwvaHRtbD4=
--------------DA68A239A69E882CDEAC05DC--


From nobody Tue Sep 11 11:22:29 2018
Return-Path: <en5192@att.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 29BC8130F02 for <dime@ietfa.amsl.com>; Tue, 11 Sep 2018 11:22:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.6
X-Spam-Level: 
X-Spam-Status: No, score=-0.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id as1OSGI1lAMA for <dime@ietfa.amsl.com>; Tue, 11 Sep 2018 11:22:21 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0a-00191d01.pphosted.com [67.231.149.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0D7551292F1 for <dime@ietf.org>; Tue, 11 Sep 2018 11:22:21 -0700 (PDT)
Received: from pps.filterd (m0049295.ppops.net [127.0.0.1]) by m0049295.ppops.net-00191d01. (8.16.0.22/8.16.0.22) with SMTP id w8BGb92j030066; Tue, 11 Sep 2018 12:42:20 -0400
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049295.ppops.net-00191d01. with ESMTP id 2meh4ggrc5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 11 Sep 2018 12:42:19 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id w8BGgHLE027652; Tue, 11 Sep 2018 12:42:18 -0400
Received: from zlp27130.vci.att.com (zlp27130.vci.att.com [135.66.87.38]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id w8BGgBsJ027465; Tue, 11 Sep 2018 12:42:12 -0400
Received: from zlp27130.vci.att.com (zlp27130.vci.att.com [127.0.0.1]) by zlp27130.vci.att.com (Service) with ESMTP id C9BC240F6CE3; Tue, 11 Sep 2018 16:42:11 +0000 (GMT)
Received: from MISOUT7MSGHUBAC.ITServices.sbc.com (unknown [130.9.129.147]) by zlp27130.vci.att.com (Service) with ESMTPS id 8FE8F40F6CE5; Tue, 11 Sep 2018 16:42:11 +0000 (GMT)
Received: from MISOUT7MSGUSRDC.ITServices.sbc.com ([169.254.3.214]) by MISOUT7MSGHUBAC.ITServices.sbc.com ([130.9.129.147]) with mapi id 14.03.0415.000; Tue, 11 Sep 2018 12:42:10 -0400
From: "NOEL, ERIC C" <en5192@att.com>
To: Steve Donovan <srdonovan@usdonovans.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: [Dime] draft-ietf-dime-doic-rate-control-08
Thread-Index: AQHUSUWjR15/agoh/EyBO1EhrVAQvqTrSfmg
Date: Tue, 11 Sep 2018 16:42:10 +0000
Message-ID: <432544DCDB78E046B9E22D0EE8F4190326288428@MISOUT7MSGUSRDC.ITServices.sbc.com>
References: <2C4A8F89-9FB1-483F-B160-52822F71531F@nostrum.com> <b65b92d8-e1ba-195d-0662-95cb3492e4eb@usdonovans.com> <432544DCDB78E046B9E22D0EE8F419032625DFDB@MISOUT7MSGUSRDC.ITServices.sbc.com> <a503a984-3f82-5872-0c60-68102efd47e2@usdonovans.com>
In-Reply-To: <a503a984-3f82-5872-0c60-68102efd47e2@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [135.207.139.197]
Content-Type: multipart/alternative; boundary="_000_432544DCDB78E046B9E22D0EE8F4190326288428MISOUT7MSGUSRDC_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-09-11_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1809110164
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/PotgtaEElyMYpiY2I_uEIewx6HE>
Subject: Re: [Dime] draft-ietf-dime-doic-rate-control-08
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Sep 2018 18:22:27 -0000

--_000_432544DCDB78E046B9E22D0EE8F4190326288428MISOUT7MSGUSRDC_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgU3RldmUsDQoNCkFsbCBsb29rcyBnb29kLiBNYW55IHRoYW5rcyBmb3IgZm9sbG93aW5nIHRo
cm91Z2gsDQoNCkVyaWMgTm9lbA0KQVQmVCBMYWJzLCBJbmMuDQpSZXRoaW5rIFBvc3NpYmxlDQoN
Ck9wdGltaXphdGlvbiwgUmVsaWFiaWxpdHkgYW5kIEN1c3RvbWVyIEFuYWx5dGljcw0KMjAwIFNv
dXRoIExhdXJlbCBBdmVudWUsIEQ1LTNDMzgNCk1pZGRsZXRvd24sIE5KIDA3NzQ4DQpQOiA3MzIu
NDIwLjQxNzQNCmVjbm9lbEBhdHQuY29tPG1haWx0bzpqc21pdGhAYXR0LmNvbT4NCg0KRnJvbTog
U3RldmUgRG9ub3ZhbiBbbWFpbHRvOnNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbV0NClNlbnQ6IE1v
bmRheSwgU2VwdGVtYmVyIDEwLCAyMDE4IDQ6MzMgUE0NClRvOiBOT0VMLCBFUklDIEMgPGVuNTE5
MkBhdHQuY29tPjsgZGltZUBpZXRmLm9yZw0KU3ViamVjdDogUmU6IFtEaW1lXSBkcmFmdC1pZXRm
LWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wtMDgNCg0KRXJpYywNCg0KVGhhbmtzIGZvciB0aGUgY29t
bWVudHMuICBTZWUgbXkgY29tbWVudHMgaW5saW5lLg0KDQpJIHdpbGwgYmUgc3VibWl0dGluZyBh
IG5ldyB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCBzaG9ydGx5LiAgSG9wZWZ1bGx5IEkgaGF2ZSBj
YXB0dXJlZCBhbGwgb2YgdGhlIHN1Z2dlc3RlZCBjaGFuZ2VzLg0KDQpTdGV2ZQ0KDQpPbiA4Lzgv
MTggNTowNSBQTSwgTk9FTCwgRVJJQyBDIHdyb3RlOg0KPg0KPiBIaSBTdGV2ZSwNCj4NCj4NCj4N
Cj4gSXQgc2VlbXMgbXkgbWFpbCBzeXN0ZW0gaGFzIGJlZW4gbW92aW5nIHRvIHNwYW0geW91ciBl
bWFpbHMuDQo+DQo+DQo+DQo+IEp1c3Qgbm90aWNlZCBiZWxvdyB3aGlsZSBjbGVhbmluZyBteSBz
cGFtIGZvbGRlciwgYXBvbG9naWVzIGZvciB0aGUNCj4gbGFjayBvZiByZXNwb25zZXMuDQo+DQo+
DQo+DQo+IFBsZWFzZSBzZWUgYmVsb3cuDQo+DQo+DQo+DQo+Pj4+IEdlbmVyYWw6IFRoZSBkb2N1
bWVudCBzZWVtcyBpbmNvbnNpc3RlbnQgYWJvdXQgd2hldGhlciByYXRlDQo+Pj4+IGxpbWl0cyBh
cmUgb25seSByZXBvcnRlZCBkdXJpbmcgb3ZlcmxvYWQgY29uZGl0aW9ucywgb3IgaW4NCj4+Pj4g
YWR2YW5jZSBvZiBvdmVybG9hZCBjb25kaXRpb25zLg0KPj4+Pg0KPj4+PiA8SlBHPiBJIHRoaW5r
IHRoYXQgd291bGQgYmUgImxvY2FsIHBvbGljeSIgb2YgdGhlIHNlcnZpbmcNCj4+Pj4gKHJlcG9y
dGluZykgbm9kZSwgYW5kIGluZGVwZW5kZW50IG9mIHRoZSBwcm90b2NvbCB1c2VkIHRvDQo+Pj4+
IGNvbW11bmljYXRlIGl0LiAgSSB0aGluayBtb3N0IGNhc2VzIHdvdWxkIGJlIHJlYWN0aXZlLCBi
dXQgSQ0KPj4+PiBjYW4gc2VlIHNpdHVhdGlvbnMgd2hlcmUgaXQgY291bGQgYmUgcHJvYWN0aXZl
LjxKUEc+DQo+Pj4gU1JEPiBJIGFncmVlIHdpdGggSmFuZXQsIHdoZW4gdGhlIHJlcG9ydCBpcyBz
ZW50IGlzIHZlcnkgbXVjaA0KPj4+IGxvY2FsIHBvbGljeS4gIFRoZXJlIGlzIG5vIHJlYXNvbiB0
byBhdHRlbXB0IHRvIHByZXZlbnQgcHJvYWN0aXZlDQo+Pj4gdXNlIG9mIHRoZSByYXRlIG1lY2hh
bmlzbS4NCj4+DQo+PiBUaGF04oCZcyBmaW5lIHdpdGggbWUsIGJ1dCBhIHNlbnRlbmNlIG9yIHR3
byB0byB0aGF0IGVmZmVjdCB3b3VsZCBiZQ0KPj4gaGVscGZ1bC4gKE9uIHJlLXJlYWRpbmcsIEkg
c2VlIHdoZXJlIHNlY3Rpb24gMSB0YWxrcyBhYm91dA0KPj4g4oCcYXBwcm9hY2hpbmcgb3Zlcmxv
YWQgb3Igb3ZlcmxvYWRlZOKAnSwgYnV0IEkgYXNzdW1lIG5laXRoZXIgb2YgdGhvc2UNCj4+IGNv
bmRpdGlvbnMgYXJlIG5lY2Vzc2FyeT8pDQoNCnNyZD4gSSd2ZSBhZGRlZCB0aGUgZm9sbG93aW5n
IGluIHNlY3Rpb24gNS41Og0KDQogICAgICAgICAgTm90ZTogSXQgaXMgYWxzbyBwb3NzaWJsZSBm
b3IgdGhlIHJlcG9ydGluZyBub2RlIHRvIHNlbmQgb3ZlcmxvYWQNCiAgICAgICAgICByZXBvcnRz
IHdpdGggdGhlIHJhdGUgYWxnb3JpdGhtIGluZGljYXRlZCB3aGVuIHRoZSByZXBvcnRpbmcgbm9k
ZSBpcw0KICAgICAgICAgIG5vdCBpbiBhbiBvdmVybG9hZGVkIHN0YXRlLiAgVGhpcyBjb3VsZCBi
ZSBhIHN0cmF0ZWd5IHRvIHByb2FjdGl2ZWx5DQogICAgICAgICAgYXZvaWQgZW50ZXJpbmcgaW50
byBhbiBvdmVybG9hZGVkIHN0YXRlLiAgV2hldGhlciB0byBkbyBzbyBpcw0KICAgICAgICAgIHVw
IHRvIGxvY2FsIHBvbGljeS4NCj4+DQo+Pj4+DQo+Pj4+IEnigJlkIGxpa2UgdG8gc2VlIHRoZSBu
ZWVkIHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBhbGwNCj4+Pj4gcG90ZW50aWFs
IHNvdXJjZXMgb2YgdHJhZmZpYyBnaXZlbiBzb21lIG1vcmUgZW1waGFzaXMuIChNYXliZSBhDQo+
Pj4+IHN1Yi1zZWN0aW9uIG9mIGl0cyBvd24/KQ0KPj4+Pg0KPj4+PiA8SlBHPiBJIGFncmVlLCBi
dXQgYWdhaW4gSSBzZWUgdGhhdCBhcyAibG9jYWwgcG9saWN5IiBvZiB0aGUNCj4+Pj4gc2Vydmlu
ZyAocmVwb3J0aW5nKSBub2RlLiBJbiBwYXJ0aWN1bGFyLCB0aGVyZSBtYXkgYmUgcmVhY3RpbmcN
Cj4+Pj4gbm9kZXMgdGhhdCBkbyBub3Qgc3VwcG9ydCB0aGUgcmF0ZSBhYmF0ZW1lbnQgYWxnb3Jp
dGhtLjxKUEc+DQo+Pj4gU1JEPiBBZ2FpbiwgSSBhZ3JlZSB3aXRoIEphbmV0LiAgVGhpcyBpcyBs
b2NhbCBwb2xpY3kgYW5kIHRoZXJlDQo+Pj4gbWF5IHdlbGwgYmUgYSBtaXggb2YgcmF0ZSBhbmQg
bG9zcyBpZiBub3QgYWxsIG5vZGVzIHN1cHBvcnQgcmF0ZS4NCj4+PiBJIGRvbid0IHRoaW5rIGl0
IGlzIGFwcHJvcHJpYXRlIHRvIHNheSB0aGF0IHJhdGUgc2hvdWxkIGJlDQo+Pj4gcHJlZmVycmVk
IG92ZXIgbG9zcy4gIEJ1dCBtYXliZSBJJ20gbWlzc2luZyB5b3VyIG1lYW5pbmcgb24NCj4+PiAi
YWxsb2NhdGUgdGhlIHJhdGUgbGltaXTigJ0uDQo+Pg0KPj4gT2theSwgYnV0IHlvdSBzdGlsbCBo
YXZlIHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBhbGwNCj4+IHNvdXJjZXMgdGhh
dCB5b3UgYXBwbHkgdGhlIHJhdGUgYWxnb3JpdGhtIHRvLCByaWdodD8gVGhhdCBpcywgdGhlDQo+
PiB0b3RhbCBvZmZlcmVkIHJhdGUgd2lsbCBiZSBzb21ldGhpbmcgbGlrZSAoYXZlcmFnZSByYXRl
IHBlciBzb3VyY2UpDQo+PiAqIChudW1iZXIgb2Ygc291cmNlcykuIE9yIGFtIEkgbWlzdW5kZXJz
dGFuZGluZyBzb21ldGhpbmc/DQo+DQo+DQo+DQo+IDxFTj4gQ29ycmVjdCwgdGhlIHJlcG9ydGlu
ZyBub2RlIG1haW50YWlucyBhbiBvdmVybG9hZCBjb250cm9sIHN0YXRlDQo+IGZvciBlYWNoIHJl
YWN0aW5nIG5vZGUuDQo+DQpTUkQ+IEkndmUgYWRkZWQgdGhlIGZvbGxvd2luZyB0byBzZWN0aW9u
IDUuMToNCg0KICAgICAgICAgIFRoZSByYXRlIE9DUyBlbnRlcnkgU0hPVUxEIGluY2x1ZGUgdGhl
IHJhdGUgYWxsb2NhdGVkIHRvIGVhY2ggcmVhY3Rpbmcgbm90ZS4NCg0KPg0KPg0KPg0KPg0KPj4+
PiDCpzE6IC0g4oCcIFdoaWxlIHRoaXMgY2FuIGVmZmVjdGl2ZWx5IGRlY3JlYXNlIHRoZSBsb2Fk
IGhhbmRsZWQgYnkNCj4+Pj4gdGhlIHNlcnZlciwgaXQgZG9lcyBub3QgZGlyZWN0bHkgYWRkcmVz
cyBjYXNlcyB3aGVyZSB0aGUgcmF0ZQ0KPj4+PiBvZiBhcnJpdmFsIG9mIHNlcnZpY2UgcmVxdWVz
dHMgaW5jcmVhc2VzIHF1aWNrbHkuIg0KPj4+Pg0KPj4+PiBJIHRoaW5rIGl0IGZhaWxzIHRvIGFk
ZHJlc3MgY2FzZXMgd2hlcmUgdGhlIGxvYWQgY2hhbmdlcw0KPj4+PiByYXBpZGx5IGluIGVpdGhl
ciBkaXJlY3Rpb24sIHJpZ2h0PyBBdCBsZWFzdCwgdGhlIGZvbGxvd2luZw0KPj4+PiB0ZXh0IHNl
ZW1zIHRvIHNheSB0aGF0Lg0KPj4+Pg0KPj4+PiA8SlBHPiBJIGFncmVlLiAgV2hlbiB0aGVyZSBh
cmUgcmFwaWQgZmx1Y3R1YXRpb25zIGluIHRoZQ0KPj4+PiBvZmZlcmVkIGxvYWQsIHRoZSAibG9z
cyIgYWxnb3JpdGhtIGVycnMgYm90aCBpbiAgdGhyb3R0bGluZyBUT08NCj4+Pj4gTVVDSCB3aGVu
IHRoZXJlIGlzIGEgZGlwIGluIG9mZmVyZWQgbG9hZCwgYW5kIHRocm90dGxpbmcgTk9UDQo+Pj4+
IEVOT1VHSCB3aGVuIHRoZXJlIGlzIGEgc3Bpa2UgaW4gb2ZmZXJlZCBsb2FkLjxKUEc+DQo+Pj4g
U1JEPiBUaGUgdGV4dCBpbiBzZWN0aW9uIDEgdGFsa3MgYWJvdXQgdGhpcyBhbHJlYWR5LiAgSXMg
dGhlcmUgYQ0KPj4+IHNwZWNpZmljIGNoYW5nZSBiZWluZyBzdWdnZXN0ZWQ/DQo+Pg0KPj4gU2Vj
dGlvbiAxIHRhbGtzIGFib3V0IHJhcGlkbHkgaW5jcmVhc2luZyBsb2FkLiBEaWQgSSBtaXNzIG1l
bnRpb24NCj4+IG9mIHJhcGlkbHkgX2RlY3JlYXNpbmdfIGxvYWQ/DQo+DQo+DQo+DQo+IDxFTj4g
U3VnZ2VzdGVkIGVkaXQ6DQo+DQo+DQo+DQo+IFdoaWxlIHRoaXMgY2FuIGVmZmVjdGl2ZWx5IGRl
Y3JlYXNlIHRoZSBsb2FkIGhhbmRsZWQgYnkgdGhlDQo+DQo+IHNlcnZlciwgaXQgZG9lcyBub3Qg
ZGlyZWN0bHkgYWRkcmVzcyBjYXNlcyB3aGVyZSB0aGUgcmF0ZSBvZiBhcnJpdmFsDQo+DQo+IG9m
IHNlcnZpY2UgcmVxdWVzdHMgX2NoYW5nZXNfaW5jcmVhc2VzIHF1aWNrbHkuICBfRm9yIGluc3Rh
bmNlLF8gaWYNCj4gdGhlIHNlcnZpY2UgcmVxdWVzdHMgdGhhdA0KPg0KPiByZXN1bHQgaW4gRGlh
bWV0ZXIgdHJhbnNhY3Rpb25zIGluY3JlYXNlIHF1aWNrbHkgdGhlbiB0aGUgbG9zcw0KPg0KPiBh
bGdvcml0aG0gY2Fubm90IGd1YXJhbnRlZSB0aGUgbG9hZCBwcmVzZW50ZWQgdG8gdGhlIHNlcnZl
ciByZW1haW5zDQo+DQo+IGJlbG93IGEgc3BlY2lmaWMgcmF0ZSBsZXZlbC4gIF9UaGUgbG9zcyBh
bGdvcml0aG0gY2FuIGJlIHNsb3cgdG9fDQo+DQo+IF9wcm90ZWN0IHRoZSBzdGFiaWxpdHkgb2Yg
cmVwb3J0aW5nIG5vZGVzIHdoZW4gc3ViamVjdGVkIHdpdGgNCj4gcmFwaWRseV8NCj4NCj4gX2No
YW5naW5nIGxvYWRzLiBUaGUgImxvc3MiIGFsZ29yaXRobSBlcnJzIGJvdGggaW4gdGhyb3R0bGlu
ZyBUT08NCj4gTVVDSCBfDQo+DQo+IF93aGVuIHRoZXJlIGlzIGEgZGlwIGluIG9mZmVyZWQgbG9h
ZCwgYW5kIHRocm90dGxpbmcgTk9UIEVOT1VHSCB3aGVuDQo+IHRoZXJlIF8NCj4NCj4gX2lzIGEg
c3Bpa2UgaW4gb2ZmZXJlZCBsb2FkLl8NCj4NCj4NClNSRD4gSSd2ZSBpbmNvcnBvcmF0ZWQgRXJp
YydzIHN1Z2dlc3RlZCB3b3JkaW5nLg0KPg0KPg0KPg0KPj4+PiDCpzM6IERvZXMgdGhlIG5lZWQg
Zm9yIGZ1dHVyZSByZXBvcnQgdHlwZXMgdG8gY29uc2lkZXIgdGhlIHJhdGUNCj4+Pj4gYWxnb3Jp
dGhtIGhhdmUgSUFOQSBpbXBsaWNhdGlvbnM/DQo+Pj4gU1JEPiBBcmUgeW91IHN1Z2dlc3Rpbmcg
dGhhdCB0aGUgSUFOQSBzZWN0aW9uIGluZGljYXRlIHRoYXQgYWxsDQo+Pj4gbmV3IHJlcG9ydCB0
eXBlcyBNVVNUIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoZSByYXRlIGFsZ29yaXRobQ0KPj4+
IGNhbiBiZSB1c2VkIHdpdGggdGhhdCByZXBvcnQgdHlwZT8gIEkgY2FuIG1ha2UgdGhhdCBjaGFu
Z2UgdG8gdGhlDQo+Pj4gSUFOQSBzZWN0aW9uIGlmIGl0IHdvdWxkIGJlIGFwcHJvcHJpYXRlLg0K
Pj4+Pg0KPj4NCj4+IEnigJltIG5vdCBzdWdnZXN0aW5nLCBJ4oCZbSBhc2tpbmcgOi0pICBCdXQg
bXkgcG9pbnQgd2FzIG1vcmUgYWxvbmcNCj4+IHdoZXRoZXIgdGhlIElBTkEgcmVnaXN0cnkgZm9y
IHJlcG9ydCB0eXBlcyBzaG91bGQgaW5jbHVkZSBhIGZpZWxkDQo+PiBhYm91dCBzdXBwb3J0aW5n
IHRoZSByYXRlIGFsZ29yaXRobS4NCj4NCj4gPEVOPiBOb3Qgc3VyZSBob3cgdG8gYWRkcmVzcyB0
aGF0IGNvbW1lbnQuDQoNClNSRD4gSSd2ZSBhZGRlZCBhIHNlY3Rpb24gdGhlIHRvIHRoZSBJQU5B
IGNvbnNpZGVyYXRpb25zIHNlY3Rpb246DQoNCjguMi4gICBOZXcgRE9JQyBSZXBvcnQgVHlwZXMN
Cg0KICAgICAgICAgIEFsbCBET0lDIHJlcG9ydCB0eXBlcyBkZWZpbmVkIGluIHRoZSBmdXR1cmUg
TVVTVA0KICAgICAgICAgIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoZSByYXRlIGFsZ29yaXRo
bSBjYW4gYmUgdXNlZCB3aXRoIHRoYXQNCiAgICAgICAgICByZXBvcnQgdHlwZS4NCg0KPg0KPg0K
Pj4+PiDCpzUuMTogVGhlIGZpcnN0IHBhcmFncmFwaCBpbmRpY2F0ZXMgc3RhdGUgc2hvdWxkIGJl
IGtlcHQgZm9yDQo+Pj4+IGV2ZXJ5IHJlYWN0aW5nIG5vZGUgdG8gd2hpY2ggaXQgc2VuZHMgYW4g
T0xSLiBCdXQgdGhlIDV0aA0KPj4+PiBwYXJhZ3JhcGggY2FuIGJlIGludGVycHJldGVkIHRvIHNh
eSBpdCBzZW5kcyBhbiBPTFIgdG8gZXZlcnkNCj4+Pj4gcmVhY3Rpbmcgbm9kZSB3aXRoIHdoaWNo
IGl0IGhhcyBuZWdvdGlhdGVkIHVzZSBvZiB0aGUgcmF0ZQ0KPj4+PiBhbGdvcml0aG0uIChzZWUg
Z2VuZXJhbCBjb21tZW50KS4NCj4+PiBTUkQ+IEknbSBtaXNzaW5nIHNvbWV0aGluZy4gIFRoZSBm
aXJzdCBwYXJhZ3JhcGggc2F5cyB0aGUNCj4+PiByZXBvcnRpbmcgbm9kZSBtYWludGFpbnMgc3Rh
dGUgYW55IHRpbWUgaXQgc2VuZHMgYSByYXRlIG92ZXJsb2FkDQo+Pj4gcmVwb3J0LiAgVGhlIGZp
ZnRoIHBhcmFncmFwaCBpcyBqdXN0IHNheWluZyB0aGF0IHRoZSByZXBvcnQgbXVzdA0KPj4+IGlu
Y2x1ZGUgdGhlIHJhdGUgaW5mb3JtYXRpb24uDQo+Pg0KPj4gQWN0dWFsbHksIG15IHF1ZXN0aW9u
IHJlbGF0ZXMgdG8gbXkgcXVlc3Rpb24gb24gNS40LiBUaGUgZmlyc3QNCj4+IHBhcmFncmFwaCBz
YXlzIHRvIGtlZXAgc3RhdGUgZm9yIGV2ZXJ5IHJlcG9ydGluZyBub2RlIHRvIHdoaWNoIGl0DQo+
PiBzZW5kcyBhbiBPTFIuIFRoZSA1dGggcGFyYWdyYXBoIGltcGxpZXMgdGhhdCBpdCBzZW5kcyBv
biBPTFIgd2hlbg0KPj4gaXQgc2VsZWN0cyB0aGUgcmF0ZSBhbGdvcml0aG0gZm9yIGEgcmVhY3Rp
bmcgbm9kZS4gKElmIHlvdSBhcmUNCj4+IGdvaW5nIHRvIGluY2x1ZGUgdGhlIHJhdGUgaW5mbywg
eW91IGhhdmUgdG8gaGF2ZSBhIHJlcG9ydCB0bw0KPj4gaW5jbHVkZSBpdCBpbi4pDQo+Pg0KPj4g
U28gaXQgY29tZXMgZG93biB0byBjbGFyaXR5IGFib3V0IHdoYXQgZXZlbnRzIGhhcHBlbiDigJx3
aGVuIHRoZQ0KPj4gcmVwb3J0aW5nIG5vZGUgc2VsZWN0cyB0aGUgYWxnb3JpdGhtIGZvciBhIHJl
YWN0aW5nIG5vZGXigJ0gdnMg4oCcd2hlbg0KPj4gdGhlIHJlcG9ydGluZyBub2RlIHNlbmRzIGFu
IE9MUuKAnS4NCj4+DQo+Pj4+DQo+Pj4+IMKnNS40OiBUaGUgZmlyc3QgcGFyYWdyYXBoIHNlZW1z
IHRvIHN1Z2dlc3QgdGhlIHJlYWN0aW5nIG5vZGUNCj4+Pj4ga2VlcHMgT0NTIGZvciBldmVyeSBz
ZXJ2ZXIgdGhhdCBoYXMgaW5kaWNhdGVkIHN1cHBvcnQgZm9yIHRoZQ0KPj4+PiByYXRlIGFsZ29y
aXRobSwgbm90IGp1c3Qgbm9kZXMgdGhhdCBoYXZlIHNlbnQgT0xScy4gSXMgdGhhdCB0aGUNCj4+
Pj4gaW50ZW50Pw0KPj4+IFNSRD4gIFllcywgdGhhdCBpcyB0aGUgaW50ZW50LiAgVGhpcyBhbGxv
d3MgdGhlIHJlYWN0aW5nIG5vZGUgdG8NCj4+PiBtYWtlIHN1cmUgdGhhdCB0aGUgbWFjaGluZXJ5
IG5lZWRlZCB0byByZXNwb25kIHRvIGEgcmF0ZSByZXF1ZXN0DQo+Pj4gaXMgaW4gcGxhY2UgcHJp
b3IgdG8gcmVjZWl2aW5nIGFuIE9MUi4NCj4+DQo+PiBTZWUgYWJvdmUuDQo+DQo+IDxFTj4gQWdy
ZWVkLiBEbyBub3Qga25vdyB3aGF0IGRvZXMg4oCYc2VlIGFib3Zl4oCZIHJlZmVycyB0by4NCg0K
U1JEPiBJIGRvbid0IHNlZSB0aGUgbmVlZCBmb3IgYSBjaGFuZ2UgdG8gdGhlIGRvY3VtZW50LiAg
SWYgdGhlcmUgaXMgc3RpbGwgY29uZnVzaW9uIHRoZW4gaXQgY2FuIGJlIGFkZHJlc3NlZCBpbiB0
aGUgbmV4dCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudC4NCg0KPg0KPj4+PiDCpzUuNiwgZmlyc3Qg
cGFyYWdyYXBoOiBUaGUgTUFZIHNlZW1zIHdlZWsgaGVyZS4gSSBrbm93IGFuZA0KPj4+PiBhZ3Jl
ZSB0aGF0IHdlIGRvbuKAmXQgd2FudCB0byBmb3JjZSBhIHBhcnRpY3VsYXIgYXBwbGljYXRpb24u
IEJ1dA0KPj4+PiBkb27igJl0IHdlIG5lZWQgdG8gc2F5IHRoYXQgaWYgYW4gaW1wbGVtZW50YXRp
b24gdXNlcyBhIGRpZmZlcmVudA0KPj4+PiBhbGdvcml0aG0sIGl0IE1VU1QgaGF2ZSB0aGUgc2Ft
ZSBiZWhhdmlvciBhcyB0aGUgYWxnb3JpdGhtIGluDQo+Pj4+IHNlY3Rpb24gNz8NCj4+Pj4NCj4+
Pj4gPEpQRz4gSSB0aGluayBpdCBNVVNUICJsaW1pdCB0aGUgbWVzc2FnZSByYXRlIHRvIHRoZQ0K
Pj4+PiBPQy1NYXhpbXVtLVJhdGUgQVZQIHZhbHVlIGluIHVuaXRzIG9mIG1lc3NhZ2VzIHBlciBz
ZWNvbmQiIChhcw0KPj4+PiBzdGF0ZWQgaW4gNy4zLjEpLiAgVGhlIGFsZ29yaXRobSBkZXNjcmli
ZWQgaW4gdGhlIHJlc3Qgb2YgNy4zLjENCj4+Pj4gYW5kIDcuMy4yIGlzIHNvbWV3aGF0IG1vcmUg
c29waGlzdGljYXRlZCwgYWxsb3dpbmcgZm9yIGENCj4+Pj4gc21vb3RoaW5nIGZhY3RvciAoVEFV
KSBhbmQgcHJpb3JpdGl6YXRpb24uICBJIGRvIG5vdCB0aGluayB3ZQ0KPj4+PiBuZWVkICB0byBz
YXkgdGhhdCB0aGUgc2VsZWN0ZWQgYWxnb3JpdGhtIE1VU1QgaGF2ZSB0aG9zZQ0KPj4+PiBmZWF0
dXJlcy48SlBHPg0KPj4+IFNSRD4gQWdhaW4sIEkgYWdyZWUgd2l0aCBKYW5ldC4NCj4+DQo+PiBP
a2F5Lg0KPg0KPiA8RU4+IEFncmVlZC4NCj4NCj4NCj4+Pj4gwqc3LjIsIHRoaXJkIGFuZCA0dGgg
cGFyYWdyYXBoczogSSBkb27igJl0IHVuZGVyc3RhbmQgd2hhdCB0aGlzIGlzDQo+Pj4+IHRyeWlu
ZyB0byBzYXkuIFBsZWFzZSBlbGFib3JhdGUuDQo+Pj4+DQo+Pj4+IDxKUEc+M3JkIHBhcmEgLSBK
dXN0IGFzIGEgImZvciBpbnN0YW5jZSItIGlmIHRoZSByZWFjdGluZyBub2RlDQo+Pj4+IGhhcyA1
MC9zZWNvbmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzIGFuZCA1MC9zZWNvbmQgaGlnaCBwcmlvcml0
eQ0KPj4+PiBtZXNzYWdlcyB0aGF0IGl0IHdhbnQgdG8gc2VuZCwgYW5kIGhhcyBhIHJhdGUgbGlt
aXQgb2YNCj4+Pj4gNzUvc2Vjb25kLCBpdCB3aWxsIHNlbmQgMjUvc2Vjb25kIGxvdyBwcmlvcml0
eSBtZXNzYWdlcyBhbmQgNTANCj4+Pj4gL3NlY29uZCBoaWdoIHByaW9yaXR5IG1lc3NhZ2VzLiAg
VGhlIGxpbWl0IG9mIDc1L3NlY29uZCBhcHBsaWVzDQo+Pj4+IHRvIHRoZSBjb21iaW5lZCBzdHJl
YW0gb2YgaGlnaCBhbmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzLCBldmVuDQo+Pj4+IHRob3VnaCBv
bmx5IHRoZSBsb3cgcHJpb3JpdHkgbWVzc2FnZXMgYXJlIGJlaW5nIGFiYXRlZC48SlBHID4NCj4+
Pj4NCj4+Pj4gPEpQRz4gNHRoIHBhcmEgLSBpbiB0aGUgc2FtZSBleGFtcGxlLCBpdCBjb3VsZCBi
ZSB0aGF0IHRoZSBoaWdoDQo+Pj4+IHByaW9yaXR5IG1lc3NhZ2VzIHR5cGljYWxseSByZXF1aXJl
IG1vcmUgcHJvY2Vzc2luZyByZXNvdXJjZXMNCj4+Pj4gKGNwdSwgZXRjKSB0aGFuIHRoZSBsb3cg
cHJpb3JpdHkgbWVzc2FnZXMgKG9yIHZpY2UgdmVyc2EpLiAgU28NCj4+Pj4gY3V0dGluZyB0aGUg
cmF0ZSB0byA3NS9zZWMgbWF5IE5PVCBwcm9kdWNlIHRoZSBleHBlY3RlZA0KPj4+PiByZWR1Y3Rp
b24gaW4gcmVzb3VyY2UgdXNhZ2UuPEpQRz4NCj4+PiBTUkQ+IFRoYW5rcyBKYW5ldCwgSSBjb3Vs
ZG4ndCBoYXZlIGV4cGxhaW5lZCBpdCBiZXR0ZXIuDQo+Pg0KPj4gSmFuZXTigJlzIGV4cGxhbmF0
aW9uIGlzIGdvb2QsIGJ1dCBJIGRvbuKAmXQgZ2V0IHRoYXQgZnJvbSB0aGUgdGV4dCwgYXQNCj4+
IGxlYXN0IGluIHRoZSBjYXNlIG9mIHRoZSB0aGlyZCBwYXJhZ3JhcGguDQo+Pg0KPj4gSW4gdGhl
IDR0aCBwYXJhZ3JhcGgsIEkgZG9u4oCZdCB1bmRlcnN0YW5kIGhvdyB0aGUgcmVwb3J0aW5nIG5v
ZGUNCj4+IHdvdWxkIOKAnHRha2UgaW50byBhY2NvdW50IHRoZSB3b3JrbG9hZOKAnSBpbiBhIHVz
ZWZ1bCB3YXkuIFRoYXQgc2VlbXMNCj4+IHRvIHN1Z2dlc3QgdGhlIHJlcG9ydGluZyBub2RlIGNh
biBwcmVkaWN0IHRoZSBpbXBhY3Qgb2Ygd29ya2xvYWQNCj4+IGJhc2VkIGRlY2lzaW9ucyBtYWRl
IGJ5IHRoZSByZWFjdGluZyBub2RlLCB3aGljaCBzZWVtcyB1bmxpa2VseQ0KPj4gdW5sZXNzIHRo
ZXJlIGlzIHNvbWUgb3V0LW9mLWJhbmQgYWdyZWVtZW50Lg0KPj4NCj4+IElzIHRoaXMgcmVhbGx5
IHNheWluZyBhbnl0aGluZyBtb3JlIHRoYW4g4oCcVGhlIHJlYWN0aW5nIG5vZGVzIHdpbGwNCj4+
IGRlY2lkZSB3aGljaCBtZXNzYWdlcyB0byBzZW5kIGFuZCB3aGljaCB0byBkcm9wLCBhbmQgdGhl
IHJlc3VsdCBtYXkNCj4+IG5vdCBiZSBwcmVkaWN0YWJsZSBieSB0aGUgcmVwb3J0aW5nIG5vZGXi
gJ0/DQo+DQo+IDxFTj4gIENvbXB1dGF0aW9uIG9mIG1heGltdW0gcmF0ZSBwZXIgcmVhY3Rpbmcg
bm9kZSBtb2R1bGF0ZWQgd2l0aA0KPiBpdHMgbWVhc3VyZWQgd29ya2xvYWQgKG1lc3NhZ2UgdHlw
ZSBmcmVxdWVuY3kpIGltcHJvdmVzIHRocm90dGxpbmcNCj4gd2hlbiByZWFjdGluZyBub2RlcyBw
cmlvcml0aXplIG1lc3NhZ2VzLg0KPg0KPj4+PiAtNnRoIHBhcmFncmFwaDog4oCcICBtYXkgcmVj
ZWl2ZSByZXF1ZXN0cyBhdCBhIHJhdGUgYmVsb3cgaXRzDQo+Pj4+IHRhcmdldCBtYXhpbXVtIERp
YW1ldGVyICByZXF1ZXN0IHJhdGUgd2hpbGUgb3RoZXJzIGFib3ZlIHRoYXQNCj4+Pj4gdGFyZ2V0
IHJhdGUuICBCdXQgdGhlIHJlc3VsdGluZyByZXF1ZXN0IHJhdGUgcHJlc2VudGVkIHRvIHRoZQ0K
Pj4+PiBvdmVybG9hZGVkIHJlcG9ydGluZyBub2RlIHdpbGwgY29udmVyZ2UgdG93YXJkcyB0aGUg
dGFyZ2V0DQo+Pj4+IERpYW1ldGVyIHJlcXVlc3QgcmF0ZS7igJ0NCj4+Pj4NCj4+Pj4gV2h5IGRv
IHdlIGV4cGVjdCB0cmFmZmljIHRvIGNvbnZlcmdlIHRvIHRoZSByYXRlIGxpbWl0PyBJdA0KPj4+
PiBzZWVtcyBsaWtlIHRoYXQgd29uJ3QgaGFwcGVuIGlmIHNvbWUgcmVwb3J0aW5nIG5vZGVzIGFy
ZSBub3QNCj4+Pj4gc2VuZGluZyBhdCBmdWxsIGNhcGFjaXR5LCB1bmxlc3Mgd29yayBjYW4gYmUg
c2hpZnRlZCBmcm9tIHRoZQ0KPj4+PiBoaWdoLXJhdGUgc291cmNlcyB0byB0aGUgc2xvdy1yYXRl
IG9uZXMuDQo+Pj4+DQo+Pj4+IDxKUEc+IFByb2JhYmx5IHdvdWxkIGJlIGJldHRlciB0byBzYXkg
dGhhdCBpdCAid2lsbCBjb252ZXJnZQ0KPj4+PiB0b3dhcmQgYSByYXRlIGF0IG9yIGJlbG93IHRo
ZSB0YXJnZXQgRGlhbWV0ZXIgcmVxdWVzdA0KPj4+PiByYXRlLuKAnTxKUEc+DQo+Pj4gU1JEPiBJ
J20gb2theSB3aXRoIG1ha2luZyBKYW5ldCdzIHN1Z2dlc3RlZCBjaGFuZ2UuDQo+Pg0KPj4gV0ZN
Lg0KPg0KPiA8RU4+ICBBZ3JlZWQuDQo+DQo+Pj4+IMKnNy4zLjE6IHBhcmFncmFwaCBzdGFydGlu
ZyB3aXRoIOKAnCBJbiBzaXR1YXRpb25zIHdoZXJlIHJlYWN0aW5nDQo+Pj4+IG5vZGVzIGFyZSBj
b25maWd1cmVkIHdpdGggc29tZSBrbm93bGVkZ2XigJ0NCj4+Pj4NCj4+Pj4gdGhhdCByZXF1aXJl
cyBrbm93bGVkZ2Ugb2Ygb3RoZXIgdHJhZmZpYyBzb3VyY2VzLCBub3QganVzdA0KPj4+PiBrbm93
bGVkZ2Ugb2YgdGhlIHJlcG9ydGluZyBub2RlLg0KPj4+Pg0KPj4+PiBUaGUgZXhhbXBsZSBjb2Rl
IHNheXMgdG8gdHJhbnNtaXQgYSBtZXNzYWdlIGlmIChYcCA8PSBUQVUpLiBCdXQNCj4+Pj4gdGhl
IHRleHQgc2FpZCB0aGUgbGltaXQgd2FzIOKAnFQrVEFVKS4NCj4+Pj4NCj4+Pj4gPEpQRz4gSSB0
aGluayBpdCBpcyBzdXBwb3NlZCB0byBiZSAiVCtUQVUiPEpQRz4NCj4+PiBTUkQ+IEknZCBsaWtl
IHRvIGdldCBFcmljJ3Mgb3BpbmlvbiBvbiB0aGlzLiAgVGhpcyBzZWN0aW9uIHdhcw0KPj4+IGNv
cGllZCBmcm9tIHRoZSBTT0MgUkZDIHNvIGlmIGl0IGlzIGluIGVycm9yIGhlcmUgdGhhbiBpdCBp
cyBpbg0KPj4+IGVycm9yIHRoZXJlIGFzIHdlbGwuDQo+Pg0KPj4gSSBhZ3JlZSB3aXRoIGdldHRp
bmcgRXJpY+KAmXMgb3BpbmlvbiA6LSkNCj4NCj4gPEVOPiAgV2VudCBiYWNrIHRvIElFVEYgZG9j
dW1lbnQgIFhwIDw9IFRBVSBpcyBjb3JyZWN0IChjb250aW51b3VzDQo+IHN0YXRlIGxlYWt5IGJ1
Y2tldCkNCj4NCj4+Pj4gwqc5OiBJIHRoaW5rIHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBu
ZWVkIG1vcmUgdGhvdWdodC4gV2hhdA0KPj4+PiBhcmUgdGhlIHNlY3VyaXR5IGNvbnNpZGVyYXRp
b25zIHNwZWNpZmljIHRvIHRoZSByYXRlIGFsZ29yaXRobT8NCj4+Pj4gSWYgdGhlcmUgYXJlbuKA
mXQgYW55LCB0aGVuIHBsZWFzZSBkZXNjcmliZSB0aGUgcmF0aW9uYWwgYmVoaW5kDQo+Pj4+IHRo
YXQuIEJ1dCBJIHN1c3BlY3QgdGhlcmUgYXJlLCBmb3IgZXhhbXBsZSwgY2FuIHRoaXMgYmUgdXNl
ZA0KPj4+PiBmb3IgYSBEb1M/IENhbiBpdCBiZSB1c2VkIHRvIGhlbHAgX21pdGlnYXRlXyBhIERv
Uz8gQ291bGQgb25lDQo+Pj4+IHJlYWN0aW5nIG5vZGUgY2F1c2Ugb3RoZXJzIHRvIGJlIHRyYWZm
aWMgc3RhcnZlZD8NCj4+Pj4NCj4+Pj4gPEpQRz5JdCBpcyBwb3NzaWJsZSB0aGF0IGEgcmVhY3Rp
bmcgbm9kZSB0aGF0IGRvZXMgbm90IHN1cHBvcnQNCj4+Pj4gb3ZlcmxvYWQgY29udHJvbCBjb3Vs
ZCBzdGFydmUgdGhlIG5vZGVzIHRoYXQgZG8gc3VwcG9ydA0KPj4+PiBvdmVybG9hZCBjb250cm9s
LCBidXQgdGhpcyBpcyBhbHNvIHRydWUgb2YgdGhlIGxvc3MgYmFzZWQNCj4+Pj4gdmVyc2lvbjxK
UEc+DQo+Pj4gU1JEPiBJJ20gbm90IGNvbnZpbmNlZCB0aGF0IHRoZXJlIGFyZSBzZWN1cml0eSBz
Y2VuYXJpb3MgdGhhdCBhcmUNCj4+PiBuZXcgb3IgZGlmZmVyZW50IGZvciByYXRlIHZlcnN1cyB0
aG9zZSBkb2N1bWVudGVkIGluIHRoZSBleGlzdGluZw0KPj4+IERPSUMgc3BlY2lmaWNhdGlvbnMu
DQo+Pg0KPj4gVGhpcyBkcmFmdCBhZGRzIGEgbmV3IGZlYXR1cmUgdGhhdCBpc27igJl0IGluIHRo
ZSBiYXNlIG1lY2hhbmlzbS4gSQ0KPj4gZ2F0aGVyIHlvdXIgcG9pbnQgaXMgdG8gc2F5IHRoYXQg
dGhlIG5ldyBmZWF0dXJlIHNoYXJlcyB0aGUgc2FtZQ0KPj4gc2VjdXJpdHkgY29uc2lkZXJhdGlv
bnMgYXMgdGhlIGJhc2UsIGFuZCBhZGRzIG5vIG5ldyBvbmVzLiBSaWdodA0KPj4gbm93LCBzZWN0
aW9uIDkgb25seSBzdGF0ZXMgdGhlIGZvcm1lci4NCj4NCj4gPEVOPiAgQ29tcHV0YXRpb24NCj4N
Cj4+Pj4gRWRpdG9yaWFsIENvbW1lbnRzOg0KPj4+Pg0KPj4+PiBHZW5lcmFsOiBJRE5pdHMgcmV0
dXJucyBzZXZlcmFsIGlzc3Vlcy4gU29tZSBvZiB0aG9zZSBtYXkgYmUNCj4+Pj4gZXJyb3JzIG9u
IGl0cyBwYXJ0LCBidXQgSeKAmW0gcHJldHR5IHN1cmUgc29tZSBvZiB0aGVtIGFyZSByZWFsLg0K
Pj4+PiBQbGVhc2UgcmVzb2x2ZSB0aGVzZS4NCj4+PiBTUkQ+IEknbGwgbG9vayBhdCB0aG9zZSBu
ZXh0IHRpbWUgSSB0cnkgdG8gc3VibWl0IGJ1dCBJJ3ZlIG5vdA0KPj4+IGdvdHRlbiBJRE5pdHMg
ZXJyb3JzIGluIHRoZSBwYXN0Lg0KPj4+DQo+Pj4gU1JEPiBJJ3ZlIG1hZGUgdGhlIHN1Z2dlc3Rl
ZCBjaGFuZ2VzIGJlbG93IHVubGVzcyBpbmRpY2F0ZWQNCj4+PiBvdGhlcndpc2UuDQo+Pj4+DQo+
Pg0KPj4g4oCmIGFuZCBJ4oCZdmUgZGVsZXRlZCBzZWN0aW9ucyB0aGF0IHNlZW0gcmVzb2x2ZWQu
DQo+Pg0KPj4gW+KApl0NCj4NCj4gPEVOPiAgSSB0aGluayBjb21tZW50IHJlc29sdmVkDQo+DQo+
Pj4+IMKnNS4xLCB0aGlyZCBwYXJhZ3JhcGg6IFRoZSB0ZXh0IGlzIG5vdCBjbGVhciB3aGV0aGVy
IHRoaXMgbWVhbnMNCj4+Pj4gT0NTIHNob3VsZCBiZSBtYWludGFpbmVkIHBlciBzdXBwb3J0ZWQg
YXBwbGljYXRpb24sIGV0Yywgb3INCj4+Pj4gdGhhdCBpdCBzaG91bGQgbWFpbnRhaW4gc3RhdGUg
d2hlbiB0aGUgcmF0ZSBhbGdvcml0aG0gb24gYSBwZXINCj4+Pj4gc3VwcG9ydGVkIGFwcGxpY2F0
aW9uLCBldGMsIGJhc2lzLg0KPj4+IFNSRD4gSSBkb24ndCB1bmRlcnN0YW5kIHRoZSBwb2ludCBi
ZWluZyBtYWRlIGhlcmUuDQo+Pg0KPj4gUHJvYmFibHkgYmVjYXVzZSBJIGZhaWxlZCB0byBtYWtl
IGl0Lg0KPj4NCj4+IEkgX3RoaW5rXyB0aGF0IHRoZSByZXBvcnRpbmcgbm9kZSBrZWVwcyBzdGF0
ZSBmb3IgZWFjaCByZXBvcnRpbmcNCj4+IG5vZGUgZm9yIHdoaWNoIGl0IHNlbGVjdHMgcmF0ZSwg
YW5kIGZ1cnRoZXIgbmVlZHMgdG8gc3ViZGl2aWRlIHRoYXQNCj4+IHN0YXRlIGJ5IGFwcGxpY2F0
aW9uIGFuZCByZXBvcnQgdHlwZS4gQnV0IHRoZSBpdCBkb2VzbuKAmXQgbmVlZCB0bw0KPj4ga2Vl
cCBzdGF0ZSBmb3IgYSByZXBvcnRpbmcgbm9kZSBmb3Igd2hpY2ggaXQgZG9lc27igJl0IHNlbGVj
dCByYXRlLA0KPj4gZXZlbiB0aG91Z2ggdGhhdCByZXBvcnRpbmcgbm9kZSBtaWdodCBoYXZlIGFu
IGFwcGxpY2F0aW9uIGluIGNvbW1vbg0KPj4gd2l0aCB0aGUgZmlyc3QgcmVwb3J0aW5nIG5vZGU/
DQo+Pg0KPj4gW+KApl0NCj4NCj4gPEVOPiAgUmVwb3J0aW5nIG5vZGUgbWFpbnRhaW4gc3RhdGUg
Zm9yIGVhY2ggcmVhY3Rpbmcgbm9kZSB0aGF0DQo+IGV4ZWN1dGVzIHRoZSByYXRlIGFsZ29yaXRo
bS4NCj4NCj4+Pj4gwqc2LjEuMSwgZGVmaW5pdGlvbiBvZiAiIE9MUl9SQVRFX0FMR09SSVRITeKA
nTogVHdvIHBlcmlvZHMgYXQgZW5kDQo+Pj4+IG9mIHNlbnRlbmNlLg0KPj4+Pg0KPj4+IFNSRD4g
SSBhbSBoZXNpdGFudCB0byBjaGFuZ2UgYW55IG9mIHRoZSB0ZXN0IGluIHNlY3Rpb24gNyBnaXZl
bg0KPj4+IHRoYXQgaXQgaXMgdGFrZW4gZnJvbSB0aGUgU09DIHNwZWNpZmljYXRpb24uICBJIHdv
dWxkIHByZWZlciB0aGF0DQo+Pj4gRXJpYyBjb21tZW50IG9uIHRoZXNlIHByb3Bvc2VkIGNoYW5n
ZXMgYmVmb3JlIGluY2x1ZGluZyB0aGVtIGluDQo+Pj4gdGhlIG5leHQgdmVyc2lvbi4NCj4+DQo+
PiBNYWtlcyBzZW5zZS4NCj4NCj4gPEVOPiAgVHlwbywgcGxlYXNlIHJlbW92ZSBleHRyYSBwZXJp
b2QNCj4NCj4+Pj4gwqc3LjEsIDJuZCBwYXJhZ3JhcGg6IOKAnCBzaWduYWwgb25lIGFub3RoZXIg
c3VwcG9ydCBmb3INCj4+Pj4gcmF0ZS1iYXNlZCBvdmVybG9hZCBjb250cm9s4oCdOiBUaGlzIHNl
ZW1zIGF3a3dhcmQ7IGFyZSB0aGVyZQ0KPj4+PiBtaXNzaW5nIHdvcmRzPw0KPg0KPiA8RU4+ICBM
b29rcyBvayB0byBtZSAsIGJ1dCBJIGFtIG5vdCBhbiBFbmdsaXNoIG5hdGl2ZSBzcGVha2VyLg0K
Pg0KPj4+PiDCpzcuMiwgbGFzdCB0d28gcGFyYWdyYXBoczogVGhlIE1VU1RzIGRvIG5vdCBzZWVt
IG5lY2Vzc2FyeS4NCj4+Pj4gMjExOSBrZXl3b3JkcyBzaG91bGQgYmUgdXNlZCB3aGVuIHRoZXJl
IGlzIHNvbWUgc29ydCBvZiBjaG9pY2UNCj4+Pj4gb3Igcm9vbSBmb3IgZXJyb3IuIFlvdSBkb27i
gJl0IG5lZWQgdGhlbSB0byBkZWZpbmUgdGhlIGJhc2ljDQo+Pj4+IG9wZXJhdGlvbiBvZiB0aGUg
cHJvdG9jb2wuDQo+DQo+IDxFTj4gIE9LIHdpdGggbWUNCj4NCj4+Pj4gwqc3LjMuMTogSSBmb3Vu
ZCB0aGUgdGV4dCBoYXJkIHRvIGZvbGxvdy4gSXQgd291bGQgaGVscCB0bw0KPj4+PiBkZWNsYXJl
IGFsbCB0aGUgaWRlbnRpZmllcnMgYW5kIGluaXRpYWxpemF0aW9uIHVwIGZyb250LCBhbmQgdG8N
Cj4+Pj4gcHJlc2VudCB0aGluZ3MgaW4gbW9yZSBvZiBhIHN0ZXB3aXNlIGZhc2hpb24uDQo+Pj4+
DQo+Pj4+IC0gVCBpcyBlZmZlY3RpdmVseSBhIHRpbWUgaW50ZXJ2YWwsIHJpZ2h0PyBJdCB3b3Vs
ZCBoZWxwIHRvIHNheQ0KPj4+PiB0aGF0LCBlc3BlY2lhbGx5IGxhdGVyIHdoZW4geW91IHN1YnRy
YWN0IGEgZGlmZmVyZW50IHRpbWUNCj4+Pj4gaW50ZXJ2YWwgZnJvbSBpdC4NCj4+Pj4NCj4+Pj4g
LSBwYXJhZ3JhcGggOTogU2hvdWxkIOKAnGFkbWl04oCdIGJlIOKAnGVtaXTigJ0/DQo+Pj4+DQo+
Pj4+IC0gdGhlIGV4YW1wbGUgY29kZSBoYXMgc2V2ZXJhbCBtZW50aW9ucyBvZiBTSVAgcmVxdWVz
dHMuDQo+DQo+IDxFTj4gICBUICA9IDEvW09DLU1heGltdW0tUmF0ZV0gaXMgdGhlIHRhcmdldCBp
bnRlci1EaWFtZXRlciByZXF1ZXN0DQo+IGludGVydmFsICBwZXIgNy4zLjEgcGFyYWdyYXBoIDEu
IOKAnGFkbWl04oCdIHVzYWdlIGlzIGNvcnJlY3QgU0lQIHNob3VsZA0KPiBiZSByZXBsYWNlIHdp
dGggRGlhbWV0ZXINCj4NCj4+Pj4gwqc3LjMuMjog4oCcIFJlcXVlc3QgY2FuZGlkYXRlcyBmb3Ig
cmVkdWN0aW9uLCByZXF1ZXN0cyBub3QNCj4+Pj4gc3ViamVjdCB0byByZWR1Y3Rpb24gKGV4Y2Vw
dCB1bmRlciBleHRlbnVhdGluZyBjaXJjdW1zdGFuY2VzDQo+Pj4+IHdoZW4gdGhlcmUgYXJlbuKA
mXQgYW55IG1lc3NhZ2VzIGluIHRoZSBmaXJzdCBjYXRlZ29yeSB0aGF0IGNhbg0KPj4+PiBiZSBy
ZWR1Y2VkKS7igJ06IFRoYXQgc2VlbXMgbGlrZSBhbiBhd2t3YXJkIHdheSB0byBzYXkgdGhhdCB0
aGUNCj4+Pj4gc2Vjb25kIGNhdGVnb3J5IGlzIHRoZSBzZXQgb2YgcmVxdWVzdHMgdGhhdCBpcyBv
bmx5IHN1YmplY3QgdG8NCj4+Pj4gcmVkdWN0aW9uIGlmIHRoZXJlIGFyZSBubyBtZXNzYWdlcyBs
ZWZ0IGluIHRoZSBmaXJzdCBjYXRlZ29yeS4NCj4+Pj4NCj4+Pj4gPEpQRz4gWWVzLCB0aGF0IGlz
IHdoYXQgaXQgbWVhbnMuPEpQRz4NCj4+Pj4NCj4+Pj4gLSDigJwgVGhpcyBjYW4gYmUgZ2VuZXJh
bGl6ZWQgdG8gbiBwcmlvcml0aWVzIHVzaW5nIG4gdGhyZXNob2xkcw0KPj4+PiBmb3Igbj4yIGlu
IHRoZSBvYnZpb3VzIHdheS7igJ06IEkgc3VnZ2VzdCB5b3UgcmVmcmFpbiBmcm9tDQo+Pj4+IGNh
bGxpbmcgaXQg4oCcb2J2aW91cyIuDQo+DQo+IDxFTj4gICAgQWdyZWVkDQo+DQo+Pj4+IMKnNy4z
LjM6IFBhcmFncmFwaCBzdGFydGluZyB3aXRoIOKAnCBUaGVuIChvbmx5KSBpZiB0aGUgYXJyaXZh
bCBpcw0KPj4+PiBhZG1pdHRlZCwgaW5jcmVhc2UgdGhlIGJ1Y2tldCBieSBhbiBhbW91bnTigKbi
gJ06IEkgdGhpbmsgeW91DQo+Pj4+IGluY3JlYXNlIHRoZSBidWNrZXQgX2NvdW50XywgcmlnaHQ/
DQo+DQo+DQo+DQo+IDxFTj4gICBDb3JyZWN0DQo+DQo+DQo+DQo+IFRoYW5rcywNCj4NCj4NCj4N
Cj4gRXJpYyBOb2VsDQo+DQo+ICpBVCZUIExhYnMsIEluYy4qIC9SZXRoaW5rIFBvc3NpYmxlLw0K
Pg0KPg0KPg0KPiBPcHRpbWl6YXRpb24sIFJlbGlhYmlsaXR5IGFuZCBDdXN0b21lciBBbmFseXRp
Y3MNCj4NCj4gMjAwIFNvdXRoIExhdXJlbCBBdmVudWUsIEQ1LTNDMzggTWlkZGxldG93biwgTkog
MDc3NDggUDoNCj4gNzMyLjQyMC40MTc0DQo+DQo+IGVjbm9lbEBhdHQuY29tPG1haWx0bzplY25v
ZWxAYXR0LmNvbT4gPG1haWx0bzpqc21pdGhAYXR0LmNvbT48bWFpbHRvOmpzbWl0aEBhdHQuY29t
Pg0KPg0KPg0KPg0KPiAqRnJvbToqU3RldmUgRG9ub3ZhbiBbbWFpbHRvOnNyZG9ub3ZhbkB1c2Rv
bm92YW5zLmNvbV0gKlNlbnQ6Kg0KPiBNb25kYXksIEF1Z3VzdCAwNiwgMjAxOCAxMjo0MiBQTSAq
VG86KiBOT0VMLCBFUklDIEMgPGVuNTE5MkBhdHQuY29tPjxtYWlsdG86ZW41MTkyQGF0dC5jb20+
DQo+ICpTdWJqZWN0OiogRndkOiBSZTogW0RpbWVdIGRyYWZ0LWlldGYtZGltZS1kb2ljLXJhdGUt
Y29udHJvbC0wOA0KPg0KPg0KPg0KPiBFcmljLA0KPg0KPiBJZiBub3QgSSB3aWxsIG1ha2UgdGhl
IG5lY2Vzc2FyeSBjaGFuZ2VzLiAgSSB3b3VsZCBwcmVmZXIgdGhhdCB5b3UNCj4gaGFuZGxlIHRo
ZSBjb21tZW50cyBvbiB0aGUgYWN0dWFsIHJhdGUgYWxnb3JpdGhtIGJ1dCwgaWYgeW91IGFyZSBu
b3QNCj4gYWJsZSB0aGVuIEkgd2lsbCBtYWtlIHRoZSBuZWNlc3NhcnkgY2hhbmdlcy4NCj4NCj4g
UmVnYXJkcywNCj4NCj4gU3RldmUNCj4NCj4NCj4NCj4gLS0tLS0tLS0gRm9yd2FyZGVkIE1lc3Nh
Z2UgLS0tLS0tLS0NCj4NCj4gKlN1YmplY3Q6ICoNCj4NCj4NCj4NCj4gUmU6IFtEaW1lXSBkcmFm
dC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wtMDgNCj4NCj4gKkRhdGU6ICoNCj4NCj4NCj4N
Cj4gVHVlLCAyNiBKdW4gMjAxOCAxNjowODo1NiAtMDUwMA0KPg0KPiAqRnJvbTogKg0KPg0KPg0K
Pg0KPiBCZW4gQ2FtcGJlbGwgPGJlbkBub3N0cnVtLmNvbT48bWFpbHRvOmJlbkBub3N0cnVtLmNv
bT4gPG1haWx0bzpiZW5Abm9zdHJ1bS5jb20+PG1haWx0bzpiZW5Abm9zdHJ1bS5jb20+DQo+DQo+
ICpUbzogKg0KPg0KPg0KPg0KPiBTdGV2ZSBEb25vdmFuIDxzcmRvbm92YW5AdXNkb25vdmFucy5j
b20+PG1haWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb20+DQo+IDxtYWlsdG86c3Jkb25vdmFu
QHVzZG9ub3ZhbnMuY29tPjxtYWlsdG86c3Jkb25vdmFuQHVzZG9ub3ZhbnMuY29tPg0KPg0KPiAq
Q0M6ICoNCj4NCj4NCj4NCj4gZWNub2VsQHJlc2VhcmNoLmF0dC5jb208bWFpbHRvOmVjbm9lbEBy
ZXNlYXJjaC5hdHQuY29tPiA8bWFpbHRvOmVjbm9lbEByZXNlYXJjaC5hdHQuY29tPjxtYWlsdG86
ZWNub2VsQHJlc2VhcmNoLmF0dC5jb20+LA0KPiBkaW1lQGlldGYub3JnPG1haWx0bzpkaW1lQGll
dGYub3JnPiA8bWFpbHRvOmRpbWVAaWV0Zi5vcmc+PG1haWx0bzpkaW1lQGlldGYub3JnPg0KPg0K
Pg0KPg0KPiA8YnVtcD4NCj4NCj4+IE9uIEp1biAxNCwgMjAxOCwgYXQgNDozOCBQTSwgQmVuIENh
bXBiZWxsIDxiZW5Abm9zdHJ1bS5jb20+PG1haWx0bzpiZW5Abm9zdHJ1bS5jb20+DQo+PiA8bWFp
bHRvOmJlbkBub3N0cnVtLmNvbT48bWFpbHRvOmJlbkBub3N0cnVtLmNvbT4gd3JvdGU6DQo+Pg0K
Pj4gSGksDQo+Pg0KPj4gU2VlIG15IHJlc3BvbnNlcyBpbmxpbmUuIEkgcmVtb3ZlZCBzZWN0aW9u
cyB0aGF0IHNlZW0gcmVzb2x2ZWQuDQo+Pg0KPj4gVGhhbmtzLA0KPj4NCj4+IEJlbi4NCj4+DQo+
Pj4gT24gSnVuIDEzLCAyMDE4LCBhdCAxMjozMCBQTSwgU3RldmUgRG9ub3Zhbg0KPj4+IDxzcmRv
bm92YW5AdXNkb25vdmFucy5jb20+PG1haWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb20+IDxt
YWlsdG86c3Jkb25vdmFuQHVzZG9ub3ZhbnMuY29tPjxtYWlsdG86c3Jkb25vdmFuQHVzZG9ub3Zh
bnMuY29tPg0KPj4+IHdyb3RlOg0KPj4+DQo+Pj4gU2VlIG15IGNvbW1lbnRzIGlubGluZS4NCj4+
Pg0KPj4+IFN0ZXZlDQo+Pj4NCj4+PiBPbiA1LzI1LzE4IDQ6MTcgUE0sIEd1bm4sIEphbmV0IFAg
KENOVikgd3JvdGU6DQo+Pj4+IE5vdCBhbiBhdXRob3IsIGJ1dCBJIGhhdmUgYSBzdHJvbmcgaW50
ZXJlc3QgaW4gdGhpcyBJRC4NCj4+Pj4gQ29tbWVudHMgaW4gbGluZS4gSmFuZXQNCj4+Pj4NCj4+
Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0gRnJvbTogRGlNRSA8ZGltZS1ib3VuY2VzQGll
dGYub3JnPjxtYWlsdG86ZGltZS1ib3VuY2VzQGlldGYub3JnPg0KPj4+PiA8bWFpbHRvOmRpbWUt
Ym91bmNlc0BpZXRmLm9yZz48bWFpbHRvOmRpbWUtYm91bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxm
IE9mIEJlbiBDYW1wYmVsbCBTZW50Og0KPj4+PiBXZWRuZXNkYXksIE1heSAxNiwgMjAxOCAxOjMx
IEFNIFRvOg0KPj4+PiBkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxsQGlldGYu
b3JnPG1haWx0bzpkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxsQGlldGYub3Jn
Pg0KPj4+PiA8bWFpbHRvOmRyYWZ0LWlldGYtZGltZS1kb2ljLXJhdGUtY29udHJvbC5hbGxAaWV0
Zi5vcmc+PG1haWx0bzpkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxsQGlldGYu
b3JnPiBDYzoNCj4+Pj4gZGltZUBpZXRmLm9yZzxtYWlsdG86ZGltZUBpZXRmLm9yZz4gPG1haWx0
bzpkaW1lQGlldGYub3JnPjxtYWlsdG86ZGltZUBpZXRmLm9yZz4gU3ViamVjdDogW0RpbWVdDQo+
Pj4+IGRyYWZ0LWlldGYtZGltZS1kb2ljLXJhdGUtY29udHJvbC0wOA0KPj4+Pg0KPj4+PiBTdWJz
dGFudGl2ZSBDb21tZW50czoNCj4+Pj4NCj4+Pj4gR2VuZXJhbDogVGhlIGRvY3VtZW50IHNlZW1z
IGluY29uc2lzdGVudCBhYm91dCB3aGV0aGVyIHJhdGUNCj4+Pj4gbGltaXRzIGFyZSBvbmx5IHJl
cG9ydGVkIGR1cmluZyBvdmVybG9hZCBjb25kaXRpb25zLCBvciBpbg0KPj4+PiBhZHZhbmNlIG9m
IG92ZXJsb2FkIGNvbmRpdGlvbnMuDQo+Pj4+DQo+Pj4+IDxKUEc+IEkgdGhpbmsgdGhhdCB3b3Vs
ZCBiZSAibG9jYWwgcG9saWN5IiBvZiB0aGUgc2VydmluZw0KPj4+PiAocmVwb3J0aW5nKSBub2Rl
LCBhbmQgaW5kZXBlbmRlbnQgb2YgdGhlIHByb3RvY29sIHVzZWQgdG8NCj4+Pj4gY29tbXVuaWNh
dGUgaXQuICBJIHRoaW5rIG1vc3QgY2FzZXMgd291bGQgYmUgcmVhY3RpdmUsIGJ1dCBJDQo+Pj4+
IGNhbiBzZWUgc2l0dWF0aW9ucyB3aGVyZSBpdCBjb3VsZCBiZSBwcm9hY3RpdmUuPEpQRz4NCj4+
PiBTUkQ+IEkgYWdyZWUgd2l0aCBKYW5ldCwgd2hlbiB0aGUgcmVwb3J0IGlzIHNlbnQgaXMgdmVy
eSBtdWNoDQo+Pj4gbG9jYWwgcG9saWN5LiAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIGF0dGVtcHQg
dG8gcHJldmVudCBwcm9hY3RpdmUNCj4+PiB1c2Ugb2YgdGhlIHJhdGUgbWVjaGFuaXNtLg0KPj4N
Cj4+IFRoYXTigJlzIGZpbmUgd2l0aCBtZSwgYnV0IGEgc2VudGVuY2Ugb3IgdHdvIHRvIHRoYXQg
ZWZmZWN0IHdvdWxkIGJlDQo+PiBoZWxwZnVsLiAoT24gcmUtcmVhZGluZywgSSBzZWUgd2hlcmUg
c2VjdGlvbiAxIHRhbGtzIGFib3V0DQo+PiDigJxhcHByb2FjaGluZyBvdmVybG9hZCBvciBvdmVy
bG9hZGVk4oCdLCBidXQgSSBhc3N1bWUgbmVpdGhlciBvZiB0aG9zZQ0KPj4gY29uZGl0aW9ucyBh
cmUgbmVjZXNzYXJ5PykNCj4+DQo+Pj4+DQo+Pj4+IEnigJlkIGxpa2UgdG8gc2VlIHRoZSBuZWVk
IHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBhbGwNCj4+Pj4gcG90ZW50aWFsIHNv
dXJjZXMgb2YgdHJhZmZpYyBnaXZlbiBzb21lIG1vcmUgZW1waGFzaXMuIChNYXliZSBhDQo+Pj4+
IHN1Yi1zZWN0aW9uIG9mIGl0cyBvd24/KQ0KPj4+Pg0KPj4+PiA8SlBHPiBJIGFncmVlLCBidXQg
YWdhaW4gSSBzZWUgdGhhdCBhcyAibG9jYWwgcG9saWN5IiBvZiB0aGUNCj4+Pj4gc2VydmluZyAo
cmVwb3J0aW5nKSBub2RlLiBJbiBwYXJ0aWN1bGFyLCB0aGVyZSBtYXkgYmUgcmVhY3RpbmcNCj4+
Pj4gbm9kZXMgdGhhdCBkbyBub3Qgc3VwcG9ydCB0aGUgcmF0ZSBhYmF0ZW1lbnQgYWxnb3JpdGht
LjxKUEc+DQo+Pj4gU1JEPiBBZ2FpbiwgSSBhZ3JlZSB3aXRoIEphbmV0LiAgVGhpcyBpcyBsb2Nh
bCBwb2xpY3kgYW5kIHRoZXJlDQo+Pj4gbWF5IHdlbGwgYmUgYSBtaXggb2YgcmF0ZSBhbmQgbG9z
cyBpZiBub3QgYWxsIG5vZGVzIHN1cHBvcnQgcmF0ZS4NCj4+PiBJIGRvbid0IHRoaW5rIGl0IGlz
IGFwcHJvcHJpYXRlIHRvIHNheSB0aGF0IHJhdGUgc2hvdWxkIGJlDQo+Pj4gcHJlZmVycmVkIG92
ZXIgbG9zcy4gIEJ1dCBtYXliZSBJJ20gbWlzc2luZyB5b3VyIG1lYW5pbmcgb24NCj4+PiAiYWxs
b2NhdGUgdGhlIHJhdGUgbGltaXTigJ0uDQo+Pg0KPj4gT2theSwgYnV0IHlvdSBzdGlsbCBoYXZl
IHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBhbGwNCj4+IHNvdXJjZXMgdGhhdCB5
b3UgYXBwbHkgdGhlIHJhdGUgYWxnb3JpdGhtIHRvLCByaWdodD8gVGhhdCBpcywgdGhlDQo+PiB0
b3RhbCBvZmZlcmVkIHJhdGUgd2lsbCBiZSBzb21ldGhpbmcgbGlrZSAoYXZlcmFnZSByYXRlIHBl
ciBzb3VyY2UpDQo+PiAqIChudW1iZXIgb2Ygc291cmNlcykuIE9yIGFtIEkgbWlzdW5kZXJzdGFu
ZGluZyBzb21ldGhpbmc/DQo+Pg0KPj4NCj4+Pj4NCj4+Pj4NCj4+Pj4gwqcxOiAtIOKAnCBXaGls
ZSB0aGlzIGNhbiBlZmZlY3RpdmVseSBkZWNyZWFzZSB0aGUgbG9hZCBoYW5kbGVkIGJ5DQo+Pj4+
IHRoZSBzZXJ2ZXIsIGl0IGRvZXMgbm90IGRpcmVjdGx5IGFkZHJlc3MgY2FzZXMgd2hlcmUgdGhl
IHJhdGUNCj4+Pj4gb2YgYXJyaXZhbCBvZiBzZXJ2aWNlIHJlcXVlc3RzIGluY3JlYXNlcyBxdWlj
a2x5LiINCj4+Pj4NCj4+Pj4gSSB0aGluayBpdCBmYWlscyB0byBhZGRyZXNzIGNhc2VzIHdoZXJl
IHRoZSBsb2FkIGNoYW5nZXMNCj4+Pj4gcmFwaWRseSBpbiBlaXRoZXIgZGlyZWN0aW9uLCByaWdo
dD8gQXQgbGVhc3QsIHRoZSBmb2xsb3dpbmcNCj4+Pj4gdGV4dCBzZWVtcyB0byBzYXkgdGhhdC4N
Cj4+Pj4NCj4+Pj4gPEpQRz4gSSBhZ3JlZS4gIFdoZW4gdGhlcmUgYXJlIHJhcGlkIGZsdWN0dWF0
aW9ucyBpbiB0aGUNCj4+Pj4gb2ZmZXJlZCBsb2FkLCB0aGUgImxvc3MiIGFsZ29yaXRobSBlcnJz
IGJvdGggaW4gIHRocm90dGxpbmcgVE9PDQo+Pj4+IE1VQ0ggd2hlbiB0aGVyZSBpcyBhIGRpcCBp
biBvZmZlcmVkIGxvYWQsIGFuZCB0aHJvdHRsaW5nIE5PVA0KPj4+PiBFTk9VR0ggd2hlbiB0aGVy
ZSBpcyBhIHNwaWtlIGluIG9mZmVyZWQgbG9hZC48SlBHPg0KPj4+IFNSRD4gVGhlIHRleHQgaW4g
c2VjdGlvbiAxIHRhbGtzIGFib3V0IHRoaXMgYWxyZWFkeS4gIElzIHRoZXJlIGENCj4+PiBzcGVj
aWZpYyBjaGFuZ2UgYmVpbmcgc3VnZ2VzdGVkPw0KPj4NCj4+IFNlY3Rpb24gMSB0YWxrcyBhYm91
dCByYXBpZGx5IGluY3JlYXNpbmcgbG9hZC4gRGlkIEkgbWlzcyBtZW50aW9uDQo+PiBvZiByYXBp
ZGx5IF9kZWNyZWFzaW5nXyBsb2FkPw0KPj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4gwqczOiBE
b2VzIHRoZSBuZWVkIGZvciBmdXR1cmUgcmVwb3J0IHR5cGVzIHRvIGNvbnNpZGVyIHRoZSByYXRl
DQo+Pj4+IGFsZ29yaXRobSBoYXZlIElBTkEgaW1wbGljYXRpb25zPw0KPj4+IFNSRD4gQXJlIHlv
dSBzdWdnZXN0aW5nIHRoYXQgdGhlIElBTkEgc2VjdGlvbiBpbmRpY2F0ZSB0aGF0IGFsbA0KPj4+
IG5ldyByZXBvcnQgdHlwZXMgTVVTVCBpbmRpY2F0ZSB3aGV0aGVyIG9yIG5vdCB0aGUgcmF0ZSBh
bGdvcml0aG0NCj4+PiBjYW4gYmUgdXNlZCB3aXRoIHRoYXQgcmVwb3J0IHR5cGU/ICBJIGNhbiBt
YWtlIHRoYXQgY2hhbmdlIHRvIHRoZQ0KPj4+IElBTkEgc2VjdGlvbiBpZiBpdCB3b3VsZCBiZSBh
cHByb3ByaWF0ZS4NCj4+Pj4NCj4+DQo+PiBJ4oCZbSBub3Qgc3VnZ2VzdGluZywgSeKAmW0gYXNr
aW5nIDotKSAgQnV0IG15IHBvaW50IHdhcyBtb3JlIGFsb25nDQo+PiB3aGV0aGVyIHRoZSBJQU5B
IHJlZ2lzdHJ5IGZvciByZXBvcnQgdHlwZXMgc2hvdWxkIGluY2x1ZGUgYSBmaWVsZA0KPj4gYWJv
dXQgc3VwcG9ydGluZyB0aGUgcmF0ZSBhbGdvcml0aG0uDQo+Pg0KPj4NCj4+Pj4gwqc1LjE6IFRo
ZSBmaXJzdCBwYXJhZ3JhcGggaW5kaWNhdGVzIHN0YXRlIHNob3VsZCBiZSBrZXB0IGZvcg0KPj4+
PiBldmVyeSByZWFjdGluZyBub2RlIHRvIHdoaWNoIGl0IHNlbmRzIGFuIE9MUi4gQnV0IHRoZSA1
dGgNCj4+Pj4gcGFyYWdyYXBoIGNhbiBiZSBpbnRlcnByZXRlZCB0byBzYXkgaXQgc2VuZHMgYW4g
T0xSIHRvIGV2ZXJ5DQo+Pj4+IHJlYWN0aW5nIG5vZGUgd2l0aCB3aGljaCBpdCBoYXMgbmVnb3Rp
YXRlZCB1c2Ugb2YgdGhlIHJhdGUNCj4+Pj4gYWxnb3JpdGhtLiAoc2VlIGdlbmVyYWwgY29tbWVu
dCkuDQo+Pj4gU1JEPiBJJ20gbWlzc2luZyBzb21ldGhpbmcuICBUaGUgZmlyc3QgcGFyYWdyYXBo
IHNheXMgdGhlDQo+Pj4gcmVwb3J0aW5nIG5vZGUgbWFpbnRhaW5zIHN0YXRlIGFueSB0aW1lIGl0
IHNlbmRzIGEgcmF0ZSBvdmVybG9hZA0KPj4+IHJlcG9ydC4gIFRoZSBmaWZ0aCBwYXJhZ3JhcGgg
aXMganVzdCBzYXlpbmcgdGhhdCB0aGUgcmVwb3J0IG11c3QNCj4+PiBpbmNsdWRlIHRoZSByYXRl
IGluZm9ybWF0aW9uLg0KPj4NCj4+IEFjdHVhbGx5LCBteSBxdWVzdGlvbiByZWxhdGVzIHRvIG15
IHF1ZXN0aW9uIG9uIDUuNC4gVGhlIGZpcnN0DQo+PiBwYXJhZ3JhcGggc2F5cyB0byBrZWVwIHN0
YXRlIGZvciBldmVyeSByZXBvcnRpbmcgbm9kZSB0byB3aGljaCBpdA0KPj4gc2VuZHMgYW4gT0xS
LiBUaGUgNXRoIHBhcmFncmFwaCBpbXBsaWVzIHRoYXQgaXQgc2VuZHMgb24gT0xSIHdoZW4NCj4+
IGl0IHNlbGVjdHMgdGhlIHJhdGUgYWxnb3JpdGhtIGZvciBhIHJlYWN0aW5nIG5vZGUuIChJZiB5
b3UgYXJlDQo+PiBnb2luZyB0byBpbmNsdWRlIHRoZSByYXRlIGluZm8sIHlvdSBoYXZlIHRvIGhh
dmUgYSByZXBvcnQgdG8NCj4+IGluY2x1ZGUgaXQgaW4uKQ0KPj4NCj4+IFNvIGl0IGNvbWVzIGRv
d24gdG8gY2xhcml0eSBhYm91dCB3aGF0IGV2ZW50cyBoYXBwZW4g4oCcd2hlbiB0aGUNCj4+IHJl
cG9ydGluZyBub2RlIHNlbGVjdHMgdGhlIGFsZ29yaXRobSBmb3IgYSByZWFjdGluZyBub2Rl4oCd
IHZzIOKAnHdoZW4NCj4+IHRoZSByZXBvcnRpbmcgbm9kZSBzZW5kcyBhbiBPTFLigJ0uDQo+Pg0K
Pj4+Pg0KPj4+PiDCpzUuNDogVGhlIGZpcnN0IHBhcmFncmFwaCBzZWVtcyB0byBzdWdnZXN0IHRo
ZSByZWFjdGluZyBub2RlDQo+Pj4+IGtlZXBzIE9DUyBmb3IgZXZlcnkgc2VydmVyIHRoYXQgaGFz
IGluZGljYXRlZCBzdXBwb3J0IGZvciB0aGUNCj4+Pj4gcmF0ZSBhbGdvcml0aG0sIG5vdCBqdXN0
IG5vZGVzIHRoYXQgaGF2ZSBzZW50IE9MUnMuIElzIHRoYXQgdGhlDQo+Pj4+IGludGVudD8NCj4+
PiBTUkQ+ICBZZXMsIHRoYXQgaXMgdGhlIGludGVudC4gIFRoaXMgYWxsb3dzIHRoZSByZWFjdGlu
ZyBub2RlIHRvDQo+Pj4gbWFrZSBzdXJlIHRoYXQgdGhlIG1hY2hpbmVyeSBuZWVkZWQgdG8gcmVz
cG9uZCB0byBhIHJhdGUgcmVxdWVzdA0KPj4+IGlzIGluIHBsYWNlIHByaW9yIHRvIHJlY2Vpdmlu
ZyBhbiBPTFIuDQo+Pg0KPj4gU2VlIGFib3ZlLg0KPj4NCj4+DQo+Pj4+DQo+Pj4+IMKnNS42LCBm
aXJzdCBwYXJhZ3JhcGg6IFRoZSBNQVkgc2VlbXMgd2VlayBoZXJlLiBJIGtub3cgYW5kDQo+Pj4+
IGFncmVlIHRoYXQgd2UgZG9u4oCZdCB3YW50IHRvIGZvcmNlIGEgcGFydGljdWxhciBhcHBsaWNh
dGlvbi4gQnV0DQo+Pj4+IGRvbuKAmXQgd2UgbmVlZCB0byBzYXkgdGhhdCBpZiBhbiBpbXBsZW1l
bnRhdGlvbiB1c2VzIGEgZGlmZmVyZW50DQo+Pj4+IGFsZ29yaXRobSwgaXQgTVVTVCBoYXZlIHRo
ZSBzYW1lIGJlaGF2aW9yIGFzIHRoZSBhbGdvcml0aG0gaW4NCj4+Pj4gc2VjdGlvbiA3Pw0KPj4+
Pg0KPj4+PiA8SlBHPiBJIHRoaW5rIGl0IE1VU1QgImxpbWl0IHRoZSBtZXNzYWdlIHJhdGUgdG8g
dGhlDQo+Pj4+IE9DLU1heGltdW0tUmF0ZSBBVlAgdmFsdWUgaW4gdW5pdHMgb2YgbWVzc2FnZXMg
cGVyIHNlY29uZCIgKGFzDQo+Pj4+IHN0YXRlZCBpbiA3LjMuMSkuICBUaGUgYWxnb3JpdGhtIGRl
c2NyaWJlZCBpbiB0aGUgcmVzdCBvZiA3LjMuMQ0KPj4+PiBhbmQgNy4zLjIgaXMgc29tZXdoYXQg
bW9yZSBzb3BoaXN0aWNhdGVkLCBhbGxvd2luZyBmb3IgYQ0KPj4+PiBzbW9vdGhpbmcgZmFjdG9y
IChUQVUpIGFuZCBwcmlvcml0aXphdGlvbi4gIEkgZG8gbm90IHRoaW5rIHdlDQo+Pj4+IG5lZWQg
IHRvIHNheSB0aGF0IHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gTVVTVCBoYXZlIHRob3NlDQo+Pj4+
IGZlYXR1cmVzLjxKUEc+DQo+Pj4gU1JEPiBBZ2FpbiwgSSBhZ3JlZSB3aXRoIEphbmV0Lg0KPj4N
Cj4+IE9rYXkuDQo+Pg0KPj4NCj4+Pj4NCj4+Pj4gwqc3LjIsIHRoaXJkIGFuZCA0dGggcGFyYWdy
YXBoczogSSBkb27igJl0IHVuZGVyc3RhbmQgd2hhdCB0aGlzIGlzDQo+Pj4+IHRyeWluZyB0byBz
YXkuIFBsZWFzZSBlbGFib3JhdGUuDQo+Pj4+DQo+Pj4+IDxKUEc+M3JkIHBhcmEgLSBKdXN0IGFz
IGEgImZvciBpbnN0YW5jZSItIGlmIHRoZSByZWFjdGluZyBub2RlDQo+Pj4+IGhhcyA1MC9zZWNv
bmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzIGFuZCA1MC9zZWNvbmQgaGlnaCBwcmlvcml0eQ0KPj4+
PiBtZXNzYWdlcyB0aGF0IGl0IHdhbnQgdG8gc2VuZCwgYW5kIGhhcyBhIHJhdGUgbGltaXQgb2YN
Cj4+Pj4gNzUvc2Vjb25kLCBpdCB3aWxsIHNlbmQgMjUvc2Vjb25kIGxvdyBwcmlvcml0eSBtZXNz
YWdlcyBhbmQgNTANCj4+Pj4gL3NlY29uZCBoaWdoIHByaW9yaXR5IG1lc3NhZ2VzLiAgVGhlIGxp
bWl0IG9mIDc1L3NlY29uZCBhcHBsaWVzDQo+Pj4+IHRvIHRoZSBjb21iaW5lZCBzdHJlYW0gb2Yg
aGlnaCBhbmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzLCBldmVuDQo+Pj4+IHRob3VnaCBvbmx5IHRo
ZSBsb3cgcHJpb3JpdHkgbWVzc2FnZXMgYXJlIGJlaW5nIGFiYXRlZC48SlBHID4NCj4+Pj4NCj4+
Pj4gPEpQRz4gNHRoIHBhcmEgLSBpbiB0aGUgc2FtZSBleGFtcGxlLCBpdCBjb3VsZCBiZSB0aGF0
IHRoZSBoaWdoDQo+Pj4+IHByaW9yaXR5IG1lc3NhZ2VzIHR5cGljYWxseSByZXF1aXJlIG1vcmUg
cHJvY2Vzc2luZyByZXNvdXJjZXMNCj4+Pj4gKGNwdSwgZXRjKSB0aGFuIHRoZSBsb3cgcHJpb3Jp
dHkgbWVzc2FnZXMgKG9yIHZpY2UgdmVyc2EpLiAgU28NCj4+Pj4gY3V0dGluZyB0aGUgcmF0ZSB0
byA3NS9zZWMgbWF5IE5PVCBwcm9kdWNlIHRoZSBleHBlY3RlZA0KPj4+PiByZWR1Y3Rpb24gaW4g
cmVzb3VyY2UgdXNhZ2UuPEpQRz4NCj4+PiBTUkQ+IFRoYW5rcyBKYW5ldCwgSSBjb3VsZG4ndCBo
YXZlIGV4cGxhaW5lZCBpdCBiZXR0ZXIuDQo+Pg0KPj4gSmFuZXTigJlzIGV4cGxhbmF0aW9uIGlz
IGdvb2QsIGJ1dCBJIGRvbuKAmXQgZ2V0IHRoYXQgZnJvbSB0aGUgdGV4dCwgYXQNCj4+IGxlYXN0
IGluIHRoZSBjYXNlIG9mIHRoZSB0aGlyZCBwYXJhZ3JhcGguDQo+Pg0KPj4gSW4gdGhlIDR0aCBw
YXJhZ3JhcGgsIEkgZG9u4oCZdCB1bmRlcnN0YW5kIGhvdyB0aGUgcmVwb3J0aW5nIG5vZGUNCj4+
IHdvdWxkIOKAnHRha2UgaW50byBhY2NvdW50IHRoZSB3b3JrbG9hZOKAnSBpbiBhIHVzZWZ1bCB3
YXkuIFRoYXQgc2VlbXMNCj4+IHRvIHN1Z2dlc3QgdGhlIHJlcG9ydGluZyBub2RlIGNhbiBwcmVk
aWN0IHRoZSBpbXBhY3Qgb2Ygd29ya2xvYWQNCj4+IGJhc2VkIGRlY2lzaW9ucyBtYWRlIGJ5IHRo
ZSByZWFjdGluZyBub2RlLCB3aGljaCBzZWVtcyB1bmxpa2VseQ0KPj4gdW5sZXNzIHRoZXJlIGlz
IHNvbWUgb3V0LW9mLWJhbmQgYWdyZWVtZW50Lg0KPj4NCj4+IElzIHRoaXMgcmVhbGx5IHNheWlu
ZyBhbnl0aGluZyBtb3JlIHRoYW4g4oCcVGhlIHJlYWN0aW5nIG5vZGVzIHdpbGwNCj4+IGRlY2lk
ZSB3aGljaCBtZXNzYWdlcyB0byBzZW5kIGFuZCB3aGljaCB0byBkcm9wLCBhbmQgdGhlIHJlc3Vs
dCBtYXkNCj4+IG5vdCBiZSBwcmVkaWN0YWJsZSBieSB0aGUgcmVwb3J0aW5nIG5vZGXigJ0/DQo+
Pg0KPj4NCj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+IC02dGggcGFyYWdyYXBoOiDigJwgIG1heSByZWNl
aXZlIHJlcXVlc3RzIGF0IGEgcmF0ZSBiZWxvdyBpdHMNCj4+Pj4gdGFyZ2V0IG1heGltdW0gRGlh
bWV0ZXIgIHJlcXVlc3QgcmF0ZSB3aGlsZSBvdGhlcnMgYWJvdmUgdGhhdA0KPj4+PiB0YXJnZXQg
cmF0ZS4gIEJ1dCB0aGUgcmVzdWx0aW5nIHJlcXVlc3QgcmF0ZSBwcmVzZW50ZWQgdG8gdGhlDQo+
Pj4+IG92ZXJsb2FkZWQgcmVwb3J0aW5nIG5vZGUgd2lsbCBjb252ZXJnZSB0b3dhcmRzIHRoZSB0
YXJnZXQNCj4+Pj4gRGlhbWV0ZXIgcmVxdWVzdCByYXRlLuKAnQ0KPj4+Pg0KPj4+PiBXaHkgZG8g
d2UgZXhwZWN0IHRyYWZmaWMgdG8gY29udmVyZ2UgdG8gdGhlIHJhdGUgbGltaXQ/IEl0DQo+Pj4+
IHNlZW1zIGxpa2UgdGhhdCB3b24ndCBoYXBwZW4gaWYgc29tZSByZXBvcnRpbmcgbm9kZXMgYXJl
IG5vdA0KPj4+PiBzZW5kaW5nIGF0IGZ1bGwgY2FwYWNpdHksIHVubGVzcyB3b3JrIGNhbiBiZSBz
aGlmdGVkIGZyb20gdGhlDQo+Pj4+IGhpZ2gtcmF0ZSBzb3VyY2VzIHRvIHRoZSBzbG93LXJhdGUg
b25lcy4NCj4+Pj4NCj4+Pj4gPEpQRz4gUHJvYmFibHkgd291bGQgYmUgYmV0dGVyIHRvIHNheSB0
aGF0IGl0ICJ3aWxsIGNvbnZlcmdlDQo+Pj4+IHRvd2FyZCBhIHJhdGUgYXQgb3IgYmVsb3cgdGhl
IHRhcmdldCBEaWFtZXRlciByZXF1ZXN0DQo+Pj4+IHJhdGUu4oCdPEpQRz4NCj4+PiBTUkQ+IEkn
bSBva2F5IHdpdGggbWFraW5nIEphbmV0J3Mgc3VnZ2VzdGVkIGNoYW5nZS4NCj4+DQo+PiBXRk0u
DQo+Pg0KPj4NCj4+Pj4NCj4+Pj4gwqc3LjMuMTogcGFyYWdyYXBoIHN0YXJ0aW5nIHdpdGgg4oCc
IEluIHNpdHVhdGlvbnMgd2hlcmUgcmVhY3RpbmcNCj4+Pj4gbm9kZXMgYXJlIGNvbmZpZ3VyZWQg
d2l0aCBzb21lIGtub3dsZWRnZeKAnQ0KPj4+Pg0KPj4+PiB0aGF0IHJlcXVpcmVzIGtub3dsZWRn
ZSBvZiBvdGhlciB0cmFmZmljIHNvdXJjZXMsIG5vdCBqdXN0DQo+Pj4+IGtub3dsZWRnZSBvZiB0
aGUgcmVwb3J0aW5nIG5vZGUuDQo+Pj4+DQo+Pj4+IFRoZSBleGFtcGxlIGNvZGUgc2F5cyB0byB0
cmFuc21pdCBhIG1lc3NhZ2UgaWYgKFhwIDw9IFRBVSkuIEJ1dA0KPj4+PiB0aGUgdGV4dCBzYWlk
IHRoZSBsaW1pdCB3YXMg4oCcVCtUQVUpLg0KPj4+Pg0KPj4+PiA8SlBHPiBJIHRoaW5rIGl0IGlz
IHN1cHBvc2VkIHRvIGJlICJUK1RBVSI8SlBHPg0KPj4+IFNSRD4gSSdkIGxpa2UgdG8gZ2V0IEVy
aWMncyBvcGluaW9uIG9uIHRoaXMuICBUaGlzIHNlY3Rpb24gd2FzDQo+Pj4gY29waWVkIGZyb20g
dGhlIFNPQyBSRkMgc28gaWYgaXQgaXMgaW4gZXJyb3IgaGVyZSB0aGFuIGl0IGlzIGluDQo+Pj4g
ZXJyb3IgdGhlcmUgYXMgd2VsbC4NCj4+DQo+PiBJIGFncmVlIHdpdGggZ2V0dGluZyBFcmlj4oCZ
cyBvcGluaW9uIDotKQ0KPj4NCj4+DQo+Pj4+DQo+Pj4+IMKnOTogSSB0aGluayB0aGUgc2VjdXJp
dHkgY29uc2lkZXJhdGlvbnMgbmVlZCBtb3JlIHRob3VnaHQuIFdoYXQNCj4+Pj4gYXJlIHRoZSBz
ZWN1cml0eSBjb25zaWRlcmF0aW9ucyBzcGVjaWZpYyB0byB0aGUgcmF0ZSBhbGdvcml0aG0/DQo+
Pj4+IElmIHRoZXJlIGFyZW7igJl0IGFueSwgdGhlbiBwbGVhc2UgZGVzY3JpYmUgdGhlIHJhdGlv
bmFsIGJlaGluZA0KPj4+PiB0aGF0LiBCdXQgSSBzdXNwZWN0IHRoZXJlIGFyZSwgZm9yIGV4YW1w
bGUsIGNhbiB0aGlzIGJlIHVzZWQNCj4+Pj4gZm9yIGEgRG9TPyBDYW4gaXQgYmUgdXNlZCB0byBo
ZWxwIF9taXRpZ2F0ZV8gYSBEb1M/IENvdWxkIG9uZQ0KPj4+PiByZWFjdGluZyBub2RlIGNhdXNl
IG90aGVycyB0byBiZSB0cmFmZmljIHN0YXJ2ZWQ/DQo+Pj4+DQo+Pj4+IDxKUEc+SXQgaXMgcG9z
c2libGUgdGhhdCBhIHJlYWN0aW5nIG5vZGUgdGhhdCBkb2VzIG5vdCBzdXBwb3J0DQo+Pj4+IG92
ZXJsb2FkIGNvbnRyb2wgY291bGQgc3RhcnZlIHRoZSBub2RlcyB0aGF0IGRvIHN1cHBvcnQNCj4+
Pj4gb3ZlcmxvYWQgY29udHJvbCwgYnV0IHRoaXMgaXMgYWxzbyB0cnVlIG9mIHRoZSBsb3NzIGJh
c2VkDQo+Pj4+IHZlcnNpb248SlBHPg0KPj4+IFNSRD4gSSdtIG5vdCBjb252aW5jZWQgdGhhdCB0
aGVyZSBhcmUgc2VjdXJpdHkgc2NlbmFyaW9zIHRoYXQgYXJlDQo+Pj4gbmV3IG9yIGRpZmZlcmVu
dCBmb3IgcmF0ZSB2ZXJzdXMgdGhvc2UgZG9jdW1lbnRlZCBpbiB0aGUgZXhpc3RpbmcNCj4+PiBE
T0lDIHNwZWNpZmljYXRpb25zLg0KPj4NCj4+IFRoaXMgZHJhZnQgYWRkcyBhIG5ldyBmZWF0dXJl
IHRoYXQgaXNu4oCZdCBpbiB0aGUgYmFzZSBtZWNoYW5pc20uIEkNCj4+IGdhdGhlciB5b3VyIHBv
aW50IGlzIHRvIHNheSB0aGF0IHRoZSBuZXcgZmVhdHVyZSBzaGFyZXMgdGhlIHNhbWUNCj4+IHNl
Y3VyaXR5IGNvbnNpZGVyYXRpb25zIGFzIHRoZSBiYXNlLCBhbmQgYWRkcyBubyBuZXcgb25lcy4g
UmlnaHQNCj4+IG5vdywgc2VjdGlvbiA5IG9ubHkgc3RhdGVzIHRoZSBmb3JtZXIuDQo+Pg0KPj4+
Pg0KPj4+PiBFZGl0b3JpYWwgQ29tbWVudHM6DQo+Pj4+DQo+Pj4+IEdlbmVyYWw6IElETml0cyBy
ZXR1cm5zIHNldmVyYWwgaXNzdWVzLiBTb21lIG9mIHRob3NlIG1heSBiZQ0KPj4+PiBlcnJvcnMg
b24gaXRzIHBhcnQsIGJ1dCBJ4oCZbSBwcmV0dHkgc3VyZSBzb21lIG9mIHRoZW0gYXJlIHJlYWwu
DQo+Pj4+IFBsZWFzZSByZXNvbHZlIHRoZXNlLg0KPj4+IFNSRD4gSSdsbCBsb29rIGF0IHRob3Nl
IG5leHQgdGltZSBJIHRyeSB0byBzdWJtaXQgYnV0IEkndmUgbm90DQo+Pj4gZ290dGVuIElETml0
cyBlcnJvcnMgaW4gdGhlIHBhc3QuDQo+Pj4NCj4+PiBTUkQ+IEkndmUgbWFkZSB0aGUgc3VnZ2Vz
dGVkIGNoYW5nZXMgYmVsb3cgdW5sZXNzIGluZGljYXRlZA0KPj4+IG90aGVyd2lzZS4NCj4+Pj4N
Cj4+DQo+PiDigKYgYW5kIEnigJl2ZSBkZWxldGVkIHNlY3Rpb25zIHRoYXQgc2VlbSByZXNvbHZl
ZC4NCj4+DQo+PiBb4oCmXQ0KPj4NCj4+DQo+Pj4+DQo+Pj4+IMKnNS4xLCB0aGlyZCBwYXJhZ3Jh
cGg6IFRoZSB0ZXh0IGlzIG5vdCBjbGVhciB3aGV0aGVyIHRoaXMgbWVhbnMNCj4+Pj4gT0NTIHNo
b3VsZCBiZSBtYWludGFpbmVkIHBlciBzdXBwb3J0ZWQgYXBwbGljYXRpb24sIGV0Yywgb3INCj4+
Pj4gdGhhdCBpdCBzaG91bGQgbWFpbnRhaW4gc3RhdGUgd2hlbiB0aGUgcmF0ZSBhbGdvcml0aG0g
b24gYSBwZXINCj4+Pj4gc3VwcG9ydGVkIGFwcGxpY2F0aW9uLCBldGMsIGJhc2lzLg0KPj4+IFNS
RD4gSSBkb24ndCB1bmRlcnN0YW5kIHRoZSBwb2ludCBiZWluZyBtYWRlIGhlcmUuDQo+Pg0KPj4g
UHJvYmFibHkgYmVjYXVzZSBJIGZhaWxlZCB0byBtYWtlIGl0Lg0KPj4NCj4+IEkgX3RoaW5rXyB0
aGF0IHRoZSByZXBvcnRpbmcgbm9kZSBrZWVwcyBzdGF0ZSBmb3IgZWFjaCByZXBvcnRpbmcNCj4+
IG5vZGUgZm9yIHdoaWNoIGl0IHNlbGVjdHMgcmF0ZSwgYW5kIGZ1cnRoZXIgbmVlZHMgdG8gc3Vi
ZGl2aWRlIHRoYXQNCj4+IHN0YXRlIGJ5IGFwcGxpY2F0aW9uIGFuZCByZXBvcnQgdHlwZS4gQnV0
IHRoZSBpdCBkb2VzbuKAmXQgbmVlZCB0bw0KPj4ga2VlcCBzdGF0ZSBmb3IgYSByZXBvcnRpbmcg
bm9kZSBmb3Igd2hpY2ggaXQgZG9lc27igJl0IHNlbGVjdCByYXRlLA0KPj4gZXZlbiB0aG91Z2gg
dGhhdCByZXBvcnRpbmcgbm9kZSBtaWdodCBoYXZlIGFuIGFwcGxpY2F0aW9uIGluIGNvbW1vbg0K
Pj4gd2l0aCB0aGUgZmlyc3QgcmVwb3J0aW5nIG5vZGU/DQo+Pg0KPj4gW+KApl0NCj4+DQo+Pg0K
Pj4+Pg0KPj4+PiDCpzYuMS4xLCBkZWZpbml0aW9uIG9mICIgT0xSX1JBVEVfQUxHT1JJVEhN4oCd
OiBUd28gcGVyaW9kcyBhdCBlbmQNCj4+Pj4gb2Ygc2VudGVuY2UuDQo+Pj4+DQo+Pj4gU1JEPiBJ
IGFtIGhlc2l0YW50IHRvIGNoYW5nZSBhbnkgb2YgdGhlIHRlc3QgaW4gc2VjdGlvbiA3IGdpdmVu
DQo+Pj4gdGhhdCBpdCBpcyB0YWtlbiBmcm9tIHRoZSBTT0Mgc3BlY2lmaWNhdGlvbi4gIEkgd291
bGQgcHJlZmVyIHRoYXQNCj4+PiBFcmljIGNvbW1lbnQgb24gdGhlc2UgcHJvcG9zZWQgY2hhbmdl
cyBiZWZvcmUgaW5jbHVkaW5nIHRoZW0gaW4NCj4+PiB0aGUgbmV4dCB2ZXJzaW9uLg0KPj4NCj4+
IE1ha2VzIHNlbnNlLg0KPj4NCj4+Pj4gwqc3LjEsIDJuZCBwYXJhZ3JhcGg6IOKAnCBzaWduYWwg
b25lIGFub3RoZXIgc3VwcG9ydCBmb3INCj4+Pj4gcmF0ZS1iYXNlZCBvdmVybG9hZCBjb250cm9s
4oCdOiBUaGlzIHNlZW1zIGF3a3dhcmQ7IGFyZSB0aGVyZQ0KPj4+PiBtaXNzaW5nIHdvcmRzPw0K
Pj4+Pg0KPj4+PiDCpzcuMiwgbGFzdCB0d28gcGFyYWdyYXBoczogVGhlIE1VU1RzIGRvIG5vdCBz
ZWVtIG5lY2Vzc2FyeS4NCj4+Pj4gMjExOSBrZXl3b3JkcyBzaG91bGQgYmUgdXNlZCB3aGVuIHRo
ZXJlIGlzIHNvbWUgc29ydCBvZiBjaG9pY2UNCj4+Pj4gb3Igcm9vbSBmb3IgZXJyb3IuIFlvdSBk
b27igJl0IG5lZWQgdGhlbSB0byBkZWZpbmUgdGhlIGJhc2ljDQo+Pj4+IG9wZXJhdGlvbiBvZiB0
aGUgcHJvdG9jb2wuDQo+Pj4+DQo+Pj4+IMKnNy4zLjE6IEkgZm91bmQgdGhlIHRleHQgaGFyZCB0
byBmb2xsb3cuIEl0IHdvdWxkIGhlbHAgdG8NCj4+Pj4gZGVjbGFyZSBhbGwgdGhlIGlkZW50aWZp
ZXJzIGFuZCBpbml0aWFsaXphdGlvbiB1cCBmcm9udCwgYW5kIHRvDQo+Pj4+IHByZXNlbnQgdGhp
bmdzIGluIG1vcmUgb2YgYSBzdGVwd2lzZSBmYXNoaW9uLg0KPj4+Pg0KPj4+PiAtIFQgaXMgZWZm
ZWN0aXZlbHkgYSB0aW1lIGludGVydmFsLCByaWdodD8gSXQgd291bGQgaGVscCB0byBzYXkNCj4+
Pj4gdGhhdCwgZXNwZWNpYWxseSBsYXRlciB3aGVuIHlvdSBzdWJ0cmFjdCBhIGRpZmZlcmVudCB0
aW1lDQo+Pj4+IGludGVydmFsIGZyb20gaXQuDQo+Pj4+DQo+Pj4+IC0gcGFyYWdyYXBoIDk6IFNo
b3VsZCDigJxhZG1pdOKAnSBiZSDigJxlbWl04oCdPw0KPj4+Pg0KPj4+PiAtIHRoZSBleGFtcGxl
IGNvZGUgaGFzIHNldmVyYWwgbWVudGlvbnMgb2YgU0lQIHJlcXVlc3RzLg0KPj4+Pg0KPj4+PiDC
pzcuMy4yOiDigJwgUmVxdWVzdCBjYW5kaWRhdGVzIGZvciByZWR1Y3Rpb24sIHJlcXVlc3RzIG5v
dA0KPj4+PiBzdWJqZWN0IHRvIHJlZHVjdGlvbiAoZXhjZXB0IHVuZGVyIGV4dGVudWF0aW5nIGNp
cmN1bXN0YW5jZXMNCj4+Pj4gd2hlbiB0aGVyZSBhcmVu4oCZdCBhbnkgbWVzc2FnZXMgaW4gdGhl
IGZpcnN0IGNhdGVnb3J5IHRoYXQgY2FuDQo+Pj4+IGJlIHJlZHVjZWQpLuKAnTogVGhhdCBzZWVt
cyBsaWtlIGFuIGF3a3dhcmQgd2F5IHRvIHNheSB0aGF0IHRoZQ0KPj4+PiBzZWNvbmQgY2F0ZWdv
cnkgaXMgdGhlIHNldCBvZiByZXF1ZXN0cyB0aGF0IGlzIG9ubHkgc3ViamVjdCB0bw0KPj4+PiBy
ZWR1Y3Rpb24gaWYgdGhlcmUgYXJlIG5vIG1lc3NhZ2VzIGxlZnQgaW4gdGhlIGZpcnN0IGNhdGVn
b3J5Lg0KPj4+Pg0KPj4+PiA8SlBHPiBZZXMsIHRoYXQgaXMgd2hhdCBpdCBtZWFucy48SlBHPg0K
Pj4+Pg0KPj4+PiAtIOKAnCBUaGlzIGNhbiBiZSBnZW5lcmFsaXplZCB0byBuIHByaW9yaXRpZXMg
dXNpbmcgbiB0aHJlc2hvbGRzDQo+Pj4+IGZvciBuPjIgaW4gdGhlIG9idmlvdXMgd2F5LuKAnTog
SSBzdWdnZXN0IHlvdSByZWZyYWluIGZyb20NCj4+Pj4gY2FsbGluZyBpdCDigJxvYnZpb3VzIi4N
Cj4+Pj4NCj4+Pj4gwqc3LjMuMzogUGFyYWdyYXBoIHN0YXJ0aW5nIHdpdGgg4oCcIFRoZW4gKG9u
bHkpIGlmIHRoZSBhcnJpdmFsIGlzDQo+Pj4+IGFkbWl0dGVkLCBpbmNyZWFzZSB0aGUgYnVja2V0
IGJ5IGFuIGFtb3VudOKApuKAnTogSSB0aGluayB5b3UNCj4+Pj4gaW5jcmVhc2UgdGhlIGJ1Y2tl
dCBfY291bnRfLCByaWdodD8NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+
Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4gVGhpcyBlbGVjdHJv
bmljIG1lc3NhZ2UgdHJhbnNtaXNzaW9uIGNvbnRhaW5zIGluZm9ybWF0aW9uIGZyb20NCj4+Pj4g
Q1NSQSB0aGF0IG1heSBiZSBhdHRvcm5leS1jbGllbnQgcHJpdmlsZWdlZCwgcHJvcHJpZXRhcnkg
b3INCj4+Pj4gY29uZmlkZW50aWFsLiBUaGUgaW5mb3JtYXRpb24gaW4gdGhpcyBtZXNzYWdlIGlz
IGludGVuZGVkIG9ubHkNCj4+Pj4gZm9yIHVzZSBieSB0aGUgaW5kaXZpZHVhbChzKSB0byB3aG9t
IGl0IGlzIGFkZHJlc3NlZC4gSWYgeW91DQo+Pj4+IGJlbGlldmUgeW91IGhhdmUgcmVjZWl2ZWQg
dGhpcyBtZXNzYWdlIGluIGVycm9yLCBwbGVhc2UgY29udGFjdA0KPj4+PiBtZSBpbW1lZGlhdGVs
eSBhbmQgYmUgYXdhcmUgdGhhdCBhbnkgdXNlLCBkaXNjbG9zdXJlLCBjb3B5aW5nDQo+Pj4+IG9y
IGRpc3RyaWJ1dGlvbiBvZiB0aGUgY29udGVudHMgb2YgdGhpcyBtZXNzYWdlIGlzIHN0cmljdGx5
DQo+Pj4+IHByb2hpYml0ZWQuIE5PVEU6IFJlZ2FyZGxlc3Mgb2YgY29udGVudCwgdGhpcyBlbWFp
bCBzaGFsbCBub3QNCj4+Pj4gb3BlcmF0ZSB0byBiaW5kIENTUkEgdG8gYW55IG9yZGVyIG9yIG90
aGVyIGNvbnRyYWN0IHVubGVzcw0KPj4+PiBwdXJzdWFudCB0byBleHBsaWNpdCB3cml0dGVuIGFn
cmVlbWVudCBvciBnb3Zlcm5tZW50IGluaXRpYXRpdmUNCj4+Pj4gZXhwcmVzc2x5IHBlcm1pdHRp
bmcgdGhlIHVzZSBvZiBlbWFpbCBmb3Igc3VjaCBwdXJwb3NlLg0KPj4+PiBfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyBEaU1FIG1haWxpbmcNCj4+Pj4gbGlz
dCBEaU1FQGlldGYub3JnPG1haWx0bzpEaU1FQGlldGYub3JnPiA8bWFpbHRvOkRpTUVAaWV0Zi5v
cmc+PG1haWx0bzpEaU1FQGlldGYub3JnPg0KPj4+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL2RpbWU8aHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3Vy
bD91PWh0dHBzLTNBX193d3cuaWV0Zi5vcmdfbWFpbG1hbl9saXN0aW5mb19kaW1lJmQ9RHdNRGFR
JmM9TEZZWi1vOV9IVU1lTVRTUWljdmpJZyZyPVNLa2w5bzlTSUFlcWQ3Rk1sVEViUVEmbT1VaWJS
UlJWVzdya1JUM0RVR3dHd2JhdU90OXM0QldFd0NyR1hLRWNyYUJFJnM9Z3NPZThya1BNVmRtcmxr
eGZOSHlWQ3NGVzNVeG1zWEV6ZGQzcUhQQnZJOCZlPT4NCj4+Pg0KPj4+IF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIERpTUUgbWFpbGluZw0KPj4+IGxpc3Qg
RGlNRUBpZXRmLm9yZzxtYWlsdG86RGlNRUBpZXRmLm9yZz4gPG1haWx0bzpEaU1FQGlldGYub3Jn
PjxtYWlsdG86RGlNRUBpZXRmLm9yZz4NCj4+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL2RpbWU8aHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91
PWh0dHBzLTNBX193d3cuaWV0Zi5vcmdfbWFpbG1hbl9saXN0aW5mb19kaW1lJmQ9RHdNRGFRJmM9
TEZZWi1vOV9IVU1lTVRTUWljdmpJZyZyPVNLa2w5bzlTSUFlcWQ3Rk1sVEViUVEmbT1VaWJSUlJW
Vzdya1JUM0RVR3dHd2JhdU90OXM0QldFd0NyR1hLRWNyYUJFJnM9Z3NPZThya1BNVmRtcmxreGZO
SHlWQ3NGVzNVeG1zWEV6ZGQzcUhQQnZJOCZlPT4NCj4+DQo+Pg0KPj4NCj4NCj4NCg0K

--_000_432544DCDB78E046B9E22D0EE8F4190326288428MISOUT7MSGUSRDC_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpWZXJkYW5hOw0KCXBhbm9zZS0xOjIgMTEg
NiA0IDMgNSA0IDQgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwg
bGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRv
bTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBS
b21hbiIsc2VyaWY7DQoJY29sb3I6YmxhY2s7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0K
CXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246
dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28t
c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRl
cmxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVw
bHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6IzFGNDk3RDt9
DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNp
emU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCglt
YXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdl
OldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86
c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2Vu
ZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVk
aXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+
PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgbGFuZz0i
RU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rp
b24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij5IaSBTdGV2ZSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkFs
bCBsb29rcyBnb29kLiBNYW55IHRoYW5rcyBmb3IgZm9sbG93aW5nIHRocm91Z2gsPG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojRjQ3QjIwIj5FcmljIE5vZWw8L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzY2NjY2NiI+DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojNjY2NjY2Ij5BVCZh
bXA7VCBMYWJzLCBJbmMuPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojNjY2NjY2Ij4N
Cjxicj4NCjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMDBCMEUwIj5SZXRoaW5rIFBv
c3NpYmxlPG86cD48L286cD48L3NwYW4+PC9pPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOiM2NjY2NjYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM2NjY2NjYiPk9wdGlt
aXphdGlvbiwgUmVsaWFiaWxpdHkgYW5kIEN1c3RvbWVyIEFuYWx5dGljczxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM2NjY2
NjYiPjIwMCBTb3V0aCBMYXVyZWwgQXZlbnVlLCBENS0zQzM4PGJyPg0KTWlkZGxldG93biwgTkog
MDc3NDg8YnI+DQpQOiA3MzIuNDIwLjQxNzQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PGEgaHJlZj0ibWFp
bHRvOmpzbWl0aEBhdHQuY29tIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZWNub2VsQGF0dC5jb208L3NwYW4+
PC9hPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXYgc3R5
bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMu
MHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjp3aW5kb3d0ZXh0Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OndpbmRvd3RleHQiPiBTdGV2ZSBEb25vdmFuIFttYWlsdG86c3Jkb25vdmFuQHVzZG9ub3ZhbnMu
Y29tXQ0KPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgU2VwdGVtYmVyIDEwLCAyMDE4IDQ6MzMg
UE08YnI+DQo8Yj5Ubzo8L2I+IE5PRUwsIEVSSUMgQyAmbHQ7ZW41MTkyQGF0dC5jb20mZ3Q7OyBk
aW1lQGlldGYub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbRGltZV0gZHJhZnQtaWV0Zi1k
aW1lLWRvaWMtcmF0ZS1jb250cm9sLTA4PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+RXJpYyw8YnI+DQo8YnI+DQpUaGFua3MgZm9yIHRoZSBjb21tZW50cy4m
bmJzcDsgU2VlIG15IGNvbW1lbnRzIGlubGluZS48YnI+DQo8YnI+DQpJIHdpbGwgYmUgc3VibWl0
dGluZyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCBzaG9ydGx5LiZuYnNwOyBIb3BlZnVs
bHkgSSBoYXZlIGNhcHR1cmVkIGFsbCBvZiB0aGUgc3VnZ2VzdGVkIGNoYW5nZXMuPGJyPg0KPGJy
Pg0KU3RldmU8YnI+DQo8YnI+DQpPbiA4LzgvMTggNTowNSBQTSwgTk9FTCwgRVJJQyBDIHdyb3Rl
Ojxicj4NCiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IEhp
IFN0ZXZlLDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyBJdCBzZWVtcyBteSBtYWlsIHN5c3RlbSBoYXMgYmVlbiBtb3ZpbmcgdG8gc3BhbSB5
b3VyIGVtYWlscy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsgSnVzdCBub3RpY2VkIGJlbG93IHdoaWxlIGNsZWFuaW5nIG15IHNwYW0gZm9s
ZGVyLCBhcG9sb2dpZXMgZm9yIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyBsYWNrIG9mIHJlc3BvbnNlcy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgUGxlYXNlIHNlZSBiZWxvdy48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
R2VuZXJhbDogVGhlIGRvY3VtZW50IHNlZW1zIGluY29uc2lzdGVudCBhYm91dCB3aGV0aGVyIHJh
dGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
bGltaXRzIGFyZSBvbmx5IHJlcG9ydGVkIGR1cmluZyBvdmVybG9hZCBjb25kaXRpb25zLCBvciBp
bjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBh
ZHZhbmNlIG9mIG92ZXJsb2FkIGNvbmRpdGlvbnMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyAmbHQ7SlBHJmd0OyBJIHRoaW5rIHRoYXQgd291bGQg
YmUgJnF1b3Q7bG9jYWwgcG9saWN5JnF1b3Q7IG9mIHRoZSBzZXJ2aW5nPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IChyZXBvcnRpbmcpIG5vZGUs
IGFuZCBpbmRlcGVuZGVudCBvZiB0aGUgcHJvdG9jb2wgdXNlZCB0bzxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBjb21tdW5pY2F0ZSBpdC4mbmJz
cDsgSSB0aGluayBtb3N0IGNhc2VzIHdvdWxkIGJlIHJlYWN0aXZlLCBidXQgSTxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBjYW4gc2VlIHNpdHVh
dGlvbnMgd2hlcmUgaXQgY291bGQgYmUgcHJvYWN0aXZlLiZsdDtKUEcmZ3Q7PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBJIGFncmVlIHdp
dGggSmFuZXQsIHdoZW4gdGhlIHJlcG9ydCBpcyBzZW50IGlzIHZlcnkgbXVjaDxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IGxvY2FsIHBvbGljeS4mbmJz
cDsgVGhlcmUgaXMgbm8gcmVhc29uIHRvIGF0dGVtcHQgdG8gcHJldmVudCBwcm9hY3RpdmU8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyB1c2Ugb2YgdGhl
IHJhdGUgbWVjaGFuaXNtLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBUaGF0
4oCZcyBmaW5lIHdpdGggbWUsIGJ1dCBhIHNlbnRlbmNlIG9yIHR3byB0byB0aGF0IGVmZmVjdCB3
b3VsZCBiZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgaGVs
cGZ1bC4gKE9uIHJlLXJlYWRpbmcsIEkgc2VlIHdoZXJlIHNlY3Rpb24gMSB0YWxrcyBhYm91dDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsg4oCcYXBwcm9hY2hp
bmcgb3ZlcmxvYWQgb3Igb3ZlcmxvYWRlZOKAnSwgYnV0IEkgYXNzdW1lIG5laXRoZXIgb2YgdGhv
c2U8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGNvbmRpdGlv
bnMgYXJlIG5lY2Vzc2FyeT8pPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
YnI+DQpzcmQmZ3Q7IEkndmUgYWRkZWQgdGhlIGZvbGxvd2luZyBpbiBzZWN0aW9uIDUuNTo8YnI+
DQo8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgTm90ZTogSXQgaXMgYWxzbyBwb3NzaWJsZSBmb3IgdGhlIHJlcG9ydGluZyBub2RlIHRv
IHNlbmQgb3ZlcmxvYWQ8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgcmVwb3J0cyB3aXRoIHRoZSByYXRlIGFsZ29yaXRobSBpbmRpY2F0
ZWQgd2hlbiB0aGUgcmVwb3J0aW5nIG5vZGUgaXM8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbm90IGluIGFuIG92ZXJsb2FkZWQgc3Rh
dGUuJm5ic3A7IFRoaXMgY291bGQgYmUgYSBzdHJhdGVneSB0byBwcm9hY3RpdmVseSA8YnI+DQom
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYXZv
aWQgZW50ZXJpbmcgaW50byBhbiBvdmVybG9hZGVkIHN0YXRlLiZuYnNwOyBXaGV0aGVyIHRvIGRv
IHNvIGlzPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IHVwIHRvIGxvY2FsIHBvbGljeS48YnI+DQomZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IEnigJlkIGxpa2UgdG8gc2Vl
IHRoZSBuZWVkIHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBhbGw8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgcG90ZW50aWFsIHNv
dXJjZXMgb2YgdHJhZmZpYyBnaXZlbiBzb21lIG1vcmUgZW1waGFzaXMuIChNYXliZSBhPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHN1Yi1zZWN0
aW9uIG9mIGl0cyBvd24/KTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgSSBhZ3JlZSwgYnV0IGFnYWluIEkgc2VlIHRoYXQgYXMg
JnF1b3Q7bG9jYWwgcG9saWN5JnF1b3Q7IG9mIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBzZXJ2aW5nIChyZXBvcnRpbmcpIG5vZGUuIElu
IHBhcnRpY3VsYXIsIHRoZXJlIG1heSBiZSByZWFjdGluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBub2RlcyB0aGF0IGRvIG5vdCBzdXBwb3J0
IHRoZSByYXRlIGFiYXRlbWVudCBhbGdvcml0aG0uJmx0O0pQRyZndDs8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBTUkQmZ3Q7IEFnYWluLCBJIGFncmVl
IHdpdGggSmFuZXQuJm5ic3A7IFRoaXMgaXMgbG9jYWwgcG9saWN5IGFuZCB0aGVyZTxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IG1heSB3ZWxsIGJlIGEg
bWl4IG9mIHJhdGUgYW5kIGxvc3MgaWYgbm90IGFsbCBub2RlcyBzdXBwb3J0IHJhdGUuPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgSSBkb24ndCB0aGlu
ayBpdCBpcyBhcHByb3ByaWF0ZSB0byBzYXkgdGhhdCByYXRlIHNob3VsZCBiZTxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IHByZWZlcnJlZCBvdmVyIGxv
c3MuJm5ic3A7IEJ1dCBtYXliZSBJJ20gbWlzc2luZyB5b3VyIG1lYW5pbmcgb248bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyAmcXVvdDthbGxvY2F0ZSB0
aGUgcmF0ZSBsaW1pdOKAnS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgT2th
eSwgYnV0IHlvdSBzdGlsbCBoYXZlIHRvIGFsbG9jYXRlIHRoZSByYXRlIGxpbWl0IGFjcm9zcyBh
bGw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IHNvdXJjZXMg
dGhhdCB5b3UgYXBwbHkgdGhlIHJhdGUgYWxnb3JpdGhtIHRvLCByaWdodD8gVGhhdCBpcywgdGhl
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyB0b3RhbCBvZmZl
cmVkIHJhdGUgd2lsbCBiZSBzb21ldGhpbmcgbGlrZSAoYXZlcmFnZSByYXRlIHBlciBzb3VyY2Up
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyAqIChudW1iZXIg
b2Ygc291cmNlcykuIE9yIGFtIEkgbWlzdW5kZXJzdGFuZGluZyBzb21ldGhpbmc/PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICZsdDtFTiZn
dDsgQ29ycmVjdCwgdGhlIHJlcG9ydGluZyBub2RlIG1haW50YWlucyBhbiBvdmVybG9hZCBjb250
cm9sIHN0YXRlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGZvciBl
YWNoIHJlYWN0aW5nIG5vZGUuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U1JEJmd0OyBJJ3ZlIGFk
ZGVkIHRoZSBmb2xsb3dpbmcgdG8gc2VjdGlvbiA1LjE6PGJyPg0KPGJyPg0KJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSByYXRlIE9DUyBl
bnRlcnkgU0hPVUxEIGluY2x1ZGUgdGhlIHJhdGUgYWxsb2NhdGVkIHRvIGVhY2ggcmVhY3Rpbmcg
bm90ZS48YnI+DQo8YnI+DQomZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyDCpzE6IC0g4oCcIFdoaWxlIHRoaXMg
Y2FuIGVmZmVjdGl2ZWx5IGRlY3JlYXNlIHRoZSBsb2FkIGhhbmRsZWQgYnk8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgdGhlIHNlcnZlciwgaXQg
ZG9lcyBub3QgZGlyZWN0bHkgYWRkcmVzcyBjYXNlcyB3aGVyZSB0aGUgcmF0ZTxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBvZiBhcnJpdmFsIG9m
IHNlcnZpY2UgcmVxdWVzdHMgaW5jcmVhc2VzIHF1aWNrbHkuJnF1b3Q7PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBJIHRoaW5rIGl0IGZhaWxzIHRv
IGFkZHJlc3MgY2FzZXMgd2hlcmUgdGhlIGxvYWQgY2hhbmdlczxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyByYXBpZGx5IGluIGVpdGhlciBkaXJl
Y3Rpb24sIHJpZ2h0PyBBdCBsZWFzdCwgdGhlIGZvbGxvd2luZzxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyB0ZXh0IHNlZW1zIHRvIHNheSB0aGF0
LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0
O0pQRyZndDsgSSBhZ3JlZS4mbmJzcDsgV2hlbiB0aGVyZSBhcmUgcmFwaWQgZmx1Y3R1YXRpb25z
IGluIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyBvZmZlcmVkIGxvYWQsIHRoZSAmcXVvdDtsb3NzJnF1b3Q7IGFsZ29yaXRobSBlcnJzIGJv
dGggaW4mbmJzcDsgdGhyb3R0bGluZyBUT088bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgTVVDSCB3aGVuIHRoZXJlIGlzIGEgZGlwIGluIG9mZmVy
ZWQgbG9hZCwgYW5kIHRocm90dGxpbmcgTk9UPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IEVOT1VHSCB3aGVuIHRoZXJlIGlzIGEgc3Bpa2UgaW4g
b2ZmZXJlZCBsb2FkLiZsdDtKUEcmZ3Q7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBUaGUgdGV4dCBpbiBzZWN0aW9uIDEgdGFsa3MgYWJv
dXQgdGhpcyBhbHJlYWR5LiZuYnNwOyBJcyB0aGVyZSBhPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgc3BlY2lmaWMgY2hhbmdlIGJlaW5nIHN1Z2dlc3Rl
ZD88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgU2VjdGlvbiAxIHRhbGtzIGFi
b3V0IHJhcGlkbHkgaW5jcmVhc2luZyBsb2FkLiBEaWQgSSBtaXNzIG1lbnRpb248bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IG9mIHJhcGlkbHkgX2RlY3JlYXNp
bmdfIGxvYWQ/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7ICZsdDtFTiZndDsgU3VnZ2VzdGVkIGVkaXQ6PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IFdoaWxlIHRoaXMgY2FuIGVmZmVj
dGl2ZWx5IGRlY3JlYXNlIHRoZSBsb2FkIGhhbmRsZWQgYnkgdGhlPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyBzZXJ2ZXIsIGl0IGRvZXMgbm90IGRpcmVjdGx5IGFkZHJlc3MgY2FzZXMgd2hl
cmUgdGhlIHJhdGUgb2YgYXJyaXZhbDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgb2Ygc2Vy
dmljZSByZXF1ZXN0cyBfY2hhbmdlc19pbmNyZWFzZXMgcXVpY2tseS4mbmJzcDsgX0ZvciBpbnN0
YW5jZSxfIGlmPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IHRoZSBz
ZXJ2aWNlIHJlcXVlc3RzIHRoYXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IHJlc3VsdCBp
biBEaWFtZXRlciB0cmFuc2FjdGlvbnMgaW5jcmVhc2UgcXVpY2tseSB0aGVuIHRoZSBsb3NzPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBhbGdvcml0aG0gY2Fubm90IGd1YXJhbnRlZSB0aGUg
bG9hZCBwcmVzZW50ZWQgdG8gdGhlIHNlcnZlciByZW1haW5zPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyBiZWxvdyBhIHNwZWNpZmljIHJhdGUgbGV2ZWwuJm5ic3A7IF9UaGUgbG9zcyBhbGdv
cml0aG0gY2FuIGJlIHNsb3cgdG9fPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBfcHJvdGVj
dCB0aGUgc3RhYmlsaXR5IG9mIHJlcG9ydGluZyBub2RlcyB3aGVuIHN1YmplY3RlZCB3aXRoPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IHJhcGlkbHlfPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyBfY2hhbmdpbmcgbG9hZHMuIFRoZSAmcXVvdDtsb3NzJnF1b3Q7
IGFsZ29yaXRobSBlcnJzIGJvdGggaW4gdGhyb3R0bGluZyBUT088bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgTVVDSCBfPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyBfd2hlbiB0aGVyZSBpcyBhIGRpcCBpbiBvZmZlcmVkIGxvYWQsIGFuZCB0aHJvdHRsaW5nIE5P
VCBFTk9VR0ggd2hlbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyB0
aGVyZSBfPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBfaXMgYSBzcGlrZSBpbiBvZmZlcmVk
IGxvYWQuXzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5TUkQmZ3Q7IEkndmUgaW5jb3Jwb3JhdGVkIEVyaWMncyBzdWdnZXN0
ZWQgd29yZGluZy48YnI+DQomZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnMzogRG9l
cyB0aGUgbmVlZCBmb3IgZnV0dXJlIHJlcG9ydCB0eXBlcyB0byBjb25zaWRlciB0aGUgcmF0ZTxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBhbGdv
cml0aG0gaGF2ZSBJQU5BIGltcGxpY2F0aW9ucz88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBTUkQmZ3Q7IEFyZSB5b3Ugc3VnZ2VzdGluZyB0aGF0IHRo
ZSBJQU5BIHNlY3Rpb24gaW5kaWNhdGUgdGhhdCBhbGw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBuZXcgcmVwb3J0IHR5cGVzIE1VU1QgaW5kaWNhdGUg
d2hldGhlciBvciBub3QgdGhlIHJhdGUgYWxnb3JpdGhtPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgY2FuIGJlIHVzZWQgd2l0aCB0aGF0IHJlcG9ydCB0
eXBlPyZuYnNwOyBJIGNhbiBtYWtlIHRoYXQgY2hhbmdlIHRvIHRoZTxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IElBTkEgc2VjdGlvbiBpZiBpdCB3b3Vs
ZCBiZSBhcHByb3ByaWF0ZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IEnigJlt
IG5vdCBzdWdnZXN0aW5nLCBJ4oCZbSBhc2tpbmcgOi0pJm5ic3A7IEJ1dCBteSBwb2ludCB3YXMg
bW9yZSBhbG9uZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsg
d2hldGhlciB0aGUgSUFOQSByZWdpc3RyeSBmb3IgcmVwb3J0IHR5cGVzIHNob3VsZCBpbmNsdWRl
IGEgZmllbGQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGFi
b3V0IHN1cHBvcnRpbmcgdGhlIHJhdGUgYWxnb3JpdGhtLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgJmx0O0VOJmd0OyBOb3Qgc3VyZSBob3cgdG8gYWRkcmVzcyB0aGF0IGNvbW1lbnQuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YnI+DQpTUkQmZ3Q7IEkndmUgYWRk
ZWQgYSBzZWN0aW9uIHRoZSB0byB0aGUgSUFOQSBjb25zaWRlcmF0aW9ucyBzZWN0aW9uOjxicj4N
Cjxicj4NCjguMi4mbmJzcDsmbmJzcDsgTmV3IERPSUMgUmVwb3J0IFR5cGVzPGJyPg0KPGJyPg0K
Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBbGwgRE9J
QyByZXBvcnQgdHlwZXMgZGVmaW5lZCBpbiB0aGUgZnV0dXJlIE1VU1QgPGJyPg0KJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGluZGljYXRlIHdo
ZXRoZXIgb3Igbm90IHRoZSByYXRlIGFsZ29yaXRobSBjYW4gYmUgdXNlZCB3aXRoIHRoYXQ8YnI+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
cmVwb3J0IHR5cGUuPGJyPg0KPGJyPg0KJmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IMKnNS4xOiBUaGUgZmlyc3QgcGFyYWdyYXBoIGluZGljYXRlcyBzdGF0ZSBz
aG91bGQgYmUga2VwdCBmb3I8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgZXZlcnkgcmVhY3Rpbmcgbm9kZSB0byB3aGljaCBpdCBzZW5kcyBhbiBP
TFIuIEJ1dCB0aGUgNXRoPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IHBhcmFncmFwaCBjYW4gYmUgaW50ZXJwcmV0ZWQgdG8gc2F5IGl0IHNlbmRz
IGFuIE9MUiB0byBldmVyeTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyByZWFjdGluZyBub2RlIHdpdGggd2hpY2ggaXQgaGFzIG5lZ290aWF0ZWQg
dXNlIG9mIHRoZSByYXRlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IGFsZ29yaXRobS4gKHNlZSBnZW5lcmFsIGNvbW1lbnQpLjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgSSdtIG1pc3Np
bmcgc29tZXRoaW5nLiZuYnNwOyBUaGUgZmlyc3QgcGFyYWdyYXBoIHNheXMgdGhlPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgcmVwb3J0aW5nIG5vZGUg
bWFpbnRhaW5zIHN0YXRlIGFueSB0aW1lIGl0IHNlbmRzIGEgcmF0ZSBvdmVybG9hZDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IHJlcG9ydC4mbmJzcDsg
VGhlIGZpZnRoIHBhcmFncmFwaCBpcyBqdXN0IHNheWluZyB0aGF0IHRoZSByZXBvcnQgbXVzdDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IGluY2x1ZGUg
dGhlIHJhdGUgaW5mb3JtYXRpb24uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
IEFjdHVhbGx5LCBteSBxdWVzdGlvbiByZWxhdGVzIHRvIG15IHF1ZXN0aW9uIG9uIDUuNC4gVGhl
IGZpcnN0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBwYXJh
Z3JhcGggc2F5cyB0byBrZWVwIHN0YXRlIGZvciBldmVyeSByZXBvcnRpbmcgbm9kZSB0byB3aGlj
aCBpdDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgc2VuZHMg
YW4gT0xSLiBUaGUgNXRoIHBhcmFncmFwaCBpbXBsaWVzIHRoYXQgaXQgc2VuZHMgb24gT0xSIHdo
ZW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGl0IHNlbGVj
dHMgdGhlIHJhdGUgYWxnb3JpdGhtIGZvciBhIHJlYWN0aW5nIG5vZGUuIChJZiB5b3UgYXJlPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBnb2luZyB0byBpbmNs
dWRlIHRoZSByYXRlIGluZm8sIHlvdSBoYXZlIHRvIGhhdmUgYSByZXBvcnQgdG88bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGluY2x1ZGUgaXQgaW4uKTxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBTbyBpdCBjb21lcyBkb3duIHRvIGNsYXJp
dHkgYWJvdXQgd2hhdCBldmVudHMgaGFwcGVuIOKAnHdoZW4gdGhlPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyByZXBvcnRpbmcgbm9kZSBzZWxlY3RzIHRoZSBh
bGdvcml0aG0gZm9yIGEgcmVhY3Rpbmcgbm9kZeKAnSB2cyDigJx3aGVuPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyB0aGUgcmVwb3J0aW5nIG5vZGUgc2VuZHMg
YW4gT0xS4oCdLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyDCpzUu
NDogVGhlIGZpcnN0IHBhcmFncmFwaCBzZWVtcyB0byBzdWdnZXN0IHRoZSByZWFjdGluZyBub2Rl
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGtl
ZXBzIE9DUyBmb3IgZXZlcnkgc2VydmVyIHRoYXQgaGFzIGluZGljYXRlZCBzdXBwb3J0IGZvciB0
aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
cmF0ZSBhbGdvcml0aG0sIG5vdCBqdXN0IG5vZGVzIHRoYXQgaGF2ZSBzZW50IE9MUnMuIElzIHRo
YXQgdGhlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IGludGVudD88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyBTUkQmZ3Q7Jm5ic3A7IFllcywgdGhhdCBpcyB0aGUgaW50ZW50LiZuYnNwOyBUaGlzIGFs
bG93cyB0aGUgcmVhY3Rpbmcgbm9kZSB0bzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7IG1ha2Ugc3VyZSB0aGF0IHRoZSBtYWNoaW5lcnkgbmVlZGVkIHRv
IHJlc3BvbmQgdG8gYSByYXRlIHJlcXVlc3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyBpcyBpbiBwbGFjZSBwcmlvciB0byByZWNlaXZpbmcgYW4gT0xS
LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBTZWUgYWJvdmUuPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyAmbHQ7RU4mZ3Q7IEFncmVlZC4gRG8gbm90IGtub3cgd2hhdCBk
b2VzIOKAmHNlZSBhYm92ZeKAmSByZWZlcnMgdG8uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48YnI+DQpTUkQmZ3Q7IEkgZG9uJ3Qgc2VlIHRoZSBuZWVkIGZvciBhIGNoYW5n
ZSB0byB0aGUgZG9jdW1lbnQuJm5ic3A7IElmIHRoZXJlIGlzIHN0aWxsIGNvbmZ1c2lvbiB0aGVu
IGl0IGNhbiBiZSBhZGRyZXNzZWQgaW4gdGhlIG5leHQgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQu
PGJyPg0KPGJyPg0KJmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgwqc1LjYsIGZpcnN0IHBhcmFncmFwaDogVGhlIE1BWSBzZWVtcyB3ZWVr
IGhlcmUuIEkga25vdyBhbmQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgYWdyZWUgdGhhdCB3ZSBkb27igJl0IHdhbnQgdG8gZm9yY2UgYSBwYXJ0
aWN1bGFyIGFwcGxpY2F0aW9uLiBCdXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgZG9u4oCZdCB3ZSBuZWVkIHRvIHNheSB0aGF0IGlmIGFuIGlt
cGxlbWVudGF0aW9uIHVzZXMgYSBkaWZmZXJlbnQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgYWxnb3JpdGhtLCBpdCBNVVNUIGhhdmUgdGhlIHNh
bWUgYmVoYXZpb3IgYXMgdGhlIGFsZ29yaXRobSBpbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBzZWN0aW9uIDc/PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyAmbHQ7SlBHJmd0OyBJIHRoaW5rIGl0
IE1VU1QgJnF1b3Q7bGltaXQgdGhlIG1lc3NhZ2UgcmF0ZSB0byB0aGU8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgT0MtTWF4aW11bS1SYXRlIEFW
UCB2YWx1ZSBpbiB1bml0cyBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kJnF1b3Q7IChhczxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBzdGF0ZWQgaW4g
Ny4zLjEpLiZuYnNwOyBUaGUgYWxnb3JpdGhtIGRlc2NyaWJlZCBpbiB0aGUgcmVzdCBvZiA3LjMu
MTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBh
bmQgNy4zLjIgaXMgc29tZXdoYXQgbW9yZSBzb3BoaXN0aWNhdGVkLCBhbGxvd2luZyBmb3IgYTxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBzbW9v
dGhpbmcgZmFjdG9yIChUQVUpIGFuZCBwcmlvcml0aXphdGlvbi4mbmJzcDsgSSBkbyBub3QgdGhp
bmsgd2U8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZn
dDsgbmVlZCZuYnNwOyB0byBzYXkgdGhhdCB0aGUgc2VsZWN0ZWQgYWxnb3JpdGhtIE1VU1QgaGF2
ZSB0aG9zZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyBmZWF0dXJlcy4mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgQWdhaW4sIEkgYWdyZWUgd2l0aCBKYW5ldC48bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgT2theS48bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7ICZsdDtFTiZndDsgQWdyZWVkLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKn
Ny4yLCB0aGlyZCBhbmQgNHRoIHBhcmFncmFwaHM6IEkgZG9u4oCZdCB1bmRlcnN0YW5kIHdoYXQg
dGhpcyBpczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyB0cnlpbmcgdG8gc2F5LiBQbGVhc2UgZWxhYm9yYXRlLjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDszcmQgcGFyYSAtIEp1
c3QgYXMgYSAmcXVvdDtmb3IgaW5zdGFuY2UmcXVvdDstIGlmIHRoZSByZWFjdGluZyBub2RlPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGhhcyA1
MC9zZWNvbmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzIGFuZCA1MC9zZWNvbmQgaGlnaCBwcmlvcml0
eTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBt
ZXNzYWdlcyB0aGF0IGl0IHdhbnQgdG8gc2VuZCwgYW5kIGhhcyBhIHJhdGUgbGltaXQgb2Y8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgNzUvc2Vj
b25kLCBpdCB3aWxsIHNlbmQgMjUvc2Vjb25kIGxvdyBwcmlvcml0eSBtZXNzYWdlcyBhbmQgNTA8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgL3Nl
Y29uZCBoaWdoIHByaW9yaXR5IG1lc3NhZ2VzLiZuYnNwOyBUaGUgbGltaXQgb2YgNzUvc2Vjb25k
IGFwcGxpZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgdG8gdGhlIGNvbWJpbmVkIHN0cmVhbSBvZiBoaWdoIGFuZCBsb3cgcHJpb3JpdHkgbWVz
c2FnZXMsIGV2ZW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgdGhvdWdoIG9ubHkgdGhlIGxvdyBwcmlvcml0eSBtZXNzYWdlcyBhcmUgYmVpbmcg
YWJhdGVkLiZsdDtKUEcgJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgNHRoIHBhcmEgLSBpbiB0aGUgc2FtZSBleGFtcGxl
LCBpdCBjb3VsZCBiZSB0aGF0IHRoZSBoaWdoPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHByaW9yaXR5IG1lc3NhZ2VzIHR5cGljYWxseSByZXF1
aXJlIG1vcmUgcHJvY2Vzc2luZyByZXNvdXJjZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgKGNwdSwgZXRjKSB0aGFuIHRoZSBsb3cgcHJpb3Jp
dHkgbWVzc2FnZXMgKG9yIHZpY2UgdmVyc2EpLiZuYnNwOyBTbzxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBjdXR0aW5nIHRoZSByYXRlIHRvIDc1
L3NlYyBtYXkgTk9UIHByb2R1Y2UgdGhlIGV4cGVjdGVkPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHJlZHVjdGlvbiBpbiByZXNvdXJjZSB1c2Fn
ZS4mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7IFNSRCZndDsgVGhhbmtzIEphbmV0LCBJIGNvdWxkbid0IGhhdmUgZXhwbGFpbmVkIGl0
IGJldHRlci48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSmFuZXTigJlzIGV4
cGxhbmF0aW9uIGlzIGdvb2QsIGJ1dCBJIGRvbuKAmXQgZ2V0IHRoYXQgZnJvbSB0aGUgdGV4dCwg
YXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGxlYXN0IGlu
IHRoZSBjYXNlIG9mIHRoZSB0aGlyZCBwYXJhZ3JhcGguPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7IEluIHRoZSA0dGggcGFyYWdyYXBoLCBJIGRvbuKAmXQgdW5kZXJzdGFuZCBo
b3cgdGhlIHJlcG9ydGluZyBub2RlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyB3b3VsZCDigJx0YWtlIGludG8gYWNjb3VudCB0aGUgd29ya2xvYWTigJ0gaW4g
YSB1c2VmdWwgd2F5LiBUaGF0IHNlZW1zPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyB0byBzdWdnZXN0IHRoZSByZXBvcnRpbmcgbm9kZSBjYW4gcHJlZGljdCB0
aGUgaW1wYWN0IG9mIHdvcmtsb2FkPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyBiYXNlZCBkZWNpc2lvbnMgbWFkZSBieSB0aGUgcmVhY3Rpbmcgbm9kZSwgd2hp
Y2ggc2VlbXMgdW5saWtlbHk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IHVubGVzcyB0aGVyZSBpcyBzb21lIG91dC1vZi1iYW5kIGFncmVlbWVudC48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSXMgdGhpcyByZWFsbHkgc2F5aW5nIGFueXRo
aW5nIG1vcmUgdGhhbiDigJxUaGUgcmVhY3Rpbmcgbm9kZXMgd2lsbDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgZGVjaWRlIHdoaWNoIG1lc3NhZ2VzIHRvIHNl
bmQgYW5kIHdoaWNoIHRvIGRyb3AsIGFuZCB0aGUgcmVzdWx0IG1heTxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgbm90IGJlIHByZWRpY3RhYmxlIGJ5IHRoZSBy
ZXBvcnRpbmcgbm9kZeKAnT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICZsdDtFTiZndDsm
bmJzcDsgQ29tcHV0YXRpb24gb2YgbWF4aW11bSByYXRlIHBlciByZWFjdGluZyBub2RlIG1vZHVs
YXRlZCB3aXRoPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGl0cyBt
ZWFzdXJlZCB3b3JrbG9hZCAobWVzc2FnZSB0eXBlIGZyZXF1ZW5jeSkgaW1wcm92ZXMgdGhyb3R0
bGluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyB3aGVuIHJlYWN0
aW5nIG5vZGVzIHByaW9yaXRpemUgbWVzc2FnZXMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyAtNnRoIHBhcmFncmFwaDog4oCcJm5ic3A7IG1heSByZWNlaXZlIHJlcXVl
c3RzIGF0IGEgcmF0ZSBiZWxvdyBpdHM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgdGFyZ2V0IG1heGltdW0gRGlhbWV0ZXImbmJzcDsgcmVxdWVz
dCByYXRlIHdoaWxlIG90aGVycyBhYm92ZSB0aGF0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHRhcmdldCByYXRlLiZuYnNwOyBCdXQgdGhlIHJl
c3VsdGluZyByZXF1ZXN0IHJhdGUgcHJlc2VudGVkIHRvIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBvdmVybG9hZGVkIHJlcG9ydGluZyBu
b2RlIHdpbGwgY29udmVyZ2UgdG93YXJkcyB0aGUgdGFyZ2V0PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IERpYW1ldGVyIHJlcXVlc3QgcmF0ZS7i
gJ08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IFdo
eSBkbyB3ZSBleHBlY3QgdHJhZmZpYyB0byBjb252ZXJnZSB0byB0aGUgcmF0ZSBsaW1pdD8gSXQ8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgc2Vl
bXMgbGlrZSB0aGF0IHdvbid0IGhhcHBlbiBpZiBzb21lIHJlcG9ydGluZyBub2RlcyBhcmUgbm90
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHNl
bmRpbmcgYXQgZnVsbCBjYXBhY2l0eSwgdW5sZXNzIHdvcmsgY2FuIGJlIHNoaWZ0ZWQgZnJvbSB0
aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
aGlnaC1yYXRlIHNvdXJjZXMgdG8gdGhlIHNsb3ctcmF0ZSBvbmVzLjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgUHJvYmFibHkg
d291bGQgYmUgYmV0dGVyIHRvIHNheSB0aGF0IGl0ICZxdW90O3dpbGwgY29udmVyZ2U8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgdG93YXJkIGEg
cmF0ZSBhdCBvciBiZWxvdyB0aGUgdGFyZ2V0IERpYW1ldGVyIHJlcXVlc3Q8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgcmF0ZS7igJ0mbHQ7SlBH
Jmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNS
RCZndDsgSSdtIG9rYXkgd2l0aCBtYWtpbmcgSmFuZXQncyBzdWdnZXN0ZWQgY2hhbmdlLjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBXRk0uPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyAmbHQ7RU4mZ3Q7Jm5ic3A7IEFncmVlZC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IMKnNy4zLjE6IHBhcmFncmFwaCBzdGFydGluZyB3aXRoIOKAnCBJbiBz
aXR1YXRpb25zIHdoZXJlIHJlYWN0aW5nPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG5vZGVzIGFyZSBjb25maWd1cmVkIHdpdGggc29tZSBrbm93
bGVkZ2XigJ08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IHRoYXQgcmVxdWlyZXMga25vd2xlZGdlIG9mIG90aGVyIHRyYWZmaWMgc291cmNlcywgbm90
IGp1c3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZn
dDsga25vd2xlZGdlIG9mIHRoZSByZXBvcnRpbmcgbm9kZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IFRoZSBleGFtcGxlIGNvZGUgc2F5cyB0byB0
cmFuc21pdCBhIG1lc3NhZ2UgaWYgKFhwICZsdDs9IFRBVSkuIEJ1dDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyB0aGUgdGV4dCBzYWlkIHRoZSBs
aW1pdCB3YXMg4oCcVCYjNDM7VEFVKS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7ICZsdDtKUEcmZ3Q7IEkgdGhpbmsgaXQgaXMgc3VwcG9zZWQgdG8g
YmUgJnF1b3Q7VCYjNDM7VEFVJnF1b3Q7Jmx0O0pQRyZndDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBTUkQmZ3Q7IEknZCBsaWtlIHRvIGdldCBFcmlj
J3Mgb3BpbmlvbiBvbiB0aGlzLiZuYnNwOyBUaGlzIHNlY3Rpb24gd2FzPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgY29waWVkIGZyb20gdGhlIFNPQyBS
RkMgc28gaWYgaXQgaXMgaW4gZXJyb3IgaGVyZSB0aGFuIGl0IGlzIGluPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgZXJyb3IgdGhlcmUgYXMgd2VsbC48
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSSBhZ3JlZSB3aXRoIGdldHRpbmcg
RXJpY+KAmXMgb3BpbmlvbiA6LSk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICZsdDtFTiZn
dDsmbmJzcDsgV2VudCBiYWNrIHRvIElFVEYgZG9jdW1lbnQmbmJzcDsgWHAgJmx0Oz0gVEFVIGlz
IGNvcnJlY3QgKGNvbnRpbnVvdXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgc3RhdGUgbGVha3kgYnVja2V0KTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgwqc5OiBJIHRoaW5rIHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBuZWVkIG1v
cmUgdGhvdWdodC4gV2hhdDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyBhcmUgdGhlIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zIHNwZWNpZmljIHRv
IHRoZSByYXRlIGFsZ29yaXRobT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgSWYgdGhlcmUgYXJlbuKAmXQgYW55LCB0aGVuIHBsZWFzZSBkZXNj
cmliZSB0aGUgcmF0aW9uYWwgYmVoaW5kPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHRoYXQuIEJ1dCBJIHN1c3BlY3QgdGhlcmUgYXJlLCBmb3Ig
ZXhhbXBsZSwgY2FuIHRoaXMgYmUgdXNlZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBmb3IgYSBEb1M/IENhbiBpdCBiZSB1c2VkIHRvIGhlbHAg
X21pdGlnYXRlXyBhIERvUz8gQ291bGQgb25lPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHJlYWN0aW5nIG5vZGUgY2F1c2Ugb3RoZXJzIHRvIGJl
IHRyYWZmaWMgc3RhcnZlZD88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7ICZsdDtKUEcmZ3Q7SXQgaXMgcG9zc2libGUgdGhhdCBhIHJlYWN0aW5nIG5v
ZGUgdGhhdCBkb2VzIG5vdCBzdXBwb3J0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG92ZXJsb2FkIGNvbnRyb2wgY291bGQgc3RhcnZlIHRoZSBu
b2RlcyB0aGF0IGRvIHN1cHBvcnQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgb3ZlcmxvYWQgY29udHJvbCwgYnV0IHRoaXMgaXMgYWxzbyB0cnVl
IG9mIHRoZSBsb3NzIGJhc2VkPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IHZlcnNpb24mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgSSdtIG5vdCBjb252aW5jZWQgdGhh
dCB0aGVyZSBhcmUgc2VjdXJpdHkgc2NlbmFyaW9zIHRoYXQgYXJlPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgbmV3IG9yIGRpZmZlcmVudCBmb3IgcmF0
ZSB2ZXJzdXMgdGhvc2UgZG9jdW1lbnRlZCBpbiB0aGUgZXhpc3Rpbmc8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBET0lDIHNwZWNpZmljYXRpb25zLjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBUaGlzIGRyYWZ0IGFkZHMgYSBuZXcg
ZmVhdHVyZSB0aGF0IGlzbuKAmXQgaW4gdGhlIGJhc2UgbWVjaGFuaXNtLiBJPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBnYXRoZXIgeW91ciBwb2ludCBpcyB0
byBzYXkgdGhhdCB0aGUgbmV3IGZlYXR1cmUgc2hhcmVzIHRoZSBzYW1lPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBh
cyB0aGUgYmFzZSwgYW5kIGFkZHMgbm8gbmV3IG9uZXMuIFJpZ2h0PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBub3csIHNlY3Rpb24gOSBvbmx5IHN0YXRlcyB0
aGUgZm9ybWVyLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgJmx0O0VOJmd0OyZuYnNwOyBD
b21wdXRhdGlvbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgRWRpdG9y
aWFsIENvbW1lbnRzOjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgR2VuZXJhbDogSUROaXRzIHJldHVybnMgc2V2ZXJhbCBpc3N1ZXMuIFNvbWUgb2Yg
dGhvc2UgbWF5IGJlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0
OyZndDsmZ3Q7IGVycm9ycyBvbiBpdHMgcGFydCwgYnV0IEnigJltIHByZXR0eSBzdXJlIHNvbWUg
b2YgdGhlbSBhcmUgcmVhbC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgUGxlYXNlIHJlc29sdmUgdGhlc2UuPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBJJ2xsIGxvb2sgYXQgdGhvc2Ug
bmV4dCB0aW1lIEkgdHJ5IHRvIHN1Ym1pdCBidXQgSSd2ZSBub3Q8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBnb3R0ZW4gSUROaXRzIGVycm9ycyBpbiB0
aGUgcGFzdC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBTUkQm
Z3Q7IEkndmUgbWFkZSB0aGUgc3VnZ2VzdGVkIGNoYW5nZXMgYmVsb3cgdW5sZXNzIGluZGljYXRl
ZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IG90aGVy
d2lzZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZn
dDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IOKApiBhbmQgSeKAmXZlIGRl
bGV0ZWQgc2VjdGlvbnMgdGhhdCBzZWVtIHJlc29sdmVkLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyBb4oCmXTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgJmx0O0VOJmd0
OyZuYnNwOyBJIHRoaW5rIGNvbW1lbnQgcmVzb2x2ZWQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IMKnNS4xLCB0aGlyZCBwYXJhZ3JhcGg6IFRoZSB0ZXh0IGlzIG5vdCBj
bGVhciB3aGV0aGVyIHRoaXMgbWVhbnM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgT0NTIHNob3VsZCBiZSBtYWludGFpbmVkIHBlciBzdXBwb3J0
ZWQgYXBwbGljYXRpb24sIGV0Yywgb3I8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgdGhhdCBpdCBzaG91bGQgbWFpbnRhaW4gc3RhdGUgd2hlbiB0
aGUgcmF0ZSBhbGdvcml0aG0gb24gYSBwZXI8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgc3VwcG9ydGVkIGFwcGxpY2F0aW9uLCBldGMsIGJhc2lz
LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZn
dDsgSSBkb24ndCB1bmRlcnN0YW5kIHRoZSBwb2ludCBiZWluZyBtYWRlIGhlcmUuPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IFByb2JhYmx5IGJlY2F1c2UgSSBmYWlsZWQgdG8g
bWFrZSBpdC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSSBfdGhpbmtfIHRo
YXQgdGhlIHJlcG9ydGluZyBub2RlIGtlZXBzIHN0YXRlIGZvciBlYWNoIHJlcG9ydGluZzxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgbm9kZSBmb3Igd2hpY2gg
aXQgc2VsZWN0cyByYXRlLCBhbmQgZnVydGhlciBuZWVkcyB0byBzdWJkaXZpZGUgdGhhdDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgc3RhdGUgYnkgYXBwbGlj
YXRpb24gYW5kIHJlcG9ydCB0eXBlLiBCdXQgdGhlIGl0IGRvZXNu4oCZdCBuZWVkIHRvPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBrZWVwIHN0YXRlIGZvciBh
IHJlcG9ydGluZyBub2RlIGZvciB3aGljaCBpdCBkb2VzbuKAmXQgc2VsZWN0IHJhdGUsPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBldmVuIHRob3VnaCB0aGF0
IHJlcG9ydGluZyBub2RlIG1pZ2h0IGhhdmUgYW4gYXBwbGljYXRpb24gaW4gY29tbW9uPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyB3aXRoIHRoZSBmaXJzdCBy
ZXBvcnRpbmcgbm9kZT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgW+KApl08
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICZsdDtFTiZndDsmbmJzcDsgUmVwb3J0aW5nIG5v
ZGUgbWFpbnRhaW4gc3RhdGUgZm9yIGVhY2ggcmVhY3Rpbmcgbm9kZSB0aGF0PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGV4ZWN1dGVzIHRoZSByYXRlIGFsZ29yaXRo
bS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNi4xLjEsIGRlZmlu
aXRpb24gb2YgJnF1b3Q7IE9MUl9SQVRFX0FMR09SSVRITeKAnTogVHdvIHBlcmlvZHMgYXQgZW5k
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG9m
IHNlbnRlbmNlLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyBTUkQmZ3Q7IEkgYW0gaGVzaXRhbnQgdG8gY2hhbmdlIGFueSBvZiB0aGUgdGVzdCBpbiBzZWN0
aW9uIDcgZ2l2ZW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyB0aGF0IGl0IGlzIHRha2VuIGZyb20gdGhlIFNPQyBzcGVjaWZpY2F0aW9uLiZuYnNwOyBJ
IHdvdWxkIHByZWZlciB0aGF0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsgRXJpYyBjb21tZW50IG9uIHRoZXNlIHByb3Bvc2VkIGNoYW5nZXMgYmVmb3Jl
IGluY2x1ZGluZyB0aGVtIGluPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsgdGhlIG5leHQgdmVyc2lvbi48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsgTWFrZXMgc2Vuc2UuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAmbHQ7RU4m
Z3Q7Jm5ic3A7IFR5cG8sIHBsZWFzZSByZW1vdmUgZXh0cmEgcGVyaW9kPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyDCpzcuMSwgMm5kIHBhcmFncmFwaDog4oCcIHNpZ25h
bCBvbmUgYW5vdGhlciBzdXBwb3J0IGZvcjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyByYXRlLWJhc2VkIG92ZXJsb2FkIGNvbnRyb2zigJ06IFRo
aXMgc2VlbXMgYXdrd2FyZDsgYXJlIHRoZXJlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG1pc3Npbmcgd29yZHM/PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyAmbHQ7RU4mZ3Q7Jm5ic3A7IExvb2tzIG9rIHRvIG1lICwgYnV0IEkgYW0gbm90
IGFuIEVuZ2xpc2ggbmF0aXZlIHNwZWFrZXIuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyDCpzcuMiwgbGFzdCB0d28gcGFyYWdyYXBoczogVGhlIE1VU1RzIGRvIG5vdCBz
ZWVtIG5lY2Vzc2FyeS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgMjExOSBrZXl3b3JkcyBzaG91bGQgYmUgdXNlZCB3aGVuIHRoZXJlIGlzIHNv
bWUgc29ydCBvZiBjaG9pY2U8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgb3Igcm9vbSBmb3IgZXJyb3IuIFlvdSBkb27igJl0IG5lZWQgdGhlbSB0
byBkZWZpbmUgdGhlIGJhc2ljPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IG9wZXJhdGlvbiBvZiB0aGUgcHJvdG9jb2wuPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyAmbHQ7RU4mZ3Q7Jm5ic3A7IE9LIHdpdGggbWU8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNy4zLjE6IEkgZm91bmQgdGhlIHRleHQgaGFyZCB0
byBmb2xsb3cuIEl0IHdvdWxkIGhlbHAgdG88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgZGVjbGFyZSBhbGwgdGhlIGlkZW50aWZpZXJzIGFuZCBp
bml0aWFsaXphdGlvbiB1cCBmcm9udCwgYW5kIHRvPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHByZXNlbnQgdGhpbmdzIGluIG1vcmUgb2YgYSBz
dGVwd2lzZSBmYXNoaW9uLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgLSBUIGlzIGVmZmVjdGl2ZWx5IGEgdGltZSBpbnRlcnZhbCwgcmlnaHQ/IEl0
IHdvdWxkIGhlbHAgdG8gc2F5PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IHRoYXQsIGVzcGVjaWFsbHkgbGF0ZXIgd2hlbiB5b3Ugc3VidHJhY3Qg
YSBkaWZmZXJlbnQgdGltZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyBpbnRlcnZhbCBmcm9tIGl0LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgLSBwYXJhZ3JhcGggOTogU2hvdWxkIOKAnGFkbWl0
4oCdIGJlIOKAnGVtaXTigJ0/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyAtIHRoZSBleGFtcGxlIGNvZGUgaGFzIHNldmVyYWwgbWVudGlvbnMgb2Yg
U0lQIHJlcXVlc3RzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgJmx0O0VOJmd0OyZuYnNw
OyZuYnNwOyBUJm5ic3A7ID0gMS9bT0MtTWF4aW11bS1SYXRlXSBpcyB0aGUgdGFyZ2V0IGludGVy
LURpYW1ldGVyIHJlcXVlc3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsgaW50ZXJ2YWwmbmJzcDsgcGVyIDcuMy4xIHBhcmFncmFwaCAxLiDigJxhZG1pdOKAnSB1c2Fn
ZSBpcyBjb3JyZWN0IFNJUCBzaG91bGQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsgYmUgcmVwbGFjZSB3aXRoIERpYW1ldGVyPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsmZ3Q7Jmd0OyDCpzcuMy4yOiDigJwgUmVxdWVzdCBjYW5kaWRhdGVzIGZvciByZWR1
Y3Rpb24sIHJlcXVlc3RzIG5vdDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsmZ3Q7Jmd0OyBzdWJqZWN0IHRvIHJlZHVjdGlvbiAoZXhjZXB0IHVuZGVyIGV4dGVu
dWF0aW5nIGNpcmN1bXN0YW5jZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgd2hlbiB0aGVyZSBhcmVu4oCZdCBhbnkgbWVzc2FnZXMgaW4gdGhl
IGZpcnN0IGNhdGVnb3J5IHRoYXQgY2FuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGJlIHJlZHVjZWQpLuKAnTogVGhhdCBzZWVtcyBsaWtlIGFu
IGF3a3dhcmQgd2F5IHRvIHNheSB0aGF0IHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBzZWNvbmQgY2F0ZWdvcnkgaXMgdGhlIHNldCBvZiBy
ZXF1ZXN0cyB0aGF0IGlzIG9ubHkgc3ViamVjdCB0bzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyByZWR1Y3Rpb24gaWYgdGhlcmUgYXJlIG5vIG1l
c3NhZ2VzIGxlZnQgaW4gdGhlIGZpcnN0IGNhdGVnb3J5LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgWWVzLCB0aGF0IGlzIHdo
YXQgaXQgbWVhbnMuJmx0O0pQRyZndDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IC0g4oCcIFRoaXMgY2FuIGJlIGdlbmVyYWxpemVkIHRvIG4gcHJp
b3JpdGllcyB1c2luZyBuIHRocmVzaG9sZHM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgZm9yIG4mZ3Q7MiBpbiB0aGUgb2J2aW91cyB3YXku4oCd
OiBJIHN1Z2dlc3QgeW91IHJlZnJhaW4gZnJvbTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBjYWxsaW5nIGl0IOKAnG9idmlvdXMmcXVvdDsuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAmbHQ7RU4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFn
cmVlZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgwqc3LjMuMzogUGFy
YWdyYXBoIHN0YXJ0aW5nIHdpdGgg4oCcIFRoZW4gKG9ubHkpIGlmIHRoZSBhcnJpdmFsIGlzPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGFkbWl0
dGVkLCBpbmNyZWFzZSB0aGUgYnVja2V0IGJ5IGFuIGFtb3VudOKApuKAnTogSSB0aGluayB5b3U8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgaW5j
cmVhc2UgdGhlIGJ1Y2tldCBfY291bnRfLCByaWdodD88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgJmx0O0VOJmd0OyZuYnNwOyZuYnNwOyBD
b3JyZWN0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IFRoYW5rcyw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsgRXJpYyBOb2VsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAqQVQm
YW1wO1QgTGFicywgSW5jLiogL1JldGhpbmsgUG9zc2libGUvPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IE9wdGltaXphdGlvbiwgUmVsaWFi
aWxpdHkgYW5kIEN1c3RvbWVyIEFuYWx5dGljczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
MjAwIFNvdXRoIExhdXJlbCBBdmVudWUsIEQ1LTNDMzggTWlkZGxldG93biwgTkogMDc3NDggUDo8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgNzMyLjQyMC40MTc0PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8YSBocmVmPSJtYWlsdG86ZWNub2VsQGF0dC5jb20i
PmVjbm9lbEBhdHQuY29tPC9hPiA8YSBocmVmPSJtYWlsdG86anNtaXRoQGF0dC5jb20iPg0KJmx0
O21haWx0bzpqc21pdGhAYXR0LmNvbSZndDs8L2E+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICpGcm9tOipTdGV2ZSBEb25vdmFuIFs8YSBo
cmVmPSJtYWlsdG86c3Jkb25vdmFuQHVzZG9ub3ZhbnMuY29tIj5tYWlsdG86c3Jkb25vdmFuQHVz
ZG9ub3ZhbnMuY29tPC9hPl0gKlNlbnQ6KjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyBNb25kYXksIEF1Z3VzdCAwNiwgMjAxOCAxMjo0MiBQTSAqVG86KiBOT0VMLCBF
UklDIEMgPGEgaHJlZj0ibWFpbHRvOmVuNTE5MkBhdHQuY29tIj4NCiZsdDtlbjUxOTJAYXR0LmNv
bSZndDs8L2E+IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAqU3Vi
amVjdDoqIEZ3ZDogUmU6IFtEaW1lXSBkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wt
MDg8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsgRXJpYyw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IElmIG5vdCBJIHdpbGwgbWFrZSB0
aGUgbmVjZXNzYXJ5IGNoYW5nZXMuJm5ic3A7IEkgd291bGQgcHJlZmVyIHRoYXQgeW91PG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGhhbmRsZSB0aGUgY29tbWVudHMg
b24gdGhlIGFjdHVhbCByYXRlIGFsZ29yaXRobSBidXQsIGlmIHlvdSBhcmUgbm90PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IGFibGUgdGhlbiBJIHdpbGwgbWFrZSB0
aGUgbmVjZXNzYXJ5IGNoYW5nZXMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBSZWdhcmRz
LDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgU3RldmU8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgLS0tLS0tLS0gRm9yd2FyZGVkIE1l
c3NhZ2UgLS0tLS0tLS08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICpTdWJqZWN0OiAqPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IFJl
OiBbRGltZV0gZHJhZnQtaWV0Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLTA4PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyAqRGF0ZTogKjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBUdWUsIDI2IEp1biAyMDE4IDE2OjA4OjU2IC0wNTAw
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAqRnJvbTogKjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBCZW4gQ2FtcGJlbGwgPGEgaHJl
Zj0ibWFpbHRvOmJlbkBub3N0cnVtLmNvbSI+Jmx0O2JlbkBub3N0cnVtLmNvbSZndDs8L2E+DQo8
YSBocmVmPSJtYWlsdG86YmVuQG5vc3RydW0uY29tIj4mbHQ7bWFpbHRvOmJlbkBub3N0cnVtLmNv
bSZndDs8L2E+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyAqVG86ICo8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgU3RldmUgRG9ub3Zh
biA8YSBocmVmPSJtYWlsdG86c3Jkb25vdmFuQHVzZG9ub3ZhbnMuY29tIj4mbHQ7c3Jkb25vdmFu
QHVzZG9ub3ZhbnMuY29tJmd0OzwvYT48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsgPGEgaHJlZj0ibWFpbHRvOnNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbSI+Jmx0O21h
aWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb20mZ3Q7PC9hPjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsgKkNDOiAqPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IDxhIGhyZWY9Im1haWx0bzplY25vZWxAcmVzZWFyY2guYXR0LmNvbSI+
ZWNub2VsQHJlc2VhcmNoLmF0dC5jb208L2E+DQo8YSBocmVmPSJtYWlsdG86ZWNub2VsQHJlc2Vh
cmNoLmF0dC5jb20iPiZsdDttYWlsdG86ZWNub2VsQHJlc2VhcmNoLmF0dC5jb20mZ3Q7PC9hPiw8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgPGEgaHJlZj0ibWFpbHRv
OmRpbWVAaWV0Zi5vcmciPmRpbWVAaWV0Zi5vcmc8L2E+IDxhIGhyZWY9Im1haWx0bzpkaW1lQGll
dGYub3JnIj4NCiZsdDttYWlsdG86ZGltZUBpZXRmLm9yZyZndDs8L2E+PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7ICZsdDtidW1wJmd0Ozxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IE9uIEp1biAxNCwgMjAxOCwgYXQgNDozOCBQ
TSwgQmVuIENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpiZW5Abm9zdHJ1bS5jb20iPg0KJmx0O2Jl
bkBub3N0cnVtLmNvbSZndDs8L2E+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyA8YSBocmVmPSJtYWlsdG86YmVuQG5vc3RydW0uY29tIj4mbHQ7bWFpbHRvOmJl
bkBub3N0cnVtLmNvbSZndDs8L2E+IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyBIaSw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgU2VlIG15IHJl
c3BvbnNlcyBpbmxpbmUuIEkgcmVtb3ZlZCBzZWN0aW9ucyB0aGF0IHNlZW0gcmVzb2x2ZWQuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IFRoYW5rcyw8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsgQmVuLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsgT24gSnVuIDEzLCAyMDE4LCBhdCAxMjozMCBQTSwgU3RldmUgRG9ub3ZhbjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IDxhIGhyZWY9Im1h
aWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb20iPiZsdDtzcmRvbm92YW5AdXNkb25vdmFucy5j
b20mZ3Q7PC9hPg0KPGEgaHJlZj0ibWFpbHRvOnNyZG9ub3ZhbkB1c2Rvbm92YW5zLmNvbSI+Jmx0
O21haWx0bzpzcmRvbm92YW5AdXNkb25vdmFucy5jb20mZ3Q7PC9hPjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNlZSBteSBjb21tZW50cyBpbmxpbmUuPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgU3RldmU8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBPbiA1LzI1LzE4IDQ6MTcgUE0sIEd1bm4s
IEphbmV0IFAgKENOVikgd3JvdGU6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IE5vdCBhbiBhdXRob3IsIGJ1dCBJIGhhdmUgYSBzdHJvbmcgaW50
ZXJlc3QgaW4gdGhpcyBJRC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgQ29tbWVudHMgaW4gbGluZS4gSmFuZXQ8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t
LS0tIEZyb206IERpTUUgPGEgaHJlZj0ibWFpbHRvOmRpbWUtYm91bmNlc0BpZXRmLm9yZyI+DQom
bHQ7ZGltZS1ib3VuY2VzQGlldGYub3JnJmd0OzwvYT48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPGEgaHJlZj0ibWFpbHRvOmRpbWUtYm91bmNl
c0BpZXRmLm9yZyI+Jmx0O21haWx0bzpkaW1lLWJvdW5jZXNAaWV0Zi5vcmcmZ3Q7PC9hPiBPbiBC
ZWhhbGYgT2YgQmVuIENhbXBiZWxsIFNlbnQ6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IFdlZG5lc2RheSwgTWF5IDE2LCAyMDE4IDE6MzEgQU0g
VG86PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IDxhIGhyZWY9Im1haWx0bzpkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxsQGll
dGYub3JnIj4NCmRyYWZ0LWlldGYtZGltZS1kb2ljLXJhdGUtY29udHJvbC5hbGxAaWV0Zi5vcmc8
L2E+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IDxhIGhyZWY9Im1haWx0bzpkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxsQGll
dGYub3JnIj4NCiZsdDttYWlsdG86ZHJhZnQtaWV0Zi1kaW1lLWRvaWMtcmF0ZS1jb250cm9sLmFs
bEBpZXRmLm9yZyZndDs8L2E+IENjOjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8YSBocmVmPSJtYWlsdG86ZGltZUBpZXRmLm9yZyI+ZGltZUBp
ZXRmLm9yZzwvYT4gPGEgaHJlZj0ibWFpbHRvOmRpbWVAaWV0Zi5vcmciPg0KJmx0O21haWx0bzpk
aW1lQGlldGYub3JnJmd0OzwvYT4gU3ViamVjdDogW0RpbWVdPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGRyYWZ0LWlldGYtZGltZS1kb2ljLXJh
dGUtY29udHJvbC0wODxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgU3Vic3RhbnRpdmUgQ29tbWVudHM6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBHZW5lcmFsOiBUaGUgZG9jdW1lbnQgc2VlbXMgaW5j
b25zaXN0ZW50IGFib3V0IHdoZXRoZXIgcmF0ZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBsaW1pdHMgYXJlIG9ubHkgcmVwb3J0ZWQgZHVyaW5n
IG92ZXJsb2FkIGNvbmRpdGlvbnMsIG9yIGluPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGFkdmFuY2Ugb2Ygb3ZlcmxvYWQgY29uZGl0aW9ucy48
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7ICZsdDtK
UEcmZ3Q7IEkgdGhpbmsgdGhhdCB3b3VsZCBiZSAmcXVvdDtsb2NhbCBwb2xpY3kmcXVvdDsgb2Yg
dGhlIHNlcnZpbmc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgKHJlcG9ydGluZykgbm9kZSwgYW5kIGluZGVwZW5kZW50IG9mIHRoZSBwcm90b2Nv
bCB1c2VkIHRvPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZn
dDsmZ3Q7IGNvbW11bmljYXRlIGl0LiZuYnNwOyBJIHRoaW5rIG1vc3QgY2FzZXMgd291bGQgYmUg
cmVhY3RpdmUsIGJ1dCBJPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IGNhbiBzZWUgc2l0dWF0aW9ucyB3aGVyZSBpdCBjb3VsZCBiZSBwcm9hY3Rp
dmUuJmx0O0pQRyZndDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyBTUkQmZ3Q7IEkgYWdyZWUgd2l0aCBKYW5ldCwgd2hlbiB0aGUgcmVwb3J0IGlzIHNl
bnQgaXMgdmVyeSBtdWNoPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsgbG9jYWwgcG9saWN5LiZuYnNwOyBUaGVyZSBpcyBubyByZWFzb24gdG8gYXR0ZW1w
dCB0byBwcmV2ZW50IHByb2FjdGl2ZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7IHVzZSBvZiB0aGUgcmF0ZSBtZWNoYW5pc20uPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7IFRoYXTigJlzIGZpbmUgd2l0aCBtZSwgYnV0IGEgc2VudGVu
Y2Ugb3IgdHdvIHRvIHRoYXQgZWZmZWN0IHdvdWxkIGJlPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBoZWxwZnVsLiAoT24gcmUtcmVhZGluZywgSSBzZWUgd2hl
cmUgc2VjdGlvbiAxIHRhbGtzIGFib3V0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyDigJxhcHByb2FjaGluZyBvdmVybG9hZCBvciBvdmVybG9hZGVk4oCdLCBi
dXQgSSBhc3N1bWUgbmVpdGhlciBvZiB0aG9zZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsgY29uZGl0aW9ucyBhcmUgbmVjZXNzYXJ5Pyk8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgSeKAmWQgbGlrZSB0byBzZWUgdGhlIG5lZWQg
dG8gYWxsb2NhdGUgdGhlIHJhdGUgbGltaXQgYWNyb3NzIGFsbDxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBwb3RlbnRpYWwgc291cmNlcyBvZiB0
cmFmZmljIGdpdmVuIHNvbWUgbW9yZSBlbXBoYXNpcy4gKE1heWJlIGE8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgc3ViLXNlY3Rpb24gb2YgaXRz
IG93bj8pPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0
OyAmbHQ7SlBHJmd0OyBJIGFncmVlLCBidXQgYWdhaW4gSSBzZWUgdGhhdCBhcyAmcXVvdDtsb2Nh
bCBwb2xpY3kmcXVvdDsgb2YgdGhlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IHNlcnZpbmcgKHJlcG9ydGluZykgbm9kZS4gSW4gcGFydGljdWxh
ciwgdGhlcmUgbWF5IGJlIHJlYWN0aW5nPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG5vZGVzIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIHJhdGUg
YWJhdGVtZW50IGFsZ29yaXRobS4mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgQWdhaW4sIEkgYWdyZWUgd2l0aCBKYW5l
dC4mbmJzcDsgVGhpcyBpcyBsb2NhbCBwb2xpY3kgYW5kIHRoZXJlPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgbWF5IHdlbGwgYmUgYSBtaXggb2YgcmF0
ZSBhbmQgbG9zcyBpZiBub3QgYWxsIG5vZGVzIHN1cHBvcnQgcmF0ZS48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBJIGRvbid0IHRoaW5rIGl0IGlzIGFw
cHJvcHJpYXRlIHRvIHNheSB0aGF0IHJhdGUgc2hvdWxkIGJlPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgcHJlZmVycmVkIG92ZXIgbG9zcy4mbmJzcDsg
QnV0IG1heWJlIEknbSBtaXNzaW5nIHlvdXIgbWVhbmluZyBvbjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7ICZxdW90O2FsbG9jYXRlIHRoZSByYXRlIGxp
bWl04oCdLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBPa2F5LCBidXQgeW91
IHN0aWxsIGhhdmUgdG8gYWxsb2NhdGUgdGhlIHJhdGUgbGltaXQgYWNyb3NzIGFsbDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgc291cmNlcyB0aGF0IHlvdSBh
cHBseSB0aGUgcmF0ZSBhbGdvcml0aG0gdG8sIHJpZ2h0PyBUaGF0IGlzLCB0aGU8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IHRvdGFsIG9mZmVyZWQgcmF0ZSB3
aWxsIGJlIHNvbWV0aGluZyBsaWtlIChhdmVyYWdlIHJhdGUgcGVyIHNvdXJjZSk8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7ICogKG51bWJlciBvZiBzb3VyY2Vz
KS4gT3IgYW0gSSBtaXN1bmRlcnN0YW5kaW5nIHNvbWV0aGluZz88bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgwqcxOiAtIOKAnCBXaGlsZSB0aGlzIGNhbiBlZmZlY3RpdmVseSBkZWNyZWFz
ZSB0aGUgbG9hZCBoYW5kbGVkIGJ5PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IHRoZSBzZXJ2ZXIsIGl0IGRvZXMgbm90IGRpcmVjdGx5IGFkZHJl
c3MgY2FzZXMgd2hlcmUgdGhlIHJhdGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgb2YgYXJyaXZhbCBvZiBzZXJ2aWNlIHJlcXVlc3RzIGluY3Jl
YXNlcyBxdWlja2x5LiZxdW90OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgSSB0aGluayBpdCBmYWlscyB0byBhZGRyZXNzIGNhc2VzIHdoZXJlIHRo
ZSBsb2FkIGNoYW5nZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgcmFwaWRseSBpbiBlaXRoZXIgZGlyZWN0aW9uLCByaWdodD8gQXQgbGVhc3Qs
IHRoZSBmb2xsb3dpbmc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgdGV4dCBzZWVtcyB0byBzYXkgdGhhdC48bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7ICZsdDtKUEcmZ3Q7IEkgYWdyZWUuJm5ic3A7
IFdoZW4gdGhlcmUgYXJlIHJhcGlkIGZsdWN0dWF0aW9ucyBpbiB0aGU8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgb2ZmZXJlZCBsb2FkLCB0aGUg
JnF1b3Q7bG9zcyZxdW90OyBhbGdvcml0aG0gZXJycyBib3RoIGluJm5ic3A7IHRocm90dGxpbmcg
VE9PPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IE1VQ0ggd2hlbiB0aGVyZSBpcyBhIGRpcCBpbiBvZmZlcmVkIGxvYWQsIGFuZCB0aHJvdHRsaW5n
IE5PVDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0
OyBFTk9VR0ggd2hlbiB0aGVyZSBpcyBhIHNwaWtlIGluIG9mZmVyZWQgbG9hZC4mbHQ7SlBHJmd0
OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZn
dDsgVGhlIHRleHQgaW4gc2VjdGlvbiAxIHRhbGtzIGFib3V0IHRoaXMgYWxyZWFkeS4mbmJzcDsg
SXMgdGhlcmUgYTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7IHNwZWNpZmljIGNoYW5nZSBiZWluZyBzdWdnZXN0ZWQ/PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7IFNlY3Rpb24gMSB0YWxrcyBhYm91dCByYXBpZGx5IGluY3JlYXNpbmcg
bG9hZC4gRGlkIEkgbWlzcyBtZW50aW9uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyBvZiByYXBpZGx5IF9kZWNyZWFzaW5nXyBsb2FkPzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnMzogRG9lcyB0aGUgbmVlZCBmb3IgZnV0dXJlIHJl
cG9ydCB0eXBlcyB0byBjb25zaWRlciB0aGUgcmF0ZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBhbGdvcml0aG0gaGF2ZSBJQU5BIGltcGxpY2F0
aW9ucz88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBT
UkQmZ3Q7IEFyZSB5b3Ugc3VnZ2VzdGluZyB0aGF0IHRoZSBJQU5BIHNlY3Rpb24gaW5kaWNhdGUg
dGhhdCBhbGw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyBuZXcgcmVwb3J0IHR5cGVzIE1VU1QgaW5kaWNhdGUgd2hldGhlciBvciBub3QgdGhlIHJhdGUg
YWxnb3JpdGhtPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZn
dDsgY2FuIGJlIHVzZWQgd2l0aCB0aGF0IHJlcG9ydCB0eXBlPyZuYnNwOyBJIGNhbiBtYWtlIHRo
YXQgY2hhbmdlIHRvIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7IElBTkEgc2VjdGlvbiBpZiBpdCB3b3VsZCBiZSBhcHByb3ByaWF0ZS48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IEnigJltIG5vdCBzdWdnZXN0aW5nLCBJ4oCZbSBh
c2tpbmcgOi0pJm5ic3A7IEJ1dCBteSBwb2ludCB3YXMgbW9yZSBhbG9uZzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgd2hldGhlciB0aGUgSUFOQSByZWdpc3Ry
eSBmb3IgcmVwb3J0IHR5cGVzIHNob3VsZCBpbmNsdWRlIGEgZmllbGQ8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGFib3V0IHN1cHBvcnRpbmcgdGhlIHJhdGUg
YWxnb3JpdGhtLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgwqc1LjE6IFRoZSBm
aXJzdCBwYXJhZ3JhcGggaW5kaWNhdGVzIHN0YXRlIHNob3VsZCBiZSBrZXB0IGZvcjxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBldmVyeSByZWFj
dGluZyBub2RlIHRvIHdoaWNoIGl0IHNlbmRzIGFuIE9MUi4gQnV0IHRoZSA1dGg8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgcGFyYWdyYXBoIGNh
biBiZSBpbnRlcnByZXRlZCB0byBzYXkgaXQgc2VuZHMgYW4gT0xSIHRvIGV2ZXJ5PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHJlYWN0aW5nIG5v
ZGUgd2l0aCB3aGljaCBpdCBoYXMgbmVnb3RpYXRlZCB1c2Ugb2YgdGhlIHJhdGU8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgYWxnb3JpdGhtLiAo
c2VlIGdlbmVyYWwgY29tbWVudCkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBJJ20gbWlzc2luZyBzb21ldGhpbmcuJm5ic3A7IFRoZSBm
aXJzdCBwYXJhZ3JhcGggc2F5cyB0aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyByZXBvcnRpbmcgbm9kZSBtYWludGFpbnMgc3RhdGUgYW55IHRpbWUg
aXQgc2VuZHMgYSByYXRlIG92ZXJsb2FkPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsgcmVwb3J0LiZuYnNwOyBUaGUgZmlmdGggcGFyYWdyYXBoIGlzIGp1
c3Qgc2F5aW5nIHRoYXQgdGhlIHJlcG9ydCBtdXN0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgaW5jbHVkZSB0aGUgcmF0ZSBpbmZvcm1hdGlvbi48bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgQWN0dWFsbHksIG15IHF1ZXN0aW9uIHJl
bGF0ZXMgdG8gbXkgcXVlc3Rpb24gb24gNS40LiBUaGUgZmlyc3Q8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IHBhcmFncmFwaCBzYXlzIHRvIGtlZXAgc3RhdGUg
Zm9yIGV2ZXJ5IHJlcG9ydGluZyBub2RlIHRvIHdoaWNoIGl0PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBzZW5kcyBhbiBPTFIuIFRoZSA1dGggcGFyYWdyYXBo
IGltcGxpZXMgdGhhdCBpdCBzZW5kcyBvbiBPTFIgd2hlbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgaXQgc2VsZWN0cyB0aGUgcmF0ZSBhbGdvcml0aG0gZm9y
IGEgcmVhY3Rpbmcgbm9kZS4gKElmIHlvdSBhcmU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7IGdvaW5nIHRvIGluY2x1ZGUgdGhlIHJhdGUgaW5mbywgeW91IGhh
dmUgdG8gaGF2ZSBhIHJlcG9ydCB0bzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsgaW5jbHVkZSBpdCBpbi4pPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IFNvIGl0IGNvbWVzIGRvd24gdG8gY2xhcml0eSBhYm91dCB3aGF0IGV2ZW50cyBoYXBw
ZW4g4oCcd2hlbiB0aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7IHJlcG9ydGluZyBub2RlIHNlbGVjdHMgdGhlIGFsZ29yaXRobSBmb3IgYSByZWFjdGluZyBu
b2Rl4oCdIHZzIOKAnHdoZW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IHRoZSByZXBvcnRpbmcgbm9kZSBzZW5kcyBhbiBPTFLigJ0uPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNS40OiBUaGUgZmlyc3QgcGFyYWdyYXBoIHNl
ZW1zIHRvIHN1Z2dlc3QgdGhlIHJlYWN0aW5nIG5vZGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsga2VlcHMgT0NTIGZvciBldmVyeSBzZXJ2ZXIg
dGhhdCBoYXMgaW5kaWNhdGVkIHN1cHBvcnQgZm9yIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyByYXRlIGFsZ29yaXRobSwgbm90IGp1c3Qg
bm9kZXMgdGhhdCBoYXZlIHNlbnQgT0xScy4gSXMgdGhhdCB0aGU8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgaW50ZW50PzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsmbmJzcDsgWWVzLCB0
aGF0IGlzIHRoZSBpbnRlbnQuJm5ic3A7IFRoaXMgYWxsb3dzIHRoZSByZWFjdGluZyBub2RlIHRv
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgbWFrZSBz
dXJlIHRoYXQgdGhlIG1hY2hpbmVyeSBuZWVkZWQgdG8gcmVzcG9uZCB0byBhIHJhdGUgcmVxdWVz
dDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IGlzIGlu
IHBsYWNlIHByaW9yIHRvIHJlY2VpdmluZyBhbiBPTFIuPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7IFNlZSBhYm92ZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyDC
pzUuNiwgZmlyc3QgcGFyYWdyYXBoOiBUaGUgTUFZIHNlZW1zIHdlZWsgaGVyZS4gSSBrbm93IGFu
ZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBh
Z3JlZSB0aGF0IHdlIGRvbuKAmXQgd2FudCB0byBmb3JjZSBhIHBhcnRpY3VsYXIgYXBwbGljYXRp
b24uIEJ1dDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyBkb27igJl0IHdlIG5lZWQgdG8gc2F5IHRoYXQgaWYgYW4gaW1wbGVtZW50YXRpb24gdXNl
cyBhIGRpZmZlcmVudDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyBhbGdvcml0aG0sIGl0IE1VU1QgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvciBhcyB0
aGUgYWxnb3JpdGhtIGluPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IHNlY3Rpb24gNz88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7ICZsdDtKUEcmZ3Q7IEkgdGhpbmsgaXQgTVVTVCAmcXVvdDtsaW1p
dCB0aGUgbWVzc2FnZSByYXRlIHRvIHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBPQy1NYXhpbXVtLVJhdGUgQVZQIHZhbHVlIGluIHVuaXRz
IG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQmcXVvdDsgKGFzPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHN0YXRlZCBpbiA3LjMuMSkuJm5ic3A7IFRo
ZSBhbGdvcml0aG0gZGVzY3JpYmVkIGluIHRoZSByZXN0IG9mIDcuMy4xPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGFuZCA3LjMuMiBpcyBzb21l
d2hhdCBtb3JlIHNvcGhpc3RpY2F0ZWQsIGFsbG93aW5nIGZvciBhPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHNtb290aGluZyBmYWN0b3IgKFRB
VSkgYW5kIHByaW9yaXRpemF0aW9uLiZuYnNwOyBJIGRvIG5vdCB0aGluayB3ZTxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBuZWVkJm5ic3A7IHRv
IHNheSB0aGF0IHRoZSBzZWxlY3RlZCBhbGdvcml0aG0gTVVTVCBoYXZlIHRob3NlPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGZlYXR1cmVzLiZs
dDtKUEcmZ3Q7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZn
dDsgU1JEJmd0OyBBZ2FpbiwgSSBhZ3JlZSB3aXRoIEphbmV0LjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyBPa2F5LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKn
Ny4yLCB0aGlyZCBhbmQgNHRoIHBhcmFncmFwaHM6IEkgZG9u4oCZdCB1bmRlcnN0YW5kIHdoYXQg
dGhpcyBpczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyB0cnlpbmcgdG8gc2F5LiBQbGVhc2UgZWxhYm9yYXRlLjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDszcmQgcGFyYSAtIEp1
c3QgYXMgYSAmcXVvdDtmb3IgaW5zdGFuY2UmcXVvdDstIGlmIHRoZSByZWFjdGluZyBub2RlPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGhhcyA1
MC9zZWNvbmQgbG93IHByaW9yaXR5IG1lc3NhZ2VzIGFuZCA1MC9zZWNvbmQgaGlnaCBwcmlvcml0
eTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBt
ZXNzYWdlcyB0aGF0IGl0IHdhbnQgdG8gc2VuZCwgYW5kIGhhcyBhIHJhdGUgbGltaXQgb2Y8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgNzUvc2Vj
b25kLCBpdCB3aWxsIHNlbmQgMjUvc2Vjb25kIGxvdyBwcmlvcml0eSBtZXNzYWdlcyBhbmQgNTA8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgL3Nl
Y29uZCBoaWdoIHByaW9yaXR5IG1lc3NhZ2VzLiZuYnNwOyBUaGUgbGltaXQgb2YgNzUvc2Vjb25k
IGFwcGxpZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgdG8gdGhlIGNvbWJpbmVkIHN0cmVhbSBvZiBoaWdoIGFuZCBsb3cgcHJpb3JpdHkgbWVz
c2FnZXMsIGV2ZW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgdGhvdWdoIG9ubHkgdGhlIGxvdyBwcmlvcml0eSBtZXNzYWdlcyBhcmUgYmVpbmcg
YWJhdGVkLiZsdDtKUEcgJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgNHRoIHBhcmEgLSBpbiB0aGUgc2FtZSBleGFtcGxl
LCBpdCBjb3VsZCBiZSB0aGF0IHRoZSBoaWdoPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHByaW9yaXR5IG1lc3NhZ2VzIHR5cGljYWxseSByZXF1
aXJlIG1vcmUgcHJvY2Vzc2luZyByZXNvdXJjZXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgKGNwdSwgZXRjKSB0aGFuIHRoZSBsb3cgcHJpb3Jp
dHkgbWVzc2FnZXMgKG9yIHZpY2UgdmVyc2EpLiZuYnNwOyBTbzxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBjdXR0aW5nIHRoZSByYXRlIHRvIDc1
L3NlYyBtYXkgTk9UIHByb2R1Y2UgdGhlIGV4cGVjdGVkPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHJlZHVjdGlvbiBpbiByZXNvdXJjZSB1c2Fn
ZS4mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7IFNSRCZndDsgVGhhbmtzIEphbmV0LCBJIGNvdWxkbid0IGhhdmUgZXhwbGFpbmVkIGl0
IGJldHRlci48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSmFuZXTigJlzIGV4
cGxhbmF0aW9uIGlzIGdvb2QsIGJ1dCBJIGRvbuKAmXQgZ2V0IHRoYXQgZnJvbSB0aGUgdGV4dCwg
YXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IGxlYXN0IGlu
IHRoZSBjYXNlIG9mIHRoZSB0aGlyZCBwYXJhZ3JhcGguPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7IEluIHRoZSA0dGggcGFyYWdyYXBoLCBJIGRvbuKAmXQgdW5kZXJzdGFuZCBo
b3cgdGhlIHJlcG9ydGluZyBub2RlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyB3b3VsZCDigJx0YWtlIGludG8gYWNjb3VudCB0aGUgd29ya2xvYWTigJ0gaW4g
YSB1c2VmdWwgd2F5LiBUaGF0IHNlZW1zPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyB0byBzdWdnZXN0IHRoZSByZXBvcnRpbmcgbm9kZSBjYW4gcHJlZGljdCB0
aGUgaW1wYWN0IG9mIHdvcmtsb2FkPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyBiYXNlZCBkZWNpc2lvbnMgbWFkZSBieSB0aGUgcmVhY3Rpbmcgbm9kZSwgd2hp
Y2ggc2VlbXMgdW5saWtlbHk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IHVubGVzcyB0aGVyZSBpcyBzb21lIG91dC1vZi1iYW5kIGFncmVlbWVudC48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSXMgdGhpcyByZWFsbHkgc2F5aW5nIGFueXRo
aW5nIG1vcmUgdGhhbiDigJxUaGUgcmVhY3Rpbmcgbm9kZXMgd2lsbDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgZGVjaWRlIHdoaWNoIG1lc3NhZ2VzIHRvIHNl
bmQgYW5kIHdoaWNoIHRvIGRyb3AsIGFuZCB0aGUgcmVzdWx0IG1heTxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgbm90IGJlIHByZWRpY3RhYmxlIGJ5IHRoZSBy
ZXBvcnRpbmcgbm9kZeKAnT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyAtNnRoIHBhcmFncmFwaDog4oCc
Jm5ic3A7IG1heSByZWNlaXZlIHJlcXVlc3RzIGF0IGEgcmF0ZSBiZWxvdyBpdHM8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgdGFyZ2V0IG1heGlt
dW0gRGlhbWV0ZXImbmJzcDsgcmVxdWVzdCByYXRlIHdoaWxlIG90aGVycyBhYm92ZSB0aGF0PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHRhcmdl
dCByYXRlLiZuYnNwOyBCdXQgdGhlIHJlc3VsdGluZyByZXF1ZXN0IHJhdGUgcHJlc2VudGVkIHRv
IHRoZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0
OyBvdmVybG9hZGVkIHJlcG9ydGluZyBub2RlIHdpbGwgY29udmVyZ2UgdG93YXJkcyB0aGUgdGFy
Z2V0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IERpYW1ldGVyIHJlcXVlc3QgcmF0ZS7igJ08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IFdoeSBkbyB3ZSBleHBlY3QgdHJhZmZpYyB0byBjb252ZXJn
ZSB0byB0aGUgcmF0ZSBsaW1pdD8gSXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgc2VlbXMgbGlrZSB0aGF0IHdvbid0IGhhcHBlbiBpZiBzb21l
IHJlcG9ydGluZyBub2RlcyBhcmUgbm90PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHNlbmRpbmcgYXQgZnVsbCBjYXBhY2l0eSwgdW5sZXNzIHdv
cmsgY2FuIGJlIHNoaWZ0ZWQgZnJvbSB0aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgaGlnaC1yYXRlIHNvdXJjZXMgdG8gdGhlIHNsb3ctcmF0
ZSBvbmVzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZn
dDsgJmx0O0pQRyZndDsgUHJvYmFibHkgd291bGQgYmUgYmV0dGVyIHRvIHNheSB0aGF0IGl0ICZx
dW90O3dpbGwgY29udmVyZ2U8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgdG93YXJkIGEgcmF0ZSBhdCBvciBiZWxvdyB0aGUgdGFyZ2V0IERpYW1l
dGVyIHJlcXVlc3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgcmF0ZS7igJ0mbHQ7SlBHJmd0OzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgSSdtIG9rYXkgd2l0aCBtYWtpbmcgSmFuZXQn
cyBzdWdnZXN0ZWQgY2hhbmdlLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBX
Rk0uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgwqc3LjMuMTogcGFyYWdyYXBoIHN0
YXJ0aW5nIHdpdGgg4oCcIEluIHNpdHVhdGlvbnMgd2hlcmUgcmVhY3Rpbmc8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgbm9kZXMgYXJlIGNvbmZp
Z3VyZWQgd2l0aCBzb21lIGtub3dsZWRnZeKAnTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgdGhhdCByZXF1aXJlcyBrbm93bGVkZ2Ugb2Ygb3RoZXIg
dHJhZmZpYyBzb3VyY2VzLCBub3QganVzdDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBrbm93bGVkZ2Ugb2YgdGhlIHJlcG9ydGluZyBub2RlLjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgVGhlIGV4
YW1wbGUgY29kZSBzYXlzIHRvIHRyYW5zbWl0IGEgbWVzc2FnZSBpZiAoWHAgJmx0Oz0gVEFVKS4g
QnV0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IHRoZSB0ZXh0IHNhaWQgdGhlIGxpbWl0IHdhcyDigJxUJiM0MztUQVUpLjxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgJmx0O0pQRyZndDsgSSB0aGlu
ayBpdCBpcyBzdXBwb3NlZCB0byBiZSAmcXVvdDtUJiM0MztUQVUmcXVvdDsmbHQ7SlBHJmd0Ozxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsg
SSdkIGxpa2UgdG8gZ2V0IEVyaWMncyBvcGluaW9uIG9uIHRoaXMuJm5ic3A7IFRoaXMgc2VjdGlv
biB3YXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBj
b3BpZWQgZnJvbSB0aGUgU09DIFJGQyBzbyBpZiBpdCBpcyBpbiBlcnJvciBoZXJlIHRoYW4gaXQg
aXMgaW48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBl
cnJvciB0aGVyZSBhcyB3ZWxsLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBJ
IGFncmVlIHdpdGggZ2V0dGluZyBFcmlj4oCZcyBvcGluaW9uIDotKTxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IMKnOTogSSB0aGluayB0aGUgc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMg
bmVlZCBtb3JlIHRob3VnaHQuIFdoYXQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgYXJlIHRoZSBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBzcGVj
aWZpYyB0byB0aGUgcmF0ZSBhbGdvcml0aG0/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IElmIHRoZXJlIGFyZW7igJl0IGFueSwgdGhlbiBwbGVh
c2UgZGVzY3JpYmUgdGhlIHJhdGlvbmFsIGJlaGluZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyB0aGF0LiBCdXQgSSBzdXNwZWN0IHRoZXJlIGFy
ZSwgZm9yIGV4YW1wbGUsIGNhbiB0aGlzIGJlIHVzZWQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgZm9yIGEgRG9TPyBDYW4gaXQgYmUgdXNlZCB0
byBoZWxwIF9taXRpZ2F0ZV8gYSBEb1M/IENvdWxkIG9uZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyByZWFjdGluZyBub2RlIGNhdXNlIG90aGVy
cyB0byBiZSB0cmFmZmljIHN0YXJ2ZWQ/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7Jmd0OyAmbHQ7SlBHJmd0O0l0IGlzIHBvc3NpYmxlIHRoYXQgYSByZWFj
dGluZyBub2RlIHRoYXQgZG9lcyBub3Qgc3VwcG9ydDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBvdmVybG9hZCBjb250cm9sIGNvdWxkIHN0YXJ2
ZSB0aGUgbm9kZXMgdGhhdCBkbyBzdXBwb3J0PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IG92ZXJsb2FkIGNvbnRyb2wsIGJ1dCB0aGlzIGlzIGFs
c28gdHJ1ZSBvZiB0aGUgbG9zcyBiYXNlZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyB2ZXJzaW9uJmx0O0pQRyZndDs8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBTUkQmZ3Q7IEknbSBub3QgY29udmlu
Y2VkIHRoYXQgdGhlcmUgYXJlIHNlY3VyaXR5IHNjZW5hcmlvcyB0aGF0IGFyZTxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IG5ldyBvciBkaWZmZXJlbnQg
Zm9yIHJhdGUgdmVyc3VzIHRob3NlIGRvY3VtZW50ZWQgaW4gdGhlIGV4aXN0aW5nPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgRE9JQyBzcGVjaWZpY2F0
aW9ucy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgVGhpcyBkcmFmdCBhZGRz
IGEgbmV3IGZlYXR1cmUgdGhhdCBpc27igJl0IGluIHRoZSBiYXNlIG1lY2hhbmlzbS4gSTxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgZ2F0aGVyIHlvdXIgcG9p
bnQgaXMgdG8gc2F5IHRoYXQgdGhlIG5ldyBmZWF0dXJlIHNoYXJlcyB0aGUgc2FtZTxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgc2VjdXJpdHkgY29uc2lkZXJh
dGlvbnMgYXMgdGhlIGJhc2UsIGFuZCBhZGRzIG5vIG5ldyBvbmVzLiBSaWdodDxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgbm93LCBzZWN0aW9uIDkgb25seSBz
dGF0ZXMgdGhlIGZvcm1lci48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZn
dDsgRWRpdG9yaWFsIENvbW1lbnRzOjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgR2VuZXJhbDogSUROaXRzIHJldHVybnMgc2V2ZXJhbCBpc3N1ZXMu
IFNvbWUgb2YgdGhvc2UgbWF5IGJlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IGVycm9ycyBvbiBpdHMgcGFydCwgYnV0IEnigJltIHByZXR0eSBz
dXJlIHNvbWUgb2YgdGhlbSBhcmUgcmVhbC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgUGxlYXNlIHJlc29sdmUgdGhlc2UuPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBJJ2xsIGxvb2sg
YXQgdGhvc2UgbmV4dCB0aW1lIEkgdHJ5IHRvIHN1Ym1pdCBidXQgSSd2ZSBub3Q8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyBnb3R0ZW4gSUROaXRzIGVy
cm9ycyBpbiB0aGUgcGFzdC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyBTUkQmZ3Q7IEkndmUgbWFkZSB0aGUgc3VnZ2VzdGVkIGNoYW5nZXMgYmVsb3cgdW5sZXNz
IGluZGljYXRlZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7IG90aGVyd2lzZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IOKApiBhbmQg
SeKAmXZlIGRlbGV0ZWQgc2VjdGlvbnMgdGhhdCBzZWVtIHJlc29sdmVkLjxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBb4oCmXTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IMKnNS4xLCB0aGlyZCBwYXJhZ3JhcGg6IFRoZSB0ZXh0IGlzIG5vdCBjbGVhciB3aGV0aGVy
IHRoaXMgbWVhbnM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgT0NTIHNob3VsZCBiZSBtYWludGFpbmVkIHBlciBzdXBwb3J0ZWQgYXBwbGljYXRp
b24sIGV0Yywgb3I8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgdGhhdCBpdCBzaG91bGQgbWFpbnRhaW4gc3RhdGUgd2hlbiB0aGUgcmF0ZSBhbGdv
cml0aG0gb24gYSBwZXI8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgc3VwcG9ydGVkIGFwcGxpY2F0aW9uLCBldGMsIGJhc2lzLjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IFNSRCZndDsgSSBkb24ndCB1
bmRlcnN0YW5kIHRoZSBwb2ludCBiZWluZyBtYWRlIGhlcmUuPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7IFByb2JhYmx5IGJlY2F1c2UgSSBmYWlsZWQgdG8gbWFrZSBpdC48bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgSSBfdGhpbmtfIHRoYXQgdGhlIHJlcG9y
dGluZyBub2RlIGtlZXBzIHN0YXRlIGZvciBlYWNoIHJlcG9ydGluZzxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgbm9kZSBmb3Igd2hpY2ggaXQgc2VsZWN0cyBy
YXRlLCBhbmQgZnVydGhlciBuZWVkcyB0byBzdWJkaXZpZGUgdGhhdDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgc3RhdGUgYnkgYXBwbGljYXRpb24gYW5kIHJl
cG9ydCB0eXBlLiBCdXQgdGhlIGl0IGRvZXNu4oCZdCBuZWVkIHRvPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBrZWVwIHN0YXRlIGZvciBhIHJlcG9ydGluZyBu
b2RlIGZvciB3aGljaCBpdCBkb2VzbuKAmXQgc2VsZWN0IHJhdGUsPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyBldmVuIHRob3VnaCB0aGF0IHJlcG9ydGluZyBu
b2RlIG1pZ2h0IGhhdmUgYW4gYXBwbGljYXRpb24gaW4gY29tbW9uPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyB3aXRoIHRoZSBmaXJzdCByZXBvcnRpbmcgbm9k
ZT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgW+KApl08bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7Jmd0OyDCpzYuMS4xLCBkZWZpbml0aW9uIG9mICZxdW90OyBPTFJfUkFU
RV9BTEdPUklUSE3igJ06IFR3byBwZXJpb2RzIGF0IGVuZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBvZiBzZW50ZW5jZS48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgU1JEJmd0OyBJIGFtIGhlc2l0YW50
IHRvIGNoYW5nZSBhbnkgb2YgdGhlIHRlc3QgaW4gc2VjdGlvbiA3IGdpdmVuPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsgdGhhdCBpdCBpcyB0YWtlbiBm
cm9tIHRoZSBTT0Mgc3BlY2lmaWNhdGlvbi4mbmJzcDsgSSB3b3VsZCBwcmVmZXIgdGhhdDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IEVyaWMgY29tbWVu
dCBvbiB0aGVzZSBwcm9wb3NlZCBjaGFuZ2VzIGJlZm9yZSBpbmNsdWRpbmcgdGhlbSBpbjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IHRoZSBuZXh0IHZl
cnNpb24uPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyA8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IE1ha2VzIHNlbnNlLjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNy4xLCAybmQgcGFy
YWdyYXBoOiDigJwgc2lnbmFsIG9uZSBhbm90aGVyIHN1cHBvcnQgZm9yPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHJhdGUtYmFzZWQgb3Zlcmxv
YWQgY29udHJvbOKAnTogVGhpcyBzZWVtcyBhd2t3YXJkOyBhcmUgdGhlcmU8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgbWlzc2luZyB3b3Jkcz88
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNy4y
LCBsYXN0IHR3byBwYXJhZ3JhcGhzOiBUaGUgTVVTVHMgZG8gbm90IHNlZW0gbmVjZXNzYXJ5Ljxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyAyMTE5
IGtleXdvcmRzIHNob3VsZCBiZSB1c2VkIHdoZW4gdGhlcmUgaXMgc29tZSBzb3J0IG9mIGNob2lj
ZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyBv
ciByb29tIGZvciBlcnJvci4gWW91IGRvbuKAmXQgbmVlZCB0aGVtIHRvIGRlZmluZSB0aGUgYmFz
aWM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
b3BlcmF0aW9uIG9mIHRoZSBwcm90b2NvbC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IMKnNy4zLjE6IEkgZm91bmQgdGhlIHRleHQgaGFyZCB0byBm
b2xsb3cuIEl0IHdvdWxkIGhlbHAgdG88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgZGVjbGFyZSBhbGwgdGhlIGlkZW50aWZpZXJzIGFuZCBpbml0
aWFsaXphdGlvbiB1cCBmcm9udCwgYW5kIHRvPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IHByZXNlbnQgdGhpbmdzIGluIG1vcmUgb2YgYSBzdGVw
d2lzZSBmYXNoaW9uLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgLSBUIGlzIGVmZmVjdGl2ZWx5IGEgdGltZSBpbnRlcnZhbCwgcmlnaHQ/IEl0IHdv
dWxkIGhlbHAgdG8gc2F5PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IHRoYXQsIGVzcGVjaWFsbHkgbGF0ZXIgd2hlbiB5b3Ugc3VidHJhY3QgYSBk
aWZmZXJlbnQgdGltZTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyBpbnRlcnZhbCBmcm9tIGl0LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgLSBwYXJhZ3JhcGggOTogU2hvdWxkIOKAnGFkbWl04oCd
IGJlIOKAnGVtaXTigJ0/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyAtIHRoZSBleGFtcGxlIGNvZGUgaGFzIHNldmVyYWwgbWVudGlvbnMgb2YgU0lQ
IHJlcXVlc3RzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgwqc3LjMuMjog4oCcIFJlcXVlc3QgY2FuZGlkYXRlcyBmb3IgcmVkdWN0aW9uLCByZXF1
ZXN0cyBub3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgc3ViamVjdCB0byByZWR1Y3Rpb24gKGV4Y2VwdCB1bmRlciBleHRlbnVhdGluZyBjaXJj
dW1zdGFuY2VzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZn
dDsmZ3Q7IHdoZW4gdGhlcmUgYXJlbuKAmXQgYW55IG1lc3NhZ2VzIGluIHRoZSBmaXJzdCBjYXRl
Z29yeSB0aGF0IGNhbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyBiZSByZWR1Y2VkKS7igJ06IFRoYXQgc2VlbXMgbGlrZSBhbiBhd2t3YXJkIHdh
eSB0byBzYXkgdGhhdCB0aGU8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgc2Vjb25kIGNhdGVnb3J5IGlzIHRoZSBzZXQgb2YgcmVxdWVzdHMgdGhh
dCBpcyBvbmx5IHN1YmplY3QgdG88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgcmVkdWN0aW9uIGlmIHRoZXJlIGFyZSBubyBtZXNzYWdlcyBsZWZ0
IGluIHRoZSBmaXJzdCBjYXRlZ29yeS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7ICZsdDtKUEcmZ3Q7IFllcywgdGhhdCBpcyB3aGF0IGl0IG1lYW5z
LiZsdDtKUEcmZ3Q7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0
OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7Jmd0OyAtIOKAnCBUaGlzIGNhbiBiZSBnZW5lcmFsaXplZCB0byBuIHByaW9yaXRpZXMgdXNp
bmcgbiB0aHJlc2hvbGRzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IGZvciBuJmd0OzIgaW4gdGhlIG9idmlvdXMgd2F5LuKAnTogSSBzdWdnZXN0
IHlvdSByZWZyYWluIGZyb208bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgY2FsbGluZyBpdCDigJxvYnZpb3VzJnF1b3Q7LjxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgwqc3LjMuMzogUGFyYWdyYXBo
IHN0YXJ0aW5nIHdpdGgg4oCcIFRoZW4gKG9ubHkpIGlmIHRoZSBhcnJpdmFsIGlzPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IGFkbWl0dGVkLCBp
bmNyZWFzZSB0aGUgYnVja2V0IGJ5IGFuIGFtb3VudOKApuKAnTogSSB0aGluayB5b3U8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgaW5jcmVhc2Ug
dGhlIGJ1Y2tldCBfY291bnRfLCByaWdodD88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jmd0OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsmZ3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0
OyZndDsmZ3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsm
Z3Q7Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0
OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7Jmd0
OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7Jmd0OyZndDsg
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7IFRo
aXMgZWxlY3Ryb25pYyBtZXNzYWdlIHRyYW5zbWlzc2lvbiBjb250YWlucyBpbmZvcm1hdGlvbiBm
cm9tPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IENTUkEgdGhhdCBtYXkgYmUgYXR0b3JuZXktY2xpZW50IHByaXZpbGVnZWQsIHByb3ByaWV0YXJ5
IG9yPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsmZ3Q7
IGNvbmZpZGVudGlhbC4gVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgbWVzc2FnZSBpcyBpbnRlbmRl
ZCBvbmx5PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7Jmd0OyZndDsm
Z3Q7IGZvciB1c2UgYnkgdGhlIGluZGl2aWR1YWwocykgdG8gd2hvbSBpdCBpcyBhZGRyZXNzZWQu
IElmIHlvdTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7
Jmd0OyBiZWxpZXZlIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBpbiBlcnJvciwgcGxl
YXNlIGNvbnRhY3Q8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7
Jmd0OyZndDsgbWUgaW1tZWRpYXRlbHkgYW5kIGJlIGF3YXJlIHRoYXQgYW55IHVzZSwgZGlzY2xv
c3VyZSwgY29weWluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyBvciBkaXN0cmlidXRpb24gb2YgdGhlIGNvbnRlbnRzIG9mIHRoaXMgbWVzc2Fn
ZSBpcyBzdHJpY3RseTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZn
dDsmZ3Q7Jmd0OyBwcm9oaWJpdGVkLiBOT1RFOiBSZWdhcmRsZXNzIG9mIGNvbnRlbnQsIHRoaXMg
ZW1haWwgc2hhbGwgbm90PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyZndDsmZ3Q7IG9wZXJhdGUgdG8gYmluZCBDU1JBIHRvIGFueSBvcmRlciBvciBvdGhlciBj
b250cmFjdCB1bmxlc3M8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsm
Z3Q7Jmd0OyZndDsgcHVyc3VhbnQgdG8gZXhwbGljaXQgd3JpdHRlbiBhZ3JlZW1lbnQgb3IgZ292
ZXJubWVudCBpbml0aWF0aXZlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7Jmd0OyZndDsmZ3Q7IGV4cHJlc3NseSBwZXJtaXR0aW5nIHRoZSB1c2Ugb2YgZW1haWwgZm9y
IHN1Y2ggcHVycG9zZS4NCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyZndDsmZ3Q7Jmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXyBEaU1FIG1haWxpbmc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZn
dDsmZ3Q7Jmd0OyZndDsgbGlzdCA8YSBocmVmPSJtYWlsdG86RGlNRUBpZXRmLm9yZyI+RGlNRUBp
ZXRmLm9yZzwvYT4gPGEgaHJlZj0ibWFpbHRvOkRpTUVAaWV0Zi5vcmciPg0KJmx0O21haWx0bzpE
aU1FQGlldGYub3JnJmd0OzwvYT4gPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7Jmd0OyZndDsmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50
LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fd3d3LmlldGYub3JnX21haWxtYW5fbGlzdGluZm9fZGlt
ZSZhbXA7ZD1Ed01EYVEmYW1wO2M9TEZZWi1vOV9IVU1lTVRTUWljdmpJZyZhbXA7cj1TS2tsOW85
U0lBZXFkN0ZNbFRFYlFRJmFtcDttPVVpYlJSUlZXN3JrUlQzRFVHd0d3YmF1T3Q5czRCV0V3Q3JH
WEtFY3JhQkUmYW1wO3M9Z3NPZThya1BNVmRtcmxreGZOSHlWQ3NGVzNVeG1zWEV6ZGQzcUhQQnZJ
OCZhbXA7ZT0iPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9kaW1lPC9h
PjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IF9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIERpTUUgbWFpbGluZzxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IGxpc3QgPGEgaHJlZj0i
bWFpbHRvOkRpTUVAaWV0Zi5vcmciPkRpTUVAaWV0Zi5vcmc8L2E+IDxhIGhyZWY9Im1haWx0bzpE
aU1FQGlldGYub3JnIj4NCiZsdDttYWlsdG86RGlNRUBpZXRmLm9yZyZndDs8L2E+IDxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyZndDsmZ3Q7IDxhIGhyZWY9Imh0dHBz
Oi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fd3d3LmlldGYu
b3JnX21haWxtYW5fbGlzdGluZm9fZGltZSZhbXA7ZD1Ed01EYVEmYW1wO2M9TEZZWi1vOV9IVU1l
TVRTUWljdmpJZyZhbXA7cj1TS2tsOW85U0lBZXFkN0ZNbFRFYlFRJmFtcDttPVVpYlJSUlZXN3Jr
UlQzRFVHd0d3YmF1T3Q5czRCV0V3Q3JHWEtFY3JhQkUmYW1wO3M9Z3NPZThya1BNVmRtcmxreGZO
SHlWQ3NGVzNVeG1zWEV6ZGQzcUhQQnZJOCZhbXA7ZT0iPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcv
bWFpbG1hbi9saXN0aW5mby9kaW1lPC9hPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyZndDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7
Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsmZ3Q7IDxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+Jmd0OyA8YnI+
DQo8YnI+DQo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_432544DCDB78E046B9E22D0EE8F4190326288428MISOUT7MSGUSRDC_--


From nobody Thu Sep 13 03:17:31 2018
Return-Path: <internet-drafts@ietf.org>
X-Original-To: dime@ietf.org
Delivered-To: dime@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 692D6130DCB; Thu, 13 Sep 2018 03:17:23 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: dime@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.83.1
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: dime@ietf.org
Message-ID: <153683384337.8497.12876622074423784753@ietfa.amsl.com>
Date: Thu, 13 Sep 2018 03:17:23 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/M29NlvsU2M_1to5_quE9L0krrH0>
Subject: [Dime] I-D Action: draft-ietf-dime-rfc4006bis-12.txt
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Sep 2018 10:17:24 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Diameter Maintenance and Extensions WG of the IETF.

        Title           : Diameter Credit-Control Application
        Authors         : Lyle Bertz
                          David Dolson
                          Yuval Lifshitz
	Filename        : draft-ietf-dime-rfc4006bis-12.txt
	Pages           : 127
	Date            : 2018-09-13

Abstract:
   This document specifies a Diameter application that can be used to
   implement real-time credit-control for a variety of end user services
   such as network access, Session Initiation Protocol (SIP) services,
   messaging services, and download services.  The Diameter Credit-
   Control application as defined in this document obsoletes RFC4006,
   and it must be supported by all new Diameter Credit-Control
   Application implementations.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-dime-rfc4006bis/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-dime-rfc4006bis-12
https://datatracker.ietf.org/doc/html/draft-ietf-dime-rfc4006bis-12

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-dime-rfc4006bis-12


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Sat Sep 15 16:56:54 2018
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 17CC4130E60; Sat, 15 Sep 2018 16:56:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Level: 
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JVjmOnJhypM4; Sat, 15 Sep 2018 16:56:50 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9533E130E5B; Sat, 15 Sep 2018 16:56:49 -0700 (PDT)
Received: from [10.0.1.95] (cpe-70-122-203-106.tx.res.rr.com [70.122.203.106]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w8FNum1U049412 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Sat, 15 Sep 2018 18:56:48 -0500 (CDT) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-70-122-203-106.tx.res.rr.com [70.122.203.106] claimed to be [10.0.1.95]
From: Ben Campbell <ben@nostrum.com>
Message-Id: <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_123590F1-876C-4330-BEF2-92A5114E1322"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Sat, 15 Sep 2018 18:56:46 -0500
In-Reply-To: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com>
Cc: "dime@ietf.org" <dime@ietf.org>
To: draft-ietf-dime-doic-rate-control.all@ietf.org
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/HXKwHDgXevY5TpTHf9ywRoxMCz4>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 15 Sep 2018 23:56:53 -0000

--Apple-Mail=_123590F1-876C-4330-BEF2-92A5114E1322
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi, thanks for posting the update; I think it is making progress. =
However,  I still have some comments I would like to address before IETF =
LC:

Thanks!

Ben.

Substantive Comments:

- General: I still think more discussion is needed about allocating rate =
to multiple input sources. I get that the actual allocation is a matter =
of local policy, but there=E2=80=99s still implications that need =
discussion. I=E2=80=99m not sure I got my concern across in previous =
discussion, so here=E2=80=99s another attempt:

The issue I think needs elaboration on is how the offered load varies =
with the number of sources times the (average) rate per each source. =
That is, if the number of sources changes, the reacting node may need to =
change the rate limits assigned to each existing source.

As a hypothetical example, lets assume a reporting node wants to limit =
its entire offered load to 1000 tps. Further assume it has 10 active =
reacting nodes (all supporting the rate algorithm). Local policy is to =
allocate the rate limit equally across sources. So it sends an OLR to =
each of those clients to give it a rate limit of 100 tps. Now, if =
another 10 reacting nodes become active, it needs to reallocate the load =
across all 20, giving each a limit of 50 tps. Now, if some of those =
reacting nodes go off-line, or simply reduce their activity beneath the =
limit for an extended period of time, the reporting node may need to =
increase the allocation to the remaining nodes.

This is a fairly fundamental difference between rate and load; rate uses =
absolute numbers while load uses percentages.

=C2=A75.1:

- The text is still not clear when a reporting node must send the first =
OLR. I understand that the choice of when to set a rate limit is local =
policy, but some of the text in this section suggests to me that you =
expect a reporting node to send an OLR immediately when it selects the =
rate algorithm for a specific reacting node.

For example, paragraph 6 says:

"A reporting node that has selected the rate overload abatement =
algorithm MUST indicate the rate requested to be applied by DOIC =
reacting nodes in the OC-Maximum-Rate AVP included in the OC-OLR AVP."

This needs to talk about _when_ it must do that. Without some comment, =
it seems like it means =E2=80=9Cwhen it selects the algorithm=E2=80=9D =
(i.e. =E2=80=9Cwhen you indicate support=E2=80=9D ). That seems to =
conflict with the idea of this being local policy.

- new 5th paragraph: Why SHOULD instead of MUST? Is there a situation =
where you have an OCS but no allocated rate? (e.g. you=E2=80=99ve =
selected the rate algorithm for the reacting node, but have not send an =
OLR?)

=C2=A75.4, paragraph 1:

Discussion indicated that the intent of this paragraph was the reacting =
node keeps OCS for each server than indicated support for the rate =
algorithm. But I don=E2=80=99t see text that says when the reacting note =
needs to actually create the state entry. I think the answer is =
=E2=80=9Cimmediately when a reporting node indicates support=E2=80=9D, =
right?

=C2=A75.6, first two paragraphs:

I still think the text talking about using different algorithms needs to =
say something normative about the characteristics of those algorithms. =
Janet=E2=80=99s comments indicated the normative text is in =C2=A77.3.1. =
But that=E2=80=99s part of the algorithm that they MAY use, so it would =
not be constraining against other algorithm choices. Perhaps the 2nd =
paragraph should be normative?

=C2=A77.2: =E2=80=9C But the resulting request rate presented to the =
overloaded reporting node will converge towards the target Diameter =
request rate.=E2=80=9D

Wasn=E2=80=99t there discussion to change this to =E2=80=9C... the =
target Diameter request rate or a lower rate=E2=80=9D?

=C2=A77.3: "In situations where reacting nodes are configured with some =
knowledge
   about the reporting node (e.g., operator pre-provisioning), it can be
   beneficial to choose a value of TAU based on how many reacting nodes
   will be sending requests to the reporting node.=E2=80=9D

I previously commented that this requires knowledge of other traffic =
sources, not just the reporting node. I did not see a response.

Editorial Comments:

[I note a number of editorial comments that fell into the =E2=80=9Cmade =
changes unless indicated otherwise=E2=80=9D category did not seem to get =
changed. I included those here again.]

- There are still things reported by IDNits that need checking. Some are =
obviously noise, but some appear to be real. (Line length, references in =
abstract, and references to RFC 5226)

- Was there a reason not to use the RFC 8174 boilerplate in the =
=E2=80=9CRequirements=E2=80=9D section? (I thought you had intended to =
do so.)

=C2=A71:
- first paragraph: There were some editorial fixes that I thought were =
agreed that did not appear in the new version:
s/=E2=80=9Cprotect the stability=E2=80=9D/=E2=80=9Censure the =
stability=E2=80=9D
s/=E2=80=9Csubjected with=E2=80=9D/=E2=80=9Csubjected to=E2=80=9D
(new comment): In the new last sentence, is there a reason for the =
all-caps? That=E2=80=99s normally reserved for normative keywords.

=C2=A74:
- first paragraph: Please consider active voice in the last sentence,

=C2=A75.1:
- New 5th paragraph:
s/entery/entry

=C2=A77.1, 2nd paragraph: =E2=80=9C signal one another support for =
rate-based overload
  control=E2=80=9D: This seems awkward; are there missing words? Perhaps =
there should be something like =E2=80=9Ctheir=E2=80=9D or =E2=80=9Cthat =
they=E2=80=9D between =E2=80=9Canother=E2=80=9D and =E2=80=9Csupport=E2=80=
=9D?

=C2=A77.2, last two paragraphs: The MUSTs do not seem necessary. 2119 =
keywords should be used when there is some sort of choice or room for =
error. You don=E2=80=99t need them to define the basic operation of the =
protocol.

=C2=A77.3.1: I found the text hard to follow. It would help to declare =
all the identifiers and initialization up front, and to present things =
in more of a stepwise fashion.

- T is effectively a time interval, right? It would help to say that, =
especially later when you subtract a different time interval from it.

- paragraph 9: Should =E2=80=9Cadmit=E2=80=9D be =E2=80=9Cemit=E2=80=9D?

- the example code has several mentions of SIP requests.

=C2=A77.3.2:

- =E2=80=9C Request candidates for reduction, requests not subject to =
reduction (except under extenuating circumstances when there aren=E2=80=99=
t any messages in the first category that can be reduced).=E2=80=9D:

That seems like an awkward way to say that the second category is the =
set of requests that is only subject to reduction if there are no =
messages left in the first category.

- =E2=80=9C This can be generalized to n priorities using n thresholds =
for n>2 in the obvious way.=E2=80=9D: I suggest you refrain from calling =
it =E2=80=9Cobvious=E2=80=9D.

=C2=A77.3.3: Paragraph starting with =E2=80=9C Then (only) if the =
arrival is admitted, increase the bucket by an amount=E2=80=A6=E2=80=9D: =
I think you increase the bucket _count_, right?


> On Sep 10, 2018, at 3:44 PM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> I've posted a new version of the rate draft.
>=20
> I've attached the diff file.
>=20
> Regards,
>=20
> Steve
> <Diff  draft-ietf-dime-doic-rate-control-08.txt - =
draft-ietf-dime-doic-rate-control-09.txt.html>____________________________=
___________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--Apple-Mail=_123590F1-876C-4330-BEF2-92A5114E1322
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIzBAEBCgAdFiEExW9rpd7ez4DexOFOgFZKbJXz1A0FAludnD4ACgkQgFZKbJXz
1A3OkxAApk3DOzhRLBCKfwGGK35iYbmM+2HhGX+InvEIGsPbZGDD8r1Nt45eFTuK
DC6VXVtlCrLfdB+b47AFMTcK48/GT1WVTW5KQj1Mk7HH18pVR7zGiQLbuBAoA6XQ
sxux06LoEpvdjhKCjKbIS7lVrcFXDwIPn4uwxCc8+Ugwg5sMilfxkU2oeLphrY8l
dN5+vhwlCVo1Mc6X7Qs6U3xyw0DFvUZyqLSW8circuNBqzMZRiUrpNowN6TRjxlw
mscyMcJ/FZfkfjD/zjCVFPArtifyTDzK1IUxvjHbFNFUgjP/WiWm8hRI3gsczAad
16cUBSKp7GtS5zBABnTLCbjU8xdiSHt41RyygnOzoFC199PY1Jl9LuBpqZFyyBAX
TKaFQYdKoDl4X7QrxBucwd6vI9C9+KlXJvb+5ZweLYPF2U7ChpBqZ0aFxM0VjOMF
kUXMSBYErspDoG2ERGm6riqvhshB+we/ZMrYbIDAf5mr9c692d8CMl5zuI0bBULM
CBG2EBhAoDTedz7ABFlOXT5Jjb3grIifFtGByRpjYDWPvgAU5qD6APqZVopjKv+z
HwqQvqtA4gZnF8RSgyHQ+SQ1cE/mlauJ1X5feIk70PNk99CN4LRpVlDKTHL5KIeQ
M8oXNDKC3pJP1mBn5wUAwU3xEbhqPJ81LauOATdIdkaqQWKMBgc=
=c5BW
-----END PGP SIGNATURE-----

--Apple-Mail=_123590F1-876C-4330-BEF2-92A5114E1322--


From nobody Sat Sep 15 18:31:28 2018
Return-Path: <Janet.Gunn@csra.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DF803130E58; Sat, 15 Sep 2018 18:31:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.651
X-Spam-Level: 
X-Spam-Status: No, score=-1.651 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iIrpEfVViyac; Sat, 15 Sep 2018 18:31:24 -0700 (PDT)
Received: from mailport5.csra.com (mailport5.csra.com [131.131.211.25]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDF7D12872C; Sat, 15 Sep 2018 18:31:23 -0700 (PDT)
From: "Gunn, Janet P (NONUS)" <janet.gunn@gdit.com>
Received: from csrbtc1exm030.corp.csra.com (HELO mail.csra.com) ([10.76.90.40]) by mailport5.csra.com with ESMTP/TLS/AES256-SHA; 15 Sep 2018 20:31:22 -0500
Received: from CSRBTC1EXM029.corp.csra.com (10.76.90.39) by CSRBTC1EXM031.corp.csra.com (10.76.90.41) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Sat, 15 Sep 2018 20:31:21 -0500
Received: from CSRBTC1EXM029.corp.csra.com ([10.76.90.39]) by CSRBTC1EXM029.corp.csra.com ([10.76.90.39]) with mapi id 15.00.1365.000; Sat, 15 Sep 2018 20:31:21 -0500
To: Ben Campbell <ben@nostrum.com>, "draft-ietf-dime-doic-rate-control.all@ietf.org" <draft-ietf-dime-doic-rate-control.all@ietf.org>
CC: "dime@ietf.org" <dime@ietf.org>
Thread-Topic: [Dime] New version of DOIC rate draft
Thread-Index: AQHUSUcn7KD4VvFtGEyuNrlRpIu4MqTyYMgA///C2ZA=
Date: Sun, 16 Sep 2018 01:31:21 +0000
Message-ID: <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com>
In-Reply-To: <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWjNWdWJtcGNZWEJ3WkdGMFlWeHliMkZ0YVc1blhEQTVaRGcwT1dJMkxU?= =?utf-8?B?TXlaRE10TkdFME1DMDROV1ZsTFRaaU9EUmlZVEk1WlRNMVlseHRjMmR6WEcx?= =?utf-8?B?elp5MHpOakU0TmpJeU55MWlPVFV3TFRFeFpUZ3RZbVl3WVMxbE5HRTBOekUz?= =?utf-8?B?WTJOaFpHWmNZVzFsTFhSbGMzUmNNell4T0RZeU1qZ3RZamsxTUMweE1XVTRM?= =?utf-8?B?V0ptTUdFdFpUUmhORGN4TjJOallXUm1ZbTlrZVM1MGVIUWlJSE42UFNJeU5q?= =?utf-8?B?UTRJaUIwUFNJeE16RTRNVFV6TlRBNE1ETTROVGt6TlRBaUlHZzlJalIxVUVk?= =?utf-8?B?VFVXUnpia0ZVTDNSYVNrZFZNR3RSYWxKSlRGTjJORDBpSUdsa1BTSWlJR0pz?= =?utf-8?B?UFNJd0lpQmliejBpTVNJZ1kyazlJbU5CUVVGQlJWSklWVEZTVTFKVlJrNURa?= =?utf-8?B?MVZCUVVwM1IwRkJRMWRvTlhZMFdFVXpWVUZYUlRWcFRIUmlSVk53VmxsVWJV?= =?utf-8?B?bDFNWE5TUzJ4VlMwRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?SVFVRkJRVUZ6UW1kQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZG?= =?utf-8?B?UVVGUlFVSkJRVUZCYWtSbll5OW5RVUZCUVVGQlFVRkJRVUZCUVVGQlNqUkJR?= =?utf-8?B?VUZDYUVGSFVVRmFRVUo1UVVkVlFXTjNRbnBCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVVZCUVVGQlFVRkJRVUZCWjBG?= =?utf-8?B?QlFVRkJRVzVuUVVGQlIwMUJXWGRDWmtGSFRVRmtVVUo2UVVoUlFXSjNRblJC?= =?utf-8?B?UmpoQldWRkNkVUZJYTBGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGUlFVRkJR?= =?utf-8?B?VUZCUVVGQlEwRkJRVUZCUVVObFFVRkJRVmwzUWpGQlNFMUJaRUZDZGtGSE1F?= =?utf-8?B?RllkMEozUVVkVlFXTm5RbnBCUnpoQlltZEJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUpCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkNRVUZCUVVGQlFVRkJRVWxCUVVGQlFVRktORUZCUVVKcVFVaFZRV04z?= =?utf-8?B?UWpCQlJ6aEJZbEZDWmtGSVFVRmhRVUp3UVVkelFWcFJRalZCU0dOQlluZENl?= =?utf-8?B?VUZIVVVGamQwRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVGblFVRkJRVUZCYm1kQlFV?= =?utf-8?B?RkhUVUZrVVVKNlFVaFJRV0ozUW5SQlJqaEJZMEZDYjBGSE9FRmlaMEpzUVVj?= =?utf-8?B?MFFXUlJRblJCUjBsQldsRkNlVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJRVUZCUVVGQlFVRkRRVUZC?= =?utf-8?B?UVVGQlEyVkJRVUZCV1hkQ01VRklUVUZrUVVKMlFVY3dRVmgzUW5wQlNFMUJZ?= =?utf-8?B?bWRCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUpCUVVGQlFV?= =?utf-8?B?RkJRVUZCU1VGQlFVRkJRVW8wUVVGQlFtdEJTR2RCV0hkQ2FrRkhPRUZhUVVK?= =?utf-8?B?c1FVaE5RVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGRlFVRkJRVUZCUVVGQlFXZEJRVUZCUVVGdVowRkJRVWRWUVdKUlFtaEJS?= =?utf-8?B?MnRCWWtGQ1prRkhSVUZhUVVKclFVaEpRVnBSUW5wQlNFMUJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUYzUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJVVUZCUVVGQlFVRkJRVU5CUVVGQlFVRkRaVUZCUVVG?= =?utf-8?B?aFFVSnFRVWhCUVZsM1FucEJSamhCV1hkQ2RrRkhVVUZhVVVKNlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFVRkJRVUZCUVVGSlFVRkJR?= =?utf-8?B?VUZCU2pSQlFVRkNkMEZJWjBGWWQwSnFRVWM0UVZwQlFteEJTRTFCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVVkJRVUZCUVVG?= =?utf-8?Q?BQUFBZ0FBQUFBQSIvPjwvbWV0YT4=3D?=
x-dg-rorf: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.76.253.110]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/CUIBfeLu9QVEU7LQxWwnpG3pf2E>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 16 Sep 2018 01:31:26 -0000

SnVzdCBhZGRyZXNzaW5nIHRoZSBmaXJzdCBwb2ludC0gZGVsZXRlZCB0aGUgcmVzdA0KDQotLS0t
LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogRGlNRSA8ZGltZS1ib3VuY2VzQGlldGYub3Jn
PiBPbiBCZWhhbGYgT2YgQmVuIENhbXBiZWxsDQpTZW50OiBTYXR1cmRheSwgU2VwdGVtYmVyIDE1
LCAyMDE4IDc6NTcgUE0NClRvOiBkcmFmdC1pZXRmLWRpbWUtZG9pYy1yYXRlLWNvbnRyb2wuYWxs
QGlldGYub3JnDQpDYzogZGltZUBpZXRmLm9yZw0KU3ViamVjdDogUmU6IFtEaW1lXSBOZXcgdmVy
c2lvbiBvZiBET0lDIHJhdGUgZHJhZnQNCg0KU3Vic3RhbnRpdmUgQ29tbWVudHM6DQoNCi0gR2Vu
ZXJhbDogSSBzdGlsbCB0aGluayBtb3JlIGRpc2N1c3Npb24gaXMgbmVlZGVkIGFib3V0IGFsbG9j
YXRpbmcgcmF0ZSB0byBtdWx0aXBsZSBpbnB1dCBzb3VyY2VzLiBJIGdldCB0aGF0IHRoZSBhY3R1
YWwgYWxsb2NhdGlvbiBpcyBhIG1hdHRlciBvZiBsb2NhbCBwb2xpY3ksIGJ1dCB0aGVyZeKAmXMg
c3RpbGwgaW1wbGljYXRpb25zIHRoYXQgbmVlZCBkaXNjdXNzaW9uLiBJ4oCZbSBub3Qgc3VyZSBJ
IGdvdCBteSBjb25jZXJuIGFjcm9zcyBpbiBwcmV2aW91cyBkaXNjdXNzaW9uLCBzbyBoZXJl4oCZ
cyBhbm90aGVyIGF0dGVtcHQ6DQoNClRoZSBpc3N1ZSBJIHRoaW5rIG5lZWRzIGVsYWJvcmF0aW9u
IG9uIGlzIGhvdyB0aGUgb2ZmZXJlZCBsb2FkIHZhcmllcyB3aXRoIHRoZSBudW1iZXIgb2Ygc291
cmNlcyB0aW1lcyB0aGUgKGF2ZXJhZ2UpIHJhdGUgcGVyIGVhY2ggc291cmNlLiBUaGF0IGlzLCBp
ZiB0aGUgbnVtYmVyIG9mIHNvdXJjZXMgY2hhbmdlcywgdGhlIHJlYWN0aW5nIG5vZGUgbWF5IG5l
ZWQgdG8gY2hhbmdlIHRoZSByYXRlIGxpbWl0cyBhc3NpZ25lZCB0byBlYWNoIGV4aXN0aW5nIHNv
dXJjZS4NCg0KQXMgYSBoeXBvdGhldGljYWwgZXhhbXBsZSwgbGV0cyBhc3N1bWUgYSByZXBvcnRp
bmcgbm9kZSB3YW50cyB0byBsaW1pdCBpdHMgZW50aXJlIG9mZmVyZWQgbG9hZCB0byAxMDAwIHRw
cy4gRnVydGhlciBhc3N1bWUgaXQgaGFzIDEwIGFjdGl2ZSByZWFjdGluZyBub2RlcyAoYWxsIHN1
cHBvcnRpbmcgdGhlIHJhdGUgYWxnb3JpdGhtKS4gTG9jYWwgcG9saWN5IGlzIHRvIGFsbG9jYXRl
IHRoZSByYXRlIGxpbWl0IGVxdWFsbHkgYWNyb3NzIHNvdXJjZXMuIFNvIGl0IHNlbmRzIGFuIE9M
UiB0byBlYWNoIG9mIHRob3NlIGNsaWVudHMgdG8gZ2l2ZSBpdCBhIHJhdGUgbGltaXQgb2YgMTAw
IHRwcy4gTm93LCBpZiBhbm90aGVyIDEwIHJlYWN0aW5nIG5vZGVzIGJlY29tZSBhY3RpdmUsIGl0
IG5lZWRzIHRvIHJlYWxsb2NhdGUgdGhlIGxvYWQgYWNyb3NzIGFsbCAyMCwgZ2l2aW5nIGVhY2gg
YSBsaW1pdCBvZiA1MCB0cHMuIE5vdywgaWYgc29tZSBvZiB0aG9zZSByZWFjdGluZyBub2RlcyBn
byBvZmYtbGluZSwgb3Igc2ltcGx5IHJlZHVjZSB0aGVpciBhY3Rpdml0eSBiZW5lYXRoIHRoZSBs
aW1pdCBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kIG9mIHRpbWUsIHRoZSByZXBvcnRpbmcgbm9kZSBt
YXkgbmVlZCB0byBpbmNyZWFzZSB0aGUgYWxsb2NhdGlvbiB0byB0aGUgcmVtYWluaW5nIG5vZGVz
Lg0KDQpUaGlzIGlzIGEgZmFpcmx5IGZ1bmRhbWVudGFsIGRpZmZlcmVuY2UgYmV0d2VlbiByYXRl
IGFuZCBsb2FkOyByYXRlIHVzZXMgYWJzb2x1dGUgbnVtYmVycyB3aGlsZSBsb2FkIHVzZXMgcGVy
Y2VudGFnZXMuDQoNCjxKUEc+IEkgYW0gbm90IHN1cmUgaWYgaXQgaXMgYXMgZnVuZGFtZW50YWwg
YSBkaWZmZXJlbmNlICBhcyB5b3UgdGhpbmsuIChpbiBib3RoIGNhc2VzIGFzc3VtaW5nIGVhY2gg
bm9kZSBoYXMgYSByZWxhdGl2ZWx5IHN0YWJsZSAgbG9hZC4pDQpJZiB0aGVyZSBhcmUgMTAgYWN0
aXZlIHJlYWN0aW5nIG5vZGVzLCBpdCBhc2tzIGVhY2ggbm9kZSB0byByZWR1Y2UgaXRzIHRyYWZm
aWMgdG8gIChzYXkpIDUwJS4NCiBJZiAxMCBtb3JlIG5vZGVzIGJlY29tZSBhY3RpdmUsIGl0IHdp
bGwgbmVlZCB0byBhc2sgZWFjaCBub2RlIHRvIHJlZHVjZSBpdHMgdHJhZmZpYyB0byAyNSUNCklm
IHNvbWUgb2YgdGhvc2Ugbm9kZXMgZ28gb2ZmbGluZSwgb3IgcmVkdWNlIHRoZWlyIHRyYWZmaWMs
IGl0IHdpbGwgaW5jcmVhc2UgdGhlIChwZXJjZW50YWdlKSBhbGxvY2F0aW9uIHRvIGVhY2ggcmVt
YWluaW5nIG5vZGUuDQoNClRoZSAiZnVuZGFtZW50YWwiIGRpZmZlcmVuY2UgaXMgd2hlbiBlYWNo
IG5vZGUgaGFzIGEgZmx1Y3R1YXRpbmcsIHVuc3RhYmxlLCBsb2FkLg0KVW5kZXIgImxvYWQiIGEg
bm9kZSB3aGljaCBjdXJyZW50bHkgaGFzIGEgc21hbGwgbG9hZCBuZWVkcyB0byBjdXQgaXRzIHRy
YWZmaWMgYnkgdGhlIFNBTUUgcGVyY2VudGFnZSBhcyB0aGUgbm9kZSB3aGljaCBjdXJyZW50bHkg
aGFzIGEgbGFyZ2UgbG9hZC4NClVuZGVyICJyYXRlIiBhIG5vZGUgd2hpY2ggY3VycmVudGx5IGhh
cyBhIHNtYWxsIGxvYWQgZG9lcyBOT1QgbmVlZCB0byBjdXQgaXRzIGxvYWQgd2hpbGUgdGhlIG5v
ZGUgd2hpY2ggY3VycmVudGx5IGhhcyBhIGxhcmdlIGxvYWQgRE9FUyBuZWVkIHRvIGN1dCBpdHMg
bG9hZC48L0pQRz4NCg0KDQoNClRoaXMgZWxlY3Ryb25pYyBtZXNzYWdlIHRyYW5zbWlzc2lvbiBj
b250YWlucyBpbmZvcm1hdGlvbiBmcm9tIENTUkEgdGhhdCBtYXkgYmUgYXR0b3JuZXktY2xpZW50
IHByaXZpbGVnZWQsIHByb3ByaWV0YXJ5IG9yIGNvbmZpZGVudGlhbC4gVGhlIGluZm9ybWF0aW9u
IGluIHRoaXMgbWVzc2FnZSBpcyBpbnRlbmRlZCBvbmx5IGZvciB1c2UgYnkgdGhlIGluZGl2aWR1
YWwocykgdG8gd2hvbSBpdCBpcyBhZGRyZXNzZWQuIElmIHlvdSBiZWxpZXZlIHlvdSBoYXZlIHJl
Y2VpdmVkIHRoaXMgbWVzc2FnZSBpbiBlcnJvciwgcGxlYXNlIGNvbnRhY3QgbWUgaW1tZWRpYXRl
bHkgYW5kIGJlIGF3YXJlIHRoYXQgYW55IHVzZSwgZGlzY2xvc3VyZSwgY29weWluZyBvciBkaXN0
cmlidXRpb24gb2YgdGhlIGNvbnRlbnRzIG9mIHRoaXMgbWVzc2FnZSBpcyBzdHJpY3RseSBwcm9o
aWJpdGVkLiBOT1RFOiBSZWdhcmRsZXNzIG9mIGNvbnRlbnQsIHRoaXMgZW1haWwgc2hhbGwgbm90
IG9wZXJhdGUgdG8gYmluZCBDU1JBIHRvIGFueSBvcmRlciBvciBvdGhlciBjb250cmFjdCB1bmxl
c3MgcHVyc3VhbnQgdG8gZXhwbGljaXQgd3JpdHRlbiBhZ3JlZW1lbnQgb3IgZ292ZXJubWVudCBp
bml0aWF0aXZlIGV4cHJlc3NseSBwZXJtaXR0aW5nIHRoZSB1c2Ugb2YgZW1haWwgZm9yIHN1Y2gg
cHVycG9zZS4NCg==


From nobody Sat Sep 15 22:44:37 2018
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 021D01277D2; Sat, 15 Sep 2018 22:44:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.88
X-Spam-Level: 
X-Spam-Status: No, score=-1.88 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dWuJVs_U_khG; Sat, 15 Sep 2018 22:44:33 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF3C712F18C; Sat, 15 Sep 2018 22:44:33 -0700 (PDT)
Received: from [10.0.1.95] (cpe-70-122-203-106.tx.res.rr.com [70.122.203.106]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w8G5iRQk003151 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Sun, 16 Sep 2018 00:44:29 -0500 (CDT) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-70-122-203-106.tx.res.rr.com [70.122.203.106] claimed to be [10.0.1.95]
From: Ben Campbell <ben@nostrum.com>
Message-Id: <16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_C3D0BB3C-5548-4570-B58D-65751CA86C0B"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Sun, 16 Sep 2018 00:44:25 -0500
In-Reply-To: <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com>
Cc: "draft-ietf-dime-doic-rate-control.all@ietf.org" <draft-ietf-dime-doic-rate-control.all@ietf.org>,  "dime@ietf.org" <dime@ietf.org>
To: "Gunn, Janet P (NONUS)" <janet.gunn@gdit.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com> <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/nIBTl6_Z4gOPM_2LmvURl6HghY4>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 16 Sep 2018 05:44:36 -0000

--Apple-Mail=_C3D0BB3C-5548-4570-B58D-65751CA86C0B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) =
<janet.gunn@gdit.com> wrote:
>=20
> Just addressing the first point- deleted the rest
>=20
> -----Original Message-----
> From: DiME <dime-bounces@ietf.org> On Behalf Of Ben Campbell
> Sent: Saturday, September 15, 2018 7:57 PM
> To: draft-ietf-dime-doic-rate-control.all@ietf.org
> Cc: dime@ietf.org
> Subject: Re: [Dime] New version of DOIC rate draft
>=20
> Substantive Comments:
>=20
> - General: I still think more discussion is needed about allocating =
rate to multiple input sources. I get that the actual allocation is a =
matter of local policy, but there=E2=80=99s still implications that need =
discussion. I=E2=80=99m not sure I got my concern across in previous =
discussion, so here=E2=80=99s another attempt:
>=20
> The issue I think needs elaboration on is how the offered load varies =
with the number of sources times the (average) rate per each source. =
That is, if the number of sources changes, the reacting node may need to =
change the rate limits assigned to each existing source.
>=20
> As a hypothetical example, lets assume a reporting node wants to limit =
its entire offered load to 1000 tps. Further assume it has 10 active =
reacting nodes (all supporting the rate algorithm). Local policy is to =
allocate the rate limit equally across sources. So it sends an OLR to =
each of those clients to give it a rate limit of 100 tps. Now, if =
another 10 reacting nodes become active, it needs to reallocate the load =
across all 20, giving each a limit of 50 tps. Now, if some of those =
reacting nodes go off-line, or simply reduce their activity beneath the =
limit for an extended period of time, the reporting node may need to =
increase the allocation to the remaining nodes.
>=20
> This is a fairly fundamental difference between rate and load; rate =
uses absolute numbers while load uses percentages.
>=20
> <JPG> I am not sure if it is as fundamental a difference  as you =
think. (in both cases assuming each node has a relatively stable  load.)
> If there are 10 active reacting nodes, it asks each node to reduce its =
traffic to  (say) 50%.
> If 10 more nodes become active, it will need to ask each node to =
reduce its traffic to 25%
> If some of those nodes go offline, or reduce their traffic, it will =
increase the (percentage) allocation to each remaining node.
>=20
> The "fundamental" difference is when each node has a fluctuating, =
unstable, load.
> Under "load" a node which currently has a small load needs to cut its =
traffic by the SAME percentage as the node which currently has a large =
load.
> Under "rate" a node which currently has a small load does NOT need to =
cut its load while the node which currently has a large load DOES need =
to cut its load.</JPG>
>=20

Hi,

There can be more than one fundamental difference :-)

I wasn=E2=80=99t talking about how clients behave, I was talking about =
how the server expresses it=E2=80=99s intention. If a server wants to =
reduce the current load by half using the loss algorithm, it doesn=E2=80=99=
t need to know how many clients there are. Of course, it may have to =
keep adjusting the percentage if the offered load is not stable. OTOH, =
If it wants to reduce the load to a specific rate using the rate =
algorithm, it does need to know many clients there are.

 I=E2=80=99m not saying this is a flaw in any way. I agree that in many =
cases an absolute TPS value may be more useful than a relative value. =
I=E2=80=99m just saying the draft should talk about it.

Thanks,

Ben.







--Apple-Mail=_C3D0BB3C-5548-4570-B58D-65751CA86C0B
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIzBAEBCgAdFiEExW9rpd7ez4DexOFOgFZKbJXz1A0FAlud7bkACgkQgFZKbJXz
1A1S6BAAtY9PHZh4Ssg7WK9TSFJmhWZ/pXetHKz1CMaKHeKGTcxanQZ9Ac1Z9xH8
/6YO2SoL/+/yF4h+JLtQsUpTWqt9lVUGXn9S5Wuk1VmJbGIQ+TmaEL+UC1urLDmi
4fEmSpYfRg2WESubd29GaoMyRFBlkO1BCC7ls+k9b4TSFdbzfxqrWjpMt6JEqxlO
tuhVO0gIkcdXjcGEt5vLsOF3ca5U4clqg8U/thMh3yceRBosSi6gnUU2PTbbQA6U
AGjJrWHE483XHxZCyDwjjAvBxZYuoMaic3UBtGMpEB68rj5e9JbUeEx748PD4s2n
TlrKJDa3tANawZOJH/gFtjqPx3W9SRHFYOkXTqFdZrTfKa5v7no43SlhZpyoxS74
FhGZm7PlO+HgbExwCu8AH5+FtRsPoGW5DFyJwVfcx4mgF0tDBj/djjrfLMBz0Z0j
wXjCjI09ouHt1r+WMLQ9olp1GLMRTHeY2QKGfHYwtRrYK3wvx+oicfCl2FO9kexV
YYLPevUjGodgEUm26jvehTJPY1QrKRqAHOOrz9YepVoML3wQEzwAG6Z6eKUwLj/F
UYDTqqe9a1yIMWSqA4YYj1Ltu+DW/PbMPcJb55koH1y0WaChzm4TnpwCIp2Xy8MJ
t9q62r3NYlvbPem1Uyms6ps+/JXi8CcZ7moIV9awE0vzIrijoJE=
=qQsr
-----END PGP SIGNATURE-----

--Apple-Mail=_C3D0BB3C-5548-4570-B58D-65751CA86C0B--


From nobody Fri Sep 21 09:01:31 2018
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 453B912777C for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:01:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.119
X-Spam-Level: 
X-Spam-Status: No, score=-1.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z511wNFf3y9X for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:01:28 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 08E73130EFC for <dime@ietf.org>; Fri, 21 Sep 2018 09:01:26 -0700 (PDT)
Received: from [97.99.50.102] (port=50514 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <srdonovan@usdonovans.com>) id 1g3Nro-001OXM-54; Fri, 21 Sep 2018 09:01:25 -0700
To: Ben Campbell <ben@nostrum.com>, "Gunn, Janet P (NONUS)" <janet.gunn@gdit.com>, "dime@ietf.org" <dime@ietf.org>, Eric Noel <ecnoel@research.att.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com> <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com> <16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <77cf227c-4feb-9617-0c61-f57148fa47f9@usdonovans.com>
Date: Fri, 21 Sep 2018 11:02:31 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com>
Content-Type: multipart/alternative; boundary="------------5FDECA3437177D397C0B1C5F"
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/M9kY5RLelgEMJYC4ziPxdr01D7E>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 Sep 2018 16:01:30 -0000

This is a multi-part message in MIME format.
--------------5FDECA3437177D397C0B1C5F
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Thanks for the continued review.  I'll deal with the first issue in this
email.  I'll handle the remaining issues in (a) separate email(s).

For the first issue, I propose the following changes:

I propose adding the following wording between the 6th and 7th paragraph
of the introduction section:

"It should be noted that one of the implications of the rate based
algorithm is that the reporting node needs to determine how it wants to
distribute it's load over the set of reacting nodes from which it is
receiving traffic.  For instance, if the reporting node is receiving
Diameter traffic from 10 reacting nodes and has a capacity of 100
transactions per second then the reporting node could choose to set the
rate for each of the reacting nodes to 10 transactions per second. 
This, of course, is assuming that each of the reacting nodes has equal
performance characteristics.  The reporting node could also choose to
have a high capacity reacting node send 55 transactions per second and
the remaining 9 low capacity reacting nodes send 5 transactions per
second.  The ability of the reporting node to specify the amount of
traffic on a per reacting node basis implies that the reporting node
must maintain state for each of the reacting nodes.  This state includes
the current allocation of Diameter traffic to that reacting node.  If
the number of reacting node changes, either because new nodes are added,
nodes are removed from service or nodes fail, then the reporting node
will need to redistribute the maximum Diameter transactions over the new
set of reacting nodes."

I also propose the following wording added at the end of section 5.3.
Reporting Node Maintenance of Overload Control State

" A reporting node that receives a capability announcement from a new
reacting node, meaning a reacting node for which it does not have an OCS
entry, and the reporting node chooses the rate algorithm for that
reacting node SHOULD recalculate the rate to be allocated to all
reacting nodes.  Any changed rate values will be communicated in the
next OLR sent to each reacting node."

Steve
 
On 9/16/18 12:44 AM, Ben Campbell wrote:
>
>> On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) <janet.gunn@gdit.com> wrote:
>>
>> Just addressing the first point- deleted the rest
>>
>> -----Original Message-----
>> From: DiME <dime-bounces@ietf.org> On Behalf Of Ben Campbell
>> Sent: Saturday, September 15, 2018 7:57 PM
>> To: draft-ietf-dime-doic-rate-control.all@ietf.org
>> Cc: dime@ietf.org
>> Subject: Re: [Dime] New version of DOIC rate draft
>>
>> Substantive Comments:
>>
>> - General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:
>>
>> The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.
>>
>> As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.
>>
>> This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.
>>
>> <JPG> I am not sure if it is as fundamental a difference  as you think. (in both cases assuming each node has a relatively stable  load.)
>> If there are 10 active reacting nodes, it asks each node to reduce its traffic to  (say) 50%.
>> If 10 more nodes become active, it will need to ask each node to reduce its traffic to 25%
>> If some of those nodes go offline, or reduce their traffic, it will increase the (percentage) allocation to each remaining node.
>>
>> The "fundamental" difference is when each node has a fluctuating, unstable, load.
>> Under "load" a node which currently has a small load needs to cut its traffic by the SAME percentage as the node which currently has a large load.
>> Under "rate" a node which currently has a small load does NOT need to cut its load while the node which currently has a large load DOES need to cut its load.</JPG>
>>
> Hi,
>
> There can be more than one fundamental difference :-)
>
> I wasn’t talking about how clients behave, I was talking about how the server expresses it’s intention. If a server wants to reduce the current load by half using the loss algorithm, it doesn’t need to know how many clients there are. Of course, it may have to keep adjusting the percentage if the offered load is not stable. OTOH, If it wants to reduce the load to a specific rate using the rate algorithm, it does need to know many clients there are.
>
>  I’m not saying this is a flaw in any way. I agree that in many cases an absolute TPS value may be more useful than a relative value. I’m just saying the draft should talk about it.
>
> Thanks,
>
> Ben.
>
>
>
>
>
>


--------------5FDECA3437177D397C0B1C5F
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Times New Roman, Times, serif">Thanks for the continued
      review.  I'll deal with the first issue in this email.  I'll
      handle the remaining issues in (a) separate email(s).<br>
      <br>
      For the first issue, I propose the following changes:<br>
      <br>
      I propose adding the following wording between the 6th and 7th
      paragraph of the introduction section:<br>
      <br>
      "It should be noted that one of the implications of the rate based
      algorithm is that the reporting node needs to determine how it
      wants to distribute it's load over the set of reacting nodes from
      which it is receiving traffic.  For instance, if the reporting
      node is receiving Diameter traffic from 10 reacting nodes and has
      a capacity of 100 transactions per second then the reporting node
      could choose to set the rate for each of the reacting nodes to 10
      transactions per second.  This, of course, is assuming that each
      of the reacting nodes has equal performance characteristics.  The
      reporting node could also choose to have a high capacity reacting
      node send 55 transactions per second and the remaining 9 low
      capacity reacting nodes send 5 transactions per second.  The
      ability of the reporting node to specify the amount of traffic on
      a per reacting node basis implies that the reporting node must
      maintain state for each of the reacting nodes.  This state
      includes the current allocation of Diameter traffic to that
      reacting node.  If the number of reacting node changes, either
      because new nodes are added, nodes are removed from service or
      nodes fail, then the reporting node will need to redistribute the
      maximum Diameter transactions over the new set of reacting nodes."<br>
      <br>
      I also propose the following wording added at the end of section
      5.3. Reporting Node Maintenance of Overload Control State<br>
      <br>
      " A reporting node that receives a capability announcement from a
      new reacting node, meaning a reacting node for which it does not
      have an OCS entry, and the reporting node chooses the rate
      algorithm for that reacting node SHOULD recalculate the rate to be
      allocated to all reacting nodes.  Any changed rate values will be
      communicated in the next OLR sent to each reacting node."<br>
      <br>
      Steve<br>
    </font><font face="Times New Roman, Times, serif">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
       </font>
    <div class="moz-cite-prefix">On 9/16/18 12:44 AM, Ben Campbell
      wrote:<br>
    </div>
    <blockquote
      cite="mid:16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com"
      type="cite">
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap="">On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) <a class="moz-txt-link-rfc2396E" href="mailto:janet.gunn@gdit.com">&lt;janet.gunn@gdit.com&gt;</a> wrote:

Just addressing the first point- deleted the rest

-----Original Message-----
From: DiME <a class="moz-txt-link-rfc2396E" href="mailto:dime-bounces@ietf.org">&lt;dime-bounces@ietf.org&gt;</a> On Behalf Of Ben Campbell
Sent: Saturday, September 15, 2018 7:57 PM
To: <a class="moz-txt-link-abbreviated" href="mailto:draft-ietf-dime-doic-rate-control.all@ietf.org">draft-ietf-dime-doic-rate-control.all@ietf.org</a>
Cc: <a class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a>
Subject: Re: [Dime] New version of DOIC rate draft

Substantive Comments:

- General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:

The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.

As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.

This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.

&lt;JPG&gt; I am not sure if it is as fundamental a difference  as you think. (in both cases assuming each node has a relatively stable  load.)
If there are 10 active reacting nodes, it asks each node to reduce its traffic to  (say) 50%.
If 10 more nodes become active, it will need to ask each node to reduce its traffic to 25%
If some of those nodes go offline, or reduce their traffic, it will increase the (percentage) allocation to each remaining node.

The "fundamental" difference is when each node has a fluctuating, unstable, load.
Under "load" a node which currently has a small load needs to cut its traffic by the SAME percentage as the node which currently has a large load.
Under "rate" a node which currently has a small load does NOT need to cut its load while the node which currently has a large load DOES need to cut its load.&lt;/JPG&gt;

</pre>
      </blockquote>
      <pre wrap="">
Hi,

There can be more than one fundamental difference :-)

I wasn’t talking about how clients behave, I was talking about how the server expresses it’s intention. If a server wants to reduce the current load by half using the loss algorithm, it doesn’t need to know how many clients there are. Of course, it may have to keep adjusting the percentage if the offered load is not stable. OTOH, If it wants to reduce the load to a specific rate using the rate algorithm, it does need to know many clients there are.

 I’m not saying this is a flaw in any way. I agree that in many cases an absolute TPS value may be more useful than a relative value. I’m just saying the draft should talk about it.

Thanks,

Ben.






</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------5FDECA3437177D397C0B1C5F--


From nobody Fri Sep 21 09:07:10 2018
Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C595F130E1D for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:07:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.878
X-Spam-Level: 
X-Spam-Status: No, score=-1.878 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q49etNVnp7J9 for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:07:05 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B482E12777C for <dime@ietf.org>; Fri, 21 Sep 2018 09:07:05 -0700 (PDT)
Received: from [10.0.1.95] (cpe-70-122-203-106.tx.res.rr.com [70.122.203.106]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w8LG6w5u068079 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 21 Sep 2018 11:07:02 -0500 (CDT) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-70-122-203-106.tx.res.rr.com [70.122.203.106] claimed to be [10.0.1.95]
From: Ben Campbell <ben@nostrum.com>
Message-Id: <AC3A6F0C-A162-4BFB-9FD7-D3811167D8D5@nostrum.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_79C12E53-1519-4CBA-9322-17C93847A660"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Fri, 21 Sep 2018 11:06:57 -0500
In-Reply-To: <77cf227c-4feb-9617-0c61-f57148fa47f9@usdonovans.com>
Cc: "Gunn, Janet P (NONUS)" <janet.gunn@gdit.com>, "dime@ietf.org" <dime@ietf.org>, Eric Noel <ecnoel@research.att.com>
To: Steve Donovan <srdonovan@usdonovans.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com> <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com> <16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com> <77cf227c-4feb-9617-0c61-f57148fa47f9@usdonovans.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/dtajBjwTPYgl2YkOHlUktiyerng>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 Sep 2018 16:07:08 -0000

--Apple-Mail=_79C12E53-1519-4CBA-9322-17C93847A660
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_3CF3EF65-0036-4DB4-A6D4-7D1B17DBA04D"


--Apple-Mail=_3CF3EF65-0036-4DB4-A6D4-7D1B17DBA04D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On Sep 21, 2018, at 11:02 AM, Steve Donovan <srdonovan@usdonovans.com> =
wrote:
>=20
> Thanks for the continued review.  I'll deal with the first issue in =
this email.  I'll handle the remaining issues in (a) separate email(s).
>=20
> For the first issue, I propose the following changes:
>=20
> I propose adding the following wording between the 6th and 7th =
paragraph of the introduction section:
>=20
> "It should be noted that one of the implications of the rate based =
algorithm is that the reporting node needs to determine how it wants to =
distribute it's load over the set of reacting nodes from which it is =
receiving traffic.  For instance, if the reporting node is receiving =
Diameter traffic from 10 reacting nodes and has a capacity of 100 =
transactions per second then the reporting node could choose to set the =
rate for each of the reacting nodes to 10 transactions per second.  =
This, of course, is assuming that each of the reacting nodes has equal =
performance characteristics.  The reporting node could also choose to =
have a high capacity reacting node send 55 transactions per second and =
the remaining 9 low capacity reacting nodes send 5 transactions per =
second.  The ability of the reporting node to specify the amount of =
traffic on a per reacting node basis implies that the reporting node =
must maintain state for each of the reacting nodes.  This state includes =
the current allocation of Diameter traffic to that reacting node.  If =
the number of reacting node changes, either because new nodes are added, =
nodes are removed from service or nodes fail, then the reporting node =
will need to redistribute the maximum Diameter transactions over the new =
set of reacting nodes.=E2=80=9D

Thats exactly what I had in mind, thanks!

>=20
> I also propose the following wording added at the end of section 5.3. =
Reporting Node Maintenance of Overload Control State
>=20
> " A reporting node that receives a capability announcement from a new =
reacting node, meaning a reacting node for which it does not have an OCS =
entry, and the reporting node chooses the rate algorithm for that =
reacting node SHOULD recalculate the rate to be allocated to all =
reacting nodes.  Any changed rate values will be communicated in the =
next OLR sent to each reacting node.=E2=80=9D

I will leave it to you to decide, but I don=E2=80=99t know that the =
SHOULD is necessary. We could treat this as a statement of fact of which =
people need to be aware. (=E2=80=9Cmay need to=E2=80=9D or =E2=80=9Cneeds =
to=E2=80=9D).

>=20
> Steve
>=20
> On 9/16/18 12:44 AM, Ben Campbell wrote:
>>=20
>>> On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) =
<janet.gunn@gdit.com> <mailto:janet.gunn@gdit.com> wrote:
>>>=20
>>> Just addressing the first point- deleted the rest
>>>=20
>>> -----Original Message-----
>>> From: DiME <dime-bounces@ietf.org> <mailto:dime-bounces@ietf.org> On =
Behalf Of Ben Campbell
>>> Sent: Saturday, September 15, 2018 7:57 PM
>>> To: draft-ietf-dime-doic-rate-control.all@ietf.org =
<mailto:draft-ietf-dime-doic-rate-control.all@ietf.org>
>>> Cc: dime@ietf.org <mailto:dime@ietf.org>
>>> Subject: Re: [Dime] New version of DOIC rate draft
>>>=20
>>> Substantive Comments:
>>>=20
>>> - General: I still think more discussion is needed about allocating =
rate to multiple input sources. I get that the actual allocation is a =
matter of local policy, but there=E2=80=99s still implications that need =
discussion. I=E2=80=99m not sure I got my concern across in previous =
discussion, so here=E2=80=99s another attempt:
>>>=20
>>> The issue I think needs elaboration on is how the offered load =
varies with the number of sources times the (average) rate per each =
source. That is, if the number of sources changes, the reacting node may =
need to change the rate limits assigned to each existing source.
>>>=20
>>> As a hypothetical example, lets assume a reporting node wants to =
limit its entire offered load to 1000 tps. Further assume it has 10 =
active reacting nodes (all supporting the rate algorithm). Local policy =
is to allocate the rate limit equally across sources. So it sends an OLR =
to each of those clients to give it a rate limit of 100 tps. Now, if =
another 10 reacting nodes become active, it needs to reallocate the load =
across all 20, giving each a limit of 50 tps. Now, if some of those =
reacting nodes go off-line, or simply reduce their activity beneath the =
limit for an extended period of time, the reporting node may need to =
increase the allocation to the remaining nodes.
>>>=20
>>> This is a fairly fundamental difference between rate and load; rate =
uses absolute numbers while load uses percentages.
>>>=20
>>> <JPG> I am not sure if it is as fundamental a difference  as you =
think. (in both cases assuming each node has a relatively stable  load.)
>>> If there are 10 active reacting nodes, it asks each node to reduce =
its traffic to  (say) 50%.
>>> If 10 more nodes become active, it will need to ask each node to =
reduce its traffic to 25%
>>> If some of those nodes go offline, or reduce their traffic, it will =
increase the (percentage) allocation to each remaining node.
>>>=20
>>> The "fundamental" difference is when each node has a fluctuating, =
unstable, load.
>>> Under "load" a node which currently has a small load needs to cut =
its traffic by the SAME percentage as the node which currently has a =
large load.
>>> Under "rate" a node which currently has a small load does NOT need =
to cut its load while the node which currently has a large load DOES =
need to cut its load.</JPG>
>>>=20
>> Hi,
>>=20
>> There can be more than one fundamental difference :-)
>>=20
>> I wasn=E2=80=99t talking about how clients behave, I was talking =
about how the server expresses it=E2=80=99s intention. If a server wants =
to reduce the current load by half using the loss algorithm, it =
doesn=E2=80=99t need to know how many clients there are. Of course, it =
may have to keep adjusting the percentage if the offered load is not =
stable. OTOH, If it wants to reduce the load to a specific rate using =
the rate algorithm, it does need to know many clients there are.
>>=20
>>  I=E2=80=99m not saying this is a flaw in any way. I agree that in =
many cases an absolute TPS value may be more useful than a relative =
value. I=E2=80=99m just saying the draft should talk about it.
>>=20
>> Thanks,
>>=20
>> Ben.
>>=20
>>=20
>>=20
>>=20
>>=20
>>=20
>=20


--Apple-Mail=_3CF3EF65-0036-4DB4-A6D4-7D1B17DBA04D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Sep 21, 2018, at 11:02 AM, Steve Donovan &lt;<a =
href=3D"mailto:srdonovan@usdonovans.com" =
class=3D"">srdonovan@usdonovans.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D"">
 =20
    <meta content=3D"text/html; charset=3Dutf-8" =
http-equiv=3D"Content-Type" class=3D"">
 =20
  <div bgcolor=3D"#FFFFFF" text=3D"#000000" class=3D"">
    <font face=3D"Times New Roman, Times, serif" class=3D"">Thanks for =
the continued
      review.&nbsp; I'll deal with the first issue in this email.&nbsp; =
I'll
      handle the remaining issues in (a) separate email(s).<br class=3D"">=

      <br class=3D"">
      For the first issue, I propose the following changes:<br class=3D"">=

      <br class=3D"">
      I propose adding the following wording between the 6th and 7th
      paragraph of the introduction section:<br class=3D"">
      <br class=3D"">
      "It should be noted that one of the implications of the rate based
      algorithm is that the reporting node needs to determine how it
      wants to distribute it's load over the set of reacting nodes from
      which it is receiving traffic.&nbsp; For instance, if the =
reporting
      node is receiving Diameter traffic from 10 reacting nodes and has
      a capacity of 100 transactions per second then the reporting node
      could choose to set the rate for each of the reacting nodes to 10
      transactions per second.&nbsp; This, of course, is assuming that =
each
      of the reacting nodes has equal performance characteristics.&nbsp; =
The
      reporting node could also choose to have a high capacity reacting
      node send 55 transactions per second and the remaining 9 low
      capacity reacting nodes send 5 transactions per second.&nbsp; The
      ability of the reporting node to specify the amount of traffic on
      a per reacting node basis implies that the reporting node must
      maintain state for each of the reacting nodes.&nbsp; This state
      includes the current allocation of Diameter traffic to that
      reacting node.&nbsp; If the number of reacting node changes, =
either
      because new nodes are added, nodes are removed from service or
      nodes fail, then the reporting node will need to redistribute the
      maximum Diameter transactions over the new set of reacting =
nodes.=E2=80=9D</font></div></div></blockquote><div><br =
class=3D""></div><div>Thats exactly what I had in mind, thanks!</div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
bgcolor=3D"#FFFFFF" text=3D"#000000" class=3D""><font face=3D"Times New =
Roman, Times, serif" class=3D"">
      <br class=3D"">
      I also propose the following wording added at the end of section
      5.3. Reporting Node Maintenance of Overload Control State<br =
class=3D"">
      <br class=3D"">
      " A reporting node that receives a capability announcement from a
      new reacting node, meaning a reacting node for which it does not
      have an OCS entry, and the reporting node chooses the rate
      algorithm for that reacting node SHOULD recalculate the rate to be
      allocated to all reacting nodes.&nbsp; Any changed rate values =
will be
      communicated in the next OLR sent to each reacting =
node.=E2=80=9D</font></div></div></blockquote><div><br =
class=3D""></div><div>I will leave it to you to decide, but I don=E2=80=99=
t know that the SHOULD is necessary. We could treat this as a statement =
of fact of which people need to be aware. (=E2=80=9Cmay need to=E2=80=9D =
or =E2=80=9Cneeds to=E2=80=9D).&nbsp;</div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div bgcolor=3D"#FFFFFF" =
text=3D"#000000" class=3D""><font face=3D"Times New Roman, Times, serif" =
class=3D"">
      <br class=3D"">
      Steve<br class=3D"">
    </font><font face=3D"Times New Roman, Times, serif" class=3D"">
      <meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8" class=3D"">
      &nbsp;</font>
    <div class=3D"moz-cite-prefix">On 9/16/18 12:44 AM, Ben Campbell
      wrote:<br class=3D"">
    </div>
    <blockquote =
cite=3D"mid:16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com" =
type=3D"cite" class=3D"">
      <pre wrap=3D"" class=3D"">
</pre>
      <blockquote type=3D"cite" class=3D"">
        <pre wrap=3D"" class=3D"">On Sep 15, 2018, at 8:31 PM, Gunn, =
Janet P (NONUS) <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:janet.gunn@gdit.com">&lt;janet.gunn@gdit.com&gt;</a> =
wrote:

Just addressing the first point- deleted the rest

-----Original Message-----
From: DiME <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:dime-bounces@ietf.org">&lt;dime-bounces@ietf.org&gt;</a> =
On Behalf Of Ben Campbell
Sent: Saturday, September 15, 2018 7:57 PM
To: <a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:draft-ietf-dime-doic-rate-control.all@ietf.org">draft-ietf-=
dime-doic-rate-control.all@ietf.org</a>
Cc: <a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:dime@ietf.org">dime@ietf.org</a>
Subject: Re: [Dime] New version of DOIC rate draft

Substantive Comments:

- General: I still think more discussion is needed about allocating rate =
to multiple input sources. I get that the actual allocation is a matter =
of local policy, but there=E2=80=99s still implications that need =
discussion. I=E2=80=99m not sure I got my concern across in previous =
discussion, so here=E2=80=99s another attempt:

The issue I think needs elaboration on is how the offered load varies =
with the number of sources times the (average) rate per each source. =
That is, if the number of sources changes, the reacting node may need to =
change the rate limits assigned to each existing source.

As a hypothetical example, lets assume a reporting node wants to limit =
its entire offered load to 1000 tps. Further assume it has 10 active =
reacting nodes (all supporting the rate algorithm). Local policy is to =
allocate the rate limit equally across sources. So it sends an OLR to =
each of those clients to give it a rate limit of 100 tps. Now, if =
another 10 reacting nodes become active, it needs to reallocate the load =
across all 20, giving each a limit of 50 tps. Now, if some of those =
reacting nodes go off-line, or simply reduce their activity beneath the =
limit for an extended period of time, the reporting node may need to =
increase the allocation to the remaining nodes.

This is a fairly fundamental difference between rate and load; rate uses =
absolute numbers while load uses percentages.

&lt;JPG&gt; I am not sure if it is as fundamental a difference  as you =
think. (in both cases assuming each node has a relatively stable  load.)
If there are 10 active reacting nodes, it asks each node to reduce its =
traffic to  (say) 50%.
If 10 more nodes become active, it will need to ask each node to reduce =
its traffic to 25%
If some of those nodes go offline, or reduce their traffic, it will =
increase the (percentage) allocation to each remaining node.

The "fundamental" difference is when each node has a fluctuating, =
unstable, load.
Under "load" a node which currently has a small load needs to cut its =
traffic by the SAME percentage as the node which currently has a large =
load.
Under "rate" a node which currently has a small load does NOT need to =
cut its load while the node which currently has a large load DOES need =
to cut its load.&lt;/JPG&gt;

</pre>
      </blockquote>
      <pre wrap=3D"" class=3D"">Hi,

There can be more than one fundamental difference :-)

I wasn=E2=80=99t talking about how clients behave, I was talking about =
how the server expresses it=E2=80=99s intention. If a server wants to =
reduce the current load by half using the loss algorithm, it doesn=E2=80=99=
t need to know how many clients there are. Of course, it may have to =
keep adjusting the percentage if the offered load is not stable. OTOH, =
If it wants to reduce the load to a specific rate using the rate =
algorithm, it does need to know many clients there are.

 I=E2=80=99m not saying this is a flaw in any way. I agree that in many =
cases an absolute TPS value may be more useful than a relative value. =
I=E2=80=99m just saying the draft should talk about it.

Thanks,

Ben.






</pre>
    </blockquote>
    <br class=3D"">
  </div>

</div></blockquote></div><br class=3D""></body></html>=

--Apple-Mail=_3CF3EF65-0036-4DB4-A6D4-7D1B17DBA04D--

--Apple-Mail=_79C12E53-1519-4CBA-9322-17C93847A660
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIzBAEBCgAdFiEExW9rpd7ez4DexOFOgFZKbJXz1A0FAlulFyEACgkQgFZKbJXz
1A0nIRAAx762neIC83blcedNhIk+2zahXJNsCPenFIExOiHRrz4/awMqzV1VJqsG
aaZ5spv/ggGUg5oovBbsUFkP8/mium/DM6PuRFFJT6IEC3seM1zXIQsNuBwY/PhP
/ZWl3QjiCn/Ao5zyjVBFfEh9GvY+/pPkxcw7xrYlFS4Xo3wzDelyZgSX/bSwzldd
RxPIpUfcTRueFviaf6NRLElyAb+EWbhAhdBB7T/ZCqpv2jYmFsrZztoUh0K+lyFN
+oCdohx9wPyEp11wH8J3rtLDMu3K25qqS89sOPfFXm0u9qFVVfUIx8e5RHetHwfV
2dwgLPlvKa7WzsXap1cTZ4b2DNKL5Swm1nzM9pQcNhZ9kvZIq+QtUUMfg18hJeyu
WgrpDJn2siTE0vamAODSMW8LeRwFk3XHFL6CqwZP+tyrzZf4zvJttW4wMbwwShD0
oR6vLPVBJhZQryJyWMLjEeXmwEFREqsbnMOOZDESVzcIfGz0btQ190BLD8sN98SB
1EaK3f15GBSeqXwvaBk+qn/QLmnka+k7G3aNCG5aIOBIWWQ7TVHYHQeAR0dCRdBZ
ZmtfN1PRuwL84u/1ODKvWHHMK63g/OeTOTWWZqaoGk4qXuFtxKL4re8Zd7+7DBEN
czxXn+DTPkxxyouzL25xHw08WtMQ6pzt7R/ij6Yr9+v0+rudJzs=
=NzNd
-----END PGP SIGNATURE-----

--Apple-Mail=_79C12E53-1519-4CBA-9322-17C93847A660--


From nobody Fri Sep 21 09:57:24 2018
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E098130E4C for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:57:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.119
X-Spam-Level: 
X-Spam-Status: No, score=-1.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NNr0QPblhmEV for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 09:57:18 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DC9921277CC for <dime@ietf.org>; Fri, 21 Sep 2018 09:57:18 -0700 (PDT)
Received: from [97.99.50.102] (port=50893 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <srdonovan@usdonovans.com>) id 1g3Ojp-0028Hn-5D; Fri, 21 Sep 2018 09:57:18 -0700
To: dime@ietf.org, Eric Noel <ecnoel@research.att.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <ce806a23-48f8-dfb4-e184-3f809cfa182e@usdonovans.com>
Date: Fri, 21 Sep 2018 11:58:21 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com>
Content-Type: multipart/alternative; boundary="------------FC6854CEE51B75D620B308B8"
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/SefiaAxV55SkQGTSGBBrYQybxBk>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 Sep 2018 16:57:23 -0000

This is a multi-part message in MIME format.
--------------FC6854CEE51B75D620B308B8
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit

I've dealt with the majority of the remaining issues in this email.

There are a few questions that deal with section 7 that I have left for
Eric to address.

Steve

On 9/15/18 6:56 PM, Ben Campbell wrote:
> Hi, thanks for posting the update; I think it is making progress. However,  I still have some comments I would like to address before IETF LC:
>
> Thanks!
>
> Ben.
>
> Substantive Comments:
>
> - General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:
>
> The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.
>
> As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.
>
> This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.
SRD> See previous email.
> §5.1:
>
> - The text is still not clear when a reporting node must send the first OLR. I understand that the choice of when to set a rate limit is local policy, but some of the text in this section suggests to me that you expect a reporting node to send an OLR immediately when it selects the rate algorithm for a specific reacting node.
>
> For example, paragraph 6 says:
>
> "A reporting node that has selected the rate overload abatement algorithm MUST indicate the rate requested to be applied by DOIC reacting nodes in the OC-Maximum-Rate AVP included in the OC-OLR AVP."
>
> This needs to talk about _when_ it must do that. Without some comment, it seems like it means “when it selects the algorithm” (i.e. “when you indicate support” ). That seems to conflict with the idea of this being local policy.
SRD> Well, it must indicate the rate anytime an OLR is sent.  The when
is specified in RFC7683, Section 5.2.3.  Here's part of that section
(paragraph 1) included to hopefully illustrate that no additional
wording is needed in the rate draft:

   If there is an active OCS entry, then a reporting node SHOULD include
   the OC-OLR AVP in all answers to requests that contain the
   OC-Supported-Features AVP and that match the active OCS entry.
>
> - new 5th paragraph: Why SHOULD instead of MUST? Is there a situation where you have an OCS but no allocated rate? (e.g. you’ve selected the rate algorithm for the reacting node, but have not send an OLR?)
SRD> There is a possible implementation that assumes the rate for each
reacting node is calculated by dividing the number of active nodes by
the maximum rate.  With this implementation the OCS would not require
storing the rate.  I did see an error in that paragraph, and as such,
I've changed that paragraph to the following:

The rate OCS entery SHOULD include the rate allocated to the reacting note.

Old text:

   The rate OCS entery SHOULD include the rate allocated to each
reacting note.

New text:

   The rate OCS entery SHOULD include the rate allocated to the reacting
note.

>
> §5.4, paragraph 1:
>
> Discussion indicated that the intent of this paragraph was the reacting node keeps OCS for each server than indicated support for the rate algorithm. But I don’t see text that says when the reacting note needs to actually create the state entry. I think the answer is “immediately when a reporting node indicates support”, right?
SRD> This is covered by the following paragraph from RFC7683:

   If the received OLR is for a new overload condition, then a reacting
   node MUST generate a new OCS entry for the overload condition.
>
> §5.6, first two paragraphs:
>
> I still think the text talking about using different algorithms needs to say something normative about the characteristics of those algorithms. Janet’s comments indicated the normative text is in §7.3.1. But that’s part of the algorithm that they MAY use, so it would not be constraining against other algorithm choices. Perhaps the 2nd paragraph should be normative?
SRD> How about the following change in paragraph 2:

Old text:

      Note: Other algorithms for controlling the rate can be implemented
      by the reacting node as long as they result in the correct rate of
      traffic being sent to the reporting node.

New text:

   Other algorithms for controlling the rate MAY be implemented
   by the reacting node.  Any algorithm implemented MUST result
   in the correct rate of traffic being sent to the reporting node.
>
> §7.2: “ But the resulting request rate presented to the overloaded reporting node will converge towards the target Diameter request rate.”
>
> Wasn’t there discussion to change this to “... the target Diameter request rate or a lower rate”?
SRD> Agreed, change made.
>
> §7.3: "In situations where reacting nodes are configured with some knowledge
>    about the reporting node (e.g., operator pre-provisioning), it can be
>    beneficial to choose a value of TAU based on how many reacting nodes
>    will be sending requests to the reporting node.”
>
> I previously commented that this requires knowledge of other traffic sources, not just the reporting node. I did not see a response.
SRD> I don't understand the issue.  I'm hoping Eric can comment or you
can clarify.
>
> Editorial Comments:
>
> [I note a number of editorial comments that fell into the “made changes unless indicated otherwise” category did not seem to get changed. I included those here again.]
SRD> My apologies if I missed these in the last refresh.
>
> - There are still things reported by IDNits that need checking. Some are obviously noise, but some appear to be real. (Line length, references in abstract, and references to RFC 5226)
SRD> There were no issues reported by IDNits when I submitted the
document.  Is there a different IDnits check than the one used when
submitting drafts?
>
> - Was there a reason not to use the RFC 8174 boilerplate in the “Requirements” section? (I thought you had intended to do so.)
SRD> Yes, this slipped through the cracks.  Change made.
>
> §1:
> - first paragraph: There were some editorial fixes that I thought were agreed that did not appear in the new version:
> s/“protect the stability”/“ensure the stability”
SRD> Change made
> s/“subjected with”/“subjected to”
SRD> Change made
> (new comment): In the new last sentence, is there a reason for the all-caps? That’s normally reserved for normative keywords.
SRD> I don't remember.  I've changed it to all lower.
>
> §4:
> - first paragraph: Please consider active voice in the last sentence,
SRD> Old text:

   This document defines the rate abatement algorithm (referred to as
   rate in this document) feature.  Support for the rate feature by a
   DOIC node will be indicated by a new value of the OC-Feature-Vector
   AVP, as described in Section 6.1.1, per the rules defined in
   [RFC7683].

New Text:

   This document defines the rate abatement algorithm (referred to as
   rate in this document) feature.  A DOIC node indicates support for the
   rate feature by indicating a new value of the OC-Feature-Vector
   AVP, as described in Section 6.1.1, per the rules defined in
   [RFC7683].
>
> §5.1:
> - New 5th paragraph:
> s/entery/entry
SRD> Change made.
>
> §7.1, 2nd paragraph: “ signal one another support for rate-based overload
>   control”: This seems awkward; are there missing words? Perhaps there should be something like “their” or “that they” between “another” and “support”?
SRD> Changed from:

   Following the procedures defined in [RFC7683], the reacting node and
   reporting node signal one another support for rate-based overload
   control.

To:

   Following the procedures defined in [RFC7683], the reacting node and
   reporting node signal their support for rate-based overload
   control.
>
> §7.2, last two paragraphs: The MUSTs do not seem necessary. 2119 keywords should be used when there is some sort of choice or room for error. You don’t need them to define the basic operation of the protocol.
SRD> I'm okay with removing the MUSTs.  Here the proposed change:

Old:

   Upon detection of overload, and the determination to invoke overload
   controls, the reporting node MUST follow the specifications in
   [RFC7683] to notify its clients of the allocated target maximum
   Diameter request rate and to notify them that the rate overload
   abatement is in effect.

   The reporting node MUST use the OC-Maximum-Rate AVP defined in this
   specification to communicate a target maximum Diameter request rate
   to each of its clients.

New:

   Upon detection of overload, and the determination to invoke overload
   controls, the reporting node follows the specifications in
   [RFC7683] to notify its clients of the allocated target maximum
   Diameter request rate and to notify them that the rate overload
   abatement is in effect.

   The reporting node uses the OC-Maximum-Rate AVP defined in this
   specification to communicate a target maximum Diameter request rate
   to each of its clients.
>
> §7.3.1: I found the text hard to follow. It would help to declare all the identifiers and initialization up front, and to present things in more of a stepwise fashion.
>
> - T is effectively a time interval, right? It would help to say that, especially later when you subtract a different time interval from it.
SRD> I'll leave this for Eric to handle.
>
> - paragraph 9: Should “admit” be “emit”?
>
> - the example code has several mentions of SIP requests.
SRD> These have been changed to Diameter requests
>
> §7.3.2:
>
> - “ Request candidates for reduction, requests not subject to reduction (except under extenuating circumstances when there aren’t any messages in the first category that can be reduced).”:
>
> That seems like an awkward way to say that the second category is the set of requests that is only subject to reduction if there are no messages left in the first category.
>
> - “ This can be generalized to n priorities using n thresholds for n>2 in the obvious way.”: I suggest you refrain from calling it “obvious”.
>
> §7.3.3: Paragraph starting with “ Then (only) if the arrival is admitted, increase the bucket by an amount…”: I think you increase the bucket _count_, right?
SRD> I'll leave these for Eric to handle.
>
>
>> On Sep 10, 2018, at 3:44 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> I've posted a new version of the rate draft.
>>
>> I've attached the diff file.
>>
>> Regards,
>>
>> Steve
>> <Diff  draft-ietf-dime-doic-rate-control-08.txt - draft-ietf-dime-doic-rate-control-09.txt.html>_______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime


--------------FC6854CEE51B75D620B308B8
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Times New Roman, Times, serif">I've dealt with the
      majority of the remaining issues in this email.<br>
      <br>
      There are a few questions that deal with section 7 that I have
      left for Eric to address.<br>
      <br>
      Steve<br>
    </font><br>
    <div class="moz-cite-prefix">On 9/15/18 6:56 PM, Ben Campbell wrote:<br>
    </div>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">Hi, thanks for posting the update; I think it is making progress. However,  I still have some comments I would like to address before IETF LC:

Thanks!

Ben.

Substantive Comments:

- General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:

The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.

As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.

This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.
</pre>
    </blockquote>
    SRD&gt; See previous email.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">
§5.1:

- The text is still not clear when a reporting node must send the first OLR. I understand that the choice of when to set a rate limit is local policy, but some of the text in this section suggests to me that you expect a reporting node to send an OLR immediately when it selects the rate algorithm for a specific reacting node.

For example, paragraph 6 says:

"A reporting node that has selected the rate overload abatement algorithm MUST indicate the rate requested to be applied by DOIC reacting nodes in the OC-Maximum-Rate AVP included in the OC-OLR AVP."</pre>
    </blockquote>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

This needs to talk about _when_ it must do that. Without some comment, it seems like it means “when it selects the algorithm” (i.e. “when you indicate support” ). That seems to conflict with the idea of this being local policy.</pre>
    </blockquote>
    SRD&gt; Well, it must indicate the rate anytime an OLR is sent.  The
    when is specified in RFC7683, Section 5.2.3.  Here's part of that
    section (paragraph 1) included to hopefully illustrate that no
    additional wording is needed in the rate draft:<br>
    <br>
       If there is an active OCS entry, then a reporting node SHOULD
    include<br>
       the OC-OLR AVP in all answers to requests that contain the<br>
       OC-Supported-Features AVP and that match the active OCS entry.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

- new 5th paragraph: Why SHOULD instead of MUST? Is there a situation where you have an OCS but no allocated rate? (e.g. you’ve selected the rate algorithm for the reacting node, but have not send an OLR?)</pre>
    </blockquote>
    SRD&gt; There is a possible implementation that assumes the rate for
    each reacting node is calculated by dividing the number of active
    nodes by the maximum rate.  With this implementation the OCS would
    not require storing the rate.  I did see an error in that paragraph,
    and as such, I've changed that paragraph to the following:<br>
    <br>
    The rate OCS entery SHOULD include the rate allocated to the
    reacting note.<br>
    <br>
    Old text:<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
       The rate OCS entery SHOULD include the rate allocated to each
    reacting note.<br>
    <br>
    New text:<br>
    <br>
       The rate OCS entery SHOULD include the rate allocated to the
    reacting note.<br>
    <br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§5.4, paragraph 1:

Discussion indicated that the intent of this paragraph was the reacting node keeps OCS for each server than indicated support for the rate algorithm. But I don’t see text that says when the reacting note needs to actually create the state entry. I think the answer is “immediately when a reporting node indicates support”, right?</pre>
    </blockquote>
    SRD&gt; This is covered by the following paragraph from RFC7683:<br>
    <br>
       If the received OLR is for a new overload condition, then a
    reacting<br>
       node MUST generate a new OCS entry for the overload condition.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§5.6, first two paragraphs:

I still think the text talking about using different algorithms needs to say something normative about the characteristics of those algorithms. Janet’s comments indicated the normative text is in §7.3.1. But that’s part of the algorithm that they MAY use, so it would not be constraining against other algorithm choices. Perhaps the 2nd paragraph should be normative?</pre>
    </blockquote>
    SRD&gt; How about the following change in paragraph 2:<br>
    <br>
    Old text:<br>
    <br>
          Note: Other algorithms for controlling the rate can be
    implemented<br>
          by the reacting node as long as they result in the correct
    rate of<br>
          traffic being sent to the reporting node.<br>
    <br>
    New text:<br>
    <br>
       Other algorithms for controlling the rate MAY be implemented<br>
       by the reacting node.  Any algorithm implemented MUST result <br>
       in the correct rate of traffic being sent to the reporting node.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.2: “ But the resulting request rate presented to the overloaded reporting node will converge towards the target Diameter request rate.”

Wasn’t there discussion to change this to “... the target Diameter request rate or a lower rate”?</pre>
    </blockquote>
    SRD&gt; Agreed, change made.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.3: "In situations where reacting nodes are configured with some knowledge
   about the reporting node (e.g., operator pre-provisioning), it can be
   beneficial to choose a value of TAU based on how many reacting nodes
   will be sending requests to the reporting node.”

I previously commented that this requires knowledge of other traffic sources, not just the reporting node. I did not see a response.</pre>
    </blockquote>
    SRD&gt; I don't understand the issue.  I'm hoping Eric can comment
    or you can clarify.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

Editorial Comments:

[I note a number of editorial comments that fell into the “made changes unless indicated otherwise” category did not seem to get changed. I included those here again.]</pre>
    </blockquote>
    SRD&gt; My apologies if I missed these in the last refresh.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

- There are still things reported by IDNits that need checking. Some are obviously noise, but some appear to be real. (Line length, references in abstract, and references to RFC 5226)</pre>
    </blockquote>
    SRD&gt; There were no issues reported by IDNits when I submitted the
    document.  Is there a different IDnits check than the one used when
    submitting drafts?<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

- Was there a reason not to use the RFC 8174 boilerplate in the “Requirements” section? (I thought you had intended to do so.)</pre>
    </blockquote>
    SRD&gt; Yes, this slipped through the cracks.  Change made.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§1:
- first paragraph: There were some editorial fixes that I thought were agreed that did not appear in the new version:
s/“protect the stability”/“ensure the stability”</pre>
    </blockquote>
    SRD&gt; Change made<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">
s/“subjected with”/“subjected to”</pre>
    </blockquote>
    SRD&gt; Change made<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">
(new comment): In the new last sentence, is there a reason for the all-caps? That’s normally reserved for normative keywords.</pre>
    </blockquote>
    SRD&gt; I don't remember.  I've changed it to all lower.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§4:
- first paragraph: Please consider active voice in the last sentence,</pre>
    </blockquote>
    SRD&gt; Old text:<br>
    <br>
       This document defines the rate abatement algorithm (referred to
    as<br>
       rate in this document) feature.  Support for the rate feature by
    a<br>
       DOIC node will be indicated by a new value of the
    OC-Feature-Vector<br>
       AVP, as described in Section 6.1.1, per the rules defined in<br>
       [RFC7683].<br>
    <br>
    New Text:<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
       This document defines the rate abatement algorithm (referred to
    as<br>
       rate in this document) feature.  A DOIC node indicates support
    for the<br>
       rate feature by indicating a new value of the OC-Feature-Vector<br>
       AVP, as described in Section 6.1.1, per the rules defined in<br>
       [RFC7683].<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§5.1:
- New 5th paragraph:
s/entery/entry</pre>
    </blockquote>
    SRD&gt; Change made.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.1, 2nd paragraph: “ signal one another support for rate-based overload
  control”: This seems awkward; are there missing words? Perhaps there should be something like “their” or “that they” between “another” and “support”?</pre>
    </blockquote>
    SRD&gt; Changed from:<br>
    <br>
       Following the procedures defined in [RFC7683], the reacting node
    and<br>
       reporting node signal one another support for rate-based overload<br>
       control.<br>
    <br>
    To:<br>
    <br>
       Following the procedures defined in [RFC7683], the reacting node
    and<br>
       reporting node signal their support for rate-based overload<br>
       control.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.2, last two paragraphs: The MUSTs do not seem necessary. 2119 keywords should be used when there is some sort of choice or room for error. You don’t need them to define the basic operation of the protocol.</pre>
    </blockquote>
    SRD&gt; I'm okay with removing the MUSTs.  Here the proposed change:<br>
    <br>
    Old:<br>
    <br>
       Upon detection of overload, and the determination to invoke
    overload<br>
       controls, the reporting node MUST follow the specifications in<br>
       [RFC7683] to notify its clients of the allocated target maximum<br>
       Diameter request rate and to notify them that the rate overload<br>
       abatement is in effect.<br>
    <br>
       The reporting node MUST use the OC-Maximum-Rate AVP defined in
    this<br>
       specification to communicate a target maximum Diameter request
    rate<br>
       to each of its clients.<br>
    <br>
    New:<br>
    <br>
       Upon detection of overload, and the determination to invoke
    overload<br>
       controls, the reporting node follows the specifications in<br>
       [RFC7683] to notify its clients of the allocated target maximum<br>
       Diameter request rate and to notify them that the rate overload<br>
       abatement is in effect.<br>
    <br>
       The reporting node uses the OC-Maximum-Rate AVP defined in this<br>
       specification to communicate a target maximum Diameter request
    rate<br>
       to each of its clients.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.3.1: I found the text hard to follow. It would help to declare all the identifiers and initialization up front, and to present things in more of a stepwise fashion.

- T is effectively a time interval, right? It would help to say that, especially later when you subtract a different time interval from it.</pre>
    </blockquote>
    SRD&gt; I'll leave this for Eric to handle.<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

- paragraph 9: Should “admit” be “emit”?

- the example code has several mentions of SIP requests.</pre>
    </blockquote>
    SRD&gt; These have been changed to Diameter requests<br>
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">

§7.3.2:

- “ Request candidates for reduction, requests not subject to reduction (except under extenuating circumstances when there aren’t any messages in the first category that can be reduced).”:

That seems like an awkward way to say that the second category is the set of requests that is only subject to reduction if there are no messages left in the first category.

- “ This can be generalized to n priorities using n thresholds for n&gt;2 in the obvious way.”: I suggest you refrain from calling it “obvious”.

§7.3.3: Paragraph starting with “ Then (only) if the arrival is admitted, increase the bucket by an amount…”: I think you increase the bucket _count_, right?</pre>
    </blockquote>
    SRD&gt; I'll leave these for Eric to handle.
    <blockquote
      cite="mid:6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com"
      type="cite">
      <pre wrap="">


</pre>
      <blockquote type="cite">
        <pre wrap="">On Sep 10, 2018, at 3:44 PM, Steve Donovan <a class="moz-txt-link-rfc2396E" href="mailto:srdonovan@usdonovans.com">&lt;srdonovan@usdonovans.com&gt;</a> wrote:

I've posted a new version of the rate draft.

I've attached the diff file.

Regards,

Steve
&lt;Diff  draft-ietf-dime-doic-rate-control-08.txt - draft-ietf-dime-doic-rate-control-09.txt.html&gt;_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
      </blockquote>
      <pre wrap="">
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
DiME mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DiME@ietf.org">DiME@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/dime">https://www.ietf.org/mailman/listinfo/dime</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------FC6854CEE51B75D620B308B8--


From nobody Fri Sep 21 10:01:27 2018
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8B9F130F16 for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 10:01:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.119
X-Spam-Level: 
X-Spam-Status: No, score=-1.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EqW1-1oiIVVc for <dime@ietfa.amsl.com>; Fri, 21 Sep 2018 10:01:15 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82347130E9F for <dime@ietf.org>; Fri, 21 Sep 2018 10:01:15 -0700 (PDT)
Received: from [97.99.50.102] (port=50964 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <srdonovan@usdonovans.com>) id 1g3Ong-002BSJ-29; Fri, 21 Sep 2018 10:01:14 -0700
To: Ben Campbell <ben@nostrum.com>
References: <a7a5c833-427c-acd4-1502-675ce3c1bbac@usdonovans.com> <6725C490-0449-45BE-BF74-0B937D72CD96@nostrum.com> <2923159ae5604bc195c0bd6c644ecd75@CSRBTC1EXM029.corp.csra.com> <16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com> <77cf227c-4feb-9617-0c61-f57148fa47f9@usdonovans.com> <AC3A6F0C-A162-4BFB-9FD7-D3811167D8D5@nostrum.com>
Cc: "Gunn, Janet P (NONUS)" <janet.gunn@gdit.com>, "dime@ietf.org" <dime@ietf.org>, Eric Noel <ecnoel@research.att.com>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <b06a3ad3-4e11-6eb6-b144-5822ea2f6d6c@usdonovans.com>
Date: Fri, 21 Sep 2018 12:02:20 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <AC3A6F0C-A162-4BFB-9FD7-D3811167D8D5@nostrum.com>
Content-Type: multipart/alternative; boundary="------------603017D8DA0100185E2A24E4"
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/zs4IBugYnZPkWsC3MoagiPrxtfY>
Subject: Re: [Dime] New version of DOIC rate draft
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 Sep 2018 17:01:25 -0000

This is a multi-part message in MIME format.
--------------603017D8DA0100185E2A24E4
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit



On 9/21/18 11:06 AM, Ben Campbell wrote:
>
>
>> On Sep 21, 2018, at 11:02 AM, Steve Donovan <srdonovan@usdonovans.com
>> <mailto:srdonovan@usdonovans.com>> wrote:
>>
>> Thanks for the continued review.  I'll deal with the first issue in
>> this email.  I'll handle the remaining issues in (a) separate email(s).
>>
>> For the first issue, I propose the following changes:
>>
>> I propose adding the following wording between the 6th and 7th
>> paragraph of the introduction section:
>>
>> "It should be noted that one of the implications of the rate based
>> algorithm is that the reporting node needs to determine how it wants
>> to distribute it's load over the set of reacting nodes from which it
>> is receiving traffic.  For instance, if the reporting node is
>> receiving Diameter traffic from 10 reacting nodes and has a capacity
>> of 100 transactions per second then the reporting node could choose
>> to set the rate for each of the reacting nodes to 10 transactions per
>> second.  This, of course, is assuming that each of the reacting nodes
>> has equal performance characteristics.  The reporting node could also
>> choose to have a high capacity reacting node send 55 transactions per
>> second and the remaining 9 low capacity reacting nodes send 5
>> transactions per second.  The ability of the reporting node to
>> specify the amount of traffic on a per reacting node basis implies
>> that the reporting node must maintain state for each of the reacting
>> nodes.  This state includes the current allocation of Diameter
>> traffic to that reacting node.  If the number of reacting node
>> changes, either because new nodes are added, nodes are removed from
>> service or nodes fail, then the reporting node will need to
>> redistribute the maximum Diameter transactions over the new set of
>> reacting nodes.”
>
> Thats exactly what I had in mind, thanks!
>
>>
>> I also propose the following wording added at the end of section 5.3.
>> Reporting Node Maintenance of Overload Control State
>>
>> " A reporting node that receives a capability announcement from a new
>> reacting node, meaning a reacting node for which it does not have an
>> OCS entry, and the reporting node chooses the rate algorithm for that
>> reacting node SHOULD recalculate the rate to be allocated to all
>> reacting nodes.  Any changed rate values will be communicated in the
>> next OLR sent to each reacting node.”
>
> I will leave it to you to decide, but I don’t know that the SHOULD is
> necessary. We could treat this as a statement of fact of which people
> need to be aware. (“may need to” or “needs to”).
I like this suggestion.  I'll change it to may need to.
>
>>
>> Steve
>>  
>> On 9/16/18 12:44 AM, Ben Campbell wrote:
>>>> On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) <janet.gunn@gdit.com> wrote:
>>>>
>>>> Just addressing the first point- deleted the rest
>>>>
>>>> -----Original Message-----
>>>> From: DiME <dime-bounces@ietf.org> On Behalf Of Ben Campbell
>>>> Sent: Saturday, September 15, 2018 7:57 PM
>>>> To: draft-ietf-dime-doic-rate-control.all@ietf.org
>>>> Cc: dime@ietf.org
>>>> Subject: Re: [Dime] New version of DOIC rate draft
>>>>
>>>> Substantive Comments:
>>>>
>>>> - General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:
>>>>
>>>> The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.
>>>>
>>>> As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.
>>>>
>>>> This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.
>>>>
>>>> <JPG> I am not sure if it is as fundamental a difference  as you think. (in both cases assuming each node has a relatively stable  load.)
>>>> If there are 10 active reacting nodes, it asks each node to reduce its traffic to  (say) 50%.
>>>> If 10 more nodes become active, it will need to ask each node to reduce its traffic to 25%
>>>> If some of those nodes go offline, or reduce their traffic, it will increase the (percentage) allocation to each remaining node.
>>>>
>>>> The "fundamental" difference is when each node has a fluctuating, unstable, load.
>>>> Under "load" a node which currently has a small load needs to cut its traffic by the SAME percentage as the node which currently has a large load.
>>>> Under "rate" a node which currently has a small load does NOT need to cut its load while the node which currently has a large load DOES need to cut its load.</JPG>
>>>>
>>> Hi,
>>>
>>> There can be more than one fundamental difference :-)
>>>
>>> I wasn’t talking about how clients behave, I was talking about how the server expresses it’s intention. If a server wants to reduce the current load by half using the loss algorithm, it doesn’t need to know how many clients there are. Of course, it may have to keep adjusting the percentage if the offered load is not stable. OTOH, If it wants to reduce the load to a specific rate using the rate algorithm, it does need to know many clients there are.
>>>
>>>  I’m not saying this is a flaw in any way. I agree that in many cases an absolute TPS value may be more useful than a relative value. I’m just saying the draft should talk about it.
>>>
>>> Thanks,
>>>
>>> Ben.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>


--------------603017D8DA0100185E2A24E4
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 9/21/18 11:06 AM, Ben Campbell
      wrote:<br>
    </div>
    <blockquote
      cite="mid:AC3A6F0C-A162-4BFB-9FD7-D3811167D8D5@nostrum.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <br class="">
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">On Sep 21, 2018, at 11:02 AM, Steve Donovan &lt;<a
              moz-do-not-send="true"
              href="mailto:srdonovan@usdonovans.com" class="">srdonovan@usdonovans.com</a>&gt;
            wrote:</div>
          <br class="Apple-interchange-newline">
          <div class="">
            <meta content="text/html; charset=utf-8"
              http-equiv="Content-Type" class="">
            <div bgcolor="#FFFFFF" text="#000000" class=""> <font
                class="" face="Times New Roman, Times, serif">Thanks for
                the continued review.  I'll deal with the first issue in
                this email.  I'll handle the remaining issues in (a)
                separate email(s).<br class="">
                <br class="">
                For the first issue, I propose the following changes:<br
                  class="">
                <br class="">
                I propose adding the following wording between the 6th
                and 7th paragraph of the introduction section:<br
                  class="">
                <br class="">
                "It should be noted that one of the implications of the
                rate based algorithm is that the reporting node needs to
                determine how it wants to distribute it's load over the
                set of reacting nodes from which it is receiving
                traffic.  For instance, if the reporting node is
                receiving Diameter traffic from 10 reacting nodes and
                has a capacity of 100 transactions per second then the
                reporting node could choose to set the rate for each of
                the reacting nodes to 10 transactions per second.  This,
                of course, is assuming that each of the reacting nodes
                has equal performance characteristics.  The reporting
                node could also choose to have a high capacity reacting
                node send 55 transactions per second and the remaining 9
                low capacity reacting nodes send 5 transactions per
                second.  The ability of the reporting node to specify
                the amount of traffic on a per reacting node basis
                implies that the reporting node must maintain state for
                each of the reacting nodes.  This state includes the
                current allocation of Diameter traffic to that reacting
                node.  If the number of reacting node changes, either
                because new nodes are added, nodes are removed from
                service or nodes fail, then the reporting node will need
                to redistribute the maximum Diameter transactions over
                the new set of reacting nodes.”</font></div>
          </div>
        </blockquote>
        <div><br class="">
        </div>
        <div>Thats exactly what I had in mind, thanks!</div>
        <br class="">
        <blockquote type="cite" class="">
          <div class="">
            <div bgcolor="#FFFFFF" text="#000000" class=""><font
                class="" face="Times New Roman, Times, serif"> <br
                  class="">
                I also propose the following wording added at the end of
                section 5.3. Reporting Node Maintenance of Overload
                Control State<br class="">
                <br class="">
                " A reporting node that receives a capability
                announcement from a new reacting node, meaning a
                reacting node for which it does not have an OCS entry,
                and the reporting node chooses the rate algorithm for
                that reacting node SHOULD recalculate the rate to be
                allocated to all reacting nodes.  Any changed rate
                values will be communicated in the next OLR sent to each
                reacting node.”</font></div>
          </div>
        </blockquote>
        <div><br class="">
        </div>
        <div>I will leave it to you to decide, but I don’t know that the
          SHOULD is necessary. We could treat this as a statement of
          fact of which people need to be aware. (“may need to” or
          “needs to”). <br>
        </div>
      </div>
    </blockquote>
    I like this suggestion.  I'll change it to may need to.<br>
    <blockquote
      cite="mid:AC3A6F0C-A162-4BFB-9FD7-D3811167D8D5@nostrum.com"
      type="cite">
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">
            <div bgcolor="#FFFFFF" text="#000000" class=""><font
                class="" face="Times New Roman, Times, serif"> <br
                  class="">
                Steve<br class="">
              </font><font class="" face="Times New Roman, Times, serif">
                <meta http-equiv="content-type" content="text/html;
                  charset=utf-8" class="">
                 </font>
              <div class="moz-cite-prefix">On 9/16/18 12:44 AM, Ben
                Campbell wrote:<br class="">
              </div>
              <blockquote
                cite="mid:16FE21DA-469E-4923-B95F-2D72FD423364@nostrum.com"
                type="cite" class="">
                <blockquote type="cite" class="">
                  <pre class="" wrap="">On Sep 15, 2018, at 8:31 PM, Gunn, Janet P (NONUS) <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:janet.gunn@gdit.com">&lt;janet.gunn@gdit.com&gt;</a> wrote:

Just addressing the first point- deleted the rest

-----Original Message-----
From: DiME <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:dime-bounces@ietf.org">&lt;dime-bounces@ietf.org&gt;</a> On Behalf Of Ben Campbell
Sent: Saturday, September 15, 2018 7:57 PM
To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:draft-ietf-dime-doic-rate-control.all@ietf.org">draft-ietf-dime-doic-rate-control.all@ietf.org</a>
Cc: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:dime@ietf.org">dime@ietf.org</a>
Subject: Re: [Dime] New version of DOIC rate draft

Substantive Comments:

- General: I still think more discussion is needed about allocating rate to multiple input sources. I get that the actual allocation is a matter of local policy, but there’s still implications that need discussion. I’m not sure I got my concern across in previous discussion, so here’s another attempt:

The issue I think needs elaboration on is how the offered load varies with the number of sources times the (average) rate per each source. That is, if the number of sources changes, the reacting node may need to change the rate limits assigned to each existing source.

As a hypothetical example, lets assume a reporting node wants to limit its entire offered load to 1000 tps. Further assume it has 10 active reacting nodes (all supporting the rate algorithm). Local policy is to allocate the rate limit equally across sources. So it sends an OLR to each of those clients to give it a rate limit of 100 tps. Now, if another 10 reacting nodes become active, it needs to reallocate the load across all 20, giving each a limit of 50 tps. Now, if some of those reacting nodes go off-line, or simply reduce their activity beneath the limit for an extended period of time, the reporting node may need to increase the allocation to the remaining nodes.

This is a fairly fundamental difference between rate and load; rate uses absolute numbers while load uses percentages.

&lt;JPG&gt; I am not sure if it is as fundamental a difference  as you think. (in both cases assuming each node has a relatively stable  load.)
If there are 10 active reacting nodes, it asks each node to reduce its traffic to  (say) 50%.
If 10 more nodes become active, it will need to ask each node to reduce its traffic to 25%
If some of those nodes go offline, or reduce their traffic, it will increase the (percentage) allocation to each remaining node.

The "fundamental" difference is when each node has a fluctuating, unstable, load.
Under "load" a node which currently has a small load needs to cut its traffic by the SAME percentage as the node which currently has a large load.
Under "rate" a node which currently has a small load does NOT need to cut its load while the node which currently has a large load DOES need to cut its load.&lt;/JPG&gt;

</pre>
                </blockquote>
                <pre class="" wrap="">Hi,

There can be more than one fundamental difference :-)

I wasn’t talking about how clients behave, I was talking about how the server expresses it’s intention. If a server wants to reduce the current load by half using the loss algorithm, it doesn’t need to know how many clients there are. Of course, it may have to keep adjusting the percentage if the offered load is not stable. OTOH, If it wants to reduce the load to a specific rate using the rate algorithm, it does need to know many clients there are.

 I’m not saying this is a flaw in any way. I agree that in many cases an absolute TPS value may be more useful than a relative value. I’m just saying the draft should talk about it.

Thanks,

Ben.






</pre>
              </blockquote>
              <br class="">
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
    </blockquote>
    <br>
  </body>
</html>

--------------603017D8DA0100185E2A24E4--

