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 3E3EAA0547; Thu, 24 Jun 2021 17:26:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEF9040040; Thu, 24 Jun 2021 17:26:04 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 0E6524003C for ; Thu, 24 Jun 2021 17:26:02 +0200 (CEST) IronPort-SDR: NLfU/AYio+MM1MMvrGBlId4BrBRm6e71tVmkZ6ggbUxxBSuTFKke4cuNhJN93Y1tmvkmCfJ1yI wkG/bLu7wg5w== X-IronPort-AV: E=McAfee;i="6200,9189,10025"; a="229079305" X-IronPort-AV: E=Sophos;i="5.83,296,1616482800"; d="scan'208";a="229079305" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2021 08:26:00 -0700 IronPort-SDR: uhdtSpTS/v8CHZIXo4dSw9Q3zPDa6FSpvfNB8LThnVg6bY/UM/lyiRS9Taryvg+44Wd1Ek2B+N cfCoPJ/BwS/g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,296,1616482800"; d="scan'208";a="453464746" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga008.jf.intel.com with ESMTP; 24 Jun 2021 08:25:59 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Thu, 24 Jun 2021 08:25:58 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Thu, 24 Jun 2021 08:25:58 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Thu, 24 Jun 2021 08:25:58 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Thu, 24 Jun 2021 08:25:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ggJgdfho9nYzrZ18h3LembFmxxmR0Wa4k1/yUQayWL2yMXjwQnJSSaJZP1qbuS4+3SZX1kgvsfqrHOh1/lqaRA9NC9/B/RxDeNb3VZUCC2g3oofrTG8AswEIE7e0xtkjgGLz5dEpXWDTTZVcdmvushkpS6tMJ1Ygwxzd3Rj9FeodWd+HD97P59Gibt7spCYH1b/nYvwpN5vyUpQZYklZYOxtf0kgfuIFhbaXbnKwvJABGuL/+nIww/CvN5p53VyvMoBPFfXyDHUcmoiM1wZPj3dq4WZSNAChqTsIJaPdaO1QPMZnYpFY+CByBzcXXTqnidJKXszjSrNQFRcYPZgyDw== 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-SenderADCheck; bh=Q5RaQjLThhf5X4E0zMwKLD556ueZWGTlGLU81uCdJ7k=; b=nNz5Sz7TcAe6obTCn65EPTy4v0DLLA2Gu0itEydA1wOmwjnIN6zF6kom8E+4cgqdziTBmPETnZTZJr6OX0VwobPvN63j9/tGBqzXQCFEzfpTLT7CpJN81t9MXbEUl4qi0AJW0NofRH1laH/CYx0cD1GOaRKZZOhdRt0TSM9NcY6/D711/5YwDYMSoyS22KpH5QFhXc7UfSnFa3mbEZUSKEybudICX5eUYSTGe4PQSqWQ4PuvOWDWkLorU5rG+XKB9JAvmxEtpCBza16j0FEBQenhPY8rDLu8RxcMDTtJDu2F7v7R2yb6JGPzDzayfR3ARKl9gHfo50nwJ3zXFBj3pQ== 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=Q5RaQjLThhf5X4E0zMwKLD556ueZWGTlGLU81uCdJ7k=; b=kFo1iHYFOGYwwl50t4k8Hx/zo33d71x9GaSDrig656pQNHRAbjPB7+wBWCIlnbRXElCaELE3Sm3DL29crAy38kmq3RSy68hX0jkKuIxOF9viKa63CHM2x+Cp5mcwAUhGWcyBh2gTD6jS6wa9qCWADnAw5uDeipdnQV4RBp9YFdg= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4186.namprd11.prod.outlook.com (2603:10b6:5:196::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18; Thu, 24 Jun 2021 15:25:55 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4242.025; Thu, 24 Jun 2021 15:25:55 +0000 From: "Ananyev, Konstantin" To: "Burakov, Anatoly" , "dev@dpdk.org" , "Richardson, Bruce" CC: "Loftus, Ciara" , "Hunt, David" Thread-Topic: [PATCH v1 1/7] power_intrinsics: allow monitor checks inversion Thread-Index: AQHXVt3hXKEPl/Wz7069wuvKSGP/iKseiW0ggALxP4CAAAKX8IAAAj6AgAAOaaCAABZuAIAAE8aQgAAOCwCAAUFKYIAAVvQAgAACHzCAAAZHgIAABXrQ Date: Thu, 24 Jun 2021 15:25:55 +0000 Message-ID: References: <8007029ea9e5129ea43f0c11708169406a16727f.1622548381.git.anatoly.burakov@intel.com> <53ac7ee0-e4bc-099a-2ddd-0d74949eea9d@intel.com> <249f6957-0f10-926f-9f0e-5cb10fc4d2c3@intel.com> <22ddddf1-6523-8219-dcef-86205e662756@intel.com> <084a42d9-1422-f4a5-f57e-53b4667c1f44@intel.com> <882380b2-20b9-f081-9a5a-199c38094b1b@intel.com> In-Reply-To: <882380b2-20b9-f081-9a5a-199c38094b1b@intel.com> 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.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2f2ca3a8-0f03-4086-2b61-08d937245c64 x-ms-traffictypediagnostic: DM6PR11MB4186: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RT/F/hRRaGezK0Ay41yg79ohRpsQ82FcaWL6myg9VLiDHdhzhoxS9qsCVUdGX6EiDxIPg9XdqQ4KgCN1ssJZaToBDsGuM9XEByacqqgunjE8fhMdzHG6qoE/EH57gEeXpsm5zMmYx323OFhajBkVwUzFwAUQVM6iTv2Xs48QmWNl/wKv80rGf0TDapypdzJZ6l+hZkAMB4Owk7PN9iz8EppehwRPcTaNHPUe/bjLSVBETg3nMf84QPOcPMAMOe6MwXXD5yTggl8mGIQYMeyk6+vjA+d9FzjQsCNRLZgprqndRQ/r7F0tZY/Hf13zFjJZ25RVkT38ZDOefoBdMbtLv36dpceLjYune62Ba28VlyoWHD/8hCHuQHy5s9bLCyYkFP8nPMM0yisMI1Escuqf1fI8MEQMjbwtgN+ji4OLKzjp9rkauGxMxWsPqtuE803K6f7qRzsaraWIZ9HWdqxyROoaFI57+0xl+Rtlhs5WbxGon/biDSlq1lkfHJ64rmlYUtt7/DY12Ya+G+y4anR8wLvpRzDuuIpqNHs7+EG1R09l8bJ43I7ddil+5C66Erlf31JxYtfnGQLZHkAwAsXZJL6VzAoSFzj+lm02DMuMPmM= 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:(136003)(376002)(346002)(39860400002)(396003)(366004)(86362001)(33656002)(55016002)(8936002)(478600001)(7696005)(9686003)(83380400001)(8676002)(4326008)(316002)(66946007)(122000001)(71200400001)(38100700002)(5660300002)(26005)(52536014)(6636002)(66446008)(110136005)(54906003)(186003)(55236004)(76116006)(66476007)(2906002)(6506007)(107886003)(66556008)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UXdVZVZCWUZBSHlyWlAyVnpqSU1BaUYwOE00T2M3TFpRUVZGckVYN3dSYUlB?= =?utf-8?B?c2M3OW5qR21qbzhrYjVpY0VLZlNEMTFGZW1DS01ISGVVcXJyaWFjR0ZZSVQ1?= =?utf-8?B?cndlOVVlbld0NlVNc3BSZDVOdnVNTis4VWM2TUpzeCtZNkoyZDU3NWNBVXZp?= =?utf-8?B?TTNoNGxjM1E2cUEvNlp4ZHR4d29OL3lCTDBoYVBILzhlSlNmRnh1K2VyQWZZ?= =?utf-8?B?ZFJoWVQvZ3J3TVpEbmJkY0hrMzg5NW9TTVQxNm0wWFBYK0UydGt6dnc5c0t5?= =?utf-8?B?Ky91RFI3MENRdVBLaFNZc0h1d0xycGUxWi9wV21hcExJcnlIbHBSUmxOandl?= =?utf-8?B?Y0p0U0dKY2Qwa2dVWHdHV3ZXc1lOd1RMUzZIZlRaYitOQ1BaenZtNHBrRTNq?= =?utf-8?B?OTU4Vzd1MkQ0WlVhcE5kZDE2YnpCd1g0SFlUMDNjZGZEbm1wOGQ0elVSWUho?= =?utf-8?B?UnBDNzlvc0t4eE41ZlhxNWtzTjV1RldPME9NNElySFg5Y2lhQnB1QmFIYzJj?= =?utf-8?B?WkZHdFgvMC9CVEpYVFR3NFM3WEFMQnk2dmJXMnlkdXcxVWpmU0Y1NUkrMVFU?= =?utf-8?B?QVNqNVdqMyt0OGtsbWIxbmNuMDJHNkV4Wm1ZM2VxdzRwbWxXSG4xNW5wNm9y?= =?utf-8?B?cGU1UW93WGFXMytuRlhsSC9oUlhKQ3VqQUhEQjRPaDg3ZDdDeDl2MVVtZHA2?= =?utf-8?B?a1A2WCt4elF1OGs1Z0hXQXFwcHhRd2YxN0g1UzhGZGVXVFlnR3o5ZXFvWHla?= =?utf-8?B?VE42WS9ldVVXREhQaHczR2ZMZDhCT2JJdVhVR0ZNZXptMDJ2T0haaG53Wjdw?= =?utf-8?B?bEE4YWtHWlh0akhOekY1VmtHS2N1cUpBbnVYdTl1dmhnaEhLbmgvV3cvSmtk?= =?utf-8?B?Ym5iK2VwTlNVT1ZScmZhZFVRWGdjNUQ2ZXBmU2xVRTNzWFZ0ZmR0V3cwMFdr?= =?utf-8?B?N2xybjFqS2FOZjJDYUpoeG90ZmRGKzk0QjlhMFpnTlY2Tytxa1greVpDK0U4?= =?utf-8?B?aWw0SjJkaGVKUWI3QWxLclJONXVGMHlmTkRSL0VibTlmSndZd0k5QlZaQWFN?= =?utf-8?B?eHliNEtqK2t1cGVYVjlCOEN6bGR3VVozRlEyM0Qyc3pMeWNTZWxKZVV4VTFM?= =?utf-8?B?SitrSGowVE8xSmVkeU9FL1pUVGliUU5MaTlvbG9LdkQvK0tiaE9NbjR0Rk50?= =?utf-8?B?KzJDQ2RVbEVpaEpybTVNbjJHenNUenNiSUhOQTd1TDIvV2VwZkpOdmNSa0ZX?= =?utf-8?B?eTE2a2QxVUJqVFJFRHZ6dlJQTHZNaHdGdm0rajM1Sm9DUzlrZzJzWkFUUmZH?= =?utf-8?B?andjVTBudU1VS2JVMWlncEY0TEpTUU1jQUp3Qy8rUGt1ZDVHK2xwN3J3bWlN?= =?utf-8?B?SXd4L0ZtRVFZL1ptQzgremphTFExc05hdXREODg5bFdRTnR5ZlhmeDBaWDRo?= =?utf-8?B?cWxMK2txRHBubEdJdUxBUjRtdTh3SXVjcktrdll3bkNvNTdoZk9VZFEvL0xx?= =?utf-8?B?NjNxbjJhbmtVL3NTNTZ2YkZUY3BSK0h4QTFESlVUbjlpUWM4Um5CQzVGMEIx?= =?utf-8?B?d2tMMmhKbXhjenBLMVA0RXNGT1NDblB3dXBOZkNwWi9hdlZCOENUaWhONTF6?= =?utf-8?B?QngrU29HYVVpN1hXa2pMUHFKVFU3c1kwV21OSjJPMHZGaW5wN0ExTDBrbnJh?= =?utf-8?B?MEluM0lubVV0WTJLaExnTnRNVXZVUTVneWVaOUcvUTY2RmZXUEw0THRxaitK?= =?utf-8?Q?+Wlon87QJeLtTnR1IpRDYnPR2gB6ymHTudWeZXw?= 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: 2f2ca3a8-0f03-4086-2b61-08d937245c64 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2021 15:25:55.7105 (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: a4bfXWkEawETQsxYxFnFlfvXBf01ZkGOjdccYhv6hxsUXXYRQN/Dju3RCMwl/sypD5dB/O+7XKGApAd9ZAZscdFaBNl7aFdi0qA74oevh3k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4186 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 1/7] power_intrinsics: allow monitor checks inversion 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+ID4+Pj4+PiBJIGRpZCBhIHF1aWNrIHByb3RvdHlwZSBmb3IgdGhpcywgYW5kIGkgZG9uJ3Qg dGhpbmsgaXQgaXMgZ29pbmcgdG8gd29yay4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBDYWxsYmFja3Mg d2l0aCBqdXN0ICJjdXJyZW50IHZhbHVlIiBhcyBhcmd1bWVudCB3aWxsIGJlIHByZXR0eSBsaW1p dGVkDQo+ID4+Pj4+PiBhbmQgd2lsbCBvbmx5IHJlYWxseSB3b3JrIGZvciBjYXNlcyB3aGVyZSB3 ZSBrbm93IHdoYXQgd2UgYXJlIGV4cGVjdGluZy4NCj4gPj4+Pj4+IEhvd2V2ZXIsIGZvciBjYXNl cyBsaWtlIGV2ZW50L2RsYiBvciBuZXQvbWx4NSwgdGhlIGV4cGVjdGVkIHZhbHVlIGlzIChvcg0K PiA+Pj4+Pj4gYXBwZWFycyB0byBiZSkgZGVwZW5kZW50IHVwb24gc29tZSBpbnRlcm5hbCBkZXZp Y2UgZGF0YSwgYW5kIGlzIG5vdA0KPiA+Pj4+Pj4gY29uc3RhbnQgbGlrZSBpbiBjYXNlIG9mIG5l dC9peGdiZSBmb3IgZXhhbXBsZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGlzIGNhbiBiZSBmaXhl ZCBieSBwYXNzaW5nIGFuIG9wYXF1ZSBwb2ludGVyLCBlaXRoZXIgYnkgc3RvcmluZyBpdCBpbg0K PiA+Pj4+Pj4gdGhlIG1vbml0b3IgY29uZGl0aW9uLCBvciBieSBwYXNzaW5nIGl0IGRpcmVjdGx5 IHRvIHJ0ZV9wb3dlcl9tb25pdG9yIGF0DQo+ID4+Pj4+PiBpbnZvY2F0aW9uIHRpbWUuDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gVGhlIGxhdHRlciBkb2Vzbid0IHdvcmsgd2VsbCBiZWNhdXNlIHdoZW4g d2UgY2FsbCBydGVfcG93ZXJfbW9uaXRvciBmcm9tDQo+ID4+Pj4+PiBpbnNpZGUgdGhlIHJ0ZV9w b3dlciBsaWJyYXJ5LCB3ZSBsYWNrIHRoZSBjb250ZXh0IG5lY2Vzc2FyeSB0byBnZXQgc2FpZA0K PiA+Pj4+Pj4gb3BhcXVlIHBvaW50ZXIuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIGZvcm1lciBk b2Vzbid0IHdvcmsgZWl0aGVyLCBiZWNhdXNlIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIGNhbiBn ZXQNCj4gPj4+Pj4+IHRoaXMgYXJndW1lbnQgaXMgaW5zaWRlIGdldF9tb25pdG9yX2FkZHIsIGJ1 dCB0aGUgb3BhcXVlIHBvaW50ZXIgbXVzdA0KPiA+Pj4+Pj4gcGVyc2lzdCBhZnRlciB3ZSBleGl0 IHRoYXQgZnVuY3Rpb24gaW4gb3JkZXIgdG8gYXZvaWQgdXNlLWFmdGVyLWZyZWUgLQ0KPiA+Pj4+ Pj4gd2hpY2ggbWVhbnMgdGhhdCBpdCBlaXRoZXIgaGFzIHRvIGJlIHN0YXRpY2FsbHkgYWxsb2Nh dGVkICh3aGljaCBtZWFucw0KPiA+Pj4+Pj4gaXQncyBub3QgdGhyZWFkLXNhZmUgZm9yIGEgbm9u LXRyaXZpYWwgY2FzZSksIG9yIGR5bmFtaWNhbGx5IGFsbG9jYXRlZA0KPiA+Pj4+Pj4gKHdoaWNo IGEgYmlnIG5vLW5vIG9uIGEgaG90cGF0aCkuDQo+ID4+Pj4+DQo+ID4+Pj4+IElmIEkgZ2V0IHlv dSByaWdodCwgZXhwZWN0ZWRfdmFsdWUgKGFuZCBwcm9iYWJseSBtYXNrKSBjYW4gYmUgdmFyaWFi bGUgb25lcy4NCj4gPj4+Pj4gU28gZm9yIGNhbGxiYWNrIGFwcHJvYWNoIHRvIHdvcmsgd2UgbmVl ZCB0byBwYXNzIGFsbCB0aGlzIGFzIHBhcmFtZXRlcnMNCj4gPj4+Pj4gdG8gUE1EIGNvbXBhcmlz b24gY2FsbGJhY2s6DQo+ID4+Pj4+IGludCBwbWNfY2FsbGJhY2sodWludDY0X3QgcmVhbF92YWws IHVpbnQ2NF90IGV4cGVjdGVkX3ZhbCwgdWludDY0X3QgbWFzaykNCj4gPj4+Pj4gQ29ycmVjdD8N Cj4gPj4+Pg0KPiA+Pj4+IElmIHdlIGhhdmUgYm90aCBleHBlY3RlZCB2YWx1ZSwgbWFzaywgYW5k IGN1cnJlbnQgdmFsdWUsIHRoZW4gd2hhdCdzIHRoZQ0KPiA+Pj4+IHBvaW50IG9mIHRoZSBjYWxs YmFjaz8gVGhlIHBvaW50IG9mIHRoZSBjYWxsYmFjayB3b3VsZCBiZSB0byBwYXNzIGp1c3QNCj4g Pj4+PiB0aGUgY3VycmVudCB2YWx1ZSwgYW5kIGxldCB0aGUgY2FsbGJhY2sgZGVjaWRlIHdoYXQn cyB0aGUgZXhwZWN0ZWQgdmFsdWUNCj4gPj4+PiBhbmQgaG93IHRvIGNvbXBhcmUgaXQuDQo+ID4+ Pg0KPiA+Pj4gRm9yIG1lIHRoZSBtYWluIHBvaW50IG9mIGNhbGxiYWNrIGlzIHRvIGhpZGUgUE1E IHNwZWNpZmljIGNvbXBhcmlzb24gc2VtYW50aWNzLg0KPiA+Pj4gQmFzaWNhbGx5IHRoZXkgcHJv dmlkZSB1cyB3aXRoIHNvbWUgdmFsdWVzIGluIHN0cnVjdCBydGVfcG93ZXJfbW9uaXRvcl9jb25k LA0KPiA+Pj4gYW5kIHRoZW4gaXQgaXMgdXAgdG8gdGhlbSBob3cgdG8gaW50ZXJwcmV0IHRoZW0g aW4gdGhlaXIgY29tcGFyaXNvbiBmdW5jdGlvbi4NCj4gPj4+IEFsbCB3ZSdsbCBkbyBmb3IgdGhl bTogd2lsbCByZWFkIHRoZSB2YWx1ZSBhdCBhZGRyZXNzIHByb3ZpZGVkLg0KPiA+Pj4gSSB1bmRl cnN0YW5kIHRoYXQgaXQgbG9va3MgbGlrZSBhbiBvdmVya2lsbCwgYXMgbWFqb3JpdHkgb2YgdGhl c2UgY29tcGFyaXNvbiBmdW5jdGlvbnMNCj4gPj4+IHdpbGwgYmUgbGlrZToNCj4gPj4+IGludCBj bXBfY2FsbGJhY2sodWludDY0X3QgcmVhbF92YWwsIHVpbnQ2NF90IGV4cGVjdGVkX3ZhbCwgdWlu dDY0X3QgbWFzaykNCj4gPj4+IHsNCj4gPj4+ICAgICAgICAgICByZXR1cm4gKChyZWFsX3ZhbCAm IG1hc2spID09IGV4cGVjdGVkX3ZhbCk7DQo+ID4+PiB9DQo+ID4+PiBUaG91Z2ggcXNvcnQoKSBh bmQgYnNlYXJjaCgpIHdvcmsgaW4gYSBzaW1pbGFyIG1hbm5lciwgYW5kIGV2ZXJ5b25lIHNlZW1z IG9rIHdpdGggaXQuDQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4gU28sIHdlIGNhbiBlaXRoZXIgbGV0 IGNhbGxiYWNrIGhhbmRsZSBleHBlY3RlZCB2YWx1ZXMgaXRzZWxmIGJ5IGhhdmluZw0KPiA+Pj4+ IGFuIG9wYXF1ZSBjYWxsYmFjay1zcGVjaWZpYyBhcmd1bWVudCAod2hpY2ggbWVhbnMgaXQgaGFz IHRvIHBlcnNpc3QNCj4gPj4+PiBiZXR3ZWVuIC5nZXRfbW9uaXRvcl9hZGRyKCkgYW5kIHJ0ZV9w b3dlcl9tb25pdG9yKCkgY2FsbHMpLA0KPiA+Pj4NCj4gPj4+IEJ1dCB0aGF0J3Mgd2hhdCB3ZSBk b2luZyBhbHJlYWR5IC0gUE1EIGZpbGxzIHJ0ZV9wb3dlcl9tb25pdG9yX2NvbmQgdmFsdWVzDQo+ ID4+PiBmb3IgdXMsIHdlIHN0b3JlIHRoZW0gc29tZXdoZXJlIGFuZCB0aGVuIHVzZSB0aGVtIHRv IGRlY2lkZSBzaG91bGQgd2UgZ28gdG8gc2xlZXAgb3Igbm90Lg0KPiA+Pj4gQWxsIGNhbGxiYWNr IGRvZXMgLSBtb3ZlcyBhY3R1YWwgdmFsdWVzIGludGVycHJldGF0aW9uIGJhY2sgdG8gUE1EOg0K PiA+Pj4gUmlnaHQgbm93Og0KPiA+Pj4gUE1EOiAgICAgIHByb3ZpZGUgUE1DIHZhbHVlcw0KPiA+ Pj4gUE9XRVI6IHN0b3JlIFBNQyB2YWx1ZXMgc29tZXdoZXJlDQo+ID4+PiAgICAgICAgICAgICAg ICAgICByZWFkIHRoZSB2YWx1ZSBhdCBhZGRyZXNzIHByb3ZpZGVkIGluIFBNQw0KPiA+Pj4gICAg ICAgICAgICAgICAgICAgaW50ZXJwcmV0IFBNQyB2YWx1ZXMgYW5kIG5ld2x5IHJlYWQgdmFsdWUg YW5kIG1ha2UgdGhlIGRlY2lzaW9uDQo+ID4+Pg0KPiA+Pj4gV2l0aCBjYWxsYmFjazoNCj4gPj4+ IFBNRDogICAgICBwcm92aWRlIFBNQyB2YWx1ZXMNCj4gPj4+IFBPV0VSOiBzdG9yZSBQTUMgdmFs dWVzIHNvbWV3aGVyZQ0KPiA+Pj4gICAgICAgICAgICAgICAgICAgcmVhZCB0aGUgdmFsdWUgYXQg YWRkcmVzcyBwcm92aWRlZCBpbiBQTUMNCj4gPj4+IFBNRDogICAgICBpbnRlcnByZXQgUE1DIHZh bHVlcyBhbmQgbmV3bHkgcmVhZCB2YWx1ZSBhbmQgbWFrZSB0aGUgZGVjaXNpb24NCj4gPj4+DQo+ ID4+PiBPciBkaWQgeW91IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudCBoZXJlPw0KPiA+Pj4NCj4g Pj4+PiBvciB3ZSBkbyB0aGUNCj4gPj4+PiBjb21wYXJpc29ucyBpbnNpZGUgcnRlX3Bvd2VyX21v bml0b3IoKSwgYW5kIHN0b3JlIHRoZSBleHBlY3RlZC9tYXNrDQo+ID4+Pj4gdmFsdWVzIGluIHRo ZSBtb25pdG9yIGNvbmRpdGlvbiwgYW5kICpkb24ndCogaGF2ZSBhbnkgY2FsbGJhY2tzIGF0IGFs bC4NCj4gPj4+PiBBcmUgeW91IHN1Z2dlc3RpbmcgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIGFib3Zl IHR3byBvcHRpb25zPw0KPiA+Pj4NCj4gPj4+IEFzIEkgc2FpZCBpbiBteSBmaXJzdCBtYWlsIC0g d2UgY2FuIGp1c3QgcmVwbGFjZSAnaW52ZXJzZScgd2l0aCAnb3AnLg0KPiA+Pj4gVGhhdCBhdCBs ZWFzdCB3aWxsIG1ha2UgdGhpcyBBUEkgZXh0ZW5kYWJsZSwgaWYgc29tZW9uZSB3aWxsIG5lZWQN Cj4gPj4+IHNvbWV0aGluZyBkaWZmZXJlbnQgaW4gZnV0dXJlLg0KPiA+Pj4NCj4gPj4+IEFub3Ro ZXIgb3B0aW9uIGlzDQo+ID4+DQo+ID4+IFJpZ2h0LCBzbyB0aGUgaWRlYSBpcyBzdG9yZSB0aGUg UE1ELXNwZWNpZmljIGRhdGEgaW4gdGhlIG1vbml0b3INCj4gPj4gY29uZGl0aW9uLCBhbmQgbGVh dmUgaXQgdG8gdGhlIGNhbGxiYWNrIHRvIGludGVycHJldCBpdC4NCj4gPj4NCj4gPj4gVGhlIG9i dmlvdXMgcXVlc3Rpb24gdGhlbiBpcywgaG93IG1hbnkgdmFsdWVzIGlzIGVub3VnaD8gVHdvPyBU aHJlZT8NCj4gPj4gRm91cj8gVGhpcyBvcHRpb24gZG9lc24ndCByZWFsbHkgc29sdmUgdGhlIGJh c2ljIGlzc3VlLCBpdCBqdXN0IGtpY2tzDQo+ID4+IHRoZSBjYW4gZG93biB0aGUgcm9hZC4gSSBn dWVzcyB0aHJlZSB2YWx1ZXMgc2hvdWxkIGJlIGVub3VnaCBmb3INCj4gPj4gZXZlcnlvbmUgKHRt KSA/IDpEDQo+ID4+DQo+ID4+IEkgZG9uJ3QgbGlrZSB0aGUgJ29wJyB0aGluZyBiZWNhdXNlIGlm IHRoZSBnb2FsIGlzIHRvIGJlIGZsZXhpYmxlLCBpdCdzDQo+ID4+IHVubmVjZXNzYXJpbHkgbGlt aXRpbmcgKmFuZCogbWFrZXMgdGhlIEFQSSBldmVuIG1vcmUgY29tcGxleCB0byB1c2UuIEkNCj4g Pj4gd291bGQgcmF0aGVyIGhhdmUgYSBudW1iZXIgb2YgUE1ELXNwZWNpZmljIHZhbHVlcyBhbmQg bGVhdmUgaXQgdXAgdG8gdGhlDQo+ID4+IGNhbGxiYWNrIHRvIGludGVycHJldCB0aGVtLCBiZWNh dXNlIGF0IGxlYXN0IHRoYXQgd2F5IHdlJ3JlIG5vdCBsaW1pdGVkDQo+ID4+IHRvIHByZWRlZmlu ZWQgb3BlcmF0aW9ucyBvbiB0aGUgbW9uaXRvciBjb25kaXRpb24gZGF0YS4NCj4gPg0KPiA+IEp1 c3QgdG8gbWFrZSBzdXJlIHdlIGFyZSB0YWxraW5nIGFib3V0IHRoZSBzYW1lLCBkb2VzIHdoYXQg eW91IHByb3Bvc2UNCj4gPiBsb29rcyBsaWtlIHRoYXQ6DQo+ID4NCj4gPiAgIHN0cnVjdCBydGVf cG93ZXJfbW9uaXRvcl9jb25kIHsNCj4gPiAgICAgICAgICB2b2xhdGlsZSB2b2lkICphZGRyOyAg LyoqPCBBZGRyZXNzIHRvIG1vbml0b3IgZm9yIGNoYW5nZXMgKi8NCj4gPiAgICAgICAgICB1aW50 OF90IHNpemU7ICAgIC8qKjwgRGF0YSBzaXplIChpbiBieXRlcykgdGhhdCB3aWxsIGJlIHVzZWQg dG8gY29tcGFyZQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBleHBlY3RlZCB2 YWx1ZSAoYHZhbGApIHdpdGggZGF0YSByZWFkIGZyb20gdGhlDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKiAgIG1vbml0b3JlZCBtZW1vcnkgbG9jYXRpb24gKGBhZGRyYCkuIENhbiBi ZSAxLCAyLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICA0LCBvciA4LiBTdXBw bHlpbmcgYW55IG90aGVyIHZhbHVlIHdpbGwgcmVzdWx0IGluDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKiAgIGFuIGVycm9yLg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICovDQo+ID4gICAgICAgICAgaW50ICgqY21wKSh1aW50NjRfdCByZWFsX3ZhbHVlLCBjb25zdCB1 aW50NjRfdCBvcGFxdWVbNF0pOw0KPiA+ICAgICAgICAgIHVpbnQ2NF90IG9wYXF1ZVs0XTsgIC8q UE1EIHNwZWNpZmljIGRhdGEsIHVzZWQgYnkgY29tcGFyaXNvbiBjYWxsLWJhY2sgYmVsb3cgKi8N Cj4gPiB9Ow0KPiA+DQo+ID4gQW5kIHRoZW4gaW4gcnRlX3Bvd2VyX21vbml0b3IoKToNCj4gPiAu Li4NCj4gPiB1aW50NjRfdCBjdXJfdmFsdWUgPSBfX2dldF91bXdhaXRfdmFsKHBtYy0+YWRkciwg cG1jLT5zaXplKTsNCj4gPiBpZiAocG1jLT5jbXAoY3VyX3ZhbHVlLCBwbWMtPm9wYXF1ZSkgIT0g MCkgew0KPiA+ICAgICAgLyogZ290byBzbGVlcCAqLw0KPiA+IH0NCj4gPg0KPiA+ID8NCj4gPg0K PiANCj4gU29tZXRoaW5nIGxpa2UgdGhhdCwgeWVzLg0KPiANCg0KU2VlbXMgcmVhc29uYWJsZSB0 byBtZS4NClRoYW5rcw0KS29uc3RhbnRpbg0K