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 7121DA0352; Thu, 16 Jan 2020 14:37:43 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 487C41D564; Thu, 16 Jan 2020 14:37:42 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130041.outbound.protection.outlook.com [40.107.13.41]) by dpdk.org (Postfix) with ESMTP id B28161D54F for ; Thu, 16 Jan 2020 14:37:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=buqoMsxSJwrevHqdsp0dXGflow3/nFwMdCJWtGs4pjtXkG0qwOv1S9WnVasVBigYeJZpHHBHJi3oGAGW1xtYcRsETFGLk2Cl1EhsTnnaMkW4CsO0G5nIG0gifjQrhJ/Z09CA1/Xp4ZyYKgtbaE8ZNzZ6nlcomcGPAEbAIM3uGyz0C17WsKj5haoy9CrxB7buZwtYoW1qhmE8PbHbk/aVEvv+poIqeSI/KQwLcYt4mrmqdT7cySwEBodFW9b7WHUwhw2O1hbDxY7FckgcrxBc+Pum8Z6FA3i5FdPKFsQSGvC4ZS8CdRAfPsIXS5ifM7f5rarg7vDdMWhpwCcxe7kQuQ== 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=20S6cxVVTGwGpm00EQm54uOWHYZDDfSUhps/BpM3qIE=; b=NEXqBZTZRb4eU2A35BJmp/W4eltFoN03vslzwCYzdwEU0n/zf5wJ6qn3q4svaGbNVRAvu2kC77UaU7FwQxXOi4E24EGeZKmkw75rIUAITj5qBo78XShgVCjd8MW/060C8OU5Av35NiQcTsAzY7D4VZqW7czgaRs3mULVaKNpkdF9vVdYsn99OqhBC6cSl/kOIobeV7+2IgpmD703QcbU/Qsysk/TbRvwNK3EFABogSSUEs9/oi4J6Pht4njFfADILE6/0BunJNeYK3nnG04Vhw8+Qs/qYmL4Z9kkSTJ3hWveCL90+/oWqBofpC9lIkBtn2uK51VUlYqkNpcLXPgwbg== 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=20S6cxVVTGwGpm00EQm54uOWHYZDDfSUhps/BpM3qIE=; b=DW2jSndYF5sdQN2H6X7kkk6fiYzChkb8L/AxgeDCIPP3uhbrDEW3EEGMQ/zVdieNXVA8C8A/bMfVoZ/+GGgrrdrXt+//lcSg5m9bGN6RuU77EW0wm81jAU3xNNOQ6OMglV7nWNGSC5ZoKyeBsK3/SU+MWVo3jnNrcC3MADvZEl4= Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com (10.169.150.151) by AM5PR0501MB2388.eurprd05.prod.outlook.com (10.169.149.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2623.10; Thu, 16 Jan 2020 13:37:39 +0000 Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19]) by AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19%8]) with mapi id 15.20.2644.015; Thu, 16 Jan 2020 13:37:39 +0000 From: Ori Kam To: Anoob Joseph , "Medvedkin, Vladimir" , "Ananyev, Konstantin" , Akhil Goyal , Adrien Mazarguil , "Doherty, Declan" , "Yigit, Ferruh" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: Ankur Dwivedi , Hemant Agrawal , Matan Azrad , "Nicolau, Radu" , Shahaf Shuler , Narayana Prasad Raju Athreya , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [EXT] Re: [PATCH] ethdev: allow multiple security sessions to use one rte flow Thread-Index: AQHVtCwr4uuFDX00UEiog89yHDPTaqe+L+AAgAAzSgCAADe1gIAAqniAgACnDgCAAPdZgIAG32GAgBk0vQCAARxrwIAH/RIAgAAqmcCAAyWgAIAAGTiQ Date: Thu, 16 Jan 2020 13:37:39 +0000 Message-ID: References: <1575801683-27269-1-git-send-email-anoobj@marvell.com> <1fc05516-3686-4267-a760-edbe0b92bc87@intel.com> <0a7d957d-e1f6-835b-15d8-4bccc491b4f9@intel.com> <8d5062b2-d7a7-9788-5788-01720dbad2f5@intel.com> <23ee9ff1-93ac-3381-d10d-867681c25932@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 24aa658d-bc3a-4ec4-7008-08d79a89417a x-ms-traffictypediagnostic: AM5PR0501MB2388:|AM5PR0501MB2388: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 02843AA9E0 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(136003)(346002)(376002)(39860400002)(189003)(199004)(54906003)(110136005)(76116006)(52536014)(66556008)(5660300002)(8676002)(33656002)(53546011)(81156014)(66476007)(66446008)(66946007)(64756008)(8936002)(86362001)(6506007)(81166006)(186003)(26005)(7696005)(2906002)(55016002)(4326008)(316002)(478600001)(15650500001)(7416002)(9686003)(71200400001)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2388; H:AM5PR0501MB2579.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wRnRXOAZ20s2wrP4eLnHAD6DrdUcYcO01WbZjKZlT48kgy9lEXct9DVvG4evIM49Cd7CPATL9M0Mis8P8/GWboN61gADunrKOSuKPvxBGuSWf5gBNh5m7BWmLqwSJUes+6lGe/+sj2Oh/dPJWwOq0TkwlLhxKKMkfUpvqNkvx1yytoNcqUBLf8mt0lNe7gdRso04uRK3aUrjR7vOvD5LEBvqIAH0+PqSdCCcxAFHXL9M4u/xH+uCqSJWWUkDG5gSTGWntYuMtVh6xsjYvB0/OCdvxmMqyAHYJqRDyhRKkVHmodoyKzaPRDF8dN144pJrK1I0xAAdaTV6i60k2Q8hv+9ZSWLD+heuto+1avtkY4utYWMfjWDX4V7bs2hyGoLgAywWUrxQHjJ07iSOvf8ukqzSicVVS6qdCOwOVh5DjTTAfe5KnzQgEdC8L6hdSWe1qqktvLAt8wG0RIJRSNd4ypqBoP4qWyeNyWeOGGmAL3STHthx4c2u6hLXuBPlhwvV Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24aa658d-bc3a-4ec4-7008-08d79a89417a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2020 13:37:39.2935 (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: hzegGjIre/fJsr8WGB5yKBAoxmxu+3kXJ+UOsHNLtuK2gsxRy5Wntq3+yIh1kNGxDdSX33K7bg03ORadmCtNeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2388 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] ethdev: allow multiple security sessions to use one 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" SnVzdCBvbmUgbW9yZSBxdWVzdGlvbiBpbmxpbmUuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIEFu b29iIEpvc2VwaA0KPiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSAxNiwgMjAyMCAyOjAzIFBNDQo+ IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBNZWR2ZWRraW4sIFZsYWRpbWlyDQo+ IDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwuY29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA8 a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IEFraGlsIEdveWFsIDxha2hpbC5nb3lhbEBu eHAuY29tPjsNCj4gQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+ OyBEb2hlcnR5LCBEZWNsYW4NCj4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IFlpZ2l0LCBG ZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBKZXJpbg0KPiBKYWNvYiBLb2xsYW51a2th cmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25q YWxvbi5uZXQ+DQo+IENjOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47IEhl bWFudCBBZ3Jhd2FsDQo+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgTWF0YW4gQXpyYWQgPG1h dGFuQG1lbGxhbm94LmNvbT47DQo+IE5pY29sYXUsIFJhZHUgPHJhZHUubmljb2xhdUBpbnRlbC5j b20+OyBTaGFoYWYgU2h1bGVyDQo+IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IE5hcmF5YW5hIFBy YXNhZCBSYWp1IEF0aHJleWENCj4gPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3Jn DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtFWFRdIFJlOiBbUEFUQ0hdIGV0aGRldjogYWxs b3cgbXVsdGlwbGUgc2VjdXJpdHkNCj4gc2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUgZmxvdw0KPiAN Cj4gSGkgT3JpLA0KPiANCj4gUGxlYXNlIHNlZSBpbmxpbmUuDQo+IA0KPiBUaGFua3MsDQo+IEFu b29iDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2IDxk ZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIE9yaSBLYW0NCj4gPiBTZW50OiBUaHVy c2RheSwgSmFudWFyeSAxNiwgMjAyMCA1OjA2IFBNDQo+ID4gVG86IEFub29iIEpvc2VwaCA8YW5v b2JqQG1hcnZlbGwuY29tPjsgTWVkdmVka2luLCBWbGFkaW1pcg0KPiA+IDx2bGFkaW1pci5tZWR2 ZWRraW5AaW50ZWwuY29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA+IDxrb25zdGFudGluLmFu YW55ZXZAaW50ZWwuY29tPjsgQWtoaWwgR295YWwgPGFraGlsLmdveWFsQG54cC5jb20+Ow0KPiBB ZHJpZW4NCj4gPiBNYXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0 eSwgRGVjbGFuDQo+ID4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWgg PGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBKZXJpbg0KPiBKYWNvYg0KPiA+IEtvbGxhbnVra2Fy YW4gPGplcmluakBtYXJ2ZWxsLmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA+IDx0aG9tYXNAbW9u amFsb24ubmV0Pg0KPiA+IENjOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47 IEhlbWFudCBBZ3Jhd2FsDQo+ID4gPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBNYXRhbiBBenJh ZCA8bWF0YW5AbWVsbGFub3guY29tPjsNCj4gTmljb2xhdSwNCj4gPiBSYWR1IDxyYWR1Lm5pY29s YXVAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+Ow0KPiA+ IE5hcmF5YW5hIFByYXNhZCBSYWp1IEF0aHJleWEgPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgZGV2 QGRwZGsub3JnDQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gUmU6IFtQQVRDSF0g ZXRoZGV2OiBhbGxvdyBtdWx0aXBsZSBzZWN1cml0eQ0KPiA+IHNlc3Npb25zIHRvIHVzZSBvbmUg cnRlIGZsb3cNCj4gPg0KPiA+DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgQW5v b2IgSm9zZXBoDQo+ID4gPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE0LCAyMDIwIDExOjI4IEFN DQo+ID4gPiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsgTWVkdmVka2luLCBWbGFk aW1pcg0KPiA+ID4gPHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+OyBBbmFueWV2LCBLb25z dGFudGluDQo+ID4gPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IEFraGlsIEdveWFs IDxha2hpbC5nb3lhbEBueHAuY29tPjsNCj4gPiA+IEFkcmllbiBNYXphcmd1aWwgPGFkcmllbi5t YXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+ID4gPiA8ZGVjbGFuLmRvaGVy dHlAaW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ ID4gPiBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBUaG9t YXMgTW9uamFsb24NCj4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+ID4gQ2M6IEFua3Vy IER3aXZlZGkgPGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3YWwNCj4gPiA+IDxo ZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgTWF0YW4gQXpyYWQgPG1hdGFuQG1lbGxhbm94LmNvbT47 DQo+ID4gTmljb2xhdSwNCj4gPiA+IFJhZHUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+OyBTaGFo YWYgU2h1bGVyDQo+IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+ID4gPiBOYXJheWFuYSBQcmFz YWQgUmFqdSBBdGhyZXlhIDxwYXRocmV5YUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+ ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gUmU6IFtQQVRDSF0gZXRoZGV2OiBhbGxv dyBtdWx0aXBsZQ0KPiA+ID4gc2VjdXJpdHkgc2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUgZmxvdw0K PiA+ID4NCj4gPiA+IEhpIE9yaSwNCj4gPiA+DQo+ID4gPiBQbGVhc2Ugc2VlIGlubGluZS4NCj4g PiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBBbm9vYg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3gu Y29tPg0KPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSA5LCAyMDIwIDE6MDYgUE0NCj4g PiA+ID4gVG86IE1lZHZlZGtpbiwgVmxhZGltaXIgPHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5j b20+OyBBbmFueWV2LA0KPiA+ID4gPiBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50 ZWwuY29tPjsgQW5vb2IgSm9zZXBoDQo+ID4gPiA+IDxhbm9vYmpAbWFydmVsbC5jb20+OyBBa2hp bCBHb3lhbCA8YWtoaWwuZ295YWxAbnhwLmNvbT47IEFkcmllbg0KPiA+ID4gPiBNYXphcmd1aWwg PGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+ID4gPiA+IDxk ZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50 ZWwuY29tPjsNCj4gPiA+ID4gSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZl bGwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0K PiA+ID4gPiBDYzogQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5jb20+OyBIZW1hbnQg QWdyYXdhbA0KPiA+ID4gPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IE1hdGFuIEF6cmFkIDxt YXRhbkBtZWxsYW5veC5jb20+Ow0KPiA+IE5pY29sYXUsDQo+ID4gPiA+IFJhZHUgPHJhZHUubmlj b2xhdUBpbnRlbC5jb20+OyBTaGFoYWYgU2h1bGVyDQo+IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47 DQo+ID4gPiA+IE5hcmF5YW5hIFByYXNhZCBSYWp1IEF0aHJleWEgPHBhdGhyZXlhQG1hcnZlbGwu Y29tPjsNCj4gZGV2QGRwZGsub3JnDQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtF WFRdIFJlOiBbUEFUQ0hdIGV0aGRldjogYWxsb3cgbXVsdGlwbGUNCj4gPiA+ID4gc2VjdXJpdHkg c2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUgZmxvdw0KPiA+ID4gPg0KPiA+ID4gPiBIaQ0KPiA+ID4g PiBzb3JyeSBmb3IganVtcGluZyBpbiBsYXRlLg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogZGV2IDxkZXYtYm91 bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIE1lZHZlZGtpbiwNCj4gVmxhZGltaXINCj4gPiA+ ID4gPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgOCwgMjAyMCA0OjMwIFBNDQo+ID4gPiA+ID4g VG86IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBB bm9vYg0KPiA+ID4gSm9zZXBoDQo+ID4gPiA+ID4gPGFub29iakBtYXJ2ZWxsLmNvbT47IEFraGls IEdveWFsIDxha2hpbC5nb3lhbEBueHAuY29tPjsgQWRyaWVuDQo+ID4gPiA+ID4gTWF6YXJndWls IDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IERvaGVydHksIERlY2xhbg0KPiA+ID4gPiA+ IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoDQo+ID4gPiA+ID4gPGZl cnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiA+ID4gSmVyaW4NCj4gPiA+ID4gPiBKYWNvYiBLb2xs YW51a2thcmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPiA+ID4g PiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gPiA+ID4gPiBDYzogQW5rdXIgRHdpdmVkaSA8YWR3 aXZlZGlAbWFydmVsbC5jb20+OyBIZW1hbnQgQWdyYXdhbA0KPiA+ID4gPiA+IDxoZW1hbnQuYWdy YXdhbEBueHAuY29tPjsgTWF0YW4gQXpyYWQNCj4gPG1hdGFuQG1lbGxhbm94LmNvbT47DQo+ID4g PiA+ID4gTmljb2xhdSwgUmFkdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFNoYWhhZiBTaHVs ZXINCj4gPiA+ID4gPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBOYXJheWFuYSBQcmFzYWQgUmFq dSBBdGhyZXlhDQo+ID4gPiA+ID4gPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3Jn DQo+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gUmU6IFtQQVRDSF0gZXRo ZGV2OiBhbGxvdyBtdWx0aXBsZQ0KPiA+ID4gPiA+IHNlY3VyaXR5IHNlc3Npb25zIHRvIHVzZSBv bmUgcnRlIGZsb3cNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhpIEFub29iLA0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gT24gMjMvMTIvMjAxOSAxMzozNCwgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90ZToN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gVGhlIHJ0ZV9zZWN1cml0eSBB UEkgd2hpY2ggZW5hYmxlcyBpbmxpbmUNCj4gPiA+ID4gcHJvdG9jb2wvY3J5cHRvDQo+ID4gPiA+ ID4gPj4+Pj4+Pj4+Pj4+Pj4gZmVhdHVyZSBtYW5kYXRlcyB0aGF0IGZvciBldmVyeSBzZWN1cml0 eSBzZXNzaW9uDQo+IGFuDQo+ID4gPiA+ID4gcnRlX2Zsb3cNCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ Pj4+PiBpcw0KPiA+ID4gPiA+ID4+Pj4+IGNyZWF0ZWQuDQo+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+ Pj4gVGhpcyB3b3VsZCBpbnRlcm5hbGx5IHRyYW5zbGF0ZSB0byBhIHJ1bGUgaW4gdGhlDQo+ID4g PiBoYXJkd2FyZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IHdoaWNoIHdvdWxkIGRvIHBhY2tl dCBjbGFzc2lmaWNhdGlvbi4NCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+ID4gPiA+ID4+ Pj4+Pj4+Pj4+Pj4+IEluIHJ0ZV9zZWN1cnR5LCBvbmUgU0Egd291bGQgYmUgb25lIHNlY3VyaXR5 DQo+IHNlc3Npb24uDQo+ID4gPiA+IEFuZA0KPiA+ID4gPiA+IGlmDQo+ID4gPiA+ID4gPj4+Pj4+ Pj4+Pj4+Pj4gYW4gcnRlX2Zsb3cgbmVlZCB0byBiZSBjcmVhdGVkIGZvciBldmVyeSBzZXNzaW9u LA0KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IHRoZQ0KPiA+ID4gPiA+IG51bWJlcg0KPiA+ID4g PiA+ID4+Pj4+Pj4+Pj4+Pj4+IG9mIFNBcyBzdXBwb3J0ZWQgYnkgYW4gaW5saW5lIGltcGxlbWVu dGF0aW9uDQo+IHdvdWxkDQo+ID4gPiBiZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IGxpbWl0 ZWQgYnkgdGhlIG51bWJlciBvZiBydGVfZmxvd3MgdGhlIFBNRA0KPiB3b3VsZCBiZQ0KPiA+ID4g PiA+IGFibGUgdG8NCj4gPiA+ID4gPiA+Pj4gc3VwcG9ydC4NCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ Pj4+PiBJZiB0aGUgZmllbGRzIFNQSSAmIElQIGFkZHJlc3NlcyBhcmUgYWxsb3dlZCB0byBiZQ0K PiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IGENCj4gPiA+ID4gcmFuZ2UsDQo+ID4gPiA+ID4gPj4+ Pj4+Pj4+Pj4+Pj4gdGhlbiB0aGlzIGxpbWl0YXRpb24gY2FuIGJlIG92ZXJjb21lLiBNdWx0aXBs ZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IGZsb3dzDQo+ID4gPiB3aWxsDQo+ID4gPiA+ID4g YmUNCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiBhYmxlIHRvIHVzZSBvbmUgcnVsZSBmb3IgU0VD VVJJVFkgcHJvY2Vzc2luZy4gSW4NCj4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiB0aGlzDQo+ID4g PiA+IGNhc2UsDQo+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gdGhlIHNlY3VyaXR5IHNlc3Npb24g cHJvdmlkZWQgYXMgY29uZiB3b3VsZCBiZQ0KPiBOVUxMLg0KPiA+ID4gPg0KPiA+ID4gPiBXaHkg aXMgdGhhdD8NCj4gPiA+ID4gSWYgdGhlIHJ0ZSBmbG93IGNhbiBoYXZlIGEgcmFuZ2UgdGhlbiB0 aGlzIG1lYW5zIHRoYXQgd2UgbmVlZCBvbmUNCj4gPiA+ID4gc2VjdXJpdHlfc2Vzc2lvbiBmb3Ig dGhlIGVudGlyZSByYW5nZSwgQW0gSSBtaXNzaW5nIHNvbWV0aGluZz8gQXMgaXQNCj4gPiA+ID4g aXMgc3RhdGVkIGluIHRoZSBydGVfZm93LmggIHNlY3VyaXR5X3Nlc3Npb24NCj4gPiA+IGNhbg0K PiA+ID4gPiBiZSB1c2VkIGZvciBtdWx0aXBsZSBmbG93cy4NCj4gPiA+DQo+ID4gPiBbQW5vb2Jd IE9uZSBTQSB3b3VsZCBtZWFuIG9uZSBzZWN1cml0eV9zZXNzaW9uLiBTbyBpZiB3ZSBoYXZlIG9u ZQ0KPiA+ID4gc2VjdXJpdHlfc2Vzc2lvbiBmb3IgdGhlIGVudGlyZSByYW5nZSwgdGhlbiBpdCB3 aWxsIGJlIGxpa2UgaGF2aW5nDQo+ID4gPiBzaW5nbGUgU0EgZm9yIGEgcmFuZ2Ugb2YgSVAgJiBT UEkuIERvIHlvdSB0aGluayB3ZSBzaG91bGQgYWxsb3cgdGhhdD8NCj4gPiA+DQo+ID4gW09yaV0g SSdtIGxlc3MgZmFtaWxpYXIgd2l0aCBzZWN1cml0eSwgYnV0IHRoaXMgaXMgd2hhdCBJIHVuZGVy c3RhbmQgeW91IGFyZQ0KPiB0cnlpbmcgdG8NCj4gPiBkbyByaWdodD8NCj4gDQo+IFtBbm9vYl0g Tm90IGV4YWN0bHkuIEluIG91ciBpbXBsZW1lbnRhdGlvbiwgaC93IGNhbiBpbmRleCBpbnRvIGEg dGFibGUgd2hpY2gNCj4gd291bGQgaG9sZCBzZWN1cml0eV9zZXNzaW9ucy4gU28gd2UgY2FuIGhh dmUgb25lIHJ0ZV9mbG93IHJ1bGUsIHdoaWNoIHdpbGwNCj4gZW5hYmxlIHRoZSBwYWNrZXQgc3Rl ZXJpbmcgaW4gdGhlIGhhcmR3YXJlLiBXaGljaCBzZXNzaW9uIG5lZWQgdG8gYmUgdXNlZA0KPiB3 aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIFNQSS4NCj4gDQo+ID4NCj4gPiA+IEFsc28sIHRoZSBp bnRlbnQgb2YgdGhlIHBhdGNoIGlzIHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YgcnRlX2Zsb3cN Cj4gPiA+IHJ1bGVzIHJlcXVpcmVkIGZvciBpbmxpbmUgaXBzZWMgcHJvY2Vzc2luZy4gU2luY2Ug dGhlIHNlY3VyaXR5IHNlc3Npb24NCj4gPiA+IGlzIHBlciBTQSwgYW5kIGlmIHdlIG5lZWQgbXVs dGlwbGUgU1BJcyB0byB1c2Ugc2FtZSBydGVfZmxvdyBydWxlLA0KPiA+ID4gdGhlbiB0aGUgc2Vj dXJpdHlfc2Vzc2lvbiBmaWVsZCBpbiB0aGUgcnRlX2Zsb3cgcnVsZSBuZWVkIHRvIGJlIE5VTEwu DQo+ID4gPiBIYXZpbmcgYSBub24temVybyBzZWN1cml0eV9zZXNzaW9uIHdoZW4gU1BJIGlzIGEg cmFuZ2Ugd291bGQgYmUNCj4gaW5jb3JyZWN0Lg0KPiA+ID4NCj4gPiBbT3JpXSBJJ20gYWxsIGlu IGZhdm9yIGRlY3JlYXNpbmcgbnVtYmVyIG9mIGZsb3dzLg0KPiA+IFNvcnJ5IGZvciB0aGUgYmFz aWMgcXVlc3Rpb24sIHdoYXQgaXMgdGhlIHNlY3VyaXR5X3Nlc3Npb24gL1NBIGRlcGVuZGVudA0K PiBvbj8NCj4gDQo+IFtBbm9vYl0gTm8gcHJvYiEgSW4gY2FzZSBvZiB1bmljYXN0IElQc2VjLCBl dmVyeSBTQSB3b3VsZCBoYXZlIGEgdW5pcXVlIFNQSS4NCj4gU28gd2UgY2Fubm90IGhhdmUgbXVs dGlwbGUgU1BJJ3MgcmVmZXJyaW5nIHRvIHRoZSBzYW1lIFNBLiBBbmQgb25lIFNBIHdvdWxkDQo+ IG1lYW4gb25lIHNlY3VyaXR5X3Nlc3Npb24uDQo+IA0KPiA+IENhbiBvbmUgU0EgaW5jbHVkZSBu dW1iZXIgb2YgZGlmZmVyZW50IFNQST8NCj4gDQo+IFtBbm9vYl0gTm8uDQo+IA0KPiBNYXkgYmUg d2UgbmVlZCB0byByZWltYWdpbmUgdGhpcy4NCj4gDQo+IEN1cnJlbnRseSwgYW4gcnRlX2Zsb3cg d2l0aCBTRUNVUklUWSBlbmFibGVzIGlwc2VjIHByb2Nlc3Npbmcgd2l0aCBhIHNwZWNpZmljDQo+ IHNlY3VyaXR5X3Nlc3Npb24gb24gdGhlIHBhY2tldC4gVGhpcyBpcyBlbmFibGVkIG9uIGEgc3Bl Y2lmaWMgSVAvU1BJIHNwZWNpZmllZA0KPiBpbiB0aGUgcnVsZS4NCj4gDQo+IE15IHByb3Bvc2Fs OiBhbiBydGVfZmxvdyB3aXRoIFNFQ1VSSVRZIChhbmQgc2Vzc2lvbiA9IE5VTEwpLCB3b3VsZCBl bmFibGUNCj4gaXBzZWMgcHJvY2Vzc2luZyBvbiBhIHJhbmdlIGFuZCBTUEkgZnJvbSB0aGUgcGFj a2V0IGNhbiBiZSB1c2VkIGJ5IHRoZSBoL3cNCj4gdG8gZnVydGhlciBmaWd1cmUgb3V0IHRoZSBz ZWN1cml0eV9zZXNzaW9uLg0KDQpPLksuIHNvIFNQSSBjYW4ndCBiZSBzaGFyZWQgYmV0d2VlbiBT QSAoU2VjdXJpdHlfc2Vzc2lvbikgd2hpbGUgSVAgY2FuIHJpZ2h0Pw0KT3RoZXIgd2h5IHRvIGFz ayBteSBxdWVzdGlvbiBpcyB3aGF0IGlzIGFsbG93ZWQgdG8gYmUgaW4gcmFuZ2UgdG8gYWxsb3cg dGhlIHNhbWUgDQpzZWN1cml0eV9zZXNzaW9uPw0KDQo8U25pcD4NCg==