From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12036C04AB4 for ; Sun, 19 May 2019 16:58:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AE732206BF for ; Sun, 19 May 2019 16:58:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="H6Wm9ECy" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726384AbfESQ6W (ORCPT ); Sun, 19 May 2019 12:58:22 -0400 Received: from mail-eopbgr150081.outbound.protection.outlook.com ([40.107.15.81]:8771 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725766AbfESQ6V (ORCPT ); Sun, 19 May 2019 12:58:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uLb95Ki09w6iBLE8/m2e9Uf+cbpxLNsxuzflbqutg2w=; b=H6Wm9ECy6j/87vZd4nEZ4JC2kCosa1WFTYV4xA295LDICoCqNMFQV/mmtusmAFkcvoKpFYYvrFvm2e5pEguvuUwoCMpBYxNC1QsyZ2S+Xwb/cpENjXXFCojqG7k3V24gxTunjoQUd2YG3gmxlzEiienrf41Rp1IFLVpAD3MypFU= Received: from AM6PR05MB5460.eurprd05.prod.outlook.com (20.177.118.158) by AM6PR05MB4151.eurprd05.prod.outlook.com (52.135.160.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.16; Sun, 19 May 2019 06:24:36 +0000 Received: from AM6PR05MB5460.eurprd05.prod.outlook.com ([fe80::e5a4:1b66:c270:54cf]) by AM6PR05MB5460.eurprd05.prod.outlook.com ([fe80::e5a4:1b66:c270:54cf%4]) with mapi id 15.20.1900.020; Sun, 19 May 2019 06:24:36 +0000 From: Boris Pismenny To: Jakub Kicinski CC: "davem@davemloft.net" , "netdev@vger.kernel.org" , "oss-drivers@netronome.com" , "alexei.starovoitov@gmail.com" , "davejwatson@fb.com" , "john.fastabend@gmail.com" , "vakul.garg@nxp.com" , Alexei Starovoitov , Tariq Toukan Subject: Re: [PATCH net 3/3] Documentation: add TLS offload documentation Thread-Topic: [PATCH net 3/3] Documentation: add TLS offload documentation Thread-Index: AQHVC16h9YJXMHa6DE+1D71N8ObN16ZtqX4AgABhQACAA/WQgA== Date: Sun, 19 May 2019 06:24:36 +0000 Message-ID: References: <20190515204123.5955-1-jakub.kicinski@netronome.com> <20190515204123.5955-4-jakub.kicinski@netronome.com> <2ca1ad39-b2a1-7f40-4bf6-69a1c9f13cc0@mellanox.com> <20190516105652.36c81a1a@cakuba.netronome.com> In-Reply-To: <20190516105652.36c81a1a@cakuba.netronome.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR08CA0030.eurprd08.prod.outlook.com (2603:10a6:20b:c0::18) To AM6PR05MB5460.eurprd05.prod.outlook.com (2603:10a6:20b:5b::30) authentication-results: spf=none (sender IP is ) smtp.mailfrom=borisp@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5c47802c-fbb0-4a39-8735-08d6dc22aa41 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:AM6PR05MB4151; x-ms-traffictypediagnostic: AM6PR05MB4151: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 00429279BA x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(136003)(366004)(346002)(396003)(39850400004)(189003)(199004)(51444003)(53936002)(26005)(31686004)(7736002)(6116002)(3846002)(81166006)(8936002)(81156014)(8676002)(305945005)(14454004)(2906002)(478600001)(316002)(68736007)(66556008)(66476007)(6486002)(6512007)(6436002)(66446008)(64756008)(36756003)(73956011)(66946007)(5660300002)(229853002)(6916009)(99286004)(256004)(14444005)(71200400001)(71190400001)(86362001)(76176011)(52116002)(54906003)(4326008)(186003)(66066001)(11346002)(107886003)(31696002)(102836004)(6246003)(25786009)(486006)(2616005)(476003)(446003)(386003)(6506007)(53546011);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4151;H:AM6PR05MB5460.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: iAae+18rarHT3dXsFjKe5sgEs8pKTBrPwHsWv/iH0qwLyNI0w3BX05q+gWfk7S4KMmaehOWhkqzEfCiD5cSiYrwi2u3XTp8VP41C/rZGgXfyP+YSpGEKkNkcDDNkNxPyOyuKap6oJ+/PCDytRDPVdpEJkr3X0v0K6IQDVxqxxpjwhlEdT8TGkOBdJ2tsYNagGMrax6oSuC5KXzgmkEi4vVDASVemA5V2qkALwPaqmd6I4ocJSHV4jbHifD6SornGOzl13/UNrh6x3zc8iWzMZ1LLFeqPoGHnGxQDT2trDDbySmw1NxIQUHGtEjqXtn8c/a0Qy7g6z+gFG3qDZy9AQxmq0QPjYbblOXnfGXGRzYsmJh4nEIBRcksAWEmzCzKsvw6fvOiH3JOLkT2kBhnmoVO0tZ9qySdOyBV5HlOFt0c= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c47802c-fbb0-4a39-8735-08d6dc22aa41 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 May 2019 06:24:36.5622 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4151 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDUvMTYvMjAxOSA4OjU2IFBNLCBKYWt1YiBLaWNpbnNraSB3cm90ZToNCj4gT24gVGh1 LCAxNiBNYXkgMjAxOSAwOTowODo1MiArMDAwMCwgQm9yaXMgUGlzbWVubnkgd3JvdGU6DQo+Pj4g ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy90bHMtb2ZmbG9hZC5yc3QgYi9E b2N1bWVudGF0aW9uL25ldHdvcmtpbmcvdGxzLW9mZmxvYWQucnN0DQo+Pj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjMyZmVjYjNmYmM0Yw0KPj4+IC0tLSAv ZGV2L251bGwNCj4+PiArKysgYi9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvdGxzLW9mZmxvYWQu cnN0DQo+Pj4gQEAgLTAsMCArMSw0MzggQEANCg0KPj4+ICtSWA0KPj4+ICstLQ0KPj4+ICsNCj4+ PiArQmVmb3JlIGEgcGFja2V0IGlzIERNQWVkIHRvIHRoZSBob3N0IChidXQgYWZ0ZXIgTklDJ3Mg ZW1iZWRkZWQgc3dpdGNoaW5nDQo+Pj4gK2FuZCBwYWNrZXQgdHJhbnNmb3JtYXRpb24gZnVuY3Rp b25zKSB0aGUgZGV2aWNlIHBlcmZvcm1zIGEgNS10dXBsZSBsb29rdXANCj4+PiArdG8gZmluZCBh bnkgVExTIGNvbm5lY3Rpb24gdGhlIHBhY2tldCBtYXkgYmVsb25nIHRvICh0ZWNobmljYWxseSBh IDQtdHVwbGUNCj4+PiArbG9va3VwIGlzIHN1ZmZpY2llbnQgLSBJUCBhZGRyZXNzZXMgYW5kIFRD UCBwb3J0IG51bWJlcnMsIGFzIHRoZSBwcm90b2NvbA0KPj4+ICtpcyBhbHdheXMgVENQKS4gSWYg Y29ubmVjdGlvbiBpcyBtYXRjaGVkIGRldmljZSBjb25maXJtcyBpZiB0aGUgVENQIHNlcXVlbmNl DQo+Pj4gK251bWJlciBpcyB0aGUgZXhwZWN0ZWQgb25lIGFuZCBwcm9jZWVkcyB0byBUTFMgaGFu ZGxpbmcgKHJlY29yZCBkZWxpbmVhdGlvbiwNCj4+PiArZGVjcnlwdGlvbiwgYXV0aGVudGljYXRp b24gZm9yIGVhY2ggcmVjb3JkIGluIHRoZSBwYWNrZXQpLg0KPj4+ICsNCj4+PiArSWYgZGVjcnlw dGlvbiBvciBhdXRoZW50aWNhdGlvbiBmYWlscyBmb3IgYW55IHJlY29yZCBpbiB0aGUgcGFja2V0 LCB0aGUgcGFja2V0DQo+Pj4gK211c3QgYmUgcGFzc2VkIHRvIHRoZSBob3N0IGFzIGl0IHdhcyBy ZWNlaXZlZCBvbiB0aGUgd2lyZS4gVGhpcyBtZWFucyBwYWNrZXRzDQo+Pg0KPj4gVGhpcyBpcyBu b3Qgbm9ybWFsIG1vZGUgb2Ygb3BlcmF0aW9uLCBidXQgcmF0aGVyIGFuIGVycm9yIGhhbmRsaW5n DQo+PiBkZXNjcmlwdGlvbi4gUGxlYXNlIHRyeSB0byBkZXNjcmliZSBvbmx5IHRoZSBnb29kIGZs b3cgaGVyZSwgYW5kIGxlYXZlDQo+PiB0aGUgZXJyb3JzIGZvciBhIHNlcGFyYXRlIHNlY3Rpb24u DQo+IA0KPiBOb3JtYWwgYXMgZGV2aWNlIGlzIGluIHN5bmMgd2l0aCB0aGUgc3RyZWFtIHZzIHRo ZSBSZXN5bmMgaGFuZGxpbmcNCj4gc2VjdGlvbi4gIEl0IGlzIG5vdCBjbGVhciBmcm9tIHRoZSBu YW1lLCB5b3UncmUgcmlnaHQsIEkgd2lsbCB0cnkNCj4gdG8gc3BsaXQgZnVydGhlciBhbmQgc2Vl IGhvdyBpdCB0dXJucyBvdXQuDQo+IA0KDQpCdXQgaXQgaXMgbm90IG5vcm1hbCwgYXMgZGVjcnlw dGlvbiBvciBhdXRoZW50aWNhdGlvbiBmYWlsdXJlIGFyZSBub3QgDQpub3JtYWwuIFN1Y2ggYSBw YWNrZXQgaXMgYm91bmQgdG8gdGVybWluYXRlIHRoZSBUTFMgY29ubmVjdGlvbiBhbmQgDQpmb3Jj aW5nIGhhcmR3YXJlIHRvIHJlLWVuY3J5cHQgaXQgaXMgdG9vIHN0cmljdCBJTU8uIEluc3RlYWQs IEkgdGhpbmsgDQp0aGF0IGFzIGxvbmcgYXMgdGhlIGRyaXZlciBjYW4gcHJvdmlkZSB0aGUgc3Rh Y2sgd2l0aCB0aGUgb3JpZ2luYWwgDQpwYWNrZXQgaW4gdGhpcyBjYXNlLCB0aGVuIGl0IGlzIGdv b2QgZW5vdWdoLg0KDQo+Pj4gK3Nob3VsZCBub3QgYmUgbW9kaWZpZWQgImluIHBsYWNlIi4gU3Bs aXR0aW5nIHNlZ21lbnRzIHRvIGhhbmRsZSBwYXJ0aWFsDQo+Pj4gK2RlY3J5cHRpb24gaXMgbm90 IGFkdmlzZWQuIEluIG90aGVyIHdvcmRzIGVpdGhlciBhbGwgcmVjb3JkcyBpbiB0aGUgcGFja2V0 DQo+Pj4gK2hhZCBiZWVuIGhhbmRsZWQgc3VjY2Vzc2Z1bGx5IGFuZCBhdXRoZW50aWNhdGVkIG9y IHRoZSBwYWNrZXQgaGFzIHRvIGJlIHBhc3NlZA0KPj4+ICt0byB0aGUgaG9zdCBhcyBpdCB3YXMg b24gdGhlIHdpcmUuIFRoZSBkZXZpY2UgY29tbXVuaWNhdGVzIHdoZXRoZXIgdGhlIHBhY2tldA0K Pj4+ICt3YXMgc3VjY2Vzc2Z1bGx5IGRlY3J5cHRlZCBpbiB0aGUgcGVyLXBhY2tldCBjb250ZXh0 IChkZXNjcmlwdG9yKSBwYXNzZWQNCj4+PiArdG8gdGhlIGhvc3QuDQo+Pj4gKw0KPj4+ICtUaGUg ZGV2aWNlIGxlYXZlcyB0aGUgcmVjb3JkIGZyYW1pbmcgdW5tb2RpZmllZCwgdGhlIHN0YWNrIHRh a2VzIGNhcmUgb2YNCj4+PiArcmVjb3JkIGRlY2Fwc3VsYXRpb24uDQo+Pj4gKw0KPj4+ICtVcG9u IHJlY2VwdGlvbiBvZiBhIFRMUyBvZmZsb2FkZWQgcGFja2V0LCB0aGUgZHJpdmVyIHNldHMNCj4+ PiArdGhlIDpjOm1lbWJlcjpgZGVjcnlwdGVkYCBtYXJrIGluIDpjOnR5cGU6YHN0cnVjdCBza19i dWZmIDxza19idWZmPmANCj4+PiArY29ycmVzcG9uZGluZyB0byB0aGUgc2VnbWVudC4gTmV0d29y a2luZyBzdGFjayBtYWtlcyBzdXJlIGRlY3J5cHRlZA0KPj4+ICthbmQgbm9uLWRlY3J5cHRlZCBz ZWdtZW50cyBkbyBub3QgZ2V0IGNvYWxlc2NlZCBhbmQgdGFrZXMgY2FyZSBvZiBwYXJ0aWFsDQo+ Pj4gK2RlY3J5cHRpb24uDQo+Pg0KPj4gUGxlYXNlIG1lbnRpb24gY2hlY2tzdW0gaGFuZGxpbmcg YXMgd2VsbC4gSXQgd291bGQgbm90IG1ha2UgYW55IHNlbnNlIHRvDQo+PiB1c2UgQ0hFQ0tTVU1f Q09NUExFVEUgaGVyZS4gSW5zdGVhZCwgQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgc2hvdWxkIGJlDQo+ PiBleHBlY3RlZC4NCj4gDQo+IEkgd2FzIG9uIHRoZSBmZW5jZSBhYm91dCBhZGRpbmcgdGhlIGNo ZWNrc3VtIGluZm8uICBJIGhhZCB0aGUgZmVlbGluZw0KPiB0aGF0IGV2ZW4gZm9yIENIRUNLU1VN X1VOTkVDRVNTQVJZIGl0J3MgZmFpcmx5IHN0cmFuZ2UgdG8gcGFzcyBtYW5nbGVkDQo+IHBhY2tl dHMuICBMb29raW5nIGF0IHNrYnVmZi5oIHRoZSBjaGVja3N1bSBkb2Mgc3RhdGVzOg0KPiANCj4g ICAqIENIRUNLU1VNX1VOTkVDRVNTQVJZOg0KPiAgICoNCj4gICAqICAgVGhlIGhhcmR3YXJlIHlv dSdyZSBkZWFsaW5nIHdpdGggZG9lc24ndCBjYWxjdWxhdGUgdGhlIGZ1bGwgY2hlY2tzdW0NCj4g ICAqICAgKGFzIGluIENIRUNLU1VNX0NPTVBMRVRFKSwgYnV0IGl0IGRvZXMgcGFyc2UgaGVhZGVy cyBhbmQgdmVyaWZ5IGNoZWNrc3Vtcw0KPiAgICogICBmb3Igc3BlY2lmaWMgcHJvdG9jb2xzLiBG b3Igc3VjaCBwYWNrZXRzIGl0IHdpbGwgc2V0IENIRUNLU1VNX1VOTkVDRVNTQVJZDQo+ICAgKiAg IGlmIHRoZWlyIGNoZWNrc3VtcyBhcmUgb2theS4gc2tiLT5jc3VtIGlzIHN0aWxsIHVuZGVmaW5l ZCBpbiB0aGlzIGNhc2UNCj4gICAqICAgdGhvdWdoLiBBIGRyaXZlciBvciBkZXZpY2UgbXVzdCBu ZXZlciBtb2RpZnkgdGhlIGNoZWNrc3VtIGZpZWxkIGluIHRoZQ0KPiAgICogICBwYWNrZXQgZXZl biBpZiBjaGVja3N1bSBpcyB2ZXJpZmllZC4NCj4gDQo+IE15IHJlYWRpbmcgb2YgdGhlIGxhc3Qg c2VudGVuY2UgaXM6IHRoZSBjaGVja3N1bSBpbiB0aGUgcGFja2V0IG11c3QNCj4gc3RpbGwgYmUg Y29ycmVjdCAoYmFzZWQgb24gdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyBjb21tZW50IHdhcw0K PiB3cml0dGVuLCB3aGljaCB3YXMgaW4gdGhlIGRheXMgb2YgVURQIHR1bm5lbCBvZmZsb2FkIHdv cmspLg0KPiBJT1cgVU5ORUNFU1NBUlkgZG9lc24ndCBtZWFuICJkb24ndCBsb29rIGF0IHRoZSBj aGVja3N1bSBmaWVsZCIsDQo+IGl0IG1lYW5zICJJJ3ZlIGxvb2tlZCBhdCB0aGUgY2hlY2tzdW0g ZmllbGQgYW5kIGl0J3MgY29ycmVjdCIuDQo+IA0KDQpUaGlzIGludGVycHJldGF0aW9uIGlzIGZh ciBmcm9tIHRoZSB0ZXh0IC0gIkEgZHJpdmVyIG9yIGRldmljZSBtdXN0IA0KbmV2ZXIgbW9kaWZ5 IHRoZSBjaGVja3N1bSBmaWVsZCIuIElmIGl0IGlzIGNvcnJlY3QsIHRoZW4gaXQgbmVlZHMgdG8g YmUgDQpmaXhlZC4gTW9yZW92ZXIsIG9uZSBjb3VsZCBjb25zaWRlciB0aGUgY2hlY2tzdW0gZmll bGQgdG8gYmUgY29ycmVjdCwgDQpiZWNhdXNlIHRoZSBlbmNyeXB0aW9uIGNhbiBiZSByZXZlcnRl ZCBieSB0aGUgc29ja2V0L2RyaXZlciBvbiBkZW1hbmQuDQoNCkFGQUlVLCBDSEVDS1NVTV9VTk5F Q0VTU0FSWSBpcyBleGFjdGx5IGZvciBjYXNlcyBsaWtlIHRoaXMsIHdoZXJlIHRoZSANCmhhcmR3 YXJlIG1pZ2h0IGhhdmUgbWFuZ2xlZCB0aGUga25vd24gcGF5bG9hZC9oZWFkZXJzLiBCdXQgaXQg dmVyaWZpZWQgDQp0aGUgY2hlY2tzdW0gYmVmb3JlIGRvaW5nIHNvLiBBcyBhIHJlc3VsdCwgY2hl Y2tzdW0gZmllbGRzIG1pZ2h0IGJlIA0Kd3JvbmcgKGJ1dCB1bm1vZGlmaWVkKSwgYW5kIHNldHRp bmcgQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgaW5mb3JtcyB0aGUgDQpuZXR3b3JrIHN0YWNrIHRoYXQg aXQgY2FuIHRydXN0IHRoaXMgcGFja2V0Lg0KDQo+IElNSE8gQ0hFQ0tTVU1fVU5ORUNFU1NBUlkg d2l0aG91dCBjb3JyZWN0aW5nIHRoZSBUQ1AgaGVhZGVyIGNzdW0gZmllbGQNCj4gaXMgb25seSBz bGlnaHRseSBsZXNzIGJyb2tlbiB0aGFuIENIRUNLU1VNX0NPTVBMRVRFIHdpdGggcHJlLWRlY3J5 cHQNCj4gY3N1bSBhbmQgd2l0aG91dCBmaXhpbmcgdGhlIFRDUCBoZWFkZXIuDQo+IA0KPiBOb3Qg dG8gbWVudGlvbiB0aGUgZmFjdCB0aGF0IHVzZXJzIG1heSBkaXNhYmxlIFJYQ1NVTSBvZmZsb2Fk Lg0KDQpJdCBkb2VzIG5vdCBtYXR0ZXIgaWYgdGhlIHVzZXIgZGlzYWJsZXMgUlhDU1VNLCBiZWNh dXNlIHRoZSBIVyAqbXVzdCogZG8gDQpjaGVja3N1bSB2YWxpZGF0aW9uIGZvciBUTFMgUnggb2Zm bG9hZCByZWdhcmRsZXNzIG9mIHRoaXMgc2V0dGluZy4NCg0KPiANCj4gTWF5YmUgdGhlIGxlYXN0 IGJyb2tlbiBvcHRpb24gaXMgdG8gZml4IHRoZSBUQ1AgaGVhZGVyIGNzdW0gYW5kIHBhc3MNCj4g Q0hFQ0tTVU1fQ09NUExFVEUgb2YgdGhlIGVuY3J5cHRlZCBkYXRhPyAgQnV0IHRoZW4gYWdhaW4g Y2xlYXJseSB0aGUgSFcNCj4gaGFzIHBhcnNlZCB0aGUgcGFja2V0ICh2b2lkaW5nIHRoZSBub24t b3NzaWZpY2F0aW9uIGdhaW4pLCBhbmQgd2Ugd29uJ3QNCj4gYmUgZG9pbmcgdHVubmVsbGluZyBv biBjbGVhciB0ZXh0Li4NCg0KSSBkb24ndCBzZWUgdGhlIHBvaW50IG9mIGRvaW5nIHRoaXMuIFRM UyBSeCBvZmZsb2FkIGlzIGZvciBMNCANCiplbmRwb2ludHMqLCBub3QgZm9yIEwzIHJvdXRlcnMu IEFzIHN1Y2gsIHRoZSBzb2NrZXQgd2lsbCByZWNlaXZlIHRoZSANCnBhY2tldCBhbmQgcHJvY2Vz cyBpdCBhcyBwYXJ0IG9mIGEgVENQIHN0cmVhbSwgdGhlcmVhZnRlciB0aGUgZGF0YSBjYW4gDQpi ZSBmb3J3YXJkZWQuDQpUaGUgc29ja2V0IG11c3QgcGVyZm9ybSB0aGUgVENQIGNoZWNrc3VtIHZl cmlmaWNhdGlvbiwgYW5kIA0KQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgbWFrZXMgYWxsIG9mIHRoaXMg d29yayB3aXRob3V0IGNvbXBsZXggY2hhbmdlcy4NCg0KPiANCj4gU28gQ0hFQ0tTVU1fVU5ORUNF U1NBUlkgIndvdWxkIGRvIi4NCj4gDQo+IFRoaXMgaXMgYSBsb25nIHdpbmRlZCB3YXkgb2Ygc2F5 aW5nIC0gSSBkaWRuJ3Qgc2VlIHRoZSBwZXJmZWN0IHNvbHV0aW9uDQo+IGhlcmUsIHNvIEkgdGhv dWdodCBpdCdzIGJldHRlciBub3QgdG8gY29kaWZ5IGl0IGluIHRoaXMgZG9jLiAgQnV0DQo+IHBl cmhhcHMgSSBjYW4gcGhyYXNlIGl0IHRlbnRhdGl2ZWx5IGVub3VnaC4gIEhvdyBhYm91dDoNCj4g DQo+IA0KPiAgICBUaGUgcHJlZmVycmVkIG1ldGhvZCBvZiByZXBvcnRpbmcgdGhlIExheWVyIDQg KFRDUCkgY2hlY2tzdW0gb2ZmbG9hZA0KPiAgICBmb3IgcGFja2V0cyBkZWNyeXB0ZWQgYnkgdGhl IGRldmljZSBpcyB0byB1cGRhdGUgdGhlIGNoZWNrc3VtIGZpZWxkDQo+ICAgIHRvIHRoZSBjb3Jy ZWN0IHZhbHVlIGZvciBjbGVhciB0ZXh0IGFuZCByZXBvcnQgQ0hFQ0tTVU1fVU5ORUNFU1NBUlkN Cj4gICAgb3IgQ0hFQ0tTVU1fQ09NUExFVEUgY29tcHV0ZWQgb3ZlciBjbGVhciB0ZXh0LiBIb3dl dmVyLCB0aGUgZXhhY3QNCj4gICAgc2VtYW50aWNzIG9mIFJYIGNoZWNrc3VtIG9mZmxvYWQgd2hl biBOSUMgcGVyZm9ybXMgZGF0YSBtb2RpZmljYXRpb24NCj4gICAgYXJlIG5vdCBjbGVhciBhbmQg c3ViamVjdCB0byBjaGFuZ2UuDQo+IA0KDQpJIGRpc2FncmVlIHdpdGggdGhpcy4gTW9kaWZ5aW5n IHRoZSBvcmlnaW5hbCBjaGVja3N1bSBmaWVsZCBlcmFzZXMgdGhlIA0Kb3JpZ2luYWwgY2hlY2tz dW0sIHdoaWNoIG1pZ2h0IG5vdCBiZSByZWNvdmVyYWJsZSBsYXRlci4NCg==