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 F003BA0544; Mon, 10 Oct 2022 04:45:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 94A9540146; Mon, 10 Oct 2022 04:45:38 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id D3AA6400D5 for ; Mon, 10 Oct 2022 04:45:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665369937; x=1696905937; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Mu0jHUkyAUvbAsgDIPJ9/Xv4Y2MCbTxerLoKrshmXi0=; b=Y4nJsuqo+CO+kv9OBJppNg5Rv17dJ1lM9ovhhHnUlgbFI7kf4Db3nJY2 RVQWK+ciXpDCQW0ENfeBhGw5Vtdi/MENOH5nXUkUrdNcl+FWWWhwb9mXA a+Fz0ccwHnOHcYtLuO/W8Z2u5KiyuSiOf1Y9J2y9MqmdvDwipE9jQVbnW P1iUv5V5a9jZUwLHAz1mAjq9msrWyeTSHnfexQNrqw9NRhcuC+iIkXj9N oWNba6ZgruhADI6LNU4DcU4QJvOfFNvGrD8wgfFOHi4JnNpE+2TYx88x2 C0bDLs4dK2o/SX+E0b/RHjmXnReif1JCmjehWzjH3iXJISiD5L+IaoC9h g==; X-IronPort-AV: E=McAfee;i="6500,9779,10495"; a="304113021" X-IronPort-AV: E=Sophos;i="5.95,172,1661842800"; d="scan'208";a="304113021" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2022 19:45:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10495"; a="603565512" X-IronPort-AV: E=Sophos;i="5.95,172,1661842800"; d="scan'208";a="603565512" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP; 09 Oct 2022 19:45:35 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 9 Oct 2022 19:45:34 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 9 Oct 2022 19:45:34 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Sun, 9 Oct 2022 19:45:34 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) 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.2375.31; Sun, 9 Oct 2022 19:45:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BOGMIjAZJc6p8h2qHhBdVNxc0iaZjSMULMGiEDrIVjvvd16VVauLtPLocaqT0EKgBzm84ET5KldVNujMYpaBbDFBjIW1daVUMg6U5g/WzdUMxMCNzN8A4KTvTYBlI3XfNFQPZHw3M0SqS1GCqebOYZuoWDx2gi+/krZG0TlgQzaU6OPOWJIMQL+way4NW1IF0G/uBEeEsR8JAcGyc4IqoiRaMPe6LjUwFrpDIaaNlzZ8SNF8yuhM+AwjgX+T33raZvFarbfemNg0g3o3Rufcv8Vj6XnqkWWkO7CQk7F/8KGCkKF29M8SYK/R6uYgkdVulT5Lxc8UWI67LazibyfMzw== 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=Mu0jHUkyAUvbAsgDIPJ9/Xv4Y2MCbTxerLoKrshmXi0=; b=AaRLIykCgujC0qGXhB4spYfpCjU7LTWxxgdJCN8RXUL/8Hb0XusN8TQIzKXQeY/4EGHDkwHBuUdp93sH2hOhYgddQNf4/00JOS7kaGT0u7gfIhG7xRJrChZm6p3wKQP0go1N+UyaKn7GnS7c/kOnaqv68m+LPmdEG3fenpv3XvMD3tFNKnnl4sTaAM1VyvgzuUVtnbvZHgrsdoPbSPmsBt6eSoDBxlwbLrWDMriAvwzKC8T2k0i9PNO7yB/3tNgtUWYo+PdSNN9QjBBWOpNjtt6yKWXAomwGWQfk9xDLODaKVkYs5Jqr/zeW1YaJLn8IIloDUmbQkTyTVu4iyl727w== 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 BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by CO6PR11MB5665.namprd11.prod.outlook.com (2603:10b6:5:354::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Mon, 10 Oct 2022 02:45:32 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::817f:155b:4885:ccc3]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::817f:155b:4885:ccc3%4]) with mapi id 15.20.5709.015; Mon, 10 Oct 2022 02:45:32 +0000 From: "Ding, Xuan" To: Andrew Rybchenko , "Wang, YuanX" , "dev@dpdk.org" CC: "thomas@monjalon.net" , "ferruh.yigit@xilinx.com" , "mdr@ashroe.eu" , "Li, Xiaoyun" , "Singh, Aman Deep" , "Zhang, Yuying" , "Zhang, Qi Z" , "Yang, Qiming" , "jerinjacobk@gmail.com" , "viacheslavo@nvidia.com" , "stephen@networkplumber.org" , "hpothula@marvell.com" , "Tang, Yaqi" Subject: RE: [PATCH v9 0/4] support protocol based buffer split Thread-Topic: [PATCH v9 0/4] support protocol based buffer split Thread-Index: AQHY29wribpZwu+PakmMqPlZ1zSCjK4GJ5gAgADEPSA= Date: Mon, 10 Oct 2022 02:45:32 +0000 Message-ID: References: <20220812181552.2908067-1-yuanx.wang@intel.com> <20221009202541.352724-1-yuanx.wang@intel.com> <496d162e-3663-758f-ff14-d2933cbcd621@oktetlabs.ru> In-Reply-To: <496d162e-3663-758f-ff14-d2933cbcd621@oktetlabs.ru> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 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: BN9PR11MB5513:EE_|CO6PR11MB5665:EE_ x-ms-office365-filtering-correlation-id: e85cba77-5eb6-4461-e5ff-08daaa69802c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9i2/nCM/r902bRe0hAVnbWlfLaUAydehcINggiIIZv4b93Rl1hcjBJeRJSoBDrZIRTIiicdyrfMpEynv9HcjRg6vVmOWK3PIeB9hHjq0thEgdAEiukotVyLcrKL7wPfCzbvJm340Jb767SuIuwt1hqCrXuqzzg5kzPw8KUzwbhI5yvAJqyP7Y0FdOh13mekZqdoNNqEHZlQugrOtUQN0UrpZWdL81CmeaMd3X2e8NKMx2unBXAjnGRmGcRfSX9AzBXCfb5WUzfFSAKSjYGHT0/cbgATVpSZubqavXK0uLQ7X0mDm4VVA157E+neQzFYhI18EH6qawauM4IqzKsYUBkJKRQA1yKupndh2+k4/QnHUm32FyNw7LY6ddZd4OLbWKzHaiFYaQg4pucVVYmLFhLVUiBss75EZsNq+p4H5Zu3a4LkS6xsIaXK6Lz/QoQ1I9wG4NqToW4PM/lRj27TF5LfuelpCo9p7kzb+woaBz5h04lNw2xCl4W0bHva1f41GPEoJcz1AXpqFXPUzkOFNMaQitRyIvPdNoGN0o9NJmESHl9yvKCobUlKC/GcIsiQ34fAgLE71LtqoF8RkFKTDC6FbgnfLCS+ol1l9Z3T/vzEoYPwlGJRloGPr3K/v6icbaGUcnoZFLFg3rmr+NHV53/dUTvoe1ri7ACuT8mNH6aPCSKnq6xSBuyJOoSI1hR8yq9wCPiIyfNhBpbkwfVYr6kob+d4m1RssU2/A22WGRW5XpEUNsGDqjtKAGqKqSadA3wM7u9Gwg3Px5mlAfiMCCQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(39860400002)(366004)(376002)(346002)(396003)(136003)(451199015)(107886003)(83380400001)(186003)(82960400001)(38100700002)(38070700005)(122000001)(2906002)(71200400001)(41300700001)(478600001)(54906003)(55016003)(7696005)(76116006)(8936002)(66946007)(26005)(9686003)(53546011)(6506007)(64756008)(5660300002)(66446008)(66476007)(4326008)(66556008)(110136005)(52536014)(8676002)(316002)(33656002)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a0dzM24wcmlDb2NqdEZ4OFZyVDJFeFlwaGZaWmFTVzJGZ3VrT3crYXlxdUQ3?= =?utf-8?B?cFZuZnpPd1ZIZ1dPL0pxc2dwY3FpZG1hUEd0SjZSNXNnWEUyTHFsaUxnVERV?= =?utf-8?B?c3F6ajNiNjQ2c2l1NXd0R1JaV2xISTRUWG5mYnZ0alFYcTBCeUIwL0NuaTFV?= =?utf-8?B?cXZxaDFrV3FHRmpTSVpCUExzMk1tZ3VSTllPYmc2WTd3dmRwQWVrTnMxb0hU?= =?utf-8?B?VU4vWVV4KzUyMkJ6c0pGajZxTjVvR1BDQWxMTmxKR01xRnprWTQ3Ym5UaDdC?= =?utf-8?B?TVNURWd5anhJQVJiSHZrbVRBTkY3aWVUN0xoQmNWYmF0UjdSVGZ2dkxYd1la?= =?utf-8?B?c0IxSkZYOURwV0xmYWhiRTkzODZZNWpEaVQyRlpaTHVZb3o5blJDaExHUGNv?= =?utf-8?B?cWo0VTdITWRBcTlCNzd2N2M4NFpialh1SENzTStqek0zdjBOaU10V0l2SG9p?= =?utf-8?B?Tk9Pc25LVU5yMUE5TmV0QkFuMDkrSlhYc2tTZ01RQjBtL0pUYjlxOW4rd0F0?= =?utf-8?B?QVBwTXF1OVdYMkE3cGlVbXBHb0pMQTYwVnlmS2lGME0yOWZQUWVvZEtjVkpx?= =?utf-8?B?NUFiMG8rOGpERzR3Sm9wN1V6SFNkOFA1LzJINTdmUDBESVRNUHhiRFp4UVc3?= =?utf-8?B?dVNFbVZSNGVMdFFJV09Ydkd2Z1RYMDFaUkRyR0FuYXlWUzRuc1hNblRHemRq?= =?utf-8?B?MlZaOXYyVWxjZ095ZkgvdVF2bEJhcThSTXBLa2N6c2lzbWN2Z1U0TnY0QVNC?= =?utf-8?B?S3dFOUNDK2NWT0UxblZQaVZ0SGJ6OENjOUlXWE1LbldoSlM1TUhhSzVsNlZC?= =?utf-8?B?L2cvSkxobWJLNEFoOURaR0NKUS85bm00d0h0ckRZaWtlWENQaFU4d3lraExK?= =?utf-8?B?WGZXdmxMZVh0WkZNRExndHJzcHR2RWkrRlJ3blhSU3VmVUNKczdCalNMaktj?= =?utf-8?B?UlBneHZNV2UzQ1kxWlBrZjF1WUYvQjNqdXZIMHVBaEFSV1d5KytJUXhPSXFO?= =?utf-8?B?NFo5TDN5cXFiSG1xYkFoL2UzMFRrSTZ5YkVyakZLWTRZOXlIVHQyeWl2RE10?= =?utf-8?B?enRDTVhDYlpSWkZsK0NGVnI2RWZpWVNWV1c0QjVmaU9RNE5wUDJhSVdIaEdB?= =?utf-8?B?YmFBbi8xRE5BNERpcDArVzVXTnNDajc1Mk9qMEVSYkxoVG8zZ0N5VUVpWXZm?= =?utf-8?B?dW9zVDhLRXB6Qm9scktzRWQ1dWFPbGJJNkk3YWdBeTRmN3JjYW81OVd6SUdM?= =?utf-8?B?VkRRaDB3Tzl1T1JqU3hwaFdsNUI2dlFRQVhXWVpPQm5zNDlyMnlWZTd6ZDJq?= =?utf-8?B?a3NxNjl4UVZja3VqK1FoV3dCa0RUSnpKajRINDJwanNwUzRuMGc4Vm9kMHZX?= =?utf-8?B?bE1HYVMwSXVvUHNIL3lNZVUvaGZsWTh2VENjQ0dsNTF0bEVZVHhNRzJOckJs?= =?utf-8?B?WWlHRndiaVFsSDdCZHBGOUdVblcyWVg0bFpGNGszTi8rLzJzVXZ6MkQzUkZ5?= =?utf-8?B?L20xcWtCNm52S0E2cldVV3hheldTY1FTSkkraDhlSXZVRnUxMGlvbk94cEJV?= =?utf-8?B?WURnMjU4c1dRMytlaTFiRkJLQUlVWHRncXQ4YXo5dW5TdHM0VGlyYnNvZXBl?= =?utf-8?B?MkZqTnlHZSs2empJeWcyWi9CQmJqQklBMTJPcmJ6MnlzZUZDUGVSM21pSlZ1?= =?utf-8?B?d21kN1NtdnZxMTVVbDQwWmpTK2tLLzREUmxnQ2xuMXpUa0pXVW00d3EyZFVs?= =?utf-8?B?OHpQRStOYXBGSkE2VWhZTU9XSHlIVkVLRkJ1MWh6MWpBTVZ5RGJrSWtFYVd0?= =?utf-8?B?eWtWM3g0dkRqOHZqOW5LOStYOVdTZ3JGQ3QwTTdlaVUxM1N2YWhZTk03TkVU?= =?utf-8?B?NG5DV0RTSjI3d3lWd1lMbytxN3F5eUJYQ2J5bEl6djlZRHdmSXFORXJ0UVhh?= =?utf-8?B?VjdxMkxjWmtveDVHWlhNOHIrVkNpczRRWm1SWmg0akZMTlFaR0VzRStTUFJQ?= =?utf-8?B?dWg5MGhWdndVU3JiU0JXbmVOSmZMRGdmZDVDWEE5WUdIekVOTFB0b2VHenBp?= =?utf-8?B?MXdLVnkvRjZSSW5OTzF4NVB6d05peWpRQ29PaEZjckgvZGluZmpvYVFZTVlF?= =?utf-8?Q?ghfigQbvFnpylXEd2ddL/WaC3?= 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: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e85cba77-5eb6-4461-e5ff-08daaa69802c X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2022 02:45:32.4435 (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: jeuhvipSwCkkayM1GE0XvXHAnqWnoxjsTUS7YeNXZhGB5XFeyPi4/gx5CFreP0VxR+HERJPETma8GPl4mYDRgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR11MB5665 X-OriginatorOrg: intel.com 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2VudDogU3VuZGF5LCBPY3RvYmVyIDks IDIwMjIgMTA6NTkgUE0NCj4gVG86IFdhbmcsIFl1YW5YIDx5dWFueC53YW5nQGludGVsLmNvbT47 IGRldkBkcGRrLm9yZw0KPiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgZmVycnVoLnlpZ2l0QHhp bGlueC5jb207IG1kckBhc2hyb2UuZXU7IExpLA0KPiBYaWFveXVuIDx4aWFveXVuLmxpQGludGVs LmNvbT47IFNpbmdoLCBBbWFuIERlZXANCj4gPGFtYW4uZGVlcC5zaW5naEBpbnRlbC5jb20+OyBa aGFuZywgWXV5aW5nIDx5dXlpbmcuemhhbmdAaW50ZWwuY29tPjsNCj4gWmhhbmcsIFFpIFogPHFp LnouemhhbmdAaW50ZWwuY29tPjsgWWFuZywgUWltaW5nIDxxaW1pbmcueWFuZ0BpbnRlbC5jb20+ Ow0KPiBqZXJpbmphY29ia0BnbWFpbC5jb207IHZpYWNoZXNsYXZvQG52aWRpYS5jb207DQo+IHN0 ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBEaW5nLCBYdWFuIDx4dWFuLmRpbmdAaW50ZWwuY29t PjsNCj4gaHBvdGh1bGFAbWFydmVsbC5jb207IFRhbmcsIFlhcWkgPHlhcWkudGFuZ0BpbnRlbC5j b20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjkgMC80XSBzdXBwb3J0IHByb3RvY29sIGJhc2Vk IGJ1ZmZlciBzcGxpdA0KPiANCj4gT24gMTAvOS8yMiAyMzoyNSwgWXVhbiBXYW5nIHdyb3RlOg0K PiA+IFByb3RvY29sIHR5cGUgYmFzZWQgYnVmZmVyIHNwbGl0IGNvbnNpc3RzIG9mIHNwbGl0dGlu ZyBhIHJlY2VpdmVkDQo+ID4gcGFja2V0IGludG8gc2V2ZXJhbCBzZXBhcmF0ZSBzZWdtZW50cyBi YXNlZCBvbiB0aGUgcGFja2V0IGNvbnRlbnQuIEl0DQo+ID4gaXMgdXNlZnVsIGluIHNvbWUgc2Nl bmFyaW9zLCBzdWNoIGFzIEdQVSBhY2NlbGVyYXRpb24uIFRoZSBzcGxpdHRpbmcNCj4gPiB3aWxs IGhlbHAgdG8gZW5hYmxlIHRydWUgemVybyBjb3B5IGFuZCBoZW5jZSBpbXByb3ZlIHRoZSBwZXJm b3JtYW5jZQ0KPiBzaWduaWZpY2FudGx5Lg0KPiA+DQo+ID4gVGhpcyBwYXRjaHNldCBhaW1zIHRv IHN1cHBvcnQgcHJvdG9jb2wgaGVhZGVyIHNwbGl0IGJhc2VkIG9uIGN1cnJlbnQNCj4gPiBidWZm ZXIgc3BsaXQuIFdoZW4gUnggcXVldWUgaXMgY29uZmlndXJlZCB3aXRoDQo+ID4gUlRFX0VUSF9S WF9PRkZMT0FEX0JVRkZFUl9TUExJVCBvZmZsb2FkIGFuZCBjb3JyZXNwb25kaW5nIHByb3RvY29s LA0KPiA+IHBhY2tldHMgcmVjZWl2ZWQgd2lsbCBiZSBkaXJlY3RseSBzcGxpdCBpbnRvIGRpZmZl cmVudCBtZW1wb29scy4NCj4gPg0KPiA+IENoYW5nZSBsb2c6DQo+ID4gdjk6DQo+ID4gRGVmaW5l IHRoZSBpbnRlbmQgYmVoYXZpb3JzIGZvciBleGFjdCBtYXRjaCBhbmQgbG9uZ2VzdCBtYXRjaC4N Cj4gPiBBZGQgcHJvdG9jb2wgaGVhZGVycyByZXBlYXQgY2hlY2suDQo+ID4gQWRkIG5vIHByb3Rv LXNwbGl0IGFmdGVyIGxlbmd0aC1iYXNlZCBzcGxpdCBjaGVjay4NCj4gPiBBZGQgYSBoZWxwZXIg ZnVuY3Rpb24gdG8gc2hvcnQgdGhlIGNoZWNrIGZ1bmN0aW9uLg0KPiA+IFJlZmluZSB0aGUgZG9j IGFuZCBjb21taXQgbG9nLg0KPiANCj4gV2l0aCBmZXcgbWlub3IgZml4ZXMsIGFwcGxpZWQgdG8g ZHBkay1uZXh0LW5ldC9tYWluLCB0aGFua3MuDQoNClNpbmNlcmUgdGhhbmtzIHRvIGFsbCB0aGUg cmV2aWV3ZXJzIHdobyBwcm92aWRlZCB2YWx1YWJsZSBjb21tZW50cyBvbiB0aGlzIHBhdGNoIHNl cmllcy4NCg0KUmVnYXJkcywNClh1YW4NCg0KPiANCg0K