From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6214EA0526; Tue, 10 Nov 2020 11:58:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5F017F64; Tue, 10 Nov 2020 11:58:53 +0100 (CET) Received: from nat-hk.nvidia.com (nat-hk.nvidia.com [203.18.50.4]) by dpdk.org (Postfix) with ESMTP id 0A5242AB for ; Tue, 10 Nov 2020 11:58:50 +0100 (CET) Received: from HKMAIL104.nvidia.com (Not Verified[10.18.92.100]) by nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Tue, 10 Nov 2020 18:58:48 +0800 Received: from HKMAIL104.nvidia.com (10.18.16.13) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 10 Nov 2020 10:58:42 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 10 Nov 2020 10:58:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VGX3unUarclra3MI5qWO+e2Ed51AmdmSMBhW+S3BHRIFadF1GCrH15FviN1JQ5W90bK5DNZxBuMDY2p6j5yg5EcUkBrHpAqaewBalYYok4Qv+6lO0+Z/Oassly7/kF6Wjl94JXYVvFZB1NqS4ZKaX9BEAo7uW7PoWRNp3QiqQaPxHbkhedTkWTG+fROVyRW+3IK2tZnu0UDVr79fqndP+HtKCtSfanUOFDDYqYM9+mWRTEEkOVW5NkBKbUULwcPc2Ut4jIAEG9aynyi9HW2zwa+RHJZJxY1IRrNBxrfY6qGnZzv2GE6/4Ln85oX/sPdr2gRNcI/4kaKCmMdaDpgUFg== 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=fpOStBJhQ+ZDfVtYcjocsRXNBBS4U42qk4U5i3unH2E=; b=gU7HM9iMFGJDgd/iAbjIYWcMi1yc7Hm6cKFdX56gh9XsiT70/KcxfvceHukJAV2nzHRtgik6m0t3uXa0VgqOvuoCyNlBxusm+fzB0JqXhq4xua6d9Noyv+23ILw5JOyPWZZfG8ZRhVoB0rotMHUsRXQfAhWGxwsF4Xm2/4W6rtgIKg6UF7nt31/mem9xlcgyeoYvjUJzQ1G8sRaXDZ2IPUVpaTexLlpmfFBqk4Dtxomp0LZ5c7u2sgYe5mPmj1vtXBh2zHjuBgWw7YBQcZHvtRedwppi4NBAgmEH5lfMjiEXb0wFT1Kqc+HI5l9ymrrvnoIb+Ds7PruOVf0/JSboNw== 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 Received: from MW2PR12MB2492.namprd12.prod.outlook.com (2603:10b6:907:8::19) by MWHPR1201MB0078.namprd12.prod.outlook.com (2603:10b6:301:56::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.27; Tue, 10 Nov 2020 10:58:38 +0000 Received: from MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::39f3:2b4b:6018:4b88]) by MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::39f3:2b4b:6018:4b88%7]) with mapi id 15.20.3541.025; Tue, 10 Nov 2020 10:58:38 +0000 From: Matan Azrad To: Ferruh Yigit , Ori Kam , Wenzhuo Lu , Beilei Xing , Bernard Iremonger CC: "dev@dpdk.org" Thread-Topic: [PATCH v2] app/testpmd: support age shared action context Thread-Index: AQHWs7tEmvX33MX4WkapEuIo1iY1jqm7IiuAgAHLB3CAAq97AIAAAtWQgAALhQCAAWTtgIAAFJkAgAAUqtA= Date: Tue, 10 Nov 2020 10:58:38 +0000 Message-ID: References: <1604252927-213452-1-git-send-email-matan@nvidia.com> <1604611973-64970-1-git-send-email-matan@nvidia.com> <970eeb8a-b18b-fc89-7659-02fa6020d19b@intel.com> <410fbc60-93f7-c810-3d2e-0fd2216f34a5@intel.com> <8859b571-ffb8-4dc5-d0c4-3dc455ac6a40@intel.com> In-Reply-To: <8859b571-ffb8-4dc5-d0c4-3dc455ac6a40@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [77.126.110.58] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ada5dec1-f5d5-49d2-3317-08d88567942b x-ms-traffictypediagnostic: MWHPR1201MB0078: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QSNNWXFPhcLTmaCMUU52dsECZdr/owy2LD5k3wXp/QxYpqtFCEyWEKDHC8ES76vKk+KVjqhulTjIDa3PO6DjRrTeW0C//iysH1wLPdG+jksQOrQboji34a2zxOz+u3rFf/FNMarofEU0kOgN7ih82k/GhmSDAvr/1SjEf7C6qCM9wMNvZwKrBei6f09nkr2XLnprVhLEtXohgxn4bUlG4ni/3H/Tcj6RsEGb23JsovmO1kEciv9SiJaXU1dLhvKGHrzz9SNnaW0hAnFMQVunN3hvdLegkB3dDLlgDUf6qlBrnIXqwE+oRx3GtW3xv/NUOQoQiRpu1TpD1tBGW2FpFg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB2492.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(396003)(366004)(376002)(346002)(53546011)(76116006)(26005)(478600001)(86362001)(2906002)(8676002)(8936002)(55016002)(4326008)(6506007)(186003)(66446008)(64756008)(66476007)(71200400001)(9686003)(66556008)(33656002)(7696005)(66946007)(83380400001)(52536014)(110136005)(5660300002)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Br8v4j6zEDX7/37d55sHHojNSyBXpEIrFp16svEGkft/mnVXr1HJjXwNzrXly/MAC3oQUBfnegkY39+org6KNmwh4h0NaKEULBnen63sIKoDlyV+zZEqtyT49IUx5siDfwKrwZ9s56idjJXXDjxKfPPnvL0h293ZGm5dKH3A2PO7enQmIhl428MVtRPh8tOR+1qJRyPC7isPDJ+U9El+6i6c/KmLPc7xKwS5wjG1BAU8AaWVvXBkhKOp7aRLdwQbC8WOOwAvqIfhLUe/PixSgYfrhhrThehxE3CiOQpaIEiReAGNAbf1Mpk6cQDGkG7Ggz6oDFscT0/NL4ysLqlVLbBEOtVnXu7owsZs+CUfXnb7Px1i+ZlJ87fgEsdgqa2bD5NDMklyEnREC4ov3zLgF/oynRX0r/QZ8AeXEML0HIvsfrl/8+7oZTcmH3xbXCkMVF4qlNtDrFr5DWIx6EzjXlbZcShc2+96LA+M1AKBUYISvAcPst3Op6dztYgY00eldO9f3CpETt/klRwYiEqTFyicV/kVgBX7x9Ey/VTCJ41H+2izpJCg1+ObK+mv8vv9lERoAT/f9wxOO6/P0WEOTboJ0tdDwSZ3H/BvlfjHcW00oh0KgVf+PNynsmYmg+LR/vZKlGETzUUSC5LHh1iEdRgN+fv0t0xidrVe9JmXSrlc8F6wR+NARkLBU8nJFi8ZJHf1WQclSGMUukc+GMy7JbaTvVtIX+pyIYqrZYQBusIv/PhH758Uzcry0uYsNar6NJ1ioqiYYWXWo3R2sbgMATy3MZeAWV7Fq1H+hh8yKC12knFtLKgTYkdaE8ODLp5hB9PwKoAo2djxtFyS5h4K2pcEPhUKzk8Wwo+E3nNg5S3Mjb6qfeX++EbTwr7jigJZ7i6iS6XEUXHCdvcoVY2slQ== 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: MW2PR12MB2492.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ada5dec1-f5d5-49d2-3317-08d88567942b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2020 10:58:38.6360 (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: tEkoLqB/pkU4rqkXaIx+ulztaBaUACyosk0s1U79gic3rHwP8O2hkcnWjQbD9T0p07zcp2LFWcqspxNsvXtQ5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0078 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1605005928; bh=fpOStBJhQ+ZDfVtYcjocsRXNBBS4U42qk4U5i3unH2E=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ms-exchange-transport-forked: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:Content-Type: Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=Jz9jPFazSldcbrSW80uhEA/TNBgxGXgu0I87NFuZBMK6gwg4suo8oLu69j1WOmQ7q 8k9ENwXH+ZZsp91AThLRK/zoA9LkQ9ZDXlDDVqK51mhPJug7Qb6fbVP3RcfymbQagF xzm95nKzRY1JqNBzwxlpc3dfV5is/6zJCn64LnImOz7NVV4Sz+mfYRTCv2vAvN2JQm WAetHkOxFZFRXRX1Tj59cl1rMQT6XjfdUjzDJYAeCmNgwNNlX4AH3k4OoFnqK6pcXd ayicF6qcDyxmb1cRepF3m4aquZgbiUoDgQwY8PD+7GI2xyQgX6OiSh9FDokWOa3Iff OskSG4+yoweWA== Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: support age shared action context X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" DQoNCkZyb206IEZlcnJ1aCBZaWdpdA0KPiBPbiAxMS8xMC8yMDIwIDg6MzAgQU0sIE9yaSBLYW0g d3JvdGU6DQo+ID4gSGksDQo+ID4gRmVycnVoIGFuZCBNYXRhbiwNCj4gPg0KPiA+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdp dEBpbnRlbC5jb20+DQo+ID4+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgOSwgMjAyMCAxOjEzIFBN DQo+ID4+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFdlbnpodW8gTHUNCj4g Pj4gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgQmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVs LmNvbT47IEJlcm5hcmQNCj4gPj4gSXJlbW9uZ2VyIDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5j b20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+PiBDYzogZGV2QGRwZGsub3JnDQo+ ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIGFwcC90ZXN0cG1kOiBzdXBwb3J0IGFnZSBzaGFy ZWQgYWN0aW9uDQo+ID4+IGNvbnRleHQNCj4gPj4NCj4gPj4gT24gMTEvOS8yMDIwIDEwOjM4IEFN LCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gRnJvbTogRmVycnVoIFlp Z2l0DQo+ID4+Pj4gT24gMTEvNy8yMDIwIDU6MzAgUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+ Pj4+PiBIaSBGZXJydWgNCj4gPj4+Pj4NCj4gPj4+Pj4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4+ Pj4+PiBPbiAxMS81LzIwMjAgOTozMiBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+Pj4+Pj4g V2hlbiBhbiBhZ2UgYWN0aW9uIGJlY29tZXMgYWdlZC1vdXQgdGhlIHJ0ZV9mbG93X2dldF9hZ2Vk X2Zsb3dzDQo+ID4+Pj4+Pj4gc2hvdWxkIHJldHVybiB0aGUgYWN0aW9uIGNvbnRleHQgc3VwcGxp ZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24NCj4gc3RydWN0dXJlLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+ Pj4gSW4gY2FzZSB0aGUgYWdlIGFjdGlvbiBjcmVhdGVkIGJ5IHRoZSBzaGFyZWQgYWN0aW9uIEFQ SSwgdGhlDQo+ID4+Pj4+Pj4gc2hhcmVkIGFjdGlvbiBjb250ZXh0IG9mIHRoZSBUZXN0cG1kIGFw cGxpY2F0aW9uIHdhcyBub3Qgc2V0Lg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gSW4gYWRkaXRpb24s IHRoZSBhcHBsaWNhdGlvbiBoYW5kbGVyIG9mIHRoZSBjb250ZXh0cyByZXR1cm5lZCBieQ0KPiA+ Pj4+Pj4+IHRoZSBydGVfZmxvd19nZXRfYWdlZF9mbG93cyBBUEkgZGlkbid0IGNvbnNpZGVyIHRo ZSBmYWN0IHRoYXQNCj4gPj4+Pj4+PiB0aGUgYWN0aW9uIGNvdWxkIGJlIHNldCBieSB0aGUgc2hh cmVkIGFjdGlvbiBBUEkgYW5kIGNvbnNpZGVyZWQNCj4gPj4+Pj4+PiBpdCBhcyByZWd1bGFyIGZs b3cgY29udGV4dC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFRoaXMgY2F1c2VkIGEgY3Jhc2ggaW4g VGVzdHBtZCB3aGVuIHRoZSBjb250ZXh0IGlzIHBhcnNlZC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IFRoaXMgcGF0Y2ggc2V0IGNvbnRleHQgdHlwZSBpbiB0aGUgZmxvdyBhbmQgc2hhcmVkIGFjdGlv bg0KPiA+Pj4+Pj4+IGNvbnRleHQgYW5kIHVzZXMgaXQgdG8gcGFyc2UgdGhlIGFnZWQtb3V0IGNv bnRleHRzIGNvcnJlY3RseS4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1h dGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPg0KPiA+Pj4+Pj4+IEFja2VkLWJ5OiBEZWtlbCBQ ZWxlZCA8ZGVrZWxwQG52aWRpYS5jb20+DQo+ID4+Pj4+Pj4gLS0tDQo+ID4+Pj4+Pj4gICAgICBh cHAvdGVzdC1wbWQvY29uZmlnLmMgIHwgMTE5DQo+ID4+Pj4+Pj4gKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0NCj4gPj4+Pj4+IC0tLS0tLS0tDQo+ID4+Pj4+Pj4gICAg ICBhcHAvdGVzdC1wbWQvdGVzdHBtZC5oIHwgICA1ICsrKw0KPiA+Pj4+Pj4+ICAgICAgMiBmaWxl cyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkNCj4gPj4+Pj4+Pg0K PiA+Pj4+Pj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY29uZmlnLmMgYi9hcHAvdGVzdC1w bWQvY29uZmlnLmMgaW5kZXgNCj4gPj4+Pj4+PiA3NTVkMWRmLi4wMGE3ZGQxIDEwMDY0NA0KPiA+ Pj4+Pj4+IC0tLSBhL2FwcC90ZXN0LXBtZC9jb25maWcuYw0KPiA+Pj4+Pj4+ICsrKyBiL2FwcC90 ZXN0LXBtZC9jb25maWcuYw0KPiA+Pj4+Pj4+IEBAIC0xNzYzLDYgKzE3NjMsMzMgQEAgdm9pZCBw b3J0X2Zsb3dfdHVubmVsX2NyZWF0ZShwb3J0aWRfdA0KPiA+Pj4+Pj4+IHBvcnRfaWQsDQo+ID4+ Pj4+PiBjb25zdCBzdHJ1Y3QgdHVubmVsX29wcyAqb3BzKQ0KPiA+Pj4+Pj4+ICAgICAgICAgIH0N Cj4gPj4+Pj4+PiAgICAgIH0NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ICsjZGVmaW5lIEFHRV9BQ1RJ T05fVFlQRV9NQVNLIDB4M3UNCj4gPj4+Pj4+PiArDQo+ID4+Pj4+Pj4gK3N0YXRpYyB2b2lkDQo+ ID4+Pj4+Pj4gK3NldF9hZ2VfYWN0aW9uX2NvbnRleHQodm9pZCAqKmN0eCwgZW51bSBhY3Rpb25f YWdlX2NvbnRleHRfdHlwZQ0KPiA+Pj4+Pj4+ICt0eXBlLCB2b2lkICpvYmopIHsNCj4gPj4+Pj4+ PiArICAgICB1aW50cHRyX3QgdmFsdWUgPSAodWludHB0cl90KW9iajsNCj4gPj4+Pj4+PiArDQo+ ID4+Pj4+Pj4gKyAgICAgLyoNCj4gPj4+Pj4+PiArICAgICAgKiBvYmogaXMgYWxsb2NhdGVkIGJ5 IG1hbGxvY1xjYWxsb2Mgd2hpY2ggbXVzdCByZXR1cm4gYW4gYWRkcmVzcw0KPiA+Pj4+Pj4+ICsg ICAgICAqIGFsaWduZWQgdG8gOC4NCj4gPj4+Pj4+PiArICAgICAgKiBVc2UgdGhlIGxhc3QgMiBi aXRzIGZvciB0aGUgYWdlIGNvbnRleHQgdHlwZS4NCj4gPj4+Pj4+PiArICAgICAgKi8NCj4gPj4+ Pj4+PiArICAgICB2YWx1ZSB8PSAodWludHB0cl90KXR5cGUgJiBBR0VfQUNUSU9OX1RZUEVfTUFT SzsNCj4gPj4+Pj4+PiArICAgICAqY3R4ID0gKHZvaWQgKil2YWx1ZTsNCj4gPj4+Pj4+DQo+ID4+ Pj4+PiBUaGFua3MgTWF0YW4sIEkgdGhpbmsgdGhpcyBpcyBtdWNoIGNsZWFyLiBCdXQgSSB0aG91 Z2ggdGhlICdpZCcNCj4gPj4+Pj4+IHdpbGwgYmUgdXNlZCwgbm90IHRoZSBwb2ludGVyIGl0c2Vs ZiwgbGlrZSAidWludHB0cl90IHZhbHVlID0gaWQgfCAodHlwZSAqDQo+IE1BU0spIg0KPiA+Pj4+ Pj4gT1IgdGhlIGFkZHJlc3MgcG9pbnRlciBhbmQgdHlwZSBzZWVtcyBlcnJvciBwcm9uZSwgYWx0 aG91Z2ggeW91DQo+ID4+Pj4+PiBjb21tZW50IHlvdSByZWx5IG9uIHRoZSBhbGlnbm1lbnQuDQo+ ID4+Pj4+DQo+ID4+Pj4+IEkgdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm4sIHRoYXQncyB3aHkgdGhl IGNvbnRleHQgdmFsdWUgbWFuYWdlbWVudA0KPiA+Pj4+PiBpcw0KPiA+Pj4+IHdyYXBwZWQgd2Vs bCBieSBkZWRpY2F0ZWQgZnVuY3Rpb25zIGZvciBzZXQgYW5kIHBhcnNlLg0KPiA+Pj4+PiBBbHNv IGl0J3MgdmVyeSBvcHRpbWl6ZWQgd2F5IGZvciBtZW1vcnkgYW5kIHRpbWUgZXNwZWNpYWxseSB3 aGVuDQo+ID4+Pj4+IHdlIGFyZQ0KPiA+Pj4+IHRhbGtpbmcgYWJvdXQgYmlnIHNjYWxlKHNlZSBi ZWxvdykuDQo+ID4+Pj4+DQo+ID4+Pj4+PiBUaGUgdGVzdHBtZCB1c2FnZSBhbHNvIGtpbmQgb2Yg c2FtcGxlIHVzYWdlIGZvciB0aGUgYXBwbGljYXRpb25zLA0KPiA+Pj4+Pj4gSSBhbSBmb3Igbm90 IHN1Z2dlc3RpbmcgdGhpcyBmb3IgdGhlIHVzZXIgYXBwbGljYXRpb25zLg0KPiA+Pj4+Pg0KPiA+ Pj4+Pg0KPiA+Pj4+Pj4gUmVzZXJ2aW5nIHRoZSB0d28gYml0IG9mIHRoZSAnaWQnIHJlZHVjZXMg dGhlIHVzYWJsZSAnaWQnIHRvIDMwDQo+ID4+Pj4+PiBiaXRzLCBidXQgaXQgbG9va3Mgc3RpbGwg YmlnIGVub3VnaCwgd2hhdCBkbyB5b3UgdGhpbms/DQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+ IFllcywgaXQgaXMgYmlnIGVub3VnaC4NCj4gPj4+Pj4gVGhlIHByb2JsZW0gd2l0aCB0aGUgaWQg aXMgdGhlIGxhdGVuY3kgdG8gZ2V0IHRoZSBwb2ludGVyIGZyb20gaXQuDQo+ID4+Pj4+IFNpbmNl IGJvdGggdGhlIGZsb3dzIGFuZCB0aGUgc2hhcmVkIGFjdGlvbnMgYXJlIHNhdmVkIGluIGEgbGlz dCB3ZQ0KPiA+Pj4+PiBuZWVkIHRvDQo+ID4+Pj4gdHJhdmVyc2UgYWxsIHRoZSBsaXN0IGluIG9y ZGVyIHRvIGdldCB0aGUgcG9pbnRlciBhbmQgdGhlIG5lZWRlZA0KPiBpbmZvcm1hdGlvbi4NCj4g Pj4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFVzaW5nICdpZCcgd2FzIHlvdXIgaWRlYS4NCj4gPj4+DQo+ ID4+PiBZZXMsIE5vdyBJIHN1Z2dlc3QgZXZlbiBiZXR0ZXIgb25lIPCfmIoNCj4gPj4+DQo+ID4+ Pj4NCj4gPj4+PiBPSywgd2hhdCBhYm91dCBiYWNrIHRvIHByZXZpb3VzIHN1Z2dlc3Rpb24sIGFk ZGluZyBhIG5ldyBkYXRhDQo+ID4+Pj4gc3RydWN0IGZvcg0KPiA+PiBib3RoDQo+ID4+Pj4gcG9p bnRlcnMgYW5kIHR5cGU/DQo+ID4+Pj4gWW91ciBjb25jZXJuIHRoZXJlIHdhcyB0aGUgbWVtb3J5 IGNvbnN1bXB0aW9uLCB5ZXMgYWx0aG91Z2ggaXQgd2lsbA0KPiA+PiByZXF1aXJlDQo+ID4+Pj4g bW9yZSBtZW1vcnkgdGhlIGFtb3VudCBpcyBub3QgdW5yZWFzb25hYmxlLg0KPiA+Pj4NCj4gPj4+ IFRoaW5rIGFib3V0IGJpZyBzY2FsZS4NCj4gPj4+IEl0IGlzIG5vdCBvbmx5IG1lbW9yeSAobWFs bG9jIG92ZXJoZWFkICsgfjE2QikgYnV0IGFsc28gdGltZQ0KPiA+PiBjb25zdW1pbmcobWFsbG9j KS4NCj4gPj4+DQo+ID4+PiBJZiB3ZSBoYXZlIHNvbHV0aW9uIHRoYXQgbm8gbmVlZCBtYWxsb2Mg YW5kIGNhbiBkbyB0aGluZ3MgZmFzdGVyLA0KPiA+Pj4gd2h5IG5vdCB0bw0KPiA+PiB0YWtlIGl0 Pw0KPiA+Pj4gSSBkb24ndCBzZWUgaGVyZSBhIGJ1ZyAtIG1hbGxvYyBhbGlnbm1lbnQgaXMgYSBr bm93biB0b3BpYyAtIGl0DQo+ID4+PiBzaG91bGQgYmUgYXQNCj4gPj4gbGVhc3QgdGhlIHNpemUg b2YgdGhlIGJpZ2dlc3QgcHJpbWl0aXZlIHR5cGUuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBJIGNhbiBz ZWUgdGhlcmUgaXMgYSBjb3N0LCBlaXRoZXIgd2l0aCBtYWxsb2MvZnJlZSwgb3IgdHJhdmVyc2Ug dGhlDQo+ID4+IGxpc3QgdG8gZmluZCAnaWQnLCBidXQgdXBkYXRpbmcgbWVtb3J5IHBvaW50ZXIg dGhhdCB5b3Ugd2lsbCB1c2UNCj4gPj4gbGF0ZXIgdG8gY2FycnkgbW9yZSBtZXRhZGF0YSBsb29r cyBoYWNrIGFuZCBlcnJvciBwcm9uZSB0byBtZS4NCj4gPj4NCj4gPj4gT25lIGNhbiBkbyB0aGVz ZSBraW5kIG9mIHRyaWNrcyBvbiB0aGVpciBhcHBsaWNhdGlvbiwgYnV0IGZvciB0ZXN0cG1kDQo+ ID4+IHdoaWNoIGlzIGZvciB0ZXN0aW5nIGFuZCByZWZlcmVuY2UgSSBkaWRuJ3QgbGlrZSB0aGUg aWRlYS4NCj4gPg0KPiA+IEkga25vdyBJJ20ganVtcGluZyBhIGJpdCBsYXRlLCBJIGhhdmUgYSBk aWZmZXJlbnQgc3VnZ2VzdGlvbi4NCj4gPiBXaGF0IGFib3V0IGNyZWF0aW5nIG5ldyBzdHJ1Y3QN Cj4gPiBTdHJ1Y3QgY29udGV4dF90eXBlIHsNCj4gPiAgICAgICB1aW50OF90IHR5cGU7IC8qKjwg aG9sZHMgdGhlIHR5cGUgb2YgdGhlIGNvbnRleHQgY2FuIGJlIGVudW0uICovDQo+ID4gfSBUaGlz IHN0cnVjdCBzaG91bGQgYmUgYWRkZWQgdG8gYm90aCBzaGFyZWQgY29udGV4dCBhbmQgZmxvdy4N Cj4gPiBXaGVuIGFkZGluZyBjb250ZXh0IHRvIHRoZSBhZ2luZyBhY3Rpb24gd2UgYWRkIHRoZSBw b2ludGVyIHRvIHRoaXMgc3RydWN0Lg0KPiA+DQo+ID4gVGhlbiB3aGVuIGdldHRpbmcgdGhlIGNv bnRleHQgcG9pbnRlciB3ZSBjYXN0IGl0IHRvIHN0cnVjdA0KPiA+IGNvbnRleHRfdHlwZSwgZ2V0 IHRoZSB2YWx1ZSwgYW5kIGJhc2VkIG9uIHRoZSB0eXBlIHdlIHVzZSBwYXJlbnRvZg0KPiA+IGZ1 bmN0aW9uIHRvIGdldCB0byB0aGUgcG9pbnRlciBvZiB0aGUgb3JpZ2luYWwgc3RydWN0dXJlLg0K PiA+DQo+ID4gVGhlIGFkdmFudGFnZXM6DQo+ID4gMS4gSnVzdCBhZGRpbmcgb25lIHVpbnQ4X3Qg dG8gZWFjaCBzdHJ1Y3QuIChub3Qgd2FzdGluZyBzcGFjZSkuDQo+ID4gMi4gVmVyeSBmYXN0IGxv b2t1cCBzaW5jZSB3ZSBqdXN0IGFkZCBpZiBvbiB0aGUgdHlwZSBhbmQgdGhlbiB1c2UNCj4gPiBw YXJlbnRvZi4NCj4gPiAzLiBObyBtYWpvciBjaGFuZ2VzIGluIHN0cnVjdHMuDQo+ID4gNC4gTm90 IGFuIGhhY2suDQo+ID4gNS4gc2F2ZSBleHRyYSBhbGxvY2F0aW9uLg0KPiA+IDYuIGNhbiBiZSBl eHBlbmRlZCB0byBzdXBwb3J0IGZ1dHVyZSB0eXBlcy4NCj4gPg0KPiA+IFdoYXQgZG8geW91IHRo aW5rPw0KPiA+DQo+IA0KPiBIaSBPcmksIE1hdGFuLA0KPiANCj4gTG9va3MgZ29vZCB0byBtZSwg dGhpcyBpcyBtb3JlIGxpa2UgZmlyc3QgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggYnV0IHdpdGggJ3Bh cmVudG9mJw0KPiB1c2FnZSBpdCBpcyBzYWZlciBJIHRoaW5rLg0KDQpPaywgd2lsbCBzZW5kIHYz IHNvb24uDQpUaGFua3MgRmVycnVoIGFuZCBPcmkNCg0K