SGkgU3RlZmZlbiwNCg0KT24gVHVlLCBEZWMgMTgsIDIwMTIgYXQgMjI6MzQ6MTQsIFN0ZWZmZW4g
VHJ1bXRyYXIgd3JvdGU6DQo+IEFkZCBoZWxwZXIgdG8gZ2V0IGZiX3ZpZGVvbW9kZSBmcm9tIGRl
dmljZXRyZWUuDQoNCj4gIGRyaXZlcnMvdmlkZW8vZmJtb24uYyB8ICAgNDIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICBpbmNsdWRlL2xpbnV4L2ZiLmggICAg
fCAgICA0ICsrKysNCg0KVGhpcyBicmVha3MgRGFWaW5jaSAoZGE4eHhfb21hcGxfZGVmY29uZmln
KSwgZm9sbG93aW5nIGNoYW5nZSB3YXMNCnJlcXVpcmVkIHRvIGdldCBpdCBidWlsZCBpZiBPRl9W
SURFT01PREUgb3IvYW5kIEZCX01PREVfSEVMUEVSUw0KaXMgbm90IGRlZmluZWQuIFRoZXJlIG1h
eSBiZSBiZXR0ZXIgc29sdXRpb25zLCBmb2xsb3dpbmcgd2FzIHRoZQ0Kb25lIHRoYXQgd2FzIHVz
ZWQgYnkgbWUgdG8gdGVzdCB0aGlzIHNlcmllcy4NCg0KLS0tODwtLS0tLS0tLS0tDQoNCmRpZmYg
LS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgNCmluZGV4IDU4
Yjk4NjAuLjBjZTMwZDEgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L2ZiLmgNCisrKyBiL2lu
Y2x1ZGUvbGludXgvZmIuaA0KQEAgLTcxNiw5ICs3MTYsMTkgQEAgZXh0ZXJuIHZvaWQgZmJfZGVz
dHJveV9tb2RlZGIoc3RydWN0IGZiX3ZpZGVvbW9kZSAqbW9kZWRiKTsNCiBleHRlcm4gaW50IGZi
X2ZpbmRfbW9kZV9jdnQoc3RydWN0IGZiX3ZpZGVvbW9kZSAqbW9kZSwgaW50IG1hcmdpbnMsIGlu
dCByYik7DQogZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmZiX2RkY19yZWFkKHN0cnVjdCBpMmNfYWRh
cHRlciAqYWRhcHRlcik7DQoNCisjaWYgZGVmaW5lZChDT05GSUdfT0ZfVklERU9NT0RFKSAmJiBk
ZWZpbmVkKENPTkZJR19GQl9NT0RFX0hFTFBFUlMpDQogZXh0ZXJuIGludCBvZl9nZXRfZmJfdmlk
ZW9tb2RlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IGZiX3ZpZGVvbW9kZSAqZmIsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGluZGV4KTsNCisjZWxzZQ0KK3N0YXRpYyBpbmxpbmUgaW50IG9mX2dldF9mYl92
aWRlb21vZGUoc3RydWN0IGRldmljZV9ub2RlICpucCwNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IGZiX3ZpZGVvbW9kZSAqZmIsDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBpbmRleCkNCit7DQorICAgICAgIHJldHVybiAtRUlO
VkFMOw0KK30NCisjZW5kaWYNCisNCiBleHRlcm4gaW50IGZiX3ZpZGVvbW9kZV9mcm9tX3ZpZGVv
bW9kZShjb25zdCBzdHJ1Y3QgdmlkZW9tb2RlICp2bSwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBmYl92aWRlb21vZGUgKmZibW9kZSk7DQoNCi0tLTg8LS0t
LS0tLS0tLQ0KDQoNCj4gKyNpZiBJU19FTkFCTEVEKENPTkZJR19PRl9WSURFT01PREUpDQoNCkFz
IF9PRl9WSURFT01PREUgaXMgYSBib29sIHR5cGUgQ09ORklHLCBpc24ndCwNCg0KI2lmZGVmIENP
TkZJR19PRl9WSURFT01PREUNCg0Kc3VmZmljaWVudCA/DQoNClJlZ2FyZHMNCkFmemFsDQo