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 6F2F7A04FD; Tue, 24 May 2022 00:35:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 56DC44067B; Tue, 24 May 2022 00:35:21 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10082.outbound.protection.outlook.com [40.107.1.82]) by mails.dpdk.org (Postfix) with ESMTP id D3C774003C for ; Tue, 24 May 2022 00:35:19 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=MP+kOy3N+Kom2R48oOsxLz/u5cUL1nwoTV9UZkbXeqca9JXpUx7zvc5VtTgf+EKF2K03ogweq46k3hkPT5hbwyDnaVWH+Q2Xw5NL5cMf3yAX2yMNMzVZRkUSyjop2U+7CfI/pymP4TP/u6+QCslMvRlYeqfMryARzJPiF3pHkpxWwrPCKwfYLCeUN7fdN11tnPQq03Sg0i5tQQJA3sV9xLQrAKxV7woD5+7mSEwTzunoVny8rZkpa5jITLDzwzIUGow9+aMSj658dYNwilfnVwoznLcf52uOBwozEKd0q/DdDTBmhhPQfXhHjyLqIli62Pn+Fbu1scE+5aLZlHbCUA== 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=7WkaBKNaFdaWyUl52QX4uKj+qTjjNVKPVQ0fGZ8RxWc=; b=BcchHz0Q7WbEq0KJGLIphviGDbaEV3w4+9njEVhisf1gcZFfNfRefbzNhut131Pjek06AkztpSO8+d+AZCMX9hcsrjRyesIdfhtL4qQ7xmdtc6tjv32fmY42H/rTnbMxQTfEHw9LRUYGZ5iqhDrwJ7SMUhEfCm3MUGHmiljq72nV/AnWl5fFZGE9JdDHLWoK81BLDqB8zC1HTPij4cajGnQES3ieQNLxc3J+0h1B1f3G+YzaFrf/63UwLZvFhiAsV1rJH/rxLRnlGtJle7+KbQwkmkIBqEO3sf8AHy12JMumY3pmlHAB2cfPwsL4/pJz+Ftm00EsaFBQkbgOtI6cFA== 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=7WkaBKNaFdaWyUl52QX4uKj+qTjjNVKPVQ0fGZ8RxWc=; b=EL/7J74Q+BD6J1vWl9ZdcFbK2RdA5PdvkxfX1jIjTLN322E+DE4xS43XrN8Tl/arw2B1piM1Hd32Eq1ZgBRDXIOiIUmkN2es2y4t/Ivs8KOYS5vxe4v6vaYuv5SFZpFqwUiCFpQmZk/ibRFGXwifDZrG0a/2ao+hxXTCALnvWy0= Received: from DB9PR05CA0026.eurprd05.prod.outlook.com (2603:10a6:10:1da::31) by AM0PR08MB4963.eurprd08.prod.outlook.com (2603:10a6:208:159::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.18; Mon, 23 May 2022 22:35:16 +0000 Received: from DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1da:cafe::c5) by DB9PR05CA0026.outlook.office365.com (2603:10a6:10:1da::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.22 via Frontend Transport; Mon, 23 May 2022 22:35:16 +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 DBAEUR03FT014.mail.protection.outlook.com (100.127.143.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14 via Frontend Transport; Mon, 23 May 2022 22:35:16 +0000 Received: ("Tessian outbound c1f35bac1852:v119"); Mon, 23 May 2022 22:35:16 +0000 X-CR-MTA-TID: 64aa7808 Received: from 120fb1115219.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E25C7242-E264-496D-85E5-645B5DC48020.1; Mon, 23 May 2022 22:35:07 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 120fb1115219.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 23 May 2022 22:35:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CEfCytWPLB9GsTGGuN0J5bFdP7j2X4SZa+42Szqoghv5eTWOFkLTnKQysHriFiUCoVJTp/USbh3geFTo5JHqmwsc4MiOrbt15iCwzkrgkq5qxffRUvYi3B4wJY14CYpzb063A3TUE3lfyV7REzh6mXEJJYLvQbF4G+O+CCwWMr4UIN8kRGvjkxcz0Ujj9TF+egfWxMZdngHEqgIltqv/qUk9DAGx0aJE8q2VYTavYxD+aL1Jk7vCavDJW+zSd2qUiuGhk6APe8W4qdZe6yLocrEop49H8jbgFvBaJoz1/8s5Sr5DcETvc+eNYFZVl4ONWJKP+fs022V0nRFRIPrqmQ== 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=7WkaBKNaFdaWyUl52QX4uKj+qTjjNVKPVQ0fGZ8RxWc=; b=i9SNWOPQU7CSXwRZAoe+0XgPEPPVOhTJxHr9WMVAP9jyscyJbG3OUNWqqGOtiaP48PCchySnS2mm8We8nAJJpISNAfoex5Dd2mPU0NV+C5ioM5BqVnDCXrpCQrquTliRSrl9rR2a78876kXV2thkTnVEp0CKzelElb3W7OfacvnY2gSwLAUl3iEpA9gfKNHM8dnCIWhPgiyVdWqdZV8BRScDA3V072SkJV4/fjM5o/Rm43ZwAA6bJrfIZVPCRhoNx+t0mvNjtwx54mLBzwoSZS4PK4qylrrLCkz9d7GpWowzv8jyIaxITOIwgQXQ7kVebUm2kmhj2zDgeTIcIILQaw== 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=7WkaBKNaFdaWyUl52QX4uKj+qTjjNVKPVQ0fGZ8RxWc=; b=EL/7J74Q+BD6J1vWl9ZdcFbK2RdA5PdvkxfX1jIjTLN322E+DE4xS43XrN8Tl/arw2B1piM1Hd32Eq1ZgBRDXIOiIUmkN2es2y4t/Ivs8KOYS5vxe4v6vaYuv5SFZpFqwUiCFpQmZk/ibRFGXwifDZrG0a/2ao+hxXTCALnvWy0= Received: from AS8PR08MB7837.eurprd08.prod.outlook.com (2603:10a6:20b:528::11) by DBBPR08MB6138.eurprd08.prod.outlook.com (2603:10a6:10:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Mon, 23 May 2022 22:35:03 +0000 Received: from AS8PR08MB7837.eurprd08.prod.outlook.com ([fe80::4c65:7221:bc8c:ccb]) by AS8PR08MB7837.eurprd08.prod.outlook.com ([fe80::4c65:7221:bc8c:ccb%7]) with mapi id 15.20.5273.022; Mon, 23 May 2022 22:35:03 +0000 From: Kathleen Capella To: Don Wallwork , "dev@dpdk.org" CC: "stephen@networkplumber.org" , "fengchengwen@huawei.com" , "mb@smartsharesystems.com" , "anatoly.burakov@intel.com" , "dmitry.kozliuk@gmail.com" , "bruce.richardson@intel.com" , Honnappa Nagarahalli , nd , "haiyue.wang@intel.com" Subject: RE: [PATCH v4] eal: allow worker lcore stacks to be allocated from hugepage memory Thread-Topic: [PATCH v4] eal: allow worker lcore stacks to be allocated from hugepage memory Thread-Index: AQHYagNIxr+aWx0oKE2nqR0jltnBRK0tFQKQ Date: Mon, 23 May 2022 22:35:03 +0000 Message-ID: References: <20220502141058.12707-1-donw@xsightlabs.com> <20220517153136.23128-1-donw@xsightlabs.com> In-Reply-To: <20220517153136.23128-1-donw@xsightlabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: DC66C96652CB6742A8FA2B92F6F6A200.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-Office365-Filtering-Correlation-Id: cc254a28-68ff-4931-f82f-08da3d0c8263 x-ms-traffictypediagnostic: DBBPR08MB6138:EE_|DBAEUR03FT014:EE_|AM0PR08MB4963:EE_ X-Microsoft-Antispam-PRVS: 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: KwWBrJJ3Q081curJMWGR2eFH2BYX5Rzs4M0FLBFLYVBuHT9zoIaheurHfUx4ZvZRt2QCSgo+7pGExYCnN0veU8ekHhq8Fc3kAtutBY9EZ2ZSIuvW/eBKeQuON265lCskRA5nrI3ncuIITes/C9e3+vbnIPr5Zz67e0yo5Su/UN3lagioJWqD2PYwDGSZqudYEPlnyiEfP6xALOHMPPNDbTcO7vHcU6jvEDRDxRtCfVFq1+OBACdlxT875hdyagJAmGw3QqKhBusn6j6O676TEu8517V+0CtcTDbsLSk/qv6VvccP/jLSRJZl4L0fYiRdeOS+wI9Kk5fayu8rExRSE0S2rwrhud6UAGMDYhtsyQqxAxBWJQPBBCKrMXfZ1cEBZnDo62Kxyl6C76Gsd+9zAHz+PjxOc6FpzqrJEOhT9keIeXaDMZDqhnAcVy+gsFoYPtMHxybL4T+uFbMCaZM6h9vHdyzaDNk3AXswCN9I9jg2/Y8CJgcKUJ7fCBdoECA8kkLwaXI6EbJ3P2//86Wo7x/3SSWD/m+3lmhV480PsrrQ6dzJtGD2Jnq9pQ3sYxPptWrL70+5/SIgJfLif3MlyDRp+Ax0acRMh+VOx33INk4DoSMsN39X+0ptj56y7VFa+RDYH4mZfNOF7fJFpHDWZa+4BRtFBR5Z5vJh3Ietv1g0++kgl5BJeUVPytpLj0DNhREeh1ANbVn5k1jzmvrNrA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7837.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(508600001)(8676002)(54906003)(2906002)(33656002)(9686003)(86362001)(4326008)(38070700005)(71200400001)(316002)(110136005)(38100700002)(76116006)(122000001)(66446008)(66946007)(66476007)(66556008)(64756008)(66574015)(55016003)(8936002)(52536014)(5660300002)(6506007)(53546011)(7696005)(83380400001)(186003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6138 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: DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2232919d-8e1f-469a-8604-08da3d0c7a87 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GHdUX7M2uehoaLQbHMHDJGYvcTajyaTRAblLBl1BpwMEMVFeELMnefmYOlJc4Y3cbiB07I9pGVQpt88ItVL2NPmEeunVhCkUJ4b62KgBFR6ZVqQbigZjQ5EaY2b5mpm+P/IXF6Xay4tZLVTQf5wLDosLE2TpUfAKzb8N2Y5z2dc/hH6dZxCA10lwNTLqYDE8ItibzqB+oYtlfRx3nNuu05kFDX2T5K6RIb9ANP1ivsYWVQmZAiQ+5bD2iJtA0rbGxnhM5oQi6gdRV8m5Iz5CrT71SS6Owy1lxoaSBU/X7klyF8GmveTklslW0Z21MyIe5MQ2wzKuNI+d6dAMyzgUZUC1YyZ8abDxI2autIpGPB1j2FvUR/d5ou+UhzjbLn69gxwsrzeIv1NnqIzOxjv1ZQD+3OYwDatl/LW9tGlaJwmYNnWdTplxwWGIaX7FNFop9/wauw73LN6PutYoF0qr6bodPPzErCrukgU3/xTrUZOrz0OmP4Za4/sdYJZra5pEAtCB9b1qBWk9+RgudabSa6n8IYmnP2W20tEsyySUsHit8x0OUskpaUTB5B69NS321pMsstbz+GTVYs0ZBXdeeMCT5GtYpMiSLZeiZwnnJix4mYZD2ZhXWFAMNpgEk9KpmWoYIbfBoYM9MjsBnBIyW8kg+/og1C389z+KQIMq5+koW20KkrJWNQFPCDOwr+HR 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:(13230001)(4636009)(36840700001)(46966006)(40470700004)(8936002)(5660300002)(53546011)(82310400005)(110136005)(70586007)(54906003)(55016003)(70206006)(2906002)(86362001)(40460700003)(508600001)(316002)(81166007)(356005)(7696005)(6506007)(9686003)(83380400001)(36860700001)(8676002)(4326008)(52536014)(66574015)(47076005)(336012)(26005)(33656002)(186003)(107886003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2022 22:35:16.2681 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc254a28-68ff-4931-f82f-08da3d0c8263 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: DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4963 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 SW4gdGhpcyBzZWN0aW9uIG9mIHRoZSBjb2RlOg0KDQpzdGFja19wdHIgPSBydGVfem1hbGxvY19z b2NrZXQoImxjb3JlX3N0YWNrIiwNCgkJCQkgICAgICAgc3RhY2tfc2l6ZSwNCgkJCQkgICAgICAg c3RhY2tfc2l6ZSwNCgkJCQkgICAgICAgcnRlX2xjb3JlX3RvX3NvY2tldF9pZChsY29yZV9pZCkp Ow0KDQpzdGFjayBtZW1vcnkgaXMgYWxpZ25lZCB0byB0aGUgc3RhY2tfc2l6ZS4gQWNjb3JkaW5n IHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBydGVfem1hbGxvY19zb2NrZXQsIHRoZSBhbGlnbm1l bnQgbXVzdCBiZSBhIHBvd2VyIG9mIHR3by4gSWYgdGhlIHVzZXIgaW5wdXRzIGEgbnVtYmVyIG9m IEtCcyB0aGF0IGlzIG5vdCBhIHBvd2VyIG9mIHR3bywgdGhpcyB3aWxsIGZhaWwgd2l0aCBhIGdl bmVyaWMgZXJyb3IgbWVzc2FnZSBvZiAiIEVBTDogQ2Fubm90IGFsbG9jYXRlIHdvcmtlciBsY29y ZSBzdGFjayBtZW1vcnkuIiBBIGNoZWNrIGZvciB0aGlzIG9jY3VycmVuY2Ugd2l0aCBhIG1vcmUg ZGVzY3JpcHRpdmUgZXJyb3IgbWVzc2FnZSBhbmQgYSBub3RlIGluIHRoZSBkb2N1bWVudGF0aW9u IHdvdWxkIGJlIGdvb2QgdG8gaW5jbHVkZS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBEb24gV2FsbHdvcmsgPGRvbndAeHNpZ2h0bGFicy5jb20+DQo+IFNlbnQ6IFR1 ZXNkYXksIE1heSAxNywgMjAyMiAxMDozMiBBTQ0KPiBUbzogZGV2QGRwZGsub3JnDQo+IENjOiBk b253QHhzaWdodGxhYnMuY29tOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsNCj4gZmVuZ2No ZW5nd2VuQGh1YXdlaS5jb207IG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbTsNCj4gYW5hdG9seS5i dXJha292QGludGVsLmNvbTsgZG1pdHJ5LmtvemxpdWtAZ21haWwuY29tOw0KPiBicnVjZS5yaWNo YXJkc29uQGludGVsLmNvbTsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2Fy YWhhbGxpQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47DQo+IGhhaXl1ZS53YW5nQGludGVsLmNv bQ0KPiBTdWJqZWN0OiBbUEFUQ0ggdjRdIGVhbDogYWxsb3cgd29ya2VyIGxjb3JlIHN0YWNrcyB0 byBiZSBhbGxvY2F0ZWQgZnJvbQ0KPiBodWdlcGFnZSBtZW1vcnkNCj4gDQo+IEFkZCBzdXBwb3J0 IGZvciB1c2luZyBodWdlcGFnZXMgZm9yIHdvcmtlciBsY29yZSBzdGFjayBtZW1vcnkuICBUaGUg aW50ZW50DQo+IGlzIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UgYnkgcmVkdWNpbmcgc3RhY2sgbWVt b3J5IHJlbGF0ZWQgVExCIG1pc3NlcyBhbmQNCj4gYWxzbyBieSB1c2luZyBtZW1vcnkgbG9jYWwg dG8gdGhlIE5VTUEgbm9kZSBvZiBlYWNoIGxjb3JlLg0KPiANCj4gRUFMIG9wdGlvbiAnLS1odWdl LXdvcmtlci1zdGFjayBbc3RhY2stc2l6ZS1pbi1rYnl0ZXNdJyBpcyBhZGRlZCB0byBhbGxvdyB0 aGUNCj4gZmVhdHVyZSB0byBiZSBlbmFibGVkIGF0IHJ1bnRpbWUuICBJZiB0aGUgc2l6ZSBpcyBu b3Qgc3BlY2lmaWVkLCB0aGUgc3lzdGVtDQo+IHB0aHJlYWQgc3RhY2sgc2l6ZSB3aWxsIGJlIHVz ZWQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBEb24gV2FsbHdvcmsgPGRvbndAeHNpZ2h0bGFicy5j b20+DQo+IEFja2VkLWJ5OiBNb3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29t Pg0KPiAtLS0NCj4gIGRvYy9ndWlkZXMvbGludXhfZ3NnL2VhbF9hcmdzLmluY2x1ZGUucnN0ICAg ICB8ICA2ICsrDQo+ICAuLi4vcHJvZ19ndWlkZS9lbnZfYWJzdHJhY3Rpb25fbGF5ZXIucnN0ICAg ICAgfCAyMSArKysrKysrDQo+ICBsaWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX29wdGlvbnMuYyAg ICAgICAgICAgfCA0MSArKysrKysrKysrKysrDQo+ICBsaWIvZWFsL2NvbW1vbi9lYWxfaW50ZXJu YWxfY2ZnLmggICAgICAgICAgICAgfCAgNCArKw0KPiAgbGliL2VhbC9jb21tb24vZWFsX29wdGlv bnMuaCAgICAgICAgICAgICAgICAgIHwgIDIgKw0KPiAgbGliL2VhbC9saW51eC9lYWwuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgNjEgKysrKysrKysrKysrKysrKysrLQ0KPiAgNiBmaWxl cyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg LS1naXQgYS9kb2MvZ3VpZGVzL2xpbnV4X2dzZy9lYWxfYXJncy5pbmNsdWRlLnJzdA0KPiBiL2Rv Yy9ndWlkZXMvbGludXhfZ3NnL2VhbF9hcmdzLmluY2x1ZGUucnN0DQo+IGluZGV4IDM1NDlhMGNm NTYuLjljZmJmN2RlODQgMTAwNjQ0DQo+IC0tLSBhL2RvYy9ndWlkZXMvbGludXhfZ3NnL2VhbF9h cmdzLmluY2x1ZGUucnN0DQo+ICsrKyBiL2RvYy9ndWlkZXMvbGludXhfZ3NnL2VhbF9hcmdzLmlu Y2x1ZGUucnN0DQo+IEBAIC0xMTYsNiArMTE2LDEyIEBAIE1lbW9yeS1yZWxhdGVkIG9wdGlvbnMN Cj4gDQo+ICAgICAgRm9yY2UgSU9WQSBtb2RlIHRvIGEgc3BlY2lmaWMgdmFsdWUuDQo+IA0KPiAr KiAgIGBgLS1odWdlLXdvcmtlci1zdGFja1s9c2l6ZV1gYA0KPiArDQo+ICsgICAgQWxsb2NhdGUg d29ya2VyIHN0YWNrIG1lbW9yeSBmcm9tIGh1Z2VwYWdlIG1lbW9yeS4gU3RhY2sgc2l6ZQ0KPiBk ZWZhdWx0cw0KPiArICAgIHRvIHN5c3RlbSBwdGhyZWFkIHN0YWNrIHNpemUgdW5sZXNzIHRoZSBv cHRpb25hbCBzaXplIChpbiBrYnl0ZXMpIGlzDQo+ICsgICAgc3BlY2lmaWVkLg0KPiArDQo+ICBE ZWJ1Z2dpbmcgb3B0aW9ucw0KPiAgfn5+fn5+fn5+fn5+fn5+fn4NCj4gDQo+IGRpZmYgLS1naXQg YS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZW52X2Fic3RyYWN0aW9uX2xheWVyLnJzdA0KPiBiL2Rv Yy9ndWlkZXMvcHJvZ19ndWlkZS9lbnZfYWJzdHJhY3Rpb25fbGF5ZXIucnN0DQo+IGluZGV4IDVm MDc0OGZiYTEuLmU3NDUxNmYwY2YgMTAwNjQ0DQo+IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlk ZS9lbnZfYWJzdHJhY3Rpb25fbGF5ZXIucnN0DQo+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlk ZS9lbnZfYWJzdHJhY3Rpb25fbGF5ZXIucnN0DQo+IEBAIC0zMjksNiArMzI5LDI3IEBAIEFub3Ro ZXIgb3B0aW9uIGlzIHRvIHVzZSBiaWdnZXIgcGFnZSBzaXplcy4gU2luY2UNCj4gZmV3ZXIgcGFn ZXMgYXJlIHJlcXVpcmVkIHRvICBjb3ZlciB0aGUgc2FtZSBtZW1vcnkgYXJlYSwgZmV3ZXIgZmls ZQ0KPiBkZXNjcmlwdG9ycyB3aWxsIGJlIHN0b3JlZCBpbnRlcm5hbGx5ICBieSBFQUwuDQo+IA0K PiArLi4gX2h1Z2Utd29ya2VyLXN0YWNrOg0KPiArDQo+ICtIdWdlcGFnZSBXb3JrZXIgU3RhY2tz DQo+ICteXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQo+ICsNCj4gK1doZW4gdGhlIGBgLS1odWdlLXdv cmtlci1zdGFja1s9c2l6ZV1gYCBFQUwgb3B0aW9uIGlzIHNwZWNpZmllZCwgd29ya2VyDQo+ICt0 aHJlYWQgc3RhY2tzIGFyZSBhbGxvY2F0ZWQgZnJvbSBodWdlcGFnZSBtZW1vcnkgbG9jYWwgdG8g dGhlIE5VTUEgbm9kZQ0KPiArb2YgdGhlIHRocmVhZC4gV29ya2VyIHN0YWNrIHNpemUgZGVmYXVs dHMgdG8gc3lzdGVtIHB0aHJlYWQgc3RhY2sgc2l6ZQ0KPiAraWYgdGhlIG9wdGlvbmFsIHNpemUg cGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQuDQo+ICsNCj4gKy4uIHdhcm5pbmc6Og0KPiArICAg IFN0YWNrcyBhbGxvY2F0ZWQgZnJvbSBodWdlcGFnZSBtZW1vcnkgYXJlIG5vdCBwcm90ZWN0ZWQg YnkgZ3VhcmQNCj4gKyAgICBwYWdlcy4gV29ya2VyIHN0YWNrcyBtdXN0IGJlIHN1ZmZpY2llbnRs eSBzaXplZCB0byBwcmV2ZW50IHN0YWNrDQo+ICsgICAgb3ZlcmZsb3cgd2hlbiB0aGlzIG9wdGlv biBpcyB1c2VkLg0KPiArDQo+ICsgICAgQXMgd2l0aCBub3JtYWwgdGhyZWFkIHN0YWNrcywgaHVn ZXBhZ2Ugd29ya2VyIHRocmVhZCBzdGFjayBzaXplIGlzDQo+ICsgICAgZml4ZWQgYW5kIGlzIG5v dCBkeW5hbWljYWxseSByZXNpemVkLiBUaGVyZWZvcmUsIGFuIGFwcGxpY2F0aW9uIHRoYXQNCj4g KyAgICBpcyBmcmVlIG9mIHN0YWNrIHBhZ2UgZmF1bHRzIHVuZGVyIGEgZ2l2ZW4gbG9hZCBzaG91 bGQgYmUgc2FmZSB3aXRoDQo+ICsgICAgaHVnZXBhZ2Ugd29ya2VyIHRocmVhZCBzdGFja3MgZ2l2 ZW4gdGhlIHNhbWUgdGhyZWFkIHN0YWNrIHNpemUgYW5kDQo+ICsgICAgbG9hZGluZyBjb25kaXRp b25zLg0KPiArDQo+ICBTdXBwb3J0IGZvciBFeHRlcm5hbGx5IEFsbG9jYXRlZCBNZW1vcnkNCj4g fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+IA0KPiBkaWZmIC0tZ2l0 IGEvbGliL2VhbC9jb21tb24vZWFsX2NvbW1vbl9vcHRpb25zLmMNCj4gYi9saWIvZWFsL2NvbW1v bi9lYWxfY29tbW9uX29wdGlvbnMuYw0KPiBpbmRleCBmMjQ3YTQyNDU1Li4zNzA4MDFmMTliIDEw MDY0NA0KPiAtLS0gYS9saWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX29wdGlvbnMuYw0KPiArKysg Yi9saWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX29wdGlvbnMuYw0KPiBAQCAtMTAzLDYgKzEwMyw3 IEBAIGVhbF9sb25nX29wdGlvbnNbXSA9IHsNCj4gIAl7T1BUX1RFTEVNRVRSWSwgICAgICAgICAw LCBOVUxMLCBPUFRfVEVMRU1FVFJZX05VTSAgICAgICAgfSwNCj4gIAl7T1BUX05PX1RFTEVNRVRS WSwgICAgICAwLCBOVUxMLCBPUFRfTk9fVEVMRU1FVFJZX05VTSAgICAgfSwNCj4gIAl7T1BUX0ZP UkNFX01BWF9TSU1EX0JJVFdJRFRILCAxLCBOVUxMLA0KPiBPUFRfRk9SQ0VfTUFYX1NJTURfQklU V0lEVEhfTlVNfSwNCj4gKwl7T1BUX0hVR0VfV09SS0VSX1NUQUNLLCAyLCBOVUxMLA0KPiBPUFRf SFVHRV9XT1JLRVJfU1RBQ0tfTlVNICAgICB9LA0KPiANCj4gIAl7MCwgICAgICAgICAgICAgICAg ICAgICAwLCBOVUxMLCAwICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiAgfTsNCj4gQEAgLTE2 MTgsNiArMTYxOSwyOCBAQCBlYWxfcGFyc2VfaHVnZV91bmxpbmsoY29uc3QgY2hhciAqYXJnLCBz dHJ1Y3QNCj4gaHVnZXBhZ2VfZmlsZV9kaXNjaXBsaW5lICpvdXQpDQo+ICAJcmV0dXJuIC0xOw0K PiAgfQ0KPiANCj4gKyNpZm5kZWYgUlRFX0VYRUNfRU5WX1dJTkRPV1MNCj4gK3N0YXRpYyBpbnQN Cj4gK2VhbF9wYXJzZV9odWdlX3dvcmtlcl9zdGFjayhjb25zdCBjaGFyICphcmcsIHNpemVfdA0K PiArKmh1Z2Vfd29ya2VyX3N0YWNrX3NpemUpIHsNCj4gKwlzaXplX3Qgd29ya2VyX3N0YWNrX3Np emU7DQo+ICsJY2hhciAqZW5kOw0KPiArDQo+ICsJaWYgKGFyZyA9PSBOVUxMIHx8IGFyZ1swXSA9 PSAnXDAnKSB7DQo+ICsJCSpodWdlX3dvcmtlcl9zdGFja19zaXplID0gV09SS0VSX1NUQUNLX1NJ WkVfRlJPTV9PUzsNCj4gKwkJcmV0dXJuIDA7DQo+ICsJfQ0KPiArCWVycm5vID0gMDsNCj4gKwl3 b3JrZXJfc3RhY2tfc2l6ZSA9IHN0cnRvdWwoYXJnLCAmZW5kLCAxMCk7DQo+ICsJaWYgKGVycm5v IHx8IGVuZCA9PSBOVUxMIHx8IHdvcmtlcl9zdGFja19zaXplID09IDAgfHwNCj4gKwkgICAgd29y a2VyX3N0YWNrX3NpemUgPj0gKHNpemVfdCktMSAvIDEwMjQpDQo+ICsJCXJldHVybiAtMTsNCj4g Kw0KPiArCSpodWdlX3dvcmtlcl9zdGFja19zaXplID0gd29ya2VyX3N0YWNrX3NpemUgKiAxMDI0 Ow0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArI2VuZGlmDQo+ICsNCj4gIGludA0KPiAgZWFsX3Bh cnNlX2NvbW1vbl9vcHRpb24oaW50IG9wdCwgY29uc3QgY2hhciAqb3B0YXJnLA0KPiAgCQkJc3Ry dWN0IGludGVybmFsX2NvbmZpZyAqY29uZikNCj4gQEAgLTE5MjEsNiArMTk0NCwxNyBAQCBlYWxf cGFyc2VfY29tbW9uX29wdGlvbihpbnQgb3B0LCBjb25zdCBjaGFyDQo+ICpvcHRhcmcsDQo+ICAJ CX0NCj4gIAkJYnJlYWs7DQo+IA0KPiArI2lmbmRlZiBSVEVfRVhFQ19FTlZfV0lORE9XUw0KPiAr CWNhc2UgT1BUX0hVR0VfV09SS0VSX1NUQUNLX05VTToNCj4gKwkJaWYgKGVhbF9wYXJzZV9odWdl X3dvcmtlcl9zdGFjayhvcHRhcmcsDQo+ICsJCQkJCQkmY29uZi0NCj4gPmh1Z2Vfd29ya2VyX3N0 YWNrX3NpemUpIDwgMCkgew0KPiArCQkJUlRFX0xPRyhFUlIsIEVBTCwgImludmFsaWQgcGFyYW1l dGVyIGZvciAtLSINCj4gKwkJCQlPUFRfSFVHRV9XT1JLRVJfU1RBQ0siXG4iKTsNCj4gKwkJCXJl dHVybiAtMTsNCj4gKwkJfQ0KPiArCQlicmVhazsNCj4gKyNlbmRpZiAvKiAhUlRFX0VYRUNfRU5W X1dJTkRPV1MgKi8NCj4gKw0KPiAgCS8qIGRvbid0IGtub3cgd2hhdCB0byBkbywgbGVhdmUgdGhp cyB0byBjYWxsZXIgKi8NCj4gIAlkZWZhdWx0Og0KPiAgCQlyZXR1cm4gMTsNCj4gQEAgLTIyMzUs NSArMjI2OSwxMiBAQCBlYWxfY29tbW9uX3VzYWdlKHZvaWQpDQo+ICAJICAgICAgICIgIC0tIk9Q VF9OT19QQ0kiICAgICAgICAgICAgRGlzYWJsZSBQQ0lcbiINCj4gIAkgICAgICAgIiAgLS0iT1BU X05PX0hQRVQiICAgICAgICAgICBEaXNhYmxlIEhQRVRcbiINCj4gIAkgICAgICAgIiAgLS0iT1BU X05PX1NIQ09ORiIgICAgICAgICBObyBzaGFyZWQgY29uZmlnIChtbWFwJ2QgZmlsZXMpXG4iDQo+ ICsjaWZuZGVmIFJURV9FWEVDX0VOVl9XSU5ET1dTDQo+ICsJICAgICAgICIgIC0tIk9QVF9IVUdF X1dPUktFUl9TVEFDSyJbPXNpemVdXG4iDQo+ICsJICAgICAgICIgICAgICAgICAgICAgICAgICAg ICAgQWxsb2NhdGUgd29ya2VyIHRocmVhZCBzdGFja3MgZnJvbVxuIg0KPiArCSAgICAgICAiICAg ICAgICAgICAgICAgICAgICAgIGh1Z2VwYWdlIG1lbW9yeS4gU2l6ZSBpcyBpbiB1bml0cyBvZlxu Ig0KPiArCSAgICAgICAiICAgICAgICAgICAgICAgICAgICAgIGtieXRlcyBhbmQgZGVmYXVsdHMg dG8gc3lzdGVtIHRocmVhZFxuIg0KPiArCSAgICAgICAiICAgICAgICAgICAgICAgICAgICAgIHN0 YWNrIHNpemUgaWYgbm90IHNwZWNpZmllZC5cbiINCj4gKyNlbmRpZg0KPiAgCSAgICAgICAiXG4i LCBSVEVfTUFYX0xDT1JFKTsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL2Vh bF9pbnRlcm5hbF9jZmcuaA0KPiBiL2xpYi9lYWwvY29tbW9uL2VhbF9pbnRlcm5hbF9jZmcuaA0K PiBpbmRleCBiNzFmYWFkZDE4Li41ZTE1NDk2N2U0IDEwMDY0NA0KPiAtLS0gYS9saWIvZWFsL2Nv bW1vbi9lYWxfaW50ZXJuYWxfY2ZnLmgNCj4gKysrIGIvbGliL2VhbC9jb21tb24vZWFsX2ludGVy bmFsX2NmZy5oDQo+IEBAIC00OCw2ICs0OCw5IEBAIHN0cnVjdCBodWdlcGFnZV9maWxlX2Rpc2Np cGxpbmUgew0KPiAgCWJvb2wgdW5saW5rX2V4aXN0aW5nOw0KPiAgfTsNCj4gDQo+ICsvKiogV29y a2VyIGh1Z2VwYWdlIHN0YWNrIHNpemUgc2hvdWxkIGRlZmF1bHQgdG8gT1MgdmFsdWUuICovICNk ZWZpbmUNCj4gK1dPUktFUl9TVEFDS19TSVpFX0ZST01fT1MgKChzaXplX3QpfjApDQo+ICsNCj4g IC8qKg0KPiAgICogaW50ZXJuYWwgY29uZmlndXJhdGlvbg0KPiAgICovDQo+IEBAIC0xMDIsNiAr MTA1LDcgQEAgc3RydWN0IGludGVybmFsX2NvbmZpZyB7DQo+ICAJdW5zaWduZWQgaW50IG5vX3Rl bGVtZXRyeTsgLyoqPCB0cnVlIHRvIGRpc2FibGUgVGVsZW1ldHJ5ICovDQo+ICAJc3RydWN0IHNp bWRfYml0d2lkdGggbWF4X3NpbWRfYml0d2lkdGg7DQo+ICAJLyoqPCBtYXggc2ltZCBiaXR3aWR0 aCBwYXRoIHRvIHVzZSAqLw0KPiArCXNpemVfdCBodWdlX3dvcmtlcl9zdGFja19zaXplOyAvKio8 IHdvcmtlciB0aHJlYWQgc3RhY2sgc2l6ZSAqLw0KPiAgfTsNCj4gDQo+ICB2b2lkIGVhbF9yZXNl dF9pbnRlcm5hbF9jb25maWcoc3RydWN0IGludGVybmFsX2NvbmZpZyAqaW50ZXJuYWxfY2ZnKTsg ZGlmZiAtLWdpdA0KPiBhL2xpYi9lYWwvY29tbW9uL2VhbF9vcHRpb25zLmggYi9saWIvZWFsL2Nv bW1vbi9lYWxfb3B0aW9ucy5oIGluZGV4DQo+IDhlNGY3MjAyYTIuLjNjYzljYjY0MTIgMTAwNjQ0 DQo+IC0tLSBhL2xpYi9lYWwvY29tbW9uL2VhbF9vcHRpb25zLmgNCj4gKysrIGIvbGliL2VhbC9j b21tb24vZWFsX29wdGlvbnMuaA0KPiBAQCAtODcsNiArODcsOCBAQCBlbnVtIHsNCj4gIAlPUFRf Tk9fVEVMRU1FVFJZX05VTSwNCj4gICNkZWZpbmUgT1BUX0ZPUkNFX01BWF9TSU1EX0JJVFdJRFRI ICAiZm9yY2UtbWF4LXNpbWQtYml0d2lkdGgiDQo+ICAJT1BUX0ZPUkNFX01BWF9TSU1EX0JJVFdJ RFRIX05VTSwNCj4gKyNkZWZpbmUgT1BUX0hVR0VfV09SS0VSX1NUQUNLICAiaHVnZS13b3JrZXIt c3RhY2siDQo+ICsJT1BUX0hVR0VfV09SS0VSX1NUQUNLX05VTSwNCj4gDQo+ICAJT1BUX0xPTkdf TUFYX05VTQ0KPiAgfTsNCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvbGludXgvZWFsLmMgYi9saWIv ZWFsL2xpbnV4L2VhbC5jIGluZGV4DQo+IDFlZjI2MzQzNGEuLjJiZWU2NjU3N2UgMTAwNjQ0DQo+ IC0tLSBhL2xpYi9lYWwvbGludXgvZWFsLmMNCj4gKysrIGIvbGliL2VhbC9saW51eC9lYWwuYw0K PiBAQCAtODU3LDYgKzg1Nyw2NCBAQCBpc19pb21tdV9lbmFibGVkKHZvaWQpDQo+ICAJcmV0dXJu IG4gPiAyOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK2VhbF93b3JrZXJfdGhyZWFkX2Ny ZWF0ZShzdHJ1Y3QgaW50ZXJuYWxfY29uZmlnICppbnRlcm5hbF9jb25mLA0KPiArCQkJIGludCBs Y29yZV9pZCkNCj4gK3sNCj4gKwlwdGhyZWFkX2F0dHJfdCBhdHRyOw0KPiArCXNpemVfdCBzdGFj a19zaXplOw0KPiArCXZvaWQgKnN0YWNrX3B0cjsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJaWYg KGludGVybmFsX2NvbmYtPmh1Z2Vfd29ya2VyX3N0YWNrX3NpemUgPT0gMCkNCj4gKwkJcmV0dXJu IHB0aHJlYWRfY3JlYXRlKCZsY29yZV9jb25maWdbbGNvcmVfaWRdLnRocmVhZF9pZCwNCj4gKwkJ CQkgICAgICBOVUxMLA0KPiArCQkJCSAgICAgIGVhbF90aHJlYWRfbG9vcCwNCj4gKwkJCQkgICAg ICAodm9pZCAqKSh1aW50cHRyX3QpbGNvcmVfaWQpOw0KPiArDQo+ICsJLyogQWxsb2NhdGUgTlVN QSBhd2FyZSBzdGFjayBtZW1vcnkgYW5kIHNldCBwdGhyZWFkIGF0dHJpYnV0ZXMgKi8NCj4gKwlp ZiAocHRocmVhZF9hdHRyX2luaXQoJmF0dHIpICE9IDApIHsNCj4gKwkJcnRlX2VhbF9pbml0X2Fs ZXJ0KCJDYW5ub3QgaW5pdCBwdGhyZWFkIGF0dHJpYnV0ZXMiKTsNCj4gKwkJcnRlX2Vycm5vID0g RUZBVUxUOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArCWlmIChpbnRlcm5hbF9jb25mLT5o dWdlX3dvcmtlcl9zdGFja19zaXplID09DQo+IFdPUktFUl9TVEFDS19TSVpFX0ZST01fT1MpIHsN Cj4gKwkJaWYgKHB0aHJlYWRfYXR0cl9nZXRzdGFja3NpemUoJmF0dHIsICZzdGFja19zaXplKSAh PSAwKSB7DQo+ICsJCQlydGVfZXJybm8gPSBFRkFVTFQ7DQo+ICsJCQlyZXR1cm4gLTE7DQo+ICsJ CX0NCj4gKwl9IGVsc2Ugew0KPiArCQlzdGFja19zaXplID0gaW50ZXJuYWxfY29uZi0+aHVnZV93 b3JrZXJfc3RhY2tfc2l6ZTsNCj4gKwl9DQo+ICsJc3RhY2tfcHRyID0gcnRlX3ptYWxsb2Nfc29j a2V0KCJsY29yZV9zdGFjayIsDQo+ICsJCQkJICAgICAgIHN0YWNrX3NpemUsDQo+ICsJCQkJICAg ICAgIHN0YWNrX3NpemUsDQo+ICsJCQkJICAgICAgIHJ0ZV9sY29yZV90b19zb2NrZXRfaWQobGNv cmVfaWQpKTsNCj4gKw0KPiArCWlmIChzdGFja19wdHIgPT0gTlVMTCkgew0KPiArCQlydGVfZWFs X2luaXRfYWxlcnQoIkNhbm5vdCBhbGxvY2F0ZSB3b3JrZXIgbGNvcmUgc3RhY2sNCj4gbWVtb3J5 Iik7DQo+ICsJCXJ0ZV9lcnJubyA9IEVOT01FTTsNCj4gKwkJcmV0dXJuIC0xOw0KPiArCX0NCj4g Kw0KPiArCWlmIChwdGhyZWFkX2F0dHJfc2V0c3RhY2soJmF0dHIsIHN0YWNrX3B0ciwgc3RhY2tf c2l6ZSkgIT0gMCkgew0KPiArCQlydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBzZXQgcHRocmVh ZCBzdGFjayBhdHRyaWJ1dGVzIik7DQo+ICsJCXJ0ZV9lcnJubyA9IEVGQVVMVDsNCj4gKwkJcmV0 dXJuIC0xOw0KPiArCX0NCj4gKw0KPiArCXJldCA9IHB0aHJlYWRfY3JlYXRlKCZsY29yZV9jb25m aWdbbGNvcmVfaWRdLnRocmVhZF9pZCwgJmF0dHIsDQo+ICsJCQkgICAgIGVhbF90aHJlYWRfbG9v cCwNCj4gKwkJCSAgICAgKHZvaWQgKikodWludHB0cl90KWxjb3JlX2lkKTsNCj4gKw0KPiArCWlm IChwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cikgIT0gMCkgew0KPiArCQlydGVfZWFsX2luaXRf YWxlcnQoIkNhbm5vdCBkZXN0cm95IHB0aHJlYWQgYXR0cmlidXRlcyIpOw0KPiArCQlydGVfZXJy bm8gPSBFRkFVTFQ7DQo+ICsJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsJcmV0dXJuIHJldDsNCj4g K30NCj4gKw0KPiAgLyogTGF1bmNoIHRocmVhZHMsIGNhbGxlZCBhdCBhcHBsaWNhdGlvbiBpbml0 KCkuICovICBpbnQgIHJ0ZV9lYWxfaW5pdChpbnQgYXJnYywNCj4gY2hhciAqKmFyZ3YpIEBAIC0x MTQ0LDggKzEyMDIsNyBAQCBydGVfZWFsX2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAg CQlsY29yZV9jb25maWdbaV0uc3RhdGUgPSBXQUlUOw0KPiANCj4gIAkJLyogY3JlYXRlIGEgdGhy ZWFkIGZvciBlYWNoIGxjb3JlICovDQo+IC0JCXJldCA9IHB0aHJlYWRfY3JlYXRlKCZsY29yZV9j b25maWdbaV0udGhyZWFkX2lkLCBOVUxMLA0KPiAtCQkJCSAgICAgZWFsX3RocmVhZF9sb29wLCAo dm9pZCAqKSh1aW50cHRyX3QpaSk7DQo+ICsJCXJldCA9IGVhbF93b3JrZXJfdGhyZWFkX2NyZWF0 ZShpbnRlcm5hbF9jb25mLCBpKTsNCj4gIAkJaWYgKHJldCAhPSAwKQ0KPiAgCQkJcnRlX3Bhbmlj KCJDYW5ub3QgY3JlYXRlIHRocmVhZFxuIik7DQo+IA0KPiAtLQ0KPiAyLjE3LjENCg0K