From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.windriver.com (mail.windriver.com [147.11.1.11]) by dpdk.org (Postfix) with ESMTP id F2DF358EE for ; Tue, 4 Nov 2014 05:43:34 +0100 (CET) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail.windriver.com (8.14.9/8.14.5) with ESMTP id sA44qn2T021396 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 3 Nov 2014 20:52:50 -0800 (PST) Received: from ALA-MBB.corp.ad.wrs.com ([169.254.1.158]) by ALA-HCA.corp.ad.wrs.com ([147.11.189.40]) with mapi id 14.03.0174.001; Mon, 3 Nov 2014 20:52:49 -0800 From: "Wiles, Roger Keith" To: Neil Horman Thread-Topic: [dpdk-dev] [PATCH] Add external parser support for unknown commands. Thread-Index: AQHP9uxdDSP7jrkqd0+Hu6BUZuES8JxPPbcAgAA56ICAAAJMAIAAAnoAgAAb/wCAAAxagIAAbs4AgAAEYQCAAFaxgA== Date: Tue, 4 Nov 2014 04:52:48 +0000 Message-ID: <35090085-66D7-4F23-9867-A0DCC09E7DDD@windriver.com> References: <1414967308-69530-1-git-send-email-keith.wiles@windriver.com> <20141103104129.GA4840@bricha3-MOBL3> <307F2C60-7638-40C8-A9BC-DC3EE3D59F8C@windriver.com> <20141103141658.GA6964@bricha3-MOBL3> <7D39110F-D305-4C48-8BD6-37F6DCD2E434@windriver.com> <20141103160602.GA6625@localhost.localdomain> <6F166021-567F-4B30-8EAE-EDB68A86C6CC@windriver.com> <20141103152650.262e4da3@urahara> <20141103234230.GA2660@localhost.localdomain> In-Reply-To: <20141103234230.GA2660@localhost.localdomain> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.40.162] Content-Type: text/plain; charset="utf-8" Content-ID: <40CDFFC07D64D94CA67490D064F1874A@local> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH] Add external parser support for unknown commands. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Nov 2014 04:43:35 -0000 DQo+IE9uIE5vdiAzLCAyMDE0LCBhdCA1OjQyIFBNLCBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhk cml2ZXIuY29tPiB3cm90ZToNCj4gDQo+IE9uIE1vbiwgTm92IDAzLCAyMDE0IGF0IDAzOjI2OjUw UE0gLTA4MDAsIFN0ZXBoZW4gSGVtbWluZ2VyIHdyb3RlOg0KPj4gT24gTW9uLCAzIE5vdiAyMDE0 IDE2OjUwOjE1ICswMDAwDQo+PiAiV2lsZXMsIFJvZ2VyIEtlaXRoIiA8a2VpdGgud2lsZXNAd2lu ZHJpdmVyLmNvbT4gd3JvdGU6DQo+PiANCj4+PiANCj4+Pj4gT24gTm92IDMsIDIwMTQsIGF0IDEw OjA2IEFNLCBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiB3cm90ZToNCj4+Pj4g DQo+Pj4+IE9uIE1vbiwgTm92IDAzLCAyMDE0IGF0IDAyOjI1OjUxUE0gKzAwMDAsIFdpbGVzLCBS b2dlciBLZWl0aCB3cm90ZToNCj4+Pj4+IA0KPj4+Pj4+IE9uIE5vdiAzLCAyMDE0LCBhdCA4OjE2 IEFNLCBCcnVjZSBSaWNoYXJkc29uIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT4gd3JvdGU6 DQo+Pj4+Pj4gDQo+Pj4+Pj4gT24gTW9uLCBOb3YgMDMsIDIwMTQgYXQgMDI6MDg6NDZQTSArMDAw MCwgV2lsZXMsIFJvZ2VyIEtlaXRoIHdyb3RlOg0KPj4+Pj4+PiANCj4+Pj4+Pj4+IE9uIE5vdiAz LCAyMDE0LCBhdCA0OjQxIEFNLCBCcnVjZSBSaWNoYXJkc29uIDxicnVjZS5yaWNoYXJkc29uQGlu dGVsLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IE9uIFN1biwgTm92IDAyLCAyMDE0 IGF0IDA0OjI4OjI4UE0gLTA2MDAsIEtlaXRoIFdpbGVzIHdyb3RlOg0KPj4+Pj4+Pj4+IEFsbG93 IGZvciBhIGV4dGVybmFsIHBhcnNlciB0byBoYW5kbGUgdGhlIGNvbW1hbmQgbGluZSBpZiB0aGUN Cj4+Pj4+Pj4+PiBjb21tYW5kIGlzIG5vdCBmb3VuZCBhbmQgdGhlIGRldmVsb3BlciBoYXMgY2Fs bGVkIHRoZSByb3V0aW5lDQo+Pj4+Pj4+Pj4gaW50IGNtZGxpbmVfc2V0X2V4dGVybmFsX3BhcnNl cihzdHJ1Y3QgY21kbGluZSAqIGNsLA0KPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjbWRsaW5lX2V4dGVybmFsX3BhcnNlcl90IHBhcnNlcik7DQo+Pj4+Pj4+Pj4gZnVuY3Rp b24gdG8gc2V0IHRoZSBmdW5jdGlvbiBwb2ludGVyLg0KPj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+IFRo ZSBmdW5jdGlvbiBmb3IgdGhlIGV4dGVybmFsIHBhcnNlciBmdW5jdGlvbiBzaG91bGQgcmV0dXJu IENNRExJTkVfUEFSU0VfTk9NQVRDSA0KPj4+Pj4+Pj4+IGlmIG5vdCBhYmxlIHRvIG1hdGNoIHRo ZSBjb21tYW5kIHJlcXVlc3RlZCBvciB6ZXJvIGlzIGhhbmRsZWQuDQo+Pj4+Pj4+Pj4gDQo+Pj4+ Pj4+Pj4gUHJvdG90eXBlIG9mIGV4dGVybmFsIHJvdXRpbmU6DQo+Pj4+Pj4+Pj4gaW50ICgqY21k bGluZV9leHRlcm5hbF9wYXJzZXJfdCkoc3RydWN0IGNtZGxpbmUgKiBjbCwgY29uc3QgY2hhciAq IGJ1eSk7DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogS2VpdGggV2lsZXMg PGtlaXRoLndpbGVzQHdpbmRyaXZlci5jb20+DQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IEhpIEtlaXRo LA0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiB3aGF0IGlzIHRoZSBleHBlY3RlZCB1c2UgY2FzZSBmb3Ig dGhpcz8gSXMgaXQgZm9yIGVtYmVkZGluZyBvdGhlciBwcm9ncmFtbWluZyBsYW5ndWFnZXMgYWxv bmdzaWRlIHRoZSBleGlzdGluZyBEUERLIGNvbW1hbmQtbGluZSBvciBzb21lIG90aGVyIHB1cnBv c2U/IFtQZXJoYXBzIHRoZSB1c2UgY2FzZSBjb3VsZCBiZSBjYWxsZWQgb3V0IGluIHRoZSBwYXRj aCBkZXNjcmlwdGlvbl0NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IEhpIEJydWNlLA0KPj4+Pj4+PiANCj4+ Pj4+Pj4gSSBndWVzcyB0aGUgZXh0ZXJuYWwgcGFyc2VyIGNvdWxkIGJlIHVzZWQgZm9yIG90aGVy IHByb2dyYW1taW5nIGxhbmd1YWdlcywgYnV0IHRoZSBjYXNlIEkgd2FzIGxvb2tpbmcgYXQgd2Fz IHRvIHByb3ZpZGUgYSBkZWZhdWx0IGVzY2FwZSBmcm9tIHRoZSBjb21tYW5kIGxpbmUgcGFyc2Vy IHRvIGFsbG93IG15IGFwcGxpY2F0aW9uIHRvIGhhbmRsZSB0aGUgY29tbWFuZHMgbm90IHVuZGVy c3Rvb2QgYnkgdGhlIHBhcnNlci4gTm93IHRoYXQgeW91IHBvaW50IGl0IG91dCBJIGNvdWxkIHVz ZSBzb21ldGhpbmcgbGlrZSDigJglPGxpbmUtb2Ytc2NyaXB0LWNvZGU+4oCZIHRvIGV4ZWN1dGUg YSBzaW5nbGUgbGluZSBvZiBzY3JpcHQgY29kZSwgd2hpY2ggaXMgYSBnb29kIGlkZWEgKHRoYW5r cykuDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBPbmUgY2FzZSBJIGFtIGxvb2tpbmcgYXQgaXMgd2hlbiB5 b3Ugd2FudCB0byBleGVjdXRlIGEgY29tbWFuZCBhbmQgZG8gbm90IHdhbnQgdG8gYWRkIHRoZSBz dXBwb3J0IGludG8gdGhlIGNvbW1hbmRzLmMgZmlsZSBmb3IgZXZlcnkgcG9zc2libGUgY29tbWFu ZC4gVGFrZSB0aGUgY2FzZSB3aGVyZSB5b3UgaGF2ZSBhIGJ1bmNoIG9mIHNjcmlwdHMgKEx1YSkg aW4gYSBkaXJlY3RvcnkgbXVjaCBsaWtlIGEgYmluIGRpcmVjdG9yeS4gVGhlbiB5b3UgY291bGQg dHlwZSBmb28ubHVhIG9yIGZvbyBvbiB0aGUgY29tbWFuZCBsaW5lIGFuZCBleGVjdXRlIHRoZSBm b28ubHVhIGhhdmluZyB0aGUgYXBwbGljYXRpb24gZGV0ZWN0IHlvdSB3YW50IHRvIGxvYWQgYW5k IHJ1biBhIEx1YSBzY3JpcHQgYWZ0ZXIgaXQgaGFzIGZpbmlzaGVkIHBhcnNpbmcgZm9yIHRoZSBi dWlsdGluIGNvbW1hbmRzLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gRm9yIFBrdGdlbiBJIGhhZCB0byBh ZGQgYSBjb21tYW5kIGNhbGxlZCDigJhydW4gPGZpbGVuYW1lPiA8YXJnc+KApj7igJkgdG8gc3Vw cG9ydCBydW5uaW5nIGEgc2NyaXB0IHdpdGggYXJndW1lbnRzLiBJIGFsc28gbmVlZGVkIHRvIGFk ZCBhIGFyZ3ZsaXN0IHR5cGUgdG8gY21kbGluZSB0byBub3QgZXJyb3Igb3V0IG9uIHRoYXQgY29t bWFuZCBhbmQgc3BsaXQgdXAgdGhlIGFyZ3MgaW50byBhIGFyZ3YgbGlzdCBsaWtlIGZvcm1hdC4g KE1heWJlIEkgbmVlZCB0byBzdWJtaXQgdGhhdCBjb2RlPz8pIEl0IHNlZW1lZCBtb3JlIHN0cmFp Z2h0IGZvcndhcmQgdG8ganVzdCBwYXNzIHRoZSBjb21tYW5kIGxpbmUgdG8gdGhlIGFwcGxpY2F0 aW9uIHRvIHJ1biB0aGUgY29tbWFuZC4gSSB1bmRlcnN0YW5kIHRoYXQgc2VlbXMgbGlrZSBhIG1p bm9yIHBvaW50LCBidXQgaXQgZG9lcyBtYWtlIGl0IGVhc2llciB0byB1c2UgYW5kIHRvIHN1cHBv cnQgdGhlIGZlYXR1cmVzIEkgd2FudCB0byBzdXBwb3J0IGluIG15IFBvQy4NCj4+Pj4+Pj4gDQo+ Pj4+Pj4+IFVzaW5nIHRoaXMgbWV0aG9kIHlvdSBjYW4ganVzdCB0eXBlIHRoZSBuYW1lIGluc3Rl YWQgb2Ygc29tZXRoaW5nIGxpa2Ug4oCYcnVuIGZvby5sdWHigJkgb3IganVzdCDigJhydW4gZm9v 4oCZIGFuZCBsZXQgdGhlIGNvZGUgZmlndXJlIG91dCB3aGF0IHRvIHJ1bi4gSSBoYXZlIG1vcmUg cGxhbnMgZm9yIHRoaXMgZmVhdHVyZXMgYXMgd2VsbCBhbmQgaGF2ZSBub3QgZmluaXNoZWQgdGhl IGJhc2ljIFBvQyB5ZXQuIElmIHlvdSB3YW50IGEgcGVlayBJIGNhbiBzaG93IHlvdSB3aGF0IEkg YW0gd29ya2luZyBvbiBjdXJyZW50bHkuDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBEb2VzIHRoaXMgaGVs cCBhbmQgZG8gSSByZWFsbHkgbmVlZCB0byBhZGQgYWxsIG9mIHRoaXMgdG8gdGhlIGNvbW1pdCBt ZXNzYWdlIDotKQ0KPj4+Pj4+PiANCj4+Pj4+PiBUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbi4g SG93ZXZlciwgaWYgeW91IGFyZSBsb29raW5nIHRvIGhhdmUgdGhlIGFwcGxpY2F0aW9uIGhhbmRs ZSBhIGJ1bmNoIG9mIGNvbW1hbmRzIGl0c2VsZiwgd2h5IGRvZXMgaXQgbmVlZCB0byB1c2UgdGhl IGNvbW1hbmRsaW5lIGxpYnJhcnkgYXQgYWxsPyBXaHkgbm90IGp1c3QgaGF2ZSB0aGUgYXBwIGhh bmRsZSBhbGwgdGhlIGNvbW1hbmRzIGluc3RlYWQgb2Ygc29tZSBvZiB0aGVtPw0KPj4+Pj4gDQo+ Pj4+PiBJIGd1ZXNzIHRoYXQgd291bGQgYmUgcmVhc29uYWJsZSwgYnV0IHRoZW4gSSB3b3VsZCBo YXZlIHRvIGFkZCBzdXBwb3J0IGZvciBhbGwgb2YgdGhlIGNvbW1hbmQgbGluZSBwYXJzaW5nIGJl aW5nIGRvbmUgaW4gdGhlIGNtZGxpbmUgY29kZS4gVGhpbmsgb2YgdGhpcyBhcyBhIGRlZmF1bHQg Y2FzZSBmb3IgdGhlIHBhcnNlciBhbmQgdG8gbWUgdGhhdCBtYWtlcyBtb3JlIHNlbnNlIHRoZW4g anVzdCBkb2luZyBteSBvd24gY29tbWFuZCBsaW5lIGRlc2lnbi4gSW4gdGhlIGNtZGxpbmUgY29k ZSB5b3UgZ3V5cyBwcm92aWRlZCBpcyBhIGxvdCBvZiBmZWF0dXJlcyBsaWtlIGhpc3RvcnksIGNv bnRyb2wga2V5IHN1cHBvcnQsIGFyZyBwYXJzaW5nIChJUCwgTUFDKSBhbmQgbWFueSBvdGhlcnMu IEkgd291bGQgcmF0aGVyIG5vdCBoYXZlIHRvIHdyaXRlIHRoYXQgY29kZSBteXNlbGYuDQo+Pj4+ PiANCj4+Pj4+IFRoZSBkZWZhdWx0IGNhc2UgaXMgdGhlIHNhbWUgYmVoYXZpb3IgdG9kYXksIHdp dGggZ2l2aW5nIGEgbm8gbWF0Y2ggZXJyb3IgdW5sZXNzIHRoZXkgYWRkIHRoZSBleHRlcm5hbCBw YXJzZXIuDQo+Pj4+IA0KPj4+PiBJdCBzZWVtcyBhbG90IHNpbXBsZXIgdGhhbiB0aGF0IHRvIG1l LiAgTG9va2luZyBhdCB0aGUgdGVzdCBhcHBsaWNhdGlvbnMsIHRoZQ0KPj4+PiBjb21tYW5kIGxp bmUgcGFyc2VyIGV4cGVjdHMgdGhlIGFwcGxpY2F0aW9uIHRvIGNyZWF0ZSBhbiBhcnJheSBvZg0K Pj4+PiBjbWRsaW5lX3BhcnNlX2N0eF90IHN0cnVjdHVyZXMgdG8gc3VwcG9ydCBuZXcgb3B0aW9u IHBhcnNpbmcuICBJZiB5b3VyIGdvYWwgaXMNCj4+Pj4gdG8gc3VwcG9ydCBvdGhlciBsYW5ndWFn ZXMsIGl0IHNlZW1zIHRvIG1ha2UgbW9yZSBzZW5zZSB0byBqdXN0IHVzZSBmb3JlaWduDQo+Pj4+ IGxhbmd1YWdlIGJpbmRpbmdzIHRvIG1lcmdlIHlvdXIgY29kaW5nIGxhbmd1YWdlIHN1cHBvcnQg d2l0aCB0aGUgRFBESw0KPj4+PiAob3N0ZW5zaWJseSB5b3Ugd2lsbCBhbHJlYWR5IGhhdmUgdG8g ZG8gdGhhdCBpZiB5b3Ugd2FudCB0byB1c2Ugb3RoZXIgcGFydHMgb2YNCj4+Pj4gdGhlIERQREsp Lg0KPj4+IEhpIE5laWwsDQo+Pj4gDQo+Pj4gQSB0cnVlIGxhbmd1YWdlIGJpbmRpbmcgbGlrZSBM dWEgb3Igb25lIG9mIHRob3NlIG90aGVyIGxhbmd1YWdlcyA6LSkgeW91IGFyZSBjb3JyZWN0IHRv IGJlbGlldmUgYmluZGluZyBkaXJlY3RseSB1c2luZyDigJhD4oCZIGNvZGUgaXMgdGhlIHJpZ2h0 IHNvbHV0aW9uIC4gSW4gUGt0Z2VuIEkgdXNlIEx1YSBhcyB0aGUgZGlyZWN0IGxhbmd1YWdlIGJp bmRpbmcgYW5kIGV4dGVuZCBMdWEgd2l0aCBzcGVjaWZpYyBQa3RnZW4gZnVuY3Rpb25zLg0KPj4+ IA0KPj4+IFdoYXQgSSBhbSBkb2luZyBoZXJlIGlzIHRvIGFkZCBhIGRlZmF1bHQgY2FzZSB0byBj bWRsaW5lIGNvZGUsIHdoaWNoIGp1c3QgaGFwcGVucyB0byBhbGxvdyBtZSB0byBwYXJzZSB0aGUg Y21kbGluZSBpbiB0aGUgYXBwbGljYXRpb24uIEJlaW5nIGFibGUgdG8gZXhlY3V0ZSBzYXkgYSBs aW5lIG9mIHNjcmlwdCBjb2RlIGlzIG5vdCByZWFsbHkgdGhlIHJlcXVpcmVtZW50IElNTy4gQmVp bmcgYWJsZSB0byBleHRlbmQgdGhlIGNtZGxpbmUgY29kZSB3aXRoIGEgZGVmYXVsdCBjYXNlIGlz IGEgZ29vZCBmZWF0dXJlIGFuZCBhbGxvd3MgdGhlIGRldmVsb3BlciB0byBleHRlbmQgY21kbGlu ZSBmb3Igc29tZSBzaW1wbGUgY2FzZXMuIFRoZSBjbWRsaW5lIGNvZGUgaXMga2luZCBvZiBzaW1w bGUsIGJ1dCBkb2VzIHJlcXVpcmUgYSBmYWlyIGFtb3VudCBvZiBzdHJ1Y3R1cmVzLCBjb2RlIGFu ZCB1bmRlcnN0YW5kaW5nIHRvIHdyaXRlIGEgY29tcGxleCBleHRlbmRhYmxlIGNvbW1hbmQgbGlu ZSBpbnRlcmZhY2UuIEl0IGRvZXMgc2VlbSBoYXJkIHRvIGZpbmQgYSBjbGVhbiwgc2ltcGxlIGFu ZCB1c2FibGUgZW1iZWRkZWQgY29tbWFuZCBsaW5lIGNvZGUgYmFzZSBpcyBub3QgdmVyeSBlYXN5 IHRvIGxvY2F0ZS4gDQo+Pj4gDQo+Pj4gQWRkaW5nIGEgdHJ1ZSBsYW5ndWFnZSBiaW5kaW5nIHJl YWxseSByZXF1aXJlcyB1c2luZyBjb2RlIHRvIGV4dGVuZCB0aGUgbGFuZ3VhZ2UgYXMgSSBkaWQg d2l0aCBMdWEgYW5kIFBrdGdlbi4gSXQgY291bGQgaGF2ZSBiZWVuIGRvbmUgd2l0aCBhbnkgbGFu Z3VhZ2UgSSBqdXN0IHBpY2tlZCBMdWEsIGJ1dCB0aGUgcGF0Y2ggZG9lcyBub3QgcmVhbGx5IGFk ZCBzdXBwb3J0IGZvciBhIGxhbmd1YWdlIG90aGVyIHRoZW4gZ2l2aW5nIHNvbWUgc3VwcG9ydCBm b3Igc29tZW9uZSB0byBoYW5kbGUgdGhlIG5vX21hdGNoIGNhc2UuDQo+Pj4gDQo+Pj4gVGhlIHVz ZSBjYXNlIGZvciB0aGlzIGZlYXR1cmUgaXMgbm90IGp1c3QgZm9yIFBrdGdlbiwgYnV0IGFub3Ro ZXIgc29sdXRpb24gSSBob3BlIGV2ZXJ5b25lIHdpbGwgZmluZCB1c2VmdWwgd2hlbiBJIGdldCBp dCBtb3JlIGNvbXBsZXRlLg0KPj4+IA0KPj4+IFRoYW5rcw0KPj4+ICsrS2VpdGgNCj4+PiANCj4+ PiBQUy4gb24gYSBkaWZmZXJlbnQgdG9waWMgSSB3YXMgdGhpbmtpbmcgYWJvdXQgc3VnZ2VzdGlu ZyBhbmQgd3JpdGluZyBhIHBhdGNoIHRvIGFkZCBMdWEgd2l0aCBEUERLIHNwZWNpZmljIGJpbmRp bmcgYW5kIGV4dGVuc2lvbnMuIChhbHNvIGFsbG93aW5nIHRob3NlIGBvdGhlcmAgbGFuZ3VhZ2Vz IHRvbyA6LSkgQmVpbmcgYWJsZSB0byB1c2UgYSBzY3JpcHRpbmcgbGFuZ3VhZ2UgYW5kIGJlIGFi bGUgdG8gY2FsbCBEUERLIEFQSeKAmXMgY291bGQgYmUgdXNlZnVsLiBIb3cgdXNlZnVsIG5vdCBz dXJlIGF0IHRoaXMgdGltZS4gKElmIHlvdSB3YW50IHRvIHRhbGsgYWJvdXQgdGhpcyB0b3BpYyBw bGVhc2Ugc3RhcnQgYSBuZXcgdGhyZWFkKS4NCj4+Pj4gDQo+Pj4+IEFtIEkgbWlzc2luZyBzb21l dGhpbmc/DQo+Pj4+IE5laWwNCj4+Pj4gDQo+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IC9CcnVjZQ0K Pj4+Pj4gDQo+Pj4+PiBLZWl0aCBXaWxlcywgUHJpbmNpcGFsIFRlY2hub2xvZ2lzdCB3aXRoIENU TyBvZmZpY2UsIFdpbmQgUml2ZXIgbW9iaWxlIDk3Mi0yMTMtNTUzMw0KPj4+IA0KPj4+IEtlaXRo IFdpbGVzLCBQcmluY2lwYWwgVGVjaG5vbG9naXN0IHdpdGggQ1RPIG9mZmljZSwgV2luZCBSaXZl ciBtb2JpbGUgOTcyLTIxMy01NTMzDQo+PiANCj4+IEkgd291bGRuJ3QgaW52ZXN0IGEgbG90IG9m IHN3ZWF0IGluIHRoZSBjb21tYW5kIGxpbmUgcGFyc2VyLg0KPj4gVGhlIG9uZSBpbiB0aGUgRFBE SyBpcyAiZ29vZCBlbm91Z2giIGZvciB3aGF0IGl0IG5lZWRzIHRvIGRvLCBidXQgcmVhbGx5IGlz bid0DQo+PiB2ZXJ5IGNvbXBsZXRlIGFuZCBmbGV4aWJsZS4gU2VlbXMgbGlrZSB0aGUga2luZCBv ZiB0aGluZyB0aGF0IGRvZXNuJ3QgcmVhbGx5IGV2ZW4NCj4+IG5lZWQgdG8gYmUgaW4gRFBESy4g QmV0dGVyIG9mZiBiZWluZyBwYXJ0IG9mIHNvbWUgb3RoZXIgbGlicmFyeS4NCj4+IA0KPiBXZWxs LCBzb21ldGhpbmcgbmVlZHMgdG8gYmUgdGhlcmUgdG8gcGFyc2UgdGhlIGxpYnJhcmllcycgY29t bW9uIG9wdGlvbnMsIHRob3VnaA0KPiBJIGFncmVlLCBtYWtpbmcgZWFsX2NtZGxpbmUganVzdCBh IHJlZ2lzdHJhdGlvbiBmcm9udGVuZCB0byBnZXRvcHQgb3INCj4gZ2V0b3B0X2xvbmcgd291bGQg YmUgc3VmZmljaWVudC4NCg0KVW50aWwgd2UgaGF2ZSBhIGJldHRlciBjb21tYW5kIGxpbmUgc29s dXRpb24sIHdoaWNoIEkgdGhpbmsgd291bGQgYmUgZ3JlYXQsIGJ1dCBpbiB0aGUgbWVhbiB0aW1l IEkgd291bGQgbGlrZSB0byBzZWUgdGhpcyBwYXRjaCBhcHBsaWVkIGlmIG5vIG9uZSBoYXMgYSB0 ZWNobmljYWwgcmVhc29uIG9yIGJldHRlciBzdWdnZXN0aW9uLg0KDQpJIHRoaW5rIHRoaXMgcGF0 Y2ggaXMgZmFpcmx5IHNpbXBsZSBhbmQgSSB0aGluayB3ZSBuZWVkIGEgd2F5IHRvIGhhbmRsZSB0 aGUgZGVmYXVsdCBjYXNlLiBJZiBzb21lb25lIGNvdWxkIHBsZWFzZSByZXZpZXcgdGhlIHBhdGNo LCB0aGF0IHdvdWxkIGJlIGdyZWF0Lg0KDQorK0tlaXRoIA0KDQo+IA0KPiBOZWlsDQo+IA0KDQpL ZWl0aCBXaWxlcywgUHJpbmNpcGFsIFRlY2hub2xvZ2lzdCB3aXRoIENUTyBvZmZpY2UsIFdpbmQg Uml2ZXIgbW9iaWxlIDk3Mi0yMTMtNTUzMw0KDQo=