From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 918194403D; Thu, 16 May 2024 00:34:39 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 59F924029B; Thu, 16 May 2024 00:34:39 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 9BCA74026E for ; Thu, 16 May 2024 00:34:37 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 7260622760; Thu, 16 May 2024 00:34:37 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Subject: RE: RE: [PATCH v5 0/4] add pointer compression API X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Thu, 16 May 2024 00:34:33 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F45C@smartserver.smartshare.dk> In-Reply-To: <039e71aa-f798-4f64-8c66-a9427a77b821@arm.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: RE: [PATCH v5 0/4] add pointer compression API Thread-Index: Adqm6X4hJ2pmWAT7SPixMXJBvATT0wAJRJ7w References: <20230927150854.3670391-2-paul.szczepanek@arm.com> <20231101181301.2449804-1-paul.szczepanek@arm.com> <7058331a-d829-4f0e-8634-726ca3be1ef2@arm.com> <98CBD80474FA8B44BF855DF32C47DC35E9F290@smartserver.smartshare.dk> <7D23A333-9846-4A34-A8B5-FDC11F042025@arm.com> <18e97877c4a64521a02317a329572866@huawei.com> <039e71aa-f798-4f64-8c66-a9427a77b821@arm.com> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Paul Szczepanek" , "Konstantin Ananyev" , Cc: , , "Honnappa Nagarahalli" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBGcm9tOiBQYXVsIFN6Y3plcGFuZWsgW21haWx0bzpwYXVsLnN6Y3plcGFuZWtAYXJtLmNvbV0N Cj4gU2VudDogV2VkbmVzZGF5LCAxNSBNYXkgMjAyNCAxOS4wMQ0KPiANCj4gT24gMDQvMDMvMjAy NCAxNDo0NCwgS29uc3RhbnRpbiBBbmFueWV2IHdyb3RlOg0KPiA+PiBUaGlzIGZlYXR1cmUgaXMg dGFyZ2V0ZWQgZm9yIHBpcGVsaW5lIG1vZGUgb2YgYXBwbGljYXRpb25zLiBXZSBzZWUNCj4gbWFu eSBjdXN0b21lcnMgdXNpbmcgcGlwZWxpbmUgbW9kZS4gVGhpcyBmZWF0dXJlIGhlbHBzIGluIHJl ZHVjaW5nDQo+ID4+IHRoZSBjb3N0IG9mIHRyYW5zZmVycmluZyB0aGUgcGFja2V0cyBiZXR3ZWVu IGNvcmVzIGJ5IHJlZHVjaW5nIHRoZQ0KPiBjb3BpZXMgaW52b2x2ZWQuDQo+ID4NCj4gPiBJIGRv IHVuZGVyc3RhbmQgdGhlIGludGVudGlvbiwgYW5kIEkgYW0gbm90IGFyZ3VpbmcgYWJvdXQgdXNl ZnVsbmVzcw0KPiBvZiB0aGUgcGlwZWxpbmUgbW9kZWwuDQo+ID4gTXkgcG9pbnQgaXMgeW91IGFy ZSBpbnRyb2R1Y2luZyBuZXcgQVBJOiBjb21wcmVzcy9kZWNvbXByZXNzIHBvaW50ZXJzLA0KPiA+ IGJ1dCBkb24ndCBwcm92aWRlIChvciBldmVuIGRlc2NyaWJlKSBhbnkgcHJvcGVyIHdheSBmb3Ig dGhlIGRldmVsb3Blcg0KPiB0byB1c2UgaXQgaW4gYSBzYWZlIGFuZCBwcmVkaWN0YWJsZSBtYW5u ZXIuDQo+ID4gV2hpY2ggZnJvbSBteSBwZXJzcGVjdGl2ZSBtYWtlIGl0IG5lYXJseSB1c2VsZXNz IGFuZCBtaXNsZWFkaW5nLg0KPiANCj4gSW4gdGhlIGxhdGVzdCB2ZXJzaW9uIHRoZXJlIGlzIGFu IGV4YW1wbGUgaW4gdGhlIGRvY3Mgc2hvd2luZyBob3cgdG8gdXNlDQo+IGl0LiBUaGVyZSBpcyBh biBpbnRlZ3JhdGlvbiB0ZXN0IHRoYXQgc2hvd3MgaG93IHRvIHVzZSBpdC4gVGhlIGNvbW1lbnRz DQo+IGluIHRoZSBoZWFkZXIgYWxzbyBwcm92aWRlIGRldGFpbGVkIGd1aWRhbmNlLg0KPiANCj4g Pj4gRm9yIGFuIGFwcGxpY2F0aW9uIHdpdGggbXVsdGlwbGUgcG9vbHMsIGl0IGRlcGVuZHMgb24g aG93IHRoZQ0KPiBhcHBsaWNhdGlvbnMgYXJlIHVzaW5nIG11bHRpcGxlIHBvb2xzLiBCdXQsIGlm IHRoZXJlIGlzIGEgYnVuY2ggb2YNCj4gcGFja2V0cw0KPiA+PiBiZWxvbmdpbmcgdG8gbXVsdGlw bGUgbWVtcG9vbHMsIGNvbXByZXNzaW5nIHRob3NlIG1idWZzIG1heSBub3QgYmUNCj4gcG9zc2li bGUuIEJ1dCBpZiB0aG9zZSBtYnVmcyBhcmUgZ3JvdXBlZCBwZXIgbWVtcG9vbCBhbmQNCj4gPj4g YXJlIHRyYW5zZmVycmVkIG9uIGRpZmZlcmVudCBxdWV1ZXMsIHRoZW4gaXQgaXMgcG9zc2libGUu IEhlbmNlIHRoZQ0KPiBBUElzIGFyZSBpbXBsZW1lbnRlZCB2ZXJ5IGdlbmVyaWNhbGx5Lg0KPiA+ DQo+ID4gT2ssIGxldCdzIGNvbnNpZGVyIGV2ZW4gbW9yZSBzaW1wbGlzdGljIHNjZW5hcmlvIC0g YWxsIHBvaW50ZXJzIGJlbG9uZw0KPiB0byBvbmUgbWVtcG9vbC4NCj4gPiBBRkFJSywgZXZlbiBv bmUgbWVtcG9vbCBjYW4gY29udGFpbiBlbGVtZW50cyBmcm9tIGRpZmZlcmVudCBtZW16b25lcywN Cj4gPiBhbmQgdGhlc2UgbWVtem9uZXMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGhhdmUgY29uc2Vj dXRpdmUgVkFzLg0KPiA+IFNvIGV2ZW4gb25lIG1lbXBvb2wsIHdpdGggdG90YWwgc2l6ZSA8PTRH QiBjYW4gY29udGFpbiBlbGVtZW50cyB3aXRoDQo+IGRpc3RhbmNlcyBiZXR3ZWVuIHRoZW0gbW9y ZSB0aGFuIDRHQi4NCj4gPiBOb3cgbGV0IHNheSBhdCBzdGFydHVwIHVzZXIgY3JlYXRlZCBhIG1l bXBvb2wsIGhvdyBoZSBjYW4gZGV0ZXJtaW5lDQo+IHByb2dyYW1tYXRpY2FsbHkNCj4gPiBjYW4g aGUgYXBwbHkgeW91ciBjb21wcmVzcyBBUEkgc2FmZWx5IG9uIGl0IG9yIG5vdD8NCj4gPiBJIHBy ZXN1bWUgdGhhdCBpZiB5b3UgYXJlIHNlcmlvdXMgYWJvdXQgdGhpcyBBUEkgdXNhZ2UsIHRoZW4g c3VjaA0KPiBhYmlsaXR5IGhhcyB0byBiZSBwcm92aWRlZC4NCj4gPiBTb21ldGhpbmcgbGlrZToN Cj4gPg0KPiA+IGludCBjb21wcmVzc19wb2ludGVyX2RlZHVjZV9tZW1wb29sX2Jhc2UoY29uc3Qg c3RydWN0IHJ0ZV9tZW1lcG9vbA0KPiAqbXBbXSwNCj4gPiAJdWludDMyX3QgbmJfbXAsIHVpbnQz Ml90IGNvbXByZXNzX3NpemUsIHVpbnRwdHJfdCAqYmFzZV9wdHIpOw0KPiA+DQo+ID4gT3IgcHJv YmFibHkgZXZlbiBtb3JlIGdlbmVyaWMgb25lOg0KPiA+DQo+ID4gc3RydWN0IG1lbV9idWYge3Vp bnRwdHJfdCBiYXNlLCBzaXplX3QgbGVuO307DQo+ID4gaW50IGNvbXByZXNzX3BvaW50ZXJfZGVk dWNlX2Jhc2UoY29uc3Qgc3RydWN0IG1lbV9idWYgKm1lbV9idWZbXSwNCj4gPiAJdWludDMyX3Qg bmJfbWVtYnVmLCB1aW50MzJfdCBjb21wcmVzc19zaXplLCB1aW50cHRyX3QgKmJhc2VfcHRyKTsN Cj4gPg0KPiA+IEV2ZW4gd2l0aCB0aGVzZSBmdW5jdGlvbnMgaW4tcGxhY2UsIHVzZXIgaGFzIHRv IGJlIGV4dHJhIGNhcmVmdWw6DQo+ID4gIC0gaGUgY2FuJ3QgYWRkIG5ldyBtZW1vcnkgY2h1bmtz IHRvIHRoZXNlIG1lbXBvb2xzIChvciBoZSdsbCBuZWVkIHRvDQo+IHJlLWNhbGN1YWx0ZSB0aGUg bmV3IGJhc2VfcHRyKQ0KPiA+ICAtIGhlIG5lZWRzIHRvIG1ha2Ugc3VyZSB0aGF0IHBvaW50ZXJz IGZyb20gb25seSB0aGVzZSBtZW1wb29scyB3aWxsDQo+IGJlIHVzZWQgYnkgY29tcHJlc3MvZGVj b21wcmVzcy4NCj4gPiBCdXQgYXQgbGVhc3QgaXQgcHJvdmlkZXMgc29tZSBhYmlsaXR5IHRvIHVz ZSB0aGlzIGZlYXR1cmUgaW4gcmVhbA0KPiBhcHBzLg0KPiA+DQo+ID4gV2l0aCBzdWNoIEFQSSBp biBwbGFjZSBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gbWFrZSB0aGUgYXV0by10ZXN0DQo+IG1v cmUgcmVhbGlzdGljOg0KPiA+IC0gYWxsb2NhdGUgbWVtcG9vbA0KPiA+IC0gZGVkdWNlIGJhc2Vf cG9pbnRlcg0KPiA+IC0gdGhlbiB3ZSBjYW4gaGF2ZSBhIGxvb3Agd2l0aCBwcm9kdWNlci9jb25z dW1lciB0byBtaW1pYyByZWFsaXN0aWMNCj4gd29ya2xvYWQuDQo+ID4gICAgIEFzIGFuIGV4YW1w bGU6DQo+ID4gICAgICBwcm9kdWNlcihzKTogIG1lbXBvb2xfYWxsb2MoKTsgPGZpbGwgbWJ1ZiB3 aXRoIHNvbWUgdmFsdWVzPjsNCj4gcmluZ19lbnF1ZXVlKCk7DQo+ID4gICAgICBjb25zdW1lcihz KTogcmluZ19kZXF1ZXVlKCk7IDxyZWFkX2FuZF9jaGVja19tYnVmX2RhdGE+Ow0KPiBmcmVlX21i dWYoKTsNCj4gPiAtIGZyZWUgbWVtcG9vbA0KPiANCj4gSSB1bmRlcnN0YW5kIHlvdXIgb2JqZWN0 aW9ucyBhbmQgYWdyZWUgdGhhdCB0aGUgcHJvcG9zZWQgQVBJIGlzIGxpbWl0ZWQNCj4gaW4gaXRz IGFwcGxpY2FiaWxpdHkgZHVlIHRvIGl0cyBzdHJpY3QgcmVxdWlyZW1lbnRzLg0KPiANCj4gQUZB SUsgRFBESyBydGVfbWVtcG9vbCBkb2VzIHJlcXVpcmUgdGhlIGFkZHJlc3NlcyB0byBiZSB2aXJ0 dWFsbHkNCj4gY29udGlndW91cyBhcyB0aGUgbWVtb3J5IHJlc2VydmF0aW9uIGlzIGRvbmUgZHVy aW5nIGNyZWF0aW9uIG9mIHRoZQ0KPiBtZW1wb29sIGFuZCBhIHNpbmdsZSBtZW16b25lIGlzIHJl c2VydmVkLg0KDQpObywgaXQgZG9lcyBub3QuDQpydGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZSgpIGZp cnN0IGNyZWF0ZXMgYW4gZW1wdHkgbWVtcG9vbCB1c2luZyBydGVfbWVtcG9vbF9jcmVhdGVfZW1w dHkoKSwgYW5kIHRoZW4gcG9wdWxhdGVzIGl0IHVzaW5nIHJ0ZV9tZW1wb29sX3BvcHVsYXRlX2Rl ZmF1bHQoKSwgd2hpY2ggbWF5IHVzZSBtdWx0aXBsZSBtZW16b25lcy4NCg0KQXMgb25lIHBvc3Np YmxlIHNvbHV0aW9uIHRvIHRoaXMsIHRoZSBhcHBsaWNhdGlvbiBjYW4gY2FsbCBydGVfcGt0bWJ1 Zl9wb29sX2NyZWF0ZSgpIGFzIHVzdWFsLCBhbmQgdGhlbiBjaGVjayB0aGF0IG1wLT5uYl9tZW1f Y2h1bmtzID09IDEgdG8gY29uZmlybSB0aGF0IGFsbCBvYmplY3RzIGluIHRoZSBjcmVhdGVkIG1l bXBvb2wgcmVzaWRlIGluIG9uZSBjb250aWd1b3VzIGNodW5rIG9mIG1lbW9yeSBhbmQgdGh1cyBj b21wcmVzc2lvbiBjYW4gYmUgdXNlZC4NCg0KT3IgZXZlbiBiZXR0ZXIsIGFkZCBhIG5ldyBtZW1w b29sIGZsYWcgdG8gdGhlIG1lbXBvb2wgbGlicmFyeSwgZS5nLiBSVEVfTUVNUE9PTF9GX0NPTVBS RVNTSUJMRSwgc3BlY2lmeWluZyB0aGF0IHRoZSBtZW1wb29sIG9iamVjdHMgbXVzdCBiZSBhbGxv Y2F0ZWQgYXMgb25lIGNodW5rIG9mIG1lbW9yeSB3aXRoIGNvbnRpZ3VvdXMgYWRkcmVzc2VzLg0K VW5mb3J0dW5hdGVseSwgcnRlX3BrdG1idWZfcG9vbF9jcmVhdGUoKSBpcyBtaXNzaW5nIHRoZSBt ZW16b25lIGZsYWdzIHBhcmFtZXRlciwgc28gYSBuZXcgcnRlX3BrdG1idWZfcG9vbF9jcmVhdGUo KSBBUEkgd2l0aCB0aGUgZmxhZ3MgcGFyYW1ldGVyIGFkZGVkIHdvdWxkIGFsc28gbmVlZCB0byBi ZSBhZGRlZC4NCg0KPiBIb3dldmVyLCBJIGRvIG5vdCByZXF1aXJlDQo+IHVzZXJzIHRvIHVzZSB0 aGUgcnRlX21lbXBvb2wgYXMgdGhlIEFQSSBhY2NlcHRzIHBvaW50ZXJzIHNvIG90aGVyDQo+IG1l bXBvb2wgaW1wbGVtZW50YXRpb25zIGNvdWxkIGluZGVlZCBhbGxvdyBub24tY29udGlndW91cyBW QXMuDQo+IA0KPiBUbyBoZWxwIGRlY2lkZSBhdCBjb21waWxlIHRpbWUgaWYgY29tcHJlc3Npb24g aXMgYWxsb3dlZCBJIHdpbGwgYWRkDQo+IGV4dHJhIG1hY3JvcyB0byB0aGUgaGVhZGVyDQo+IA0K PiAjZGVmaW5lIEJJVFNfUkVRVUlSRURfVE9fU1RPUkVfVkFMVUUoeCkgXA0KPiAJKCh4KSA9PSAw ID8gMSA6ICgoc2l6ZW9mKHgpKSAtIF9fYnVpbHRpbl9jbHpsKHgpKSkNCj4gDQo+ICNkZWZpbmUg QklUX1NISUZUX0ZST01fQUxJR05NRU5UKHgpICgoeCkgPT0gMCA/IDAgOiBfX2J1aWx0aW5fY2x6 bCh4KSkNCj4gDQo+ICNkZWZpbmUgQ0FOX1VTRV9SVEVfUFRSX0NPTVBSRVNTXzE2KG1lbW9yeV9y YW5nZSwgb2JqZWN0X2FsaWdubWVudCkgXA0KPiAJKChCSVRTX1JFUVVJUkVEX1RPX1NUT1JFX1ZB TFVFKG1lbW9yeV9yYW5nZSkgLSBcDQo+IAlCSVRfU0hJRlRfRlJPTV9BTElHTk1FTlQob2JqZWN0 X2FsaWdubWVudCkpIDw9IDE2ID8gMSA6IDApDQo+IA0KPiAjZGVmaW5lIENBTl9VU0VfUlRFX1BU Ul9DT01QUkVTU18zMihtZW1vcnlfcmFuZ2UsIG9iamVjdF9hbGlnbm1lbnQpIFwNCj4gCSgoQklU U19SRVFVSVJFRF9UT19TVE9SRV9WQUxVRShtZW1vcnlfcmFuZ2UpIC0gXA0KPiAJQklUX1NISUZU X0ZST01fQUxJR05NRU5UKG9iamVjdF9hbGlnbm1lbnQpKSA8PSAzMiA/IDEgOiAwKQ0KPiANCj4g QW5kIGV4cGxhaW4gdXNhZ2UgaW4gdGhlIGRvY3MuDQo+IA0KPiBUaGUgQVBJIGlzIHZlcnkgZ2Vu ZXJpYyBhbmQgZG9lcyBub3QgZXZlbiByZXF1aXJlIHlvdSB0byB1c2UgYSBtZW1wb29sLg0KPiBU aGVyZSBhcmUgbm8gcnVudGltZSBjaGVja3MgdG8gdmVyaWZ5IG9yIGNhbGN1bGF0ZSBpZiB0aGUg cG9pbnRlcnMgY2FuDQo+IGJlIGNvbXByZXNzZWQuIFRoaXMgaXMgYmVjYXVzZSBkb2luZyB0aGlz IGF0IHJ1bnRpbWUgd291bGQgcmVtb3ZlIGFueQ0KPiBnYWlucyBhY2hpZXZlZCB0aHJvdWdoIGNv bXByZXNzaW9uLiBUaGUgY29kZSBkb2luZyB0aGUgY29tcHJlc3Npb24gbmVlZHMNCj4gdG8gcmVt YWluIGxpbWl0ZWQgaW4gc2l6ZSwgYnJhbmNoaW5nIGFuZCBleGVjdXRpb24gdGltZSB0byByZW1h aW4gZmFzdC4NCj4gDQo+IFRoaXMgaXMgSU1ITyB0aGUgbmF0dXJlIG9mIEMgYXBwbGljYXRpb25z LCB0aGV5IHRyYWRlIG9mZiBydW50aW1lIGNoZWNrcw0KPiBmb3IgcGVyZm9ybWFuY2UuIFByb2dy YW0gY29ycmVjdG5lc3MgbmVlZHMgdG8gYmUgZW5mb3JjZWQgdGhyb3VnaCBvdGhlcg0KPiBtZWFu cywgbGludGluZywgdmFsZ3JpbmQsIHRlc3RzLCBwZWVyIHJldmlldywgZXRjLiBJdCBpcyB1cCB0 byB0aGUNCj4gcHJvZ3JhbW1lciB0byBjYWxjdWxhdGUgYW5kIGRlY2lkZSBvbiB0aGUgdmlhYmls aXR5IG9mIGNvbXByZXNzaW9uIGFzIGl0DQo+IGNhbm5vdCBiZSBkb25lIGF0IGNvbXBpbGUgdGlt ZSBhdXRvbWF0aWNhbGx5LiBUaGVyZSBpcyBubyB3YXkgZm9yIG1lIHRvDQo+IHByb2dyYW1tYXRp Y2FsbHkgdmVyaWZ5IHRoZSBhbGlnbm1lbnQgYW5kIGRpc3RhbmNlIG9mIHRoZSBwb2ludGVycyBi ZWluZw0KPiBwYXNzZWQgaW4gYXQgY29tcGlsZSB0aW1lIGFzIEkgZG9uJ3QgcmVxdWlyZSB0aGUg dXNlciB0byB1c2UgYW55DQo+IHBhcnRpY3VsYXIgbWVtcG9vbCBpbXBsZW1lbnRhdGlvbi4NCj4g DQo+IFRoZXNlIGxpbWl0YXRpb25zIGFyZSBjbGVhcmx5IGRvY3VtZW50ZWQgaW4gdGhlIEFQSSBh bmQgdGhlIGd1aWRlLg0KPiANCj4gPiBPciBwcm9iYWJseSB5b3UgY2FuIGdvIGV2ZW4gZnVydGhl cjogdGFrZSBzb21lIGV4aXN0aW5nIHBpcGVsaW5lDQo+IHNhbXBsZSBhcHAgYW5kIG1ha2UgaXQg dXNlIGNvbXByZXNzL2RlY29tcHJlc3MgQVBJLg0KPiA+IFRoYXQgd2lsbCBwcm92aWRlIHBlb3Bs ZSB3aXRoIHNvbWUgYWJpbGl0eSB0byB0ZXN0IGl0IGFuZCBtZWFzdXJlIGl0J3MNCj4gcGVyZiBp bXBhY3QuDQo+ID4gQWdhaW4sIGl0IHdpbGwgcHJvdmlkZSBhbiBleGFtcGxlIG9mIHRoZSBhbW91 bnQgb2YgY2hhbmdlcyByZXF1aXJlZCB0bw0KPiBlbmFibGUgaXQuDQo+ID4gTXkgc3BlY3VsYXRp b24gaGVyZSB0aGF0IG1ham9yaXR5IG9mIHVzZXJzIHdpbGwgZmluZCB0aGUgZWZmb3J0IHRvbw0K PiBiaWcsDQo+ID4gd2hpbGUgdGhlIGdhaW4gd2F5IHRvbyBsaW1pdGVkIGFuZCBmcmFnaWxlLg0K PiA+IEJ1dCBhdCBsZWFzdCwgdGhlcmUgd291bGQgYmUgc29tZSByZWFsaXN0aWMgcmVmZXJlbmNl IHBvaW50IGZvciBpdCBhbmQNCj4gdXNlcnMgY2FuIGRlY2lkZSB0aGVtc2VsdmVzIGlzIGl0IHdv cnRoIGl0IG9yIG5vdC4NCj4gDQo+IEkgaGF2ZSBhZGRlZCBhIHBlcmZvcm1hbmNlIHRlc3QgdGhh dCBydW5zIHRoZSBjb21wcmVzc2lvbiBhbmQNCj4gZGVjb21wcmVzc2lvbiBsb29wIHdpdGggZGlm ZmVyZW50IGJ1cnN0IHNpemVzIHNvIHRoYXQgeW91IGNhbiBlYXNpbHkNCj4gdGVzdCBpZiBhdHRl bXB0aW5nIGNvbXByZXNzaW9uIGlzIHdvcnRoIHRoZSB0aGUgZWZmb3J0IGluIHlvdXIgdXNlY2Fz ZS4NCj4gVGhpcyBpcyBkb2N1bWVudGVkIGluIHRoZSBndWlkZS4NCj4gDQo+ID4NCj4gPj4+DQo+ ID4+PiBJIHdvdWxkIGxpa2UgdG8gYWRkOg0KPiA+Pj4gSWYgd2Ugd2FudCB0byBvZmZlciBvcHRp bWl6YXRpb25zIHNwZWNpZmljYWxseSBmb3IgYXBwbGljYXRpb25zIHdpdGgNCj4gYSBzaW5nbGUg bWJ1ZiBwb29sLCBJIHRoaW5rIGl0IHNob3VsZCBiZSBjb25zaWRlcmVkIGluIGEgc3lzdGVtLXdp ZGUNCj4gPj4gY29udGV4dCB0byBkZXRlcm1pbmUgaWYgcGVyZm9ybWFuY2UgY291bGQgYmUgaW1w cm92ZWQgaW4gbW9yZSBhcmVhcy4NCj4gPj4+IEUuZy4gcmVtb3ZpbmcgdGhlIHBvb2wgZmllbGQg ZnJvbSB0aGUgcnRlX21idWYgc3RydWN0dXJlIG1pZ2h0IGZyZWUNCj4gdXAgc3BhY2UgdG8gbW92 ZSBob3QgZmllbGRzIGZyb20gdGhlIHNlY29uZCBjYWNoZSBsaW5lIHRvIHRoZQ0KPiA+PiBmaXJz dCwgc28gdGhlIHNlY29uZCBjYWNoZSBsaW5lIHJhcmVseSBuZWVkcyB0byBiZSB0b3VjaGVkLiAo QXMgYW4NCj4gYWx0ZXJuYXRpdmUgdG8gcmVtb3ZpbmcgdGhlIHBvb2wgZmllbGQsIGl0IGNvdWxk IGJlIG1vdmVkIHRvIHRoZQ0KPiA+PiBzZWNvbmQgY2FjaGUgbGluZSwgb25seSB0byBiZSB1c2Vk IGlmIHRoZSBnbG9iYWwgInNpbmdsZSBtYnVmIHBvb2wiDQo+IGlzIE5VTEwuKQ0KPiA+PiBBZ3Jl ZSBvbiB0aGlzLiBUaGUgZmVlZGJhY2sgSSBoYXZlIHJlY2VpdmVkIGlzIG9uIHNpbWlsYXIgbGlu ZXMsIG1hbnkNCj4gYXJlIHVzaW5nIHNpbXBsZSBmZWF0dXJlcy4gSSBhbHNvIHJlY2VpdmVkIGZl ZWRiYWNrIHRoYXQgOTAlIG9mDQo+ID4+IHRoZSBhcHBsaWNhdGlvbnMgdXNlIGxlc3MgdGhhbiA0 R0Igb2YgbWVtb3J5IGZvciBtYnVmIGFuZCBidXJzdCBzaXplcw0KPiBhcmUgdXAgdG8gMjU2Lg0K PiA+DQo+ID4gV2VsbCwgZnJvbSBteSBwZXJzcGVjdGl2ZSB0aGUgc3RvcnkgaXMgY29tcGxldGVs eSBkaWZmZXJlbnQ6DQo+ID4gTWFqb3JpdHkgb2YgcmVhbC13b3JsZCBhcHBzIEkgYW0gYXdhcmUg ZG8gdXNlIG11bHRpcGxlIG1lbXBvb2xzLA0KPiA+IGl0IGlzIGFsc28gbm90IHVuY29tbW9uIHRv IGhhdmUgYSBtZW1wb29scyB3aXRoIHNpemUgYmlnZ2VyIHRoZW4gNEdCDQo+ICg4LzE2KS4NCj4g PiBBZ2FpbiwgdGhlcmUgYXJlIHF1ZXJpZXMgdG8gbWFrZSBtZW1wb29scyBncm93YWJsZS9zaHJp bmthYmxlIG9uDQo+IGRlbWFuZC4NCj4gDQo+IFlvdSBjYW4gdXNlIHRoaXMgQVBJIHdpdGggbWVt cG9vbHMgZXZlbiBhcyBiaWcgYXMgMzJHQiBhcyBsb25nIGFzIHlvdXINCj4gYWxpZ25tZW50IGFs bG93cyBmb3Igc3VmZmljaWVudCBzaGlmdCAoYXMgZXhwbGFpbmVkIGluIHRoZSBoZWFkZXJzIGFu ZA0KPiBkb2NzKSBhbmQgcnRlX21lbXBvb2wgb2JqZWN0cyB3aWxsIGhhdmUgYXQgbGVhc3QgOCBi eXRlcyBhbGlnbm1lbnQgc28NCj4gY2FuIGZpdCBhIDMyR0IgbWVtcG9vbCBpbi4gSXQgaXMgdHJ1 ZSB0aGF0IHlvdSBjYW5ub3QgdXNlIGl0IGlmIHlvdQ0KPiBjYW5ub3QgZ3VhcmFudGVlIHRoZSBh ZGRyZXNzIHJhbmdlIGF0IGNvbXBpbGUgdGltZS4gVGhpcyB1dGlsaXR5IGlzIG5vdA0KPiBhIGdv bGRlbiBidWxsZXQgdG8gdXNlIG9uIGV2ZXJ5IHBvaW50ZXIuDQoNCkZvciBmdXR1cmUgcHJvb2Zp bmcsIHBsZWFzZSByZW5hbWUgdGhlIGNvbXByZXNzaW9uIGZ1bmN0aW9ucyB0byBpbmNsdWRlIHRo ZSBjb21wcmVzc2lvbiBhbGdvcml0aG0sIGkuZS4gInNoaWZ0IiBvciBzaW1pbGFyLCBpbiB0aGUg ZnVuY3Rpb24gbmFtZXMuDQoNClNwZWNpZmljYWxseSBJJ20gdGhpbmtpbmcgYWJvdXQgYW4gYWx0 ZXJuYXRpdmUgIm11bHRpcGx5IiBjb21wcmVzc2lvbiBhbGdvcml0aG0gYmFzZWQgb24gZGl2aXNp b24vbXVsdGlwbGljYXRpb24gYnkgYSBjb25zdGFudCAibXVsdGlwbGllciIgcGFyYW1ldGVyIChp bnN0ZWFkIG9mIHRoZSAiYml0X3NoaWZ0IiBwYXJhbWV0ZXIpLg0KVGhpcyAibXVsdGlwbGllciIg d291bGQgdHlwaWNhbGx5IGJlIHRoZSBvYmplY3Qgc2l6ZSBvZiB0aGUgcGFja2V0IG1idWYgbWVt cG9vbC4NClRoZSAibXVsdGlwbGllciIgY291bGQgYmUgY29uc3RhbnQgYXQgYnVpbHQgdGltZSwg ZS5nLiAyMzY4LCBvciBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuDQpJIGRvbid0IGtub3cgdGhlIHBl cmZvcm1hbmNlIG9mIGRpdmlzaW9uL211bHRpcGxpY2F0aW9uIGNvbXBhcmVkIHRvIGJpdCBzaGlm dGluZyBmb3IgdmFyaW91cyBDUFVzLCBidXQgaXQgd291bGQgbWFrZSBjb21wcmVzc2lvbiB0byAx NiBiaXQgY29tcHJlc3NlZCBwb2ludGVycyB2aWFibGUgZm9yIG1vcmUgYXBwbGljYXRpb25zLg0K DQpUaGUgcGVyZiB0ZXN0IGluIHRoaXMgc2VyaWVzIGNvdWxkIGJlIHVzZWQgdG8gZGV0ZXJtaW5l IGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24gcGVyZm9ybWFuY2Ugb2Ygc3VjaCBhbiBhbGdvcml0 aG0sIGFuZCB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyIGNhbiBkZXRlcm1pbmUgd2hpY2ggYWxn b3JpdGhtIHRvIHVzZTsgInNoaWZ0IiB3aXRoIDMyIGJpdCBjb21wcmVzc2VkIHBvaW50ZXJzLCBv ciAibXVsdGlwbHkiIHdpdGggMTYgYml0IGNvbXByZXNzZWQgcG9pbnRlcnMuDQoNCg==