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 6E7FE42A54 for ; Thu, 4 May 2023 01:46:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 66EBE42C76; Thu, 4 May 2023 01:46:08 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2051.outbound.protection.outlook.com [40.107.15.51]) by mails.dpdk.org (Postfix) with ESMTP id 69A2E400EF; Thu, 4 May 2023 01:46:05 +0200 (CEST) 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=qevkllJyXg1Nb2RLy8YDe9pcSr8z7ofmQK9IC62tZec=; b=hVikPYYMqSvP1kux5eYAPlzakItI9D+MLRaLDptTikQuBh2PzLCFA5v/LP0dCJmslOHIZ/FBViXL+7hre2tLY4OsnlIyIMdLj6WWtZIGMQ4Hmua4xGtzroyRC08jZWf1gnJNJ6psSzO0cE+CYpK5gnnDZLwGSPN4ZnTjyvcmR5k= Received: from DU2PR04CA0253.eurprd04.prod.outlook.com (2603:10a6:10:28e::18) by AS4PR08MB8045.eurprd08.prod.outlook.com (2603:10a6:20b:585::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Wed, 3 May 2023 23:46:01 +0000 Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28e:cafe::b7) by DU2PR04CA0253.outlook.office365.com (2603:10a6:10:28e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.25 via Frontend Transport; Wed, 3 May 2023 23:46:01 +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 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22 via Frontend Transport; Wed, 3 May 2023 23:46:01 +0000 Received: ("Tessian outbound 8b05220b4215:v136"); Wed, 03 May 2023 23:46:00 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9bc9dc1909dbc341 X-CR-MTA-TID: 64aa7808 Received: from c5df605dd04d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F6E08C22-EFE9-4160-86B8-05F9010FA576.1; Wed, 03 May 2023 23:45:54 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c5df605dd04d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 May 2023 23:45:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j/wpb1bpZGGgkuiJXycH9k7ky/vVB5uLhQIcwgmUkcyF7bMJW834WyqeoVgfT5UigXrpx42XBEUh9xETGeiNBzitZOQ3sLGffBDoc2QHAK8asGvHkCiiKl/iwNNs7sEC+r2YQHNvJSuyQm6QFCv17OcjduzAXF/bXHJm2IUc2rgWG5S9su7BW4X8H3oDOb9JGcxbnhZXeT8hIxh199GdliIKzOrntd6xRHYInxSEwDPgskYHy8OKbd9wbFXgSQ+KrkCPuBLMecxQuuy46gzxHRxLWmu1c4GqeQiatcxcfUvFQQHegd84Ha8T0ZenlplZl1mfPiyGIYY8OUlRUP8/kA== 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=qevkllJyXg1Nb2RLy8YDe9pcSr8z7ofmQK9IC62tZec=; b=mTQrSdAQkJKl8uFhhR9e9exf1t/z/Vtrrs48opJyJy5AP4b8bfdaMXRqQ8ufvdHG2qTLUPXY68/OVaTb94BiQwzt6vRKy78Ah9mg66N37lv9t50q5eWs55BPp2MyNfAQskoG1W20hdTPorNGjXDRt6Mg3MNZj4UHhKgwA11LClyesKabZp0MyTpkiLF/EO1aFbxU7HNlMJplpqL6Fdba+HklfV5VFBxVmXR1Vz82rGeKG/P8SOGibrLTR/bj5UY07NCItq3j7hs+4VARQX0yig1HcX/gOoHDPWnfut8kae0Hojog4niRRGRI0dKubufh4Mebm+6lS6eyWEWuXQ0UXg== 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=qevkllJyXg1Nb2RLy8YDe9pcSr8z7ofmQK9IC62tZec=; b=hVikPYYMqSvP1kux5eYAPlzakItI9D+MLRaLDptTikQuBh2PzLCFA5v/LP0dCJmslOHIZ/FBViXL+7hre2tLY4OsnlIyIMdLj6WWtZIGMQ4Hmua4xGtzroyRC08jZWf1gnJNJ6psSzO0cE+CYpK5gnnDZLwGSPN4ZnTjyvcmR5k= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by AS2PR08MB9810.eurprd08.prod.outlook.com (2603:10a6:20b:605::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Wed, 3 May 2023 23:45:50 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::621c:838a:cb11:19b7]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::621c:838a:cb11:19b7%7]) with mapi id 15.20.6363.026; Wed, 3 May 2023 23:45:50 +0000 From: Honnappa Nagarahalli To: Konstantin Ananyev , "wangyunjian@huawei.com" CC: "dev@dpdk.org" , "luyicai@huawei.com" , "stable@dpdk.org" , nd , nd Subject: RE: [dpdk-dev] [PATCH v2] ring: fix use after free in ring release Thread-Topic: [dpdk-dev] [PATCH v2] ring: fix use after free in ring release Thread-Index: AQHZfCj9RL7eOo8QCkK2B+7jhfTaTK9FxyuQgAHV7YCAAGcWEIABIakAgAAUBTA= Date: Wed, 3 May 2023 23:45:49 +0000 Message-ID: References: <1e024be7-14a7-1997-43a2-2d2571fc984d@yandex.ru> <6215f9c3-db40-a0c1-edc6-d859f2920609@yandex.ru> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: BD4C430966D4D046968128DC93007342.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|AS2PR08MB9810:EE_|DBAEUR03FT037:EE_|AS4PR08MB8045:EE_ X-MS-Office365-Filtering-Correlation-Id: a317f08f-7875-4037-573f-08db4c308cf9 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: LKGjTGeO5jxY6uSI86B+i0YppKMnAqSW7vEuo0iJeigtLh+xYNShbCFooD937O0Xr+7pv6qjqY0pxy3JSO2yXbfdEwK35DDlfHnn1eR3zg13pCBIYBuhREGSD8FZ8k/RaWzIFggVnafvPxskhF/cMM05ululxVcTY/oui1RF2hqVKx67nrsMWjpLK46Uv5fbDX4sg7np7+0kw14YRxaIKNXmOgSar2+XjzMsqDcdEOo4zM6lfi58BMearaBHkJLhgCNs1pG2iRXkp2lEqNxzXkpLRpPaNyWZ4MQCcDJPsLylMJKcfLKzjhQl8PcvrBY6R+ocNXRYMkvFAfaXmrFBBEWId3YuHgOEv24gnRA0pIXiGTWJgW/SUKAjLoVxDQ4/z9xfTO13plCj/KeFMSGNKzrcdnHXS7bghYFx16rUX0DDPmuEZDDEPyZAlsvyHqOZARjaTwGukz5N/iKi4bc4Sv3eL31mcsFPHSTEEqnFh5eoK9CBcGPFtV3kPDbJ1rsk4T29ncpHz+jfIOaXyYoj+GExgIs6R3ShVGUpMcttu+krqWOmDwoyB4pFyI1RG5LbplMZ8Sk3Jna1ggLMKdfJgEG9jG3mEIZ4GS8D4MMfbkffg/oPl4CEH7b6ZQdYVp76 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:(13230028)(4636009)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(7696005)(71200400001)(83380400001)(55016003)(26005)(6506007)(9686003)(2906002)(186003)(110136005)(54906003)(33656002)(478600001)(66556008)(122000001)(41300700001)(76116006)(66946007)(316002)(86362001)(38100700002)(5660300002)(8936002)(8676002)(66446008)(4326008)(64756008)(66476007)(52536014)(38070700005); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9810 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: DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b941085c-f5a4-4760-2273-08db4c3085e5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iVqhu8EUBXP9SF7gCFBg8r0ogG2w/Yb5A52Mmqka6jSvOHZffz0CN4ZVgXKwIPlNCffox/0aRub3sDteCEThv+hXEXfiD10CkfPbjNzpe5JR3DJv5LnkgUAfaZHwZGLqMfb5BhVOOAadtRGtEw8OqL0TFq2oNLxIdfBfyXwnG7Rh/lwXds/EXcFkxP6Q++i20gHe2PbpdRKXD8SA+ps/oDWuy56F2/Q34R0LGMjW0YP1+WhHxqjzobYxSvYTxsmp68uLyeDPGHy2kzQT4pksAVlnJq9oUsE7+KGGMQz+ciaW6DwxyY969JvjOHhW+4IuLozVtFFwGah70blYwK3mr/E+yKGr32nHRv/ZWfrOqAfkWkN1bgZh7SP4lL5kwEiHwd/Lb3Iig/PNgjUnQyAszOUJ7aP74ONsmcNK9wlYt9yWdIQHcl2Pjqw5Xuu5cgzRw7oaXK8BJUxH2vX+BWwotvbhLGBxsMHTXRx5LrLEDbBFjW5NGjeH26nB9p6Fmkoo8iNy9WAtTkFcUK6+KvfTFArT7ZxtSlOKijSyBcUC7zxWlvc/uNNubGmTvJ9NqNKrKS6+KB3AxNISiV6iwg/EkbZWiVDkXQayk7maMib1tNxc2OswMB09SzSS7SeCYPL6zPb3lxLV+mn/Q/BHejFYkSJu4lSNBgyPKS2WIe5ab5/+8phM7i6GkdU+Gb5lM/M1ZdTVc2k6YJfwOglEJToLxLQdcN5IzmXb9LHwwO8iCXU+G0Ro2xQcFmxjT/yMoRdV4QBtB7vftQuL4WxIsHFNOA== 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:(13230028)(4636009)(346002)(376002)(39860400002)(136003)(396003)(451199021)(40470700004)(36840700001)(46966006)(316002)(478600001)(70586007)(70206006)(41300700001)(7696005)(5660300002)(4326008)(450100002)(8936002)(52536014)(83380400001)(54906003)(8676002)(110136005)(2906002)(47076005)(26005)(6506007)(186003)(40460700003)(55016003)(40480700001)(82740400003)(81166007)(34020700004)(356005)(336012)(9686003)(82310400005)(33656002)(36860700001)(86362001)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2023 23:46:01.0349 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a317f08f-7875-4037-573f-08db4c308cf9 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: DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8045 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org PHNuaXA+DQoNCj4gPg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+PiBBZnRlciB0aGUg bWVtem9uZSBpcyBmcmVlZCwgaXQgaXMgbm90IHJlbW92ZWQgZnJvbSB0aGUgJ3J0ZV9yaW5nX3Rh aWxxJy4NCj4gPj4+Pj4gSWYgcnRlX3JpbmdfbG9va3VwIGlzIGNhbGxlZCBhdCB0aGlzIHRpbWUs IGl0IHdpbGwgY2F1c2UgYQ0KPiA+Pj4+PiB1c2UtYWZ0ZXItZnJlZSBwcm9ibGVtLiBUaGlzIGNo YW5nZSBwcmV2ZW50cyB0aGF0IGZyb20gaGFwcGVuaW5nLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBGaXhl czogNGUzMjEwMWY5YjAxICgicmluZzogc3VwcG9ydCBmcmVlaW5nIikNCj4gPj4+Pj4gQ2M6IHN0 YWJsZUBkcGRrLm9yZw0KPiA+Pj4+Pg0KPiA+Pj4+PiBTdWdnZXN0ZWQtYnk6IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+IDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBZdW5qaWFuIFdhbmcgPHdhbmd5dW5qaWFuQGh1YXdlaS5jb20+DQo+ID4+Pj4+ IC0tLQ0KPiA+Pj4+PiB2MjogdXBkYXRlIGNvZGUgc3VnZ2VzdGVkIGJ5IEhvbm5hcHBhIE5hZ2Fy YWhhbGxpDQo+ID4+Pj4+IC0tLQ0KPiA+Pj4+PiAgICBsaWIvcmluZy9ydGVfcmluZy5jIHwgOCAr KystLS0tLQ0KPiA+Pj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliL3JpbmcvcnRlX3Jp bmcuYyBiL2xpYi9yaW5nL3J0ZV9yaW5nLmMgaW5kZXgNCj4gPj4+Pj4gOGVkNDU1MDQzZC4uMjc1 NTMyM2I4YSAxMDA2NDQNCj4gPj4+Pj4gLS0tIGEvbGliL3JpbmcvcnRlX3JpbmcuYw0KPiA+Pj4+ PiArKysgYi9saWIvcmluZy9ydGVfcmluZy5jDQo+ID4+Pj4+IEBAIC0zMzMsMTEgKzMzMyw2IEBA IHJ0ZV9yaW5nX2ZyZWUoc3RydWN0IHJ0ZV9yaW5nICpyKQ0KPiA+Pj4+PiAgICAJCXJldHVybjsN Cj4gPj4+Pj4gICAgCX0NCj4gPj4+Pj4NCj4gPj4+Pj4gLQlpZiAocnRlX21lbXpvbmVfZnJlZShy LT5tZW16b25lKSAhPSAwKSB7DQo+ID4+Pj4+IC0JCVJURV9MT0coRVJSLCBSSU5HLCAiQ2Fubm90 IGZyZWUgbWVtb3J5XG4iKTsNCj4gPj4+Pj4gLQkJcmV0dXJuOw0KPiA+Pj4+PiAtCX0NCj4gPj4+ Pj4gLQ0KPiA+Pj4+PiAgICAJcmluZ19saXN0ID0gUlRFX1RBSUxRX0NBU1QocnRlX3JpbmdfdGFp bHEuaGVhZCwNCj4gcnRlX3JpbmdfbGlzdCk7DQo+ID4+Pj4+ICAgIAlydGVfbWNmZ190YWlscV93 cml0ZV9sb2NrKCk7DQo+ID4+Pj4+DQo+ID4+Pj4+IEBAIC0zNTQsNiArMzQ5LDkgQEAgcnRlX3Jp bmdfZnJlZShzdHJ1Y3QgcnRlX3JpbmcgKnIpDQo+ID4+Pj4+DQo+ID4+Pj4+ICAgIAlUQUlMUV9S RU1PVkUocmluZ19saXN0LCB0ZSwgbmV4dCk7DQo+ID4+Pj4+DQo+ID4+Pj4+ICsJaWYgKHJ0ZV9t ZW16b25lX2ZyZWUoci0+bWVtem9uZSkgIT0gMCkNCj4gPj4+Pj4gKwkJUlRFX0xPRyhFUlIsIFJJ TkcsICJDYW5ub3QgZnJlZSBtZW1vcnlcbiIpOw0KPiA+Pj4+PiArDQo+ID4+Pj4NCj4gPj4+PiBJ IG5pdDogSSB0aGluayBpdCBpcyBhIGJpdCBiZXR0ZXIgdG8gZmlyc3QgcmVsZWFzZSB0aGUgbG9j ayBhbmQNCj4gPj4+PiB0aGVuIGZyZWUgdGhlIG1lbXpvbmUuDQo+ID4+PiBJIHRoaW5rIGJvdGgg b2Ygb3VyIHN1Z2dlc3Rpb25zIGFyZSBjb250cmFkaWN0b3J5LiBBbnkgcmVhc29uIHdoeQ0KPiA+ Pj4geW91IHdhbnQNCj4gPj4gdG8gZnJlZSBvdXRzaWRlIHRoZSBsb2NrZWQgcmVnaW9uPw0KPiA+ Pg0KPiA+Pg0KPiA+PiBEb24ndCBrbm93IHdoYXQgeW91IG1lYW4gYnkgJ2JvdGggc3VnZ2VzdGlv bnMnIGhlcmUuDQo+ID4gSSB3cm90ZSAnYm90aCBvZiBvdXIgc3VnZ2VzdGlvbnMnLiBFc3NlbnRp YWxseSwgaW4gdjEsIGZyZWVpbmcgdGhlIG1lbXpvbmUNCj4gd2FzIG91dHNpZGUgb2YgdGhlIGxv Y2suIEkgc3VnZ2VzdGVkIHRvIG1vdmUgaXQgaW5zaWRlIGFuZCB5b3UgYXJlIHN1Z2dlc3RpbmcN Cj4gdG8gbW92ZSBpdCBpbnNpZGUuDQo+IA0KPiANCj4gQWggb2ssIEkgbWlzc2VkIHYxIGFuZCB5 b3VyIGNvbW1lbnRzIGZvciBpdC4NCj4gQXMgSSBzYWlkIGJlZm9yZSwgSSBkb24ndCB0aGluayB0 aGF0IHdlIG5lZWQgdG8gaG9sZCBxbG9jayBoZXJlIHdoaWxlIGNhbGxpbmcNCj4gbW1lem9uZV9m cmVlKCkuDQo+IFRob3VnaCBJIGRvbid0IHNlZSBhbnkgaGFybSB3aXRoIGl0IGVpdGhlci4NCj4g SSdkIHBlcnNvbmFsbHkgd291bGQgbW92ZSBtZW16b25lX2ZyZWUoKSBhZnRlciByZWxlYXNpbmcg cWxvY2ssIGJ1dCBpZiB5b3UNCj4gZ3V5cyBwcmVmZXIgdG8ga2VlcCBpdCBhcyBpdCBpcyAtIEkg d291bGRuJ3QgaW5zaXN0Lg0KSSBsb29rZWQgYXQgb3RoZXIgbGlicmFyaWVzLCBzdGFjayBsaWJy YXJ5IGlzIHRoZSBjbG9zZXN0LiBTdGFjayBsaWJyYXJ5IGZyZWVzIHRoZSBtZW16b25lIG91dHNp ZGUgdGhlIGxvY2suIEkgdGhpbmsgd2Ugc2hvdWxkIGtlZXAgaXQgY29uc2lzdGVudC4NCkkgYW0g ZmluZSB0byBtb3ZlIHRoZSBmcmVlIG91dHNpZGUgdGhlIGxvY2suDQoNCj4gDQo+ID4NCj4gPj4g SSB0aGluayBJIGdhdmUgb25seSBvbmUgLSBtb3ZlIG1lbXpvbmVfZnJlZSgpIGFmdGVyIHRhaWxx X3dyaXRlX3VubG9jaygpLg0KPiA+PiBUbyBiZSBtb3JlIHByZWNpc2U6DQo+ID4+IDEpIHJ0ZV9t Y2ZnX3RhaWxxX3dyaXRlX2xvY2soKTsNCj4gPj4gLi4uDQo+ID4+IDIpIFRBSUxRX1JFTU9WRSgu Li4pOw0KPiA+PiAzKSBydGVfbWNmZ190YWlscV93cml0ZV91bmxvY2soKTsNCj4gPj4gNCkgcnRl X21lbXpvbmVfZnJlZShyLT5tZW16b25lKTsNCj4gPj4NCj4gPj4gQXMgSSByZW1lbWJlciwgbWVt em9uZXMgYXJlIHByb3RlY3RlZCBieSB0aGVpciBvd24gbG9jayAobWxvY2spLCBzbw0KPiA+PiB3 ZSBkb24ndCBuZWVkIHRvIGhvbGQgcWxvY2sgdG8gZnJlZSBhIG1lbXpvbmUsIGFmdGVyIHJpbmcg d2FzIGFscmVhZHkNCj4gPj4gcmVtb3ZlZCBmcm9tIHRoZSByaW5nX2xpc3QuDQo+ID4+DQo+ID4+ Pg0KPiA+Pj4gSSB0aG91Z2h0LCBzaW5jZSBpdCBiZWxvbmdzIHRvIHRoZSByaW5nIGJlaW5nIGZy ZWVkLCBpdCBtYWtlcyBzZW5zZQ0KPiA+Pj4gdG8gZnJlZSBpdA0KPiA+PiB3aGlsZSBob2xkaW5n IHRoZSBsb2NrIHRvIGF2b2lkIGFueSByYWNlIGNvbmRpdGlvbnMgKHRob3VnaCwgSSBoYXZlDQo+ ID4+IG5vdCBjaGVja2VkIHdoYXQgdGhvc2UgYXJlKS4NCj4gPj4NCj4gPj4NCj4gPj4gQXMgSSB1 bmRlcnN0YW5kLCBpdCBpcyBvayB3aXRoIGN1cnJlbnQgZGVzaWduIHRvIGdyYWIgbWxvY2sgd2hp bGUgaG9sZGluZw0KPiBxbG9jay4NCj4gPj4gU28sIHRoZXJlIGlzIG5vdGhpbmcgd3Jvbmcgd2l0 aCBjdXJyZW50IHBhdGNoLCBJIGp1c3QgdGhpbmsgdGhhdCBpbg0KPiA+PiB0aGF0IGNhc2UgaXQg aXMgZXhjZXNzaXZlLCBhbmQgY2FuIGJlIHNhZmVseSBhdm9pZGVkLg0KPiA+Pg0KPiA+Pj4NCj4g Pj4+PiBBcGFydCBmcm9tIHRoYXQsIExHVE0uDQo+ID4+Pj4gQWNrZWQtYnk6IEtvbnN0YW50aW4g QW5hbnlldiA8a29uc3RhbnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1Pg0KPiA+Pj4+DQo+ID4+Pj4+ ICAgIAlydGVfbWNmZ190YWlscV93cml0ZV91bmxvY2soKTsNCj4gPj4+Pj4NCj4gPj4+Pj4gICAg CXJ0ZV9mcmVlKHRlKTsNCj4gPj4+Pj4gLS0NCj4gPj4+Pj4gMi4zMy4wDQo+ID4+Pj4NCj4gPj4+ DQo+ID4NCg0K