From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80072.outbound.protection.outlook.com [40.107.8.72]) by dpdk.org (Postfix) with ESMTP id 269F154AE for ; Thu, 28 Mar 2019 11:52:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bWkA78kKdc/In0jLisUYMrr6v32KIC8aL5/kL0YUeYg=; b=gbpi8Jq6AiFXjFzEIqgDAwmzusdTdF3wuJV4YveJZafT1GR5njtkLrKx4KVcM9RkZp0Em+uTGTbe/RNQx3TcOPriLA+2T+FeMsdIJe/8MmkDyufY5t283FDh86QZ+jqIgCAuhVeYSro+DUOtbnMBFRoutkBNfo/y96d9/VzJoNY= Received: from VI1PR04MB4893.eurprd04.prod.outlook.com (20.177.49.154) by VI1PR04MB4336.eurprd04.prod.outlook.com (52.134.122.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.17; Thu, 28 Mar 2019 10:52:44 +0000 Received: from VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb]) by VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb%4]) with mapi id 15.20.1750.014; Thu, 28 Mar 2019 10:52:44 +0000 From: Akhil Goyal To: Konstantin Ananyev , "dev@dpdk.org" CC: "olivier.matz@6wind.com" Thread-Topic: [dpdk-dev] [PATCH v3 4/8] ipsec: change the way unprocessed mbufs are accounted Thread-Index: AQHU4+q6fHZJOaNCPki5t4sIqXntz6Yg4OIA Date: Thu, 28 Mar 2019 10:52:44 +0000 Message-ID: <936be7cb-8121-02c7-900b-1c4ff2f26ac0@nxp.com> References: <20190320184655.17004-2-konstantin.ananyev@intel.com> <20190326154320.29913-1-konstantin.ananyev@intel.com> <20190326154320.29913-5-konstantin.ananyev@intel.com> In-Reply-To: <20190326154320.29913-5-konstantin.ananyev@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR01CA0138.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:40::32) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.0.5] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9af92f69-9675-41ee-2912-08d6b36b81ed x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600127)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4336; x-ms-traffictypediagnostic: VI1PR04MB4336: x-microsoft-antispam-prvs: x-forefront-prvs: 0990C54589 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(39860400002)(366004)(396003)(376002)(189003)(199004)(229853002)(6486002)(81156014)(81166006)(68736007)(8676002)(31696002)(105586002)(36756003)(478600001)(86362001)(44832011)(8936002)(31686004)(106356001)(2501003)(66066001)(386003)(6506007)(53546011)(102836004)(26005)(76176011)(97736004)(186003)(71190400001)(71200400001)(99286004)(52116002)(305945005)(7736002)(316002)(110136005)(2906002)(6116002)(3846002)(6512007)(6436002)(53936002)(6246003)(256004)(476003)(486006)(4326008)(446003)(5660300002)(14454004)(2616005)(25786009)(11346002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4336; H:VI1PR04MB4893.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: x3GH92xcDme0mo6jteylDfxZ6jN5sfRNEg3TamdtAqXZio9pIOKpCUpoc/bbd44YWDLHEYGSHGR5bCf1PZkw8cD3Y1GZnKheoggPorhCJfXh5DFuDekzRBIcgOEROHPWzUwGLMdqrO8Vo7CeapEk3lnUpXW1XNpcAvKmtJmjtw2Y0Nc1f4H8p/NaUcDjaDdGAypHW7wV3u7tpW08AJ9ztXBq5u0AKy7rN1hZu2RtaAAtIFizVszsV/5YjT3IsWNTKR3doDr3Mo41zau9Mt5Nlg3XDB2027uTKF3is3mR6rL/5Bb2tQHHvNCvt0Y7W00h3lQaPg0Au76kjbV7ia9wbqcXJiai5pXwi5Dk956/QrCbJ5U1xPywggnaRVW96tR9Fc+5vG3dl3tr4BM3UaPMJ/Pv8X/ZWSx78SEh4U2DnV8= Content-Type: text/plain; charset="utf-8" Content-ID: <4DBB82FAEAC24B4FB124623469B01F39@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9af92f69-9675-41ee-2912-08d6b36b81ed X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2019 10:52:44.6052 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4336 Subject: Re: [dpdk-dev] [PATCH v3 4/8] ipsec: change the way unprocessed mbufs are accounted 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: , X-List-Received-Date: Thu, 28 Mar 2019 10:52:46 -0000 DQoNCk9uIDMvMjYvMjAxOSA5OjEzIFBNLCBLb25zdGFudGluIEFuYW55ZXYgd3JvdGU6DQo+IEFz IHdhcyBwb2ludGVkIGluIG9uZSBvZiBwcmV2aW91cyByZXZpZXdzIC0gd2UgY2FuIGF2b2lkIHVw ZGF0aW5nDQo+IGNvbnRlbnRzIG9mIG1idWYgYXJyYXkgZm9yIHN1Y2Nlc3NmdWxseSBwcm9jZXNz ZWQgcGFja2V0cy4NCj4gSW5zdGVhZCBzdG9yZSBpbmRleGVzIG9mIGZhaWxlZCBwYWNrZXRzLCB0 byBtb3ZlIHRoZW0gYmV5b25kIHRoZSBnb29kDQo+IG9uZXMgbGF0ZXIuDQo+DQo+IFNpZ25lZC1v ZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4N Cj4gLS0tDQo+ICAgbGliL2xpYnJ0ZV9pcHNlYy9zYS5jIHwgMTY2ICsrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA5MyBpbnNlcnRp b25zKCspLCA3MyBkZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfaXBz ZWMvc2EuYyBiL2xpYi9saWJydGVfaXBzZWMvc2EuYw0KPiBpbmRleCA5N2MwZjhjNjEuLjAwOWVm ZDFkMyAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9pcHNlYy9zYS5jDQo+ICsrKyBiL2xpYi9s aWJydGVfaXBzZWMvc2EuYw0KPiBAQCAtNDUwLDE0ICs0NTAsMzEgQEAgcnRlX2lwc2VjX3NhX2lu aXQoc3RydWN0IHJ0ZV9pcHNlY19zYSAqc2EsIGNvbnN0IHN0cnVjdCBydGVfaXBzZWNfc2FfcHJt ICpwcm0sDQo+ICAgCXJldHVybiBzejsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHZv aWQNCj4gLW1idWZfYnVsa19jb3B5KHN0cnVjdCBydGVfbWJ1ZiAqZHN0W10sIHN0cnVjdCBydGVf bWJ1ZiAqIGNvbnN0IHNyY1tdLA0KPiAtCXVpbnQzMl90IG51bSkNCj4gKy8qDQo+ICsgKiBNb3Zl IGJhZCAodW5wcm9jZXNzZWQpIG1idWZzIGJleW9uZCB0aGUgZ29vZCAocHJvY2Vzc2VkKSBvbmVz Lg0KPiArICogZHJbXSBjb250YWlucyB0aGUgaW5kZXhlcyBvZiBiYWQgbWJ1ZnMgaW5zaW5kZSB0 aGUgbWJbXS4NCnNwZWxsIGNoZWNrLg0KDQpkcltdLGRyYixkcm4gbG9va3MgY3J5cHRpYyBjYW4g d2UgaGF2ZSBiZXR0ZXIgbmFtaW5nIHdoaWNoIGlzIG1vcmUgcmVhZGFibGUuDQo+ICsgKi8NCj4g K3N0YXRpYyB2b2lkDQo+ICttYnVmX2JhZF9tb3ZlKHN0cnVjdCBydGVfbWJ1ZiAqbWJbXSwgY29u c3QgdWludDMyX3QgZHJbXSwgdWludDMyX3QgbnVtLA0KbW92ZV9iYWRfbWJ1ZnMoKSB3b3VsZCBi ZSBiZXR0ZXIuDQo+ICsJdWludDMyX3QgZHJuKQ0KPiAgIHsNCj4gLQl1aW50MzJfdCBpOw0KPiAr CXVpbnQzMl90IGksIGosIGs7DQo+ICsJc3RydWN0IHJ0ZV9tYnVmICpkcmJbZHJuXTsNCj4gKw0K PiArCWogPSAwOw0KPiArCWsgPSAwOw0KPiAgIA0KPiAtCWZvciAoaSA9IDA7IGkgIT0gbnVtOyBp KyspDQo+IC0JCWRzdFtpXSA9IHNyY1tpXTsNCj4gKwkvKiBjb3B5IGJhZCBvbmVzIGludG8gYSB0 ZW1wIHBsYWNlICovDQo+ICsJZm9yIChpID0gMDsgaSAhPSBudW07IGkrKykgew0KPiArCQlpZiAo aiAhPSBkcm4gJiYgaSA9PSBkcltqXSkNCj4gKwkJCWRyYltqKytdID0gbWJbaV07DQo+ICsJCWVs c2UNCj4gKwkJCW1iW2srK10gPSBtYltpXTsNCj4gKwl9DQo+ICsNCj4gKwkvKiBjb3B5IGJhZCBv bmVzIGFmdGVyIHRoZSBnb29kIG9uZXMgKi8NCj4gKwlmb3IgKGkgPSAwOyBpICE9IGRybjsgaSsr KQ0KPiArCQltYltrICsgaV0gPSBkcmJbaV07DQo+ICAgfQ0KPg0KQXBhcnQgZnJvbSB0aGF0DQpB Y2tlZC1ieTogQWtoaWwgR295YWwgPGFraGlsLmdveWFsQG54cC5jb20+DQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 3506DA067F for ; Thu, 28 Mar 2019 11:52:48 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 31BF31B05; Thu, 28 Mar 2019 11:52:47 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80072.outbound.protection.outlook.com [40.107.8.72]) by dpdk.org (Postfix) with ESMTP id 269F154AE for ; Thu, 28 Mar 2019 11:52:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bWkA78kKdc/In0jLisUYMrr6v32KIC8aL5/kL0YUeYg=; b=gbpi8Jq6AiFXjFzEIqgDAwmzusdTdF3wuJV4YveJZafT1GR5njtkLrKx4KVcM9RkZp0Em+uTGTbe/RNQx3TcOPriLA+2T+FeMsdIJe/8MmkDyufY5t283FDh86QZ+jqIgCAuhVeYSro+DUOtbnMBFRoutkBNfo/y96d9/VzJoNY= Received: from VI1PR04MB4893.eurprd04.prod.outlook.com (20.177.49.154) by VI1PR04MB4336.eurprd04.prod.outlook.com (52.134.122.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.17; Thu, 28 Mar 2019 10:52:44 +0000 Received: from VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb]) by VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb%4]) with mapi id 15.20.1750.014; Thu, 28 Mar 2019 10:52:44 +0000 From: Akhil Goyal To: Konstantin Ananyev , "dev@dpdk.org" CC: "olivier.matz@6wind.com" Thread-Topic: [dpdk-dev] [PATCH v3 4/8] ipsec: change the way unprocessed mbufs are accounted Thread-Index: AQHU4+q6fHZJOaNCPki5t4sIqXntz6Yg4OIA Date: Thu, 28 Mar 2019 10:52:44 +0000 Message-ID: <936be7cb-8121-02c7-900b-1c4ff2f26ac0@nxp.com> References: <20190320184655.17004-2-konstantin.ananyev@intel.com> <20190326154320.29913-1-konstantin.ananyev@intel.com> <20190326154320.29913-5-konstantin.ananyev@intel.com> In-Reply-To: <20190326154320.29913-5-konstantin.ananyev@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR01CA0138.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:40::32) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.0.5] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9af92f69-9675-41ee-2912-08d6b36b81ed x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600127)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4336; x-ms-traffictypediagnostic: VI1PR04MB4336: x-microsoft-antispam-prvs: x-forefront-prvs: 0990C54589 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(39860400002)(366004)(396003)(376002)(189003)(199004)(229853002)(6486002)(81156014)(81166006)(68736007)(8676002)(31696002)(105586002)(36756003)(478600001)(86362001)(44832011)(8936002)(31686004)(106356001)(2501003)(66066001)(386003)(6506007)(53546011)(102836004)(26005)(76176011)(97736004)(186003)(71190400001)(71200400001)(99286004)(52116002)(305945005)(7736002)(316002)(110136005)(2906002)(6116002)(3846002)(6512007)(6436002)(53936002)(6246003)(256004)(476003)(486006)(4326008)(446003)(5660300002)(14454004)(2616005)(25786009)(11346002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4336; H:VI1PR04MB4893.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: x3GH92xcDme0mo6jteylDfxZ6jN5sfRNEg3TamdtAqXZio9pIOKpCUpoc/bbd44YWDLHEYGSHGR5bCf1PZkw8cD3Y1GZnKheoggPorhCJfXh5DFuDekzRBIcgOEROHPWzUwGLMdqrO8Vo7CeapEk3lnUpXW1XNpcAvKmtJmjtw2Y0Nc1f4H8p/NaUcDjaDdGAypHW7wV3u7tpW08AJ9ztXBq5u0AKy7rN1hZu2RtaAAtIFizVszsV/5YjT3IsWNTKR3doDr3Mo41zau9Mt5Nlg3XDB2027uTKF3is3mR6rL/5Bb2tQHHvNCvt0Y7W00h3lQaPg0Au76kjbV7ia9wbqcXJiai5pXwi5Dk956/QrCbJ5U1xPywggnaRVW96tR9Fc+5vG3dl3tr4BM3UaPMJ/Pv8X/ZWSx78SEh4U2DnV8= Content-Type: text/plain; charset="UTF-8" Content-ID: <4DBB82FAEAC24B4FB124623469B01F39@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9af92f69-9675-41ee-2912-08d6b36b81ed X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2019 10:52:44.6052 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4336 Subject: Re: [dpdk-dev] [PATCH v3 4/8] ipsec: change the way unprocessed mbufs are accounted 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" Message-ID: <20190328105244.FBMZM2z-jWLSaeTsetVDZJ5HUUFNDU8UxWDZZX6gD1s@z> DQoNCk9uIDMvMjYvMjAxOSA5OjEzIFBNLCBLb25zdGFudGluIEFuYW55ZXYgd3JvdGU6DQo+IEFz IHdhcyBwb2ludGVkIGluIG9uZSBvZiBwcmV2aW91cyByZXZpZXdzIC0gd2UgY2FuIGF2b2lkIHVw ZGF0aW5nDQo+IGNvbnRlbnRzIG9mIG1idWYgYXJyYXkgZm9yIHN1Y2Nlc3NmdWxseSBwcm9jZXNz ZWQgcGFja2V0cy4NCj4gSW5zdGVhZCBzdG9yZSBpbmRleGVzIG9mIGZhaWxlZCBwYWNrZXRzLCB0 byBtb3ZlIHRoZW0gYmV5b25kIHRoZSBnb29kDQo+IG9uZXMgbGF0ZXIuDQo+DQo+IFNpZ25lZC1v ZmYtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4N Cj4gLS0tDQo+ICAgbGliL2xpYnJ0ZV9pcHNlYy9zYS5jIHwgMTY2ICsrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA5MyBpbnNlcnRp b25zKCspLCA3MyBkZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfaXBz ZWMvc2EuYyBiL2xpYi9saWJydGVfaXBzZWMvc2EuYw0KPiBpbmRleCA5N2MwZjhjNjEuLjAwOWVm ZDFkMyAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9pcHNlYy9zYS5jDQo+ICsrKyBiL2xpYi9s aWJydGVfaXBzZWMvc2EuYw0KPiBAQCAtNDUwLDE0ICs0NTAsMzEgQEAgcnRlX2lwc2VjX3NhX2lu aXQoc3RydWN0IHJ0ZV9pcHNlY19zYSAqc2EsIGNvbnN0IHN0cnVjdCBydGVfaXBzZWNfc2FfcHJt ICpwcm0sDQo+ICAgCXJldHVybiBzejsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHZv aWQNCj4gLW1idWZfYnVsa19jb3B5KHN0cnVjdCBydGVfbWJ1ZiAqZHN0W10sIHN0cnVjdCBydGVf bWJ1ZiAqIGNvbnN0IHNyY1tdLA0KPiAtCXVpbnQzMl90IG51bSkNCj4gKy8qDQo+ICsgKiBNb3Zl IGJhZCAodW5wcm9jZXNzZWQpIG1idWZzIGJleW9uZCB0aGUgZ29vZCAocHJvY2Vzc2VkKSBvbmVz Lg0KPiArICogZHJbXSBjb250YWlucyB0aGUgaW5kZXhlcyBvZiBiYWQgbWJ1ZnMgaW5zaW5kZSB0 aGUgbWJbXS4NCnNwZWxsIGNoZWNrLg0KDQpkcltdLGRyYixkcm4gbG9va3MgY3J5cHRpYyBjYW4g d2UgaGF2ZSBiZXR0ZXIgbmFtaW5nIHdoaWNoIGlzIG1vcmUgcmVhZGFibGUuDQo+ICsgKi8NCj4g K3N0YXRpYyB2b2lkDQo+ICttYnVmX2JhZF9tb3ZlKHN0cnVjdCBydGVfbWJ1ZiAqbWJbXSwgY29u c3QgdWludDMyX3QgZHJbXSwgdWludDMyX3QgbnVtLA0KbW92ZV9iYWRfbWJ1ZnMoKSB3b3VsZCBi ZSBiZXR0ZXIuDQo+ICsJdWludDMyX3QgZHJuKQ0KPiAgIHsNCj4gLQl1aW50MzJfdCBpOw0KPiAr CXVpbnQzMl90IGksIGosIGs7DQo+ICsJc3RydWN0IHJ0ZV9tYnVmICpkcmJbZHJuXTsNCj4gKw0K PiArCWogPSAwOw0KPiArCWsgPSAwOw0KPiAgIA0KPiAtCWZvciAoaSA9IDA7IGkgIT0gbnVtOyBp KyspDQo+IC0JCWRzdFtpXSA9IHNyY1tpXTsNCj4gKwkvKiBjb3B5IGJhZCBvbmVzIGludG8gYSB0 ZW1wIHBsYWNlICovDQo+ICsJZm9yIChpID0gMDsgaSAhPSBudW07IGkrKykgew0KPiArCQlpZiAo aiAhPSBkcm4gJiYgaSA9PSBkcltqXSkNCj4gKwkJCWRyYltqKytdID0gbWJbaV07DQo+ICsJCWVs c2UNCj4gKwkJCW1iW2srK10gPSBtYltpXTsNCj4gKwl9DQo+ICsNCj4gKwkvKiBjb3B5IGJhZCBv bmVzIGFmdGVyIHRoZSBnb29kIG9uZXMgKi8NCj4gKwlmb3IgKGkgPSAwOyBpICE9IGRybjsgaSsr KQ0KPiArCQltYltrICsgaV0gPSBkcmJbaV07DQo+ICAgfQ0KPg0KQXBhcnQgZnJvbSB0aGF0DQpB Y2tlZC1ieTogQWtoaWwgR295YWwgPGFraGlsLmdveWFsQG54cC5jb20+DQo=