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 CCC38A0523; Tue, 30 Jun 2020 18:42:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E94431BF5C; Tue, 30 Jun 2020 18:42:33 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70048.outbound.protection.outlook.com [40.107.7.48]) by dpdk.org (Postfix) with ESMTP id DE4A81BEDD for ; Tue, 30 Jun 2020 18:42:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HW1JlwuZOKd0lmGrJWrNdLs7Tu4n3xEIFfEakIAT7H54Gdk8JaUGUf+kk7XVj7NySxlcEhICUSp7fLg7AIpY/jqhKUx99PxP+h4N90ZDmVrKRNCVeVnWw0ym81bzckGqNHlDPlsEhG4XgZ727tA8td+syyQ40Vg4Qus9PFDe0RacbZbv+ONRiP6bOdw4mg9UVvZrHWkFNqMGehDd0J1Vqynvcz2McxUQBmUU+6uHkBCqWo49sHi1QhsvWRfWazNvThjfb/K0d2zKxp10D2jiGHTxEGRRpSLSXdKa+WKX7CtMVMzAx3+jYnCRDh2Q8CIfOkP7g5yX+KapjLBSgjr0Eg== 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=aI8pTSbywMVJEJXBMOzM1d8rO/hssRnIK6TNMfJyuP4=; b=CicvVk2z6MNou2yOtjFiIrRupieZmvnWK+dhEEp8RLNkZDISbZxdO6NfZawpsdFVHQ5yd4QpC8hePTrpVYRgiW7QinaH220GOcJFrTfpDXwTlw5M6LyYTwOCmrgdYKjyJOmTsgvoQH9AkpRAkTLjgXGatUl8LvuVdczhbftmAfeUK26R7YbN3PT1LfxrOHkvX6lgdXQGr3/tWY8Im4Rlq2x51RWkV/QebKTExY7P1cLKAmhZ8VS595KndKWrqSieNk3JUPxZMldA7QqsOmjm0ksZ7+r578IummavmQkpJEfuaxQDnLf0W8ao2nQJfplbKTWHYtHwXMz807GdBKLgbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aI8pTSbywMVJEJXBMOzM1d8rO/hssRnIK6TNMfJyuP4=; b=DkH8J72R4Hz2DRqtSCmRJ5JdBXCefy/LBd4sgowtTm0g8s8VJ2gbcR8yUs58dgTzH+zClDWaoYf3gQY+Z3VbaSRXVGpjx+BxqXhIEd4Uv3WoouFJndW91Tf/JYReFxsh3UqHMGd8/udQ6lA4mjlECbPI6UaDMibmv3CRj4m9sFg= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (2603:10a6:20b:63::30) by AM6PR05MB5800.eurprd05.prod.outlook.com (2603:10a6:20b:98::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Tue, 30 Jun 2020 16:42:29 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::9024:accb:4d6b:805f]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::9024:accb:4d6b:805f%3]) with mapi id 15.20.3131.027; Tue, 30 Jun 2020 16:42:29 +0000 From: Ori Kam To: Ori Kam , Andrew Rybchenko , "Jiawei(Jonny) Wang" , Slava Ovsiienko , Matan Azrad CC: "dev@dpdk.org" , Thomas Monjalon , Raslan Darawsheh , "ian.stokes@intel.com" , "fbl@redhat.com" , Adrien Mazarguil Thread-Topic: [dpdk-dev] [PATCH 1/8] ethdev: introduce sample action for rte flow Thread-Index: AQHWSxDCyLojAHjlU0ugMUl3sJ+yrajttbMAgACDIICAAACggIABDHEwgABRp4CAAA/bIIABvMzA Date: Tue, 30 Jun 2020 16:42:29 +0000 Message-ID: References: <1593102379-400132-1-git-send-email-jiaweiw@mellanox.com> <1593102379-400132-2-git-send-email-jiaweiw@mellanox.com> <58ad214a-652e-a40f-d602-c035df7bcfa7@solarflare.com> <48fa20a4-2288-bbda-a8aa-0e0e83ec527d@solarflare.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [147.236.152.129] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 5e19a673-7aff-427b-fbbb-08d81d149452 x-ms-traffictypediagnostic: AM6PR05MB5800: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr,ExtFwd x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0450A714CB x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Lqok1QPmkdTAwHq1XeA2kDCrvtIaQSx0eJ3k2cfQNTESJw7JT3m7zjyrP+4E0CaC9o+Ei/9NvCF3K3dYr4sUDklFtytWLkV3dd3061WWUYtz3O2AgEAu4G1BWHsbXBiVBjOCqhSUrpLXQE4pwQ5WmqboBiGmmEZSIxBIUII4zyKDVA0KCFuIY1rtgCsH08SXu0FFFtahQqm7+xXdpwVULcT3GT6hTSKC6DQB5v4zDwH5eKUUIRvfZNbN0KM9cjp5Ty6ugBXP4z1KVOmtz8mmaJlkY4rAeCrJHTY+TW51FroCL5LEd6Ns4MCsN+jp9/pvS4rFRgm9D57D4dK05RYwvA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR05MB5176.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(346002)(39860400002)(366004)(376002)(5660300002)(83380400001)(30864003)(26005)(71200400001)(55016002)(4326008)(86362001)(186003)(33656002)(52536014)(54906003)(8676002)(8936002)(478600001)(7696005)(6636002)(316002)(110136005)(2906002)(6506007)(53546011)(66446008)(66476007)(66556008)(64756008)(9686003)(66946007)(76116006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 8/I/X+iOs9G6hCkyREtnfvEKe+BlYmMTic0A9oVnCsvHcb37aLKHsny+H15B6JhWXOIL8hzdbSwokZe4bns2a34DJTVxuexaY+mcLTbTe5H3yUlXqU0XYsR+Ef5VAYacrsalxPAujMhJbVJ07Z2e5isIgnjWPGGKpT53cRlikFLbQVZIEF3gCfg+XrP1s9UvdN5X2gSjbh8cSGfmCjNxdc3ryhs7RrR5lHY237xbexfEBmrhKZWF+NSClZIepkISkxTJMSKF9rJEXVlr5CxFPFEQWDHQfCGgUOjqID3UpecqcXrm/82MOYBhLbCWYAI7XUnyt3+TkSMZ5W4clYqhcQdxVw2el474TUbwvtUzZ2tTXuf7vvAT6neCdRwiTZM+8znxaX86JZCc0hL9YjXH9LdkJlOrOtmaeN9Oxck04kCN6dRTPUGolUoLrxoUBRC77616uXvLCXSAxI+VcRiKb8mTFtGWvkqcbUvA/ANxsUuxwFGYatIxS9R3WVIYDTfI Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR05MB5176.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e19a673-7aff-427b-fbbb-08d81d149452 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2020 16:42:29.5164 (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-CrossTenant-userprincipalname: sWG58bdiRYDaptbfT2k/FNi0a+CD9F4C9QnBs4US5bt5IHiFsEDND4mgAlP5TeDOc4A7JSvwe/d3d0JnMadCug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5800 Subject: Re: [dpdk-dev] [PATCH 1/8] ethdev: introduce sample action for 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" SGkgQWxsLA0KDQpBZnRlciBjb25zaWRlcmluZyBib3RoIGFwcHJvYWNoZXMsIEkgdGhpbmsgdGhl IG9yaWdpbmFsIGlzIHRoZSBiZXR0ZXIgYXBwcm9hY2guDQoNCkFja2VkLWJ5OiBPcmkgS2FtIDxv cmlrYUBtZWxsYW5veC5jb20+DQpUaGFua3MsDQpPcmkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2Yg T3JpIEthbQ0KPiBTZW50OiBNb25kYXksIEp1bmUgMjksIDIwMjAgNTozMCBQTQ0KPiBUbzogQW5k cmV3IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT47IEppYXdlaShKb25ueSkg V2FuZw0KPiA8amlhd2Vpd0BtZWxsYW5veC5jb20+OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNs YXZvQG1lbGxhbm94LmNvbT47DQo+IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+DQo+ IENjOiBkZXZAZHBkay5vcmc7IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47 IFJhc2xhbg0KPiBEYXJhd3NoZWggPHJhc2xhbmRAbWVsbGFub3guY29tPjsgaWFuLnN0b2tlc0Bp bnRlbC5jb207IGZibEByZWRoYXQuY29tOw0KPiBBZHJpZW4gTWF6YXJndWlsIDxhZHJpZW4ubWF6 YXJndWlsQDZ3aW5kLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDEvOF0g ZXRoZGV2OiBpbnRyb2R1Y2Ugc2FtcGxlIGFjdGlvbiBmb3IgcnRlDQo+IGZsb3cNCj4gDQo+IEhp IEFsbCwNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBbmRy ZXcgUnliY2hlbmtvIDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiA+IFNlbnQ6IE1vbmRh eSwgSnVuZSAyOSwgMjAyMCA0OjEyIFBNDQo+ID4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94 LmNvbT47IEppYXdlaShKb25ueSkgV2FuZw0KPiA+IDxqaWF3ZWl3QG1lbGxhbm94LmNvbT47IFNs YXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbWVsbGFub3guY29tPjsNCj4gPiBNYXRhbiBBenJh ZCA8bWF0YW5AbWVsbGFub3guY29tPg0KPiA+IENjOiBkZXZAZHBkay5vcmc7IFRob21hcyBNb25q YWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFJhc2xhbg0KPiA+IERhcmF3c2hlaCA8cmFzbGFu ZEBtZWxsYW5veC5jb20+OyBpYW4uc3Rva2VzQGludGVsLmNvbTsNCj4gZmJsQHJlZGhhdC5jb207 DQo+ID4gQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+DQo+ID4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDEvOF0gZXRoZGV2OiBpbnRyb2R1Y2Ugc2Ft cGxlIGFjdGlvbiBmb3IgcnRlDQo+ID4gZmxvdw0KPiA+DQo+ID4gSGkgYWxsLA0KPiA+DQo+ID4g Q0MgQWRyaWVuDQo+ID4NCj4gPiAoSSBhcG9sb2dpemUgZm9yIHB1bGxpbmcgeW91IHRvIHRoZSBy dGVfZmxvdyBBUEkgZGlzY3Vzc2lvbnMNCj4gPiBvbmNlIGFnYWluLCBidXQgbWF5IGJlIHlvdSBj YW4gZmluZCBzcGFyZSB0aW1lIGFuZCBzaGFyZSB5b3VyDQo+ID4gdGhvdWdodHMuIFlvdXIgb3Bp bmlvbiBhcyBhbiBhdXRob3IgYW5kIGFyY2hpdGVjdCBvZiB0aGUNCj4gPiBydGVfZmxvdyBBUEkg d291bGQgYmUgdmVyeSB1c2VmdWwgYW5kIGhpZ2hseSBhcHByZWNpYXRlZC4pDQo+ID4NCj4gPiBP biA2LzI5LzIwIDI6NDAgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4gPiBIaSBhbGwsDQo+ID4gPg0K PiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogQW5kcmV3IFJ5 YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gPiA+PiBTZW50OiBTdW5kYXks IEp1bmUgMjgsIDIwMjAgNzoxOSBQTQ0KPiA+ID4+IFRvOiBKaWF3ZWkoSm9ubnkpIFdhbmcgPGpp YXdlaXdAbWVsbGFub3guY29tPjsgT3JpIEthbQ0KPiA+ID4+IDxvcmlrYUBtZWxsYW5veC5jb20+ OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47DQo+ID4gTWF0YW4N Cj4gPiA+PiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPg0KPiA+ID4+IENjOiBkZXZAZHBkay5v cmc7IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFJhc2xhbg0KPiA+ID4+ IERhcmF3c2hlaCA8cmFzbGFuZEBtZWxsYW5veC5jb20+OyBpYW4uc3Rva2VzQGludGVsLmNvbTsN Cj4gPiBmYmxAcmVkaGF0LmNvbQ0KPiA+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRD SCAxLzhdIGV0aGRldjogaW50cm9kdWNlIHNhbXBsZSBhY3Rpb24gZm9yDQo+IHJ0ZQ0KPiA+ID4+ IGZsb3cNCj4gPiA+Pg0KPiA+ID4+IE9uIDYvMjgvMjAgNzoxNiBQTSwgSmlhd2VpKEpvbm55KSBX YW5nIHdyb3RlOg0KPiA+ID4+Pg0KPiA+ID4+PiBPbiBTdW5kYXksIEp1bmUgMjgsIDIwMjAgNDoy NyBQTSwgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4+IDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29t PiB3cm90ZToNCj4gPiA+Pj4+DQo+ID4gPj4+PiBPbiA2LzI1LzIwIDc6MjYgUE0sIEppYXdlaSBX YW5nIHdyb3RlOg0KPiA+ID4+Pj4+IFdoZW4gdXNpbmcgZnVsbCBvZmZsb2FkLCBhbGwgdHJhZmZp YyB3aWxsIGJlIGhhbmRsZWQgYnkgdGhlIEhXLCBhbmQNCj4gPiA+Pj4+PiBkaXJlY3RlZCB0byB0 aGUgcmVxdWVzdGVkIHZmIG9yIHdpcmUsIHRoZSBjb250cm9sIGFwcGxpY2F0aW9uIGxvc2VzDQo+ ID4gPj4+Pj4gdmlzaWJpbGl0eSBvbiB0aGUgdHJhZmZpYy4NCj4gPiA+Pj4+PiBTbyB0aGVyZSdz IGEgbmVlZCBmb3IgYW4gYWN0aW9uIHRoYXQgd2lsbCBlbmFibGUgdGhlIGNvbnRyb2wNCj4gPiA+ Pj4+PiBhcHBsaWNhdGlvbiBzb21lIHZpc2liaWxpdHkuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBU aGUgc29sdXRpb24gaXMgaW50cm9kdWNlZCBhIG5ldyBhY3Rpb24gdGhhdCB3aWxsIHNhbXBsZSB0 aGUgaW5jb21pbmcNCj4gPiA+Pj4+PiB0cmFmZmljIGFuZCBzZW5kIGEgZHVwbGljYXRlZCB0cmFm ZmljIGluIHNvbWUgcHJlZGVmaW5lZCByYXRpbyB0byB0aGUNCj4gPiA+Pj4+PiBhcHBsaWNhdGlv biwgd2hpbGUgdGhlIG9yaWdpbmFsIHBhY2tldCB3aWxsIGNvbnRpbnVlIHRvIHRoZSB0YXJnZXQN Cj4gPiA+Pj4+PiBkZXN0aW5hdGlvbi4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IFRoZSBwYWNrZXRz IHNhbXBsZWQgZXF1YWxzIGlzICcxL3JhdGlvJywgaWYgdGhlIHJhdGlvIHZhbHVlIGJlIHNldCB0 bw0KPiA+ID4+Pj4+IDEgLCBtZWFucyB0aGF0IHRoZSBwYWNrZXRzIHdvdWxkIGJlIGNvbXBsZXRl bHkgbWlycm9yZWQuIFRoZSBzYW1wbGUNCj4gPiA+Pj4+PiBwYWNrZXQgY2FuIGJlIGFzc2lnbmVk IHdpdGggZGlmZmVyZW50IHNldCBvZiBhY3Rpb25zIGZyb20gdGhlIG9yaWdpbmFsDQo+ID4gPj4+ PiBwYWNrZXQuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBz YW1wbGUgcGFja2V0IGluIHJ0ZV9mbG93LCBuZXcgcnRlX2Zsb3cgYWN0aW9uDQo+ID4gPj4+Pj4g ZGVmaW5pdGlvbiBSVEVfRkxPV19BQ1RJT05fVFlQRV9TQU1QTEUgYW5kIHN0cnVjdHVyZQ0KPiA+ ID4+Pj4+IHJ0ZV9mbG93X2FjdGlvbl9zYW1wbGUgd2lsbCBiZSBpbnRyb2R1Y2VkLg0KPiA+ID4+ Pj4+DQo+ID4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogSmlhd2VpIFdhbmcgPGppYXdlaXdAbWVsbGFu b3guY29tPg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFtzbmlwXQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+PiBA QCAtMjcwOSw2ICsyNzE2LDI4IEBAIHN0cnVjdCBydGVfZmxvd19hY3Rpb24geyAgc3RydWN0IHJ0 ZV9mbG93Ow0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gIC8qKg0KPiA+ID4+Pj4+ICsgKiBAd2Fybmlu Zw0KPiA+ID4+Pj4+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgc3RydWN0dXJlIG1heSBjaGFu Z2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4gPiA+Pj4+PiArICoNCj4gPiA+Pj4+PiArICogUlRF X0ZMT1dfQUNUSU9OX1RZUEVfU0FNUExFDQo+ID4gPj4+Pj4gKyAqDQo+ID4gPj4+Pj4gKyAqIEFk ZHMgYSBzYW1wbGUgYWN0aW9uIHRvIGEgbWF0Y2hlZCBmbG93Lg0KPiA+ID4+Pj4+ICsgKg0KPiA+ ID4+Pj4+ICsgKiBUaGUgbWF0Y2hpbmcgcGFja2V0cyB3aWxsIGJlIGR1cGxpY2F0ZWQgdG8gYSBz cGVjaWFsIHF1ZXVlIG9yDQo+ID4gPj4+Pj4gK3Zwb3J0DQo+ID4gPj4+Pj4gKyAqIGluIHRoZSBw cmVkZWZpbmVkIHByb2JhYmlpbHR5LCBBbGwgdGhlIHBhY2tldHMgY29udGludWVzDQo+ID4gPj4+ Pj4gK3Byb2Nlc3NpbmcNCj4gPiA+Pj4+PiArICogb24gdGhlIGRlZmF1bHQgZmxvdyBwYXRoLg0K PiA+ID4+Pj4+ICsgKg0KPiA+ID4+Pj4+ICsgKiBXaGVuIHRoZSBzYW1wbGUgcmF0aW8gaXMgc2V0 IHRvIDEgdGhlbiB0aGUgcGFja2V0cyB3aWxsIGJlIDEwMCUNCj4gPiA+Pj4+IG1pcnJvcmVkLg0K PiA+ID4+Pj4+ICsgKiBBZGRpdGlvbmFsIGFjdGlvbiBsaXN0IGJlIHN1cHBvcnRlZCB0byBhZGQg Zm9yIHNhbXBsZWQgb3IgbWlycm9yZWQNCj4gPiA+Pj4+IHBhY2tldHMuDQo+ID4gPj4+Pj4gKyAq Lw0KPiA+ID4+Pj4+ICtzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3NhbXBsZSB7DQo+ID4gPj4+Pj4g KwkvKiBwYWNrZXRzIHNhbXBsZWQgZXF1YWxzIHRvICcxL3JhdGlvJyAqLw0KPiA+ID4+Pj4+ICsJ Y29uc3QgdWludDMyX3QgcmF0aW87DQo+ID4gPj4+Pj4gKwkvKiBzdWItYWN0aW9uIGxpc3Qgc3Bl Y2lmaWMgZm9yIHRoZSBzYW1wbGluZyBoaXQgY2FzZXMgKi8NCj4gPiA+Pj4+PiArCWNvbnN0IHN0 cnVjdCBydGVfZmxvd19hY3Rpb24gKmFjdGlvbnM7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gVGhpcyBk ZXNpZ24gaWRlYSBkb2VzIG5vdCBsb29rIGdvb2QgdG8gbWUgZnJvbSB0aGUgdmVyeSBiZWdpbm5p bmcuDQo+IElNSE8NCj4gPiBpdA0KPiA+ID4+Pj4gZG9lcyBub3QgZml0IGZsb3cgQVBJIG92ZXJh bGwgZGVzaWduLg0KPiA+ID4+Pj4gSSBtZWFuIHN1Yi1hY3Rpb24gbGlzdC4NCj4gPiA+Pj4+DQo+ ID4gPj4+PiBBcyBJIHVuZGVyc3RhbmQgTGludXggaXB0YWJsZXMgc29sdmVzIGl0IG9uIG1hdGNo IGxldmVsIChpLmUuIGluIHBhdHRlcm4pLg0KPiBFLmcuDQo+ID4gPj4+PiAibGltaXQiIGV4dGVu c2lvbiB3aGljaCBpcyBiYXNpY2FsbHkgc2FtcGxpbmcuIFNhbXBsaW5nIHVzaW5nIG1ldGENCj4g cGF0dGVybg0KPiA+ID4+Pj4gaXRlbSBpbiBjb21iaW5hdGlvbiB3aXRoIFBBU1NUSFJVIGFjdGlv biAodG8gbWFrZSBzYW1wbGluZyBhY3Rpb25zDQo+ID4gbm9uLQ0KPiA+ID4+Pj4gdGVybWluYXRp bmcgaWYgcmVxdWlyZWQpIGlzIGEgYmV0dGVyIHNvbHV0aW9uIGZyb20gZGVzaWduIHBvaW50IG9m IHZpZXcuDQo+ID4gPj4+DQo+ID4gPj4+IE9uIG91ciBkZXNpZ24sIHRoZXJlJ3JlIHNhbXBsZSBm bG93IHBhdGggYW5kIG5vcm1hbCBmbG93IHBhdGgsIGVhY2gNCj4gcGF0aA0KPiA+ID4+IGNhbiBo YXZlIGRpZmZlcmVudCBhY3Rpb25zLg0KPiA+ID4+PiBUaGUgZGVmaW5lZCBzdWItYWN0aW9ucyBs aXN0IG9ubHkgYXBwbGllZCBmb3Igc2FtcGxlZCBwYWNrZXRzIGluIHRoZQ0KPiBzYW1wbGUNCj4g PiA+PiBmbG93IHBhdGg7DQo+ID4gPj4+IEZvciBub3JtYWwgcGF0aCwgYWxsIHBhY2tldHMgd2ls bCBjb250aW51ZSB0byBnbyB3aXRoIHRoZSBvcmlnaW5hbCBhY3Rpb25zLg0KPiA+ID4+Pg0KPiA+ ID4+DQo+ID4gPj4gSW4gbXkgdG9vLg0KPiA+ID4NCj4gPiA+IEZpcnN0IGFzIGZhciBhcyBJIGtu b3cgVEMgd29ya3MgY2xvc2UgdG8gdGhlIHN1Z2dlc3QgYXBwcm9hY2ggKHRoYXQgYnkgaXRzZWxm DQo+ID4gZG9lc27igJl0IG1lYW4gYW55dGhpbmcpDQo+ID4gPiBUaGUgY29uY2VwdCBvZiBhIFBB U1NUSFJVIGlzIGEgZ29vZCBvbmUgYnV0IGl0IGhhcyBzb21lIGlzc3VlIHRvIGNvbnNpZGVyOg0K PiA+ID4gMS4gV2hlbiB1c2luZyBQQVNTVEhSVSBpdCB3aWxsIG1lYW4gdGhhdCB0aGUgbWF0Y2hp bmcgcGFydCB3aWxsIGJlIG5lZWRlZA0KPiA+IHRvIGJlIGNoZWNrZWQNCj4gPiA+IG1vcmUgdGlt ZXMgdGhpcyB3aWxsIGhhdmUgcGVyZm9ybWFuY2UgcGVuYWx0eSAsIGFsc28gbnVtYmVyIG9mIEhX IGhhdmUNCj4gPiBsaW1pdGVkIG51bWJlciBvZiBmbG93IHRoYXQgY2FuIGJlIG9mZmxvYWQNCj4g PiA+IHRoaXMgd2lsbCBhcHByb2FjaCB3aWxsIHdhc3RlIHJlc291cmNlcy4NCj4gPg0KPiA+IE1h cmtpbmcgb3IgdGFnZ2luZyBjb3VsZCBiZSB1c2VkIHRvIGFkZHJlc3MgaXQuIEUuZy4gdGFyZ2V0 DQo+ID4gdHJhZmZpYyBjb3VsZCBiZSB0YWdnZWQgZmlyc3QsIHRoZW4gbWF0Y2hpbmcgYnkgdGFn IHNob3VsZCBiZQ0KPiA+IHVzZWQgdG8gc2FtcGxlIGFuZCB0byBkbyBIVyBvZmZsb2Fkcy4NCj4g Pg0KPiBJbiB0aGlzIGNhc2UgeW91IGFyZSBmb3JjaW5nIGF0IGxlYXN0IHR3byBzdGVwcywgdGhp cyB3aWxsIGh1cnQgcGVyZm9ybWFuY2UuDQo+IE1hdGNoaW5nIG9uIG1hcmsgaXMgdGhlIHNhbWUg YXMgbWF0Y2hpbmcgb24gb3RoZXIgaXRlbXMuIFdoaWxlIGl0IG1heSBoYXZlDQo+IGV4dHJhDQo+ IHBlbmFsdHkgdG8gYWRkIHRoZSBleHRyYSBtYXJrIGFjdGlvbi4gKHRoaXMgaXMgZ2VuZXJhbCBI VyBpc3N1ZSBJIGFzc3VtZQ0KPiBudW1iZXIgb2YNCj4gbWFudWZhY3R1cmVzIGhhdmUgdGhlIHNh bWUgbGltaXRhdGlvbikNCj4gDQo+ID4gTW9yZW92ZXIsIG1hcHBpbmcgb2YgcnRlX2Zsb3cgQVBJ IHJ1bGVzIGludG8gSFcgcnVsZSBpcyBub3QNCj4gPiByZXF1aXJlZCB0byBiZSAxLXRvLTEuIFll cywgMS10by0xIGlzIHNpbXBsZSwgYnV0IGl0IGNvdWxkIGJlDQo+ID4gbW9yZSBjb21wbGljYXRl ZCAxLXRvLU4gKHdoZW4gb25lIHJ0ZV9mbG93IEFQSSBydWxlIGlzDQo+ID4gcmVwcmVzZW50ZWQg YnkgbWFueSBIVyBydWxlcykgb3IgTi10by0xICh3aGVuIGZldyBmbG93IEFQSQ0KPiA+IHJ1bGVz IGFyZSByZXByZXNlbnRlZCBhcyBvbmUgSFcgcnVsZSkgb3IgZXZlbiBOLXRvLU0uDQo+ID4gRm9y IGV4YW1wbGUsIHRhZ2dpbmcgd2hpY2ggaXMgbm90IHZpc2libGUgb3V0c2lkZSwgY291bGQgYmUN Cj4gPiBwdXJlbHkgU1cgYW5kIHVzZWQgdG8gYnVpbGQgc3VjaCBjb25zdHJ1Y3Rpb25zIGluIFNX Lg0KPiA+IEl0IGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCBpcyBvdXQgb2Ygc2NvcGUgb2Yg dGhlIGdlbmVyaWMNCj4gPiBBUEkgZGVmaW5pdGlvbi4NCj4gPg0KPiBJIGRvbuKAmXQgdW5kZXJz dGFuZCB0aGlzIHBhcnQuIEkgbmV2ZXIgc2FpZCB0aGF0IDEgdG8gMSBpcyBuZWVkZWQNCj4gYnV0 IGlmIHlvdSB0cnkgdG8gY29tYmluZSBmbG93cyBpbiBTVyBpdCBtZWFucyB0aGF0IHlvdSBtdXN0 IGtlZXAgYWxsIGZsb3dzDQo+IGluIHRoZSBQTUQgaW4gb3JkZXIgdG8gY29tYmluZSB0aGVtLiBJ IG5vdyBzb21lIEhXIG11c3QgZG8gdGhhdCwgYnV0IG5vdA0KPiBhbGwgb2YgdGhlbSBhbmQgaWYg dGhleSBkb27igJl0IGl0IGlzIGp1c3QgYSBodWdlIG1lbW9yeSB3YXN0ZS4NCj4gDQo+ID4gWWVz LCBpdCBzb3VuZHMgbGlrZSBvdmVyLWNvbXBsaWNhdGluZywgYnV0IEkgcmVhbGx5IGRpc2xpa2UN Cj4gPiBhYm92ZSBzdWItYWN0aW9uIGxpc3QgZnJvbSBkZXNpZ24gcG9pbnQgb2YgdmlldyBhbmQg dGhhdCdzDQo+ID4gd2h5IEkibSB0cnlpbmcgdG8gdGhpbmsgaW4gZGlmZmVyZW50IGRpcmVjdGlv bnMuDQo+ID4NCj4gVGhpbmtpbmcgaW4gZGlmZmVyZW50IGRpcmVjdGlvbiBpcyBhbHdheXMgZ29v ZC4NCj4gSSBqdXN0IHRoaW5rIHRoYXQgYmV0d2VlbiB0aGUgdHdvIGFwcHJvYWNoZXMgSSBsaWtl IHRoZSBvcmlnaW5hbCBiZXR0ZXIuDQo+IE1heSBiZSB5b3UgY2FuIGV4cGxhaW4geW91ciByZWFz b24gZm9yIHlvdXIgb3BpbmlvbiBhbmQgd2UgY2FuIGZpbmQgdGhlIGJlc3QNCj4gc29sdXRpb24g dG9nZXRoZXI/DQo+IA0KPiANCj4gDQo+ID4gPiAyLiBVc2luZyBQQVNTVEhSVSB3aWxsIGZvcmNl IHRoZSBvcmRlciBvZiBmbG93cyAoc3VyZSBpdCBjYW4gYmUgZG9uZSB1c2luZw0KPiA+IHByaW9y aXRpZXMgYnV0IGl0IGlzIG1vcmUgY29tcGxleCB0bw0KPiA+ID4gdGhlIGFwcGxpY2F0aW9uIHRv IGltcGxlbWVudCkNCj4gPg0KPiA+IFNlZSBhYm92ZS4NCj4gPg0KPiANCj4gU2VlIGFib3ZlIPCf mIoNCj4gDQo+ID4gPiAzLiBQQVNTVEhSVSB3aWxsIG1lYW4gdGhhdCB0aGVyZSB3aWxsIGJlIDIg dGVybWluYWwgYWN0aW9uIGZvciBlYWNoIGZsb3cNCj4gKGZvcg0KPiA+IGV4YW1wbGUgcXVldWUg aW5kZXggMiAvIHBhc3N0aHJ1KQ0KPiA+ID4gdGhpcyBhbHNvIGlzIG5vdCBuYXRpdmUgdG8gUlRF IGZsb3cuDQo+ID4NCj4gPiBTb3JyeSwgYnV0IHRoZXJlIGFyZSB0d28gYnJhbmNoZXMgZm9yIHRl cm1pbmF0aW5nIGFjdGlvbnMgaW4NCj4gPiB0aGUgc2FtcGxpbmcgYWN0aW9uIGRlc2lnbiBhbnl3 YXkgKHllcywgaW50ZXJuYWwvaGlkZGVuKS4NCj4gPiBZb3UgbmVlZCB0d28gY29waWVzIG9mIHRo ZSBwYWNrZXQsIHNvIHdoYXRldmVyIHlvdSBkbyBpdA0KPiA+IHdpbGwgYmUgdHdvIHRlcm1pbmF0 aW5nIGFjdGlvbnMuDQo+ID4NCj4gWWVzIGJ1dCB5b3UgY2FuIGxvb2sgYXQgaXQgYXMgMSBmbG93 IHdpdGggMiBzZXRzIG9mIGFjdGlvbnMgYW5kIG5vdCB0d28gZmxvd3MuDQo+IA0KPiA+ID4gNC4g c2luY2Ugd2Ugd2FudCB0byBzZWxlY3Qgb25seSBwYXJ0IG9mIHRoZSBwYWNrZXRzLCBhbmQgd2Ug d2FudCB0byBoYXZlDQo+IHNvbWUNCj4gPiBvZiB0aGUgYWN0aW9ucyBkb25lIG9uIGJvdGgNCj4g PiA+IHBhY2tldHMgKHRoZSBzYW1wbGVkIGFuZCB0aGUgc3RhbmRhcmQgb25lKSBhbmQgdGhlbiB3 ZSB3YW50ICAgb24gdGhlDQo+ID4gc2FtcGxlZCBwYWNrZXQgZG8gc29tZSBzcGVjaWZpYyBhY3Rp b25zDQo+ID4gPiB3aGlsZSBvbiB0aGUgc3RhbmRhcmQgcGFja2V0IGRvIGRpZmZlcmVudCBhY3Rp b25zLg0KPiA+DQo+ID4gWWVzLCBpdCBpcyBub3QgYSBwcm9ibGVtIHdpdGggUEFTU1RIUlUuDQo+ ID4NCj4gPiA+IExlc3QgY2hlY2sgdGhlIGZvbGxvd2luZyB1c2UgY2FzZToNCj4gPiA+IEFwcGxp Y2F0aW9uIGlzIHVzaW5nIGZ1bGwgb2ZmbG9hZCB0cmFmZmljIGZyb20gdGhlIHdpcmUgdG8gYSBW TSwgd2hpY2ggc2hvdWxkDQo+ID4gZGVjYXBlZA0KPiA+ID4gU28gdGhlIGJhc2ljIGZsb3cgaXM6 DQo+ID4gPiBGbG93IGNyZWF0ZSAwICB0cmFuc2ZlciBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gb3V0 ZXIuaXAgPXggLyBlbmQgIGFjdGlvbnMgZGVjYXANCj4gLw0KPiA+IHBvcnQgaWQgMw0KPiA+ID4g U2luY2UgYWZ0ZXIgdGhlIG9mZmxvYWQgdGhlIGFwcGxpY2F0aW9uIGxvc2VzIHZpc2liaWxpdHkg b2YgdGhlIHRyYWZmaWMuIGl0IHN0aWxsDQo+ID4gd2FudHMgdG8gc2FtcGxlIHNvbWUgb2YgdGhl IHRyYWZmaWMNCj4gPiA+IGluIG9yZGVyIHRvIHZlcmlmeSB0aGF0IHRoZSB0cmFmZmljIGlzIHZh bGlkLiBTbyB0aGUgYXBwbGljYXRpb24gcmVxdWVzdCB0bw0KPiByZWNlaXZlDQo+ID4gc29tZSBv ZiB0aGUgb3JpZ2luYWwgdHJhZmZpYyBhbmQNCj4gPiA+IG1hcmsgaXQgd2l0aCBpZC4NCj4gPiA+ DQo+ID4gPiBJZiB3ZSB1c2UgdGhlIG9yaWdpbmFsIGFwcHJvYWNoICh0aGUgb25lIGluIHRoZSBw YXRjaCkgd2Ugd2lsbCBuZWVkDQo+IHNvbWV0aGluZw0KPiA+IGxpa2UgdGhpczoNCj4gPiA+IEZs b3cgMTogZmxvdyBjcmVhdGUgMCB0cmFuc2ZlciBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gb3V0ZXIu aXA9eCAvIGVuZCBhY3Rpb25zDQo+ID4gc2FtcGxlKHJhdGlvIDIsICBhY3Rpb25zIG1hcmsgaWQg MyAvIHBvcnQgcGYpKSAvIGRlY2FwIC8gcG9ydCAzDQo+ID4gPg0KPiA+ID4gSW4gdGhlIFBBU1NU SFJVIGNvbmNlcHQgKEknbSBub3Qgc3VyZSBJIGNhbiBldmVuIGNyZWF0ZSBzdWNoIGZsb3dzKQ0K PiA+ID4gRmxvdyAxOiBmbG93IGNyZWF0ZSAwIHRyYW5zZmVyIGluZ3Jlc3MgcGF0dGVybiBldGgg LyBvdXRlci5pcCA9eCAvIGVuZCAgYWN0aW9ucw0KPiA+IGRlY2FwIC8gcG9ydCAyICAvcGFzc3R0 aHJ1IC8vIG9yaWdpbmFsIHJlcXVlc3QNCj4gPiA+IEZsb3cgMjogZmxvdyBjcmVhdGUgMCB0cmFu c2ZlciBpbmdyZXNzIHBhdHRlcm4gZXRoLyBvdXRlci5pcD14IC8gc2hvdWxkDQo+IHNhbXBsZQ0K PiA+IChuZXcgaXRlbSB0aGF0IHNlbGVjdHMgaWYgdGhlIHBhY2tldCBpcyBzZWxlY3RlZCBiYXNl ZCBvbiB0aGUgcmF0aW8pZW5kIGFjdCAvDQo+ID4gbWFyayAvIHBvcnQgcGYNCj4gPiA+DQo+ID4g PiBUaGUgbWFpbiBpc3N1ZSB3aXRoIHRoaXMgY2FzZSB0aGUgZGVjYXAgaXMgYmVmb3JlIHRoZSBz YW1wbGUgc28gdGhlIHNhbXBsZQ0KPiA+IHdpbGwgZ2V0IGRlY2FwIHBhY2tldC4NCj4gPg0KPiA+ IE9yZGVyIHNob3VsZCBiZSBzaW1wbHkgZGlmZmVyZW50OiBmaXJzdCBzYW1wbGluZyB3aXRoIHBh c3MtDQo+ID4gdGhyb3VnaCwgc2Vjb25kIGRlY2FwIGFuZCBkZWxpdmVyIHRvIFZNLg0KPiA+DQo+ IFRoZW4gaW4geW91ciBjYXNlIHRoZSBwYWNrZXQgd2lsbCBiZSBtYXJrZWQuIFdoaWNoIGlzIG5v dCB3aGF0IHRoZQ0KPiBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQuDQo+IA0KPiA+IFllcywgSSByZWFs aXplIHRoYXQgdHdvIGFjdGlvbnMgd2l0aCBiYXNpY2FsbHkgdGhlIHNhbWUgbWF0Y2gNCj4gPiAo bW9kdWxvIHNhbXBsaW5nIG1hdGNoKSBpcyBub3QgaWRlYWwgZm9yIG1hcHBpbmcgdG8gSFcgKGV2 ZW4NCj4gPiBpZiBpdCBjb2xsYXBzZWQgaW50byB0cml2aWFsIHRhZyBtYXRjaCB3aGljaCBwcmUt cnVsZSB0byBtYWtlDQo+ID4gdGFnZ2luZykuIEknbSBub3QgMTAwJSBoYXBweSB3aXRoIGl0LCBi dXQgSSdtIGV2ZW4gbGVzcyBoYXBweQ0KPiA+IHdpdGggc3ViLWFjdGlvbiBsaXN0IGRlc2lnbiBh bmQganVzdCB0cnlpbmcgdG8gZmluZCBiZXR0ZXINCj4gPiBhbHRlcm5hdGl2ZSBzb2x1dGlvbi4N Cj4gPg0KPiBQbGVhc2Ugc2VlIGFib3ZlLCBtYXliZSB3ZSBjYW4gZmluZCB0aGUgYmVzdCBzb2x1 dGlvbiB0b2dldGhlci4NCj4gDQo+ID4gPiBTbyB3aGVuIGxvb2tpbmcgYXQgZXZlcnl0aGluZyBJ IHRoaW5rIHRoZSBvcmlnaW5hbCBBUEkgaXMgdGhlIGJlc3QgYXBwcm9hY2guDQo+ID4gPiBGb3Ig dGhlIHJlY29yZCBJIHRoaW5rIHRoYXQgcGFzc3RocnUgYWN0aW9uIGlzIHZlcnkgaW1wb3J0YW50 IGFuZCBzaG91bGQgYmUNCj4gPiBzdXBwb3J0ZWQgYnV0IG5vdCB0aGUgYmVzdCBvbmUgZm9yIHRo aXMgZmVhdHVyZS4NCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBPcmkNCj4gPiA+DQo+IEJl c3QsDQo+IE9yaQ0K