Re: [PATCH 2/4] test: Don't skip tests if nfit modules are missing

Santosh Sivaraj <[email protected]> Thu, 13 May 2021 10:45:53 +0530
Newsgroups org.01.lists.linux-nvdimm
Message-ID <[email protected]>
U2FudG9zaCBTaXZhcmFqIDxzYW50b3NoQGZvc3NpeC5vcmc+IHdyaXRlczoNCg0KPiAiVmVybWEs
IFZpc2hhbCBMIiA8dmlzaGFsLmwudmVybWFAaW50ZWwuY29tPiB3cml0ZXM6DQo+DQo+IEhpIFZp
c2hhbCwNCj4NCj4+IE9uIFNhdCwgMjAyMS0wNS0wMSBhdCAxMTo1NyArMDUzMCwgU2FudG9zaCBT
aXZhcmFqIHdyb3RlOg0KPj4+ICJWZXJtYSwgVmlzaGFsIEwiIDx2aXNoYWwubC52ZXJtYUBpbnRl
bC5jb20+IHdyaXRlczoNCj4+PiANCj4+PiBIaSBWaXNoYWwsDQo+Pj4gDQo+Pj4gPiBPbiBTdW4s
IDIwMjEtMDMtMjggYXQgMDc6MzkgKzA1MzAsIFNhbnRvc2ggU2l2YXJhaiB3cm90ZToNCj4+PiA+
ID4gRm9yIE5GSVQgdG8gYmUgYXZhaWxhYmxlIEFDUEkgaXMgYSBtdXN0LCBzbyBkb24ndCBmYWls
IHdoZW4gbmZpdCBtb2R1bGVzDQo+Pj4gPiA+IGFyZSBtaXNzaW5nIG9uIGEgcGxhdGZvcm0gdGhh
dCBkb2Vzbid0IHN1cHBvcnQgQUNQSS4NCj4+PiA+ID4gDQo+Pj4gPiA+IFNpZ25lZC1vZmYtYnk6
IFNhbnRvc2ggU2l2YXJhaiA8c2FudG9zaEBmb3NzaXgub3JnPg0KPj4+ID4gPiAtLS0NCj4+PiA+
ID4gwqB0ZXN0LmggICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+Pj4gPiA+IMKgdGVz
dC9hY2stc2h1dGRvd24tY291bnQtc2V0LmMgfCAgMiArLQ0KPj4+ID4gPiDCoHRlc3QvYmxrX25h
bWVzcGFjZXMuYyAgICAgICAgIHwgIDIgKy0NCj4+PiA+ID4gwqB0ZXN0L2NvcmUuYyAgICAgICAg
ICAgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPj4+ID4gPiDC
oHRlc3QvZHBhLWFsbG9jLmMgICAgICAgICAgICAgIHwgIDIgKy0NCj4+PiA+ID4gwqB0ZXN0L2Rz
bS1mYWlsLmMgICAgICAgICAgICAgICB8ICAyICstDQo+Pj4gPiA+IMKgdGVzdC9saWJuZGN0bC5j
ICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4+ID4gPiDCoHRlc3QvbXVsdGktcG1lbS5jICAgICAg
ICAgICAgIHwgIDIgKy0NCj4+PiA+ID4gwqB0ZXN0L3BhcmVudC11dWlkLmMgICAgICAgICAgICB8
ICAyICstDQo+Pj4gPiA+IMKgdGVzdC9wbWVtX25hbWVzcGFjZXMuYyAgICAgICAgfCAgMiArLQ0K
Pj4+ID4gPiDCoDEwIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u
cygtKQ0KPj4+ID4gPiANCj4+PiA+IA0KPj4+ID4gSSBoYXZlbid0IGxvb2tlZCBkZWVwZXIsIGJ1
dCB0aGlzIHNlZW1zIHRvIGZhaWwgdGhlIGJsay1ucyB0ZXN0IHdpdGg6DQo+Pj4gPiANCj4+PiA+
ICAgQUNQSS5ORklUIHVuYXZhaWxhYmxlIGZhbGxpbmcgYmFjayB0byBuZml0X3Rlc3QNCj4+PiA+
ICAgdGVzdC9pbml0OiBuZGN0bF90ZXN0X2luaXQ6IENhbm5vdCBkZXRlcm1pbmUgTlZESU1NIGZh
bWlseQ0KPj4+ID4gICBfX25kY3RsX3Rlc3Rfc2tpcDogZXhwbGljaXQgc2tpcCB0ZXN0X2Jsa19u
YW1lc3BhY2VzOjIzNQ0KPj4+ID4gICBuZml0X3Rlc3QgdW5hdmFpbGFibGUgc2tpcHBpbmcgdGVz
dHMNCj4+PiANCj4+PiBUaGUgZmlyc3QgbWVzc2FnZSB3aWxsIGJlIGVtaXR0ZWQgZXZlbiB3aXRo
b3V0IHRoZSBjaGFuZ2VzIGlmIHRoZSBidXMgaXMgbm90DQo+Pj4gZm91bmQuIFRoZSBzZWNvbmQg
ZXJyb3Igd2lsbCBiZSBlbWl0dGVkIHdoZW4gY2hlY2sgIi9zeXMvYnVzL2FjcGkiIGlzIG5vdA0K
Pj4+IGZvdW5kLiBXZSBmYWlsIGZvciBhbGwgb3RoZXIgYnVzZXMgYnkgZGVmYXVsdCBleGNlcHQg
Zm9yIE5GSVQgYXMgYmVmb3JlIGFuZCBQQVBSDQo+Pj4gdGVzdHMgYXJlIGVuYWJsZWQgb25seSB3
aGVuIE5WRElNTV9URVNUX0ZBTUlMWSBpcyBzZXQgdG8gIlBBUFIiLg0KPj4NCj4+IFNlZSBiZWxv
dyBvbiB0aGlzLg0KPj4NCj4+PiANCj4+PiBBbGwgdGVzdHMgcGFzcyBpbiBteSBzZXR1cCAoeDg2
XzY0IHFlbXUgZ3Vlc3QpIHdpdGggdGhlIHJlY2VudCB1cHN0cmVhbSBrZXJuZWwsDQo+Pj4gZXhj
ZXB0IGZvciB0aGUgdGhlIGJlbG93IHdhcm5pbmcgZnJvbSBkcml2ZXJzL2FjcGkvbmZpdC9jb3Jl
LmM6DQo+Pg0KPj4gSG0gSSd2ZSBub3Qgc2VlbiB0aGlzIHdpdGggNS4xMSBvciA1LjEyLiBXaGF0
J3MgdGhlIHFlbXUgY29tbWFuZCBsaW5lDQo+PiBhbmQgaXMgaXQganVzdCB0cmlnZ2VyZWQgZnJv
bSBhIHVuaXQgdGVzdCB0dW4/DQo+DQo+IFRoaXMgd2FzIG9uIGEgNS4xMiBrZXJuZWwsIHdoaWNo
IEkgaGF2ZSBtZW50aW9uZWQgZWFybGllciwgYnV0IEkgYW0gbm90IGFibGUgdG8NCj4gcmVwcm9k
dWNlIG5vdywgSSBoYWQgcmViYXNlZCB0aGUga2VybmVsIG5vdy4gQnV0IGFueXdheSBpdCBkb2Vz
bid0IHNlZW0gdG8gYmUNCj4gcmVwcm9kdWNpYmxlIG5vdy4gV2lsbCBjb21lIGJhY2sgaWYgSSBz
ZWUgc29tZXRoaW5nIGFnYWluLg0KDQpJIGNvdWxkIHJlcHJvZHVjZSB0aGlzIHdpdGgNCg0KbWFr
ZSBjaGVjayBURVNUUz1jcmVhdGUuc2gNCg0KYW5kIGl0IHJlcHJvZHVjZXMgd2l0aCBhbGwgdGhl
IHRlc3RzIHdoZW4gdGhlIG1vZHVsZSBpcyBiZWluZyByZW1vdmVkLg0KDQprZXJuZWw6IDUuMTMt
cmMxICg2ZWZiOTQzYjg2MTZlYzUzYTVlNDQ0MTkzZGNjZjFhZjlhZDYyN2I1KQ0KbmRjdGw6IGVh
MDE0YzBjOWVjOGQwZWY5NDVkMDcyZGNjNTJiMzA2YzdhNjg2ZjkNCg0KcWVtdSAtLXZlcnNpb246
IFFFTVUgZW11bGF0b3IgdmVyc2lvbiA1LjAuMSAodjUuMC4xKQ0KDQokUUVNVV9YODYgLXNtcCA0
IC1lbmFibGUta3ZtIC1oZGEgJERJU0sgLWJvb3QgYyBcDQogICAgICAgICAgLW0gNEcsc2xvdHM9
NCxtYXhtZW09OEcgXA0KICAgICAgICAgIC1NIHBjLGFjY2VsPWt2bSxudmRpbW0gXA0KICAgICAg
ICAgIC1uYW1lIGd1ZXN0PXNhbnRvc2gteDg2LGRlYnVnLXRocmVhZHM9b24gXA0KICAgICAgICAg
IC1uZXRkZXYgdXNlcixpZD1ldGhlcm5ldC4wLGhvc3Rmd2Q9dGNwOjoxMjEyMS06MjIgLWRldmlj
ZSBlMTAwMCxuZXRkZXY9ZXRoZXJuZXQuMCBcDQogICAgICAgICAgLXNlcmlhbCBtb246c3RkaW8g
LWRpc3BsYXkgbm9uZSAtdmdhIG5vbmUgLW5vZ3JhcGhpYyBcDQogICAgICAgICAgLWtlcm5lbCAk
MSAtYXBwZW5kICJjb25zb2xlPXR0eVMwIHJvb3Q9JFJPT1QiIFwNCiAgICAgICAgICAtaGRiICRE
SVNLMg0KDQpUaGFua3MsDQpTYW50b3NoDQoNCj4NCj4+DQo+Pj4gDQo+Pj4gWyAyNDI2LjcyNzU4
NF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQo+Pj4gWyAyNDI2LjcyODQw
NV0gV0FSTklORzogQ1BVOiAyIFBJRDogNDc1MDQgYXQgdG9vbHMvdGVzdGluZy9udmRpbW0vLi4v
Li4vLi4vZHJpdmVycy9hY3BpL25maXQvY29yZS5jOjM4NzkgbmZpdF9leGl0KzB4XQ0KPj4+IFsg
MjQyNi43MzAyNjRdIE1vZHVsZXMgbGlua2VkIGluOiBkYXhfcG1lbShPKSBuZF9wbWVtKE8pIG5m
aXQoTy0pIGttZW0gZGF4X3BtZW1fY29tcGF0KE8pIG5kX2JsayhPKSBkYXhfcG1lbV9jb3JlKE8p
IF0NCj4+PiBbIDI0MjYuNzMzMjA5XSBDUFU6IDIgUElEOiA0NzUwNCBDb21tOiBtb2Rwcm9iZSBU
YWludGVkOiBHICAgICAgICBXICBPICAgICAgNS4xMi4wKyAjMw0KPj4+IFsgMjQyNi43MzQ0NzJd
IEhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBC
SU9TIHJlbC0xLjEzLjAtMC1nZjIxYjVhNGFlYjAyLXByZWJ1aWx0LnFlbXUubzQNCj4+PiBbIDI0
MjYuNzM2MzA1XSBSSVA6IDAwMTA6bmZpdF9leGl0KzB4MmMvMHg3MDMgW25maXRdDQo+Pj4gWyAy
NDI2LjczNzA5OV0gQ29kZTogZmQgZmYgZmYgNDggYzcgYzcgMDAgZjAgMzkgYzAgZTggNTIgYTEg
MzggZGEgNDggOGIgM2QgNmIgNDYgMDAgMDAgZTggZTYgODggZWUgZDkgNDggOGIgMDUgNWYgM2Mg
MA0KPj4+IFsgMjQyNi43NDAwNDZdIFJTUDogMDAxODpmZmZmYThlODAwYjc3ZWQ4IEVGTEFHUzog
MDAwMTAyODcNCj4+PiBbIDI0MjYuNzQwOTkwXSBSQVg6IGZmZmY5NWI3ZTUxOTM1YjAgUkJYOiAw
MDAwMDAwMDAwMDAwODAwIFJDWDogZmZmZmZmZmY5YjRhMzZhOA0KPj4+IFsgMjQyNi43NDIyMzZd
IFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAwODMgUkRJOiBmZmZmOTVi
N2MwM2UxNTU0DQo+Pj4gWyAyNDI2Ljc0MzQwNF0gUkJQOiBmZmZmZmZmZmMwMzlmNzQwIFIwODog
MDAwMDAwMDAwMDAwMDQwMCBSMDk6IGZmZmY5NWI3YzAzZTBlNTANCj4+PiBbIDI0MjYuNzQ0NjE3
XSBSMTA6IGZmZmY5NWI3ZmJkMjk2ZjAgUjExOiAwMDAwMDAwMDAwODk1NDQwIFIxMjogZmZmZmE4
ZTgwMGI3N2Y1OA0KPj4+IFsgMjQyNi43NDU3OTJdIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6
IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDAwDQo+Pj4gWyAyNDI2Ljc0Njk0
Nl0gRlM6ICAwMDAwN2Y0ODI5N2UzNzQwKDAwMDApIEdTOmZmZmY5NWI3ZmJkMDAwMDAoMDAwMCkg
a25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KPj4+IFsgMjQyNi43NDgyNTBdIENTOiAgMDAxMCBEUzog
MDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMNCj4+PiBbIDI0MjYuNzQ5MTk4XSBD
UjI6IDAwMDA1NjA3MmFhZGM5ZjggQ1IzOiAwMDAwMDAwMTE4YjA4MDAwIENSNDogMDAwMDAwMDAw
MDAwMDZlMA0KPj4+IFsgMjQyNi43NTAzNDldIENhbGwgVHJhY2U6DQo+Pj4gWyAyNDI2Ljc1MDc1
NF0gIF9fZG9fc3lzX2RlbGV0ZV9tb2R1bGUrMHgxOWQvMHgyNDANCj4+PiBbIDI0MjYuNzUxNDcy
XSAgPyB0YXNrX3dvcmtfcnVuKzB4NWMvMHg5MA0KPj4+IFsgMjQyNi43NTE5NjRdICA/IGV4aXRf
dG9fdXNlcl9tb2RlX3ByZXBhcmUrMHgyYS8weDEzMA0KPj4+IFsgMjQyNi43NTI2MzddICBkb19z
eXNjYWxsXzY0KzB4NDAvMHg4MA0KPj4+IFsgMjQyNi43NTMxMjFdICBlbnRyeV9TWVNDQUxMXzY0
X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGFlDQo+Pj4gWyAyNDI2Ljc1MzgxMF0gUklQOiAwMDMzOjB4
N2Y0ODI5OTEzNjFiDQo+Pj4gWyAyNDI2Ljc1NDI3NF0gQ29kZTogNzMgMDEgYzMgNDggOGIgMGQg
NWQgMTggMGMgMDAgZjcgZDggNjQgODkgMDEgNDggODMgYzggZmYgYzMgNjYgMmUgMGYgMWYgODQg
MDAgMDAgMDAgMDAgMDAgOTAgZjMgOA0KPj4+IFsgMjQyNi43NTY2NjhdIFJTUDogMDAyYjowMDAw
N2ZmZDQ2Yzg5Yjk4IEVGTEFHUzogMDAwMDAyMDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwYjAN
Cj4+PiBbIDI0MjYuNzU3Njc2XSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwNTYwNzJh
YWQ4ZjkwIFJDWDogMDAwMDdmNDgyOTkxMzYxYg0KPj4+IFsgMjQyNi43NTg2MThdIFJEWDogMDAw
MDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDA4MDAgUkRJOiAwMDAwNTYwNzJhYWQ4ZmY4
DQo+Pj4gWyAyNDI2Ljc1OTU2M10gUkJQOiAwMDAwNTYwNzJhYWQ4ZjkwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDANCj4+PiBbIDI0MjYuNzYwNTEzXSBSMTA6IDAw
MDA3ZjQ4Mjk5ODdhYzAgUjExOiAwMDAwMDAwMDAwMDAwMjA2IFIxMjogMDAwMDU2MDcyYWFkOGZm
OA0KPj4+IFsgMjQyNi43NjE0NjNdIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDA1NjA3
MmFhZGI0ZTggUjE1OiAwMDAwN2ZmZDQ2Yzg5ZDE4DQo+Pj4gWyAyNDI2Ljc2MjQwNV0gLS0tWyBl
bmQgdHJhY2UgMTRhODc0OGNkYThiNDc3NyBdLS0tDQo+Pj4gDQo+Pj4gVGhpcyB3YXMgbm90IHNl
ZW4gd2l0aCB0aGUgNS4xMSBrZXJuZWwuDQo+Pj4gDQo+Pj4gVGhhbmtzLA0KPj4+IFNhbnRvc2gN
Cj4+PiA+IA0KPj4+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdC5oIGIvdGVzdC5oDQo+Pj4gPiA+IGlu
ZGV4IGNiYThkNDEuLjdkZTEzZmUgMTAwNjQ0DQo+Pj4gPiA+IC0tLSBhL3Rlc3QuaA0KPj4+ID4g
PiArKysgYi90ZXN0LmgNCj4+PiA+ID4gQEAgLTIwLDcgKzIwLDcgQEAgdm9pZCBidWlsdGluX3hh
Y3Rpb25fbmFtZXNwYWNlX3Jlc2V0KHZvaWQpOw0KPj4+ID4gPiDCoA0KPj4+ID4gPiANCj4+PiA+
ID4gwqBzdHJ1Y3Qga21vZF9jdHg7DQo+Pj4gPiA+IMKgc3RydWN0IGttb2RfbW9kdWxlOw0KPj4+
ID4gPiAtaW50IG5maXRfdGVzdF9pbml0KHN0cnVjdCBrbW9kX2N0eCAqKmN0eCwgc3RydWN0IGtt
b2RfbW9kdWxlICoqbW9kLA0KPj4+ID4gPiAraW50IG5kY3RsX3Rlc3RfaW5pdChzdHJ1Y3Qga21v
ZF9jdHggKipjdHgsIHN0cnVjdCBrbW9kX21vZHVsZSAqKm1vZCwNCj4+PiA+ID4gwqAJCXN0cnVj
dCBuZGN0bF9jdHggKm5kX2N0eCwgaW50IGxvZ19sZXZlbCwNCj4+PiA+ID4gwqAJCXN0cnVjdCBu
ZGN0bF90ZXN0ICp0ZXN0KTsNCj4+PiA+ID4gwqANCj4+PiA+ID4gDQo+Pj4gPiA+IGRpZmYgLS1n
aXQgYS90ZXN0L2Fjay1zaHV0ZG93bi1jb3VudC1zZXQuYyBiL3Rlc3QvYWNrLXNodXRkb3duLWNv
dW50LXNldC5jDQo+Pj4gPiA+IGluZGV4IGZiMWQ4MmIuLmM1NjFmZjMgMTAwNjQ0DQo+Pj4gPiA+
IC0tLSBhL3Rlc3QvYWNrLXNodXRkb3duLWNvdW50LXNldC5jDQo+Pj4gPiA+ICsrKyBiL3Rlc3Qv
YWNrLXNodXRkb3duLWNvdW50LXNldC5jDQo+Pj4gPiA+IEBAIC05OSw3ICs5OSw3IEBAIHN0YXRp
YyBpbnQgdGVzdF9hY2tfc2h1dGRvd25fY291bnRfc2V0KGludCBsb2dsZXZlbCwgc3RydWN0IG5k
Y3RsX3Rlc3QgKnRlc3QsDQo+Pj4gPiA+IMKgCWludCByZXN1bHQgPSBFWElUX0ZBSUxVUkUsIGVy
cjsNCj4+PiA+ID4gwqANCj4+PiA+ID4gDQo+Pj4gPiA+IMKgCW5kY3RsX3NldF9sb2dfcHJpb3Jp
dHkoY3R4LCBsb2dsZXZlbCk7DQo+Pj4gPiA+IC0JZXJyID0gbmZpdF90ZXN0X2luaXQoJmttb2Rf
Y3R4LCAmbW9kLCBOVUxMLCBsb2dsZXZlbCwgdGVzdCk7DQo+Pj4gPiA+ICsJZXJyID0gbmRjdGxf
dGVzdF9pbml0KCZrbW9kX2N0eCwgJm1vZCwgTlVMTCwgbG9nbGV2ZWwsIHRlc3QpOw0KPj4+ID4g
PiDCoAlpZiAoZXJyIDwgMCkgew0KPj4+ID4gPiDCoAkJcmVzdWx0ID0gNzc7DQo+Pj4gPiA+IMKg
CQluZGN0bF90ZXN0X3NraXAodGVzdCk7DQo+Pj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0L2Jsa19u
YW1lc3BhY2VzLmMgYi90ZXN0L2Jsa19uYW1lc3BhY2VzLmMNCj4+PiA+ID4gaW5kZXggZDdmMDBj
Yi4uZjA3NmU4NSAxMDA2NDQNCj4+PiA+ID4gLS0tIGEvdGVzdC9ibGtfbmFtZXNwYWNlcy5jDQo+
Pj4gPiA+ICsrKyBiL3Rlc3QvYmxrX25hbWVzcGFjZXMuYw0KPj4+ID4gPiBAQCAtMjI4LDcgKzIy
OCw3IEBAIGludCB0ZXN0X2Jsa19uYW1lc3BhY2VzKGludCBsb2dfbGV2ZWwsIHN0cnVjdCBuZGN0
bF90ZXN0ICp0ZXN0LA0KPj4+ID4gPiDCoA0KPj4+ID4gPiANCj4+PiA+ID4gwqAJaWYgKCFidXMp
IHsNCj4+PiA+ID4gwqAJCWZwcmludGYoc3RkZXJyLCAiQUNQSS5ORklUIHVuYXZhaWxhYmxlIGZh
bGxpbmcgYmFjayB0byBuZml0X3Rlc3RcbiIpOw0KPj4+ID4gPiAtCQlyYyA9IG5maXRfdGVzdF9p
bml0KCZrbW9kX2N0eCwgJm1vZCwgTlVMTCwgbG9nX2xldmVsLCB0ZXN0KTsNCj4+PiA+ID4gKwkJ
cmMgPSBuZGN0bF90ZXN0X2luaXQoJmttb2RfY3R4LCAmbW9kLCBOVUxMLCBsb2dfbGV2ZWwsIHRl
c3QpOw0KPj4+ID4gPiDCoAkJbmRjdGxfaW52YWxpZGF0ZShjdHgpOw0KPj4+ID4gPiDCoAkJYnVz
ID0gbmRjdGxfYnVzX2dldF9ieV9wcm92aWRlcihjdHgsICJuZml0X3Rlc3QuMCIpOw0KPj4+ID4g
PiDCoAkJaWYgKHJjIDwgMCB8fCAhYnVzKSB7DQo+Pj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0L2Nv
cmUuYyBiL3Rlc3QvY29yZS5jDQo+Pj4gPiA+IGluZGV4IGNjN2Q4ZDkuLjQ0Y2IyNzcgMTAwNjQ0
DQo+Pj4gPiA+IC0tLSBhL3Rlc3QvY29yZS5jDQo+Pj4gPiA+ICsrKyBiL3Rlc3QvY29yZS5jDQo+
Pj4gPiA+IEBAIC0xMSw2ICsxMSw3IEBADQo+Pj4gPiA+IMKgI2luY2x1ZGUgPHV0aWwvbG9nLmg+
DQo+Pj4gPiA+IMKgI2luY2x1ZGUgPHV0aWwvc3lzZnMuaD4NCj4+PiA+ID4gwqAjaW5jbHVkZSA8
bmRjdGwvbGlibmRjdGwuaD4NCj4+PiA+ID4gKyNpbmNsdWRlIDxuZGN0bC9uZGN0bC5oPg0KPj4+
ID4gPiDCoCNpbmNsdWRlIDxjY2FuL2FycmF5X3NpemUvYXJyYXlfc2l6ZS5oPg0KPj4+ID4gPiDC
oA0KPj4+ID4gPiANCj4+PiA+ID4gwqAjZGVmaW5lIEtWRVJfU1RSTEVOIDIwDQo+Pj4gPiA+IEBA
IC0xMDYsMTEgKzEwNywxMSBAQCBpbnQgbmRjdGxfdGVzdF9nZXRfc2tpcHBlZChzdHJ1Y3QgbmRj
dGxfdGVzdCAqdGVzdCkNCj4+PiA+ID4gwqAJcmV0dXJuIHRlc3QtPnNraXA7DQo+Pj4gPiA+IMKg
fQ0KPj4+ID4gPiDCoA0KPj4+ID4gPiANCj4+PiA+ID4gLWludCBuZml0X3Rlc3RfaW5pdChzdHJ1
Y3Qga21vZF9jdHggKipjdHgsIHN0cnVjdCBrbW9kX21vZHVsZSAqKm1vZCwNCj4+PiA+ID4gK2lu
dCBuZGN0bF90ZXN0X2luaXQoc3RydWN0IGttb2RfY3R4ICoqY3R4LCBzdHJ1Y3Qga21vZF9tb2R1
bGUgKiptb2QsDQo+Pj4gPiA+IMKgCQlzdHJ1Y3QgbmRjdGxfY3R4ICpuZF9jdHgsIGludCBsb2df
bGV2ZWwsDQo+Pj4gPiA+IMKgCQlzdHJ1Y3QgbmRjdGxfdGVzdCAqdGVzdCkNCj4+PiA+ID4gwqB7
DQo+Pj4gPiA+IC0JaW50IHJjOw0KPj4+ID4gPiArCWludCByYywgZmFtaWx5ID0gLTE7DQo+Pj4g
PiA+IMKgCXVuc2lnbmVkIGludCBpOw0KPj4+ID4gPiDCoAljb25zdCBjaGFyICpuYW1lOw0KPj4+
ID4gPiDCoAlzdHJ1Y3QgbmRjdGxfYnVzICpidXM7DQo+Pj4gPiA+IEBAIC0xMjcsMTAgKzEyOCwz
MCBAQCBpbnQgbmZpdF90ZXN0X2luaXQoc3RydWN0IGttb2RfY3R4ICoqY3R4LCBzdHJ1Y3Qga21v
ZF9tb2R1bGUgKiptb2QsDQo+Pj4gPiA+IMKgCQkibmRfZTgyMCIsDQo+Pj4gPiA+IMKgCQkibmRf
cG1lbSIsDQo+Pj4gPiA+IMKgCX07DQo+Pj4gPiA+ICsJY2hhciAqdGVzdF9lbnY7DQo+Pj4gPiA+
IMKgDQo+Pj4gPiA+IA0KPj4+ID4gPiDCoAlsb2dfaW5pdCgmbG9nX2N0eCwgInRlc3QvaW5pdCIs
ICJORENUTF9URVNUIik7DQo+Pj4gPiA+IMKgCWxvZ19jdHgubG9nX3ByaW9yaXR5ID0gbG9nX2xl
dmVsOw0KPj4+ID4gPiDCoA0KPj4+ID4gPiANCj4+PiA+ID4gKwkvKg0KPj4+ID4gPiArCSAqIFRo
ZSBmb2xsb3dpbmcgdHdvIGNoZWNrcyBkZXRlcm1pbmUgdGhlIHBsYXRmb3JtIGZhbWlseS4gRm9y
DQo+Pj4gPiA+ICsJICogSW50ZWwvcGxhdGZvcm1zIHdoaWNoIHN1cHBvcnQgQUNQSSwgY2hlY2sg
c3lzZnM7IGZvciBvdGhlciBwbGF0Zm9ybXMNCj4+PiA+ID4gKwkgKiBkZXRlcm1pbmUgZnJvbSB0
aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTlZESU1NX1RFU1RfRkFNSUxZDQo+Pj4gPiA+ICsJICov
DQo+Pj4gPiA+ICsJaWYgKGFjY2VzcygiL3N5cy9idXMvYWNwaSIsIEZfT0spID09IDApIHsNCj4+
PiA+ID4gKwkJaWYgKGVycm5vID09IEVOT0VOVCkNCj4+PiA+ID4gKwkJCWZhbWlseSA9IE5WRElN
TV9GQU1JTFlfSU5URUw7DQo+Pj4gPiA+ICsJfQ0KPj4NCj4+IERpZCB5b3UgbWVhbiBmb3IgdGhl
IGVycm5vIGNoZWNrIHRvIGJlIGlmIChlcnJubyAhPSBFTk9FTlQpID8NCj4+IFRoaXMgaXMgd2hh
dCB3YXMgY2F1c2luZyB0aGUgdW5pdCB0ZXN0IGZhaWx1cmUgZm9yIG1lLiBUaGlzIHBhdGNoIG9u
DQo+PiB0b3AgZml4ZXMgaXQgZm9yIG1lOg0KPj4NCj4+IGRpZmYgLS1naXQgYS90ZXN0L2NvcmUu
YyBiL3Rlc3QvY29yZS5jDQo+PiBpbmRleCA0NGNiMjc3Li42OThiYjY2IDEwMDY0NA0KPj4gLS0t
IGEvdGVzdC9jb3JlLmMNCj4+ICsrKyBiL3Rlc3QvY29yZS5jDQo+PiBAQCAtMTM5LDcgKzEzOSw3
IEBAIGludCBuZGN0bF90ZXN0X2luaXQoc3RydWN0IGttb2RfY3R4ICoqY3R4LCBzdHJ1Y3QNCj4+
IGttb2RfbW9kdWxlICoqbW9kLA0KPj4gICAgICAgICAgKiBkZXRlcm1pbmUgZnJvbSB0aGUgZW52
aXJvbm1lbnQgdmFyaWFibGUgTlZESU1NX1RFU1RfRkFNSUxZDQo+PiAgICAgICAgICAqLw0KPj4g
ICAgICAgICBpZiAoYWNjZXNzKCIvc3lzL2J1cy9hY3BpIiwgRl9PSykgPT0gMCkgew0KPj4gLSAg
ICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQpDQo+PiArICAgICAgICAgICAgICAgaWYg
KGVycm5vICE9IEVOT0VOVCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseSA9IE5W
RElNTV9GQU1JTFlfSU5URUw7DQo+PiAgICAgICAgIH0NCj4+ICANCj4+IElmIHRoaXMgbG9va3Mg
b2theSBkbyB5b3Ugd2FudCB0byBzZW5kIG91dCBhIHJlc3BpbiB3aXRoIHRoaXMgYW5kIEknbGwN
Cj4+IHBpY2sgaXQgdXAuDQo+DQo+IFRoYXQncyB0aGlzIGxvb2tzIG9rYXkuIEkgd2lsbCBzZW5k
IG91dCBhbiB1cGRhdGVkIHZlcnNpb24gdG9kYXkuDQo+DQo+IFRoYW5rcywNCj4gU2FudG9zaA0K
Pj4NCj4+IFRoYW5rcywNCj4+IC1WaXNoYWwNCj4+PiA+IApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1udmRpbW0gbWFpbGluZyBsaXN0IC0tIGxp
bnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBs
aW51eC1udmRpbW0tbGVhdmVAbGlzdHMuMDEub3JnCg==