From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 05/14] libxl: Load guest BIOS from file Date: Mon, 14 Mar 2016 17:55:40 +0000 Message-ID: <1457978150-27201-6-git-send-email-anthony.perard@citrix.com> References: <1457978150-27201-1-git-send-email-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457978150-27201-1-git-send-email-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Anthony PERARD , Wei Liu , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhlIHBhdGggdG8gdGhlIEJJT1MgYmxvYiBjYW4gYmUgb3ZlcnJpZGUgYnkgdGhlIHhsJ3MgYmlv c19vdmVycmlkZSBvcHRpb24sCm9yIHByb3ZpZGVkIGJ5IHUuaHZtLmJpb3NfZmlybXdhcmUgaW4g dGhlIGRvbWFpbl9idWlsZF9pbmZvIHN0cnVjdCBieSBvdGhlcgpsaWJ4bCB1c2VyLgoKU2lnbmVk LW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+CgotLS0K Q2hhbmdlIGluIFY0OgotIHVwZGF0aW5nIG1hbiBwYWdlIHRvIGhhdmUgYmlvc19vdmVycmlkZSBk ZXNjcmliZWQuCi0gcmV0dXJuIEVSUk9SX0lOVkFMIGluIGxpYnhsX19sb2FkX2h2bV9maXJtd2Fy ZV9tb2R1bGUgd2hlbiB0aGUgZmlsZSBpcwogIGVtcHR5LgoKQ2hhbmdlIGluIFYzOgotIG1vdmUg c2VhYmlvc19wYXRoIGFuZCBvdm1mX3BhdGggdG8gbGlieGxfcGF0aC5jICh3aXRoIHJlbmFtaW5n KQotIGZpeCBzb21lIGNvZGluZyBzdHlsZQotIHdhcm4gZm9yIGVtcHR5IGZpbGUKLSByZW1vdmUg cm9tYmlvcyBzdHVmZiAod2lsbCBzdGlsbCBiZSBidWlsdC1pbiBodm1sb2FkZXIpCi0gcmVuYW1l IGZpZWxkIGJpb3NfZmlsZW5hbWUgaW4gZG9tYWluX2J1aWxkX2luZm8gdG8gYmlvc19maXJtd2Fy ZSB0bwogIGZvbGxvdyBuYW1pbmcgb2YgYWNwaSBhbmQgc21iaW9zLgotIGxvZyBhbiBlcnJvciBh ZnRlciBsaWJ4bF9yZWFkX2ZpbGVfY29udGVudHMoKSBvbmx5IHdoZW4gaXQgcmV0dXJuIEVOT0VO VAotIHJldHVybiBhbiBlcnJvciBvbiBlbXB0eSBmaWxlLgotIGFkZGVkICNkZWZpbmUgTElCWExf SEFWRV9CVUlMRElORk9fSFZNX0JJT1NfRklSTVdBUkUKLS0tCiBkb2NzL21hbi94bC5jZmcucG9k LjUgICAgICAgIHwgIDkgKysrKysrKwogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICB8ICA4 ICsrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgfCA1NyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCB8ICAyICsrCiB0b29scy9saWJ4bC9saWJ4bF9wYXRocy5jICAgIHwgMTAgKysrKysrKysK IHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCAgfCAgMSArCiB0b29scy9saWJ4bC94bF9jbWRp bXBsLmMgICAgIHwgMTEgKysrKysrLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41IGIv ZG9jcy9tYW4veGwuY2ZnLnBvZC41CmluZGV4IDU2YjExMTcuLjE2NTkxNWIgMTAwNjQ0Ci0tLSBh L2RvY3MvbWFuL3hsLmNmZy5wb2QuNQorKysgYi9kb2NzL21hbi94bC5jZmcucG9kLjUKQEAgLTEx MjEsNiArMTEyMSwxNSBAQCBSZXF1aXJlcyBkZXZpY2VfbW9kZWxfdmVyc2lvbj1xZW11LXhlbi4K IAogPWJhY2sKIAorPWl0ZW0gQjxiaW9zX292ZXJyaWRlPSJQQVRIIj4KKworT3ZlcnJpZGUgdGhl IHBhdGggdG8gdGhlIGJsb2IgdG8gYmUgdXNlZCBhcyBCSU9TLiBUaGUgYmxvYiBwcm92aWRlZCBo ZXJlIE1VU1QKK2JlIGNvbnNpc3RlbnQgd2l0aCB0aGUgYGJpb3NgIHdoaWNoIHlvdSBoYXZlIHNw ZWNpZmllZC4gWW91IHNob3VsZCBub3Qgbm9ybWFsbHkKK25lZWQgdG8gc3BlY2lmeSB0aGlzIG9w dGlvbi4KKworVGhpcyBvcHRpb25zIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCBpZiB1c2luZyBi aW9zPSJyb21iaW9zIiBvcgorZGV2aWNlX21vZGVsX3ZlcnNpb249InFlbXUteGVuLXRyYWRpdGlv bmFsIi4KKwogPWl0ZW0gQjxwYWU9Qk9PTEVBTj4KIAogSGlkZSBvciBleHBvc2UgdGhlIElBMzIg UGh5c2ljYWwgQWRkcmVzcyBFeHRlbnNpb25zLiBUaGVzZSBleHRlbnNpb25zCmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwuaAppbmRleCBmOWUzZWY1 Li5kMDZjNmM1IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsLmgKQEAgLTg4NCw2ICs4ODQsMTQgQEAgdm9pZCBsaWJ4bF9tYWNfY29weShsaWJ4 bF9jdHggKmN0eCwgbGlieGxfbWFjICpkc3QsIGxpYnhsX21hYyAqc3JjKTsKICNkZWZpbmUgTElC WExfSEFWRV9DSEVDS1BPSU5URURfU1RSRUFNIDEKIAogLyoKKyAqIExJQlhMX0hBVkVfQlVJTERJ TkZPX0hWTV9CSU9TX0ZJUk1XQVJFCisgKgorICogbGlieGxfZG9tYWluX2J1aWxkX2luZm8gaGFz IHUuaHZtLmJpb3NfZmlybXdhcmUgZmllbGQgd2hpY2ggY2FuIGJlIHVzZQorICogdG8gcHJvdmlk ZSBhIGRpZmZlcmVudCBiaW9zIGJsb2IgKGxpa2UgU2VhQklPUyBvciBPVk1GKS4KKyAqLworI2Rl ZmluZSBMSUJYTF9IQVZFX0JVSUxESU5GT19IVk1fQklPU19GSVJNV0FSRQorCisvKgogICogRVJS T1JfUkVNVVNfWFhYIGVycm9yIGNvZGUgb25seSBleGlzdHMgZnJvbSBYZW4gNC41LCBYZW4gNC42 IGFuZCBpdAogICogaXMgY2hhbmdlZCB0byBFUlJPUl9DSEVDS1BPSU5UX1hYWCBpbiBYZW4gNC43 CiAgKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwv bGlieGxfZG9tLmMKaW5kZXggYjgyNWI5OC4uYzExMmNjNSAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTg2Miw2ICs4 NjIsMzggQEAgZXJyOgogICAgIHJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX2xv YWRfaHZtX2Zpcm13YXJlX21vZHVsZShsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndoYXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2h2bV9maXJt d2FyZV9tb2R1bGUgKm0pCit7CisgICAgaW50IGRhdGFsZW4gPSAwOworICAgIHZvaWQgKmRhdGEg PSBOVUxMOworICAgIGludCBlOworCisgICAgTE9HKERFQlVHLCAiTG9hZGluZyAlczogJXMiLCB3 aGF0LCBmaWxlbmFtZSk7CisgICAgZSA9IGxpYnhsX3JlYWRfZmlsZV9jb250ZW50cyhDVFgsIGZp bGVuYW1lLCAmZGF0YSwgJmRhdGFsZW4pOworICAgIGlmIChlKSB7CisgICAgICAgIC8qCisgICAg ICAgICAqIFByaW50IGEgbWVzc2FnZSBvbmx5IG9uIEVOT0VOVCwgb3RoZXIgZXJyb3IgYXJlIGxv Z2dlZCBieSB0aGUKKyAgICAgICAgICogZnVuY3Rpb24gbGlieGxfcmVhZF9maWxlX2NvbnRlbnRz KCkuCisgICAgICAgICAqLworICAgICAgICBpZiAoZSA9PSBFTk9FTlQpCisgICAgICAgICAgICBM T0dFVihFUlJPUiwgZSwgImZhaWxlZCB0byByZWFkICVzIGZpbGUiLCB3aGF0KTsKKyAgICAgICAg cmV0dXJuIEVSUk9SX0ZBSUw7CisgICAgfQorICAgIGxpYnhsX19wdHJfYWRkKGdjLCBkYXRhKTsK KyAgICBpZiAoZGF0YWxlbikgeworICAgICAgICAvKiBPbmx5IGFjY2VwdCBub24tZW1wdHkgZmls ZXMgKi8KKyAgICAgICAgbS0+ZGF0YSA9IGRhdGE7CisgICAgICAgIG0tPmxlbmd0aCA9IGRhdGFs ZW47CisgICAgfSBlbHNlIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiZmlsZSAlcyBmb3IgJXMgaXMg ZW1wdHkiLCBmaWxlbmFtZSwgd2hhdCk7CisgICAgICAgIHJldHVybiBFUlJPUl9JTlZBTDsKKyAg ICB9CisgICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgbGlieGxfX2RvbWFpbl9maXJtd2Fy ZShsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKQEAgLTg3MSw2ICs5MDMsNyBAQCBzdGF0aWMg aW50IGxpYnhsX19kb21haW5fZmlybXdhcmUobGlieGxfX2djICpnYywKICAgICBpbnQgZSwgcmM7 CiAgICAgaW50IGRhdGFsZW4gPSAwOwogICAgIHZvaWQgKmRhdGE7CisgICAgY29uc3QgY2hhciAq Ymlvc19maWxlbmFtZSA9IE5VTEw7CiAKICAgICBpZiAoaW5mby0+dS5odm0uZmlybXdhcmUpCiAg ICAgICAgIGZpcm13YXJlID0gaW5mby0+dS5odm0uZmlybXdhcmU7CkBAIC05MTQsNiArOTQ3LDMw IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RvbWFpbl9maXJtd2FyZShsaWJ4bF9fZ2MgKmdjLAogICAg ICAgICBnb3RvIG91dDsKICAgICB9CiAKKyAgICBpZiAoaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNp b24gPT0gTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU4pIHsKKyAgICAgICAgaWYg KGluZm8tPnUuaHZtLmJpb3NfZmlybXdhcmUpIHsKKyAgICAgICAgICAgIGJpb3NfZmlsZW5hbWUg PSBpbmZvLT51Lmh2bS5iaW9zX2Zpcm13YXJlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg ICAgc3dpdGNoIChpbmZvLT51Lmh2bS5iaW9zKSB7CisgICAgICAgICAgICBjYXNlIExJQlhMX0JJ T1NfVFlQRV9TRUFCSU9TOgorICAgICAgICAgICAgICAgIGJpb3NfZmlsZW5hbWUgPSBsaWJ4bF9f c2VhYmlvc19wYXRoKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl IExJQlhMX0JJT1NfVFlQRV9PVk1GOgorICAgICAgICAgICAgICAgIGJpb3NfZmlsZW5hbWUgPSBs aWJ4bF9fb3ZtZl9wYXRoKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBj YXNlIExJQlhMX0JJT1NfVFlQRV9ST01CSU9TOgorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg ICAgICAgICAgICBhYm9ydCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisg ICAgaWYgKGJpb3NfZmlsZW5hbWUpIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9fbG9hZF9odm1fZmly bXdhcmVfbW9kdWxlKGdjLCBiaW9zX2ZpbGVuYW1lLCAiQklPUyIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tLT5iaW9zX21vZHVsZSk7CisgICAgICAg IGlmIChyYykgZ290byBvdXQ7CisgICAgfQorCiAgICAgaWYgKGluZm8tPnUuaHZtLnNtYmlvc19m aXJtd2FyZSkgewogICAgICAgICBkYXRhID0gTlVMTDsKICAgICAgICAgZSA9IGxpYnhsX3JlYWRf ZmlsZV9jb250ZW50cyhjdHgsIGluZm8tPnUuaHZtLnNtYmlvc19maXJtd2FyZSwKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oCmluZGV4IDAwNWZlNTMuLmFmM2JhOWEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMjI2 NSw2ICsyMjY1LDggQEAgX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4bF9feGVuX2NvbmZpZ19kaXJf cGF0aCh2b2lkKTsKIF9oaWRkZW4gY29uc3QgY2hhciAqbGlieGxfX3hlbl9zY3JpcHRfZGlyX3Bh dGgodm9pZCk7CiBfaGlkZGVuIGNvbnN0IGNoYXIgKmxpYnhsX19sb2NrX2Rpcl9wYXRoKHZvaWQp OwogX2hpZGRlbiBjb25zdCBjaGFyICpsaWJ4bF9fcnVuX2Rpcl9wYXRoKHZvaWQpOworX2hpZGRl biBjb25zdCBjaGFyICpsaWJ4bF9fc2VhYmlvc19wYXRoKHZvaWQpOworX2hpZGRlbiBjb25zdCBj aGFyICpsaWJ4bF9fb3ZtZl9wYXRoKHZvaWQpOwogCiAvKi0tLS0tIHN1YnByb2Nlc3MgZXhlY3V0 aW9uIHdpdGggdGltZW91dCAtLS0tLSovCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X3BhdGhzLmMgYi90b29scy9saWJ4bC9saWJ4bF9wYXRocy5jCmluZGV4IDliN2IwZDUuLjY5NzJi OTAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3BhdGhzLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfcGF0aHMuYwpAQCAtMzUsNiArMzUsMTYgQEAgY29uc3QgY2hhciAqbGlieGxfX3J1 bl9kaXJfcGF0aCh2b2lkKQogICAgIHJldHVybiBYRU5fUlVOX0RJUjsKIH0KIAorY29uc3QgY2hh ciAqbGlieGxfX3NlYWJpb3NfcGF0aCh2b2lkKQoreworICAgIHJldHVybiBTRUFCSU9TX1BBVEg7 Cit9CisKK2NvbnN0IGNoYXIgKmxpYnhsX19vdm1mX3BhdGgodm9pZCkKK3sKKyAgICByZXR1cm4g T1ZNRl9QQVRIOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxf dHlwZXMuaWRsCmluZGV4IDYzMmMwMDkuLjM5NzhmZDkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAgLTQ5 Myw2ICs0OTMsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWluX2J1 aWxkX2luZm8iLFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGlt ZXJfbW9kZSIsICAgICAgIGxpYnhsX3RpbWVyX21vZGUpLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCJuZXN0ZWRfaHZtIiwgICAgICAgbGlieGxfZGVmYm9vbCksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImFsdHAybSIsICAgICAgICAg ICBsaWJ4bF9kZWZib29sKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgiYmlvc19maXJtd2FyZSIsICAgIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoInNtYmlvc19maXJtd2FyZSIsICBzdHJpbmcpLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJhY3BpX2Zpcm13YXJlIiwgICAgc3RyaW5nKSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiaGR0eXBlIiwgICAgICAg ICAgIGxpYnhsX2hkdHlwZSksCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMg Yi90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKaW5kZXggOTkwZDNjOS4uMDhjZWVkZSAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCisrKyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGlt cGwuYwpAQCAtMTUwNSwxMiArMTUwNSwxNyBAQCBzdGF0aWMgdm9pZCBwYXJzZV9jb25maWdfZGF0 YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogCiAgICAgICAgIHhsdV9jZmdfcmVwbGFjZV9z dHJpbmcgKGNvbmZpZywgImZpcm13YXJlX292ZXJyaWRlIiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmJfaW5mby0+dS5odm0uZmlybXdhcmUsIDApOwotICAgICAgICBpZiAoIXhs dV9jZmdfZ2V0X3N0cmluZyhjb25maWcsICJiaW9zIiwgJmJ1ZiwgMCkgJiYKLSAgICAgICAgICAg IGxpYnhsX2Jpb3NfdHlwZV9mcm9tX3N0cmluZyhidWYsICZiX2luZm8tPnUuaHZtLmJpb3MpKSB7 CisgICAgICAgIHhsdV9jZmdfcmVwbGFjZV9zdHJpbmcgKGNvbmZpZywgImJpb3Nfb3ZlcnJpZGUi LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYl9pbmZvLT51Lmh2bS5iaW9zX2Zp cm13YXJlLCAwKTsKKyAgICAgICAgaWYgKCF4bHVfY2ZnX2dldF9zdHJpbmcoY29uZmlnLCAiYmlv cyIsICZidWYsIDApKSB7CisgICAgICAgICAgICBpZiAobGlieGxfYmlvc190eXBlX2Zyb21fc3Ry aW5nKGJ1ZiwgJmJfaW5mby0+dS5odm0uYmlvcykpIHsKICAgICAgICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwgIkVSUk9SOiBpbnZhbGlkIHZhbHVlIFwiJXNcIiBmb3IgXCJiaW9zXCJcbiIsCiAg ICAgICAgICAgICAgICAgICAgIGJ1Zik7CiAgICAgICAgICAgICAgICAgZXhpdCAoMSk7Ci0gICAg ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChiX2luZm8tPnUuaHZtLmJp b3NfZmlybXdhcmUpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBUk5JTkc6ICIKKyAg ICAgICAgICAgICAgICAgICAgImJpb3Nfb3ZlcnJpZGUgZ2l2ZW4gd2l0aG91dCBzcGVjaWZpYyBi aW9zIG5hbWVcbiIpOwogCiAgICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uZmlnLCAicGFl IiwgJmJfaW5mby0+dS5odm0ucGFlLCAwKTsKICAgICAgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChj b25maWcsICJhcGljIiwgJmJfaW5mby0+dS5odm0uYXBpYywgMCk7Ci0tIApBbnRob255IFBFUkFS RAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==