From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B8E53A034F; Mon, 30 Aug 2021 12:13:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4ADFE4115C; Mon, 30 Aug 2021 12:13:41 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (unknown [40.107.237.61]) by mails.dpdk.org (Postfix) with ESMTP id DD9A74115A for ; Mon, 30 Aug 2021 12:13:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=idUPG1AW8BdgFhtokne83v2kXyrkDf8dIVPC+29uGDkYVz3uak0cvIMA+88/RKMNVDYU/0FlNtscjRaKXdJZM8MoaYJITaEW1m46pts1Rg4hvHmfOrCCA3u/87D5QCaQll/u9B/QlKqkGufb2pOOySzt/K7S8HwDTPvsJSySDBCg/DWvitp9VzZbN1mS40naSIB6fQyuBQP20TfaFxuooyje6DgK0RxkJVbjF5MT7Bndl7lyqXkb99NnKMRb5sGMdFo2YQtRUvOVFlrNSDwgmyOkdFNziiTp0PVBPflkB5CfMRYzWBp2HW2ih9cpiNDACWRnjOMahaVl2+6RGP7wiA== 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-SenderADCheck; bh=3iqr+902Bqo3BzHbzFQM40oq4Cv4Op6rT2w8mvZzZw4=; b=grs/3VJW8qUbmf5idH36zJObn0EtRfZ2EEPo/cTMAS+xOmiB0NdjyhDF/MJcJbs9fxE8+MbnY7O5YaIJswBCYbt+HlPjkvVTEtpDWEMSe8nq9TkZYblUcHr09wK3udt/MwpOT+zcUy3SuHs/o3rMiyc9IdwgZOMjxjIZL54To7OzgPM6tAIYUBcvh262EqQEXRrFY0ZYrq8wHuA1Re/pX3EKmwy+QOI4oZC9WQ8KyxD81yYASbFP9qz4Xf+DIyOkZUDs5k4fv2IUA+nugjIcj76EutCiMhW5TKUAFJHP1Rea0naTrCfvXw3ro7XhAiD/B4u8lGLosz6FsQhYKuBpjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3iqr+902Bqo3BzHbzFQM40oq4Cv4Op6rT2w8mvZzZw4=; b=rfrkM4LEvQObuSX1i6a9l/HU5uGq1KsORlY3Z8tjIT10zUNqdVPcErIEKV4HHnR5iTyPoBQUaiF5cePX4QHbIclgGzWigDwlVIlsLEM+patPTmYqDBYNP7AaFnW1xyJF8WbvdsUVR9pi6qHZ/9Mx66LKqPd8oxz0rRFa4s3xNPA2ViM9XD+RoCp5xBvxfix9FtHKw+yQcHD6MDhxLWoC5cDJRXP4rtXlGdesD6dvC1y6HLWirmkgOFZnXsgjn/Vio1zsT41nF5XfvltwcJyTmyez6Lt510TOgC+xeQYAcHohXtxbHYppoRU6IkVfKfzykefTnyS0OnYWNRYNlDVcBA== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5168.namprd12.prod.outlook.com (2603:10b6:5:397::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug 2021 10:13:37 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b%9]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 10:13:37 +0000 From: "Xueming(Steven) Li" To: Jerin Jacob CC: dpdk-dev , Ferruh Yigit , NBU-Contact-Thomas Monjalon , Andrew Rybchenko Thread-Topic: [PATCH v2 01/15] ethdev: introduce shared Rx queue Thread-Index: AQHXjrnd1i7/1bMsyEmpVz6Kp88Yyqt3eGmAgAAdm6CAAED4gIABKgpggAFXLwCAAGszAIALAnAAgANDfUCAAtzEAIAACjpg Date: Mon, 30 Aug 2021 10:13:36 +0000 Message-ID: References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210811140418.393264-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 09e9fcc1-3da3-4e84-f0b2-08d96b9ed4f1 x-ms-traffictypediagnostic: DM4PR12MB5168: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QoEh53JIJ4J85jFVTL3uFm9m2oTZxvb8edZx0Dow5s6w46NlgyEVqTMEHwT0cN7w2gR01pv8yThIythBBYRurhp8nYneOgKrdBzTaIOWokbgWrMoU1y+Uhvhieb9E6MeuYy8h3v2OIVW2zg+W+Gs7IJ9vsGRrMFb/Zb6ZLzppR1thkwEn3Z30fA4K/pZw1HqozPCkbsudMiw2XDu11OT3+TPzYKD8SPjbWSIKO8KtOhoYgk+sOIa6/ss+fmyYDsqvjIDyIGv1qvfmQoW9QbMuM3Z2EspEZG0/lw4MeKNR4VOMNnvxU1agumoZa/aOp0X3nlgBKT+mku47BtbO+haOlbvYpMTATcrk1tuzxcSYCGoR4pH9UddNEWTYOBfajyEb6zLk3I7aYuZg1Ezv9SEn/6ITBYI9ZHntn4rIFbSmzelNYosnxl5prtLI7QA2/RQxjna3U4K20Bc33M1d75jBaFl/FsDvw8rssc+eZ0dhLMRokGJrtlqB/eNNvI1VNKQ/jwSa0JJhpqURiTUpAT7hrQwq0rRCY2rYRQTs/45jjs/70FIm2v1nUjSVBtyoAaArGDkA9HHgvHSW3Gea+kBs+S5t6XoPsCRb0lTjqjPHD4eX2KIJ74FY+QRI5ch7CfgaQbrWEo0zjmCZqtXj8xoRgrVK8soWrbohZNBF/E5lVCeZM2xmQ/FqoWwOZigJxsfp3c5KwCFFnlYOPu3sLBfM+IRbN7IRcOjp51HQ4iQCV1MHQ4Nf1V0KcJT5qvHxApUwKC829l2WS3FX2a+MU9EItklCKQ6+ufuo0Ij6ijNbj0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(8936002)(4326008)(2906002)(38100700002)(71200400001)(30864003)(33656002)(54906003)(8676002)(966005)(5660300002)(316002)(66556008)(66476007)(7696005)(52536014)(122000001)(478600001)(38070700005)(66446008)(55016002)(83380400001)(53546011)(64756008)(186003)(26005)(76116006)(6916009)(66946007)(86362001)(9686003)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0dMNjBDVzEvOE9iOEFLTURPR3IweWlVRmFYaTdVVzlXdHNkM250a0tpbG5T?= =?utf-8?B?cVhpSTQvV0IrYzNLWEpnQUFRT25KRGhCcmx4NE1TNnZwejdmUGY5bys2M2dJ?= =?utf-8?B?ZWlWdE95U2dUUmFvU0VVa3pxOG9MbE5pdEFOeHBmRnB1R3p0dTVzM0ZlNkpG?= =?utf-8?B?WWF3ajQzcVBCU0VSbm9nMy9Ua1NHZy9Xa0QvRkRmMW5VNG9CWE4wSjB3UmhH?= =?utf-8?B?d1kzTjlCdG9lTVdmeEJrajhOUjRET2pYVTJ0eTFwSDByVDlEdmhtMmh0VUx6?= =?utf-8?B?aUROMnVKZHBYSnErVzdaR1FMNVVtcGZTZ2tiUTNFT3p5VnIyZEhwTjB3ZkNs?= =?utf-8?B?bHE4R3NZZlM1YUZXQ2ZaRWZodGEwUHptUEJNK3h1a1B3RGxseTVxL0VhdlJw?= =?utf-8?B?MkVmS0ViU25wcE8xZ3k1b0JMcFRXUWVXVGFpamRESHdUa0FVMjdVcnYxNWxw?= =?utf-8?B?UVorY0VURnV3cVdNY0xSNENqWWdHSGt1R1Y0ZXpYZmsxalBzb3ArekJOdEtC?= =?utf-8?B?NWRSS2hTVlRvS0E5eGRNV2VheXgwZnRGMU1JSjRoOXd6eDUrZWY3NzA1dENN?= =?utf-8?B?aHNzMWpPRVRpMllINXVQQ2ptOHNURjQ2bVZRRG90RFdsNnhFWDlneFBFQUth?= =?utf-8?B?OEFYSnI3NXBwTjRrMTRNNWNvMWRia1RWTjNjOTZmb0kwOUcyc09CWlJvRGht?= =?utf-8?B?K05NWk1DL0xjN1Vqc3I4VTZ3dWtjQXU0RnBSaEh0THk2MU8vM1F3MVZwa1Ni?= =?utf-8?B?djU3YUJ4Zmh4Y05SN3QxcStQei9WUTVCWjRzNXpuNS9qcVMvWVBPLzVISU5x?= =?utf-8?B?Q0dWNXk3Nmx6SlZBYm5pcDFDYWpPTmFQd2x4azNwY3gvUzZxYzRQTzFtblVz?= =?utf-8?B?NGhlSkxjUE9XSjk2L0NQMk9tNUsyZFlmZ0NmeDNUbGVGQnFJYzNaMXpKeEM5?= =?utf-8?B?MXFxd0liR1FFdFczYS9vSU1PTk1JeTN3ZUVNRCt4TTVyckk1UlVtSnVkMzNB?= =?utf-8?B?TWtDNmYyS3lubkw1SzdVdlcyNGtLVFFkVXJVY3VXMnREeThmZ2FxVzdDUnM3?= =?utf-8?B?WllBQm00MGI4MVdVL1R0djhjb3BzSmNCTktidVg1RERBVlJEaEtQSHUwZG0y?= =?utf-8?B?emN2RXUxSDFNU0piZy85SWV1TVJ2TzE5OTRSQnZuTlV2T2xmV3BidmlHaEI1?= =?utf-8?B?YWFOVjJ2cTVSL1ZWWmZvMGp1SUFmWVR6SVBEMDhUN2lkTm43RWI5aytlYXlT?= =?utf-8?B?bGxTUGwwTmhQQmZ4aXJZM1lrSThFU1Jsbm4wZDF4cS9yV2tQR1V3clR2OFZq?= =?utf-8?B?NTJmb2kyakJEMytnSU1VTFBZaUtlQStlTisvSGo2MitRRjRYMXRSU2FZOTFm?= =?utf-8?B?Vi9SbitHMytmaEpaYnFocnpEY1drVnU1elVrUjhhZjZOZjc5TmFmQWF2RUpD?= =?utf-8?B?UG9lWXBlSEJRZm1UUUhNYk9MNCtHbWY5M0xaQ2ZqRmhoQWREdjdqZFVBMUxv?= =?utf-8?B?OWRKa2c0NlNYS2l2b3BLcHdRT0lSQ2JwYUprVnBkLzBvRU1IcFNDWkpVek5U?= =?utf-8?B?NmxTN2MvOFZneW1sWEZVYXlyNkxhQStha2JnNDlFVTBuZWdZRVdGQ0p6Rmov?= =?utf-8?B?aERNcnE4UUhTV2tRMmRkaWZQQ3RoUGtYK0JySkFURjRkQ0hvZ1ZCa1EzU2xw?= =?utf-8?B?ZTFtSUlla0VUZEdNdDJnd1JPekx4TEl4RUVOenJVdFAxdTNHazFGWGxwS2lR?= =?utf-8?Q?zdSw44ZynlHnc57NjOa2TvgK+UIDAFQ0L5pCT5f?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09e9fcc1-3da3-4e84-f0b2-08d96b9ed4f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2021 10:13:37.0111 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2M+QJHRMd6ucvaFCyXU20q5sRjqVjWwfOBWoYOZZMSvqN16rPhIFc6ngobwwF1Djx3Vix7MxA5C1TRurmqQ+vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5168 Subject: Re: [dpdk-dev] [PATCH v2 01/15] ethdev: introduce shared Rx queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMzAsIDIwMjEgNToz MSBQTQ0KPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiBD YzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGlu dGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5l dD47DQo+IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0K PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDAxLzE1XSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQg UnggcXVldWUNCj4gDQo+IE9uIFNhdCwgQXVnIDI4LCAyMDIxIGF0IDc6NDYgUE0gWHVlbWluZyhT dGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPiB3cm90ZToNCj4gPg0KPiA+DQo+ID4NCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8 amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAyNiwg MjAyMSA3OjU4IFBNDQo+ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlk aWEuY29tPg0KPiA+ID4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBGZXJydWggWWlnaXQg PGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiA+ID4gTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4gPGFuZHJl dy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiAw MS8xNV0gZXRoZGV2OiBpbnRyb2R1Y2Ugc2hhcmVkIFJ4IHF1ZXVlDQo+ID4gPg0KPiA+ID4gT24g VGh1LCBBdWcgMTksIDIwMjEgYXQgNTozOSBQTSBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmds QG52aWRpYS5jb20+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogSmVyaW4gSmFjb2Ig PGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgQXVndXN0 IDE5LCAyMDIxIDE6MjcgUE0NCj4gPiA+ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVt aW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsg RmVycnVoIFlpZ2l0DQo+ID4gPiA+ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBOQlUtQ29u dGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPiA+ID4gPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEFu ZHJldyBSeWJjaGVua28NCj4gPiA+ID4gPiA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ DQo+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiAwMS8xNV0gZXRoZGV2OiBpbnRyb2R1 Y2Ugc2hhcmVkIFJ4IHF1ZXVlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBXZWQsIEF1ZyAxOCwg MjAyMSBhdCA0OjQ0IFBNIFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4g d3JvdGU6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+IEZyb206IEplcmlu IEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNk YXksIEF1Z3VzdCAxNywgMjAyMSAxMToxMiBQTQ0KPiA+ID4gPiA+ID4gPiBUbzogWHVlbWluZyhT dGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiBDYzogZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47IEZlcnJ1aCBZaWdpdA0KPiA+ID4gPiA+ID4gPiA8ZmVycnVoLnlp Z2l0QGludGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+ID4gPiA+ID4g PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPiA+ID4gPiA+ID4g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBS ZTogW1BBVENIIHYyIDAxLzE1XSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQgUngNCj4gPiA+ID4g PiA+ID4gcXVldWUNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT24gVHVlLCBBdWcgMTcs IDIwMjEgYXQgNTowMSBQTSBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+ IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4g PiA+ID4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4g PiA+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgMTcsIDIwMjEgNTozMyBQTQ0KPiA+ ID4gPiA+ID4gPiA+ID4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNv bT4NCj4gPiA+ID4gPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRmVycnVo IFlpZ2l0DQo+ID4gPiA+ID4gPiA+ID4gPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IE5CVS1D b250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+ID4gPiA+ID4gPiA+ID4gPHRob21hc0Btb25qYWxv bi5uZXQ+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA+ID4gPiA+ID4gPiA8YW5kcmV3LnJ5YmNo ZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENI IHYyIDAxLzE1XSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQNCj4gPiA+ID4gPiA+ID4gPiA+IFJ4 IHF1ZXVlDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gT24gV2VkLCBBdWcg MTEsIDIwMjEgYXQgNzozNCBQTSBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPiB3cm90 ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSW4gY3VycmVudCBE UERLIGZyYW1ld29yaywgZWFjaCBSWCBxdWV1ZSBpcyBwcmUtbG9hZGVkDQo+ID4gPiA+ID4gPiA+ ID4gPiA+IHdpdGggbWJ1ZnMgZm9yIGluY29taW5nIHBhY2tldHMuIFdoZW4gbnVtYmVyIG9mDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IHJlcHJlc2VudG9ycyBzY2FsZSBvdXQgaW4gYSBzd2l0Y2ggZG9t YWluLCB0aGUgbWVtb3J5DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGNvbnN1bXB0aW9uIGJlY2FtZSBz aWduaWZpY2FudC4gTW9zdCBpbXBvcnRhbnQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHBvbGxpbmcg YWxsIHBvcnRzIGxlYWRzIHRvIGhpZ2ggY2FjaGUgbWlzcywgaGlnaCBsYXRlbmN5IGFuZCBsb3cg dGhyb3VnaHB1dC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gVGhp cyBwYXRjaCBpbnRyb2R1Y2VzIHNoYXJlZCBSWCBxdWV1ZS4gUG9ydHMgd2l0aCBzYW1lDQo+ID4g PiA+ID4gPiA+ID4gPiA+IGNvbmZpZ3VyYXRpb24gaW4gYSBzd2l0Y2ggZG9tYWluIGNvdWxkIHNo YXJlIFJYIHF1ZXVlIHNldCBieSBzcGVjaWZ5aW5nIHNoYXJpbmcgZ3JvdXAuDQo+ID4gPiA+ID4g PiA+ID4gPiA+IFBvbGxpbmcgYW55IHF1ZXVlIHVzaW5nIHNhbWUgc2hhcmVkIFJYIHF1ZXVlIHJl Y2VpdmVzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHBhY2tldHMgZnJvbSBhbGwgbWVtYmVyIHBvcnRz LiBTb3VyY2UgcG9ydCBpcyBpZGVudGlmaWVkIGJ5IG1idWYtPnBvcnQuDQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFBvcnQgcXVldWUgbnVtYmVyIGluIGEgc2hhcmVk IGdyb3VwIHNob3VsZCBiZSBpZGVudGljYWwuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFF1ZXVlIGlu ZGV4IGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDE6MSBtYXBwZWQgaW4gc2hhcmVkIGdyb3VwLg0K PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTaGFyZSBSWCBxdWV1ZSBt dXN0IGJlIHBvbGxlZCBvbiBzaW5nbGUgdGhyZWFkIG9yIGNvcmUuDQo+ID4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0ZWQgYnkg Z3JvdXAgSUQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IENjOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gUnggcXVldWUgb2JqZWN0IGNvdWxk IGJlIHVzZWQgYXMgc2hhcmVkIFJ4IHF1ZXVlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG9iamVjdCwg aXQncyBpbXBvcnRhbnQgdG8gY2xlYXIgYWxsIHF1ZXVlIGNvbnRyb2wgY2FsbGJhY2sgYXBpIHRo YXQgdXNpbmcgcXVldWUgb2JqZWN0Og0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBodHRwczovL21haWxzLmRwZGsub3JnL2FyY2hpdmVzL2Rldi8yMDIxLUp1bHkvMjE1 NTc0LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdG1sDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+ID4gPiAgI3VuZGVmIFJURV9SWF9PRkZMT0FEX0JJVDJTVFIgZGlmZiAtLWdpdA0K PiA+ID4gPiA+ID4gPiA+ID4gPiBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oIGIvbGliL2V0aGRl di9ydGVfZXRoZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW5kZXggZDJiMjdjMzUxZi4uYTU3 OGM5ZGI5ZCAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVf ZXRoZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2 LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTEwNDcsNiArMTA0Nyw3IEBAIHN0cnVjdCBydGVf ZXRoX3J4Y29uZiB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDhfdCByeF9kcm9w X2VuOyAvKio8IERyb3AgcGFja2V0cyBpZiBubyBkZXNjcmlwdG9ycyBhcmUgYXZhaWxhYmxlLiAq Lw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ4X3QgcnhfZGVmZXJyZWRfc3RhcnQ7 IC8qKjwgRG8gbm90IHN0YXJ0IHF1ZXVlIHdpdGggcnRlX2V0aF9kZXZfc3RhcnQoKS4gKi8NCj4g PiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50MTZfdCByeF9uc2VnOyAvKio8IE51bWJlciBv ZiBkZXNjcmlwdGlvbnMgaW4gcnhfc2VnIGFycmF5Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAqLw0K PiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgIHVpbnQzMl90IHNoYXJlZF9ncm91cDsgLyoqPCBT aGFyZWQgcG9ydCBncm91cA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArIGluZGV4IGluIHN3aXRjaCBk b21haW4uICovDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gTm90IHRvIGFi bGUgdG8gc2VlIGFueW9uZSBzZXR0aW5nL2NyZWF0aW5nIHRoaXMgZ3JvdXAgSUQgdGVzdCBhcHBs aWNhdGlvbi4NCj4gPiA+ID4gPiA+ID4gPiA+IEhvdyB0aGlzIGdyb3VwIGlzIGNyZWF0ZWQ/DQo+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBOaWNlIGNhdGNoLCB0aGUgaW5pdGlhbCB0 ZXN0cG1kIHZlcnNpb24gb25seSBzdXBwb3J0IG9uZSBkZWZhdWx0IGdyb3VwKDApLg0KPiA+ID4g PiA+ID4gPiA+IEFsbCBwb3J0cyB0aGF0IHN1cHBvcnRzIHNoYXJlZC1yeHEgYXNzaWduZWQgaW4g c2FtZSBncm91cC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFdlIHNob3VsZCBi ZSBhYmxlIHRvIGNoYW5nZSAiLS1yeHEtc2hhcmVkIiB0byAiLS1yeHEtc2hhcmVkLWdyb3VwIg0K PiA+ID4gPiA+ID4gPiA+IHRvIHN1cHBvcnQgZ3JvdXAgb3RoZXIgdGhhbiBkZWZhdWx0Lg0KPiA+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gVG8gc3VwcG9ydCBtb3JlIGdyb3VwcyBzaW11 bHRhbmVvdXNseSwgbmVlZCB0byBjb25zaWRlcg0KPiA+ID4gPiA+ID4gPiA+IHRlc3RwbWQgZm9y d2FyZGluZyBzdHJlYW0gY29yZSBhc3NpZ25tZW50LCBhbGwgc3RyZWFtcyBpbiBzYW1lIGdyb3Vw IG5lZWQgdG8gc3RheSBvbiBzYW1lIGNvcmUuDQo+ID4gPiA+ID4gPiA+ID4gSXQncyBwb3NzaWJs ZSB0byBzcGVjaWZ5IGhvdyBtYW55IHBvcnRzIHRvIGluY3JlYXNlIGdyb3VwDQo+ID4gPiA+ID4g PiA+ID4gbnVtYmVyLCBidXQgdXNlciBtdXN0IHNjaGVkdWxlIHN0cmVhbSBhZmZpbml0eSBjYXJl ZnVsbHkgLSBlcnJvciBwcm9uZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IE9u IHRoZSBvdGhlciBoYW5kLCBvbmUgZ3JvdXAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIG1vc3QN Cj4gPiA+ID4gPiA+ID4gPiBjdXN0b21lciwgdGhlIGRvdWJ0IGlzIHdoZXRoZXIgaXQgdmFsdWFi bGUgdG8gc3VwcG9ydCBtdWx0aXBsZSBncm91cHMgdGVzdC4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gQWNrLiBPbmUgZ3JvdXAgaXMgZW5vdWdoIGluIHRlc3RwbWQuDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IE15IHF1ZXN0aW9uIHdhcyBtb3JlIGFib3V0IHdobyBhbmQgaG93 IHRoaXMgZ3JvdXAgaXMNCj4gPiA+ID4gPiA+ID4gY3JlYXRlZCwgU2hvdWxkIG4ndCB3ZSBuZWVk IEFQSSB0byBjcmVhdGUgc2hhcmVkX2dyb3VwPyBJZg0KPiA+ID4gPiA+ID4gPiB3ZSBkbyB0aGUg Zm9sbG93aW5nLCBhdCBsZWFzdCwgSSBjYW4gdGhpbmssIGhvdyBpdCBjYW4gYmUNCj4gPiA+ID4g PiA+ID4gaW1wbGVtZW50ZWQgaW4gU1cNCj4gPiA+IG9yIG90aGVyIEhXLg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiAtIENyZWF0ZSBhZ2dyZWdhdGlvbiBxdWV1ZSBncm91cA0KPiA+ID4g PiA+ID4gPiAtIEF0dGFjaCBtdWx0aXBsZSAgUnggcXVldWVzIHRvIHRoZSBhZ2dyZWdhdGlvbiBx dWV1ZSBncm91cA0KPiA+ID4gPiA+ID4gPiAtIFB1bGwgdGhlIHBhY2tldHMgZnJvbSB0aGUgcXVl dWUgZ3JvdXAod2hpY2ggaW50ZXJuYWxseQ0KPiA+ID4gPiA+ID4gPiBmZXRjaCBmcm9tIHRoZSBS eCBxdWV1ZXMgX2F0dGFjaGVkXykNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gRG9lcyB0 aGUgYWJvdmUga2luZCBvZiBzZXF1ZW5jZSwgYnJlYWsgeW91ciByZXByZXNlbnRvciB1c2UgY2Fz ZT8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTZWVtcyBtb3JlIGxpa2UgYSBzZXQgb2YgRUFM IHdyYXBwZXIuIEN1cnJlbnQgQVBJIHRyaWVzIHRvIG1pbmltaXplIHRoZSBhcHBsaWNhdGlvbiBl ZmZvcnRzIHRvIGFkYXB0IHNoYXJlZC1yeHEuDQo+ID4gPiA+ID4gPiAtIHN0ZXAgMSwgbm90IHN1 cmUgaG93IGltcG9ydGFudCBpdCBpcyB0byBjcmVhdGUgZ3JvdXAgd2l0aCBBUEksIGluIHJ0ZV9m bG93LCBncm91cCBpcyBjcmVhdGVkIG9uIGRlbWFuZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdo aWNoIHJ0ZV9mbG93IHBhdHRlcm4vYWN0aW9uIGZvciB0aGlzPw0KPiA+ID4gPg0KPiA+ID4gPiBO byBydGVfZmxvdyBmb3IgdGhpcywganVzdCByZWNhbGxlZCB0aGF0IHRoZSBncm91cCBpbiBydGVf ZmxvdyBpcyBub3QgY3JlYXRlZCBhbG9uZyB3aXRoIGZsb3csIG5vdCB2aWEgYXBpLg0KPiA+ID4g PiBJIGRvbuKAmXQgc2VlIGFueXRoaW5nIGVsc2UgdG8gY3JlYXRlIGFsb25nIHdpdGggZ3JvdXAs IGp1c3QgZG91YmxlIHdoZXRoZXIgaXQgdmFsdWFibGUgdG8gaW50cm9kdWNlIGEgbmV3IGFwaSBz ZXQgdG8gbWFuYWdlIGdyb3VwLg0KPiA+ID4NCj4gPiA+IFNlZSBiZWxvdy4NCj4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gc3RlcCAyLCBjdXJyZW50bHksIHRoZSBhdHRh Y2hpbmcgaXMgZG9uZSBpbiBydGVfZXRoX3J4X3F1ZXVlX3NldHVwLCBzcGVjaWZ5IG9mZmxvYWQg YW5kIGdyb3VwIGluIHJ4X2NvbmYgc3RydWN0Lg0KPiA+ID4gPiA+ID4gLSBzdGVwIDMsIGRlZmlu ZSBhIGRlZGljYXRlIGFwaSB0byByZWNlaXZlIHBhY2tldHMgZnJvbSBzaGFyZWQgcnhxPyBMb29r cyBjbGVhciB0byByZWNlaXZlIHBhY2tldHMgZnJvbSBzaGFyZWQgcnhxLg0KPiA+ID4gPiA+ID4g ICBjdXJyZW50bHksIHJ4cSBvYmplY3RzIGluIHNoYXJlIGdyb3VwIGlzIHNhbWUgLSB0aGUgc2hh cmVkIHJ4cSwgc28gdGhlIGV0aCBjYWxsYmFjayBldGhfcnhfYnVyc3RfdChyeHFfb2JqLCBtYnVm cywgbikgY291bGQNCj4gPiA+ID4gPiA+ICAgYmUgdXNlZCB0byByZWNlaXZlIHBhY2tldHMgZnJv bSBhbnkgcG9ydHMgaW4gZ3JvdXAsIG5vcm1hbGx5IHRoZSBmaXJzdCBwb3J0KFBGKSBpbiBncm91 cC4NCj4gPiA+ID4gPiA+ICAgQW4gYWx0ZXJuYXRpdmUgd2F5IGlzIGRlZmluaW5nIGEgdmRldiB3 aXRoIHNhbWUgcXVldWUgbnVtYmVyIGFuZCBjb3B5IHJ4cSBvYmplY3RzIHdpbGwgbWFrZSB0aGUg dmRldiBhIHByb3h5IG9mDQo+ID4gPiA+ID4gPiAgIHRoZSBzaGFyZWQgcnhxIGdyb3VwIC0gdGhp cyBjb3VsZCBiZSBhbiBoZWxwZXIgQVBJLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEFueXdh eSB0aGUgd3JhcHBlciBkb2Vzbid0IGJyZWFrIHVzZSBjYXNlLCBzdGVwIDMgYXBpIGlzIG1vcmUg Y2xlYXIsIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdG8gaW1wbGVtZW50IGVmZmljaWVudGx5Lg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gQXJlIHlvdSBkb2luZyB0aGlzIGZlYXR1cmUgYmFzZWQgb24g YW55IEhXIHN1cHBvcnQgb3IgaXQganVzdA0KPiA+ID4gPiA+IHB1cmUgU1cgdGhpbmcsIElmIGl0 IGlzIFNXLCBJdCBpcyBiZXR0ZXIgdG8gaGF2ZSBqdXN0IG5ldyB2ZGV2DQo+ID4gPiA+ID4gZm9y IGxpa2UgZHJpdmVycy9uZXQvYm9uZGluZy8uIFRoaXMgd2UgY2FuIGhlbHAgYWdncmVnYXRlDQo+ ID4gPiA+ID4gbXVsdGlwbGUgUnhxIGFjcm9zcw0KPiA+ID4gdGhlIG11bHRpcGxlIHBvcnRzIG9m IHNhbWUgdGhlIGRyaXZlci4NCj4gPiA+ID4NCj4gPiA+ID4gQmFzZWQgb24gSFcgc3VwcG9ydC4N Cj4gPiA+DQo+ID4gPiBJbiBNYXJ2ZWwgSFcsIHdlIGRvIHNvbWUgc3VwcG9ydCwgSSB3aWxsIG91 dGxpbmUgaGVyZSBhbmQgc29tZSBxdWVyaWVzIG9uIHRoaXMuDQo+ID4gPg0KPiA+ID4gIyBXZSBu ZWVkIHRvIGNyZWF0ZSBzb21lIG5ldyBIVyBzdHJ1Y3R1cmUgZm9yIGFnZ3JlZ2F0aW9uICMgQ29u bmVjdA0KPiA+ID4gZWFjaCBSeHEgdG8gdGhlIG5ldyBIVyBzdHJ1Y3R1cmUgZm9yIGFnZ3JlZ2F0 aW9uICMgVXNlIHJ4X2J1cnN0IGZyb20gdGhlIG5ldyBIVyBzdHJ1Y3R1cmUuDQo+ID4gPg0KPiA+ ID4gQ291bGQgeW91IG91dGxpbmUgeW91ciBIVyBzdXBwb3J0Pw0KPiA+ID4NCj4gPiA+IEFsc28s IEkgYW0gbm90IGFibGUgdG8gdW5kZXJzdGFuZCBob3cgdGhpcyB3aWxsIHJlZHVjZSB0aGUgbWVt b3J5LA0KPiA+ID4gYXRsZWFzdCBpbiBvdXIgSFcgbmVlZCBjcmVhdGluZyBtb3JlIG1lbW9yeSBu b3cgdG8gZGVhbCB0aGlzIGFzIHdlIG5lZWQgdG8gZGVhbCBuZXcgSFcgc3RydWN0dXJlLg0KPiA+ ID4NCj4gPiA+IEhvdyBpcyBpbiB5b3VyIEhXIGl0IHJlZHVjZXMgdGhlIG1lbW9yeT8gQWxzbywg aWYgbWVtb3J5IGlzIHRoZSBjb25zdHJhaW50LCB3aHkgTk9UIHJlZHVjZSB0aGUgbnVtYmVyIG9m IHF1ZXVlcy4NCj4gPiA+DQo+ID4NCj4gPiBHbGFkIHRvIGtub3cgdGhhdCBNYXJ2ZWwgaXMgd29y a2luZyBvbiB0aGlzLCB3aGF0J3MgdGhlIHN0YXR1cyBvZiBkcml2ZXIgaW1wbGVtZW50YXRpb24/ DQo+ID4NCj4gPiBJbiBteSBQTUQgaW1wbGVtZW50YXRpb24sIGl0J3MgdmVyeSBzaW1pbGFyLCBh IG5ldyBIVyBvYmplY3Qgc2hhcmVkIG1lbW9yeSBwb29sIGlzIGNyZWF0ZWQgdG8gcmVwbGFjZSBw ZXIgcnhxIG1lbW9yeSBwb29sLg0KPiA+IExlZ2FjeSByeHEgZmVlZCBxdWV1ZSB3aXRoIGFsbG9j YXRlZCBtYnVmcyBhcyBudW1iZXIgb2YgZGVzY3JpcHRvcnMsDQo+ID4gbm93IHNoYXJlZCByeHFz IHNoYXJlIHRoZSBzYW1lIHBvb2wsIG5vIG5lZWQgdG8gc3VwcGx5IG1idWZzIGZvciBlYWNoIHJ4 cSwganVzdCBmZWVkIHRoZSBzaGFyZWQgcnhxLg0KPiA+DQo+ID4gU28gdGhlIG1lbW9yeSBzYXZp bmcgcmVmbGVjdHMgdG8gbWJ1ZiBwZXIgcnhxLCBldmVuIDEwMDAgcmVwcmVzZW50b3JzIGluIHNo YXJlZCByeHEgZ3JvdXAsIHRoZSBtYnVmcyBjb25zdW1lZCBpcyBvbmUgcnhxLg0KPiA+IEluIG90 aGVyIHdvcmRzLCBuZXcgbWVtYmVycyBpbiBzaGFyZWQgcnhxIGRvZXNu4oCZdCBhbGxvY2F0ZSBu ZXcgbWJ1ZnMgdG8gZmVlZCByeHEsIGp1c3Qgc2hhcmUgd2l0aCBleGlzdGluZyBzaGFyZWQgcnhx KEhXDQo+IG1lbXBvb2wpLg0KPiA+IFRoZSBtZW1vcnkgcmVxdWlyZWQgdG8gc2V0dXAgZWFjaCBy eHEgZG9lc24ndCBjaGFuZ2UgdG9vIG11Y2gsIGFncmVlLg0KPiANCj4gV2UgY2FuIGFzayB0aGUg YXBwbGljYXRpb24gdG8gY29uZmlndXJlIHRoZSBzYW1lIG1lbXBvb2wgZm9yIG11bHRpcGxlIFJR IHRvby4gUklnaHQ/IElmIHRoZSBzYXZpbmcgaXMgYmFzZWQgb24gc2hhcmluZyB0aGUgbWVtcG9v bA0KPiB3aXRoIG11bHRpcGxlIFJRcy4NCg0KWWVzLCB1c2luZyB0aGUgc2FtZSBtZW1wb29sIGlz IHRoZSBmdW5kYW1lbnRhbC4gVGhlIGRpZmZlcmVuY2UgaXMgaG93IG1hbnkgbWJ1ZnMgYWxsb2Nh dGUgZnJvbSBwb29sLg0KQXNzdW1pbmcgNTEyIGRlc2NyaXB0b3JzIHBlcmYgcnhxIGFuZCA0IHJ4 cXMgcGVyIGRldmljZSwgaXQncyAyLjNLKG1idWYpICogNTEyICogNCA9IDQuNk0gLyBkZXZpY2UN ClRvIHN1cHBvcnQgMTAwMCByZXByZXNlbnRvcnMsIG5lZWQgYSA0LjZHIG1lbXBvb2wgOikNCkZv ciBzaGFyZWQgcnhxLCBvbmx5IDQuNk0ob25lIGRldmljZSkgbWJ1ZnMgYWxsb2NhdGUgZnJvbSBt ZW1wb29sLCB0aGV5IGFyZSBzaGFyZWQgZm9yIGFsbCByeHFzIGluIGdyb3VwLg0KDQo+IA0KPiA+ DQo+ID4gPiAjIEFsc28sIEkgd2FzIHRoaW5raW5nLCBvbmUgd2F5IHRvIGF2b2lkIHRoZSBmYXN0 IHBhdGggb3IgQUJJIGNoYW5nZSB3b3VsZCBsaWtlLg0KPiA+ID4NCj4gPiA+ICMgRHJpdmVyIElu aXRpYWxpemVzIG9uZSBtb3JlIGV0aF9kZXZfb3BzIGluIGRyaXZlciBhcyBhZ2dyZWdhdG9yDQo+ ID4gPiBldGhkZXYgIyBkZXZhcmdzIG9mIG5ldyBldGhkZXYgb3Igc3BlY2lmaWMgQVBJIGxpa2UN Cj4gPiA+IGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kLmggY2FuIHRha2UgdGhlIGFy Z3VtZW50IChwb3J0LCBxdWV1ZSkgdHVwbGVzIHdoaWNoIG5lZWRzIHRvIGFnZ3JlZ2F0ZSBieSBu ZXcgZXRoZGV2IHBvcnQgIw0KPiBObyBjaGFuZ2UgaW4gZmFzdHBhdGggb3IgQUJJIGlzIHJlcXVp cmVkIGluIHRoaXMgbW9kZWwuDQo+ID4gPg0KPiA+DQo+ID4gVGhpcyBjb3VsZCBiZSBhbiBvcHRp b24gdG8gYWNjZXNzIHNoYXJlZCByeHEuIFdoYXQncyB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgbmV3 IFBNRD8NCj4gDQo+IE5vIEFCSSBhbmQgZmFzdCBjaGFuZ2UgYXJlIHJlcXVpcmVkLg0KPiANCj4g PiBXaGF0J3MgdGhlIGRpZmZlcmVuY2Ugb2YgUE1EIGRyaXZlciB0byBjcmVhdGUgdGhlIG5ldyBk ZXZpY2U/DQo+ID4NCj4gPiBJcyBpdCBpbXBvcnRhbnQgaW4geW91ciBpbXBsZW1lbnRhdGlvbj8g RG9lcyBpdCB3b3JrIHdpdGggZXhpc3RpbmcgcnhfYnVyc3QgYXBpPw0KPiANCj4gWWVzIC4gSXQg d2lsbCB3b3JrIHdpdGggdGhlIGV4aXN0aW5nIHJ4X2J1cnN0IEFQSS4NCj4gDQo+ID4NCj4gPiA+ DQo+ID4gPg0KPiA+ID4gPiBNb3N0IHVzZXIgbWlnaHQgdXNlcyBQRiBpbiBncm91cCBhcyB0aGUg YW5jaG9yIHBvcnQgdG8gcnggYnVyc3QsIGN1cnJlbnQgZGVmaW5pdGlvbiBzaG91bGQgYmUgZWFz eSBmb3IgdGhlbSB0byBtaWdyYXRlLg0KPiA+ID4gPiBidXQgc29tZSB1c2VyIG1pZ2h0IHByZWZl ciBncm91cGluZyBzb21lIGhvdA0KPiA+ID4gPiBwbHVnL3VucGx1Z2dlZHJlcHJlc2VudG9ycywg RUFMIGNvdWxkIHByb3ZpZGUgd3JhcHBlcnMsIHVzZXJzIGNvdWxkIGRvIHRoYXQgZWl0aGVyIGR1 ZSB0byB0aGUgc3RyYXRlZ3kgbm90IGNvbXBsZXggZW5vdWdoLg0KPiA+ID4gQW55d2F5LCB3ZWxj b21lIGFueSBzdWdnZXN0aW9uLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAg ICAgICAgIC8qKg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAqIFBlci1xdWV1ZSBSeCBv ZmZsb2FkcyB0byBiZSBzZXQgdXNpbmcgREVWX1JYX09GRkxPQURfKiBmbGFncy4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gICAgICAgICAgKiBPbmx5IG9mZmxvYWRzIHNldCBvbiByeF9xdWV1ZV9vZmZs b2FkX2NhcGENCj4gPiA+ID4gPiA+ID4gPiA+ID4gb3Igcnhfb2ZmbG9hZF9jYXBhIEBAIC0xMzcz LDYgKzEzNzQsMTIgQEAgc3RydWN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHJ0ZV9ldGhfY29uZiB7 ICNkZWZpbmUgREVWX1JYX09GRkxPQURfT1VURVJfVURQX0NLU1VNICAweDAwMDQwMDAwDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIICAgICAgICAg ICAgICAgIDB4MDAwODAwMDANCj4gPiA+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgUlRFX0VUSF9S WF9PRkZMT0FEX0JVRkZFUl9TUExJVCAweDAwMTAwMDAwDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsv KioNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAqIFJ4IHF1ZXVlIGlzIHNoYXJlZCBhbW9uZyBwb3J0 cyBpbiBzYW1lIHN3aXRjaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArZG9tYWluIHRvIHNhdmUgbWVt b3J5LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICogYXZvaWQgcG9sbGluZyBlYWNoIHBvcnQuIEFu eSBwb3J0IGluIGdyb3VwIGNhbiBiZSB1c2VkIHRvIHJlY2VpdmUgcGFja2V0cy4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gKyAqIFJlYWwgc291cmNlIHBvcnQgbnVtYmVyIHNhdmVkIGluIG1idWYtPnBv cnQgZmllbGQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4g KyNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FEX1NIQVJFRF9SWFEgICAweDAwMjAwMDAwDQo+ID4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIERFVl9SWF9PRkZM T0FEX0NIRUNLU1VNIChERVZfUlhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwgXA0KPiA+ID4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0NCj4g PiA+ID4gPiA+ID4gPiA+ID4gfCBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4g PiA+ID4gPiA+IDIuMjUuMQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0K