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 3B569A0C4E; Mon, 25 Oct 2021 16:29:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4562B41141; Mon, 25 Oct 2021 16:29:01 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id BFE7D4003E for ; Mon, 25 Oct 2021 16:28:55 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10147"; a="253187469" X-IronPort-AV: E=Sophos;i="5.87,180,1631602800"; d="scan'208";a="253187469" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2021 07:28:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,180,1631602800"; d="scan'208";a="634758206" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga001.fm.intel.com with ESMTP; 25 Oct 2021 07:28:54 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 25 Oct 2021 07:28:54 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 25 Oct 2021 07:28:52 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 25 Oct 2021 07:28:52 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 25 Oct 2021 07:28:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eNLkwSHu0OH8hZ+Q9d+j9tUoQDT7jymbPm9UWrV9wy/DFFwlqzl6iwRD8i0+IO83vtE7b8JreWhnpuH+EQznzhFEfzMaZN1x26wI6x0b53jKi5I7UT8Npa+6o46gfHcCcBWbX2r54po6hKONy8TI7vAKn6JwNCdka3kMztFNusDjYJgZlS3QkuI0wzeX29mhsxKX9ELJPt9DM2znO+fHO1smeH3yIgeY/cxSr6ATYIFzG+DadTWIvkjqxrxd7e81ZYIZg6i41/bbVrPpb7tOlGIyKNHzwN6sFprF2BT0vIMCWzKlQ3soFz3PiKnv9+R734NP+fctAtuGXyB8cLRc9w== 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=O7VA4ySwI736YALi0WpBW0c6ku+j/yO0ntXAFNeYUMo=; b=C98gUzQl/SrOHWWZr5VxOGIVrTmDo3K1RD5/UrHELXBy23segdQqBNZMXZUD9+Mc9pz0qLGlQIgKyLyfxKSMtYaWIhO7+wghwZAqHu2GLIJTVcpkEyHuisDaGHZCFZxfO68ermUj2LOUGj9kkkh0hubMDTbQbp8VKAwg8Z6aRZpupy0r7YSmq0fzQxcsfcZ5Ki/sbqC5toLi1LRBjY3wGR93JkQeRQfPqG/WYE7PSd+3mBXG1Cx63NGRFtG/UZVYPmid7uBtOngUtD7KuxgCdvnYDkc6kC7E77DXUYM4QYSFRcVdINoeNA7YvV4f9q+5NpeywKnNPWStHAues/UBdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O7VA4ySwI736YALi0WpBW0c6ku+j/yO0ntXAFNeYUMo=; b=H1H77Yr9cWXDzy2eQdEab2t9GJkIDSKYhTXR6oMgcWIvr8lCB/cVLSOvyUmQbpnaUmhCXGbpkxdzkFAkmFUdLbtoopynMib3kTM2n5ZAt/cWHiae2sKymtrHoztck+k5WwJGbA/9DSt7BRGk4pYdSfaMFGo6Nxfcpop8VoR8t/8= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM5PR11MB0010.namprd11.prod.outlook.com (2603:10b6:4:6c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Mon, 25 Oct 2021 14:28:51 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::2c0c:5383:f814:3b4e]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::2c0c:5383:f814:3b4e%6]) with mapi id 15.20.4628.020; Mon, 25 Oct 2021 14:28:51 +0000 From: "Ananyev, Konstantin" To: Feifei Wang , Ruifeng Wang CC: "dev@dpdk.org" , nd , nd Thread-Topic: [PATCH v4 1/5] eal: add new definitions for wait scheme Thread-Index: AQHXxY7vlmoFjDJg2kWER5oYWCNj+6vdo6cwgAXUYgCAAFShUA== Date: Mon, 25 Oct 2021 14:28:51 +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: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1780559d-88df-40e8-0606-08d997c3c401 x-ms-traffictypediagnostic: DM5PR11MB0010: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OaT8cpD5k6LGVd+DZpHzkqlpJEm7Pb+BzDblYB+gEXg2/jo98T3q7oVF6xPydeLuatWR0L7AkKd0tN8BtkJIPLpMuvXG0GkbICrfKwGDRUiysGExPXCxYlHqEgDwDE9FYCFkorZurS1tv4FInooFGfUStGi4FBVoMCVKbYTqqVOHSp/RJ+a2KU+dZSEcidk0XuARiEhGEStCC4TSQK9XlCDA7eyWmlH5S5jYi2D0AJe4rwruZA6CKgq+HGCci23HEEWZZ9ooWeWPKzzR0BqddbYXP4HDqiXrE/tkOsBcb5ckn+REyM23Fttk3HnYWhnuyNP3JjObWshbD+dy0izI2iSG5EILJsH6MGukdl3tgcoadjv35TnyWMEKWaBjMUJts61dEemvgfsyeSrSGHmBvGVtRkaTJOOJrqXBoYJYFy+rV1WpPobSLw8auoC0fIlRAomgVq2hd1mEB3Mlaac1TeV9JEOtLEmfFWtEsQKbMpp/C3srwLXgI6peQM7LaFH6w/Em0MWdcPYgQZeggbkafXTMoRVxA9nZ8+hfT67Nc5HFqdgE+DAHo5cmIrJR4XC1iS/R4joBU943cqwLvxIPPVxflSLGiH8wHjdhbJmi3enqAHJuBVjn8ZA5Mt/tpp0a6QOU2v883XbQVioISDiwt23lei1mv6q8gxoseKAsENpYB4St9kgZf8J+053Skur54EtmjRDzkYZATqLwRgdPKA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(8676002)(110136005)(186003)(5660300002)(52536014)(54906003)(33656002)(316002)(508600001)(82960400001)(71200400001)(6506007)(86362001)(55016002)(9686003)(83380400001)(7696005)(55236004)(66446008)(64756008)(66556008)(66476007)(8936002)(76116006)(30864003)(4326008)(26005)(66946007)(2906002)(38100700002)(122000001)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Mk9zTkdORCtBcDg0REg0Tk9QbmZhYVBGQ0JuRTZ2bEtKNU5oQTZLY29kbE9k?= =?utf-8?B?bnVmS2R0NHUzb0h3NFhTRW5QMUZEeDYrWjhWOFNVN3hUekhTRHJaMVllU0VQ?= =?utf-8?B?Wkc3Ymd1QndiNWVnVXI5dU5rQ0h5d3Q3VFB5ajFIeGJDMU5Qd2JkTDJoZnRZ?= =?utf-8?B?TDByYmcraDhIb2Q3bGxaZWd3cUUyT3lRS2NmaDA2MmFBMHNEdG5hMyt1emZ2?= =?utf-8?B?M1I1dmpCVzBEckpJT2cra3cyb25iYTRyQzBTN3M1SElUWlk3OGNoQTB6UnNq?= =?utf-8?B?TitvaEphTkV2dmxJdmlMRnQ1dWowTEZZM0RnS3ZmZ1VqR3JxQ2hBR0QySjdv?= =?utf-8?B?eEUxNHQyZzYwSFp3SUFoOVhtSGxUc0VPWmtlVmFjTkwrb0lubXFEdWg0bldr?= =?utf-8?B?STZiVFRQYVIyRDJOUFowczRXeEttWk12am0wT29VaThCZ3NWSG5WR2QvOVdm?= =?utf-8?B?UFprY2NpWWkybTZaaEloNTgxbkdDaGJHcnFHb29yMEJsV0hSQVlLdmRJOEww?= =?utf-8?B?YWozR0JUMmNrVGUzVUpMODVIeFVQeWFIRmI0UHZHTGh2Rys3QVk5dTFOSldN?= =?utf-8?B?MUZRQVZ1TWx4RmV3NENXSCtQc0czK0FLOW9pT25OcHFDazFBbmpCR1ZvYVdC?= =?utf-8?B?TmxDa29JcXpmeGFES1V6dmdZY3hlTEtPdEk5YTAxQlVWT0xSTUlNRytRc1pr?= =?utf-8?B?dGhWYWVZQzF5ZUtyZGFzYXpNWWZjc0pEQnBuT09zck9qWU9XNWoyNVVjbUk2?= =?utf-8?B?R0c1RU5JWElBejFERWQxK1ZFaDBxTUxDM1ZKaGpzNEFXNThNRkpTRUllbGdr?= =?utf-8?B?djlvd2lHUnM3REdEcWQyMXVwVFFpeWVRRHVtMkRoWnVXdnB4SHBBQm1SVys2?= =?utf-8?B?aVRDOWkvQjV3SVF6N3RZZkhaTU00aEYvR2psYWNCLzlhQy9wcTBQTGcxWVVU?= =?utf-8?B?TFk2N1dMcGdQQ0Z5WTl6Smtab0N6dENvM3RPSDJsUytlcnlzNEpEdVRQYis3?= =?utf-8?B?ZDA5UVRTeTV1WGU3MEllbW41cS9teElwQld0TVlWZGlSbCs0WWRRdUpmV0JO?= =?utf-8?B?Q3VFRGtBMFVyWHdrUGkySCtsTzNXOWgyTWdBeWI2SHpPdmhaS1dndGl6M1Nr?= =?utf-8?B?VGJxSFN0RXJsK1M3WDBVL1E5bmtIV28yWjdQZ2xSeGVNbnQxZWNxRFlvakxX?= =?utf-8?B?RWdXU3NkclU2UktEQk1zVFZPbk9SS0IyWU5GRlJZY3BocHZ2a3ZVSzNvM0No?= =?utf-8?B?NEUxWnJsRlZxNDZqTllkc2RIQURWWHJjUUNKVENNMklPb2szYzRCWUFtZWxa?= =?utf-8?B?WGsrbTI5Vkg1U0Rla3d1L3NOUytYUG9MaS95YjF2eGIxZWdlRVZ0L2tPOG9i?= =?utf-8?B?bjcvZnFFbzJhNVF2SVpJZUR2VEgyRnB2bWtZUHdESFlVNzUveUViQnJ3SmZy?= =?utf-8?B?NXprVUFUUzhDUlExU1VBaEZKZ1VkL0ZndnNlTC93cFIvYmJYWk4xaFBLWHVE?= =?utf-8?B?Y29rQWhYSGM3T3hobWlaNXNGdzBRUG12VFFOZ01hcmgyQ0JFUnR4QUc1WStl?= =?utf-8?B?TkZ4SisxTDRWQ1RlWTNXbEI4bWxZQ1ZldjFnSFc2ZTU3TzZmWWJ4Ym43UFFu?= =?utf-8?B?c2NyL1poOHJ3NTZKRlZkd291bmY2VTUvQlE1blZQSDZrVlR5STNUbHdCQ2J3?= =?utf-8?B?T1hUM3phTjlSYmdiQVV5SHFJa3FsTzI4ZWxCSmZDLzdURE55R3ZpcHdrM1Rl?= =?utf-8?B?R1lIcXRYOUYvZk9zakhPWnNzenM4bDFZSUdscmNuZFg5bE9zLzhHYlhYSUF3?= =?utf-8?B?aWVaclNFdmJKVmdtdFltWEVMem1oYXZsTnF2cGFxN2ZIOGFHSFRZQjlEeXB4?= =?utf-8?B?N1M2MzlaODBYaWRhZ21rWDFlQjFvMzVOOGVhMzZKWnYyNk1TZ1FNM0tGdTBz?= =?utf-8?B?WXlzeFRxelhlcm1TYUhEQy9FVUxId1owZWNySXBLVzRnQ2hYTTBKK3lwL3F4?= =?utf-8?B?VFhZL2Y4cS9sRmh4aG1BdEV3dENNTlIyMGNrZm5hMmhVUS94ZzUwWXVJUFVL?= =?utf-8?B?OVNJWVpOdkxPODJWbU9XVjA0RU5RcUpuRC9IanFNM3ZjUmV2YU5iRHpCM3M4?= =?utf-8?B?bmhpbzBBUUtvbDUzRkU3TjZBVFNteVBMQjl3M2twRURnajRib010THp3UENW?= =?utf-8?B?bUpFUTZhTTBtUWZsUFdSd0FOTmg1TTBDWm56RjQveHU5UC9CVkVPYWwzdUg1?= =?utf-8?B?YVBCMlZETFE3TDErQm9hZXcydjNnPT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1780559d-88df-40e8-0606-08d997c3c401 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2021 14:28:51.1764 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IHzOxr4qORAGfYkkdgPzWbje8VKRaU+soj6bZiP4saEN32BYF7JGmGApIMqOfNGZDlemB4MCaa6i9SsJ1m4wimHKH1pRk8CHeyMe18Wx3HU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0010 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 1/5] eal: add 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+ID4gPiBJbnRyb2R1Y2UgbWFjcm9zIGFzIGdlbmVyaWMgaW50ZXJmYWNlIGZvciBhZGRyZXNz IG1vbml0b3JpbmcuDQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogRmVpZmVpIFdhbmcgPGZl aWZlaS53YW5nMkBhcm0uY29tPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IFJ1aWZlbmcgV2FuZyA8cnVp ZmVuZy53YW5nQGFybS5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ICBsaWIvZWFsL2FybS9pbmNsdWRl L3J0ZV9wYXVzZV82NC5oICB8IDEyNg0KPiA+ID4gKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LSAgbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX3BhdXNlLmggfA0KPiA+ID4gMzIgKysrKysr Kw0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9u cygtKQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV9w YXVzZV82NC5oDQo+ID4gPiBiL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRlX3BhdXNlXzY0LmgNCj4g PiA+IGluZGV4IGU4N2QxMGI4Y2MuLjIzOTU0YzJkZTIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIv ZWFsL2FybS9pbmNsdWRlL3J0ZV9wYXVzZV82NC5oDQo+ID4gPiArKysgYi9saWIvZWFsL2FybS9p bmNsdWRlL3J0ZV9wYXVzZV82NC5oDQo+ID4gPiBAQCAtMzEsMjAgKzMxLDEyIEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBydGVfcGF1c2Uodm9pZCkNCj4gPiA+ICAvKiBQdXQgcHJvY2Vzc29yIGludG8g bG93IHBvd2VyIFdGRShXYWl0IEZvciBFdmVudCkgc3RhdGUuICovDQo+ID4gPiAjZGVmaW5lIF9f V0ZFKCkgeyBhc20gdm9sYXRpbGUoIndmZSIgOiA6IDogIm1lbW9yeSIpOyB9DQo+ID4gPg0KPiA+ ID4gLXN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gPiA+IC1ydGVfd2FpdF91bnRp bF9lcXVhbF8xNih2b2xhdGlsZSB1aW50MTZfdCAqYWRkciwgdWludDE2X3QgZXhwZWN0ZWQsDQo+ ID4gPiAtCQlpbnQgbWVtb3JkZXIpDQo+ID4gPiAtew0KPiA+ID4gLQl1aW50MTZfdCB2YWx1ZTsN Cj4gPiA+IC0NCj4gPiA+IC0JYXNzZXJ0KG1lbW9yZGVyID09IF9fQVRPTUlDX0FDUVVJUkUgfHwg bWVtb3JkZXIgPT0NCj4gPiBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiA+IC0NCj4gPiA+IC0JLyoN Cj4gPiA+IC0JICogQXRvbWljIGV4Y2x1c2l2ZSBsb2FkIGZyb20gYWRkciwgaXQgcmV0dXJucyB0 aGUgMTYtYml0IGNvbnRlbnQgb2YNCj4gPiA+IC0JICogKmFkZHIgd2hpbGUgbWFraW5nIGl0ICdt b25pdG9yZWQnLHdoZW4gaXQgaXMgd3JpdHRlbiBieSBzb21lb25lDQo+ID4gPiAtCSAqIGVsc2Us IHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVyYXRl ZA0KPiA+ID4gLQkgKiBpbXBsaWNpdGx5IHRvIGV4aXQgV0ZFLg0KPiA+ID4gLQkgKi8NCj4gPiA+ ICsvKg0KPiA+ID4gKyAqIEF0b21pYyBleGNsdXNpdmUgbG9hZCBmcm9tIGFkZHIsIGl0IHJldHVy bnMgdGhlIDE2LWJpdCBjb250ZW50IG9mDQo+ID4gPiArICogKmFkZHIgd2hpbGUgbWFraW5nIGl0 ICdtb25pdG9yZWQnLCB3aGVuIGl0IGlzIHdyaXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4gKyAqIGVs c2UsIHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBpcyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVy YXRlZA0KPiA+ID4gKyAqIGltcGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiArICovDQo+ID4g PiAgI2RlZmluZSBfX0xPQURfRVhDXzE2KHNyYywgZHN0LCBtZW1vcmRlcikgeyAgICAgICAgICAg ICAgIFwNCj4gPiA+ICAJaWYgKG1lbW9yZGVyID09IF9fQVRPTUlDX1JFTEFYRUQpIHsgICAgICAg ICAgICAgICBcDQo+ID4gPiAgCQlhc20gdm9sYXRpbGUoImxkeHJoICV3W3RtcF0sIFsleFthZGRy XV0iICBcIEBAIC01OCw2ICs1MCw1Mg0KPiA+IEBADQo+ID4gPiBydGVfd2FpdF91bnRpbF9lcXVh bF8xNih2b2xhdGlsZSB1aW50MTZfdCAqYWRkciwgdWludDE2X3QgZXhwZWN0ZWQsDQo+ID4gPiAg CQkJOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ICAJfSB9DQo+ID4g Pg0KPiA+ID4gKy8qDQo+ID4gPiArICogQXRvbWljIGV4Y2x1c2l2ZSBsb2FkIGZyb20gYWRkciwg aXQgcmV0dXJucyB0aGUgMzItYml0IGNvbnRlbnQgb2YNCj4gPiA+ICsgKiAqYWRkciB3aGlsZSBt YWtpbmcgaXQgJ21vbml0b3JlZCcsIHdoZW4gaXQgaXMgd3JpdHRlbiBieSBzb21lb25lDQo+ID4g PiArICogZWxzZSwgdGhlICdtb25pdG9yZWQnIHN0YXRlIGlzIGNsZWFyZWQgYW5kIGEgZXZlbnQg aXMgZ2VuZXJhdGVkDQo+ID4gPiArICogaW1wbGljaXRseSB0byBleGl0IFdGRS4NCj4gPiA+ICsg Ki8NCj4gPiA+ICsjZGVmaW5lIF9fTE9BRF9FWENfMzIoc3JjLCBkc3QsIG1lbW9yZGVyKSB7ICAg ICAgICAgICAgICBcDQo+ID4gPiArCWlmIChtZW1vcmRlciA9PSBfX0FUT01JQ19SRUxBWEVEKSB7 ICAgICAgICAgICAgICBcDQo+ID4gPiArCQlhc20gdm9sYXRpbGUoImxkeHIgJXdbdG1wXSwgWyV4 W2FkZHJdXSIgIFwNCj4gPiA+ICsJCQk6IFt0bXBdICI9JnIiIChkc3QpICAgICAgICAgICAgICBc DQo+ID4gPiArCQkJOiBbYWRkcl0gInIiKHNyYykgICAgICAgICAgICAgICAgXA0KPiA+ID4gKwkJ CTogIm1lbW9yeSIpOyAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ICsJfSBlbHNlIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ICsJCWFzbSB2b2xh dGlsZSgibGRheHIgJXdbdG1wXSwgWyV4W2FkZHJdXSIgXA0KPiA+ID4gKwkJCTogW3RtcF0gIj0m ciIgKGRzdCkgICAgICAgICAgICAgIFwNCj4gPiA+ICsJCQk6IFthZGRyXSAiciIoc3JjKSAgICAg ICAgICAgICAgICBcDQo+ID4gPiArCQkJOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAg XA0KPiA+ID4gKwl9IH0NCj4gPiA+ICsNCj4gPiA+ICsvKg0KPiA+ID4gKyAqIEF0b21pYyBleGNs dXNpdmUgbG9hZCBmcm9tIGFkZHIsIGl0IHJldHVybnMgdGhlIDY0LWJpdCBjb250ZW50IG9mDQo+ ID4gPiArICogKmFkZHIgd2hpbGUgbWFraW5nIGl0ICdtb25pdG9yZWQnLCB3aGVuIGl0IGlzIHdy aXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4gKyAqIGVsc2UsIHRoZSAnbW9uaXRvcmVkJyBzdGF0ZSBp cyBjbGVhcmVkIGFuZCBhIGV2ZW50IGlzIGdlbmVyYXRlZA0KPiA+ID4gKyAqIGltcGxpY2l0bHkg dG8gZXhpdCBXRkUuDQo+ID4gPiArICovDQo+ID4gPiArI2RlZmluZSBfX0xPQURfRVhDXzY0KHNy YywgZHN0LCBtZW1vcmRlcikgeyAgICAgICAgICAgICAgXA0KPiA+ID4gKwlpZiAobWVtb3JkZXIg PT0gX19BVE9NSUNfUkVMQVhFRCkgeyAgICAgICAgICAgICAgXA0KPiA+ID4gKwkJYXNtIHZvbGF0 aWxlKCJsZHhyICV4W3RtcF0sIFsleFthZGRyXV0iICBcDQo+ID4gPiArCQkJOiBbdG1wXSAiPSZy IiAoZHN0KSAgICAgICAgICAgICAgXA0KPiA+ID4gKwkJCTogW2FkZHJdICJyIihzcmMpICAgICAg ICAgICAgICAgIFwNCj4gPiA+ICsJCQk6ICJtZW1vcnkiKTsgICAgICAgICAgICAgICAgICAgICBc DQo+ID4gPiArCX0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ID4gPiArCQlhc20gdm9sYXRpbGUoImxkYXhyICV4W3RtcF0sIFsleFthZGRyXV0iIFwN Cj4gPiA+ICsJCQk6IFt0bXBdICI9JnIiIChkc3QpICAgICAgICAgICAgICBcDQo+ID4gPiArCQkJ OiBbYWRkcl0gInIiKHNyYykgICAgICAgICAgICAgICAgXA0KPiA+ID4gKwkJCTogIm1lbW9yeSIp OyAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ICsJfSB9DQo+ID4gPiArDQo+ID4gPiArc3Rh dGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZA0KPiA+ID4gK3J0ZV93YWl0X3VudGlsX2VxdWFs XzE2KHZvbGF0aWxlIHVpbnQxNl90ICphZGRyLCB1aW50MTZfdCBleHBlY3RlZCwNCj4gPiA+ICsJ CWludCBtZW1vcmRlcikNCj4gPiA+ICt7DQo+ID4gPiArCXVpbnQxNl90IHZhbHVlOw0KPiA+ID4g Kw0KPiA+ID4gKwlhc3NlcnQobWVtb3JkZXIgPT0gX19BVE9NSUNfQUNRVUlSRSB8fCBtZW1vcmRl ciA9PQ0KPiA+ID4gK19fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ID4gKw0KPiA+ID4gIAlfX0xPQURf RVhDXzE2KGFkZHIsIHZhbHVlLCBtZW1vcmRlcikNCj4gPiA+ICAJaWYgKHZhbHVlICE9IGV4cGVj dGVkKSB7DQo+ID4gPiAgCQlfX1NFVkwoKQ0KPiA+ID4gQEAgLTY2LDcgKzEwNCw2IEBAIHJ0ZV93 YWl0X3VudGlsX2VxdWFsXzE2KHZvbGF0aWxlIHVpbnQxNl90ICphZGRyLA0KPiA+IHVpbnQxNl90 IGV4cGVjdGVkLA0KPiA+ID4gIAkJCV9fTE9BRF9FWENfMTYoYWRkciwgdmFsdWUsIG1lbW9yZGVy KQ0KPiA+ID4gIAkJfSB3aGlsZSAodmFsdWUgIT0gZXhwZWN0ZWQpOw0KPiA+ID4gIAl9DQo+ID4g PiAtI3VuZGVmIF9fTE9BRF9FWENfMTYNCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gIHN0YXRpYyBf X3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gPiA+IEBAIC03NywyNSArMTE0LDYgQEAgcnRlX3dh aXRfdW50aWxfZXF1YWxfMzIodm9sYXRpbGUgdWludDMyX3QgKmFkZHIsDQo+ID4gPiB1aW50MzJf dCBleHBlY3RlZCwNCj4gPiA+DQo+ID4gPiAgCWFzc2VydChtZW1vcmRlciA9PSBfX0FUT01JQ19B Q1FVSVJFIHx8IG1lbW9yZGVyID09DQo+ID4gPiBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiA+DQo+ ID4gPiAtCS8qDQo+ID4gPiAtCSAqIEF0b21pYyBleGNsdXNpdmUgbG9hZCBmcm9tIGFkZHIsIGl0 IHJldHVybnMgdGhlIDMyLWJpdCBjb250ZW50IG9mDQo+ID4gPiAtCSAqICphZGRyIHdoaWxlIG1h a2luZyBpdCAnbW9uaXRvcmVkJyx3aGVuIGl0IGlzIHdyaXR0ZW4gYnkgc29tZW9uZQ0KPiA+ID4g LQkgKiBlbHNlLCB0aGUgJ21vbml0b3JlZCcgc3RhdGUgaXMgY2xlYXJlZCBhbmQgYSBldmVudCBp cyBnZW5lcmF0ZWQNCj4gPiA+IC0JICogaW1wbGljaXRseSB0byBleGl0IFdGRS4NCj4gPiA+IC0J ICovDQo+ID4gPiAtI2RlZmluZSBfX0xPQURfRVhDXzMyKHNyYywgZHN0LCBtZW1vcmRlcikgeyAg ICAgICAgICAgICAgXA0KPiA+ID4gLQlpZiAobWVtb3JkZXIgPT0gX19BVE9NSUNfUkVMQVhFRCkg eyAgICAgICAgICAgICAgXA0KPiA+ID4gLQkJYXNtIHZvbGF0aWxlKCJsZHhyICV3W3RtcF0sIFsl eFthZGRyXV0iICBcDQo+ID4gPiAtCQkJOiBbdG1wXSAiPSZyIiAoZHN0KSAgICAgICAgICAgICAg XA0KPiA+ID4gLQkJCTogW2FkZHJdICJyIihzcmMpICAgICAgICAgICAgICAgIFwNCj4gPiA+IC0J CQk6ICJtZW1vcnkiKTsgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiAtCX0gZWxzZSB7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiAtCQlhc20gdm9s YXRpbGUoImxkYXhyICV3W3RtcF0sIFsleFthZGRyXV0iIFwNCj4gPiA+IC0JCQk6IFt0bXBdICI9 JnIiIChkc3QpICAgICAgICAgICAgICBcDQo+ID4gPiAtCQkJOiBbYWRkcl0gInIiKHNyYykgICAg ICAgICAgICAgICAgXA0KPiA+ID4gLQkJCTogIm1lbW9yeSIpOyAgICAgICAgICAgICAgICAgICAg IFwNCj4gPiA+IC0JfSB9DQo+ID4gPiAtDQo+ID4gPiAgCV9fTE9BRF9FWENfMzIoYWRkciwgdmFs dWUsIG1lbW9yZGVyKQ0KPiA+ID4gIAlpZiAodmFsdWUgIT0gZXhwZWN0ZWQpIHsNCj4gPiA+ICAJ CV9fU0VWTCgpDQo+ID4gPiBAQCAtMTA0LDcgKzEyMiw2IEBAIHJ0ZV93YWl0X3VudGlsX2VxdWFs XzMyKHZvbGF0aWxlIHVpbnQzMl90ICphZGRyLA0KPiA+IHVpbnQzMl90IGV4cGVjdGVkLA0KPiA+ ID4gIAkJCV9fTE9BRF9FWENfMzIoYWRkciwgdmFsdWUsIG1lbW9yZGVyKQ0KPiA+ID4gIAkJfSB3 aGlsZSAodmFsdWUgIT0gZXhwZWN0ZWQpOw0KPiA+ID4gIAl9DQo+ID4gPiAtI3VuZGVmIF9fTE9B RF9FWENfMzINCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5s aW5lIHZvaWQNCj4gPiA+IEBAIC0xMTUsMjUgKzEzMiw2IEBAIHJ0ZV93YWl0X3VudGlsX2VxdWFs XzY0KHZvbGF0aWxlIHVpbnQ2NF90ICphZGRyLA0KPiA+ID4gdWludDY0X3QgZXhwZWN0ZWQsDQo+ ID4gPg0KPiA+ID4gIAlhc3NlcnQobWVtb3JkZXIgPT0gX19BVE9NSUNfQUNRVUlSRSB8fCBtZW1v cmRlciA9PQ0KPiA+ID4gX19BVE9NSUNfUkVMQVhFRCk7DQo+ID4gPg0KPiA+ID4gLQkvKg0KPiA+ ID4gLQkgKiBBdG9taWMgZXhjbHVzaXZlIGxvYWQgZnJvbSBhZGRyLCBpdCByZXR1cm5zIHRoZSA2 NC1iaXQgY29udGVudCBvZg0KPiA+ID4gLQkgKiAqYWRkciB3aGlsZSBtYWtpbmcgaXQgJ21vbml0 b3JlZCcsd2hlbiBpdCBpcyB3cml0dGVuIGJ5IHNvbWVvbmUNCj4gPiA+IC0JICogZWxzZSwgdGhl ICdtb25pdG9yZWQnIHN0YXRlIGlzIGNsZWFyZWQgYW5kIGEgZXZlbnQgaXMgZ2VuZXJhdGVkDQo+ ID4gPiAtCSAqIGltcGxpY2l0bHkgdG8gZXhpdCBXRkUuDQo+ID4gPiAtCSAqLw0KPiA+ID4gLSNk ZWZpbmUgX19MT0FEX0VYQ182NChzcmMsIGRzdCwgbWVtb3JkZXIpIHsgICAgICAgICAgICAgIFwN Cj4gPiA+IC0JaWYgKG1lbW9yZGVyID09IF9fQVRPTUlDX1JFTEFYRUQpIHsgICAgICAgICAgICAg IFwNCj4gPiA+IC0JCWFzbSB2b2xhdGlsZSgibGR4ciAleFt0bXBdLCBbJXhbYWRkcl1dIiAgXA0K PiA+ID4gLQkJCTogW3RtcF0gIj0mciIgKGRzdCkgICAgICAgICAgICAgIFwNCj4gPiA+IC0JCQk6 IFthZGRyXSAiciIoc3JjKSAgICAgICAgICAgICAgICBcDQo+ID4gPiAtCQkJOiAibWVtb3J5Iik7 ICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gLQl9IGVsc2UgeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gLQkJYXNtIHZvbGF0aWxlKCJsZGF4ciAl eFt0bXBdLCBbJXhbYWRkcl1dIiBcDQo+ID4gPiAtCQkJOiBbdG1wXSAiPSZyIiAoZHN0KSAgICAg ICAgICAgICAgXA0KPiA+ID4gLQkJCTogW2FkZHJdICJyIihzcmMpICAgICAgICAgICAgICAgIFwN Cj4gPiA+IC0JCQk6ICJtZW1vcnkiKTsgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiAtCX0g fQ0KPiA+ID4gLQ0KPiA+ID4gIAlfX0xPQURfRVhDXzY0KGFkZHIsIHZhbHVlLCBtZW1vcmRlcikN Cj4gPiA+ICAJaWYgKHZhbHVlICE9IGV4cGVjdGVkKSB7DQo+ID4gPiAgCQlfX1NFVkwoKQ0KPiA+ ID4gQEAgLTE0Myw2ICsxNDEsMjYgQEAgcnRlX3dhaXRfdW50aWxfZXF1YWxfNjQodm9sYXRpbGUg dWludDY0X3QgKmFkZHIsDQo+ID4gdWludDY0X3QgZXhwZWN0ZWQsDQo+ID4gPiAgCQl9IHdoaWxl ICh2YWx1ZSAhPSBleHBlY3RlZCk7DQo+ID4gPiAgCX0NCj4gPiA+ICB9DQo+ID4gPiArDQo+ID4g PiArI2RlZmluZSBydGVfd2FpdF9ldmVudChhZGRyLCBtYXNrLCBleHBlY3RlZCwgY29uZCwgbWVt b3JkZXIsIHNpemUpIFwNCj4gPiA+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gKwlSVEVfQlVJTERfQlVH X09OKCFfX2J1aWx0aW5fY29uc3RhbnRfcChtZW1vcmRlcikpOyAgICAgICAgIFwNCj4gPiA+ICsJ UlRFX0JVSUxEX0JVR19PTihtZW1vcmRlciAhPSBfX0FUT01JQ19BQ1FVSVJFICYmICAgICAgICAg ICBcDQo+ID4gPiArCW1lbW9yZGVyICE9IF9fQVRPTUlDX1JFTEFYRUQpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KPiA+ID4gKwlSVEVfQlVJTERfQlVHX09OKHNpemUgIT0gMTYgJiYg c2l6ZSAhPSAzMiAmJiBzaXplICE9IDY0KTsgIFwNCj4gPiA+ICsJdWludCMjc2l6ZV90IHZhbHVl OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiArCV9fTE9B RF9FWENfIyNzaXplKGFkZHIsIHZhbHVlLCBtZW1vcmRlcikgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gKwlpZiAoKHZhbHVlICYgbWFzaykgY29uZCBleHBlY3RlZCkgewkJICAgICAgICAgICBc DQo+ID4gPiArCQlfX1NFVkwoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ID4gPiArCQlkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ID4gPiArCQkJX19XRkUoKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCj4gPiA+ICsJCQlfX0xPQURfRVhDXyMjc2l6ZShhZGRyLCB2YWx1ZSwgbWVt b3JkZXIpICAgXA0KPiA+ID4gKwkJfSB3aGlsZSAoKHZhbHVlICYgbWFzaykgY29uZCBleHBlY3Rl ZCk7ICAgICAgICAgICAgXA0KPiA+ID4gKwl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ICt9IHdoaWxlICgwKQ0KPiA+ID4g Kw0KPiA+ID4gKyN1bmRlZiBfX0xPQURfRVhDXzE2DQo+ID4gPiArI3VuZGVmIF9fTE9BRF9FWENf MzINCj4gPiA+ICAjdW5kZWYgX19MT0FEX0VYQ182NA0KPiA+ID4NCj4gPiA+ICAjdW5kZWYgX19T RVZMDQo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX3BhdXNl LmgNCj4gPiA+IGIvbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX3BhdXNlLmgNCj4gPiA+IGlu ZGV4IDY2OGVlNGExODQuLjIwYTVkMmE5ZmQgMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIvZWFsL2lu Y2x1ZGUvZ2VuZXJpYy9ydGVfcGF1c2UuaA0KPiA+ID4gKysrIGIvbGliL2VhbC9pbmNsdWRlL2dl bmVyaWMvcnRlX3BhdXNlLmgNCj4gPiA+IEBAIC0xMTEsNiArMTExLDM4IEBAIHJ0ZV93YWl0X3Vu dGlsX2VxdWFsXzY0KHZvbGF0aWxlIHVpbnQ2NF90ICphZGRyLA0KPiA+IHVpbnQ2NF90IGV4cGVj dGVkLA0KPiA+ID4gIAl3aGlsZSAoX19hdG9taWNfbG9hZF9uKGFkZHIsIG1lbW9yZGVyKSAhPSBl eHBlY3RlZCkNCj4gPiA+ICAJCXJ0ZV9wYXVzZSgpOw0KPiA+ID4gIH0NCj4gPiA+ICsNCj4gPiA+ ICsvKg0KPiA+ID4gKyAqIFdhaXQgdW50aWwgKmFkZHIgYnJlYWtzIHRoZSBjb25kaXRpb24sIHdp dGggYSByZWxheGVkIG1lbW9yeQ0KPiA+ID4gKyAqIG9yZGVyaW5nIG1vZGVsIG1lYW5pbmcgdGhl IGxvYWRzIGFyb3VuZCB0aGlzIEFQSSBjYW4gYmUgcmVvcmRlcmVkLg0KPiA+ID4gKyAqDQo+ID4g PiArICogQHBhcmFtIGFkZHINCj4gPiA+ICsgKiAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgbG9j YXRpb24uDQo+ID4gPiArICogQHBhcmFtIG1hc2sNCj4gPiA+ICsgKiAgQSBtYXNrIG9mIHZhbHVl IGJpdHMgaW4gaW50ZXJlc3QuDQo+ID4gPiArICogQHBhcmFtIGV4cGVjdGVkDQo+ID4gPiArICog IEEgMTYtYml0IGV4cGVjdGVkIHZhbHVlIHRvIGJlIGluIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ ID4gPiArICogQHBhcmFtIGNvbmQNCj4gPiA+ICsgKiAgQSBzeW1ib2wgcmVwcmVzZW50aW5nIHRo ZSBjb25kaXRpb24gKD09LCAhPSkuDQo+ID4gPiArICogQHBhcmFtIG1lbW9yZGVyDQo+ID4gPiAr ICogIFR3byBkaWZmZXJlbnQgbWVtb3J5IG9yZGVycyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQ6DQo+ ID4gPiArICogIF9fQVRPTUlDX0FDUVVJUkUgYW5kIF9fQVRPTUlDX1JFTEFYRUQuIFRoZXNlIG1h cCB0bw0KPiA+ID4gKyAqICBDKysxMSBtZW1vcnkgb3JkZXJzIHdpdGggdGhlIHNhbWUgbmFtZXMs IHNlZSB0aGUgQysrMTEgc3RhbmRhcmQNCj4gPiA+ICtvcg0KPiA+ID4gKyAqICB0aGUgR0NDIHdp a2kgb24gYXRvbWljIHN5bmNocm9uaXphdGlvbiBmb3IgZGV0YWlsZWQgZGVmaW5pdGlvbi4NCj4g PiA+ICsgKiBAcGFyYW0gc2l6ZQ0KPiA+ID4gKyAqIFRoZSBiaXQgc2l6ZSBvZiAqYWRkcjoNCj4g PiA+ICsgKiBJdCBpcyB1c2VkIGZvciBhcm0gYXJjaGl0ZWN0dXJlIHRvIGNob29zZSBsb2FkIGlu c3RydWN0aW9ucywNCj4gPiA+ICsgKiBhbmQgdGhlIG9wdGlvbmFsIHZhbHVlIGlzIDE2LCAzMiBh bmQgNjQuDQo+ID4gPiArICovDQo+ID4gPiArI2RlZmluZSBydGVfd2FpdF9ldmVudChhZGRyLCBt YXNrLCBleHBlY3RlZCwgY29uZCwgbWVtb3JkZXIsIHNpemUpICAgICBcDQo+ID4gPiArZG8geyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ID4gPiArCVJURV9CVUlMRF9CVUdfT04oIV9fYnVpbHRpbl9jb25zdGFudF9w KG1lbW9yZGVyKSk7ICAgICAgICAgICAgIFwNCj4gPiA+ICsJUlRFX0JVSUxEX0JVR19PTihtZW1v cmRlciAhPSBfX0FUT01JQ19BQ1FVSVJFICYmICAgICAgICAgICAgICAgXA0KPiA+ID4gKwkJCQlt ZW1vcmRlciAhPSBfX0FUT01JQ19SRUxBWEVEKTsgICAgICAgICBcDQo+ID4gPiArCVJURV9CVUlM RF9CVUdfT04oc2l6ZSAhPSAxNiAmJiBzaXplICE9IDMyICYmIHNpemUgIT0gNjQpOyAgICAgIFwN Cj4gPg0KPiA+IEkgZG9uJ3QnIHJlYWxseSB1bmRlcnN0YW5kIHdoeSB5b3UgZG8gbmVlZCAnc2l6 ZScgcGFzc2VkIGFzIHBhcmFtZXRlci4NCj4gPiBDYW4ndCBpdCBiZToNCj4gPiBzaXplX3Qgc2l6 ZSA9IHNpemVvZigqKGFkZHIpKTsNCj4gPiBBbmQgdGhlbjoNCj4gPiBSVEVfQlVJTERfQlVHX09O KHNpemUgIT0gc2l6ZW9mKHVpbnQxNl90KSAmJiBzaXplICE9IHNpemVvZih1aW50MzJfdCkgJiYN Cj4gPiBzaXplICE9IHNpemVvZih1aW50NjRfdCkpOyA/DQo+ID4NCj4gPiA+ICsJd2hpbGUgKChf X2F0b21pY19sb2FkX24oYWRkciwgbWVtb3JkZXIpICYgbWFzaykgY29uZCBleHBlY3RlZCkgXA0K PiA+ID4gKwkJcnRlX3BhdXNlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPg0KPiA+IEp1c3QgdG8gcmVwZWF0IG15IG93biBjb21tZW50IGZyb20gcHJl dmlvdXMgdmVyc2lvbiByZXZpZXc6DQo+ID4gcHV0ICgpIGFyb3VuZCBtYWNybyBwYXJhbWV0ZXJz IGluIHRoZSBtYWNybyBib2R5Lg0KPiA+IFdpbGwgc2F2ZSBmcm9tIGEgbG90IG9mIHVuZXhwZWN0 ZWQgdHJvdWJsZXMuDQo+IA0KPiBTb3JyeSBJIGRpZG4ndCBjYXRjaCB0aGUgcG9pbnQuDQo+IElu IHRoaXMgdmVyc2lvbiwgSSBmaXJzdGx5IHdhbnQgdG8gdXNlICdfX0xPQURfRVhDXyMjc2l6ZScg dG8gY2hvb3NlICwgc28gSSB1c2Ugc2l6ZQ0KPiBhcyBhIHBhcmFtZXRlci4gIEFuZCBpbiB0aGUg bmV4dCB2ZXJzaW9uLCBJIHdpbGwgdXBkYXRlIHRoaXMgYXPvvJoNCj4gDQo+ICNkZWZpbmUgX19M T0FEX0VYQyhzcmMsIGRzdCwgbWVtb3JkZXIsIHNpemUpIHsgICAgXA0KPiAJaWYgKHNpemUgPT0g MTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gCQlfX0xPQURfRVhDXzE2KHNy YywgZHN0LCBtZW1vcmRlcikgICAgIFwNCj4gCWVsc2UgaWYgKHNpemUgPT0gMzIpICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+IAkJX19MT0FEX0VYQ18zMihzcmMsIGRzdCwgbWVtb3JkZXIp ICAgICBcDQo+IAllbHNlIGlmIChzaXplID09IDY0KSAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiAJCV9fTE9BRF9FWENfNjQoc3JjLCBkc3QsIG1lbW9yZGVyKSAgICAgXA0KPiB9DQo+IA0K PiAjZGVmaW5lIHJ0ZV93YWl0X2V2ZW50KGFkZHIsIG1hc2ssIGNvbmQsIGV4cGVjdGVkLCBtZW1v cmRlcikgICAgXA0KPiBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KPiAJUlRFX0JVSUxEX0JVR19PTighX19idWlsdGluX2Nv bnN0YW50X3AobWVtb3JkZXIpKTsgICAgICBcDQo+IAlSVEVfQlVJTERfQlVHX09OKG1lbW9yZGVy ICE9IF9fQVRPTUlDX0FDUVVJUkUgJiYgICAgICAgIFwNCj4gCQkJCW1lbW9yZGVyICE9IF9fQVRP TUlDX1JFTEFYRUQpOyAgXA0KPiAJdWludDMyX3Qgc2l6ZSA9IHNpemVvZigqYWRkcikgPDwgMzsg ICAgICAgICAgICAgICAgICAgICBcDQo+IAl0eXBlb2YoKmFkZHIpIHZhbHVlID0gMDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gCV9fTE9BRF9FWEMoYWRkciwgdmFsdWUsIG1l bW9yZGVyLCBzaXplKSAgICAgICAgICAgICAgICAgXA0KPiAJaWYgKCh2YWx1ZSAmIG1hc2spIGNv bmQgZXhwZWN0ZWQpIHsgICAgICAgICAgICAgICAgICAgICBcDQo+IAkJX19TRVZMKCkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAJCWRvIHsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gCQkJX19XRkUoKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gCQkJX19MT0FEX0VYQyhhZGRyLCB2YWx1ZSwgbWVt b3JkZXIsIHNpemUpIFwNCj4gCQl9IHdoaWxlICgodmFsdWUgJiBtYXNrKSBjb25kIGV4cGVjdGVk KTsgICAgICAgICBcDQo+IAl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gfSB3aGlsZSAoMCkNCg0KU29ycnksIEkgcHJvYmFibHkgd2Fz bid0IGNsZWFyIGVub3VnaC4NCkkgbWVhbnQgdXNlICcoJyAnKScgYXJvdW5kICBtYWNybyBhcmd1 bWVudHMgKHRvIGF2b2lkIHVuLXByZWRpY3RlZCBzaWRlLWVmZmVjdHMgd2l0aCBvcGVyYW5kcyBh c3NvY2lhdGl2aXR5KToNCnVpbnQzMl90IHNpemUgPSBzaXplb2YoKihhZGRyKSkgLi4uOw0KLi4u DQppZiAoKHZhbHVlICYgKG1hc2spKSBjb25kIChleHBlY3RlZCkpDQouLi4NCg0KDQoNCg0KDQoN Cg==