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 69243A0548; Wed, 1 Jun 2022 11:01:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 59EB840694; Wed, 1 Jun 2022 11:01:57 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2087.outbound.protection.outlook.com [40.107.21.87]) by mails.dpdk.org (Postfix) with ESMTP id 7C66540689 for ; Wed, 1 Jun 2022 11:01:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IbOXdZ/9HrxNFpS/2j9DvGGeJreQtf/LwqVMRodELz2lT5L5djfuk6+brH2+d9DsECcDee656VoD/lUhW7vynOnddRh0yKwVjRCBvWeOkaSiw7wFlgC6l97PJ1+PX4P0l+bOaiPjEy24vNOARFUkp882YdXdTEupwNPtXmbDkprWFVHbQVtoICvv8xrrDakMUcvdxolJTjzslEj1flNy3tzlcx5uLrK/dPGQQHJVLUo8K3GsUVrUF7b457k8JpDm3qWiUQkC9Yrk08j7vqFrGEmygwqX/77Yc9paDpx2xcJLtE23D6xk8JOr0RC0EOu78hXkXpsTdJ0fz8YcGE6wGA== 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=+cTDtTf3M1/CsKHHM8RTA+LnzUELb44yvjQV0bffeuA=; b=lbxcO7iiayUSUdN2FEW25abur7EE3373fbjVUSn6eeFnHsuPsibvxTgF/kSl8MbUs5MlNVFD1g1/xwzEQ4r+40fP1dEzWTDPv0Yq0h6d3AOAjpqGoaxvEz14ursKHWBXe35mR6N5S17gFYZbvVC6I+b0wbGNweGiwd0f37zE4igxlsUB9civlfnnxVukMUb4/1iszJtmggp6R8cBYAY/vGDHM+IWLEiwNWEUnxmCgk+R+yRAzz/NmO9g+agWht0vRpH5hbXSlgYESssLcJAQH2CrxCtdC/q+Piw073S/nX84dJpHFFGphWWQnls88bqNr/0KiU39TjENCxHTVrdX9Q== 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=+cTDtTf3M1/CsKHHM8RTA+LnzUELb44yvjQV0bffeuA=; b=G23+A2gffybqPcImDoMwn0/SVZT50tx/qXQDmSt2Muue+XSpLDzHFm2yKxdHMS9CG9coj8h399n/Oqqc0vBpt9i/Am9ZYNAFft0BttvXdYZUWADcjbGhxF8dix9o/EZsJl75Do2vh1nY/j53hxxVR/227MxW3LjzRNi1dv+QG60= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by VI1PR07MB4270.eurprd07.prod.outlook.com (2603:10a6:802:62::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.7; Wed, 1 Jun 2022 09:01:53 +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.5314.012; Wed, 1 Jun 2022 09:01:53 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: David Marchand CC: Thomas Monjalon , dev , Onar Olsen , Honnappa Nagarahalli , nd , "Ananyev, Konstantin" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Stephen Hemminger , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , Chengwen Feng , Ola Liljedahl Subject: Re: [PATCH v9] eal: add seqlock Thread-Topic: [PATCH v9] eal: add seqlock Thread-Index: AQHYbrDMkBknBqppsUO/zYZcJ0Y8iK047IgAgAFiloA= Date: Wed, 1 Jun 2022 09:01:53 +0000 Message-ID: <82725a22-d257-223d-2c84-b2f5270a6356@ericsson.com> References: <20220523113111.366599-1-mattias.ronnblom@ericsson.com> <20220523142346.366902-1-mattias.ronnblom@ericsson.com> In-Reply-To: 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.9.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: 1ec39987-7cef-444b-c1c8-08da43ad5f84 x-ms-traffictypediagnostic: VI1PR07MB4270: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: jrzjK+ZHVp/zhVNj/hpuqzXisObF1e2zGe8CT1UF2GEkaMxyOhEECeeSa5jnS3ER996jENTz8yhs79uU+h3IMEi5mIangSPGEWIBfV1/C7LhpoMI7hQ4mLjNyDUK3jH7R0s/cZXjILgXQOytVPKu8/PMjMp4G8oUos+NCrSGi5G564qbOrfa4tjaPtw0TD36UVEZ4VGyYK3UNIr3rHoU0CIe0bUztNCO+dQkUdfdFEGuBsErs0IH2OSrRVDwccxlR3Fwo9eTNqmibbeqYPg58AUfFaCrA/edJNbf4VZFKZhwRetUz95MvxE1nVA8rDS9QemVA7Cm4XoCfk0V+uIMRMTXRfFueaodsh1t+Yc9fwxWLexMI9QNZzEx8nLgw31M64ri5YV7Zy/0zC8i5OQQ3NzKHwRwBmY4yE0L6fFk+YLhxqQqLFvNdJUX2VCLBAvH4LHtsstfi+lvTYWJY9i/Tv1JYqpOZn7C8kU4t/r4/1B8OOkOsfcs36nh7dyEC2EQQQ2uuVaPR6AWtl3UXUemfS5ep3NK35Bgd0L+gZ+wove9OlF4QJqEvxzEXQCnBJjSUThYH7rGJGNyzGE2M3TNd7fM5w37NCNhdlT/EJPh1ype9+BCag58qiLhzdyyRVqhsg4FiqqAtoKpP6111du6uvXfjTBuDXgQFzkDf13GreumBBcm0HedEDt10wvmC/ZEvz+jDQSsqHmerfOB/PCKcj9QtDy8TSkM2Ris48yJAY0Dp9osy5NN4RaFWCZBpL+s/7zpNOZup1mvjQpI9pxWn42nRIV2CXD6wQl8VaJyHg3PYlzEPp9LKOSx+VKt5TITiLgfA41Q9U6Hvis64HsFOB4tgM7trKKf4mKufRSCKq+sLU7oCsQyxCZsS70wwJfSgXAgiKnRe+Vmb7zznjm1Cnw/c7VgYdanlQx9LwzcRBrL/EgByC+abFJDMwjJjOHn 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)(85182001)(31696002)(5660300002)(83380400001)(966005)(2616005)(85202003)(66574015)(316002)(31686004)(36756003)(6486002)(6916009)(86362001)(186003)(38070700005)(38100700002)(82960400001)(2906002)(7416002)(66476007)(66446008)(66556008)(122000001)(508600001)(64756008)(8936002)(66946007)(71200400001)(8676002)(6512007)(53546011)(26005)(76116006)(91956017)(6506007)(54906003)(4326008)(45980500001)(43740500002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWVJR052cmxFOVMwSUpGUEx1aml3WTJ6bFR6ZVIyUFcvc0pLMTMzQzF5cVVP?= =?utf-8?B?cTdGc1lIcFlTZ25OTFdUWElEakhlZTdGTEVNT003RTNaa2tXNmdoUUd1QzFI?= =?utf-8?B?Qys4b2xhWGQvTzlaYnQwVkVQdXdFSmdBWUdSRndzUFdxMDN5dytVL2s0NEZH?= =?utf-8?B?RExXM2ZIR0Z5QThEY3RNOUJJMnFMUjd1ZXlCbHBlZFJvSmJoUFI1VncwLytt?= =?utf-8?B?NU1mQ3VDVjBaZ2hLZVc5MjdhanE3VUlwZk9jRGIxbGdZZUtwQko5U0hHNjMx?= =?utf-8?B?RlhFWEJPZW8wcGpPQTh1TVVyekY3dmlzL1ZmU0hNb1Y3NXhySnloNnNVYmMw?= =?utf-8?B?RjRQT2d4RWl0b3d4STVSOGtpVnpaU2FtVmxQb2NNY0RVc0Naa0ZQb3lxaStr?= =?utf-8?B?RjRVckxhaVNEektEVmh5cnZyRWpnb0ZxWHpwUDlmYTBPZDE3TVpkSmxoVHZr?= =?utf-8?B?OURDemRzYUxKMXVRZllKTDdRZzFpTGMvOGJTaFdsQXRrUzZib21lY2NJT25O?= =?utf-8?B?QkZMZTY5RmVjSkpXZlgyZVBjN3FTUTF4eFdpWVoyUDVwM3E0amlNWlFlSjl6?= =?utf-8?B?bTM1TGdOZ0lSY0xnN1NqRGtENWRaRTZGQlBFNmZJTGJyYjdVUFZseHRXWkNq?= =?utf-8?B?RXUwSTFVZGd6c09ZZ3c1eFNQR3RzcTVyNGNGQzRhd2Q1enhtYjkyd0xpa0Nv?= =?utf-8?B?YnVZSWJINHZGYmRwbG50YVdNSzRVL2VxYkVMaDVQeFFXTFdXanlSZXJRTUFy?= =?utf-8?B?ZU1CR0ZvZXZhYUJ1Uk1UcU1hQnlMVXpXQ2EvMFpKV1BkRGdabGV2NGpHOWd2?= =?utf-8?B?OTRLQzRsb21EM0o2QWtDVlNoOUtwdDRMY00weEtLbGQrT09XeTAzQXl5VUt4?= =?utf-8?B?MHJ5YS80NHpHKzBEamZScjB2dGdmTDhZRkNFRjNpcTFlNHFXZEpROUZkaXdR?= =?utf-8?B?cWVXTzdSbTdHeFM2SXNBcmVURENnZFhsYzdOMG5OMjZFcHQ1TWxVK1ZSM2pC?= =?utf-8?B?cGt2VzgzMFJhd0FPZ2lTMWdFcG1RUTFjZVNwbWxFQkh2cFlMUmZCcUs1WFFv?= =?utf-8?B?K3lDaFZrMEtUTU9vei9Na1NiUXovdUJxNlV6VGtsd0xxL2FDbS9meVBGUGh5?= =?utf-8?B?aFd0c0hVRmdvaHpmdDRDRGEvenhEcDBmSG5lSFlhTlhyYTlqQytZTUU5aUhp?= =?utf-8?B?NUZqcDRJWEtMMlZ4aGZTUjE3dDgxVlA4SEJpdTFLNUFoZWpJZDNoQXYrTGZk?= =?utf-8?B?Sm5zZHk0UkdmU1pZOFQrUWdIVVBnaUYyVjFDa1NreFhqTnJnMG1QWVNqaGRE?= =?utf-8?B?Z1YvVy80ODhUUHlnZThJTFZ4OGRjYUd4bzJPUFB0N0VnYmg5QnRtdXZyelEv?= =?utf-8?B?S2VpVUlsV0k5UEFRTS9JcW9CcXR5UHE2dzBVZzRvajVBUlduNWNyMlJySFE2?= =?utf-8?B?aXRLc0VIcU1FZ0E3TFlQUHdUNURpd0JVSkVWVlhYU0xGMmJVNmJqdkp6U3ZU?= =?utf-8?B?QTFVQjJBSHA2S3JhYXdBdVQwUmQ0aFFZcGJIbm80OUdkRXF4WDlpQjB4T1Q2?= =?utf-8?B?RVM1Y0g5dE5zd2tnakpTdUNEb0RraVZGdjByOVhWaHU3VkFuWHdNNW0xUVpF?= =?utf-8?B?STltV0dCamx4Y3ZGN0tCbjRRRFJSZEs4NUoyemNBUzlVRjVwMUEvMlJ2RVFK?= =?utf-8?B?aWp3cFBvNzZqbksyR2psRXB4ZXRETlVmc2Z0emw1N1QzL0RUQUJncGs5aUlw?= =?utf-8?B?VUR4RVB2YmM1L0Z6NkV2b1BwdlZhVXRyRVJCM3lNcSsraEdOSmh6MDhLbG16?= =?utf-8?B?M1pPUEZaRjFMdUJ0VzVYeVI0aXlsMDBaVk9GUWkvV2l1SjRZalVBOXN4QWhW?= =?utf-8?B?b2RwaU1veENtV2Fsb1E0MnpxTE9OVDg1SDRPdGRZMFdLT3g4N2RZUkxpR3hu?= =?utf-8?B?c2wyL1AwNUVFMUxoMkJyUU9tQTM3blcyYm50bUtVUFJzaGg2YUlGdnhMV1Fi?= =?utf-8?B?SE9EeWJOcENwN2tzNFN3aXBJa2h4dVdNNUxUUWVBMHFpY042bDQ0ZDZkTWhG?= =?utf-8?B?VlJQYm9WZ2Vlb29tSVNxVDhMOVRwdWZmTklBQWxwU3NucTBpYWc0eTFpNmJR?= =?utf-8?B?WXBEOHh6b2E0cFQ3VzJ0U3NjSWNNQzZxSjJLMmw2dTZtcFIxcThsOGU1YXZI?= =?utf-8?B?ZzVQZmdaS3J5RENQSFVpd0ZtVWVoTGs2eTgwTGxCY0VsU0FsUElDeVNQUlVB?= =?utf-8?B?S3hLeUxBRGlTb2RMQ1BFVHE4R3NRejhmelNzMHJHaWd1RVlyQzBLQ0o5QTZp?= =?utf-8?B?QWVMZjdiS0FwR253M0Ntb1ZsdTQ3TDRjRmZyaTFiR3JNMHJaV0tEaHhVcHN0?= =?utf-8?Q?HQjw0OSJQRQPnCe0=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: 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: 1ec39987-7cef-444b-c1c8-08da43ad5f84 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jun 2022 09:01:53.6660 (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: AfGoKcOUTZlmTF+r5FM267QMfl/uEbCX69wEbpnYSIVqbv+4S0fjGKXBE4P8rFKulFK5Y5O3ZcEvHRVARVstPZAb6uB0u3BTpVCCRO9ZmPo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB4270 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 T24gMjAyMi0wNS0zMSAxMzo1MiwgRGF2aWQgTWFyY2hhbmQgd3JvdGU6DQo+IE9uIE1vbiwgTWF5 IDIzLCAyMDIyIGF0IDQ6MjQgUE0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJs b21AZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+DQo+PiBBIHNlcXVlbmNlIGxvY2sgKHNlcWxvY2sp IGlzIGEgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZSB3aGljaCBhbGxvd3MNCj4+IGZvciBkYXRh LXJhY2UgZnJlZSwgbG93LW92ZXJoZWFkLCBoaWdoLWZyZXF1ZW5jeSByZWFkcywgc3VpdGFibGUg Zm9yDQo+PiBkYXRhIHN0cnVjdHVyZXMgc2hhcmVkIGFjcm9zcyBtYW55IGNvcmVzIGFuZCB3aGlj aCBhcmUgdXBkYXRlZA0KPj4gcmVsYXRpdmVseSBpbmZyZXF1ZW50bHkuDQo+Pg0KPj4gQSBzZXFs b2NrIHBlcm1pdHMgbXVsdGlwbGUgcGFyYWxsZWwgcmVhZGVycy4gQSBzcGlubG9jayBpcyB1c2Vk IHRvDQo+PiBzZXJpYWxpemUgd3JpdGVycy4gSW4gY2FzZXMgd2hlcmUgdGhlcmUgaXMgb25seSBh IHNpbmdsZSB3cml0ZXIsIG9yDQo+PiB3cml0ZXItd3JpdGVyIHN5bmNocm9uaXphdGlvbiBpcyBk b25lIGJ5IHNvbWUgZXh0ZXJuYWwgbWVhbnMsIHRoZQ0KPj4gInJhdyIgc2VxdWVuY2UgY291bnRl ciB0eXBlIChhbmQgYWNjb21wYW55aW5nIHJ0ZV9zZXFjb3VudF8qKCkNCj4+IGZ1bmN0aW9ucykg bWF5IGJlIHVzZWQgaW5zdGVhZC4NCj4+DQo+PiBUbyBhdm9pZCByZXNvdXJjZSByZWNsYW1hdGlv biBhbmQgb3RoZXIgaXNzdWVzLCB0aGUgZGF0YSBwcm90ZWN0ZWQgYnkNCj4+IGEgc2VxbG9jayBp cyBiZXN0IG9mZiBiZWluZyBzZWxmLWNvbnRhaW5lZCAoaS5lLiwgbm8gcG9pbnRlcnMgW2V4Y2Vw dA0KPj4gdG8gY29uc3RhbnQgZGF0YV0pLg0KPj4NCj4+IE9uZSB3YXkgdG8gdGhpbmsgYWJvdXQg c2VxbG9ja3MgaXMgdGhhdCB0aGV5IHByb3ZpZGUgbWVhbnMgdG8gcGVyZm9ybQ0KPj4gYXRvbWlj IG9wZXJhdGlvbnMgb24gZGF0YSBvYmplY3RzIGxhcmdlciB0aGFuIHdoYXQgdGhlIG5hdGl2ZSBh dG9taWMNCj4+IG1hY2hpbmUgaW5zdHJ1Y3Rpb25zIGFsbG93IGZvci4NCj4+DQo+PiBEUERLIHNl cWxvY2tzIChhbmQgdGhlIHVuZGVybHlpbmcgc2VxdWVuY2UgY291bnRlcnMpIGFyZSBub3QNCj4+ IHByZWVtcHRpb24gc2FmZSBvbiB0aGUgd3JpdGVyIHNpZGUuIEEgdGhyZWFkIHByZWVtcHRpb24g YWZmZWN0cw0KPj4gcGVyZm9ybWFuY2UsIG5vdCBjb3JyZWN0bmVzcy4NCj4+DQo+PiBBIHNlcWxv Y2sgY29udGFpbnMgYSBzZXF1ZW5jZSBudW1iZXIsIHdoaWNoIGNhbiBiZSB0aG91Z2h0IG9mIGFz IHRoZQ0KPj4gZ2VuZXJhdGlvbiBvZiB0aGUgZGF0YSBpdCBwcm90ZWN0cy4NCj4+DQo+PiBBIHJl YWRlciB3aWxsDQo+PiAgICAxLiBMb2FkIHRoZSBzZXF1ZW5jZSBudW1iZXIgKHNuKS4NCj4+ICAg IDIuIExvYWQsIGluIGFyYml0cmFyeSBvcmRlciwgdGhlIHNlcWxvY2stcHJvdGVjdGVkIGRhdGEu DQo+PiAgICAzLiBMb2FkIHRoZSBzbiBhZ2Fpbi4NCj4+ICAgIDQuIENoZWNrIGlmIHRoZSBmaXJz dCBhbmQgc2Vjb25kIHNuIGFyZSBlcXVhbCwgYW5kIGV2ZW4gbnVtYmVyZWQuDQo+PiAgICAgICBJ ZiB0aGV5IGFyZSBub3QsIGRpc2NhcmQgdGhlIGxvYWRlZCBkYXRhLCBhbmQgcmVzdGFydCBmcm9t IDEuDQo+Pg0KPj4gVGhlIGZpcnN0IHRocmVlIHN0ZXBzIG5lZWQgdG8gYmUgb3JkZXJlZCB1c2lu ZyBzdWl0YWJsZSBtZW1vcnkgZmVuY2VzLg0KPj4NCj4+IEEgd3JpdGVyIHdpbGwNCj4+ICAgIDEu IFRha2UgdGhlIHNwaW5sb2NrLCB0byBzZXJpYWxpemUgd3JpdGVyIGFjY2Vzcy4NCj4+ICAgIDIu IExvYWQgdGhlIHNuLg0KPj4gICAgMy4gU3RvcmUgdGhlIG9yaWdpbmFsIHNuICsgMSBhcyB0aGUg bmV3IHNuLg0KPj4gICAgNC4gUGVyZm9ybSBsb2FkIGFuZCBzdG9yZXMgdG8gdGhlIHNlcWxvY2st cHJvdGVjdGVkIGRhdGEuDQo+PiAgICA1LiBTdG9yZSB0aGUgb3JpZ2luYWwgc24gKyAyIGFzIHRo ZSBuZXcgc24uDQo+PiAgICA2LiBSZWxlYXNlIHRoZSBzcGlubG9jay4NCj4+DQo+PiBQcm9wZXIg bWVtb3J5IGZlbmNpbmcgaXMgcmVxdWlyZWQgdG8gbWFrZSBzdXJlIHRoZSBmaXJzdCBzbiBzdG9y ZSwgdGhlDQo+PiBkYXRhIHN0b3JlcywgYW5kIHRoZSBzZWNvbmQgc24gc3RvcmUgYXBwZWFyIHRv IHRoZSByZWFkZXIgaW4gdGhlDQo+PiBtZW50aW9uZWQgb3JkZXIuDQo+Pg0KPj4gVGhlIHNuIGxv YWRzIGFuZCBzdG9yZXMgbXVzdCBiZSBhdG9taWMsIGJ1dCB0aGUgZGF0YSBsb2FkcyBhbmQgc3Rv cmVzDQo+PiBuZWVkIG5vdCBiZS4NCj4+DQo+PiBUaGUgb3JpZ2luYWwgc2VxbG9jayBkZXNpZ24g YW5kIGltcGxlbWVudGF0aW9uIHdhcyBkb25lIGJ5IFN0ZXBoZW4NCj4+IEhlbW1pbmdlci4gVGhp cyBpcyBhbiBpbmRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbiwgdXNpbmcgQzExIGF0b21pY3MuDQo+ Pg0KPj4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2VxbG9ja3MsIHNlZQ0KPj4gaHR0cHM6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvU2VxbG9jaw0KPiANCj4gVGhlIFNvQiBhbmQgb3RoZXIgdGFn cyB3ZXJlIHdpdGggYW5ub3RhdGlvbnMsIGp1c3QgcmVwZWF0aW5nIHRoZW0gaGVyZQ0KPiAoaW4g dGhlIGhvcGUgcGF0Y2h3b3JrIHdpbGwgY2F0Y2ggdGhlbSk6DQo+IA0KPiBBY2tlZC1ieTogTW9y dGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gQWNrZWQtYnk6IEtvbnN0 YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gUmV2aWV3ZWQt Ynk6IE9sYSBMaWxqZWRhaGwgPG9sYS5saWxqZWRhaGxAYXJtLmNvbT4NCj4gUmV2aWV3ZWQtYnk6 IENoZW5nd2VuIEZlbmcgPGZlbmdjaGVuZ3dlbkBodWF3ZWkuY29tPg0KPiBTaWduZWQtb2ZmLWJ5 OiBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+IA0K PiBHSEEgaGFkIGEgaGljY3VwIG9uIFVidW50dSB2bSBpbnN0YWxsYXRpb24gYXQgdGhlIHRpbWUg b2YgdGhlIHY5IHJlY2VwdGlvbi4NCj4gSSBoYWQgcnVuIHRoZSBjaGVja3Mgb24gbXkgc2lkZToN Cj4gaHR0cHM6Ly9wcm90ZWN0Mi5maXJlZXllLmNvbS92MS91cmw/az0zMTMyMzMzNC01MDFkNTEy Mi0zMTMyNzNhZi00NTQ0NDU1NTU3MzEtYjBiMTVkY2M3Mjc1ZjE3YiZxPTEmZT1kMjA5ZmY0Yi05 NDA1LTRkYmUtOGU3OS1iODUwNWY2MWNhNjgmdT1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZk YXZpZC1tYXJjaGFuZCUyRmRwZGslMkZhY3Rpb25zJTJGcnVucyUyRjIzNzM1MzMxMjcNCj4gDQo+ IEkgbm90aWNlZCBhIGxpdHRsZSBpc3N1ZSBpbiB0aGUgZXhhbXBsZSBpbiB0aGUgZG94eWdlbiBj b21tZW50cyB0aGF0IEkNCj4gY2FuIGZpeCBteXNlbGY6DQo+IC0tLSBhL2xpYi9lYWwvaW5jbHVk ZS9ydGVfc2VxbG9jay5oDQo+ICsrKyBiL2xpYi9lYWwvaW5jbHVkZS9ydGVfc2VxbG9jay5oDQo+ IEBAIC02Myw3ICs2Myw3IEBAIGV4dGVybiAiQyIgew0KPiAgICAqICAgICAgICAgICAgICAgICAv LyBBbiBhbHRlcm5hdGl2ZSB0byBhbiBpbW1lZGlhdGUgcmV0cnkgaXMgdG8gYWJvcnQgYW5kDQo+ ICAgICogICAgICAgICAgICAgICAgIC8vIHRyeSBhZ2FpbiBhdCBzb21lIGxhdGVyIHRpbWUsIGFz c3VtaW5nIHByb2dyZXNzIGlzDQo+ICAgICogICAgICAgICAgICAgICAgIC8vIHBvc3NpYmxlIHdp dGhvdXQgdGhlIGRhdGEuDQo+IC0gKiAgICAgICAgIH0gd2hpbGUgKHJ0ZV9zZXFsb2NrX3JlYWRf cmV0cnkoJmNvbmZpZy0+bG9jaykpOw0KPiArICogICAgICAgICB9IHdoaWxlIChydGVfc2VxbG9j a19yZWFkX3JldHJ5KCZjb25maWctPmxvY2ssIHNuKSk7DQo+ICAgICogfQ0KPiAgICAqDQo+ICAg ICogLy8gQWNjZXNzb3IgZnVuY3Rpb24gZm9yIHdyaXRpbmcgY29uZmlnIGZpZWxkcy4NCj4gDQo+ IEkgYWxzbyBoYXZlIHNvbWUgd2hpdGVzcGFjZSBmaXhlcyBoZXJlIGFuZCB0aGVyZS4NCj4gDQo+ IEkgbWF5IHNob3J0ZW4gdGhlIHJlbGVhc2Ugbm90ZXMgdXBkYXRlIHRvIGtlZXAgb25seSB0aGUg Zmlyc3QNCj4gcGFyYWdyYXBoLCBhcyB0aGUgcmVzdCBpcyB0b28gdmVyYm9zZSBhbmQgcmVwZWF0 ZWQgaW4gdGhlDQo+IGRvY3VtZW50YXRpb24uDQoNCk1ha2VzIHNlbnNlLg0KDQo+IA0KPiBPdmVy YWxsLCBjb21tZW50cyB3ZXJlIGFkZHJlc3NlZCBhbmQgdGhlIHBhdGNoIGxvb2tzIHJlYWR5Lg0K PiBMYXN0IGNhbGwgYmVmb3JlIG1lcmdpbmc/DQo+IA0KPiANCg0KSSBkb24ndCBoYXZlIGFueXRo aW5nIHRvIGFkZC4gVGhhbmtzLg0K