From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [MINIOS PATCH 3/3] x86: use unified linker script Date: Thu, 18 Aug 2016 11:15:26 +0100 Message-ID: <1471515326-4610-4-git-send-email-wei.liu2@citrix.com> References: <1471515326-4610-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1471515326-4610-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Minios-devel Cc: Juergen Gross , Xen-devel , Wei Liu , Samuel Thibault List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIG9ubHkgYSBmZXcgZGlmZmVyZW5jZXMgYmV0d2VlbiBpMzg2IGFuZCB4ODYtNjQg bGlua2VyIHNjcmlwdHMuClVuaWZ5IHRoZW0gaW50byBvbmUuIFJlLWluZGVudCB0aGUgZmlsZSBh dCB0aGUgc2FtZSB0aW1lLgoKQ29uc3RydWN0IGEgc3BlY2lhbCBydWxlIGluIHRvcC1sZXZlbCBk aXJlY3RvcnkgdG8gY29wZSB3aXRoIHRoZSBjaGFuZ2UuCklkZWFsbHkgdGhlIGJ1aWxkIHN5c3Rl bSBzaG91bGQgYWxzbyBiZSBtYWRlIG1vcmUgZWxlZ2FudCwgYnV0Cm92ZXJoYXVsaW5nIHRoZSBi dWlsZCBzeXN0ZW0gaXMgb3V0IG9mIHNjb3BlIG9mIHRoaXMgcGF0Y2guCgpTaWduZWQtb2ZmLWJ5 OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KdjI6CjEuIGZpeCBvbmUgdHlwbyBp biBjb2RlCjIuIHVzZSBzaW5nbGUtcGFyYW1ldGVyIGZvcm0gb2YgT1VUUFVUX0ZPUk1BVAotLS0K IC5naXRpZ25vcmUgICAgICAgICAgICAgICAgIHwgICAxICsKIE1ha2VmaWxlICAgICAgICAgICAg ICAgICAgIHwgICA2ICstCiBhcmNoL3g4Ni9NYWtlZmlsZSAgICAgICAgICB8ICAgMSArCiBhcmNo L3g4Ni9taW5pb3MteDg2Lmxkcy5TICB8IDEzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGFyY2gveDg2L21pbmlvcy14ODZfMzIubGRzIHwgIDc4IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9taW5pb3MteDg2XzY0LmxkcyB8ICA3OCAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9u cygrKSwgMTU3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L21pbmlv cy14ODYubGRzLlMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3g4Ni9taW5pb3MteDg2XzMyLmxk cwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L21pbmlvcy14ODZfNjQubGRzCgpkaWZmIC0t Z2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggZjIxY2M0Ni4uZWZjMTkzYyAxMDA2 NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yLDYgKzIsNyBAQAogKi5v CiAqLmEKICouc3dwCithcmNoL3g4Ni9taW5pb3MteDg2Ki5sZHMKIGluY2x1ZGUvbGlzdC5oCiBt aW5pLW9zCiBtaW5pLW9zLmd6CmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4 IDU0NjRlODkuLjc3OWJjOTEgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBA IC0xNDgsNyArMTQ4LDExIEBAIGlmbmVxICgkKEFQUF9PQkpTKSwpCiBBUFBfTz0kKE9CSl9ESVIp LyQoVEFSR0VUKV9hcHAubyAKIGVuZGlmCiAKLSQoT0JKX0RJUikvJChUQVJHRVQpOiAkKE9CSlMp ICQoQVBQX08pIGFyY2hfbGliCisjIFNwZWNpYWwgcnVsZSBmb3IgeDg2IGZvciBub3cKK2FyY2gv eDg2L21pbmlvcy14ODYlLmxkczogIGFyY2gveDg2L21pbmlvcy14ODYubGRzLlMKKwkkKENQUCkg JChBU0ZMQUdTKSAtUCAkPCAtbyAkQAorCiskKE9CSl9ESVIpLyQoVEFSR0VUKTogJChPQkpTKSAk KEFQUF9PKSBhcmNoX2xpYiAkKFRBUkdFVF9BUkNIX0RJUikvbWluaW9zLSQoTUlOSU9TX1RBUkdF VF9BUkNIKS5sZHMKIAkkKExEKSAtciAkKExERkxBR1MpICQoSEVBRF9PQkopICQoQVBQX08pICQo T0JKUykgJChMREFSQ0hMSUIpICQoTERMSUJTKSAtbyAkQC5vCiAJJChPQkpDT1BZKSAtdyAtRyAk KEdMT0JBTF9QUkVGSVgpKiAtRyBfc3RhcnQgJEAubyAkQC5vCiAJJChMRCkgJChMREZMQUdTKSAk KExERkxBR1NfRklOQUwpICRALm8gJChFWFRSQV9PQkpTKSAtbyAkQApkaWZmIC0tZ2l0IGEvYXJj aC94ODYvTWFrZWZpbGUgYi9hcmNoL3g4Ni9NYWtlZmlsZQppbmRleCAwMDUyYjRjLi5kYmU5Y2E2 IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9NYWtlZmlsZQpA QCAtMjQsNCArMjQsNSBAQCAkKE9CSl9ESVIpLyQoQVJDSF9MSUIpOiAkKEFSQ0hfT0JKUykgJChP QkpfRElSKS8kKEhFQURfQVJDSF9PQkopCiAKIGNsZWFuOgogCXJtIC1mICQoT0JKX0RJUikvJChB UkNIX0xJQikgJChBUkNIX09CSlMpICQoT0JKX0RJUikvJChIRUFEX0FSQ0hfT0JKKQorCXJtIC1m IG1pbmlvcy14ODZfMzIubGRzIG1pbmlvcy14ODZfNjQubGRzCiAKZGlmZiAtLWdpdCBhL2FyY2gv eDg2L21pbmlvcy14ODYubGRzLlMgYi9hcmNoL3g4Ni9taW5pb3MteDg2Lmxkcy5TCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYWUyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9h cmNoL3g4Ni9taW5pb3MteDg2Lmxkcy5TCkBAIC0wLDAgKzEsMTMzIEBACisjaWYgZGVmaW5lZChf X3g4Nl82NF9fKQorCitPVVRQVVRfRk9STUFUKCJlbGY2NC14ODYtNjQiKQorT1VUUFVUX0FSQ0go aTM4Njp4ODYtNjQpCisKKyNlbGlmIGRlZmluZWQoX19pMzg2X18pCisjdW5kZWYgaTM4NgorT1VU UFVUX0ZPUk1BVCgiZWxmMzItaTM4NiIpCitPVVRQVVRfQVJDSChpMzg2KQorCisjZWxzZQorIyBl cnJvciBCYWQgYXJjaGl0ZWN0dXJlIHRvIGxpbmsgd2l0aAorI2VuZGlmCisKK0VOVFJZKF9zdGFy dCkKK1NFQ1RJT05TCit7CisgICAgICAgIC4gPSAweDA7CisgICAgICAgIF90ZXh0ID0gLjsJCQkv KiBUZXh0IGFuZCByZWFkLW9ubHkgZGF0YSAqLworICAgICAgICAudGV4dCA6IHsKKyAgICAgICAg ICAgICAgICAqKC50ZXh0KQorICAgICAgICAgICAgICAgICooLmdudS53YXJuaW5nKQorICAgICAg ICB9ID0gMHg5MDkwCisKKyAgICAgICAgX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0 aW9uICovCisKKyAgICAgICAgLnJvZGF0YSA6IHsKKyAgICAgICAgICAgICAgICAqKC5yb2RhdGEp CisgICAgICAgICAgICAgICAgKigucm9kYXRhLiopCisgICAgICAgIH0KKyAgICAgICAgLiA9IEFM SUdOKDQwOTYpOworICAgICAgICBfZXJvZGF0YSA9IC47CisKKyAgICAgICAgLm5vdGUgOiB7Cisg ICAgICAgICAgICAgICAgKigubm90ZSkKKyAgICAgICAgICAgICAgICAqKC5ub3RlLiopCisgICAg ICAgIH0KKworICAgICAgICAvKiBuZXdsaWIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICovCisj aWYgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgICAgICAuID0gQUxJR04oNjQgLyA4KTsKKyNlbHNl IC8qIF9faTM4NiBfXyAqLworICAgICAgICAuID0gQUxJR04oMzIgLyA4KTsKKyNlbmRpZgorICAg ICAgICBQUk9WSURFIChfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICAgICAgLnByZWlu aXRfYXJyYXkgOiB7CisgICAgICAgICAgICAgICAgKigucHJlaW5pdF9hcnJheSkKKyAgICAgICAg fQorICAgICAgICBQUk9WSURFIChfX3ByZWluaXRfYXJyYXlfZW5kID0gLik7CisgICAgICAgIFBS T1ZJREUgKF9faW5pdF9hcnJheV9zdGFydCA9IC4pOworICAgICAgICAuaW5pdF9hcnJheSA6IHsK KyAgICAgICAgICAgICAgICAqKC5pbml0X2FycmF5KQorICAgICAgICB9CisgICAgICAgIFBST1ZJ REUgKF9faW5pdF9hcnJheV9lbmQgPSAuKTsKKyAgICAgICAgUFJPVklERSAoX19maW5pX2FycmF5 X3N0YXJ0ID0gLik7CisgICAgICAgIC5maW5pX2FycmF5IDogeworICAgICAgICAgICAgICAgICoo LmZpbmlfYXJyYXkpCisgICAgICAgIH0KKyAgICAgICAgUFJPVklERSAoX19maW5pX2FycmF5X2Vu ZCA9IC4pOworCisgICAgICAgIC5jdG9ycyA6IHsKKyAgICAgICAgICAgICAgICBfX0NUT1JfTElT VF9fID0gLjsKKyAgICAgICAgICAgICAgICAqKC5jdG9ycykKKyAgICAgICAgICAgICAgICBDT05T VFJVQ1RPUlMKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgICAgICAgICAgUVVBRCgw KQorI2Vsc2UgLyogX19pMzg2X18gKi8KKyAgICAgICAgICAgICAgICBMT05HKDApCisjZW5kaWYK KyAgICAgICAgICAgICAgICBfX0NUT1JfRU5EX18gPSAuOworICAgICAgICB9CisKKyAgICAgICAg LmR0b3JzIDogeworICAgICAgICAgICAgICAgIF9fRFRPUl9MSVNUX18gPSAuOworICAgICAgICAg ICAgICAgICooLmR0b3JzKQorI2lmIGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAgICAgICAg ICBRVUFEKDApCisjZWxzZSAvKiBfX2kzODZfXyAqLworICAgICAgICAgICAgICAgIExPTkcoMCkK KyNlbmRpZgorICAgICAgICAgICAgICAgIF9fRFRPUl9FTkRfXyA9IC47CisgICAgICAgIH0KKwor ICAgICAgICAuZGF0YSA6IHsJCQkvKiBEYXRhICovCisgICAgICAgICAgICAgICAgKiguZGF0YSkK KyAgICAgICAgfQorCisgICAgICAgIF9lZGF0YSA9IC47CQkJLyogRW5kIG9mIGRhdGEgc2VjdGlv biAqLworCisgICAgICAgIF9fYnNzX3N0YXJ0ID0gLjsJCS8qIEJTUyAqLworICAgICAgICAuYnNz IDogeworICAgICAgICAgICAgICAgICooLmJzcykKKyAgICAgICAgICAgICAgICAqKC5hcHAuYnNz KQorICAgICAgICB9CisgICAgICAgIF9lbmQgPSAuIDsKKworICAgICAgICAvKiBTZWN0aW9ucyB0 byBiZSBkaXNjYXJkZWQgKi8KKyAgICAgICAgL0RJU0NBUkQvIDogeworICAgICAgICAgICAgICAg ICooLnRleHQuZXhpdCkKKyAgICAgICAgICAgICAgICAqKC5kYXRhLmV4aXQpCisgICAgICAgICAg ICAgICAgKiguZXhpdGNhbGwuZXhpdCkKKyAgICAgICAgfQorCisgICAgICAgIC8qIFN0YWJzIGRl YnVnZ2luZyBzZWN0aW9ucy4gICovCisgICAgICAgIC5zdGFiIDAgOiB7CisgICAgICAgICAgICAg ICAgKiguc3RhYikKKyAgICAgICAgfQorICAgICAgICAuc3RhYnN0ciAwIDogeworICAgICAgICAg ICAgICAgICooLnN0YWJzdHIpCisgICAgICAgIH0KKyAgICAgICAgLnN0YWIuZXhjbCAwIDogewor ICAgICAgICAgICAgICAgICooLnN0YWIuZXhjbCkKKyAgICAgICAgfQorICAgICAgICAuc3RhYi5l eGNsc3RyIDAgOiB7CisgICAgICAgICAgICAgICAgKiguc3RhYi5leGNsc3RyKQorICAgICAgICB9 CisgICAgICAgIC5zdGFiLmluZGV4IDAgOiB7CisgICAgICAgICAgICAgICAgKiguc3RhYi5pbmRl eCkKKyAgICAgICAgfQorICAgICAgICAuc3RhYi5pbmRleHN0ciAwIDogeworICAgICAgICAgICAg ICAgICooLnN0YWIuaW5kZXhzdHIpCisgICAgICAgIH0KKyAgICAgICAgLmNvbW1lbnQgMCA6IHsK KyAgICAgICAgICAgICAgICAqKC5jb21tZW50KQorICAgICAgICB9Cit9CisKKy8qCisgKiBMb2Nh bCB2YXJpYWJsZXM6CisgKiB0YWItd2lkdGg6IDgKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAor ICogRW5kOgorICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9taW5pb3MteDg2XzMyLmxkcyBiL2Fy Y2gveDg2L21pbmlvcy14ODZfMzIubGRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl NGUxOGNiLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21pbmlvcy14ODZfMzIubGRzCisrKyAvZGV2 L251bGwKQEAgLTEsNzggKzAsMCBAQAotT1VUUFVUX0ZPUk1BVCgiZWxmMzItaTM4NiIsICJlbGYz Mi1pMzg2IiwgImVsZjMyLWkzODYiKQotT1VUUFVUX0FSQ0goaTM4NikKLUVOVFJZKF9zdGFydCkK LVNFQ1RJT05TCi17Ci0gIC4gPSAweDA7Ci0gIF90ZXh0ID0gLjsJCQkvKiBUZXh0IGFuZCByZWFk LW9ubHkgZGF0YSAqLwotICAudGV4dCA6IHsKLQkqKC50ZXh0KQotCSooLmdudS53YXJuaW5nKQot CX0gPSAweDkwOTAKLQotICBfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8K LQotICAucm9kYXRhIDogeyAqKC5yb2RhdGEpICooLnJvZGF0YS4qKSB9Ci0gIC4gPSBBTElHTig0 MDk2KTsKLSAgX2Vyb2RhdGEgPSAuOwotICAubm90ZSA6IHsKLQkqKC5ub3RlKQotCSooLm5vdGUu KikKLSAgfQotCi0gIC8qIG5ld2xpYiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgKi8KLSAgLiA9 IEFMSUdOKDMyIC8gOCk7Ci0gIFBST1ZJREUgKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOwot ICAucHJlaW5pdF9hcnJheSAgICAgOiB7ICooLnByZWluaXRfYXJyYXkpIH0KLSAgUFJPVklERSAo X19wcmVpbml0X2FycmF5X2VuZCA9IC4pOwotICBQUk9WSURFIChfX2luaXRfYXJyYXlfc3RhcnQg PSAuKTsKLSAgLmluaXRfYXJyYXkgICAgIDogeyAqKC5pbml0X2FycmF5KSB9Ci0gIFBST1ZJREUg KF9faW5pdF9hcnJheV9lbmQgPSAuKTsKLSAgUFJPVklERSAoX19maW5pX2FycmF5X3N0YXJ0ID0g Lik7Ci0gIC5maW5pX2FycmF5ICAgICA6IHsgKiguZmluaV9hcnJheSkgfQotICBQUk9WSURFIChf X2ZpbmlfYXJyYXlfZW5kID0gLik7Ci0KLSAgLmN0b3JzIDogewotICAgICAgICBfX0NUT1JfTElT VF9fID0gLjsKLSAgICAgICAgKiguY3RvcnMpCi0JQ09OU1RSVUNUT1JTCi0gICAgICAgIExPTkco MCkKLSAgICAgICAgX19DVE9SX0VORF9fID0gLjsKLSAgICAgICAgfQotCi0gIC5kdG9ycyA6IHsK LSAgICAgICAgX19EVE9SX0xJU1RfXyA9IC47Ci0gICAgICAgICooLmR0b3JzKQotICAgICAgICBM T05HKDApCi0gICAgICAgIF9fRFRPUl9FTkRfXyA9IC47Ci0gICAgICAgIH0KLQotICAuZGF0YSA6 IHsJCQkvKiBEYXRhICovCi0JKiguZGF0YSkKLQl9Ci0KLSAgX2VkYXRhID0gLjsJCQkvKiBFbmQg b2YgZGF0YSBzZWN0aW9uICovCi0KLSAgX19ic3Nfc3RhcnQgPSAuOwkJLyogQlNTICovCi0gIC5i c3MgOiB7Ci0JKiguYnNzKQotICAgICAgICAqKC5hcHAuYnNzKQotCX0KLSAgX2VuZCA9IC4gOwot Ci0gIC8qIFNlY3Rpb25zIHRvIGJlIGRpc2NhcmRlZCAqLwotICAvRElTQ0FSRC8gOiB7Ci0JKigu dGV4dC5leGl0KQotCSooLmRhdGEuZXhpdCkKLQkqKC5leGl0Y2FsbC5leGl0KQotCX0KLQotICAv KiBTdGFicyBkZWJ1Z2dpbmcgc2VjdGlvbnMuICAqLwotICAuc3RhYiAwIDogeyAqKC5zdGFiKSB9 Ci0gIC5zdGFic3RyIDAgOiB7ICooLnN0YWJzdHIpIH0KLSAgLnN0YWIuZXhjbCAwIDogeyAqKC5z dGFiLmV4Y2wpIH0KLSAgLnN0YWIuZXhjbHN0ciAwIDogeyAqKC5zdGFiLmV4Y2xzdHIpIH0KLSAg LnN0YWIuaW5kZXggMCA6IHsgKiguc3RhYi5pbmRleCkgfQotICAuc3RhYi5pbmRleHN0ciAwIDog eyAqKC5zdGFiLmluZGV4c3RyKSB9Ci0gIC5jb21tZW50IDAgOiB7ICooLmNvbW1lbnQpIH0KLX0K ZGlmZiAtLWdpdCBhL2FyY2gveDg2L21pbmlvcy14ODZfNjQubGRzIGIvYXJjaC94ODYvbWluaW9z LXg4Nl82NC5sZHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NDYyZjMuLjAwMDAw MDAKLS0tIGEvYXJjaC94ODYvbWluaW9zLXg4Nl82NC5sZHMKKysrIC9kZXYvbnVsbApAQCAtMSw3 OCArMCwwIEBACi1PVVRQVVRfRk9STUFUKCJlbGY2NC14ODYtNjQiLCAiZWxmNjQteDg2LTY0Iiwg ImVsZjY0LXg4Ni02NCIpCi1PVVRQVVRfQVJDSChpMzg2Ong4Ni02NCkKLUVOVFJZKF9zdGFydCkK LVNFQ1RJT05TCi17Ci0gIC4gPSAweDA7Ci0gIF90ZXh0ID0gLjsJCQkvKiBUZXh0IGFuZCByZWFk LW9ubHkgZGF0YSAqLwotICAudGV4dCA6IHsKLQkqKC50ZXh0KQotCSooLmdudS53YXJuaW5nKQot CX0gPSAweDkwOTAKLQotICBfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8K LQotICAucm9kYXRhIDogeyAqKC5yb2RhdGEpICooLnJvZGF0YS4qKSB9Ci0gIC4gPSBBTElHTig0 MDk2KTsKLSAgX2Vyb2RhdGEgPSAuOwotICAubm90ZSA6IHsKLQkqKC5ub3RlKQotCSooLm5vdGUu KikKLSAgfQotCi0gIC8qIG5ld2xpYiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgKi8KLSAgLiA9 IEFMSUdOKDY0IC8gOCk7Ci0gIFBST1ZJREUgKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOwot ICAucHJlaW5pdF9hcnJheSAgICAgOiB7ICooLnByZWluaXRfYXJyYXkpIH0KLSAgUFJPVklERSAo X19wcmVpbml0X2FycmF5X2VuZCA9IC4pOwotICBQUk9WSURFIChfX2luaXRfYXJyYXlfc3RhcnQg PSAuKTsKLSAgLmluaXRfYXJyYXkgICAgIDogeyAqKC5pbml0X2FycmF5KSB9Ci0gIFBST1ZJREUg KF9faW5pdF9hcnJheV9lbmQgPSAuKTsKLSAgUFJPVklERSAoX19maW5pX2FycmF5X3N0YXJ0ID0g Lik7Ci0gIC5maW5pX2FycmF5ICAgICA6IHsgKiguZmluaV9hcnJheSkgfQotICBQUk9WSURFIChf X2ZpbmlfYXJyYXlfZW5kID0gLik7Ci0KLSAgLmN0b3JzIDogewotICAgICAgICBfX0NUT1JfTElT VF9fID0gLjsKLSAgICAgICAgKiguY3RvcnMpCi0JQ09OU1RSVUNUT1JTCi0gICAgICAgIFFVQUQo MCkKLSAgICAgICAgX19DVE9SX0VORF9fID0gLjsKLSAgICAgICAgfQotCi0gIC5kdG9ycyA6IHsK LSAgICAgICAgX19EVE9SX0xJU1RfXyA9IC47Ci0gICAgICAgICooLmR0b3JzKQotICAgICAgICBR VUFEKDApCi0gICAgICAgIF9fRFRPUl9FTkRfXyA9IC47Ci0gICAgICAgIH0KLQotICAuZGF0YSA6 IHsJCQkvKiBEYXRhICovCi0JKiguZGF0YSkKLQl9Ci0KLSAgX2VkYXRhID0gLjsJCQkvKiBFbmQg b2YgZGF0YSBzZWN0aW9uICovCi0KLSAgX19ic3Nfc3RhcnQgPSAuOwkJLyogQlNTICovCi0gIC5i c3MgOiB7Ci0JKiguYnNzKQotICAgICAgICAqKC5hcHAuYnNzKQotCX0KLSAgX2VuZCA9IC4gOwot Ci0gIC8qIFNlY3Rpb25zIHRvIGJlIGRpc2NhcmRlZCAqLwotICAvRElTQ0FSRC8gOiB7Ci0JKigu dGV4dC5leGl0KQotCSooLmRhdGEuZXhpdCkKLQkqKC5leGl0Y2FsbC5leGl0KQotCX0KLQotICAv KiBTdGFicyBkZWJ1Z2dpbmcgc2VjdGlvbnMuICAqLwotICAuc3RhYiAwIDogeyAqKC5zdGFiKSB9 Ci0gIC5zdGFic3RyIDAgOiB7ICooLnN0YWJzdHIpIH0KLSAgLnN0YWIuZXhjbCAwIDogeyAqKC5z dGFiLmV4Y2wpIH0KLSAgLnN0YWIuZXhjbHN0ciAwIDogeyAqKC5zdGFiLmV4Y2xzdHIpIH0KLSAg LnN0YWIuaW5kZXggMCA6IHsgKiguc3RhYi5pbmRleCkgfQotICAuc3RhYi5pbmRleHN0ciAwIDog eyAqKC5zdGFiLmluZGV4c3RyKSB9Ci0gIC5jb21tZW50IDAgOiB7ICooLmNvbW1lbnQpIH0KLX0K LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==