From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A364CA04BA; Wed, 7 Oct 2020 12:52:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E65E01B686; Wed, 7 Oct 2020 12:52:37 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 3EBFF4C9D for ; Wed, 7 Oct 2020 12:52:35 +0200 (CEST) IronPort-SDR: UXD7kEx16N5Aj+eqBbONzz7+ZCiOqN3/6X+p4/IHSqfr5NoV/nfqghTHMM9CBbs0eEtnwcCEd7 k4J+qI/EILJQ== X-IronPort-AV: E=McAfee;i="6000,8403,9766"; a="152661739" X-IronPort-AV: E=Sophos;i="5.77,346,1596524400"; d="scan'208";a="152661739" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2020 03:52:33 -0700 IronPort-SDR: KfojOyCb16VU9MO4qV4tIslbrrC2IrvYQ4obN4iexSrda9S6fanZk2nDVQbRchgpKZBxC/NngN tO7KgrQ5Sinw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,346,1596524400"; d="scan'208";a="328011768" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga002.jf.intel.com with ESMTP; 07 Oct 2020 03:52:33 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.1713.5; Wed, 7 Oct 2020 03:52:33 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 7 Oct 2020 03:52:32 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 7 Oct 2020 03:52:32 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.54) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 7 Oct 2020 03:52:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C5Aij/RAGnrRf5t4di2u9VPyEVg1bKT/zyrjoW9R1svx+W+frUrjqSPTl4mXuE3f6pX9F1yFdrwnPmtWHMMlp13s2KBTrTzjBkr6RHypyMPRkDCiESOL5Jt6VvNhAtgyQi5YM7mYcw/zwNYCX1UltW8rliPO1GQrRIFeOz1vF94mT2KEEW3XHaY10fyhdBB2DgMMmUMdL/HWlwWLTJyigW7YZWScvLlWwUQU87zOftAgO6q7Z8A4OSRHFr7NfGOz3F23q+McN8g9lLR9Gwi7/dbV+h4x9YVcNLJcdSrd0PsFZ8NKtit805/CxR7omal2KUZd+qma9v1iqWufSxHeXw== 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=aNj2GB0pN0u69hHLNrREY8gq0TXJRi9YTKFJ+3cEu2M=; b=ljBbqoatfpAo17bRd9JFYV2Y+wXy1/PKk3YrUODYrjhCkTSf192E4Bpout9WwrXdeEogaPl97UIObiS8fsRFx7ujHExTU4K/6lXseyCGKR5l/+uIREHZ8//FVh1XX80MpVaxENaMqd7gd6fj61j1rCnRLKP2PJbwEbvDC2y38Zsh1XqFsrkHqP6oWmxvJHrBSoIfq1OT8EB8NHTzGiJK7WKeNNcmAa2UwoibKPlnAjEF4MbYrMyPXMc9PuXUZ1Foj/HhVrIkIcMrnAbN5UxJxQwB4WMtqh4Cq6sYdHPcSotTgOJ8bGnb4lRRluuFz268Q6HzJxqsXnEWr6zwj2ThlA== 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=aNj2GB0pN0u69hHLNrREY8gq0TXJRi9YTKFJ+3cEu2M=; b=Um2zJh6YB1Q7NEuwhYEJW5CGigk9/JX18XWgjq1r+M+Kupszs5H65+gHFcb/txuEckF2YG3jsibO/17no0kO4kKb5iAG8Pod9UgGk1T7frOSHAwCr/8FLALhFFrcPBVOHinNGXX0h31dLqQlOvfJLrCCyinBK0tjNhsR1aE5UAI= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB3191.namprd11.prod.outlook.com (2603:10b6:a03:79::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.38; Wed, 7 Oct 2020 10:52:30 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3455.023; Wed, 7 Oct 2020 10:52:30 +0000 From: "Ananyev, Konstantin" To: "Nicolau, Radu" , "Van Haaren, Harry" , Jerin Jacob CC: Honnappa Nagarahalli , "Richardson, Bruce" , "dev@dpdk.org" , "jerinj@marvell.com" , nd Thread-Topic: [dpdk-dev] [PATCH v1] event/sw: performance improvements Thread-Index: AQHWkZrGUeLVYd0SY0mRkQyWOk7HiKl22mEAgAEQ4oCAACR2gIAABQIAgAEVKoCABRSEAIABHMoAgAnsnACAAQJAgIAAIhfggAGeWoCAAAH8IA== Date: Wed, 7 Oct 2020 10:52:29 +0000 Message-ID: References: <20200908105211.10066-1-radu.nicolau@intel.com> <46118f3466274596a663d7d44abb680a@intel.com> <20200925102805.GD923@bricha3-MOBL.ger.corp.intel.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.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: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 222a338a-344b-4beb-e3ff-08d86aaf1660 x-ms-traffictypediagnostic: BYAPR11MB3191: 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: RdGZtsrl8QWG85wfj0iDPzpzo6qoWArx5SkVAeaJqI3Tu1JkgtiF9mZUWtdUYjP5Mggape0rtAlu3xTfOXVZWToOwDJEg4Eb+TJXyHCFKNdB3kDTOfH/+yxn4BGidhPA2hnthuuvwRoPt5WbSkhl8bSlCwlGO0roO8gFzi8p5Pftk8Q2/7ZuOQz0wfMVgxf54HU4fk4S3vK8ZRPGCkrShCXjMIQP7VwHLeQ1CN/iclpytryfe4b+dEDFQ0J49o9KC4U0LpoOR2iAgYyWiptBlNHU/vUnIIWL5QJm63lOkk6Q/lT4nae5ov3s5dqQFMe67T0PRASOFaYa7tN5OE8oHg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(366004)(376002)(39860400002)(396003)(66476007)(478600001)(76116006)(110136005)(54906003)(66946007)(71200400001)(8936002)(8676002)(33656002)(186003)(9686003)(316002)(2906002)(53546011)(6506007)(55016002)(7696005)(66556008)(66446008)(83380400001)(64756008)(86362001)(4326008)(52536014)(5660300002)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: zYE8dbN0G5gYP3RMaq1FTVL2eRqlxEfwddboHBHEX/wyrnavkZMDPNNEL/BBvNIaUBzjAOlTwTEG6zx4sGpNTIB4xkaHhIYF+gAPkL62hnc1uuP1SbsQsK7SJFaqDQASLfwLbgmTtO1wc35rE2mLcPhSUfUOg+pCReKPNuu5JyTaYpg4ex4ocpGpLjaNDwudgy7ph1ECxheIJ8bMKDAnYaU/Ohr0nmlfJ8j91S1n+4Ck9Su36k9DDxdqVS/KqSbHM+8iZR3CWBchKKr3si9X6eyHXgzUY+Tku8bWee7fQisX10Si1WrwgkN/XLdR2e7DMqjUoguVZJf7SHVolq7cTC4+eH1EZrTUt+RI/FP1UyuA8vI2YnFu+q52tcP/MvU+EkDbcOFln64utPLaAWV92jn6bforrW3RgJHX0JzuyHukWMJvovDJscXkW0M7QVg2JpfoHbz18k4KCtSyyssvCktIco+oLO6AghQm6lTc7IY9YNjddcK0gAYKqRQygJcuMfNmBcxbSVTb0qi0Paiz58cGiYSJ0wDcJXm06E01pFgXa50nkpg3U7JO5vw9lMMrP4Jx70oyXsinKIg8vPMi9ug5UlvaSzbrfQ5wMMYzVbXB+UzvpJ7L80q/kFzFZhmFzUgnn3FBt/hB0vy3Me9j5Q== 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: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 222a338a-344b-4beb-e3ff-08d86aaf1660 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2020 10:52:29.7954 (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: RpN5sf2bYiaX/d1mlGjNNGfBmDY9+CYzIaHC0UoPB9QcVZscuOAfUrT2NnLoci5IsVXCUSk+MynLi8N1uU/43a42vcYb2tMzhW6tSowYXLg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3191 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1] event/sw: performance improvements X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" PiBPbiAxMC82LzIwMjAgMTE6MTMgQU0sIEFuYW55ZXYsIEtvbnN0YW50aW4gd3JvdGU6DQo+ID4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPj4+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciA1LCAyMDIw IDU6MzUgUE0NCj4gPj4+IFRvOiBOaWNvbGF1LCBSYWR1IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29t Pg0KPiA+Pj4gQ2M6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBh cm0uY29tPjsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPj4+IDxicnVjZS5yaWNoYXJkc29uQGludGVs LmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPj4+IDxrb25zdGFudGluLmFuYW55ZXZAaW50 ZWwuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPj4+IDxoYXJyeS52YW4uaGFhcmVuQGludGVs LmNvbT47IGRldkBkcGRrLm9yZzsgamVyaW5qQG1hcnZlbGwuY29tOyBuZA0KPiA+Pj4gPG5kQGFy bS5jb20+DQo+ID4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjFdIGV2ZW50L3N3 OiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMNCj4gPj4+DQo+ID4+PiBPbiBUdWUsIFNlcCAyOSwg MjAyMCBhdCAyOjMyIFBNIE5pY29sYXUsIFJhZHUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+IHdy b3RlOg0KPiA+Pj4+DQo+ID4+Pj4gT24gOS8yOC8yMDIwIDU6MDIgUE0sIEhvbm5hcHBhIE5hZ2Fy YWhhbGxpIHdyb3RlOg0KPiA+Pj4+PiA8c25pcD4NCj4gPj4+Pj4+PiBBZGQgbWluaW11bSBidXJz dCB0aHJvdWdob3V0IHRoZSBzY2hlZHVsZXIgcGlwZWxpbmUgYW5kIGEgZmx1c2ggY291bnRlci4N Cj4gPj4+Pj4+PiBSZXBsYWNlIHJpbmcgQVBJIGNhbGxzIHdpdGggbG9jYWwgc2luZ2xlIHRocmVh ZGVkIGltcGxlbWVudGF0aW9uIHdoZXJlDQo+ID4+Pj4+Pj4gcG9zc2libGUuDQo+ID4+Pj4+Pj4N Cj4gPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBSYWR1IE5pY29sYXUgbWFpbHRvOnJhZHUubmljb2xh dUBpbnRlbC5jb20NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFRoYW5rcyBmb3IgdGhlIHBhdGNoLCBh IGZldyBjb21tZW50cyBpbmxpbmUuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBXaHkgbm90IG1ha2Ug dGhlc2UgQVBJcyBwYXJ0IG9mIHRoZSBydGVfcmluZyBsaWJyYXJ5PyBZb3UgY291bGQgZnVydGhl cg0KPiA+Pj4+Pj4gb3B0aW1pemUgdGhlbSBieSBrZWVwaW5nIHRoZSBpbmRpY2VzIG9uIHRoZSBz YW1lIGNhY2hlbGluZS4NCj4gPj4+Pj4+PiBJJ20gbm90IHN1cmUgdGhlcmUgaXMgYW55IG5lZWQg Zm9yIG5vbiB0aHJlYWQtc2FmZSByaW5ncyBvdXRzaWRlIHRoaXMNCj4gPj4+Pj4+IHBhcnRpY3Vs YXIgY2FzZS4NCj4gPj4+Pj4+PiBbSG9ubmFwcGFdIEkgdGhpbmsgaWYgd2UgYWRkIHRoZSBBUElz LCB3ZSB3aWxsIGZpbmQgdGhlIHVzZSBjYXNlcy4NCj4gPj4+Pj4+PiBCdXQsIG1vcmUgdGhhbiB0 aGF0LCBJIHVuZGVyc3RhbmQgdGhhdCBydGVfcmluZyBzdHJ1Y3R1cmUgaXMgZXhwb3NlZCB0byB0 aGUNCj4gPj4+Pj4+IGFwcGxpY2F0aW9uLiBUaGUgcmVhc29uIGZvciBkb2luZyB0aGF0IGlzIHRo ZSBpbmxpbmUgZnVuY3Rpb25zIHRoYXQgcnRlX3JpbmcNCj4gPj4+Pj4+IHByb3ZpZGVzLiBJTU8s IHdlIHNob3VsZCBzdGlsbCBtYWludGFpbiBtb2R1bGFyaXR5IGFuZCBzaG91bGQgbm90IHVzZSB0 aGUNCj4gPj4+Pj4+IGludGVybmFscyBvZiB0aGUgcnRlX3Jpbmcgc3RydWN0dXJlIG91dHNpZGUg b2YgdGhlIGxpYnJhcnkuDQo+ID4+Pj4+Pj4gKzEgdG8gdGhhdC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+ Pj4+IEJUVywgaXMgdGhlcmUgYW55IHJlYWwgcGVyZiBiZW5lZml0IGZyb20gc3VjaCBtaWNvci1v cHRpbWlzYXRpb24/DQo+ID4+Pj4+PiBJJ2QgdGVuZCB0byB2aWV3IHRoZXNlIGFzIHVzZS1jYXNl IHNwZWNpZmljLCBhbmQgSSdtIG5vdCBzdXJlIHdlIHNob3VsZCBjbHV0dGVyDQo+ID4+Pj4+PiB1 cCB0aGUgcmluZyBsaWJyYXJ5IHdpdGggeWV0IG1vcmUgZnVuY3Rpb25zLCBlc3BlY2lhbGx5IHNp bmNlIHRoZXkgY2FuJ3QgYmUNCj4gPj4+Pj4+IG1peGVkIHdpdGggdGhlIGV4aXN0aW5nIGVucXVl dWUvZGVxdWV1ZSBmdW5jdGlvbnMsIHNpbmNlIHRoZXkgZG9uJ3QgdXNlDQo+ID4+Pj4+PiB0aGUg aGVhZCBwb2ludGVycy4NCj4gPj4+Pj4gSU1PLCB0aGUgcmluZyBsaWJyYXJ5IGlzIHByZXR0eSBv cmdhbml6ZWQgd2l0aCB0aGUgcmVjZW50IGFkZGl0aW9uIG9mIEhUUy9SVFMNCj4gPj4+IG1vZGVz LiBUaGlzIGNhbiBiZSBvbmUgb2YgdGhlIG1vZGVzIGFuZCBzaG91bGQgYWxsb3cgdXMgdG8gdXNl IHRoZSBleGlzdGluZw0KPiA+Pj4gZnVuY3Rpb25zICh0aG91Z2ggYWRkaXRpb25hbCBmdW5jdGlv bnMgYXJlIHJlcXVpcmVkIGFzIHdlbGwpLg0KPiA+Pj4+PiBUaGUgb3RoZXIgY29uY2VybiBJIGhh dmUgaXMsIHRoaXMgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZ1cnRoZXIgb3B0aW1pemVkIGJ5DQo+ ID4+PiB1c2luZyBhIHNpbmdsZSBjYWNoZSBsaW5lIGZvciB0aGUgcG9pbnRlcnMuIEl0IHVzZXMg MiBjYWNoZSBsaW5lcyBqdXN0IGJlY2F1c2Ugb2YgdGhlDQo+ID4+PiBsYXlvdXQgb2YgdGhlIHJ0 ZV9yaW5nIHN0cnVjdHVyZS4NCj4gPj4+Pj4gVGhlcmUgd2FzIGEgcXVlc3Rpb24gZWFybGllciBh Ym91dCB0aGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIG9mIHRoaXMNCj4gPj4+IHBhdGNoPyBB cmUgdGhlcmUgYW55ICUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIHRoYXQgY2FuIGJlIHNoYXJl ZD8NCj4gPj4+Pj4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGFib3ZlIGZ1bmN0 aW9ucyB0byB1c2UgdGhlIGhlYWQvdGFpbCBwb2ludGVycw0KPiA+Pj4gZnJvbSBwcm9kdWNlciBv ciB0aGUgY29uc3VtZXIgY2FjaGUgbGluZSBhbG9uZSB0byBjaGVjayBmb3IgcGVyZiBkaWZmZXJl bmNlcy4NCj4gPj4+PiBJIGRvbid0IGhhdmUgYSAlIGZvciB0aGUgZmluYWwgaW1wcm92ZW1lbnQg Zm9yIHRoaXMgY2hhbmdlIGFsb25lLCBidXQNCj4gPj4+PiB0aGVyZSB3YXMgc29tZSBpbXByb3Zl bWVudCBpbiB0aGUgbWVtb3J5IG92ZXJoZWFkIG1lYXN1cmFibGUgZHVyaW5nDQo+ID4+Pj4gZGV2 ZWxvcG1lbnQsIHdoaWNoIHZlcnkgbGlrZWx5IHJlc3VsdGVkIGluIHRoZSB3aG9sZSBvcHRpbWl6 YXRpb24gaGF2aW5nDQo+ID4+Pj4gbW9yZSBoZWFkcm9vbS4NCj4gPj4+Pg0KPiA+Pj4+IEkgYWdy ZWUgdGhhdCB0aGlzIG1heSBiZSBmdXJ0aGVyIG9wdGltaXplZCwgbWF5YmUgYnkgaGF2aW5nIGEg bG9jYWwNCj4gPj4+PiBpbXBsZW1lbnRhdGlvbiBvZiBhIHJpbmctbGlrZSBjb250YWluZXIgaW5z dGVhZC4NCj4gPj4+IEhhdmUgd2UgZGVjaWRlZCBvbiB0aGUgbmV4dCBzdGVwcyBmb3IgdGhpcyBw YXRjaD8gSXMgdGhlIHBsYW4gdG8NCj4gPj4+IHN1cGVyc2VkZSB0aGlzIHBhdGNoIGFuZCBoYXZl IGRpZmZlcmVudA0KPiA+Pj4gb25lIGluIHJ0ZV9yaW5nIHN1YnN5c3RlbSwNCj4gPj4gTXkgcHJl ZmVyZW5jZSBpcyB0byBtZXJnZSB0aGlzIHZlcnNpb24gb2YgdGhlIHBhdGNoOw0KPiA+PiAxKSBU aGUgcmluZyBoZWxwZXIgZnVuY3Rpb25zIGFyZSBzdHJpcHBlZCB0byB0aGUgU1cgUE1EIHVzYWdl LCBhbmQgbm90IHZhbGlkIHRvIHVzZSBpbiB0aGUgZ2VuZXJhbC4NCj4gPj4gMikgQWRkaW5nIHN0 YXRpYyBpbmxpbmUgQVBJcyBpbiBhbiBMVFMgd2l0aG91dCBleHRlbnNpdmUgZG9lc24ndCBzZWVt IGEgZ29vZCBpZGVhLg0KPiA+Pg0KPiA+PiBJZiBIb25uYXBwYSBpcyBPSyB3aXRoIHRoZSBhYm92 ZSBzb2x1dGlvbiBmb3IgMjAuMTEsIHdlIGNhbiBzZWUgYWJvdXQgbW92aW5nIHRoZSByaW5ncyBw YXJ0IG9mIHRoZQ0KPiA+PiBjb2RlIHRvIHJ0ZV9yaW5nIGxpYnJhcnkgbG9jYXRpb24gaW4gMjEu MDIsIGFuZCBnaXZlIG91cnNlbHZlcyBzb21lIHRpbWUgdG8gc2V0dGxlIHRoZSB1c2FnZS9BUEkg YmVmb3JlDQo+ID4+IHRoZSBuZXh0IExUUy4NCj4gPj4NCj4gPiBBcyByaW5nIGxpYnJhcnkgbWFp bnRhaW5lciBJIHNoYXJlIEhvbm5hcHBhIGNvbmNlcm4gdGhhdCBhbm90aGVyIGxpYnJhcnkgbm90 IHVzZXMgcHVibGljIHJpbmcgQVBJLA0KPiA+IGJ1dCBpbnN0ZWFkIGFjY2Vzc2VzIHJpbmcgaW50 ZXJuYWxzIGRpcmVjdGx5LiBPYnZpb3VzbHkgc3VjaCBjb2RpbmcgcHJhY3RpY2UgaXMgbm90IHdl bGNvbWVkDQo+ID4gYXMgaXQgbWFrZXMgaGFyZGVyIHRvIG1haW50YWluL2V4dGVuZCByaW5nIGxp YnJhcnkgaW4gZnV0dXJlLg0KPiA+IEFib3V0IDIpIC0gdGhlc2UgbmV3IEFQSSBjYW4oL3Nob3Vk KSBiZSBtYXJrZWQgYW4gZXhwZXJpbWVudGFsIGFueXdheS4NCj4gPiBBcyBhbm90aGVyIHRoaW5n IC0gaXQgaXMgc3RpbGwgdW5jbGVhciB3aGF0IGEgcGVyZm9ybWFuY2UgZ2FpbiB3ZSBhcmUgdGFs a2luZyBhYm91dCBoZXJlLg0KPiA+IElzIGl0IHJlYWxseSB3b3J0aCBpdCBjb21wYXJpbmcgdG8g anVzdCB1c2luZyBTUC9TQz8NCj4gDQo+IFRoZSBjaGFuZ2UgaXRzZWxmIGNhbWUgYWZ0ZXIgSSBh bmFseXplZCB0aGUgbWVtb3J5IGJvdW5kIHNlY3Rpb25zIG9mIHRoZQ0KPiBjb2RlLCBhbmQgSSBq dXN0IGRpZCBhIHF1aWNrIHRlc3QsIEkgZ290IGFib3V0IDMuNSUgaW1wcm92ZW1lbnQgaW4NCj4g dGhyb3VnaHB1dCzCoCBtYXliZSBub3Qgc28gbXVjaCBidXQgc2lnbmlmaWNhbnQgZm9yIHN1Y2gg YSBzbWFsbCBjaGFuZ2UsDQo+IGFuZCBkZXBlbmRpbmcgb24gdGhlIHVzZWNhc2UgaXQgbWF5IGJl IG1vcmUuDQo+IA0KPiBBcyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGl0c2VsZiwgSSB3b3VsZCBm YXZvdXIgaGF2aW5nIGEgY3VzdG9tIHJpbmcNCj4gbGlrZSBjb250YWluZXIgaW4gdGhlIFBNRCBj b2RlLCB0aGlzIHdpbGwgc29sdmUgdGhlIGlzc3VlIG9mIHVzaW5nDQo+IHJ0ZV9yaW5nIGludGVy bmFscyB3aGlsZSBzdGlsbCBhbGxvdyBmb3IgZnVsbCBvcHRpbWlzYXRpb24uIElmIHRoaXMgaXMN Cj4gYWNjZXB0YWJsZSwgSSB3aWxsIGZvbGxvdyB1cCBieSB0b21vcnJvdy4NCg0KU291bmRzIG9r IHRvIG1lLg0KVGhhbmtzDQpLb25zdGFudGluDQoNCg==