From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 7E0AC42B6B;
	Mon, 22 May 2023 06:58:24 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 536C2410DD;
	Mon, 22 May 2023 06:58:24 +0200 (CEST)
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by mails.dpdk.org (Postfix) with ESMTP id 8B661410D1;
 Mon, 22 May 2023 06:58:22 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1684731502; x=1716267502;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=or6XveSTPmruIT5Dtba9IUtB8QKmNdYl4YT6XCg4lAs=;
 b=ZPMO6OqYQORreQm1a79UVvodwpOHcBywt0QXJRKL7rLfZ7syHMg+FSVo
 rn7Clo8j5+FtUrI26LVo4UJxK9KlZCT4tltb5NSHC8bmamIf0a2Dhsfp1
 uV3Ou9js6rXJ7S5VPcOR/lFDBVvoJ0BBq3bGQFcZB4Tq7bQWD4tUydac7
 F+LfqGGReQIu/QaFyPnpoy0eU5CdtqlYsbExFyWMNPUiArAhbPT+t0F4y
 xgOqdaU2mfcs6mgqjllyAjf/u8k2ajLENi6FxW9nk4DP7PVOuhYSdi2Ag
 zk4COsAqsYleUzJb30qq/4JXSdVu6FGOG/JL4asoaPPZwwvCHhI8SvV0V Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10717"; a="416288215"
X-IronPort-AV: E=Sophos;i="6.00,183,1681196400"; d="scan'208";a="416288215"
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 21 May 2023 21:58:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10717"; a="815519038"
X-IronPort-AV: E=Sophos;i="6.00,183,1681196400"; d="scan'208";a="815519038"
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by fmsmga002.fm.intel.com with ESMTP; 21 May 2023 21:58:21 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23; Sun, 21 May 2023 21:58:20 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23 via Frontend Transport; Sun, 21 May 2023 21:58:20 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.168)
 by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.23; Sun, 21 May 2023 21:58:20 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tv/fRroCWQ5obVkOVB6G57LROrqtBAKUfQtSCakDXZt77Lq5/tTgltDOHBTLFDF+TGN9FgvXugSxNqFzh8IxfxsjYf9Pd7lfpSowwLOJKcJgsSU7iz/hXlN0nxyNUkI5zfxbUb9Rk27dvGAADYofY4IKf2IBqVMaEZ2ZoObp2MlUpUK15nqLWWf7spXMgXEutLqrFHkT44NkQ4pFbvDMp9lMb884ilzkd9pwN9x9IwMBlkK8XvI5KPtDyxWPEvbAsJ8TM5wioBqmXemenrZlCrbWhMJsDgapImBhHxSdHE99H44f6gZ0CgnlXkoFiiiSMjAwWZ9WzIwE2QErZ49xLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=or6XveSTPmruIT5Dtba9IUtB8QKmNdYl4YT6XCg4lAs=;
 b=XAcDktL50wmMb4txZliztgbR3SrssDxiCVSKQLw01SvEIxxzXFFxYgp7pgnqMR5sqrde2sGTNGPu84Dn+/QGlVhdwg3BJJ543HsMZ8gVanck4eqlW/Hea8n3kVLjotaKbBaUxot6TIv++VapFto+Wu8p+pJZ8vJMIz0C4mKPZ0MgLM1uKLp1EZZgugPhIDnc77LTFMEbr28khRmyNyzLDQCL0vEOujHPzBT9jrqoJUJoiptKnmfqC440J3zrRpSWavQbXoAVA3sYRjbP1z1/tYIeKBMhUCacVaxei0ZdOlgyKfIHnak99XJUH5aI29xzGV4m/lS46ASWLnKqsiYezw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Received: from DM4PR11MB5994.namprd11.prod.outlook.com (2603:10b6:8:5d::20) by
 CH3PR11MB8444.namprd11.prod.outlook.com (2603:10b6:610:1ba::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May
 2023 04:58:17 +0000
Received: from DM4PR11MB5994.namprd11.prod.outlook.com
 ([fe80::e570:d9a7:df1b:1589]) by DM4PR11MB5994.namprd11.prod.outlook.com
 ([fe80::e570:d9a7:df1b:1589%7]) with mapi id 15.20.6411.028; Mon, 22 May 2023
 04:58:17 +0000
From: "Zhang, Qi Z" <qi.z.zhang@intel.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, Ori Kam
 <orika@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "techboard@dpdk.org" <techboard@dpdk.org>, "Richardson, Bruce"
 <bruce.richardson@intel.com>, "Burakov, Anatoly" <anatoly.burakov@intel.com>, 
 "Wiles, Keith" <keith.wiles@intel.com>, "Liang, Cunming"
 <cunming.liang@intel.com>, "Wu, Jingjing" <jingjing.wu@intel.com>, "Zhang,
 Helin" <helin.zhang@intel.com>, "Mcnamara, John" <john.mcnamara@intel.com>,
 "Xu, Rosen" <rosen.xu@intel.com>, nd <nd@arm.com>, nd <nd@arm.com>
Subject: RE: seeking community input on adapting DPDK to P4Runtime backend
Thread-Topic: seeking community input on adapting DPDK to P4Runtime backend
Thread-Index: AdmBdydpWI/N9jo8SXuEnV2EuOZZewHVxP7QACYE/+AADB9l8ACxrj6A
Date: Mon, 22 May 2023 04:58:17 +0000
Message-ID: <DM4PR11MB59940879D083B38441D9902DD7439@DM4PR11MB5994.namprd11.prod.outlook.com>
References: <DM4PR11MB599421E2DB486B0E972137F1D7719@DM4PR11MB5994.namprd11.prod.outlook.com>
 <MW2PR12MB46661C7EDC20D4612B05E1ABD67E9@MW2PR12MB4666.namprd12.prod.outlook.com>
 <DM4PR11MB599450B2422CDA8BB351560DD77F9@DM4PR11MB5994.namprd11.prod.outlook.com>
 <DBAPR08MB5814B1E669A654DF452BBA96987F9@DBAPR08MB5814.eurprd08.prod.outlook.com>
In-Reply-To: <DBAPR08MB5814B1E669A654DF452BBA96987F9@DBAPR08MB5814.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR11MB5994:EE_|CH3PR11MB8444:EE_
x-ms-office365-filtering-correlation-id: 8277c66d-ca51-4c71-5f69-08db5a81282b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: PnNkfpQQN9h4xTykI8osjV2yO/m2h1iqbYvpO8dI260qmlhU8yWoSc08YU3Y/Sge6XDIVvCg1lf6LfLG62wn14h/m8y5+Nu+u0n7hsUPskMTA+L6EmF+qEqxgg/4IJtui5C2COpjnfvtlHHP4dXmoI8jStPgs2bJyaj+tiN2aa7FPA1yX9AyVm4o+vyVVo2av5wevGklOzCoCEE8BbxXnib6hjbIscTZMj1k9ymvyAaG5m8fY2yDwYBLOKaW+3dvepSNeMtHf2FzY73J0YcZVJaVQwO/FERGeXArOsdm2GrU+5vU9WeJWXq64qg4wZMOcFAf4ULdLWGjPDxLPc2WKzPgm7lpM0Fn3cqtXnfsl3lEJdPr9bP6nAi/6y3DqdZ3O1pqt6/z3ov5Nx0VrbqVK2vS2eyofGgtZyTk24K1TXU3Lieft9yCauEnjh3112PUl2FrRDv7P4rEwAsq5mK7TKHNMkPnQ2MJOgxqvNex3HH4lNiSKUgbFUp24x7wKdm8ZP230OtVeVOtb/4e1hUw0Fo95gN84Fi+MUWw+99h/SdcdGyToPrGk1K/kD1/PuFo+hpJceRaCGuMld2GfWoEqzeUVjQegU5f3sDblMogSn1PDLA2GtCBIZ2b4YR71ygl
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM4PR11MB5994.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230028)(366004)(396003)(39860400002)(136003)(346002)(376002)(451199021)(8676002)(8936002)(5660300002)(52536014)(83380400001)(186003)(26005)(53546011)(9686003)(6506007)(86362001)(122000001)(38100700002)(82960400001)(38070700005)(41300700001)(7696005)(33656002)(71200400001)(55016003)(966005)(66446008)(66476007)(66556008)(66946007)(76116006)(64756008)(316002)(4326008)(478600001)(110136005)(54906003)(2906002)(30864003)(66899021)(32563001);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Sk9SMElaTENaSzY2VkJWd2hVdTlDeEQ1aGhlTUw2V09oQmZNTW5RMlVEaDJ0?=
 =?utf-8?B?VHlsNDJyejhqRkt0U2NTVjFJRmFYZ0FuVmg1Z0hDNHVqK1JGbVowSytjRnd0?=
 =?utf-8?B?Zk1IU0kwODhpckNQeFNaejN6Z0FYQ3E2S1hIR25oZWoxbXVGVUpWeFVVTlEy?=
 =?utf-8?B?Y0ZSZjkwK0hBemQwTXl5MjN1a2I3WHhWV2JPYkl6N05ubllXTUlLVEhlU2R5?=
 =?utf-8?B?T3k1TzNFMUw4S0pKaURoYXBUaUtNSlNjN2JQSVRGYjFoYlgxa2YreU9EdzJu?=
 =?utf-8?B?M3VrYmVqTUU3WnV1a2ZjV3pxc3JteXZBaHdkUUMwY1VtNm92MXZtUFdDcmtS?=
 =?utf-8?B?ZG04eTJRU3RPK0R6bElCZE9JczA0aENyZmtxOGdnQ0xMWGZsYktjNTQrSkg4?=
 =?utf-8?B?bEpCai9uME40eXVxcXJLU0M1dzh0MGdtUHJzbGFpdHZvV093YWRCWHQzZGsr?=
 =?utf-8?B?QjFFNU15YjRlMnlBazZ1VlZVYlFGd3dmLzZRdmtQVWpHM3V4MDBHdURpYmVo?=
 =?utf-8?B?K01XdHZXd0YwRHRJcU92YmFkZDB4eXJOd3FrMFVtUGRUbU5ZZEJsd2tIVE1l?=
 =?utf-8?B?aVlpOW40VDVOWDRkd3g4cGFRQXNEYlQvM1NYazRHaGdJNzVNNnJZY2tuc0ZL?=
 =?utf-8?B?UC9pK3F3WmJvZ3BsQ2JHbmpMMDJwNHFMY2xIVVRtdjFIak5wS290eUFRWVRm?=
 =?utf-8?B?a2ZjNDZGYno0MXlJR0pYNUVEOGNTeTBkdFp6VTVnTzd1aGVxWTRPOWdKTkVW?=
 =?utf-8?B?enZ4eC9LMGlsSTVORFdxZ1ZxbG5lWGEwNk1ZL2Ivc01qZWRQMnZXV09NQkVv?=
 =?utf-8?B?T3c3Tk5GbHhGR3N4M2x2YzlEcnZvVVJyRzJYcVdkTWE0UENYYW1CNGtZWUo2?=
 =?utf-8?B?cVVYNThTTFpkcnU3djA4NlMwZXZuTEdEQWlNK0FkUHlWOTFRdnB5cWJpdEhT?=
 =?utf-8?B?eVJsVW9XVVRoYnlLWmlUUjNoaG5lR2x6YjZOVWpta29iaDQ5RC9BSVV5RWJt?=
 =?utf-8?B?RldmR3ZIWG9LckFjaUhIVG9TYnhrUWFSenlsWmhkMUZJVENveXU2N3Q1N3VQ?=
 =?utf-8?B?VzNnaVFpNlg0QjZ3anFvNmVmWmIwRWx6cXNVcmVZRWUxcEcwZFkxakc3SUxl?=
 =?utf-8?B?ZXdrS1JCSGhIQUhsQTgra3hBWUtzTGs0ekY3ZEY0dzIvNjMzSFhic1Y0VkYz?=
 =?utf-8?B?MDB5a25kb2tiYXkweE5tTHdNNjBxYWNiUm1QYnNoWlk1TUZxeFBlc09VNjc4?=
 =?utf-8?B?dktHZzUxNzM3eU9pOGFOMUI1bVhvUk1YWEsyRW9oV1h5c1Q2eWxuUkRUMmIz?=
 =?utf-8?B?UjFuOXBjMG44NGxqU0gxNHlwOE5jblZPVEVwcEVFVzJJTUZBaGhma0poUEox?=
 =?utf-8?B?VVQySVByN1lLUjFubnhGcU1CUWpyYUFvaUhZaGxxYlRnWThrSXYybUFmL3FB?=
 =?utf-8?B?UDB1UHJrZ0FVckxrK1lLMkJvS2ZBK2FZQzc0VElZV254ekUwdS9nK20rRWZu?=
 =?utf-8?B?RTlMVG8vOHJuYVlMdllpWUM4VWgyTWdXZm9BTWNYQ1czN0kvOUIzczgxZVp5?=
 =?utf-8?B?SEFLRmlidmRTandQQmxjZFErRlluTFYyVjNtVlJGZkFiMnVLNHJsYzQrWE9E?=
 =?utf-8?B?cGNHMGRQY1U2MWtLZ2pNN1cwL1RLOHN3V1pXQVpPUGhGSzlpRS85RUdVNlZ0?=
 =?utf-8?B?ZzBLaWxkWVdaTDhtWG05NjQzQ2s0ZHNzSUtUSWlENEtySS9ZcVlFeWdVNVdi?=
 =?utf-8?B?cXBpMTVTNXpncGo0SDlrZ3A2Ync5ZEVPTlJTK2FXODI1d1k0L1VNMUQwcEQy?=
 =?utf-8?B?SnE1SHUxVy9UTjRtcHRzWXVLU2FCZzJZTVVGUmNxMDlDMWJFcE5hMVAvU05w?=
 =?utf-8?B?NHZvajdWQTRSUmhsKzZHWWZXU0NTU1J5eFVFVktIWlR1RGhubUlzSjl5RzFo?=
 =?utf-8?B?cndIWUpnYzRKdjh3bys4cGJDVzJyNUZiOS9HOVAwOWhMdVBqa2JkRDB4QXY5?=
 =?utf-8?B?VWp0TmtPV3lMazZxWTNCN2ZRUTBsbTlUMEJjbzdYWThLV3dEYkplTkJNK1FR?=
 =?utf-8?B?MmNIMy82VzdGVmdkYnFBV3gzSDJpcHV5NDd1bk5GVElpOWtVRUJXV0pDNm5n?=
 =?utf-8?Q?KTlvCShD28tVTRS8R6LQjguqd?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5994.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8277c66d-ca51-4c71-5f69-08db5a81282b
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2023 04:58:17.4069 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DjaRzufoiaHVPT0+8XrQipZsUVJr1tJMyBPdKP5GxRFMnlWhH89+GBi5jkgRYrzumC0ZNjAHiJy5C5SWze33aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8444
X-OriginatorOrg: intel.com
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSG9ubmFwcGEgTmFnYXJh
aGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBN
YXkgMTgsIDIwMjMgMTA6NDYgUE0NCj4gVG86IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVs
LmNvbT47IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+Ow0KPiBkZXZAZHBkay5vcmcNCj4gQ2M6
IHRlY2hib2FyZEBkcGRrLm9yZzsgUmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25A
aW50ZWwuY29tPjsNCj4gQnVyYWtvdiwgQW5hdG9seSA8YW5hdG9seS5idXJha292QGludGVsLmNv
bT47IFdpbGVzLCBLZWl0aA0KPiA8a2VpdGgud2lsZXNAaW50ZWwuY29tPjsgTGlhbmcsIEN1bm1p
bmcgPGN1bm1pbmcubGlhbmdAaW50ZWwuY29tPjsgV3UsDQo+IEppbmdqaW5nIDxqaW5namluZy53
dUBpbnRlbC5jb20+OyBaaGFuZywgSGVsaW4gPGhlbGluLnpoYW5nQGludGVsLmNvbT47DQo+IE1j
bmFtYXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IFh1LCBSb3Nlbg0KPiA8cm9z
ZW4ueHVAaW50ZWwuY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gU3Vi
amVjdDogUkU6IHNlZWtpbmcgY29tbXVuaXR5IGlucHV0IG9uIGFkYXB0aW5nIERQREsgdG8gUDRS
dW50aW1lDQo+IGJhY2tlbmQNCj4gDQo+IDxzbmlwPg0KPiANCj4gPiA+DQo+ID4gPiBIaSBaaGFu
ZywNCj4gPiA+DQo+ID4gPiBydGVfZmxvdyBpcyBhbiBleGNlbGxlbnQgY2FuZGlkYXRlIGZvciBp
bXBsZW1lbnRpbmcgUDQuDQo+ID4gPiBXZSBhbmQgc29tZSBpbnRlcm5hbCB0ZXN0cyB0aGF0IHNo
b3dzIGdyZWF0IHByb21pc2UgaW4gdGhpcyByZWdhcmQuDQo+ID4gPg0KPiA+ID4gSSB3b3VsZCBi
ZSB2ZXJ5IGhhcHB5IHRvIHN1cHBseSBhbnkgbmVlZGVkIGluZm9ybWF0aW9uIGFuZCBoYXZlDQo+
ID4gPiBkaXNjdXNzaW9uIG9uIGhvdyB0byBjb250aW51ZSB3aXRoIHRoaXMgcHJvamVjdC4NCj4g
Pg0KPiA+IFRoYW5rIHlvdSBPcmkhIFBsZWFzZSBjaGVjayBteSBmb2xsb3dpbmcgY29tbWVudHMN
Cj4gPg0KPiA+IFJlZ2FyZHMNCj4gPiBRaQ0KPiA+DQo+ID4gPg0KPiA+ID4gUGxlYXNlIHNlZSBp
bmxpbmUgZGV0YWlsZWQgYW5zd2Vycy4NCj4gPiA+DQo+ID4gPiBCZXN0LA0KPiA+ID4gT3JpIEth
bQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29t
Pg0KPiA+ID4gPiBTZW50OiBNb25kYXksIE1heSA4LCAyMDIzIDk6NDAgQU0NCj4gPiA+ID4gU3Vi
amVjdDogc2Vla2luZyBjb21tdW5pdHkgaW5wdXQgb24gYWRhcHRpbmcgRFBESyB0byBQNFJ1bnRp
bWUNCj4gPiA+IGJhY2tlbmQNCj4gPiA+ID4NCj4gPiA+ID4gSGk6DQo+ID4gPiA+DQo+ID4gPiA+
IE91ciB0ZWFtIGlzIGN1cnJlbnRseSB3b3JraW5nIG9uIGRldmVsb3BpbmcgYSBEUERLIFBNRCBm
b3IgYSBQNC0NCj4gPiA+ID4gcHJvZ3JhbW1lZCBuZXR3b3JrIGNvbnRyb2xsZXIsIGJhc2VkIG9u
IGN1c3RvbWVyIGZlZWRiYWNrIHRvDQo+ID4gPiA+IGludGVncmF0ZSBEUERLIGludG8gdGhlIFA0
UnVudGltZSBiYWNrZW5kIC5baHR0cHM6Ly9wNC5vcmcvcDQtDQo+ID4gPiA+IHNwZWMvcDRydW50
aW1lL21haW4vUDRSdW50aW1lLVNwZWMuaHRtbF0NCj4gPiA+ID4NCj4gPiA+ID4gKCopIEhvd2V2
ZXIsIHdlIGFyZSBmYWNpbmcgY2hhbGxlbmdlcyBpbiBhZGFwdGluZyBEUERLJ3MgcnRlX2Zsb3cN
Cj4gPiA+ID4gQVBJIHRvIHRoZSBQNFJ1bnRpbWUgQVBJLCBwcmltYXJpbHkgZHVlIHRvIHRoZSB0
cmFuc2l0aW9uIGZyb20gYQ0KPiA+ID4gPiB0YWJsZS1iYXNlZCBBUEkgd2l0aCBmaWVsZHMgb2Yg
YXJiaXRyYXJ5IGJpdHMgd2lkdGggYXQgYXJiaXRyYXJ5DQo+ID4gPiA+IG9mZnNldCB0byBhIHBy
b3RvY29sLWJhc2VkIEFQSSAobW9yZSBkZXRhaWwgYmUgZGVzY3JpYmVkIGluIHBvc3Qtc2NyaXB0
KS4NCj4gPiA+ID4NCj4gPiA+ID4gV2UgYXJlIHNlZWtpbmcgc3VnZ2VzdGlvbnMgYW5kIGJlc3Qg
cHJhY3RpY2VzIGZyb20gdGhlIG9wZW4tc291cmNlDQo+ID4gPiA+IGNvbW11bml0eSB0byBoZWxw
IHVzIHdpdGggdGhpcyBpbnRlZ3JhdGlvbi4gU3BlY2lmaWNhbGx5LCB3ZSBhcmUNCj4gPiA+ID4g
aW50ZXJlc3RlZCBpbg0KPiA+ID4gPiBsZWFybmluZzoNCj4gPiA+ID4NCj4gPiA+ID4gKCopIElm
IGFueW9uZSBoYXMgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gbWFwIHJ0ZV9mbG93IHRvIFA0LWJh
c2VkDQo+ID4gPiBkZXZpY2VzLg0KPiA+ID4NCj4gPiA+IFdlIGRpZCB0cnkgc3VjY2Vzc2Z1bGx5
Lg0KPiA+ID4NCj4gPiA+ID4gKCopIFRob3VnaHRzIG9uIGhvdyB0byBtYXAgZnJvbSB0YWJsZS1i
YXNlZCBtYXRjaGluZyB0bw0KPiA+ID4gPiBwcm90b2NvbC1iYXNlZCBtYXRjaGluZyBsaWtlIGlu
IHJ0ZV9mbG93Lg0KPiA+ID4NCj4gPiA+IFJ0ZV9mbG93IGlzIHRhYmxlIGJhc2VkIChncm91cHMp
LCBub3cgd2l0aCB0aGUgaW50cm9kdWN0aW9uIG9mDQo+ID4gPiB0ZW1wbGF0ZSBBUEkgcnRlX2Zs
b3cgaXMgZXZlbiBtb3JlIHRhYmxlIGJhc2VkICh3ZSBhZGRlZCB0aGUgY29uY2VwdA0KPiA+ID4g
b2YgdGFibGVzKSB3aGljaCBhcmUganVzdCB3aGF0DQo+ID4gPiBwNCByZXF1aXJlcy4NCj4gPg0K
PiA+IFllcywgdGhlIHJ0ZV9mbG93IHRlbXBsYXRlIGNhbiBiZSB1c2VkIHRvIG1hcCBhIHNlcXVl
bmNlIG9mIHBhdHRlcm5zDQo+ID4gdG8gYSBQNCB0YWJsZSBhbmQgYSBzZXF1ZW5jZSBvZiBhY3Rp
b25zIHRvIGEgUDQgYWN0aW9uLiBIb3dldmVyLCBVc2luZw0KPiA+IGEgZml4ZWQgcnRlX2Zsb3cg
dGVtcGxhdGUgY2FuIGJlIHByb2JsZW1hdGljIHdoZW4gaGFuZGxpbmcgZGlmZmVyZW50DQo+ID4g
UDQgcHJvZ3JhbXMgaW4gdGhlIHNhbWUgZHJpdmVyLiBUbyBwcm92aWRlIG1vcmUgZmxleGliaWxp
dHksIHRoZQ0KPiA+IG1hcHBpbmcgb2YgcGF0dGVybnMgYW5kIGFjdGlvbnMgY2FuIGJlIGV4dGVy
bmFsaXplZCBpbnRvIGENCj4gPiBjb25maWd1cmF0aW9uIGZpbGUgb3IgcGFydCBvZiB0aGUgZmly
bXdhcmUgY2FuIGJlIGxlYXJuZWQgZnJvbSBkcml2ZXIsDQo+ID4gYWxsb3dpbmcgZm9yIGN1c3Rv
bWl6YXRpb24gYmFzZWQgb24gdGhlIHNwZWNpZmljIHJlcXVpcmVtZW50cyBvZiBlYWNoDQo+ID4g
UDQgcGlwZWxpbmUuIGFjdHVhbGx5IHdlIGhhdmUgZW5hYmxlZCB0aGlzIGFwcHJvYWNoIGluIG9y
ZGVyIHRvDQo+IGFjY29tbW9kYXRlIGRpZmZlcmVudCBQNCBwcm9ncmFtcy4NCj4gPg0KPiA+IEhv
d2V2ZXIsIGFuIGFsdGVybmF0aXZlIGFwcHJvYWNoIHRvIGNvbnNpZGVyIGlzIHdoZXRoZXIgaXQg
d291bGQgYmUNCj4gPiBmZWFzaWJsZSB0byBkaXJlY3RseSBleHBvc2UgdGhlIFA0IHRhYmxlIGFu
ZCBhY3Rpb24gbmFtZXMgb3IgSURzIHRvDQo+ID4gdGhlIGFwcGxpY2F0aW9uLCByYXRoZXIgdGhh
biByZWx5aW5nIG9uIHJ0ZV9mbG93IHRlbXBsYXRlcy4gVGhpcw0KPiA+IGFwcHJvYWNoIG9mZmVy
cyBzZXZlcmFsIHBvdGVudGlhbA0KPiA+IGJlbmVmaXRzOg0KPiA+DQo+ID4gSW50ZWdyYXRpb24g
d2l0aCBQNHJ1bnRpbWUgQmFja2VuZDogQnkgZXhwb3NpbmcgdGhlIFA0IHRhYmxlIGFuZA0KPiA+
IGFjdGlvbiBuYW1lcyBvciBJRHMgZGlyZWN0bHksIERQREsgY291bGQgYmUgZWFzaWx5IGludGVn
cmF0ZWQgYXMgYQ0KPiA+IFA0cnVudGltZSBiYWNrZW5kLiBUaGlzIGVsaW1pbmF0ZXMgdGhlIG5l
ZWQgZm9yIHRyYW5zbGF0aW9uIGZyb20gdGhlDQo+ID4gUDRydW50aW1lIEFQSSB0byBydGVfZmxv
dyB0ZW1wbGF0ZXMgaW4gdGhlIGFwcGxpY2F0aW9uLCBzaW1wbGlmeWluZyB0aGUNCj4gaW50ZWdy
YXRpb24gcHJvY2Vzcy4NCj4gPg0KPiA+IEVsaW1pbmF0aW9uIG9mIE1hbnVhbCBNYXBwaW5nOiBF
eHBvc2luZyB0aGUgUDQgdGFibGUgYW5kIGFjdGlvbiBuYW1lcw0KPiA+IG9yIElEcyB0byB0aGUg
YXBwbGljYXRpb24gd291bGQgcmVtb3ZlIHRoZSByZXF1aXJlbWVudCBmb3IgdGhlDQo+ID4gZW5n
aW5lZXJpbmcgdGVhbSB0byBtYW51YWxseSBtYXAgZWFjaCBwaXBlbGluZSB0byBzcGVjaWZpYyBy
dGVfZmxvdw0KPiA+IHRlbXBsYXRlcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgYmVuZWZpY2lhbCBp
biBjYXNlcyB3aGVyZSBoYXJkd2FyZQ0KPiA+IHZlbmRvcnMgcHJvdmlkZSBjdXN0b21lcnMgd2l0
aCBhIHRvb2xjaGFpbiB0byBjcmVhdGUgdGhlaXIgb3duIFA0DQo+ID4gcGlwZWxpbmVzIGJ1dCBk
byBub3QgbmVjZXNzYXJpbHkgb3duIHRoZSBQNCBwcm9ncmFtcy4gQnkgZWxpbWluYXRpbmcNCj4g
PiB0aGUgZGVwZW5kZW5jeSBvbiBydGVfZmxvdyB0ZW1wbGF0ZXMsIHRoaXMgYXBwcm9hY2ggcmVk
dWNlcyBjb21wbGV4aXR5DQo+IGluIHVzaW5nIERQREsgYXMgdGhlIGRyaXZlci4NCj4gPg0KPiA+
IFRvIGJlIG1vcmUgc3BlY2lmaWMsIHRoZSBwcm9wb3NlZCBBUEkgZm9yIGV4cG9zaW5nIFA0IHRh
YmxlIGFuZCBhY3Rpb24NCj4gPiBuYW1lcyBvciBJRHMgZGlyZWN0bHkgdG8gdGhlIGFwcGxpY2F0
aW9uIGNvdWxkIGJlIGFzIGZvbGxvd3M6DQo+ID4NCj4gPiAvKiBHZXQgdGhlIHRhYmxlIGluZm8g
Ki8NCj4gPiBzdHJ1Y3QgcnRlX3A0X3RhYmxlX2luZm8gdGJsX2luZm87DQo+ID4gcnRlX3A0X3Rh
YmxlX2luZm9fZ2V0X2J5X25hbWUocG9ydF9pZCwgImRlY2FwX3Z4bGFuX3RjcF90YWJsZSIsDQo+
ID4gJnRibF9pbmZvKTsNCj4gPg0KPiA+IC8qIENyZWF0ZSB0aGUga2V5ICovDQo+ID4gc3RydWN0
IHJ0ZV9wNF90YWJsZV9rZXkgKmtleTsNCj4gPiBydGVfcDRfdGFibGVfa2V5X2NyZWF0ZShwb3J0
X2lkLCB0YmxfaW5mby0+aWQsICZrZXkpOw0KPiA+DQo+ID4gLyogU2V0IHRoZSBrZXkgZmllbGRz
ICovDQo+ID4gcnRlX3A0X3RhYmxlX2tleV9maWVsZF9zZXRfYnlfbmFtZShwb3J0X2lkLCBrZXks
ICJ3aXJlX3BvcnQiLA0KPiA+ICZ3aXJlX3BvcnQsIDIpOyBydGVfcDRfdGFibGVfa2V5X2ZpZWxk
X3NldF9ieV9uYW1lKHBvcnRfaWQsIGtleSwNCj4gPiAidHVuX2lwX3NyYyIsICZ0dW5faXBfc3Jj
LCA0KTsNCj4gPiBydGVfcDRfdGFibGVfa2V5X2ZpZWxkX3NldF9ieV9uYW1lKHBvcnRfaWQsIGtl
eSwgInR1bl9pcF9kc3QiLA0KPiA+ICZ0dW5faXBfZHN0LCA0KTsgcnRlX3A0X3RhYmxlX2tleV9m
aWVsZF9zZXRfYnlfbmFtZShwb3J0X2lkLA0KPiA+IGtleSwgInZuaSIsICZ2bmksIDMpOyBydGVf
cDRfdGFibGVfa2V5X2ZpZWxkX3NldF9ieV9uYW1lKHBvcnRfaWQsIGtleSwNCj4gPiAiaXB2NF9z
cmMiLCAmaXB2NF9zcmMsIDQpOyBydGVfcDRfdGFibGVfa2V5X2ZpZWxkX3NldF9ieV9uYW1lKHBv
cnRfaWQsDQo+ID4ga2V5LCAiaXB2NF9kc3QiLCAmaXB2NF9kc3QsIDQpOw0KPiA+IHJ0ZV9wNF90
YWJsZV9rZXlfZmllbGRfc2V0X2J5X25hbWUocG9ydF9pZCwga2V5LCAic3JjX3BvcnQiLA0KPiA+
ICZzcmNfcG9ydCwgMik7IHJ0ZV9wNF90YWJsZV9rZXlfZmllbGRfc2V0X2J5X25hbWUocG9ydF9p
ZCwga2V5LA0KPiA+ICJkc3RfcG9ydCIsICZkc3RfcG9ydCwgMik7DQo+ID4NCj4gPiAvKiBHZXQg
dGhlIGFjdGlvbiBzcGVjIGluZm8gKi8NCj4gPiBzdHJ1Y3QgcnRlX3A0X2FjdGlvbl9zcGVjX2lu
Zm8gYXNfaW5mbzsNCj4gPiBydGVfcDRfYWN0aW9uX3NwZWNfaW5mb19nZXRfYnlfbmFtZShwb3J0
X2lkLCAiZGVjYXBfdnhsYW5fZndkIiwNCj4gPiAmYXNfaW5mbyk7DQo+ID4NCj4gPg0KPiA+IC8q
IENyZWF0ZSB0aGUgYWN0aW9uICovDQo+ID4gc3RydWN0IHJ0ZV9wNF9hY3Rpb24gKmFjdGlvbjsN
Cj4gPiBydGVfcDRfYWN0aW9uX2NyZWF0ZShwb3J0X2lkLCBhc19pbmZvLT5pZCwgJmFjdGlvbik7
DQo+ID4NCj4gPg0KPiA+IC8qIFNldCB0aGUgYWN0aW9uIGZpZWxkcyAqLw0KPiA+IHJ0ZV9wNF90
YWJsZV9hY3Rpb25fZmllbGRfc2V0X2J5X25hbWUocG9ydF9pZCwgYWN0aW9uLCAibW9kX2lkIiwN
Cj4gPiAmbW9kX2lkLCAzKTsgcnRlX3A0X3RhYmxlX2FjdGlvbl9maWVsZF9zZXRfYnlfbmFtZShw
b3J0X2lkLCBhY3Rpb24sDQo+ID4gInBvcnRfaWQiLCAmdGFyZ2V0X3BvcnRfaWQsIDIpOw0KPiA+
DQo+ID4gLyogQWRkIHRoZSBlbnRyeSAqLw0KPiA+IHJ0ZV9wNF90YWJsZV9lbnRyeV9hZGQocG9y
dF9pZCwgdGJsX2luZm8tPmlkLCBrZXksIGFjdGlvbik7DQo+IFRoZXNlIGRvIG5vdCBsb29rIGF0
IGxpa2UgUDQgc3BlY2lmaWMuIENvdWxkIGJlIGp1c3QgZ2VuZXJpYyBBUElzLiBDb3VsZCB3ZQ0K
PiBoYXZlIHRoZXNlIGFzIHJ0ZV9mbG93IEFQSXM/DQoNCkFncmVlZCwgdGhlIGdvYWwgaXMgbm90
IG5lY2Vzc2FyaWx5IHRvIGhhdmUgUDQtc3BlY2lmaWMgQVBJcywgYnV0IHJhdGhlciB0byBleHBv
c2UgYSBzZXQgb2YgdGFibGUtZHJpdmVuIEFQSXMgdGhhdCBhbGlnbiB3aXRoIHRoZSBwcm9ncmFt
bWFibGUgaGFyZHdhcmUgcGlwZWxpbmUuIFRoaXMgYXBwcm9hY2ggd291bGQgYWxsb3cgZm9yIG1v
cmUgZmxleGliaWxpdHkgYW5kIGN1c3RvbWl6YXRpb24gY29tcGFyZWQgdG8gcmVseWluZyBvbiBl
eGlzdGluZyBwcm90b2NvbC1iYXNlZCBBUElzLg0KDQpCb3RoIG9wdGlvbnMsIGV4dGVuZGluZyB0
aGUgZXhpc3RpbmcgcnRlX2Zsb3cgQVBJIHRvIGV4cG9zZSB0aGUgcmVxdWlyZWQgdGFibGUtZHJp
dmVuIGZlYXR1cmUgb3IgaW50cm9kdWNpbmcgYSBzZXQgb2YgZGVkaWNhdGUgdGFibGUtZHJpdmVu
IEFQSXMsIGFwcGVhciB0byBiZSB2aWFibGUgc29sdXRpb25zIGZvciBtZS4NCg0KVGhhbmtzDQpR
aQ0KDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+ID4NCj4gPiA+ID4gKCopIEFueSBpZGVh
cyBvbiBob3cgdG8gZXh0ZW5kIG9yIGV4cGFuZCB0aGUgcnRlX2Zsb3cgQVBJcyB0bw0KPiA+ID4g
PiBiZXR0ZXIgYWNjb21tb2RhdGUgUDQtYmFzZWQgb3Igb3RoZXIgdGFibGUtbWF0Y2hpbmcgYmFz
ZWQgZGV2aWNlcy4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBMZXRzIGRpc2N1c3MgYW55IGlzc3Vl
IHlvdSBoYXZlLg0KPiA+ID4NCj4gPiA+ID4gWW91ciBpbnNpZ2h0cyBhbmQgZmVlZGJhY2sgd291
bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZCENCj4gPiA+ID4NCj4gPiA+ID4gPT09PT09PT09PT09
PT09PT09PT09PT0gUG9zdC1TY3JpcHQNCj4gPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQo+ID4gPiA+DQo+ID4gPiA+IE1vcmUgZGV0YWlscyBvbiB0aGUgcHJvYmxlbSBiZWxvdywgZm9y
IGFueW9uZSBpbnRlcmVzdGVkDQo+ID4gPiA+DQo+ID4gPiA+IEluIFA0LCBmbG93IG9mZmxvYWRp
bmcgY2FuIGJlIGltcGxlbWVudGVkIHVzaW5nIHRoZSBQNFJ1bnRpbWUgQVBJLA0KPiA+ID4gPiB3
aGljaCBwcm92aWRlcyBhIHN0YW5kYXJkIGludGVyZmFjZSBmb3IgY29udHJvbGxpbmcgYW5kDQo+
ID4gPiA+IGNvbmZpZ3VyaW5nIHRoZSBkYXRhIHBsYW5lIGJlaGF2aW9yIG9mIG5ldHdvcmsgZGV2
aWNlcy4gUDRSdW50aW1lDQo+ID4gPiA+IGFsbG93cyBuZXR3b3JrIG9wZXJhdG9ycyB0byBkeW5h
bWljYWxseSBhZGQsIG1vZGlmeSwgYW5kIHJlbW92ZQ0KPiA+ID4gPiBmbG93IHJ1bGVzIGluIHRo
ZSBoYXJkd2FyZSBmb3J3YXJkaW5nIHRhYmxlcyBvZiBQNC1lbmFibGVkIGRldmljZXMuDQo+ID4g
PiA+DQo+ID4gPiA+IFRoZSBQNFJ1bnRpbWUgQVBJIGlzIGEgdGFibGUtYmFzZWQgQVBJLCBpdCBh
c3N1bWUgdGhlIHBhY2tldA0KPiA+ID4gPiBwcm9jZXNzIHBpcGVsaW5lIHdhcyBjb25zaXN0cyBv
ZiBvbmUgb3IgbW9yZSBrZXkvYWN0aW9uIHVuaXRzDQo+ID4gPiA+ICh0YWJsZXMpLiBJbiBQNFJ1
bnRpbWUsIGVhY2ggdGFibGUgZGVmaW5lcyB0aGUgZmllbGRzIHRvIGJlDQo+ID4gPiA+IG1hdGNo
ZWQgYW5kIHRoZSBhY3Rpb25zIHRvIGJlIHRha2VuIG9uIGluY29taW5nIHBhY2tldHMuIER1cmlu
Zw0KPiA+ID4gPiBjb21waWxhdGlvbiwgdGhlIFA0IGNvbXBpbGVyIGFzc2lnbnMgYSB1bmlxdWUN
Cj4gPiA+ID4gdWludDMyIElEIHRvIGVhY2ggdGFibGUsIGFjdGlvbiwgYW5kIGZpZWxkLCB3aGlj
aCBpcyBhc3NvY2lhdGVkDQo+ID4gPiA+IHdpdGggaXRzIGNvcnJlc3BvbmRpbmcgc3RyaW5nIG5h
bWUuIFRoZXNlIElEcyBoYXZlIG5vIGluaGVyZW50DQo+ID4gPiA+IHJlbGF0aW9uc2hpcCB0byBh
bnkgbmV0d29yayBwcm90b2NvbCBidXQgaW5zdGVhZCBzZXJ2ZSBhcyBhIG1lYW5zDQo+ID4gPiA+
IHRvIGlkZW50aWZ5IGRpZmZlcmVudCBjb21wb25lbnRzIG9mIGEgUDQgcHJvZ3JhbSB3aXRoaW4g
dGhlIFA0UnVudGltZQ0KPiBBUEkuDQo+ID4gPiA+DQo+ID4gPiBUaGlzIGlzIHRoZSBjb25jZXB0
IG9mIHRhYmxlcyBhbmQgZ3JvdXBzIGluIHJ0ZV9mbG93Lg0KPiA+ID4NCj4gPiA+ID4gSWYgd2Ug
Y2hvb3NlIHRvIHVzZSBydGVfZmxvdyBhcyB0aGUgbG93LWxldmVsIEFQSSBmb3IgUDRSdW50aW1l
LCBhDQo+ID4gPiA+IHRyYW5zbGF0aW9uIGxheWVyIGlzIG5lZWRlZCBpbiB0aGUgYXBwbGljYXRp
b24gdG8gbWFwIHRoZSBQNA0KPiA+ID4gPiB0YWJsZXMgYW5kIGFjdGlvbnMgdG8gdGhlIGNvcnJl
c3BvbmRpbmcgcnRlX2Zsb3cgcnVsZXMuIEhvd2V2ZXIsDQo+ID4gPiA+IHRoaXMgdHJhbnNsYXRp
b24gbGF5ZXIgY2FuIGJlIHByb2JsZW1hdGljIGFzIGl0IGlzIG5vdCBlYXNpbHkgc2NhbGFibGUu
DQo+ID4gPiA+IFdoZW4gdGhlIFA0IHBpcGVsaW5lIGlzIHJlZmluZWQgb3IgdXBkYXRlZCwgdGhl
IHRyYW5zbGF0aW9uIHJ1bGVzDQo+ID4gPiA+IG1heSBhbHNvIG5lZWQgdG8gYmUgdXBkYXRlZCwg
d2hpY2ggY2FuIHJlc3VsdCBpbiBlcnJvcnMgYW5kDQo+ID4gPiA+IHJlZHVjZWQNCj4gPiBlZmZp
Y2llbmN5Lg0KPiA+ID4gPg0KPiA+ID4gSSBkb24ndCB1bmRlcnN0YW5kIHdoeS4NCj4gPiA+DQo+
ID4gPiA+IE9uIHRoZSBvdGhlciBoYW5kLCBhIGhhcmR3YXJlIHZlbmRvciB0aGF0IHByb3ZpZGVz
IGEgUDQtZW5hYmxlZA0KPiA+ID4gPiBkZXZpY2UgaXMgcmVxdWlyZWQgdG8gaW1wbGVtZW50IGFu
IHJ0ZV9mbG93IGludGVyZmFjZSBpbiB0aGVpciBEUERLIFBNRC4NCj4gPiA+ID4gVHlwaWNhbGx5
LCB0aGUNCj4gPiA+ID4gUDQgY29tcGlsZXIgZ2VuZXJhdGVzIGhpbnRzIGZvciB0aGUgZHJpdmVy
IG9uIGhvdyB0byBtYXAgUDQgdGFibGVzDQo+ID4gPiA+IHRvIGhhcmR3YXJlIHJlc291cmNlcywg
YW5kIGhvdyB0byBjb252ZXJ0IHRhYmxlIGVudHJ5DQo+ID4gPiA+IGFkZC9tb2RpZnkvZGVsZXRl
IGFjdGlvbnMgaW50byBsb3ctbGV2ZWwgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMuDQo+ID4gPiA+
IEhvd2V2ZXIsIGJlY2F1c2UgcnRlX2Zsb3cgaXMgcHJvdG9jb2wtYmFzZWQsIGl0IHBvc2VzIGFu
DQo+ID4gPiA+IGFkZGl0aW9uYWwgY2hhbGxlbmdlIGZvciBkcml2ZXIgZGV2ZWxvcGVycywgd2hv
IG11c3QgY3JlYXRlDQo+ID4gPiA+IGFub3RoZXIgdHJhbnNsYXRpb24gbGF5ZXIgdG8gY29udmVy
dCBydGVfZmxvdyB0b2tlbnMgaW50byBQNA0KPiA+ID4gPiBvYmplY3QgaWRlbnRpZmllcnMuIFRo
aXMgdHJhbnNsYXRpb24gbGF5ZXIgbXVzdCBiZSBjYXJlZnVsbHkNCj4gPiA+ID4gZGVzaWduZWQg
YW5kIGltcGxlbWVudGVkIHRvIGVuc3VyZSBvcHRpbWFsIHBlcmZvcm1hbmNlIGFuZA0KPiA+ID4g
PiBzY2FsYWJpbGl0eSwgYW5kIHRvIGVuc3VyZSB0aGF0IHRoZSBkcml2ZXIgY2FuIGVmZmljaWVu
dGx5DQo+ID4gPiBoYW5kbGUgdGhlIGR5bmFtaWMgbmF0dXJlIG9mIFA0IHByb2dyYW1zLg0KPiA+
ID4gPg0KPiA+ID4gUmlnaHQsIGJ1dCBzb21lIG9mIHRoZSB0cmFuc2xhdGlvbiBjYW4gYmUgZG9u
ZSBpbiBzaGFyZWQgY29kZSBieSBhbGwNCj4gPiA+IFBNRHMgYW5kIHRoZSB0cmFuc2xhdGlvbiBp
cyBzdGF0aWMgZm9yIHRoZSBjb21waWxhdGlvbiBzbyBpbnNlcnRpbmcNCj4gPiA+IHJ1bGVzIGNh
biBiZSBzdXBwZXIgZmFzdCB3aXRoIG5vIG5lZWQgZm9yIGV4dHJhIHdvcmsuDQo+ID4gPg0KPiA+
ID4gPiBUbyBiZXR0ZXIgdW5kZXJzdGFuZCB0aGUgcHJvYmxlbSwgbGV0J3MgY29uc2lkZXIgdGhl
IGZvbGxvd2luZw0KPiA+ID4gPiBleGFtcGxlIHRoYXQgZGVtb25zdHJhdGVzIGhvdyB0byB1c2Ug
dGhlIFA0UnVudGltZSBBUEkgdG8gcHJvZ3JhbQ0KPiA+ID4gPiBhIHJ1bGUgZm9yIHByb2Nlc3Np
bmcgYSBWWExBTiBwYWNrZXQuIFRoZSBydWxlIG1hdGNoZXMgYSBWWExBTg0KPiA+ID4gPiBwYWNr
ZXQsIGRlY2Fwc3VsYXRlcyB0aGUgdHVubmVsIGhlYWRlciwgYW5kIGZvcndhcmRzIGl0IHRvIGEg
c3BlY2lmaWMNCj4gcG9ydC4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlIFA0IHNvdXJjZSBjb2RlIGJl
bG93IGRlc2NyaWJlcyB0aGUgVlhMQU4gZGVjYXAgdGFibGUNCj4gPiA+ID4gZGVjYXBfdnhsYW5f
dGNwX3RhYmxlLCB3aGljaCBtYXRjaGVzIHRoZSBvdXRlciBJUCBhZGRyZXNzLCBWTkksDQo+ID4g
PiA+IGlubmVyIElQIGFkZHJlc3MsIGFuZCBpbm5lciBUQ1AgcG9ydC4gRm9yIGVhY2ggcnVsZSwg
Zm91ciBhY3Rpb24NCj4gPiA+ID4gc3BlY2lmaWNhdGlvbnMgY2FuIGJlIHNlbGVjdGVkLiBXZSB3
aWxsIGZvY3VzIG9uIG9uZSBhY3Rpb24NCj4gPiA+ID4gc3BlY2lmaWNhdGlvbiBkZWNhcF92eGxh
bl9md2QgdGhhdCBwZXJmb3JtcyBkZWNhcHN1bGF0aW9uIGFuZA0KPiA+ID4gPiBmb3J3YXJkcw0K
PiA+ID4gdGhlIHBhY2tldCB0byBhIHNwZWNpZmljIHBvcnQuDQo+ID4gPiA+DQo+ID4gPiA+IHRh
YmxlIGRlY2FwX3Z4bGFuX3RjcF90YWJsZSB7DQo+ID4gPiA+IMKgwqDCoCBrZXkgPSB7DQo+ID4g
PiA+IMKgwqDCoMKgwqDCoMKgIGhkcnMuaXB2NFttZXRhLmRlcHRoLTFdLnNyY19pcDogZXhhY3Qg
QG5hbWUoInR1bl9pcF9zcmMiKTsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqAgaGRycy5pcHY0W21l
dGEuZGVwdGgtMV0uZHN0X2lwOiBleGFjdCBAbmFtZSgidHVuX2lwX2RzdCIpOw0KPiA+ID4gPiDC
oMKgwqDCoMKgwqDCoCBoZHJzLnZ4bGFuW21ldGEuZGVwdGgtMV0udm5pwqAgOiBleGFjdCBAbmFt
ZSgidm5pIik7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgIGhkcnMuaXB2NFttZXRhLmRlcHRoXS5z
cmNfaXDCoCA6IGV4YWN0IEBuYW1lKCJpcHY0X3NyYyIpOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDC
oCBoZHJzLmlwdjRbbWV0YS5kZXB0aF0uZHN0X2lwwqAgOiBleGFjdCBAbmFtZSgiaXB2NF9kc3Qi
KTsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqAgaGRycy50Y3Auc3BvcnTCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgOiBleGFjdCBAbmFtZSgic3JjX3BvcnQiKTsNCj4gPiA+ID4gwqDCoMKg
wqDCoMKgwqAgaGRycy50Y3AuZHBvcnTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOiBl
eGFjdCBAbmFtZSgiZHN0X3BvcnQiKTsNCj4gPiA+ID4gwqDCoMKgIH0NCj4gPiA+ID4gwqDCoMKg
IGFjdGlvbnMgPSB7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgIEB0YWJsZW9ubHkgZGVjYXBfdnhs
YW5fZndkOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoCBAdGFibGVvbmx5IGRlY2FwX3Z4bGFuX2Ru
YXRfZndkOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoCBAdGFibGVvbmx5IGRlY2FwX3Z4bGFuX3Nu
YXRfZndkOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoCBAZGVmYXVsdG9ubHkgc2V0X2V4Y2VwdGlv
bjsNCj4gPiA+ID4gwqDCoMKgIH0NCj4gPiA+ID4gfQ0KPiA+ID4gVHJhbnNsYXRlIHRvIHJ0ZV9m
bG93Og0KPiA+ID4gdGVtcGxhdGUgcGF0dGVybiByZWxheGVkX21vZGUgPSAxIHBhdHRlcm4gPSAg
SXB2NF9zcmMgLyBpcHY0X2RzdCAgLw0KPiA+ID4gdm5pIC8gaXB2NF9zcmMgLyBpcHY0X2RzdCAv
IHRjcF9zcG9ydCAvIHRjcF9kcG9ydCBtYXAgc3RydWN0dXJlID0gew0KPiA+ID4gCXR1bl9pcF9z
cmMgPSAmcGF0dGVybltpcHY0X3NyY10NCj4gPiA+IAkuLi4uDQo+ID4gPiB9DQo+ID4gPiA+IC4u
Lg0KPiA+ID4gPg0KPiA+ID4gPiBhY3Rpb24gZGVjYXBfdnhsYW5fZndkKFBvcnRJZF90IHBvcnRf
aWQpIHsNCj4gPiA+ID4gwqDCoMKgIG1ldGEubW9kX2FjdGlvbiA9IChiaXQ8MTE+KVZYTEFOX0RF
Q0FQX09VVEVSX0lQVjQ7DQo+ID4gPiA+IMKgwqDCoCBzZW5kX3RvX3BvcnQocG9ydF9pZCk7DQo+
ID4gPiA+IH0NCj4gPiA+ID4NCj4gPiA+IFNhbWUgYXMgYWJvdmUganVzdCB3aXRoIGFjdGlvbiB0
ZW1wbGF0ZQ0KPiA+ID4NCj4gPiA+ID4gQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGUgaGludCB0
aGF0IHRoZSBjb21waWxlciB3aWxsIGdlbmVyYXRlDQo+ID4gPiA+IGZvciB0aGUNCj4gPiA+ID4g
ZGVjYXBfdnhsYW5fdGNwX3RhYmxlOg0KPiA+ID4gPg0KPiA+ID4gPiBUYWJsZSBJRDrCoMKgwqDC
oMKgIDg0NTQxNDQNCj4gPiA+ID4gTmFtZTrCoMKgwqDCoMKgwqDCoMKgwqAgZGVjYXBfdnhsYW5f
dGNwX3RhYmxlIEZpZWxkIElEwqDCoMKgwqDCoMKgIE5hbWUgTWF0Y2gNCj4gPiA+ID4gVHlwZcKg
wqDCoMKgIEJpdCBXaWR0aCBCeXRlIFdpZHRowqDCoMKgwqAgQnl0ZSBPcmRlcg0KPiA+ID4gPiAx
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdHVuX2lwX3NyY8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGV4YWN0wqDCoMKgwqDCoMKgwqDCoMKgIDMyDQo+ID4gPiA+IDTC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZXR3b3JrDQo+ID4gPiA+IDLCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB0dW5faXBfZHN0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgZXhhY3TCoMKgwqDCoMKgwqDCoMKgwqAgMzINCj4gPiA+ID4gNMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIG5ldHdvcmsNCj4gPiA+ID4gM8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHZuacKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
ZXhhY3TCoMKgIMKgwqDCoMKgwqDCoMKgMjQNCj4gPiA+ID4gM8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIG5ldHdvcmsNCj4gPiA+ID4gNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlwdjRf
c3JjwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4YWN0wqDCoMKg
wqDCoMKgwqDCoMKgIDMyDQo+ID4gPiA+IDTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZXR3
b3JrDQo+ID4gPiA+IDXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpcHY0X2RzdMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleGFjdMKgwqDCoMKgwqDCoMKgwqDC
oCAzMg0KPiA+ID4gPiA0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0d29yaw0KPiA+ID4g
PiA2wqDCoMKgwqAgwqDCoMKgwqDCoMKgwqDCoMKgc3JjX3BvcnTCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXhhY3TCoMKgwqDCoMKgwqDCoMKgwqAgMTYNCj4gPiA+
ID4gMsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldHdvcmsNCj4gPiA+ID4gN8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGRzdF9wb3J0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIGV4YWN0wqDCoMKgwqDCoMKgwqDCoMKgIDE2DQo+ID4gPiA+IDLCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBuZXR3b3JrIFNwZWMgSUTCoMKgwqDCoMKgwqDCoCBOYW1lDQo+
ID4gPiA+IDg1MTk3MTbCoMKgwqDCoMKgwqAgwqBkZWNhcF92eGxhbl9md2QNCj4gPiA+ID4gODUx
OTcxOMKgwqDCoMKgwqDCoMKgIGRlY2FwX3Z4bGFuX2RuYXRfZndkDQo+ID4gPiA+IDg1MTk3MjDC
oMKgwqDCoMKgwqDCoCBkZWNhcF92eGxhbl9zbmF0X2Z3ZA0KPiA+ID4gPiA4NTE5Njk1wqDCoMKg
wqDCoMKgwqAgc2V0X2V4Y2VwdGlvbg0KPiA+ID4gPg0KPiA+ID4gPiBBbmQgdGhlIGhpbnQgb2Yg
YWN0aW9uIHNwZWMgImRlY2FwX3Z4bGFuX2Z3ZCIgYXMgYmVsb3c6DQo+ID4gPiA+DQo+ID4gPiA+
IFNwZWMgSUQ6wqDCoMKgwqDCoMKgIDg1MTk3MTYNCj4gPiA+ID4gTmFtZTrCoMKgwqDCoMKgwqDC
oMKgwqAgZGVjYXBfdnhsYW5fZndkDQo+ID4gPiA+IEZpZWxkIElEwqDCoMKgwqDCoMKgIE5hbWXC
oMKgwqDCoMKgwqAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBCaXQgV2lk
dGjCoMKgwqDCoMKgIEJ5dGUNCj4gPiA+ID4gV2lkdGggQnl0ZSBPcmRlcg0KPiA+ID4gPiAxwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydF9pZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDMywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQgaG9zdA0KPiA+
ID4gPg0KPiA+ID4gPiBQbGVhc2Ugbm90ZSB0aGF0IGRpZmZlcmVudCBjb21waWxlcnMgbWF5IGFz
c2lnbiBkaWZmZXJlbnQgSURzLg0KPiA+ID4gPg0KPiA+ID4gPiBCZWxvdyBpcyBhbiBleGFtcGxl
IG9mIGhvdyB0byBwcm9ncmFtIGEgcnVsZSB1c2luZyB0aGUgUDQgcnVudGltZQ0KPiA+ID4gPiBB
UEkgaW4gSlNPTiBmb3JtYXQuIFRoaXMgcnVsZSBtYXRjaGVzIGZpZWxkcyBhbmQgZGlyZWN0cyBw
YWNrZXRzIHRvIHBvcnQgNS4NCj4gPiA+ID4NCj4gPiA+ID4gew0KPiA+ID4gPiDCoMKgwqAgInR5
cGUiOiAxLMKgIC8vSU5TRVJUDQo+ID4gPiA+IMKgwqDCoCAiZW50aXR5Ijogew0KPiA+ID4gPiDC
oMKgwqDCoMKgwqDCoCAidGFibGVfZW50cnkiOiB7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgInRhYmxlX2lkIjogODQ1NDE0NCwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAibWF0Y2giOiBbDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7ICJm
aWVsZF9pZCI6IDEsICJleGFjdCI6IHsgInZhbHVlIjogWzEwLCAwLCAwLCAxXQ0KPiA+ID4gPiB9
IH0swqDCoCAvLyBvdXRlciBzcmMgSVAgPQ0KPiA+ID4gPiAxMC4wLjAuMQ0KPiA+ID4gPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAiZmllbGRfaWQiOiAyLCAiZXhhY3QiOiB7ICJ2
YWx1ZSI6IFsxMCwgMCwgMCwgMl0NCj4gPiA+ID4gfSB9LMKgIC8vIG91dGVyIGRzdCBJUCA9DQo+
ID4gPiA+IDEwLjAuMC4yDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7
ICJmaWVsZF9pZCI6IDMsICJleGFjdCI6IHsgInZhbHVlIjogWzAsIDAsIDEwXSB9DQo+ID4gPiA+
IH0sIC8vwqAgdm5pID0gMTAsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB7ICJmaWVsZF9pZCI6IDQsICJleGFjdCI6IHsgInZhbHVlIjogWzE5MiwgMCwgMCwNCj4gPiA+
ID4gMV0gfSB9LCAvLyBpbm5lciBzcmMgSVAgPQ0KPiA+ID4gPiAxOTIuMC4wLjENCj4gPiA+ID4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsiZmllbGRfaWQiOiA1LCAiZXhhY3QiOiB7
ICJ2YWx1ZSI6IFsxOTIsIDAsIDAsIDJdDQo+ID4gPiA+IH0gfSwgLy8gaW5uZXIgZHN0IElQID0N
Cj4gPiA+ID4gMTkyLjAuMC4yDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
wqB7ImZpZWxkX2lkIjogNiwgImV4YWN0IjogeyAidmFsdWUiOiBbMCwgMjAwXSB9IH0sDQo+ID4g
PiA+IC8vIHRjcCBzcmMgcG9ydCA9IDIwMA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgeyJmaWVsZF9pZCI6IDcsICJleGFjdCI6IHsgInZhbHVlIjogWzAsIDIwMV0gfSB9
LA0KPiA+ID4gPiAvLyB0Y3AgZHN0IHBvcnQgPSAyMDENCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBdLA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJhY3Rpb24iOiB7DQo+
ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiYWN0aW9uIjogew0KPiA+ID4g
PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiYWN0aW9uX2lkIjogODUx
OTcxNiwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInBh
cmFtcyI6IFsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB7ICJwYXJhbV9pZCI6IDEsICJ2YWx1ZSI6IFs1LCAwLCAwLCAwXSB9DQo+ID4gPiA+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0NCj4gPiA+ID4gwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB9LA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4uLg0KPiA+ID4gPiDCoMKgwqDC
oMKgwqDCoCB9DQo+ID4gPiA+IMKgwqDCoCB9wqDCoMKgIC4uLg0KPiA+ID4gPiB9DQo+ID4gPiA+
DQo+ID4gPiA+IFBsZWFzZSBub3RlIHRoYXQgdGhpcyBpcyBvbmx5IGEgcGFydCBvZiB0aGUgZnVs
bCBjb21tYW5kLiBGb3IgbW9yZQ0KPiA+ID4gPiBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRv
IHRoZSBwNHJ1bnRpbWUucHJvdG9bMl0NCj4gPiA+ID4NCj4gPiA+ID4gMS4gaHR0cHM6Ly9wNC5v
cmcvcDQtc3BlYy9wNHJ1bnRpbWUvbWFpbi9QNFJ1bnRpbWUtU3BlYy5odG1sDQo+ID4gPiA+IDIu
DQo+ID4gPiA+DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vcDRsYW5nL3A0cnVudGltZS9i
bG9iL21haW4vcHJvdG8vcDQvdjEvcDRydW50aW1lLg0KPiA+ID4gcA0KPiA+ID4gcg0KPiA+ID4g
PiBvdG8NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmsgeW91IGZvciB5b3VyIGF0dGVudGlvbiB0byB0
aGlzIG1hdHRlci4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBJIHRoaW5rIHRoYXQgd2Ugc2hvdWxk
IHNjaGVkdWxlIHNvbWUgbWVldGluZyB0byBzZWUgaG93IG11Y2ggZ2FwcyB3ZQ0KPiA+ID4gcmVh
bGx5IGhhdmUgYmV0d2VlbiB0aGUgcnRlX2Zsb3cgYW5kDQo+ID4gPiBQNCBhbmQgaG93IHdlIGNh
biBpbXByb3ZlIHRoZSBydGVfZmxvdyB0byBhbGxvdyB0aGUgYmVzdCBleHBlcmllbmNlLg0KPiA+
DQo+ID4gU291bmQgYSBnb29kIGlkZWEhDQo+ID4gPg0KPiA+ID4gPiBSZWdhcmRzDQo+ID4gPiA+
IFFpDQo=