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 E2F17A0C47; Tue, 26 Oct 2021 03:11:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB51640A4B; Tue, 26 Oct 2021 03:11:24 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60042.outbound.protection.outlook.com [40.107.6.42]) by mails.dpdk.org (Postfix) with ESMTP id 504B84003E for ; Tue, 26 Oct 2021 03:11:23 +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=/YLAZ5F2MMTQ9Ll35B91B4SjGlT4f0gwXDmkQwSxhXM=; b=m40EtmzAY3AMCJR8Ear0FDRIdf3RN2Tm9UyGI7oEeTO257q7+2bdtY3j2RxUMXuplDNOilRDVQWjkKQPApnI4BcaROklR61+Tg7fFiMXEJQt+GMRkW0KOhSzsNlf1mM7U+ckVKPrHdIlRnJ0eiKplGCoXw87PhC4If7iiGNfNX4= Received: from AS8PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:20b:310::20) by VE1PR08MB5150.eurprd08.prod.outlook.com (2603:10a6:803:10a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Tue, 26 Oct 2021 01:11:21 +0000 Received: from VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::4c) by AS8PR04CA0015.outlook.office365.com (2603:10a6:20b:310::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Tue, 26 Oct 2021 01:11: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 VE1EUR03FT059.mail.protection.outlook.com (10.152.19.60) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Tue, 26 Oct 2021 01:11:20 +0000 Received: ("Tessian outbound 2e7020cc8961:v103"); Tue, 26 Oct 2021 01:11:20 +0000 X-CR-MTA-TID: 64aa7808 Received: from b5d548aa60bf.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C5DD57F6-5581-482B-8A4F-97A4FB6F7AAE.1; Tue, 26 Oct 2021 01:11:09 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b5d548aa60bf.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 26 Oct 2021 01:11:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mwt2bbLPy2eGJ7cWkwrq9POleRBsGQutjZ2yedb9ibeF8hStIxyJK9ukPJO2qYgJQaPlm8ENrRluQOnYLQalxtSXHUdy78F6Dz1W9oXBJHhGDTWEM9Pw5A0eB4cCWNONJzGbiBV0kPu87NGoiEwefJK2sf7ghcHZTvI1I/EAO846H/APcmbwSxAbJqtceJXB02WaWagYpw5XTscbYN95i7HI153fAp8UvS8ZakMscobnLPGrm3J/MAuzYPaPTdEi2OoP6YuN/S/G/06+gWsNDg0k4TRi0XZs1ovQtIALdlT58EWmfPeiSZPU9vwOGhXUlLK3RI75cBvEQDkClPGeZg== 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=/YLAZ5F2MMTQ9Ll35B91B4SjGlT4f0gwXDmkQwSxhXM=; b=KURqO6B6Cfd11mLzrS/dlvHRnAUTBBOn3IpOiLKVPvbtHwo6QF7+zGM3H9otnfSXaP7BUwzFPkH8kTz3btu8BltgVAHo02T5sr7eu0xAhdHPIKBCAdZgeeuO0oMKoXm4uZvg16MWTgRF7SK86iBNhWmBcdcEPOTjApcsrMU+H0Y27aR77MEIN/0YFAdcRkLwFiT7rL/DptZjCt4IP7GSWhtQki3KuR9YLUr1ka7941hqYT631sRREQl9OXahK3amChlnCRP5ivtiNaYOHfkfBjCKL2Q9qEijx61smF8CUEGq08NVyx9NKG/z5FnIA8Ko3lkPmQacSOdGZNxkJFE7iQ== 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=/YLAZ5F2MMTQ9Ll35B91B4SjGlT4f0gwXDmkQwSxhXM=; b=m40EtmzAY3AMCJR8Ear0FDRIdf3RN2Tm9UyGI7oEeTO257q7+2bdtY3j2RxUMXuplDNOilRDVQWjkKQPApnI4BcaROklR61+Tg7fFiMXEJQt+GMRkW0KOhSzsNlf1mM7U+ckVKPrHdIlRnJ0eiKplGCoXw87PhC4If7iiGNfNX4= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB7PR08MB4618.eurprd08.prod.outlook.com (2603:10a6:10:78::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Tue, 26 Oct 2021 01:11:07 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a%6]) with mapi id 15.20.4628.020; Tue, 26 Oct 2021 01:11:07 +0000 From: Feifei Wang To: Jerin Jacob CC: Ruifeng Wang , "Ananyev, Konstantin" , dpdk-dev , nd , nd Thread-Topic: [dpdk-dev] [PATCH v4 1/5] eal: add new definitions for wait scheme Thread-Index: AQHXxY7xtCrADdTHBUS7GQmhbwWV7KveJ08AgAVRjNCAAAWXAIABAufw Date: Tue, 26 Oct 2021 01:11:07 +0000 Message-ID: References: <20210926063302.1541193-1-feifei.wang2@arm.com> <20211020084523.1309177-1-feifei.wang2@arm.com> <20211020084523.1309177-2-feifei.wang2@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 330C80FF48A6904695241C0006FCD46C.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: c4afdee4-a620-440b-1b9f-08d9981d8560 x-ms-traffictypediagnostic: DB7PR08MB4618:|VE1PR08MB5150: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: qrHjvxmuiO6cHLEhndjrLiLyUy1mlm3jMJVEv8XY53o9UKex7wFBQ4EXNZQmEKuP7AYE3yTJSonXLl7uqSaUGT1dINrBb4TvDcBAHX3wnLvuG7DZa5s+DrV7kSF20uskAER2Jr1utVIOBmem1vCNRbJfnB/e98xohmVQ6KqBk1P3KfRXuc71Gkj98yr20jBXL3fXm3Bf4DP4urlIkvrJ99sNXIo1Nw1uBz9oPI3YKlfhThgiN1BlTVSbqemazwxxnkB5oWR+y6q+PtrKWkbOfX2kP+lv4cx2E1oy6qKKDdlfqk4y020NSXodZzMJE8MiUh9onyC3JbiUp8mfoLbuViQ0T0v/eQflxA03dh4ll0Dq7wNiPuFNpjgMycTIvbIJOz23KxGo0A1hwMLqd39BA6q0eDJEw00CeD+mq5GUd2WI42QfEnLdRwHDX8GfMnpjjpBZQbVFFTC6gY+GE7l8+llVsyXeXL4K3YnWPBVw8vxOsbDHqQhAyjdd0QP+LdDxSWitrnn5MKwPzNPx+16o6eIRCfB1pbdmKETowkuF+TbmrvPMabQ1VlNtgbi84upBWOrwqTie8MQaz130zE8DNLOULsSBrZJtMfwQi7e+T0AkF/gTWTcTDRTOR9UpUvDTCgYD6dsvMGlE381CXlHJLmfVzcrOF2ZkaL50uHvmh3f9awDcj5H6kfF3WPF/Rewhe3xIAhLd7RgthhzZOOQt59C+eoNV/fFzUdDI3NyZpG5eCxpk71FJ4LLFTDbtR40vNXGZBxeDHKKTEYtQCOHRGWZsBeRomIknsP6gofMIpGY= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(186003)(66446008)(86362001)(52536014)(966005)(66946007)(83380400001)(64756008)(6916009)(122000001)(66556008)(66476007)(30864003)(224303003)(4326008)(38100700002)(7696005)(508600001)(2906002)(6506007)(76116006)(53546011)(8936002)(316002)(9686003)(71200400001)(54906003)(55016002)(38070700005)(26005)(5660300002)(33656002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4618 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: VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 6cb3fa49-f3c1-4eaa-c4fe-08d9981d7d66 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xYpWJs4OUCdMDBc+0B/yRgruWcg7Lk80QkoiSUY+wB1gVFdlzqtJ+iJjxkFClGruuRljZMKr1T+R9TXpRWxHNrC8M9clZIw2Q69X3u6x5VNseut9AMn1TCycJ8fq35weAvhYm+vWcml8Fa1BxD2CT0b9LJIdCwaZzT0Lt3vS0roVp7oI5uz5O8nCnk6g1PCv1yFwjJyL4bSGoPwy7cimn15PwdUHoj9b580MW5a7HbBkto4CUfbL6hWIVGPcdkaaR8EynTc4kvwnPpw5eSI1df+X3cXxfi2zE3ZMxh9aF+c6E2+If5/W50rTjPBf8FvQ7Oj2gdu+ZwBZ1M/a5E2jj5FA5CcDO4lwxgMgzoI6hRoF132dY/Ed0axDu/APiXXHkNXKnldHdLYsKao0hYf2+9+3yiC8sMvV5H+YckZ0nZMmuvIp759Ko49fJe2Ox/IyuqFQnqOr0o0k0Le2NONUcp/g2cl9WPOV4dEFa4otRlMCxx/ZXXTzSKKBBbHERLixgeNFE8SAfPYLaGGmdHTUTYYWBDBDWegf7i7wBjoQxV3xC8uSIM5Gx7jQliQyU/k6Yj3RbBiI7ueKtUGuU1dMn/Qv73q51RfMCAl3rM+cPy/fVQYy5rc0BizEvdy2uxFIEJTCRGZBcCT28jGYIUF2CD/0Vv0tmy2zJEDIMnw7PeeDZpJen0m4O5agCK28XExUsI2hm2QmSWyWdGIiz1SAFL7fTQ5HUUo4+S7F3cxHeH3YybBho3NPx/95QftOxFbG4TlQ6+VnssrIqHzIHlJV7rebIHUgdaoC8BJonwTx5yc= 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)(336012)(53546011)(70586007)(6506007)(86362001)(356005)(82310400003)(186003)(4326008)(6862004)(26005)(83380400001)(508600001)(316002)(33656002)(54906003)(36860700001)(52536014)(70206006)(5660300002)(8936002)(224303003)(55016002)(30864003)(7696005)(2906002)(47076005)(81166007)(966005)(9686003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2021 01:11:20.7268 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4afdee4-a620-440b-1b9f-08d9981d8560 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: VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5150 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiAgW1BBVENIIHY0IDEvNV0gZWFsOiBh?= =?utf-8?q?dd_new_definitions_for_wait_scheme?= 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" DQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBkZXYgPGRldi1ib3VuY2Vz QGRwZGsub3JnPiDku6PooaggSmVyaW4gSmFjb2INCj4g5Y+R6YCB5pe26Ze0OiBNb25kYXksIE9j dG9iZXIgMjUsIDIwMjEgNTo0NCBQTQ0KPiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxGZWlmZWku V2FuZzJAYXJtLmNvbT4NCj4g5oqE6YCBOiBSdWlmZW5nIFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0u Y29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNv bT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBuZA0KPiA8bmRAYXJtLmNvbT4NCj4g5Li76aKY OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjQgMS81XSBlYWw6IGFkZCBuZXcgZGVmaW5pdGlvbnMg Zm9yIHdhaXQgc2NoZW1lDQo+IA0KPiBPbiBNb24sIE9jdCAyNSwgMjAyMSBhdCAzOjAxIFBNIEZl aWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT4NCj4gd3JvdGU6DQo+ID4NCj4gPiA+IC0t LS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+IOWPkeS7tuS6ujogSmVyaW4gSmFjb2IgPGplcmlu amFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IOWPkemAgeaXtumXtDogRnJpZGF5LCBPY3RvYmVyIDIy LCAyMDIxIDg6MTAgQU0NCj4gPiA+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5n MkBhcm0uY29tPg0KPiA+ID4g5oqE6YCBOiBSdWlmZW5nIFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0u Y29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA+ID4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRl bC5jb20+OyBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgbmQNCj4gPiA+IDxuZEBhcm0uY29tPg0K PiA+ID4g5Li76aKYOiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjQgMS81XSBlYWw6IGFkZCBuZXcg ZGVmaW5pdGlvbnMgZm9yIHdhaXQNCj4gPiA+IHNjaGVtZQ0KPiA+ID4NCj4gPiA+IE9uIFdlZCwg T2N0IDIwLCAyMDIxIGF0IDI6MTYgUE0gRmVpZmVpIFdhbmcgPGZlaWZlaS53YW5nMkBhcm0uY29t Pg0KPiA+ID4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IEludHJvZHVjZSBtYWNyb3MgYXMgZ2Vu ZXJpYyBpbnRlcmZhY2UgZm9yIGFkZHJlc3MgbW9uaXRvcmluZy4NCj4gPiA+ID4NCj4gPiA+ID4g U2lnbmVkLW9mZi1ieTogRmVpZmVpIFdhbmcgPGZlaWZlaS53YW5nMkBhcm0uY29tPg0KPiA+ID4g PiBSZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5nIDxydWlmZW5nLndhbmdAYXJtLmNvbT4NCj4gPiA+ ID4gLS0tDQo+ID4gPiA+ICBsaWIvZWFsL2FybS9pbmNsdWRlL3J0ZV9wYXVzZV82NC5oICB8IDEy Ng0KPiA+ID4gPiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tICBsaWIvZWFsL2luY2x1ZGUv Z2VuZXJpYy9ydGVfcGF1c2UuaA0KPiA+ID4gPiArKysrKysrKysrKysrKysrfA0KPiA+ID4gPiAz MiArKysrKysrDQo+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCA1 NCBkZWxldGlvbnMoLSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvYXJt L2luY2x1ZGUvcnRlX3BhdXNlXzY0LmgNCj4gPiA+ID4gYi9saWIvZWFsL2FybS9pbmNsdWRlL3J0 ZV9wYXVzZV82NC5oDQo+ID4gPiA+IGluZGV4IGU4N2QxMGI4Y2MuLjIzOTU0YzJkZTIgMTAwNjQ0 DQo+ID4gPiA+IC0tLSBhL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRlX3BhdXNlXzY0LmgNCj4gPiA+ ID4gKysrIGIvbGliL2VhbC9hcm0vaW5jbHVkZS9ydGVfcGF1c2VfNjQuaA0KPiA+ID4gPiBAQCAt MzEsMjAgKzMxLDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBydGVfcGF1c2Uodm9pZCkNCj4gPiA+ ID4gIC8qIFB1dCBwcm9jZXNzb3IgaW50byBsb3cgcG93ZXIgV0ZFKFdhaXQgRm9yIEV2ZW50KSBz dGF0ZS4gKi8NCj4gPiA+ID4gI2RlZmluZSBfX1dGRSgpIHsgYXNtIHZvbGF0aWxlKCJ3ZmUiIDog OiA6ICJtZW1vcnkiKTsgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtc3RhdGljIF9fcnRlX2Fsd2F5c19p bmxpbmUgdm9pZA0KPiA+ID4gPiAtcnRlX3dhaXRfdW50aWxfZXF1YWxfMTYodm9sYXRpbGUgdWlu dDE2X3QgKmFkZHIsIHVpbnQxNl90IGV4cGVjdGVkLA0KPiA+ID4gPiAtICAgICAgICAgICAgICAg aW50IG1lbW9yZGVyKQ0KPiA+ID4gPiAtew0KPiA+ID4gPiAtICAgICAgIHVpbnQxNl90IHZhbHVl Ow0KPiA+ID4gPiAtDQo+ID4gPiA+IC0gICAgICAgYXNzZXJ0KG1lbW9yZGVyID09IF9fQVRPTUlD X0FDUVVJUkUgfHwgbWVtb3JkZXIgPT0NCj4gPiA+IF9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ID4g PiAtDQo+ID4gPiA+IC0gICAgICAgLyoNCj4gPiA+ID4gLSAgICAgICAgKiBBdG9taWMgZXhjbHVz aXZlIGxvYWQgZnJvbSBhZGRyLCBpdCByZXR1cm5zIHRoZSAxNi1iaXQgY29udGVudCBvZg0KPiA+ ID4gPiAtICAgICAgICAqICphZGRyIHdoaWxlIG1ha2luZyBpdCAnbW9uaXRvcmVkJyx3aGVuIGl0 IGlzIHdyaXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4gPiAtICAgICAgICAqIGVsc2UsIHRoZSAnbW9u aXRvcmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVyYXRlZA0KPiA+ID4N Cj4gPiA+IGEgZXZlbnQgLT4gYW4gZXZlbnQgaW4gYWxsIHRoZSBvY2N1cnJlbmNlLg0KPiA+ID4N Cj4gPiA+ID4gLSAgICAgICAgKiBpbXBsaWNpdGx5IHRvIGV4aXQgV0ZFLg0KPiA+ID4gPiAtICAg ICAgICAqLw0KPiA+ID4gPiArLyoNCj4gPiA+ID4gKyAqIEF0b21pYyBleGNsdXNpdmUgbG9hZCBm cm9tIGFkZHIsIGl0IHJldHVybnMgdGhlIDE2LWJpdCBjb250ZW50DQo+ID4gPiA+ICtvZg0KPiA+ ID4gPiArICogKmFkZHIgd2hpbGUgbWFraW5nIGl0ICdtb25pdG9yZWQnLCB3aGVuIGl0IGlzIHdy aXR0ZW4gYnkNCj4gPiA+ID4gK3NvbWVvbmUNCj4gPiA+ID4gKyAqIGVsc2UsIHRoZSAnbW9uaXRv cmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzDQo+ID4gPiA+ICtnZW5lcmF0ZWQN Cj4gPiA+ID4gKyAqIGltcGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiA+ICsgKi8NCj4gPiA+ ID4gICNkZWZpbmUgX19MT0FEX0VYQ18xNihzcmMsIGRzdCwgbWVtb3JkZXIpIHsgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ICAgICAgICAgaWYgKG1lbW9yZGVyID09IF9fQVRPTUlDX1JFTEFYRUQp IHsgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICAgICAgICAgICAgICAgICBhc20gdm9sYXRpbGUo ImxkeHJoICV3W3RtcF0sIFsleFthZGRyXV0iICBcIEBADQo+ID4gPiA+IC01OCw2DQo+ID4gPiA+ ICs1MCw1MiBAQCBydGVfd2FpdF91bnRpbF9lcXVhbF8xNih2b2xhdGlsZSB1aW50MTZfdCAqYWRk ciwNCj4gPiA+ID4gK3VpbnQxNl90DQo+ID4gPiBleHBlY3RlZCwNCj4gPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ ID4gICAgICAgICB9IH0NCj4gPiA+ID4NCj4gPiA+ID4gKy8qDQo+ID4gPiA+ICsgKiBBdG9taWMg ZXhjbHVzaXZlIGxvYWQgZnJvbSBhZGRyLCBpdCByZXR1cm5zIHRoZSAzMi1iaXQgY29udGVudA0K PiA+ID4gPiArb2YNCj4gPiA+ID4gKyAqICphZGRyIHdoaWxlIG1ha2luZyBpdCAnbW9uaXRvcmVk Jywgd2hlbiBpdCBpcyB3cml0dGVuIGJ5DQo+ID4gPiA+ICtzb21lb25lDQo+ID4gPiA+ICsgKiBl bHNlLCB0aGUgJ21vbml0b3JlZCcgc3RhdGUgaXMgY2xlYXJlZCBhbmQgYSBldmVudCBpcw0KPiA+ ID4gPiArZ2VuZXJhdGVkDQo+ID4gPiA+ICsgKiBpbXBsaWNpdGx5IHRvIGV4aXQgV0ZFLg0KPiA+ ID4gPiArICovDQo+ID4gPiA+ICsjZGVmaW5lIF9fTE9BRF9FWENfMzIoc3JjLCBkc3QsIG1lbW9y ZGVyKSB7ICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgaWYgKG1lbW9yZGVyID09IF9f QVRPTUlDX1JFTEFYRUQpIHsgICAgICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICAgICAgICAg IGFzbSB2b2xhdGlsZSgibGR4ciAld1t0bXBdLCBbJXhbYWRkcl1dIiAgXA0KPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICA6IFt0bXBdICI9JnIiIChkc3QpICAgICAgICAgICAgICBcDQo+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIDogW2FkZHJdICJyIihzcmMpICAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7ICAg ICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiArICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICBh c20gdm9sYXRpbGUoImxkYXhyICV3W3RtcF0sIFsleFthZGRyXV0iIFwNCj4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgOiBbdG1wXSAiPSZyIiAoZHN0KSAgICAgICAgICAgICAgXA0KPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICA6IFthZGRyXSAiciIoc3JjKSAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOyAgICAg ICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICB9IH0NCj4gPiA+ID4gKw0KPiA+ID4g PiArLyoNCj4gPiA+ID4gKyAqIEF0b21pYyBleGNsdXNpdmUgbG9hZCBmcm9tIGFkZHIsIGl0IHJl dHVybnMgdGhlIDY0LWJpdCBjb250ZW50DQo+ID4gPiA+ICtvZg0KPiA+ID4gPiArICogKmFkZHIg d2hpbGUgbWFraW5nIGl0ICdtb25pdG9yZWQnLCB3aGVuIGl0IGlzIHdyaXR0ZW4gYnkNCj4gPiA+ ID4gK3NvbWVvbmUNCj4gPiA+ID4gKyAqIGVsc2UsIHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBpcyBj bGVhcmVkIGFuZCBhIGV2ZW50IGlzDQo+ID4gPiA+ICtnZW5lcmF0ZWQNCj4gPiA+ID4gKyAqIGlt cGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiA+ICsgKi8NCj4gPiA+ID4gKyNkZWZpbmUgX19M T0FEX0VYQ182NChzcmMsIGRzdCwgbWVtb3JkZXIpIHsgICAgICAgICAgICAgIFwNCj4gPiA+ID4g KyAgICAgICBpZiAobWVtb3JkZXIgPT0gX19BVE9NSUNfUkVMQVhFRCkgeyAgICAgICAgICAgICAg XA0KPiA+ID4gPiArICAgICAgICAgICAgICAgYXNtIHZvbGF0aWxlKCJsZHhyICV4W3RtcF0sIFsl eFthZGRyXV0iICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIDogW3RtcF0gIj0m ciIgKGRzdCkgICAgICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg OiBbYWRkcl0gInIiKHNyYykgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICA6ICJtZW1vcnkiKTsgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsg ICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gPiA+ID4gKyAgICAgICAgICAgICAgIGFzbSB2b2xhdGlsZSgibGRheHIgJXhbdG1wXSwgWyV4 W2FkZHJdXSIgXA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICA6IFt0bXBdICI9JnIi IChkc3QpICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIDog W2FkZHJdICJyIihzcmMpICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiArICAg ICAgIH0gfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2 b2lkDQo+ID4gPiA+ICtydGVfd2FpdF91bnRpbF9lcXVhbF8xNih2b2xhdGlsZSB1aW50MTZfdCAq YWRkciwgdWludDE2X3QgZXhwZWN0ZWQsDQo+ID4gPiA+ICsgICAgICAgICAgICAgICBpbnQgbWVt b3JkZXIpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsgICAgICAgdWludDE2X3QgdmFsdWU7DQo+ID4g PiA+ICsNCj4gPiA+ID4gKyAgICAgICBhc3NlcnQobWVtb3JkZXIgPT0gX19BVE9NSUNfQUNRVUlS RSB8fCBtZW1vcmRlciA9PQ0KPiA+ID4gPiArIF9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ID4gPiAr DQo+ID4gPiA+ICAgICAgICAgX19MT0FEX0VYQ18xNihhZGRyLCB2YWx1ZSwgbWVtb3JkZXIpDQo+ ID4gPiA+ICAgICAgICAgaWYgKHZhbHVlICE9IGV4cGVjdGVkKSB7DQo+ID4gPiA+ICAgICAgICAg ICAgICAgICBfX1NFVkwoKQ0KPiA+ID4gPiBAQCAtNjYsNyArMTA0LDYgQEAgcnRlX3dhaXRfdW50 aWxfZXF1YWxfMTYodm9sYXRpbGUgdWludDE2X3QNCj4gPiA+ID4gKmFkZHIsDQo+ID4gPiB1aW50 MTZfdCBleHBlY3RlZCwNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgX19MT0FEX0VY Q18xNihhZGRyLCB2YWx1ZSwgbWVtb3JkZXIpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICB9IHdo aWxlICh2YWx1ZSAhPSBleHBlY3RlZCk7DQo+ID4gPiA+ICAgICAgICAgfQ0KPiA+ID4gPiAtI3Vu ZGVmIF9fTE9BRF9FWENfMTYNCj4gPiA+ID4gIH0NCj4gPiA+ID4NCj4gPiA+ID4gIHN0YXRpYyBf X3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gPiA+ID4gQEAgLTc3LDI1ICsxMTQsNiBAQCBydGVf d2FpdF91bnRpbF9lcXVhbF8zMih2b2xhdGlsZSB1aW50MzJfdA0KPiA+ID4gPiAqYWRkciwgdWlu dDMyX3QgZXhwZWN0ZWQsDQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgYXNzZXJ0KG1lbW9yZGVy ID09IF9fQVRPTUlDX0FDUVVJUkUgfHwgbWVtb3JkZXIgPT0NCj4gPiA+ID4gX19BVE9NSUNfUkVM QVhFRCk7DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgICAgLyoNCj4gPiA+ID4gLSAgICAgICAgKiBB dG9taWMgZXhjbHVzaXZlIGxvYWQgZnJvbSBhZGRyLCBpdCByZXR1cm5zIHRoZSAzMi1iaXQgY29u dGVudCBvZg0KPiA+ID4gPiAtICAgICAgICAqICphZGRyIHdoaWxlIG1ha2luZyBpdCAnbW9uaXRv cmVkJyx3aGVuIGl0IGlzIHdyaXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4gPiAtICAgICAgICAqIGVs c2UsIHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVy YXRlZA0KPiA+ID4gPiAtICAgICAgICAqIGltcGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiA+ IC0gICAgICAgICovDQo+ID4gPiA+IC0jZGVmaW5lIF9fTE9BRF9FWENfMzIoc3JjLCBkc3QsIG1l bW9yZGVyKSB7ICAgICAgICAgICAgICBcDQo+ID4gPiA+IC0gICAgICAgaWYgKG1lbW9yZGVyID09 IF9fQVRPTUlDX1JFTEFYRUQpIHsgICAgICAgICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICAgICAg ICAgIGFzbSB2b2xhdGlsZSgibGR4ciAld1t0bXBdLCBbJXhbYWRkcl1dIiAgXA0KPiA+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICA6IFt0bXBdICI9JnIiIChkc3QpICAgICAgICAgICAgICBc DQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIDogW2FkZHJdICJyIihzcmMpICAgICAg ICAgICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7 ICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiAtICAgICAgIH0gZWxzZSB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+IC0gICAgICAgICAgICAg ICBhc20gdm9sYXRpbGUoImxkYXhyICV3W3RtcF0sIFsleFthZGRyXV0iIFwNCj4gPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgOiBbdG1wXSAiPSZyIiAoZHN0KSAgICAgICAgICAgICAgXA0K PiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICA6IFthZGRyXSAiciIoc3JjKSAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOyAg ICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICB9IH0NCj4gPiA+ID4gLQ0KPiA+ ID4gPiAgICAgICAgIF9fTE9BRF9FWENfMzIoYWRkciwgdmFsdWUsIG1lbW9yZGVyKQ0KPiA+ID4g PiAgICAgICAgIGlmICh2YWx1ZSAhPSBleHBlY3RlZCkgew0KPiA+ID4gPiAgICAgICAgICAgICAg ICAgX19TRVZMKCkNCj4gPiA+ID4gQEAgLTEwNCw3ICsxMjIsNiBAQCBydGVfd2FpdF91bnRpbF9l cXVhbF8zMih2b2xhdGlsZSB1aW50MzJfdA0KPiA+ID4gPiAqYWRkciwNCj4gPiA+IHVpbnQzMl90 IGV4cGVjdGVkLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBfX0xPQURfRVhDXzMy KGFkZHIsIHZhbHVlLCBtZW1vcmRlcikNCj4gPiA+ID4gICAgICAgICAgICAgICAgIH0gd2hpbGUg KHZhbHVlICE9IGV4cGVjdGVkKTsNCj4gPiA+ID4gICAgICAgICB9DQo+ID4gPiA+IC0jdW5kZWYg X19MT0FEX0VYQ18zMg0KPiA+ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAgc3RhdGljIF9fcnRl X2Fsd2F5c19pbmxpbmUgdm9pZA0KPiA+ID4gPiBAQCAtMTE1LDI1ICsxMzIsNiBAQCBydGVfd2Fp dF91bnRpbF9lcXVhbF82NCh2b2xhdGlsZSB1aW50NjRfdA0KPiA+ID4gPiAqYWRkciwgdWludDY0 X3QgZXhwZWN0ZWQsDQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgYXNzZXJ0KG1lbW9yZGVyID09 IF9fQVRPTUlDX0FDUVVJUkUgfHwgbWVtb3JkZXIgPT0NCj4gPiA+ID4gX19BVE9NSUNfUkVMQVhF RCk7DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgICAgLyoNCj4gPiA+ID4gLSAgICAgICAgKiBBdG9t aWMgZXhjbHVzaXZlIGxvYWQgZnJvbSBhZGRyLCBpdCByZXR1cm5zIHRoZSA2NC1iaXQgY29udGVu dCBvZg0KPiA+ID4gPiAtICAgICAgICAqICphZGRyIHdoaWxlIG1ha2luZyBpdCAnbW9uaXRvcmVk Jyx3aGVuIGl0IGlzIHdyaXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4gPiAtICAgICAgICAqIGVsc2Us IHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVyYXRl ZA0KPiA+ID4gPiAtICAgICAgICAqIGltcGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiA+IC0g ICAgICAgICovDQo+ID4gPiA+IC0jZGVmaW5lIF9fTE9BRF9FWENfNjQoc3JjLCBkc3QsIG1lbW9y ZGVyKSB7ICAgICAgICAgICAgICBcDQo+ID4gPiA+IC0gICAgICAgaWYgKG1lbW9yZGVyID09IF9f QVRPTUlDX1JFTEFYRUQpIHsgICAgICAgICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICAgICAgICAg IGFzbSB2b2xhdGlsZSgibGR4ciAleFt0bXBdLCBbJXhbYWRkcl1dIiAgXA0KPiA+ID4gPiAtICAg ICAgICAgICAgICAgICAgICAgICA6IFt0bXBdICI9JnIiIChkc3QpICAgICAgICAgICAgICBcDQo+ ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIDogW2FkZHJdICJyIihzcmMpICAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7ICAg ICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiAtICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+IC0gICAgICAgICAgICAgICBh c20gdm9sYXRpbGUoImxkYXhyICV4W3RtcF0sIFsleFthZGRyXV0iIFwNCj4gPiA+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgOiBbdG1wXSAiPSZyIiAoZHN0KSAgICAgICAgICAgICAgXA0KPiA+ ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICA6IFthZGRyXSAiciIoc3JjKSAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOyAgICAg ICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gLSAgICAgICB9IH0NCj4gPiA+ID4gLQ0KPiA+ID4g PiAgICAgICAgIF9fTE9BRF9FWENfNjQoYWRkciwgdmFsdWUsIG1lbW9yZGVyKQ0KPiA+ID4gPiAg ICAgICAgIGlmICh2YWx1ZSAhPSBleHBlY3RlZCkgew0KPiA+ID4gPiAgICAgICAgICAgICAgICAg X19TRVZMKCkNCj4gPiA+ID4gQEAgLTE0Myw2ICsxNDEsMjYgQEAgcnRlX3dhaXRfdW50aWxfZXF1 YWxfNjQodm9sYXRpbGUgdWludDY0X3QNCj4gPiA+ID4gKmFkZHIsDQo+ID4gPiB1aW50NjRfdCBl eHBlY3RlZCwNCj4gPiA+ID4gICAgICAgICAgICAgICAgIH0gd2hpbGUgKHZhbHVlICE9IGV4cGVj dGVkKTsNCj4gPiA+ID4gICAgICAgICB9DQo+ID4gPiA+ICB9DQo+ID4gPiA+ICsNCj4gPiA+ID4g KyNkZWZpbmUgcnRlX3dhaXRfZXZlbnQoYWRkciwgbWFzaywgZXhwZWN0ZWQsIGNvbmQsIG1lbW9y ZGVyLA0KPiA+ID4gPiArc2l6ZSkgXA0KPiA+ID4NCj4gPiA+IEkgdGhpbmsgaXQgaXMgYmV0dGVy IHRvIHN3YXAgImNvbmQiIGFuZCAiZXhwZWN0ZWQiIHBvc2l0aW9ucyB0byBnZXQNCj4gPiA+IGJl dHRlciByZWFkYWJpbGl0eS4NCj4gPiBUaGFua3MgZm9yIHRoZSBjb21tZW50cywgaXQgaXMgYmV0 dGVyIHRoYW4gYmVmb3JlIGFuZCBJIHdpbGwgdXBkYXRlIGluIHRoZQ0KPiBuZXh0IHZlcnNpb24u DQo+ID4gPg0KPiA+ID4gIHJ0ZV93YWl0X2V2ZW50KCZidWYtPmJ1ZnB0cjY0LCBSVEVfRElTVFJJ Ql9GTEFHU19NQVNLLCAwLCAhPSwNCj4gPiA+IF9fQVRPTUlDX1JFTEFYRUQsIDY0KTsNCj4gPiA+ DQo+ID4gPiBWcw0KPiA+ID4NCj4gPiA+ICBydGVfd2FpdF9ldmVudCgmYnVmLT5idWZwdHI2NCwg UlRFX0RJU1RSSUJfRkxBR1NfTUFTSywgIT0sIDAsDQo+ID4gPiBfX0FUT01JQ19SRUxBWEVELCA2 NCk7DQo+ID4gPg0KPiA+ID4gPiArZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+DQo+ID4gPiBBbnkgcmVhc29u IHRvIG5vdCBtYWtlIGFuIGlubGluZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIG1hY3JvPw0KPiA+IEJl Y2F1c2UgdGhlcmUgd2VyZSBtYW55IG5ldyBBUElzIGZvciBkaWZmZXJlbnQgY2FzZXMuIEFuZCB0 aGVuIHdlDQo+ID4gcmVmZXIgdG8gTGludXggJ3dhaXRfZXZlbnQnIGNvZGUgZm9yIGFuIGV4YW1w bGUuIFBsZWFzZSBzZWUgdGhlIGZpcnN0IHZlcnNpb24NCj4gYW5kIGl0cyBkaXNjdXNzaW9uOg0K PiA+IGh0dHA6Ly9wYXRjaGVzLmRwZGsub3JnL3Byb2plY3QvZHBkay9jb3Zlci8yMDIxMDkwMjA1 MzI1My4zMDE3ODU4LTEtDQo+IGZlDQo+ID4gaWZlaS53YW5nMkBhcm0uY29tLw0KPiANCj4gDQo+ IE9LLg0KPiANCj4gDQo+ID4gPg0KPiA+ID4gPiArICAgICAgIFJURV9CVUlMRF9CVUdfT04oIV9f YnVpbHRpbl9jb25zdGFudF9wKG1lbW9yZGVyKSk7ICAgICAgICAgXA0KPiA+ID4NCj4gPiA+IFNo b3VsZCBuJ3Qgd2UgYWRkIF9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUpIG9mIGNoZWNrPw0KPiA+ DQo+ID4gUGxlYXNlIHNlZSB0aGUgZGlzY3Vzc2lvbiB3aXRoIEtvbnN0YW50aW4uDQo+ID4gJ3Np emUnIHdpbGwgbm90IGJlIGFzIGEgcGFyYW1ldGVyIGFuZCB0aGVuIGl0IGlzIHVubmVjZXNzYXJ5 IHRvIGNoZWNrIGl0IHdpdGgNCj4gYnVpbGRfYnVnLg0KPiANCj4gTWFrZSBzZW5zZSB0byByZW1v dmUgdGhlICdzaXplJy4gTXkgY29tbWVudCB3YXMgbW9yZSBpbiB0aGUgZGlyZWN0aW9uIG9mLCBp Zg0KPiB0aGUgJ3NpemUnIGlzIHJlcXVpcmVkIHRvIHBhc3MuDQpUaGF0J3MgT2suIFRoYW5rcyB2 ZXJ5IG11Y2ggZm9yIHlvdXIgdmFsdWFibGUgY29tbWVudHMuDQo+IA0KPiA+ID4NCj4gPiA+ID4g KyAgICAgICBSVEVfQlVJTERfQlVHX09OKG1lbW9yZGVyICE9IF9fQVRPTUlDX0FDUVVJUkUgJiYg ICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICBtZW1vcmRlciAhPSBfX0FUT01JQ19SRUxBWEVE KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gKyAgICAgICBSVEVfQlVJ TERfQlVHX09OKHNpemUgIT0gMTYgJiYgc2l6ZSAhPSAzMiAmJiBzaXplICE9IDY0KTsgIFwNCj4g PiA+ID4gKyAgICAgICB1aW50IyNzaXplX3QgdmFsdWU7DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgX19MT0FEX0VY Q18jI3NpemUoYWRkciwgdmFsdWUsIG1lbW9yZGVyKSAgICAgICAgICAgICAgICAgICBcDQo+ID4g PiA+ICsgICAgICAgaWYgKCh2YWx1ZSAmIG1hc2spIGNvbmQgZXhwZWN0ZWQpIHsgICAgICAgICAg ICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICBfX1NFVkwoKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAg ICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fV0ZFKCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9f TE9BRF9FWENfIyNzaXplKGFkZHIsIHZhbHVlLCBtZW1vcmRlcikgICBcDQo+ID4gPiA+ICsgICAg ICAgICAgICAgICB9IHdoaWxlICgodmFsdWUgJiBtYXNrKSBjb25kIGV4cGVjdGVkKTsgICAgICAg ICAgICBcDQo+ID4gPiA+ICsgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ICt9IHdoaWxlICgwKQ0KPiA+ID4g PiArDQo+ID4gPiA+ICsjdW5kZWYgX19MT0FEX0VYQ18xNg0KPiA+ID4gPiArI3VuZGVmIF9fTE9B RF9FWENfMzINCj4gPiA+ID4gICN1bmRlZiBfX0xPQURfRVhDXzY0DQo+ID4gPiA+DQo+ID4gPiA+ ICAjdW5kZWYgX19TRVZMDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvZWFsL2luY2x1ZGUvZ2Vu ZXJpYy9ydGVfcGF1c2UuaA0KPiA+ID4gPiBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9w YXVzZS5oDQo+ID4gPiA+IGluZGV4IDY2OGVlNGExODQuLjIwYTVkMmE5ZmQgMTAwNjQ0DQo+ID4g PiA+IC0tLSBhL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gPiA+ICsr KyBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gPiA+IEBAIC0xMTEs NiArMTExLDM4IEBAIHJ0ZV93YWl0X3VudGlsX2VxdWFsXzY0KHZvbGF0aWxlIHVpbnQ2NF90DQo+ ID4gPiA+ICphZGRyLA0KPiA+ID4gdWludDY0X3QgZXhwZWN0ZWQsDQo+ID4gPiA+ICAgICAgICAg d2hpbGUgKF9fYXRvbWljX2xvYWRfbihhZGRyLCBtZW1vcmRlcikgIT0gZXhwZWN0ZWQpDQo+ID4g PiA+ICAgICAgICAgICAgICAgICBydGVfcGF1c2UoKTsNCj4gPiA+ID4gIH0NCj4gPiA+ID4gKw0K PiA+ID4gPiArLyoNCj4gPiA+ID4gKyAqIFdhaXQgdW50aWwgKmFkZHIgYnJlYWtzIHRoZSBjb25k aXRpb24sIHdpdGggYSByZWxheGVkIG1lbW9yeQ0KPiA+ID4gPiArICogb3JkZXJpbmcgbW9kZWwg bWVhbmluZyB0aGUgbG9hZHMgYXJvdW5kIHRoaXMgQVBJIGNhbiBiZSByZW9yZGVyZWQuDQo+ID4g PiA+ICsgKg0KPiA+ID4gPiArICogQHBhcmFtIGFkZHINCj4gPiA+ID4gKyAqICBBIHBvaW50ZXIg dG8gdGhlIG1lbW9yeSBsb2NhdGlvbi4NCj4gPiA+ID4gKyAqIEBwYXJhbSBtYXNrDQo+ID4gPiA+ ICsgKiAgQSBtYXNrIG9mIHZhbHVlIGJpdHMgaW4gaW50ZXJlc3QuDQo+ID4gPiA+ICsgKiBAcGFy YW0gZXhwZWN0ZWQNCj4gPiA+ID4gKyAqICBBIDE2LWJpdCBleHBlY3RlZCB2YWx1ZSB0byBiZSBp biB0aGUgbWVtb3J5IGxvY2F0aW9uLg0KPiA+ID4gPiArICogQHBhcmFtIGNvbmQNCj4gPiA+ID4g KyAqICBBIHN5bWJvbCByZXByZXNlbnRpbmcgdGhlIGNvbmRpdGlvbiAoPT0sICE9KS4NCj4gPiA+ ID4gKyAqIEBwYXJhbSBtZW1vcmRlcg0KPiA+ID4gPiArICogIFR3byBkaWZmZXJlbnQgbWVtb3J5 IG9yZGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQ6DQo+ID4gPiA+ICsgKiAgX19BVE9NSUNfQUNR VUlSRSBhbmQgX19BVE9NSUNfUkVMQVhFRC4gVGhlc2UgbWFwIHRvDQo+ID4gPiA+ICsgKiAgQysr MTEgbWVtb3J5IG9yZGVycyB3aXRoIHRoZSBzYW1lIG5hbWVzLCBzZWUgdGhlIEMrKzExDQo+ID4g PiA+ICtzdGFuZGFyZCBvcg0KPiA+ID4gPiArICogIHRoZSBHQ0Mgd2lraSBvbiBhdG9taWMgc3lu Y2hyb25pemF0aW9uIGZvciBkZXRhaWxlZCBkZWZpbml0aW9uLg0KPiA+ID4gPiArICogQHBhcmFt IHNpemUNCj4gPiA+ID4gKyAqIFRoZSBiaXQgc2l6ZSBvZiAqYWRkcjoNCj4gPiA+ID4gKyAqIEl0 IGlzIHVzZWQgZm9yIGFybSBhcmNoaXRlY3R1cmUgdG8gY2hvb3NlIGxvYWQgaW5zdHJ1Y3Rpb25z LA0KPiA+ID4gPiArICogYW5kIHRoZSBvcHRpb25hbCB2YWx1ZSBpcyAxNiwgMzIgYW5kIDY0Lg0K PiA+ID4gPiArICovDQo+ID4gPiA+ICsjZGVmaW5lIHJ0ZV93YWl0X2V2ZW50KGFkZHIsIG1hc2ss IGV4cGVjdGVkLCBjb25kLCBtZW1vcmRlciwgc2l6ZSkNCj4gXA0KPiA+ID4gPiArZG8geyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ICsgICAgICAgUlRFX0JVSUxEX0JVR19PTighX19idWlsdGluX2NvbnN0 YW50X3AobWVtb3JkZXIpKTsgICAgICAgICAgICAgXA0KPiA+ID4gPiArICAgICAgIFJURV9CVUlM RF9CVUdfT04obWVtb3JkZXIgIT0gX19BVE9NSUNfQUNRVUlSRSAmJg0KPiBcDQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3JkZXIgIT0gX19BVE9NSUNfUkVMQVhF RCk7ICAgICAgICAgXA0KPiA+ID4gPiArICAgICAgIFJURV9CVUlMRF9CVUdfT04oc2l6ZSAhPSAx NiAmJiBzaXplICE9IDMyICYmIHNpemUgIT0gNjQpOyAgICAgIFwNCj4gPiA+ID4gKyAgICAgICB3 aGlsZSAoKF9fYXRvbWljX2xvYWRfbihhZGRyLCBtZW1vcmRlcikgJiBtYXNrKSBjb25kIGV4cGVj dGVkKQ0KPiBcDQo+ID4gPiA+ICsgICAgICAgICAgICAgICBydGVfcGF1c2UoKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiArfSB3aGlsZSAoMCkN Cj4gPiA+ID4gICNlbmRpZg0KPiA+ID4gPg0KPiA+ID4gPiAgI2VuZGlmIC8qIF9SVEVfUEFVU0Vf SF8gKi8NCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4yNS4xDQo+ID4gPiA+DQo=