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 C0C48A00C2; Wed, 22 Apr 2020 22:14:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 266891C1D4; Wed, 22 Apr 2020 22:14:32 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80079.outbound.protection.outlook.com [40.107.8.79]) by dpdk.org (Postfix) with ESMTP id 59A111C13B for ; Wed, 22 Apr 2020 22:14:31 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZU2g9MCCIgfnIxHLbmZwzMi7DD+M341UwSpPUEOhDaTa340ISN9GCLjrEjW0PEmHhkRm/9eGu6AqH6uCOd2K+kZ4nmNNtToLF6DhZOP34zE3L7N2DqyS19fiQbhgLYvfhPu6HmLFoNHfXpNdOYbQCZobnjszZNjF8dBfVM7+v1773tcr7AnSuWu86l7TT9491PRzioFydJpniVFsqYK+7iSE9aJ3S2R1kVuW91gfkV6T9uvMzaHCkaXD+XIeVndJHKsvGH7UpmzzP9FqvmU5LCu04/CynCb9bO0y5NyQJ/Q5eJvqIhuKmj0aUTlG15uYk+pjZKcLM+XGuBwa8yk2bg== 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=pMFJWbi/vXTTSe2bi/wJDkRzHDXe40ZqxGaOJ+SISxA=; b=OI6CR/rzqs/cYGCra1EQQrz+sYrFb5cBdjwDJsPNwhbHAyh9TNIQ75026BQjaGya508Yc5aeOP0euVDAnSQGKXIxr4K2IG8cG7sxA9WAP/gdmfdoPrnA6wJ586KVMxegk2MaTF0ab1qL9DxBverMU0/A08yeo/zclj6gGlJIUmO5E9ZtnrWVeRDR2yV6APXkE3cbD8ZoOIbFI18wD493/hVN2728lO70nr8XxjnUckf1bBOhiGxR+kDC0B7Q28djuirRYZ76jaJtu7ilEZSJxCb7GA2SCgRBd4ct9kzKccVaFgEJiPVqgA5EnJbu+7MkMf9igjqh+uycNbKiLrO4gg== 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=pMFJWbi/vXTTSe2bi/wJDkRzHDXe40ZqxGaOJ+SISxA=; b=jyvTMkyz1fp+eZbn2IIHvscbDy9jHRkmjgr6aM6HTb8Y242c22/F+zOF8dc1dMXa+xZMsP8Hg07L+zPJa+eu27nBIHn0hGpxF40Fj6AFTjrlLErEILu4Cl9t2SWx0kdcsuY04daFvCsWymnrYZr1VhBjiFPTV4a1rX4lsediCh0= Received: from HE1PR07MB4284.eurprd07.prod.outlook.com (2603:10a6:7:9f::29) by HE1PR07MB3243.eurprd07.prod.outlook.com (2603:10a6:7:33::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.6; Wed, 22 Apr 2020 20:14:30 +0000 Received: from HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985]) by HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985%5]) with mapi id 15.20.2937.012; Wed, 22 Apr 2020 20:14:30 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Dan Gora CC: "dev@dpdk.org" , David Marchand , Jerin Jacob Thread-Topic: [PATCH 2/2] eal: resolve getentropy at run time for random seed Thread-Index: AQHWGBbnpsAMgpsIskSJw+C3jfMzDaiEz+sAgACbHACAACoRgA== Date: Wed, 22 Apr 2020 20:14:30 +0000 Message-ID: <80e5cf97-feae-c753-5c65-4f3b121729f3@ericsson.com> References: <20200421195446.1730-1-dg@adax.com> <20200421195446.1730-3-dg@adax.com> <5df15087-781e-d27f-b7d8-50b1b8cb0c94@ericsson.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=mattias.ronnblom@ericsson.com; x-originating-ip: [90.232.50.131] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 85c37263-dd12-4242-3c05-08d7e6f9c3f7 x-ms-traffictypediagnostic: HE1PR07MB3243: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 03818C953D x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4284.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(136003)(366004)(39860400002)(396003)(346002)(66946007)(76116006)(31696002)(2906002)(66476007)(186003)(66446008)(64756008)(66556008)(2616005)(71200400001)(66574012)(26005)(4326008)(6506007)(6486002)(6512007)(5660300002)(31686004)(85202003)(54906003)(8936002)(6916009)(81156014)(478600001)(8676002)(36756003)(53546011)(85182001)(86362001)(316002); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: y42QkDVE8GVxNwMrgfNhKQBpBtofpMqnmptkTvniB4WgpgIiljWCtkFW/KiNcb3Mk35ZSAjMUwiwyvu0BO7Bx4eSn9RiABtf9TPNZ+8E0Q6mrn6YLyvfuO8jHbV+NjWrInOJ4iyoGSMdotFRysMagjBBCtAnLQGIWQ1qOSUF4xKDX0bwUY5fvpp7p4QXvDYYI6TZUrvVvPqumimv5C0kX7cM8pDv7pHCoudAivUIGZYLVeHEO0xFOssRrXv8kJQ2r71YRNCfndMk30dTeYP3JOFilR2Cegvk3RysvfvgEmTIo+y4Qb2vewbV//ZMLooaADyoNAWjQ11JpRJmy/ElpBNs9sqnOcRRByJYItRUc3ZSFk41mKDWneGfqv9PxmdUX+Ak8CjDdGIUIRJ7ML0bgjbOU18JBZ9RDuiMVXW/AIZhxA8fK7EawNuCNmYAby+T x-ms-exchange-antispam-messagedata: FDYLgMQrbapv6XbrPatGn0ECed8bC6zVoQjiHLK8ywPzyCSRYiWF0xPjhmYvBnRmZc1cuS4RHh2PW7r3oza7kqB4AdMGvur/l+Ej5jM/yYj4bzhbR2gYGim8VBh5YlO287ZqOJjnl7H4jAlUkB9baJNGlAIuqvi0GNc+aHOpkWyCirPCXG6dnwmntbXU/RSfQvlMLxk8HBpDntXG+9FRez2ThvXu4aHUOYm2kQFNbFgaAjfr1Na+0GBlLKyy60P8tRhBfG4tLaPx3yjKTsGa3IEI8paSWAF0ajTo4useVriKI68TUmnt3S6GJdCJixkI2DrNjswCb3wJS4OnL/x2Z/6w0Jq+xRgw7nqGal/rrwAt3HzIXvd+DR9w4RSPpuuLOLHipyAyR5YckOCfB7pHjGh2suD/IRF3mkQLx8fZ+T0WBQ7GQLYnu5bgpeERwRtOs+p5SvSc65ZzKX5KjeV/wBD15TITtxMZAqJzuCM8bTxOYCbVG4RJ+SX4YVJyrFDpZfMJKlbkfxuHsej9vH0LKxDm6fWYUAlFwJYOgIt+XJR8TNjJa0GWkzGp7/5nUVWWPMjoqJKzcU+N+wYeCfr/YmnWU119qdVni/o/5nAJBZccQ32ZuxoynzDe/pzjpkw03THNIhjx1RR8Nw6Y5lmZcMelbpMgWJiWcGLlH2H0tqbG6tRo72HgHoxQ6FSGr+89v/wXM6PQGepbx9eBvUVapUqCyBCy+tqCjXRGLy2YU4BI/tWm1QOzHsfRTOX1J0DEuNr7nTntbJWlStCUGIKGUNHXqz6hyZdhCdmVDL5dOM8= x-ms-exchange-transport-forked: True 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-Network-Message-Id: 85c37263-dd12-4242-3c05-08d7e6f9c3f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2020 20:14:30.3640 (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: qlJlnMXaRjFloWq0o8Zy9j1rlR0yq35RPSkLHScFwjww0vc8Q8ZWjMG9h76T3ZmT9qcn8KqAtVu9BzPhhM+CwA6EZYCXzSLVkBirIBaqUmA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3243 Subject: Re: [dpdk-dev] [PATCH 2/2] eal: resolve getentropy at run time for random seed 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" T24gMjAyMC0wNC0yMiAxOTo0NCwgRGFuIEdvcmEgd3JvdGU6DQo+IE9uIFdlZCwgQXByIDIyLCAy MDIwIGF0IDU6MjggQU0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJsb21AZXJp Y3Nzb24uY29tPiB3cm90ZToNCj4+IE9uIDIwMjAtMDQtMjEgMjE6NTQsIERhbiBHb3JhIHdyb3Rl Og0KPj4+IFRoZSBnZXRlbnRyb3B5KCkgZnVuY3Rpb24gd2FzIGludHJvZHVjZWQgaW50byBnbGli YyB2Mi4yNSBhbmQgc28gaXMNCj4+PiBub3QgYXZhaWxhYmxlIG9uIGFsbCBzdXBwb3J0ZWQgcGxh dGZvcm1zLiAgUHJldmlvdXNseSwgaWYgRFBESyB3YXMNCj4+PiBjb21waWxlZCAodXNpbmcgbWVz b24pIG9uIGEgc3lzdGVtIHdoaWNoIGhhcyBnZXRlbnRyb3B5KCksIGl0IHdvdWxkDQo+Pj4gaW50 cm9kdWNlIGEgZGVwZW5kZW5jeSBvbiBnbGliYyB2Mi4yNSB3aGljaCB3b3VsZCBwcmV2ZW50IHRo YXQgYmluYXJ5DQo+Pj4gZnJvbSBydW5uaW5nIG9uIGEgc3lzdGVtIHdpdGggYW4gb2xkZXIgZ2xp YmMuICBTaW1pbGFybHkgaWYgRFBESyB3YXMNCj4+PiBjb21waWxlZCBvbiBhIHN5c3RlbSB3aGlj aCBkaWQgbm90IGhhdmUgZ2V0ZW50cm9weSgpLCBnZXRlbnRyb3B5KCkNCj4+PiBjb3VsZCBub3Qg YmUgdXNlZCBldmVuIGlmIHRoZSBleGVjdXRpb24gc3lzdGVtIHN1cHBvcnRlZCBpdC4NCj4+Pg0K Pj4+IEludHJvZHVjZSBhIG5ldyBzdGF0aWMgZnVuY3Rpb24sIF9fcnRlX2dldGVudHJvcHkoKSB3 aGljaCB3aWxsIHRyeSB0bw0KPj4+IHJlc29sdmUgdGhlIGdldGVudHJvcHkoKSBmdW5jdGlvbiBk eW5hbWljYWxseSB1c2luZyBkbG9wZW4oKS9kbHN5bSgpLA0KPj4+IHJldHVybmluZyBmYWlsdXJl IGlmIHRoZSBnZXRlbnRyb3B5KCkgZnVuY3Rpb24gY2Fubm90IGJlIHJlc29sdmVkIG9yDQo+Pj4g aWYgaXQgZmFpbHMuDQo+Pg0KPj4gVHdvIG90aGVyIG9wdGlvbnM6IHByb3ZpZGluZyBhIERQREst bmF0aXZlIHN5c2NhbGwgd3JhcHBlciBmb3INCj4+IGdldHJhbmRvbSgpLCBvciBmYWxsaW5nIGJh Y2sgdG8gcmVhZGluZyAvZGV2L3VyYW5kb20uIEhhdmUgeW91DQo+PiBjb25zaWRlcmVkIGFueSBv ZiB0aG9zZSB0d28gb3B0aW9ucz8gSWYgc28sIHdoeSBkbyB5b3UgcHJlZmVyDQo+PiBkbG9wZW4o KS9kbHN5bSgpPw0KPiBJIGRpZG4ndCBnaXZlIGFueSB0aG91Z2h0IGF0IGFsbCB0byB1c2luZyAv ZGV2L3VyYW5kb20uICBUaGUgZ29hbCB3YXMNCj4gbm90IHJlYWxseSB0byBjaGFuZ2UgaG93IHRo ZSB0aGluZyB3b3JrZWQsIGp1c3QgdG8gcmVtb3ZlIHRoZQ0KPiBkZXBlbmRlbmN5IG9uIGdsaWJj IDIuMjUuDQoNCg0KL2Rldi91cmFuZG9tIGlzIGJhc2ljYWxseSBvbmx5IGEgZGlmZmVyZW50IGlu dGVyZmFjZSB0byB0aGUgc2FtZSANCnVuZGVybHlpbmcgbWVjaGFuaXNtLg0KDQpTdWNoIGFuIGFs dGVybmF0aXZlIHdvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2U6DQoNCnN0YXRpYyBpbnQNCmdldGVu dHJvcHkodm9pZCAqYnVmZmVyLCBzaXplX3QgbGVuZ3RoKQ0Kew0KIMKgwqDCoMKgwqDCoMKgIGlu dCByYyA9IC0xOw0KIMKgwqDCoMKgwqDCoMKgIGludCBvbGRfZXJybm8gPSBlcnJubzsNCiDCoMKg wqDCoMKgwqDCoCBpbnQgZmQ7DQoNCiDCoMKgwqDCoMKgwqDCoCBmZCA9IG9wZW4oIi9kZXYvdXJh bmRvbSIsIE9fUkRPTkxZKTsNCg0KIMKgwqDCoMKgwqDCoMKgIGlmIChmZCA8IDApDQogwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Ow0KDQogwqDCoMKgwqDCoMKgwqAgaWYg KHJlYWQoZmQsIGJ1ZmZlciwgbGVuZ3RoKSAhPSBsZW5ndGgpDQogwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gb3V0X2Nsb3NlOw0KDQogwqDCoMKgwqDCoMKgwqAgcmMgPSAwOw0K DQpvdXRfY2xvc2U6DQogwqDCoMKgwqDCoMKgwqAgY2xvc2UoZmQpOw0Kb3V0Og0KIMKgwqDCoMKg wqDCoMKgIGVycm5vID0gb2xkX2Vycm5vOw0KDQogwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJjOw0K fQ0KDQoNCj4gVXNpbmcgYSBzeXNjYWxsIHdyYXBwZXIgaXMgbm90IHJlYWxseSBnb2luZyB0byBi ZSBhbnkgZWFzaWVyLCBhbmQgaW4NCj4gZmFjdCBwcm9iYWJseSBtb3JlIGNvbXBsaWNhdGVkLiAg SGVyZSBpcyB0aGUgY29kZSBpbiBnbGliYyBmb3INCj4gZ2V0ZW50cm9weSgpOg0KPg0KPiBpbnQN Cj4gZ2V0ZW50cm9weSAodm9pZCAqYnVmZmVyLCBzaXplX3QgbGVuZ3RoKQ0KPiB7DQo+ICAgIC8q IFRoZSBpbnRlcmZhY2UgaXMgZG9jdW1lbnRlZCB0byByZXR1cm4gRUlPIGZvciBidWZmZXIgbGVu Z3Rocw0KPiAgICAgICBsb25nZXIgdGhhbiAyNTYgYnl0ZXMuICAqLw0KPiAgICBpZiAobGVuZ3Ro ID4gMjU2KQ0KPiAgICAgIHsNCj4gICAgICAgIF9fc2V0X2Vycm5vIChFSU8pOw0KPiAgICAgICAg cmV0dXJuIC0xOw0KPiAgICAgIH0NCj4NCj4gICAgLyogVHJ5IHRvIGZpbGwgdGhlIGJ1ZmZlciBj b21wbGV0ZWx5LiAgRXZlbiB3aXRoIHRoZSAyNTYgYnl0ZSBsaW1pdA0KPiAgICAgICBhYm92ZSwg d2UgbWlnaHQgc3RpbGwgcmVjZWl2ZSBhbiBFSU5UUiBlcnJvciAod2hlbiBibG9ja2luZw0KPiAg ICAgICBkdXJpbmcgYm9vdCkuICAqLw0KPiAgICB2b2lkICplbmQgPSBidWZmZXIgKyBsZW5ndGg7 DQo+ICAgIHdoaWxlIChidWZmZXIgPCBlbmQpDQo+ICAgICAgew0KPiAgICAgICAgLyogTkI6IE5v IGNhbmNlbGxhdGlvbiBwb2ludC4gICovDQo+ICAgICAgICBzc2l6ZV90IGJ5dGVzID0gSU5MSU5F X1NZU0NBTExfQ0FMTCAoZ2V0cmFuZG9tLCBidWZmZXIsIGVuZCAtIGJ1ZmZlciwgMCk7DQo+ICAg ICAgICBpZiAoYnl0ZXMgPCAwKQ0KPiAgICAgICAgICB7DQo+ICAgICAgICAgICAgaWYgKGVycm5v ID09IEVJTlRSKQ0KPiAgICAgICAgICAgICAgLyogVHJ5IGFnYWluIGlmIGludGVycnVwdGVkIGJ5 IGEgc2lnbmFsLiAgKi8NCj4gICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiAgICAgICAgICAgIGVs c2UNCj4gICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gICAgICAgICAgfQ0KPiAgICAgICAgaWYg KGJ5dGVzID09IDApDQo+ICAgICAgICAgIHsNCj4gICAgICAgICAgICAvKiBObyBtb3JlIGJ5dGVz IGF2YWlsYWJsZS4gIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW5kZXINCj4gICAgICAgICAgICAg ICBub3JtYWwgY2lyY3Vtc3RhbmNlcy4gICovDQo+ICAgICAgICAgICAgX19zZXRfZXJybm8gKEVJ Tyk7DQo+ICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAgICAgICAgICB9DQo+ICAgICAgICAvKiBU cnkgYWdhaW4gaW4gY2FzZSBvZiBhIHNob3J0IHJlYWQuICAqLw0KPiAgICAgICAgYnVmZmVyICs9 IGJ5dGVzOw0KPiAgICAgIH0NCj4gICAgcmV0dXJuIDA7DQo+IH0NCj4NCj4gX19ydGVfZ2V0ZW50 cm9weSgpIGlzIGVhc2llciB0aGFuIHRoaXMuICBQbHVzIHRoZSBzeXNjYWxsIGludGVyZmFjZQ0K PiBkb2VzIG5vdCBzb2x2ZSB0aGUgcHJvYmxlbSBvZiBiZWluZyBhYmxlIHRvIGNvbXBpbGUgb24g YSBzeXN0ZW0gd2l0aA0KPiB0aGUgc3lzY2FsbCBhbmQgcnVuIGl0IG9uIGEgc3lzdGVtIHdpdGhv dXQgaXQgb3IgdmljZSB2ZXJzYSwgd2hpY2ggaXMNCj4gd2hhdCBJIHdhcyB0cnlpbmcgdG8gc29s dmUuDQo+DQo+PiBGYWlsdXJlIHRvIHJ1biBvbiBvbGQgbGliYyBzZWVtcyBsaWtlIGEgbm9uLWlz c3VlIHRvIG1lLg0KPiBXZWxsLCBhZ2FpbiwgaXQncyBhIG5ldyBkZXBlbmRlbmN5IHRoYXQgZGlk bid0IGV4aXN0IGJlZm9yZS4uIFdlIHNlbGwNCj4gdG8gdGVsY28gY3VzdG9tZXJzLCBzbyB3ZSBo YXZlIHRvIHN1cHBvcnQgMTBzIG9mIGRpZmZlcmVudCB0YXJnZXQNCj4gcGxhdGZvcm1zIG9mIHZh cmlvdXMgYWdlcy4gIElmIHRoZXkgdXBkYXRlIHRoZWlyIHN5c3RlbSwgd2UnZCBoYXZlIHRvDQo+ IHJlY29tcGlsZSBvdXIgY29kZSB0byBiZSBhYmxlIHRvIHVzZSBnZXRlbnRyb3B5KCkuICBTaW1p bGFybHksIGlmIHdlDQo+IGNvbXBpbGVkIG9uIGEgc3lzdGVtIHdoaWNoIGhhcyBnZXRlbnRyb3B5 KCksIGJ1dCB0aGUgdGFyZ2V0IHN5c3RlbQ0KPiBkb2Vzbid0LCB0aGVuIHRoZXkgY2Fubm90IHJ1 biBvdXIgYmluYXJ5IGJlY2F1c2Ugb2YgdGhlIGdsaWJjIDIuMjUNCj4gZGVwZW5kZW5jeS4gIFRo YXQgbWVhbnMgdGhhdCB3ZSBoYXZlIHRvIGhhdmUgc2VwYXJhdGUgdmVyc2lvbnMgd2l0aA0KPiBh bmQgd2l0aG91dCBnZXRlbnRyb3B5KCkuICBJdCdzIGEgbWFpbnRlbmFuY2UgaGVhZGFjaGUgZm9y IG5vIHJlYWwNCj4gYmVuZWZpdC4NCg0KDQpJJ20gbm90IHN1cmUgSSBmb2xsb3cuIFdoeSB3b3Vs ZCB5b3UgbmVlZCB0byByZWNvbXBpbGUgRFBESyBpbiBjYXNlIHRoZXkgDQp1cGdyYWRlIHRoZWly IHN5c3RlbT8gSXQgc291bmRzIGxpa2UgeW91IGNhcmUgYWJvdXQgaW5pdGlhbCBzZWVkaW5nLCAN CnNpbmNlIHlvdSB3YW50IGdldGVudHJvcHkoKSBpZiBpdCBleGlzdHMsIGJ1dCB0aGVuIGluIHRo ZSBuZXh0IHBhcmFncmFwaCANCnlvdSB3YW50IHRvIHRocm93IGl0IG91dCwgc28gSSdtIGEgbGl0 dGxlIGNvbmZ1c2VkLg0KDQoNCldoeSBkb2Vzbid0IHRoZSBzdGFuZGFyZCBwcmFjdGljZSBvZiBj b21waWxpbmcgYWdhaW5zdCB0aGUgb2xkZXN0IA0Kc3VwcG9ydGVkIGxpYmMgd29yayBmb3IgeW91 Pw0KDQoNCj4gVG8gbXkgbWluZCwgc2luY2UgZ2V0ZW50cm9weSgpIGNhbiBibG9jayBpdCBzZWVt cyBsaWtlIGl0IHdvdWxkDQo+IHByb2JhYmx5IGJlIGJldHRlciB0byBqdXN0IHJlbW92ZSBpdCBl bnRpcmVseSwgYnV0IEkgc3VwcG9zZSB0aGF0J3MgdXANCj4gdG8gdGhlIHBlcnNvbihzKSB3aG8g cHV0IGl0IGluIGluIHRoZSBmaXJzdCBwbGFjZS4NCg0KDQpNYXliZSBJJ20gd3JvbmcsIGJ1dCBJ IGZvdW5kIGl0IHVubGlrZWx5IHRoYXQgYSBEUERLIGFwcGxpY2F0aW9uIHdvdWxkIA0Kc3RhcnQg YmVmb3JlIHRoZSBlbnRyb3B5IHBvb2wgd2FzIGluaXRpYWxpemVkLiBBZnRlciB0aGlzIHBvaW50 LCANCmdldGVudHJvcHkoKSB3aWxsIG5vdCBibG9jay4gRG8geW91IGNvbnNpZGVyIHRoaXMgYSBy ZWFsIHByb2JsZW0/DQoNCg0KPj4+IFRoaXMgYWxzbyBhbGxvd3MgZ2V0ZW50cm9weSgpIHRvIGJl IHVzZWQgYXMgdGhlIHJhbmRvbSBzZWVkIHNvdXJjZQ0KPj4+IHdoZW4gdGhlIHRyYWRpdGlvbmFs IE1ha2VmaWxlIGJ1aWxkIGZvciBEUERLIGlzIHVzZWQuDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5 OiBEYW4gR29yYSA8ZGdAYWRheC5jb20+DQo+Pj4gLS0tDQo+Pj4gICAgbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL3J0ZV9yYW5kb20uYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQ0K Pj4+ICAgIGxpYi9saWJydGVfZWFsL21lc29uLmJ1aWxkICAgICAgICAgfCAgMyAtLS0NCj4+PiAg ICAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pDQo+Pj4N Cj4+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYyBiL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9ydGVfcmFuZG9tLmMNCj4+PiBpbmRleCBkZjAyZjEzMDcuLmY4 MjAzZjRjNyAxMDA2NDQNCj4+PiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24vcnRlX3JhbmRv bS5jDQo+Pj4gKysrIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYw0KPj4+IEBA IC03LDYgKzcsNyBAQA0KPj4+ICAgICNlbmRpZg0KPj4+ICAgICNpbmNsdWRlIDxzdGRsaWIuaD4N Cj4+PiAgICAjaW5jbHVkZSA8dW5pc3RkLmg+DQo+Pj4gKyNpbmNsdWRlIDxkbGZjbi5oPg0KPj4+ DQo+Pj4gICAgI2luY2x1ZGUgPHJ0ZV9icmFuY2hfcHJlZGljdGlvbi5oPg0KPj4+ICAgICNpbmNs dWRlIDxydGVfY3ljbGVzLmg+DQo+Pj4gQEAgLTE3NiwxOCArMTc3LDM4IEBAIHJ0ZV9yYW5kX21h eCh1aW50NjRfdCB1cHBlcl9ib3VuZCkNCj4+PiAgICAgICAgcmV0dXJuIHJlczsNCj4+PiAgICB9 DQo+Pj4NCj4+PiArLyogVHJ5IHRvIHVzZSB0aGUgZ2V0ZW50cm9weSgpIGZ1bmN0aW9uIGZyb20g Z2xpYmMgPj0gMi4yNSAqLw0KPj4+ICtzdGF0aWMgaW50DQo+Pj4gK19fcnRlX2dldGVudHJvcHko dWludDY0X3QgKmdlX3NlZWQpDQo+Pj4gK3sNCj4+PiArICAgICB2b2lkICpoYW5kbGUgPSBOVUxM Ow0KPj4+ICsgICAgIHZvaWQgKipzeW07DQo+Pj4gKyAgICAgaW50ICgqZ2V0ZW50cm9weV9wKSh2 b2lkICpfX2J1ZmZlciwgc2l6ZV90IF9fbGVuZ3RoKTsNCj4+PiArICAgICBpbnQgZ2NfcmM7DQo+ Pj4gKw0KPj4+ICsgICAgIGhhbmRsZSA9IGRsb3BlbigibGliYy5zby42IiwgUlRMRF9MQVpZKTsN Cj4+PiArICAgICBpZiAoIWhhbmRsZSkNCj4+ICE9IE5VTEwNCj4+PiArICAgICAgICAgICAgIHJl dHVybiAtMTsNCj4+PiArDQo+Pj4gKyAgICAgc3ltID0gZGxzeW0oaGFuZGxlLCAiZ2V0ZW50cm9w eSIpOw0KPj4+ICsgICAgIGlmICghc3ltIHx8ICEqc3ltKQ0KPj4gIT0gTlVMTCBhZ2Fpbg0KPj4N Cj4+DQo+PiBkbHN5bSgpIHJldHVybnMgYSAidm9pZCAqIi4gVGhlIG1hbiBwYWdlIHNheXMgbm90 aGluZyBhYm91dA0KPj4gZGUtcmVmZXJlbmNpbmcgaXQuIElzIHRoYXQgYWxsb3dlZD8NCj4gVGhp cyB3YXMgYmxpbmRseSBzdG9sZW4gZnJvbSBtbHg1X2NvbW1vbi5jLCBzbyBibGFtZSB0aGVtIDpQ DQo+DQo+Pj4gKyAgICAgICAgICAgICAvKiBDYW5ub3QgcmVzb2x2ZSBnZXRlbnRyb3B5ICovDQo+ Pj4gKyAgICAgICAgICAgICByZXR1cm4gLTE7DQo+PiBNaXNzaW5nIGEgZGxjbG9zZSgpDQo+IFRo aXMgd2FzIGZpeGVkIGluIHZlcnNpb24gMiBvZiBteSBwYXRjaC4uLg0KDQoNCg==