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 21577A04F0; Tue, 10 Dec 2019 09:55:45 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1E91D1B994; Tue, 10 Dec 2019 09:55:44 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20041.outbound.protection.outlook.com [40.107.2.41]) by dpdk.org (Postfix) with ESMTP id 6F9C81B13C for ; Tue, 10 Dec 2019 09:55:42 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YDE3GKQglB07mBFl/S6eghjelFu3vdNLlfMpmIfGgypPuHIWeRYwTGFY0i/OnDjB8T09C5jyIQQ/EffFoXOvuQmyBD2NmNDTCMcvd40uY/GscG/qgha3Dqc3qWNbl9egI6C7t/moeFKFu6SwctqDA53NaiE98S3VbepG/r0N5T+uzjrPLOeNEvDS9gN9D9KjpElo4nwzsT9CoFgZRtqtuSICa2//r5+BfdfozZxosAzfEPmx/kU8FlZMzmP5pj/LEjXLEa+3ZsvEW5sCapqbKHwVXo0CLRXnCCeKYmXZHKg8VxIschVkY42GbNHeMNyM2Y/xBou5H17XR3y3B5gyXw== 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=L91Mb1NYkhAre3APoTzJAyaxOO8g8CafsHkkAzd9eUM=; b=mjDlCi01tkdDoeor0MUFlT1bFEjScDxVGrQD+5QNB9TM6fWOjkQPCxSix94t87H5k8okU9LaE+1uHOuyPJ7vLA++ikTA1W3AOuMQCi3OppSW48nwNx10mcpM+EmhMsL+iku64GZAenDHTEIRiQsmh3JDLwpKtM10358g+UJ+FQTQt2ok0UoHoBvw3G6ZxBgAdh9jjcTCojTmLtiT2XB1LPdSv/i8lSLhEDEHGXsD6LPZU7cAedu4Ol+Qv4G678YxT5q93/at93uO+iiqi/OnimgLSZQaWJYXCGNPCq6OH8sHiAna8QYm4Xy3FdEsRYQHeqrl7FtzYl0aysL34MWnfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L91Mb1NYkhAre3APoTzJAyaxOO8g8CafsHkkAzd9eUM=; b=t6NI5AocnIzf+8N7DH6ytTvyVMHZqY8w1nxrBavZlb6JEUh5ZwpMpvZ1Gn7XeJAweZLXDUC+qfIVgmQFHdw1lUeIDgdYLj0xsVDt+Ggp0ZwW23qRm47AA4pdjemV4mXPARQLVRBGCJMEzegTOsCuDo9yqeYnVxGOq7k5WmvyOUg= Received: from HE1PR05MB3484.eurprd05.prod.outlook.com (10.170.246.12) by HE1PR05MB4778.eurprd05.prod.outlook.com (20.176.164.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2516.18; Tue, 10 Dec 2019 08:55:40 +0000 Received: from HE1PR05MB3484.eurprd05.prod.outlook.com ([fe80::d44c:cf38:cfac:b253]) by HE1PR05MB3484.eurprd05.prod.outlook.com ([fe80::d44c:cf38:cfac:b253%3]) with mapi id 15.20.2538.012; Tue, 10 Dec 2019 08:55:40 +0000 From: Suanming Mou To: Andrew Rybchenko , Adrien Mazarguil , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit CC: "dev@dpdk.org" , Shahaf Shuler , Ori Kam , Matan Azrad , Slava Ovsiienko Thread-Topic: [dpdk-dev] [RFC] ethdev: add IPv4/IPv6 DSCP rewrite action Thread-Index: AQHVrywoKWy873kgR0u4QCsKS0/c9aezEIsw Date: Tue, 10 Dec 2019 08:55:40 +0000 Message-ID: References: <1575955386-6672-1-git-send-email-suanmingm@mellanox.com> <322fb1d5-c629-5f67-59d4-c38df67f0c9b@solarflare.com> In-Reply-To: <322fb1d5-c629-5f67-59d4-c38df67f0c9b@solarflare.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=suanmingm@mellanox.com; x-originating-ip: [115.206.77.138] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: a1cf5717-246a-45bb-8f2c-08d77d4ebb93 x-ms-traffictypediagnostic: HE1PR05MB4778:|HE1PR05MB4778: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:530; x-forefront-prvs: 02475B2A01 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(136003)(39860400002)(366004)(376002)(346002)(13464003)(199004)(189003)(33656002)(9686003)(86362001)(76116006)(66446008)(229853002)(2906002)(64756008)(71200400001)(8676002)(81156014)(4326008)(81166006)(8936002)(478600001)(71190400001)(305945005)(52536014)(54906003)(110136005)(5660300002)(55016002)(316002)(186003)(26005)(7696005)(66946007)(66556008)(66476007)(53546011)(6506007)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB4778; H:HE1PR05MB3484.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PMYTXYyrd+XuQtI+1C2r1KvjDzVNba0EEhWwvVA1pZccx9Ca5dHtQWJeh9fC0lQxRoIJGIpdOztc0tbmy2HpqJzYLc+7kT1KX8YqNPkI25X/CcT3oW/2WWG/XJI/yat+K8zf0MyzsJXxuT2GMNbk6SX6ZhmQuWOtBjIwqKhGQ+qTc+5BNNX/I8UvCbgS3sEb+XyO2m/9w/2/NhVmROlAF3VyS9fb51V2twX9EUBLhySh25hBPw+Xsea9pPPRr0ihZXvZzDMN3ecrukwDUCe9+TJnoQyzLpajlOC4LqHmRnfHLYVYWaxUiJds8lEJTCVEfS0+eGhaMNXl8NHwiJ1+MW2E1EybKCePf9uIqSyeMScSch667C4yFNSk5pKE1ySFGqOWAsimA1ghp7ljNlYypM73T1ONntiqhktmuoOBPTSgOA4aOjo4YKZs/bHaXlix1vYQFG4jvgkrvKElM4qHGEpEZ2UTILDJEbKTcYnxJqm4k2vr1xP2tPXXIZ42p5Rh Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1cf5717-246a-45bb-8f2c-08d77d4ebb93 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 08:55:40.2626 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VF+2mOFavMf8cSWoPi0jncDG/smKMRIKqABCpb5MwhFzOZmp/OXxcMEXE8qM69gYfLi96rZ6gcxgbpZa2f5ssA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB4778 Subject: Re: [dpdk-dev] [RFC] ethdev: add IPv4/IPv6 DSCP rewrite action 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gU2VudDogVHVlc2RheSwgRGVjZW1iZXIg MTAsIDIwMTkgMzozMyBQTQ0KPiBUbzogU3Vhbm1pbmcgTW91IDxzdWFubWluZ21AbWVsbGFub3gu Y29tPjsgQWRyaWVuIE1hemFyZ3VpbA0KPiA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBK b2huIE1jTmFtYXJhIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47DQo+IE1hcmtvIEtvdmFjZXZp YyA8bWFya28ua292YWNldmljQGludGVsLmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA8dGhvbWFz QG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4g Q2M6IGRldkBkcGRrLm9yZzsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBP cmkgS2FtDQo+IDxvcmlrYUBtZWxsYW5veC5jb20+OyBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFu b3guY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+IDx2aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkNdIGV0aGRldjogYWRkIElQdjQvSVB2NiBEU0NQ IHJld3JpdGUgYWN0aW9uDQo+IA0KPiBPbiAxMi8xMC8xOSA4OjIzIEFNLCBTdWFubWluZyBNb3Ug d3JvdGU6DQo+ID4gRm9yIHNvbWUgb3ZlcmxheSBuZXR3b3JrLCBzdWNoIGFzIFZYTEFOLCB0aGUg RFNDUCBmaWVsZCBpbiB0aGUgbmV3DQo+ID4gb3V0ZXIgSVAgaGVhZGVyIGFmdGVyIFZYTEFOIGRl Y2Fwc3VsYXRpb24gbWF5IG5lZWQgdG8gYmUgdXBkYXRlZA0KPiBhY2NvcmRpbmdseS4NCj4gPg0K PiA+IFRoaXMgY29tbWl0IGludHJvZHVjZSB0aGUgRFNDUCBtb2RpZnkgYWN0aW9uIGZvciBJUHY0 IGFuZCBJUHY2Lg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogU3Vhbm1pbmcgTW91IDxzdWFubWlu Z21AbWVsbGFub3guY29tPg0KPiANCj4gQWNrZWQtYnk6IEFuZHJldyBSeWJjaGVua28gPGFyeWJj aGVua29Ac29sYXJmbGFyZS5jb20+DQo+IA0KPiBhcyB1c3VhbCBpdCByZXF1aXJlcyB0ZXN0cG1k IHN1cHBvcnQgYW5kIGEgZHJpdmVyIHdoaWNoIHN1cHBvcnRzIGl0IChJIHVuZGVyc3RhbmQNCj4g dGhhdCBpdCBtYXkgYmUgb21pdHRlZCBpbiBSRkMpLg0KDQpUaGFua3MuIFllcywgaXQgd2lsbCBi ZSBhZGRlZCBsYXRlci4NCg0KPiANCj4gRmV3IG1pbm9yIG5vdGVzIGJlbG93Lg0KDQpXaWxsIHVw ZGF0ZSB0aGUgc2Vjb25kIHZlcnNpb24gZml4IHRoZXNlLg0KDQo+IA0KPiA+IC0tLQ0KPiA+ICBk b2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0IHwgNDANCj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cu aCAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIDIgZmlsZXMg Y2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlk ZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9y dGVfZmxvdy5yc3QNCj4gPiBpbmRleCBhMjU0YzgxLi41NGI5MjUwIDEwMDY0NA0KPiA+IC0tLSBh L2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gQEAgLTI1NTgsNiArMjU1OCw0NiBAQCB0aGUg b3RoZXIgcGF0aCBkZXBlbmRpbmcgb24gSFcgY2FwYWJpbGl0eS4NCj4gPiAgICAgfCBgYG1hc2tg YCB8IGJpdC1tYXNrIGFwcGxpZXMgdG8gImRhdGEiIHwNCj4gPiAgICAgKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPg0KPiA+ICtBY3Rpb246IGBgU0VUX0lQVjRf RFNDUGBgDQo+ID4gK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4NCj4gPiArDQo+ID4gK1NldCBJ UHY0RFNDUC4NCj4gDQo+IEkgdGhpbmsgaXQgaXMgYmV0dGVyIHRvIGhhdmUgc3BhY2UgYmV0d2Vl biBJUHY0IGFuZCBEU0NQIGFib3ZlLg0KPiANCj4gPiArDQo+ID4gK01vZGlmeSBEU0NQIGluIElQ djQgaGVhZGVyLg0KPiA+ICsNCj4gPiArSXQgbXVzdCBiZSB1c2VkIHdpdGggUlRFX0ZMT1dfSVRF TV9UWVBFX0lQVjQgaW4gcGF0dGVybi4NCj4gPiArT3RoZXJ3aXNlLCBSVEVfRkxPV19FUlJPUl9U WVBFX0FDVElPTiBlcnJvciB3aWxsIGJlIHJldHVybmVkLg0KPiA+ICsNCj4gPiArLi4gX3RhYmxl X3J0ZV9mbG93X2FjdGlvbl9zZXRfaXB2NF9kc2NwOg0KPiA+ICsNCj4gPiArLi4gdGFibGU6OiBT RVRfSVBWNF9EU0NQDQo+ID4gKw0KPiA+ICsgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICsgICB8IEZpZWxkICAgICB8IFZhbHVlICAgICAgICAg ICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICArPT09PT09PT09PT0rPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Kw0KPiA+ICsgICB8IGBgZHNjcGBgICB8IERTQ1AgaW4gbG93IDYg Yml0cywgcmVzdCBpbmdvcmUgfA0KPiANCj4gaW5nb3JlIC0+IGlnbm9yZQ0KPiANCj4gPiArICAg Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPiArDQo+ ID4gK0FjdGlvbjogYGBTRVRfSVBWNl9EU0NQYGANCj4gPiArXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eDQo+ID4gKw0KPiA+ICtTZXQgSVB2NkRTQ1AuDQo+IA0KPiBTYW1lLg0KPiANCj4gPiArDQo+ ID4gK01vZGlmeSBEU0NQIGluIElQdjYgaGVhZGVyLg0KPiA+ICsNCj4gPiArSXQgbXVzdCBiZSB1 c2VkIHdpdGggUlRFX0ZMT1dfSVRFTV9UWVBFX0lQVjYgaW4gcGF0dGVybi4NCj4gPiArT3RoZXJ3 aXNlLCBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiBlcnJvciB3aWxsIGJlIHJldHVybmVkLg0K PiA+ICsNCj4gPiArLi4gX3RhYmxlX3J0ZV9mbG93X2FjdGlvbl9zZXRfaXB2Nl9kc2NwOg0KPiA+ ICsNCj4gPiArLi4gdGFibGU6OiBTRVRfSVBWNl9EU0NQDQo+ID4gKw0KPiA+ICsgICArLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICsgICB8IEZpZWxk ICAgICB8IFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICsgICArPT09PT09 PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kw0KPiA+ICsgICB8IGBgZHNj cGBgICB8IERTQ1AgaW4gbG93IDYgYml0cywgcmVzdCBpbmdvcmUgfA0KPiANCj4gaW5nb3JlIC0+ IGlnbm9yZQ0KPiANCj4gPiArICAgKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCj4gPiArDQo+ID4gIE5lZ2F0aXZlIHR5cGVzDQo+ID4gIH5+fn5+fn5+fn5+ fn5+DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0K PiA+IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaCBpbmRleCA0NTJkMzU5Li43NmJmMDgw IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiArKysg Yi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gQEAgLTIwMDQsNiArMjAwNCwyNiBA QCBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIHsNCj4gPiAgCSAqIFNlZSBzdHJ1Y3QgcnRlX2Zs b3dfYWN0aW9uX3NldF9tZXRhLg0KPiA+ICAJICovDQo+ID4gIAlSVEVfRkxPV19BQ1RJT05fVFlQ RV9TRVRfTUVUQSwNCj4gPiArDQo+ID4gKwkvKioNCj4gPiArCSAqIE1vZGlmeSBJUHY0IERTQ1Ag aW4gdGhlIG91dGVybW9zdCBJUCBoZWFkZXIuDQo+ID4gKwkgKg0KPiA+ICsJICogSWYgZmxvdyBw YXR0ZXJuIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFJURV9GTE9XX0lURU1fVFlQRV9JUFY0LA0K PiA+ICsJICogdGhlbiB0aGUgUE1EIHNob3VsZCByZXR1cm4gYSBSVEVfRkxPV19FUlJPUl9UWVBF X0FDVElPTg0KPiBlcnJvci4NCj4gPiArCSAqDQo+ID4gKwkgKiBTZWUgc3RydWN0IHJ0ZV9mbG93 X2FjdGlvbl9zZXRfZHNjcC4NCj4gPiArCSAqLw0KPiA+ICsJUlRFX0ZMT1dfQUNUSU9OX1RZUEVf U0VUX0lQVjRfRFNDUCwNCj4gPiArDQo+ID4gKwkvKioNCj4gPiArCSAqIE1vZGlmeSBJUHY2IERT Q1AgaW4gdGhlIG91dGVybW9zdCBJUCBoZWFkZXIuDQo+ID4gKwkgKg0KPiA+ICsJICogSWYgZmxv dyBwYXR0ZXJuIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFJURV9GTE9XX0lURU1fVFlQRV9JUFY2 LA0KPiA+ICsJICogdGhlbiB0aGUgUE1EIHNob3VsZCByZXR1cm4gYSBSVEVfRkxPV19FUlJPUl9U WVBFX0FDVElPTg0KPiBlcnJvci4NCj4gPiArCSAqDQo+ID4gKwkgKiBTZWUgc3RydWN0IHJ0ZV9m bG93X2FjdGlvbl9zZXRfZHNjcC4NCj4gPiArCSAqLw0KPiA+ICsJUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfU0VUX0lQVjZfRFNDUCwNCj4gPiAgfTsNCj4gPg0KPiA+ICAvKioNCj4gPiBAQCAtMjUzMCw2 ICsyNTUwLDE3IEBAIHN0cnVjdCBydGVfZmxvd19hY3Rpb25fc2V0X21ldGEgew0KPiA+ICAJdWlu dDMyX3QgbWFzazsNCj4gPiAgfTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICogUlRFX0ZMT1dfQUNU SU9OX1RZUEVfU0VUX0lQVjRfRFNDUA0KPiA+ICsgKiBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRf SVBWNl9EU0NQDQo+ID4gKyAqDQo+ID4gKyAqIFNldCB0aGUgRFNDUCB2YWx1ZSBmb3IgSVB2NC9J UHY2IGhlYWRlci4NCj4gPiArICogRFNDUCBpbiBsb3cgNiBiaXRzLCByZXN0IGlnbm9yZWQuDQo+ ID4gKyAqLw0KPiA+ICtzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NldF9kc2NwIHsNCj4gPiArCXVp bnQ4X3QgZHNjcDsNCj4gPiArfTsNCj4gPiArDQo+ID4gIC8qIE1idWYgZHluYW1pYyBmaWVsZCBv ZmZzZXQgZm9yIG1ldGFkYXRhLiAqLyAgZXh0ZXJuIGludA0KPiA+IHJ0ZV9mbG93X2R5bmZfbWV0 YWRhdGFfb2ZmczsNCj4gPg0KPiA+DQoNCg==