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 8B4DFA00BE; Tue, 14 Jun 2022 11:30:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 23E2740DDD; Tue, 14 Jun 2022 11:30:54 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2107.outbound.protection.outlook.com [40.107.92.107]) by mails.dpdk.org (Postfix) with ESMTP id 633AF4068E for ; Tue, 14 Jun 2022 11:30:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nvxFVqLZ39ACtasKBlhBJnfgA3WWOju/vb3JJpNxlDOlGPbrMYegK/pygItBV7YMoZRHu8PHeD45kpe4SZPpMkoJ/N8ZImi9SFHhV+IB9QuSsKP1bPa7+H+1kEyjaBoatr+OaCjK7HO7vbJD9W8oGT24xhfXrJkrWJ4lJisEAo9zfwbMG8WLveAFTs90MRzskHSd48g3RJPtfFaysz9BllaRJsiLi6M8hWbRhrFLg8CQfIDhTQJzfUkFEV47PKVA/pvHavSJUfHeAxuwpzjFKtgfI9ugm+gAehy7liDrmu/8RzoK38gYFCGqhVX4ufR7uN7m6g0vrr+4KAFcnMcvVA== 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=oGLgX9HTzbNyNmdhRP6B+Jw7jsPyl2xXlppMHxfNs98=; b=XtAFp6M4S1NDxlt5iObFxMWIQMKRGK9N9yUnGfASLjhvDPi1mgTCpTD1XXODGfxmt60nH+Kjbj7DYo9DJ5ZiAus/Zq2IEN+kfl2BPXQFK5Kh5Fu7FDgSHO3wstPV0DqE+SmnW4vOHqFGWy6qyp5wXcr2KS8wfx/BCRvsPAVgD3VszV0oI7bxobQzS38CK+UwDCYYy7/0JaFR1I8NAClSQEZA694JlRvIef72XsmuaW327JAeFxXf0BkshibtJJ/2xgq2sJp9vFdCc6VcrAINtP51+0x7J9C3MJfATODUb4nzMDonOekVl4tuf6QGaJ6jCQ6X8aWxK7kdb8gZSdfLew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oGLgX9HTzbNyNmdhRP6B+Jw7jsPyl2xXlppMHxfNs98=; b=F0vCIoKMzY/0DtaIvlmkfAORaWvOD6h1U0gAJT+N9snu7TporffJ22WWLwBsawm4EwRmdE+VxyhP5SCK2vLJcsIRUijZj1ZttoXddpnFzslJ3WEkb/OAvim2qsWHOFfM2kNFRNfLQbuardDR8BO0RzF/+Q/UgSisMTPuSveULXs= Received: from DM6PR13MB3004.namprd13.prod.outlook.com (2603:10b6:5:191::21) by CH2PR13MB3607.namprd13.prod.outlook.com (2603:10b6:610:28::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.8; Tue, 14 Jun 2022 09:30:51 +0000 Received: from DM6PR13MB3004.namprd13.prod.outlook.com ([fe80::ac31:a36a:cc15:cd35]) by DM6PR13MB3004.namprd13.prod.outlook.com ([fe80::ac31:a36a:cc15:cd35%7]) with mapi id 15.20.5353.011; Tue, 14 Jun 2022 09:30:51 +0000 From: Kevin Liu To: Ferruh Yigit , "dev@dpdk.org" CC: Niklas Soderlund , Diana Wang , Nole Zhang , Chaoyong He Subject: RE: [PATCH 07/14] net/nfp: support NFDK firmware Thread-Topic: [PATCH 07/14] net/nfp: support NFDK firmware Thread-Index: AQHYdiO/atSZBiB9aE+6OyF8UlUmWK08uu4AgBHv9iCAAAkdgIAAAUcA Date: Tue, 14 Jun 2022 09:30:50 +0000 Message-ID: References: <20220602015304.710197-1-jin.liu@corigine.com> <20220602015304.710197-8-jin.liu@corigine.com> <95cf1563-b99f-968b-6bc4-7dd08c6a3ebe@xilinx.com> In-Reply-To: <95cf1563-b99f-968b-6bc4-7dd08c6a3ebe@xilinx.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9f05f78d-0354-49bc-fd8d-08da4de8925a x-ms-traffictypediagnostic: CH2PR13MB3607: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: WvD4JVr/eeVwEGaiOwPqMGM4LD7K+2In0SWK4Ha5sGja8z/1agyi6m9BxjK2GDOg8e+Z+q4jHFfccK85cRyW/Cfq9DPrCkfEmW4dRXxP0F4V6o0iKcwGJDtLdj2vf4ygMH+r7R0lAGGnbgF4BUV8zHJneBGpxJGIEJ9m0WVRNdLVoYxY2dzntW5oU8HeohGeqCllIsvowRsTYX78UflCAYb/BqsEVXGJ8kZV4uUXz7+wm8iYUsoHKW1L0YctotHy5khJJDZXHhvuSH2ePrE/74+WNjDjAoAXgY7BOi5mGZvPKyAzAIQ3Bbw8wROuBpPAohPiqL5W7IjCv73JHrmJgMhUmrxNhoujjATKY/qa8WIk6I1zjC5jNz+3ELH63lcUUnGqjtCtgo2B7n3QHintwvC+SGS3a+nZphKe4vyBQXFBVO24Jm0XDcg+WFB8y0w9du1ZD0Jg/ry5RiOE8wjE4Vdde3VaKns0BXuUGuo80Kcm2LqbCu2x1oME7006UqQUqz3G5J+DWk45G7T1jlf07jhiC50fGg8pA6aUdIcs3QnhaJzaXnko+xzyvx9/v6rXufKfDvs5a+HBZGO9OxOjcDBOWyESqz2svhFsomLNr1E4LYQRaxlY56z+CVmA3rX+yPAh3jfgtb+U/CZ2Wm9G9CxxckFNI6xBPzrpglCLfgVR/RilpNRAGJOf0MBr7ntDNIei/nvaTOoVBVAim0RXVw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR13MB3004.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(346002)(136003)(366004)(39830400003)(396003)(66574015)(86362001)(53546011)(7696005)(38070700005)(26005)(6506007)(9686003)(186003)(66556008)(83380400001)(54906003)(38100700002)(110136005)(66446008)(4326008)(122000001)(76116006)(52536014)(66476007)(8676002)(8936002)(64756008)(316002)(55016003)(5660300002)(71200400001)(508600001)(66946007)(33656002)(107886003)(41300700001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d0NJZ0ljcjhoTGRqMVJRQ0FZVzlGTGFEeGluWVlVSldMTFF5YmNrR3ZuQjhY?= =?utf-8?B?TWp5RGsxamt3U0Q0QVltNHZBNFhZdFNpT1R0OThIUkE5a3BHejRZd0dHK2p3?= =?utf-8?B?VlBYUDlCNzdwcCtMam1LOGNlOG1XNGQ2cEhIMytoaEV1WkZDYTlLdVpiQTRv?= =?utf-8?B?N3N6Wkc0d2xmZ2xWSGNWNG5BUk5jd1phRCtqeVlFRkdBRWRPNWU3Y1puYXR0?= =?utf-8?B?VUpJdDdPZkQyT3o1THM1VGNHUnJRK3dMZ2k0d1JGZXJjbTM3cklDMnM0bHJy?= =?utf-8?B?UE9xQzRyZEJ1cDNLeDRNVU1vQ2RTbnB2OWRySWwyQmoxTUtNdjJlcFJqbjI2?= =?utf-8?B?Y2Z3c1RYQlhUWGdBZEthWXRQbjlxZ2tGTm5PQXk0aUE5bEszUEszSnQrVmtl?= =?utf-8?B?Ulp4TmpMK0M2RjV3eUYwYXY0aTE3V3N4NkRiYk8yK0FycE1JQ0FIeTdXQXlD?= =?utf-8?B?MnhsOWIzVG85a3JZM3IrSXp0eG9WRGo3OGd2em9ucmR0WnNPaDAxenBvUUl2?= =?utf-8?B?L0NlRnA1MzJwazdqUUFnNG5ER1VGejdJOVJBdHA0SlJmeGsySVBaM3JuYUVj?= =?utf-8?B?V25MdmQ5LytnQ0pTTHFpeVFrQ0VIZVNXUXJxNUNSL3Rkd0d2R3hGeCtZdlE5?= =?utf-8?B?OWtOaGtxaHpvWkx0MG13dkhSSUR3LzhvV0p5YTdIVGFSSGZaczkyN3lxUU51?= =?utf-8?B?MVJtOHJndzFtZURhMUsyRktvTDVmd3U4MFRxZDFPejV4S0ZmZ3duSWszYTlj?= =?utf-8?B?WWlkWWp3bnRwZFVzWjdQdzBRSzJ0OU1WTHVBSWdpbzMvdlBBd3ZXUWg4NlVY?= =?utf-8?B?NDdISGRZTVFlS09lTnZYUXI1MVh0YUp5UW5OTHF4em9SQUJxdGNKbTZRMWpQ?= =?utf-8?B?M2ZRMFdWVWpHOGdQZFhLcFlWUldDNnhjNXl4TncwdmZBQTR0K3NwVFV0QWJ3?= =?utf-8?B?VThKMTlJckp2TG5HUzJ0UlNXSTlLQzVHLzNCRzk0S21nZjhRbWdScElVSjc1?= =?utf-8?B?Q3FJamo5NVM2RTFRWTlkaDd6UzVtS09sL1JKQ2Y2OG9hY3B0bk9EKzBjRkdY?= =?utf-8?B?RkhDUUJGMFJDYmlSYnJhVXhVWWxTVmdLYmJwc2hEdE5TVWpHSWhKeTM5L2N4?= =?utf-8?B?T0JPYUdrMmswMTRsNXVZbmJhYTNNcm81azlxNVhCSFVvNVNJSmtzM2pXcXBH?= =?utf-8?B?YjJhaVQ5TGhJbWJ2TXhqTklPdmt6bzZ3QURKays1NVgrN0pqQzFEbzhibkgz?= =?utf-8?B?SUdqMjFZcmpmb2UwUkhiTG9kZFQ1dUxuNFJJcUlZRTBBWmhpMy9NVUorS0xh?= =?utf-8?B?NXNKc0ZmNzgyTnhDTytsMVBhRkVRbTIvamZxRVhOTDVTQ0MzMnp3aDVuVURp?= =?utf-8?B?Vk9ra0JwVGNEZlpHUFhjRm5tcTVYdUdCTGFpbHlmcTdiTmx6aWEvcGpnN01I?= =?utf-8?B?NjdXa2h1SytIWjZrOHdmMXNoNFRwZ2tlN1lyRUI4NEwxQU50RVpwWWZ3L1FK?= =?utf-8?B?YzF2cmkrNEZWUFJKVFA1YWNzd2xGLytLdW42Mkx2Nmpmd2l0L1RMMXNMSDV0?= =?utf-8?B?aHQ5aU5qYy9KU2ZqVktmenY0cDA2dmNKdmxlM0s2UUhWLzVLSDlmYU1MN2VM?= =?utf-8?B?SGwwYlRnamJQRnN1RnRxRnJwcVZSc2xuM0h4d2JaMEIzN095MTg4cFczOUpE?= =?utf-8?B?d3FzelNzdjNoWTV3TlBBR0xzcUd6cW5DUWtmaFdlRWxtei80MXVCWnMvMEdC?= =?utf-8?B?bWZFZDR2eUEvZGZ6dnc3M0VpcFA5SmJwT0YwcnBoTDl5RUhZTEdUNWpVR0RB?= =?utf-8?B?SnlSOVphbUdjc1hFc29CcGZ6ODFBeVlZNXhmaXExUitHOC9Ha2VJTzM4a0wv?= =?utf-8?B?WTNsRHl3RjBXcVpCbi9ldUZpd2EwLzFPZWM4TXBFR2xOblVXTlNOMytKMm91?= =?utf-8?B?TWUvcVEvZkZVSTBLZG5qV1pkdlh2ajRPS1BSdEN3aTRHK09vUXErU29GRm1Y?= =?utf-8?B?NTExRFFuL2hvMU82T3JjRXFUWTg1SmduSHVwMEI2U3RxSGNDZ2J6V2ZSODVJ?= =?utf-8?B?TitQZXBsRmIyQ05PbkZnRG5pT1RmaDZzR2dkVi9QUjc3MUNycWJJQkg5OWFi?= =?utf-8?B?cmNaNktwMFpnYlRLRUtBMldwZndubjVqRkZDekx3bElkYWdlU1BldFdnVWdH?= =?utf-8?B?eXdtbFdITVNMc2FyZVhyYUk1LzZKRzVjNDh0eTViZzA2MVNQVWUzUEVncWF3?= =?utf-8?B?c0ZXVzI3Ti9JRHFwQXcwR2F4ZjE5WDlNbm4yQTVWTWVmcnVWVEJtbE84Q1pD?= =?utf-8?B?anRYYm16cWxtZUNIdExwaXF1U2hYZENLZzJpcTdBRStDWDBMQWlWdz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR13MB3004.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f05f78d-0354-49bc-fd8d-08da4de8925a X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2022 09:30:50.9534 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 35PDO+vC2OL/vHBIzmoDcgeRh7wMOjWFF0lMVfI3pnGBQ2r9nqwiNECuvxAsehp9ye1hNUzhU2opyohQZFX1qQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3607 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 Tm93LCBJIG1vZGlmeSBsb2dpYywganVzdCBrZWVwICduZnBfbmV0X3R4X3F1ZXVlX3JlbGVhc2Uo KScsIGRlbGV0ZSAnbmZwX25ldF9uZmRrX3R4X3F1ZXVlX3JlbGVhc2UoKScgJiAnbmZwX25ldF9u ZmQzX3R4X3F1ZXVlX3JlbGVhc2UoKScNCg0KDQo+Pj4gICBNeSBjb21tZW50IHdhcyB0byBleHRy YWN0IHRoZSBsb2dpYyBpbnRvIGl0cyBvd24gZnVuY3Rpb24gYXMgaXQgaXMgZG9uZSBpcyBQRiwg c28gdG8gaGF2ZSBzb21ldGhpbmcgbGlrZSAnbmZwX25ldHZmX2V0aGRldl9vcHNfbW91bnQoKScu DQoNCnRoZSBsb2dpYyBJIGp1c3QgdXNlIG9uY2UgaW4gbmZwX2V0aGRldl92Zi5jLCBzbyBub3Qg Y3JlYXRlIGEgZnVuY3Rpb24uIEkgd2lsbCBjcmVhdGUgJ25mcF9uZXR2Zl9ldGhkZXZfb3BzX21v dW50KCknIGluIG5mcF9ldGhkZXZfdmYuYyAgbGF0ZXINCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QHhpbGlueC5jb20+IA0KU2Vu dDogVHVlc2RheSwgSnVuZSAxNCwgMjAyMiAxNzoyMg0KVG86IEtldmluIExpdSA8amluLmxpdUBj b3JpZ2luZS5jb20+OyBkZXZAZHBkay5vcmcNCkNjOiBOaWtsYXMgU29kZXJsdW5kIDxuaWtsYXMu c29kZXJsdW5kQGNvcmlnaW5lLmNvbT47IERpYW5hIFdhbmcgPG5hLndhbmdAY29yaWdpbmUuY29t PjsgTm9sZSBaaGFuZyA8cGVuZy56aGFuZ0Bjb3JpZ2luZS5jb20+OyBDaGFveW9uZyBIZSA8Y2hh b3lvbmcuaGVAY29yaWdpbmUuY29tPg0KU3ViamVjdDogUmU6IFtQQVRDSCAwNy8xNF0gbmV0L25m cDogc3VwcG9ydCBORkRLIGZpcm13YXJlDQoNCk9uIDYvMTQvMjAyMiA5OjQ5IEFNLCBLZXZpbiBM aXUgd3JvdGU6DQo+IFdlIGFsc28gd2FudCB0byBqdXN0IHVzZSBvbmUgZnVuY3Rpb24gJ25mcF9u ZXRfdHhfcXVldWVfcmVsZWFzZSgpJyB0byBzZXJ2aWNlIGJvdGggTkZEMyBhbmQgTkZEaywgQnV0 IHdlIGNhbiBub3QgZ2V0IHRoZSB2ZXJzaW9uIG9mIE5GRCBpbiBmdW5jdGlvbiAnbmZwX25ldF90 eF9xdWV1ZV9yZWxlYXNlKCknLCAgbm93IGdldCBORkQgdmVyc2lvbiB0aHJvdWdoICdody0+dmVy Jw0KPiANCg0KQWdhaW4sIGl0IGlzIHVwIHRvIHlvdSwgYnV0IGl0IHNob3VsZCBiZSBwb3NzaWJs ZSB0byBhZGQgJ2Rldicgb3IgJ2h3JyANCnJlZmVyZW5jZSB0byB0aGUgcXVldWUgc3RydWN0LCB0 byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgdmVyc2lvbiBpbmZvcm1hdGlvbi4NCkFuZCBpdCBjYW4g YmUgcG9zc2libGUgdG8gaGF2ZSBzb21ldGhpbmcgbGlrZSAnc3RydWN0IGZ3X29wcycsIHNldCBp dCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHVzZSBpbiByZXN0IG9mIHRoZSBkZXZfb3BzLg0K DQo+IEZvciB0aGUgZnVuY3Rpb24gJ25mcF9uZXRfZXRoZGV2X29wc19tb3VudCgpJywgdGhlIGxv Z2ljIGJlbG93IGlzIGluIHR3byBkaWZmZXJlbnQgQyBmaWxlcywgbmZwX2V0aGRldi5jIGFuZCBu ZnBfZXRoZGV2X3ZmLmMgQW5kIHRoZSB2YXJpYWJsZSBvZiBzdHJ1Y3QgZXRoX2Rldl9vcHMgaXMg ZGVmaW5lZCBhcyBzdGF0aWMsIGlmIHdlIHdhbnQgdG8gdXNlIGZ1bmN0aW9uIGJvdGggaW4gbmZw X2V0aGRldi5jIGFuZCBuZnBfZXRoZGV2X3ZmLmMgV2UgbmVlZCB0byBjaGFuZ2UgdGhlIGV0aF9k ZXZfb3BzIHZhcmlhYmxlIGFzIG5vbi1zdGF0aWMsIHRoaXMgaXMgbm90IHdlIHdhbnQuDQo+IA0K PiAJPiArCXN3aXRjaCAoTkZEX0NGR19DTEFTU19WRVJfb2YoaHctPnZlcikpIHsNCj4gCT4gKwlj YXNlIE5GUF9ORVRfQ0ZHX1ZFUlNJT05fRFBfTkZEMzoNCj4gCT4gKwkJYnJlYWs7DQo+IAk+ICsJ Y2FzZSBORlBfTkVUX0NGR19WRVJTSU9OX0RQX05GREs6DQo+IAk+ICsJCWlmIChORkRfQ0ZHX01B Sk9SX1ZFUlNJT05fb2YoaHctPnZlcikgPCA1KSB7DQo+IAk+ICsJCQlQTURfRFJWX0xPRyhFUlIs ICJORkRLIG11c3QgdXNlIEFCSSA1IG9yIG5ld2VyLGZvdW5kOiAlZCIsDQo+IAk+ICsJCQkJTkZE X0NGR19NQUpPUl9WRVJTSU9OX29mKGh3LT52ZXIpKTsNCj4gCT4gKwkJCXJldHVybiAtRUlOVkFM Ow0KPiAJPiArCQl9DQo+IAk+ICsJCWJyZWFrOw0KPiAJPiArCWRlZmF1bHQ6DQo+IAk+ICsJCVBN RF9EUlZfTE9HKEVSUiwgIlRoZSB2ZXJzaW9uIG9mIGZpcm13YXJlIGlzIG5vdCBjb3JyZWN0LiIp Ow0KPiAJPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gDQoNCk15IGNvbW1lbnQgd2FzIHRvIGV4dHJh Y3QgdGhlIGxvZ2ljIGludG8gaXRzIG93biBmdW5jdGlvbiBhcyBpdCBpcyBkb25lIGlzIFBGLCBz byB0byBoYXZlIHNvbWV0aGluZyBsaWtlICduZnBfbmV0dmZfZXRoZGV2X29wc19tb3VudCgpJy4N Cg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1aCBZaWdpdCA8 ZmVycnVoLnlpZ2l0QHhpbGlueC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgSnVuZSAzLCAyMDIyIDA2 OjU0DQo+IFRvOiBLZXZpbiBMaXUgPGppbi5saXVAY29yaWdpbmUuY29tPjsgZGV2QGRwZGsub3Jn DQo+IENjOiBOaWtsYXMgU29kZXJsdW5kIDxuaWtsYXMuc29kZXJsdW5kQGNvcmlnaW5lLmNvbT47 IERpYW5hIFdhbmcgPG5hLndhbmdAY29yaWdpbmUuY29tPjsgTm9sZSBaaGFuZyA8cGVuZy56aGFu Z0Bjb3JpZ2luZS5jb20+OyBDaGFveW9uZyBIZSA8Y2hhb3lvbmcuaGVAY29yaWdpbmUuY29tPg0K PiBTdWJqZWN0OiBSZTogW1BBVENIIDA3LzE0XSBuZXQvbmZwOiBzdXBwb3J0IE5GREsgZmlybXdh cmUNCj4gDQo+IE9uIDYvMi8yMDIyIDI6NTIgQU0sIEppbiBMaXUgd3JvdGU6DQo+PiBNb2RpZnkg bmZwIGRyaXZlciBsb2dpYywgYWRkIGZpcm13YXJlIHZlcnNpb24gKE5GRDMgb3IgTkZESykganVk Z21lbnQsDQo+PiB3aWxsIGFjY29yZGluZyB0byB0aGUgZmlybXdhcmUgdmVyc2lvbiwgbW91bnQg ZGlmZmVyZW50IGRyaXZlciBmdW5jdGlvbnMuDQo+Pg0KPiANCj4gQ3JlYXRpbmcgYSBuZXcgc2V0 IG9mIGRldl9vcHMgZm9yIG5ldyBGVyBpcyBhIHdheSBhbmQgaXQgd29ya3MsIGJ1dCBpdCBsb29r cyBsaWtlIGl0IGNyZWF0ZXMgc29tZSBkdXBsaWNhdGlvbiBvZiB0aGUgY29kZSwgYW5kIG1haW50 YWluaW5nIG11bHRpcGxlIGRldl9vcHMgY2FuIGJlIGRpZmZpY3VsdCAoZHJpdmVyIGFscmVhZHkg aGFzIGRpZmZlcmVudCBvbmVzIGZvciBQRiAmIFZGKS4NCj4gDQo+IEFub3RoZXIgb3B0aW9uIGNh biBiZSBrZWVwaW5nIGV0aGRldiBpbnRlcmZhY2Ugc2FtZSwgYnV0IG1hbmFnZSBkaWZmZXJlbnQg RldzIGNsb3NlciB0byBGVywgd2hlcmUgZGlyZWN0bHkgaW50ZXJhY3RlZCB3aXRoIEZXLg0KPiBM aWtlIGtlZXBpbmcgZGV2X29wcyBhcyAnbmZwX25ldF90eF9xdWV1ZV9yZWxlYXNlKCknIGFuZCBt YW5hZ2luZyBkaWZmZXJlbnQgRlcgd2l0aGluIHRoaXMgZnVuY3Rpb24sIGluc3RlYWQgb2YgaGF2 aW5nIHR3byBkZXZfb3BzLCAnbmZwX25ldF9uZmRrX3R4X3F1ZXVlX3JlbGVhc2UoKScgJiAnbmZw X25ldF9uZmQzX3R4X3F1ZXVlX3JlbGVhc2UoKScuDQo+IElmIGRpZmZlcmVuY2UgaXMgc21hbGws IHRoaXMgY2FuIGJlIGJldHRlciB0byByZWR1Y2UgZHVwbGljYXRpb24uDQo+IA0KPiBXaGF0IGlz IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIEZXcywgYXMgZmFyIGFzIEkgY2FuIHNlZSBUeCBk ZXNjcmlwdG9yIGlzIGRpZmZlcmVudCBhbmQgcXVldWUgc2V0dXAgaXMgYWZmZWN0ZWQsIGlzIGl0 IG9ubHkgZGlmZj8NCj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBKaW4gTGl1IDxqaW4ubGl1QGNvcmln aW5lLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IERpYW5hIFdhbmcgPG5hLndhbmdAY29yaWdpbmUu Y29tPg0KPj4gU2lnbmVkLW9mZi1ieTogUGVuZyBaaGFuZyA8cGVuZy56aGFuZ0Bjb3JpZ2luZS5j b20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBDaGFveW9uZyBIZSA8Y2hhb3lvbmcuaGVAY29yaWdpbmUu Y29tPg0KPj4gU2lnbmVkLW9mZi1ieTogTmlrbGFzIFPDtmRlcmx1bmQgPG5pa2xhcy5zb2Rlcmx1 bmRAY29yaWdpbmUuY29tPg0KPiANCj4gPC4uLj4NCj4gDQo+PiBAQCAtMjk2LDYgKzI5NiwzMiBA QCBuZnBfbmV0dmZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+PiAgICAJZXRo X2Rldi0+cnhfcGt0X2J1cnN0ID0gJm5mcF9uZXRfcmVjdl9wa3RzOw0KPj4gICAgCWV0aF9kZXYt PnR4X3BrdF9idXJzdCA9ICZuZnBfbmV0X25mZDNfeG1pdF9wa3RzOw0KPj4gICAgDQo+PiArCWh3 LT5jdHJsX2JhciA9ICh1aW50OF90ICopcGNpX2Rldi0+bWVtX3Jlc291cmNlWzBdLmFkZHI7DQo+ PiArCWlmIChody0+Y3RybF9iYXIgPT0gTlVMTCkgew0KPj4gKwkJUE1EX0RSVl9MT0coRVJSLA0K Pj4gKwkJCSJody0+Y3RybF9iYXIgaXMgTlVMTC4gQkFSMCBub3QgY29uZmlndXJlZCIpOw0KPj4g KwkJcmV0dXJuIC1FTk9ERVY7DQo+PiArCX0NCj4+ICsNCj4+ICsJUE1EX0lOSVRfTE9HKERFQlVH LCAiY3RybCBiYXI6ICVwIiwgaHctPmN0cmxfYmFyKTsNCj4+ICsNCj4+ICsJaHctPnZlciA9IG5u X2NmZ19yZWFkbChodywgTkZQX05FVF9DRkdfVkVSU0lPTik7DQo+PiArDQo+PiArCXN3aXRjaCAo TkZEX0NGR19DTEFTU19WRVJfb2YoaHctPnZlcikpIHsNCj4+ICsJY2FzZSBORlBfTkVUX0NGR19W RVJTSU9OX0RQX05GRDM6DQo+PiArCQlicmVhazsNCj4+ICsJY2FzZSBORlBfTkVUX0NGR19WRVJT SU9OX0RQX05GREs6DQo+PiArCQlpZiAoTkZEX0NGR19NQUpPUl9WRVJTSU9OX29mKGh3LT52ZXIp IDwgNSkgew0KPj4gKwkJCVBNRF9EUlZfTE9HKEVSUiwgIk5GREsgbXVzdCB1c2UgQUJJIDUgb3Ig bmV3ZXIsZm91bmQ6ICVkIiwNCj4+ICsJCQkJTkZEX0NGR19NQUpPUl9WRVJTSU9OX29mKGh3LT52 ZXIpKTsNCj4+ICsJCQlyZXR1cm4gLUVJTlZBTDsNCj4+ICsJCX0NCj4+ICsJCWJyZWFrOw0KPj4g KwlkZWZhdWx0Og0KPj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiVGhlIHZlcnNpb24gb2YgZmlybXdh cmUgaXMgbm90IGNvcnJlY3QuIik7DQo+PiArCQlyZXR1cm4gLUVJTlZBTDsNCj4+ICsJfQ0KPj4g Kw0KPiANCj4gVGhpcyBwYXJ0IHNlZW1zIGV4dHJhY3RlZCB0byBpdHMgb3duIGZ1bmN0aW9uIGZv ciBQRiAoJ25mcF9uZXRfZXRoZGV2X29wc19tb3VudCgpJyksIHdoeSBub3QgZG8gdGhlIHNhbWUg Zm9yIFZGLCB0byBoYXZlIHNhbWUgbG9naWMgYmV0d2VlbiB0aGVtLg0KPiANCj4gDQoNCg==