From rps-admin@ietf.org  Sun Nov  2 04:56:51 2003
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged))
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA11961
	for <rps-archive@lists.ietf.org>; Sun, 2 Nov 2003 04:56:51 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGExm-0004RX-C0; Sun, 02 Nov 2003 04:56:02 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGExh-0004RK-4v
	for rps@optimus.ietf.org; Sun, 02 Nov 2003 04:55:57 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA11938
	for <rps@ietf.org>; Sun, 2 Nov 2003 04:55:45 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1AGExd-0004Ve-00
	for rps@ietf.org; Sun, 02 Nov 2003 04:55:53 -0500
Received: from h81172150029.kund.kommunicera.umea.se ([81.172.150.29] helo=81.172.150.29)
	by ietf-mx with smtp (Exim 4.12)
	id 1AGExc-0004Va-00
	for rps@ietf.org; Sun, 02 Nov 2003 04:55:52 -0500
From: 240271@earthlink.net
X-Mailer: Microsoft CDO for Windows 2000
Reply-To: 240271@excite.com
Organization: 1863229475
X-Priority: 3 (Normal)
To: rps@ietf.org
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-Id: <E1AGExc-0004Va-00@ietf-mx>
Content-Transfer-Encoding: 8bit
Subject: [Rps] The 30 Hour Wonder!             319302826
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: Sun, 02 Nov 2003 03:54:05 -0600
Content-Transfer-Encoding: 8bit

Cyalus comes in smaller doses and produces fewer side effects. 
Cyalus also works much faster than Sildenafil-based medications. 
In clinical trials, the majority of men who took the drug were able to 
engage in sexual intercourse within 30 minutes or less. 
The studies also indicated that Cyalus stays in the system 
for up to 30 hours. That's 26 hours longer than the traditional 
Sildenafil-based medications treatment. 

Test results showed that out of 700 participants at least 88 percent of men experienced improvement with their erections. 

More info http://www.hostvy.com/


















            
276EECE1-75E942D9-1B7838CD-207495F0-3579D2F4
              
36BD6BA1-725B53C-533A51B5-73955BB3-33BDDA7A
     
2A859BCA-7E222A37-508DB3DC-4FFC2B68-2B349CCB
                



_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps


From exim@www1.ietf.org  Sun Nov  2 04:56:54 2003
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged))
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA11976
	for <rps-archive@odin.ietf.org>; Sun, 2 Nov 2003 04:56:54 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGEyI-0004TI-Fm
	for rps-archive@odin.ietf.org; Sun, 02 Nov 2003 04:56:35 -0500
Received: (from exim@localhost)
	by www1.ietf.org (8.12.8/8.12.8/Submit) id hA29uYaC017188
	for rps-archive@odin.ietf.org; Sun, 2 Nov 2003 04:56:34 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGEyH-0004T9-Qo
	for rps-web-archive@optimus.ietf.org; Sun, 02 Nov 2003 04:56:33 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA11945
	for <rps-web-archive@ietf.org>; Sun, 2 Nov 2003 04:56:22 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1AGEyE-0004Vv-00
	for rps-web-archive@ietf.org; Sun, 02 Nov 2003 04:56:30 -0500
Received: from ietf.org ([132.151.1.19] helo=optimus.ietf.org)
	by ietf-mx with esmtp (Exim 4.12)
	id 1AGEyD-0004Vr-00
	for rps-web-archive@ietf.org; Sun, 02 Nov 2003 04:56:29 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGExm-0004RX-C0; Sun, 02 Nov 2003 04:56:02 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1AGExh-0004RK-4v
	for rps@optimus.ietf.org; Sun, 02 Nov 2003 04:55:57 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA11938
	for <rps@ietf.org>; Sun, 2 Nov 2003 04:55:45 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1AGExd-0004Ve-00
	for rps@ietf.org; Sun, 02 Nov 2003 04:55:53 -0500
Received: from h81172150029.kund.kommunicera.umea.se ([81.172.150.29] helo=81.172.150.29)
	by ietf-mx with smtp (Exim 4.12)
	id 1AGExc-0004Va-00
	for rps@ietf.org; Sun, 02 Nov 2003 04:55:52 -0500
From: 240271@earthlink.net
X-Mailer: Microsoft CDO for Windows 2000
Reply-To: 240271@excite.com
Organization: 1863229475
X-Priority: 3 (Normal)
To: rps@ietf.org
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-Id: <E1AGExc-0004Va-00@ietf-mx>
Content-Transfer-Encoding: 8bit
Subject: [Rps] The 30 Hour Wonder!             319302826
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: Sun, 02 Nov 2003 03:54:05 -0600
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit

Cyalus comes in smaller doses and produces fewer side effects. 
Cyalus also works much faster than Sildenafil-based medications. 
In clinical trials, the majority of men who took the drug were able to 
engage in sexual intercourse within 30 minutes or less. 
The studies also indicated that Cyalus stays in the system 
for up to 30 hours. That's 26 hours longer than the traditional 
Sildenafil-based medications treatment. 

Test results showed that out of 700 participants at least 88 percent of men experienced improvement with their erections. 

More info http://www.hostvy.com/


















            
276EECE1-75E942D9-1B7838CD-207495F0-3579D2F4
              
36BD6BA1-725B53C-533A51B5-73955BB3-33BDDA7A
     
2A859BCA-7E222A37-508DB3DC-4FFC2B68-2B349CCB
                



_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps



From rps-admin@ietf.org  Fri Nov 21 10:37:35 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA18094
	for <rps-archive@lists.ietf.org>; Fri, 21 Nov 2003 10:37:35 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDLA-0005mJ-HK; Fri, 21 Nov 2003 10:37:00 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDGb-0005dD-20
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 10:32:17 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA17920
	for <rps@ietf.org>; Fri, 21 Nov 2003 10:32:02 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDGY-0003l8-00
	for rps@ietf.org; Fri, 21 Nov 2003 10:32:14 -0500
Received: from dhcp62-10.merit.edu ([198.108.62.240] helo=bliss.merit.edu)
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDGW-0003l0-00
	for rps@ietf.org; Fri, 21 Nov 2003 10:32:13 -0500
Received: from bliss.merit.edu (localhost [127.0.0.1])
	by bliss.merit.edu (8.12.10/8.12.10) with ESMTP id hALFW6ej000809;
	Fri, 21 Nov 2003 10:32:06 -0500
Received: (from ljb@localhost)
	by bliss.merit.edu (8.12.10/8.12.10/Submit) id hAL6M54R001134;
	Fri, 21 Nov 2003 01:22:05 -0500
X-Authentication-Warning: bliss.merit.edu: ljb set sender to ljb@merit.edu using -f
From: "Larry J. Blunk" <ljb@merit.edu>
Reply-To: ljb@merit.edu
To: Pekka Savola <pekkas@netcore.fi>
Cc: curtis@fictitious.org, rpslng@ripe.net, rps@ietf.org
In-Reply-To: <Pine.LNX.4.44.0309181408040.17750-100000@netcore.fi>
References: <Pine.LNX.4.44.0309181408040.17750-100000@netcore.fi>
Content-Type: multipart/mixed; boundary="=-hBt6deZdbzKC595yVR/x"
Organization: Merit Network, Inc.
Message-Id: <1069395724.1063.12.camel@localhost>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 
Subject: [Rps] Latest RPSLng draft
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: Fri, 21 Nov 2003 01:22:05 -0500


--=-hBt6deZdbzKC595yVR/x
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

   I've attached the latest draft of the RPSLng spec.  I've left the
afi definition section as it was previously as I don't think there
was consensus to change the meaning of ipv4 and ipv6 to include
both unicast and multicast.   Please let me know if there are any
strong feelings about this.   One option could be to add ipv4.any
and ipv6.any types as a shorthand for ipv4.unicast,ipv4.multicast and
ipv6.unicast,ipv6.multicast.  However, I'm not sure if this doesn't
actually make things worse by creating more clutter in the spec.


   I've reduced the encapsulation types for the tunnel option in
the interface: attribute to just GRE and IPinIP.  IPinIP was
deemed sufficient since you already know the address types
of the encapsulating end-points.  DVMRP was dropped since the
protocol/encapsulation method seems to be deprecated at this point.
Should we add other encapsulation methods to this attribute?  For
example, LT2P, PPTP, or IPSec?   Would it be useful to have an
afi specification to indentify/restrict the address family types
carried across the tunnel?

 -Larry Blunk
  Merit


--=-hBt6deZdbzKC595yVR/x
Content-Disposition: attachment; filename=rpslng.txt
Content-Type: text/plain; name=rpslng.txt; charset=
Content-Transfer-Encoding: base64

DQoNCk5ldHdvcmsgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMLiBCbHVuaw0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNZXJpdCBOZXR3b3JrDQpVcGRhdGVzOiAyMjYyLCAyNzI1
IChpZiBhcHByb3ZlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSi4gRGFtYXMNCkV4
cGlyZXM6IE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuZXQgU29mdHdh
cmUgQ29uc29ydGl1bQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRi4gUGFyZW50DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlhZ2VuaWUNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBLiBSb2Jh
Y2hldnNreQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJJUEUgTkNDDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAsIDIwMDMNCg0KDQogICAgIFJvdXRp
bmcgUG9saWN5IFNwZWNpZmljYXRpb24gTGFuZ3VhZ2UgbmV4dCBnZW5lcmF0aW9uIChSUFNMbmcp
DQogICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0LWJsdW5rLXJwc2xuZy0wMi50eHQNCg0KU3Rh
dHVzIG9mIHRoaXMgTWVtbw0KDQogICBUaGlzIGRvY3VtZW50IGlzIGFuIEludGVybmV0LURyYWZ0
IGFuZCBpcyBpbiBmdWxsIGNvbmZvcm1hbmNlIHdpdGgNCiAgIGFsbCBwcm92aXNpb25zIG9mIFNl
Y3Rpb24gMTAgb2YgUkZDMjAyNi4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRv
Y3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYp
LCBpdHMgYXJlYXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuIE5vdGUgdGhhdCBvdGhlcg0KICAg
Z3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQt
RHJhZnRzLg0KDQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBm
b3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFj
ZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiBJdCBp
cyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVmZXJlbmNlDQogICBt
YXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4i
DQoNCiAgIFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtRHJhZnRzIGNhbiBiZSBhY2Nlc3Nl
ZCBhdCBodHRwOi8vDQogICB3d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0K
ICAgVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBh
Y2Nlc3NlZCBhdA0KICAgaHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhp
cyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBNYXkgMjAsIDIwMDQuDQoNCkNvcHlyaWdo
dCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwMyku
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQoNCkFic3RyYWN0DQoNCiAgIFRoaXMgbWVtbyBwcmVzZW50
cyBhIG5ldyBzZXQgb2Ygc2ltcGxlIGV4dGVuc2lvbnMgdG8gdGhlIFJvdXRpbmcNCiAgIFBvbGlj
eSBTcGVjaWZpY2F0aW9uIExhbmd1YWdlIChSUFNMKSBbMV0gZW5hYmxpbmcgdGhlIGxhbmd1YWdl
IHRvDQogICBkb2N1bWVudCByb3V0aW5nIHBvbGljaWVzIGZvciB0aGUgSVB2NiBhbmQgbXVsdGlj
YXN0IGFkZHJlc3MgZmFtaWxpZXMNCiAgIGN1cnJlbnRseSB1c2VkIGluIHRoZSBJbnRlcm5ldC4N
Cg0KDQoNCg0KDQoNCkJsdW5rLCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIw
MDQgICAgICAgICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgUlBTTG5nICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KVGFi
bGUgb2YgQ29udGVudHMNCg0KICAgMS4gICAgSW50cm9kdWN0aW9uIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzDQogICAyLiAgICBTcGVjaWZ5aW5nIHJv
dXRpbmcgcG9saWN5IGZvciBkaWZmZXJlbnQgYWRkcmVzcyBmYW1pbGllcyAuIC4gIDQNCiAgIDIu
MSAgIEFtYmlndWl0eSBSZXNvbHV0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgNA0KICAgMi4yICAgVGhlIGFmaSBkaWN0aW9uYXJ5IGF0dHJpYnV0ZSAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAyLjMgICBSUFNMIGRpY3Rpb25hcnkgZXh0
ZW5zaW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUNCiAgIDIuNCAgIElQ
djYgUlBTTCB0eXBlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgNQ0KICAgMi41ICAgbXAtaW1wb3J0LCBtcC1leHBvcnQsIGFuZCBtcC1kZWZhdWx0IC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA1DQogICAyLjUuMSA8bXAtcGVlcmluZz4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDcNCiAgIDIuNS4yIDxtcC1maWx0
ZXI+ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNw0K
ICAgMi41LjMgUG9saWN5IGV4YW1wbGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICA3DQogICAzLiAgICByb3V0ZTYgQ2xhc3MgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkNCiAgIDQuICAgIFVwZGF0ZXMgdG8gZXhp
c3RpbmcgQ2xhc3NlcyB0byBzdXBwb3J0IHRoZSBleHRlbnNpb25zICAuIC4gLiAxMA0KICAgNC4x
ICAgYXMtc2V0IENsYXNzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIDEwDQogICA0LjIgICByb3V0ZS1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTANCiAgIDQuMyAgIGZpbHRlci1zZXQgQ2xhc3MgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgNC40ICAgcGVl
cmluZy1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IDExDQogICA0LjUgICBpbmV0LXJ0ciBDbGFzcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gMTENCiAgIDQuNiAgIHJ0ci1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxMg0KICAgNS4gICAgUkZDIDI3MjUg
ZXh0ZW5zaW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE0DQog
ICA1LjEgICBBdXRob3JpemF0aW9uIG1vZGVsIGZvciByb3V0ZTYgT2JqZWN0cyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gMTUNCiAgIDYuICAgIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNw0KICAgNy4gICAgQWNrbm93bGVkZ21lbnRz
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICAgICAg
ICBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gMTkNCiAgICAgICAgIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAyMA0KICAgICAgICAgQXV0aG9ycycgQWRkcmVzc2VzIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDIwDQogICAgICAgICBJbnRl
bGxlY3R1YWwgUHJvcGVydHkgYW5kIENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4g
MjENCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAg
W1BhZ2UgMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCjEuIEludHJvZHVjdGlvbg0KDQogICBS
RkMgMjYyMiBbMV0gZGVmaW5lcyB0aGUgUlBTTCBsYW5ndWFnZSBmb3IgdGhlIElQdjQgdW5pY2Fz
dCByb3V0aW5nDQogICBwcm90b2NvbHMgYW5kIGEgc2VyaWVzIG9mIGd1aWRlbGluZXMgZm9yIGV4
dGVuZGluZyB0aGUgUlBTTCBsYW5ndWFnZQ0KICAgaXRzZWxmLiAgQWRkaXRpb25hbGx5LCBzZWN1
cml0eSBleHRlbnNpb25zIHRvIHRoZSBSUFNMIGxhbmd1YWdlIGFyZQ0KICAgc3BlY2lmaWVkIGlu
IFJGQyAyNzI1IFsyXS4NCg0KICAgVGhpcyBkb2N1bWVudCBwcm9wb3NlcyB0byBleHRlbmQgUlBT
TCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZw0KICAgZ29hbHMgYW5kIHJlcXVpcmVtZW50czoN
Cg0KICAgbyAgUHJvdmlkZSBSUFNMIGV4dGVuc2liaWxpdHkgaW4gdGhlIGRpbWVuc2lvbiBvZiBh
ZGRyZXNzIGZhbWlsaWVzLg0KICAgICAgU3BlY2lmaWNhbGx5LCB0byBhbGxvdyB1c2VycyB0byBk
b2N1bWVudCByb3V0aW5nIHBvbGljeSBmb3IgSVB2Ng0KICAgICAgYW5kIG11bHRpY2FzdC4NCg0K
ICAgbyAgRXh0ZW5zaW9ucyBzaG91bGQgYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIG1pbmlt
YWwgaW1wYWN0IG9uDQogICAgICBleGlzdGluZyB0b29scyBhbmQgcHJvY2Vzc2VzLCBmb2xsb3dp
bmcgU2VjdGlvbiAxMCBvZiBSRkMgMjYyMiBbMV0NCiAgICAgIGZvciBndWlkZWxpbmVzIG9uIGV4
dGVuZGluZyBSUFNMLg0KDQogICBvICBNYWludGFpbiBjbGFyaXR5IGFuZCBub24tYW1iaWd1aXR5
OiBSUFNMIGluZm9ybWF0aW9uIGlzIHVzZWQgYnkNCiAgICAgIGh1bWFucyBpbiBhZGRpdGlvbiB0
byBzb2Z0d2FyZSB0b29scy4NCg0KICAgbyAgTWluaW1pemUgZHVwbGljYXRpb24gb2YgaW5mb3Jt
YXRpb24sIHBhcnRpY3VsYXJseSB3aGVuIHJvdXRpbmcNCiAgICAgIHBvbGljaWVzIGZvciBkaWZm
ZXJlbnQgYWRkcmVzcyBmYW1pbGllcyBhcmUgdGhlIHNhbWUuDQoNCiAgIFRoZSBhZGRpdGlvbiBv
ZiBJUHY2IGFuZCBtdWx0aWNhc3Qgc3VwcG9ydCB0byBSUFNMIGxlYWRzIHRvIGZvdXINCiAgIGRp
c3RpbmN0IHJvdXRpbmcgcG9saWNpZXMgdGhhdCBuZWVkIHRvIGJlIGRpc3Rpbmd1aXNoZWQgaW4g
dGhpcw0KICAgc3BlY2lmaWNhdGlvbiwgbmFtZWx5LCAoSVB2NCB7dW5pY2FzdHxtdWx0aWNhc3R9
LCBJUHY2DQogICB7dW5pY2FzdHxtdWx0aWNhc3R9KS4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMg
TWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAgW1BhZ2UgM10NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAw
Mw0KDQoNCjIuIFNwZWNpZnlpbmcgcm91dGluZyBwb2xpY3kgZm9yIGRpZmZlcmVudCBhZGRyZXNz
IGZhbWlsaWVzDQoNCiAgIFJvdXRpbmcgcG9saWN5IGlzIGN1cnJlbnRseSBzcGVjaWZpZWQgaW4g
dGhlIGF1dC1udW0gY2xhc3MgdXNpbmcNCiAgICJpbXBvcnQ6IiwgImV4cG9ydDoiLCBhbmQgImRl
ZmF1bHQ6IiBhdHRyaWJ1dGVzLiBTb21ldGltZXMgaXQgaXMNCiAgIGltcG9ydGFudCB0byBkaXN0
aW5ndWlzaCBwb2xpY3kgZm9yIGRpZmZlcmVudCBhZGRyZXNzIGZhbWlsaWVzLCBhcw0KICAgd2Vs
bCBhcyBhIHVuaWNhc3Qgcm91dGluZyBwb2xpY3kgZnJvbSBhIG11bHRpY2FzdCBvbmUuDQoNCiAg
IFdoaWxlIHRoZSBzeW50YXggb2YgdGhlIGV4aXN0aW5nIGltcG9ydCwgZXhwb3J0LCBhbmQgZGVm
YXVsdA0KICAgYXR0cmlidXRlcyBjb3VsZCBiZSBleHRlbmRlZCwgdGhpcyB3b3VsZCBwcmVzZW50
IGJhY2t3YXJkDQogICBjb21wYXRpYmlsaXR5IGlzc3VlcyBhbmQgY291bGQgdW5kZXJtaW5lIGNs
YXJpdHkgaW4gdGhlIGV4cHJlc3Npb25zLg0KDQogICBLZWVwaW5nIHRoaXMgaW4gbWluZCwgdGhl
ICJpbXBvcnQ6IiwgImV4cG9ydDoiLCBhbmQgImRlZmF1bHQ6Ig0KICAgYXR0cmlidXRlcyBpbXBs
aWNpdGx5IHNwZWNpZnkgSVB2NCB1bmljYXN0IHBvbGljeSBhbmQgcmVtYWluIGFzDQogICBkZWZp
bmVkIHByZXZpb3VzbHkgaW4gUlBTTCwgYW5kIG5ldyBtdWx0aS1wcm90b2NvbCAocHJlZml4ZWQg
d2l0aCB0aGUNCiAgIHN0cmluZyAibXAtIikgYXR0cmlidXRlcyBhcmUgaW50cm9kdWNlZC4gVGhl
c2UgbmV3ICJtcC0iIGF0dHJpYnV0ZXMNCiAgIHdpbGwgYmUgZGVzY3JpYmVkIGJlbG93Lg0KDQoy
LjEgQW1iaWd1aXR5IFJlc29sdXRpb24NCg0KICAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgc2Ft
ZSBwZWVyaW5nIGNhbiBiZSBjb3ZlcmVkIGJ5IG1vcmUgdGhhbiBvbmUNCiAgIG11bHRpLXByb3Rv
Y29sIHBvbGljeSBhdHRyaWJ1dGUgb3IgYnkgYSBjb21iaW5hdGlvbiBvZiBtdWx0aS1wcm90b2Nv
bA0KICAgcG9saWN5IGF0dHJpYnV0ZXMgKHdoZW4gc3BlY2lmeWluZyBJUHY0IHVuaWNhc3QgcG9s
aWN5KSBhbmQgdGhlDQogICBwcmV2aW91c2x5IGRlZmluZWQgSVB2NCB1bmljYXN0IHBvbGljeSBh
dHRyaWJ1dGVzLiAgSW4gdGhlc2UgY2FzZXMsDQogICBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGZv
bGxvdyB0aGUgc3BlY2lmaWNhdGlvbi1vcmRlciBydWxlIGFzIGRlZmluZWQNCiAgIGluIFNlY3Rp
b24gNi40IG9mIFJGQyAyNjIyIFsxXS4gIE5hbWVseSwgdG8gYnJlYWsgdGhlIGFtYmlndWl0eSwg
dGhlDQogICBhY3Rpb24gY29ycmVzcG9uZGluZyB0byB0aGUgZmlyc3QgcGVlcmluZyBzcGVjaWZp
Y2F0aW9uIGlzIHVzZWQuDQoNCjIuMiBUaGUgYWZpIGRpY3Rpb25hcnkgYXR0cmlidXRlDQoNCiAg
IEluIHRoaXMgc2VjdGlvbiB3ZSBpbnRyb2R1Y2UgYSBuZXcgZGljdGlvbmFyeSBhdHRyaWJ1dGU6
DQoNCiAgIEFkZHJlc3MgRmFtaWx5IElkZW50aWZpZXIsIDxhZmk+LCBpcyBhbiBSUFNMIGxpc3Qg
b2YgYWRkcmVzcyBmYW1pbGllcw0KICAgZm9yIHdoaWNoIGEgZ2l2ZW4gcm91dGluZyBwb2xpY3kg
ZXhwcmVzc2lvbiBzaG91bGQgYmUgZXZhbHVhdGVkLg0KICAgPGFmaT4gaXMgbWFuZGF0b3J5IHdp
dGhpbiB0aGUgbmV3IG11bHRpLXByb3RvY29sIGF0dHJpYnV0ZXMNCiAgIGludHJvZHVjZWQgaW4g
dGhlIGF1dC1udW0gY2xhc3MuDQoNCiAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIDxhZmk+IGFy
ZToNCg0KICAgICAgaXB2NA0KICAgICAgaXB2NC51bmljYXN0IChlcXVpdmFsZW50IHRvIGlwdjQp
DQogICAgICBpcHY0Lm11bHRpY2FzdA0KICAgICAgaXB2Ng0KICAgICAgaXB2Ni51bmljYXN0IChl
cXVpdmFsZW50IHRvIGlwdjYpDQogICAgICBpcHY2Lm11bHRpY2FzdA0KDQogICBBcHBlYXJhbmNl
IG9mIHRoZXNlIHZhbHVlcyBpbiBhbiBhdHRyaWJ1dGUgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUN
CiAgIGtleXdvcmQgYWZpLg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGly
ZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIg
MjAwMw0KDQoNCiAgIEFuIDxhZmktbGlzdD4gaXMgZGVmaW5lZCBhcyBhIGNvbW1hIHNlcGFyYXRl
ZCBsaXN0IG9mIG9uZSBvciBtb3JlIGFmaQ0KICAgdmFsdWVzLg0KDQoyLjMgUlBTTCBkaWN0aW9u
YXJ5IGV4dGVuc2lvbnMNCg0KICAgSW4gb3JkZXIgdG8gc3VwcG9ydCBJUHY2IGFkZHJlc3NlcyBz
cGVjaWZpZWQgd2l0aCB0aGUgbmV4dC1ob3ANCiAgIHJwLWF0dHJpYnV0ZSwgYSBuZXcgcHJlZGVm
aW5lZCBkaWN0aW9uYXJ5IHR5cGUgZW50aXRsZWQNCiAgICJpcHY2X2FkZHJlc3MiIGlzIGFkZGVk
IHRvIHRoZSBSUFNMIGRpY3Rpb25hcnkuICAgVGhlIGRlZmluaXRpb24gb2YNCiAgIHRoaXMgdHlw
ZSBpcyB0YWtlbiBmcm9tIFNlY3Rpb24gMi4yIG9mIFJGQyAzNTEzIFszXS4NCg0KICAgVGhlIG5l
eHQtaG9wIHJwLWF0dHJpYnV0ZSBpcyBleHBhbmRlZCBpbiB0aGUgZGljdGlvbmFyeSBhcyBmb2xs
b3dzOg0KDQogICBycC1hdHRyaWJ1dGU6ICMgbmV4dCBob3Agcm91dGVyIGluIGEgc3RhdGljIHJv
dXRlDQogICAgICAgICAgICAgICAgIG5leHQtaG9wDQogICAgICAgICAgICAgICAgIG9wZXJhdG9y
PSh1bmlvbiBpcHY0X2FkZHJlc3MsIGlwdjZfYWRkcmVzcywgZW51bVtzZWxmXSkNCg0KICAgQSBu
ZXcgdmFsdWUgaGFzIGJlZW4gYWRkZWQgZm9yIHRoZSA8cHJvdG9jb2w+IGRpY3Rpb25hcnkNCiAg
IHNwZWNpZmljYXRpb246DQoNCiAgICAgIE1QQkdQDQoNCiAgIE1QQkdQIGlzIHVuZGVyc3Rvb2Qg
dG8gYmUgQkdQNCB3aXRoIG11bHRpLXByb3RvY29sIGV4dGVuc2lvbnMgKG9mdGVuDQogICByZWZl
cnJlZCB0byBhcyBCR1A0KykuICBCR1A0KyBjb3VsZCBub3QgYmUgdXNlZCBhcyB0aGUgJysnIGNo
YXJhY3Rlcg0KICAgaXMgbm90IGFsbG93ZWQgYnkgdGhlIFJQU0wgc3BlY2lmaWNhdGlvbiBpbiBw
cm90b2NvbCBuYW1lcy4NCg0KMi40IElQdjYgUlBTTCB0eXBlcw0KDQogICBUaGlzIGRvY3VtZW50
IHdpbGwgcmVmZXJlbmNlIHRocmVlIG5ldyBJUHY2IFJQU0wgdHlwZXMsIG5hbWVseSwNCiAgIDxp
cHY2LWFkZHJlc3M+LCA8aXB2Ni1hZGRyZXNzLXByZWZpeD4sIGFuZA0KICAgPGlwdjYtYWRkcmVz
cy1wcmVmaXgtcmFuZ2U+LiAgVGhlIDxpcHY2LWFkZHJlc3M+IGFuZA0KICAgPGlwdjYtYWRkcmVz
cy1wcmVmaXg+IHR5cGVzIGFyZSBkZWZpbmVkIGluIFNlY3Rpb25zIDIuMiBhbmQgMi4zIG9mDQog
ICBSRkMgMzUxMyBbM10uIFRoZSA8aXB2Ni1hZGRyZXNzLXByZWZpeC1yYW5nZT4gdHlwZSBhZGRz
IGEgcmFuZ2UNCiAgIG9wZXJhdG9yIHRvIHRoZSA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gdHlwZS4g
IFRoZSByYW5nZSBvcGVyYXRvciBpcw0KICAgZGVmaW5lZCBpbiBTZWN0aW9uIDIgb2YgUkZDIDI2
MjIgWzFdLg0KDQoyLjUgbXAtaW1wb3J0LCBtcC1leHBvcnQsIGFuZCBtcC1kZWZhdWx0DQoNCiAg
IFRocmVlIG5ldyBwb2xpY3kgYXR0cmlidXRlcyBhcmUgaW50cm9kdWNlZCBpbiB0aGUgYXV0LW51
bSBDbGFzczoNCg0KICAgICAgbXAtaW1wb3J0Og0KICAgICAgbXAtZXhwb3J0Og0KICAgICAgbXAt
ZGVmYXVsdDoNCg0KICAgVGhlc2UgYXR0cmlidXRlcyBpbmNvcnBvcmF0ZSB0aGUgYWZpIChhZGRy
ZXNzLWZhbWlseSkgc3BlY2lmaWNhdGlvbi4NCiAgIFRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9y
dCBhdHRyaWJ1dGVzIGhhdmUgYm90aCBhIGJhc2ljIHBvbGljeQ0KICAgc3BlY2lmaWNhdGlvbiBh
bmQgYSBtb3JlIHBvd2VyZnVsIHN0cnVjdHVyZWQgcG9saWN5IHNwZWNpZmljYXRpb24uDQoNCiAg
IFRoZSBzeW50YXggZm9yIHRoZSBtcC1kZWZhdWx0IGF0dHJpYnV0ZSBhbmQgdGhlIGJhc2ljIHBv
bGljeQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAw
NCAgICAgICAgICAgICAgICAgIFtQYWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICBz
cGVjaWZpY2F0aW9uIG9mIHRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9ydCBhdHRyaWJ1dGVzIGlz
IGFzDQogICBmb2xsb3dzOg0KDQoNCiAgIEF0dHJpYnV0ZSAgVmFsdWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUNCiAgIG1wLWltcG9ydCAgW3Byb3RvY29sIDxw
cm90b2NvbC0xPl0gW2ludG8gPHByb3RvY29sLTI+XSAgIG9wdGlvbmFsLA0KICAgICAgICAgICAg
ICBhZmkgPGFmaS1saXN0PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGktdmFs
dWVkDQogICAgICAgICAgICAgIGZyb20gPG1wLXBlZXJpbmctMT4gW2FjdGlvbiA8YWN0aW9uLTE+
XQ0KICAgICAgICAgICAgICAuIC4gLg0KICAgICAgICAgICAgICBmcm9tIDxtcC1wZWVyaW5nLU4+
IFthY3Rpb24gPGFjdGlvbi1OPl0NCiAgICAgICAgICAgICAgYWNjZXB0IDxtcC1maWx0ZXI+DQoN
CiAgIG1wLWV4cG9ydCAgW3Byb3RvY29sIDxwcm90b2NvbC0xPl0gW2ludG8gPHByb3RvY29sLTI+
XSAgIG9wdGlvbmFsLA0KICAgICAgICAgICAgICBhZmkgPGFmaS1saXN0PiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbXVsdGktdmFsdWVkDQogICAgICAgICAgICAgIHRvIDxtcC1wZWVy
aW5nLTE+IFthY3Rpb24gPGFjdGlvbi0xPl0NCiAgICAgICAgICAgICAgLiAuIC4NCiAgICAgICAg
ICAgICAgdG8gPG1wLXBlZXJpbmctTj4gW2FjdGlvbiA8YWN0aW9uLU4+XQ0KICAgICAgICAgICAg
ICBhbm5vdW5jZSA8bXAtZmlsdGVyPg0KDQogICBtcC1kZWZhdWx0IGFmaSA8YWZpLWxpc3Q+IHRv
IDxtcC1wZWVyaW5nPiAgICAgICAgICAgICAgICBvcHRpb25hbCwNCiAgICAgICAgICAgICAgW2Fj
dGlvbiA8YWN0aW9uPl0gW25ldHdvcmtzIDxtcC1maWx0ZXI+XSAgICAgIG11bHRpLXZhbHVlZA0K
DQoNCiAgIFRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9ydCBwb2xpY2llcyBjYW4gYmUgc3RydWN0
dXJlZC4gIEFzIHdpdGggUkZDDQogICAyNjIyIFsxXSwgc3RydWN0dXJlZCBwb2xpY2llcyBhcmUg
cmVjb21tZW5kZWQgb25seSB0byBhZHZhbmNlZCBSUFNMDQogICB1c2Vycy4gIEZvciB0aGUgc2Fr
ZSBvZiBicmV2aXR5LCBvbmx5IHRoZSBtcC1pbXBvcnQgc3RydWN0dXJlZCBwb2xpY3kNCiAgIHN5
bnRheCBpcyBkZWZpbmVkIGJlbG93LiAgIFRoZSBtcC1leHBvcnQgc3RydWN0dXJlZCBwb2xpY3kg
c3ludGF4IGlzDQogICBleHByZXNzZWQgaW4gYSBzeW1tZXRyaWMgd2F5IHRvIHRoZSBtcC1pbXBv
cnQgYXR0cmlidXRlLg0KDQoNCiAgIG1wLWltcG9ydCA6Oj0NCiAgICAgICAgICBbcHJvdG9jb2wg
PHByb3RvY29sLTE+XSBbaW50byA8cHJvdG9jb2wtMj5dIDxpbXBvcnQtZXhwcmVzc2lvbj4NCg0K
ICAgPGltcG9ydC1leHByZXNzaW9uPiA6Oj0NCiAgICAgICAgICBhZmkgPGFmaS1saXN0PiA8aW1w
b3J0LXRlcm0+IGFjY2VwdCA8bXAtZmlsdGVyPiB8DQogICAgICAgICAgYWZpIDxhZmktbGlzdD4g
PGltcG9ydC10ZXJtPiBhY2NlcHQgPG1wLWZpbHRlcj4gRVhDRVBUDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltcG9ydC1leHByZXNzaW9uPiB8DQog
ICAgICAgICAgYWZpIDxhZmktbGlzdD4gPGltcG9ydC10ZXJtPiBhY2NlcHQgPG1wLWZpbHRlcj4g
UkVGSU5FDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PGltcG9ydC1leHByZXNzaW9uPg0KDQogICA8aW1wb3J0LXRlcm0+IDo6PSAgPGltcG9ydC1mYWN0
b3I+IHwNCiAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICA8
aW1wb3J0LWZhY3Rvcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIC4uLg0KICAgICAgICAgICAg
ICAgICAgICAgICAgPGltcG9ydC1mYWN0b3I+DQogICAgICAgICAgICAgICAgICAgICAgfQ0KDQog
ICA8aW1wb3J0LWZhY3Rvcj4gOjo9IGZyb20gPG1wLXBlZXJpbmc+IFthY3Rpb24gPGFjdGlvbj5d
Ow0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAg
ICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg
ICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQoyLjUuMSA8
bXAtcGVlcmluZz4NCg0KICAgPG1wLXBlZXJpbmc+IGluZGljYXRlcyB0aGUgQVMgKGFuZCB0aGUg
cm91dGVyIGlmIHByZXNlbnQpIGFuZCBpcw0KICAgZGVmaW5lZCBhcyBmb2xsb3dzOg0KDQogICA8
bXAtcGVlcmluZz4gOjo9IDxhcy1leHByZXNzaW9uPiBbPG1wLXJvdXRlci1leHByZXNzaW9uLTE+
XQ0KICAgICAgICAgICAgICAgICAgICBbYXQgPG1wLXJvdXRlci1leHByZXNzaW9uLTI+XSB8IDxw
ZWVyaW5nLXNldC1uYW1lPg0KDQogICB3aGVyZSA8YXMtZXhwcmVzc2lvbj4gaXMgYW4gZXhwcmVz
c2lvbiBvdmVyIEFTIG51bWJlcnMgYW5kIEFTIHNldHMNCiAgIHVzaW5nIG9wZXJhdG9ycyBBTkQs
IE9SLCBhbmQgRVhDRVBULCBhbmQgPG1wLXJvdXRlci1leHByZXNzaW9uPiBpcyBhbg0KICAgZXhw
cmVzc2lvbiBvdmVyIHJvdXRlciBpcHY0LWFkZHJlc3NlcyBvciBpcHY2LWFkZHJlc3NlcywgaW5l
dC1ydHINCiAgIG5hbWVzLCBhbmQgcnRyLXNldCBuYW1lcyB1c2luZyBvcGVyYXRvcnMgQU5ELCBP
UiwgYW5kIEVYQ0VQVC4gIFRoZQ0KICAgYmluYXJ5ICJFWENFUFQiIG9wZXJhdG9yIGlzIHRoZSBz
ZXQgc3VidHJhY3Rpb24gb3BlcmF0b3IgYW5kIGhhcyB0aGUNCiAgIHNhbWUgcHJlY2VkZW5jZSBh
cyB0aGUgb3BlcmF0b3IgQU5EIChpdCBpcyBzZW1hbnRpY2FsbHkgZXF1aXZhbGVudCB0bw0KICAg
IkFORCBOT1QiIGNvbWJpbmF0aW9uKS4gIFRoYXQgaXMgIihBUzEgT1IgQVMyKSBFWENFUFQgQVMy
IiBlcXVhbHMNCiAgICJBUzEiLg0KDQoyLjUuMiA8bXAtZmlsdGVyPg0KDQogICBUaGUgPG1wLWZp
bHRlcj4gcG9saWN5IGZpbHRlciBleHByZXNzaW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgUlBTTA0K
ICAgPGZpbHRlcj4gcG9saWN5IGZpbHRlciBleHByZXNzaW9uIGRlZmluZWQgaW4gc2VjdGlvbiA1
LjQgb2YgUkZDIDI2MjINCiAgIFsxXS4gPG1wLWZpbHRlcj4gZXh0ZW5kcyB0aGUgPGZpbHRlcj4g
ZXhwcmVzc2lvbiB0byBhbGxvdyB0aGUNCiAgIHNwZWNpZmljYXRpb24gb2YgSVB2NiBwcmVmaXhl
cyBhbmQgcHJlZml4IHJhbmdlcy4gSW4gcGFydGljdWxhciwgYW4NCiAgIEFkZHJlc3MtUHJlZml4
IFNldCBleHByZXNzaW9uIGluIGFuIDxtcC1maWx0ZXI+IGV4cHJlc3Npb24gbWF5DQogICBpbmNs
dWRlIGJvdGggSVB2NCBhbmQgSVB2NiBwcmVmaXhlcyBvciBwcmVmaXggcmFuZ2VzLiA8bXAtZmls
dGVyPiBpcw0KICAgb3RoZXJ3aXNlIGlkZW50aWNhbCB0byB0aGUgUlBTTCA8ZmlsdGVyPiBleHBy
ZXNzaW9uLiAgIEFkZHJlc3MtUHJlZml4DQogICBTZXRzIGFyZSBlbmNsb3NlZCBpbiBicmFjZXMg
J3snIGFuZCAnfScuIFRoZSBwb2xpY3kgZmlsdGVyIG1hdGNoZXMNCiAgIHRoZSBzZXQgb2Ygcm91
dGVzIHdob3NlIGRlc3RpbmF0aW9uIGFkZHJlc3MtcHJlZml4IGlzIGluIHRoZSBzZXQuDQogICBG
b3IgZXhhbXBsZToNCg0KICAgICAgeyAxOTguMTA4LjAuMC8xNiwgM2ZmZTpmZmZmOjI0MDo6LzQ4
IH0NCiAgICAgIHsgM2ZmZTpmZmZmOjU4MDo6LzQ4XissIDNmZmU6ZmZmZjo2MDA6Oi80OF42NCB9
DQoNCg0KMi41LjMgUG9saWN5IGV4YW1wbGVzDQoNCiAgIFRoZSBhZGRyZXNzIGZhbWlseSBtYXkg
YmUgc3BlY2lmaWVkIGF0IGFueSBsZXZlbCBvZiBuZXN0aW5nIG9mDQogICA8aW1wb3J0LWV4cHJl
c3Npb24+LCBhbmQgaXMgdmFsaWQgb25seSB3aXRoaW4gdGhlIDxpbXBvcnQtZXhwcmVzc2lvbj4N
CiAgIHRoYXQgY29udGFpbnMgaXQuDQoNCiAgIFRoZXJlZm9yZSBpbiB0aGUgZXhhbXBsZToNCg0K
ICAgYXV0LW51bTogICAgQVM2NTUzNA0KICAgbXAtaW1wb3J0OiBhZmkgaXB2Ni51bmljYXN0LGlw
djQgZnJvbSBBUzY1MDAxIGFjdGlvbiBwcmVmID0gMTsgYWNjZXB0IGFzLWZvbw0KICAgICAgICAg
ICAgICAgZXhjZXB0IHsgYWZpIGlwdjYudW5pY2FzdCxpcHY0DQogICAgICAgICAgICAgICBmcm9t
IEFTNjUwMDIgYWN0aW9uIHByZWYgPSAyOyBhY2NlcHQgQVM2NTIyNg0KICAgICAgICAgICAgICAg
ICAgZXhjZXB0IHsgYWZpIGlwdjYudW5pY2FzdA0KICAgICAgICAgICAgICAgICAgZnJvbSBBUzY1
MDAzIGFjdGlvbiBwcmVmID0gMzsgYWNjZXB0IHszRkZFOkZGRkY6Oi8zMn0NCg0KDQoNCkJsdW5r
LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIwMDQgICAgICAgICAgICAgICAg
ICBbUGFnZSA3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgUlBTTG5nICAg
ICAgICAgICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KICAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICB0aGUgbGFzdCAocmlnaHRtb3N0
KSAiZXhjZXB0IiBpcyBldmFsdWF0ZWQgb25seSBmb3IgdGhlIElQdjYgdW5pY2FzdA0KICAgYWRk
cmVzcyBmYW1pbHksIHdoaWxlIG90aGVyIGltcG9ydC1leHByZXNzaW9ucyBhcmUgZXZhbHVhdGVk
IGZvciBib3RoDQogICB0aGUgSVB2NiBhbmQgSVB2NCB1bmljYXN0IGFkZHJlc3MgZmFtaWxpZXMu
DQoNCiAgIFRoZSBldmFsdWF0aW9uIG9mIGFuIDxpbXBvcnQtZXhwcmVzc2lvbj4gaXMgZG9uZSBi
eSBldmFsdWF0aW5nIGFsbCBvZg0KICAgaXRzIGNvbXBvbmVudHMuIEV2YWx1YXRpb24gb2YgcGVl
cmluZy1zZXRzIGFuZCBmaWx0ZXItc2V0cyBpcw0KICAgY29uc3RyYWluZWQgYnkgdGhlIGFkZHJl
c3MgZmFtaWx5LiAgU3VjaCBjb25zdHJhaW50cyBtYXkgcmVzdWx0IGluIGENCiAgIHtOT1QgQU5Z
fSA8bXAtZmlsdGVyPiBvciBpbnZhbGlkIDxtcC1wZWVyaW5nPiBkZXBlbmRpbmcgb24gaW1wbGlj
aXQNCiAgIG9yIGV4cGxpY2l0IGRlZmluaXRpb25zIG9mIHRoZSBhZGRyZXNzIGZhbWlseSBpbiB0
aGUgc2V0LiAgQW4gUlBTTA0KICAgZXZhbHVhdGlvbiBpbXBsZW1lbnRhdGlvbiBtYXkgd2lzaCB0
byBpc3N1ZSBhIHdhcm5pbmcgaW4gdGhlIGNhc2Ugb2YNCiAgIGEge05PVCBBTll9IDxtcC1maWx0
ZXI+Lg0KDQogICBDb25mbGljdHMgd2l0aCBleHBsaWNpdCBvciBpbXBsaWNpdCBkZWNsYXJhdGlv
bnMgYXJlIHJlc29sdmVkIGF0DQogICBydW50aW1lLCB0aGF0IGlzLCBkdXJpbmcgdGhlIGV2YWx1
YXRpb24gb2YgYSBwb2xpY3kgZXhwcmVzc2lvbi4gRm9yDQogICBleGFtcGxlLCB3aGVuIGV2YWx1
YXRpbmcgdGhlIGZvbGxvd2luZyBpbXBvcnQgcG9saWN5Og0KDQogICBhdXQtbnVtOiBBUzY1MDAy
DQogICBtcC1pbXBvcnQ6IGFmaSBpcHY2IGZyb20gQVM2NTAwMSBhY2NlcHQgezE5My4wLjAuMC8y
Mn0NCg0KICAgdGhlIG1wLWZpbHRlciBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIHtOT1QgQU5ZfS4g
IEEgbW9yZSBjb21wbGV4DQogICBleGFtcGxlIGZvbGxvd3M6DQoNCiAgIGF1dC1udW06IEFTNjUw
MDINCiAgIG1wLWltcG9ydDogYWZpIGlwdjYudW5pY2FzdCB7DQogICAgICBmcm9tIEFTLUFOWSBh
Y3Rpb24gbWVkID0gMDsgYWNjZXB0IHszRkZFOkZGRkY6Oi8zMn07DQogICAgICB9IHJlZmluZSB7
IGFmaSBpcHY2LnVuaWNhc3QNCiAgICAgICAgICAgZnJvbSBBUzY1MDAxIGF0IDNGRkU6RkZGRjo6
MSBhY3Rpb24gcHJlZiA9IDE7IGFjY2VwdCBBUy1VUFNUUkVBTTsNCiAgICAgICAgICAgZnJvbSBw
cm5nNi1lYmdwLXBlZXJzIGFjdGlvbiBwcmVmID0gMjsgYWNjZXB0IEFTNjUwMDE7DQogICAgICB9
DQoNCiAgIEluIHRoaXMgZXhhbXBsZSwgb25seSBJUHY2IHByZWZpeGVzIG9yaWdpbmF0ZWQgYnkg
QVM2NTAwMSB3aWxsIGJlDQogICBjb2xsZWN0ZWQsIGFuZCB3aGVuIGV2YWx1YXRpbmcgdGhlIGFz
LXNldCBBUy1VUFNUUkVBTSwgb25seSBJUHY2DQogICBwcmVmaXhlcyBvZiB0aGUgbWVtYmVyIEFT
ZXMgd2lsbCBiZSBjb25zaWRlcmVkLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmx1
bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAg
ICAgIFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcg
ICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQozLiByb3V0ZTYgQ2xhc3MNCg0K
ICAgVGhlIHJvdXRlNiBjbGFzcyBpcyB0aGUgSVB2NiBlcXVpdmFsZW50IG9mIHRoZSByb3V0ZSBj
bGFzcy4gQXMgd2l0aA0KICAgdGhlIHJvdXRlIGNsYXNzLCB0aGUgY2xhc3Mga2V5IGZvciB0aGUg
cm91dGU2IGNsYXNzIGlzIHNwZWNpZmllZCBieQ0KICAgdGhlIHJvdXRlNiBhbmQgb3JpZ2luIGF0
dHJpYnV0ZSBwYWlyLiAgT3RoZXIgdGhhbiB0aGUgcm91dGU2DQogICBhdHRyaWJ1dGUsIHRoZSBy
b3V0ZTYgY2xhc3Mgc2hhcmVzIHRoZSBzYW1lIGF0dHJpYnV0ZSBuYW1lcyB3aXRoIHRoZQ0KICAg
cm91dGUgY2xhc3MuICBXaGlsZSB0aGUgYXR0cmlidXRlIG5hbWVzIHJlbWFpbiBpZGVudGljYWws
IHRoZSBpbmplY3QsDQogICBjb21wb25lbnRzLCBleHBvcnRzLWNvbXBzLCBob2xlcywgYW5kIG1u
dC1yb3V0ZXMgYXR0cmlidXRlcyBtdXN0DQogICBzcGVjaWZ5IElQdjYgcHJlZml4ZXMgYW5kIGFk
ZHJlc3NlcyByYXRoZXIgdGhhbiBJUHY0IHByZWZpeGVzIGFuZA0KICAgYWRkcmVzc2VzLiAgVGhp
cyByZXF1aXJlbWVudCBpcyByZWZsZWN0ZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YNCiAgIDxp
cHY2LXJvdXRlci1leHByZXNzaW9uPiwgPGlwdjYtZmlsdGVyPiwgYW5kIDxpcHY2LWFkZHJlc3Mt
cHJlZml4Pg0KICAgYmVsb3cuICA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gaGFzIGJlZW4gcHJldmlv
dXNseSBkZWZpbmVkLg0KICAgPGlwdjYtZmlsdGVyPiBpcyByZWxhdGVkIHRvIDxtcC1maWx0ZXI+
IGFzIGRlZmluZWQgYWJvdmUgaW4gU2VjdGlvbg0KICAgMi41LjIgd2l0aCB0aGUgZXhjZXB0aW9u
IHRoYXQgb25seSA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gdHlwZXMgYXJlDQogICBwZXJtaXR0ZWQu
IFNpbWlsYXJseSwgPGlwdjYtcm91dGVyLWV4cHJlc3Npb24+IGlzIHJlbGF0ZWQgdG8NCiAgIDxt
cC1yb3V0ZXItZXhwcmVzc2lvbj4gYXMgZGVmaW5lZCBhYm92ZSBpbiBTZWN0aW9uIDIuNS4xIHdp
dGggdGhlDQogICBleGNlcHRpb24gdGhhdCBvbmx5IDxpcHY2LWFkZHJlc3M+IHR5cGVzIGFyZSBw
ZXJtaXR0ZWQuDQoNCiAgIE5vdGUgdGhhdCA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gbWF5IGJlIG9m
IGVpdGhlciB0eXBlIGlwdjYudW5pY2FzdCBvcg0KICAgdHlwZSBpcHY2Lm11bHRpY2FzdC4gIEFu
IElQdjYgbXVsdGljYXN0IGFkZHJlc3MgaXMgaW5kZW50aWZpZWQgYnkgdGhlDQogICBiaW5hcnkg
MTExMTExMTEgYXQgdGhlIHN0YXJ0IG9mIHRoZSBhZGRyZXNzLiAgRm9yIGZ1dGhlciByZWZlcmVu
Y2UsDQogICBwbGVhc2Ugc2VlIFNlY3Rpb24gMi43IG9mIFJGQyAzNTEzIFszXS4NCg0KDQogICBB
dHRyaWJ1dGUgICAgIFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlDQogICBy
b3V0ZTYgICAgICAgIDxpcHY2LWFkZHJlc3MtcHJlZml4PiAgICAgICAgICAgICBtYW5kYXRvcnks
IGNsYXNzIGtleSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpbmdsZS12YWx1ZWQNCiAgIG9yaWdpbiAgICAgICAgPGFzLW51bWJlcj4gICAgICAg
ICAgICAgICAgICAgICAgIG1hbmRhdG9yeSwgY2xhc3Mga2V5LA0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlLXZhbHVlZA0KICAgbWVtYmVy
LW9mICAgICBsaXN0IG9mIDxyb3V0ZS1zZXQtbmFtZT4gICAgICAgICAgb3B0aW9uYWwsIG11bHRp
LXZhbHVlZA0KICAgaW5qZWN0ICAgICAgICBbYXQgPGlwdjYtcm91dGVyLWV4cHJlc3Npb24+XSAu
Li4gb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgICAgICAgICAgICAgICBbYWN0aW9uIDxhY3Rp
b24+XQ0KICAgICAgICAgICAgICAgICBbdXBvbiA8Y29uZGl0aW9uPl0NCiAgIGNvbXBvbmVudHMg
ICAgW0FUT01JQ10gW1s8aXB2Ni1maWx0ZXI+XSAgICAgICAgIG9wdGlvbmFsLCBzaW5nbGUtdmFs
dWVkDQogICAgICAgICAgICAgICAgIFtwcm90b2NvbCA8cHJvdG9jb2w+IDxpcHY2LWZpbHRlcj4g
Li4uXV0NCiAgIGFnZ3ItYm5kcnkgICAgPGFzLWV4cHJlc3Npb24+ICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsLCBzaW5nbGUtdmFsdWVkDQogICBhZ2dyLW10ZCAgICAgIGluYm91bmQgb3Igb3V0
Ym91bmQgICAgICAgICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgICAgICAgICAg
ICAgICBbPGFzLWV4cHJlc3Npb24+XQ0KICAgZXhwb3J0LWNvbXBzICA8aXB2Ni1maWx0ZXI+ICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwsIHNpbmdsZS12YWx1ZWQNCiAgIGhvbGVzICAgICAg
ICAgbGlzdCBvZiA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1
ZWQNCiAgIG1udC1sb3dlciAgICAgbGlzdCBvZiA8bW50bmVyLW5hbWU+ICAgICAgICAgICAgIG9w
dGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgIG1udC1yb3V0ZXMgICAgbGlzdCBvZiA8bW50bmVyLW5h
bWU+ICAgICAgICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAgICAgICAgICAgICAg
W3tsaXN0IG9mIDxpcHY2LWFkZHJlc3MtcHJlZml4LXJhbmdlPn0gb3IgQU5ZXQ0KDQogICBFeGFt
cGxlOg0KDQogICByb3V0ZTY6ICAgM2ZmZTpmZmZmOjI0MDo6LzQ4DQogICBvcmlnaW46ICAgQVM2
NTAwMQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAw
NCAgICAgICAgICAgICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo0LiBV
cGRhdGVzIHRvIGV4aXN0aW5nIENsYXNzZXMgdG8gc3VwcG9ydCB0aGUgZXh0ZW5zaW9ucw0KDQo0
LjEgYXMtc2V0IENsYXNzDQoNCiAgIFRoZSBhcy1zZXQgY2xhc3MgZGVmaW5lcyBhIHNldCBvZiBB
dXRvbm9tb3VzIFN5c3RlbXMgKEFTKSwgc3BlY2lmaWVkDQogICBlaXRoZXIgZGlyZWN0bHkgYnkg
bGlzdGluZyB0aGVtIGluIHRoZSBtZW1iZXJzIGF0dHJpYnV0ZSwgb3INCiAgIGluZGlyZWN0bHkg
YnkgcmVmZXJyaW5nIHRvIGFub3RoZXIgYXMtc2V0cyBvciB1c2luZyB0aGUgbWJycy1ieS1yZWYN
CiAgIGZhY2lsaXR5LiBNb3JlIGltcG9ydGFudGx5LCAiSW4gYSBjb250ZXh0IHRoYXQgZXhwZWN0
cyBhIHJvdXRlIHNldA0KICAgKGUuZy4gIG1lbWJlcnMgYXR0cmlidXRlIG9mIHRoZSByb3V0ZS1z
ZXQgY2xhc3MpLCBbLi4uXSBhbiBhcy1zZXQNCiAgIEFTLVggZGVmaW5lcyB0aGUgc2V0IG9mIHJv
dXRlcyB0aGF0IGFyZSBvcmlnaW5hdGVkIGJ5IHRoZSBBU2VzIGluDQogICBBUy1YLiIsIChzZWN0
aW9uIDUuMyBvZiAgUkZDIDI2MjIgWzFdKS4NCg0KICAgVGhlIGFzLXNldCBjbGFzcyBpcyB0aGVy
ZWZvcmUgdXNlZCB0byBjb2xsZWN0IGEgc2V0IG9mIHJvdXRlDQogICBwcmVmaXhlcywgd2hpY2gg
bWF5IGJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBhZGRyZXNzIGZhbWlseS4NCg0KICAgVGhl
IGV4aXN0aW5nIGFzLXNldCBjbGFzcyBkb2VzIG5vdCBuZWVkIGFueSBtb2RpZmljYXRpb25zLiBU
aGUNCiAgIGV2YWx1YXRpb24gb2YgdGhlIGNsYXNzIG11c3QgYmUgZmlsdGVyZWQgdG8gb2J0YWlu
IHByZWZpeGVzIGJlbG9uZ2luZw0KICAgdG8gYSBwYXJ0aWN1bGFyIGFkZHJlc3MgZmFtaWx5IHVz
aW5nIHRoZSB0cmFkaXRpb25hbCBmaWx0ZXJpbmcNCiAgIG1lY2hhbmlzbSBpbiB1c2UgaW4gSW50
ZXJuZXQgUm91dGluZyBSZWdpc3RyeSAoSVJSKSBzeXN0ZW1zIHRvZGF5Lg0KDQo0LjIgcm91dGUt
c2V0IENsYXNzDQoNCiAgIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBzcGVjaWZ5IGEgc2V0IG9mIHJv
dXRlIHByZWZpeGVzLg0KDQogICBBIG5ldyBhdHRyaWJ1dGUgIm1wLW1lbWJlcnM6IiBpcyBkZWZp
bmVkIGZvciB0aGlzIGNsYXNzLiAgVGhpcw0KICAgYXR0cmlidXRlcyBhbGxvdyB0aGUgc3BlY2lm
aWNhdGlvbiBvZiBJUHY0IG9yIElQdjYNCiAgIGFkZHJlc3MtcHJlZml4LXJhbmdlcy4NCg0KDQog
ICBBdHRyaWJ1dGUgICBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUN
CiAgIG1wLW1lbWJlcnMgIGxpc3Qgb2YgKDxpcHY0LWFkZHJlc3MtcHJlZml4LXJhbmdlPiAgb3B0
aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgICAgICAgICAgICAgb3IgPGlwdjYtYWRkcmVzcy1wcmVm
aXgtcmFuZ2U+DQogICAgICAgICAgICAgICBvciA8cm91dGUtc2V0LW5hbWU+DQogICAgICAgICAg
ICAgICBvciA8cm91dGUtc2V0LW5hbWU+PHJhbmdlLW9wZXJhdG9yPikNCg0KICAgRXhhbXBsZToN
Cg0KICAgcm91dGUtc2V0OiAgcnMtZm9vDQogICBtcC1tZW1iZXJzOiBycy1iYXINCiAgIG1wLW1l
bWJlcnM6IDNGRkU6RkZGRjo6LzMyICAjIHY2IG1lbWJlcg0KICAgbXAtbWVtYmVyczogMTI4Ljku
MC4wLzE2ICAgICMgdjQgbWVtYmVyDQoNCg0KNC4zIGZpbHRlci1zZXQgQ2xhc3MNCg0KICAgVGhl
IG5ldyAibXAtZmlsdGVyOiIgYXR0cmlidXRlIGRlZmluZXMgdGhlIHNldCdzIHBvbGljeSBmaWx0
ZXIuICBBDQogICBwb2xpY3kgZmlsdGVyIGlzIGEgbG9naWNhbCBleHByZXNzaW9uIHdoaWNoIHdo
ZW4gYXBwbGllZCB0byBhIHNldCBvZg0KICAgcm91dGVzIHJldHVybnMgYSBzdWJzZXQgb2YgdGhl
c2Ugcm91dGVzLiAgVGhlIHJlbGV2YW50IHBhcnRzIG9mIHRoZQ0KDQoNCg0KQmx1bmssIGV0IGFs
LiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1BhZ2Ug
MTBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAgICAg
ICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICB1cGRhdGVkIGZpbHRlci1zZXQgY2xhc3Mg
YXJlIHNob3duIGJlbG93Og0KDQoNCiAgIEF0dHJpYnV0ZSAgIFZhbHVlICAgICAgICAgICAgICAg
ICAgVHlwZQ0KICAgZmlsdGVyLXNldCAgPG9iamVjdC1uYW1lPiAgICAgICAgICBtYW5kYXRvcnks
IHNpbmdsZS12YWx1ZWQsIGNsYXNzIGtleQ0KICAgZmlsdGVyICAgICAgPGZpbHRlcj4gICAgICAg
ICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgbXAtZmlsdGVyICAgPG1wLWZpbHRl
cj4gICAgICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgLi4uDQoNCg0KICAgV2hl
cmUgPG1wLWZpbHRlcj4gaXMgZGVmaW5lZCBhYm92ZSBpbiBTZWN0aW9uIDIuNS4yLiBXaGlsZSB0
aGUNCiAgICJmaWx0ZXI6IiBhbmQgIm1wLWZpbHRlcjoiIGF0dHJpYnV0ZXMgYXJlIG9mIHR5cGUg
Im9wdGlvbmFsIiwgYQ0KICAgZmlsdGVyLXNldCBtdXN0IGNvbnRhaW4gb25lIG9mIHRoZXNlIHR3
byBhdHRyaWJ1dGVzLiAgSW1wbGVtZW50YXRpb25zDQogICBzaG91bGQgcmVqZWN0IGluc3RhbmNl
cyB3aGVyZSBib3RoIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQgaW4gYW4NCiAgIG9iamVjdCBhcyB0
aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3VjaCBhIGZpbHRlci1zZXQgaXMgdW5kZWZpbmVkLg0KDQo0
LjQgcGVlcmluZy1zZXQgQ2xhc3MNCg0KICAgVGhlIHBlZXJpbmcgc2V0IGNsYXNzIGlzIHVwZGF0
ZWQgd2l0aCBhICJtcC1wZWVyaW5nOiIgYXR0cmlidXRlLg0KDQoNCiAgIEF0dHJpYnV0ZSAgICBW
YWx1ZSAgICAgICAgICAgICAgICAgVHlwZQ0KICAgcGVlcmluZy1zZXQgIDxvYmplY3QtbmFtZT4g
ICAgICAgICBtYW5kYXRvcnksIHNpbmdsZS12YWx1ZWQsIGNsYXNzIGtleQ0KICAgcGVlcmluZyAg
ICAgIDxwZWVyaW5nPiAgICAgICAgICAgICBvcHRpb25hbCwgbXVsdGktdmFsdWVkDQogICBtcC1w
ZWVyaW5nICAgPG1wLXBlZXJpbmc+ICAgICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAg
IC4uLg0KDQogICBFeGFtcGxlOg0KDQogICBwZWVyaW5nLXNldDogICBwcm5nLWViZ3AtcGVlcnMN
CiAgIG1wLXBlZXJpbmc6ICAgIEFTNjUwMDIgM0ZGRTpGRkZGOjoxIGF0IDNGRkU6RkZGRjo6Mg0K
DQogICBXaXRoIDxtcC1wZWVyaW5nPiBkZWZpbmVkIGFzIGFib3ZlIGluIFNlY3Rpb24gMi41LjEu
IFdoaWxlIHRoZQ0KICAgInBlZXJpbmc6IiBhbmQgIm1wLXBlZXJpbmc6IiBhdHRyaWJ1dGVzIGFy
ZSBvZiB0eXBlICJvcHRpb25hbCIsIGENCiAgIHBlZXJpbmctc2V0IG11c3QgY29udGFpbiBhdCBs
ZWFzdCBvbmUgb2YgdGhlc2UgdHdvIGF0dHJpYnV0ZXMuDQoNCjQuNSBpbmV0LXJ0ciBDbGFzcw0K
DQogICBUd28gbmV3IGF0dHJpYnV0ZXMgYXJlIGludHJvZHVjZWQgdG8gdGhlIGluZXQtcnRyIGNs
YXNzIC0tDQogICAiaW50ZXJmYWNlOiIgd2hpY2ggYWxsb3dzIHRoZSBkZWZpbml0aW9uIG9mIGdl
bmVyaWMgaW50ZXJmYWNlcywNCiAgIGluY2x1ZGluZyB0aGUgaW5mb3JtYXRpb24gcHJldmlvdXNs
eSBjb250YWluZWQgaW4gdGhlICJpZmFkZHI6Ig0KICAgYXR0cmlidXRlLCBhcyB3ZWxsIGFzIHN1
cHBvcnQgZm9yIHR1bm5lbCBkZWZpbml0aW9ucy4gQW5kLA0KICAgIm1wLXBlZXI6Iiwgd2hpY2gg
aW5jbHVkZXMgYW5kIGV4dGVuZHMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlDQogICBleGlzdGlu
ZyAicGVlcjoiIGF0dHJpYnV0ZS4NCg0KICAgQmVsb3cgaXMgdGhlIHN5bnRheCBkZWZpbml0aW9u
IGZvciB0aGUgbmV3ICJpbnRlcmZhY2U6IiBhdHRyaWJ1dGUuDQoNCg0KDQoNCg0KQmx1bmssIGV0
IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1Bh
Z2UgMTFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAg
ICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICBBdHRyaWJ1dGUgIFZhbHVlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZQ0KICAgaW50ZXJmYWNlICA8aXB2NC1hZGRy
ZXNzPiBvciA8aXB2Ni1hZGRyZXNzPiAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAg
ICAgICAgICAgbWFza2xlbiA8bWFzaz4NCiAgICAgICAgICAgICAgW2FjdGlvbiA8YWN0aW9uPl0N
CiAgICAgICAgICAgICAgW3R1bm5lbCA8cmVtb3RlLWVuZHBvaW50LWFkZHJlc3M+LDxlbmNhcHN1
bGF0aW9uPl0NCg0KICAgVGhlIG5ldyBzeW50YXggYWxsb3dzIG5hdGl2ZSBJUHY0IGFuZCBJUHY2
IGludGVyZmFjZSBkZWZpbml0aW9ucyBhcw0KICAgd2VsbCBhcyB0aGUgZGVmaW5pdGlvbiBvZiB0
dW5uZWxzIGFzIHZpcnR1YWwgaW50ZXJmYWNlcy4gV2l0aG91dCB0aGUNCiAgIG9wdGlvbmFsIHR1
bm5lbCBkZWZpbml0aW9uLCB0aGlzIGF0dHJpYnV0ZSBhbGxvd3MgdGhlIHNhbWUNCiAgIGZ1bmN0
aW9uYWxpdHkgYXMgdGhlICJpZmFkZHI6IiBhdHRyaWJ1dGUgYnV0IGV4dGVuZHMgaXQgdG8gYWxs
b3cgSVB2Ng0KICAgYWRkcmVzc2VzLg0KDQogICBJbiB0aGUgY2FzZSBvZiB0aGUgaW50ZXJmYWNl
IGJlaW5nIGEgdHVubmVsLCB0aGUgc3ludGF4IGlzIGFzDQogICBmb2xsb3dzOg0KDQogICA8cmVt
b3RlLWVuZHBvaW50LWFkZHJlc3M+IGluZGljYXRlcyB0aGUgSVB2NCBvciBJUHY2IGFkZHJlc3Mg
b2YgdGhlDQogICByZW1vdGUgZW5kcG9pbnQgb2YgdGhlIHR1bm5lbC4gVGhlIGFkZHJlc3MgZmFt
aWx5IG11c3QgbWF0Y2ggdGhhdCBvZg0KICAgdGhlIGxvY2FsIGVuZHBvaW50LiA8ZW5jYXBzdWxh
dGlvbj4gZGVub3RlcyB0aGUgZW5jYXBzdWxhdGlvbiB1c2VkIGluDQogICB0aGUgdHVubmVsIGFu
ZCBpcyBvbmUgb2Yge0dSRSxJUGluSVB9LiAgUm91dGluZyBwb2xpY2llcyBmb3IgdGhlc2UNCiAg
IHJvdXRlcnMgc2hvdWxkIGJlIGRlc2NyaWJlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcyAo
ZS5nLg0KICAgYXV0LW51bSkuDQoNCiAgIFRoZSAibXAtcGVlcjoiIGF0dHJpYnV0ZSBpcyBkZWZp
bmVkIGJlbG93LiAgVGhlIGRpZmZlcmVuY2UgYmV0d2Vlbg0KICAgdGhpcyBhdHRyaWJ1dGUgYW5k
IHRoZSAicGVlcjoiIGF0dHJpYnV0ZSBpcyB0aGUgaW5jbHVzaW9uIG9mIHN1cHBvcnQNCiAgIGZv
ciBJUHY2IGFkZHJlc3Nlcy4NCg0KICAgQXR0cmlidXRlICBWYWx1ZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBUeXBlDQogICBtcC1wZWVyICAgIDxwcm90b2NvbD4gPGlwdjQt
YWRkcmVzcz4gPG9wdGlvbnM+ICBvciAgIG9wdGlvbmFsLA0KICAgICAgICAgICAgICA8cHJvdG9j
b2w+IDxpcHY2LWFkZHJlc3M+IDxvcHRpb25zPiAgb3IgICBtdWx0aS12YWx1ZWQNCiAgICAgICAg
ICAgICAgPHByb3RvY29sPiA8aW5ldC1ydHItbmFtZT4gPG9wdGlvbnM+IG9yDQogICAgICAgICAg
ICAgIDxwcm90b2NvbD4gPHJ0ci1zZXQtbmFtZT4gPG9wdGlvbnM+ICBvcg0KICAgICAgICAgICAg
ICA8cHJvdG9jb2w+IDxwZWVyaW5nLXNldC1uYW1lPiA8b3B0aW9ucz4NCg0KDQogICB3aGVyZSA8
cHJvdG9jb2w+IGlzIGEgcHJvdG9jb2wgbmFtZSwgYW5kIDxvcHRpb25zPiBpcyBhIGNvbW1hDQog
ICBzZXBhcmF0ZWQgbGlzdCBvZiBwZWVyaW5nIG9wdGlvbnMgZm9yIDxwcm90b2NvbD4gYXMgcHJv
dmlkZWQgaW4gdGhlDQogICBSUFNMIGRpY3Rpb25hcnkuDQoNCjQuNiBydHItc2V0IENsYXNzDQoN
CiAgIFRoZSBydHItc2V0IGNsYXNzIGlzIGV4dGVuZGVkIHdpdGggYSBuZXcgYXR0cmlidXRlLCAi
bXAtbWVtYmVyczoiLA0KICAgZGVmaW5lZCBhcw0KDQogICBBdHRyaWJ1dGUgICBWYWx1ZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVHlwZQ0KICAgbXAtbWVtYmVycyAgbGlzdCBvZiAoPGlu
ZXQtcnRyLW5hbWU+IG9yICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAgICAgICAg
ICAgIDxydHItc2V0LW5hbWU+IG9yDQogICAgICAgICAgICAgICA8aXB2NC1hZGRyZXNzPiBvcg0K
ICAgICAgICAgICAgICAgPGlwdjYtYWRkcmVzcz4pDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAg
ICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAxMl0NCgwN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAg
ICAgTm92ZW1iZXIgMjAwMw0KDQoNCiAgIFRoaXMgYXR0cmlidXRlIGV4dGVuZHMgdGhlIG9yaWdp
bmFsICJtZW1iZXJzOiIgYXR0cmlidXRlIGJ5IGFsbG93aW5nDQogICB0aGUgc3BlY2lmaWNhdGlv
biBvZiBJUHY2IGFkZHJlc3Nlcy4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAg
ICAgICAgICAgICAgW1BhZ2UgMTNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo1LiBSRkMgMjcy
NSBleHRlbnNpb25zDQoNCiAgIFJGQyAyNzI1IFsyXSBpbnRyb2R1Y2VzIGFuIGF1dGhvcml6YXRp
b24gbW9kZWwgdG8gYWRkcmVzcyB0aGUNCiAgIGludGVncml0eSBvZiBwb2xpY3kgZXhwcmVzc2Vk
IGluIHJvdXRpbmcgcmVnaXN0cmllcy4gIEluIHBhcnRpY3VsYXIsDQogICB0d28gbmV3IGF0dHJp
YnV0ZXMgd2VyZSBkZWZpbmVkIHRvIHN1cHBvcnQgdGhpcyBhdXRob3JpemF0aW9uIG1vZGVsLA0K
ICAgbmFtZWx5LCB0aGUgIm1udC1yb3V0ZXMiIGFuZCAibW50LWxvd2VyIiBhdHRyaWJ1dGVzLg0K
DQogICBJbiBSUFNMbmcsIHRoZXNlIGF0dHJpYnV0ZXMgYXJlIGV4dGVuZGVkIHRvIHRoZSByb3V0
ZTYgYW5kIGluZXQ2bnVtDQogICAoZGVzY3JpYmVkIGJlbG93KSBjbGFzc2VzLiAgRnVydGhlciwg
dGhlIHN5bnRheCBvZiB0aGUgZXhpc3RpbmcNCiAgIG1udC1yb3V0ZXMgYXR0cmlidXRlIGlzIG1v
ZGlmaWVkIHRvIGFsbG93IHRoZSBvcHRpb25hbCBzcGVjaWZpY2F0aW9uDQogICBvZiBJUHY2IHBy
ZWZpeCByYW5nZSBsaXN0cyB3aGVuIHByZXNlbnQgaW4gaW5ldDZudW0sIHJvdXRlNiwgYW5kDQog
ICBhdXQtbnVtIGNsYXNzIG9iamVjdHMuIFRoaXMgb3B0aW9uYWwgbGlzdCBvZiBwcmVmaXggcmFu
Z2VzIGlzIGENCiAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGVuY2xvc2VkIGluIGN1cmx5IGJyYWNl
cy4gIEluIHRoZSBhdXQtbnVtIGNsYXNzLA0KICAgdGhlIElQdjYgcHJlZml4IHJhbmdlcyBtYXkg
YmUgbWl4ZWQgd2l0aCBJUHY0IHByZWZpeCByYW5nZXMuICBUaGUNCiAgIGtleXdvcmQgIkFOWSIg
bWFueSBhbHNvIGJlIHVzZWQgaW5zdGVhZCBvZiBwcmVmaXggcmFuZ2VzLiAgSW4gdGhlDQogICBj
YXNlIG9mIGluZXQ2bnVtIGFuZCByb3V0ZTYgb2JqZWN0cywgIkFOWSIgcmVmZXJzIHRvIGFsbCBt
b3JlDQogICBzcGVjaWZpY3Mgb2YgdGhlIHByZWZpeCBpbiB0aGUgY2xhc3Mga2V5IGZpZWxkLiAg
Rm9yIHRoZSBhdXQtbnVtDQogICBjbGFzcywgIkFOWSIgbGl0ZXJhbGx5IG1lYW5zIGFueSBwcmVm
aXguIFRoZSBkZWZhdWx0IHdoZW4gbm8NCiAgIGFkZGl0aW9uYWwgc2V0IGl0ZW1zIGFyZSBzcGVj
aWZpZWQgaXMgIkFOWSIuDQoNCiAgIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBtbnQt
cm91dGVzIHVzYWdlLiAgVGhpcyBleGFtcGxlDQogICBhdXRob3JpemVzIE1BSU5ULTY1MDAxIHRv
IGNyZWF0ZSByb3V0ZTYgb2JqZWN0cyB3aXRoIGFuIG9yaWdpbiBBUyBvZg0KICAgNjUwMDIgZm9y
IElQdjYgYWRkcmVzcyBwcmVmaXhlcyB3aXRoaW4gdGhlIDNmZmU6ZmZmZjo6LzMyXisgcmFuZ2Us
DQogICBhbmQgcm91dGUgb2JqZWN0cyB3aXRoIG9yaWdpbiBBUyA2NTAwMiBmb3IgSVB2NCBwcmVm
aXhlcyB3aXRoaW4gdGhlDQogICAzNS40Mi4wLjAvMTZeKyByYW5nZS4NCg0KICAgYXV0LW51bTog
QVM2NTAwMg0KICAgbW50LXJvdXRlczogTUFJTlQtQVM2NTAwMSB7M2ZmZTpmZmZmOjovMzJeKywg
MzUuNDIuMC4wLzE2Xit9DQoNCiAgIE5vdGUsIHRoZSBpbmNsdXNpb24gb2YgSVB2NiBwcmVmaXgg
cmFuZ2VzIHdpdGhpbiBhIG1udC1yb3V0ZXMNCiAgIGF0dHJpYnV0ZSBpbiBhbiBhdXQtbnVtIG9i
amVjdCBtYXkgY29uZmxpY3Qgd2l0aCBleGlzdGluZw0KICAgaW1wbGVtZW50YXRpb25zIG9mIFJQ
U0wgd2hpY2ggc3VwcG9ydCBvbmx5IElQdjQgcHJlZml4IHJhbmdlcy4NCiAgIEhvd2V2ZXIsIGdp
dmVuIHRoZSBwZXJjZWl2ZWQgbGFjayBvZiBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIG9wdGlvbmFs
DQogICBwcmVmaXggcmFuZ2UgbGlzdCwgaXQgd2FzIGNvbnNpZGVyZWQgYWNjZXB0YWJsZSB0byBl
eHRlbmQgdGhlDQogICBleGlzdGluZyBkZWZpbml0aW9uIG9mIHRoZSBtbnQtcm91dGVzIGF0dHJp
YnV0ZSBpbiB0aGUgYXV0LW51bSBjbGFzcw0KICAgcmF0aGVyIHRoYW4gY3JlYXRpbmcgYSBuZXcg
YXR0cmlidXRlIHR5cGUuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQg
YWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFn
ZSAxNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAg
ICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCiAgIEF0dHJpYnV0ZSAgICAgVmFsdWUgICAg
ICAgICAgICAgICAgICAgIFR5cGUNCiAgIGluZXQ2bnVtICAgICAgPGlwdjYtYWRkcmVzcy1wcmVm
aXg+ICAgIG1hbmRhdG9yeSwgc2luZ2xlLXZhbHVlZCwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsYXNzIGtleQ0KICAgbmV0bmFtZSAgICAgICA8bmV0bmFtZT4g
ICAgICAgICAgICAgICAgbWFuZGF0b3J5LCBzaW5nbGUtdmFsdWVkDQogICBkZXNjciAgICAgICAg
IDxmcmVlLWZvcm0+ICAgICAgICAgICAgICBtYW5kYXRvcnksIG11bHRpLXZhbHVlZA0KICAgY291
bnRyeSAgICAgICA8Y291bnRyeS1jb2RlPiAgICAgICAgICAgbWFuZGF0b3J5LCBtdWx0aS12YWx1
ZWQNCiAgIGFkbWluLWMgICAgICAgPG5pYy1oYW5kbGU+ICAgICAgICAgICAgIG1hbmRhdG9yeSwg
bXVsdGktdmFsdWVkDQogICB0ZWNoLWMgICAgICAgIDxuaWMtaGFuZGxlPiAgICAgICAgICAgICBt
YW5kYXRvcnksIG11bHRpLXZhbHVlZA0KICAgcmVtYXJrcyAgICAgICA8ZnJlZS1mb3JtPiAgICAg
ICAgICAgICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbm90aWZ5ICAgICAgICA8ZW1haWwt
YWRkcmVzcz4gICAgICAgICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbW50LWxvd2VyICAg
ICBsaXN0IG9mIDxtbnRuZXItbmFtZT4gICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbW50
LXJvdXRlcyAgICBsaXN0IG9mIDxtbnRuZXItbmFtZT4gICAgb3B0aW9uYWwsIG11bHRpLXZhbHVl
ZA0KICAgICAgICAgICAgICAgICBbe2xpc3Qgb2YgPGlwdjYtYWRkcmVzcy1wcmVmaXgtcmFuZ2U+
fSBvciBBTlldDQogICBtbnQtYnkgICAgICAgIGxpc3Qgb2YgPG1udG5lci1uYW1lPiAgICBtYW5k
YXRvcnksIG11bHRpLXZhbHVlZA0KICAgY2hhbmdlZCAgICAgICA8ZW1haWwtYWRkcmVzcz4gPGRh
dGU+ICAgbWFuZGF0b3J5LCBtdWx0aS12YWx1ZWQNCiAgIHNvdXJjZSAgICAgICAgPHJlZ2lzdHJ5
LW5hbWU+ICAgICAgICAgIG1hbmRhdG9yeSwgc2luZ2xlLXZhbHVlZA0KDQoNCiAgIFRoZSA8Y291
bnRyeS1jb2RlPiBtdXN0IGJlIGEgdmFsaWQgdHdvLWxldHRlciBJU08gMzE2NiBjb3VudHJ5IGNv
ZGUNCiAgIGlkZW50aWZpZXIuICA8bmV0bmFtZT4gaXMgYSBzeW1ib2xpYyBuYW1lIGZvciB0aGUg
c3BlY2lmaWVkIElQdjYNCiAgIGFkZHJlc3Mgc3BhY2UuICBJdCBkb2VzIG5vdCBoYXZlIGEgcmVz
dHJpY3Rpb24gb24gUlBTTCByZXNlcnZlZA0KICAgcHJlZml4ZXMuIFRoZXNlIGRlZmluaXRpb25z
IGFyZSB0YWtlbiBmcm9tIHRoZSBSSVBFIERhdGFiYXNlDQogICBSZWZlcmVuY2UgTWFudWFsIFs0
XS4NCg0KNS4xIEF1dGhvcml6YXRpb24gbW9kZWwgZm9yIHJvdXRlNiBPYmplY3RzDQoNCiAgIERl
bGV0aW9uIGFuZCB1cGRhdGUgb2YgYSByb3V0ZTYgb2JqZWN0IGlzIG5vdCBkaWZmZXJlbnQgZnJv
bSBvdGhlcg0KICAgb2JqZWN0cywgYXMgZGVmaW5lZCBpbiBSRkMgMjcyNSBbMl0uIENyZWF0aW9u
IHJ1bGVzIG9mIGEgcm91dGU2DQogICBvYmplY3QgaXMgcmVwbGljYXRlZCBoZXJlIGZyb20gdGhl
IGNvcnJlc3BvbmRpbmcgcnVsZXMgZm9yIHJvdXRlDQogICBvYmplY3QgaW4gUkZDIDI3MjUgWzJd
IHNlY3Rpb24gOS45Lg0KDQogICBXaGVuIGFkZGluZyBhIHJvdXRlNiBvYmplY3QsIHRoZSBzdWJt
aXNzaW9uIG11c3Qgc2F0aXNmeSB0d28NCiAgIGF1dGhlbnRpY2F0aW9uIGNyaXRlcmlhLiBJdCBt
dXN0IG1hdGNoIHRoZSBhdXRoZW50aWNhdGlvbiBzcGVjaWZpZWQNCiAgIGluIHRoZSBhdXQtbnVt
IG9iamVjdCBhbmQgdGhlIGF1dGhlbnRpY2F0aW9uIHNwZWNpZmllZCBpbiBlaXRoZXIgYQ0KICAg
cm91dGU2IG9iamVjdCBvciBpZiBubyBhcHBsaWNhYmxlIHJvdXRlNiBvYmplY3QgaXMgZm91bmQs
IHRoZW4gYW4NCiAgIGluZXQ2bnVtIG9iamVjdC4NCg0KICAgQW4gYWRkaXRpb24gaXMgc3VibWl0
dGVkIHdpdGggYW4gQVMgbnVtYmVyIGFuZCBJUHY2IHByZWZpeCBhcyBpdHMNCiAgIGtleS4gSWYg
dGhlIGF1dC1udW0gb2JqZWN0IGRvZXMgbm90IGV4aXN0IG9uIGEgcm91dGU2IHRvIGFkZCwgdGhl
bg0KICAgdGhlIGFkZGl0aW9uIGlzIHJlamVjdGVkLiBJZiB0aGUgYXV0LW51bSBleGlzdHMgdGhl
biB0aGUgc3VibWlzc2lvbg0KICAgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZSBhcHBsaWNhYmxlIG1h
aW50YWluZXJzLiBBIHNlYXJjaCBpcyB0aGVuIGRvbmUNCiAgIGZvciB0aGUgcHJlZml4IGZpcnN0
IGxvb2tpbmcgZm9yIGFuIGV4YWN0IG1hdGNoLiBJZiB0aGUgc2VhcmNoIGZvciBhbg0KICAgZXhh
Y3QgbWF0Y2ggZmFpbHMsIGEgc2VhcmNoIGlzIG1hZGUgZm9yIHRoZSBsb25nZXN0IHByZWZpeCBt
YXRjaCB0aGF0DQogICBpcyBsZXNzIHNwZWNpZmljIHRoYW4gdGhlIHByZWZpeCBzcGVjaWZpZWQu
IElmIHRoaXMgc2VhcmNoIHN1Y2NlZWRzDQogICBpdCB3aWxsIHJldHVybiBvbmUgb3IgbW9yZSBy
b3V0ZTYgb2JqZWN0cy4gVGhlIHN1Ym1pc3Npb24gbXVzdCBtYXRjaA0KICAgYW4gYXBwbGljYWJs
ZSBtYWludGFpbmVyIGluIGF0IGxlYXN0IG9uZSBvZiB0aGVzZSByb3V0ZTYgb2JqZWN0cyBmb3IN
CiAgIHRoZSBhZGRpdGlvbiB0byBzdWNjZWVkLiBJZiB0aGUgc2VhcmNoIGZvciBhIHJvdXRlNiBv
YmplY3QgZmFpbHMsDQogICB0aGVuIGEgc2VhcmNoIGlzIHBlcmZvcm1lZCBmb3IgYW4gaW5ldDZu
dW0gb2JqZWN0IHRoYXQgZXhhY3RseQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1BhZ2UgMTVdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVt
YmVyIDIwMDMNCg0KDQogICBtYXRjaGVzIHRoZSBwcmVmaXggb3IgZm9yIHRoZSBtb3N0IHNwZWNp
ZmljIGluZXQ2bnVtIHRoYXQgaXMgbGVzcw0KICAgc3BlY2lmaWMgdGhhbiB0aGUgcm91dGU2IG9i
amVjdCBzdWJtaXNzaW9uLg0KDQogICBIYXZpbmcgZm91bmQgdGhlIGF1dC1udW0gYW5kIGVpdGhl
ciBhIGxpc3Qgb2Ygcm91dGU2IG9iamVjdHMgb3IgYW4NCiAgIGluZXQ2bnVtLCB0aGUgYXV0aG9y
aXphdGlvbiBpcyB0YWtlbiBmcm9tIHRoZXNlIG9iamVjdHMuIFRoZQ0KICAgYXBwbGljYWJsZSBt
YWludGFpbmVyIG9iamVjdCBpcyBhbnkgcmVmZXJlbmNlZCBieSB0aGUgbW50LXJvdXRlcw0KICAg
YXR0cmlidXRlcy4gSWYgb25lIG9yIG1vcmUgbW50LXJvdXRlcyBhdHRyaWJ1dGVzIGFyZSBwcmVz
ZW50IGluIGFuDQogICBvYmplY3QsIHRoZSBtbnQtYnkgb3IgbW50LWxvd2VyIGF0dHJpYnV0ZXMg
YXJlIG5vdCBjb25zaWRlcmVkLiBJbiB0aGUNCiAgIGFic2VuY2Ugb2YgYSBtbnQtcm91dGVzIGF0
dHJpYnV0ZSBpbiBhIGdpdmVuIG9iamVjdCwgdGhlbiBmaXJzdA0KICAgbW50LWxvd2VyIGF0dHJp
YnV0ZXMgYXJlIHVzZWQgKG9ubHkgaW4gdGhlIGNhc2UgdGhlIGdpdmVuIG9iamVjdCBpcw0KICAg
aW5ldDZudW0gb2JqZWN0IGFuZCBpdCBpcyBsZXNzIHNwZWNpZmljIHRoYW4gdGhlIHJvdXRlNiBv
YmplY3QgdG8gYmUNCiAgIGFkZGVkKSwgYW5kIGlmIG5vIGFwcGxpY2FibGUgbW50LWxvd2VyIGF0
dHJpYnV0ZSBpcyBmb3VuZCwgdGhlbiB0aGUNCiAgIG1udC1ieSBhdHRyaWJ1dGVzIGFyZSB1c2Vk
IGZvciB0aGF0IG9iamVjdC4gVGhlIGF1dGhlbnRpY2F0aW9uIG11c3QNCiAgIG1hdGNoIG9uZSBv
ZiB0aGUgYXV0aG9yaXphdGlvbiBpbiBlYWNoIG9mIHRoZSB0d28gb2JqZWN0cy4NCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAg
ICAgICAgICAgICAgICAgW1BhZ2UgMTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg
ICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo2LiBTZWN1
cml0eSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBleHRlbnNp
b25zIHRvIFJGQyAyNjIyIFsxXSBhbmQgUkZDIDI3MjUgWzJdLg0KICAgVGhlIGV4dGVuc2lvbnMg
YWRkcmVzcyB0aGUgbGltaXRhdGlvbnMgb2YgdGhlIGFmb3JlbWVudGlvbmVkDQogICBkb2N1bWVu
dHMgd2l0aCByZXNwZWN0IHRvIElQdjYgYW5kIG11bHRpY2FzdC4gICBUaGUgZXh0ZW5zaW9ucyBk
byBub3QNCiAgIGludHJvZHVjZSBhbnkgbmV3IHNlY3VyaXR5IGZ1bmN0aW9uYWxpdHkgb3IgdGhy
ZWF0cy4NCg0KICAgV2hpbGUgdGhlIGV4dGVuc2lvbnMgaW50cm9kdWNlIG5vIGFkZGl0aW9uYWwg
c2VjdXJpdHkgdGhyZWF0cywgaXQNCiAgIHNob3VsZCBiZSBub3RlZCB0aGF0IHRoZSBvcmlnaW5h
bCBSRkMgMjYyMiBbMV0gUlBTTCBzdGFuZGFyZCBpbmNsdWRlZA0KICAgc2V2ZXJhbCB3ZWFrIGFu
ZC9vciB2dWxuZXJhYmxlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuICBGaXJzdCwgdGhlDQog
ICAiTUFJTC1GUk9NIiBzY2hlbWUsIHdoaWNoIGNhbiBiZSBlYXNpbHkgZGVmZWF0ZWQgdmlhIHNv
dXJjZSBlbWFpbA0KICAgYWRkcmVzcyBzcG9vZmluZy4gIFNlY29uZGx5LCB0aGUgIkNSWVBULVBX
IiBzY2hlbWUsIHdoaWNoIGlzIHN1YmplY3QNCiAgIHRvIGRpY3Rpb25hcnkgYXR0YWNrcyBhbmQg
cGFzc3dvcmQgc25pZmZpbmcgaWYgUlBTTCBvYmplY3RzIGFyZQ0KICAgc3VibWl0dGVkIHZpYSB1
bmVuY3J5cHRlZCBjaGFubmVscyBzdWNoIGFzIGVtYWlsLiAgQW5kIGZpbmFsbHksIHRoZQ0KICAg
Ik5PTkUiIG1lY2hhbmlzbSwgd2hpY2ggb2ZmZXJzIG5vIHByb3RlY3Rpb24gZm9yIG9iamVjdHMu
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIw
LCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAxN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoN
CjcuIEFja25vd2xlZGdtZW50cw0KDQogICBUaGUgYXV0aG9ycyB3aXNoIHRvIHRoYW5rIGFsbCB0
aGUgcGVvcGxlIHdobyBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoaXMNCiAgIGRvY3VtZW50IHRocm91
Z2ggbnVtZXJvdXMgZGlzY3Vzc2lvbnMuDQoNCiAgIFBhcnRpY3VsYXJseSBFa2F0ZXJpbmEgUGV0
cnVzaGEgZm9yIGhpZ2hseSB2YWx1YWJsZSBkaXNjdXNzaW9ucyBhbmQNCiAgIHN1Z2dlc3Rpb25z
LiBTaGFuZSBLZXJyLCBFbmdpbiBHdW5kdXosIE1hcmsgQmxhbmNoZXQgYW5kIERhdmlkDQogICBL
ZXNzZW5zIHBhcnRpY2lwYXRlZCBjb25zdHJ1Y3RpdmVseSBpbiBtYW55IGRpc2N1c3Npb25zLiBG
aW5hbGx5LA0KICAgQ2VuZ2l6IEFsYWV0dGlub2dsdSB3aG8gaXMgc3RpbGwgdGhlIHJlZmVyZW5j
ZSBpbiBhbGwgdGhpbmdzIFJQU0wuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBb
UGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCk5vcm1hdGl2ZSBSZWZlcmVuY2VzDQoN
CiAgIFsxXSAgQWxhZXR0aW5vZ2x1LCBDLiwgVmlsbGFtaXphciwgQy4sIEdlcmljaCwgRS4sIEtl
c3NlbnMsIEQuLA0KICAgICAgICBNZXllciwgRC4sIEJhdGVzLCBULiwgS2FycmVuYmVyZywgRC4g
YW5kIE0uIFRlcnBzdHJhLCAiUm91dGluZw0KICAgICAgICBQb2xpY3kgU3BlY2lmaWNhdGlvbiBM
YW5ndWFnZSAoUlBTTCkiLCBSRkMgMjYyMiwgSnVuZSAxOTk5Lg0KDQogICBbMl0gIFZpbGxhbWl6
YXIsIEMuLCBBbGFldHRpbm9nbHUsIEMuLCBNZXllciwgRC4gYW5kIFMuIE11cnBoeSwNCiAgICAg
ICAgIlJvdXRpbmcgUG9saWN5IFN5c3RlbSBTZWN1cml0eSIsIFJGQyAyNzI1LCBEZWNlbWJlciAx
OTk5Lg0KDQogICBbM10gIEhpbmRlbiwgUi4gYW5kIFMuIERlZXJpbmcsICJJbnRlcm5ldCBQcm90
b2NvbCBWZXJzaW9uIDYgKElQdjYpDQogICAgICAgIEFkZHJlc3NpbmcgQXJjaGl0ZWN0dXJlIiwg
UkZDIDM1MTMsIEFwcmlsIDIwMDMuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkJsdW5rLCBldCBh
bC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIwMDQgICAgICAgICAgICAgICAgIFtQYWdl
IDE5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgUlBTTG5nICAgICAgICAg
ICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQog
ICBbNF0gIERhbWFzLCBKLiBhbmQgQS4gUm9iYWNoZXZza3ksICJSSVBFIERhdGFiYXNlIFJlZmVy
ZW5jZSBNYW51YWwiLA0KICAgICAgICBBdWd1c3QgMjAwMi4NCg0KDQpBdXRob3JzJyBBZGRyZXNz
ZXMNCg0KICAgTGFycnkgQmx1bmsNCiAgIE1lcml0IE5ldHdvcmsNCg0KICAgRU1haWw6IGxqYkBt
ZXJpdC5lZHUNCg0KDQogICBKb2FvIERhbWFzDQogICBJbnRlcm5ldCBTb2Z0d2FyZSBDb25zb3J0
aXVtDQoNCiAgIEVNYWlsOiBqb2FvQHBzZy5jb20NCg0KDQogICBGbG9yZW50IFBhcmVudA0KICAg
VmlhZ2VuaWUNCg0KICAgRU1haWw6IEZsb3JlbnQuUGFyZW50QHZpYWdlbmllLnFjLmNhDQoNCg0K
ICAgQW5kcmVpIFJvYmFjaGV2c2t5DQogICBSSVBFIE5DQw0KDQogICBFTWFpbDogYW5kcmVpQHJp
cGUubmV0DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBb
UGFnZSAyMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCkludGVsbGVjdHVhbCBQcm9wZXJ0eSBT
dGF0ZW1lbnQNCg0KICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2
YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCiAgIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvciBvdGhl
ciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvDQogICBwZXJ0YWluIHRvIHRoZSBpbXBs
ZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hub2xvZ3kgZGVzY3JpYmVkIGluDQogICB0aGlz
IGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vuc2UgdW5kZXIgc3VjaCBy
aWdodHMNCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5laXRoZXIgZG9lcyBp
dCByZXByZXNlbnQgdGhhdCBpdA0KICAgaGFzIG1hZGUgYW55IGVmZm9ydCB0byBpZGVudGlmeSBh
bnkgc3VjaCByaWdodHMuIEluZm9ybWF0aW9uIG9uIHRoZQ0KICAgSUVURidzIHByb2NlZHVyZXMg
d2l0aCByZXNwZWN0IHRvIHJpZ2h0cyBpbiBzdGFuZGFyZHMtdHJhY2sgYW5kDQogICBzdGFuZGFy
ZHMtcmVsYXRlZCBkb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCBpbiBCQ1AtMTEuIENvcGllcyBv
Zg0KICAgY2xhaW1zIG9mIHJpZ2h0cyBtYWRlIGF2YWlsYWJsZSBmb3IgcHVibGljYXRpb24gYW5k
IGFueSBhc3N1cmFuY2VzIG9mDQogICBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWlsYWJsZSwgb3Ig
dGhlIHJlc3VsdCBvZiBhbiBhdHRlbXB0IG1hZGUgdG8NCiAgIG9idGFpbiBhIGdlbmVyYWwgbGlj
ZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mIHN1Y2gNCiAgIHByb3ByaWV0YXJ5IHJp
Z2h0cyBieSBpbXBsZW1lbnRvcnMgb3IgdXNlcnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGNhbg0K
ICAgYmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBTZWNyZXRhcmlhdC4NCg0KICAgVGhlIElFVEYg
aW52aXRlcyBhbnkgaW50ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uIGFu
eQ0KICAgY29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhl
ciBwcm9wcmlldGFyeQ0KICAgcmlnaHRzIHdoaWNoIG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQg
bWF5IGJlIHJlcXVpcmVkIHRvIHByYWN0aWNlDQogICB0aGlzIHN0YW5kYXJkLiBQbGVhc2UgYWRk
cmVzcyB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIElFVEYgRXhlY3V0aXZlDQogICBEaXJlY3Rvci4N
Cg0KDQpGdWxsIENvcHlyaWdodCBTdGF0ZW1lbnQNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50
ZXJuZXQgU29jaWV0eSAoMjAwMykuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQoNCiAgIFRoaXMgZG9j
dW1lbnQgYW5kIHRyYW5zbGF0aW9ucyBvZiBpdCBtYXkgYmUgY29waWVkIGFuZCBmdXJuaXNoZWQg
dG8NCiAgIG90aGVycywgYW5kIGRlcml2YXRpdmUgd29ya3MgdGhhdCBjb21tZW50IG9uIG9yIG90
aGVyd2lzZSBleHBsYWluIGl0DQogICBvciBhc3Npc3QgaW4gaXRzIGltcGxlbWVudGF0aW9uIG1h
eSBiZSBwcmVwYXJlZCwgY29waWVkLCBwdWJsaXNoZWQNCiAgIGFuZCBkaXN0cmlidXRlZCwgaW4g
d2hvbGUgb3IgaW4gcGFydCwgd2l0aG91dCByZXN0cmljdGlvbiBvZiBhbnkNCiAgIGtpbmQsIHBy
b3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBo
IGFyZQ0KICAgaW5jbHVkZWQgb24gYWxsIHN1Y2ggY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtz
LiBIb3dldmVyLCB0aGlzDQogICBkb2N1bWVudCBpdHNlbGYgbWF5IG5vdCBiZSBtb2RpZmllZCBp
biBhbnkgd2F5LCBzdWNoIGFzIGJ5IHJlbW92aW5nDQogICB0aGUgY29weXJpZ2h0IG5vdGljZSBv
ciByZWZlcmVuY2VzIHRvIHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIG90aGVyDQogICBJbnRlcm5l
dCBvcmdhbml6YXRpb25zLCBleGNlcHQgYXMgbmVlZGVkIGZvciB0aGUgcHVycG9zZSBvZg0KICAg
ZGV2ZWxvcGluZyBJbnRlcm5ldCBzdGFuZGFyZHMgaW4gd2hpY2ggY2FzZSB0aGUgcHJvY2VkdXJl
cyBmb3INCiAgIGNvcHlyaWdodHMgZGVmaW5lZCBpbiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIHBy
b2Nlc3MgbXVzdCBiZQ0KICAgZm9sbG93ZWQsIG9yIGFzIHJlcXVpcmVkIHRvIHRyYW5zbGF0ZSBp
dCBpbnRvIGxhbmd1YWdlcyBvdGhlciB0aGFuDQogICBFbmdsaXNoLg0KDQogICBUaGUgbGltaXRl
ZCBwZXJtaXNzaW9ucyBncmFudGVkIGFib3ZlIGFyZSBwZXJwZXR1YWwgYW5kIHdpbGwgbm90IGJl
DQogICByZXZva2VkIGJ5IHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIGl0cyBzdWNjZXNzb3JzIG9y
IGFzc2lnbmVlcy4NCg0KICAgVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRh
aW5lZCBoZXJlaW4gaXMgcHJvdmlkZWQgb24gYW4NCiAgICJBUyBJUyIgYmFzaXMgYW5kIFRIRSBJ
TlRFUk5FVCBTT0NJRVRZIEFORCBUSEUgSU5URVJORVQgRU5HSU5FRVJJTkcNCiAgIFRBU0sgRk9S
Q0UgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
Rw0KICAgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhF
IElORk9STUFUSU9ODQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5
IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0K
DQoNCiAgIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YNCiAgIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4NCg0KDQpBY2tub3dsZWRnbWVudA0KDQogICBGdW5kaW5nIGZvciB0aGUg
UkZDIEVkaXRvciBmdW5jdGlvbiBpcyBjdXJyZW50bHkgcHJvdmlkZWQgYnkgdGhlDQogICBJbnRl
cm5ldCBTb2NpZXR5Lg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwu
ICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAy
Ml0NCgwNCi==

--=-hBt6deZdbzKC595yVR/x--

_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps


From exim@www1.ietf.org  Fri Nov 21 10:37:40 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA18111
	for <rps-archive@odin.ietf.org>; Fri, 21 Nov 2003 10:37:40 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDLV-0005s8-DS
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 10:37:24 -0500
Received: (from exim@localhost)
	by www1.ietf.org (8.12.8/8.12.8/Submit) id hALFbLvu022558
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 10:37:21 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDLU-0005rl-Ho
	for rps-web-archive@optimus.ietf.org; Fri, 21 Nov 2003 10:37:20 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA18081
	for <rps-web-archive@ietf.org>; Fri, 21 Nov 2003 10:37:06 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDLR-0003nB-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 10:37:17 -0500
Received: from [132.151.1.19] (helo=optimus.ietf.org)
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDLR-0003n3-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 10:37:17 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDLA-0005mJ-HK; Fri, 21 Nov 2003 10:37:00 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANDGb-0005dD-20
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 10:32:17 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA17920
	for <rps@ietf.org>; Fri, 21 Nov 2003 10:32:02 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDGY-0003l8-00
	for rps@ietf.org; Fri, 21 Nov 2003 10:32:14 -0500
Received: from dhcp62-10.merit.edu ([198.108.62.240] helo=bliss.merit.edu)
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANDGW-0003l0-00
	for rps@ietf.org; Fri, 21 Nov 2003 10:32:13 -0500
Received: from bliss.merit.edu (localhost [127.0.0.1])
	by bliss.merit.edu (8.12.10/8.12.10) with ESMTP id hALFW6ej000809;
	Fri, 21 Nov 2003 10:32:06 -0500
Received: (from ljb@localhost)
	by bliss.merit.edu (8.12.10/8.12.10/Submit) id hAL6M54R001134;
	Fri, 21 Nov 2003 01:22:05 -0500
X-Authentication-Warning: bliss.merit.edu: ljb set sender to ljb@merit.edu using -f
From: "Larry J. Blunk" <ljb@merit.edu>
Reply-To: ljb@merit.edu
To: Pekka Savola <pekkas@netcore.fi>
Cc: curtis@fictitious.org, rpslng@ripe.net, rps@ietf.org
In-Reply-To: <Pine.LNX.4.44.0309181408040.17750-100000@netcore.fi>
References: <Pine.LNX.4.44.0309181408040.17750-100000@netcore.fi>
Content-Type: multipart/mixed; boundary="=-hBt6deZdbzKC595yVR/x"
Organization: Merit Network, Inc.
Message-Id: <1069395724.1063.12.camel@localhost>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.4.5 
Subject: [Rps] Latest RPSLng draft
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: Fri, 21 Nov 2003 01:22:05 -0500


--=-hBt6deZdbzKC595yVR/x
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

   I've attached the latest draft of the RPSLng spec.  I've left the
afi definition section as it was previously as I don't think there
was consensus to change the meaning of ipv4 and ipv6 to include
both unicast and multicast.   Please let me know if there are any
strong feelings about this.   One option could be to add ipv4.any
and ipv6.any types as a shorthand for ipv4.unicast,ipv4.multicast and
ipv6.unicast,ipv6.multicast.  However, I'm not sure if this doesn't
actually make things worse by creating more clutter in the spec.


   I've reduced the encapsulation types for the tunnel option in
the interface: attribute to just GRE and IPinIP.  IPinIP was
deemed sufficient since you already know the address types
of the encapsulating end-points.  DVMRP was dropped since the
protocol/encapsulation method seems to be deprecated at this point.
Should we add other encapsulation methods to this attribute?  For
example, LT2P, PPTP, or IPSec?   Would it be useful to have an
afi specification to indentify/restrict the address family types
carried across the tunnel?

 -Larry Blunk
  Merit


--=-hBt6deZdbzKC595yVR/x
Content-Disposition: attachment; filename=rpslng.txt
Content-Type: text/plain; name=rpslng.txt; charset=
Content-Transfer-Encoding: base64

DQoNCk5ldHdvcmsgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMLiBCbHVuaw0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNZXJpdCBOZXR3b3JrDQpVcGRhdGVzOiAyMjYyLCAyNzI1
IChpZiBhcHByb3ZlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSi4gRGFtYXMNCkV4
cGlyZXM6IE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuZXQgU29mdHdh
cmUgQ29uc29ydGl1bQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRi4gUGFyZW50DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlhZ2VuaWUNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBLiBSb2Jh
Y2hldnNreQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJJUEUgTkNDDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAsIDIwMDMNCg0KDQogICAgIFJvdXRp
bmcgUG9saWN5IFNwZWNpZmljYXRpb24gTGFuZ3VhZ2UgbmV4dCBnZW5lcmF0aW9uIChSUFNMbmcp
DQogICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0LWJsdW5rLXJwc2xuZy0wMi50eHQNCg0KU3Rh
dHVzIG9mIHRoaXMgTWVtbw0KDQogICBUaGlzIGRvY3VtZW50IGlzIGFuIEludGVybmV0LURyYWZ0
IGFuZCBpcyBpbiBmdWxsIGNvbmZvcm1hbmNlIHdpdGgNCiAgIGFsbCBwcm92aXNpb25zIG9mIFNl
Y3Rpb24gMTAgb2YgUkZDMjAyNi4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRv
Y3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYp
LCBpdHMgYXJlYXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuIE5vdGUgdGhhdCBvdGhlcg0KICAg
Z3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQt
RHJhZnRzLg0KDQogICBJbnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBm
b3IgYSBtYXhpbXVtIG9mIHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFj
ZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiBJdCBp
cyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBJbnRlcm5ldC1EcmFmdHMgYXMgcmVmZXJlbmNlDQogICBt
YXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4i
DQoNCiAgIFRoZSBsaXN0IG9mIGN1cnJlbnQgSW50ZXJuZXQtRHJhZnRzIGNhbiBiZSBhY2Nlc3Nl
ZCBhdCBodHRwOi8vDQogICB3d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0K
ICAgVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBh
Y2Nlc3NlZCBhdA0KICAgaHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhp
cyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBNYXkgMjAsIDIwMDQuDQoNCkNvcHlyaWdo
dCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwMyku
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQoNCkFic3RyYWN0DQoNCiAgIFRoaXMgbWVtbyBwcmVzZW50
cyBhIG5ldyBzZXQgb2Ygc2ltcGxlIGV4dGVuc2lvbnMgdG8gdGhlIFJvdXRpbmcNCiAgIFBvbGlj
eSBTcGVjaWZpY2F0aW9uIExhbmd1YWdlIChSUFNMKSBbMV0gZW5hYmxpbmcgdGhlIGxhbmd1YWdl
IHRvDQogICBkb2N1bWVudCByb3V0aW5nIHBvbGljaWVzIGZvciB0aGUgSVB2NiBhbmQgbXVsdGlj
YXN0IGFkZHJlc3MgZmFtaWxpZXMNCiAgIGN1cnJlbnRseSB1c2VkIGluIHRoZSBJbnRlcm5ldC4N
Cg0KDQoNCg0KDQoNCkJsdW5rLCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIw
MDQgICAgICAgICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg
ICAgICAgICAgUlBTTG5nICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KVGFi
bGUgb2YgQ29udGVudHMNCg0KICAgMS4gICAgSW50cm9kdWN0aW9uIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzDQogICAyLiAgICBTcGVjaWZ5aW5nIHJv
dXRpbmcgcG9saWN5IGZvciBkaWZmZXJlbnQgYWRkcmVzcyBmYW1pbGllcyAuIC4gIDQNCiAgIDIu
MSAgIEFtYmlndWl0eSBSZXNvbHV0aW9uIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAgNA0KICAgMi4yICAgVGhlIGFmaSBkaWN0aW9uYXJ5IGF0dHJpYnV0ZSAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAyLjMgICBSUFNMIGRpY3Rpb25hcnkgZXh0
ZW5zaW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDUNCiAgIDIuNCAgIElQ
djYgUlBTTCB0eXBlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAgNQ0KICAgMi41ICAgbXAtaW1wb3J0LCBtcC1leHBvcnQsIGFuZCBtcC1kZWZhdWx0IC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuICA1DQogICAyLjUuMSA8bXAtcGVlcmluZz4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDcNCiAgIDIuNS4yIDxtcC1maWx0
ZXI+ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNw0K
ICAgMi41LjMgUG9saWN5IGV4YW1wbGVzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuICA3DQogICAzLiAgICByb3V0ZTYgQ2xhc3MgLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkNCiAgIDQuICAgIFVwZGF0ZXMgdG8gZXhp
c3RpbmcgQ2xhc3NlcyB0byBzdXBwb3J0IHRoZSBleHRlbnNpb25zICAuIC4gLiAxMA0KICAgNC4x
ICAgYXMtc2V0IENsYXNzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIDEwDQogICA0LjIgICByb3V0ZS1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTANCiAgIDQuMyAgIGZpbHRlci1zZXQgQ2xhc3MgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgNC40ICAgcGVl
cmluZy1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IDExDQogICA0LjUgICBpbmV0LXJ0ciBDbGFzcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gMTENCiAgIDQuNiAgIHJ0ci1zZXQgQ2xhc3MgIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxMg0KICAgNS4gICAgUkZDIDI3MjUg
ZXh0ZW5zaW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE0DQog
ICA1LjEgICBBdXRob3JpemF0aW9uIG1vZGVsIGZvciByb3V0ZTYgT2JqZWN0cyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gMTUNCiAgIDYuICAgIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxNw0KICAgNy4gICAgQWNrbm93bGVkZ21lbnRz
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICAgICAg
ICBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gMTkNCiAgICAgICAgIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAyMA0KICAgICAgICAgQXV0aG9ycycgQWRkcmVzc2VzIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDIwDQogICAgICAgICBJbnRl
bGxlY3R1YWwgUHJvcGVydHkgYW5kIENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4g
MjENCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAg
W1BhZ2UgMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCjEuIEludHJvZHVjdGlvbg0KDQogICBS
RkMgMjYyMiBbMV0gZGVmaW5lcyB0aGUgUlBTTCBsYW5ndWFnZSBmb3IgdGhlIElQdjQgdW5pY2Fz
dCByb3V0aW5nDQogICBwcm90b2NvbHMgYW5kIGEgc2VyaWVzIG9mIGd1aWRlbGluZXMgZm9yIGV4
dGVuZGluZyB0aGUgUlBTTCBsYW5ndWFnZQ0KICAgaXRzZWxmLiAgQWRkaXRpb25hbGx5LCBzZWN1
cml0eSBleHRlbnNpb25zIHRvIHRoZSBSUFNMIGxhbmd1YWdlIGFyZQ0KICAgc3BlY2lmaWVkIGlu
IFJGQyAyNzI1IFsyXS4NCg0KICAgVGhpcyBkb2N1bWVudCBwcm9wb3NlcyB0byBleHRlbmQgUlBT
TCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZw0KICAgZ29hbHMgYW5kIHJlcXVpcmVtZW50czoN
Cg0KICAgbyAgUHJvdmlkZSBSUFNMIGV4dGVuc2liaWxpdHkgaW4gdGhlIGRpbWVuc2lvbiBvZiBh
ZGRyZXNzIGZhbWlsaWVzLg0KICAgICAgU3BlY2lmaWNhbGx5LCB0byBhbGxvdyB1c2VycyB0byBk
b2N1bWVudCByb3V0aW5nIHBvbGljeSBmb3IgSVB2Ng0KICAgICAgYW5kIG11bHRpY2FzdC4NCg0K
ICAgbyAgRXh0ZW5zaW9ucyBzaG91bGQgYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIG1pbmlt
YWwgaW1wYWN0IG9uDQogICAgICBleGlzdGluZyB0b29scyBhbmQgcHJvY2Vzc2VzLCBmb2xsb3dp
bmcgU2VjdGlvbiAxMCBvZiBSRkMgMjYyMiBbMV0NCiAgICAgIGZvciBndWlkZWxpbmVzIG9uIGV4
dGVuZGluZyBSUFNMLg0KDQogICBvICBNYWludGFpbiBjbGFyaXR5IGFuZCBub24tYW1iaWd1aXR5
OiBSUFNMIGluZm9ybWF0aW9uIGlzIHVzZWQgYnkNCiAgICAgIGh1bWFucyBpbiBhZGRpdGlvbiB0
byBzb2Z0d2FyZSB0b29scy4NCg0KICAgbyAgTWluaW1pemUgZHVwbGljYXRpb24gb2YgaW5mb3Jt
YXRpb24sIHBhcnRpY3VsYXJseSB3aGVuIHJvdXRpbmcNCiAgICAgIHBvbGljaWVzIGZvciBkaWZm
ZXJlbnQgYWRkcmVzcyBmYW1pbGllcyBhcmUgdGhlIHNhbWUuDQoNCiAgIFRoZSBhZGRpdGlvbiBv
ZiBJUHY2IGFuZCBtdWx0aWNhc3Qgc3VwcG9ydCB0byBSUFNMIGxlYWRzIHRvIGZvdXINCiAgIGRp
c3RpbmN0IHJvdXRpbmcgcG9saWNpZXMgdGhhdCBuZWVkIHRvIGJlIGRpc3Rpbmd1aXNoZWQgaW4g
dGhpcw0KICAgc3BlY2lmaWNhdGlvbiwgbmFtZWx5LCAoSVB2NCB7dW5pY2FzdHxtdWx0aWNhc3R9
LCBJUHY2DQogICB7dW5pY2FzdHxtdWx0aWNhc3R9KS4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMg
TWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAgW1BhZ2UgM10NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAw
Mw0KDQoNCjIuIFNwZWNpZnlpbmcgcm91dGluZyBwb2xpY3kgZm9yIGRpZmZlcmVudCBhZGRyZXNz
IGZhbWlsaWVzDQoNCiAgIFJvdXRpbmcgcG9saWN5IGlzIGN1cnJlbnRseSBzcGVjaWZpZWQgaW4g
dGhlIGF1dC1udW0gY2xhc3MgdXNpbmcNCiAgICJpbXBvcnQ6IiwgImV4cG9ydDoiLCBhbmQgImRl
ZmF1bHQ6IiBhdHRyaWJ1dGVzLiBTb21ldGltZXMgaXQgaXMNCiAgIGltcG9ydGFudCB0byBkaXN0
aW5ndWlzaCBwb2xpY3kgZm9yIGRpZmZlcmVudCBhZGRyZXNzIGZhbWlsaWVzLCBhcw0KICAgd2Vs
bCBhcyBhIHVuaWNhc3Qgcm91dGluZyBwb2xpY3kgZnJvbSBhIG11bHRpY2FzdCBvbmUuDQoNCiAg
IFdoaWxlIHRoZSBzeW50YXggb2YgdGhlIGV4aXN0aW5nIGltcG9ydCwgZXhwb3J0LCBhbmQgZGVm
YXVsdA0KICAgYXR0cmlidXRlcyBjb3VsZCBiZSBleHRlbmRlZCwgdGhpcyB3b3VsZCBwcmVzZW50
IGJhY2t3YXJkDQogICBjb21wYXRpYmlsaXR5IGlzc3VlcyBhbmQgY291bGQgdW5kZXJtaW5lIGNs
YXJpdHkgaW4gdGhlIGV4cHJlc3Npb25zLg0KDQogICBLZWVwaW5nIHRoaXMgaW4gbWluZCwgdGhl
ICJpbXBvcnQ6IiwgImV4cG9ydDoiLCBhbmQgImRlZmF1bHQ6Ig0KICAgYXR0cmlidXRlcyBpbXBs
aWNpdGx5IHNwZWNpZnkgSVB2NCB1bmljYXN0IHBvbGljeSBhbmQgcmVtYWluIGFzDQogICBkZWZp
bmVkIHByZXZpb3VzbHkgaW4gUlBTTCwgYW5kIG5ldyBtdWx0aS1wcm90b2NvbCAocHJlZml4ZWQg
d2l0aCB0aGUNCiAgIHN0cmluZyAibXAtIikgYXR0cmlidXRlcyBhcmUgaW50cm9kdWNlZC4gVGhl
c2UgbmV3ICJtcC0iIGF0dHJpYnV0ZXMNCiAgIHdpbGwgYmUgZGVzY3JpYmVkIGJlbG93Lg0KDQoy
LjEgQW1iaWd1aXR5IFJlc29sdXRpb24NCg0KICAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgc2Ft
ZSBwZWVyaW5nIGNhbiBiZSBjb3ZlcmVkIGJ5IG1vcmUgdGhhbiBvbmUNCiAgIG11bHRpLXByb3Rv
Y29sIHBvbGljeSBhdHRyaWJ1dGUgb3IgYnkgYSBjb21iaW5hdGlvbiBvZiBtdWx0aS1wcm90b2Nv
bA0KICAgcG9saWN5IGF0dHJpYnV0ZXMgKHdoZW4gc3BlY2lmeWluZyBJUHY0IHVuaWNhc3QgcG9s
aWN5KSBhbmQgdGhlDQogICBwcmV2aW91c2x5IGRlZmluZWQgSVB2NCB1bmljYXN0IHBvbGljeSBh
dHRyaWJ1dGVzLiAgSW4gdGhlc2UgY2FzZXMsDQogICBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGZv
bGxvdyB0aGUgc3BlY2lmaWNhdGlvbi1vcmRlciBydWxlIGFzIGRlZmluZWQNCiAgIGluIFNlY3Rp
b24gNi40IG9mIFJGQyAyNjIyIFsxXS4gIE5hbWVseSwgdG8gYnJlYWsgdGhlIGFtYmlndWl0eSwg
dGhlDQogICBhY3Rpb24gY29ycmVzcG9uZGluZyB0byB0aGUgZmlyc3QgcGVlcmluZyBzcGVjaWZp
Y2F0aW9uIGlzIHVzZWQuDQoNCjIuMiBUaGUgYWZpIGRpY3Rpb25hcnkgYXR0cmlidXRlDQoNCiAg
IEluIHRoaXMgc2VjdGlvbiB3ZSBpbnRyb2R1Y2UgYSBuZXcgZGljdGlvbmFyeSBhdHRyaWJ1dGU6
DQoNCiAgIEFkZHJlc3MgRmFtaWx5IElkZW50aWZpZXIsIDxhZmk+LCBpcyBhbiBSUFNMIGxpc3Qg
b2YgYWRkcmVzcyBmYW1pbGllcw0KICAgZm9yIHdoaWNoIGEgZ2l2ZW4gcm91dGluZyBwb2xpY3kg
ZXhwcmVzc2lvbiBzaG91bGQgYmUgZXZhbHVhdGVkLg0KICAgPGFmaT4gaXMgbWFuZGF0b3J5IHdp
dGhpbiB0aGUgbmV3IG11bHRpLXByb3RvY29sIGF0dHJpYnV0ZXMNCiAgIGludHJvZHVjZWQgaW4g
dGhlIGF1dC1udW0gY2xhc3MuDQoNCiAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIDxhZmk+IGFy
ZToNCg0KICAgICAgaXB2NA0KICAgICAgaXB2NC51bmljYXN0IChlcXVpdmFsZW50IHRvIGlwdjQp
DQogICAgICBpcHY0Lm11bHRpY2FzdA0KICAgICAgaXB2Ng0KICAgICAgaXB2Ni51bmljYXN0IChl
cXVpdmFsZW50IHRvIGlwdjYpDQogICAgICBpcHY2Lm11bHRpY2FzdA0KDQogICBBcHBlYXJhbmNl
IG9mIHRoZXNlIHZhbHVlcyBpbiBhbiBhdHRyaWJ1dGUgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUN
CiAgIGtleXdvcmQgYWZpLg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGly
ZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIg
MjAwMw0KDQoNCiAgIEFuIDxhZmktbGlzdD4gaXMgZGVmaW5lZCBhcyBhIGNvbW1hIHNlcGFyYXRl
ZCBsaXN0IG9mIG9uZSBvciBtb3JlIGFmaQ0KICAgdmFsdWVzLg0KDQoyLjMgUlBTTCBkaWN0aW9u
YXJ5IGV4dGVuc2lvbnMNCg0KICAgSW4gb3JkZXIgdG8gc3VwcG9ydCBJUHY2IGFkZHJlc3NlcyBz
cGVjaWZpZWQgd2l0aCB0aGUgbmV4dC1ob3ANCiAgIHJwLWF0dHJpYnV0ZSwgYSBuZXcgcHJlZGVm
aW5lZCBkaWN0aW9uYXJ5IHR5cGUgZW50aXRsZWQNCiAgICJpcHY2X2FkZHJlc3MiIGlzIGFkZGVk
IHRvIHRoZSBSUFNMIGRpY3Rpb25hcnkuICAgVGhlIGRlZmluaXRpb24gb2YNCiAgIHRoaXMgdHlw
ZSBpcyB0YWtlbiBmcm9tIFNlY3Rpb24gMi4yIG9mIFJGQyAzNTEzIFszXS4NCg0KICAgVGhlIG5l
eHQtaG9wIHJwLWF0dHJpYnV0ZSBpcyBleHBhbmRlZCBpbiB0aGUgZGljdGlvbmFyeSBhcyBmb2xs
b3dzOg0KDQogICBycC1hdHRyaWJ1dGU6ICMgbmV4dCBob3Agcm91dGVyIGluIGEgc3RhdGljIHJv
dXRlDQogICAgICAgICAgICAgICAgIG5leHQtaG9wDQogICAgICAgICAgICAgICAgIG9wZXJhdG9y
PSh1bmlvbiBpcHY0X2FkZHJlc3MsIGlwdjZfYWRkcmVzcywgZW51bVtzZWxmXSkNCg0KICAgQSBu
ZXcgdmFsdWUgaGFzIGJlZW4gYWRkZWQgZm9yIHRoZSA8cHJvdG9jb2w+IGRpY3Rpb25hcnkNCiAg
IHNwZWNpZmljYXRpb246DQoNCiAgICAgIE1QQkdQDQoNCiAgIE1QQkdQIGlzIHVuZGVyc3Rvb2Qg
dG8gYmUgQkdQNCB3aXRoIG11bHRpLXByb3RvY29sIGV4dGVuc2lvbnMgKG9mdGVuDQogICByZWZl
cnJlZCB0byBhcyBCR1A0KykuICBCR1A0KyBjb3VsZCBub3QgYmUgdXNlZCBhcyB0aGUgJysnIGNo
YXJhY3Rlcg0KICAgaXMgbm90IGFsbG93ZWQgYnkgdGhlIFJQU0wgc3BlY2lmaWNhdGlvbiBpbiBw
cm90b2NvbCBuYW1lcy4NCg0KMi40IElQdjYgUlBTTCB0eXBlcw0KDQogICBUaGlzIGRvY3VtZW50
IHdpbGwgcmVmZXJlbmNlIHRocmVlIG5ldyBJUHY2IFJQU0wgdHlwZXMsIG5hbWVseSwNCiAgIDxp
cHY2LWFkZHJlc3M+LCA8aXB2Ni1hZGRyZXNzLXByZWZpeD4sIGFuZA0KICAgPGlwdjYtYWRkcmVz
cy1wcmVmaXgtcmFuZ2U+LiAgVGhlIDxpcHY2LWFkZHJlc3M+IGFuZA0KICAgPGlwdjYtYWRkcmVz
cy1wcmVmaXg+IHR5cGVzIGFyZSBkZWZpbmVkIGluIFNlY3Rpb25zIDIuMiBhbmQgMi4zIG9mDQog
ICBSRkMgMzUxMyBbM10uIFRoZSA8aXB2Ni1hZGRyZXNzLXByZWZpeC1yYW5nZT4gdHlwZSBhZGRz
IGEgcmFuZ2UNCiAgIG9wZXJhdG9yIHRvIHRoZSA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gdHlwZS4g
IFRoZSByYW5nZSBvcGVyYXRvciBpcw0KICAgZGVmaW5lZCBpbiBTZWN0aW9uIDIgb2YgUkZDIDI2
MjIgWzFdLg0KDQoyLjUgbXAtaW1wb3J0LCBtcC1leHBvcnQsIGFuZCBtcC1kZWZhdWx0DQoNCiAg
IFRocmVlIG5ldyBwb2xpY3kgYXR0cmlidXRlcyBhcmUgaW50cm9kdWNlZCBpbiB0aGUgYXV0LW51
bSBDbGFzczoNCg0KICAgICAgbXAtaW1wb3J0Og0KICAgICAgbXAtZXhwb3J0Og0KICAgICAgbXAt
ZGVmYXVsdDoNCg0KICAgVGhlc2UgYXR0cmlidXRlcyBpbmNvcnBvcmF0ZSB0aGUgYWZpIChhZGRy
ZXNzLWZhbWlseSkgc3BlY2lmaWNhdGlvbi4NCiAgIFRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9y
dCBhdHRyaWJ1dGVzIGhhdmUgYm90aCBhIGJhc2ljIHBvbGljeQ0KICAgc3BlY2lmaWNhdGlvbiBh
bmQgYSBtb3JlIHBvd2VyZnVsIHN0cnVjdHVyZWQgcG9saWN5IHNwZWNpZmljYXRpb24uDQoNCiAg
IFRoZSBzeW50YXggZm9yIHRoZSBtcC1kZWZhdWx0IGF0dHJpYnV0ZSBhbmQgdGhlIGJhc2ljIHBv
bGljeQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAw
NCAgICAgICAgICAgICAgICAgIFtQYWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICBz
cGVjaWZpY2F0aW9uIG9mIHRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9ydCBhdHRyaWJ1dGVzIGlz
IGFzDQogICBmb2xsb3dzOg0KDQoNCiAgIEF0dHJpYnV0ZSAgVmFsdWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUNCiAgIG1wLWltcG9ydCAgW3Byb3RvY29sIDxw
cm90b2NvbC0xPl0gW2ludG8gPHByb3RvY29sLTI+XSAgIG9wdGlvbmFsLA0KICAgICAgICAgICAg
ICBhZmkgPGFmaS1saXN0PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGktdmFs
dWVkDQogICAgICAgICAgICAgIGZyb20gPG1wLXBlZXJpbmctMT4gW2FjdGlvbiA8YWN0aW9uLTE+
XQ0KICAgICAgICAgICAgICAuIC4gLg0KICAgICAgICAgICAgICBmcm9tIDxtcC1wZWVyaW5nLU4+
IFthY3Rpb24gPGFjdGlvbi1OPl0NCiAgICAgICAgICAgICAgYWNjZXB0IDxtcC1maWx0ZXI+DQoN
CiAgIG1wLWV4cG9ydCAgW3Byb3RvY29sIDxwcm90b2NvbC0xPl0gW2ludG8gPHByb3RvY29sLTI+
XSAgIG9wdGlvbmFsLA0KICAgICAgICAgICAgICBhZmkgPGFmaS1saXN0PiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbXVsdGktdmFsdWVkDQogICAgICAgICAgICAgIHRvIDxtcC1wZWVy
aW5nLTE+IFthY3Rpb24gPGFjdGlvbi0xPl0NCiAgICAgICAgICAgICAgLiAuIC4NCiAgICAgICAg
ICAgICAgdG8gPG1wLXBlZXJpbmctTj4gW2FjdGlvbiA8YWN0aW9uLU4+XQ0KICAgICAgICAgICAg
ICBhbm5vdW5jZSA8bXAtZmlsdGVyPg0KDQogICBtcC1kZWZhdWx0IGFmaSA8YWZpLWxpc3Q+IHRv
IDxtcC1wZWVyaW5nPiAgICAgICAgICAgICAgICBvcHRpb25hbCwNCiAgICAgICAgICAgICAgW2Fj
dGlvbiA8YWN0aW9uPl0gW25ldHdvcmtzIDxtcC1maWx0ZXI+XSAgICAgIG11bHRpLXZhbHVlZA0K
DQoNCiAgIFRoZSBtcC1pbXBvcnQgYW5kIG1wLWV4cG9ydCBwb2xpY2llcyBjYW4gYmUgc3RydWN0
dXJlZC4gIEFzIHdpdGggUkZDDQogICAyNjIyIFsxXSwgc3RydWN0dXJlZCBwb2xpY2llcyBhcmUg
cmVjb21tZW5kZWQgb25seSB0byBhZHZhbmNlZCBSUFNMDQogICB1c2Vycy4gIEZvciB0aGUgc2Fr
ZSBvZiBicmV2aXR5LCBvbmx5IHRoZSBtcC1pbXBvcnQgc3RydWN0dXJlZCBwb2xpY3kNCiAgIHN5
bnRheCBpcyBkZWZpbmVkIGJlbG93LiAgIFRoZSBtcC1leHBvcnQgc3RydWN0dXJlZCBwb2xpY3kg
c3ludGF4IGlzDQogICBleHByZXNzZWQgaW4gYSBzeW1tZXRyaWMgd2F5IHRvIHRoZSBtcC1pbXBv
cnQgYXR0cmlidXRlLg0KDQoNCiAgIG1wLWltcG9ydCA6Oj0NCiAgICAgICAgICBbcHJvdG9jb2wg
PHByb3RvY29sLTE+XSBbaW50byA8cHJvdG9jb2wtMj5dIDxpbXBvcnQtZXhwcmVzc2lvbj4NCg0K
ICAgPGltcG9ydC1leHByZXNzaW9uPiA6Oj0NCiAgICAgICAgICBhZmkgPGFmaS1saXN0PiA8aW1w
b3J0LXRlcm0+IGFjY2VwdCA8bXAtZmlsdGVyPiB8DQogICAgICAgICAgYWZpIDxhZmktbGlzdD4g
PGltcG9ydC10ZXJtPiBhY2NlcHQgPG1wLWZpbHRlcj4gRVhDRVBUDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltcG9ydC1leHByZXNzaW9uPiB8DQog
ICAgICAgICAgYWZpIDxhZmktbGlzdD4gPGltcG9ydC10ZXJtPiBhY2NlcHQgPG1wLWZpbHRlcj4g
UkVGSU5FDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PGltcG9ydC1leHByZXNzaW9uPg0KDQogICA8aW1wb3J0LXRlcm0+IDo6PSAgPGltcG9ydC1mYWN0
b3I+IHwNCiAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICA8
aW1wb3J0LWZhY3Rvcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIC4uLg0KICAgICAgICAgICAg
ICAgICAgICAgICAgPGltcG9ydC1mYWN0b3I+DQogICAgICAgICAgICAgICAgICAgICAgfQ0KDQog
ICA8aW1wb3J0LWZhY3Rvcj4gOjo9IGZyb20gPG1wLXBlZXJpbmc+IFthY3Rpb24gPGFjdGlvbj5d
Ow0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAg
ICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg
ICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQoyLjUuMSA8
bXAtcGVlcmluZz4NCg0KICAgPG1wLXBlZXJpbmc+IGluZGljYXRlcyB0aGUgQVMgKGFuZCB0aGUg
cm91dGVyIGlmIHByZXNlbnQpIGFuZCBpcw0KICAgZGVmaW5lZCBhcyBmb2xsb3dzOg0KDQogICA8
bXAtcGVlcmluZz4gOjo9IDxhcy1leHByZXNzaW9uPiBbPG1wLXJvdXRlci1leHByZXNzaW9uLTE+
XQ0KICAgICAgICAgICAgICAgICAgICBbYXQgPG1wLXJvdXRlci1leHByZXNzaW9uLTI+XSB8IDxw
ZWVyaW5nLXNldC1uYW1lPg0KDQogICB3aGVyZSA8YXMtZXhwcmVzc2lvbj4gaXMgYW4gZXhwcmVz
c2lvbiBvdmVyIEFTIG51bWJlcnMgYW5kIEFTIHNldHMNCiAgIHVzaW5nIG9wZXJhdG9ycyBBTkQs
IE9SLCBhbmQgRVhDRVBULCBhbmQgPG1wLXJvdXRlci1leHByZXNzaW9uPiBpcyBhbg0KICAgZXhw
cmVzc2lvbiBvdmVyIHJvdXRlciBpcHY0LWFkZHJlc3NlcyBvciBpcHY2LWFkZHJlc3NlcywgaW5l
dC1ydHINCiAgIG5hbWVzLCBhbmQgcnRyLXNldCBuYW1lcyB1c2luZyBvcGVyYXRvcnMgQU5ELCBP
UiwgYW5kIEVYQ0VQVC4gIFRoZQ0KICAgYmluYXJ5ICJFWENFUFQiIG9wZXJhdG9yIGlzIHRoZSBz
ZXQgc3VidHJhY3Rpb24gb3BlcmF0b3IgYW5kIGhhcyB0aGUNCiAgIHNhbWUgcHJlY2VkZW5jZSBh
cyB0aGUgb3BlcmF0b3IgQU5EIChpdCBpcyBzZW1hbnRpY2FsbHkgZXF1aXZhbGVudCB0bw0KICAg
IkFORCBOT1QiIGNvbWJpbmF0aW9uKS4gIFRoYXQgaXMgIihBUzEgT1IgQVMyKSBFWENFUFQgQVMy
IiBlcXVhbHMNCiAgICJBUzEiLg0KDQoyLjUuMiA8bXAtZmlsdGVyPg0KDQogICBUaGUgPG1wLWZp
bHRlcj4gcG9saWN5IGZpbHRlciBleHByZXNzaW9uIGlzIGRlcml2ZWQgZnJvbSB0aGUgUlBTTA0K
ICAgPGZpbHRlcj4gcG9saWN5IGZpbHRlciBleHByZXNzaW9uIGRlZmluZWQgaW4gc2VjdGlvbiA1
LjQgb2YgUkZDIDI2MjINCiAgIFsxXS4gPG1wLWZpbHRlcj4gZXh0ZW5kcyB0aGUgPGZpbHRlcj4g
ZXhwcmVzc2lvbiB0byBhbGxvdyB0aGUNCiAgIHNwZWNpZmljYXRpb24gb2YgSVB2NiBwcmVmaXhl
cyBhbmQgcHJlZml4IHJhbmdlcy4gSW4gcGFydGljdWxhciwgYW4NCiAgIEFkZHJlc3MtUHJlZml4
IFNldCBleHByZXNzaW9uIGluIGFuIDxtcC1maWx0ZXI+IGV4cHJlc3Npb24gbWF5DQogICBpbmNs
dWRlIGJvdGggSVB2NCBhbmQgSVB2NiBwcmVmaXhlcyBvciBwcmVmaXggcmFuZ2VzLiA8bXAtZmls
dGVyPiBpcw0KICAgb3RoZXJ3aXNlIGlkZW50aWNhbCB0byB0aGUgUlBTTCA8ZmlsdGVyPiBleHBy
ZXNzaW9uLiAgIEFkZHJlc3MtUHJlZml4DQogICBTZXRzIGFyZSBlbmNsb3NlZCBpbiBicmFjZXMg
J3snIGFuZCAnfScuIFRoZSBwb2xpY3kgZmlsdGVyIG1hdGNoZXMNCiAgIHRoZSBzZXQgb2Ygcm91
dGVzIHdob3NlIGRlc3RpbmF0aW9uIGFkZHJlc3MtcHJlZml4IGlzIGluIHRoZSBzZXQuDQogICBG
b3IgZXhhbXBsZToNCg0KICAgICAgeyAxOTguMTA4LjAuMC8xNiwgM2ZmZTpmZmZmOjI0MDo6LzQ4
IH0NCiAgICAgIHsgM2ZmZTpmZmZmOjU4MDo6LzQ4XissIDNmZmU6ZmZmZjo2MDA6Oi80OF42NCB9
DQoNCg0KMi41LjMgUG9saWN5IGV4YW1wbGVzDQoNCiAgIFRoZSBhZGRyZXNzIGZhbWlseSBtYXkg
YmUgc3BlY2lmaWVkIGF0IGFueSBsZXZlbCBvZiBuZXN0aW5nIG9mDQogICA8aW1wb3J0LWV4cHJl
c3Npb24+LCBhbmQgaXMgdmFsaWQgb25seSB3aXRoaW4gdGhlIDxpbXBvcnQtZXhwcmVzc2lvbj4N
CiAgIHRoYXQgY29udGFpbnMgaXQuDQoNCiAgIFRoZXJlZm9yZSBpbiB0aGUgZXhhbXBsZToNCg0K
ICAgYXV0LW51bTogICAgQVM2NTUzNA0KICAgbXAtaW1wb3J0OiBhZmkgaXB2Ni51bmljYXN0LGlw
djQgZnJvbSBBUzY1MDAxIGFjdGlvbiBwcmVmID0gMTsgYWNjZXB0IGFzLWZvbw0KICAgICAgICAg
ICAgICAgZXhjZXB0IHsgYWZpIGlwdjYudW5pY2FzdCxpcHY0DQogICAgICAgICAgICAgICBmcm9t
IEFTNjUwMDIgYWN0aW9uIHByZWYgPSAyOyBhY2NlcHQgQVM2NTIyNg0KICAgICAgICAgICAgICAg
ICAgZXhjZXB0IHsgYWZpIGlwdjYudW5pY2FzdA0KICAgICAgICAgICAgICAgICAgZnJvbSBBUzY1
MDAzIGFjdGlvbiBwcmVmID0gMzsgYWNjZXB0IHszRkZFOkZGRkY6Oi8zMn0NCg0KDQoNCkJsdW5r
LCBldCBhbC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIwMDQgICAgICAgICAgICAgICAg
ICBbUGFnZSA3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgUlBTTG5nICAg
ICAgICAgICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KICAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICB0aGUgbGFzdCAocmlnaHRtb3N0
KSAiZXhjZXB0IiBpcyBldmFsdWF0ZWQgb25seSBmb3IgdGhlIElQdjYgdW5pY2FzdA0KICAgYWRk
cmVzcyBmYW1pbHksIHdoaWxlIG90aGVyIGltcG9ydC1leHByZXNzaW9ucyBhcmUgZXZhbHVhdGVk
IGZvciBib3RoDQogICB0aGUgSVB2NiBhbmQgSVB2NCB1bmljYXN0IGFkZHJlc3MgZmFtaWxpZXMu
DQoNCiAgIFRoZSBldmFsdWF0aW9uIG9mIGFuIDxpbXBvcnQtZXhwcmVzc2lvbj4gaXMgZG9uZSBi
eSBldmFsdWF0aW5nIGFsbCBvZg0KICAgaXRzIGNvbXBvbmVudHMuIEV2YWx1YXRpb24gb2YgcGVl
cmluZy1zZXRzIGFuZCBmaWx0ZXItc2V0cyBpcw0KICAgY29uc3RyYWluZWQgYnkgdGhlIGFkZHJl
c3MgZmFtaWx5LiAgU3VjaCBjb25zdHJhaW50cyBtYXkgcmVzdWx0IGluIGENCiAgIHtOT1QgQU5Z
fSA8bXAtZmlsdGVyPiBvciBpbnZhbGlkIDxtcC1wZWVyaW5nPiBkZXBlbmRpbmcgb24gaW1wbGlj
aXQNCiAgIG9yIGV4cGxpY2l0IGRlZmluaXRpb25zIG9mIHRoZSBhZGRyZXNzIGZhbWlseSBpbiB0
aGUgc2V0LiAgQW4gUlBTTA0KICAgZXZhbHVhdGlvbiBpbXBsZW1lbnRhdGlvbiBtYXkgd2lzaCB0
byBpc3N1ZSBhIHdhcm5pbmcgaW4gdGhlIGNhc2Ugb2YNCiAgIGEge05PVCBBTll9IDxtcC1maWx0
ZXI+Lg0KDQogICBDb25mbGljdHMgd2l0aCBleHBsaWNpdCBvciBpbXBsaWNpdCBkZWNsYXJhdGlv
bnMgYXJlIHJlc29sdmVkIGF0DQogICBydW50aW1lLCB0aGF0IGlzLCBkdXJpbmcgdGhlIGV2YWx1
YXRpb24gb2YgYSBwb2xpY3kgZXhwcmVzc2lvbi4gRm9yDQogICBleGFtcGxlLCB3aGVuIGV2YWx1
YXRpbmcgdGhlIGZvbGxvd2luZyBpbXBvcnQgcG9saWN5Og0KDQogICBhdXQtbnVtOiBBUzY1MDAy
DQogICBtcC1pbXBvcnQ6IGFmaSBpcHY2IGZyb20gQVM2NTAwMSBhY2NlcHQgezE5My4wLjAuMC8y
Mn0NCg0KICAgdGhlIG1wLWZpbHRlciBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIHtOT1QgQU5ZfS4g
IEEgbW9yZSBjb21wbGV4DQogICBleGFtcGxlIGZvbGxvd3M6DQoNCiAgIGF1dC1udW06IEFTNjUw
MDINCiAgIG1wLWltcG9ydDogYWZpIGlwdjYudW5pY2FzdCB7DQogICAgICBmcm9tIEFTLUFOWSBh
Y3Rpb24gbWVkID0gMDsgYWNjZXB0IHszRkZFOkZGRkY6Oi8zMn07DQogICAgICB9IHJlZmluZSB7
IGFmaSBpcHY2LnVuaWNhc3QNCiAgICAgICAgICAgZnJvbSBBUzY1MDAxIGF0IDNGRkU6RkZGRjo6
MSBhY3Rpb24gcHJlZiA9IDE7IGFjY2VwdCBBUy1VUFNUUkVBTTsNCiAgICAgICAgICAgZnJvbSBw
cm5nNi1lYmdwLXBlZXJzIGFjdGlvbiBwcmVmID0gMjsgYWNjZXB0IEFTNjUwMDE7DQogICAgICB9
DQoNCiAgIEluIHRoaXMgZXhhbXBsZSwgb25seSBJUHY2IHByZWZpeGVzIG9yaWdpbmF0ZWQgYnkg
QVM2NTAwMSB3aWxsIGJlDQogICBjb2xsZWN0ZWQsIGFuZCB3aGVuIGV2YWx1YXRpbmcgdGhlIGFz
LXNldCBBUy1VUFNUUkVBTSwgb25seSBJUHY2DQogICBwcmVmaXhlcyBvZiB0aGUgbWVtYmVyIEFT
ZXMgd2lsbCBiZSBjb25zaWRlcmVkLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmx1
bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAg
ICAgIFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcg
ICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQozLiByb3V0ZTYgQ2xhc3MNCg0K
ICAgVGhlIHJvdXRlNiBjbGFzcyBpcyB0aGUgSVB2NiBlcXVpdmFsZW50IG9mIHRoZSByb3V0ZSBj
bGFzcy4gQXMgd2l0aA0KICAgdGhlIHJvdXRlIGNsYXNzLCB0aGUgY2xhc3Mga2V5IGZvciB0aGUg
cm91dGU2IGNsYXNzIGlzIHNwZWNpZmllZCBieQ0KICAgdGhlIHJvdXRlNiBhbmQgb3JpZ2luIGF0
dHJpYnV0ZSBwYWlyLiAgT3RoZXIgdGhhbiB0aGUgcm91dGU2DQogICBhdHRyaWJ1dGUsIHRoZSBy
b3V0ZTYgY2xhc3Mgc2hhcmVzIHRoZSBzYW1lIGF0dHJpYnV0ZSBuYW1lcyB3aXRoIHRoZQ0KICAg
cm91dGUgY2xhc3MuICBXaGlsZSB0aGUgYXR0cmlidXRlIG5hbWVzIHJlbWFpbiBpZGVudGljYWws
IHRoZSBpbmplY3QsDQogICBjb21wb25lbnRzLCBleHBvcnRzLWNvbXBzLCBob2xlcywgYW5kIG1u
dC1yb3V0ZXMgYXR0cmlidXRlcyBtdXN0DQogICBzcGVjaWZ5IElQdjYgcHJlZml4ZXMgYW5kIGFk
ZHJlc3NlcyByYXRoZXIgdGhhbiBJUHY0IHByZWZpeGVzIGFuZA0KICAgYWRkcmVzc2VzLiAgVGhp
cyByZXF1aXJlbWVudCBpcyByZWZsZWN0ZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gb2YNCiAgIDxp
cHY2LXJvdXRlci1leHByZXNzaW9uPiwgPGlwdjYtZmlsdGVyPiwgYW5kIDxpcHY2LWFkZHJlc3Mt
cHJlZml4Pg0KICAgYmVsb3cuICA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gaGFzIGJlZW4gcHJldmlv
dXNseSBkZWZpbmVkLg0KICAgPGlwdjYtZmlsdGVyPiBpcyByZWxhdGVkIHRvIDxtcC1maWx0ZXI+
IGFzIGRlZmluZWQgYWJvdmUgaW4gU2VjdGlvbg0KICAgMi41LjIgd2l0aCB0aGUgZXhjZXB0aW9u
IHRoYXQgb25seSA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gdHlwZXMgYXJlDQogICBwZXJtaXR0ZWQu
IFNpbWlsYXJseSwgPGlwdjYtcm91dGVyLWV4cHJlc3Npb24+IGlzIHJlbGF0ZWQgdG8NCiAgIDxt
cC1yb3V0ZXItZXhwcmVzc2lvbj4gYXMgZGVmaW5lZCBhYm92ZSBpbiBTZWN0aW9uIDIuNS4xIHdp
dGggdGhlDQogICBleGNlcHRpb24gdGhhdCBvbmx5IDxpcHY2LWFkZHJlc3M+IHR5cGVzIGFyZSBw
ZXJtaXR0ZWQuDQoNCiAgIE5vdGUgdGhhdCA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gbWF5IGJlIG9m
IGVpdGhlciB0eXBlIGlwdjYudW5pY2FzdCBvcg0KICAgdHlwZSBpcHY2Lm11bHRpY2FzdC4gIEFu
IElQdjYgbXVsdGljYXN0IGFkZHJlc3MgaXMgaW5kZW50aWZpZWQgYnkgdGhlDQogICBiaW5hcnkg
MTExMTExMTEgYXQgdGhlIHN0YXJ0IG9mIHRoZSBhZGRyZXNzLiAgRm9yIGZ1dGhlciByZWZlcmVu
Y2UsDQogICBwbGVhc2Ugc2VlIFNlY3Rpb24gMi43IG9mIFJGQyAzNTEzIFszXS4NCg0KDQogICBB
dHRyaWJ1dGUgICAgIFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlDQogICBy
b3V0ZTYgICAgICAgIDxpcHY2LWFkZHJlc3MtcHJlZml4PiAgICAgICAgICAgICBtYW5kYXRvcnks
IGNsYXNzIGtleSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpbmdsZS12YWx1ZWQNCiAgIG9yaWdpbiAgICAgICAgPGFzLW51bWJlcj4gICAgICAg
ICAgICAgICAgICAgICAgIG1hbmRhdG9yeSwgY2xhc3Mga2V5LA0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlLXZhbHVlZA0KICAgbWVtYmVy
LW9mICAgICBsaXN0IG9mIDxyb3V0ZS1zZXQtbmFtZT4gICAgICAgICAgb3B0aW9uYWwsIG11bHRp
LXZhbHVlZA0KICAgaW5qZWN0ICAgICAgICBbYXQgPGlwdjYtcm91dGVyLWV4cHJlc3Npb24+XSAu
Li4gb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgICAgICAgICAgICAgICBbYWN0aW9uIDxhY3Rp
b24+XQ0KICAgICAgICAgICAgICAgICBbdXBvbiA8Y29uZGl0aW9uPl0NCiAgIGNvbXBvbmVudHMg
ICAgW0FUT01JQ10gW1s8aXB2Ni1maWx0ZXI+XSAgICAgICAgIG9wdGlvbmFsLCBzaW5nbGUtdmFs
dWVkDQogICAgICAgICAgICAgICAgIFtwcm90b2NvbCA8cHJvdG9jb2w+IDxpcHY2LWZpbHRlcj4g
Li4uXV0NCiAgIGFnZ3ItYm5kcnkgICAgPGFzLWV4cHJlc3Npb24+ICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsLCBzaW5nbGUtdmFsdWVkDQogICBhZ2dyLW10ZCAgICAgIGluYm91bmQgb3Igb3V0
Ym91bmQgICAgICAgICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgICAgICAgICAg
ICAgICBbPGFzLWV4cHJlc3Npb24+XQ0KICAgZXhwb3J0LWNvbXBzICA8aXB2Ni1maWx0ZXI+ICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwsIHNpbmdsZS12YWx1ZWQNCiAgIGhvbGVzICAgICAg
ICAgbGlzdCBvZiA8aXB2Ni1hZGRyZXNzLXByZWZpeD4gICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1
ZWQNCiAgIG1udC1sb3dlciAgICAgbGlzdCBvZiA8bW50bmVyLW5hbWU+ICAgICAgICAgICAgIG9w
dGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgIG1udC1yb3V0ZXMgICAgbGlzdCBvZiA8bW50bmVyLW5h
bWU+ICAgICAgICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAgICAgICAgICAgICAg
W3tsaXN0IG9mIDxpcHY2LWFkZHJlc3MtcHJlZml4LXJhbmdlPn0gb3IgQU5ZXQ0KDQogICBFeGFt
cGxlOg0KDQogICByb3V0ZTY6ICAgM2ZmZTpmZmZmOjI0MDo6LzQ4DQogICBvcmlnaW46ICAgQVM2
NTAwMQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAw
NCAgICAgICAgICAgICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg
ICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo0LiBV
cGRhdGVzIHRvIGV4aXN0aW5nIENsYXNzZXMgdG8gc3VwcG9ydCB0aGUgZXh0ZW5zaW9ucw0KDQo0
LjEgYXMtc2V0IENsYXNzDQoNCiAgIFRoZSBhcy1zZXQgY2xhc3MgZGVmaW5lcyBhIHNldCBvZiBB
dXRvbm9tb3VzIFN5c3RlbXMgKEFTKSwgc3BlY2lmaWVkDQogICBlaXRoZXIgZGlyZWN0bHkgYnkg
bGlzdGluZyB0aGVtIGluIHRoZSBtZW1iZXJzIGF0dHJpYnV0ZSwgb3INCiAgIGluZGlyZWN0bHkg
YnkgcmVmZXJyaW5nIHRvIGFub3RoZXIgYXMtc2V0cyBvciB1c2luZyB0aGUgbWJycy1ieS1yZWYN
CiAgIGZhY2lsaXR5LiBNb3JlIGltcG9ydGFudGx5LCAiSW4gYSBjb250ZXh0IHRoYXQgZXhwZWN0
cyBhIHJvdXRlIHNldA0KICAgKGUuZy4gIG1lbWJlcnMgYXR0cmlidXRlIG9mIHRoZSByb3V0ZS1z
ZXQgY2xhc3MpLCBbLi4uXSBhbiBhcy1zZXQNCiAgIEFTLVggZGVmaW5lcyB0aGUgc2V0IG9mIHJv
dXRlcyB0aGF0IGFyZSBvcmlnaW5hdGVkIGJ5IHRoZSBBU2VzIGluDQogICBBUy1YLiIsIChzZWN0
aW9uIDUuMyBvZiAgUkZDIDI2MjIgWzFdKS4NCg0KICAgVGhlIGFzLXNldCBjbGFzcyBpcyB0aGVy
ZWZvcmUgdXNlZCB0byBjb2xsZWN0IGEgc2V0IG9mIHJvdXRlDQogICBwcmVmaXhlcywgd2hpY2gg
bWF5IGJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBhZGRyZXNzIGZhbWlseS4NCg0KICAgVGhl
IGV4aXN0aW5nIGFzLXNldCBjbGFzcyBkb2VzIG5vdCBuZWVkIGFueSBtb2RpZmljYXRpb25zLiBU
aGUNCiAgIGV2YWx1YXRpb24gb2YgdGhlIGNsYXNzIG11c3QgYmUgZmlsdGVyZWQgdG8gb2J0YWlu
IHByZWZpeGVzIGJlbG9uZ2luZw0KICAgdG8gYSBwYXJ0aWN1bGFyIGFkZHJlc3MgZmFtaWx5IHVz
aW5nIHRoZSB0cmFkaXRpb25hbCBmaWx0ZXJpbmcNCiAgIG1lY2hhbmlzbSBpbiB1c2UgaW4gSW50
ZXJuZXQgUm91dGluZyBSZWdpc3RyeSAoSVJSKSBzeXN0ZW1zIHRvZGF5Lg0KDQo0LjIgcm91dGUt
c2V0IENsYXNzDQoNCiAgIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBzcGVjaWZ5IGEgc2V0IG9mIHJv
dXRlIHByZWZpeGVzLg0KDQogICBBIG5ldyBhdHRyaWJ1dGUgIm1wLW1lbWJlcnM6IiBpcyBkZWZp
bmVkIGZvciB0aGlzIGNsYXNzLiAgVGhpcw0KICAgYXR0cmlidXRlcyBhbGxvdyB0aGUgc3BlY2lm
aWNhdGlvbiBvZiBJUHY0IG9yIElQdjYNCiAgIGFkZHJlc3MtcHJlZml4LXJhbmdlcy4NCg0KDQog
ICBBdHRyaWJ1dGUgICBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUN
CiAgIG1wLW1lbWJlcnMgIGxpc3Qgb2YgKDxpcHY0LWFkZHJlc3MtcHJlZml4LXJhbmdlPiAgb3B0
aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgICAgICAgICAgICAgb3IgPGlwdjYtYWRkcmVzcy1wcmVm
aXgtcmFuZ2U+DQogICAgICAgICAgICAgICBvciA8cm91dGUtc2V0LW5hbWU+DQogICAgICAgICAg
ICAgICBvciA8cm91dGUtc2V0LW5hbWU+PHJhbmdlLW9wZXJhdG9yPikNCg0KICAgRXhhbXBsZToN
Cg0KICAgcm91dGUtc2V0OiAgcnMtZm9vDQogICBtcC1tZW1iZXJzOiBycy1iYXINCiAgIG1wLW1l
bWJlcnM6IDNGRkU6RkZGRjo6LzMyICAjIHY2IG1lbWJlcg0KICAgbXAtbWVtYmVyczogMTI4Ljku
MC4wLzE2ICAgICMgdjQgbWVtYmVyDQoNCg0KNC4zIGZpbHRlci1zZXQgQ2xhc3MNCg0KICAgVGhl
IG5ldyAibXAtZmlsdGVyOiIgYXR0cmlidXRlIGRlZmluZXMgdGhlIHNldCdzIHBvbGljeSBmaWx0
ZXIuICBBDQogICBwb2xpY3kgZmlsdGVyIGlzIGEgbG9naWNhbCBleHByZXNzaW9uIHdoaWNoIHdo
ZW4gYXBwbGllZCB0byBhIHNldCBvZg0KICAgcm91dGVzIHJldHVybnMgYSBzdWJzZXQgb2YgdGhl
c2Ugcm91dGVzLiAgVGhlIHJlbGV2YW50IHBhcnRzIG9mIHRoZQ0KDQoNCg0KQmx1bmssIGV0IGFs
LiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1BhZ2Ug
MTBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAgICAg
ICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICB1cGRhdGVkIGZpbHRlci1zZXQgY2xhc3Mg
YXJlIHNob3duIGJlbG93Og0KDQoNCiAgIEF0dHJpYnV0ZSAgIFZhbHVlICAgICAgICAgICAgICAg
ICAgVHlwZQ0KICAgZmlsdGVyLXNldCAgPG9iamVjdC1uYW1lPiAgICAgICAgICBtYW5kYXRvcnks
IHNpbmdsZS12YWx1ZWQsIGNsYXNzIGtleQ0KICAgZmlsdGVyICAgICAgPGZpbHRlcj4gICAgICAg
ICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgbXAtZmlsdGVyICAgPG1wLWZpbHRl
cj4gICAgICAgICAgICBvcHRpb25hbCwgc2luZ2xlLXZhbHVlZA0KICAgLi4uDQoNCg0KICAgV2hl
cmUgPG1wLWZpbHRlcj4gaXMgZGVmaW5lZCBhYm92ZSBpbiBTZWN0aW9uIDIuNS4yLiBXaGlsZSB0
aGUNCiAgICJmaWx0ZXI6IiBhbmQgIm1wLWZpbHRlcjoiIGF0dHJpYnV0ZXMgYXJlIG9mIHR5cGUg
Im9wdGlvbmFsIiwgYQ0KICAgZmlsdGVyLXNldCBtdXN0IGNvbnRhaW4gb25lIG9mIHRoZXNlIHR3
byBhdHRyaWJ1dGVzLiAgSW1wbGVtZW50YXRpb25zDQogICBzaG91bGQgcmVqZWN0IGluc3RhbmNl
cyB3aGVyZSBib3RoIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQgaW4gYW4NCiAgIG9iamVjdCBhcyB0
aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3VjaCBhIGZpbHRlci1zZXQgaXMgdW5kZWZpbmVkLg0KDQo0
LjQgcGVlcmluZy1zZXQgQ2xhc3MNCg0KICAgVGhlIHBlZXJpbmcgc2V0IGNsYXNzIGlzIHVwZGF0
ZWQgd2l0aCBhICJtcC1wZWVyaW5nOiIgYXR0cmlidXRlLg0KDQoNCiAgIEF0dHJpYnV0ZSAgICBW
YWx1ZSAgICAgICAgICAgICAgICAgVHlwZQ0KICAgcGVlcmluZy1zZXQgIDxvYmplY3QtbmFtZT4g
ICAgICAgICBtYW5kYXRvcnksIHNpbmdsZS12YWx1ZWQsIGNsYXNzIGtleQ0KICAgcGVlcmluZyAg
ICAgIDxwZWVyaW5nPiAgICAgICAgICAgICBvcHRpb25hbCwgbXVsdGktdmFsdWVkDQogICBtcC1w
ZWVyaW5nICAgPG1wLXBlZXJpbmc+ICAgICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAg
IC4uLg0KDQogICBFeGFtcGxlOg0KDQogICBwZWVyaW5nLXNldDogICBwcm5nLWViZ3AtcGVlcnMN
CiAgIG1wLXBlZXJpbmc6ICAgIEFTNjUwMDIgM0ZGRTpGRkZGOjoxIGF0IDNGRkU6RkZGRjo6Mg0K
DQogICBXaXRoIDxtcC1wZWVyaW5nPiBkZWZpbmVkIGFzIGFib3ZlIGluIFNlY3Rpb24gMi41LjEu
IFdoaWxlIHRoZQ0KICAgInBlZXJpbmc6IiBhbmQgIm1wLXBlZXJpbmc6IiBhdHRyaWJ1dGVzIGFy
ZSBvZiB0eXBlICJvcHRpb25hbCIsIGENCiAgIHBlZXJpbmctc2V0IG11c3QgY29udGFpbiBhdCBs
ZWFzdCBvbmUgb2YgdGhlc2UgdHdvIGF0dHJpYnV0ZXMuDQoNCjQuNSBpbmV0LXJ0ciBDbGFzcw0K
DQogICBUd28gbmV3IGF0dHJpYnV0ZXMgYXJlIGludHJvZHVjZWQgdG8gdGhlIGluZXQtcnRyIGNs
YXNzIC0tDQogICAiaW50ZXJmYWNlOiIgd2hpY2ggYWxsb3dzIHRoZSBkZWZpbml0aW9uIG9mIGdl
bmVyaWMgaW50ZXJmYWNlcywNCiAgIGluY2x1ZGluZyB0aGUgaW5mb3JtYXRpb24gcHJldmlvdXNs
eSBjb250YWluZWQgaW4gdGhlICJpZmFkZHI6Ig0KICAgYXR0cmlidXRlLCBhcyB3ZWxsIGFzIHN1
cHBvcnQgZm9yIHR1bm5lbCBkZWZpbml0aW9ucy4gQW5kLA0KICAgIm1wLXBlZXI6Iiwgd2hpY2gg
aW5jbHVkZXMgYW5kIGV4dGVuZHMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlDQogICBleGlzdGlu
ZyAicGVlcjoiIGF0dHJpYnV0ZS4NCg0KICAgQmVsb3cgaXMgdGhlIHN5bnRheCBkZWZpbml0aW9u
IGZvciB0aGUgbmV3ICJpbnRlcmZhY2U6IiBhdHRyaWJ1dGUuDQoNCg0KDQoNCg0KQmx1bmssIGV0
IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1Bh
Z2UgMTFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAg
ICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQogICBBdHRyaWJ1dGUgIFZhbHVlICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZQ0KICAgaW50ZXJmYWNlICA8aXB2NC1hZGRy
ZXNzPiBvciA8aXB2Ni1hZGRyZXNzPiAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAg
ICAgICAgICAgbWFza2xlbiA8bWFzaz4NCiAgICAgICAgICAgICAgW2FjdGlvbiA8YWN0aW9uPl0N
CiAgICAgICAgICAgICAgW3R1bm5lbCA8cmVtb3RlLWVuZHBvaW50LWFkZHJlc3M+LDxlbmNhcHN1
bGF0aW9uPl0NCg0KICAgVGhlIG5ldyBzeW50YXggYWxsb3dzIG5hdGl2ZSBJUHY0IGFuZCBJUHY2
IGludGVyZmFjZSBkZWZpbml0aW9ucyBhcw0KICAgd2VsbCBhcyB0aGUgZGVmaW5pdGlvbiBvZiB0
dW5uZWxzIGFzIHZpcnR1YWwgaW50ZXJmYWNlcy4gV2l0aG91dCB0aGUNCiAgIG9wdGlvbmFsIHR1
bm5lbCBkZWZpbml0aW9uLCB0aGlzIGF0dHJpYnV0ZSBhbGxvd3MgdGhlIHNhbWUNCiAgIGZ1bmN0
aW9uYWxpdHkgYXMgdGhlICJpZmFkZHI6IiBhdHRyaWJ1dGUgYnV0IGV4dGVuZHMgaXQgdG8gYWxs
b3cgSVB2Ng0KICAgYWRkcmVzc2VzLg0KDQogICBJbiB0aGUgY2FzZSBvZiB0aGUgaW50ZXJmYWNl
IGJlaW5nIGEgdHVubmVsLCB0aGUgc3ludGF4IGlzIGFzDQogICBmb2xsb3dzOg0KDQogICA8cmVt
b3RlLWVuZHBvaW50LWFkZHJlc3M+IGluZGljYXRlcyB0aGUgSVB2NCBvciBJUHY2IGFkZHJlc3Mg
b2YgdGhlDQogICByZW1vdGUgZW5kcG9pbnQgb2YgdGhlIHR1bm5lbC4gVGhlIGFkZHJlc3MgZmFt
aWx5IG11c3QgbWF0Y2ggdGhhdCBvZg0KICAgdGhlIGxvY2FsIGVuZHBvaW50LiA8ZW5jYXBzdWxh
dGlvbj4gZGVub3RlcyB0aGUgZW5jYXBzdWxhdGlvbiB1c2VkIGluDQogICB0aGUgdHVubmVsIGFu
ZCBpcyBvbmUgb2Yge0dSRSxJUGluSVB9LiAgUm91dGluZyBwb2xpY2llcyBmb3IgdGhlc2UNCiAg
IHJvdXRlcnMgc2hvdWxkIGJlIGRlc2NyaWJlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcyAo
ZS5nLg0KICAgYXV0LW51bSkuDQoNCiAgIFRoZSAibXAtcGVlcjoiIGF0dHJpYnV0ZSBpcyBkZWZp
bmVkIGJlbG93LiAgVGhlIGRpZmZlcmVuY2UgYmV0d2Vlbg0KICAgdGhpcyBhdHRyaWJ1dGUgYW5k
IHRoZSAicGVlcjoiIGF0dHJpYnV0ZSBpcyB0aGUgaW5jbHVzaW9uIG9mIHN1cHBvcnQNCiAgIGZv
ciBJUHY2IGFkZHJlc3Nlcy4NCg0KICAgQXR0cmlidXRlICBWYWx1ZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBUeXBlDQogICBtcC1wZWVyICAgIDxwcm90b2NvbD4gPGlwdjQt
YWRkcmVzcz4gPG9wdGlvbnM+ICBvciAgIG9wdGlvbmFsLA0KICAgICAgICAgICAgICA8cHJvdG9j
b2w+IDxpcHY2LWFkZHJlc3M+IDxvcHRpb25zPiAgb3IgICBtdWx0aS12YWx1ZWQNCiAgICAgICAg
ICAgICAgPHByb3RvY29sPiA8aW5ldC1ydHItbmFtZT4gPG9wdGlvbnM+IG9yDQogICAgICAgICAg
ICAgIDxwcm90b2NvbD4gPHJ0ci1zZXQtbmFtZT4gPG9wdGlvbnM+ICBvcg0KICAgICAgICAgICAg
ICA8cHJvdG9jb2w+IDxwZWVyaW5nLXNldC1uYW1lPiA8b3B0aW9ucz4NCg0KDQogICB3aGVyZSA8
cHJvdG9jb2w+IGlzIGEgcHJvdG9jb2wgbmFtZSwgYW5kIDxvcHRpb25zPiBpcyBhIGNvbW1hDQog
ICBzZXBhcmF0ZWQgbGlzdCBvZiBwZWVyaW5nIG9wdGlvbnMgZm9yIDxwcm90b2NvbD4gYXMgcHJv
dmlkZWQgaW4gdGhlDQogICBSUFNMIGRpY3Rpb25hcnkuDQoNCjQuNiBydHItc2V0IENsYXNzDQoN
CiAgIFRoZSBydHItc2V0IGNsYXNzIGlzIGV4dGVuZGVkIHdpdGggYSBuZXcgYXR0cmlidXRlLCAi
bXAtbWVtYmVyczoiLA0KICAgZGVmaW5lZCBhcw0KDQogICBBdHRyaWJ1dGUgICBWYWx1ZSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVHlwZQ0KICAgbXAtbWVtYmVycyAgbGlzdCBvZiAoPGlu
ZXQtcnRyLW5hbWU+IG9yICAgICAgIG9wdGlvbmFsLCBtdWx0aS12YWx1ZWQNCiAgICAgICAgICAg
ICAgIDxydHItc2V0LW5hbWU+IG9yDQogICAgICAgICAgICAgICA8aXB2NC1hZGRyZXNzPiBvcg0K
ICAgICAgICAgICAgICAgPGlwdjYtYWRkcmVzcz4pDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAg
ICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAxMl0NCgwN
CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAg
ICAgTm92ZW1iZXIgMjAwMw0KDQoNCiAgIFRoaXMgYXR0cmlidXRlIGV4dGVuZHMgdGhlIG9yaWdp
bmFsICJtZW1iZXJzOiIgYXR0cmlidXRlIGJ5IGFsbG93aW5nDQogICB0aGUgc3BlY2lmaWNhdGlv
biBvZiBJUHY2IGFkZHJlc3Nlcy4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAgICAg
ICAgICAgICAgICAgW1BhZ2UgMTNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAg
ICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo1LiBSRkMgMjcy
NSBleHRlbnNpb25zDQoNCiAgIFJGQyAyNzI1IFsyXSBpbnRyb2R1Y2VzIGFuIGF1dGhvcml6YXRp
b24gbW9kZWwgdG8gYWRkcmVzcyB0aGUNCiAgIGludGVncml0eSBvZiBwb2xpY3kgZXhwcmVzc2Vk
IGluIHJvdXRpbmcgcmVnaXN0cmllcy4gIEluIHBhcnRpY3VsYXIsDQogICB0d28gbmV3IGF0dHJp
YnV0ZXMgd2VyZSBkZWZpbmVkIHRvIHN1cHBvcnQgdGhpcyBhdXRob3JpemF0aW9uIG1vZGVsLA0K
ICAgbmFtZWx5LCB0aGUgIm1udC1yb3V0ZXMiIGFuZCAibW50LWxvd2VyIiBhdHRyaWJ1dGVzLg0K
DQogICBJbiBSUFNMbmcsIHRoZXNlIGF0dHJpYnV0ZXMgYXJlIGV4dGVuZGVkIHRvIHRoZSByb3V0
ZTYgYW5kIGluZXQ2bnVtDQogICAoZGVzY3JpYmVkIGJlbG93KSBjbGFzc2VzLiAgRnVydGhlciwg
dGhlIHN5bnRheCBvZiB0aGUgZXhpc3RpbmcNCiAgIG1udC1yb3V0ZXMgYXR0cmlidXRlIGlzIG1v
ZGlmaWVkIHRvIGFsbG93IHRoZSBvcHRpb25hbCBzcGVjaWZpY2F0aW9uDQogICBvZiBJUHY2IHBy
ZWZpeCByYW5nZSBsaXN0cyB3aGVuIHByZXNlbnQgaW4gaW5ldDZudW0sIHJvdXRlNiwgYW5kDQog
ICBhdXQtbnVtIGNsYXNzIG9iamVjdHMuIFRoaXMgb3B0aW9uYWwgbGlzdCBvZiBwcmVmaXggcmFu
Z2VzIGlzIGENCiAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGVuY2xvc2VkIGluIGN1cmx5IGJyYWNl
cy4gIEluIHRoZSBhdXQtbnVtIGNsYXNzLA0KICAgdGhlIElQdjYgcHJlZml4IHJhbmdlcyBtYXkg
YmUgbWl4ZWQgd2l0aCBJUHY0IHByZWZpeCByYW5nZXMuICBUaGUNCiAgIGtleXdvcmQgIkFOWSIg
bWFueSBhbHNvIGJlIHVzZWQgaW5zdGVhZCBvZiBwcmVmaXggcmFuZ2VzLiAgSW4gdGhlDQogICBj
YXNlIG9mIGluZXQ2bnVtIGFuZCByb3V0ZTYgb2JqZWN0cywgIkFOWSIgcmVmZXJzIHRvIGFsbCBt
b3JlDQogICBzcGVjaWZpY3Mgb2YgdGhlIHByZWZpeCBpbiB0aGUgY2xhc3Mga2V5IGZpZWxkLiAg
Rm9yIHRoZSBhdXQtbnVtDQogICBjbGFzcywgIkFOWSIgbGl0ZXJhbGx5IG1lYW5zIGFueSBwcmVm
aXguIFRoZSBkZWZhdWx0IHdoZW4gbm8NCiAgIGFkZGl0aW9uYWwgc2V0IGl0ZW1zIGFyZSBzcGVj
aWZpZWQgaXMgIkFOWSIuDQoNCiAgIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBtbnQt
cm91dGVzIHVzYWdlLiAgVGhpcyBleGFtcGxlDQogICBhdXRob3JpemVzIE1BSU5ULTY1MDAxIHRv
IGNyZWF0ZSByb3V0ZTYgb2JqZWN0cyB3aXRoIGFuIG9yaWdpbiBBUyBvZg0KICAgNjUwMDIgZm9y
IElQdjYgYWRkcmVzcyBwcmVmaXhlcyB3aXRoaW4gdGhlIDNmZmU6ZmZmZjo6LzMyXisgcmFuZ2Us
DQogICBhbmQgcm91dGUgb2JqZWN0cyB3aXRoIG9yaWdpbiBBUyA2NTAwMiBmb3IgSVB2NCBwcmVm
aXhlcyB3aXRoaW4gdGhlDQogICAzNS40Mi4wLjAvMTZeKyByYW5nZS4NCg0KICAgYXV0LW51bTog
QVM2NTAwMg0KICAgbW50LXJvdXRlczogTUFJTlQtQVM2NTAwMSB7M2ZmZTpmZmZmOjovMzJeKywg
MzUuNDIuMC4wLzE2Xit9DQoNCiAgIE5vdGUsIHRoZSBpbmNsdXNpb24gb2YgSVB2NiBwcmVmaXgg
cmFuZ2VzIHdpdGhpbiBhIG1udC1yb3V0ZXMNCiAgIGF0dHJpYnV0ZSBpbiBhbiBhdXQtbnVtIG9i
amVjdCBtYXkgY29uZmxpY3Qgd2l0aCBleGlzdGluZw0KICAgaW1wbGVtZW50YXRpb25zIG9mIFJQ
U0wgd2hpY2ggc3VwcG9ydCBvbmx5IElQdjQgcHJlZml4IHJhbmdlcy4NCiAgIEhvd2V2ZXIsIGdp
dmVuIHRoZSBwZXJjZWl2ZWQgbGFjayBvZiBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIG9wdGlvbmFs
DQogICBwcmVmaXggcmFuZ2UgbGlzdCwgaXQgd2FzIGNvbnNpZGVyZWQgYWNjZXB0YWJsZSB0byBl
eHRlbmQgdGhlDQogICBleGlzdGluZyBkZWZpbml0aW9uIG9mIHRoZSBtbnQtcm91dGVzIGF0dHJp
YnV0ZSBpbiB0aGUgYXV0LW51bSBjbGFzcw0KICAgcmF0aGVyIHRoYW4gY3JlYXRpbmcgYSBuZXcg
YXR0cmlidXRlIHR5cGUuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQg
YWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFn
ZSAxNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAg
ICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCiAgIEF0dHJpYnV0ZSAgICAgVmFsdWUgICAg
ICAgICAgICAgICAgICAgIFR5cGUNCiAgIGluZXQ2bnVtICAgICAgPGlwdjYtYWRkcmVzcy1wcmVm
aXg+ICAgIG1hbmRhdG9yeSwgc2luZ2xlLXZhbHVlZCwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsYXNzIGtleQ0KICAgbmV0bmFtZSAgICAgICA8bmV0bmFtZT4g
ICAgICAgICAgICAgICAgbWFuZGF0b3J5LCBzaW5nbGUtdmFsdWVkDQogICBkZXNjciAgICAgICAg
IDxmcmVlLWZvcm0+ICAgICAgICAgICAgICBtYW5kYXRvcnksIG11bHRpLXZhbHVlZA0KICAgY291
bnRyeSAgICAgICA8Y291bnRyeS1jb2RlPiAgICAgICAgICAgbWFuZGF0b3J5LCBtdWx0aS12YWx1
ZWQNCiAgIGFkbWluLWMgICAgICAgPG5pYy1oYW5kbGU+ICAgICAgICAgICAgIG1hbmRhdG9yeSwg
bXVsdGktdmFsdWVkDQogICB0ZWNoLWMgICAgICAgIDxuaWMtaGFuZGxlPiAgICAgICAgICAgICBt
YW5kYXRvcnksIG11bHRpLXZhbHVlZA0KICAgcmVtYXJrcyAgICAgICA8ZnJlZS1mb3JtPiAgICAg
ICAgICAgICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbm90aWZ5ICAgICAgICA8ZW1haWwt
YWRkcmVzcz4gICAgICAgICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbW50LWxvd2VyICAg
ICBsaXN0IG9mIDxtbnRuZXItbmFtZT4gICAgb3B0aW9uYWwsIG11bHRpLXZhbHVlZA0KICAgbW50
LXJvdXRlcyAgICBsaXN0IG9mIDxtbnRuZXItbmFtZT4gICAgb3B0aW9uYWwsIG11bHRpLXZhbHVl
ZA0KICAgICAgICAgICAgICAgICBbe2xpc3Qgb2YgPGlwdjYtYWRkcmVzcy1wcmVmaXgtcmFuZ2U+
fSBvciBBTlldDQogICBtbnQtYnkgICAgICAgIGxpc3Qgb2YgPG1udG5lci1uYW1lPiAgICBtYW5k
YXRvcnksIG11bHRpLXZhbHVlZA0KICAgY2hhbmdlZCAgICAgICA8ZW1haWwtYWRkcmVzcz4gPGRh
dGU+ICAgbWFuZGF0b3J5LCBtdWx0aS12YWx1ZWQNCiAgIHNvdXJjZSAgICAgICAgPHJlZ2lzdHJ5
LW5hbWU+ICAgICAgICAgIG1hbmRhdG9yeSwgc2luZ2xlLXZhbHVlZA0KDQoNCiAgIFRoZSA8Y291
bnRyeS1jb2RlPiBtdXN0IGJlIGEgdmFsaWQgdHdvLWxldHRlciBJU08gMzE2NiBjb3VudHJ5IGNv
ZGUNCiAgIGlkZW50aWZpZXIuICA8bmV0bmFtZT4gaXMgYSBzeW1ib2xpYyBuYW1lIGZvciB0aGUg
c3BlY2lmaWVkIElQdjYNCiAgIGFkZHJlc3Mgc3BhY2UuICBJdCBkb2VzIG5vdCBoYXZlIGEgcmVz
dHJpY3Rpb24gb24gUlBTTCByZXNlcnZlZA0KICAgcHJlZml4ZXMuIFRoZXNlIGRlZmluaXRpb25z
IGFyZSB0YWtlbiBmcm9tIHRoZSBSSVBFIERhdGFiYXNlDQogICBSZWZlcmVuY2UgTWFudWFsIFs0
XS4NCg0KNS4xIEF1dGhvcml6YXRpb24gbW9kZWwgZm9yIHJvdXRlNiBPYmplY3RzDQoNCiAgIERl
bGV0aW9uIGFuZCB1cGRhdGUgb2YgYSByb3V0ZTYgb2JqZWN0IGlzIG5vdCBkaWZmZXJlbnQgZnJv
bSBvdGhlcg0KICAgb2JqZWN0cywgYXMgZGVmaW5lZCBpbiBSRkMgMjcyNSBbMl0uIENyZWF0aW9u
IHJ1bGVzIG9mIGEgcm91dGU2DQogICBvYmplY3QgaXMgcmVwbGljYXRlZCBoZXJlIGZyb20gdGhl
IGNvcnJlc3BvbmRpbmcgcnVsZXMgZm9yIHJvdXRlDQogICBvYmplY3QgaW4gUkZDIDI3MjUgWzJd
IHNlY3Rpb24gOS45Lg0KDQogICBXaGVuIGFkZGluZyBhIHJvdXRlNiBvYmplY3QsIHRoZSBzdWJt
aXNzaW9uIG11c3Qgc2F0aXNmeSB0d28NCiAgIGF1dGhlbnRpY2F0aW9uIGNyaXRlcmlhLiBJdCBt
dXN0IG1hdGNoIHRoZSBhdXRoZW50aWNhdGlvbiBzcGVjaWZpZWQNCiAgIGluIHRoZSBhdXQtbnVt
IG9iamVjdCBhbmQgdGhlIGF1dGhlbnRpY2F0aW9uIHNwZWNpZmllZCBpbiBlaXRoZXIgYQ0KICAg
cm91dGU2IG9iamVjdCBvciBpZiBubyBhcHBsaWNhYmxlIHJvdXRlNiBvYmplY3QgaXMgZm91bmQs
IHRoZW4gYW4NCiAgIGluZXQ2bnVtIG9iamVjdC4NCg0KICAgQW4gYWRkaXRpb24gaXMgc3VibWl0
dGVkIHdpdGggYW4gQVMgbnVtYmVyIGFuZCBJUHY2IHByZWZpeCBhcyBpdHMNCiAgIGtleS4gSWYg
dGhlIGF1dC1udW0gb2JqZWN0IGRvZXMgbm90IGV4aXN0IG9uIGEgcm91dGU2IHRvIGFkZCwgdGhl
bg0KICAgdGhlIGFkZGl0aW9uIGlzIHJlamVjdGVkLiBJZiB0aGUgYXV0LW51bSBleGlzdHMgdGhl
biB0aGUgc3VibWlzc2lvbg0KICAgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZSBhcHBsaWNhYmxlIG1h
aW50YWluZXJzLiBBIHNlYXJjaCBpcyB0aGVuIGRvbmUNCiAgIGZvciB0aGUgcHJlZml4IGZpcnN0
IGxvb2tpbmcgZm9yIGFuIGV4YWN0IG1hdGNoLiBJZiB0aGUgc2VhcmNoIGZvciBhbg0KICAgZXhh
Y3QgbWF0Y2ggZmFpbHMsIGEgc2VhcmNoIGlzIG1hZGUgZm9yIHRoZSBsb25nZXN0IHByZWZpeCBt
YXRjaCB0aGF0DQogICBpcyBsZXNzIHNwZWNpZmljIHRoYW4gdGhlIHByZWZpeCBzcGVjaWZpZWQu
IElmIHRoaXMgc2VhcmNoIHN1Y2NlZWRzDQogICBpdCB3aWxsIHJldHVybiBvbmUgb3IgbW9yZSBy
b3V0ZTYgb2JqZWN0cy4gVGhlIHN1Ym1pc3Npb24gbXVzdCBtYXRjaA0KICAgYW4gYXBwbGljYWJs
ZSBtYWludGFpbmVyIGluIGF0IGxlYXN0IG9uZSBvZiB0aGVzZSByb3V0ZTYgb2JqZWN0cyBmb3IN
CiAgIHRoZSBhZGRpdGlvbiB0byBzdWNjZWVkLiBJZiB0aGUgc2VhcmNoIGZvciBhIHJvdXRlNiBv
YmplY3QgZmFpbHMsDQogICB0aGVuIGEgc2VhcmNoIGlzIHBlcmZvcm1lZCBmb3IgYW4gaW5ldDZu
dW0gb2JqZWN0IHRoYXQgZXhhY3RseQ0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBF
eHBpcmVzIE1heSAyMCwgMjAwNCAgICAgICAgICAgICAgICAgW1BhZ2UgMTVdDQoMDQpJbnRlcm5l
dC1EcmFmdCAgICAgICAgICAgICAgICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVt
YmVyIDIwMDMNCg0KDQogICBtYXRjaGVzIHRoZSBwcmVmaXggb3IgZm9yIHRoZSBtb3N0IHNwZWNp
ZmljIGluZXQ2bnVtIHRoYXQgaXMgbGVzcw0KICAgc3BlY2lmaWMgdGhhbiB0aGUgcm91dGU2IG9i
amVjdCBzdWJtaXNzaW9uLg0KDQogICBIYXZpbmcgZm91bmQgdGhlIGF1dC1udW0gYW5kIGVpdGhl
ciBhIGxpc3Qgb2Ygcm91dGU2IG9iamVjdHMgb3IgYW4NCiAgIGluZXQ2bnVtLCB0aGUgYXV0aG9y
aXphdGlvbiBpcyB0YWtlbiBmcm9tIHRoZXNlIG9iamVjdHMuIFRoZQ0KICAgYXBwbGljYWJsZSBt
YWludGFpbmVyIG9iamVjdCBpcyBhbnkgcmVmZXJlbmNlZCBieSB0aGUgbW50LXJvdXRlcw0KICAg
YXR0cmlidXRlcy4gSWYgb25lIG9yIG1vcmUgbW50LXJvdXRlcyBhdHRyaWJ1dGVzIGFyZSBwcmVz
ZW50IGluIGFuDQogICBvYmplY3QsIHRoZSBtbnQtYnkgb3IgbW50LWxvd2VyIGF0dHJpYnV0ZXMg
YXJlIG5vdCBjb25zaWRlcmVkLiBJbiB0aGUNCiAgIGFic2VuY2Ugb2YgYSBtbnQtcm91dGVzIGF0
dHJpYnV0ZSBpbiBhIGdpdmVuIG9iamVjdCwgdGhlbiBmaXJzdA0KICAgbW50LWxvd2VyIGF0dHJp
YnV0ZXMgYXJlIHVzZWQgKG9ubHkgaW4gdGhlIGNhc2UgdGhlIGdpdmVuIG9iamVjdCBpcw0KICAg
aW5ldDZudW0gb2JqZWN0IGFuZCBpdCBpcyBsZXNzIHNwZWNpZmljIHRoYW4gdGhlIHJvdXRlNiBv
YmplY3QgdG8gYmUNCiAgIGFkZGVkKSwgYW5kIGlmIG5vIGFwcGxpY2FibGUgbW50LWxvd2VyIGF0
dHJpYnV0ZSBpcyBmb3VuZCwgdGhlbiB0aGUNCiAgIG1udC1ieSBhdHRyaWJ1dGVzIGFyZSB1c2Vk
IGZvciB0aGF0IG9iamVjdC4gVGhlIGF1dGhlbnRpY2F0aW9uIG11c3QNCiAgIG1hdGNoIG9uZSBv
ZiB0aGUgYXV0aG9yaXphdGlvbiBpbiBlYWNoIG9mIHRoZSB0d28gb2JqZWN0cy4NCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KQmx1bmssIGV0IGFsLiAgICAgICAgICAgICBFeHBpcmVzIE1heSAyMCwgMjAwNCAg
ICAgICAgICAgICAgICAgW1BhZ2UgMTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg
ICAgICBSUFNMbmcgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDMNCg0KDQo2LiBTZWN1
cml0eSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBleHRlbnNp
b25zIHRvIFJGQyAyNjIyIFsxXSBhbmQgUkZDIDI3MjUgWzJdLg0KICAgVGhlIGV4dGVuc2lvbnMg
YWRkcmVzcyB0aGUgbGltaXRhdGlvbnMgb2YgdGhlIGFmb3JlbWVudGlvbmVkDQogICBkb2N1bWVu
dHMgd2l0aCByZXNwZWN0IHRvIElQdjYgYW5kIG11bHRpY2FzdC4gICBUaGUgZXh0ZW5zaW9ucyBk
byBub3QNCiAgIGludHJvZHVjZSBhbnkgbmV3IHNlY3VyaXR5IGZ1bmN0aW9uYWxpdHkgb3IgdGhy
ZWF0cy4NCg0KICAgV2hpbGUgdGhlIGV4dGVuc2lvbnMgaW50cm9kdWNlIG5vIGFkZGl0aW9uYWwg
c2VjdXJpdHkgdGhyZWF0cywgaXQNCiAgIHNob3VsZCBiZSBub3RlZCB0aGF0IHRoZSBvcmlnaW5h
bCBSRkMgMjYyMiBbMV0gUlBTTCBzdGFuZGFyZCBpbmNsdWRlZA0KICAgc2V2ZXJhbCB3ZWFrIGFu
ZC9vciB2dWxuZXJhYmxlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuICBGaXJzdCwgdGhlDQog
ICAiTUFJTC1GUk9NIiBzY2hlbWUsIHdoaWNoIGNhbiBiZSBlYXNpbHkgZGVmZWF0ZWQgdmlhIHNv
dXJjZSBlbWFpbA0KICAgYWRkcmVzcyBzcG9vZmluZy4gIFNlY29uZGx5LCB0aGUgIkNSWVBULVBX
IiBzY2hlbWUsIHdoaWNoIGlzIHN1YmplY3QNCiAgIHRvIGRpY3Rpb25hcnkgYXR0YWNrcyBhbmQg
cGFzc3dvcmQgc25pZmZpbmcgaWYgUlBTTCBvYmplY3RzIGFyZQ0KICAgc3VibWl0dGVkIHZpYSB1
bmVuY3J5cHRlZCBjaGFubmVscyBzdWNoIGFzIGVtYWlsLiAgQW5kIGZpbmFsbHksIHRoZQ0KICAg
Ik5PTkUiIG1lY2hhbmlzbSwgd2hpY2ggb2ZmZXJzIG5vIHByb3RlY3Rpb24gZm9yIG9iamVjdHMu
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIw
LCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAxN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoN
CjcuIEFja25vd2xlZGdtZW50cw0KDQogICBUaGUgYXV0aG9ycyB3aXNoIHRvIHRoYW5rIGFsbCB0
aGUgcGVvcGxlIHdobyBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoaXMNCiAgIGRvY3VtZW50IHRocm91
Z2ggbnVtZXJvdXMgZGlzY3Vzc2lvbnMuDQoNCiAgIFBhcnRpY3VsYXJseSBFa2F0ZXJpbmEgUGV0
cnVzaGEgZm9yIGhpZ2hseSB2YWx1YWJsZSBkaXNjdXNzaW9ucyBhbmQNCiAgIHN1Z2dlc3Rpb25z
LiBTaGFuZSBLZXJyLCBFbmdpbiBHdW5kdXosIE1hcmsgQmxhbmNoZXQgYW5kIERhdmlkDQogICBL
ZXNzZW5zIHBhcnRpY2lwYXRlZCBjb25zdHJ1Y3RpdmVseSBpbiBtYW55IGRpc2N1c3Npb25zLiBG
aW5hbGx5LA0KICAgQ2VuZ2l6IEFsYWV0dGlub2dsdSB3aG8gaXMgc3RpbGwgdGhlIHJlZmVyZW5j
ZSBpbiBhbGwgdGhpbmdzIFJQU0wuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBb
UGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCk5vcm1hdGl2ZSBSZWZlcmVuY2VzDQoN
CiAgIFsxXSAgQWxhZXR0aW5vZ2x1LCBDLiwgVmlsbGFtaXphciwgQy4sIEdlcmljaCwgRS4sIEtl
c3NlbnMsIEQuLA0KICAgICAgICBNZXllciwgRC4sIEJhdGVzLCBULiwgS2FycmVuYmVyZywgRC4g
YW5kIE0uIFRlcnBzdHJhLCAiUm91dGluZw0KICAgICAgICBQb2xpY3kgU3BlY2lmaWNhdGlvbiBM
YW5ndWFnZSAoUlBTTCkiLCBSRkMgMjYyMiwgSnVuZSAxOTk5Lg0KDQogICBbMl0gIFZpbGxhbWl6
YXIsIEMuLCBBbGFldHRpbm9nbHUsIEMuLCBNZXllciwgRC4gYW5kIFMuIE11cnBoeSwNCiAgICAg
ICAgIlJvdXRpbmcgUG9saWN5IFN5c3RlbSBTZWN1cml0eSIsIFJGQyAyNzI1LCBEZWNlbWJlciAx
OTk5Lg0KDQogICBbM10gIEhpbmRlbiwgUi4gYW5kIFMuIERlZXJpbmcsICJJbnRlcm5ldCBQcm90
b2NvbCBWZXJzaW9uIDYgKElQdjYpDQogICAgICAgIEFkZHJlc3NpbmcgQXJjaGl0ZWN0dXJlIiwg
UkZDIDM1MTMsIEFwcmlsIDIwMDMuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkJsdW5rLCBldCBh
bC4gICAgICAgICAgICAgRXhwaXJlcyBNYXkgMjAsIDIwMDQgICAgICAgICAgICAgICAgIFtQYWdl
IDE5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgUlBTTG5nICAgICAgICAg
ICAgICAgICAgICBOb3ZlbWJlciAyMDAzDQoNCg0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQog
ICBbNF0gIERhbWFzLCBKLiBhbmQgQS4gUm9iYWNoZXZza3ksICJSSVBFIERhdGFiYXNlIFJlZmVy
ZW5jZSBNYW51YWwiLA0KICAgICAgICBBdWd1c3QgMjAwMi4NCg0KDQpBdXRob3JzJyBBZGRyZXNz
ZXMNCg0KICAgTGFycnkgQmx1bmsNCiAgIE1lcml0IE5ldHdvcmsNCg0KICAgRU1haWw6IGxqYkBt
ZXJpdC5lZHUNCg0KDQogICBKb2FvIERhbWFzDQogICBJbnRlcm5ldCBTb2Z0d2FyZSBDb25zb3J0
aXVtDQoNCiAgIEVNYWlsOiBqb2FvQHBzZy5jb20NCg0KDQogICBGbG9yZW50IFBhcmVudA0KICAg
VmlhZ2VuaWUNCg0KICAgRU1haWw6IEZsb3JlbnQuUGFyZW50QHZpYWdlbmllLnFjLmNhDQoNCg0K
ICAgQW5kcmVpIFJvYmFjaGV2c2t5DQogICBSSVBFIE5DQw0KDQogICBFTWFpbDogYW5kcmVpQHJp
cGUubmV0DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywg
ZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBb
UGFnZSAyMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgIFJQU0xuZyAgICAg
ICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0KDQoNCkludGVsbGVjdHVhbCBQcm9wZXJ0eSBT
dGF0ZW1lbnQNCg0KICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2
YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCiAgIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvciBvdGhl
ciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvDQogICBwZXJ0YWluIHRvIHRoZSBpbXBs
ZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hub2xvZ3kgZGVzY3JpYmVkIGluDQogICB0aGlz
IGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vuc2UgdW5kZXIgc3VjaCBy
aWdodHMNCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5laXRoZXIgZG9lcyBp
dCByZXByZXNlbnQgdGhhdCBpdA0KICAgaGFzIG1hZGUgYW55IGVmZm9ydCB0byBpZGVudGlmeSBh
bnkgc3VjaCByaWdodHMuIEluZm9ybWF0aW9uIG9uIHRoZQ0KICAgSUVURidzIHByb2NlZHVyZXMg
d2l0aCByZXNwZWN0IHRvIHJpZ2h0cyBpbiBzdGFuZGFyZHMtdHJhY2sgYW5kDQogICBzdGFuZGFy
ZHMtcmVsYXRlZCBkb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCBpbiBCQ1AtMTEuIENvcGllcyBv
Zg0KICAgY2xhaW1zIG9mIHJpZ2h0cyBtYWRlIGF2YWlsYWJsZSBmb3IgcHVibGljYXRpb24gYW5k
IGFueSBhc3N1cmFuY2VzIG9mDQogICBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWlsYWJsZSwgb3Ig
dGhlIHJlc3VsdCBvZiBhbiBhdHRlbXB0IG1hZGUgdG8NCiAgIG9idGFpbiBhIGdlbmVyYWwgbGlj
ZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mIHN1Y2gNCiAgIHByb3ByaWV0YXJ5IHJp
Z2h0cyBieSBpbXBsZW1lbnRvcnMgb3IgdXNlcnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGNhbg0K
ICAgYmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBTZWNyZXRhcmlhdC4NCg0KICAgVGhlIElFVEYg
aW52aXRlcyBhbnkgaW50ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uIGFu
eQ0KICAgY29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhl
ciBwcm9wcmlldGFyeQ0KICAgcmlnaHRzIHdoaWNoIG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQg
bWF5IGJlIHJlcXVpcmVkIHRvIHByYWN0aWNlDQogICB0aGlzIHN0YW5kYXJkLiBQbGVhc2UgYWRk
cmVzcyB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIElFVEYgRXhlY3V0aXZlDQogICBEaXJlY3Rvci4N
Cg0KDQpGdWxsIENvcHlyaWdodCBTdGF0ZW1lbnQNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50
ZXJuZXQgU29jaWV0eSAoMjAwMykuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQoNCiAgIFRoaXMgZG9j
dW1lbnQgYW5kIHRyYW5zbGF0aW9ucyBvZiBpdCBtYXkgYmUgY29waWVkIGFuZCBmdXJuaXNoZWQg
dG8NCiAgIG90aGVycywgYW5kIGRlcml2YXRpdmUgd29ya3MgdGhhdCBjb21tZW50IG9uIG9yIG90
aGVyd2lzZSBleHBsYWluIGl0DQogICBvciBhc3Npc3QgaW4gaXRzIGltcGxlbWVudGF0aW9uIG1h
eSBiZSBwcmVwYXJlZCwgY29waWVkLCBwdWJsaXNoZWQNCiAgIGFuZCBkaXN0cmlidXRlZCwgaW4g
d2hvbGUgb3IgaW4gcGFydCwgd2l0aG91dCByZXN0cmljdGlvbiBvZiBhbnkNCiAgIGtpbmQsIHBy
b3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBo
IGFyZQ0KICAgaW5jbHVkZWQgb24gYWxsIHN1Y2ggY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtz
LiBIb3dldmVyLCB0aGlzDQogICBkb2N1bWVudCBpdHNlbGYgbWF5IG5vdCBiZSBtb2RpZmllZCBp
biBhbnkgd2F5LCBzdWNoIGFzIGJ5IHJlbW92aW5nDQogICB0aGUgY29weXJpZ2h0IG5vdGljZSBv
ciByZWZlcmVuY2VzIHRvIHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIG90aGVyDQogICBJbnRlcm5l
dCBvcmdhbml6YXRpb25zLCBleGNlcHQgYXMgbmVlZGVkIGZvciB0aGUgcHVycG9zZSBvZg0KICAg
ZGV2ZWxvcGluZyBJbnRlcm5ldCBzdGFuZGFyZHMgaW4gd2hpY2ggY2FzZSB0aGUgcHJvY2VkdXJl
cyBmb3INCiAgIGNvcHlyaWdodHMgZGVmaW5lZCBpbiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIHBy
b2Nlc3MgbXVzdCBiZQ0KICAgZm9sbG93ZWQsIG9yIGFzIHJlcXVpcmVkIHRvIHRyYW5zbGF0ZSBp
dCBpbnRvIGxhbmd1YWdlcyBvdGhlciB0aGFuDQogICBFbmdsaXNoLg0KDQogICBUaGUgbGltaXRl
ZCBwZXJtaXNzaW9ucyBncmFudGVkIGFib3ZlIGFyZSBwZXJwZXR1YWwgYW5kIHdpbGwgbm90IGJl
DQogICByZXZva2VkIGJ5IHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIGl0cyBzdWNjZXNzb3JzIG9y
IGFzc2lnbmVlcy4NCg0KICAgVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRh
aW5lZCBoZXJlaW4gaXMgcHJvdmlkZWQgb24gYW4NCiAgICJBUyBJUyIgYmFzaXMgYW5kIFRIRSBJ
TlRFUk5FVCBTT0NJRVRZIEFORCBUSEUgSU5URVJORVQgRU5HSU5FRVJJTkcNCiAgIFRBU0sgRk9S
Q0UgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
Rw0KICAgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhF
IElORk9STUFUSU9ODQoNCg0KDQpCbHVuaywgZXQgYWwuICAgICAgICAgICAgIEV4cGlyZXMgTWF5
IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgICAgICAgIFJQU0xuZyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAwMw0K
DQoNCiAgIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YNCiAgIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4NCg0KDQpBY2tub3dsZWRnbWVudA0KDQogICBGdW5kaW5nIGZvciB0aGUg
UkZDIEVkaXRvciBmdW5jdGlvbiBpcyBjdXJyZW50bHkgcHJvdmlkZWQgYnkgdGhlDQogICBJbnRl
cm5ldCBTb2NpZXR5Lg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpCbHVuaywgZXQgYWwu
ICAgICAgICAgICAgIEV4cGlyZXMgTWF5IDIwLCAyMDA0ICAgICAgICAgICAgICAgICBbUGFnZSAy
Ml0NCgwNCi==

--=-hBt6deZdbzKC595yVR/x--

_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps



From rps-admin@ietf.org  Fri Nov 21 15:33:26 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01143
	for <rps-archive@lists.ietf.org>; Fri, 21 Nov 2003 15:33:25 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxd-0001Od-4u; Fri, 21 Nov 2003 15:33:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxC-0001OB-VE
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 15:32:35 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01105
	for <rps@ietf.org>; Fri, 21 Nov 2003 15:32:22 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHxB-0000MV-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:32:33 -0500
Received: from segue.merit.edu ([198.108.1.41])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHx9-0000MS-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:32:31 -0500
Received: from ablate.merit.edu (ablate.merit.edu [198.108.62.151])
	by segue.merit.edu (Postfix) with ESMTP
	id F07195DE67; Fri, 21 Nov 2003 15:32:29 -0500 (EST)
From: "Larry J. Blunk" <ljb@merit.edu>
To: rpslng@ripe.net, rps@ietf.org
Cc: pekkas@netcore.fi
Content-Type: text/plain
Organization: Merit Network, Inc.
Message-Id: <1069446879.3260.24.camel@ablate.merit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) 
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Rps] Latest RPSLng draft -second try
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: 21 Nov 2003 15:34:39 -0500
Content-Transfer-Encoding: 7bit

  My first try didn't make it through because the post was
too big.  I've added the draft inline this time.

I've enclosed the latest draft of the RPSLng spec.  I've left the
afi definition section as it was previously as I don't think there
was consensus to change the meaning of ipv4 and ipv6 to include
both unicast and multicast.  Please let me know if there are any
strong feelings about this.  One option could be to add ipv4.any
and ipv6.any types as a shorthand for ipv4.unicast,ipv4.multicast and
ipv6.unicast,ipv6.multicast.  However, I'm not sure if this doesn't
actually make things worse by creating more clutter in the spec.

   I've reduced the encapsulation types for the tunnel option in
the interface: attribute to just GRE and IPinIP.  IPinIP was
deemed sufficient since you already know the address types
of the encapsulating end-points.  DVMRP was dropped since the
protocol/encapsulation method seems to be deprecated at this point.
Should we add other encapsulation methods to this attribute?  For
example, LT2P, PPTP, or IPSec?   Would it be useful to have an
afi specification to indentify/restrict the address family types
carried across the tunnel?

 -Larry Blunk
  Merit



Network Working Group                                           L. Blunk
Internet-Draft                                             Merit Network
Updates: 2262, 2725 (if approved)                               J. Damas
Expires: May 20, 2004                       Internet Software Consortium
                                                               F. Parent
                                                                Viagenie
                                                          A. Robachevsky
                                                                RIPE NCC
                                                       November 20, 2003


     Routing Policy Specification Language next generation (RPSLng)
                       draft-blunk-rpslng-02.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 20, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

   This memo presents a new set of simple extensions to the Routing
   Policy Specification Language (RPSL) [1] enabling the language to
   document routing policies for the IPv6 and multicast address families
   currently used in the Internet.






Blunk, et al.             Expires May 20, 2004                  [Page 1]

Internet-Draft                   RPSLng                    November 2003


Table of Contents

   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.    Specifying routing policy for different address families . .  4
   2.1   Ambiguity Resolution . . . . . . . . . . . . . . . . . . . .  4
   2.2   The afi dictionary attribute . . . . . . . . . . . . . . . .  4
   2.3   RPSL dictionary extensions . . . . . . . . . . . . . . . . .  5
   2.4   IPv6 RPSL types  . . . . . . . . . . . . . . . . . . . . . .  5
   2.5   mp-import, mp-export, and mp-default . . . . . . . . . . . .  5
   2.5.1 <mp-peering> . . . . . . . . . . . . . . . . . . . . . . . .  7
   2.5.2 <mp-filter>  . . . . . . . . . . . . . . . . . . . . . . . .  7
   2.5.3 Policy examples  . . . . . . . . . . . . . . . . . . . . . .  7
   3.    route6 Class . . . . . . . . . . . . . . . . . . . . . . . .  9
   4.    Updates to existing Classes to support the extensions  . . . 10
   4.1   as-set Class . . . . . . . . . . . . . . . . . . . . . . . . 10
   4.2   route-set Class  . . . . . . . . . . . . . . . . . . . . . . 10
   4.3   filter-set Class . . . . . . . . . . . . . . . . . . . . . . 10
   4.4   peering-set Class  . . . . . . . . . . . . . . . . . . . . . 11
   4.5   inet-rtr Class . . . . . . . . . . . . . . . . . . . . . . . 11
   4.6   rtr-set Class  . . . . . . . . . . . . . . . . . . . . . . . 12
   5.    RFC 2725 extensions  . . . . . . . . . . . . . . . . . . . . 14
   5.1   Authorization model for route6 Objects . . . . . . . . . . . 15
   6.    Security Considerations  . . . . . . . . . . . . . . . . . . 17
   7.    Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . 18
         Normative References . . . . . . . . . . . . . . . . . . . . 19
         Informative References . . . . . . . . . . . . . . . . . . . 20
         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 20
         Intellectual Property and Copyright Statements . . . . . . . 21























Blunk, et al.             Expires May 20, 2004                  [Page 2]

Internet-Draft                   RPSLng                    November 2003


1. Introduction

   RFC 2622 [1] defines the RPSL language for the IPv4 unicast routing
   protocols and a series of guidelines for extending the RPSL language
   itself.  Additionally, security extensions to the RPSL language are
   specified in RFC 2725 [2].

   This document proposes to extend RPSL according to the following
   goals and requirements:

   o  Provide RPSL extensibility in the dimension of address families.
      Specifically, to allow users to document routing policy for IPv6
      and multicast.

   o  Extensions should be backward compatible with minimal impact on
      existing tools and processes, following Section 10 of RFC 2622 [1]
      for guidelines on extending RPSL.

   o  Maintain clarity and non-ambiguity: RPSL information is used by
      humans in addition to software tools.

   o  Minimize duplication of information, particularly when routing
      policies for different address families are the same.

   The addition of IPv6 and multicast support to RPSL leads to four
   distinct routing policies that need to be distinguished in this
   specification, namely, (IPv4 {unicast|multicast}, IPv6
   {unicast|multicast}).























Blunk, et al.             Expires May 20, 2004                  [Page 3]

Internet-Draft                   RPSLng                    November 2003


2. Specifying routing policy for different address families

   Routing policy is currently specified in the aut-num class using
   "import:", "export:", and "default:" attributes. Sometimes it is
   important to distinguish policy for different address families, as
   well as a unicast routing policy from a multicast one.

   While the syntax of the existing import, export, and default
   attributes could be extended, this would present backward
   compatibility issues and could undermine clarity in the expressions.

   Keeping this in mind, the "import:", "export:", and "default:"
   attributes implicitly specify IPv4 unicast policy and remain as
   defined previously in RPSL, and new multi-protocol (prefixed with the
   string "mp-") attributes are introduced. These new "mp-" attributes
   will be described below.

2.1 Ambiguity Resolution

   It is possible that the same peering can be covered by more than one
   multi-protocol policy attribute or by a combination of multi-protocol
   policy attributes (when specifying IPv4 unicast policy) and the
   previously defined IPv4 unicast policy attributes.  In these cases,
   implementations should follow the specification-order rule as defined
   in Section 6.4 of RFC 2622 [1].  Namely, to break the ambiguity, the
   action corresponding to the first peering specification is used.

2.2 The afi dictionary attribute

   In this section we introduce a new dictionary attribute:

   Address Family Identifier, <afi>, is an RPSL list of address families
   for which a given routing policy expression should be evaluated.
   <afi> is mandatory within the new multi-protocol attributes
   introduced in the aut-num class.

   The possible values for <afi> are:

      ipv4
      ipv4.unicast (equivalent to ipv4)
      ipv4.multicast
      ipv6
      ipv6.unicast (equivalent to ipv6)
      ipv6.multicast

   Appearance of these values in an attribute must be preceded by the
   keyword afi.




Blunk, et al.             Expires May 20, 2004                  [Page 4]

Internet-Draft                   RPSLng                    November 2003


   An <afi-list> is defined as a comma separated list of one or more afi
   values.

2.3 RPSL dictionary extensions

   In order to support IPv6 addresses specified with the next-hop
   rp-attribute, a new predefined dictionary type entitled
   "ipv6_address" is added to the RPSL dictionary.   The definition of
   this type is taken from Section 2.2 of RFC 3513 [3].

   The next-hop rp-attribute is expanded in the dictionary as follows:

   rp-attribute: # next hop router in a static route
                 next-hop
                 operator=(union ipv4_address, ipv6_address, enum[self])

   A new value has been added for the <protocol> dictionary
   specification:

      MPBGP

   MPBGP is understood to be BGP4 with multi-protocol extensions (often
   referred to as BGP4+).  BGP4+ could not be used as the '+' character
   is not allowed by the RPSL specification in protocol names.

2.4 IPv6 RPSL types

   This document will reference three new IPv6 RPSL types, namely,
   <ipv6-address>, <ipv6-address-prefix>, and
   <ipv6-address-prefix-range>.  The <ipv6-address> and
   <ipv6-address-prefix> types are defined in Sections 2.2 and 2.3 of
   RFC 3513 [3]. The <ipv6-address-prefix-range> type adds a range
   operator to the <ipv6-address-prefix> type.  The range operator is
   defined in Section 2 of RFC 2622 [1].

2.5 mp-import, mp-export, and mp-default

   Three new policy attributes are introduced in the aut-num Class:

      mp-import:
      mp-export:
      mp-default:

   These attributes incorporate the afi (address-family) specification.
   The mp-import and mp-export attributes have both a basic policy
   specification and a more powerful structured policy specification.

   The syntax for the mp-default attribute and the basic policy



Blunk, et al.             Expires May 20, 2004                  [Page 5]

Internet-Draft                   RPSLng                    November 2003


   specification of the mp-import and mp-export attributes is as
   follows:


   Attribute  Value                                         Type
   mp-import  [protocol <protocol-1>] [into <protocol-2>]   optional,
              afi <afi-list>                                multi-valued
              from <mp-peering-1> [action <action-1>]
              . . .
              from <mp-peering-N> [action <action-N>]
              accept <mp-filter>

   mp-export  [protocol <protocol-1>] [into <protocol-2>]   optional,
              afi <afi-list>                                multi-valued
              to <mp-peering-1> [action <action-1>]
              . . .
              to <mp-peering-N> [action <action-N>]
              announce <mp-filter>

   mp-default afi <afi-list> to <mp-peering>                optional,
              [action <action>] [networks <mp-filter>]      multi-valued


   The mp-import and mp-export policies can be structured.  As with RFC
   2622 [1], structured policies are recommended only to advanced RPSL
   users.  For the sake of brevity, only the mp-import structured policy
   syntax is defined below.   The mp-export structured policy syntax is
   expressed in a symmetric way to the mp-import attribute.


   mp-import ::=
          [protocol <protocol-1>] [into <protocol-2>]
<import-expression>

   <import-expression> ::=
          afi <afi-list> <import-term> accept <mp-filter> |
          afi <afi-list> <import-term> accept <mp-filter> EXCEPT
                                                 <import-expression> |
          afi <afi-list> <import-term> accept <mp-filter> REFINE
                                                 <import-expression>

   <import-term> ::=  <import-factor> |
                      {
                        <import-factor>
                        ...
                        <import-factor>
                      }

   <import-factor> ::= from <mp-peering> [action <action>];



Blunk, et al.             Expires May 20, 2004                  [Page 6]

Internet-Draft                   RPSLng                    November 2003


2.5.1 <mp-peering>

   <mp-peering> indicates the AS (and the router if present) and is
   defined as follows:

   <mp-peering> ::= <as-expression> [<mp-router-expression-1>]
                    [at <mp-router-expression-2>] | <peering-set-name>

   where <as-expression> is an expression over AS numbers and AS sets
   using operators AND, OR, and EXCEPT, and <mp-router-expression> is an
   expression over router ipv4-addresses or ipv6-addresses, inet-rtr
   names, and rtr-set names using operators AND, OR, and EXCEPT.  The
   binary "EXCEPT" operator is the set subtraction operator and has the
   same precedence as the operator AND (it is semantically equivalent to
   "AND NOT" combination).  That is "(AS1 OR AS2) EXCEPT AS2" equals
   "AS1".

2.5.2 <mp-filter>

   The <mp-filter> policy filter expression is derived from the RPSL
   <filter> policy filter expression defined in section 5.4 of RFC 2622
   [1]. <mp-filter> extends the <filter> expression to allow the
   specification of IPv6 prefixes and prefix ranges. In particular, an
   Address-Prefix Set expression in an <mp-filter> expression may
   include both IPv4 and IPv6 prefixes or prefix ranges. <mp-filter> is
   otherwise identical to the RPSL <filter> expression.   Address-Prefix
   Sets are enclosed in braces '{' and '}'. The policy filter matches
   the set of routes whose destination address-prefix is in the set.
   For example:

      { 198.108.0.0/16, 3ffe:ffff:240::/48 }
      { 3ffe:ffff:580::/48^+, 3ffe:ffff:600::/48^64 }


2.5.3 Policy examples

   The address family may be specified at any level of nesting of
   <import-expression>, and is valid only within the <import-expression>
   that contains it.

   Therefore in the example:

   aut-num:    AS65534
   mp-import: afi ipv6.unicast,ipv4 from AS65001 action pref = 1; accept
as-foo
               except { afi ipv6.unicast,ipv4
               from AS65002 action pref = 2; accept AS65226
                  except { afi ipv6.unicast
                  from AS65003 action pref = 3; accept {3FFE:FFFF::/32}



Blunk, et al.             Expires May 20, 2004                  [Page 7]

Internet-Draft                   RPSLng                    November 2003


                         }
                       }

   the last (rightmost) "except" is evaluated only for the IPv6 unicast
   address family, while other import-expressions are evaluated for both
   the IPv6 and IPv4 unicast address families.

   The evaluation of an <import-expression> is done by evaluating all of
   its components. Evaluation of peering-sets and filter-sets is
   constrained by the address family.  Such constraints may result in a
   {NOT ANY} <mp-filter> or invalid <mp-peering> depending on implicit
   or explicit definitions of the address family in the set.  An RPSL
   evaluation implementation may wish to issue a warning in the case of
   a {NOT ANY} <mp-filter>.

   Conflicts with explicit or implicit declarations are resolved at
   runtime, that is, during the evaluation of a policy expression. For
   example, when evaluating the following import policy:

   aut-num: AS65002
   mp-import: afi ipv6 from AS65001 accept {193.0.0.0/22}

   the mp-filter should be evaluated as {NOT ANY}.  A more complex
   example follows:

   aut-num: AS65002
   mp-import: afi ipv6.unicast {
      from AS-ANY action med = 0; accept {3FFE:FFFF::/32};
      } refine { afi ipv6.unicast
           from AS65001 at 3FFE:FFFF::1 action pref = 1; accept
AS-UPSTREAM;
           from prng6-ebgp-peers action pref = 2; accept AS65001;
      }

   In this example, only IPv6 prefixes originated by AS65001 will be
   collected, and when evaluating the as-set AS-UPSTREAM, only IPv6
   prefixes of the member ASes will be considered.















Blunk, et al.             Expires May 20, 2004                  [Page 8]

Internet-Draft                   RPSLng                    November 2003


3. route6 Class

   The route6 class is the IPv6 equivalent of the route class. As with
   the route class, the class key for the route6 class is specified by
   the route6 and origin attribute pair.  Other than the route6
   attribute, the route6 class shares the same attribute names with the
   route class.  While the attribute names remain identical, the inject,
   components, exports-comps, holes, and mnt-routes attributes must
   specify IPv6 prefixes and addresses rather than IPv4 prefixes and
   addresses.  This requirement is reflected by the specification of
   <ipv6-router-expression>, <ipv6-filter>, and <ipv6-address-prefix>
   below.  <ipv6-address-prefix> has been previously defined.
   <ipv6-filter> is related to <mp-filter> as defined above in Section
   2.5.2 with the exception that only <ipv6-address-prefix> types are
   permitted. Similarly, <ipv6-router-expression> is related to
   <mp-router-expression> as defined above in Section 2.5.1 with the
   exception that only <ipv6-address> types are permitted.

   Note that <ipv6-address-prefix> may be of either type ipv6.unicast or
   type ipv6.multicast.  An IPv6 multicast address is indentified by the
   binary 11111111 at the start of the address.  For futher reference,
   please see Section 2.7 of RFC 3513 [3].


   Attribute     Value                             Type
   route6        <ipv6-address-prefix>             mandatory, class key,
                                                   single-valued
   origin        <as-number>                       mandatory, class key,
                                                   single-valued
   member-of     list of <route-set-name>          optional,
multi-valued
   inject        [at <ipv6-router-expression>] ... optional,
multi-valued
                 [action <action>]
                 [upon <condition>]
   components    [ATOMIC] [[<ipv6-filter>]         optional,
single-valued
                 [protocol <protocol> <ipv6-filter> ...]]
   aggr-bndry    <as-expression>                   optional,
single-valued
   aggr-mtd      inbound or outbound               optional,
single-valued
                 [<as-expression>]
   export-comps  <ipv6-filter>                     optional,
single-valued
   holes         list of <ipv6-address-prefix>     optional,
multi-valued
   mnt-lower     list of <mntner-name>             optional,
multi-valued
   mnt-routes    list of <mntner-name>             optional,
multi-valued
                 [{list of <ipv6-address-prefix-range>} or ANY]

   Example:

   route6:   3ffe:ffff:240::/48
   origin:   AS65001



Blunk, et al.             Expires May 20, 2004                  [Page 9]

Internet-Draft                   RPSLng                    November 2003


4. Updates to existing Classes to support the extensions

4.1 as-set Class

   The as-set class defines a set of Autonomous Systems (AS), specified
   either directly by listing them in the members attribute, or
   indirectly by referring to another as-sets or using the mbrs-by-ref
   facility. More importantly, "In a context that expects a route set
   (e.g.  members attribute of the route-set class), [...] an as-set
   AS-X defines the set of routes that are originated by the ASes in
   AS-X.", (section 5.3 of  RFC 2622 [1]).

   The as-set class is therefore used to collect a set of route
   prefixes, which may be restricted to a specific address family.

   The existing as-set class does not need any modifications. The
   evaluation of the class must be filtered to obtain prefixes belonging
   to a particular address family using the traditional filtering
   mechanism in use in Internet Routing Registry (IRR) systems today.

4.2 route-set Class

   This class is used to specify a set of route prefixes.

   A new attribute "mp-members:" is defined for this class.  This
   attributes allow the specification of IPv4 or IPv6
   address-prefix-ranges.


   Attribute   Value                                 Type
   mp-members  list of (<ipv4-address-prefix-range>  optional,
multi-valued
               or <ipv6-address-prefix-range>
               or <route-set-name>
               or <route-set-name><range-operator>)

   Example:

   route-set:  rs-foo
   mp-members: rs-bar
   mp-members: 3FFE:FFFF::/32  # v6 member
   mp-members: 128.9.0.0/16    # v4 member


4.3 filter-set Class

   The new "mp-filter:" attribute defines the set's policy filter.  A
   policy filter is a logical expression which when applied to a set of
   routes returns a subset of these routes.  The relevant parts of the



Blunk, et al.             Expires May 20, 2004                 [Page 10]

Internet-Draft                   RPSLng                    November 2003


   updated filter-set class are shown below:


   Attribute   Value                  Type
   filter-set  <object-name>          mandatory, single-valued, class
key
   filter      <filter>               optional, single-valued
   mp-filter   <mp-filter>            optional, single-valued
   ...


   Where <mp-filter> is defined above in Section 2.5.2. While the
   "filter:" and "mp-filter:" attributes are of type "optional", a
   filter-set must contain one of these two attributes.  Implementations
   should reject instances where both attributes are defined in an
   object as the interpretation of such a filter-set is undefined.

4.4 peering-set Class

   The peering set class is updated with a "mp-peering:" attribute.


   Attribute    Value                 Type
   peering-set  <object-name>         mandatory, single-valued, class
key
   peering      <peering>             optional, multi-valued
   mp-peering   <mp-peering>          optional, multi-valued
   ...

   Example:

   peering-set:   prng-ebgp-peers
   mp-peering:    AS65002 3FFE:FFFF::1 at 3FFE:FFFF::2

   With <mp-peering> defined as above in Section 2.5.1. While the
   "peering:" and "mp-peering:" attributes are of type "optional", a
   peering-set must contain at least one of these two attributes.

4.5 inet-rtr Class

   Two new attributes are introduced to the inet-rtr class --
   "interface:" which allows the definition of generic interfaces,
   including the information previously contained in the "ifaddr:"
   attribute, as well as support for tunnel definitions. And,
   "mp-peer:", which includes and extends the functionality of the
   existing "peer:" attribute.

   Below is the syntax definition for the new "interface:" attribute.





Blunk, et al.             Expires May 20, 2004                 [Page 11]

Internet-Draft                   RPSLng                    November 2003


   Attribute  Value                                 Type
   interface  <ipv4-address> or <ipv6-address>      optional,
multi-valued
              masklen <mask>
              [action <action>]
              [tunnel <remote-endpoint-address>,<encapsulation>]

   The new syntax allows native IPv4 and IPv6 interface definitions as
   well as the definition of tunnels as virtual interfaces. Without the
   optional tunnel definition, this attribute allows the same
   functionality as the "ifaddr:" attribute but extends it to allow IPv6
   addresses.

   In the case of the interface being a tunnel, the syntax is as
   follows:

   <remote-endpoint-address> indicates the IPv4 or IPv6 address of the
   remote endpoint of the tunnel. The address family must match that of
   the local endpoint. <encapsulation> denotes the encapsulation used in
   the tunnel and is one of {GRE,IPinIP}.  Routing policies for these
   routers should be described in the appropriate classes (e.g.
   aut-num).

   The "mp-peer:" attribute is defined below.  The difference between
   this attribute and the "peer:" attribute is the inclusion of support
   for IPv6 addresses.

   Attribute  Value                                     Type
   mp-peer    <protocol> <ipv4-address> <options>  or   optional,
              <protocol> <ipv6-address> <options>  or   multi-valued
              <protocol> <inet-rtr-name> <options> or
              <protocol> <rtr-set-name> <options>  or
              <protocol> <peering-set-name> <options>


   where <protocol> is a protocol name, and <options> is a comma
   separated list of peering options for <protocol> as provided in the
   RPSL dictionary.

4.6 rtr-set Class

   The rtr-set class is extended with a new attribute, "mp-members:",
   defined as

   Attribute   Value                             Type
   mp-members  list of (<inet-rtr-name> or       optional, multi-valued
               <rtr-set-name> or
               <ipv4-address> or
               <ipv6-address>)



Blunk, et al.             Expires May 20, 2004                 [Page 12]

Internet-Draft                   RPSLng                    November 2003


   This attribute extends the original "members:" attribute by allowing
   the specification of IPv6 addresses.

















































Blunk, et al.             Expires May 20, 2004                 [Page 13]

Internet-Draft                   RPSLng                    November 2003


5. RFC 2725 extensions

   RFC 2725 [2] introduces an authorization model to address the
   integrity of policy expressed in routing registries.  In particular,
   two new attributes were defined to support this authorization model,
   namely, the "mnt-routes" and "mnt-lower" attributes.

   In RPSLng, these attributes are extended to the route6 and inet6num
   (described below) classes.  Further, the syntax of the existing
   mnt-routes attribute is modified to allow the optional specification
   of IPv6 prefix range lists when present in inet6num, route6, and
   aut-num class objects. This optional list of prefix ranges is a
   comma-separated list enclosed in curly braces.  In the aut-num class,
   the IPv6 prefix ranges may be mixed with IPv4 prefix ranges.  The
   keyword "ANY" many also be used instead of prefix ranges.  In the
   case of inet6num and route6 objects, "ANY" refers to all more
   specifics of the prefix in the class key field.  For the aut-num
   class, "ANY" literally means any prefix. The default when no
   additional set items are specified is "ANY".

   The following is an example of mnt-routes usage.  This example
   authorizes MAINT-65001 to create route6 objects with an origin AS of
   65002 for IPv6 address prefixes within the 3ffe:ffff::/32^+ range,
   and route objects with origin AS 65002 for IPv4 prefixes within the
   35.42.0.0/16^+ range.

   aut-num: AS65002
   mnt-routes: MAINT-AS65001 {3ffe:ffff::/32^+, 35.42.0.0/16^+}

   Note, the inclusion of IPv6 prefix ranges within a mnt-routes
   attribute in an aut-num object may conflict with existing
   implementations of RPSL which support only IPv4 prefix ranges.
   However, given the perceived lack of implementation of this optional
   prefix range list, it was considered acceptable to extend the
   existing definition of the mnt-routes attribute in the aut-num class
   rather than creating a new attribute type.















Blunk, et al.             Expires May 20, 2004                 [Page 14]

Internet-Draft                   RPSLng                    November 2003


   Attribute     Value                    Type
   inet6num      <ipv6-address-prefix>    mandatory, single-valued,
                                          class key
   netname       <netname>                mandatory, single-valued
   descr         <free-form>              mandatory, multi-valued
   country       <country-code>           mandatory, multi-valued
   admin-c       <nic-handle>             mandatory, multi-valued
   tech-c        <nic-handle>             mandatory, multi-valued
   remarks       <free-form>              optional, multi-valued
   notify        <email-address>          optional, multi-valued
   mnt-lower     list of <mntner-name>    optional, multi-valued
   mnt-routes    list of <mntner-name>    optional, multi-valued
                 [{list of <ipv6-address-prefix-range>} or ANY]
   mnt-by        list of <mntner-name>    mandatory, multi-valued
   changed       <email-address> <date>   mandatory, multi-valued
   source        <registry-name>          mandatory, single-valued


   The <country-code> must be a valid two-letter ISO 3166 country code
   identifier.  <netname> is a symbolic name for the specified IPv6
   address space.  It does not have a restriction on RPSL reserved
   prefixes. These definitions are taken from the RIPE Database
   Reference Manual [4].

5.1 Authorization model for route6 Objects

   Deletion and update of a route6 object is not different from other
   objects, as defined in RFC 2725 [2]. Creation rules of a route6
   object is replicated here from the corresponding rules for route
   object in RFC 2725 [2] section 9.9.

   When adding a route6 object, the submission must satisfy two
   authentication criteria. It must match the authentication specified
   in the aut-num object and the authentication specified in either a
   route6 object or if no applicable route6 object is found, then an
   inet6num object.

   An addition is submitted with an AS number and IPv6 prefix as its
   key. If the aut-num object does not exist on a route6 to add, then
   the addition is rejected. If the aut-num exists then the submission
   is checked against the applicable maintainers. A search is then done
   for the prefix first looking for an exact match. If the search for an
   exact match fails, a search is made for the longest prefix match that
   is less specific than the prefix specified. If this search succeeds
   it will return one or more route6 objects. The submission must match
   an applicable maintainer in at least one of these route6 objects for
   the addition to succeed. If the search for a route6 object fails,
   then a search is performed for an inet6num object that exactly



Blunk, et al.             Expires May 20, 2004                 [Page 15]

Internet-Draft                   RPSLng                    November 2003


   matches the prefix or for the most specific inet6num that is less
   specific than the route6 object submission.

   Having found the aut-num and either a list of route6 objects or an
   inet6num, the authorization is taken from these objects. The
   applicable maintainer object is any referenced by the mnt-routes
   attributes. If one or more mnt-routes attributes are present in an
   object, the mnt-by or mnt-lower attributes are not considered. In the
   absence of a mnt-routes attribute in a given object, then first
   mnt-lower attributes are used (only in the case the given object is
   inet6num object and it is less specific than the route6 object to be
   added), and if no applicable mnt-lower attribute is found, then the
   mnt-by attributes are used for that object. The authentication must
   match one of the authorization in each of the two objects.





































Blunk, et al.             Expires May 20, 2004                 [Page 16]

Internet-Draft                   RPSLng                    November 2003


6. Security Considerations

   This document describes extensions to RFC 2622 [1] and RFC 2725 [2].
   The extensions address the limitations of the aforementioned
   documents with respect to IPv6 and multicast.   The extensions do not
   introduce any new security functionality or threats.

   While the extensions introduce no additional security threats, it
   should be noted that the original RFC 2622 [1] RPSL standard included
   several weak and/or vulnerable authentication mechanisms.  First, the
   "MAIL-FROM" scheme, which can be easily defeated via source email
   address spoofing.  Secondly, the "CRYPT-PW" scheme, which is subject
   to dictionary attacks and password sniffing if RPSL objects are
   submitted via unencrypted channels such as email.  And finally, the
   "NONE" mechanism, which offers no protection for objects.




































Blunk, et al.             Expires May 20, 2004                 [Page 17]

Internet-Draft                   RPSLng                    November 2003


7. Acknowledgments

   The authors wish to thank all the people who have contributed to this
   document through numerous discussions.

   Particularly Ekaterina Petrusha for highly valuable discussions and
   suggestions. Shane Kerr, Engin Gunduz, Mark Blanchet and David
   Kessens participated constructively in many discussions. Finally,
   Cengiz Alaettinoglu who is still the reference in all things RPSL.










































Blunk, et al.             Expires May 20, 2004                 [Page 18]

Internet-Draft                   RPSLng                    November 2003


Normative References

   [1]  Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D.,
        Meyer, D., Bates, T., Karrenberg, D. and M. Terpstra, "Routing
        Policy Specification Language (RPSL)", RFC 2622, June 1999.

   [2]  Villamizar, C., Alaettinoglu, C., Meyer, D. and S. Murphy,
        "Routing Policy System Security", RFC 2725, December 1999.

   [3]  Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6)
        Addressing Architecture", RFC 3513, April 2003.








































Blunk, et al.             Expires May 20, 2004                 [Page 19]

Internet-Draft                   RPSLng                    November 2003


Informative References

   [4]  Damas, J. and A. Robachevsky, "RIPE Database Reference Manual",
        August 2002.


Authors' Addresses

   Larry Blunk
   Merit Network

   EMail: ljb@merit.edu


   Joao Damas
   Internet Software Consortium

   EMail: joao@psg.com


   Florent Parent
   Viagenie

   EMail: Florent.Parent@viagenie.qc.ca


   Andrei Robachevsky
   RIPE NCC

   EMail: andrei@ripe.net





















Blunk, et al.             Expires May 20, 2004                 [Page 20]

Internet-Draft                   RPSLng                    November 2003


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Blunk, et al.             Expires May 20, 2004                 [Page 21]

Internet-Draft                   RPSLng                    November 2003


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Blunk, et al.             Expires May 20, 2004                 [Page 22]





_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps


From exim@www1.ietf.org  Fri Nov 21 15:33:28 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01160
	for <rps-archive@odin.ietf.org>; Fri, 21 Nov 2003 15:33:28 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxl-0001QK-Vx
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 15:33:10 -0500
Received: (from exim@localhost)
	by www1.ietf.org (8.12.8/8.12.8/Submit) id hALKX96F005471
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 15:33:09 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxl-0001Q5-9r
	for rps-web-archive@optimus.ietf.org; Fri, 21 Nov 2003 15:33:09 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01115
	for <rps-web-archive@ietf.org>; Fri, 21 Nov 2003 15:32:56 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHxj-0000Mk-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 15:33:07 -0500
Received: from [132.151.1.19] (helo=optimus.ietf.org)
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHxj-0000Mh-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 15:33:07 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxd-0001Od-4u; Fri, 21 Nov 2003 15:33:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHxC-0001OB-VE
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 15:32:35 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01105
	for <rps@ietf.org>; Fri, 21 Nov 2003 15:32:22 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHxB-0000MV-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:32:33 -0500
Received: from segue.merit.edu ([198.108.1.41])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHx9-0000MS-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:32:31 -0500
Received: from ablate.merit.edu (ablate.merit.edu [198.108.62.151])
	by segue.merit.edu (Postfix) with ESMTP
	id F07195DE67; Fri, 21 Nov 2003 15:32:29 -0500 (EST)
From: "Larry J. Blunk" <ljb@merit.edu>
To: rpslng@ripe.net, rps@ietf.org
Cc: pekkas@netcore.fi
Content-Type: text/plain
Organization: Merit Network, Inc.
Message-Id: <1069446879.3260.24.camel@ablate.merit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) 
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Rps] Latest RPSLng draft -second try
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: 21 Nov 2003 15:34:39 -0500
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit

  My first try didn't make it through because the post was
too big.  I've added the draft inline this time.

I've enclosed the latest draft of the RPSLng spec.  I've left the
afi definition section as it was previously as I don't think there
was consensus to change the meaning of ipv4 and ipv6 to include
both unicast and multicast.  Please let me know if there are any
strong feelings about this.  One option could be to add ipv4.any
and ipv6.any types as a shorthand for ipv4.unicast,ipv4.multicast and
ipv6.unicast,ipv6.multicast.  However, I'm not sure if this doesn't
actually make things worse by creating more clutter in the spec.

   I've reduced the encapsulation types for the tunnel option in
the interface: attribute to just GRE and IPinIP.  IPinIP was
deemed sufficient since you already know the address types
of the encapsulating end-points.  DVMRP was dropped since the
protocol/encapsulation method seems to be deprecated at this point.
Should we add other encapsulation methods to this attribute?  For
example, LT2P, PPTP, or IPSec?   Would it be useful to have an
afi specification to indentify/restrict the address family types
carried across the tunnel?

 -Larry Blunk
  Merit



Network Working Group                                           L. Blunk
Internet-Draft                                             Merit Network
Updates: 2262, 2725 (if approved)                               J. Damas
Expires: May 20, 2004                       Internet Software Consortium
                                                               F. Parent
                                                                Viagenie
                                                          A. Robachevsky
                                                                RIPE NCC
                                                       November 20, 2003


     Routing Policy Specification Language next generation (RPSLng)
                       draft-blunk-rpslng-02.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 20, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

   This memo presents a new set of simple extensions to the Routing
   Policy Specification Language (RPSL) [1] enabling the language to
   document routing policies for the IPv6 and multicast address families
   currently used in the Internet.






Blunk, et al.             Expires May 20, 2004                  [Page 1]

Internet-Draft                   RPSLng                    November 2003


Table of Contents

   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.    Specifying routing policy for different address families . .  4
   2.1   Ambiguity Resolution . . . . . . . . . . . . . . . . . . . .  4
   2.2   The afi dictionary attribute . . . . . . . . . . . . . . . .  4
   2.3   RPSL dictionary extensions . . . . . . . . . . . . . . . . .  5
   2.4   IPv6 RPSL types  . . . . . . . . . . . . . . . . . . . . . .  5
   2.5   mp-import, mp-export, and mp-default . . . . . . . . . . . .  5
   2.5.1 <mp-peering> . . . . . . . . . . . . . . . . . . . . . . . .  7
   2.5.2 <mp-filter>  . . . . . . . . . . . . . . . . . . . . . . . .  7
   2.5.3 Policy examples  . . . . . . . . . . . . . . . . . . . . . .  7
   3.    route6 Class . . . . . . . . . . . . . . . . . . . . . . . .  9
   4.    Updates to existing Classes to support the extensions  . . . 10
   4.1   as-set Class . . . . . . . . . . . . . . . . . . . . . . . . 10
   4.2   route-set Class  . . . . . . . . . . . . . . . . . . . . . . 10
   4.3   filter-set Class . . . . . . . . . . . . . . . . . . . . . . 10
   4.4   peering-set Class  . . . . . . . . . . . . . . . . . . . . . 11
   4.5   inet-rtr Class . . . . . . . . . . . . . . . . . . . . . . . 11
   4.6   rtr-set Class  . . . . . . . . . . . . . . . . . . . . . . . 12
   5.    RFC 2725 extensions  . . . . . . . . . . . . . . . . . . . . 14
   5.1   Authorization model for route6 Objects . . . . . . . . . . . 15
   6.    Security Considerations  . . . . . . . . . . . . . . . . . . 17
   7.    Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . 18
         Normative References . . . . . . . . . . . . . . . . . . . . 19
         Informative References . . . . . . . . . . . . . . . . . . . 20
         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 20
         Intellectual Property and Copyright Statements . . . . . . . 21























Blunk, et al.             Expires May 20, 2004                  [Page 2]

Internet-Draft                   RPSLng                    November 2003


1. Introduction

   RFC 2622 [1] defines the RPSL language for the IPv4 unicast routing
   protocols and a series of guidelines for extending the RPSL language
   itself.  Additionally, security extensions to the RPSL language are
   specified in RFC 2725 [2].

   This document proposes to extend RPSL according to the following
   goals and requirements:

   o  Provide RPSL extensibility in the dimension of address families.
      Specifically, to allow users to document routing policy for IPv6
      and multicast.

   o  Extensions should be backward compatible with minimal impact on
      existing tools and processes, following Section 10 of RFC 2622 [1]
      for guidelines on extending RPSL.

   o  Maintain clarity and non-ambiguity: RPSL information is used by
      humans in addition to software tools.

   o  Minimize duplication of information, particularly when routing
      policies for different address families are the same.

   The addition of IPv6 and multicast support to RPSL leads to four
   distinct routing policies that need to be distinguished in this
   specification, namely, (IPv4 {unicast|multicast}, IPv6
   {unicast|multicast}).























Blunk, et al.             Expires May 20, 2004                  [Page 3]

Internet-Draft                   RPSLng                    November 2003


2. Specifying routing policy for different address families

   Routing policy is currently specified in the aut-num class using
   "import:", "export:", and "default:" attributes. Sometimes it is
   important to distinguish policy for different address families, as
   well as a unicast routing policy from a multicast one.

   While the syntax of the existing import, export, and default
   attributes could be extended, this would present backward
   compatibility issues and could undermine clarity in the expressions.

   Keeping this in mind, the "import:", "export:", and "default:"
   attributes implicitly specify IPv4 unicast policy and remain as
   defined previously in RPSL, and new multi-protocol (prefixed with the
   string "mp-") attributes are introduced. These new "mp-" attributes
   will be described below.

2.1 Ambiguity Resolution

   It is possible that the same peering can be covered by more than one
   multi-protocol policy attribute or by a combination of multi-protocol
   policy attributes (when specifying IPv4 unicast policy) and the
   previously defined IPv4 unicast policy attributes.  In these cases,
   implementations should follow the specification-order rule as defined
   in Section 6.4 of RFC 2622 [1].  Namely, to break the ambiguity, the
   action corresponding to the first peering specification is used.

2.2 The afi dictionary attribute

   In this section we introduce a new dictionary attribute:

   Address Family Identifier, <afi>, is an RPSL list of address families
   for which a given routing policy expression should be evaluated.
   <afi> is mandatory within the new multi-protocol attributes
   introduced in the aut-num class.

   The possible values for <afi> are:

      ipv4
      ipv4.unicast (equivalent to ipv4)
      ipv4.multicast
      ipv6
      ipv6.unicast (equivalent to ipv6)
      ipv6.multicast

   Appearance of these values in an attribute must be preceded by the
   keyword afi.




Blunk, et al.             Expires May 20, 2004                  [Page 4]

Internet-Draft                   RPSLng                    November 2003


   An <afi-list> is defined as a comma separated list of one or more afi
   values.

2.3 RPSL dictionary extensions

   In order to support IPv6 addresses specified with the next-hop
   rp-attribute, a new predefined dictionary type entitled
   "ipv6_address" is added to the RPSL dictionary.   The definition of
   this type is taken from Section 2.2 of RFC 3513 [3].

   The next-hop rp-attribute is expanded in the dictionary as follows:

   rp-attribute: # next hop router in a static route
                 next-hop
                 operator=(union ipv4_address, ipv6_address, enum[self])

   A new value has been added for the <protocol> dictionary
   specification:

      MPBGP

   MPBGP is understood to be BGP4 with multi-protocol extensions (often
   referred to as BGP4+).  BGP4+ could not be used as the '+' character
   is not allowed by the RPSL specification in protocol names.

2.4 IPv6 RPSL types

   This document will reference three new IPv6 RPSL types, namely,
   <ipv6-address>, <ipv6-address-prefix>, and
   <ipv6-address-prefix-range>.  The <ipv6-address> and
   <ipv6-address-prefix> types are defined in Sections 2.2 and 2.3 of
   RFC 3513 [3]. The <ipv6-address-prefix-range> type adds a range
   operator to the <ipv6-address-prefix> type.  The range operator is
   defined in Section 2 of RFC 2622 [1].

2.5 mp-import, mp-export, and mp-default

   Three new policy attributes are introduced in the aut-num Class:

      mp-import:
      mp-export:
      mp-default:

   These attributes incorporate the afi (address-family) specification.
   The mp-import and mp-export attributes have both a basic policy
   specification and a more powerful structured policy specification.

   The syntax for the mp-default attribute and the basic policy



Blunk, et al.             Expires May 20, 2004                  [Page 5]

Internet-Draft                   RPSLng                    November 2003


   specification of the mp-import and mp-export attributes is as
   follows:


   Attribute  Value                                         Type
   mp-import  [protocol <protocol-1>] [into <protocol-2>]   optional,
              afi <afi-list>                                multi-valued
              from <mp-peering-1> [action <action-1>]
              . . .
              from <mp-peering-N> [action <action-N>]
              accept <mp-filter>

   mp-export  [protocol <protocol-1>] [into <protocol-2>]   optional,
              afi <afi-list>                                multi-valued
              to <mp-peering-1> [action <action-1>]
              . . .
              to <mp-peering-N> [action <action-N>]
              announce <mp-filter>

   mp-default afi <afi-list> to <mp-peering>                optional,
              [action <action>] [networks <mp-filter>]      multi-valued


   The mp-import and mp-export policies can be structured.  As with RFC
   2622 [1], structured policies are recommended only to advanced RPSL
   users.  For the sake of brevity, only the mp-import structured policy
   syntax is defined below.   The mp-export structured policy syntax is
   expressed in a symmetric way to the mp-import attribute.


   mp-import ::=
          [protocol <protocol-1>] [into <protocol-2>]
<import-expression>

   <import-expression> ::=
          afi <afi-list> <import-term> accept <mp-filter> |
          afi <afi-list> <import-term> accept <mp-filter> EXCEPT
                                                 <import-expression> |
          afi <afi-list> <import-term> accept <mp-filter> REFINE
                                                 <import-expression>

   <import-term> ::=  <import-factor> |
                      {
                        <import-factor>
                        ...
                        <import-factor>
                      }

   <import-factor> ::= from <mp-peering> [action <action>];



Blunk, et al.             Expires May 20, 2004                  [Page 6]

Internet-Draft                   RPSLng                    November 2003


2.5.1 <mp-peering>

   <mp-peering> indicates the AS (and the router if present) and is
   defined as follows:

   <mp-peering> ::= <as-expression> [<mp-router-expression-1>]
                    [at <mp-router-expression-2>] | <peering-set-name>

   where <as-expression> is an expression over AS numbers and AS sets
   using operators AND, OR, and EXCEPT, and <mp-router-expression> is an
   expression over router ipv4-addresses or ipv6-addresses, inet-rtr
   names, and rtr-set names using operators AND, OR, and EXCEPT.  The
   binary "EXCEPT" operator is the set subtraction operator and has the
   same precedence as the operator AND (it is semantically equivalent to
   "AND NOT" combination).  That is "(AS1 OR AS2) EXCEPT AS2" equals
   "AS1".

2.5.2 <mp-filter>

   The <mp-filter> policy filter expression is derived from the RPSL
   <filter> policy filter expression defined in section 5.4 of RFC 2622
   [1]. <mp-filter> extends the <filter> expression to allow the
   specification of IPv6 prefixes and prefix ranges. In particular, an
   Address-Prefix Set expression in an <mp-filter> expression may
   include both IPv4 and IPv6 prefixes or prefix ranges. <mp-filter> is
   otherwise identical to the RPSL <filter> expression.   Address-Prefix
   Sets are enclosed in braces '{' and '}'. The policy filter matches
   the set of routes whose destination address-prefix is in the set.
   For example:

      { 198.108.0.0/16, 3ffe:ffff:240::/48 }
      { 3ffe:ffff:580::/48^+, 3ffe:ffff:600::/48^64 }


2.5.3 Policy examples

   The address family may be specified at any level of nesting of
   <import-expression>, and is valid only within the <import-expression>
   that contains it.

   Therefore in the example:

   aut-num:    AS65534
   mp-import: afi ipv6.unicast,ipv4 from AS65001 action pref = 1; accept
as-foo
               except { afi ipv6.unicast,ipv4
               from AS65002 action pref = 2; accept AS65226
                  except { afi ipv6.unicast
                  from AS65003 action pref = 3; accept {3FFE:FFFF::/32}



Blunk, et al.             Expires May 20, 2004                  [Page 7]

Internet-Draft                   RPSLng                    November 2003


                         }
                       }

   the last (rightmost) "except" is evaluated only for the IPv6 unicast
   address family, while other import-expressions are evaluated for both
   the IPv6 and IPv4 unicast address families.

   The evaluation of an <import-expression> is done by evaluating all of
   its components. Evaluation of peering-sets and filter-sets is
   constrained by the address family.  Such constraints may result in a
   {NOT ANY} <mp-filter> or invalid <mp-peering> depending on implicit
   or explicit definitions of the address family in the set.  An RPSL
   evaluation implementation may wish to issue a warning in the case of
   a {NOT ANY} <mp-filter>.

   Conflicts with explicit or implicit declarations are resolved at
   runtime, that is, during the evaluation of a policy expression. For
   example, when evaluating the following import policy:

   aut-num: AS65002
   mp-import: afi ipv6 from AS65001 accept {193.0.0.0/22}

   the mp-filter should be evaluated as {NOT ANY}.  A more complex
   example follows:

   aut-num: AS65002
   mp-import: afi ipv6.unicast {
      from AS-ANY action med = 0; accept {3FFE:FFFF::/32};
      } refine { afi ipv6.unicast
           from AS65001 at 3FFE:FFFF::1 action pref = 1; accept
AS-UPSTREAM;
           from prng6-ebgp-peers action pref = 2; accept AS65001;
      }

   In this example, only IPv6 prefixes originated by AS65001 will be
   collected, and when evaluating the as-set AS-UPSTREAM, only IPv6
   prefixes of the member ASes will be considered.















Blunk, et al.             Expires May 20, 2004                  [Page 8]

Internet-Draft                   RPSLng                    November 2003


3. route6 Class

   The route6 class is the IPv6 equivalent of the route class. As with
   the route class, the class key for the route6 class is specified by
   the route6 and origin attribute pair.  Other than the route6
   attribute, the route6 class shares the same attribute names with the
   route class.  While the attribute names remain identical, the inject,
   components, exports-comps, holes, and mnt-routes attributes must
   specify IPv6 prefixes and addresses rather than IPv4 prefixes and
   addresses.  This requirement is reflected by the specification of
   <ipv6-router-expression>, <ipv6-filter>, and <ipv6-address-prefix>
   below.  <ipv6-address-prefix> has been previously defined.
   <ipv6-filter> is related to <mp-filter> as defined above in Section
   2.5.2 with the exception that only <ipv6-address-prefix> types are
   permitted. Similarly, <ipv6-router-expression> is related to
   <mp-router-expression> as defined above in Section 2.5.1 with the
   exception that only <ipv6-address> types are permitted.

   Note that <ipv6-address-prefix> may be of either type ipv6.unicast or
   type ipv6.multicast.  An IPv6 multicast address is indentified by the
   binary 11111111 at the start of the address.  For futher reference,
   please see Section 2.7 of RFC 3513 [3].


   Attribute     Value                             Type
   route6        <ipv6-address-prefix>             mandatory, class key,
                                                   single-valued
   origin        <as-number>                       mandatory, class key,
                                                   single-valued
   member-of     list of <route-set-name>          optional,
multi-valued
   inject        [at <ipv6-router-expression>] ... optional,
multi-valued
                 [action <action>]
                 [upon <condition>]
   components    [ATOMIC] [[<ipv6-filter>]         optional,
single-valued
                 [protocol <protocol> <ipv6-filter> ...]]
   aggr-bndry    <as-expression>                   optional,
single-valued
   aggr-mtd      inbound or outbound               optional,
single-valued
                 [<as-expression>]
   export-comps  <ipv6-filter>                     optional,
single-valued
   holes         list of <ipv6-address-prefix>     optional,
multi-valued
   mnt-lower     list of <mntner-name>             optional,
multi-valued
   mnt-routes    list of <mntner-name>             optional,
multi-valued
                 [{list of <ipv6-address-prefix-range>} or ANY]

   Example:

   route6:   3ffe:ffff:240::/48
   origin:   AS65001



Blunk, et al.             Expires May 20, 2004                  [Page 9]

Internet-Draft                   RPSLng                    November 2003


4. Updates to existing Classes to support the extensions

4.1 as-set Class

   The as-set class defines a set of Autonomous Systems (AS), specified
   either directly by listing them in the members attribute, or
   indirectly by referring to another as-sets or using the mbrs-by-ref
   facility. More importantly, "In a context that expects a route set
   (e.g.  members attribute of the route-set class), [...] an as-set
   AS-X defines the set of routes that are originated by the ASes in
   AS-X.", (section 5.3 of  RFC 2622 [1]).

   The as-set class is therefore used to collect a set of route
   prefixes, which may be restricted to a specific address family.

   The existing as-set class does not need any modifications. The
   evaluation of the class must be filtered to obtain prefixes belonging
   to a particular address family using the traditional filtering
   mechanism in use in Internet Routing Registry (IRR) systems today.

4.2 route-set Class

   This class is used to specify a set of route prefixes.

   A new attribute "mp-members:" is defined for this class.  This
   attributes allow the specification of IPv4 or IPv6
   address-prefix-ranges.


   Attribute   Value                                 Type
   mp-members  list of (<ipv4-address-prefix-range>  optional,
multi-valued
               or <ipv6-address-prefix-range>
               or <route-set-name>
               or <route-set-name><range-operator>)

   Example:

   route-set:  rs-foo
   mp-members: rs-bar
   mp-members: 3FFE:FFFF::/32  # v6 member
   mp-members: 128.9.0.0/16    # v4 member


4.3 filter-set Class

   The new "mp-filter:" attribute defines the set's policy filter.  A
   policy filter is a logical expression which when applied to a set of
   routes returns a subset of these routes.  The relevant parts of the



Blunk, et al.             Expires May 20, 2004                 [Page 10]

Internet-Draft                   RPSLng                    November 2003


   updated filter-set class are shown below:


   Attribute   Value                  Type
   filter-set  <object-name>          mandatory, single-valued, class
key
   filter      <filter>               optional, single-valued
   mp-filter   <mp-filter>            optional, single-valued
   ...


   Where <mp-filter> is defined above in Section 2.5.2. While the
   "filter:" and "mp-filter:" attributes are of type "optional", a
   filter-set must contain one of these two attributes.  Implementations
   should reject instances where both attributes are defined in an
   object as the interpretation of such a filter-set is undefined.

4.4 peering-set Class

   The peering set class is updated with a "mp-peering:" attribute.


   Attribute    Value                 Type
   peering-set  <object-name>         mandatory, single-valued, class
key
   peering      <peering>             optional, multi-valued
   mp-peering   <mp-peering>          optional, multi-valued
   ...

   Example:

   peering-set:   prng-ebgp-peers
   mp-peering:    AS65002 3FFE:FFFF::1 at 3FFE:FFFF::2

   With <mp-peering> defined as above in Section 2.5.1. While the
   "peering:" and "mp-peering:" attributes are of type "optional", a
   peering-set must contain at least one of these two attributes.

4.5 inet-rtr Class

   Two new attributes are introduced to the inet-rtr class --
   "interface:" which allows the definition of generic interfaces,
   including the information previously contained in the "ifaddr:"
   attribute, as well as support for tunnel definitions. And,
   "mp-peer:", which includes and extends the functionality of the
   existing "peer:" attribute.

   Below is the syntax definition for the new "interface:" attribute.





Blunk, et al.             Expires May 20, 2004                 [Page 11]

Internet-Draft                   RPSLng                    November 2003


   Attribute  Value                                 Type
   interface  <ipv4-address> or <ipv6-address>      optional,
multi-valued
              masklen <mask>
              [action <action>]
              [tunnel <remote-endpoint-address>,<encapsulation>]

   The new syntax allows native IPv4 and IPv6 interface definitions as
   well as the definition of tunnels as virtual interfaces. Without the
   optional tunnel definition, this attribute allows the same
   functionality as the "ifaddr:" attribute but extends it to allow IPv6
   addresses.

   In the case of the interface being a tunnel, the syntax is as
   follows:

   <remote-endpoint-address> indicates the IPv4 or IPv6 address of the
   remote endpoint of the tunnel. The address family must match that of
   the local endpoint. <encapsulation> denotes the encapsulation used in
   the tunnel and is one of {GRE,IPinIP}.  Routing policies for these
   routers should be described in the appropriate classes (e.g.
   aut-num).

   The "mp-peer:" attribute is defined below.  The difference between
   this attribute and the "peer:" attribute is the inclusion of support
   for IPv6 addresses.

   Attribute  Value                                     Type
   mp-peer    <protocol> <ipv4-address> <options>  or   optional,
              <protocol> <ipv6-address> <options>  or   multi-valued
              <protocol> <inet-rtr-name> <options> or
              <protocol> <rtr-set-name> <options>  or
              <protocol> <peering-set-name> <options>


   where <protocol> is a protocol name, and <options> is a comma
   separated list of peering options for <protocol> as provided in the
   RPSL dictionary.

4.6 rtr-set Class

   The rtr-set class is extended with a new attribute, "mp-members:",
   defined as

   Attribute   Value                             Type
   mp-members  list of (<inet-rtr-name> or       optional, multi-valued
               <rtr-set-name> or
               <ipv4-address> or
               <ipv6-address>)



Blunk, et al.             Expires May 20, 2004                 [Page 12]

Internet-Draft                   RPSLng                    November 2003


   This attribute extends the original "members:" attribute by allowing
   the specification of IPv6 addresses.

















































Blunk, et al.             Expires May 20, 2004                 [Page 13]

Internet-Draft                   RPSLng                    November 2003


5. RFC 2725 extensions

   RFC 2725 [2] introduces an authorization model to address the
   integrity of policy expressed in routing registries.  In particular,
   two new attributes were defined to support this authorization model,
   namely, the "mnt-routes" and "mnt-lower" attributes.

   In RPSLng, these attributes are extended to the route6 and inet6num
   (described below) classes.  Further, the syntax of the existing
   mnt-routes attribute is modified to allow the optional specification
   of IPv6 prefix range lists when present in inet6num, route6, and
   aut-num class objects. This optional list of prefix ranges is a
   comma-separated list enclosed in curly braces.  In the aut-num class,
   the IPv6 prefix ranges may be mixed with IPv4 prefix ranges.  The
   keyword "ANY" many also be used instead of prefix ranges.  In the
   case of inet6num and route6 objects, "ANY" refers to all more
   specifics of the prefix in the class key field.  For the aut-num
   class, "ANY" literally means any prefix. The default when no
   additional set items are specified is "ANY".

   The following is an example of mnt-routes usage.  This example
   authorizes MAINT-65001 to create route6 objects with an origin AS of
   65002 for IPv6 address prefixes within the 3ffe:ffff::/32^+ range,
   and route objects with origin AS 65002 for IPv4 prefixes within the
   35.42.0.0/16^+ range.

   aut-num: AS65002
   mnt-routes: MAINT-AS65001 {3ffe:ffff::/32^+, 35.42.0.0/16^+}

   Note, the inclusion of IPv6 prefix ranges within a mnt-routes
   attribute in an aut-num object may conflict with existing
   implementations of RPSL which support only IPv4 prefix ranges.
   However, given the perceived lack of implementation of this optional
   prefix range list, it was considered acceptable to extend the
   existing definition of the mnt-routes attribute in the aut-num class
   rather than creating a new attribute type.















Blunk, et al.             Expires May 20, 2004                 [Page 14]

Internet-Draft                   RPSLng                    November 2003


   Attribute     Value                    Type
   inet6num      <ipv6-address-prefix>    mandatory, single-valued,
                                          class key
   netname       <netname>                mandatory, single-valued
   descr         <free-form>              mandatory, multi-valued
   country       <country-code>           mandatory, multi-valued
   admin-c       <nic-handle>             mandatory, multi-valued
   tech-c        <nic-handle>             mandatory, multi-valued
   remarks       <free-form>              optional, multi-valued
   notify        <email-address>          optional, multi-valued
   mnt-lower     list of <mntner-name>    optional, multi-valued
   mnt-routes    list of <mntner-name>    optional, multi-valued
                 [{list of <ipv6-address-prefix-range>} or ANY]
   mnt-by        list of <mntner-name>    mandatory, multi-valued
   changed       <email-address> <date>   mandatory, multi-valued
   source        <registry-name>          mandatory, single-valued


   The <country-code> must be a valid two-letter ISO 3166 country code
   identifier.  <netname> is a symbolic name for the specified IPv6
   address space.  It does not have a restriction on RPSL reserved
   prefixes. These definitions are taken from the RIPE Database
   Reference Manual [4].

5.1 Authorization model for route6 Objects

   Deletion and update of a route6 object is not different from other
   objects, as defined in RFC 2725 [2]. Creation rules of a route6
   object is replicated here from the corresponding rules for route
   object in RFC 2725 [2] section 9.9.

   When adding a route6 object, the submission must satisfy two
   authentication criteria. It must match the authentication specified
   in the aut-num object and the authentication specified in either a
   route6 object or if no applicable route6 object is found, then an
   inet6num object.

   An addition is submitted with an AS number and IPv6 prefix as its
   key. If the aut-num object does not exist on a route6 to add, then
   the addition is rejected. If the aut-num exists then the submission
   is checked against the applicable maintainers. A search is then done
   for the prefix first looking for an exact match. If the search for an
   exact match fails, a search is made for the longest prefix match that
   is less specific than the prefix specified. If this search succeeds
   it will return one or more route6 objects. The submission must match
   an applicable maintainer in at least one of these route6 objects for
   the addition to succeed. If the search for a route6 object fails,
   then a search is performed for an inet6num object that exactly



Blunk, et al.             Expires May 20, 2004                 [Page 15]

Internet-Draft                   RPSLng                    November 2003


   matches the prefix or for the most specific inet6num that is less
   specific than the route6 object submission.

   Having found the aut-num and either a list of route6 objects or an
   inet6num, the authorization is taken from these objects. The
   applicable maintainer object is any referenced by the mnt-routes
   attributes. If one or more mnt-routes attributes are present in an
   object, the mnt-by or mnt-lower attributes are not considered. In the
   absence of a mnt-routes attribute in a given object, then first
   mnt-lower attributes are used (only in the case the given object is
   inet6num object and it is less specific than the route6 object to be
   added), and if no applicable mnt-lower attribute is found, then the
   mnt-by attributes are used for that object. The authentication must
   match one of the authorization in each of the two objects.





































Blunk, et al.             Expires May 20, 2004                 [Page 16]

Internet-Draft                   RPSLng                    November 2003


6. Security Considerations

   This document describes extensions to RFC 2622 [1] and RFC 2725 [2].
   The extensions address the limitations of the aforementioned
   documents with respect to IPv6 and multicast.   The extensions do not
   introduce any new security functionality or threats.

   While the extensions introduce no additional security threats, it
   should be noted that the original RFC 2622 [1] RPSL standard included
   several weak and/or vulnerable authentication mechanisms.  First, the
   "MAIL-FROM" scheme, which can be easily defeated via source email
   address spoofing.  Secondly, the "CRYPT-PW" scheme, which is subject
   to dictionary attacks and password sniffing if RPSL objects are
   submitted via unencrypted channels such as email.  And finally, the
   "NONE" mechanism, which offers no protection for objects.




































Blunk, et al.             Expires May 20, 2004                 [Page 17]

Internet-Draft                   RPSLng                    November 2003


7. Acknowledgments

   The authors wish to thank all the people who have contributed to this
   document through numerous discussions.

   Particularly Ekaterina Petrusha for highly valuable discussions and
   suggestions. Shane Kerr, Engin Gunduz, Mark Blanchet and David
   Kessens participated constructively in many discussions. Finally,
   Cengiz Alaettinoglu who is still the reference in all things RPSL.










































Blunk, et al.             Expires May 20, 2004                 [Page 18]

Internet-Draft                   RPSLng                    November 2003


Normative References

   [1]  Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D.,
        Meyer, D., Bates, T., Karrenberg, D. and M. Terpstra, "Routing
        Policy Specification Language (RPSL)", RFC 2622, June 1999.

   [2]  Villamizar, C., Alaettinoglu, C., Meyer, D. and S. Murphy,
        "Routing Policy System Security", RFC 2725, December 1999.

   [3]  Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6)
        Addressing Architecture", RFC 3513, April 2003.








































Blunk, et al.             Expires May 20, 2004                 [Page 19]

Internet-Draft                   RPSLng                    November 2003


Informative References

   [4]  Damas, J. and A. Robachevsky, "RIPE Database Reference Manual",
        August 2002.


Authors' Addresses

   Larry Blunk
   Merit Network

   EMail: ljb@merit.edu


   Joao Damas
   Internet Software Consortium

   EMail: joao@psg.com


   Florent Parent
   Viagenie

   EMail: Florent.Parent@viagenie.qc.ca


   Andrei Robachevsky
   RIPE NCC

   EMail: andrei@ripe.net





















Blunk, et al.             Expires May 20, 2004                 [Page 20]

Internet-Draft                   RPSLng                    November 2003


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Blunk, et al.             Expires May 20, 2004                 [Page 21]

Internet-Draft                   RPSLng                    November 2003


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Blunk, et al.             Expires May 20, 2004                 [Page 22]





_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps



From rps-admin@ietf.org  Fri Nov 21 15:35:22 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01297
	for <rps-archive@lists.ietf.org>; Fri, 21 Nov 2003 15:35:22 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzZ-0001W5-Ki; Fri, 21 Nov 2003 15:35:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzO-0001Ux-V5
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 15:34:50 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01229
	for <rps@ietf.org>; Fri, 21 Nov 2003 15:34:38 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzN-0000Oi-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:34:49 -0500
Received: from segue.merit.edu ([198.108.1.41])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzN-0000Of-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:34:49 -0500
Received: from ablate.merit.edu (ablate.merit.edu [198.108.62.151])
	by segue.merit.edu (Postfix) with ESMTP
	id 69E6A5DE67; Fri, 21 Nov 2003 15:34:49 -0500 (EST)
From: "Larry J. Blunk" <ljb@merit.edu>
To: rpslng@ripe.net, rps@ietf.org
Cc: pekkas@netcore.fi
Content-Type: text/plain
Organization: Merit Network, Inc.
Message-Id: <1069447019.3260.27.camel@ablate.merit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) 
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Rps] Latest RPSLng draft
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: 21 Nov 2003 15:36:59 -0500
Content-Transfer-Encoding: 7bit

  I forgot to add that there is also an HTML version
available at www.radb.net/rpslng.html

 -Larry



_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps


From exim@www1.ietf.org  Fri Nov 21 16:23:17 2003
Received: from optimus.ietf.org ([132.151.1.19])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01301
	for <rps-archive@odin.ietf.org>; Fri, 21 Nov 2003 15:35:23 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzd-0001YF-9T
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 15:35:05 -0500
Received: (from exim@localhost)
	by www1.ietf.org (8.12.8/8.12.8/Submit) id hALKZ5dd005956
	for rps-archive@odin.ietf.org; Fri, 21 Nov 2003 15:35:05 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzd-0001Xz-59
	for rps-web-archive@optimus.ietf.org; Fri, 21 Nov 2003 15:35:05 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01241
	for <rps-web-archive@ietf.org>; Fri, 21 Nov 2003 15:34:52 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzb-0000Ov-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 15:35:03 -0500
Received: from [132.151.1.19] (helo=optimus.ietf.org)
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzb-0000Os-00
	for rps-web-archive@ietf.org; Fri, 21 Nov 2003 15:35:03 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzZ-0001W5-Ki; Fri, 21 Nov 2003 15:35:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org)
	by optimus.ietf.org with esmtp (Exim 4.20)
	id 1ANHzO-0001Ux-V5
	for rps@optimus.ietf.org; Fri, 21 Nov 2003 15:34:50 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA01229
	for <rps@ietf.org>; Fri, 21 Nov 2003 15:34:38 -0500 (EST)
Received: from ietf-mx ([132.151.6.1])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzN-0000Oi-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:34:49 -0500
Received: from segue.merit.edu ([198.108.1.41])
	by ietf-mx with esmtp (Exim 4.12)
	id 1ANHzN-0000Of-00
	for rps@ietf.org; Fri, 21 Nov 2003 15:34:49 -0500
Received: from ablate.merit.edu (ablate.merit.edu [198.108.62.151])
	by segue.merit.edu (Postfix) with ESMTP
	id 69E6A5DE67; Fri, 21 Nov 2003 15:34:49 -0500 (EST)
From: "Larry J. Blunk" <ljb@merit.edu>
To: rpslng@ripe.net, rps@ietf.org
Cc: pekkas@netcore.fi
Content-Type: text/plain
Organization: Merit Network, Inc.
Message-Id: <1069447019.3260.27.camel@ablate.merit.edu>
Mime-Version: 1.0
X-Mailer: Ximian Evolution 1.2.2 (1.2.2-5) 
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Rps] Latest RPSLng draft
Sender: rps-admin@ietf.org
Errors-To: rps-admin@ietf.org
X-BeenThere: rps@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=unsubscribe>
List-Id: Routing Policy System <rps.ietf.org>
List-Post: <mailto:rps@ietf.org>
List-Help: <mailto:rps-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rps>,
	<mailto:rps-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/rps/>
Date: 21 Nov 2003 15:36:59 -0500
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit

  I forgot to add that there is also an HTML version
available at www.radb.net/rpslng.html

 -Larry



_______________________________________________
Rps mailing list
Rps@ietf.org
https://www1.ietf.org/mailman/listinfo/rps



