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 9DB11A2EDB for ; Mon, 30 Sep 2019 10:09:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 96A50322C; Mon, 30 Sep 2019 10:09:14 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id A58112A6C for ; Mon, 30 Sep 2019 10:09:13 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x8U86ERf007831; Mon, 30 Sep 2019 01:09:12 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=hGhIppe49DGa8GU6CBoLqG6qQ3V9n+7sqyzSWxEoWi8=; b=GAqHA2F1I+ukQfCZFZGmwV9xngtSjhpqm7LL+XTRxhcWf6KdevRKYM69d9xV8/W5GSGh l6WN950gdBM9E2NbPNy7CGKI++vE28mlJxNtk8fq4LLQbOgEAgBcMQ2MPohP8x+B4hzy hrp1ovxEYGLcrUa/VRAO7ToQRuU+dEMMq9vbmtdBR1hiXwz6P5JirgJ1OzLDVcq1tByK XuAKm5kCeeyZq+2GOypO8E+O3rUbEwAN2RuwGpOsdttS7+U+PlbwWl4tN/b2E0gZqDBJ +b5U0V6GwRIbbe2+jvZ2HoGc+rfXJKMsjWuy4oWnq9clCguINzA3EAbwkozkciVtMIR0 ig== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2va71mdb3w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 30 Sep 2019 01:09:12 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 30 Sep 2019 01:09:10 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.53) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 30 Sep 2019 01:09:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TBi5HVjtKl1YMf7y+orpUtWG8EYx4DtssOYPe20zFxVsDpktwqIgCt1N2P5xsYq7sWxA0OpC1WwxRCUkikHY35PYZBnCQL4Lw6rAA9seUCvypdmravPszT4L8XDYwmVcLR8df6Feg+4KfzsJXiIdWztB/1Wiof1DIgVaIv3tL0+yikxlrZqQwNC9V/DZXYu1uqjJ31JVx8mayhIUK2uP90vqgiymkCybXq2YZf197zhnZffBf0UC/JBx6LYqEai6OZILkVrORqPEDVBH4Rdv4VtqW6knre8VeTpZH25JviFs1gACCMDKUDvvjwRJFHbkG45iXMkMXW/9SaXhPelzwQ== 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=hGhIppe49DGa8GU6CBoLqG6qQ3V9n+7sqyzSWxEoWi8=; b=PsRDXNj+YT9Fhxt53nstYeMTc4bTjPF/L9Ljim30nFDz+ZqAZVBLllr2FtZd6b1V+6WpsXH+VDP5h+vkaEyg9JwwdKimKwi0juyXkeY2XGT6+d1iex3th4X/GLI0n3jqjGWSj9wCnEevbXsGywc4FDQukAeW2j5jak1owNwXkQ4IdEvgCQECZPGTvV0yaptjpfVF93Xhrxg/Xw8TSORq1dLjnB4htGS5RSu41Wntq2Mxwqxto1T4VgrT0/g0fU1wkkxvV7mKIJsG2wa3kpGlp6facG3fLQ5sV1M/oZs3F9VoeYMXBBzOBYqHwYsxnKHt5kcQVeXRPknLNgWhjc8Kmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hGhIppe49DGa8GU6CBoLqG6qQ3V9n+7sqyzSWxEoWi8=; b=AkGejS2mol00+boCkNNjcF7oaJpJdVazagRvznAfY+kcX8Im16bOaOvT+Q2i+COVnDASlQsVYlb2a8m0dXlVlCOc31fUeJ0xBLmK2a2qwjU4vm3cxwqUAzGEKa306xITAZVZY+KCHmlSIemA1Ntb7Rq59DUaXFHu+M2Ye59hJDs= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.160) by DM6SPR01MB0061.namprd18.prod.outlook.com (20.178.224.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.26; Mon, 30 Sep 2019 08:09:07 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::15d1:f4cf:f510:8fa]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::15d1:f4cf:f510:8fa%4]) with mapi id 15.20.2305.017; Mon, 30 Sep 2019 08:09:07 +0000 From: Pavan Nikhilesh Bhagavatula To: Nipun Gupta , Jerin Jacob CC: Jerin Jacob Kollanukkaran , "bruce.richardson@intel.com" , Akhil Goyal , Marko Kovacevic , Ori Kam , Radu Nicolau , Tomasz Kantecki , Sunil Kumar Kori , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 08/10] examples/l2fwd-event: add eventdev main loop Thread-Index: AQHVd1m18TvNEI+qbEy+mjixUswtGqdD17IAgAAErmA= Date: Mon, 30 Sep 2019 08:09:07 +0000 Message-ID: References: <20190919101346.8832-1-pbhagavatula@marvell.com> <20190924094209.3827-1-pbhagavatula@marvell.com> <20190924094209.3827-9-pbhagavatula@marvell.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [122.171.79.240] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6ccca464-391d-4126-3cd9-08d7457d77cd x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DM6SPR01MB0061; x-ms-traffictypediagnostic: DM6SPR01MB0061: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 01762B0D64 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(136003)(39850400004)(346002)(376002)(13464003)(189003)(199004)(81156014)(316002)(6246003)(99286004)(5660300002)(9686003)(8676002)(33656002)(76176011)(7696005)(8936002)(6436002)(229853002)(52536014)(55016002)(4326008)(81166006)(74316002)(66476007)(66556008)(66446008)(64756008)(305945005)(7736002)(76116006)(66946007)(54906003)(110136005)(66066001)(71200400001)(71190400001)(26005)(25786009)(478600001)(14454004)(6116002)(14444005)(3846002)(186003)(2906002)(256004)(11346002)(476003)(486006)(86362001)(446003)(102836004)(53546011)(6506007)(60764002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6SPR01MB0061; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: DHmbj8+uIAjbI4KneiqyI/KgoG8PxmKfkR3o4OgPCSTNn+9mMzJhi4RuCjRdYzZKiyoySVkOzhs6K5QDc4OY5B56yiFeM2axwXUtYgYTM8jGGmVA9gy7GsQrblCSayLLw961j2/vybtvtCkFWd5l+HfWNqHmy9vfjRkwSsFE7jq7w2HuCR1upoPDAwJXqUyOO9s8c72PM3GybrOw3lnYNfp/QChRwBd4rVAthUCwlVmcse+CzGkIZOaJLTLbcRUd0IZx85UgOILw0As6naaiREySrdNSl1wsNLmStls4+38zY4a6UFGT90KTyrOR1TU3B9b3rQFRlQZ9AGS4lxZAyT3SQXGX4a4BF/w8Jvyo3CLU+BZE3hhZW+oROwix0bVh497msGqqjEdVL9WK6Lq2wNO9dELXJn7a8RjWPSU7Bb8= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 6ccca464-391d-4126-3cd9-08d7457d77cd X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2019 08:09:07.7323 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bfkktcCo6jjuYjBfFwQl6WO/XbILf+vJGrzi0IQDr/W/mj8H8xtr/FwJkPkcClm1zBvQSrYUsGt99XXnp28XY1nJlTa5DsBN8U4ZAvUYSH8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6SPR01MB0061 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-09-30_04:2019-09-25,2019-09-30 signatures=0 Subject: Re: [dpdk-dev] [PATCH v4 08/10] examples/l2fwd-event: add eventdev main loop 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" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IE5pcHVuIEd1cHRhIDxuaXB1 bi5ndXB0YUBueHAuY29tPg0KPlNlbnQ6IE1vbmRheSwgU2VwdGVtYmVyIDMwLCAyMDE5IDE6MTcg UE0NCj5UbzogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj5DYzogUGF2YW4g TmlraGlsZXNoIEJoYWdhdmF0dWxhIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+OyBKZXJpbg0K PkphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb207IEFraGlsIEdveWFsIDxha2hpbC5nb3lhbEBueHAuY29tPjsNCj5NYXJr byBLb3ZhY2V2aWMgPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBPcmkgS2FtDQo+PG9yaWth QG1lbGxhbm94LmNvbT47IFJhZHUgTmljb2xhdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47DQo+ VG9tYXN6IEthbnRlY2tpIDx0b21hc3oua2FudGVja2lAaW50ZWwuY29tPjsgU3VuaWwgS3VtYXIg S29yaQ0KPjxza29yaUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9yZw0KPlN1YmplY3Q6IFJFOiBb ZHBkay1kZXZdIFtQQVRDSCB2NCAwOC8xMF0gZXhhbXBsZXMvbDJmd2QtZXZlbnQ6IGFkZA0KPmV2 ZW50ZGV2IG1haW4gbG9vcA0KPg0KPg0KPg0KPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+PiBTZW50OiBN b25kYXksIFNlcHRlbWJlciAzMCwgMjAxOSAxMjowOCBQTQ0KPj4gVG86IE5pcHVuIEd1cHRhIDxu aXB1bi5ndXB0YUBueHAuY29tPg0KPj4gQ2M6IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8 cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgSmVyaW4NCj5KYWNvYg0KPj4gS29sbGFudWtrYXJh biA8amVyaW5qQG1hcnZlbGwuY29tPjsgYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207DQo+QWto aWwNCj4+IEdveWFsIDxha2hpbC5nb3lhbEBueHAuY29tPjsgTWFya28gS292YWNldmljDQo+PiA8 bWFya28ua292YWNldmljQGludGVsLmNvbT47IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47 DQo+UmFkdQ0KPj4gTmljb2xhdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFRvbWFzeiBLYW50 ZWNraQ0KPj4gPHRvbWFzei5rYW50ZWNraUBpbnRlbC5jb20+OyBTdW5pbCBLdW1hciBLb3JpDQo+ PHNrb3JpQG1hcnZlbGwuY29tPjsNCj4+IGRldkBkcGRrLm9yZw0KPj4gU3ViamVjdDogUmU6IFtk cGRrLWRldl0gW1BBVENIIHY0IDA4LzEwXSBleGFtcGxlcy9sMmZ3ZC1ldmVudDogYWRkDQo+PiBl dmVudGRldiBtYWluIGxvb3ANCj4+DQo+PiBPbiBNb24sIFNlcCAzMCwgMjAxOSBhdCAxMTowOCBB TSBOaXB1biBHdXB0YQ0KPjxuaXB1bi5ndXB0YUBueHAuY29tPg0KPj4gd3JvdGU6DQo+PiA+DQo+ PiA+DQo+PiA+DQo+PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+ID4gPiBGcm9t OiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4N Cj4+ID4gPiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciAyNywgMjAxOSA4OjA1IFBNDQo+PiA+ID4g VG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29tPjsgSmVyaW4gSmFjb2INCj5Lb2xs YW51a2thcmFuDQo+PiA+ID4gPGplcmluakBtYXJ2ZWxsLmNvbT47IGJydWNlLnJpY2hhcmRzb25A aW50ZWwuY29tOyBBa2hpbCBHb3lhbA0KPj4gPiA+IDxha2hpbC5nb3lhbEBueHAuY29tPjsgTWFy a28gS292YWNldmljDQo+PG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+Ow0KPj4gPiA+IE9yaSBL YW0gPG9yaWthQG1lbGxhbm94LmNvbT47IFJhZHUgTmljb2xhdQ0KPjxyYWR1Lm5pY29sYXVAaW50 ZWwuY29tPjsNCj4+ID4gPiBUb21hc3ogS2FudGVja2kgPHRvbWFzei5rYW50ZWNraUBpbnRlbC5j b20+OyBTdW5pbCBLdW1hciBLb3JpDQo+PiA+ID4gPHNrb3JpQG1hcnZlbGwuY29tPg0KPj4gPiA+ IENjOiBkZXZAZHBkay5vcmcNCj4+ID4gPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0gg djQgMDgvMTBdIGV4YW1wbGVzL2wyZndkLWV2ZW50Og0KPmFkZA0KPj4gPiA+IGV2ZW50ZGV2IG1h aW4gbG9vcA0KPj4gPiA+DQo+PiA+ID4gPj4NCj4+ID4gPiA+PiBGcm9tOiBQYXZhbiBOaWtoaWxl c2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4+ID4gPiA+Pg0KPj4gPiA+ID4+IEFkZCBl dmVudCBkZXYgbWFpbiBsb29wIGJhc2VkIG9uIGVuYWJsZWQgbDJmd2Qgb3B0aW9ucyBhbmQNCj4+ ID4gPiA+ZXZlbnRkZXYNCj4+ID4gPiA+PiBjYXBhYmlsaXRpZXMuDQo+PiA+ID4gPj4NCj4+ID4g PiA+PiBTaWduZWQtb2ZmLWJ5OiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxs LmNvbT4NCj4+ID4gPiA+PiAtLS0NCj4+ID4gPiA+DQo+PiA+ID4gPjxzbmlwPg0KPj4gPiA+ID4N Cj4+ID4gPiA+PiArICAgICAgICAgIGlmIChmbGFncyAmIEwyRldEX0VWRU5UX1RYX0RJUkVDVCkg ew0KPj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJf dHhxX3NldChtYnVmLCAwKTsNCj4+ID4gPiA+PiArICAgICAgICAgICAgICAgICAgd2hpbGUNCj4+ ID4gPiA+PiAoIXJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGV2ZW50X2RfaWQsDQo+ PiA+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwb3J0X2lkLA0KPj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV2LCAxKQ0KPj4gPiA+ID4mJg0KPj4g PiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISpkb25lKQ0KPj4gPiA+ ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDsNCj4+ID4gPiA+PiArICAgICAgICAgIH0N Cj4+ID4gPiA+DQo+PiA+ID4gPkluIHRoZSBUWCBkaXJlY3QgbW9kZSB3ZSBjYW4gc2VuZCBwYWNr ZXRzIGRpcmVjdGx5IHRvIHRoZQ0KPmV0aGVybmV0DQo+PiA+ID4gPmRldmljZSB1c2luZyBldGhk ZXYNCj4+ID4gPiA+QVBJJ3MuIFRoaXMgd2lsbCBzYXZlIHVubmVjZXNzYXJ5IGluZGlyZWN0aW9u cyBhbmQgZXZlbnQgdW5mb2xkcw0KPndpdGhpbg0KPj4gPiA+ID50aGUgZHJpdmVyLg0KPj4gPiA+ DQo+PiA+ID4gSG93IHdvdWxkIHdlIGd1YXJhbnRlZSBhdG9taWNpdHkgb2YgYWNjZXNzIHRvIFR4 IHF1ZXVlcz8NCj5CZXR3ZWVuDQo+PiBjb3Jlcw0KPj4gPiA+IGFzIHdlIGNhbiBvbmx5IHVzZSBv bmUgVHggcXVldWUuDQo+PiA+ID4gQWxzbywgaWYgU0NIRURfVFlQRSBpcyBPUkRFUkVEIGhvdyB3 b3VsZCB3ZSBndWFyYW50ZWUgZmxvdw0KPm9yZGVyaW5nPw0KPj4gPiA+IFRoZSBjYXBhYmlsaXR5 IG9mIE1UX0xPQ0tGUkVFIGFuZCBmbG93IG9yZGVyaW5nIGlzIGFic3RyYWN0ZWQNCj50aHJvdWdo IGANCj4+ID4gPiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSBgLg0KPj4gPg0KPj4g PiBJIHVuZGVyc3RhbmQgeW91ciBvYmplY3RpdmUgaGVyZS4gUHJvYmFibHkgaW4geW91ciBjYXNl IHRoZSBESVJFQ1QNCj5pcw0KPj4gZXF1aXZhbGVudA0KPj4gPiB0byBnaXZpbmcgdGhlIHBhY2tl dCB0byB0aGUgc2NoZWR1bGVyLCB3aGljaCB3aWxsIHBhc3Mgb24gdGhlIHBhY2tldA0KPnRvIHRo ZQ0KPj4gZGVzdGluZWQgZGV2aWNlLg0KPj4gPiBPbiBOWFAgcGxhdGZvcm0sIERJUkVDVCBpbXBs aWVzIHNlbmRpbmcgdGhlIHBhY2tldCBkaXJlY3RseSB0byB0aGUNCj5kZXZpY2UNCj4+IChldGgv Y3J5cHRvKSwNCj4+ID4gYW5kIHNjaGVkdWxlciB3aWxsIGludGVybmFsbHkgcGl0Y2ggaW4uDQo+ PiA+IEhlcmUgd2Ugd2lsbCBuZWVkIGFub3RoZXIgb3B0aW9uIHRvIHNlbmQgaXQgZGlyZWN0bHkg dG8gdGhlIGRldmljZS4NCj4+ID4gV2UgY2FuIHNldCB1cCBhIGNhbGwgdG8gZGlzY3VzcyB0aGUg c2FtZSwgb3Igc2VuZCBwYXRjaCByZWdhcmRpbmcgdGhpcw0KPnRvIHlvdQ0KPj4gdG8gaW5jb3Jw b3JhdGUNCj4+ID4gdGhlIHNhbWUgaW4geW91ciBzZXJpZXMuDQo+Pg0KPj4gWWVzLiBTZW5kaW5n IHRoZSBwYXRjaCB3aWxsIG1ha2UgdXMgdW5kZXJzdGFuZCBiZXR0ZXIuDQo+Pg0KPj4gQ3VycmVu dGx5LCBXZSBoYXZlIHR3byBkaWZmZXJlbnQgbWVhbnMgZm9yIGFic3RyYWN0aW5nIFR4IGFkYXB0 ZXINCj5mYXN0DQo+PiBwYXRoIGNoYW5nZXMsDQo+PiBhKSBTSU5HTEUgTElOSyBRVUVVRQ0KPj4g YikgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUoKQ0KPj4NCj4+IENvdWxkIHlvdSBw bGVhc2Ugc2hhcmUgd2h5IGFueSBvZiB0aGUgYWJvdmUgc2NoZW1lcyBkbyBub3Qgd29yaw0KPmZv ciBOWFANCj4+IEhXPw0KPj4gSWYgdGhlcmUgaXMgbm8gYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5 IGluDQo+PiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSgpLCB5b3UgY291bGQNCj4+ IHNpbXBseSBjYWxsIGRpcmVjdCBldGhkZXYgdHggYnVyc3QgZnVuY3Rpb24gcG9pbnRlciB0byBt YWtlDQo+PiBhYnN0cmFjdGlvbiAgaW50YWN0IHRvIGF2b2lkDQo+PiBvbmUgbW9yZSBjb2RlIGZs b3cgaW4gdGhlIGZhc3QgcGF0aC4NCj4+DQo+PiBJZiBJIGd1ZXNzIGl0IHJpZ2h0IHNpbmNlIE5Y UCBIVyBzdXBwb3J0cyBNVF9MT0NLRlJFRSBhbmQgb25seQ0KPmF0b21pYywgZHVlDQo+PiB0bw0K Pj4gdGhhdCwgY2FsbGluZyBldGhfZGV2X3R4X2J1cnN0IHdpbGwgYmUgc3VmZmljaWVudC4gQnV0 IGFic3RyYWN0aW5nDQo+PiBvdmVyIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKCkN Cj4+IG1ha2VzIGFwcGxpY2F0aW9uIGxpZmUgZWFzeS4gWW91IGNhbiBjYWxsIHRoZSBsb3cgbGV2 ZWwgRFBQQTIgVHgNCj5mdW5jdGlvbiBpbg0KPj4gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2Vu cXVldWUoKSB0byBhdm9pZCBhbnkgcGVyZm9ybWFuY2UNCj4+IGltcGFjdChXZQ0KPj4gYXJlIGRv aW5nIHRoZSBzYW1lKS4NCj4NCj5ZZXMsIHRoYXTigJlzIGNvcnJlY3QgcmVnYXJkaW5nIG91ciBI L1cgY2FwYWJpbGl0eS4NCj5BZ3JlZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlY29tZSBj b21wbGV4IGJ5IGFkZGluZyBtb3JlIGNvZGUNCj5mbG93LA0KPmJ1dCBjYWxsaW5nIFR4IGZ1bmN0 aW9ucyBpbnRlcm5hbGx5IG1heSBsZWFkIHRvIGFkZGl0aW9uYWwgQ1BVIGN5Y2xlcy4NCj5HaXZl IHVzIGEgY291cGxlIG9mIGRheXMgdG8gYW5hbHl6ZSB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0LCBh bmQgYXMgeW91DQo+YWxzbyBzYXksIEkgdG9vDQo+ZG9uJ3QgdGhpbmsgaXQgd291bGQgYmUgbXVj aC4gV2Ugc2hvdWxkIGJlIGFibGUgdG8gbWFuYWdlIGl0IGluIHdpdGhpbg0KPm91ciBkcml2ZXIu DQoNCldoZW4gYXBwbGljYXRpb24gY2FsbHMgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3F1ZXVl X2FkZCgpIGJhc2VkIG9uIA0KdGhlIGV0aF9kZXZfaWQgdGhlIHVuZGVybHlpbmcgZXZlbnRkZXZp Y2UgY2FuIHNldCANCnNldCBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSgpIHRvIGRp cmVjdGx5IGNhbGwgYSBmdW5jdGlvbiB3aGljaCANCmRvZXMgdGhlIHBsYXRmb3JtIHNwZWNpZmlj IFR4Lg0KDQppLmUgaWYgZXRoX2RldiBpcyBuZXQvZHBhYSBhbmQgZXZlbnQgZGV2IGlzIGFsc28g bmV0L2RwYWEgd2UgbmVlZCBfbm90XyBjYWxsIA0KYHJ0ZV9ldGhfdHhfYnVyc3QoKWAgaW4gYCBy dGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSgpYCBpdCBjYW4gZGlyZWN0bHkNCkludm9r ZSB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgUnggZnVuY3Rpb24gd2hpY2ggd291bGQgYXZvaWQgZnVu Y3Rpb24gcG9pbnRlciANCmluZGlyZWN0aW9uLg0KDQo+DQo+Pg0KPj4NCj4+ID4NCj4+ID4gPg0K Pj4gPiA+IEBzZWUgZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUgYW5kIGFwcC90ZXN0LQ0KPj4g ZXZlbnRkZXYvdGVzdF9waXBlbGluZV8qLg0KPj4gPg0KPj4gPiBZZXMsIHdlIGFyZSBhd2FyZSBv ZiB0aGF0LCBUaGV5IGFyZSBvbmUgd2F5IG9mIHJlcHJlc2VudGluZywgaG93DQo+dG8gYnVpbGQN Cj4+IGEgY29tcGxldGUgZXZlbnRkZXYgcGlwZWxpbmUuDQo+PiA+IFRoZXkgZG9uJ3Qgd29yayBv biBOWFAgSFcuDQo+PiA+IFdlIHBsYW4gdG8gc2VuZCBwYXRjaGVzIGZvciB0aGVtIHRvIGZpeCB0 aGVtIGZvciBOWFAgSFcgc29vbi4NCj4+ID4NCj4+ID4gUmVnYXJkcywNCj4+ID4gTmlwdW4NCj4+ ID4NCj4+ID4gPg0KPj4gPiA+ID4NCj4+ID4gPiA+PiArDQo+PiA+ID4gPj4gKyAgICAgICAgICBp ZiAodGltZXJfcGVyaW9kID4gMCkNCj4+ID4gPiA+PiArICAgICAgICAgICAgICAgICAgX19hdG9t aWNfZmV0Y2hfYWRkKCZldmVudGRldl9yc3JjLQ0KPj4gPiA+ID4+c3RhdHNbbWJ1Zi0NCj4+ID4g PiA+PiA+cG9ydF0udHgsDQo+PiA+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4+ID4gPiA+PiArICB9DQo+PiA+ID4gPj4g K30NCg==