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 A979F41FCD; Wed, 30 Aug 2023 15:09:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 35CBF40280; Wed, 30 Aug 2023 15:09:15 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2052.outbound.protection.outlook.com [40.107.220.52]) by mails.dpdk.org (Postfix) with ESMTP id 3656640277 for ; Wed, 30 Aug 2023 15:09:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sl50N1B9IT5L+xOLdfdVIm8bZOczd9nZwVolRtKb5XYVqHAdCY+TCTiFQhIXDZmTsJwcQr5x8mUjmFVZRQxNBIVJRpmpuKCrPS8+ZtjLxET5D75E+tsBQ4VBU1sXw8Yv+wR0d7br2d10VxW3hnUKzJNcAn1T4xWLBB88K6b8OJ7RjOmcaUtmwiIvDxKwzfCs9EYL6rdbPJqXRPRKw+hrZohnmFvbPYEsPyJ878e+v5Ua0O5OJPqM2tPmYf3hGAADV5rrqqyzsLZIY1xJApTJgrHPm049DgFx32G/4n4CbDv/xGFWgyF8z5AUIHb75uIpBGcIh8sbKdMdQ/9/OmVNhw== 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=6/CED1okEvL3nCjtLCUgO6g8AyijI48CNzLfh+vHlOo=; b=azo5XcJbfbKBsy3n6BpLkZudIr5UvY27pk2jyrk/Wpg5yG/Fezsi2KJGq49MG6j1cu4y9EYO8UeCS60lga008iARM5dj7iq1Ibid02Cf60YxYGg3meNavnBu/VqD67Y9jZryKRwmZ0Ifqz314kDtps3/JVbehriPol/Z2Yo0cbPGKfjinh1wAgNVmHzs8km7jg3qUe6Cl9rZtzcUoTqpxgXO/3QEBZGyfRvu8XcLGGjL2Lw7m6uhLs1CfS9WFRHggJfSNXf4jGVt1Vu2Mjy253xwL20RcoO0rU41h6P01v6pRgC1TCK8X2fwE6m5VyPMGe7tzpSrNngyu2zMjElJtw== 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=6/CED1okEvL3nCjtLCUgO6g8AyijI48CNzLfh+vHlOo=; b=ID09wPtf/Fw6h6rX1CPHCazWNuibInH5a3/6z8OaxRKoqlAnKDEf3xSZa8pQH+EpY3qA8rBc3uP5NerkAzloMqcA3Es4d9dmkKTShow9DS5W/SFlQnNxPyn11AAwlZXmAkVxL8QT4qb02rlJHj9En8E5Q2aWtsCj8vlTI4o4ZFKX5UlxfI5lkr3SlYMZN+tuSjc6xYek3p5EYlfxlDXNnb/L/qRo+eOjLryJqg2/+5HXPqqTg3R7d0osTxpWo5svRDzIwfKzWZ/eLTA9/ozNpYg8TFmN2U7yzHoJZ4Nby96X9Mt7W89uQqXwbHyHRUFHLaiZNy/6QSXP1v66TyqcVA== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39d::14) by SA3PR12MB7999.namprd12.prod.outlook.com (2603:10b6:806:312::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Wed, 30 Aug 2023 13:09:10 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::31fe:170b:f6dc:d78]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::31fe:170b:f6dc:d78%7]) with mapi id 15.20.6745.015; Wed, 30 Aug 2023 13:09:10 +0000 From: "Xueming(Steven) Li" To: "lihuisong (C)" , Ori Kam CC: "dev@dpdk.org" , "fengchengwen@huawei.com" , Ivan Malov Subject: RE: [PATCH v2 1/2] ethdev: add new symmetric hash function Thread-Topic: [PATCH v2 1/2] ethdev: add new symmetric hash function Thread-Index: AQHZ2L8EH783CdWME02M+EWuYURLj7ACe80AgAALblCAAEYLAIAAAv4w Date: Wed, 30 Aug 2023 13:09:10 +0000 Message-ID: References: <20230807115456.17478-1-xuemingl@nvidia.com> <20230827081745.31906-1-xuemingl@nvidia.com> <0926596b-7474-8821-55af-45699d5fc878@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5373:EE_|SA3PR12MB7999:EE_ x-ms-office365-filtering-correlation-id: a2df083b-46b2-4ba2-998e-08dba95a4d0e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: W3GGyqh2Lb0vfzFiJteGvzhy+CEYEidvnoyCLZNxYx4YGBxo0Jzabu3jOKyQVUXTYOOOVQ9w0xl43M89U26HlIqsxzdrO45QwlWDXskNsfbBAsbqNZN/HVPSE2hDqO+omwwD4iu6aPC4v+YQdnV0jgBkhkV3YxE+mCxFhIXKSOSC3IT4+rKpAjuFgClMkw8kS64diOFgsYkH4wdP8BnfM+2dAKEwrIvcNIEb9mJ9WpbDuCAPYd+gzhI50SV5YZrp45GYOGj/93dgpGZGqPmI4lgafMIuWvNcxt1NQQbUnnG1u1ozkycFSh+HZ3A0xcpMo79A7ti2P+wmj7XRJtWU2tXwilXqFV8VdePrKjHvVvgmxYVmkjJlZvZIEMtBWVOO1yM0i4dVUUCCkL7d8MxQ7otDdjNouOt9ASF2FOlc5KfI+E/+WTy437uNzIXWQVp0ztfiVlF71sBiztXRLo6MUywWzICoxM5CXUK5HP71Y6Q4btfh2HBY8xuH6dRSA2bBQUnCKIi8DeNnz5kXMxm+KrIqsty4a8o/NGVhjG1pJWvln3ongOQwVrIZ49jPjSmvVUwWHH/gfFtTSVNsMIMAyFZjL1fsB+5yknEeX22cI7cVCBJwcoVyemOH4VFlcFhkp6aRZHaRcktgLySsGkERTzmKjwz7to+s6NizyIjGqfw= 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:(13230031)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199024)(1800799009)(186009)(9686003)(26005)(316002)(38100700002)(38070700005)(6636002)(41300700001)(4326008)(33656002)(55016003)(2906002)(52536014)(86362001)(5660300002)(8676002)(83380400001)(8936002)(71200400001)(66446008)(7696005)(966005)(6506007)(64756008)(66476007)(66556008)(54906003)(53546011)(76116006)(110136005)(66946007)(478600001)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dVZwOGdGd2dENnJLeXM3eHYzZGxrbDZDWmhFSklqRG9acTJWeTBOcDdJOTFh?= =?utf-8?B?a3pKR2ZIdFhKUmxBT3Z6S0lyY1ZyMGo0QXFWTGFDQjZWUkFuNmdrWXhmZWwx?= =?utf-8?B?YWFIR29GZ2FydGVOREdYbGRWVG1CeXBaeG9TOGF1UXZHZ0lKdXVRejN2dmpH?= =?utf-8?B?MWk0ZkxMSzBwNlRqczZRR0pUVldWbGJKdGNyRHh4VVRod0dPQVhNV0lLK0JS?= =?utf-8?B?N0RhaWw1WjRaZEpRY21ndzZYeE0zNC93Zjg4MDIzUFh0ajBBQk5UQmswNGty?= =?utf-8?B?TUEycUhuTDNJdkpRY0JaTGRnaEN0OTNpV1JTZnlaMnNEYlk0NFl5dHo5bTVM?= =?utf-8?B?SDlMMmhFcjV4Zk1pNGR0OWkwUFljbGk0U0J4dGwzSHVhRCt2ZHpmU2xBemxO?= =?utf-8?B?TVpHRzBLbkpaSmhpM1RYbTF4bjJoZW9hY0ViVHJPbnorNVZYTmVBaWp4ZGhu?= =?utf-8?B?azBxNTV0YXlXS2VlQzNmUzFtVFFZSEExNFNJY3EyUFZ2Yy9UU1BWQmRrU0F0?= =?utf-8?B?cE9wdEtCaDdibXlDekY4bmtDNUMzb2JrSGMvd2M3cnYxQjQxUzJLT0trTGFn?= =?utf-8?B?NzJLVG1BQVlFbWpZTXdBM05hbVI1RVdPc2lTL3JqMFN4Y0VxcW9ZQ2FYWWdi?= =?utf-8?B?d1FMdm9oMjYrZFFkM2lUbkNFRTk3VlErMWVFVWxvS3B3UGZZSXJhSXdlZkZm?= =?utf-8?B?eXRHM0gxVkxHa09uR2RubzFxZTdaaytreXBWMlY0NjBkVWp5cEdXQ1o3R2JG?= =?utf-8?B?cXkvVDJVZHI1ZmFlbWoxaXJOVTFrQys4dnRQN21ray9sRldINHZHdWhpUDZv?= =?utf-8?B?SlZ1KzQ1TkMvOUYxOTNJcERLRS90Y1NGb3VoRXJzSjRmZDNxWjRwc1NKRW5G?= =?utf-8?B?ZEcySkdGanh3eENkWEdsOUZseExSano5NDA4bUtoVUtmejNINmRieFlsWUg5?= =?utf-8?B?NXRuRUQ2MFA1dFBFVk1jNXc5YS9rOTdKejh1MFk5YjZGZ1RLUmpEUXEvY29H?= =?utf-8?B?VGlwSndDNHdZSExuQ3ZiSmNaNm9pcFNmT1ZnNHhQWXlFUU9nR0VqUVB2Wk5O?= =?utf-8?B?Z1h4ZVl3UTMwVS9nVDJwd3JkZHhZNlJVNnB3dW9TY0MzT0tGc1Q5MVpGREpW?= =?utf-8?B?MjJCQ3RlT2NnZWhNWnU0alhHNzhtUyswY1ppTGhRQ2t2Z1lEajRhNTIrbGcw?= =?utf-8?B?enVNM0JLVzJZTWdwYW9Ec1UxenZpTnR0WGpRbmErNzdyS1F0VHp5RXZWTVpr?= =?utf-8?B?WGw4aEVqSjBJN1FJMFIrL2RkeWR1bGIvZTJLdTFNM1k4cGJ3YkwzVWFvMEhr?= =?utf-8?B?M2lwNVNvcmNpYWV5Y2FDWVR1T0lNdmlYM0VtbnZqUmlHdjdpcCtPTUtDd3Jj?= =?utf-8?B?eCtZR1BSVUxVSkVPb25xdVMzME4ySjcxdHhNNmNEM3VMZUMwU3E2RkZZY3NV?= =?utf-8?B?dnZxWmlkL256R3FSVDU2Q0RQeDdiK213elR1UGU5VFQvQUFHckN0cldCU3Nu?= =?utf-8?B?RjdiQmRVZmpNVWZha3ZxZytycmxPVnZvcFNleEFQWUI3VWR6cFJrdTNibUEw?= =?utf-8?B?UGZaZ2ZjR2JqRUlReVdYZGQ1S0hldFozbG16cHdIeXJSdjdoQUc4WTdzYU9x?= =?utf-8?B?MkNZYTdIUS9LV0JjVEpKbDFmdDU3bnJtc2xpQklMZWpTOHJTbTJ1dER0dE1z?= =?utf-8?B?WGx2T0FyejM0Y2c1WTBuWFF4OFN6VHA2bjJBck5xWSt2L1Z2V2g3M0dSOTJv?= =?utf-8?B?N2JQdWloUlJncmY4TytGZTFhRkF5OWVTUUVsTkxxd2twZWJOclhTQUZHaTY0?= =?utf-8?B?eHpRRkZqVlk0UGo2V2c5Zk8xYktXQmo0cVVXWDYrVG1zVXFqTDhSdU1ZNDhl?= =?utf-8?B?amRKRnVQMXFUbDU2QTdWd0pSRHY5cjh6SVk0VjBCZXMxNG9DN09Ja0hzSi8w?= =?utf-8?B?Vmk1b3RIcEZxUndjdFRmOUE2YWVhSlZPSVVzMWRTSm9LMGlVTjJRbFBKTVZC?= =?utf-8?B?SWd3ZUVHVXBRUXRFTVllRVFKQVo0OHVkY2tiMU5JL1JKdTZCNkFXWUFPd2la?= =?utf-8?B?d1Fpa1ZWNkRKRkNTZnJaRWd1ZVd4UVZsVFVja0l3Sm1kRVJTYkM0UjQraGJa?= =?utf-8?Q?3Qb8wLK23jRxP1nEYVwvv/l9T?= 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: a2df083b-46b2-4ba2-998e-08dba95a4d0e X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2023 13:09:10.7988 (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: Mui3oNssYLTKpSVwpZLpjNaMj9Bes+MGLlGIsswhYW1Xpm+COiYn+xwVBL1DvmhJamtRlCPc7yDY9dKU9U9qbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7999 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGlodWlzb25nIChDKSA8 bGlodWlzb25nQGh1YXdlaS5jb20+DQo+IFNlbnQ6IDgvMzAvMjAyMyAyMDo0Mg0KPiBUbzogWHVl bWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPjsgT3JpIEthbSA8b3Jpa2FAbnZp ZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb207IEl2 YW4gTWFsb3YNCj4gPGl2YW4ubWFsb3ZAYXJrbmV0d29ya3MuYW0+DQo+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggdjIgMS8yXSBldGhkZXY6IGFkZCBuZXcgc3ltbWV0cmljIGhhc2ggZnVuY3Rpb24NCj4g DQo+IA0KPiDlnKggMjAyMy84LzMwIDE2OjM4LCBYdWVtaW5nKFN0ZXZlbikgTGkg5YaZ6YGTOg0K PiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGxpaHVpc29u ZyAoQykgPGxpaHVpc29uZ0BodWF3ZWkuY29tPg0KPiA+PiBTZW50OiA4LzMwLzIwMjMgMTU6NTEN Cj4gPj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT47IE9yaSBL YW0NCj4gPj4gPG9yaWthQG52aWRpYS5jb20+DQo+ID4+IENjOiBkZXZAZHBkay5vcmc7IGZlbmdj aGVuZ3dlbkBodWF3ZWkuY29tOyBJdmFuIE1hbG92DQo+ID4+IDxpdmFuLm1hbG92QGFya25ldHdv cmtzLmFtPg0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvMl0gZXRoZGV2OiBhZGQgbmV3 IHN5bW1ldHJpYyBoYXNoIGZ1bmN0aW9uDQo+ID4+DQo+ID4+IEhpIFh1ZW1pbmcsDQo+ID4+DQo+ ID4+IOWcqCAyMDIzLzgvMjcgMTY6MTcsIFh1ZW1pbmcgTGkg5YaZ6YGTOg0KPiA+Pj4gVGhlIG5l dyBzeW1tZXRyaWMgaGFzaCBmdW5jdGlvbiBzd2FwIHNyYy9kc3QgTDMgYWRkcmVzcyBhbmQNCj4g Pj4+IEw0IHBvcnRzIGF1dG9tYXRpY2FsbHkgYnkgc29ydGluZy4NCj4gPj4+DQo+ID4+PiBTaWdu ZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+Pj4gLS0tDQo+ ID4+PiAgICBsaWIvZXRoZGV2L3J0ZV9mbG93LmggfCA3ICsrKysrKysNCj4gPj4+ICAgIDEgZmls ZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvbGli L2V0aGRldi9ydGVfZmxvdy5oIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oIGluZGV4DQo+ID4+PiAy ZWJiNzZkYmMwLi40ZjQ0MjFjYTUwIDEwMDY0NA0KPiA+Pj4gLS0tIGEvbGliL2V0aGRldi9ydGVf Zmxvdy5oDQo+ID4+PiArKysgYi9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPj4+IEBAIC0zMTk2 LDYgKzMxOTYsMTMgQEAgZW51bSBydGVfZXRoX2hhc2hfZnVuY3Rpb24gew0KPiA+Pj4gICAgCSAq IHNyYyBvciBkc3QgYWRkcmVzcyB3aWxsIHhvciB3aXRoIHplcm8gcGFpci4NCj4gPj4+ICAgIAkg Ki8NCj4gPj4+ICAgIAlSVEVfRVRIX0hBU0hfRlVOQ1RJT05fU1lNTUVUUklDX1RPRVBMSVRaLA0K PiA+Pj4gKwkvKioNCj4gPj4+ICsJICogU3ltbWV0cmljIFRvZXBsaXR6OiBMMyBhbmQgTDQgZmll bGRzIGFyZSBzb3J0ZWQgcHJpb3IgdG8NCj4gPj4+ICsJICogdGhlIGhhc2ggZnVuY3Rpb24uDQo+ ID4+PiArCSAqICBJZiBzcmNfaXAgPiBkc3RfaXAsIHN3YXAgc3JjX2lwIGFuZCBkc3RfaXAuDQo+ ID4+PiArCSAqICBJZiBzcmNfcG9ydCA+IGRzdF9wb3J0LCBzd2FwIHNyY19wb3J0IGFuZCBkc3Rf cG9ydC4NCj4gPj4+ICsJICovDQo+ID4+IElmIGhhc2ggcmVzdWx0IGFyZSBjb21wdXRlZCBieSB0 aGUgb3JkZXI6DQo+ICJzcmNfaXArZHN0X2lwK3NyY19wb3J0K2RzdF9wb3J0Ig0KPiA+PiBIb3cg dG8gb2J0YWluIHRoZSB2YWx1ZSBvZiBldmVyeSBMMyBhbmQgTDQgZmllbGQgb2JvdmU/DQo+ID4+ IEkgc3RpbGwgY2Fubm90IHVuZGVyc3RhbmQgaG93IHRvIHN3YXAgYW5kIHNldCB0aGVzZSB2YWx1 ZXMgZm9yIHRoZXNlIGZpZWxkcz8NCj4gPiBIYXNoIHJlc3VsdCBpcyBjb21wdXRlZCBieSBvcmRl ciAiInNyY19pcCtkc3RfaXArc3JjX3BvcnQrZHN0X3BvcnQiDQo+ID4gSGVyZSBpcyBhIGRldGFp bGVkIGV4cGxhbmF0aW9uIG9mIHN0YW5kYXJkIGhhc2ggYW5kIHN5bW1ldHJpYyBoYXNoIGJ5IGtl eToNCj4gPiAgICBodHRwczovL3d3dy5uZHNsLmthaXN0LmVkdS9+a3lvdW5nc29vL3BhcGVycy9U Ui1zeW1SU1MucGRmDQo+ID4NCj4gPiBJZiBzcmNfaXAgPiBkc3RfaXAsIHN3YXAgdGhlbSwgdGhl biB0aGUgaW5wdXQgYmVjb21lczoNCj4gPiAgICAiZHN0X2lwK3NyY19pcCtzcmNfcG9ydCtkc3Rf cG9ydCIgLy8gcGxlYXNlIG5vdGUgc3JjIGFuZCBkc3QgSVAgYXJlDQo+IHN3YXBwZWQuDQo+ID4g U2FtZSBmb3IgTDQgcG9ydHMuDQo+IGdldCBpdC4NCj4gV2hhdCBhcmUgdGhlIGFkdmFudGFnZXMg b2YgdGhlIHN5bW1ldHJpYyB0b2VwbGl0eiBzb3J0Pw0KPiBPciB3aHkgc3dhcCBoZXJlPw0KDQpJ dCdzIGEgZGlmZmVyZW50IHN5bW1ldHJpYyBoYXNoIGNhbGN1bGF0aW9uLCBoYXJkd2FyZSBjYW4g c3VwcG9ydCBlaXRoZXIvYWxsIG9mIHRoZW0uDQoNCkZyb20gY2FsY3VsYXRpb24gcGVyc3BlY3Rp dmUsIHRoZSBoYXNoIHJlc3VsdCBkaXN0cmlidXRpb24gaXMgYmV0dGVyLCB0aGUgcmVzdWx0IGlz IG1vcmUNCnN1aXRhYmxlIHRvIGJlIHVzZWQgYXMgaGFzaCB0YWJsZSBrZXkuDQoNCj4gPg0KPiA+ Pj4gKwlSVEVfRVRIX0hBU0hfRlVOQ1RJT05fU1lNTUVUUklDX1RPRVBMSVRaX1NPUlQsDQo+ID4+ PiAgICAJUlRFX0VUSF9IQVNIX0ZVTkNUSU9OX01BWCwNCj4gPj4+ICAgIH07DQo+ID4+Pg0K