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 8388EA054A; Tue, 6 Dec 2022 16:14:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2DFA040687; Tue, 6 Dec 2022 16:14:28 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2088.outbound.protection.outlook.com [40.107.7.88]) by mails.dpdk.org (Postfix) with ESMTP id 2EB804021D for ; Tue, 6 Dec 2022 16:14:27 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NFr8zv2dorpMwdI7JFvY2NIQ6lnU5s7hikCAQnJir1vMkHoRnLXbPULwZuibXvlX1x1QW+Jr4M9tDbCknl6Eb9RwMjtK7WsNnywmmpP3Tl1ZyY3iiWoC8EStUJLzegcaWyEmucs+BwsxXHF6QIK8Re++HhpCIUyPvUr7j3Kc4vNIw80mx93s16hvrvOzfaMx3cfCtneLrAUFJGyD9Sz603WfAF9ZScDXTp519sSJeYOJ5LoTL1ZfCXGFtMAQxrchn7aLFta1FOxyoVTMYO08ppEtzB7pGivg1S6lDwgbHorwAlukHAByfFYENAbfRgt745mAqAdUa0XKrkvEwv5ZPA== 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=5Cdm3t7wa+JPnjY/now+p13hcPofj2YxBtmHhS54geY=; b=SpLmCteO3G3A4fpmF8SiThh15wF4yoVnhJ4os/LvVpnY7RQBL9V1e3UdklCIJaLFt6BbxmTCWFq+VSkviqpyeK8gspJxDToKj2ivCOIkdnGnSHivM6Jp0Oxp/2cnvRsB24CnRhQ3ooNUKxGB4ckqkFficiwNI3JUJyvoRASwoOdTVnUGrQyYcs91PVekZoeiZeZjerYxKHXH5Y+XInpI7Q90Q6U+PV2EuU2QaM6UrhCMDb45y96qIUe32X5qWWfGo56GE6nPBEkalESFlCQa1qpdeTOSGrji9/XmUqeNd7pZ+PxYTI/6ju82ZaAlmuiwWjZqAYdN+T1obfWRw0DWTg== 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=5Cdm3t7wa+JPnjY/now+p13hcPofj2YxBtmHhS54geY=; b=bEy4mYsFFODifOMcZ2HIlW5116Mefh5NTweKmtWMMhuFqE5ZLDM+H3AWPHykDFNWU5F1ZuJlW7qlkxY9IlZjqvgnosxLedGVNZWxKdMsw+LPYVp7HG12O1axZ9pQPTdRMlXyj9uleb5qeL9wThcUyQJWdENUtbdFYaRri92X8Iw= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by AM9PR07MB7809.eurprd07.prod.outlook.com (2603:10a6:20b:302::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec 2022 15:14:25 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::aa92:63bb:c47:f8e5]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::aa92:63bb:c47:f8e5%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 15:14:25 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Thomas Monjalon , David Marchand CC: "dev@dpdk.org" Subject: Re: [PATCH] eal: have unregistered non-EAL threads use dedicated PRNG Thread-Topic: [PATCH] eal: have unregistered non-EAL threads use dedicated PRNG Thread-Index: AQHZCJGAz7tKecRrp02XpqRkGLEtnK5fH9KAgAHZ5YA= Date: Tue, 6 Dec 2022 15:14:25 +0000 Message-ID: <2a5121c7-369f-afde-0898-d45a5b368c3a@ericsson.com> References: <20221205100334.3500-1-mattias.ronnblom@ericsson.com> <98CBD80474FA8B44BF855DF32C47DC35D87553@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87553@smartserver.smartshare.dk> 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:102.0) Gecko/20100101 Thunderbird/102.5.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB5978:EE_|AM9PR07MB7809:EE_ x-ms-office365-filtering-correlation-id: 40ddef6d-7133-4e57-f217-08dad79c8fdb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dcT38ieHlJZHwUeVPaV22e5skuzbSAbMTgUBR7+uTT7dhGRljvcdhTFORPB6GYLVbhtmJBZ3/WEtXQurbJrbkql/mP2hj/eOHs/mG1HZf3Ik5g8XFVskauFADRWM2uwjuDjRTR1vsoN3rdB4k1RiNk/RWJqBn4+byEhuLT0kM8VrzS+BDDpVyK1qEiVB/qEpUvZWP+2qJ1KYTub2OZY6QK87YhwLPSQx9O5M6F6TiLUjvOmJU2n4O/+AP5ulajgUd2/zvXJ4iTSurLfN2m2gvY9zXAM/35jCR/17TZtaNt5mhwkThndjdVnB5Pqt40ibZ2/7+CSPnuaTcLr5c+O54BiiNMb7ZU2PK6SjhoS+aSrJH9rYoqNxIknm508aBo/9K61ddxBQXAfNKmoRdMbVYU9jx2je5IGAUH3myIRC9QKwww121HW+cE/hAIBTE8QHl9UmgVm5RfxN+JvSzbrMEauWANAEbYhDJe1T1s/iFaietlWHwLySzEINcJKxqWpQG2lJF/4cxzt1rXGsyzr3BHP6vp3PVbPVgg+31juvXBAt6T/ENGNq3F8aeJ+MX9OorUtdxcPLtTnV+qyHZe/K1jNPtt8K2W4yfsMzksvBfrf5g42CGFJnKSaI49FqPbIb4pG0MSXgePUxlVHSM3YrN8MkhzBlqLSA1nQfCtoDO5zM+gSWh4qG8P8k2ZyqeSZmlDF8ta3zuHLI4cU6ohkAZ0m/8UslkikLlX+NuXFEkh86SUQidx1aQqGApmz5NTNto4bULJjHezN4gL+WIote3A== 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:(13230022)(4636009)(366004)(136003)(39860400002)(346002)(396003)(376002)(451199015)(2616005)(2906002)(6486002)(122000001)(31686004)(478600001)(83380400001)(82960400001)(38070700005)(5660300002)(71200400001)(38100700002)(66556008)(66574015)(36756003)(31696002)(8936002)(85202003)(6506007)(8676002)(53546011)(41300700001)(86362001)(85182001)(66476007)(64756008)(4326008)(66946007)(66446008)(186003)(91956017)(6512007)(26005)(76116006)(316002)(110136005)(45980500001)(43740500002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QU0vMTNDelF5OTFxUzNaQkxsSzJGTHJqRDJ3UkVlMHlsbGpmMUVpMDk1NE94?= =?utf-8?B?YWk0aE1OZHY4TzZWNXZRUnlZUHQ1Q0VnbUZZUEZLRUo3M29IOEVGK0cyZ1d2?= =?utf-8?B?aXBYd2pROWQ4Z1FrOUlrSDV6N0ErWW5rY0hjMDVPeEZSZEVLNmtOYTlXbVc5?= =?utf-8?B?aHp3ZGVQRHpQNW1KNXFFbUx4OVhxV1ExK1R6a2swbFI0SEdnR3ZsWDM4NHRw?= =?utf-8?B?WlZLbFc5TFBCdVJRc2x5SnlCdTRQaGNhcnZWRTlrc2JUUnJNNFF5QWk2QVh6?= =?utf-8?B?ZytJaU5WWmFHUEtiS2llZWZ5SmF1Ynh2aVRVTWUwSmtkOHFBU1FXWVVhOEx0?= =?utf-8?B?czF1TStqczlhWFNzNldiZWV1SmduL01lelN4QXdaNlVSV1k0eWN3M3QvUWlM?= =?utf-8?B?bjlWV1VROEs5YUdVbGZHSk9IVkxsZjJKU0RhS0tkOW1sNzhteHB5N1hMY2ZR?= =?utf-8?B?Sk1IQ28rdzV5c0Q4c3dVdHVZM0ZuMVFFRHF1Q0Y5QjlraGEvdFBTMVl6bmRk?= =?utf-8?B?cEozTUkrODNMSGRSLzJHWGVmUG5EellOd1NsTHBnNU5CYmtIOTJRQVRzMktk?= =?utf-8?B?N0FqNmxRbWNFQmNSemhCRHEvaVhRTEpjbHhrYmFjSVV3bDBGRFRjeDJ6YUxB?= =?utf-8?B?SFg4SWRYcGdiRUUyS1lnOTh3SmVvVmhQQXNkRTZSd3d0THdVUDFVTmRuUTZr?= =?utf-8?B?VVdnWFZvTlZMOWxvWU54R1BmOUxnSjhBcExWUUpxdzV5SEtGK3VQVnlRbVBm?= =?utf-8?B?UHQ2alY1Q2xlR0poYnZEMGlrMEVCdXdJRXpYK1d4eHRCdEU5dDhaZzc3WTNC?= =?utf-8?B?eU9rQXpyczVwYXdlWlg4elluek5KRkltcm9Vck1ROHFVQW1lUGxFb2tOODgz?= =?utf-8?B?T2xlTUQxV0ZSdTVmcjZkMTN3ZEZCS21lY2loQWJ0am4rc1BDZVpQeFBBZitq?= =?utf-8?B?NnV4SlhIb29sbDNqaXJGeGRGcGJWYlF4SitSVWo1YnZNdmZwWkYzRVlMWjFE?= =?utf-8?B?SlJ4SmtNYmI0azh6T2ljaGgxOTBTMnhsMjdhR2Y4WnJ5eDM4WXIzVEM1ZU5l?= =?utf-8?B?SDR1QUdDMnNIZEZYM3B2ZXRIZkd2enVDL0l6ZyswaTQvQXR3Q2RaNlVrQ1VM?= =?utf-8?B?cUVyZEwzeHRGekRDYnRxN3lPeEJOeHBxQXYvczR5WExvcnIyT3BBSFA3VVBJ?= =?utf-8?B?d0dUQy9xby9TVE4zRG5FaGFlaHM5L1pEWWcrVTRoVWJRRnhvSmJnMTRxdFVa?= =?utf-8?B?bkRyNWU0Vkttb2NDU2NSZzRwU3dnNFdKNDFTNjMvVkFrbGw4Q1o5R2ZxdkY5?= =?utf-8?B?aVZxYUhIMGpmTC92aVRkR3dtRSt0aUlvaXRhaFZPUFpWZUk1TEZndWNpc3Rk?= =?utf-8?B?S0NyUHBTTmNLT1dzVWtLUmlTSXUvdW1mSm56b3pzU1dTNE1NYStaYnc0djBS?= =?utf-8?B?bGl6bUI1cmIvUUJWNFhWWkZraTQ3ZGM1UGg4Si84cFlpbmNSSGlmdGVnR2J4?= =?utf-8?B?TjJNN3krYzlJKzJhOHltL0V3em1BYmczb3diQnRHOVVZRWV3OUs4MGNVY0po?= =?utf-8?B?UXpwYmo0VGFGckM1Z2dvWUFsQ0RIR2M3Y3k0ZGI5eDBzalJNS0ZrekJmb3ZI?= =?utf-8?B?WWNPREhNRUV1V2Juek9qMmdBWmp1Q2V1QnpBNExnVHNxZzJiQ2VvMkNpN1cx?= =?utf-8?B?NmphUGFGTmU1ejFjT0Z3eHNLT2dRcUQzbDB2bE5XV08xL3p5UFJxNmF0UjJ3?= =?utf-8?B?T08zd2g3ODVYRlN2M1Awem4xelhkOTFYUVBvT09ob2lIdVM2dTdZTEVybUkw?= =?utf-8?B?MitGZlg3R3ZrdTBYNXVoQjVLTUFuMlU5bGNvNVdKL2xXc1E3QllLRFQwVUZH?= =?utf-8?B?aHhBY20xTXVtak5PdFI1ZVV2YUluRlh1bXptZlN3cDlVMHVZeWZjWHVZamVV?= =?utf-8?B?cGJZeGl1dXNsbmZDV29ZTGZubFZsTmhHQjVaWFVHSGs0MEJQTDNrRlhPZHo3?= =?utf-8?B?aytVeHl0Nko5SzJNYldzeCtKNjBzNmd6ckRvUXFzeTM4bExnUFFkN0FiUUth?= =?utf-8?B?SVN2V3ZFTGxFSHdrSkZlUWx6ODlhLzFFcU5lQndxSGx5cEhURDlkclJEanQx?= =?utf-8?B?N3gybEpaeW9ycnBaMUVwdVJTRUdsd3FSMmlyRWhyc1JXNDVKSkRSSmF6QXNi?= =?utf-8?B?S0E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <9828FFD5D4DF404A800E054A2AAA39F2@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: 40ddef6d-7133-4e57-f217-08dad79c8fdb X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 15:14:25.4147 (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: K5UOxDB7aSDo7HscT9NuJrehWPRO4JnwMnbsyydEnvluEEfr1QsrkQQSDrjj9A/lWPMOPLKOxXDTsMPqkfH8gWxk0eWbQqVvQh0Nudom+Zk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR07MB7809 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 T24gMjAyMi0xMi0wNSAxMTo1OCwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+PiBGcm9tOiBNYXR0 aWFzIFLDtm5uYmxvbSBbbWFpbHRvOm1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tXQ0KPj4g U2VudDogTW9uZGF5LCA1IERlY2VtYmVyIDIwMjIgMTEuMDQNCj4+DQo+PiBQcmlvciB0byB0aGlz IGNoYW5nZSwgdW5yZWdpc3RlcmVkIG5vbi1FQUwgdGhyZWFkcyBzaGFyZWQgYSBQUk5HDQo+PiBp bnN0YW5jZSB3aXRoIHRoZSBtYWluIGxjb3JlLiBUaGUgbWFpbiBsY29yZSBtYXkgd2VsbCBiZSB1 c2VkIGZvciBmYXN0DQo+PiBwYXRoIHByb2Nlc3NpbmcsIHBvdGVudGlhbGx5IG1ha2luZyBydGVf cmFuZCgpIGNhbGxzIGluIHRoZQ0KPj4gcHJvY2Vzcy4gSXQgc2hvdWxkIG5vdCBuZWVkIHRvIHN5 bmNocm9uaXplIHdpdGggY29udHJvbCB0aHJlYWRzLg0KPj4NCj4+IFdpdGggdGhpcyBjaGFuZ2Us IGFsbCB1bnJlZ2lzdGVyZWQgbm9uLUVBTCB0aHJlYWRzIHNoYXJlIG9uZSBkZWRpY2F0ZWQNCj4+ IFBSTkcgaW5zdGFuY2UuDQo+Pg0KPj4gVGhlIEFQSSBkb2N1bWVudGF0aW9uIGlzIHVwZGF0ZWQg dG8gdXNlIHRoZSBwcm9wZXIgdGVybWlub2xvZ3kgd2hlbg0KPj4gcmVmZXJyaW5nIHRvIHRocmVh ZHMgZXF1aXBwZWQgd2l0aCBhbiBsY29yZSBpZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBNYXR0 aWFzIFLDtm5uYmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+PiAtLS0NCj4+ ICAgbGliL2VhbC9jb21tb24vcnRlX3JhbmRvbS5jICB8IDE3ICsrKysrKysrKysrLS0tLS0tDQo+ PiAgIGxpYi9lYWwvaW5jbHVkZS9ydGVfcmFuZG9tLmggfCAxMCArKysrKysrLS0tDQo+PiAgIDIg ZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4+DQo+PiBk aWZmIC0tZ2l0IGEvbGliL2VhbC9jb21tb24vcnRlX3JhbmRvbS5jIGIvbGliL2VhbC9jb21tb24v cnRlX3JhbmRvbS5jDQo+PiBpbmRleCAxNjZiMGQ4OTIxLi41NjVmMjQwMWNlIDEwMDY0NA0KPj4g LS0tIGEvbGliL2VhbC9jb21tb24vcnRlX3JhbmRvbS5jDQo+PiArKysgYi9saWIvZWFsL2NvbW1v bi9ydGVfcmFuZG9tLmMNCj4+IEBAIC0yMCw3ICsyMCwxMSBAQCBzdHJ1Y3QgcnRlX3JhbmRfc3Rh dGUgew0KPj4gICAJdWludDY0X3QgejU7DQo+PiAgIH0gX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4+ DQo+PiAtc3RhdGljIHN0cnVjdCBydGVfcmFuZF9zdGF0ZSByYW5kX3N0YXRlc1tSVEVfTUFYX0xD T1JFXTsNCj4+ICsvKiBPbmUgaW5zdGFuY2UgZWFjaCBmb3IgZXZlcnkgbGNvcmUgaWQtZXF1aXBw ZWQgdGhyZWFkLCBhbmQgb25lDQo+PiArICogYWRkaXRpb25hbCBpbnN0YW5jZSB0byBiZSBzaGFy ZWQgYnkgYWxsIG90aGVycyB0aHJlYWRzIChpLmUuLCBhbGwNCj4+ICsgKiB1bnJlZ2lzdGVyZWQg bm9uLUVBTCB0aHJlYWRzKS4NCj4+ICsgKi8NCj4+ICtzdGF0aWMgc3RydWN0IHJ0ZV9yYW5kX3N0 YXRlIHJhbmRfc3RhdGVzW1JURV9NQVhfTENPUkUgKyAxXTsNCj4+DQo+PiAgIHN0YXRpYyB1aW50 MzJfdA0KPj4gICBfX3J0ZV9yYW5kX2xjZzMyKHVpbnQzMl90ICpzZWVkKQ0KPj4gQEAgLTExNCwx NCArMTE4LDE1IEBAIF9fcnRlX3JhbmRfbGZzcjI1OChzdHJ1Y3QgcnRlX3JhbmRfc3RhdGUgKnN0 YXRlKQ0KPj4gICBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZQ0KPj4gICBzdHJ1Y3QgcnRlX3Jh bmRfc3RhdGUgKl9fcnRlX3JhbmRfZ2V0X3N0YXRlKHZvaWQpDQo+PiAgIHsNCj4+IC0JdW5zaWdu ZWQgaW50IGxjb3JlX2lkOw0KPj4gKwl1bnNpZ25lZCBpbnQgaWR4Ow0KPj4NCj4+IC0JbGNvcmVf aWQgPSBydGVfbGNvcmVfaWQoKTsNCj4+ICsJaWR4ID0gcnRlX2xjb3JlX2lkKCk7DQo+Pg0KPj4g LQlpZiAodW5saWtlbHkobGNvcmVfaWQgPT0gTENPUkVfSURfQU5ZKSkNCj4+IC0JCWxjb3JlX2lk ID0gcnRlX2dldF9tYWluX2xjb3JlKCk7DQo+PiArCS8qIGxhc3QgaW5zdGFuY2UgcmVzZXJ2ZWQg Zm9yIHVucmVnaXN0ZXJlZCBub24tRUFMIHRocmVhZHMgKi8NCj4+ICsJaWYgKHVubGlrZWx5KGlk eCA9PSBMQ09SRV9JRF9BTlkpKQ0KPj4gKwkJaWR4ID0gUlRFX01BWF9MQ09SRTsNCj4+DQo+PiAt CXJldHVybiAmcmFuZF9zdGF0ZXNbbGNvcmVfaWRdOw0KPj4gKwlyZXR1cm4gJnJhbmRfc3RhdGVz W2lkeF07DQo+PiAgIH0NCj4+DQo+PiAgIHVpbnQ2NF90DQo+PiBkaWZmIC0tZ2l0IGEvbGliL2Vh bC9pbmNsdWRlL3J0ZV9yYW5kb20uaA0KPj4gYi9saWIvZWFsL2luY2x1ZGUvcnRlX3JhbmRvbS5o DQo+PiBpbmRleCBkOTBlNGQyMTkyLi4yZWRmNWQyMTBiIDEwMDY0NA0KPj4gLS0tIGEvbGliL2Vh bC9pbmNsdWRlL3J0ZV9yYW5kb20uaA0KPj4gKysrIGIvbGliL2VhbC9pbmNsdWRlL3J0ZV9yYW5k b20uaA0KPj4gQEAgLTQxLDcgKzQxLDggQEAgcnRlX3NyYW5kKHVpbnQ2NF90IHNlZWR2YWwpOw0K Pj4gICAgKg0KPj4gICAgKiBUaGUgZ2VuZXJhdG9yIGlzIG5vdCBjcnlwdG9ncmFwaGljYWxseSBz ZWN1cmUuDQo+PiAgICAqDQo+PiAtICogSWYgY2FsbGVkIGZyb20gbGNvcmUgdGhyZWFkcywgdGhp cyBmdW5jdGlvbiBpcyB0aHJlYWQtc2FmZS4NCj4+ICsgKiBJZiBjYWxsZWQgZnJvbSBFQUwgdGhy ZWFkcyBvciByZWdpc3RlcmVkIG5vbi1FQUwgdGhyZWFkcywgdGhpcw0KPj4gZnVuY3Rpb24NCj4+ ICsgKiBpcyB0aHJlYWQtc2FmZS4NCj4+ICAgICoNCj4+ICAgICogQHJldHVybg0KPj4gICAgKiAg IEEgcHNldWRvLXJhbmRvbSB2YWx1ZSBiZXR3ZWVuIDAgYW5kICgxPDw2NCktMS4NCj4+IEBAIC01 NSw3ICs1Niw4IEBAIHJ0ZV9yYW5kKHZvaWQpOw0KPj4gICAgKiBUaGlzIGZ1bmN0aW9uIHJldHVy bnMgYW4gdW5pZm9ybWx5IGRpc3RyaWJ1dGVkICh1bmJpYXNlZCkgcmFuZG9tDQo+PiAgICAqIG51 bWJlciBsZXNzIHRoYW4gYSB1c2VyLXNwZWNpZmllZCBtYXhpbXVtIHZhbHVlLg0KPj4gICAgKg0K Pj4gLSAqIElmIGNhbGxlZCBmcm9tIGxjb3JlIHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gaXMgdGhy ZWFkLXNhZmUuDQo+PiArICogSWYgY2FsbGVkIGZyb20gRUFMIHRocmVhZHMgb3IgcmVnaXN0ZXJl ZCBub24tRUFMIHRocmVhZHMsIHRoaXMNCj4+IGZ1bmN0aW9uDQo+PiArICogaXMgdGhyZWFkLXNh ZmUuDQo+PiAgICAqDQo+PiAgICAqIEBwYXJhbSB1cHBlcl9ib3VuZA0KPj4gICAgKiAgIFRoZSB1 cHBlciBib3VuZCBvZiB0aGUgZ2VuZXJhdGVkIG51bWJlci4NCj4+IEBAIC03NSw3ICs3Nyw5IEBA IHJ0ZV9yYW5kX21heCh1aW50NjRfdCB1cHBlcl9ib3VuZCk7DQo+PiAgICAqIG51bWJlciB1bmlm b3JtbHkgZGlzdHJpYnV0ZWQgb3ZlciB0aGUgaW50ZXJ2YWwgWzAuMCwgMS4wKS4NCj4+ICAgICoN Cj4+ICAgICogVGhlIGdlbmVyYXRvciBpcyBub3QgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlLg0K Pj4gLSAqIElmIGNhbGxlZCBmcm9tIGxjb3JlIHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gaXMgdGhy ZWFkLXNhZmUuDQo+PiArICoNCj4+ICsgKiBJZiBjYWxsZWQgZnJvbSBFQUwgdGhyZWFkcyBvciBy ZWdpc3RlcmVkIG5vbi1FQUwgdGhyZWFkcywgdGhpcw0KPj4gZnVuY3Rpb24NCj4+ICsgKiBpcyB0 aHJlYWQtc2FmZS4NCj4+ICAgICoNCj4+ICAgICogQHJldHVybg0KPj4gICAgKiAgIEEgcHNldWRv LXJhbmRvbSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuMC4NCj4+IC0tDQo+PiAyLjM0LjENCj4+DQo+ IA0KPiBBIG5pY2UgaW1wcm92ZW1lbnQuDQo+IA0KPiBBY2tlZC1ieTogTW9ydGVuIEJyw7hydXAg PG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gDQo+IA0KDQpUaGFua3MgTW9ydGVuLg0KDQo+ IEhlcmUncyBzb21lIHNlcmlvdXMgZmVhdHVyZSBjcmVlcC4uLg0KPiANCj4gSW5zdGVhZCBvZiB1 c2luZyAic3RhdGljIHN0cnVjdCBydGVfcmFuZF9zdGF0ZSByYW5kX3N0YXRlc1tSVEVfTUFYX0xD T1JFICsgMV07Iiwgd2UgY291bGQgdXNlIHRocmVhZCBsb2NhbCBzdG9yYWdlICgiX190cmVhZCBy dGVfcmFuZF9zdGF0ZSByYW5kX3N0YXRlOyIpIHRvIGtlZXAgdGhlIHN0YXRlIHBlciBPL1MgdGhy ZWFkIChpbmRlcGVuZGVudCBvZiBsY29yZV9pZCBldGMuKSwgbWFraW5nIGl0IGNvbXBsZXRlbHkg dGhyZWFkIHNhZmUuDQo+IA0KPiBCdXQgdGhlbiwgaG93IGRvIHdlIHNlZWQgdGhlIHN0YXRlPw0K PiANCj4gQ3VycmVudGx5LCB3ZSB1c2UgdGhlIFJURV9JTklUKCkgY29uc3RydWN0b3IgYXR0cmli dXRlIHRvIHNlZWQgdGhlIGFycmF5IG9mIHJhbmRfc3RhdGVzOyBidXQgdGhlcmUgaXMgbm8gdGhy ZWFkIGNvbnN0cnVjdG9yIGF0dHJpYnV0ZS4gU28gaGVyZSBjb21lcyB0aGUgZmVhdHVyZSBjcmVl cDoNCj4gDQo+IEl0IHdvdWxkIGJlIHZlcnkgdXNlZnVsIHdpdGggUlRFX1RIUkVBRF9JTklUKCkv X0ZJTkkgY29uc3RydWN0b3IvZGVzdHJ1Y3RvciBtYWNyb3MsIHNvIGxpYnJhcmllcyBhbmQgYXBw bGljYXRpb25zIGNvdWxkIGRlZmluZSBmdW5jdGlvbnMgdG8gYmUgY2FsbGVkIGJ5IHRocmVhZF9m dW5jX3dyYXBwZXIoKSBiZWZvcmUvYWZ0ZXIgY2FsbGluZyB0cmVhZF9mdW5jLg0KPiANCj4gVXNp bmcgYXJyYXlzIGxpa2Ugc29tZV92YXJpYWJsZVtSVEVfTUFYX0xDT1JFICgrIDEpXSBpcyBjb21t b24gcHJhY3RpY2UgaW4gRFBESywgYnV0IG9ubHkgcmVhbGx5IHJlcXVpcmVkIGZvciB2YXJpYWJs ZXMgdGhhdCBhcmUgbm90IHByaXZhdGUgdG8gdGhlIHRocmVhZCwgaS5lLiB2YXJpYWJsZXMgdGhh dCBvdGhlciB0aHJlYWRzIG5lZWQgYWNjZXNzIHRvLg0KPiANCj4gUGVyLXRocmVhZCBjb25zdHJ1 Y3RvcnMvZGVzdHJ1Y3RvcnMgaXMgYSBnZW5lcmljIGZlYXR1cmUgc3VnZ2VzdGlvbiwgc28gcGxl YXNlIGRvbid0IGhvbGQgYmFjayB0aGlzIHJ0ZV9yYW5kb20gcGF0Y2ghDQo+IA0KDQpUaGUgcGVy Zm9ybWFuY2UgKENQVSAmIG1lbW9yeSkgaW1wbGljYXRpb25zIG9mIHVzaW5nIFRMUyBmb3IgdGhl IHdob2xlIA0KcGVyLXRocmVhZCBkYXRhIHN0cnVjdHVyZSAoYSBQUk5HIGluIHRoaXMgY2FzZSks IGFzIG9wcG9zZWQgdG8gdGhlIERQREsgDQpwYXR0ZXJuIG9mIGtlZXBpbmcganVzdCBhbiBwZXIt dGhyZWFkIGluZGV4IGluIFRMUyBhbmQgdGhlIHJlc3QgaW4gYW4gDQppbnN0YW5jZSBvZiBhIHN0 YXRpYyBhcnJheSwgaXMgdmVyeSB1bmNsZWFyIHRvIG1lLg0KDQpBIG1pZGRsZSBncm91bmQgd291 bGQgYmUgdG8ga2VlcCBvbmx5IGEgcG9pbnRlciBpbiBUTFMsIGFuZCBoYXZlIGEgbGF6eSANCmFs bG9jYXRpb24gb2YgYW4gaW5zdGFuY2UsIHdoZW4gbmVlZGVkLiBJIHRoaW5rIHlvdSBjb3VsZCBz b2x2ZSB0aGUgDQpzZWVkaW5nIGlzc3VlIGJ5IGhhdmluZyBhIGxvY2stcHJvdGVjdGVkIExDRyBm b3IgdGhlIHB1cnBvc2Ugb2Ygc2VlZGluZyANCihvbmx5KS4NCg0KRm9yIHJ0ZV9yYW5kb20uYyB0 aGlzIGlzIGhhaXIgc3BsaXR0aW5nLCBidXQgY29uc2lkZXJpbmcgdGhpcyBpcyBhIA0KZ2VuZXJh bCBwYXR0ZXJuLCBJIHRoaW5rIHRoZSBkaXNjdXNzaW9uIGlzIHJlbGV2YW50Lg0KDQo+IC1Nb3J0 ZW4NCj4gDQoNCg==