From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=S1; bh=0dxroMypRLKi9jugbCBCglESvO0p4z3bx0DkS4mk04g=; b=p40BdNbiwsqO5zOtp6qCQP1e4YxSlGJ4J8bxIYqQ2BgmI+PU2hLcK9EpkiUvJJc5b00F bfN4lghQ9SJHLM218giAeB4v24YJ1GAoHRkE9Mpn2yFI8BHYSikIq+X36jbEI+9OxRop 4kXGLRK0xZA+vkiBCl/Si6mdtRFnJmUR/Ol7ludsyylATqyEqNArQ+G2hTxPqR4ve49m FXxZbVlrj5Q3tf51t4FdBFlPTN+rKPtaEqsFHzQY9kRUV25jry3cMTfz+IsACnlkEBot P3OIdhlXwPcp3qJoGFRUP9mHe+TCbyEP6anfNrXm8u2xkErqccovPLfFCs29KfxfRfgD 5w== From: Date: Wed, 30 Jun 2021 22:32:35 +0000 Message-ID: References: In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Fuego] LTP and POSIX test suite report List-Id: Mailing list for the Fuego test framework List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: balaji.k@pathpartnertech.com Cc: pavan.ad@pathpartnertech.com, tbird20d@yahoo.com, fuego@lists.linuxfoundation.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQmFsYWppIEthbGlkYXMg PGJhbGFqaS5rQHBhdGhwYXJ0bmVydGVjaC5jb20+IA0KPiANCj4gCUhpIFRpbSwNCj4gCSAgICAg ICAgICBXZSBwdWxsZWQgdGhlIGxhdGVzdCBMVFAgYW5kIHJhbiBvbiBycGkuaGVyZSBhcmUgc29t ZSBvYnNlcnZhdGlvbnMuDQo+IA0KPiAJMS5JbiBjdXJyZW50IHNjZW5hcmlvIEZ1bmN0aW9uYWwu THRwIGluY2x1ZGVzIDIgbWFpbiB0ZXN0IGNhc2VzIG9uZSBpcyBzeXNjYWxscyBhbmQgU0VNIG9u IHNwZWMuanNvbiBmaWxlLmJ1dCBpdCBjaGVja3MgZm9yIDMgZGlmZmVyZW50DQo+IHRlc3QgY2Fz ZXMoc3lzY2FsbHMscHR5IGFuZCB0aW1lcnMpIGluIGNyaXRlcmlhLmpzb24gZmlsZSBmb3IgdGhy ZXNob2xkLGJ1dCBpdCBpcyBub3QgaW5jbHVkZWQgaW4gc3BlYy5qc29uIGZpbGUocHR5IGFuZCB0 aW1lcnMgdGVzdGNhc2UpLg0KDQpIbW1tLiAgSSdtIG5vdCBzZWVpbmcgdGhpcyBiZWhhdmlvci4g IFRoZSBkZWZhdWx0DQpjcml0ZXJpYS5qc29uIGZpbGUgaGFzIHRoZXNlIGVudHJpZXMsIHdoaWNo IGFyZSByZWxhdGVkIHRvIGluZGl2aWR1YWwgc3ViLXRlc3RzIHdoaWNoIG1pZ2h0IGJlIGV4ZWN1 dGVkDQpieSBGdWVnbydzIEZ1bmN0aW9uYWwuTFRQIHRlc3Q6DQogICAgew0KICAgICAgICAidGd1 aWQiOiAicHR5IiwNCiAgICAgICAgIm11c3RfcGFzc19saXN0IjogWyJoYW5ndXAwMSJdDQogICAg fQ0KDQpUaGlzIHNheXMsIHRoYXQgaWYgdGhlICdwdHknIHN1Yi10ZXN0IGlzIHJ1biwgdGhlbiB0 aGUgaW5kaXZpZHVhbCB0ZXN0Y2FzZSBoYW5ndXAwMSBtdXN0IHBhc3MuDQpIb3dldmVyLCBpdCBz aG91bGQgbm90IGFmZmVjdCB0aGUgcmVzdWx0cyBpZiB0aGUgJ3B0eScgc3ViLXRlc3QgaXMgbm90 IHByZXNlbnQuDQoNCklmIHlvdSBhcmUgbm90IHJ1bm5pbmcgdGhlIHB0eSB0ZXN0LCB0aGlzIG11 c3RfcGFzc19saXN0IHNob3VsZCBub3QgYmUgcHJvY2Vzc2VkLiAgSWYgaXQgKmlzKiBydW5uaW5n DQppbiB5b3VyIGNhc2UsIHRoZW4gdGhhdCB3b3VsZCBiZSBhIHNpZ25pZmljYW50IGJ1ZyBpbiBG dWVnbyB0aGF0IHdlIG5lZWQgdG8gZml4Lg0KDQpUaGlzIGVudHJ5Og0KICAgew0KICAgICAgICAi dGd1aWQiOiAidGltZXJzIiwNCiAgICAgICAgImZhaWxfb2tfbGlzdCI6IFsibGVhcHNlY190aW1l ciJdDQogICAgfSwNCg0KU2hvdWxkIG5vdCBoYXZlIGNhdXNlZCBhbnkgcHJvYmxlbXMuICBUaGlz IGVudHJ5IGFsc28gc2hvdWxkIG5vdCBoYXZlIGJlZW4gcHJvY2Vzc2VkIGlmDQp0aGUgInRpbWVy cyIgc3ViLXRlc3Qgd2FzIG5vdCBydW4uICAgRXZlbiBzbywgc2luY2UgdGhpcyBpcyBhICJmYWls X29rX2xpc3QiLCBpdCBzaG91bGQgbm90IGhhdmUgbWF0dGVyZWQNCnRoYXQgdGhlICJ0aW1lcnMi IHN1Yi10ZXN0IHdhcyBub3QgcnVuLiAgQXQgbW9zdCwgdGhpcyBjb25zdHJ1Y3Qgc2hvdWxkIGNv bnZlcnQgYSBGQUlMIHRvIGEgUEFTUywNCml0IHNob3VsZCBuZXZlciB0dXJuIGFic2VuY2Ugb2Yg YSByZXN1bHQgaW50byBhIEZBSUwuDQoNCj4gDQo+IAkyLnNpbmNlIHB0eSBhbmQgdGltZXJzIHRl c3QgY2FzZXMgYXJlIG5vdCBpbmNsdWRlZCBpbiBzcGVjLmpzb24sIHRob3NlIDIgdGVzdCBjYXNl cyB3b24ndCBydW4uIHNvIHN5c2NhbGxzIGFuZCBTRU0gcGFzc2VzIGFsc28gTFRQDQo+IGdpdmVz IGFuIGVycm9yLg0KDQpJIGhhdmUgcnVuIExUUCB1c2luZyB0aGUgInNtb2tldGVzdCIgc3BlYyBm cm9tIHNwZWMuanNvbiwgd2l0aCB0aGUgZGVmYXVsdCBjcml0ZXJpYS5qc29uIGZpbGUsIGFuZCBo YWQgdGhlDQp0ZXN0IHBhc3MuICBUaGUgc21va2V0ZXN0IHNwZWMgZG9lcyBub3QgcnVuIHRoZSB0 aW1lcnMgb3IgcHR5IHN1Yi10ZXN0cywgc28gaWYgdGhvc2Ugd2VyZSB0aGUgcHJvYmxlbQ0KaW4g dGhlIGNyaXRlcmlhIGZpbGUsIHRob3NlIGNyaXRlcmlhIGVudHJpZXMgd291bGQgcHJlc3VtYWJs eSBhbHNvIGNhdXNlIHRoYXQgc3BlYyB0byBmYWlsLg0KDQpIb3cgZGlkIHlvdSBkZXRlcm1pbmUg dGhhdCB0aG9zZSBlbnRyaWVzIChmb3IgJ3RpbWVycycgYW5kICdwdHknKSB3ZXJlIGNhdXNpbmcg dGhlIHByb2JsZW0/DQoNCllvdSBjYW4gc2VlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBhYm91dCBo b3cgdGhlIGNyaXRlcmlhIGlzIHByb2Nlc3NlZCBieSB0dXJuaW5nIG9uIGRlYnVnZ2luZw0KZm9y IHRoYXQgcGhhc2Ugb2YgdGhlIHRlc3QuICBUaGF0IGlzLCB5b3UgY2FuIHNldDogY3JpdGVyaWE6 ZGVidWcgaW4geW91ciBGVUVHT19MT0dMRVZFTFMsDQphbmQgZ2V0IGEgbGFyZ2UgKGFjdHVhbGx5 IGhvcnJpZnlpbmdseSBodWdlKSBhbW91bnQgb2YgY3JpdGVyaWEgcHJvY2Vzc2luZyBkYXRhIGlu IHRoZSBjb25zb2xlIGxvZw0KZm9yIHRoZSB0ZXN0IHJ1bi4gIChMb29rIGZvciBlbnRyaWVzIHN0 YXJ0aW5nIHdpdGggIkRFQlVHKGNyaXRlcmlhKSIpLg0KDQo+IA0KVGhlcmUgaXMgYSBzYW1wbGUg c3BlYyBpbiBMVFAncyBzcGVjLmpzb24gdGhhdCBydW5zIHRpbWVycyBhbmQgcHR5LiAgSXQgaXMg dGhlICdzb21lZmFpbCcgc3BlYywgd2hpY2ggaGFzIHRoaXMNCmRlZmluaXRpb246DQogICAgICAg ICJzb21lZmFpbCI6IHsNCiAgICAgICAgICAgICJ0ZXN0cyI6ICJ0aW1lcnMgcHR5IiwNCiAgICAg ICAgICAgICJleHRyYV9zdWNjZXNzX2xpbmtzIjogeyJ4bHN4IjogInJlc3VsdHMueGxzeCIsICJz a2lwbGlzdCI6ICJza2lwbGlzdC50eHQifSwNCiAgICAgICAgICAgICJleHRyYV9mYWlsX2xpbmtz IjogeyJ4bHN4IjogInJlc3VsdHMueGxzeCIsICJza2lwbGlzdCI6ICJza2lwbGlzdC50eHQifQ0K ICAgICAgICB9LA0KDQpJbiBnZW5lcmFsLCB0aGUgb3ZlcmFsbCBpZGVhIG9mIGNyaXRlcmlhIGZp bGVzIGlzIHRvIHNwZWNpZnkgZXhjZXB0aW9ucyBmb3IgdGhlICJhbGwgaW5kaXZpZHVhbCB0ZXN0 Y2FzZXMgbXVzdCBwYXNzIg0KcnVsZSB0aGF0IGlzIG5vcm1hbGx5IGluIGVmZmVjdCBmb3IgZXZh bHVhdGluZyB0aGUgb3ZlcmFsbCByZXN1bHQgb2YgYSB0ZXN0Lg0KDQpIYXZpbmcgc2FpZCB0aGlz LCBJIHRoaW5rIHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIHRlc3Qgc3BlY3MgKHdoaWNoIHNlbGVj dHMgZGlmZmVyZW50IHBhcmFtZXRlcnMgdG8gY29udHJvbA0KdGVzdCBvdXRwdXQgYW5kIHRoZSBz ZXQgb2YgaW5kaXZpZHVhbCB0ZXN0Y2FzZXMgdG8gcnVuKSBhbmQgY3JpdGVyaWEgZmlsZXMgKHdo aWNoIHNwZWNpZmllcyB0aGUNCnJlc3VsdHMgYW5hbHlzaXMpIGlzIG5vdCBhcyBjb29yZGluYXRl ZCBhcyBpdCBzaG91bGQgYmUuICBQb3NzaWJseSwgdGhlIGNyaXRlcmlhIGZpbGUgc2hvdWxkIGJl IHNwZWNpZmllZA0KYXMgcmVsYXRpbmcgdG8gYSBwYXJ0aWN1bGFyIHNwZWMuICBUaGF0IGlzLCB3 ZSB3b3VsZCBoYXZlIGEgY3JpdGVyaWEgZm9yIHRoZSAnZGVmYXVsdCcgc3BlYywgYW5kIHRoaXMg d291bGQNCmJlIGRpZmZlcmVudCBmcm9tIHRoZSBjcml0ZXJpYSBmb3IgdGhlICdzb21lZmFpbCcg c3BlYyBvciB0aGUgInNlbGVjdGlvbiIgc3BlYy4NCg0KPiANCj4gCTMuVG8gbWFrZSBMVFAgc3Vj Y2VzcyB3ZSBoYXZlIHR3byBvcHRpb24gaW4gZnJvbnQgb2YgdXM6DQo+IA0KPiAJICAgICBPcHRp b24gMTogQWRkIHB0eSBhbmQgdGltZXIgdGVzdCBjYXNlIHRvIHNwZWMuanNvbg0KDQpJdCdzIGFs cmVhZHkgdGhlcmUgaW4gdGhlICJzb21lZmFpbCIgc3BlYy4NCg0KPiAJICAgICBPcHRpb24gMjog UmVtb3ZlIHB0eSBhbmQgdGltZXJzIHRocmVzaG9sZCBjaGVja2luZyBpbiBjcml0ZXJpYS5qc29u IGZpbGUNCj4gDQo+IA0KPiAgICAgIFdlIHRvb2sgdGhlIHNlY29uZCBvcHRpb24gYW5kIHJlbW92 ZWQgdGhvc2UgdGVzdCBjYXNlcyhwdHkgYW5kIHRpbWVycykgIGZyb20gdGhlIGNyaXRlcmlhLmpz b24gZmlsZS5hbmQgYWxzbyBjaGFuZ2VkIHRoZSBtYXhfZmFpbA0KPiB0aHJlc2hvbGQgY2hlY2tp bmcgb2YgdGhlIHN5c2NhbGxzIHRlc3QgY2FzZXMgb24gY3JpdGVyaWEuanNvbiBmaWxlLg0KDQpP cHRpb24gMiBpcyB0aGUgYmV0dGVyIGNob2ljZSwgaWYgdGhlaXIgcHJlc2VuY2UgaXMgdGhlIGFj dHVhbCBidWcuIA0KDQpJJ20gbm90IHN1cmUgaG93IHlvdSBjdXN0b21pemVkIHRoZSBjcml0ZXJp YSBmaWxlIGZvciB0aGUgYm9hcmQuICBQbGVhc2UgbGV0IG1lIGtub3cuDQpEaWQgeW91IG92ZXJ3 cml0ZSB0aGUgb24gaW4gZnVlZ28tY29yZS90ZXN0cy9GdW5jdGlvbmFsLkxUUCwgb3IgZGlkIHlv dSBwdXQgb25lIGEgYm9hcmQtc3BlY2lmaWMNCm9uZSBpbiB0aGUgL2Z1ZWdvLXJ3L2JvYXJkcyBk aXJlY3Rvcnk/DQoNClRoZSBwcmVmZXJyZWQgbWV0aG9kIGlzIHRvIHVzZSBhIGJvYXJkLXNwZWNp ZmljIG9uZSwgcmF0aGVyIHRoYW4gY2hhbmdlIHRoZSBnbG9iYWwgb25lLg0KU2VlIHRoZSBpbnN0 cnVjdGlvbnMgaW4gZnVlZ28vZG9jcy9yc3Rfc3JjL2NyaXRlcmlhbC5qc29uLnJzdCwgc2VjdGlv biAiVXNpbmcgYSBib2FyZC1zcGVjaWZpYyBkaXJlY3RvcnkiLg0KDQo+IA0KPiAJQWZ0ZXIgd2Ug cmFuIHRoZSBMVFAgdGVzdCBzdWl0ZSBpdCByYW4gc3VjY2Vzc2Z1bGx5Lg0KDQpPSyAtIGlmIHRo ZSBvbmx5IGNoYW5nZSB5b3UgbWFkZSB0byB0aGUgY3JpdGllcmEgZmlsZSB3YXMgdG8gcmVtb3Zl IHRoZSB0aW1lcnMgYW5kIHB0eSBlbnRyaWVzLA0KYW5kIHRoaXMgYWZmZWN0ZWQgdGhlIG92ZXJh bGwgTFRQIHBhc3MgcmVzdWx0cyAod2hlbiB0aGUgc2FtZSBzZXQgb2YgdGVzdGNhc2VzIGZhaWxl ZCksIHRoZW4gdGhpcw0Kd291bGQgYmUgYSBzZXJpb3VzIGJ1ZyBpbiBMVFAgY3JpdGVyaWEgaGFu ZGxpbmcuDQoNCkNhbiB5b3UgcGxlYXNlIGRvIGEgZmV3IHRoaW5nczoNCiAtIGNoZWNrIHRoYXQg dGhlIGZhaWxlZCB0ZXN0Y2FzZXMgd2FzIHRoZSBzYW1lIGZvciB0aGUgcnVucyB0aGF0IHN1Y2Nl ZWRlZCBhbmQgZmFpbGVkDQogLSBjaGVjayB0aGF0IHRoZSBjcml0ZXJpYSBmaWxlIHdhcyBub3Qg bW9kaWZpZWQgaW4gc29tZSBvdGhlciB3YXkgKHN1Y2ggYXMgYnkgY2hhbmdpbmcgdGhlDQogICAg c3lzY2FsbHMgJ21heF9mYWlsJyBvciAnbWluX3Bhc3MnIGFtb3VudC4NCiAtIHR1cm4gb24gZGVi dWdnaW5nIGZvciB0aGUgY3JpdGVyaWEgaGFuZGxpbmcsIGFuZCBjb21wYXJlIHRoZSBjb25zb2xl IG91dHB1dCBmb3IgYSB0ZXN0DQogICB0aGF0IGZhaWxzIHdpdGggdGhlIG9yaWdpbmFsIGNyaXRl cmlhIGZpbGUsIGFuZCBzdWNjZWVkcyBmb3IgeW91ciBtb2RpZmllZCBjcml0ZXJpYSBmaWxlLiBU aGUgDQogICAgIHBvaW50IG9mIHRoaXMgd291bGQgYmUgdG8gZmluZCB0aGUgcmVhc29uIGZvciB0 aGUgZGlmZmVyZW5jZSBpbiB0aGUgdG9wLWxldmVsIHJlc3VsdCwgd2hpY2gNCiAgICAgc2hvdWxk IGJlIHByaW50ZWQgaW4gdGhlIGRlYnVnIHN0YXRlbWVudHMgb2YgdGhlIGNyaXRlcmlhIHByb2Nl c3NpbmcgY29kZS4NCg0KT25lIGZlYXR1cmUgd2hpY2ggSSBoYXZlIHdhbnRlZCB0byBhZGQsIGlz IGEgInJlYXNvbiIgbWVzc2FnZSBmb3IgdGhlIHJlc3VsdHMsIHRoYXQNCmNvdWxkIGZsb3cgdXAg dGhlIHRlc3RjYXNlL3Rlc3Qgc2V0LyB0ZXN0IHN1aXRlIHRyZWUsIGFuZCBpbmRpY2F0ZSBhdCB0 aGUgdG9wIGxldmVsDQp3aGF0IHRoZSBwcm9ibGVtIHdhcyB0aGF0IHdhcyBjYXVzaW5nIHRoZSB0 b3AtbGV2ZWwgZmFpbHVyZS4NCg0KQW5vdGhlciBmZWF0dXJlIEkgaGF2ZSB3YW50ZWQgdG8gYWRk IGlzIHRoZSBhYmlsaXR5IHRvIGFsdGVyIHRoZSBjcml0ZXJpYSBmaWxlIHVzaW5nDQpmdGMgYXQg dGhlIGNvbW1hbmQgbGluZS4gIEkgZ290IHF1aXRlIGEgd2F5cyBhbG9uZyB0b3dhcmRzIGltcGxl bWVudGluZyB0aGF0IGJlZm9yZQ0KSSBnb3Qgc2lkZXRyYWNrZWQsIGFuZCB1bmZvcnR1bmF0ZWx5 IGl0IGhhcyBiZWVuIGxlZnQgdW5maW5pc2hlZC4NCg0KSSB0aGluayBlaXRoZXIgb2YgdGhlc2Ug ZmVhdHVyZXMgd291bGQgaGF2ZSBoZWxwZWQgcmVzb2x2ZSB0aGlzIHByb2JsZW0gKG9yIGlsbHVt aW5hdGVkDQp0aGUgYnVnLCBpZiB0aGVyZSBpcyBvbmUpLg0KDQpUaGFua3MgZm9yIHdvcmtpbmcg b24gdGhpcy4gIExldCBkaXNjdXNzIHRoZSByZXN1bHRzIGFuZCBuZXh0IHN0ZXBzIGluIG91ciBj YWxsIHRoaXMgd2Vlay4NCg0KUmVnYXJkcywNCiAtLSBUaW0NCg0KPiBub3RlOmhlcmUgYXR0YWNo ZWQgdGhlIGVycm9yIHJlcG9ydCxyZXN1bHRzIGFuZCBjb25zb2xlIGxvZy4NCj4gDQo+IHJlZ2Fy ZHMsDQo+IGJhbGFqaS5rDQo+IA0KPiBPbiBUaHUsIEp1biAxNywgMjAyMSBhdCA1OjIxIFBNIEJh bGFqaSBLYWxpZGFzIDxiYWxhamkua0BwYXRocGFydG5lcnRlY2guY29tIDxtYWlsdG86YmFsYWpp LmtAcGF0aHBhcnRuZXJ0ZWNoLmNvbT4gPiB3cm90ZToNCj4gDQo+IA0KPiANCj4gCUhpIFRpbSwN Cj4gDQo+IA0KPiAJcXVlcmllcyBhYm91dCBMVFAgcmVwb3J0Og0KPiANCj4gDQo+IA0KPiAJV2h5 IGRpZCBzb21lIG9mIHlvdXIgdGVzdHMgbm90IGhhdmUgbGliYWlvLnNvLjEgaXNzdWVzLCB3aGVu IG90aGVycyBkaWQgKGFuZCBtb3JlIG9mIG15IHRlc3RzIGRpZCk/DQo+IAkgICAgIC0tV2hpbGUg cnVubmluZyB0aGVzZSB0ZXN0cyBmb3IgdGhlIGZpcnN0IHRpbWUgSSBnb3QgdGhlc2UgbGliYWlv IGVycm9ycy4NCj4gDQo+IAkgICAgIC0tV2UgcmVzb2x2ZWQgdGhlc2UgZXJyb3JzIGJ5IGFkZGl0 aW9uYWxseSBkb3dubG9hZGluZyBzb3VyY2VzIGZvciBsaWJhaW8gYW5kIGNyb3NzLWNvbXBpbGlu ZyB0aGVtLg0KPiANCj4gDQo+IAlJbiB0aGUgbWVhbnRpbWUgd2Ugd2lsbCBydW4gdGhlIExUUCBh bmQgZ2V0IGJhY2sgdG8geW91IHNvb24uDQo+IA0KPiAJcmVnYXJkcywNCj4gCWJhbGFqaS5rDQo+ IA0KPiAJT24gU2F0LCBKdW4gMTIsIDIwMjEgYXQgNDoyNiBBTSA8VGltLkJpcmRAc29ueS5jb20g PG1haWx0bzpUaW0uQmlyZEBzb255LmNvbT4gPiB3cm90ZToNCj4gDQo+IA0KPiAJCU9LIC0gaGVy ZSBpcyBzb21lIGZlZWRiYWNrIG9uIHRoZXNlIHJlc3VsdHMuDQo+IA0KPiAJCUJlZm9yZSBJIGdl dCB0byBkaXNjdXNzaW5nIHRoZSBpc3N1ZXMgYmVsb3csIEkgaGF2ZSBhIGZldyBjb21tZW50cy4N Cj4gDQo+IAkJRmlyc3QsIEkgZm91bmQgYSBjb3VwbGUgb2YgYnVncyB0aGF0IG5lZWRlZCB0byBi ZSBmaXhlZCBpbiB0aGUgTFRQIHRlc3QNCj4gCQkob3IgaW4gRnVlZ28gaXRzZWxmKS4gIEkgaGF2 ZSBwdXNoZWQgc29tZSBvZiB0aGVzZSB0byBmdWVnby1jb3JlLCBhbmQNCj4gCQlvdGhlcnMgYXJl IHN0aWxsIG91dHN0YW5kaW5nIHRvIHJlc29sdmUuDQo+IA0KPiAJCUhlcmUgYXJlIHNvbWUgb2Yg aXNzdWVzIHRoYXQgd291bGQgYmUgZ29vZCB0byBhZGRyZXNzOg0KPiAJCSAtIGF1dG9za2lwIHBy b2Nlc3NpbmcgdGFrZXMgYSBsb25nIHRpbWUuICBUaGVyZSBhcmUgc29tZSByb3V0aW5lcyAoc3Vj aCBhcyBpc19vbl90YXJnZXQpDQo+IAkJICAgIHdoaWNoIHRha2UgbXVjaCBsb25nZXIgdGhhbiB0 aGV5IHNob3VsZCAoZG9pbmcgbXVsdGlwbGUgcm91bmQgdHJpcHMgdG8gdGhlIHRhcmdldA0KPiAJ CSAgICB0aGF0IGNvdWxkIGJlIGVsaW1pbmF0ZWQpLiAgU28gdGhpcyBjb3VsZCBiZSBpbXByb3Zl ZC4NCj4gCQkgLSBpZiB0aGUga2VybmVsIGNvbmZpZyBjYW4ndCBiZSBmb3VuZCwgdGhlbiB0aGUg dGVzdCBlcnJvcnMgb3V0ICh0aGlzIHNob3VsZCBiZSBmaXhlZCBpbiBGdWVnbykNCj4gCQkgLSB0 aGUgTFRQIHRlc3QgY29uc29sZSBpcyBtb3N0bHkgc2lsZW50IGR1cmluZyB0aGUgdGVzdC4gIFRo aXMgbWFrZXMgaXQgcmVhbGx5IGhhcmQgdG8gZmlndXJlDQo+IAkJICAgIG91dCB3aGljaCB0ZXN0 IGlzIGNhdXNpbmcgcHJvYmxlbXMgaW4gdGhlIGNhc2Ugb2YgYSBrZXJuZWwgcGFuaWMgb3IgbWFj aGluZSBoYW5nLg0KPiAJCSAgICBJIHN0YXJ0ZWQgd29yayBvbiB0aGlzLCBidXQgZm91bmQgc29t ZSBidWdzIGFuZCBoYWQgdG8gcm9sbCBiYWNrIG15IGNoYW5nZXMuDQo+IAkJIC0gSSBoYWQgdG8g Zml4IHNvbWUgdGhpbmdzIHJlbGF0ZWQgdG8gdGhlIHVwZGF0ZSB0byAyMDIxMDUyNCB2ZXJzaW9u IG9mIExUUCwgYnV0IEknbSBub3QNCj4gCQkgICBjb25maWRlbnQgSSBjYXVnaHQgZXZlcnl0aGlu ZyB0aGF0IG5lZWRzIHRvIGJlIGZpeGVkLg0KPiAJCSAgICAtIE9uZSB0aGluZ3MgaXMgdGhhdCBM VFAgaGFzIGEgbmV3IHRlc3QgcnVubmVyIHRoYXQgc2hvdWxkIHdvcmsgbXVjaCBiZXR0ZXIgd2l0 aCBGdWVnbywNCj4gCQkgICAgICBidXQgSSB3aWxsIGhhdmUgdG8gcmUtd3JpdGUgc2VjdGlvbnMg b2YgZnVlZ29fdGVzdC5zaCBhbmQgbHRwX3RhcmdldF9ydW4uc2guICBJZiBpdCBhZmZlY3RzDQo+ IAkJICAgICAgdGhlIHRlc3Qgb3V0cHV0LCBJIHdpbGwgYWxzbyBoYXZlIHRvIHJld3JpdGUgdGhl IHBhcnNlci5weSBhbmQgbHRwX3Byb2Nlc3MucHkgc2NyaXB0cywgd2hpY2gNCj4gCQkgICAgICB3 b3VsZCBiZSBhIG1ham9yIGVmZm9ydC4gIEknbSBzdGlsbCB0aGlua2luZyB3aGV0aGVyIHRoaXMg aXMgd29ydGggaXQgb3Igbm90Lg0KPiANCj4gCQlPSywgbm93IGZvciBzb21lIHJlc3BvbnNlIGFu ZCBmZWVkYmFjay4NCj4gDQo+IAkJPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiAJCT4g RnJvbTogUGF2YW4gQXJ1biBEZXNocGFuZGUgPHBhdmFuLmFkQHBhdGhwYXJ0bmVydGVjaC5jb20g PG1haWx0bzpwYXZhbi5hZEBwYXRocGFydG5lcnRlY2guY29tPiA+DQo+IAkJPg0KPiAJCT4gSGkg VGltLA0KPiAJCT4NCj4gCQk+IFdlIGFuYWx5c2VkIHRoZSBwcmV2aW91cyB0ZXN0IGVycm9yIHJl cG9ydCBhbmQgc29ydGVkIG91dCBzb21lIFRDT05GIGVycm9ycyBidXQgc3RpbGwgc29tZSBlcnJv cnMgYXJlIGNvbWluZy4NCj4gCQk+IFdlIHJhbiB0aGUgbGF0ZXN0IGx0cCgyMDIxMDUyNCkgdGVz dCAgb24gYSByYXNwYmVycnkgcGkgYm9hcmQgYW5kIHdlIGhhdmUgcHJlcGFyZWQgdGhlIHRlc3Qg ZXJyb3IgcmVwb3J0cyBmb3IgYm90aCB0ZXN0cw0KPiBiYXNlZCBvbiB0aGUgb3V0cHV0DQo+IAkJ PiB3ZSBnb3QgLg0KPiAJCT4NCj4gCQk+DQo+IAkJPiB3ZSBoYXZlIHNvbWUgb2JzZXJ2YXRpb25z Og0KPiAJCT4NCj4gCQk+ICogICAgICB0ZXN0cyB3aGljaCBmYWlsZWQgYXMgVENPTkYgdGVzdCBl cnJvciAsIHNob3dzIHN0YXR1cyBhcyAicGFzcyIgaW4gcnVuLmpzb24gbG9nIGZpbGUuDQo+IAkJ Pg0KPiAJCT4gICAgICAgICAgICAgICAgZm9yIGFuIGV4YW1wbGUgOiAgZm9yazE0IHdoaWNoIGdp dmVzIHRoZSAgZXJyb3IgYXMgLSAgbW1hcCgpIGZhaWxzIHRvbyBtYW55IHRpbWVzLHNvIHdlIGFy ZSBhbG1vc3QgaW1wb3NzaWJsZXRvDQo+IGdldCBhbg0KPiAJCT4gdm1fYXJlYV9zdHJ1Y3RzaXpl ZCAxNlRCLg0KPiAJCT4gICAgICAgICAgICAgICAgICAgICBidXQgaW4gcnVuLmpzb24gc2hvd3Mg c3RhdHVzIGFzIHBhc3MgLiBsaWtlICBiZWxvdw0KPiAJCT4NCj4gCQk+ICAgICAgICAgICAgICAg IHsNCj4gCQk+ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9yazE0IiwNCj4gCQk+ICAg ICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJQQVNTIg0KPiAJCT4gICAgICAgICAgICAgICAg IH0NCj4gCQk+ICAgICAgICAgICBxdWVyeSBpcyBvbiB3aGF0IGJhc2VzIHRlc3RzIGFyZSBjb25z aWRlcmVkIGFzIHBhc3Mgb3IgZmFpbCBpbiB0aGUgbHRwPw0KPiANCj4gCQlBY2NvcmRpbmcgdG8g dGhlIGNvZGUgaW4gRnVuY3Rpb25hbC5MVFAvcGFyc2VyLnB5IChsaW5lIDEyOCkgVENPTkYgaXMg aW50ZXJwcmV0ZWQNCj4gCQlhcyBhICJQQVNTIi4gIEhvd2V2ZXIsIEkgdGhpbmsgaXQgd291bGQg YmUgYmV0dGVyIGlmIGl0IHdlcmUgaW50ZXJwcmV0ZWQgYXMgYSBTS0lQLg0KPiANCj4gCQlUaGUg d2F5IEZ1ZWdvIHByb2Nlc3NlcyBMVFAgcmVzdWx0cywgaXQgZG9lc24ndCBjb3VudCBhbnkgdGVz dHMgdGhhdCB3ZXJlDQo+IAkJYXV0by1za2lwcGVkLiAgVGhlc2UgYXJlIHByb2Nlc3NlZCBpbmRl cGVuZGVudGx5IG9mIHRoZSBzZXQgb2Ygc3BlY2lmaWVkDQo+IAkJcnVudGVzdCBmaWxlcywgd2hp Y2ggaXMgYSBiaXQgY29uZnVzaW5nLCBJTUhPLCBmb3IgdXNlcnMuICBJdCBtaWdodCBiZSB3b3J0 aA0KPiAJCXJlLXRoaW5raW5nIGhvdyBza2lwcyBhcmUgcmVwb3J0ZWQsIGFuZCB0aGUgbWFwcGlu Z3MgZnJvbSBMVFAgcmVzdWx0IGNvZGVzDQo+IAkJdG8gRnVlZ28gcmVzdWx0IGNvZGVzLiAgKExU UCBoYXMgbW9yZSB0aGFuIEZ1ZWdvIGRvZXMsIHNvIHRoZSBtYXBwaW5nDQo+IAkJd2lsbCBsb3Nl IHNvbWUgaW5mb3JtYXRpb24gc29tZXdoZXJlLikNCj4gDQo+IAkJSW4gdGhlIGNhc2Ugb2YgZm9y azE0LCBJJ20gbm90IHN1cmUgd2hhdCB0aGUgdGVzdCBpcyBzYXlpbmcgYWJvdXQgdGhlIG1hY2hp bmUNCj4gCQljb25maWd1cmF0aW9uLiAgSXQgbG9va3MgbGlrZSBhIHJ1bnRpbWUgYXV0b2RldGVj dGlvbiB0aGF0IHRoZSB0ZXN0IGNhbm5vdCBydW4NCj4gCQliYXNlZCBvbiBkeW5hbWljIGV2YWx1 YXRpb24gb2YgZm9yayBtbWFwIGZhaWx1cmVzLiAgVGhpcyBzZWVtcyBraW5kIG9mDQo+IAkJc2tl dGNoeSB0byBtZSwgYnV0IEknbSBPSyB3aXRoIExUUCBpbnRlcnByZXRpbmcgdGhhdCBhcyBUQ09O Ri4NCj4gDQo+IAkJPg0KPiAJCT4gKiAgICAgTW9zdCBvZiB0aGUgVENPTkYgZmFpbGVkIHRlc3Rz IGFyZSBkdWUgdG8gYWJzZW5jZSBvZiByZXF1aXJlZCBjb25maWd1cmF0aW9ucyBpbiB0aGUga2Vy bmVsIGNvbmZpZyBmaWxlLlRlc3RzIHdoaWNoDQo+IGZhaWxlZCBhcyBUQ09ORg0KPiAJCT4gb24g cmFzcGJlcnJ5IHBpIHJ1bnMgc3VjY2Vzc2Z1bGx5IG9uIHg4NiBtYWNoaW5lIGJlY2F1c2UgcmVx dWlyZWQgY29uZmlndXJhdGlvbnMgYXJlIGVuYWJsZWQgaW4gdGhlIGNvbmZpZyBmaWxlLg0KPiAJ CT4NCj4gCQk+ICAgICAgICAgICAgZm9yIGV4YW1wbGU6IGZhbm90aWZ5IHRlc3Qgd2FzIGZhaWxl ZCBkdWUgdG8gQ09ORklHX0ZBTk9USUZZX0FDQ0VTU19QRVJNSVNTSU9OUyBub3QgY29uZmlndXJl ZCBpbiB0aGUga2VybmVsDQo+IGJ1dCBzYW1lIHRlc3QNCj4gCQk+IHBhc3NlZCBvbiB0aGUgeDg2 IG1hY2hpbmUNCj4gCQk+ICAgICAgICAgICAgYmVjYXVzZSAgIENPTkZJR19GQU5PVElGWV9BQ0NF U1NfUEVSTUlTU0lPTlM9eSAgZW5hYmxlZCBpbiB0aGUgeDg2IGNvbmZpZyBmaWxlLg0KPiAJCT4N Cj4gCQk+ICAgICAgICAgICAgIFNvIGNhbiB3ZSBhZGQgYWxsIHRob3NlIHJlcXVpcmVkIGNvbmZp Z3MgdG8gdGhlIHJhc3BiZXJyeSBwaSBjb25maWcgZmlsZT8NCj4gDQo+IAkJVGhhdCdzIHNvbWV0 aGluZyB0aGF0IHdvdWxkIGJlIGEgbGFiLXNwZWNpZmljIHBvbGljeS4gIElmIHlvdSB3YW50IGxl c3MgVENPTkZzLCB0aGVuIHlvdSBjYW4gZG8gdGhhdC4NCj4gCQlJbiBnZW5lcmFsLCBJIGRvbid0 IHdvcnJ5IGFib3V0IFRDT05Gcy4gIEl0IGRlcGVuZHMgb24gb25lJ3MgdGVzdGluZyBzdHJhdGVn eSBhbmQgc2l0dWF0aW9uLg0KPiANCj4gCQlJbiBnZW5lcmFsLCB0aGUgYXV0b3NraXAgY29kZSBj YXRjaGVzIGEgYnVuY2ggb2YgdGhlc2UsIGFuZCBtYWtlcyBpdCBzbyB0aGF0IHRlc3RzIHRoYXQg bm90IHJlbGV2YW50DQo+IAkJdG8geW91ciBwcm9jZXNzb3IsIGRpc3Rybywgb3IgY29uZmlndXJh dGlvbiBhcmUgYXV0b21hdGljYWxseSBhdm9pZGVkLiAgVGhpcyBjdXRzIGRvd24gbm8gbm9pc2Ug ZHVyaW5nDQo+IAkJdGVzdGluZy4gIEhvd2V2ZXIsIGl0IGRvZXMgcG9zc2libHkgY3JlYXRlIGNv bmZ1c2lvbiBiZWNhdXNlIHRoZSBzZXQgb2YgdGVzdHMgdGhhdCBpcyBydW4gY2hhbmdlcw0KPiAJ CWJhc2VkIG9uIGtlcm5lbCBjb25maWcgb3Igb3RoZXIgZmFjdG9ycyAobGlrZSB3aGV0aGVyIHlv dSBoYXZlIGEgc3BlY2lmaWMgcHJvZ3JhbSBpbnN0YWxsZWQgKGxpa2UgJ2F0JykpDQo+IA0KPiAJ CVdpdGggcHJvZHVjdCB0ZXN0aW5nIChpZSwgdGhlIGtpbmQgSSBkbyBmb3IgU29ueSksIEkgZG8g Tk9UIGxpa2UgdG8gYWx0ZXIgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGtlcm5lbC4NCj4gCQlB bmQgaW4gc29tZSBjYXNlcywgSSBjYW4ndCBjaGFuZ2UgdGhlIGtlcm5lbCBjb25maWcuICBJIHdh bnQgdG8gcnVuIHRoZSB0ZXN0cyBvbiB0aGUgc2FtZSBrZXJuZWwgKGNvbmZpZykNCj4gCQl0aGF0 IHRoZSBlbmQgdXNlciB3aWxsIHVzZSBvbiB0aGF0IHByb2R1Y3QgaGFyZHdhcmUuDQo+IA0KPiAJ CUhvd2V2ZXIsIGZvciB0ZXN0aW5nIGZvciB1cHN0cmVhbSBkZXZlbG9wZXJzLCB0aGV5IG1heSB3 YW50IHRvIGVuYWJsZSBhcyBtdWNoIG9mIHRoZSBrZXJuZWwNCj4gCQljb25maWcgYXMgcG9zc2li bGUsIHNvIHRoZXkgY2FuIHNlZSBhbGwgcG9zc2libGUgZGlhZ25vc3RpY3MsIGFuZCBhdm9pZCBt aXNzaW5nIHRlc3RzIGR1ZSB0byBjb25maWd1cmF0aW9uLg0KPiANCj4gCQk+DQo+IAkJPiBJIGhh dmUgYXR0YWNoZWQgYSB0ZXN0IGVycm9yIHJlcG9ydCBhbmQgYWxzbyBhdHRhY2hlZCByZXN1bHQg b3V0cHV0ICBkb2N1bWVudHMocmVzdWx0cy54bHN4LHJ1bi5qc29uLGNvbnNvbGVsb2cudHh0KQ0K PiBnZW5lcmF0ZWQgZHVyaW5nIHRlc3QNCj4gCQk+IGV4ZWN1dGlvbi4NCj4gCQk+IExldCBtZSBr bm93IHlvdXIgdGhvdWdodHMgb24gdGhpcy4NCj4gDQo+IAkJRGlkIHlvdSBnZW5lcmF0ZSB0aGUg UERGIGVycm9yIHJlcG9ydCBtYW51YWxseT8gIEl0J3MgYSBuaWNlIHN1bW1hcnkgcmVwb3J0Lg0K PiANCj4gCQlJdCB3b3VsZCBiZSBuaWNlIGlmICdmdGMgcHV0LXJ1bicgd29ya2VkIHdlbGwgd2l0 aCBMVFAuICBJZiB0aGF0IHdlcmUgd29ya2luZyB3ZWxsLCB5b3UgY291bGQganVzdCBkbw0KPiAJ CWEgcHV0LXJ1biBmb3IgYW55IHJ1biB0aGF0IHlvdSB3YW50ZWQgdG8gc2hhcmUsIGFuZCBqdXN0 IHByb3ZpZGUgYSBsaW5rIChvciBhIHJlZmVyZW5jZSBidWlsZCBudW1iZXIpLA0KPiAJCWFuZCBJ IGNvdWxkIGdldCB0aGUgZGF0YSBmcm9tIGZ1ZWdvdGVzdC5vcmcgPGh0dHA6Ly9mdWVnb3Rlc3Qu b3JnPiAuDQo+IA0KPiAJCUhvd2V2ZXIsIHJpZ2h0IG5vdyAnZnRjIHB1dC1ydW4nIG1pc3NlcyBz ZXZlcmFsIGtleSBwaWVjZXMgb2YgZGF0YSBmcm9tIExUUCB0aGF0IHdvdWxkIGJlIHVzZWZ1bCBm b3IgYW5hbHlzaXMuDQo+IAkJSXQgd291bGQgYmUgdmVyeSBuaWNlIHRvIGluY2x1ZGUgdGhlIGtl cm5lbCBjb25maWcgZmlsZSAoYnkgcHV0dGluZyBpbiB0aGUgbG9nIGRpcmVjdG9yeSBmb3IgYSBy dW4pLg0KPiAJCVRoYXQgbWlnaHQgYmUgYSBuaWNlIHRoaW5nIHRvIGFkZCB0byB0aGUgbWFjaGlu ZSBzbmFwc2hvdCBmdW5jdGlvbiBmb3IgdGhpcyB0ZXN0LiAgSSdsbCB0aGluayBhYm91dCB0aGF0 Lg0KPiAJCUFsc28gSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIHRvIGluY2x1ZGUgdGhlICdyZXN1 bHRzJyBkaXJlY3RvcnkgaW4gdGhlIHJ1biBwYWNrYWdlLiAgSXQncyBlYXNpZXIgdG8gbWFudWFs bHkNCj4gCQlleGFtaW5lIGlzc3VlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0aGUgYnJv a2VuIG91dCByZXN1bHQgZmlsZXMgKGllIHRoZSByZXN1bHQgZmlsZSBwZXIgdGVzdCBwcm9ncmFt LA0KPiAJCWZvdW5kIHVuZGVyIHJlc3VsdHMvc3lzY2FsbHMvb3V0cHV0cykuDQo+IA0KPiAJCUkg d291bGQgbGlrZSB0byBmaXggdGhlICdmdGMgcGFja2FnZS1ydW4nIGNvZGUgdG8gY2FwdHVyZSB0 aGVzZSBvdGhlciBmaWxlcyBpbnRvIHRoZSBydW4gcGFja2FnZSBmb3IgYW4NCj4gCQlMVFAgdGVz dC4gIFRoYXQncyBzb21ldGhpbmcgdG8gZ28gb24gdGhlIHRvLWRvIGxpc3QuDQo+IA0KPiAJCUkg Zm91bmQgdGhhdCBJIGdvdCBkaWZmZXJlbnQgcmVzdWx0cyBmb3Igc29tZSBvZiB0aGUgdGVzdHMg dGhhdCBJIHJhbi4NCj4gDQo+IAkJSSBzdW1tYXJpemVkIHRoZSBkaWZmZXJlbmNlcyBpbiBhIHRh YmxlIG9uIHRoaXMgcGFnZToNCj4gCQlodHRwOi8vZnVlZ290ZXN0Lm9yZy93aWtpL0xUUC1yZXN1 bHRzLWFuYWx5c2lzDQo+IA0KPiAJCUl0IHdvdWxkIGJlIG5pY2UgdG8gZmlndXJlIG91dCB3aHkg SSBnb3QgZGlmZmVyZW50IHJlc3VsdHMgaW4gc29tZSBjYXNlcy4NCj4gCQlTbyBmYXIsIEkgb25s eSBhbmFseXplZCBmYWlsdXJlcywgbm90IFRDT05GLCBUQlJPSywgb3IgVFdBUk4gZGlmZmVyZW5j ZXMuDQo+IA0KPiAJCVR3byB0aGluZ3MgdGhhdCBzdGFuZCBvdXQgaW1tZWRpYXRlbHkgYXJlOg0K PiAJCSAxKSB3aHkgZGlkIHlvdSBoYXZlIHByb2JsZW1zIHdpdGggY2hvd24gYW5kIHNldHJlKiB0 ZXN0LCB3aGVuIEkgZGlkIG5vdA0KPiAJCSAyKSB3aHkgZGlkIHNvbWUgb2YgeW91ciB0ZXN0cyBu b3QgaGF2ZSBsaWJhaW8uc28uMSBpc3N1ZXMsIHdoZW4gb3RoZXJzIGRpZCAoYW5kIG1vcmUgb2Yg bXkgdGVzdHMgZGlkKT8NCj4gDQo+IAkJSWYgd2UgY291bGQgZml4IHRoZXNlIHR3byBjYXRlZ29y aWVzIG9mIGVycm9ycywgSSB0aGluayB3ZSB3b3VsZCBiZSB2ZXJ5IGNsb3NlIHRvIGhhdmluZw0K PiAJCXRoZSBzYW1lIHJlc3VsdHMuICBXZSBjb3VsZCB0aGVuIGRpZyBpbnRvIHdoZXRoZXIgdGhl c2Ugd2VyZSByZWFsIGJ1Z3MgaW4gdGhlIGtlcm5lbCBvcg0KPiAJCXdlcmUgbWF5YmUgcHJvYmxl bXMgd2l0aCB0aGUgTFRQIHRlc3QsIG9yIHBvc3NpYmx5IGV2ZW4gcHJvYmxlbXMgd2l0aCB0aGUg UlBJIGhhcmR3YXJlLg0KPiAJCUluIGFueSBjYXNlLCB3ZSB3b3VsZCB3YW50IHRvIHJlcG9ydCBy ZXN1bHRzIHRvIHRoZSBhcHByb3ByaWF0ZSB1cHN0cmVhbSBwcm9qZWN0Lg0KPiANCj4gCQlJIHRo aW5rIHNvbWUgZ29vZCBnb2FscyBmb3IgdGhpcyBMVFAgd291bGQgYmU6DQo+IAkJIC0gYmUgYWJs ZSB0byByZXBsaWNhdGUgZWFjaCBvdGhlcidzIHJlc3VsdHMsIG9yIGZpbmQgZXhwbGFuYXRpb25z IGZvciBhbnkgZGlmZmVyZW5jZXMNCj4gCQkgLSBmaXggc29tZSBvZiB0aGUgb2J2aW91cyBpc3N1 ZXMgd2l0aCBGdWVnbydzIGhhbmRsaW5nIG9mIExUUCBleGVjdXRpb24gYW5kIHJlc3VsdHMNCj4g DQo+IAkJTGV0IG1lIGtub3cgd2hhdCB5b3UgdGhpbmsuDQo+IA0KPiAJCUluIHRoZSBtZWFuIHRp bWUsIGNhbiB5b3UgcGVyZm9ybSBhbm90aGVyIHRlc3QsIGFuZCBzZWUgaWYgdGhlcmUgYXJlIGFu eSBkaWZmZXJlbmNlcyBpbg0KPiAJCXJlc3VsdHMgYmV0d2VlbiB0aGUgb3JpZ2luYWwgcnVuIG9u IEp1bmUgOXRoLCBhbmQgdGhlIHN1YnNlcXVlbnQgcnVuLiAgU29tZXRpbWVzDQo+IAkJdGVzdHMg YXJlIGZsYWtleSwgYW5kIGdpdmUgZGlmZmVyZW50IHJlc3VsdHMgZGVwZW5kaW5nIG9uIHVub2J2 aW91cyBmYWN0b3JzLg0KPiANCj4gCQlUaGFua3MuICBUaGlzIGlzIHZlcnkgaGVscGZ1bC4NCj4g CQkgLS0gVGltDQo+IA0KPiANCj4gCQk+IE9uIFRodSwgSnVuIDMsIDIwMjEgYXQgNTozMSBQTSBC YWxhamkgS2FsaWRhcyA8YmFsYWppLmtAcGF0aHBhcnRuZXJ0ZWNoLmNvbSA8bWFpbHRvOmJhbGFq aS5rQHBhdGhwYXJ0bmVydGVjaC5jb20+DQo+IDxtYWlsdG86YmFsYWppLmtAcGF0aHBhcnRuZXJ0 ZWNoLmNvbSA8bWFpbHRvOmJhbGFqaS5rQHBhdGhwYXJ0bmVydGVjaC5jb20+ID4gPiB3cm90ZToN Cj4gCQk+DQo+IAkJPg0KPiAJCT4gICAgICAgSGkgVGltLA0KPiAJCT4NCj4gCQk+ICAgICAgICAg ICAgIFdlIHJhbiB0aGUgbGF0ZXN0IGx0cCB2ZXJzaW9uKDIwMjEwNTI0KSBGdW5jdGlvbmFsIExU UCBhbmQgUE9TSVggdGVzdHMgb24gYSByYXNwYmVycnkgcGkgYm9hcmQgYW5kIHdlIGhhdmUNCj4g cHJlcGFyZWQgdGhlIHRlc3QNCj4gCQk+IGVycm9yIHJlcG9ydHMgZm9yIGJvdGggdGVzdHMgYmFz ZWQgb24gdGhlIG91dHB1dCB3ZSBnb3QgLg0KPiAJCT4NCj4gCQk+DQo+IAkJPiAgICAgICBJIGhh dmUgYXR0YWNoZWQgYm90aChMVFAgYW5kIFBPU0lYKSB0ZXN0IGVycm9yIHJlcG9ydHMgYW5kIGFs c28gYXR0YWNoZWQgcmVzdWx0IG91dHB1dCAgZG9jdW1lbnRzIGdlbmVyYXRlZCBkdXJpbmcNCj4g dGVzdCBleGVjdXRpb24uDQo+IAkJPg0KPiAJCT4gICAgICAgTGV0IG1lIGtub3cgeW91ciB0aG91 Z2h0cyBvbiB0aGUgc2FtZS4NCj4gCQk+DQo+IAkJPg0KPiAJCT4gICAgICAgVGhhbmtzIGFuZCBy ZWdhcmRzDQo+IAkJPiAgICAgICBCQUxBSkkuSw0KPiAJCT4NCj4gCQk+DQo+IAkJPiAgICAgICBP biBUaHUsIEp1biAzLCAyMDIxIGF0IDU6MjIgQU0gPFRpbS5CaXJkQHNvbnkuY29tIDxtYWlsdG86 VGltLkJpcmRAc29ueS5jb20+ICA8bWFpbHRvOlRpbS5CaXJkQHNvbnkuY29tDQo+IDxtYWlsdG86 VGltLkJpcmRAc29ueS5jb20+ID4gPiB3cm90ZToNCj4gCQk+DQo+IAkJPg0KPiAJCT4gICAgICAg ICAgICAgICBPSyAtIEkgZGlkIHNvbWUgbW9yZSBhbmFseXNpcyBhbmQgdGVzdGluZyB0b2RheS4g IEkgZm91bmQgYSBmZXcgZGlmZmVyZW50DQo+IAkJPiAgICAgICAgICAgICAgIGJ1Z3MgaW4gdGhl IEZ1bmN0aW9uYWwuTFRQIHRlc3QuICBJdCB3b3JrcyBPSyBvbiBzb21lIG90aGVyIGJvYXJkcyBp bg0KPiAJCT4gICAgICAgICAgICAgICBteSBsYWIsIGJ1dCBvbiBteSByYXNwYmVycnkgcGkgaXQg aGFkIHByb2JsZW1zLiAgU3BlY2lmaWNhbGx5IG1zZ3N0cmVzczA0DQo+IAkJPiAgICAgICAgICAg ICAgIGlzIHRha2luZyBxdWl0ZSBhIGxvbmcgdGltZSAoYnV0IGl0IGRvZXMgZXZlbnR1YWxseSBj b21wbGV0ZSkuDQo+IAkJPiAgICAgICAgICAgICAgIEJ1dCB0aGUgb3ZlcmFsbCB0ZXN0IGhhbmdz IGJlZm9yZSBjb21wbGV0aW5nLg0KPiAJCT4NCj4gCQk+ICAgICAgICAgICAgICAgSSB1cGRhdGVk IEZ1bmN0aW9uYWwuTFRQIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiAoMjAyMTA1MjQpLiAgVGhpcyBo YXMNCj4gCQk+ICAgICAgICAgICAgICAgYmVlbiB1cGRhdGVkIGluIHRoZSBmdWVnby1jb3JlIG1h c3RlciBnaXQgcmVwb3NpdG9yeS4gWW91IHNob3VsZA0KPiAJCT4gICAgICAgICAgICAgICBiZSBh YmxlIHRvIGRvIGEgZ2l0IHB1bGwgb2YgdGhlIG5ldyB0ZXN0LiBDYW4geW91IHBsZWFzZQ0KPiAJ CT4gICAgICAgICAgICAgICB0cnkgdGhpcyB0ZXN0IGFnYWluLCBhbmQgbGV0IG1lIGtub3cgd2hh dCByZXN1bHRzIHlvdSBnZXQ/DQo+IAkJPg0KPiAJCT4gICAgICAgICAgICAgICBUaGFua3MsDQo+ IAkJPiAgICAgICAgICAgICAgICAtLSBUaW0NCj4gCQk+DQo+IAkJPg0KPiAJCT4gICAgICAgICAg ICAgICA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IAkJPiAgICAgICAgICAgICAgID4g RnJvbTogUGF2YW4gQXJ1biBEZXNocGFuZGUgPHBhdmFuLmFkQHBhdGhwYXJ0bmVydGVjaC5jb20g PG1haWx0bzpwYXZhbi5hZEBwYXRocGFydG5lcnRlY2guY29tPg0KPiA8bWFpbHRvOnBhdmFuLmFk QHBhdGhwYXJ0bmVydGVjaC5jb20gPG1haWx0bzpwYXZhbi5hZEBwYXRocGFydG5lcnRlY2guY29t PiA+ID4NCj4gCQk+ICAgICAgICAgICAgICAgPg0KPiAJCT4gICAgICAgICAgICAgICA+IEhpIFRp bSwNCj4gCQk+ICAgICAgICAgICAgICAgPg0KPiAJCT4gICAgICAgICAgICAgICA+IGZ1ZWdvIGhh cyBMVFAgdGVzdCB2ZXJzaW9uIC0gMjAxODAxMTguDQo+IAkJPiAgICAgICAgICAgICAgID4gYnV0 IHRoZSBsYXRlc3QgTFRQIHJlcG8gaGFzIHZlcnNpb24gLSAyMDIxMDUyNC4NCj4gCQk+ICAgICAg ICAgICAgICAgPg0KPiAJCT4gICAgICAgICAgICAgICA+DQo+IAkJPiAgICAgICAgICAgICAgID4N Cj4gCQk+ICAgICAgICAgICAgICAgPiBXZSByYW4gdGhlIExUUCBhbmQgUE9TSVggdGVzdHMgb24g YSByYXNwYmVycnkgcGkgYm9hcmQgYW5kIHdlIGhhdmUgcHJlcGFyZWQgdGhlIHRlc3QgZXJyb3Ig cmVwb3J0cyBmb3IgYm90aA0KPiB0ZXN0cyBiYXNlZA0KPiAJCT4gb24gdGhlIG91dHB1dCB3ZQ0K PiAJCT4gICAgICAgICAgICAgICA+IGdvdCAuIEJvdGggdGhlIHRlc3RzIGhhdmUgdGhlIGNvbW1v biBlcnJvcnModGVzdCBmYWlsdXJlcykuDQo+IAkJPiAgICAgICAgICAgICAgID4NCj4gCQk+ICAg ICAgICAgICAgICAgPg0KPiAJCT4gICAgICAgICAgICAgICA+IEkgaGF2ZSBhdHRhY2hlZCBib3Ro KExUUCBhbmQgUE9TSVgpIHRlc3QgZXJyb3IgcmVwb3J0cyBhbmQgYWxzbyBhdHRhY2hlZCByZXN1 bHQgb3V0cHV0ICBkb2N1bWVudHMgZ2VuZXJhdGVkDQo+IGR1cmluZyB0ZXN0DQo+IAkJPiBleGVj dXRpb24uDQo+IAkJPiAgICAgICAgICAgICAgID4NCj4gCQk+ICAgICAgICAgICAgICAgPiBMZXQg bWUga25vdyB5b3VyIHRob3VnaHRzIG9uIHRoZSBzYW1lLg0KPiAJCT4gICAgICAgICAgICAgICA+ DQo+IAkJPiAgICAgICAgICAgICAgID4NCj4gCQk+ICAgICAgICAgICAgICAgPiBUaGFua3MgYW5k IHJlZ2FyZHMNCj4gCQk+ICAgICAgICAgICAgICAgPiBQYXZhbiBBcnVuIERlc2hwYW5kZQ0KPiAJ CT4gICAgICAgICAgICAgICA+DQo+IAkJPiAgICAgICAgICAgICAgID4NCj4gCQk+ICAgICAgICAg ICAgICAgPg0KPiAJCT4gICAgICAgICAgICAgICA+IFRoaXMgbWVzc2FnZSBjb250YWlucyBjb25m aWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBpbmRpdmlk dWFsKHMpIG5hbWVkLiBJZiB5b3UgYXJlIG5vdA0KPiB0aGUNCj4gCQk+IGludGVuZGVkIHJlY2lw aWVudCwgeW91DQo+IAkJPiAgICAgICAgICAgICAgID4gYXJlIG5vdGlmaWVkIHRoYXQgZGlzY2xv c2luZywgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIHRha2luZyBhbnkgYWN0aW9uIGluIHJlbGlh bmNlIG9uIHRoZSBjb250ZW50cyBvZiB0aGlzIG1haWwgYW5kDQo+IGF0dGFjaGVkDQo+IAkJPiBm aWxlL3MgaXMgc3RyaWN0bHkNCj4gCQk+ICAgICAgICAgICAgICAgPiBwcm9oaWJpdGVkLiBQbGVh c2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSB0aGlzIGUtbWFpbCBm cm9tIHlvdXIgc3lzdGVtLiBFLW1haWwgdHJhbnNtaXNzaW9uDQo+IGNhbm5vdCBiZQ0KPiAJCT4g Z3VhcmFudGVlZCB0byBiZQ0KPiAJCT4gICAgICAgICAgICAgICA+IHNlY3VyZWQgb3IgZXJyb3It ZnJlZSBhcyBpbmZvcm1hdGlvbiBjb3VsZCBiZSBpbnRlcmNlcHRlZCwgY29ycnVwdGVkLCBsb3N0 LCBkZXN0cm95ZWQsIGFycml2ZSBsYXRlIG9yIGluY29tcGxldGUsDQo+IG9yDQo+IAkJPiBjb250 YWluIHZpcnVzZXMuIFRoZQ0KPiAJCT4gICAgICAgICAgICAgICA+IHNlbmRlciB0aGVyZWZvcmUg ZG9lcyBub3QgYWNjZXB0IGxpYWJpbGl0eSBmb3IgYW55IGVycm9ycyBvciBvbWlzc2lvbnMgaW4g dGhlIGNvbnRlbnRzIG9mIHRoaXMgbWVzc2FnZSwgd2hpY2gNCj4gYXJpc2UgYXMgYQ0KPiAJCT4g cmVzdWx0IG9mIGUtbWFpbA0KPiAJCT4gICAgICAgICAgICAgICA+IHRyYW5zbWlzc2lvbi4NCj4g CQk+DQo+IAkJPg0KPiAJCT4NCj4gCQk+DQo+IAkJPiBUaGlzIG1lc3NhZ2UgY29udGFpbnMgY29u ZmlkZW50aWFsIGluZm9ybWF0aW9uIGFuZCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgaW5kaXZp ZHVhbChzKSBuYW1lZC4gSWYgeW91IGFyZSBub3QgdGhlDQo+IGludGVuZGVkIHJlY2lwaWVudCwg eW91DQo+IAkJPiBhcmUgbm90aWZpZWQgdGhhdCBkaXNjbG9zaW5nLCBjb3B5aW5nLCBkaXN0cmli dXRpbmcgb3IgdGFraW5nIGFueSBhY3Rpb24gaW4gcmVsaWFuY2Ugb24gdGhlIGNvbnRlbnRzIG9m IHRoaXMgbWFpbCBhbmQgYXR0YWNoZWQNCj4gZmlsZS9zIGlzIHN0cmljdGx5DQo+IAkJPiBwcm9o aWJpdGVkLiBQbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSB0 aGlzIGUtbWFpbCBmcm9tIHlvdXIgc3lzdGVtLiBFLW1haWwgdHJhbnNtaXNzaW9uIGNhbm5vdCBi ZQ0KPiBndWFyYW50ZWVkIHRvIGJlDQo+IAkJPiBzZWN1cmVkIG9yIGVycm9yLWZyZWUgYXMgaW5m b3JtYXRpb24gY291bGQgYmUgaW50ZXJjZXB0ZWQsIGNvcnJ1cHRlZCwgbG9zdCwgZGVzdHJveWVk LCBhcnJpdmUgbGF0ZSBvciBpbmNvbXBsZXRlLCBvcg0KPiBjb250YWluIHZpcnVzZXMuIFRoZQ0K PiAJCT4gc2VuZGVyIHRoZXJlZm9yZSBkb2VzIG5vdCBhY2NlcHQgbGlhYmlsaXR5IGZvciBhbnkg ZXJyb3JzIG9yIG9taXNzaW9ucyBpbiB0aGUgY29udGVudHMgb2YgdGhpcyBtZXNzYWdlLCB3aGlj aCBhcmlzZSBhcyBhDQo+IHJlc3VsdCBvZiBlLW1haWwNCj4gCQk+IHRyYW5zbWlzc2lvbi4NCj4g DQo+IA0KPiANCj4gDQo+IFRoaXMgbWVzc2FnZSBjb250YWlucyBjb25maWRlbnRpYWwgaW5mb3Jt YXRpb24gYW5kIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBpbmRpdmlkdWFsKHMpIG5hbWVkLiBJ ZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UNCj4gYXJlIG5vdGlmaWVk IHRoYXQgZGlzY2xvc2luZywgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIHRha2luZyBhbnkgYWN0 aW9uIGluIHJlbGlhbmNlIG9uIHRoZSBjb250ZW50cyBvZiB0aGlzIG1haWwgYW5kIGF0dGFjaGVk IGZpbGUvcyBpcyBzdHJpY3RseQ0KPiBwcm9oaWJpdGVkLiBQbGVhc2Ugbm90aWZ5IHRoZSBzZW5k ZXIgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSB0aGlzIGUtbWFpbCBmcm9tIHlvdXIgc3lzdGVtLiBF LW1haWwgdHJhbnNtaXNzaW9uIGNhbm5vdCBiZSBndWFyYW50ZWVkIHRvIGJlDQo+IHNlY3VyZWQg b3IgZXJyb3ItZnJlZSBhcyBpbmZvcm1hdGlvbiBjb3VsZCBiZSBpbnRlcmNlcHRlZCwgY29ycnVw dGVkLCBsb3N0LCBkZXN0cm95ZWQsIGFycml2ZSBsYXRlIG9yIGluY29tcGxldGUsIG9yIGNvbnRh aW4gdmlydXNlcy4gVGhlDQo+IHNlbmRlciB0aGVyZWZvcmUgZG9lcyBub3QgYWNjZXB0IGxpYWJp bGl0eSBmb3IgYW55IGVycm9ycyBvciBvbWlzc2lvbnMgaW4gdGhlIGNvbnRlbnRzIG9mIHRoaXMg bWVzc2FnZSwgd2hpY2ggYXJpc2UgYXMgYSByZXN1bHQgb2YgZS1tYWlsDQo+IHRyYW5zbWlzc2lv bi4NCg0K