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 0077EA00C4; Thu, 29 Sep 2022 08:19:16 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 98A5040FAE; Thu, 29 Sep 2022 08:19:16 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140042.outbound.protection.outlook.com [40.107.14.42]) by mails.dpdk.org (Postfix) with ESMTP id 8D18540E5A for ; Thu, 29 Sep 2022 08:19:15 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=evUlSQRFnEsWDhz8YdX+LWQTYQWZzQBUEXXHHAlaLMXrqxL++lQjm4hx0WYSdVATlEmhEViy9rhj3nGc7DsMEfiF78CbXUqbSlgkFuktzLH61MyzLmskHf/En2KZMoXqCSvylMCRuvg7zTvy4igBgNYsMlAeC6lu92FnJn/JzbM0exIWqZIKPZ4nVJMbKpghfULo55DZ9UeblNmCM44wQy4AZL1SwSVJnSt/AGAsN0SMaGzYZlp9iSkKNwtmGDd7mMyvy1Z/Dj1S3Zr5lYJa8O+OJ/H8L6OSMs50YGP8so7ZZ1FNNytPkpvqHFjqK3pmwfaswRZ/qZHI+Xx56WB5+Q== ARC-Message-Signature: i=2; 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=1h1Msi+4eMdK5xGu6nGgAWLK9RltLdt0JVyM8gkoJbE=; b=CMjwDnqHke/OXB5bav4I3DCDluXIuA9wwCNEHV6FsdYTlUnFkF19Zx4qwZOgUc9F2su7kiuolZ+10VwebGSKyCREGemc5Hmfw+ypm9Bmweuhy7AokCe/q6trmuKOSDURryKFYYT552nQLkAs5lXhwbNN077327oN0sqpfCEreRB9nD9yN0fSqhl2jHOaQstiHaJcCasXPqB7oG/gxTawEVS0VuxUX9iJ5B0lRXEKIX9Tq9UtrqyHeGn9vCN8AdLouyMzKR8lPvY5KMDYMxcXA2BbO9n0hmASBCuxJv/zLc7BeAywMr2wYTQcx3etCLAyUWzOT23VDbagLjcfT2pJEg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) 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=1h1Msi+4eMdK5xGu6nGgAWLK9RltLdt0JVyM8gkoJbE=; b=Ji0nA7iopxjMS/c1ifx4xs3Y43bO12XyXTr4IF1hMlGupxZZ/HvmQHxtYDTduOcfLNyJvATnZDxej2C96t9+bJUUwWktMDazLFK/gdXEKnHIzmY2CLmrdbJQfWVtL8FMKKbhCYiQMCEYVzfhwKM58Q49QODFPyOLViF7gMGMGxA= Received: from AS9PR06CA0148.eurprd06.prod.outlook.com (2603:10a6:20b:467::11) by DU0PR08MB7487.eurprd08.prod.outlook.com (2603:10a6:10:357::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17; Thu, 29 Sep 2022 06:19:13 +0000 Received: from AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:467:cafe::90) by AS9PR06CA0148.outlook.office365.com (2603:10a6:20b:467::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20 via Frontend Transport; Thu, 29 Sep 2022 06:19:13 +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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT004.mail.protection.outlook.com (100.127.140.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17 via Frontend Transport; Thu, 29 Sep 2022 06:19:13 +0000 Received: ("Tessian outbound 7e4a920b87c0:v128"); Thu, 29 Sep 2022 06:19:12 +0000 X-CR-MTA-TID: 64aa7808 Received: from da4ef637c91c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 90541369-0687-4484-AE2E-7EFD23B64FE7.1; Thu, 29 Sep 2022 06:19:06 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id da4ef637c91c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 29 Sep 2022 06:19:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QwYubfIowe62KAq25VECS7X8Nxcq1KrEoRjYz1gvW/3PG/6K4lGsiUrME3S25v1kfN8Beruvz5nZ30gctjmEYsz4FOCJobI19fp9quE/mA9Xo1aqc9FNvvwwrfBWSxugYDexCvhSIZHW4o7TUHXpF7DuBWUK79ub1DqrjXgB1rttXcuorwRoMjoshgnBjjhpiywcCXxaL+JyMu2O+aaj6wmm2UbDOF8QMxXuraEES/8Fr/DfMlaGCJUFd+fSJQrU5W56kpSxsj43QLia44SqcD8MtG6DFdv1pcTBO+SnijhkADVXNaAlMARtsoB/SnZVc1ifLWfzCXMep+JMeLuWZQ== 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=1h1Msi+4eMdK5xGu6nGgAWLK9RltLdt0JVyM8gkoJbE=; b=Cm3agBqYRnLrZazcTBaGdEhcv8Meh2HfgHGXEdZnrV+cAOKJWoW93NfrMz0mHDp2fh4Utawf1MQHZLQb9fwPcSGuwFfQQdSD/ioe1Q+V4+7xBoXRU8fxKNAK4mIMxEAOq8inC65Vg22/7L984d908VoeGzXlpbwLfvdKqZp8IYvjvNZGAOk9id1Rv5JQVP25/Lg98bHSAoLwsM+RywnsmbGqAw9QaXfNLHmV6ctKWtWJmUWLREdM6AAiu6EJ0eWiWfWKWxCLHlYUlgX2ptf9MzlG6LHEy7YsJmHsl43mhW0XEaPECmXXWfYMGYJ9UXglkSbAuhl4yQkOZGGGD74ZbQ== 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=1h1Msi+4eMdK5xGu6nGgAWLK9RltLdt0JVyM8gkoJbE=; b=Ji0nA7iopxjMS/c1ifx4xs3Y43bO12XyXTr4IF1hMlGupxZZ/HvmQHxtYDTduOcfLNyJvATnZDxej2C96t9+bJUUwWktMDazLFK/gdXEKnHIzmY2CLmrdbJQfWVtL8FMKKbhCYiQMCEYVzfhwKM58Q49QODFPyOLViF7gMGMGxA= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by DU0PR08MB9560.eurprd08.prod.outlook.com (2603:10a6:10:44b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Thu, 29 Sep 2022 06:19:04 +0000 Received: from AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::165f:9706:a442:32d8]) by AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::165f:9706:a442:32d8%7]) with mapi id 15.20.5676.019; Thu, 29 Sep 2022 06:19:04 +0000 From: Feifei Wang To: Konstantin Ananyev , Andrew Rybchenko , "mb@smartsharesystems.com" CC: "dev@dpdk.org" , nd , nd Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjIgMC8zXSBEaXJlY3QgcmUtYXJtaW5nIG9mIGJ1?= =?utf-8?Q?ffers_on_receive_side?= Thread-Topic: [PATCH v2 0/3] Direct re-arming of buffers on receive side Thread-Index: AQHY0hubw6uczrAnk0268fsHZ5kUma317x8Q Date: Thu, 29 Sep 2022 06:19:04 +0000 Message-ID: References: <20220927024756.947272-1-feifei.wang2@arm.com> In-Reply-To: <20220927024756.947272-1-feifei.wang2@arm.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 76D43D12686B82439C072614261B0B72.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-traffictypediagnostic: AS8PR08MB7718:EE_|DU0PR08MB9560:EE_|AM7EUR03FT004:EE_|DU0PR08MB7487:EE_ X-MS-Office365-Filtering-Correlation-Id: 9bbdc54d-7754-4a80-fe35-08daa1e2875b x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Rld2L107aF3mY5vh8Syeq+IJRhg9tshSP5v+JMeqd4KBmggJTesEisuo+U/mtSHk/1FYLwqtz9VgbEM1KFv8p1lKwjn0yrK4tKb3p8w0bgjjl+aNqFa4A6+kUemgUpiD399ffl/1b2LtHpUhMNdzpRv9tC8Qog3WXQ9AIKc2lLHVwWOtrZ41zP0lf94Iud9ZAjvHd6kQ8zNe33XdTmslRJoe7RhU7HfFItAoaqKr9ImSJpZ6v2EsTawrk6MFqtewSCyraLpMOtsr9TzYMWI1PbExHB9nmsts5JrQhd8OXd2HxzeRYUM0zGKj92iqBSBxRt0GcNe/uERPbzQA80rZ2f9FpxaD3Klt5jDLf4cpcNYGbcrQ/xOFqo9X1FrGuFBj22vEL2z9G4nMWG7fOkLAVL6m3j0dZ4yW4mNjUroCKR85ujdyrlDqAWDvRvf1I+apqOowLPCofDVgYauYxqLQ7waEb7wJwTg9XwcAWZNKbroA720q+x9a7Oo+gIk9ZqLmmB9BHF4fb2w/bD+ZVmQzY3FnLeqxqcoWXbUpD06Z7K8PoVxrZTFUHzgr91I9AQ6wgRCcr84yglYZRrq1lZnCOwLihuh//O4dm1GskxBUDFmZWbkRkn+eJgAdAiaEh3IyCjynTMFxh0BB6fVAgC/T8QUzrssusd7sumHjJs5qL9LNKdC569ZDG/hKPu2wj4F2ViH15k2NgHjEPKNwDUT/YGhD1VgD/izIP9cf3Vn0vGHbNrjxSIphDga+E05QGJyrbt8VKMCe7nJcl3S8IjBWNC7W7bQ8Um0hmil21Q876DI= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7718.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(136003)(346002)(376002)(366004)(396003)(451199015)(38100700002)(5660300002)(41300700001)(66556008)(76116006)(66946007)(122000001)(64756008)(2906002)(66476007)(66446008)(4326008)(186003)(26005)(7696005)(8936002)(52536014)(83380400001)(33656002)(6506007)(9686003)(224303003)(55016003)(86362001)(38070700005)(71200400001)(316002)(966005)(54906003)(478600001)(110136005); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9560 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: AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a00b409f-cd05-48c4-ed9f-08daa1e2823e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZetModpMfPA7pVEjR/vffSYgjcz4yitcXWPX4A8rqqrg4+B4e9EKJJNVZmOPObbyHIfKXF5bJptoyMclRlByVfCcAI2TSv1UP4Kl+b6DTC+jBr1FXdzS050tkBAELZYWhnzZv7OIZT8g0GfT2CLY+AjI7QTI2ykUboLn88+kxVdwMPNOYjIFEVx2M2pJVaC2ixdCcZGD0J0+9wM2qTk8Hnk0n4Hda9+e5wReW08vJFsVygTOsgDWay1PCwdkkfCpC2AqMjlIFyPXX2aRrt+IaXDNqy7XoWSkSZqTky47vrDtYIFLw+v2Qg3dmS9khJm/3LHErLDEv1crZbc1T/oKQW7zhAEPJ+DC2Ixu7N5UshLcdYxSVaYwn1GUGD2N2TDpAqs6IGUQtC0DkiW8wSQYu5pnMj0s2w6dFjZDD5ylBxhAlA5MeKn6e2IkAlaTMHrVTtVcdmjZ3F5FNPkF3nPQqf8ocvXFNqeSAoDxFVSwjWrM0UNSdMhz0lEFgjU4oSVsGJAWXOWki3YA+sO0WYvzo3Y75cDF22TRlxLHrK/eH+kdORYZ49jP9L9rL/QlR0Jh6DLQBJ/0gDUuiIwqpZf+5K7MerGXzwpruvshDcQucyYET9P8T5lI9pSLUc3I8eFP4YVf4SPCDL6zRMHUj5WA1ySYN7NM0fwUrHiM9G/ouhkDfn4e5sUenQsLavtmcToVlTdNcMalgQ2aimAB4y6rhaWtWUn8jHYmfrEJoqJIQ0yuZmIXN0ft52ZlJoAus3RCWFprqwEQ9Ftsk1yDtRyvbsKmSAXGzjc3h7Yka4UOxNU= 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:(13230022)(4636009)(39860400002)(136003)(376002)(396003)(346002)(451199015)(40470700004)(36840700001)(46966006)(47076005)(186003)(26005)(224303003)(9686003)(336012)(478600001)(6506007)(7696005)(2906002)(316002)(82740400003)(83380400001)(966005)(36860700001)(33656002)(110136005)(8936002)(52536014)(5660300002)(70586007)(40460700003)(54906003)(356005)(81166007)(41300700001)(70206006)(4326008)(40480700001)(55016003)(82310400005)(86362001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2022 06:19:13.1042 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9bbdc54d-7754-4a80-fe35-08daa1e2875b 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: AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7487 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 PiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWPkeS7tuS6ujogRmVpZmVpIFdhbmcgPGZlaWZl aS53YW5nMkBhcm0uY29tPg0KPiDlj5HpgIHml7bpl7Q6IFR1ZXNkYXksIFNlcHRlbWJlciAyNywg MjAyMiAxMDo0OCBBTQ0KPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBG ZWlmZWkgV2FuZw0KPiA8RmVpZmVpLldhbmcyQGFybS5jb20+DQo+IOS4u+mimDogW1BBVENIIHYy IDAvM10gRGlyZWN0IHJlLWFybWluZyBvZiBidWZmZXJzIG9uIHJlY2VpdmUgc2lkZQ0KPiANCj4g Q3VycmVudGx5LCB0aGUgdHJhbnNtaXQgc2lkZSBmcmVlcyB0aGUgYnVmZmVycyBpbnRvIHRoZSBs Y29yZSBjYWNoZSBhbmQgdGhlDQo+IHJlY2VpdmUgc2lkZSBhbGxvY2F0ZXMgYnVmZmVycyBmcm9t IHRoZSBsY29yZSBjYWNoZS4gVGhlIHRyYW5zbWl0IHNpZGUgdHlwaWNhbGx5DQo+IGZyZWVzIDMy IGJ1ZmZlcnMgcmVzdWx0aW5nIGluIDMyKjg9MjU2QiBvZiBzdG9yZXMgdG8gbGNvcmUgY2FjaGUu IFRoZSByZWNlaXZlDQo+IHNpZGUgYWxsb2NhdGVzIDMyIGJ1ZmZlcnMgYW5kIHN0b3JlcyB0aGVt IGluIHRoZSByZWNlaXZlIHNpZGUgc29mdHdhcmUgcmluZywNCj4gcmVzdWx0aW5nIGluIDMyKjg9 MjU2QiBvZiBzdG9yZXMgYW5kIDI1NkIgb2YgbG9hZCBmcm9tIHRoZSBsY29yZSBjYWNoZS4NCj4g DQo+IFRoaXMgcGF0Y2ggcHJvcG9zZXMgYSBtZWNoYW5pc20gdG8gYXZvaWQgZnJlZWluZyB0by9h bGxvY2F0aW5nIGZyb20gdGhlDQo+IGxjb3JlIGNhY2hlLiBpLmUuIHRoZSByZWNlaXZlIHNpZGUg d2lsbCBmcmVlIHRoZSBidWZmZXJzIGZyb20gdHJhbnNtaXQgc2lkZQ0KPiBkaXJlY3RseSBpbnRv IGl0J3Mgc29mdHdhcmUgcmluZy4gVGhpcyB3aWxsIGF2b2lkIHRoZSAyNTZCIG9mIGxvYWRzIGFu ZCBzdG9yZXMNCj4gaW50cm9kdWNlZCBieSB0aGUgbGNvcmUgY2FjaGUuIEl0IGFsc28gZnJlZXMg dXAgdGhlIGNhY2hlIGxpbmVzIHVzZWQgYnkgdGhlDQo+IGxjb3JlIGNhY2hlLg0KPiANCj4gSG93 ZXZlciwgdGhpcyBzb2x1dGlvbiBwb3NlcyBzZXZlcmFsIGNvbnN0cmFpbnRzOg0KPiANCj4gMSlU aGUgcmVjZWl2ZSBxdWV1ZSBuZWVkcyB0byBrbm93IHdoaWNoIHRyYW5zbWl0IHF1ZXVlIGl0IHNo b3VsZCB0YWtlIHRoZQ0KPiBidWZmZXJzIGZyb20uIFRoZSBhcHBsaWNhdGlvbiBsb2dpYyBkZWNp ZGVzIHdoaWNoIHRyYW5zbWl0IHBvcnQgdG8gdXNlIHRvIHNlbmQNCj4gb3V0IHRoZSBwYWNrZXRz LiBJbiBtYW55IHVzZSBjYXNlcyB0aGUgTklDIG1pZ2h0IGhhdmUgYSBzaW5nbGUgcG9ydCAoWzFd LCBbMl0sDQo+IFszXSksIGluIHdoaWNoIGNhc2UgYSBnaXZlbiB0cmFuc21pdCBxdWV1ZSBpcyBh bHdheXMgbWFwcGVkIHRvIGEgc2luZ2xlDQo+IHJlY2VpdmUgcXVldWUgKDE6MSBSeCBxdWV1ZTog VHggcXVldWUpLiBUaGlzIGlzIGVhc3kgdG8gY29uZmlndXJlLg0KPiANCj4gSWYgdGhlIE5JQyBo YXMgMiBwb3J0cyAodGhlcmUgYXJlIHNldmVyYWwgcmVmZXJlbmNlcyksIHRoZW4gd2Ugd2lsbCBo YXZlDQo+IDE6MiAoUlggcXVldWU6IFRYIHF1ZXVlKSBtYXBwaW5nIHdoaWNoIGlzIHN0aWxsIGVh c3kgdG8gY29uZmlndXJlLg0KPiBIb3dldmVyLCBpZiB0aGlzIGlzIGdlbmVyYWxpemVkIHRvICdO JyBwb3J0cywgdGhlIGNvbmZpZ3VyYXRpb24gY2FuIGJlIGxvbmcuDQo+IE1vcmUgb3ZlciB0aGUg UE1EIHdvdWxkIGhhdmUgdG8gc2NhbiBhIGxpc3Qgb2YgdHJhbnNtaXQgcXVldWVzIHRvIHB1bGwg dGhlDQo+IGJ1ZmZlcnMgZnJvbS4NCj4gDQo+IDIpVGhlIG90aGVyIGZhY3RvciB0aGF0IG5lZWRz IHRvIGJlIGNvbnNpZGVyZWQgaXMgJ3J1bi10by1jb21wbGV0aW9uJyB2cw0KPiAncGlwZWxpbmUn IG1vZGVscy4gSW4gdGhlIHJ1bi10by1jb21wbGV0aW9uIG1vZGVsLCB0aGUgcmVjZWl2ZSBzaWRl IGFuZCB0aGUNCj4gdHJhbnNtaXQgc2lkZSBhcmUgcnVubmluZyBvbiB0aGUgc2FtZSBsY29yZSBz ZXJpYWxseS4gSW4gdGhlIHBpcGVsaW5lIG1vZGVsLg0KPiBUaGUgcmVjZWl2ZSBzaWRlIGFuZCB0 cmFuc21pdCBzaWRlIG1pZ2h0IGJlIHJ1bm5pbmcgb24gZGlmZmVyZW50IGxjb3JlcyBpbg0KPiBw YXJhbGxlbC4gVGhpcyByZXF1aXJlcyBsb2NraW5nLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgYXQg dGhpcyBwb2ludC4NCj4gDQo+IDMpVHggYW5kIFJ4IGJ1ZmZlcnMgbXVzdCBiZSBmcm9tIHRoZSBz YW1lIG1lbXBvb2wuIEFuZCB3ZSBhbHNvIG11c3QNCj4gZW5zdXJlIFR4IGJ1ZmZlciBmcmVlIG51 bWJlciBpcyBlcXVhbCB0byBSeCBidWZmZXIgZnJlZSBudW1iZXI6DQo+ICh0eHEtPnR4X3JzX3Ro cmVzaCA9PSBSVEVfSTQwRV9SWFFfUkVBUk1fVEhSRVNIKSBUaHVzLCAndHhfbmV4dF9kZCcNCj4g Y2FuIGJlIHVwZGF0ZWQgY29ycmVjdGx5IGluIGRpcmVjdC1yZWFybSBtb2RlLiBUaGlzIGlzIGR1 ZSB0byB0eF9uZXh0X2RkIGlzIGENCj4gdmFyaWFibGUgdG8gY29tcHV0ZSB0eCBzdy1yaW5nIGZy ZWUgbG9jYXRpb24uDQo+IEl0cyB2YWx1ZSB3aWxsIGJlIG9uZSBtb3JlIHJvdW5kIHRoYW4gdGhl IHBvc2l0aW9uIHdoZXJlIG5leHQgdGltZSBmcmVlDQo+IHN0YXJ0cy4NCj4gDQo+IEN1cnJlbnQg c3RhdHVzIGluIHRoaXMgcGF0Y2g6DQo+IDEpVHdvIEFQSXMgYXJlIGFkZGVkIGZvciB1c2VycyB0 byBlbmFibGUgZGlyZWN0LXJlYXJtIG1vZGU6DQo+ICAgSW4gY29udHJvbCBwbGFuZSwgdXNlcnMg Y2FuIGNhbGwgJ3J0ZV9ldGhfdHhxX2RhdGFfZ2V0JyB0byBnZXQgVHggc3dfcmluZw0KPiAgIHBv aW50ZXIgYW5kIGl0cyB0eHFfaW5mbyAoVGhpcyBhdm9pZCBSeCBsb2FkIFR4IGRhdGEgZGlyZWN0 bHkpOw0KPiANCj4gICBJbiBkYXRhIHBsYW5lLCB1c2VycyBjYW4gIGNhbGwgJ3J0ZV9ldGhfcnhf ZGlyZWN0X3JlYXJtJyB0byByZWFybSBSeA0KPiAgIGJ1ZmZlcnMgYW5kIGZyZWUgVHggYnVmZmVy cyBhdCB0aGUgc2FtZSB0aW1lIChDdXJyZW50bHkgaXQgc3VwcG9ydHMgMToxDQo+ICAgKHJ4cTp0 eHEpIG1hcHBpbmc6KQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIGNvbnRyb2wgcGxhbmU6DQo+ICAg CXJ0ZV9ldGhfdHhxX2RhdGFfZ2V0KCp0eHFfZGF0YSk7DQo+ICAgZGF0YSBwbGFuZToNCj4gICAJ bG9vcCB7DQo+ICAgCQlydGVfZXRoX3J4X2RpcmVjdF9yZWFybSgqdHhxX2RhdGEpew0KPiAgICAg IAkJCWZvciAoaSA9IDA7IGkgPD0gMzI7IGkrKykgew0KPiAgICAgICAgCQkJCXJ4Lm1idWZbaV0g PSB0eC5tYnVmW2ldOw0KPiAgICAgICAgCQkJCWluaXRpYWxpemUgZGVzY3NbaV07DQo+ICAgICAJ CQl9DQo+IAkJfQ0KPiAJCXJ0ZV9ldGhfcnhfYnVyc3Q7DQo+IAkJcnRlX2V0aF90eF9idXJzdDsN Cj4gICAJfQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAyKVRoZSBpNDBlIGRyaXZlciBpcyBjaGFuZ2Vk IHRvIGRvIHRoZSBkaXJlY3QgcmUtYXJtIG9mIHRoZSByZWNlaXZlDQo+ICAgc2lkZS4NCj4gMylM M2Z3ZCBhcHBsaWNhdGlvbiBpcyBtb2RpZmllZCB0byBlbmFibGUgZGlyZWN0IHJlYXJtIG1vZGUu IFVzZXJzIGNhbg0KPiAgIGVuYWJsZSBkaXJlY3QtcmVhcm0gYW5kIG1hcCBxdWV1ZXMgYnkgaW5w dXQgcGFyYW1ldGVycy4NCj4gDQo+IFRlc3Rpbmcgc3RhdHVzOg0KPiAxLlRoZSB0ZXN0aW5nIHJl c3VsdHMgZm9yIEwzZndkIGFyZSBhcyBmb2xsb3dzOg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IGVuYWJsZWQg ZGlyZWN0IHJlYXJtDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gQXJtOg0KPiBOMVNEUChuZW9uIHBhdGgpOg0K PiB3aXRob3V0IGZhc3QtZnJlZSBtb2RlCQl3aXRoIGZhc3QtZnJlZSBtb2RlDQo+IAkrMTUuMDkl CQkJCSs0LjIlDQo+IA0KPiBBbXBlcmUgQWx0cmEobmVvbiBwYXRoKToNCj4gd2l0aG91dCBmYXN0 LWZyZWUgbW9kZQkJd2l0aCBmYXN0LWZyZWUgbW9kZQ0KPiAJKzEwLjklCQkJCSsxNC42JQ0KPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+IA0KPiAyLlRoZSB0ZXN0aW5nIHJlc3VsdHMgZm9yIFZQUC1MM2Z3ZCBhcmUg YXMgZm9sbG93czoNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBBcm06DQo+IE4xU0RQKG5lb24gcGF0aCk6DQo+ IHdpdGggZGlyZWN0IHJlLWFybSBtb2RlIGVuYWJsZWQNCj4gCSs0LjUlDQo+IA0KPiBBbXBlcmUg QWx0cmEobmVvbiBwYXRoKToNCj4gd2l0aCBkaXJlY3QgcmUtYXJtIG1vZGUgZW5hYmxlZA0KPiAg ICAgICAgICs2LjUlDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gDQo+IFJlZmVyZW5jZToNCj4gWzFdIGh0dHBz Oi8vc3RvcmUubnZpZGlhLmNvbS9lbi0NCj4gdXMvbmV0d29ya2luZy9zdG9yZS9wcm9kdWN0L01D WDYyMzEwNUFOLQ0KPiBDREFUL05WSURJQU1DWDYyMzEwNUFOQ0RBVENvbm5lY3RYNkR4RU5BZGFw dGVyQ2FyZDEwMEdiRUNyeXB0DQo+IG9EaXNhYmxlZC8NCj4gWzJdIGh0dHBzOi8vd3d3LmludGVs LmNvbS9jb250ZW50L3d3dy91cy9lbi9wcm9kdWN0cy9za3UvMTkyNTYxL2ludGVsLQ0KPiBldGhl cm5ldC1uZXR3b3JrLWFkYXB0ZXItZTgxMGNxZGExL3NwZWNpZmljYXRpb25zLmh0bWwNCj4gWzNd IGh0dHBzOi8vd3d3LmJyb2FkY29tLmNvbS9wcm9kdWN0cy9ldGhlcm5ldC1jb25uZWN0aXZpdHkv bmV0d29yay0NCj4gYWRhcHRlcnMvMTAwZ2ItbmljLW9jcC9uMTEwMGcNCj4gDQo+IFYyOg0KPiAx LiBVc2UgZGF0YS1wbGFuZSBBUEkgdG8gZW5hYmxlIGRpcmVjdC1yZWFybSAoS29uc3RhbnRpbiwg SG9ubmFwcGEpIDIuIEFkZA0KPiAndHhxX2RhdGFfZ2V0JyBBUEkgdG8gZ2V0IHR4cSBpbmZvIGZv ciBSeCAoS29uc3RhbnRpbikgMy4gVXNlIGlucHV0IHBhcmFtZXRlcg0KPiB0byBlbmFibGUgZGly ZWN0IHJlYXJtIGluIGwzZndkIChLb25zdGFudGluKSA0LiBBZGQgY29uZGl0aW9uIGRldGVjdGlv biBmb3INCj4gZGlyZWN0IHJlYXJtIEFQSSAoTW9ydGVuLCBBbmRyZXcgUnliY2hlbmtvKQ0KPiAN ClBJTkcNCg0KSGksIA0KDQpXb3VsZCB5b3UgcGxlYXNlIGdpdmUgc29tZSBjb21tZW50cyBmb3Ig dGhpcyB2ZXJzaW9uPw0KVGhhbmtzIHZlcnkgbXVjaC4NCg0KQmVzdCBSZWdhcmRzDQpGZWlmZWkN Cg==