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 E5B2EA0C4E; Tue, 2 Nov 2021 09:18:32 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6FAA340DF6; Tue, 2 Nov 2021 09:18:32 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 69FF94068F for ; Tue, 2 Nov 2021 09:18:30 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10155"; a="211262244" X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="211262244" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2021 01:18:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="496839048" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 02 Nov 2021 01:18:29 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 2 Nov 2021 01:18:28 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 2 Nov 2021 01:18:23 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 2 Nov 2021 01:18:23 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 2 Nov 2021 01:18:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RI0yhJeeathVx1N9ttjpkaTNplL671buTcaQBf5pf8oAAb8NENa6uOX/JIQEmjYD/Q4g4nCV5AewGVKR6dDP+e9VlsEEaMjzhdeLmwtQrVtvuXzdoDAKATjqhbEni3eCabS+zYQGCp6ozydoFKsrZSfOHsL9EuTnUziL8BQmVUvUpNv41nvP5v2OrxREC5T+aKT9J6DV9478T/7+SUOdr123pAFcYIHdYf+YLr02BehFdkHK5h/u9aCRJf/sIDhTOULs/QilU9APsmMXJT0rqaaQxk7aDxJ6/6BR903qDQTvWZJOHF6Bhv/7qez3+VFwDa3Zk0wUKi5rYZNSqP7i6g== 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=Kx2NobrhCaQawgk3M02QBsPFOf+jSnckTzyfSW+D63U=; b=YHQHOU8nxvjVW+CD2S2fJTnf/+z/6fJ4W/rMql6UoD0NMRPDg6SSj7DhaXY0kxQcj5Kr2J+TkEAxsgwOEpW5qusYwzCNI5P2W8DygfB4/2vFYQvm2PBCe3SpFej8q6F1T40tMLKsSGRuH/6lyM0971/kwNmjxgcR4FYM1KxKzSGN44mkOmy97qPNga6C8ihN/2t5CG1A7YmrJFLRmEXHUyDHXc0a4FLh8pfP1SPtxKwatth4FULE1tiuEJAhiSAj7wNk6XjI1obYhOfn5Z+0g5/17RP4mL1xaeKKlLSATIEqF7fWZ0lp/MAi13ZL1U0q+i4VTvB58hlrMEy3Qfv/jg== 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=Kx2NobrhCaQawgk3M02QBsPFOf+jSnckTzyfSW+D63U=; b=kUibic7UfXQ08hnc913qJ8nxL0Jm9R8YRwTKCTLC0QigatlXuWaCU54toLZni66JOsIKbLi/nzLNk/Ti6nlSTyLAHBQogPNUnokUrccCoh8b/55kc+CGtN0DFGCyFeEweMn5vrTL6JWzA06h56a+D0qfi22WADN5CfC24aHV0Qw= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by SN6PR11MB2608.namprd11.prod.outlook.com (2603:10b6:805:57::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.17; Tue, 2 Nov 2021 08:18:22 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511%7]) with mapi id 15.20.4649.020; Tue, 2 Nov 2021 08:18:22 +0000 From: "Xia, Chenbo" To: Vijay Srivastava , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "andrew.rybchenko@oktetlabs.ru" , "Vijay Kumar Srivastava" Thread-Topic: [PATCH v3 08/10] vdpa/sfc: add support for MAC filter config Thread-Index: AQHXzNQ05VetoJhD7UiizhB2H9RLB6vv5C6g Date: Tue, 2 Nov 2021 08:18:21 +0000 Message-ID: References: <20210706164418.32615-1-vsrivast@xilinx.com> <20211029144645.30295-1-vsrivast@xilinx.com> <20211029144645.30295-9-vsrivast@xilinx.com> In-Reply-To: <20211029144645.30295-9-vsrivast@xilinx.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: xilinx.com; dkim=none (message not signed) header.d=none;xilinx.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d626ebc6-3498-4a58-9494-08d99dd955a6 x-ms-traffictypediagnostic: SN6PR11MB2608: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:303; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uIxXs26Z3ZTatrt0aq6KyJh4P9bbJTloZc8I7/oAQ0XyjB7poPJN1++vuFDrZVyTxbKAb85COGjbaM8Lyi5t6naXQHUTRtJVP/LN/sV7ihcrYA6rgzZHH+rJbe+IAqYMjE/a+QgTDCBJJNrSwSAFmh91JJA83xyna24jYxs5dB5fQBPrtBv4f0f4oxT992F+g7PY4ShuudJUVY6YIAe4dfLmnyc0VvLAsEo6U3VFRJUZHJSbn/9OrLk+KSiwQwH8x6epXhzeb4uHhETNPKIYgeLXlpxjsAkiarMH1HyLGvyJaz2OEzkef0Int4zz6Tl35e3WCEsibJdEjRydDOJ01HFUt3YGMmluXUzArqi51FYkQcb14cmK9zHCmPv5UsmE3i8vcV7NIzBziu06MZKC05USNDHqybjR6XcZUoChvkO2FhDlLAY57+76jKqX9H5940bvPIQxqVzxfgID4n25bLLTmNljLp+thO23XpFJ+ofUBH2P0DMa0pP92kW/VfGijheynNV8i/L+0ZkudU99ETw/18tltiT9SYsZn/ZQt6lrtU2jR7MW/ClZtbtgPG8bUo0MQwWjBiVnDPqlm5goxV1AefvNpnmpx9zqnnfg/GSp41sdUERhLHCf9YsheAFjLDm9oeieXIZkrX+A+PHmHvOkMITjuejgqinR+3j3XoyTUOKQlU4uQYpWSamg70PFlvbSUfmjGyodTXj0K7h0uA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(8936002)(2906002)(5660300002)(33656002)(38100700002)(8676002)(83380400001)(82960400001)(38070700005)(122000001)(71200400001)(66446008)(52536014)(66946007)(76116006)(66556008)(64756008)(53546011)(54906003)(86362001)(55016002)(4326008)(66476007)(7696005)(9686003)(26005)(30864003)(508600001)(6506007)(186003)(316002)(110136005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RXF6UnpIL1JUOE9OdVdXcnFKWmNRR0xlaFJrLzF5UWRSK1Y0UFg5R0cxODB2?= =?utf-8?B?L2NWK0dyTG1OUWkwdWpxYWo0c1FRa25UeWR5SWpOZmdKQklIbEhaRkwwc1JH?= =?utf-8?B?SklHT2NhNjQ3bmlGN2t3cXdRcFpPRjAvN0ZIcmlFTXhaaDN0WElwTkl6NWkr?= =?utf-8?B?a0RQSDRRMjlIWGdSKzhkeFQ4YUZaUHNKRXhQWDIzbS82Qy9ZOVNkTHdvb2lC?= =?utf-8?B?d2U4MTZaNmVGeVlSa1JqeVZKUU15Nmd1YjFGNjZmRmttemdza1NrUzkrYkpy?= =?utf-8?B?dmVDQmI2Y3grUWhEVTkrWXl2WFJFcTZzRm1GL1ZnRThHb2VqcnBMZlNCbjgy?= =?utf-8?B?c3dtOGVwTTVZSEw1LzlHVzdaQUFkS01VQW8rekF5ZG1pemJNNWdHOWZTYit0?= =?utf-8?B?U0pkNEc1WTkwcThnancrcnlDMWxOb01JdVFCZzZpQmVCd1Z3K2F3M3V2T2l2?= =?utf-8?B?WTM3aWFpMXY3eUJUY3dBNzFFNHlZWXdWbHpiOFhZYXF0NDBrYWIvcjIzL09k?= =?utf-8?B?Z2FXcGc5V0ZZTnhkekNkMzZnaU1OWkt5NkRWZWdzYjEzYXI2QzFVRk00MWZJ?= =?utf-8?B?Z2Y3YWtaaVpheEZXSENJQ1ZtVnhIektabkI0aUpvNG1EQ2l6NUdpcHhrd3RN?= =?utf-8?B?NFVhN2s5OUxxQ0REbVNaSGNUS3VXcTJwRGQ1a2dtRkRGS2ZkWjdBUmxwOCtX?= =?utf-8?B?NzdTUjh0Z2pzVUpva1Ric0k3UUxScnVETFRMV01rQk1XcG5yNWVyemhzZDkz?= =?utf-8?B?bmZnOU1NSlpZNlVDRnREa2RyODVFU2lWZ1Y4VWRORnlqUFdlOXhiVWloZ1Bu?= =?utf-8?B?amhmYVdHWmVkTTZvdWhRSjIrYmFlVjdaYnRTYlREY2JpNFVOSkJNQTZ5bUZl?= =?utf-8?B?ODA2Y05EZUE5aHFuK0MzRXhFM3hhcXQ2REl4M2VabVNSRkJaUEpSeTRBR0s2?= =?utf-8?B?d1NaclVWT1JNL1ptRGhBMFVaRUJDV0NmZ3NZVm9vZmVzend4cGhJVkdkWXQ4?= =?utf-8?B?VzFuTmZmaHd4TnZxUVE1Q1RrUi9KWGcrQ1dEYjR0TEtvZEZsK2xNWFpWRUg2?= =?utf-8?B?NlBJYUxKYy83eHNBNmZUR0hVZEx2NGR0MHAyQjhGSFcyeUVEZmpKTHFTTjNn?= =?utf-8?B?RmlZY0NRaXRtSEdnVkEvY3VmaElkQmExbkhDTTFaQXZHdUZtb3VEbm0veEZK?= =?utf-8?B?K3c3VkErQThIVHlLbGE4WUJITDMydG9XanVaOG9DRkZjV1c2cHB5VU5RVVdR?= =?utf-8?B?L2RaaEE3MzR4bEdDYWs0VHFxZGRoWUloUVhpN3FaeTR1NGlnSENGNUpKenBm?= =?utf-8?B?elM2N2dDa2RGNmxpVjlLQkp5SEF3a1dXV1JoTXRYNGlzU09IZ2dtMTJJU1RW?= =?utf-8?B?aE9MQStuUERPTStBMmVjVWFBSUhwa1dxNTdtTDNMT3N4aFJWeityb1FCcXQv?= =?utf-8?B?S2gxUFR6ZW85azFxek9KZm8yaG55K3ZLcTM5K3NsME9wV2FwWlR3UU1uVmlO?= =?utf-8?B?d3JxYUhyQ3FVTG5JRnlEczlDYnh3WVp6QzVLVW40SVVUM3NmdlpnM1pyTWxO?= =?utf-8?B?WDdFMmdPWmhCVjJWVHVPNllTWkNwQUErR0k3eXZLZFgrTW14OFFIaTVNMmhu?= =?utf-8?B?c0QvRHFVNUhyZXBHUmRPUTVGKzdpVVZ0NnYxNXZWZkNRSmxZK0tTbU9HQkRn?= =?utf-8?B?Vmd6dEx3WC9aL1RDV0U0cEpYWmRyTXIyOU13eTBUZnhJQ2lvR1RxUUFXWHIz?= =?utf-8?B?UWgzS1QrZHNYZmRrV1htRmh3Ri9VcmpBOEk2ZWx5eDZkQ3RnTkFkZGllYmlM?= =?utf-8?B?Y1JGcVZycjdWVzlPMnZuSDNhM3czMkN3dDRRc1hCcVNrZFFuNmZyNWJaMVc2?= =?utf-8?B?cmUrYnR4Ulp0L0llNTVudU9NbzB0Z0ozdE5aeEJwbkRJWmZGZEU1ajhuSXNK?= =?utf-8?B?Q1NmOE8yUzNTaEhYQ1FITUtxOHgzSFBCRGx0QVA1RWVZbFJzZ3l6NEp2WWgz?= =?utf-8?B?ZEdqb1ZEQ2MwMURKNVV1VG9IRFE3VkhYSi96QnBKMmhrWkpjY0tEcGRtdC9t?= =?utf-8?B?VkVvcXhTZmNBME5zOVpJU2I1V01ITkxEcTUza1RuZFlKS21Ba2FkZnFMSTcy?= =?utf-8?B?MWNkU2RDS01vbnZtOFlqUTV4ZlhyNlZoTmZzQ1hZRnN0MGJsUis2aXI4clhn?= =?utf-8?Q?MN5jnbzijYFAxWFoNTCkPVo=3D?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d626ebc6-3498-4a58-9494-08d99dd955a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 08:18:21.8990 (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: 3GQqJVPkXo+cECBpDrHFteTXVcUlPCXjK15242PX6Cow+CM+dZW5Xfpm8/83RPk1A6Rp8AAAlQSG7sMF1+qkwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2608 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 08/10] vdpa/sfc: add support for MAC filter config 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 Sender: "dev" SGkgVmlqYXksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVmlqYXkg U3JpdmFzdGF2YSA8dmlqYXkuc3JpdmFzdGF2YUB4aWxpbnguY29tPg0KPiBTZW50OiBGcmlkYXks IE9jdG9iZXIgMjksIDIwMjEgMTA6NDcgUE0NCj4gVG86IGRldkBkcGRrLm9yZw0KPiBDYzogbWF4 aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNv bT47DQo+IGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1OyBWaWpheSBLdW1hciBTcml2YXN0 YXZhIDx2c3JpdmFzdEB4aWxpbnguY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjMgMDgvMTBdIHZk cGEvc2ZjOiBhZGQgc3VwcG9ydCBmb3IgTUFDIGZpbHRlciBjb25maWcNCj4gDQo+IEZyb206IFZp amF5IEt1bWFyIFNyaXZhc3RhdmEgPHZzcml2YXN0QHhpbGlueC5jb20+DQo+IA0KPiBBZGQgc3Vw cG9ydCBmb3IgdW5pY2FzdCBhbmQgYnJvYWRjYXN0IE1BQyBmaWx0ZXIgY29uZmlndXJhdGlvbi4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IFZpamF5IEt1bWFyIFNyaXZhc3RhdmEgPHZzcml2YXN0QHhp bGlueC5jb20+DQo+IEFja2VkLWJ5OiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtv QG9rdGV0bGFicy5ydT4NCj4gLS0tDQo+ICBkb2MvZ3VpZGVzL3ZkcGFkZXZzL3NmYy5yc3QgICAg ICAgIHwgICA0ICsrDQo+ICBkcml2ZXJzL3ZkcGEvc2ZjL21lc29uLmJ1aWxkICAgICAgIHwgICAx ICsNCj4gIGRyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEuYyAgICAgICAgfCAgMzIgKysrKysrKysr DQo+ICBkcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhLmggICAgICAgIHwgIDMwICsrKysrKysrDQo+ ICBkcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX2ZpbHRlci5jIHwgMTQ0DQo+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFf aHcuYyAgICAgfCAgMTAgKysrDQo+ICBkcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX29wcy5jICAg IHwgIDE3ICsrKysrDQo+ICA3IGZpbGVzIGNoYW5nZWQsIDIzOCBpbnNlcnRpb25zKCspDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9maWx0ZXIuYw0KPiAN Cj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvdmRwYWRldnMvc2ZjLnJzdCBiL2RvYy9ndWlkZXMv dmRwYWRldnMvc2ZjLnJzdA0KPiBpbmRleCBkMDZjNDI3Li41MTJmMjNlIDEwMDY0NA0KPiAtLS0g YS9kb2MvZ3VpZGVzL3ZkcGFkZXZzL3NmYy5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy92ZHBhZGV2 cy9zZmMucnN0DQo+IEBAIC03MSw2ICs3MSwxMCBAQCBib29sZWFuIHBhcmFtZXRlcnMgdmFsdWUu DQo+ICAgICoqdmRwYSoqIGRldmljZSB3aWxsIHdvcmsgYXMgdmRwYSBkZXZpY2UgYW5kIHdpbGwg YmUgcHJvYmVkIGJ5IHZkcGEvc2ZjDQo+IGRyaXZlci4NCj4gICAgSWYgdGhpcyBwYXJhbWV0ZXIg aXMgbm90IHNwZWNpZmllZCB0aGVuIGVmMTAwIGRldmljZSB3aWxsIG9wZXJhdGUgYXMNCj4gbmV0 d29yayBkZXZpY2UuDQo+IA0KPiArLSBgYG1hY2BgIFttYWMgYWRkcmVzc10NCj4gKw0KPiArICBD b25maWd1cmVzIE1BQyBhZGRyZXNzIHdoaWNoIHdvdWxkIGJlIHVzZWQgdG8gc2V0dXAgTUFDIGZp bHRlcnMuDQo+ICsNCj4gDQo+ICBEeW5hbWljIExvZ2dpbmcgUGFyYW1ldGVycw0KPiAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9zZmMvbWVz b24uYnVpbGQgYi9kcml2ZXJzL3ZkcGEvc2ZjL21lc29uLmJ1aWxkDQo+IGluZGV4IGRjMzMzZGUu LjJjYTMzYmMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvdmRwYS9zZmMvbWVzb24uYnVpbGQNCj4g KysrIGIvZHJpdmVycy92ZHBhL3NmYy9tZXNvbi5idWlsZA0KPiBAQCAtMjIsNCArMjIsNSBAQCBz b3VyY2VzID0gZmlsZXMoDQo+ICAJJ3NmY192ZHBhX2h3LmMnLA0KPiAgCSdzZmNfdmRwYV9tY2Rp LmMnLA0KPiAgCSdzZmNfdmRwYV9vcHMuYycsDQo+ICsJJ3NmY192ZHBhX2ZpbHRlci5jJywNCj4g ICkNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEuYyBiL2RyaXZlcnMv dmRwYS9zZmMvc2ZjX3ZkcGEuYw0KPiBpbmRleCBiM2M4MmU1Li5kMThjZDYxIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhLmMNCj4gKysrIGIvZHJpdmVycy92ZHBhL3Nm Yy9zZmNfdmRwYS5jDQo+IEBAIC04LDcgKzgsOSBAQA0KPiAgI2luY2x1ZGUgPHN5cy9xdWV1ZS5o Pg0KPiANCj4gICNpbmNsdWRlIDxydGVfY29tbW9uLmg+DQo+ICsjaW5jbHVkZSA8cnRlX2RldmFy Z3MuaD4NCj4gICNpbmNsdWRlIDxydGVfZXJybm8uaD4NCj4gKyNpbmNsdWRlIDxydGVfa3Zhcmdz Lmg+DQo+ICAjaW5jbHVkZSA8cnRlX3N0cmluZ19mbnMuaD4NCj4gICNpbmNsdWRlIDxydGVfdmZp by5oPg0KPiAgI2luY2x1ZGUgPHJ0ZV92aG9zdC5oPg0KPiBAQCAtMjAyLDYgKzIwNCwzMSBAQCBz dHJ1Y3Qgc2ZjX3ZkcGFfb3BzX2RhdGEgKg0KPiAgCXJldHVybiByZXQgPCAwID8gUlRFX0xPR1RZ UEVfUE1EIDogcmV0Ow0KPiAgfQ0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK3NmY192ZHBhX2t2YXJn c19wYXJzZShzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciAqc3ZhKQ0KPiArew0KPiArCXN0cnVjdCBy dGVfcGNpX2RldmljZSAqcGNpX2RldiA9IHN2YS0+cGRldjsNCj4gKwlzdHJ1Y3QgcnRlX2RldmFy Z3MgKmRldmFyZ3MgPSBwY2lfZGV2LT5kZXZpY2UuZGV2YXJnczsNCj4gKwkvKg0KPiArCSAqIFRv IGdldCB0aGUgZGV2aWNlIGNsYXNzIGEgbWFuZGF0b3J5IHBhcmFtICdjbGFzcycgaXMgYmVpbmcN Cj4gKwkgKiB1c2VkIHNvIGluY2x1ZGVkIFNGQ19FRlhfS1ZBUkdfREVWX0NMQVNTIGluIHRoZSBw YXJhbSBsaXN0Lg0KPiArCSAqLw0KPiArCWNvbnN0IGNoYXIgKipwYXJhbXMgPSAoY29uc3QgY2hh ciAqW10pew0KPiArCQlSVEVfREVWQVJHU19LRVlfQ0xBU1MsDQo+ICsJCVNGQ19WRFBBX01BQ19B RERSLA0KPiArCQlOVUxMLA0KPiArCX07DQo+ICsNCj4gKwlpZiAoZGV2YXJncyA9PSBOVUxMKQ0K PiArCQlyZXR1cm4gMDsNCj4gKw0KPiArCXN2YS0+a3ZhcmdzID0gcnRlX2t2YXJnc19wYXJzZShk ZXZhcmdzLT5hcmdzLCBwYXJhbXMpOw0KPiArCWlmIChzdmEtPmt2YXJncyA9PSBOVUxMKQ0KPiAr CQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0 aWMgc3RydWN0IHJ0ZV9wY2lfaWQgcGNpX2lkX3NmY192ZHBhX2VmeF9tYXBbXSA9IHsNCj4gIAl7 IFJURV9QQ0lfREVWSUNFKEVGWF9QQ0lfVkVOSURfWElMSU5YLCBFRlhfUENJX0RFVklEX1JJVkVS SEVBRF9WRikgfSwNCj4gIAl7IC52ZW5kb3JfaWQgPSAwLCAvKiBzZW50aW5lbCAqLyB9LA0KPiBA QCAtMjQ0LDYgKzI3MSwxMCBAQCBzdHJ1Y3Qgc2ZjX3ZkcGFfb3BzX2RhdGEgKg0KPiAgCWlmIChy ZXQgIT0gMCkNCj4gIAkJZ290byBmYWlsX3NldF9sb2dfcHJlZml4Ow0KPiANCj4gKwlyZXQgPSBz ZmNfdmRwYV9rdmFyZ3NfcGFyc2Uoc3ZhKTsNCj4gKwlpZiAocmV0ICE9IDApDQo+ICsJCWdvdG8g ZmFpbF9rdmFyZ3NfcGFyc2U7DQo+ICsNCj4gIAlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJlbnRy eSIpOw0KPiANCj4gIAlzZmNfdmRwYV9hZGFwdGVyX2xvY2tfaW5pdChzdmEpOw0KPiBAQCAtMjg0 LDYgKzMxNSw3IEBAIHN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSAqDQo+ICBmYWlsX3ZmaW9fc2V0 dXA6DQo+ICAJc2ZjX3ZkcGFfYWRhcHRlcl9sb2NrX2Zpbmkoc3ZhKTsNCj4gDQo+ICtmYWlsX2t2 YXJnc19wYXJzZToNCj4gIGZhaWxfc2V0X2xvZ19wcmVmaXg6DQo+ICAJcnRlX2ZyZWUoc3ZhKTsN Cj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhLmggYi9kcml2ZXJz L3ZkcGEvc2ZjL3NmY192ZHBhLmgNCj4gaW5kZXggMWJmOTZlNy4uZGJkMDk5ZiAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYS5oDQo+ICsrKyBiL2RyaXZlcnMvdmRwYS9z ZmMvc2ZjX3ZkcGEuaA0KPiBAQCAtMTcsOCArMTcsMjkgQEANCj4gICNpbmNsdWRlICJzZmNfdmRw YV9sb2cuaCINCj4gICNpbmNsdWRlICJzZmNfdmRwYV9vcHMuaCINCj4gDQo+ICsjZGVmaW5lIFNG Q19WRFBBX01BQ19BRERSCQkJIm1hYyINCj4gICNkZWZpbmUgU0ZDX1ZEUEFfREVGQVVMVF9NQ0RJ X0lPVkEJCTB4MjAwMDAwMDAwMDAwDQo+IA0KPiArLyogQnJvYWRjYXN0ICYgVW5pY2FzdCBNQUMg ZmlsdGVycyBhcmUgc3VwcG9ydGVkICovDQo+ICsjZGVmaW5lIFNGQ19NQVhfU1VQUE9SVEVEX0ZJ TFRFUlMJCTINCj4gKw0KPiArLyoNCj4gKyAqIEdldCBmdW5jdGlvbi1sb2NhbCBpbmRleCBvZiB0 aGUgYXNzb2NpYXRlZCBWSSBmcm9tIHRoZQ0KPiArICogdmlydHF1ZXVlIG51bWJlci4gUXVldWUg MCBpcyByZXNlcnZlZCBmb3IgTUNESQ0KPiArICovDQo+ICsjZGVmaW5lIFNGQ19WRFBBX0dFVF9W SV9JTkRFWCh2cV9udW0pICgoKHZxX251bSkgLyAyKSArIDEpDQo+ICsNCj4gK2VudW0gc2ZjX3Zk cGFfZmlsdGVyX3R5cGUgew0KPiArCVNGQ19WRFBBX0JDQVNUX01BQ19GSUxURVIgPSAwLA0KPiAr CVNGQ19WRFBBX1VDQVNUX01BQ19GSUxURVIgPSAxLA0KPiArCVNGQ19WRFBBX0ZJTFRFUl9OVFlQ RQ0KPiArfTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgc2ZjX3ZkcGFfZmlsdGVyX3Mgew0KPiAr CWludAkJCQlmaWx0ZXJfY250Ow0KPiArCWVmeF9maWx0ZXJfc3BlY190CQlzcGVjW1NGQ19NQVhf U1VQUE9SVEVEX0ZJTFRFUlNdOw0KPiArfSBzZmNfdmRwYV9maWx0ZXJfdDsNCj4gKw0KPiAgLyog QWRhcHRlciBwcml2YXRlIGRhdGEgKi8NCj4gIHN0cnVjdCBzZmNfdmRwYV9hZGFwdGVyIHsNCj4g IAlUQUlMUV9FTlRSWShzZmNfdmRwYV9hZGFwdGVyKQluZXh0Ow0KPiBAQCAtMzIsNiArNTMsOCBA QCBzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciB7DQo+ICAJc3RydWN0IHJ0ZV9wY2lfZGV2aWNlCQkq cGRldjsNCj4gIAlzdHJ1Y3QgcnRlX3BjaV9hZGRyCQlwY2lfYWRkcjsNCj4gDQo+ICsJc3RydWN0 IHJ0ZV9rdmFyZ3MJCSprdmFyZ3M7DQo+ICsNCj4gIAllZnhfZmFtaWx5X3QJCQlmYW1pbHk7DQo+ ICAJZWZ4X25pY190CQkJKm5pYzsNCj4gIAlydGVfc3BpbmxvY2tfdAkJCW5pY19sb2NrOw0KPiBA QCAtNDYsNiArNjksOCBAQCBzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciB7DQo+ICAJY2hhcgkJCQls b2dfcHJlZml4W1NGQ19WRFBBX0xPR19QUkVGSVhfTUFYXTsNCj4gIAl1aW50MzJfdAkJCWxvZ3R5 cGVfbWFpbjsNCj4gDQo+ICsJc2ZjX3ZkcGFfZmlsdGVyX3QJCWZpbHRlcnM7DQo+ICsNCj4gIAlp bnQJCQkJdmZpb19ncm91cF9mZDsNCj4gIAlpbnQJCQkJdmZpb19kZXZfZmQ7DQo+ICAJaW50CQkJ CXZmaW9fY29udGFpbmVyX2ZkOw0KPiBAQCAtODMsNiArMTA4LDExIEBAIHN0cnVjdCBzZmNfdmRw YV9vcHNfZGF0YSAqDQo+ICBpbnQNCj4gIHNmY192ZHBhX2RtYV9tYXAoc3RydWN0IHNmY192ZHBh X29wc19kYXRhICp2ZHBhX2RhdGEsIGJvb2wgZG9fbWFwKTsNCj4gDQo+ICtpbnQNCj4gK3NmY192 ZHBhX2ZpbHRlcl9yZW1vdmUoc3RydWN0IHNmY192ZHBhX29wc19kYXRhICpvcHNfZGF0YSk7DQo+ ICtpbnQNCj4gK3NmY192ZHBhX2ZpbHRlcl9jb25maWcoc3RydWN0IHNmY192ZHBhX29wc19kYXRh ICpvcHNfZGF0YSk7DQo+ICsNCj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNmY192ZHBhX2FkYXB0 ZXIgKg0KPiAgc2ZjX3ZkcGFfYWRhcHRlcl9ieV9kZXZfaGFuZGxlKHZvaWQgKmRldl9oYW5kbGUp DQo+ICB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX2ZpbHRlci5j DQo+IGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9maWx0ZXIuYw0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi4wM2I2YTVkDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9maWx0ZXIuYw0KPiBAQCAtMCwwICsxLDE0NCBA QA0KPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiArICoNCj4g KyAqIENvcHlyaWdodChjKSAyMDIwLTIwMjEgWGlsaW54LCBJbmMuDQo+ICsgKi8NCj4gKw0KPiAr I2luY2x1ZGUgPHJ0ZV9lcnJuby5oPg0KPiArI2luY2x1ZGUgPHJ0ZV9ldGhlci5oPg0KPiArI2lu Y2x1ZGUgPHJ0ZV9rdmFyZ3MuaD4NCj4gKw0KPiArI2luY2x1ZGUgImVmeC5oIg0KPiArI2luY2x1 ZGUgImVmeF9pbXBsLmgiDQo+ICsjaW5jbHVkZSAic2ZjX3ZkcGEuaCINCj4gKw0KPiArc3RhdGlj IGlubGluZSBpbnQNCj4gK3NmY192ZHBhX2dldF9ldGhfYWRkcihjb25zdCBjaGFyICprZXkgX19y dGVfdW51c2VkLA0KPiArCQkgICAgICBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZXh0cmFfYXJn cykNCj4gK3sNCj4gKwlzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKm1hY19hZGRyID0gZXh0cmFfYXJn czsNCj4gKw0KPiArCWlmICh2YWx1ZSA9PSBOVUxMIHx8IGV4dHJhX2FyZ3MgPT0gTlVMTCkNCj4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwkvKiBDb252ZXJ0IHN0cmluZyB3aXRoIEV0aGVy bmV0IGFkZHJlc3MgdG8gYW4gZXRoZXJfYWRkciAqLw0KPiArCXJ0ZV9ldGhlcl91bmZvcm1hdF9h ZGRyKHZhbHVlLCBtYWNfYWRkcik7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAr c3RhdGljIGludA0KPiArc2ZjX3ZkcGFfc2V0X21hY19maWx0ZXIoZWZ4X25pY190ICpuaWMsIGVm eF9maWx0ZXJfc3BlY190ICpzcGVjLA0KPiArCQkJaW50IHFpZCwgdWludDhfdCAqZXRoX2FkZHIp DQo+ICt7DQo+ICsJaW50IHJjOw0KPiArDQo+ICsJaWYgKG5pYyA9PSBOVUxMIHx8IHNwZWMgPT0g TlVMTCkNCj4gKwkJcmV0dXJuIC0xOw0KPiArDQo+ICsJc3BlYy0+ZWZzX3ByaW9yaXR5ID0gRUZY X0ZJTFRFUl9QUklfTUFOVUFMOw0KPiArCXNwZWMtPmVmc19mbGFncyA9IEVGWF9GSUxURVJfRkxB R19SWDsNCj4gKwlzcGVjLT5lZnNfZG1hcV9pZCA9IHFpZDsNCj4gKw0KPiArCXJjID0gZWZ4X2Zp bHRlcl9zcGVjX3NldF9ldGhfbG9jYWwoc3BlYywgRUZYX0ZJTFRFUl9TUEVDX1ZJRF9VTlNQRUMs DQo+ICsJCQkJCSAgIGV0aF9hZGRyKTsNCj4gKwlpZiAocmMgIT0gMCkNCj4gKwkJcmV0dXJuIHJj Ow0KPiArDQo+ICsJcmMgPSBlZnhfZmlsdGVyX2luc2VydChuaWMsIHNwZWMpOw0KPiArCWlmIChy YyAhPSAwKQ0KPiArCQlyZXR1cm4gcmM7DQo+ICsNCj4gKwlyZXR1cm4gcmM7DQo+ICt9DQo+ICsN Cj4gK2ludCBzZmNfdmRwYV9maWx0ZXJfY29uZmlnKHN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSAq b3BzX2RhdGEpDQo+ICt7DQo+ICsJaW50IHJjOw0KPiArCWludCBxaWQ7DQo+ICsJZWZ4X25pY190 ICpuaWM7DQo+ICsJc3RydWN0IHJ0ZV9ldGhlcl9hZGRyIGJjYXN0X2V0aF9hZGRyOw0KPiArCXN0 cnVjdCBydGVfZXRoZXJfYWRkciB1Y2FzdF9ldGhfYWRkcjsNCj4gKwlzdHJ1Y3Qgc2ZjX3ZkcGFf YWRhcHRlciAqc3ZhID0gb3BzX2RhdGEtPmRldl9oYW5kbGU7DQo+ICsJZWZ4X2ZpbHRlcl9zcGVj X3QgKnNwZWM7DQo+ICsNCj4gKwlpZiAob3BzX2RhdGEgPT0gTlVMTCkNCj4gKwkJcmV0dXJuIC0x Ow0KDQpZb3UgY2hlY2sgdGhpcyBhZnRlciB5b3UgdXNlIHRoZSBwb2ludGVyIHRvIHJlZmVyZW5j ZSBhZGFwdGVyLg0KT25lIG9wdGlvbiBpcyB0byByZW1vdmUgdGhlIGNoZWNrIGFzIEkgZG9uJ3Qg dGhpbmsgaXQgd2lsbCBiZSBOVUxMLg0KDQo+ICsNCj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEs ICJlbnRyeSIpOw0KPiArDQo+ICsJbmljID0gc3ZhLT5uaWM7DQo+ICsNCj4gKwlzZmNfdmRwYV9s b2dfaW5pdChzdmEsICJwcm9jZXNzIGt2YXJnIik7DQo+ICsNCj4gKwkvKiBza2lwIE1BQyBmaWx0 ZXIgY29uZmlndXJhdGlvbiBpZiBtYWMgYWRkcmVzcyBpcyBub3QgcHJvdmlkZWQgKi8NCj4gKwlp ZiAocnRlX2t2YXJnc19jb3VudChzdmEtPmt2YXJncywgU0ZDX1ZEUEFfTUFDX0FERFIpID09IDAp IHsNCj4gKwkJc2ZjX3ZkcGFfd2FybihzdmEsDQo+ICsJCQkgICAgICAiTUFDIGFkZHJlc3MgaXMg bm90IHByb3ZpZGVkLCBza2lwcGluZyBNQUMgRmlsdGVyDQo+IENvbmZpZyIpOw0KPiArCQlyZXR1 cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJcmMgPSBydGVfa3ZhcmdzX3Byb2Nlc3Moc3ZhLT5rdmFy Z3MsIFNGQ19WRFBBX01BQ19BRERSLA0KPiArCQkJCSZzZmNfdmRwYV9nZXRfZXRoX2FkZHIsDQo+ ICsJCQkJJnVjYXN0X2V0aF9hZGRyKTsNCj4gKwlpZiAocmMgPCAwKQ0KPiArCQlyZXR1cm4gLTE7 DQo+ICsNCj4gKwkvKiBjcmVhdGUgZmlsdGVycyBvbiB0aGUgYmFzZSBxdWV1ZSAqLw0KPiArCXFp ZCA9IFNGQ19WRFBBX0dFVF9WSV9JTkRFWCgwKTsNCj4gKw0KPiArCXNmY192ZHBhX2xvZ19pbml0 KHN2YSwgImluc2VydCBicm9hZGNhc3QgbWFjIGZpbHRlciIpOw0KPiArDQo+ICsJRUZYX01BQ19C Uk9BRENBU1RfQUREUl9TRVQoYmNhc3RfZXRoX2FkZHIuYWRkcl9ieXRlcyk7DQo+ICsJc3BlYyA9 ICZzdmEtPmZpbHRlcnMuc3BlY1tTRkNfVkRQQV9CQ0FTVF9NQUNfRklMVEVSXTsNCj4gKw0KPiAr CXJjID0gc2ZjX3ZkcGFfc2V0X21hY19maWx0ZXIobmljLA0KPiArCQkJCSAgICAgc3BlYywgcWlk LA0KPiArCQkJCSAgICAgYmNhc3RfZXRoX2FkZHIuYWRkcl9ieXRlcyk7DQoNCkNhbiBpbXByb3Zl IHRvIHVzZSB0d28gbGluZXMgYXMgaXQgd29uJ3QgZXhjZWVkIDgwDQoNCj4gKwlpZiAocmMgIT0g MCkNCj4gKwkJc2ZjX3ZkcGFfZXJyKG9wc19kYXRhLT5kZXZfaGFuZGxlLA0KPiArCQkJICAgICAi YnJvYWRjYXN0IE1BQyBmaWx0ZXIgaW5zZXJ0aW9uIGZhaWxlZDogJXMiLA0KPiArCQkJICAgICBy dGVfc3RyZXJyb3IocmMpKTsNCj4gKwllbHNlDQo+ICsJCXN2YS0+ZmlsdGVycy5maWx0ZXJfY250 Kys7DQo+ICsNCj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJpbnNlcnQgdW5pY2FzdCBtYWMg ZmlsdGVyIik7DQo+ICsJc3BlYyA9ICZzdmEtPmZpbHRlcnMuc3BlY1tTRkNfVkRQQV9VQ0FTVF9N QUNfRklMVEVSXTsNCj4gKw0KPiArCXJjID0gc2ZjX3ZkcGFfc2V0X21hY19maWx0ZXIobmljLA0K PiArCQkJCSAgICAgc3BlYywgcWlkLA0KPiArCQkJCSAgICAgdWNhc3RfZXRoX2FkZHIuYWRkcl9i eXRlcyk7DQoNCkRpdHRvLg0KDQo+ICsJaWYgKHJjICE9IDApDQo+ICsJCXNmY192ZHBhX2Vycihz dmEsDQo+ICsJCQkgICAgICJ1bmljYXN0IE1BQyBmaWx0ZXIgaW5zZXJ0aW9uIGZhaWxlZDogJXMi LA0KPiArCQkJICAgICBydGVfc3RyZXJyb3IocmMpKTsNCj4gKwllbHNlDQo+ICsJCXN2YS0+Zmls dGVycy5maWx0ZXJfY250Kys7DQo+ICsNCj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJkb25l Iik7DQo+ICsNCj4gKwlyZXR1cm4gcmM7DQo+ICt9DQo+ICsNCj4gK2ludCBzZmNfdmRwYV9maWx0 ZXJfcmVtb3ZlKHN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSAqb3BzX2RhdGEpDQo+ICt7DQo+ICsJ aW50IGksIHJjID0gMDsNCj4gKwlzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciAqc3ZhID0gb3BzX2Rh dGEtPmRldl9oYW5kbGU7DQo+ICsJZWZ4X25pY190ICpuaWM7DQo+ICsNCj4gKwlpZiAob3BzX2Rh dGEgPT0gTlVMTCkNCj4gKwkJcmV0dXJuIC0xOw0KDQpZb3UgY2hlY2sgdGhpcyBhZnRlciB5b3Ug dXNlIHRoZSBwb2ludGVyIHRvIHJlZmVyZW5jZSBhZGFwdGVyLg0KT25lIG9wdGlvbiBpcyB0byBy ZW1vdmUgdGhlIGNoZWNrIGFzIEkgZG9uJ3QgdGhpbmsgaXQgd2lsbCBiZSBOVUxMLg0KDQoNClRo YW5rcywNCkNoZW5ibw0KDQo+ICsNCj4gKwluaWMgPSBzdmEtPm5pYzsNCj4gKw0KPiArCWZvciAo aSA9IDA7IGkgPCBzdmEtPmZpbHRlcnMuZmlsdGVyX2NudDsgaSsrKSB7DQo+ICsJCXJjID0gZWZ4 X2ZpbHRlcl9yZW1vdmUobmljLCAmKHN2YS0+ZmlsdGVycy5zcGVjW2ldKSk7DQo+ICsJCWlmIChy YyAhPSAwKQ0KPiArCQkJc2ZjX3ZkcGFfZXJyKHN2YSwNCj4gKwkJCQkgICAgICJyZW1vdmUgSFcg ZmlsdGVyIGZhaWxlZCBmb3IgZW50cnkgJWQ6ICVzIiwNCj4gKwkJCQkgICAgIGksIHJ0ZV9zdHJl cnJvcihyYykpOw0KPiArCX0NCj4gKw0KPiArCXN2YS0+ZmlsdGVycy5maWx0ZXJfY250ID0gMDsN Cj4gKw0KPiArCXJldHVybiByYzsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9z ZmMvc2ZjX3ZkcGFfaHcuYyBiL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfaHcuYw0KPiBpbmRl eCBiNDczNzA4Li41MzA3YjAzIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192 ZHBhX2h3LmMNCj4gKysrIGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9ody5jDQo+IEBAIC0z NTQsMTAgKzM1NCwyMCBAQA0KPiAgCQlnb3RvIGZhaWxfdmlydGlvX2luaXQ7DQo+ICAJfQ0KPiAN Cj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJpbml0IGZpbHRlciIpOw0KPiArCXJjID0gZWZ4 X2ZpbHRlcl9pbml0KGVucCk7DQo+ICsJaWYgKHJjICE9IDApIHsNCj4gKwkJc2ZjX3ZkcGFfZXJy KHN2YSwgImZpbHRlciBpbml0IGZhaWxlZDogJXMiLCBydGVfc3RyZXJyb3IocmMpKTsNCj4gKwkJ Z290byBmYWlsX2ZpbHRlcl9pbml0Ow0KPiArCX0NCj4gKw0KPiAgCXNmY192ZHBhX2xvZ19pbml0 KHN2YSwgImRvbmUiKTsNCj4gDQo+ICAJcmV0dXJuIDA7DQo+IA0KPiArZmFpbF9maWx0ZXJfaW5p dDoNCj4gKwllZnhfdmlydGlvX2ZpbmkoZW5wKTsNCj4gKw0KPiAgZmFpbF92aXJ0aW9faW5pdDoN Cj4gIAllZnhfbmljX2ZpbmkoZW5wKTsNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEv c2ZjL3NmY192ZHBhX29wcy5jIGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9vcHMuYw0KPiBp bmRleCA3NzRkNzNlLi44NTUxYjY1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3ZkcGEvc2ZjL3Nm Y192ZHBhX29wcy5jDQo+ICsrKyBiL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfb3BzLmMNCj4g QEAgLTQyNiw2ICs0MjYsOCBAQA0KPiANCj4gIAlzZmNfdmRwYV9kaXNhYmxlX3ZmaW9faW50cihv cHNfZGF0YSk7DQo+IA0KPiArCXNmY192ZHBhX2ZpbHRlcl9yZW1vdmUob3BzX2RhdGEpOw0KPiAr DQo+ICAJb3BzX2RhdGEtPnN0YXRlID0gU0ZDX1ZEUEFfU1RBVEVfQ09ORklHVVJFRDsNCj4gIH0N Cj4gDQo+IEBAIC00NjUsMTIgKzQ2NywyNyBAQA0KPiAgCQkJZ290byBmYWlsX3ZxX3N0YXJ0Ow0K PiAgCX0NCj4gDQo+ICsJb3BzX2RhdGEtPnZxX2NvdW50ID0gaTsNCj4gKw0KPiArCXNmY192ZHBh X2xvZ19pbml0KG9wc19kYXRhLT5kZXZfaGFuZGxlLA0KPiArCQkJICAiY29uZmlndXJlIE1BQyBm aWx0ZXJzIik7DQo+ICsJcmMgPSBzZmNfdmRwYV9maWx0ZXJfY29uZmlnKG9wc19kYXRhKTsNCj4g KwlpZiAocmMgIT0gMCkgew0KPiArCQlzZmNfdmRwYV9lcnIob3BzX2RhdGEtPmRldl9oYW5kbGUs DQo+ICsJCQkgICAgICJNQUMgZmlsdGVyIGNvbmZpZyBmYWlsZWQ6ICVzIiwNCj4gKwkJCSAgICAg cnRlX3N0cmVycm9yKHJjKSk7DQo+ICsJCWdvdG8gZmFpbF9maWx0ZXJfY2ZnOw0KPiArCX0NCj4g Kw0KPiAgCW9wc19kYXRhLT5zdGF0ZSA9IFNGQ19WRFBBX1NUQVRFX1NUQVJURUQ7DQo+IA0KPiAg CXNmY192ZHBhX2xvZ19pbml0KG9wc19kYXRhLT5kZXZfaGFuZGxlLCAiZG9uZSIpOw0KPiANCj4g IAlyZXR1cm4gMDsNCj4gDQo+ICtmYWlsX2ZpbHRlcl9jZmc6DQo+ICsJLyogcmVtb3ZlIGFscmVh ZHkgY3JlYXRlZCBmaWx0ZXJzICovDQo+ICsJc2ZjX3ZkcGFfZmlsdGVyX3JlbW92ZShvcHNfZGF0 YSk7DQo+ICBmYWlsX3ZxX3N0YXJ0Og0KPiAgCS8qIHN0b3AgYWxyZWFkeSBzdGFydGVkIHZpcnRx dWV1ZXMgKi8NCj4gIAlmb3IgKGogPSAwOyBqIDwgaTsgaisrKQ0KPiAtLQ0KPiAxLjguMy4xDQoN Cg==