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 AB298A0583; Thu, 19 Mar 2020 10:17:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0FA2129D6; Thu, 19 Mar 2020 10:17:12 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 236023B5 for ; Thu, 19 Mar 2020 10:17:11 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02J9Fvqf026248; Thu, 19 Mar 2020 02:17:10 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=am6FTCc1eYwevfl8TN8AdKoniYYT6lwyVdTxqBl7bcs=; b=wYFWfv8qjG0MShFXY4ZtbAhC13FEOQuvrJBkJPXNX/fTRQ8FZvgyUt4Ac9WhXIBKynFo pLorJ/8a6Fx/qkpKuH6OXhb4CteG0Bjtq3vdpxUrAc4Uu5qmbJficaGHocI3d++lML+b 2FDctx+GPYCGrBlxSGDNYCedyzFC7dhrbjvgpAKmzJNIb1q3gzDJRrYOPmN/f34JFRuZ UGWCXYHrkFIEW7MvKxb2hBUSDB0hEt2sl6gZuG8uAZIDNQpp/6uPTKIJVJ6LXAF+lblC iko0HbIbo5yIi2heheSqtWcTpN1axY+KY9+UFmKaiVpOYefkk06REe6lcUlG+mPff9dp Yw== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2yu9rpemka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 19 Mar 2020 02:17:10 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 19 Mar 2020 02:17:07 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 19 Mar 2020 02:17:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cRUwSDJrk3UjfEkHzSuBXKv80/XqFDYi2ZEKCZgNJXhkWzQfD4Lw6yvfV6psAuvPYbqBV7eWlSyqt15jSrEKV/6SUnXG14jczvD5rdnAPOnNHmGgWv4L2Bu47uwCA4NCmIpKoTQPOL6d/F7RiTSyRpGnCUkT4sXneF6RS2maZpMTDqbfDUe2KySzwN01QvTeC/PLo1AsI5AQLMeyB3paEYFcpdVD4c+OGXPy5efkejYojw6RBBPkfIPFb+/lG4OZuJdzK/YaK4u+3c5AtIx+YYqDVReAt4wfRMlrwQqepN3x1gyaQtnqf/UgehW6TTgZQCGc1RQjcY9+4adN+Z9nGA== 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=am6FTCc1eYwevfl8TN8AdKoniYYT6lwyVdTxqBl7bcs=; b=FUPhurXFwAjH1Ts+mzrtzx5CBfRrUIZvXEDK+JsxmzWaMHHVZqI3LDeXDK6jSs3luTF2YYD7efxSD9lMx9lK4UpukZK5r9K45rbnuNquNlUsY/2kKyLePOsshCNXnwrjQBRv3R6fpFx3jTlc2z8s8ptHP1y3/qImaxQCMGawmOA+NAnRjHYxhfyDBdFw5aMiIdUamdizQNAgHeZ1uuakzbSOwLrTpaz8fNkv9BMSPw7M4RtFE4mxPYQnncPXzNdVD1189QeNvfmYflsnqvxB9ZIubBtMEVxRAIO+bzpipkM1/q/SZzi/xgkOAVP8imMPQ5qaEsFqMRd74tlDCzrdig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=am6FTCc1eYwevfl8TN8AdKoniYYT6lwyVdTxqBl7bcs=; b=rN3B4F6PUfXYxBEqxS+KzX20esZoKp3A9T7HFIdbv/Obi2R/U7Dyitered8u7/Zio5z68VsqUYnFQ6UBE4sNaZ2eAix6qUym3EQL5KGhpg5S5Th5yt0lZiZoRnzHBBoIGYhfcMiOAW460HR/1xJCbNAKn5o9o5MDsXrO2tbFPkE= Received: from CH2PR18MB3272.namprd18.prod.outlook.com (2603:10b6:610:21::17) by CH2PR18MB3413.namprd18.prod.outlook.com (2603:10b6:610:2f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.20; Thu, 19 Mar 2020 09:17:06 +0000 Received: from CH2PR18MB3272.namprd18.prod.outlook.com ([fe80::7970:4f47:f9ce:f0e8]) by CH2PR18MB3272.namprd18.prod.outlook.com ([fe80::7970:4f47:f9ce:f0e8%4]) with mapi id 15.20.2814.021; Thu, 19 Mar 2020 09:17:05 +0000 From: Kiran Kumar Kokkilagadda To: Ori Kam , Wenzhuo Lu , "Jingjing Wu" , Bernard Iremonger , John McNamara , Marko Kovacevic , Thomas Monjalon , "Ferruh Yigit" , Andrew Rybchenko CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] ethdev: add DBDF action to RTE Flow Thread-Index: AQHV9vXlMCX5AOU+U0Sp++l44HU0zahLQUEAgAFfPBCAADDjAIAC3n+Q Date: Thu, 19 Mar 2020 09:17:05 +0000 Message-ID: References: <20200310160609.7434-1-kirankumark@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [183.82.20.88] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 996d5b82-af7d-40bc-f31a-08d7cbe64b17 x-ms-traffictypediagnostic: CH2PR18MB3413: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0347410860 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(376002)(396003)(39860400002)(136003)(346002)(199004)(86362001)(55016002)(8676002)(66476007)(66946007)(66556008)(64756008)(6506007)(33656002)(76116006)(66446008)(53546011)(9686003)(30864003)(71200400001)(26005)(5660300002)(2906002)(7696005)(8936002)(186003)(478600001)(7416002)(110136005)(316002)(52536014)(81166006)(81156014)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:CH2PR18MB3413; H:CH2PR18MB3272.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vrl+yVyUGcprdhKFKiMBz0dJ9Xs7ujfozj5t+8h9IZ3sY3xRhz1YT5PSg3JjTcl6tjFm6EOrq2BiEuJT40FPkUSyqV4qPwfWH5Zg6XP0w75aioIOjXbEyUH8P7tBIUy0Q1MsuOt0oDfT0GHqa9LffL9Uxz90DDPO1TOFumUcrfIkupCgTi3nQjiA7vAO1fmJhpsKCYJzd+958p21NXkWHk730cWOX9SVE1VdxeOVabmxLkcbFDN1ecOKcD01VOVd4rmuziRpf5NQsKojM9vs2OOre4TIXCaStlMKN23g8gJriykM4TruTsUMLJYmveZX8I4sXK+yD+Y7SThg+wuDpa/vcuSKty8mZNCcMRsMeQUpwp2GiWPWkAAKznKrbRWTBh8LwLgCpL5OYMaQAtAxlAEhPXQ4Im2GlwV924HXmSgYsstAJzKsIVULXTGA3yr+ x-ms-exchange-antispam-messagedata: 5LeeH3AEuqQO9dCDWmcu3WhPNzdwd5d4jfeF1gO68LCTK60Zls+vZ7h10hDa77QFUXK8qcvwZYi+1PvVWJGRqeOqRAclTwm954VEHVzZkVfhfBTCX4RJR/zipEanFu9kM5Itdd+GQ1XXT6Ppn/Ki+A== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 996d5b82-af7d-40bc-f31a-08d7cbe64b17 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2020 09:17:05.7922 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KbkmYUpzF1pAVrP6IuvVSgSptSHyiZGc29m91wJOuPOtP17NxifDJ7svYU882yirqO4lOSQ7KxARrkfYx1QTcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR18MB3413 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.645 definitions=2020-03-19_02:2020-03-18, 2020-03-19 signatures=0 Subject: Re: [dpdk-dev] [PATCH] ethdev: add DBDF action to RTE Flow 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" SGkgT3JpLA0KICAgIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl diA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBPcmkgS2FtDQo+IFNlbnQ6IFR1 ZXNkYXksIE1hcmNoIDE3LCAyMDIwIDY6NTYgUE0NCj4gVG86IEtpcmFuIEt1bWFyIEtva2tpbGFn YWRkYSA8a2lyYW5rdW1hcmtAbWFydmVsbC5jb20+OyBXZW56aHVvIEx1DQo+IDx3ZW56aHVvLmx1 QGludGVsLmNvbT47IEppbmdqaW5nIFd1IDxqaW5namluZy53dUBpbnRlbC5jb20+OyBCZXJuYXJk DQo+IElyZW1vbmdlciA8YmVybmFyZC5pcmVtb25nZXJAaW50ZWwuY29tPjsgSm9obiBNY05hbWFy YQ0KPiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBNYXJrbyBLb3ZhY2V2aWMgPG1hcmtvLmtv dmFjZXZpY0BpbnRlbC5jb20+Ow0KPiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5u ZXQ+OyBGZXJydWggWWlnaXQNCj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBBbmRyZXcgUnli Y2hlbmtvIDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnDQo+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gZXRoZGV2OiBhZGQgREJERiBhY3Rpb24g dG8gUlRFIEZsb3cNCj4gDQo+IEhJIEtpcmFuLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+IEZyb206IEtpcmFuIEt1bWFyIEtva2tpbGFnYWRkYSA8a2lyYW5rdW1hcmtA bWFydmVsbC5jb20+DQo+ID4gU2VudDogVHVlc2RheSwgTWFyY2ggMTcsIDIwMjAgMTI6MzQgUE0N Cj4gPiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsgV2Vuemh1byBMdSA8d2Vuemh1 by5sdUBpbnRlbC5jb20+Ow0KPiA+IEppbmdqaW5nIFd1IDxqaW5namluZy53dUBpbnRlbC5jb20+ OyBCZXJuYXJkIElyZW1vbmdlcg0KPiA+IDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb20+OyBK b2huIE1jTmFtYXJhDQo+ID4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgTWFya28gS292YWNl dmljDQo+ID4gPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24gPHRo b21hc0Btb25qYWxvbi5uZXQ+Ow0KPiA+IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVs LmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4gPiA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4N Cj4gPiBDYzogZGV2QGRwZGsub3JnDQo+ID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENI XSBldGhkZXY6IGFkZCBEQkRGIGFjdGlvbiB0byBSVEUgRmxvdw0KPiA+DQo+ID4gSGkgT3JpLA0K PiA+DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZy b206IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT4NCj4gPiA+IFNlbnQ6IE1vbmRheSwgTWFy Y2ggMTYsIDIwMjAgNzowNCBQTQ0KPiA+ID4gVG86IEtpcmFuIEt1bWFyIEtva2tpbGFnYWRkYSA8 a2lyYW5rdW1hcmtAbWFydmVsbC5jb20+OyBXZW56aHVvIEx1DQo+ID4gPiA8d2Vuemh1by5sdUBp bnRlbC5jb20+OyBKaW5namluZyBXdSA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgQmVybmFyZA0K PiA+ID4gSXJlbW9uZ2VyIDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb20+OyBKb2huIE1jTmFt YXJhDQo+ID4gPiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBNYXJrbyBLb3ZhY2V2aWMNCj4g PiA8bWFya28ua292YWNldmljQGludGVsLmNvbT47DQo+ID4gPiBUaG9tYXMgTW9uamFsb24gPHRo b21hc0Btb25qYWxvbi5uZXQ+OyBGZXJydWggWWlnaXQNCj4gPiA+IDxmZXJydWgueWlnaXRAaW50 ZWwuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5j b20+DQo+ID4gPiBDYzogZGV2QGRwZGsub3JnDQo+ID4gPiBTdWJqZWN0OiBbRVhUXSBSRTogW2Rw ZGstZGV2XSBbUEFUQ0hdIGV0aGRldjogYWRkIERCREYgYWN0aW9uIHRvIFJURQ0KPiA+ID4gRmxv dw0KPiA+ID4NCj4gPiA+IEV4dGVybmFsIEVtYWlsDQo+ID4gPg0KPiA+ID4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPiA+IC0tDQo+ID4gPiBIaSBLaXJhbiwNCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBraXJhbmt1bWFya0BtYXJ2ZWxsLmNv bSA8a2lyYW5rdW1hcmtAbWFydmVsbC5jb20+DQo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1hcmNo IDEwLCAyMDIwIDY6MDYgUE0NCj4gPiA+ID4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNv bT47IFdlbnpodW8gTHUNCj4gPiA8d2Vuemh1by5sdUBpbnRlbC5jb20+Ow0KPiA+ID4gPiBKaW5n amluZyBXdSA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgQmVybmFyZCBJcmVtb25nZXINCj4gPiA+ ID4gPGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT47IEpvaG4gTWNOYW1hcmENCj4gPiA+ID4g PGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgTWFya28gS292YWNldmljDQo+ID4gPiA+IDxtYXJr by5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPHRob21hc0Btb25q YWxvbi5uZXQ+Ow0KPiA+ID4gPiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+ OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA+IDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0K PiA+ID4gPiBDYzogZGV2QGRwZGsub3JnOyBLaXJhbiBLdW1hciBLIDxraXJhbmt1bWFya0BtYXJ2 ZWxsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0hdIGV0aGRldjogYWRk IERCREYgYWN0aW9uIHRvIFJURSBGbG93DQo+ID4gPiA+DQo+ID4gPiA+IEZyb206IEtpcmFuIEt1 bWFyIEsgPGtpcmFua3VtYXJrQG1hcnZlbGwuY29tPg0KPiA+ID4gPg0KPiA+ID4gPiBBZGRpbmcg c3V1cG9ydCB0byBEQkRGIGFjdGlvbiBpbiB0aGUgUlRFIEZsb3cuDQo+ID4gPiA+IEFwcGxpY2F0 aW9uIGNhbiBzcGVjaWZ5IHRoZSBkYmRmIHZhbHVlIHVzaW5nIHJ0ZV9mbG93X2FjdGlvbl9kYmRm Lg0KPiA+ID4gPiBNYXRjaGVkIHRyYWZmaWMgd2lsbCBiZSBzZW50IHRvIHNwZWNpZmllZCBQQ0kg REJERiBkZXZpY2UuDQo+ID4gPiA+DQo+ID4gPiBJIHdvdWxkIGxpa2UgdG8gc2VlIG1vcmUgZGV0 YWlsIHVzZSBjYXNlLCBmb3IgZXhhbXBsZSB0byB3aGljaA0KPiA+ID4gZGV2aWNlIC8gZGV2aWNl IHR5cGUgd2lsbCB0aGUgdHJhZmZpYyBiZSByb3V0ZWQgdG8/DQo+ID4gPg0KPiA+DQo+ID4gV2Ug aGF2ZSB0aGUgZm9sbG93aW5nIHVzZSBjYXNlLg0KPiA+IFdlIGhhdmUgMiBQRidzIHBmMCwgcGYx IGFuZCBjb3JyZXNwb25kaW5nIFZGJ3MgcGYwX3ZmMCAsIHBmMV92ZjAuIEFuZA0KPiA+IHdlIGhh dmUNCj4gPiAzIGFwcGxpY2F0aW9ucyBydW5uaW5nLg0KPiA+IDFzdCBhcHBsaWNhdGlvbiBvbiBw ZjAgYW5kIHBmMQ0KPiA+IDJuZCBhcHBsaWNhdGlvbiBvbiBwZjBfdmYwDQo+ID4gM3JkIGFwcGxp Y2F0aW9uIG9uIHBmMV92ZjAuDQo+ID4gV2Ugd2FudCB0byBkaXJlY3QgdGhlIHRyYWZmaWMgbWF0 Y2hpbmcgY29uZGl0aW9uMSBmcm9tIGFwcGxpY2F0aW9uIDENCj4gPiAodHJhZmZpYyBmcm9tIGJv dGggcGYwICYgcGYxKSBuZWVkcyB0byBzZW5kIHRvICBhcHBsaWNhdGlvbiAyDQo+ID4gKHBmMF92 ZjApIEFuZCBtYXRjaGluZyBjb25kaXRpb24yIGZyb20gYXBwbGljYXRpb24gMSAodHJhZmZpYyBm cm9tDQo+ID4gYm90aCBwZjAgJiBwZjEpIG5lZWRzIHRvIHNlbmQgdG8gYXBwbGljYXRpb24gMyAo cGYxX3ZmMCkuDQo+ID4gVG8gc3VtbWFyaXplLCB3ZSBuZWVkIHRvIHNlbmQgdHJhZmZpYyBmcm9t IHBmMCB0byBwZjFfdmYwIGFuZCB0cmFmZmljDQo+ID4gZnJvbSBwZjEgdG8gcGYwX3ZmMC4gSW4g dGhpcyBjYXNlIFRoaXMgREJERiBhY3Rpb24gd2lsbCBiZSB1c2VmdWwuDQo+ID4NCj4gDQo+IEl0 IHNlZW1zIHRoYXQgd2hhdCB5b3UgYXJlIGRlc2NyaWJpbmcgaXQgdGhlIHBvcnQgYWN0aW9uIHdp dGggcmVwcmVzZW50b3JzLCBvciBhbnkNCj4gb3RoZXIgd2F5IHlvdSB3aXNoIHRvIGltcGxlbWVu dCBpdC4NCg0KTGV0J3Mgc2F5IHdlIGhhdmUgYSBWRiB3aXRoIGtlcm5lbCBhbmQgd2Ugd2FudCB0 byBzZW5kIHRoZSB0cmFmZmljIHRvIHRoYXQgVkYsIHRoZW4gd2UgY2FuJ3QNClVzZSBwb3J0IGFj dGlvbi4gVGhpcyB3aWxsIGJlIHVzZWZ1bCBpbiB0aG9zZSBzY2VuYXJpb3MuDQoNCg0KPiANCj4g Pg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBLaXJhbiBLdW1hciBLIDxraXJhbmt1bWFya0BtYXJ2 ZWxsLmNvbT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93 LmMgICAgICAgIHwgNjQNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ ID4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QgfCAxOSArKysrKysrKysNCj4g PiA+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmMgICAgICAgfCAgMSArDQo+ID4gPiA+ ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oICAgICAgIHwgMTYgKysrKysrKysNCj4gPiA+ ID4gIDQgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKykNCj4gPiA+ID4NCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+ID4gPiBiL2FwcC90 ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYyBpbmRleCBhNzgxNTQ1MDIuLmMzMThiNGEyNyAxMDA2NDQN Cj4gPiA+ID4gLS0tIGEvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jDQo+ID4gPiA+ICsrKyBi L2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+ID4gPiBAQCAtMzQyLDggKzM0MiwxNyBA QCBlbnVtIGluZGV4IHsNCj4gPiA+ID4gIAlBQ1RJT05fU0VUX0lQVjRfRFNDUF9WQUxVRSwNCj4g PiA+ID4gIAlBQ1RJT05fU0VUX0lQVjZfRFNDUCwNCj4gPiA+ID4gIAlBQ1RJT05fU0VUX0lQVjZf RFNDUF9WQUxVRSwNCj4gPiA+ID4gKwlBQ1RJT05fREJERiwNCj4gPiA+ID4gIH07DQo+ID4gPiA+ DQo+ID4gPiA+ICsjZGVmaW5lIERCREZfS0VZX0xFTkdUSCAyMA0KPiA+ID4gPiArDQo+ID4gPiA+ ICtzdHJ1Y3QgYWN0aW9uX2RiZGZfZGF0YSB7DQo+ID4gPiA+ICsJc3RydWN0IHJ0ZV9mbG93X2Fj dGlvbl9kYmRmIGNvbmY7DQo+ID4gPiA+ICsJdWludDhfdCBkYmRmX3ZhbHVlW0RCREZfS0VZX0xF TkdUSF07IH07DQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4gPiAgLyoqIE1heGltdW0gc2l6 ZSBmb3IgcGF0dGVybiBpbiBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9yYXcuICovDQo+ID4gPiA+ICNk ZWZpbmUgSVRFTV9SQVdfUEFUVEVSTl9TSVpFIDQwDQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0xMTQ0 LDYgKzExNTMsNyBAQCBzdGF0aWMgY29uc3QgZW51bSBpbmRleCBuZXh0X2FjdGlvbltdID0gew0K PiA+ID4gPiAgCUFDVElPTl9TRVRfTUVUQSwNCj4gPiA+ID4gIAlBQ1RJT05fU0VUX0lQVjRfRFND UCwNCj4gPiA+ID4gIAlBQ1RJT05fU0VUX0lQVjZfRFNDUCwNCj4gPiA+ID4gKwlBQ1RJT05fREJE RiwNCj4gPiA+ID4gIAlaRVJPLA0KPiA+ID4gPiAgfTsNCj4gPiA+ID4NCj4gPiA+ID4gQEAgLTEz NjksNiArMTM3OSwxMSBAQCBzdGF0aWMgY29uc3QgZW51bSBpbmRleA0KPiA+ID4gPiBhY3Rpb25f c2V0X2lwdjZfZHNjcFtdDQo+ID4gPSB7DQo+ID4gPiA+ICAJWkVSTywNCj4gPiA+ID4gIH07DQo+ ID4gPiA+DQo+ID4gPiA+ICtzdGF0aWMgY29uc3QgZW51bSBpbmRleCBhY3Rpb25fZGJkZltdID0g ew0KPiA+ID4gPiArCUFDVElPTl9ORVhULA0KPiA+ID4gPiArCVpFUk8sDQo+ID4gPiA+ICt9Ow0K PiA+ID4gPiArDQo+ID4gPiA+ICBzdGF0aWMgaW50IHBhcnNlX3NldF9yYXdfZW5jYXBfZGVjYXAo c3RydWN0IGNvbnRleHQgKiwgY29uc3QNCj4gPiA+ID4gc3RydWN0IHRva2VuDQo+ID4gKiwNCj4g PiA+ID4gIAkJCQkgICAgIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50LA0KPiA+ID4gPiAgCQkJ CSAgICAgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOw0KPiA+ID4gPiBAQCAtMTQyMSw2ICsxNDM2LDkg QEAgc3RhdGljIGludA0KPiA+IHBhcnNlX3ZjX2FjdGlvbl9tcGxzb3VkcF9lbmNhcChzdHJ1Y3QN Cj4gPiA+ID4gY29udGV4dCAqLA0KPiA+ID4gPiAgc3RhdGljIGludCBwYXJzZV92Y19hY3Rpb25f bXBsc291ZHBfZGVjYXAoc3RydWN0IGNvbnRleHQgKiwNCj4gPiA+ID4gIAkJCQkJICBjb25zdCBz dHJ1Y3QgdG9rZW4gKiwgY29uc3QgY2hhciAqLA0KPiA+ID4gPiAgCQkJCQkgIHVuc2lnbmVkIGlu dCwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOw0KPiA+ID4gPiArc3RhdGljIGludCBwYXJzZV92Y19h Y3Rpb25fZGJkZl92YWx1ZShzdHJ1Y3QgY29udGV4dCAqLA0KPiA+ID4gPiArCQkJCSAgICAgY29u c3Qgc3RydWN0IHRva2VuICosIGNvbnN0IGNoYXIgKiwNCj4gPiA+ID4gKwkJCQkgICAgIHVuc2ln bmVkIGludCwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOw0KPiA+ID4gPiAgc3RhdGljIGludCBwYXJz ZV92Y19hY3Rpb25fcmF3X2VuY2FwKHN0cnVjdCBjb250ZXh0ICosDQo+ID4gPiA+ICAJCQkJICAg ICBjb25zdCBzdHJ1Y3QgdG9rZW4gKiwgY29uc3QgY2hhciAqLA0KPiA+ID4gPiAgCQkJCSAgICAg dW5zaWduZWQgaW50LCB2b2lkICosIHVuc2lnbmVkIGludCk7IEBAIC0NCj4gPiA+IDM2ODQsNiAr MzcwMiwxOCBAQA0KPiA+ID4gPiBzdGF0aWMgY29uc3Qgc3RydWN0IHRva2VuIHRva2VuX2xpc3Rb XSA9IHsNCj4gPiA+ID4gIAkJCSAgICAgKHN0cnVjdCBydGVfZmxvd19hY3Rpb25fc2V0X2RzY3As IGRzY3ApKSwNCj4gPiA+ID4gIAkJLmNhbGwgPSBwYXJzZV92Y19jb25mLA0KPiA+ID4gPiAgCX0s DQo+ID4gPiA+ICsJW0FDVElPTl9EQkRGXSA9IHsNCj4gPiA+ID4gKwkJLm5hbWUgPSAiZGJkZiIs DQo+ID4gPiA+ICsJCS5oZWxwID0gInNldCBEQkRGIHZhbHVlIiwNCj4gPiA+ID4gKwkJLm5leHQg PSBORVhUKGFjdGlvbl9kYmRmLCBORVhUX0VOVFJZKFNUUklORykpLA0KPiA+ID4gPiArCQkucHJp diA9IFBSSVZfQUNUSU9OKERCREYsIHNpemVvZihzdHJ1Y3QgYWN0aW9uX2RiZGZfZGF0YSkpLA0K PiA+ID4gPiArCQkuYXJncyA9IEFSR1MoQVJHU19FTlRSWV9BUkIoMCwgMCksDQo+ID4gPiA+ICsJ CQkgICAgIEFSR1NfRU5UUllfQVJCKDAsIHNpemVvZih1aW50OF90KSksDQo+ID4gPiA+ICsJCQkg ICAgIEFSR1NfRU5UUllfQVJCKA0KPiA+ID4gPiArCQkJICAgIG9mZnNldG9mKHN0cnVjdCBhY3Rp b25fZGJkZl9kYXRhLCBkYmRmX3ZhbHVlKSwNCj4gPiA+ID4gKwkJCQkJICAgIERCREZfS0VZX0xF TkdUSCkpLA0KPiA+ID4gPiArCQkuY2FsbCA9IHBhcnNlX3ZjX2FjdGlvbl9kYmRmX3ZhbHVlLA0K PiA+ID4gPiArCX0sDQo+ID4gPiA+ICB9Ow0KPiA+ID4gPg0KPiA+ID4gPiAgLyoqIFJlbW92ZSBh bmQgcmV0dXJuIGxhc3QgZW50cnkgZnJvbSBhcmd1bWVudCBzdGFjay4gKi8gQEANCj4gPiA+ID4g LTUwNjQsNg0KPiA+ID4gPiArNTA5NCw0MCBAQCBwYXJzZV92Y19hY3Rpb25fcmF3X2VuY2FwX2lu ZGV4KHN0cnVjdCBjb250ZXh0ICpjdHgsDQo+ID4gPiA+ICtjb25zdA0KPiA+ID4gPiBzdHJ1Y3Qg dG9rZW4gKnRva2VuLA0KPiA+ID4gPiAgCXJldHVybiBsZW47DQo+ID4gPiA+ICB9DQo+ID4gPiA+ DQo+ID4gPiA+ICtzdGF0aWMgaW50DQo+ID4gPiA+ICtwYXJzZV92Y19hY3Rpb25fZGJkZl92YWx1 ZShzdHJ1Y3QgY29udGV4dCAqY3R4LCBjb25zdCBzdHJ1Y3QgdG9rZW4NCj4gKnRva2VuLA0KPiA+ ID4gPiArCQkJICBjb25zdCBjaGFyICpzdHIsIHVuc2lnbmVkIGludCBsZW4sIHZvaWQgKmJ1ZiwN Cj4gPiA+ID4gKwkJCSAgdW5zaWduZWQgaW50IHNpemUpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsJ c3RydWN0IGJ1ZmZlciAqb3V0ID0gYnVmOw0KPiA+ID4gPiArCXN0cnVjdCBydGVfZmxvd19hY3Rp b24gKmFjdGlvbjsNCj4gPiA+ID4gKwlzdHJ1Y3QgYWN0aW9uX2RiZGZfZGF0YSAqYWN0aW9uX2Ri ZGZfZGF0YSA9IE5VTEw7DQo+ID4gPiA+ICsJaW50IHJldDsNCj4gPiA+ID4gKw0KPiA+ID4gPiAr CXJldCA9IHBhcnNlX3ZjKGN0eCwgdG9rZW4sIHN0ciwgbGVuLCBidWYsIHNpemUpOw0KPiA+ID4g PiArCWlmIChyZXQgPCAwKQ0KPiA+ID4gPiArCQlyZXR1cm4gcmV0Ow0KPiA+ID4gPiArCS8qIE5v dGhpbmcgZWxzZSB0byBkbyBpZiB0aGVyZSBpcyBubyBidWZmZXIuICovDQo+ID4gPiA+ICsJaWYg KCFvdXQpDQo+ID4gPiA+ICsJCXJldHVybiByZXQ7DQo+ID4gPiA+ICsJaWYgKCFvdXQtPmFyZ3Mu dmMuYWN0aW9uc19uKQ0KPiA+ID4gPiArCQlyZXR1cm4gLTE7DQo+ID4gPiA+ICsJYWN0aW9uID0g Jm91dC0+YXJncy52Yy5hY3Rpb25zW291dC0+YXJncy52Yy5hY3Rpb25zX24gLSAxXTsNCj4gPiA+ ID4gKwkvKiBQb2ludCB0byBzZWxlY3RlZCBvYmplY3QuICovDQo+ID4gPiA+ICsJY3R4LT5vYmpl Y3QgPSBvdXQtPmFyZ3MudmMuZGF0YTsNCj4gPiA+ID4gKwljdHgtPm9iam1hc2sgPSBOVUxMOw0K PiA+ID4gPiArCS8qIENvcHkgdGhlIGhlYWRlcnMgdG8gdGhlIGJ1ZmZlci4gKi8NCj4gPiA+ID4g KwlhY3Rpb25fZGJkZl9kYXRhID0gY3R4LT5vYmplY3Q7DQo+ID4gPiA+ICsJKmFjdGlvbl9kYmRm X2RhdGEgPSAoc3RydWN0IGFjdGlvbl9kYmRmX2RhdGEpIHsNCj4gPiA+ID4gKwkJLmNvbmYgPSAo c3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9kYmRmKXsNCj4gPiA+ID4gKwkJCS5kYmRmX3ZhbHVlID0g YWN0aW9uX2RiZGZfZGF0YS0+ZGJkZl92YWx1ZSwNCj4gPiA+ID4gKwkJfSwNCj4gPiA+ID4gKwkJ LmRiZGZfdmFsdWUgPSB7fSwNCj4gPiA+ID4gKwl9Ow0KPiA+ID4gPiArCWFjdGlvbi0+Y29uZiA9 ICZhY3Rpb25fZGJkZl9kYXRhLT5jb25mOw0KPiA+ID4NCj4gPiA+IEkgdGhpbmsgeW91IGFyZSBt aXNzaW5nIHRoZSBzZXR0aW5nIG9mIHRoZSBsZW4gdmFsdWUgaW4gdGhlIGNvbmYuDQo+ID4NCj4g PiBMZW5ndGggd2lsbCBiZSB1cGRhdGUgd2hpbGUgcGFyc2luZyB0aGUgc3RyaW5nIChwYXJzZV9z dHJpbmcpLg0KPiANCj4gWW91IGFyZSByaWdodCBJIG1pc3NlZCBpdCDwn5iKDQo+IA0KPiA+DQo+ ID4gPg0KPiA+ID4gPiArCXJldHVybiByZXQ7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ ID4gIHN0YXRpYyBpbnQNCj4gPiA+ID4gIHBhcnNlX3ZjX2FjdGlvbl9yYXdfZW5jYXAoc3RydWN0 IGNvbnRleHQgKmN0eCwgY29uc3Qgc3RydWN0IHRva2VuDQo+ICp0b2tlbiwNCj4gPiA+ID4gIAkJ CSAgY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBpbnQgbGVuLCB2b2lkICpidWYsIGRpZmYgLS1n aXQNCj4gPiA+ID4gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gPiA+ IGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+ID4gPiBpbmRleCA0MWMx NDc5MTMuLmI5MDBlMjgzYyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3J0ZV9mbG93LnJzdA0KPiA+ID4gPiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRl X2Zsb3cucnN0DQo+ID4gPiA+IEBAIC0yNjE2LDYgKzI2MTYsMjUgQEAgT3RoZXJ3aXNlLCBSVEVf RkxPV19FUlJPUl9UWVBFX0FDVElPTg0KPiA+ID4gZXJyb3INCj4gPiA+ID4gd2lsbCBiZSByZXR1 cm5lZC4NCj4gPiA+ID4gICAgIHwgYGBkc2NwYGAgIHwgRFNDUCBpbiBsb3cgNiBiaXRzLCByZXN0 IGlnbm9yZSB8DQo+ID4gPiA+ICAgICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KPiA+ID4gPg0KPiA+ID4gPiArQWN0aW9uOiBgYERCREZgYA0KPiA+ID4g PiArXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXg0KPiA+ID4gPiArDQo+ID4gPiA+ICtTZXQgREJE RiB2YWx1ZS4NCj4gPiA+ID4gKw0KPiA+ID4gPiArU2VuZCB0cmFmZmljIHRvIHNwZWNpZmllZCBQ Q0kgREJERiBkZXZpY2UuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKy4uIF90YWJsZV9ydGVfZmxvd19h Y3Rpb25fZGJkZjoNCj4gPiA+ID4gKw0KPiA+ID4gPiArLi4gdGFibGU6OiBEQkRGDQo+ID4gPiA+ ICsNCj4gPiA+ID4gKyAgICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KPiA+ID4gPiArICAgfCBGaWVsZCAgICAgICAgICAgfCBWYWx1ZSAgICAgICAgICAg ICAgICAgICAgICB8DQo+ID4gPiA+ICsgICArPT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09 PT09PT09PT09PT09PT09PSsNCj4gPiA+ID4gKyAgIHwgYGBsZW5ndGhgYCAgICAgIHwgREJERiBs ZW5ndGggICAgICAgICAgICAgICAgfA0KPiA+ID4gPiArICAgKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4gPiA+ICsgICB8IGBgZGJkZl92YWx1ZWBg ICB8IERCREYgdmFsdWUgICAgICAgICAgICAgICAgIHwNCj4gPiA+ID4gKyAgICstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ID4gPiArDQo+ID4gPiA+ ICBOZWdhdGl2ZSB0eXBlcw0KPiA+ID4gPiAgfn5+fn5+fn5+fn5+fn4NCj4gPiA+ID4NCj4gPiA+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmMNCj4gPiA+ID4gYi9s aWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5jIGluZGV4IGE1YWMxYzdmYi4uNmVhZGE3Nzg1IDEw MDY0NA0KPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5jDQo+ID4gPiA+ ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmMNCj4gPiA+ID4gQEAgLTE3Miw2ICsx NzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2Rlc2NfZGF0YQ0KPiA+ID4gPiBy dGVfZmxvd19kZXNjX2FjdGlvbltdID0gew0KPiA+ID4gPiAgCU1LX0ZMT1dfQUNUSU9OKFNFVF9N RVRBLCBzaXplb2Yoc3RydWN0DQo+ID4gPiBydGVfZmxvd19hY3Rpb25fc2V0X21ldGEpKSwNCj4g PiA+ID4gIAlNS19GTE9XX0FDVElPTihTRVRfSVBWNF9EU0NQLCBzaXplb2Yoc3RydWN0DQo+ID4g PiA+IHJ0ZV9mbG93X2FjdGlvbl9zZXRfZHNjcCkpLA0KPiA+ID4gPiAgCU1LX0ZMT1dfQUNUSU9O KFNFVF9JUFY2X0RTQ1AsIHNpemVvZihzdHJ1Y3QNCj4gPiA+ID4gcnRlX2Zsb3dfYWN0aW9uX3Nl dF9kc2NwKSksDQo+ID4gPiA+ICsJTUtfRkxPV19BQ1RJT04oREJERiwgc2l6ZW9mKHN0cnVjdCBy dGVfZmxvd19hY3Rpb25fZGJkZikpLA0KPiA+ID4gPiAgfTsNCj4gPiA+ID4NCj4gPiA+ID4gIGlu dA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ ID4gPiBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmggaW5kZXggYjQzMjM4YjQ1Li5iNjAy OWMyODIgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgN Cj4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ID4gPiBAQCAt MjA4Miw2ICsyMDgyLDIyIEBAIGVudW0gcnRlX2Zsb3dfYWN0aW9uX3R5cGUgew0KPiA+ID4gPiAg CSAqIFNlZSBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NldF9kc2NwLg0KPiA+ID4gPiAgCSAqLw0K PiA+ID4gPiAgCVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY2X0RTQ1AsDQo+ID4gPiA+ICsN Cj4gPiA+ID4gKwkvKioNCj4gPiA+ID4gKwkgKiBTZW5kIHBhY2tldCB0byBzcGVjaWZpZWQgUENJ ZSBkZXZpY2UNCj4gPiA+ID4gKwkgKi8NCj4gPiA+ID4gKwlSVEVfRkxPV19BQ1RJT05fVFlQRV9E QkRGLA0KPiA+ID4gPiArfTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4g PiA+ID4gKyAqIFJURV9GTE9XX0FDVElPTl9UWVBFX0RCREYNCj4gPiA+ID4gKyAqDQo+ID4gPiA+ ICsgKiBTZW5kIHRoZSBwYWNrZXQgdG8gc3BlY2lmaWVkIFBDSSBEQkRGIGRldmljZSAgKi8gc3Ry dWN0DQo+ID4gPiA+ICtydGVfZmxvd19hY3Rpb25fZGJkZiB7DQo+ID4gPiA+ICsJdWludDhfdCBs ZW5ndGg7DQo+ID4gPiA+ICsJY29uc3QgdWludDhfdCAqZGJkZl92YWx1ZTsNCj4gPiA+ID4gIH07 DQo+ID4gPiA+DQo+ID4gPiA+ICAvKioNCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4xNy4xDQo+ID4g Pg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gT3JpDQo=