From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 7A51E1B015 for ; Tue, 16 Jan 2018 13:29:04 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Jan 2018 04:29:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,368,1511856000"; d="scan'208";a="10796050" Received: from kmsmsx156.gar.corp.intel.com ([172.21.138.133]) by fmsmga008.fm.intel.com with ESMTP; 16 Jan 2018 04:29:02 -0800 Received: from pgsmsx102.gar.corp.intel.com ([169.254.6.144]) by KMSMSX156.gar.corp.intel.com ([169.254.1.225]) with mapi id 14.03.0319.002; Tue, 16 Jan 2018 20:29:01 +0800 From: "Gujjar, Abhinandan S" To: Akhil Goyal , "Doherty, Declan" , "Jacob, Jerin" CC: "dev@dpdk.org" , "Vangati, Narender" , "Rao, Nikhil" Thread-Topic: [PATCH 1/2] lib/cryptodev: add support to set session private data Thread-Index: AQHTjfc6RWzdW7+9z0K/sXv6rM8+YKN0U+kAgAGhHnD//45JgIAAjwow//+COICAAJz3YP//g08AABUDxwD//4QtAP//d/uA Date: Tue, 16 Jan 2018 12:29:00 +0000 Message-ID: <5612CB344B05EE4F95FC5B729939F7807060021A@PGSMSX102.gar.corp.intel.com> References: <1516017078-166766-1-git-send-email-abhinandan.gujjar@intel.com> <5612CB344B05EE4F95FC5B729939F780705FED56@PGSMSX102.gar.corp.intel.com> <5612CB344B05EE4F95FC5B729939F780705FEDDD@PGSMSX102.gar.corp.intel.com> <5612CB344B05EE4F95FC5B729939F780705FEF35@PGSMSX102.gar.corp.intel.com> <5612CB344B05EE4F95FC5B729939F78070600131@PGSMSX102.gar.corp.intel.com> <0ed584fb-3524-0a52-44a4-a2b1759ecfff@nxp.com> In-Reply-To: <0ed584fb-3524-0a52-44a4-a2b1759ecfff@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOTg0ODNhYzgtMmIxOS00NDAxLTk3ZjctYjg4YzVmYjFjM2E0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IjFvSzZMV0RnaHlmcFhpZTc4MmVCOFFWZUNuR3RUTUJkYzBpOVFRXC9zTmlJPSJ9 dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 1/2] lib/cryptodev: add support to set session private data 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: , X-List-Received-Date: Tue, 16 Jan 2018 12:29:05 -0000 SGkgQWtoaWwsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwg R295YWwgW21haWx0bzpha2hpbC5nb3lhbEBueHAuY29tXQ0KPiBTZW50OiBUdWVzZGF5LCBKYW51 YXJ5IDE2LCAyMDE4IDU6MzAgUE0NCj4gVG86IEd1amphciwgQWJoaW5hbmRhbiBTIDxhYmhpbmFu ZGFuLmd1amphckBpbnRlbC5jb20+OyBEb2hlcnR5LCBEZWNsYW4NCj4gPGRlY2xhbi5kb2hlcnR5 QGludGVsLmNvbT47IEphY29iLCBKZXJpbg0KPiA8SmVyaW4uSmFjb2JLb2xsYW51a2thcmFuQGNh dml1bS5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IFZhbmdhdGksIE5hcmVuZGVyIDxuYXJlbmRl ci52YW5nYXRpQGludGVsLmNvbT47IFJhbywNCj4gTmlraGlsIDxuaWtoaWwucmFvQGludGVsLmNv bT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzJdIGxpYi9jcnlwdG9kZXY6IGFkZCBzdXBwb3J0 IHRvIHNldCBzZXNzaW9uIHByaXZhdGUgZGF0YQ0KPiANCj4gSGkgQWJoaW5hbmRhbiwNCj4gT24g MS8xNi8yMDE4IDU6MDYgUE0sIEd1amphciwgQWJoaW5hbmRhbiBTIHdyb3RlOg0KPiA+IEhpIEFr aGlsLA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEFr aGlsIEdveWFsIFttYWlsdG86YWtoaWwuZ295YWxAbnhwLmNvbV0NCj4gPj4gU2VudDogVHVlc2Rh eSwgSmFudWFyeSAxNiwgMjAxOCAyOjUyIFBNDQo+ID4+IFRvOiBHdWpqYXIsIEFiaGluYW5kYW4g UyA8YWJoaW5hbmRhbi5ndWpqYXJAaW50ZWwuY29tPjsgRG9oZXJ0eSwNCj4gPj4gRGVjbGFuIDxk ZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBKYWNvYiwgSmVyaW4NCj4gPj4gPEplcmluLkphY29i S29sbGFudWtrYXJhbkBjYXZpdW0uY29tPg0KPiA+PiBDYzogZGV2QGRwZGsub3JnOyBWYW5nYXRp LCBOYXJlbmRlciA8bmFyZW5kZXIudmFuZ2F0aUBpbnRlbC5jb20+Ow0KPiA+PiBSYW8sIE5pa2hp bCA8bmlraGlsLnJhb0BpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS8yXSBs aWIvY3J5cHRvZGV2OiBhZGQgc3VwcG9ydCB0byBzZXQgc2Vzc2lvbg0KPiA+PiBwcml2YXRlIGRh dGENCj4gPj4NCj4gPj4gT24gMS8xNi8yMDE4IDI6MzMgUE0sIEd1amphciwgQWJoaW5hbmRhbiBT IHdyb3RlOg0KPiA+Pj4gSGkgQWtoaWwsDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogQWtoaWwgR295YWwgW21haWx0bzpha2hpbC5nb3lhbEBu eHAuY29tXQ0KPiA+Pj4+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMTYsIDIwMTggMTI6NTYgUE0N Cj4gPj4+PiBUbzogR3VqamFyLCBBYmhpbmFuZGFuIFMgPGFiaGluYW5kYW4uZ3VqamFyQGludGVs LmNvbT47IERvaGVydHksDQo+ID4+Pj4gRGVjbGFuIDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+ OyBKYWNvYiwgSmVyaW4NCj4gPj4+PiA8SmVyaW4uSmFjb2JLb2xsYW51a2thcmFuQGNhdml1bS5j b20+DQo+ID4+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgVmFuZ2F0aSwgTmFyZW5kZXIgPG5hcmVuZGVy LnZhbmdhdGlAaW50ZWwuY29tPjsNCj4gPj4+PiBSYW8sIE5pa2hpbCA8bmlraGlsLnJhb0BpbnRl bC5jb20+DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzJdIGxpYi9jcnlwdG9kZXY6IGFk ZCBzdXBwb3J0IHRvIHNldCBzZXNzaW9uDQo+ID4+Pj4gcHJpdmF0ZSBkYXRhDQo+ID4+Pj4NCj4g Pj4+PiBIaSBBYmhpbmFuZGFuLA0KPiA+Pj4+IE9uIDEvMTYvMjAxOCAxMjozNSBQTSwgR3VqamFy LCBBYmhpbmFuZGFuIFMgd3JvdGU6DQo+ID4+Pj4+IEhpIEFraGlsLA0KPiA+Pj4+Pg0KPiA+Pj4+ Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+IEZyb206IEFraGlsIEdveWFs IFttYWlsdG86YWtoaWwuZ295YWxAbnhwLmNvbV0NCj4gPj4+Pj4+IFNlbnQ6IFR1ZXNkYXksIEph bnVhcnkgMTYsIDIwMTggMTE6NTUgQU0NCj4gPj4+Pj4+IFRvOiBHdWpqYXIsIEFiaGluYW5kYW4g UyA8YWJoaW5hbmRhbi5ndWpqYXJAaW50ZWwuY29tPjsgRG9oZXJ0eSwNCj4gPj4+Pj4+IERlY2xh biA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gQ2M6IGRldkBkcGRrLm9yZzsg VmFuZ2F0aSwgTmFyZW5kZXIgPG5hcmVuZGVyLnZhbmdhdGlAaW50ZWwuY29tPjsNCj4gPj4+Pj4+ IFJhbywgTmlraGlsIDxuaWtoaWwucmFvQGludGVsLmNvbT4NCj4gPj4+Pj4+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggMS8yXSBsaWIvY3J5cHRvZGV2OiBhZGQgc3VwcG9ydCB0byBzZXQNCj4gPj4+Pj4+ IHNlc3Npb24gcHJpdmF0ZSBkYXRhDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSGkgQWJoaW5hbmRhbiwN Cj4gPj4+Pj4+IE9uIDEvMTYvMjAxOCAxMTozOSBBTSwgR3VqamFyLCBBYmhpbmFuZGFuIFMgd3Jv dGU6DQo+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9jcnlwdG9kZXYvcnRlX2Ny eXB0by5oDQo+ID4+Pj4+Pj4+PiBiL2xpYi9saWJydGVfY3J5cHRvZGV2L3J0ZV9jcnlwdG8uaA0K PiA+Pj4+Pj4+Pj4gaW5kZXggYmJjNTEwZC4uM2E5OGNiZiAxMDA2NDQNCj4gPj4+Pj4+Pj4+IC0t LSBhL2xpYi9saWJydGVfY3J5cHRvZGV2L3J0ZV9jcnlwdG8uaA0KPiA+Pj4+Pj4+Pj4gKysrIGIv bGliL2xpYnJ0ZV9jcnlwdG9kZXYvcnRlX2NyeXB0by5oDQo+ID4+Pj4+Pj4+PiBAQCAtNjIsNiAr NjIsMTggQEAgZW51bSBydGVfY3J5cHRvX29wX3Nlc3NfdHlwZSB7DQo+ID4+Pj4+Pj4+PiAgICAg ICAJUlRFX0NSWVBUT19PUF9TRUNVUklUWV9TRVNTSU9OCS8qKjwgU2VjdXJpdHkgc2Vzc2lvbg0K PiA+Pj4+IGNyeXB0bw0KPiA+Pj4+Pj4+PiBvcGVyYXRpb24gKi8NCj4gPj4+Pj4+Pj4+ICAgICAg IH07DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gKy8qKiBQcml2YXRlIGRhdGEgdHlwZXMgZm9y IGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9uDQo+ID4+Pj4+Pj4+PiArICogQHNlZSBydGVfY3J5cHRv X29wOjpwcml2YXRlX2RhdGFfdHlwZSAqLyBlbnVtDQo+ID4+Pj4+Pj4+PiArcnRlX2NyeXB0b19v cF9wcml2YXRlX2RhdGFfdHlwZSB7DQo+ID4+Pj4+Pj4+PiArCVJURV9DUllQVE9fT1BfUFJJVkFU RV9EQVRBX05PTkUsDQo+ID4+Pj4+Pj4+PiArCS8qKjwgTm8gcHJpdmF0ZSBkYXRhICovDQo+ID4+ Pj4+Pj4+PiArCVJURV9DUllQVE9fT1BfUFJJVkFURV9EQVRBX09QLA0KPiA+Pj4+Pj4+Pj4gKwkv Kio8IFByaXZhdGUgZGF0YSBpcyBwYXJ0IG9mIHJ0ZV9jcnlwdG9fb3AgYW5kIGluZGljYXRlZCBi eQ0KPiA+Pj4+Pj4+Pj4gKwkgKiBwcml2YXRlX2RhdGFfb2Zmc2V0ICovDQo+ID4+Pj4+Pj4+PiAr CVJURV9DUllQVE9fT1BfUFJJVkFURV9EQVRBX1NFU1NJT04NCj4gPj4+Pj4+Pj4+ICsJLyoqPCBQ cml2YXRlIGRhdGEgaXMgYXZhaWxhYmxlIGF0IHNlc3Npb24gKi8gfTsNCj4gPj4+Pj4+Pj4+ICsN Cj4gPj4+Pj4+Pj4gV2UgbWF5IGdldCBhd2F5IHdpdGggdGhpcyBlbnVtLiBJZiBwcml2YXRlX2Rh dGFfb2Zmc2V0IGlzICIwIiwNCj4gPj4+Pj4+Pj4gdGhlbiB3ZSBjYW4gY2hlY2sgd2l0aCB0aGUg c2Vzc2lvbiBpZiBpdCBoYXMgcHJpdiBkYXRhIG9yIG5vdC4NCj4gPj4+Pj4+PiBSaWdodCBub3cs ICBBcHBsaWNhdGlvbiB1c2VzICdydGVfY3J5cHRvX29wX3ByaXZhdGVfZGF0YV90eXBlJw0KPiA+ Pj4+Pj4+IHRvIGluZGljYXRlIHJ0ZV9jcnlwdG9kZXZfc3ltX3Nlc3Npb25fc2V0X3ByaXZhdGVf ZGF0YSgpDQo+ID4+Pj4+Pj4gd2FzIGNhbGxlZCB0byBzZXQgdGhlIHByaXZhdGUgZGF0YS4gT3Ro ZXJ3aXNlLCBob3cgZG8geW91DQo+ID4+Pj4+Pj4gaW5kaWNhdGUgdGhlcmUgaXMgYQ0KPiA+Pj4+ Pj4gcHJpdmF0ZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2Vzc2lvbj8NCj4gPj4+Pj4+PiBB bnkgc3VnZ2VzdGlvbnM/DQo+ID4+Pj4+PiBGb3Igc2Vzc2lvbiBiYXNlZCBmbG93cywgdGhlIGZp cnN0IGNob2ljZSB0byBzdG9yZSB0aGUgcHJpdmF0ZQ0KPiA+Pj4+Pj4gZGF0YSBzaG91bGQgYmUg aW4gdGhlIHNlc3Npb24uIFNvIFJURV9DUllQVE9fT1BfV0lUSF9TRVNTSU9OIG9yDQo+ID4+Pj4+ PiBSVEVfQ1JZUFRPX09QX1NFQ1VSSVRZX1NFU1NJT04gY2FuIGJlIHVzZWQgdG8gY2FsbA0KPiA+ Pj4+Pj4gcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9zZXRfcHJpdmF0ZV9kYXRhIG9yDQo+ID4+ Pj4+PiBydGVfc2VjdXJpdHlfc2Vzc2lvbl9zZXRfcHJpdmF0ZV9kYXRhLg0KPiA+Pj4+PiBDYXNl IDE6IHByaXZhdGVfZGF0YV9vZmZzZXQgaXMgIjAiIGFuZCBzZXNzX3R5cGUgPQ0KPiA+Pj4+PiBS VEVfQ1JZUFRPX09QX1dJVEhfU0VTU0lPTiAtPiB1c3VhbCBjYXNlIENhc2UgMjoNCj4gPj4+Pj4g cHJpdmF0ZV9kYXRhX29mZnNldCBpcyAiMCIgYW5kIHNlc3NfdHlwZSA9DQo+ID4+Pj4+IFJURV9D UllQVE9fT1BfV0lUSF9TRVNTSU9OICsgZXZlbnQgY2FzZSAoYWNjZXNzIHByaXZhdGUgZGF0YSkN Cj4gPj4+Pj4gRGlmZmVyZW50aWF0aW5nIGJldHdlZW4gY2FzZSAxICYgMiB3aWxsIGJlIGRvbmUg YnkgY2hlY2tpbmcNCj4gPj4+PiBydGVfY3J5cHRvX29wX3ByaXZhdGVfZGF0YV90eXBlID09DQo+ ID4+Pj4gUlRFX0NSWVBUT19PUF9QUklWQVRFX0RBVEFfU0VTU0lPTi4NCj4gPj4+Pg0KPiA+Pj4+ IENvbnNpZGVyIHRoaXM6DQo+ID4+Pj4gaWYgKHNlc3NfdHlwZSA9PSBSVEVfQ1JZUFRPX09QX1dJ VEhfU0VTU0lPTiAmJg0KPiA+Pj4+IAkJcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9nZXRfcHJp dmF0ZV9kYXRhID09IE5VTEwpDQo+ID4+Pj4gCXVzdWFsIGNhc2UuDQo+ID4+Pj4gZWxzZSBpZiAo c2Vzc190eXBlID0gUlRFX0NSWVBUT19PUF9XSVRIX1NFU1NJT04gJiYNCj4gPj4+PiAJCXJ0ZV9j cnlwdG9kZXZfc3ltX3Nlc3Npb25fZ2V0X3ByaXZhdGVfZGF0YSAhPSBOVUxMKQ0KPiA+Pj4+IAll dmVudCBjYXNlLg0KPiA+Pj4+IGVsc2UgaWYgKHNlc3NfdHlwZSA9PSBSVEVfQ1JZUFRPX09QX1NF U1NJT05MRVNTICYmDQo+ID4+Pj4gCQlwcml2YXRlX2RhdGFfb2Zmc2V0ICE9IDApDQo+ID4+Pj4g CWV2ZW50IGNhc2UgZm9yIHNlc3Npb25sZXNzIG9wLg0KPiA+Pj4+DQo+ID4+Pj4gSSBob3BlIGFs bCBjYXNlcyBjYW4gYmUgaGFuZGxlZCBpbiB0aGlzIHdheS4NCj4gPj4+IE1lbW9yeSBhbGxvY2F0 ZWQgZm9yIHByaXZhdGUgZGF0YSB3aWxsIGJlIGNvbnRpbnVhdGlvbiBvZiBzZXNzaW9uIG1lbW9y eS4NCj4gPj4+IEkgdGhpbmssIHJ0ZV9jcnlwdG9kZXZfc3ltX3Nlc3Npb25fZ2V0X3ByaXZhdGVf ZGF0YSgpIHdpbGwgcmV0dXJuIGENCj4gPj4+IHZhbGlkDQo+ID4+IHBvaW50ZXIuDQo+ID4+PiBJ dCBjb3VsZCBiZSBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSwgaW4gY2FzZSBhcHBsaWNhdGlvbiBo YXMNCj4gPj4+IGFsbG9jYXRlZCBtZW1wb29sDQo+ID4+IHdpdGggc2Vzc2lvbiArIHByaXZhdGUg ZGF0YS4NCj4gPj4+IEl0IGNvdWxkIGJlIGFnYWluIGEgcG9pbnRlciB0byBhIGxvY2F0aW9uKG1h eSBiZSBuZXh0IHNlc3Npb24pLCAgaW4NCj4gPj4+IGNhc2UNCj4gPj4gYXBwbGljYXRpb24gaGFz IGFsbG9jYXRlZCBtZW1wb29sIHdpdGggc2Vzc2lvbiBvbmx5Lg0KPiA+Pj4gVW5sZXNzLCB0aGVy ZSBpcyBhIGZsYWcgaW4gdGhlIHNlc3Npb24gZGF0YSB3aGljaCB3aWxsIGJlIHNldCBieQ0KPiA+ Pj4gcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9zZXRfcHJpdmF0ZV9kYXRhKCkNCj4gPj4+IElm IHRoaXMgZmxhZyBpcyBub3Qgc2V0LA0KPiA+Pj4gcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9n ZXRfcHJpdmF0ZV9kYXRhKCkgd2lsbA0KPiA+PiByZXR1cm4gTlVMTC4NCj4gPj4+IEkgYW0gbm90 IGNsYWltaW5nLCBJIGhhdmUgY29tcGxldGUga25vd2xlZGdlIG9mIGRpZmZlcmVudCB1c2FnZSBj YXNlDQo+ID4+PiBvZg0KPiA+PiBtZW1wb29sIHNldHVwIGZvciBjcnlwdG8uDQo+ID4+PiBJIGFt IHdvbmRlcmluZywgd2hldGhlciBJIGFtIG1pc3NpbmcgYW55dGhpbmcgaGVyZS4gUGxlYXNlIGxl dCBtZSBrbm93Lg0KPiA+Pg0KPiA+PiBJdCBkZXBlbmRzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBv ZiB0aGUgZ2V0L3NldCBBUEkuIFdlIGNhbiBzZXQgTlVMTCwNCj4gPj4gaWYgaXQgaXMgbm90IGZp bGxlZCBpbiB0aGUgc2V0IEFQSS4gSWYgaXQgaXMgc2V0IHRoZW4gd2UgaGF2ZSBhIHZhbGlkIHBv aW50ZXIuDQo+ID4gVGhlIHBsYW4gaXMgdG8gc3RvcmUgcHJpdmF0ZSBkYXRhIGFmdGVyICJzZXNz ICogbmJfZHJpdmVycyAiLg0KPiA+IEFzIHlvdSBzYWlkLCBpZiBpdCBpcyBpbXBsZW1lbnRhdGlv biBzcGVjaWZpYywgZmxhZyBtYXkgYmUgYWdhaW4NCj4gPiByZXF1aXJlZCBhdCBzdHJ1Y3QgcnRl X2NyeXB0b2Rldl9zeW1fc2Vzc2lvbg0KPiBJIHRoaW5rIG15IHByZXZpb3VzIHN0YXRlbWVudCB3 YXMgbm90IGNsZWFyLg0KPiBNeSBwb2ludCBpcyB0aGF0IHdoYXRldmVyIHdlIHNldCBpbiB0aGUN Cj4gcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9zZXRfcHJpdmF0ZV9kYXRhKCkgaXMgYSB2YWxp ZCB2YWx1ZSB3aGVuIHdlIGNhbGwgdGhpcw0KPiBBUEkgZXhwbGljaXRseS4gQW5kIGJlZm9yZSBj YWxsaW5nIHRoZSBzZXQgQVBJLCB0aGUgdmFsdWVzIGFyZSB6ZXJvIG9yIGFueSBpbnZhbGlkDQo+ IHZhbHVlLiBTbyBpZiBhcHBsaWNhdGlvbiBjYWxscyB0aGUgZ2V0IEFQSSBiZWZvcmUgc2V0dGlu ZyBpdCB3aXRoIHNldCBBUEksIGl0IHdpbGwgZ2V0DQo+IGFuIGludmFsaWQgdmFsdWUobWF5IGJl IE5VTEwgb3IgemVybyBvciB3aGF0ZXZlcikuDQpUaGFua3MgZm9yIGNsYXJpZnlpbmcuIEF0IHRo aXMgdGltZSwgd2l0aG91dCBjYWxsaW5nIHNldCBBUEkgYW5kIGNhbGxpbmcgZ2V0IEFQSSB3aWxs IGdldCBzb21lIHZhbHVlLg0KSG93IGRvIHlvdSB2YWxpZGF0aW5nIHdoZXRoZXIgdGhlIGRhdGEg aXMgdmFsaWQgb3Igbm90Pw0KU2luY2UgYXBwbGljYXRpb24gaGFzIGNhbGxlZCBzZXQgQVBJIGFu ZCBzYW1lIGlzIGluZGljYXRlZCBieSBwcml2YXRlX2RhdGFfdHlwZSBmbGFnLA0KSSB0aG91Z2h0 IGRhdGEgZ290IGJ5IGdldCBBUEkgY2FuIGJlIHNhZmVseSBhc3N1bWUgdG8gYmUgdmFsaWQuDQpO b3Qgc3VyZSwgaWYgeW91IGhhdmUgYmV0dGVyIHdheSB0byB2YWxpZGF0ZSB0aGUgZGF0YSBmcm9t IGdldCBBUEkuDQoNCj4gDQo+ID4gT1INCj4gPiBJZiBpdCBpcyBwbGFubmVkIHRvIHN0b3JlIGF0 IFBNRCdzIHNlc3NfcHJpdmF0ZV9kYXRhLCBpdCByZXF1aXJlcyBhZGRpdGlvbmFsIG9wcw0KPiA+ IGFzIHdlbGwgaW4gcnRlX2NyeXB0b2Rldl9vcHMuDQo+ID4gV2Ugd2FudGVkIHRvIGhhdmUgYSBz aW1wbGUgZGVzaWduIHdpdGggbWluaW1hbCBjaGFuZ2VzIHRvIGNyeXB0b2RldiBhbmQNCj4gc2Vj dXJpdHksDQo+ID4gdGhhdOKAmXMgcmVhc29uIGZvciBleGlzdGluZyBkZXNpZ24uDQo+ID4gSXQg d2lsbCBiZSBnb29kLCBpZiBvdGhlciBmb2xrcyBjaGltZSBpbiBhbmQgc2hhcmUgdGhlcmUgb3Bp bmlvbi4NCj4gPiBUaGlzIHdpbGwgbWFrZSB0aGUgaW1wbGVtZW50YXRpb24gcGFydCBtb3JlIGNs ZWFyLg0KPiA+Pg0KPiA+PiAtQWtoaWwNCj4gPiAtQWJoaW5hbmRhbg0KPiA+DQpBYmhpbmFuZGFu DQo=