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 9C9E5A00BE; Sun, 15 May 2022 14:39:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8113940A79; Sun, 15 May 2022 14:39:38 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70087.outbound.protection.outlook.com [40.107.7.87]) by mails.dpdk.org (Postfix) with ESMTP id 8176740143 for ; Sun, 15 May 2022 14:39:36 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ceRF0Ty0msOX8pxnYXA6vCOnFHbigaq97m1tNto+PRwI25vO8IEVah1/yKC3JPR2EosFqD/uonj41kPvjOBsLX0gAnqSDaPHADjuopDBVYA6rwTkzAAgDDkxzEnSMBr9cn6kPCsFf94XR99udNrM6mnuma0+CJCEYiWRTXQZYg+MZR8l9vry/8/zliTWZm9fHhGwxcCTJemNkyf3A1pFTK9TqBFQ9xxBmY27Bkb+JWGXZDC+wC6dtAwr0reXXLx8y7LRYcUP9+w3zlqK5NAHs+O8AgNlTgIu11yNtMzYXsC94KdAzfJSwLQQiFK1YMotMRlwGg+U3ZauU6jGqz74eg== 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=SRFVc3wzF+JKsykAwmb5pmdN85eSKFB2NEZA9jFMEUU=; b=F0JvncT2bq9uPhOecHLludZ562l2IJfBK9Wvvyu5NfF2p0TJ6nhcWN5qdkPObOf11Cuz13duuoba3nhqxfGOCwk/0suFW4ef/ICakzGA0tQLndyTVTQzM7TxVlBjUR5+8kYR7bDpjYIEISAHQdv9z19siG63QiAvXkx9q+IoPDjVQpC/9M4eq9Rm/i+eu7O2RF+8cVyI8ZrYe5No9VPEgg+ufpfcn5onj6epD9Z3aOVe8VM6sAUt56E5GvUB2k4i5VablLX9C5hHH3C0X5alq1ki5su8CpdRMn732sYrTCwR3177vVSqFNlqDURHz1PhB52Ql1U5NukneArj3IebPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SRFVc3wzF+JKsykAwmb5pmdN85eSKFB2NEZA9jFMEUU=; b=hqUTTHtQ4OCBeD7CcufvKcDaxfckOWORz71JMA+QY/0N7mq7RVF+CzD3FEI48KFcc02mr3T31OB2LEXGlFmve61rlOlGHOe1Lk7GBtAmElxWwnfKM5OYJTfnQwaI1z3MrgYWVD31K9yiAiB1yVBnAc1OatL1Q3HX0Hh0kbfGQuE= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by HE1PR0701MB2378.eurprd07.prod.outlook.com (2603:10a6:3:75::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.12; Sun, 15 May 2022 12:39:34 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::5c39:e6ec:f2ca:a620]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::5c39:e6ec:f2ca:a620%6]) with mapi id 15.20.5273.012; Sun, 15 May 2022 12:39:34 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Thomas Monjalon , David Marchand CC: "dev@dpdk.org" , Onar Olsen , "Honnappa.Nagarahalli@arm.com" , "nd@arm.com" , "konstantin.ananyev@intel.com" , "mb@smartsharesystems.com" , "stephen@networkplumber.org" , "hofors@lysator.liu.se" , Chengwen Feng , Ola Liljedahl Subject: Re: [PATCH v7] eal: add seqlock Thread-Topic: [PATCH v7] eal: add seqlock Thread-Index: AQHYaFbKzLekKWKkOEWh5fczeINdyq0f4P0A Date: Sun, 15 May 2022 12:39:34 +0000 Message-ID: References: <20220513103820.3e34fcb9@hermes.local> <20220515122418.335929-1-mattias.ronnblom@ericsson.com> In-Reply-To: <20220515122418.335929-1-mattias.ronnblom@ericsson.com> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4a82e9a3-33ac-493e-11bd-08da366ff764 x-ms-traffictypediagnostic: HE1PR0701MB2378:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8RCLzTfVifznmBIQqpYPPuCTSAqwkuY4l6uVtcFlOmbxK0rTLShMCnOT1jboRt1KkYMquGK1AfC88zwoHn/vnQxqtMcSpt5IpRrj+D01L0ih9d8jHLttbERgOD39DrBeR5iF3R45wHP0rVy5K9wqzI05WPBLRWiGaaRRz8LEnf+Xp5oirdnEbkdehO3xr60HO+m6x31n1jLfYeycmJJYtFPBsGxpajN26CpW0gxWQz6AZm8ty9aVH80PMmeuq9Kvy4S8r5D0yEJUYwZRHIuhO9/or4b5cmnME4FwgrOshJiYPxhDODpG4ceg6VWDNqdJaW+Ki1DgzxeHNz6zWp8RO4HlAVP0UiLtXJgPohq9btjz7OhWPCxKLPBUl0CDR+6ZsEf/yU+BubM7KSuoYZY7xTIUa6veVSuGEX9QKMuOe3EegbUPiOTHNHDEz/Yp/5kyva8UnUeEAx3FQK06PpnwGNAfXNqyIrI9jJXwLi4nKi2nKJDzsIMSD3FyvMMWr44WrnxwUPtdUM9oJGaGFLQ2BkhYzKObbjuiitJb9xFEs5KvYU33J3ghg00pHK/8qYEExycBjSBoPU2jHYzLn2S0VI46pbumgHXZrEffxjVTMpJLame8YIVtGfNuW1WSnvA6pG476kkn8rd2rgyleVfKilq0okTIV0IPUnuSu71Lmb4UlDN2S6f9cntOOZhIkzLnhQjWWvSlHhOdaVxKMAjdzb1NTUOKRbRF31OIiBe13CfwlHK9yVH+2ayHw6Ww8w2Q7M7RcVE1jfc1jSunVxVk1gYU6bFauptprcoSXhjlZ/7icz3oB8FACp34YNh11IhK0nnBif5VqwEsJ1wKR6xwKzJgi85zb6fyZfydhTEb21c= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(82960400001)(66476007)(122000001)(38100700002)(38070700005)(64756008)(4326008)(85202003)(8676002)(66946007)(86362001)(76116006)(66446008)(31696002)(7416002)(5660300002)(966005)(6486002)(91956017)(8936002)(508600001)(2906002)(71200400001)(85182001)(66556008)(53546011)(66574015)(316002)(186003)(83380400001)(6512007)(36756003)(26005)(6506007)(2616005)(54906003)(110136005)(31686004)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WU5wVThOYlcrKy80UTRUT3JJQjliOTk0a1ZLNjF6eFEyZDJNYUIvN2crYU9F?= =?utf-8?B?L3RyOHZSeU85R05zaElTRi9BVEhBMnE2Q1cyejNBTnY3RHZZa2Joanh5NDFh?= =?utf-8?B?Ty9mMFpwT0JjcnZZcy9zUkVVQS9Nb0c0eXdFdWhlQ2VrWm1QQkdVZjY3VkJ1?= =?utf-8?B?OU91Vm9ac0lmOFhURGZWV1krNVhzMzNORnJyY1ZXb3VsSlhvZVBDeDVxc05l?= =?utf-8?B?SDJWNmd3WmJ6dVM2ak5BdjJuRndlNXlxdk5lZXAyaEZicFdEWFRiKytSOC9Q?= =?utf-8?B?TVhleXdySHdmUWsweXdRMUxHOHdHY2oyMkFCNC9PWmpGbVhHUGV3ZEdrL3cr?= =?utf-8?B?Y2FrVjM0SGhjTmNkWlR1c2JPRzFQVmZvNkh1OW91ckpmNkpObzhXWm9xZ3pB?= =?utf-8?B?NTF5MEtXUDh2QkdybTRncThrWkhDcHNKNU5BcDVRSmc0ajhkUFZsbkUyUkxO?= =?utf-8?B?dmQ1UXZ5ZmNDS3JOclZXNWlxaTJwZUNUem0rV08xM3RuSm01T0tsSFEybGh6?= =?utf-8?B?VnIxZjQwbjQzUlZQTW1jZUNSWllRcC9xNUhhdEJvcnE2cEplTnVJNnJEd2t3?= =?utf-8?B?WGltZURHSU8xZ01MZUJabzZFWFVNM09KYzlFNDJZVlpkMEcvM0FRVXVDSXRX?= =?utf-8?B?NHlTOTN5ZGM5RmFlTnB0Vkh5NVg0Wk1UT01JbThkeHpjalZJWW1QSEFTaXZP?= =?utf-8?B?UldORmpWQUg0VlVWRUJ2UmNZQ1BiVmFDQTdxOE1MNnVoc1VFZmRSVDQ0MVdQ?= =?utf-8?B?TnBPaGFVZjI2Um80clo2ZXluVGdXU1M4LzF5MHZoYjRBaGpBZlRORFRkemU1?= =?utf-8?B?NXVLek1ldllLdHljRFM2dC8ySVk4RmpjZW9tUmFPWlNESWx3V1VEZXRYcWcx?= =?utf-8?B?L3JIWU4ra1lQbVFRcDQ5c2E1U1FuZi9sNUw5NXhNZERPVGdSRklFNFhRRjVY?= =?utf-8?B?dlhtNWE4M1hKU1lLV0NVa1R2VzR2N1hFckdJcUFRM01MNkNzVE1nZDBmbS9j?= =?utf-8?B?ZGtJWFhFN3dJR3hJUjV0WUN0K3ltN2VDRys3V0JTandPc3ArUjBJZnlYNUls?= =?utf-8?B?eVNFcDRqQUJ6VEl2YmM5SXo5OEpnR2pzVDhOd09PVFNqcEdiZ3plZW1WcHBM?= =?utf-8?B?dUt0WGxLbDJhbmFRTGF6ei9iUzdnREN4RlpVOWRkQWIwZkFDNGMzT0l2c0Mv?= =?utf-8?B?OCs0UzBkVVlBcE1LZUp2Z25IMmM3eTRXZGdjMUhoZ21IUytqdlNzRGpoUDYz?= =?utf-8?B?S0ZaK1JpV0t3ajRlUTRWQ1h0VzFmbXJUbHB3U0hVSDJpVGo0ek9MZzRqOUk1?= =?utf-8?B?N1pPVTRsY2ZKUmZRalRMYWhzUHlWSEliSWNYWGNDYTVqcmU5Q2Q4ZVJtKzJI?= =?utf-8?B?MngzVnBiaC9mOVhneUpSQmJOUGJMRC9Fb1laQzZLdWxRNXU0TWsxQ05TUmpj?= =?utf-8?B?bkJsNFgzemlhVjZVZFYvbXFhemNuVFhtVE9mem0zUXp0cE1yczRZdTZlMDMr?= =?utf-8?B?NFVvSkZSanRoQkZYeVFtR0J0NXFkMytZWHF0NnNqakxjaE56YmYxR0t3dmdL?= =?utf-8?B?Y1g1VWdRTXdYd1JqWWE3RmdNTU5SRVl2R2JmaUppZVV6VG42SyszSExMZ3hO?= =?utf-8?B?VUVkdDRGZGhKQXNObWl0M1lYQTZVWDZxQVVQY2p3ZTYvRWZIQ08vbC9Od3dC?= =?utf-8?B?Vkd0aXdIcWIrVkRiNFhDUUNseld6Vll1a1ZGQ1hiSm5ndlN0OS8vcGxSYzMv?= =?utf-8?B?TEkrRXR1cDJIZVFleC9jUHc1SEhNWS9odzhpSFd0Q2RaTUgxcG0rVExqRER6?= =?utf-8?B?VEt6dmhyY3BKTmdSUlV6aGN4M2tCMzN6azFnb0UzQS9RMFc2US85eHBSUXVQ?= =?utf-8?B?R1g5S3dabm5XUGt3NWxJMllQWnNnUGxzcytTcDNPVHIxcVVBMGtpWGJnQk8x?= =?utf-8?B?bkJ3YWpuM0F3NjZHMVpMYnUzcUF5cG1LOW1FZGt0VlhqTUNpWkdSTXFEQWUv?= =?utf-8?B?MjUrQlIxc25iaDlGVHdGVU5ZRHVsWVVZOXkzTWtESHRxbGtQa2lPcEIxQ09N?= =?utf-8?B?cWg3bmFXVnFmLys0Qkl1R0F5UVJ0MW5GU1FEVWRWNmJZaytNOUhpMW5jcTFF?= =?utf-8?B?MnJOYTZZL3ZiaSsvcHJzYXNZK3Rpd21xMnNUOWRCdm9lY2V3NGJvMWN1YUN5?= =?utf-8?B?aFpEL1cxZlNZdHlqeml2bGNpWUt4Sk1BTkFQS1JNVklIelZGV0JvZWk2Y1ZR?= =?utf-8?B?WGR3ZFZNVXhDMUlHOTRvdFZYWVV1bklCMmYzYjZRVXRZUUZ2TXZlbGorb2ZQ?= =?utf-8?B?c3NFaG1VdnpTT3BxcDRFaWd2LzdRZWJQaGs4MW5vVjBneWs1cGZVSTZkR20x?= =?utf-8?Q?v/NGIpDs9rzpplRY=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <5B5B01ED857CA7468B14DB87864A9E6A@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4a82e9a3-33ac-493e-11bd-08da366ff764 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2022 12:39:34.5834 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6chP1O8O/a17WewgLUtYkEUtZoWGqzdwc+KadWXLdbHoa/lyjc7FCAHgPexcnXqZXzjAQfcK2Wliccucc6VRTvWW3u/l4fPRk7TJ0Pzdb9Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2378 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 T24gMjAyMi0wNS0xNSAxNDoyNCwgTWF0dGlhcyBSw7ZubmJsb20gd3JvdGU6DQo+IEEgc2VxdWVu Y2UgbG9jayAoc2VxbG9jaykgaXMgYSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlIHdoaWNoIGFs bG93cw0KPiBmb3IgZGF0YS1yYWNlIGZyZWUsIGxvdy1vdmVyaGVhZCwgaGlnaC1mcmVxdWVuY3kg cmVhZHMsIHN1aXRhYmxlIGZvcg0KPiBkYXRhIHN0cnVjdHVyZXMgc2hhcmVkIGFjcm9zcyBtYW55 IGNvcmVzIGFuZCB3aGljaCBhcmUgdXBkYXRlZA0KPiByZWxhdGl2ZWx5IGluZnJlcXVlbnRseS4N Cj4gDQo+IEEgc2VxbG9jayBwZXJtaXRzIG11bHRpcGxlIHBhcmFsbGVsIHJlYWRlcnMuIEEgc3Bp bmxvY2sgaXMgdXNlZCB0bw0KPiBzZXJpYWxpemUgd3JpdGVycy4gSW4gY2FzZXMgd2hlcmUgdGhl cmUgaXMgb25seSBhIHNpbmdsZSB3cml0ZXIsIG9yDQo+IHdyaXRlci13cml0ZXIgc3luY2hyb25p emF0aW9uIGlzIGRvbmUgYnkgc29tZSBleHRlcm5hbCBtZWFucywgdGhlDQo+ICJyYXciIHNlcXVl bmNlIGNvdW50ZXIgdHlwZSAoYW5kIGFjY29tcGFueWluZyBydGVfc2VxY291bnRfKigpDQo+IGZ1 bmN0aW9ucykgbWF5IGJlIHVzZWQgaW5zdGVhZC4NCj4gDQo+IFRvIGF2b2lkIHJlc291cmNlIHJl Y2xhbWF0aW9uIGFuZCBvdGhlciBpc3N1ZXMsIHRoZSBkYXRhIHByb3RlY3RlZCBieQ0KPiBhIHNl cWxvY2sgaXMgYmVzdCBvZmYgYmVpbmcgc2VsZi1jb250YWluZWQgKGkuZS4sIG5vIHBvaW50ZXJz IFtleGNlcHQNCj4gdG8gY29uc3RhbnQgZGF0YV0pLg0KPiANCj4gT25lIHdheSB0byB0aGluayBh Ym91dCBzZXFsb2NrcyBpcyB0aGF0IHRoZXkgcHJvdmlkZSBtZWFucyB0byBwZXJmb3JtDQo+IGF0 b21pYyBvcGVyYXRpb25zIG9uIGRhdGEgb2JqZWN0cyBsYXJnZXIgdGhhbiB3aGF0IHRoZSBuYXRp dmUgYXRvbWljDQo+IG1hY2hpbmUgaW5zdHJ1Y3Rpb25zIGFsbG93IGZvci4NCj4gDQo+IERQREsg c2VxbG9ja3MgKGFuZCB0aGUgdW5kZXJseWluZyBzZXF1ZW5jZSBjb3VudGVycykgYXJlIG5vdA0K PiBwcmVlbXB0aW9uIHNhZmUgb24gdGhlIHdyaXRlciBzaWRlLiBBIHRocmVhZCBwcmVlbXB0aW9u IGFmZmVjdHMNCj4gcGVyZm9ybWFuY2UsIG5vdCBjb3JyZWN0bmVzcy4NCj4gDQo+IEEgc2VxbG9j ayBjb250YWlucyBhIHNlcXVlbmNlIG51bWJlciwgd2hpY2ggY2FuIGJlIHRob3VnaHQgb2YgYXMg dGhlDQo+IGdlbmVyYXRpb24gb2YgdGhlIGRhdGEgaXQgcHJvdGVjdHMuDQo+IA0KPiBBIHJlYWRl ciB3aWxsDQo+ICAgIDEuIExvYWQgdGhlIHNlcXVlbmNlIG51bWJlciAoc24pLg0KPiAgICAyLiBM b2FkLCBpbiBhcmJpdHJhcnkgb3JkZXIsIHRoZSBzZXFsb2NrLXByb3RlY3RlZCBkYXRhLg0KPiAg ICAzLiBMb2FkIHRoZSBzbiBhZ2Fpbi4NCj4gICAgNC4gQ2hlY2sgaWYgdGhlIGZpcnN0IGFuZCBz ZWNvbmQgc24gYXJlIGVxdWFsLCBhbmQgZXZlbiBudW1iZXJlZC4NCj4gICAgICAgSWYgdGhleSBh cmUgbm90LCBkaXNjYXJkIHRoZSBsb2FkZWQgZGF0YSwgYW5kIHJlc3RhcnQgZnJvbSAxLg0KPiAN Cj4gVGhlIGZpcnN0IHRocmVlIHN0ZXBzIG5lZWQgdG8gYmUgb3JkZXJlZCB1c2luZyBzdWl0YWJs ZSBtZW1vcnkgZmVuY2VzLg0KPiANCj4gQSB3cml0ZXIgd2lsbA0KPiAgICAxLiBUYWtlIHRoZSBz cGlubG9jaywgdG8gc2VyaWFsaXplIHdyaXRlciBhY2Nlc3MuDQo+ICAgIDIuIExvYWQgdGhlIHNu Lg0KPiAgICAzLiBTdG9yZSB0aGUgb3JpZ2luYWwgc24gKyAxIGFzIHRoZSBuZXcgc24uDQo+ICAg IDQuIFBlcmZvcm0gbG9hZCBhbmQgc3RvcmVzIHRvIHRoZSBzZXFsb2NrLXByb3RlY3RlZCBkYXRh Lg0KPiAgICA1LiBTdG9yZSB0aGUgb3JpZ2luYWwgc24gKyAyIGFzIHRoZSBuZXcgc24uDQo+ICAg IDYuIFJlbGVhc2UgdGhlIHNwaW5sb2NrLg0KPiANCj4gUHJvcGVyIG1lbW9yeSBmZW5jaW5nIGlz IHJlcXVpcmVkIHRvIG1ha2Ugc3VyZSB0aGUgZmlyc3Qgc24gc3RvcmUsIHRoZQ0KPiBkYXRhIHN0 b3JlcywgYW5kIHRoZSBzZWNvbmQgc24gc3RvcmUgYXBwZWFyIHRvIHRoZSByZWFkZXIgaW4gdGhl DQo+IG1lbnRpb25lZCBvcmRlci4NCj4gDQo+IFRoZSBzbiBsb2FkcyBhbmQgc3RvcmVzIG11c3Qg YmUgYXRvbWljLCBidXQgdGhlIGRhdGEgbG9hZHMgYW5kIHN0b3Jlcw0KPiBuZWVkIG5vdCBiZS4N Cj4gDQo+IFRoZSBvcmlnaW5hbCBzZXFsb2NrIGRlc2lnbiBhbmQgaW1wbGVtZW50YXRpb24gd2Fz IGRvbmUgYnkgU3RlcGhlbg0KPiBIZW1taW5nZXIuIFRoaXMgaXMgYW4gaW5kZXBlbmRlbnQgaW1w bGVtZW50YXRpb24sIHVzaW5nIEMxMSBhdG9taWNzLg0KPiANCj4gRm9yIG1vcmUgaW5mb3JtYXRp b24gb24gc2VxbG9ja3MsIHNlZQ0KPiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TZXFs b2NrDQo+IA0KPiAtLS0NCj4gDQoNCkEgbm90ZSB0byBwcmV2aW91cyByZXZpZXdlcnM6IFRoaXMg c3BsaXQgb2Ygc2VxbG9jayBpbnRvIA0Kc2VxY291bnQrc2VxbG9jayBhc3N1bWVzIHRoYXQgdGhl IHNwaW5sb2NrIGxvY2svdW5sb2NrIGNhbGxzIHByb3ZpZGVkIG5vIA0KYWRkaXRpb25hbCBmdW5j dGlvbmFsaXR5IGluIHJlZ2FyZHMgdG8gTVQgc2FmZXR5LCB0aGFuIHdyaXRlci13cml0ZXIgDQpz ZXJpYWxpemF0aW9uLiBJIGJlbGlldmUgdGhhdCB0byBiZSB0aGUgY2FzZSwgYnV0IEkgd291bGQg ZmVlbCBtb3JlIA0KY29tZm9ydGFibGUgaWYgc29tZW9uZSBlbHNlIHJlLXJldmlld2VkIHRoaXMg Y29kZSB3aXRoIHRoaXMgaW4gbWluZC4NCg0KVHdvIHF1ZXN0aW9ucyByZW1haW46DQoNCjEpIFNo b3VsZCB0aGUgc2VxbG9jayBhbmQgdGhlIHNlcWNvdW50IHJlc2lkZSBpbiBkaWZmZXJlbnQgaGVh ZGVyIGZpbGVzPw0KMikgSXMgaXQgaXQgZ29vZCBlbm91Z2ggdG8gcHJvdmlkZWQgb25seSBhIHNw aW5sb2NrLXByb3RlY3RlZCBzZXFsb2NrPw0KDQpRdWVzdGlvbiAxIEkgZG9uJ3QgcmVhbGx5IGhh dmUgYW4gb3BpbmlvbiBvbi4gQm90aCB3YXlzIHNlZW1zIHBlcmZlY3RseSANCnJlYXNvbmFibGUg dG8gbWUuIEkgbm90ZWQgTW9ydGVuIHdhbnRlZCBhIHNwbGl0LCBhbmQgbGVmdCB0byBteSBvd24g DQpkZXZpY2VzIHRoaXMgaXMgcHJvYmFibHkgd2hhdCBJIHdvdWxkIGRvIGFzIHdlbGwuDQoNCkkg dGhpbmsgdGhlIGFuc3dlciB0byAyIGlzIHllcy4gV2UgY2FuIHByb3ZpZGUgb3RoZXIgdmFyaWFu dHMgaW4gdGhlIA0KZnV0dXJlLCB3b3VsZCB0aGUgbmVlZCBhcmlzZS4NCg0KPHNuaXA+DQoNCg==