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 B1DEBA0C4E; Mon, 8 Nov 2021 16:29:25 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A18640E28; Mon, 8 Nov 2021 16:29:25 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30048.outbound.protection.outlook.com [40.107.3.48]) by mails.dpdk.org (Postfix) with ESMTP id 6AFB040E03 for ; Mon, 8 Nov 2021 16:29:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fnylyLbOOhUvTfrjFPf0yWpXFH3ljQQvj1DDwa860qA=; b=PtUz8RRhdvJ5EimApSKd+LgzOJJfQFHCMp+MTeOyxQBbiPl3NN/w2E8MED3JB8DwCI2/XVgqNr1Nw22zgBQ0p1gT2p2AHTLpZfnSGfTPW4Fe/QIrNwebM4DL54haX5/p6fAZEtWlOIqf38uGwxJ2mr5iRRpG5MVlM+ftwDtGJvw= Received: from AM6P194CA0105.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::46) by GV1PR08MB7361.eurprd08.prod.outlook.com (2603:10a6:150:20::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Mon, 8 Nov 2021 15:29:21 +0000 Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8f:cafe::d) by AM6P194CA0105.outlook.office365.com (2603:10a6:209:8f::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Mon, 8 Nov 2021 15:29:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT043.mail.protection.outlook.com (10.152.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Mon, 8 Nov 2021 15:29:21 +0000 Received: ("Tessian outbound d49ee2bec50d:v108"); Mon, 08 Nov 2021 15:29:21 +0000 X-CR-MTA-TID: 64aa7808 Received: from 12c00f58e37b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id FCACC457-4406-44A9-AC40-1E9C3C352F27.1; Mon, 08 Nov 2021 15:29:15 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12c00f58e37b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 08 Nov 2021 15:29:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nzbfdjqym7TG02X16b46HlN3ADt14qjgP+yaVxhXTQi8lH5TxkB9aeGc6F9j6NDI9fxwGbO5w9i8i84EdfXi1gWUoes4ONlBzxJ60daiPUR7lVZrMi4CkYkcVo3DY3vrZ+wJlgMP34Wq0HmQPJQtMiIUq9kHyHx8jwKZHuMlgdJ9EdXDXpsHU4dPuof+h29Nns8oh/+4lo6BoFVoH6yC6flYQvcuHUpjEpLZuTKiR8sFG4GjPpPUQq/kvCOBrEbNRf+ANPA1CJ+BZZLY5PcdCFLrLiotzhVBbc6tYhm0HgfgWoSqJPLw5FJ0APl/ajfEY99tPerSy94btA5I6WX5Mg== 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=fnylyLbOOhUvTfrjFPf0yWpXFH3ljQQvj1DDwa860qA=; b=a+vzYQQF7zJdnaGgRWiSVdbLpvAhOjTettt3JobJRpZYD7R/VTUnYWcT67+kew2zHoFNb0Ri2+KQ7ALdlmw/vaH/YQqo6F8Ws1mX6GEbdhLXtkKYzmit/lUGdRAkgULX6dHJLpCbnrfzbvY43alTZYnCFdouroutWkWxljZdSFNfpydfw39gkG+fc2ibVkYXDtAbG2/2f88tKfTRkDz4tn1qC0PnirIj4fy+ans5pwyQJfXI24CosuaLedU09TzfG/xco9TrSA0JRrtkBQUJ8PyiV9jiqeECiIWRXPqUfWG+KcjhP5LtKRytKFvWihUXmq0BN/bQ0EN86o0emyQELQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fnylyLbOOhUvTfrjFPf0yWpXFH3ljQQvj1DDwa860qA=; b=PtUz8RRhdvJ5EimApSKd+LgzOJJfQFHCMp+MTeOyxQBbiPl3NN/w2E8MED3JB8DwCI2/XVgqNr1Nw22zgBQ0p1gT2p2AHTLpZfnSGfTPW4Fe/QIrNwebM4DL54haX5/p6fAZEtWlOIqf38uGwxJ2mr5iRRpG5MVlM+ftwDtGJvw= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB6PR0802MB2550.eurprd08.prod.outlook.com (2603:10a6:4:a1::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Mon, 8 Nov 2021 15:29:14 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::8501:86ca:a393:17b7]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::8501:86ca:a393:17b7%9]) with mapi id 15.20.4669.016; Mon, 8 Nov 2021 15:29:14 +0000 From: Honnappa Nagarahalli To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Dharmik Thakkar , "Ananyev, Konstantin" CC: Olivier Matz , Andrew Rybchenko , "dev@dpdk.org" , nd , Ruifeng Wang , nd Thread-Topic: [dpdk-dev] [RFC] mempool: implement index-based per core cache Thread-Index: AQHXtwuB3FbH85c80U2vmaazO82iNau+1ETwgAE6tgCAAv3qYIAocoNQgAFvUzCABS+EgIAABHVAgADdt4CAAClXwIAGB2tggAA/nqCAAIq6sA== Date: Mon, 8 Nov 2021 15:29:14 +0000 Message-ID: References: <20210930172735.2675627-1-dharmik.thakkar@arm.com> <98CBD80474FA8B44BF855DF32C47DC35D86C83@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86C9E@smartserver.smartshare.dk> <00330F38-A5D0-4B56-872E-0EA0E24808F7@arm.com> <98CBD80474FA8B44BF855DF32C47DC35D86CA2@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86CAE@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D86CAE@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 617CD0453A11844E803D7DE1F2480375.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 9644a030-c45f-48ea-36dc-08d9a2cc89a4 x-ms-traffictypediagnostic: DB6PR0802MB2550:|GV1PR08MB7361: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Ou2d6IQoB9cH64ADOcxpDnpjtZKcEqTNfx/h6emXrhnBeR2aIdC0cddFArR7V8yTNRSTBCqSAnjteSs8c6NOAv4UAJJ/7/7oCugkdH9InHqEg95TX+uF0gH0pE3Xw9Y3/kFPnnQvQgfFzm3iuknmiBQgDuH9wOk+g9xfcJaV4AQfb2SiysL1EdP4hfx9Is2FLDf14aM21YqQ09qyO7M2iII2a8B6o1bVbpFKnMYqlBN/qmvY2W4H5EyAZIj1wqMLkV7rvjXdhqIpGWfY4JIMZgyIu0TJOl2cHDXy+JbRtwCvzQG5qnxSZ9S5TgQaXxkgm0pRBoSHtX913ZV15Cjq3DRuaVs2YrbkposoXKj1EjizHMiJ+5NLJgoy7rwVFTXm8jgi5LdG3fC/tV5VcEJsJDBEjrithmWty7Nr7gxLzoVuikn1hc1l9qvRkUybN3ojeG94Qo/Sa3rtiTHo6F3k6N836y4ZMDjTHqWWSbvVNdaZ7057McTbiKCKMwCGDT0WkbrWnZ+cYypry1pScN4qod0KvnhnaNbMDON4xqSALx+BSV3KrExDezTNMNKYm3DfiW2j1rWo3Yr7uqMJWW0JRIe0wZsGjmLWOJ0loUsl1b2MfGSoZVXnorPajx3lBeQbbVH8JOtg3KdVRjF+oRaWRUW+nBt64HHIr0wIu94u1YHms4TmpXGV0YMm4QspY2OIWdb/PJFITInpSLwrMYuJUg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(2906002)(6506007)(38100700002)(52536014)(186003)(26005)(71200400001)(110136005)(122000001)(33656002)(4326008)(9686003)(54906003)(5660300002)(316002)(66556008)(66476007)(66446008)(55016002)(86362001)(66946007)(64756008)(76116006)(38070700005)(83380400001)(7696005)(508600001)(8676002)(8936002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2550 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 72abdc8b-289a-471c-2712-08d9a2cc854c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pffhm0J7ySYyT9h53XnjY98pnRmEGHAxr+B06Tepuy5jPAEMkuHjEhw9ZfXSjfTocWTxAfDa/LjlWg2AuxcwNTAmzLmrvetyfYe55UpAPLBUo8GtZytTLfHJ0RX7o8QYA+THRGF7qdvijQuUnrs7026lwB76W16ANYVAuc1wWhgeQd9Txs4YWGs6q4TfwXXAftDBk5WToEnIrEUS05lKCLQW455my2owU6ecMqlqX1zXhfEMXDviyg4185c7jZA0CNqWdjipu2IsFbKtRK5p7R9Ok0j+fS+4AGANsL+JpfRDydkcC4Qn1A+obgsnHXIbSoIv38S/KR4LteGlgkNRfZD8YDrXDqX3TtJVwXRslTophFpsZcHZ3WSTU/SM/5a/y/ZPgqe5mcf0x6s/kzA1uHi9WhQ4PlZbzoB5yuHmt9bkEiqeHnjjsCluy9ciZ2oiZjLPs2bS0KTS78eg6E1xakPuHVTWErn+NaetJ8eEkIC9XMVZPuT/vA+0J/F+5zERSFQdD7G4krZaAWfEra9MqDCkaujlyi9OrKARyURf3jG0lynW8UtyJZTOco2NHL2/X28XC5MBoqXegRcdknxPlIiwHKEABBEgUgM454bwHSYnyApXsdU8hNW7d9acEoSVI/pJ5o9PPuJ+lIz/HVSpeXer+KOtcw9Bks3L6Wwv5hc4DEVRxbbNuDj5fzbAyJin0ychPXx4NxJmTKP8+hfDrA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(186003)(70586007)(54906003)(70206006)(336012)(4326008)(2906002)(81166007)(55016002)(5660300002)(110136005)(316002)(47076005)(33656002)(36860700001)(508600001)(6506007)(9686003)(82310400003)(8676002)(356005)(83380400001)(86362001)(26005)(7696005)(8936002)(52536014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2021 15:29:21.4455 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9644a030-c45f-48ea-36dc-08d9a2cc89a4 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7361 Subject: Re: [dpdk-dev] [RFC] mempool: implement index-based per core cache 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 Sender: "dev" PHNuaXA+DQoNCj4gPiA+ID4gPj4+Pj4+Pj4+IEN1cnJlbnQgbWVtcG9vbCBwZXIgY29yZSBjYWNo ZSBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZA0KPiA+ID4gPiA+Pj4+Pj4+Pj4gb24NCj4gPiA+ID4g Pj4+Pj4gcG9pbnRlcg0KPiA+ID4gPiA+Pj4+Pj4+Pj4gRm9yIG1vc3QgYXJjaGl0ZWN0dXJlcywg ZWFjaCBwb2ludGVyIGNvbnN1bWVzIDY0Yg0KPiA+ID4gPiA+Pj4+Pj4+Pj4gUmVwbGFjZQ0KPiA+ IGl0DQo+ID4gPiA+ID4+Pj4+IHdpdGgNCj4gPiA+ID4gPj4+Pj4+Pj4+IGluZGV4LWJhc2VkIGlt cGxlbWVudGF0aW9uLCB3aGVyZSBpbiBlYWNoIGJ1ZmZlciBpcw0KPiA+ID4gPiA+Pj4+Pj4+Pj4g YWRkcmVzc2VkDQo+ID4gPiA+ID4+Pj4+IGJ5DQo+ID4gPiA+ID4+Pj4+Pj4+PiAocG9vbCBhZGRy ZXNzICsgaW5kZXgpDQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBJIGxpa2UgRGhhcm1paydz IHN1Z2dlc3Rpb24gdmVyeSBtdWNoLiBDUFUgY2FjaGUgaXMgYQ0KPiA+ID4gPiA+Pj4+IGNyaXRp Y2FsIGFuZCBsaW1pdGVkIHJlc291cmNlLg0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4gRFBE SyBoYXMgYSB0ZW5kZW5jeSBvZiB1c2luZyBwb2ludGVycyB3aGVyZSBpbmRleGVzIGNvdWxkIGJl DQo+ID4gdXNlZA0KPiA+ID4gPiA+Pj4+IGluc3RlYWQuIEkgc3VwcG9zZSBwb2ludGVycyBwcm92 aWRlIHRoZSBhZGRpdGlvbmFsDQo+ID4gPiA+ID4+Pj4gZmxleGliaWxpdHkNCj4gPiBvZg0KPiA+ ID4gPiA+Pj4+IG1peGluZyBlbnRyaWVzIGZyb20gZGlmZmVyZW50IG1lbW9yeSBwb29scywgZS5n LiBtdWx0aXBsZQ0KPiA+ID4gPiA+Pj4+IG1idWYNCj4gPiA+ID4gPj4gcG9vbHMuDQo+ID4gPiA+ ID4+Pj4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gQWdyZWVkLCB0aGFuayB5b3UhDQo+ID4gPiA+ ID4+DQo+ID4gPiA+ID4+Pj4+Pj4+DQo+ID4gPiA+ID4+Pj4+Pj4+IEkgZG9uJ3QgdGhpbmsgaXQg aXMgZ29pbmcgdG8gd29yazoNCj4gPiA+ID4gPj4+Pj4+Pj4gT24gNjQtYml0IHN5c3RlbXMgZGlm ZmVyZW5jZSBiZXR3ZWVuIHBvb2wgYWRkcmVzcyBhbmQNCj4gPiA+ID4gPj4+Pj4+Pj4gaXQncw0K PiA+ID4gPiBlbGVtDQo+ID4gPiA+ID4+Pj4+Pj4+IGFkZHJlc3MgY291bGQgYmUgYmlnZ2VyIHRo YW4gNEdCLg0KPiA+ID4gPiA+Pj4+Pj4+IEFyZSB5b3UgdGFsa2luZyBhYm91dCBhIGNhc2Ugd2hl cmUgdGhlIG1lbW9yeSBwb29sIHNpemUgaXMNCj4gPiA+ID4gPj4+Pj4+PiBtb3JlDQo+ID4gPiA+ ID4+Pj4+IHRoYW4gNEdCPw0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+IFRoYXQgaXMg b25lIHBvc3NpYmxlIHNjZW5hcmlvLg0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4gVGhhdCBj b3VsZCBiZSBzb2x2ZWQgYnkgbWFraW5nIHRoZSBpbmRleCBhbiBlbGVtZW50IGluZGV4DQo+ID4g aW5zdGVhZA0KPiA+ID4gPiBvZg0KPiA+ID4gPiA+PiBhDQo+ID4gPiA+ID4+Pj4gcG9pbnRlciBv ZmZzZXQ6IGFkZHJlc3MgPSAocG9vbCBhZGRyZXNzICsgaW5kZXggKiBlbGVtZW50DQo+ID4gc2l6 ZSkuDQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gT3IgaW5zdGVhZCBvZiBzY2FsaW5nIHRoZSBp bmRleCB3aXRoIHRoZSBlbGVtZW50IHNpemUsIHdoaWNoDQo+ID4gPiA+ID4+PiBpcw0KPiA+ID4g PiBvbmx5DQo+ID4gPiA+ID4+IGtub3duIGF0IHJ1bnRpbWUsIHRoZSBpbmRleCBjb3VsZCBiZSBt b3JlIGVmZmljaWVudGx5IHNjYWxlZCBieQ0KPiA+IGENCj4gPiA+ID4gPj4gY29tcGlsZSB0aW1l IGNvbnN0YW50IHN1Y2ggYXMgUlRFX01FTVBPT0xfQUxJR04gKD0NCj4gPiA+ID4gPj4gUlRFX0NB Q0hFX0xJTkVfU0laRSkuIFdpdGggYSBjYWNoZSBsaW5lIHNpemUgb2YgNjQgYnl0ZSwgdGhhdA0K PiA+IHdvdWxkDQo+ID4gPiA+ID4+IGFsbG93IGluZGV4aW5nIGludG8gbWVtcG9vbHMgdXAgdG8g MjU2IEdCIGluIHNpemUuDQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBMb29r aW5nIGF0IHRoaXMgc25pcHBldCBbMV0gZnJvbQ0KPiA+IHJ0ZV9tZW1wb29sX29wX3BvcHVsYXRl X2hlbHBlcigpLA0KPiA+ID4gPiA+PiB0aGVyZSBpcyBhbiDigJhvZmZzZXTigJkgYWRkZWQgdG8g YXZvaWQgb2JqZWN0cyB0byBjcm9zcyBwYWdlDQo+ID4gPiA+IGJvdW5kYXJpZXMuDQo+ID4gPiA+ ID4+IElmIG15IHVuZGVyc3RhbmRpbmcgaXMgY29ycmVjdCwgdXNpbmcgdGhlIGluZGV4IG9mIGVs ZW1lbnQNCj4gPiBpbnN0ZWFkDQo+ID4gPiA+IG9mIGENCj4gPiA+ID4gPj4gcG9pbnRlciBvZmZz ZXQgd2lsbCBwb3NlIGEgY2hhbGxlbmdlIGZvciBzb21lIG9mIHRoZSBjb3JuZXINCj4gPiBjYXNl cy4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gWzFdDQo+ID4gPiA+ID4+ICAgICAgICBmb3IgKGkg PSAwOyBpIDwgbWF4X29ianM7IGkrKykgew0KPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAvKiBh dm9pZCBvYmplY3RzIHRvIGNyb3NzIHBhZ2UgYm91bmRhcmllcyAqLw0KPiA+ID4gPiA+PiAgICAg ICAgICAgICAgICBpZiAoY2hlY2tfb2JqX2JvdW5kcyh2YSArIG9mZiwgcGdfc3osDQo+ID4gdG90 YWxfZWx0X3N6KQ0KPiA+ID4gPiA+PiA8DQo+ID4gPiA+ID4+IDApIHsNCj4gPiA+ID4gPj4gICAg ICAgICAgICAgICAgICAgICAgICBvZmYgKz0gUlRFX1BUUl9BTElHTl9DRUlMKHZhICsgb2ZmLA0K PiA+IHBnX3N6KSAtDQo+ID4gPiA+ID4+ICh2YSArIG9mZik7DQo+ID4gPiA+ID4+ICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKGZsYWdzICYNCj4gPiBSVEVfTUVNUE9PTF9QT1BVTEFURV9GX0FM SUdOX09CSikNCj4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZiAr PSB0b3RhbF9lbHRfc3ogLQ0KPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKCh1aW50cHRyX3QpKHZhICsgb2ZmIC0NCj4gPiAxKSAlDQo+ID4gPiA+ID4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfZWx0 X3N6KSArDQo+ID4gMSk7DQo+ID4gPiA+ID4+ICAgICAgICAgICAgICAgIH0NCj4gPiA+ID4gPj4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9LLiBBbHRlcm5hdGl2ZWx5IHRvIHNjYWxpbmcgdGhlIGlu ZGV4IHdpdGggYSBjYWNoZSBsaW5lIHNpemUsDQo+ID4geW91DQo+ID4gPiA+IGNhbiBzY2FsZSBp dCB3aXRoIHNpemVvZih1aW50cHRyX3QpIHRvIGJlIGFibGUgdG8gYWRkcmVzcyAzMiBvciAxNg0K PiA+IEdCDQo+ID4gPiA+IG1lbXBvb2xzIG9uIHJlc3BlY3RpdmVseSA2NCBiaXQgYW5kIDMyIGJp dCBhcmNoaXRlY3R1cmVzLiBCb3RoIHg4Ng0KPiA+IGFuZA0KPiA+ID4gPiBBUk0gQ1BVcyBoYXZl IGluc3RydWN0aW9ucyB0byBhY2Nlc3MgbWVtb3J5IHdpdGggYW4gYWRkZWQgb2Zmc2V0DQo+ID4g PiA+IG11bHRpcGxpZWQgYnkgNCBvciA4LiBTbyB0aGF0IHNob3VsZCBiZSBoaWdoIHBlcmZvcm1h bmNlLg0KPiA+ID4gPg0KPiA+ID4gPiBZZXMsIGFncmVlZCB0aGlzIGNhbiBiZSBkb25lLg0KPiA+ ID4gPiBDYWNoZSBsaW5lIHNpemUgY2FuIGFsc28gYmUgdXNlZCB3aGVuIOKAmE1FTVBPT0xfRl9O T19DQUNIRV9BTElHTuKAmQ0KPiA+ID4gPiBpcyBub3QgZW5hYmxlZC4NCj4gPiA+ID4gT24gYSBz aWRlIG5vdGUsIEkgd2FudGVkIHRvIGJldHRlciB1bmRlcnN0YW5kIHRoZSBuZWVkIGZvciBoYXZp bmcNCj4gPiB0aGUNCj4gPiA+ID4gJ01FTVBPT0xfRl9OT19DQUNIRV9BTElHTicgb3B0aW9uLg0K PiA+ID4NCj4gPiA+IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGZpZWxkIGlzIG1pc2xlYWRpbmcs IGFuZCBzaG91bGQgYmUgY29ycmVjdGVkLg0KPiA+ID4gVGhlIGNvcnJlY3QgZGVzY3JpcHRpb24g d291bGQgYmU6IERvbid0IG5lZWQgdG8gYWxpZ24gb2JqcyBvbiBjYWNoZQ0KPiA+IGxpbmVzLg0K PiA+ID4NCj4gPiA+IEl0IGlzIHVzZWZ1bCBmb3IgbWVtcG9vbHMgY29udGFpbmluZyB2ZXJ5IHNt YWxsIG9iamVjdHMsIHRvIGNvbnNlcnZlDQo+ID4gbWVtb3J5Lg0KPiA+IEkgdGhpbmsgd2UgY2Fu IGFzc3VtZSB0aGF0IG1idWYgcG9vbHMgYXJlIGNyZWF0ZWQgd2l0aCB0aGUNCj4gPiAnTUVNUE9P TF9GX05PX0NBQ0hFX0FMSUdOJyBmbGFnIHNldC4gV2l0aCB0aGlzIHdlIGNhbiB1c2Ugb2Zmc2V0 DQo+ID4gY2FsY3VsYXRlZCB3aXRoIGNhY2hlIGxpbmUgc2l6ZSBhcyB0aGUgdW5pdC4NCj4gDQo+ IFlvdSBtZWFuIE1FTVBPT0xfRl9OT19DQUNIRV9BTElHTiBmbGFnIG5vdCBzZXQuIDstKQ0KWWVz IPCfmIoNCg0KPiANCj4gSSBhZ3JlZS4gQW5kIHNpbmNlIHRoZSBmbGFnIGlzIGEgaGludCBvbmx5 LCBpdCBjYW4gYmUgaWdub3JlZCBpZiB0aGUgbWVtcG9vbA0KPiBsaWJyYXJ5IGlzIHNjYWxpbmcg dGhlIGluZGV4IHdpdGggdGhlIGNhY2hlIGxpbmUgc2l6ZS4NCkkgZG8gbm90IHRoaW5rIHdlIHNo b3VsZCBpZ25vcmUgdGhlIGZsYWcgZm9yIHJlYXNvbiB5b3UgbWVudGlvbiBiZWxvdy4NCg0KPiAN Cj4gSG93ZXZlciwgYSBtZW1wb29sIG1heSBjb250YWluIG90aGVyIG9iamVjdHMgdGhhbiBtYnVm cywgYW5kIHRob3NlIG9iamVjdHMNCj4gbWF5IGJlIHNtYWxsLCBzbyBpZ25vcmluZyB0aGUgTUVN UE9PTF9GX05PX0NBQ0hFX0FMSUdOIGZsYWcgbWF5IGNvc3QgYQ0KPiBsb3Qgb2YgbWVtb3J5IGZv ciBzdWNoIG1lbXBvb2xzLg0KV2UgY291bGQgdXNlIGRpZmZlcmVudCBtZXRob2RzLiBJZiBNRU1Q T09MX0ZfTk9fQ0FDSEVfQUxJR04gaXMgc2V0LCB1c2UgdGhlIHVuaXQgYXMgJ3NpemVvZih1aW50 cHRyX3QpJywgaWYgbm90IHNldCB1c2UgY2FjaGUgbGluZSBzaXplIGFzIHRoZSB1bml0Lg0KDQo+ IA0KPiA+DQo+ID4gPg0KPHNuaXA+DQo=