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 442CEA04A3; Tue, 16 Jun 2020 12:38:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 08C0A1BF53; Tue, 16 Jun 2020 12:38:09 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id C09561BF4E for ; Tue, 16 Jun 2020 12:38:06 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 05GAa0iM018430; Tue, 16 Jun 2020 03:38:04 -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=s9aOeqM7rdt1LYjvQRtIzNr9qJd0XLRaSEVxfV9fB1o=; b=zQ2CJDFAsXlnXJhm2pJMam52lRWAZXpjc1uo69vgl23YW9nQDXSu00+nn47EgkfyJmX6 MTDdNy6NlVLHiFJXM9UdbHQSazxjH/6xJJL/0vyaX30c4SH1f0Z75HDQkNKaiH77RjTJ AWeBibrMc0zDnLLDZsET8/JIM0Lie0gjbhnXZGPfaNlt6EwQ7Tu3mzmDgtqiyrvvEojS zG0xNHHYP/1lKyrl4sefOCQUkXPAJvYW1A7BKUnqR54JMJwT484FuyyLiY3U5Rpi6/yy Q6XGL3Rk/+Ug3pj1j8g6a2Q0MCLKpljvy9y1BKhZN/tK+6Y/+40PWNvi7d9xIsKs1LWw BA== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 31mv5qjnky-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 16 Jun 2020 03:38:04 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 16 Jun 2020 03:38:04 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 16 Jun 2020 03:38:03 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 16 Jun 2020 03:38:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gXDRoT7wI/rHNJZvz5uA7YklPnHQbyylISJWn91LwfHwGKISOBkipD3pIQgOWBnKL6PhqE/vfvwXwNkYfsDjScq+O0dGh4AKu29By6FFDIHS7XsSf2dWTwHapIjANCf47nql8mrVRFoinGWVXlYkqUOzSCplEaPupcz4veQHMS0X6ZUOKOoXZfeKI584tLpXeR1TXX+a93h2NCe1P1mSFuxcWzG4/rgWeBLaLOAznw2NSK/tCokU7BUoORKO9zKmazBqHhuNZQXC+wRVcFa8cuIz+BYCH+a7b6MpTlY/3DTVzy74aD7wRyHleMODc3jCgKJ9la+f0MICUuUiWbkxeg== 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=s9aOeqM7rdt1LYjvQRtIzNr9qJd0XLRaSEVxfV9fB1o=; b=J4qSFwgrI/il2KIa9eRdQtGcd/GDLFAsns3ZtZ4qZkzRTchYdm9+buru4KR1baclYdGSbg7i/S8eVGMHGpR3e7DBbcOWbCtJ+9Gl1Ok+QgHxUrCuZMW0fy9cCGE/tHoT0XOcdZ5WdmvlqPudw9/sbXRf2qq+rPxUU5YGlNe7zBfR8RJRLjE0NhTzjc/7bRb8DJvY29iwKwPGMBUpSN4t6d2645/oj4CpCVMjtxS0NgmJVZC8PAoPBtPgh8F338e5xghKCorZAgIWVdnwZx5exTpSliKLdmAw8pg1w3F8mtD8gUfdY1tIxGeDtuFClSvVs3vfU2EDXNiAB4UUXkn/gQ== 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=s9aOeqM7rdt1LYjvQRtIzNr9qJd0XLRaSEVxfV9fB1o=; b=YC4E2G6ogpOnGb4wfnP2EwXMFtX1ZmT5xp3hLV23LKoqPtw1UxH0qjmZMviWk/4HoXB1V91tgEMLGalgKZANVVy+yrV/OtYnSzPskIQP1+L8nTttTYYYr9b9ecmsF7D7GDgPuLA7nngSMzng23tNYFBbEjDqcCopa4KLNUARjK8= Received: from BYAPR18MB2629.namprd18.prod.outlook.com (2603:10b6:a03:136::33) by BYAPR18MB2872.namprd18.prod.outlook.com (2603:10b6:a03:10c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.24; Tue, 16 Jun 2020 10:38:02 +0000 Received: from BYAPR18MB2629.namprd18.prod.outlook.com ([fe80::b467:ec26:2c4b:1ae6]) by BYAPR18MB2629.namprd18.prod.outlook.com ([fe80::b467:ec26:2c4b:1ae6%7]) with mapi id 15.20.3088.029; Tue, 16 Jun 2020 10:38:02 +0000 From: Sunil Kumar Kori To: Muhammad Bilal CC: "declan.doherty@intel.com" , "tomasz.kantecki@intel.com" , "Pavan Nikhilesh Bhagavatula" , "dev@dpdk.org" , "jgrajcia@cisco.com" , "vipin.varghese@intel.com" Thread-Topic: [EXT] [PATCH 1/5] examples/l2fwd-event: free resources in case of error Thread-Index: AQHWLbs7IiZBopkxvk+4vFBt81nvaqivIz8AgBYzhYCADGfKUIAH/w4AgAEqqbCAAEn8gIAABoUw Date: Tue, 16 Jun 2020 10:38:01 +0000 Message-ID: References: <20200519085444.4562-1-m.bilal@emumba.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: emumba.com; dkim=none (message not signed) header.d=none;emumba.com; dmarc=none action=none header.from=marvell.com; x-originating-ip: [2401:4900:169f:c5ab:e1e3:8724:9e9b:b4b] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2ac0d99d-2898-4e6e-c373-08d811e1585f x-ms-traffictypediagnostic: BYAPR18MB2872: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:765; x-forefront-prvs: 04362AC73B x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GAdjH+MgRQLDjUdZpTb1m028cd25+Oeq+9WTxUXiMCJ8cbdTptjLG3FopHJ758/SYUKN4ewADNYa2slNmu3ob2Alp1LTHJFd7MpfWFy6nrWiu42O4O7+IJ4AownhEyi+F0IQkWstRWctxrCDl5Es6zW4uBjxqpPWdC8ci7ynP04xEoI8bAjkQhdOYrPh7JAfW2mNaDH2Z6AvKs1auP2htBkag/iM/9k1u/jQztJ3TziJGDmvG8BC7pVR5RX/LihgKtYzNqqKe+RmoGIqh26ISMR+RzC2NgACzXv0XSWoulp3YC6S9gmswcI+cF3WpRR3/fFqe0I3MbGY3qP9LwCESWDwvQcVWgRitcw161YdJtkhK7tPe1IcgPCW7qo3m0BRsCVWcZei0Om6DuzvujshRw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR18MB2629.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(136003)(396003)(366004)(376002)(39850400004)(66446008)(76116006)(64756008)(66946007)(66476007)(66556008)(86362001)(54906003)(5660300002)(6506007)(186003)(7696005)(52536014)(2906002)(55016002)(478600001)(9686003)(33656002)(8936002)(8676002)(71200400001)(83380400001)(4326008)(316002)(6916009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 2etMMQGSa5V9klV3GTNLQEvk5l0phF85bnhL+61mkCND51lyaKo5mwFAdwVblDr9AYJPG+EyyRGb6ac/1zhRukUlhkcgevShhzQ4JqBL2v3cLAp14tDDWGKyK7ZZpKodY8GuwY0ADoQXgfTxPxBHE8LYyMh2NuFR4Jo+vtKZ9kWP4lt8+PxZvNCxY5W/ZjO74N+rnKfueUqNDoRAX2TVj1wjnPKovnC1TDwOy9pOXOKzZ8g5aZE+69MRmfXl7E031Qr5Oju8XtJJEhKVqVTMX7rk6BFvC2OK3gAAaboyZ3d6MajnUeKpNemlRU9ahYzvEB8+cYwYonGhuWdOt9wfOqYvDnS4GET9As2XxsSFjtcyfgu2aHeXnK52Rz3iGnhmpgIOq984iNa5ECZ4dz6a6wGYvFjgC1bD11JITPgS31kP70Ld4sCR+KUU2DES+r5W20wAJH92xK024c4RKRX1p9r08jQKU9c9sdfZsZH7qx7mXasobS4F/KG9nXicP73f2nExayguRAwrZHeiTgntzZpoKSkFGXLNJqYMOwPuZLnfd8LBxQXzXoy1INKR1NNm Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 2ac0d99d-2898-4e6e-c373-08d811e1585f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2020 10:38:01.8601 (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: 9ab+tDlWYTHU3cZIBpqcpmo+Uy0o5lB3rNcIpVR92+Je1mB7ksW6Er82iygvM2BT8lbJci0NjCFTIpqBqseEkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2872 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687 definitions=2020-06-16_04:2020-06-15, 2020-06-16 signatures=0 Subject: Re: [dpdk-dev] [EXT] [PATCH 1/5] examples/l2fwd-event: free resources in case of error 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" Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTXVoYW1tYWQgQmlsYWwgPG0uYmls YWxAZW11bWJhLmNvbT4NCj5TZW50OiBUdWVzZGF5LCBKdW5lIDE2LCAyMDIwIDM6NDQgUE0NCj5U bzogU3VuaWwgS3VtYXIgS29yaSA8c2tvcmlAbWFydmVsbC5jb20+DQo+Q2M6IGRlY2xhbi5kb2hl cnR5QGludGVsLmNvbTsgdG9tYXN6LmthbnRlY2tpQGludGVsLmNvbTsgUGF2YW4gTmlraGlsZXNo DQo+QmhhZ2F2YXR1bGEgPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9yZzsN Cj5qZ3JhamNpYUBjaXNjby5jb207IHZpcGluLnZhcmdoZXNlQGludGVsLmNvbQ0KPlN1YmplY3Q6 IFJlOiBbRVhUXSBbUEFUQ0ggMS81XSBleGFtcGxlcy9sMmZ3ZC1ldmVudDogZnJlZSByZXNvdXJj ZXMgaW4gY2FzZQ0KPm9mIGVycm9yDQo+DQo+T24gVHVlLCBKdW4gMTYsIDIwMjAgYXQgMTA6NTMg QU0gU3VuaWwgS3VtYXIgS29yaSA8c2tvcmlAbWFydmVsbC5jb20+DQo+d3JvdGU6DQo+Pg0KPj4g Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+RnJvbTogTXVoYW1tYWQgQmlsYWwgPG0u YmlsYWxAZW11bWJhLmNvbT4NCj4+ID5TZW50OiBNb25kYXksIEp1bmUgMTUsIDIwMjAgNTozMCBQ TQ0KPj4gPlRvOiBTdW5pbCBLdW1hciBLb3JpIDxza29yaUBtYXJ2ZWxsLmNvbT4NCj4+ID5DYzog ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tOyB0b21hc3oua2FudGVja2lAaW50ZWwuY29tOyBQYXZh bg0KPj4gPk5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsg ZGV2QGRwZGsub3JnOw0KPj4gPmpncmFqY2lhQGNpc2NvLmNvbTsgdmlwaW4udmFyZ2hlc2VAaW50 ZWwuY29tDQo+PiA+U3ViamVjdDogUmU6IFtFWFRdIFtQQVRDSCAxLzVdIGV4YW1wbGVzL2wyZndk LWV2ZW50OiBmcmVlIHJlc291cmNlcw0KPj4gPmluIGNhc2Ugb2YgZXJyb3INCj4+ID4NCj4+ID5P biBXZWQsIEp1biAxMCwgMjAyMCBhdCAzOjAxIFBNIFN1bmlsIEt1bWFyIEtvcmkgPHNrb3JpQG1h cnZlbGwuY29tPg0KPj4gPndyb3RlOg0KPj4gPj4NCj4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPj4gPj4gPkZyb206IE11aGFtbWFkIEJpbGFsIDxtLmJpbGFsQGVtdW1iYS5jb20+ DQo+PiA+PiA+U2VudDogVHVlc2RheSwgSnVuZSAyLCAyMDIwIDU6NTcgUE0NCj4+ID4+ID5Ubzog U3VuaWwgS3VtYXIgS29yaSA8c2tvcmlAbWFydmVsbC5jb20+DQo+PiA+PiA+Q2M6IGRlY2xhbi5k b2hlcnR5QGludGVsLmNvbTsgdG9tYXN6LmthbnRlY2tpQGludGVsLmNvbTsgUGF2YW4NCj4+ID4+ ID5OaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IGRldkBk cGRrLm9yZzsNCj4+ID4+ID5qZ3JhamNpYUBjaXNjby5jb207IHZpcGluLnZhcmdoZXNlQGludGVs LmNvbQ0KPj4gPj4gPlN1YmplY3Q6IFJlOiBbRVhUXSBbUEFUQ0ggMS81XSBleGFtcGxlcy9sMmZ3 ZC1ldmVudDogZnJlZQ0KPj4gPj4gPnJlc291cmNlcyBpbiBjYXNlIG9mIGVycm9yDQo+PiA+PiA+ DQo+PiA+PiA+T24gVHVlLCBNYXkgMTksIDIwMjAgYXQgMjozNSBQTSBTdW5pbCBLdW1hciBLb3Jp DQo+PiA+PiA+PHNrb3JpQG1hcnZlbGwuY29tPg0KPj4gPj4gPndyb3RlOg0KPj4gPj4gPj4NCj4+ ID4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPj4gPj4gPkZyb206IE11aGFt bWFkIEJpbGFsIDxtLmJpbGFsQGVtdW1iYS5jb20+DQo+PiA+PiA+PiA+U2VudDogVHVlc2RheSwg TWF5IDE5LCAyMDIwIDI6MjUgUE0NCj4+ID4+ID4+ID5UbzogZGVjbGFuLmRvaGVydHlAaW50ZWwu Y29tOyB0b21hc3oua2FudGVja2lAaW50ZWwuY29tOyBQYXZhbg0KPj4gPj4gPj4gPk5pa2hpbGVz aCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgU3VuaWwgS3VtYXINCj4+ ID4+ID4+ID5Lb3JpIDxza29yaUBtYXJ2ZWxsLmNvbT4NCj4+ID4+ID4+ID5DYzogZGV2QGRwZGsu b3JnOyBNdWhhbW1hZCBCaWxhbCA8bS5iaWxhbEBlbXVtYmEuY29tPg0KPj4gPj4gPj4gPlN1Ympl Y3Q6IFtFWFRdIFtQQVRDSCAxLzVdIGV4YW1wbGVzL2wyZndkLWV2ZW50OiBmcmVlIHJlc291cmNl cw0KPj4gPj4gPj4gPmluIGNhc2Ugb2YgZXJyb3INCj4+ID4+ID4+ID4NCj4+ID4+ID4+ID5FeHRl cm5hbCBFbWFpbA0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gPj4gPj4gPi0tLQ0K Pj4gPj4gPj4gPi0tLQ0KPj4gPj4gPj4gPi0gRnJlZWluZyB0aGUgcmVzb3VyY2VzIGFuZCBjYWxs IHJ0ZV9lYWxfY2xlYW51cCBpbiBjYXNlIG9mDQo+PiA+PiA+PiA+ZXJyb3IgZXhpdC4NCj4+ID4+ ID4+ID5TaWduZWQtb2ZmLWJ5OiBNdWhhbW1hZCBCaWxhbCA8bS5iaWxhbEBlbXVtYmEuY29tPg0K Pj4gPj4gPj4gPi0tLQ0KPj4gPj4gPj4gPiBleGFtcGxlcy9sMmZ3ZC1ldmVudC9tYWluLmMgfCA0 Mw0KPj4gPj4gPj4gPisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCj4+ID4+ ID4+ID4gMSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQo+ PiA+PiA+PiA+DQo+PiA+PiA+PiA+ZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L21h aW4uYw0KPj4gPj4gPj4gPmIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbWFpbi5jIGluZGV4IDk1OTNl ZjExZS4uNDQyYTY2NGU5IDEwMDY0NA0KPj4gPj4gPj4gPi0tLSBhL2V4YW1wbGVzL2wyZndkLWV2 ZW50L21haW4uYw0KPj4gPj4gPj4gPisrKyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50L21haW4uYw0K Pj4gPj4gPj4gPkBAIC01NTYsMTMgKzU1NiwyNiBAQCBzaWduYWxfaGFuZGxlcihpbnQgc2lnbnVt KQ0KPj4gPj4gPj4gPiAgICAgICB9DQo+PiA+PiA+PiA+IH0NCj4+ID4+ID4+ID4NCj4+ID4+ID4+ ID4rc3RhdGljIHZvaWQNCj4+ID4+ID4+ID4rc3RvcF9hbmRfY2xvc2VfZXRoX2Rldih1aW50MTZf dCBwb3J0aWQpIHsNCj4+ID4+ID4+ID4rICAgICAgUlRFX0VUSF9GT1JFQUNIX0RFVihwb3J0aWQp IHsNCj4+ID4+ID4+ID4rICAgICAgICAgICAgICBwcmludGYoIkNsb3NpbmcgcG9ydCAlZC4uLiIs IHBvcnRpZCk7DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgcnRlX2V0aF9kZXZfc3RvcChwb3J0 aWQpOw0KPj4gPj4gPj4gPisgICAgICAgICAgICAgIHJ0ZV9ldGhfZGV2X2Nsb3NlKHBvcnRpZCk7 DQo+PiA+PiA+PiA+KyAgICAgICAgICAgICAgcHJpbnRmKCIgRG9uZVxuIik7DQo+PiA+PiA+PiA+ KyAgICAgIH0NCj4+ID4+ID4+ID4rICAgICAgcnRlX2VhbF9jbGVhbnVwKCk7DQo+PiA+PiA+PiA+ K30NCj4+ID4+ID4+ID4rDQo+PiA+PiA+PiA+IGludA0KPj4gPj4gPj4gPiBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikNCj4+ID4+ID4+ID4gew0KPj4gPj4gPj4gPiAgICAgICBzdHJ1Y3QgbDJm d2RfcmVzb3VyY2VzICpyc3JjOw0KPj4gPj4gPj4gPiAgICAgICB1aW50MTZfdCBuYl9wb3J0c19h dmFpbGFibGUgPSAwOw0KPj4gPj4gPj4gPiAgICAgICB1aW50MzJfdCBuYl9wb3J0c19pbl9tYXNr ID0gMDsNCj4+ID4+ID4+ID4tICAgICAgdWludDE2X3QgcG9ydF9pZCwgbGFzdF9wb3J0Ow0KPj4g Pj4gPj4gPisgICAgICB1aW50MTZfdCBwb3J0X2lkID0gMDsNCj4+ID4+ID4+ID4rICAgICAgdWlu dDE2X3QgbGFzdF9wb3J0Ow0KPj4gPj4gPj4gPiAgICAgICB1aW50MzJfdCBuYl9tYnVmczsNCj4+ ID4+ID4+ID4gICAgICAgdWludDE2X3QgbmJfcG9ydHM7DQo+PiA+PiA+PiA+ICAgICAgIGludCBp LCByZXQ7DQo+PiA+PiA+PiA+QEAgLTU4MSwyMCArNTk0LDI2IEBAIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQ0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPiAgICAgICAvKiBwYXJzZSBhcHBsaWNh dGlvbiBhcmd1bWVudHMgKGFmdGVyIHRoZSBFQUwgb25lcykgKi8NCj4+ID4+ID4+ID4gICAgICAg cmV0ID0gbDJmd2RfZXZlbnRfcGFyc2VfYXJncyhhcmdjLCBhcmd2LCByc3JjKTsNCj4+ID4+ID4+ ID4tICAgICAgaWYgKHJldCA8IDApDQo+PiA+PiA+PiA+KyAgICAgIGlmIChyZXQgPCAwKSB7DQo+ PiA+PiA+PiA+KyAgICAgICAgICAgICAgc3RvcF9hbmRfY2xvc2VfZXRoX2Rldihwb3J0X2lkKTsN Cj4+ID4+ID4+ID4gICAgICAgICAgICAgICBydGVfcGFuaWMoIkludmFsaWQgTDJGV0QgYXJndW1l bnRzXG4iKTsNCj4+ID4+ID4+ID4rICAgICAgfQ0KPj4gPj4gPj4gPg0KPj4gPj4gPlllcyB5b3Ug YXJlIHJpZ2h0IHdlIHNob3VsZCB1c2UgcnRlX2V4aXQgaW5zdGVhZCBvZiBydGVfcGFuaWMsIGFz DQo+PiA+PiA+cnRlX2V4aXQgaW50ZXJuYWxseSBjYWxscyBydGVfZWFsX2NsZWFudXAgZnVuY3Rp b24uDQo+PiA+PiA+PiBJTU8sIHVwIHRvIHRoaXMgcG9pbnQgb25seSBlYWxfaW5pdCBpcyBkb25l IHNvIHJ0ZV9lYWxfY2xlYW51cA0KPj4gPj4gPj4gd2lsbCBiZQ0KPj4gPj4gPnN1ZmZpY2llbnQg Zm9yIHRoaXMuDQo+PiA+PiA+PiBBbHNvIGFub3RoZXIgd2F5IHRvIGhhbmRsZSB0aGlzLCB1c2Ug cnRlX2V4aXQgaW5zdGVhZCBydGVfcGFuaWMuDQo+PiA+PiA+PiBydGVfZXhpdCBpbnRlcm5hbGx5 IGNhbGxzIHJ0ZV9lYWxfY2xlYW51cC4gUmVmZXIgbDJmd2QuDQo+PiA+PiA+Pg0KPj4gPj4gPj4g QWxzbyBJIHRoaW5rLCBpdCBpcyBiZXR0ZXIgdG8gcmVsZWFzZSB0aGUgcmVsZXZhbnQgcmVzb3Vy Y2VzIG9uIGVycm9yLg0KPj4gPj4gPkhlcmUgSSdtIHNvbHZpbmcgdGhlIHByb2JsZW0gcmVwb3J0 ZWQgaW4gYnVnemlsbGEgaWQgNDM3LiBUaGUgYnVnDQo+PiA+PiA+d2FzIHRoYXQgaWYgd2UgdXNl IC0tdmRldj1uZXRfbWVtaWYgd2l0aCBsMmZ3ZCBhcHBsaWNhdGlvbiAoYW5kDQo+PiA+PiA+d2l0 aCBpdHMgb3RoZXIgdmFyaWFudHMpIHRoZW4gYSBzb2NrZXQgaXMgY3JlYXRlZCBieSBtZW1pZiBQ TUQsDQo+PiA+PiA+YWZ0ZXIgcnRlX2VhbF9pbml0IGZ1bmN0aW9uIGhhcyBydW4gc3VjY2Vzc2Z1 bGx5LiBBbmQgaWYgYW4gZXJyb3INCj4+ID4+ID5vY2N1cnMgdGhlbiB0aGUgYXBwbGljYXRpb24g ZXhpdHMgd2l0aG91dCBmcmVlaW5nIHRoZSByZXNvdXJjZXMNCj4+ID4+ID4oc29ja2V0KS4gT24g cnVubmluZyB0aGUgYXBwbGljYXRpb24gMm5kIHRpbWUgd2UgZ2V0IGFuIGVycm9yIG9mICJzb2Nr ZXQNCj5hbHJlYWR5IGV4aXN0cyIuDQo+PiA+PiA+QXMgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24g b2YgcGF0Y2ggIg0KPj4gPj4gPmh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91 cmw/dT1odHRwLQ0KPj4gPj4NCj4+DQo+Pj4zQV9fcGF0Y2hlcy5kcGRrLm9yZ19wYXRjaF83MDA4 MV8mZD1Ed0lCYVEmYz1uS2pXZWMyYjZSMG1PeVBheg0KPjcNCj4+ID54DQo+PiA+Pg0KPj4NCj4+ PnRmUSZyPWRYZVhhQU1rUDVDT2duMXp4SE15YUYxX2Q5SUl1cTZ2SFFPNk5ySVBqYUUmbT1YS2NS STJlN3MNCj5NDQo+PiA+dg0KPj4gPj4NCj4+DQo+Pj5ZMG5HYWJuQlFsX1E4bWVMMDNGWEZBamVO R2RDVjkxQSZzPVRLcTFKMFczUWJua2V1RzRjNjNwYXlEDQo+Vw0KPj4gPmMNCj4+ID4+ID5QYzR6 VGc0RHVtQTk1UlZ6d2cmZT0gICIgaXQgd2FzIHJlY29tbWVuZGVkIHRvIGNsZWFuIHRoZQ0KPnJl c291cmNlcw0KPj4gPj4gPndoZW4gYW4gZXJyb3Igb2NjdXJzLg0KPj4gPj4gPg0KPj4gPj4gPkhl cmUgb25seSB1c2luZyBydGVfZWFsX2NsZWFudXAoKSBpcyBub3Qgc29sdmluZyB0aGUgcHJvYmxl bSBhcw0KPj4gPj4gPnVzaW5nIG1lbWlmIFBNRCBpcyBjcmVhdGluZyBhIHNvY2tldCBhbmQgaXQn cyBvbmx5IGNsZWFuZWQgd2hlbg0KPj4gPj4gPnJ0ZV9ldGhfZGV2X2Nsb3NlKHBvcnRpZCkgZnVu Y3Rpb24gaXMgY2FsbGVkLiBzbyB0aGF0J3Mgd2h5IHVzaW5nDQo+PiA+PiA+aXQgYWxvbmcgd2l0 aCBydGVfZXhpdCBvciBydGVfcGFuaWMuDQo+PiA+Pg0KPj4gPj4NCj4+ID4+IFVuZGVyc3Rvb2Qg YnV0IEkgYW0gb25seSB0aGlua2luZyBmcm9tIHVzZXIncyBwZXJzcGVjdGl2ZSB0aGF0IHVzZXIN Cj4+ID4+IGRpZG4ndCBkbyBydGVfZXRoX2Rldl9jb25maWd1cmUgYW5kIHJlbGF0ZWQgQVBJcyBz byBjbG9zaW5nIHRoZQ0KPj4gPj4gZGV2aWNlIHVzaW5nIHJ0ZV9ldGhfZGV2X2Nsb3NlIGRvZXMg bm90IGxvb2sgZ29vZC4NCj4+ID4+IE1heSBiZSBvdGhlcidzIChlYWwgYW5kIG1lbWlmIFBNRCBv d25lcnMpIGNhbiBzdWdnZXN0IHNvbWV0aGluZw0KPmJldHRlci4NCj4+ID4+IFBsZWFzZSByZWRp cmVjdCB0aGlzIHF1ZXJ5IHRvIHRoZW0gZm9yIHN1Z2dlc3Rpb25zIGFsc28uDQo+PiA+TWFpbnRh aW5lciBhbHNvIHJlY29tbWVuZGVkIHRvIGNhbGwgcnRlX2V0aF9kZXZfY2xvc2UoKSBmb3IgdGhp cw0KPj4gPnByb2JsZW0gaW4gYnVnIE5vLiA0MzcgSGVyZSA6DQo+PiA+aHR0cHM6Ly91cmxkZWZl bnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHBzLQ0KPj4gPjNBX19idWdzLmRwZGsub3Jn X3Nob3ctNUZidWcuY2dpLTNGaWQtM0Q0MzctDQo+Pg0KPj4yM2MxJmQ9RHdJQmFRJmM9bktqV2Vj MmI2UjBtT3lQYXo3eHRmUSZyPWRYZVhhQU1rUDVDT2duMXp4SE0NCj55DQo+PiA+YUYxX2Q5SUl1 cTZ2SFFPNk5ySVBqYUUmbT1DNlBZYVpxYk9QLUlmUDZ5Sy0NCj4+ID5ua3hwU0xvbm92R2FsR3ps OVFKMDNxQm1VJnM9U0VpVFUzLQ0KPj4gPkVoT1Y1cjE2S2s5WmJXNjdFX2R6dUh2bHM0Rm40MVd5 ZkNOMCZlPQ0KPj4NCj4+IEluIG1lbnRpb25lZCBsaW5rLCBJIHNlZSB0aGF0IFZpcGluIGhhcyBh bHNvIHN1Z2dlc3RlZCB0byBjbGVhbiB0aGlzDQo+PiByZXNvdXJjZSBpbiBtZW1pZiBQTUQgQnV0 IGRpZCBub3QgZm91bmQgYW55IHJlYXNvbiB0byBkcm9wIHRoYXQgaWRlYS4gSSBhbQ0KPnN0aWxs IGluIGZhdm9yIG9mIHRoaXMuDQo+DQo+WW91IGFyZSByaWdodCwgVmlwaW4gaW5pdGlhbGx5IHJl Y29tbWVuZGVkIGNoYW5nZSBpbiBNZW1pZiBQTUQgYnV0IGxhdGVyDQo+YWdyZWVkIHVwb24gY2xl YW5pbmcgdGhlIHJlc291cmNlcyBpbiBhcHBsaWNhdGlvbnMuDQo+DQpPa2F5LiANCg0KPj4gQWxz byBhcyBhIHF1ZXJ5LCBJIHNlZSB0aGF0IGNoYW5nZXMgYXJlIG9ubHkgbDJmd2QgYW5kIGl0cyB2 YXJpYW50cy4NCj4+IElzIHRoaXMgcHJvYmxlbSBub3QgYXBwbGljYWJsZSB0byBvdGhlciBhcHBs aWNhdGlvbnMgd2hlcmUgbWVtaWYgaXMgdXNlZCA/DQo+DQo+VGhpcyBwcm9ibGVtIGlzIGFwcGxp Y2FibGUgdG8gb3RoZXIgYXBwbGljYXRpb25zIHdoZXJlIG1lbWlmIGlzIHVzZWQuDQo+V2UgYXJl IHdvcmtpbmcgb24gb3RoZXIgYXBwbGljYXRpb25zIGFzIHRpbWUgcGVybWl0cywgU29tZSBwYXRj aGVzIGFscmVhZHkNCj5zdWJtaXR0ZWQgZS5nOg0KPmh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBv aW50LmNvbS92Mi91cmw/dT1odHRwLQ0KPjNBX19wYXRjaGVzLmRwZGsub3JnX3Byb2plY3RfZHBk a19saXN0Xy0zRnNlcmllcy0NCj4zRDEwNDU4JmQ9RHdJQmFRJmM9bktqV2VjMmI2UjBtT3lQYXo3 eHRmUSZyPWRYZVhhQU1rUDVDT2duMXp4DQo+SE15YUYxX2Q5SUl1cTZ2SFFPNk5ySVBqYUUmbT12 NVI5S0c3NnpjTHFXSkY3SF9GTkFsaVJXM1Blb3JuczdiDQo+Tzl0WUVQWjhnJnM9SGpLbkRuN0k4 YWJDaGdsX2MxdW9NZnk4aENFYjA5Z2VZTDdzVEhvYXROWSZlPQ0KPg0KPj4NCj4+ID4+DQo+PiA+ PiA+Pg0KPj4gPj4gPj4gPiAgICAgICBwcmludGYoIk1BQyB1cGRhdGluZyAlc1xuIiwgcnNyYy0+ bWFjX3VwZGF0aW5nID8gImVuYWJsZWQiIDoNCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICJkaXNhYmxlZCIpOw0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPiAgICAgICBuYl9wb3J0cyA9 IHJ0ZV9ldGhfZGV2X2NvdW50X2F2YWlsKCk7DQo+PiA+PiA+PiA+LSAgICAgIGlmIChuYl9wb3J0 cyA9PSAwKQ0KPj4gPj4gPj4gPisgICAgICBpZiAobmJfcG9ydHMgPT0gMCkgew0KPj4gPj4gPj4g PisgICAgICAgICAgICAgIHN0b3BfYW5kX2Nsb3NlX2V0aF9kZXYocG9ydF9pZCk7DQo+PiA+PiA+ PiA+ICAgICAgICAgICAgICAgcnRlX3BhbmljKCJObyBFdGhlcm5ldCBwb3J0cyAtIGJ5ZVxuIik7 DQo+PiA+PiA+PiA+KyAgICAgIH0NCj4+ID4+ID4+ID4NCj4+ID4+ID4+IFNhbWUgYXMgYWJvdmUu DQo+PiA+PiA+Pg0KPj4gPj4gPj4gPiAgICAgICAvKiBjaGVjayBwb3J0IG1hc2sgdG8gcG9zc2li bGUgcG9ydCBtYXNrICovDQo+PiA+PiA+PiA+LSAgICAgIGlmIChyc3JjLT5lbmFibGVkX3BvcnRf bWFzayAmIH4oKDEgPDwgbmJfcG9ydHMpIC0gMSkpDQo+PiA+PiA+PiA+KyAgICAgIGlmIChyc3Jj LT5lbmFibGVkX3BvcnRfbWFzayAmIH4oKDEgPDwgbmJfcG9ydHMpIC0gMSkpIHsNCj4+ID4+ID4+ ID4rICAgICAgICAgICAgICBzdG9wX2FuZF9jbG9zZV9ldGhfZGV2KHBvcnRfaWQpOw0KPj4gPj4g Pj4gPiAgICAgICAgICAgICAgIHJ0ZV9wYW5pYygiSW52YWxpZCBwb3J0bWFzazsgcG9zc2libGUg KDB4JXgpXG4iLA0KPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgbmJfcG9y dHMpIC0gMSk7DQo+PiA+PiA+PiA+KyAgICAgIH0NCj4+ID4+ID4+ID4NCj4+ID4+ID4+IFNhbWUg YXMgYWJvdmUuDQo+PiA+PiA+Pg0KPj4gPj4gPj4gPiAgICAgICBpZiAoIXJzcmMtPnBvcnRfcGFp cnMpIHsNCj4+ID4+ID4+ID4gICAgICAgICAgICAgICBsYXN0X3BvcnQgPSAwOw0KPj4gPj4gPj4g PkBAIC02MjEsOCArNjQwLDEwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPj4gPj4g Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgcnNyYy0+ZHN0X3BvcnRzW2xhc3RfcG9ydF0gPSBs YXN0X3BvcnQ7DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgfQ0KPj4gPj4gPj4gPiAgICAgICB9 IGVsc2Ugew0KPj4gPj4gPj4gPi0gICAgICAgICAgICAgIGlmIChjaGVja19wb3J0X3BhaXJfY29u ZmlnKHJzcmMpIDwgMCkNCj4+ID4+ID4+ID4rICAgICAgICAgICAgICBpZiAoY2hlY2tfcG9ydF9w YWlyX2NvbmZpZyhyc3JjKSA8IDApIHsNCj4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAg IHN0b3BfYW5kX2Nsb3NlX2V0aF9kZXYocG9ydF9pZCk7DQo+PiA+PiA+PiA+ICAgICAgICAgICAg ICAgICAgICAgICBydGVfcGFuaWMoIkludmFsaWQgcG9ydCBwYWlyIGNvbmZpZ1xuIik7DQo+PiA+ PiA+PiA+KyAgICAgICAgICAgICAgfQ0KPj4gPj4gPj4gPiAgICAgICB9DQo+PiA+PiA+PiA+DQo+ PiA+PiA+PiA+ICAgICAgIG5iX21idWZzID0gUlRFX01BWChuYl9wb3J0cyAqIChSVEVfVEVTVF9S WF9ERVNDX0RFRkFVTFQNCj4+ID4+ID4+ID4gKw0KPj4gPj4gPkBADQo+PiA+PiA+PiA+LTYzNCwx MiArNjU1LDE2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPj4gPj4gPj4gPiAgICAg ICByc3JjLT5wa3RtYnVmX3Bvb2wgPSBydGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZSgibWJ1Zl9wb29s IiwNCj4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgIG5iX21idWZzLCBNRU1QT09MX0NB Q0hFX1NJWkUsIDAsDQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICBSVEVfTUJVRl9E RUZBVUxUX0JVRl9TSVpFLCBydGVfc29ja2V0X2lkKCkpOw0KPj4gPj4gPj4gPi0gICAgICBpZiAo cnNyYy0+cGt0bWJ1Zl9wb29sID09IE5VTEwpDQo+PiA+PiA+PiA+KyAgICAgIGlmIChyc3JjLT5w a3RtYnVmX3Bvb2wgPT0gTlVMTCkgew0KPj4gPj4gPj4gPisgICAgICAgICAgICAgIHN0b3BfYW5k X2Nsb3NlX2V0aF9kZXYocG9ydF9pZCk7DQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgcnRlX3Bh bmljKCJDYW5ub3QgaW5pdCBtYnVmIHBvb2xcbiIpOw0KPj4gPj4gPj4gPisgICAgICB9DQo+PiA+ PiA+PiA+DQo+PiA+PiA+PiA+ICAgICAgIG5iX3BvcnRzX2F2YWlsYWJsZSA9IGwyZndkX2V2ZW50 X2luaXRfcG9ydHMocnNyYyk7DQo+PiA+PiA+PiA+LSAgICAgIGlmICghbmJfcG9ydHNfYXZhaWxh YmxlKQ0KPj4gPj4gPj4gPisgICAgICBpZiAoIW5iX3BvcnRzX2F2YWlsYWJsZSkgew0KPj4gPj4g Pj4gPisgICAgICAgICAgICAgIHN0b3BfYW5kX2Nsb3NlX2V0aF9kZXYocG9ydF9pZCk7DQo+PiA+ PiA+PiA+ICAgICAgICAgICAgICAgcnRlX3BhbmljKCJBbGwgYXZhaWxhYmxlIHBvcnRzIGFyZSBk aXNhYmxlZC4NCj4+ID4+ID4+ID5QbGVhc2Ugc2V0IHBvcnRtYXNrLlxuIik7DQo+PiA+PiA+PiA+ KyAgICAgIH0NCj4+ID4+ID4+ID4NCj4+ID4+ID4+ID4gICAgICAgLyogQ29uZmlndXJlIGV2ZW50 ZGV2IHBhcmFtZXRlcnMgaWYgcmVxdWlyZWQgKi8NCj4+ID4+ID4+ID4gICAgICAgaWYgKHJzcmMt PmV2ZW50X21vZGUpDQo+PiA+PiA+PiA+QEAgLTY1OSw5ICs2ODQsMTEgQEAgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpDQo+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsNCj4+ID4+ID4+ID4NCj4+ID4+ID4+ID4gICAgICAgICAgICAgICByZXQgPSBydGVfZXRoX2Rl dl9zdGFydChwb3J0X2lkKTsNCj4+ID4+ID4+ID4tICAgICAgICAgICAgICBpZiAocmV0IDwgMCkN Cj4+ID4+ID4+ID4rICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgew0KPj4gPj4gPj4gPisgICAg ICAgICAgICAgICAgICAgICAgc3RvcF9hbmRfY2xvc2VfZXRoX2Rldihwb3J0X2lkKTsNCj4+ID4+ ID4+ID4gICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wYW5pYygicnRlX2V0aF9kZXZfc3RhcnQ6 ZXJyPSVkLA0KPj4gPj4gPj4gPnBvcnQ9JXVcbiIsIHJldCwNCj4+ID4+ID4+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwb3J0X2lkKTsNCj4+ID4+ID4+ID4rICAgICAgICAgICAg ICB9DQo+PiA+PiA+PiA+ICAgICAgIH0NCj4+ID4+ID4+ID4NCj4+ID4+ID4+ID4gICAgICAgaWYg KHJzcmMtPmV2ZW50X21vZGUpDQo+PiA+PiA+PiA+LS0NCj4+ID4+ID4+ID4yLjE3LjENCj4+ID4+ ID4+DQo=