From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: =?utf-8?q?=5BPATCH_v5_15/16=5D_x86=3A_make_Xen_early_?= =?utf-8?q?boot_code_relocatable?= Date: Sat, 20 Aug 2016 00:43:25 +0200 Message-ID: <1471646606-28519-16-git-send-email-daniel.kiper@oracle.com> References: <1471646606-28519-1-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1basYY-0003db-GY for xen-devel@lists.xenproject.org; Fri, 19 Aug 2016 22:46:30 +0000 In-Reply-To: <1471646606-28519-1-git-send-email-daniel.kiper@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org RXZlcnkgbXVsdGlib290IHByb3RvY29sIChyZWdhcmRsZXNzIG9mIHZlcnNpb24pIGNvbXBhdGli bGUgaW1hZ2UgbXVzdApzcGVjaWZ5IGl0cyBsb2FkIGFkZHJlc3MgKGluIEVMRiBvciBtdWx0aWJv b3QgaGVhZGVyKS4gTXVsdGlib290IHByb3RvY29sCmNvbXBhdGlibGUgbG9hZGVyIGhhdmUgdG8g bG9hZCBpbWFnZSBhdCBzcGVjaWZpZWQgYWRkcmVzcy4gSG93ZXZlciwgdGhlcmUKaXMgbm8gZ3Vh cmFudGVlIHRoYXQgdGhlIHJlcXVlc3RlZCBtZW1vcnkgcmVnaW9uIChpbiBjYXNlIG9mIFhlbiBp dCBzdGFydHMKYXQgMSBNaUIgYW5kIGVuZHMgYXQgMTcgTWlCKSB3aGVyZSBpbWFnZSBzaG91bGQg YmUgbG9hZGVkIGluaXRpYWxseSBpcyBhIFJBTQphbmQgaXQgaXMgZnJlZSAobGVnYWN5IEJJT1Mg cGxhdGZvcm1zIGFyZSBtZXJjaWZ1bCBmb3IgWGVuIGJ1dCBJIGZvdW5kIGF0CmxlYXN0IG9uZSBF RkkgcGxhdGZvcm0gb24gd2hpY2ggWGVuIGxvYWQgYWRkcmVzcyBjb25mbGljdHMgd2l0aCBFRkkg Ym9vdApzZXJ2aWNlczsgaXQgaXMgRGVsbCBQb3dlckVkZ2UgUjgyMCB3aXRoIGxhdGVzdCBmaXJt d2FyZSkuIFRvIGNvcGUgd2l0aCB0aGF0CnByb2JsZW0gd2UgbXVzdCBtYWtlIFhlbiBlYXJseSBi b290IGNvZGUgcmVsb2NhdGFibGUgYW5kIGhlbHAgYm9vdCBsb2FkZXIgdG8KcmVsb2NhdGUgaW1h Z2UgaW4gcHJvcGVyIHdheSBieSBzdWdnZXN0aW5nLCBub3QgcmVxdWVzdGluZyBzcGVjaWZpYyBs b2FkCmFkZHJlc3NlcyBhcyBpdCBpcyByaWdodCBub3csIGFsbG93ZWQgYWRkcmVzcyByYW5nZXMu IFRoaXMgcGF0Y2ggZG9lcyBmb3JtZXIuCkl0IGRvZXMgbm90IGFkZCBtdWx0aWJvb3QyIHByb3Rv Y29sIGludGVyZmFjZSB3aGljaCBpcyBkb25lIGluICJ4ODY6IGFkZAptdWx0aWJvb3QyIHByb3Rv Y29sIHN1cHBvcnQgZm9yIHJlbG9jYXRhYmxlIGltYWdlcyIgcGF0Y2guCgpUaGlzIHBhdGNoIGNo YW5nZXMgZm9sbG93aW5nIHRoaW5nczoKICAtIGRlZmF1bHQgbG9hZCBhZGRyZXNzIGlzIGNoYW5n ZWQgZnJvbSAxIE1pQiB0byAyIE1pQjsgSSBkaWQgdGhhdCBiZWNhdXNlCiAgICBpbml0aWFsIHBh Z2UgdGFibGVzIGFyZSB1c2luZyAyIE1pQiBodWdlIHBhZ2VzIGFuZCB0aGlzIHdheSByZXF1aXJl ZAogICAgdXBkYXRlcyBmb3IgdGhlbSBhcmUgcXVpdGUgZWFzeTsgaXQgbWVhbnMgdGhhdCBlLmcu IHdlIGF2b2lkIHNwYWNpYWwKICAgIGNhc2VzIGZvciBzdGFydCBhbmQgZW5kIG9mIHJlcXVpcmVk IG1lbW9yeSByZWdpb24gaWYgaXQgbGl2ZSBhdCBhZGRyZXNzCiAgICBub3QgYWxpZ25lZCB0byAy IE1pQiwKICAtICVlc2kgYW5kICVyMTVkIHJlZ2lzdGVycyBhcmUgdXNlZCBhcyBhIHN0b3JhZ2Ug Zm9yIFhlbiBpbWFnZSBsb2FkIGJhc2UKICAgIGFkZHJlc3MgKCVyMTVkIHNob3J0bHkgYmVjYXVz ZSAlcnNpIGlzIHVzZWQgZm9yIEVGSSBTeXN0ZW1UYWJsZSBhZGRyZXNzCiAgICBpbiA2NC1iaXQg Y29kZSk7IGJvdGggcmVnaXN0ZXJzIGFyZSAoJWVzaSBpcyBtb3N0bHkpIHVudXNlZCBpbiBlYXJs eQogICAgYm9vdCBjb2RlIGFuZCBwcmVzZXJ2ZWQgZHVyaW5nIEMgZnVuY3Rpb25zIGNhbGxzLAog IC0gJWZzIGlzIHVzZWQgYXMgYmFzZSBmb3IgWGVuIGRhdGEgcmVsYXRpdmUgYWRkcmVzc2luZyBp biAzMi1iaXQgY29kZQogICAgaWYgaXQgaXMgcG9zc2libGU7ICVlc2kgaXMgdXNlZCBmb3IgdGhh dCB0aGluZyBkdXJpbmcgZXJyb3IgcHJpbnRpbmcKICAgIGJlY2F1c2UgaXQgaXMgbm90IGFsd2F5 cyBwb3NzaWJsZSB0byBwcm9wZXJseSBhbmQgZWZmaWNpZW50bHkKICAgIGluaXRpYWxpemUgJWZz LgoKUFMgSSBhbSBzdGlsbCBub3QgY29udmluY2VkIHRoYXQgbW92ZSB0byAlZnMgcmVsYXRpdmUg YWRkcmVzc2luZyBpcyBnb29kCiAgIGlkZWEuIEFzIHlvdSBjYW4gc2VlIGNvZGUgZ3Jvd3MgbGFy Z2VyIGR1ZSB0byBHRFQgaW5pdGlhbGl6YXRpb24gc3R1ZmYsCiAgIGV0Yy4gSG93ZXZlciwgSSBj YW5ub3Qgc2VlIHBvdGVudGlhbCBnYWlucyBmb3Igbm93IGFuZCBmdXR1cmUgKHByb2JhYmx5CiAg IGl0IHdvdWxkIGJlIGlmIHdob2xlIFhlbiBjb2RlLCBub3QgZWFybHkgYm9vdCBvbmUsIHBsYXll ZCBzZWdtZW50IHJlZ2lzdGVycwogICBnYW1lcykuIFdlbGwsIG1heWJlIGluIG9uZSBvciB0d28g cGxhY2VzIHdoZXJlIGJhc2UgcmVnaXN0ZXIgaXMgbm90IHVzZWQKICAgaW4gZnVsbCBTSUIgYWRk cmVzc2luZyBtb2RlLiBTbywgcXVlc3Rpb24gaXM6IGRvZXMgaXQgcGF5PyBEb2VzIGdhaW5zCiAg IG92ZXJ3ZWlnaHQgYWxsIGVmZm9ydHMgcmVsYXRlZCB0byAlZnMgZ2FtZXM/IE1heWJlIHdlIHNo b3VsZCBzdGF5IHdpdGgKICAgJWVzaSByZWxhdGl2ZSBhZGRyZXNzaW5nPyBPZiBjb3Vyc2UgSSBh bSBhd2FyZSB0aGF0IGl0IGlzIG5vdCBwZXJmZWN0LgogICBIb3dldmVyLCBJTU8sIGl0IGlzIG11 Y2ggc2ltcGxlciBhbmQgY2xlYXJlci4KICAgVGhpcyBpcyBteSBzdWdnZXN0aW9uLiBJZiB5b3Ug YWdyZWUgd2l0aCBtZSBJIGNhbiBjaGFuZ2UgY29kZSBvbmNlIGFnYWluCiAgIGFuZCBiYWNrIHRv ICVlc2kuIFRoaXMgaXMgbm90IGJpZyBwcm9ibGVtLiBJZiBub3QgSSBhbSBub3QgZ29pbmcgdG8g YXJndWUKICAgbG9uZ2VyLiBJIHdpbGwgZG8gd2hhdCB5b3UgcmVxdWVzdC4gV2VsbCwgaXQgd2ls bCBiZSBuaWNlIGlmIHlvdSBjb252aW5jZQogICBtZSB0aGF0IHlvdXIgaWRlYSBpcyBnb29kIGFu ZCBJIGFtIHdyb25nIHRoZW4uLi4gIDstKSkpCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgS2lwZXIg PGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0KdjQgLSBzdWdnZXN0aW9ucy9maXhlczoKICAg LSBkbyBub3QgcmVsb2NhdGUgWGVuIGltYWdlIGlmIGJvb3QgbG9hZGVyIGRpZCB3b3JrIGZvciB1 cwogICAgIChzdWdnZXN0ZWQgYnkgQW5kcmV3IENvb3BlciBhbmQgSmFuIEJldWxpY2gpLAogICAt IGluaXRpYWxpemUgeGVuX2ltZ19sb2FkX2Jhc2VfYWRkciBpbiBFRkkgYm9vdCBjb2RlIHRvbywK ICAgLSBwcm9wZXJseSBpbml0aWFsaXplIHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQsCiAgIC0g Y2FsY3VsYXRlIFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcyBpbgogICAgIHg4Nl82NCBjb2Rl IG91cnNlbHZlcywKICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBjaGFuZ2Ug aG93IGFuZCB3aGVuIFhlbiBpbWFnZSBiYXNlIGFkZHJlc3MgaXMgcHJpbnRlZCwKICAgLSB1c2Ug JWZzIGluc3RlYWQgb2YgJWVzaSBmb3IgcmVsYXRpdmUgYWRkcmVzc2luZwogICAgIChzdWdnZXN0 ZWQgYnkgQW5kcmV3IENvb3BlciBhbmQgSmFuIEJldWxpY2gpLAogICAtIGNyZWF0ZSBlc2lfb2Zm c2V0IGFuZCBmc19vZmZzZXQoKSBtYWNyb3MgaW4gYXNzZW1ibHksCiAgIC0gY2FsY3VsYXRlIDxm aW5hbC1leGVjLWFkZHI+IG1rZWxmMzIgYXJndW1lbnQgYXV0b21hdGljYWxseSwKICAgLSBvcHRp bWl6ZSBhbmQgY2xlYW51cCBjb2RlLAogICAtIGltcHJvdmUgY29tbWVudHMsCiAgIC0gaW1wcm92 ZSBjb21taXQgbWVzc2FnZS4KCnYzIC0gc3VnZ2VzdGlvbnMvZml4ZXM6CiAgIC0gaW1wcm92ZSBz ZWdtZW50IHJlZ2lzdGVycyBpbml0aWFsaXphdGlvbgogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpLAogICAtIHNpbXBsaWZ5IFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzcyBjYWxjdWxh dGlvbgogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIHVzZSAlZXNpIGFuZCAl cjE1ZCBpbnN0ZWFkIG9mICVlYnAgdG8gc3RvcmUKICAgICBYZW4gaW1hZ2UgbG9hZCBiYXNlIGFk ZHJlc3MsCiAgIC0gdXNlICVlc2kgaW5zdGVhZCBvZiAlZnMgZm9yIHJlbGF0aXZlIGFkZHJlc3Np bmc7CiAgICAgdGhpcyB3YXkgd2UgZ2V0IHNob3J0ZXIgYW5kIHNpbXBsZXIgY29kZSwKICAgLSBy ZW5hbWUgc29tZSB2YXJpYWJsZXMgYW5kIGNvbnN0YW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpLAogICAtIGltcHJvdmUgY29tbWVudHMKICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJh ZCBSemVzenV0ZWsgV2lsayksCiAgIC0gaW1wcm92ZSBjb21taXQgbWVzc2FnZQogICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpLgotLS0KIHhlbi9hcmNoL3g4Ni9NYWtlZmlsZSAgICAgICAg ICB8ICAgIDQgKy0KIHhlbi9hcmNoL3g4Ni9SdWxlcy5tayAgICAgICAgICB8ICAgIDQgKwogeGVu L2FyY2gveDg2L2Jvb3QvaGVhZC5TICAgICAgIHwgIDIwNCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvYm9vdC90cmFtcG9saW5lLlMgfCAgIDEw ICstCiB4ZW4vYXJjaC94ODYvYm9vdC93YWtldXAuUyAgICAgfCAgICA0ICstCiB4ZW4vYXJjaC94 ODYvYm9vdC94ODZfNjQuUyAgICAgfCAgIDUxICsrKystLS0tLS0KIHhlbi9hcmNoL3g4Ni9lZmkv ZWZpLWJvb3QuaCAgICB8ICAgIDMgKy0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICAgICB8 ICAgMzEgKysrLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAgICAgICAgfCAgICA4ICstCiB4 ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oICAgfCAgICAxICsKIHhlbi9pbmNsdWRlL2FzbS14 ODYvcGFnZS5oICAgICB8ICAgIDIgKy0KIDExIGZpbGVzIGNoYW5nZWQsIDIxNyBpbnNlcnRpb25z KCspLCAxMDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L01ha2VmaWxl IGIveGVuL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IDk0NjRiN2IuLmRmODk5YzEgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZQorKysgYi94ZW4vYXJjaC94ODYvTWFrZWZpbGUKQEAg LTg5LDggKzg5LDggQEAgYWxsX3N5bWJvbHMgPQogZW5kaWYKIAogJChUQVJHRVQpOiAkKFRBUkdF VCktc3ltcyAkKGVmaS15KSBib290L21rZWxmMzIKLQkuL2Jvb3QvbWtlbGYzMiAkKG5vdGVzX3Bo ZHJzKSAkKFRBUkdFVCktc3ltcyAkKFRBUkdFVCkgMHgxMDAwMDAgXAotCWAkKE5NKSAtbnIgJChU QVJHRVQpLXN5bXMgfCBoZWFkIC1uIDEgfCBzZWQgLWUgJ3MvXlwoW14gXSpcKS4qLzB4XDEvJ2AK KwkuL2Jvb3QvbWtlbGYzMiAkKG5vdGVzX3BoZHJzKSAkKFRBUkdFVCktc3ltcyAkKFRBUkdFVCkg JChYRU5fSU1HX09GRlNFVCkgXAorCQlgJChOTSkgLW5yICQoVEFSR0VUKS1zeW1zIHwgYXdrICck JDMgPT0gIl9fZW5kX29mX2ltYWdlX18iIHtwcmludCAiMHgiJCQxfSdgCiAKIC5QSE9OWTogdGVz dHMKIHRlc3RzOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L1J1bGVzLm1rIGIveGVuL2FyY2gv eDg2L1J1bGVzLm1rCmluZGV4IDQyYmU0YmMuLmRkMTBhZmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9SdWxlcy5taworKysgYi94ZW4vYXJjaC94ODYvUnVsZXMubWsKQEAgLTEsNiArMSwxMCBA QAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyB4ODYtc3BlY2lm aWMgZGVmaW5pdGlvbnMKIAorWEVOX0lNR19PRkZTRVQgPSAweDIwMDAwMAorCitDRkxBR1MgKz0g LURYRU5fSU1HX09GRlNFVD0kKFhFTl9JTUdfT0ZGU0VUKQorCiBDRkxBR1MgKz0gLUkkKEJBU0VE SVIpL2luY2x1ZGUKIENGTEFHUyArPSAtSSQoQkFTRURJUikvaW5jbHVkZS9hc20teDg2L21hY2gt Z2VuZXJpYwogQ0ZMQUdTICs9IC1JJChCQVNFRElSKS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZh dWx0CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMgYi94ZW4vYXJjaC94ODYv Ym9vdC9oZWFkLlMKaW5kZXggYjgzMmIyMS4uYTFiMGMwNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2Jvb3QvaGVhZC5TCisrKyBiL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUwpAQCAtMTIsMTMg KzEyLDE2IEBACiAgICAgICAgIC50ZXh0CiAgICAgICAgIC5jb2RlMzIKIAotI2RlZmluZSBzeW1f cGh5cyhzeW0pICAgICAoKHN5bSkgLSBfX1hFTl9WSVJUX1NUQVJUKQorI2RlZmluZSBzeW1fb2Zm c2V0KHN5bSkgICAoKHN5bSkgLSBfX1hFTl9WSVJUX1NUQVJUKQorI2RlZmluZSBlc2lfb2Zmc2V0 KHN5bSkgICBzeW1fb2Zmc2V0KHN5bSkoJWVzaSkKKyNkZWZpbmUgZnNfb2Zmc2V0KHN5bSkgICAg JWZzOnN5bV9vZmZzZXQoc3ltKQogCiAjZGVmaW5lIEJPT1RfQ1MzMiAgICAgICAgMHgwMDA4CiAj ZGVmaW5lIEJPT1RfQ1M2NCAgICAgICAgMHgwMDEwCiAjZGVmaW5lIEJPT1RfRFMgICAgICAgICAg MHgwMDE4CiAjZGVmaW5lIEJPT1RfUFNFVURPUk1fQ1MgMHgwMDIwCiAjZGVmaW5lIEJPT1RfUFNF VURPUk1fRFMgMHgwMDI4CisjZGVmaW5lIEJPT1RfRlMgICAgICAgICAgMHgwMDMwCiAKICNkZWZp bmUgTUIyX0hUKG5hbWUpICAgICAgKE1VTFRJQk9PVDJfSEVBREVSX1RBR18jI25hbWUpCiAjZGVm aW5lIE1CMl9UVChuYW1lKSAgICAgIChNVUxUSUJPT1QyX1RBR19UWVBFXyMjbmFtZSkKQEAgLTk0 LDcgKzk3LDcgQEAgbXVsdGlib290Ml9oZWFkZXJfc3RhcnQ6CiAKICAgICAgICAgLyogRUZJNjQg ZW50cnkgcG9pbnQuICovCiAgICAgICAgIG1iMmh0X2luaXQgTUIyX0hUKEVOVFJZX0FERFJFU1Nf RUZJNjQpLCBNQjJfSFQoT1BUSU9OQUwpLCBcCi0gICAgICAgICAgICAgICAgICAgc3ltX3BoeXMo X19lZmk2NF9zdGFydCkKKyAgICAgICAgICAgICAgICAgICBzeW1fb2Zmc2V0KF9fZWZpNjRfc3Rh cnQpCiAKICAgICAgICAgLyogTXVsdGlib290MiBoZWFkZXIgZW5kIHRhZy4gKi8KICAgICAgICAg bWIyaHRfaW5pdCBNQjJfSFQoRU5EKSwgTUIyX0hUKFJFUVVJUkVEKQpAQCAtMTA1LDEyICsxMDgs MTMgQEAgbXVsdGlib290Ml9oZWFkZXJfc3RhcnQ6CiAKICAgICAgICAgLndvcmQgICAwCiBnZHRf Ym9vdF9kZXNjcjoKLSAgICAgICAgLndvcmQgICA2KjgtMQotICAgICAgICAubG9uZyAgIHN5bV9w aHlzKHRyYW1wb2xpbmVfZ2R0KQorICAgICAgICAud29yZCAgIDcqOC0xCitnZHRfYm9vdF9iYXNl OgorICAgICAgICAubG9uZyAgIHN5bV9vZmZzZXQodHJhbXBvbGluZV9nZHQpCiAgICAgICAgIC5s b25nICAgMCAvKiBOZWVkZWQgZm9yIDY0LWJpdCBsZ2R0ICovCiAKIGNzMzJfc3dpdGNoX2FkZHI6 Ci0gICAgICAgIC5sb25nICAgc3ltX3BoeXMoY3MzMl9zd2l0Y2gpCisgICAgICAgIC5sb25nICAg c3ltX29mZnNldChjczMyX3N3aXRjaCkKICAgICAgICAgLndvcmQgICBCT09UX0NTMzIKIAogdmdh X3RleHRfYnVmZmVyOgpAQCAtMTI2LDI2ICsxMzAsMjYgQEAgdmdhX3RleHRfYnVmZmVyOgogICAg ICAgICAuc2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMKIAogYmFkX2NwdToKLSAg ICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2NwdV9tc2cpKSwlZXNpICMgRXJyb3IgbWVz c2FnZQorICAgICAgICBsZWEgICAgIGVzaV9vZmZzZXQoLkxiYWRfY3B1X21zZyksJWVzaSAgIyBF cnJvciBtZXNzYWdlCiAgICAgICAgIGptcCAgICAgMGYKIG5vdF9tdWx0aWJvb3Q6Ci0gICAgICAg IG1vdiAgICAgJChzeW1fcGh5cyguTGJhZF9sZHJfbXNnKSksJWVzaSAjIEVycm9yIG1lc3NhZ2UK KyAgICAgICAgbGVhICAgICBlc2lfb2Zmc2V0KC5MYmFkX2xkcl9tc2cpLCVlc2kgICMgRXJyb3Ig bWVzc2FnZQogICAgICAgICBqbXAgICAgIDBmCiBtYjJfbm9fc3Q6Ci0gICAgICAgIG1vdiAgICAg JChzeW1fcGh5cyguTGJhZF9sZHJfbnN0KSksJWVzaSAjIEVycm9yIG1lc3NhZ2UKKyAgICAgICAg bGVhICAgICBlc2lfb2Zmc2V0KC5MYmFkX2xkcl9uc3QpLCVlc2kgICMgRXJyb3IgbWVzc2FnZQog ICAgICAgICBqbXAgICAgIDBmCiBtYjJfbm9faWg6Ci0gICAgICAgIG1vdiAgICAgJChzeW1fcGh5 cyguTGJhZF9sZHJfbmloKSksJWVzaSAjIEVycm9yIG1lc3NhZ2UKKyAgICAgICAgbGVhICAgICBl c2lfb2Zmc2V0KC5MYmFkX2xkcl9uaWgpLCVlc2kgICMgRXJyb3IgbWVzc2FnZQogICAgICAgICBq bXAgICAgIDBmCiBtYjJfbm9fYnM6Ci0gICAgICAgIG1vdiAgICAgJChzeW1fcGh5cyguTGJhZF9s ZHJfbmJzKSksJWVzaSAjIEVycm9yIG1lc3NhZ2UKKyAgICAgICAgbGVhICAgICBlc2lfb2Zmc2V0 KC5MYmFkX2xkcl9uYnMpLCVlc2kgICMgRXJyb3IgbWVzc2FnZQogICAgICAgICB4b3IgICAgICVl ZGksJWVkaSAgICAgICAgICAgICAgICAgICAgICAgIyBObyBWR0EgdGV4dCBidWZmZXIKICAgICAg ICAgam1wICAgICAxZgogbWIyX2VmaV9pYV8zMjoKLSAgICAgICAgbW92ICAgICAkKHN5bV9waHlz KC5MYmFkX2VmaV9tc2cpKSwlZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICBsZWEgICAgIGVz aV9vZmZzZXQoLkxiYWRfZWZpX21zZyksJWVzaSAgIyBFcnJvciBtZXNzYWdlCiAgICAgICAgIHhv ciAgICAgJWVkaSwlZWRpICAgICAgICAgICAgICAgICAgICAgICAjIE5vIFZHQSB0ZXh0IGJ1ZmZl cgogICAgICAgICBqbXAgICAgIDFmCi0wOiAgICAgIG1vdiAgICAgc3ltX3BoeXModmdhX3RleHRf YnVmZmVyKSwlZWRpCiswOiAgICAgIG1vdiAgICAgZXNpX29mZnNldCh2Z2FfdGV4dF9idWZmZXIp LCVlZGkKIDE6ICAgICAgbW92ICAgICAoJWVzaSksJWJsCiAgICAgICAgIHRlc3QgICAgJWJsLCVi bCAgICAgICAgIyBUZXJtaW5hdGUgb24gJ1wwJyBzZW50aW5lbAogICAgICAgICBqZSAgICAgIC5M aGFsdApAQCAtMTczLDYgKzE3Nyw5IEBAIF9fZWZpNjRfc3RhcnQ6CiAgICAgICAgIC8qIFZHQSBp cyBub3QgYXZhaWxhYmxlIG9uIEVGSSBwbGF0Zm9ybXMuICovCiAgICAgICAgIG1vdmwgICAkMCx2 Z2FfdGV4dF9idWZmZXIoJXJpcCkKIAorICAgICAgICAvKiBMb2FkIFhlbiBpbWFnZSBsb2FkIGJh c2UgYWRkcmVzcy4gKi8KKyAgICAgICAgbGVhICAgICBfX2ltYWdlX2Jhc2VfXyglcmlwKSwlcjE1 ZAorCiAgICAgICAgIC8qIENoZWNrIGZvciBNdWx0aWJvb3QyIGJvb3Rsb2FkZXIuICovCiAgICAg ICAgIGNtcCAgICAgJE1VTFRJQk9PVDJfQk9PVExPQURFUl9NQUdJQywlZWF4CiAgICAgICAgIGpl ICAgICAgLkxlZmlfbXVsdGlib290Ml9wcm90bwpAQCAtMjg4LDYgKzI5NSw5IEBAIHJ1bl9iczoK IAogICAgICAgICBwb3AgICAgICVyYXgKIAorICAgICAgICAvKiBTdG9yZSBYZW4gaW1hZ2UgbG9h ZCBiYXNlIGFkZHJlc3MgaW4gcGxhY2UgYWNjZXNzaWJsZSBmb3IgMzItYml0IGNvZGUuICovCisg ICAgICAgIG1vdiAgICAgJXIxNWQsJWVzaQorCiAgICAgICAgIC8qIEp1bXAgdG8gdHJhbXBvbGlu ZV9zZXR1cCBhZnRlciBzd2l0Y2hpbmcgQ1BVIHRvIHg4Nl8zMiBtb2RlLiAqLwogICAgICAgICBs ZWEgICAgIHRyYW1wb2xpbmVfc2V0dXAoJXJpcCksJWVkaQogCkBAIC0yOTUsOSArMzA1LDExIEBA IHg4Nl8zMl9zd2l0Y2g6CiAgICAgICAgIGNsaQogCiAgICAgICAgIC8qIEluaXRpYWxpc2UgR0RU LiAqLworICAgICAgICBhZGQgICAgICVlc2ksZ2R0X2Jvb3RfYmFzZSglcmlwKQogICAgICAgICBs Z2R0ICAgIGdkdF9ib290X2Rlc2NyKCVyaXApCiAKICAgICAgICAgLyogUmVsb2FkIGNvZGUgc2Vs ZWN0b3IuICovCisgICAgICAgIGFkZCAgICAgJWVzaSxjczMyX3N3aXRjaF9hZGRyKCVyaXApCiAg ICAgICAgIGxqbXBsICAgKmNzMzJfc3dpdGNoX2FkZHIoJXJpcCkKIAogICAgICAgICAuY29kZTMy CkBAIC0zMjcsMTIgKzMzOSw4IEBAIF9fc3RhcnQ6CiAgICAgICAgIGNsZAogICAgICAgICBjbGkK IAotICAgICAgICAvKiBJbml0aWFsaXNlIEdEVCBhbmQgYmFzaWMgZGF0YSBzZWdtZW50cy4gKi8K LSAgICAgICAgbGdkdCAgICAlY3M6c3ltX3BoeXMoZ2R0X2Jvb3RfZGVzY3IpCi0gICAgICAgIG1v diAgICAgJEJPT1RfRFMsJWVjeAotICAgICAgICBtb3YgICAgICVlY3gsJWRzCi0gICAgICAgIG1v diAgICAgJWVjeCwlZXMKLSAgICAgICAgbW92ICAgICAlZWN4LCVzcworICAgICAgICAvKiBMb2Fk IGRlZmF1bHQgWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzLiAqLworICAgICAgICBtb3YgICAg ICRzeW1fb2Zmc2V0KF9faW1hZ2VfYmFzZV9fKSwlZXNpCiAKICAgICAgICAgLyogQm9vdGxvYWRl cnMgbWF5IHNldCBtdWx0aWJvb3R7MSwyfS5tZW1fbG93ZXIgdG8gYSBub256ZXJvIHZhbHVlLiAq LwogICAgICAgICB4b3IgICAgICVlZHgsJWVkeApAQCAtMzg4LDYgKzM5NiwyNSBAQCBfX3N0YXJ0 OgogICAgICAgICBqbXAgICAgIDBiCiAKIHRyYW1wb2xpbmVfYmlvc19zZXR1cDoKKyAgICAgICAg LyoKKyAgICAgICAgICogQ2FsbGVkIG9uIGxlZ2FjeSBCSU9TIHBsYXRmb3JtcyBvbmx5LgorICAg ICAgICAgKgorICAgICAgICAgKiBJbml0aWFsaXNlIEdEVCBhbmQgYmFzaWMgZGF0YSBzZWdtZW50 cy4KKyAgICAgICAgICovCisgICAgICAgIGFkZCAgICAgJWVzaSxlc2lfb2Zmc2V0KGdkdF9ib290 X2Jhc2UpCisgICAgICAgIGxnZHQgICAgZXNpX29mZnNldChnZHRfYm9vdF9kZXNjcikKKworICAg ICAgICBtb3YgICAgICRCT09UX0RTLCVlY3gKKyAgICAgICAgbW92ICAgICAlZWN4LCVkcworICAg ICAgICBtb3YgICAgICVlY3gsJWVzCisgICAgICAgIG1vdiAgICAgJWVjeCwlc3MKKyAgICAgICAg LyogJWVzcCBpcyBpbml0aWFsaXNlZCBsYXRlci4gKi8KKworICAgICAgICAvKiBMb2FkIG51bGwg ZGVzY3JpcHRvciB0byB1bnVzZWQgc2VnbWVudCByZWdpc3RlcnMuICovCisgICAgICAgIHhvciAg ICAgJWVjeCwlZWN4CisgICAgICAgIG1vdiAgICAgJWVjeCwlZnMKKyAgICAgICAgbW92ICAgICAl ZWN4LCVncworCiAgICAgICAgIC8qIFNldCB1cCB0cmFtcG9saW5lIHNlZ21lbnQgNjRrIGJlbG93 IEVCREEgKi8KICAgICAgICAgbW92endsICAweDQwZSwlZWN4ICAgICAgICAgIC8qIEVCREEgc2Vn bWVudCAqLwogICAgICAgICBjbXAgICAgICQweGEwMDAsJWVjeCAgICAgICAgLyogc2FuaXR5IGNo ZWNrIChoaWdoKSAqLwpAQCAtNDA5LDM2ICs0MzYsOTMgQEAgdHJhbXBvbGluZV9iaW9zX3NldHVw OgogICAgICAgICBjbW92YiAgICVlZHgsJWVjeCAgICAgICAgICAgLyogYW5kIHVzZSB0aGUgc21h bGxlciAqLwogCiB0cmFtcG9saW5lX3NldHVwOgorICAgICAgICAvKgorICAgICAgICAgKiBDYWxs ZWQgb24gbGVnYWN5IEJJT1MgYW5kIEVGSSBwbGF0Zm9ybXMuCisgICAgICAgICAqCisgICAgICAg ICAqIENvbXB1dGUgMC0xNSBiaXRzIG9mIEJPT1RfRlMgc2VnbWVudCBkZXNjcmlwdG9yIGJhc2Ug YWRkcmVzcy4KKyAgICAgICAgICovCisgICAgICAgIG1vdiAgICAgJWVzaSwlZWR4CisgICAgICAg IHNobCAgICAgJDE2LCVlZHgKKyAgICAgICAgb3IgICAgICAlZWR4LEJPT1RfRlMrZXNpX29mZnNl dCh0cmFtcG9saW5lX2dkdCkKKworICAgICAgICAvKiBDb21wdXRlIDE2LTIzIGJpdHMgb2YgQk9P VF9GUyBzZWdtZW50IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzLiAqLworICAgICAgICBtb3YgICAg ICVlc2ksJWVkeAorICAgICAgICBzaHIgICAgICQxNiwlZWR4CisgICAgICAgIGFuZCAgICAgJDB4 MDAwMDAwZmYsJWVkeAorICAgICAgICBvciAgICAgICVlZHgsQk9PVF9GUys0K2VzaV9vZmZzZXQo dHJhbXBvbGluZV9nZHQpCisKKyAgICAgICAgLyogQ29tcHV0ZSAyNC0zMSBiaXRzIG9mIEJPT1Rf RlMgc2VnbWVudCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcy4gKi8KKyAgICAgICAgbW92ICAgICAl ZXNpLCVlZHgKKyAgICAgICAgYW5kICAgICAkMHhmZjAwMDAwMCwlZWR4CisgICAgICAgIG9yICAg ICAgJWVkeCxCT09UX0ZTKzQrZXNpX29mZnNldCh0cmFtcG9saW5lX2dkdCkKKworICAgICAgICAv KgorICAgICAgICAgKiBJbml0aWFsaXNlICVmcyBhbmQgbGF0ZXIgdXNlIGl0IHRvIGFjY2VzcyBY ZW4gZGF0YSBpZiBwb3NzaWJsZS4KKyAgICAgICAgICogQWNjb3JkaW5nIHRvIEludGVsIDY0IGFu ZCBJQS0zMiBBcmNoaXRlY3R1cmVzIFNvZnR3YXJlIERldmVsb3BlcuKAmXMKKyAgICAgICAgICog TWFudWFsIGl0IGlzIHNhZmUgdG8gZG8gdGhhdCB3aXRob3V0IHJlbG9hZGluZyBHRFRSIGJlZm9y ZS4KKyAgICAgICAgICoKKyAgICAgICAgICogUGxlYXNlIGNoZWNrIEludGVsIDY0IGFuZCBJQS0z MiBBcmNoaXRlY3R1cmVzIFNvZnR3YXJlIERldmVsb3BlcuKAmXMKKyAgICAgICAgICogTWFudWFs LCBWb2x1bWUgMiAoMkEsIDJCICYgMkMpOiBJbnN0cnVjdGlvbiBTZXQgUmVmZXJlbmNlLAorICAg ICAgICAgKiBMR0RUIGFuZCBNT1YgaW5zdHJ1Y3Rpb25zIGRlc2NyaXB0aW9uIGFuZAorICAgICAg ICAgKiBJbnRlbCA2NCBhbmQgSUEtMzIgQXJjaGl0ZWN0dXJlcyBTb2Z0d2FyZSBEZXZlbG9wZXLi gJlzCisgICAgICAgICAqIE1hbnVhbCBWb2x1bWUgMyAoM0EsIDNCICYgM0MpOiBTeXN0ZW0gUHJv Z3JhbW1pbmcgR3VpZGUsCisgICAgICAgICAqIHNlY3Rpb24gMy40LjMsIFNlZ21lbnQgUmVnaXN0 ZXJzIGZvciBtb3JlIGRldGFpbHMuCisgICAgICAgICAqCisgICAgICAgICAqIEFJVUksIG9ubHkg R0RUIGFkZHJlc3MgYW5kIGxpbWl0IGFyZSBsb2FkZWQgaW50byBHRFRSIHdoZW4KKyAgICAgICAg ICogbGdkdCBpcyBleGVjdXRlZC4gU2VnbWVudCBkZXNjcmlwdG9yIGlzIGxvYWRlZCBkaXJlY3Rs eSBmcm9tCisgICAgICAgICAqIG1lbW9yeSBpbnRvIHNlZ21lbnQgcmVnaXN0ZXIgKGhpZGVuIHBh cnQpIG9ubHkgd2hlbiByZWxldmFudAorICAgICAgICAgKiBsb2FkIGluc3RydWN0aW9uIGlzIHVz ZWQgKGUuZy4gbW92ICVlZHgsJWZzKS4gVGhvdWdoIEdEVCBjb250ZW50CisgICAgICAgICAqIHBy b2JhYmx5IGNvdWxkIGJlIHN0b3JlZCBpbiBDUFUgY2FjaGUgYnV0IG5vdGhpbmcgc3VnZ2VzdCB0 aGF0CisgICAgICAgICAqIENQVSBjYWNoaW5nIGludGVyZmVyZSBpbiBvbmUgd2F5IG9yIGFub3Ro ZXIgd2l0aCBzZWdtZW50IGRlc2NyaXB0b3IKKyAgICAgICAgICogbG9hZC4gU28sIGl0IGxvb2tz IHRoYXQgZXZlcnkgY2hhbmdlIGluIGFjdGl2ZSBHRFQgaXMgaW1tZWRpYXRlbHkKKyAgICAgICAg ICogYXZhaWxhYmxlIGZvciByZWxldmFudCBzZWdtZW50IGRlc2NyaXB0b3IgbG9hZCBpbnN0cnVj dGlvbi4KKyAgICAgICAgICoKKyAgICAgICAgICogSSB3YXMgbm90IGFibGUgdG8gZmluZCBhbnl0 aGluZyB3aGljaCBpbnZhbGlkYXRlcyBhYm92ZS4KKyAgICAgICAgICogU28sIGV2ZXJ5dGhpbmcg c3VnZ2VzdCB0aGF0IHdlIGRvIG5vdCBuZWVkIGFuIGV4dHJhIGxnZHQgaGVyZS4KKyAgICAgICAg ICovCisgICAgICAgIG1vdiAgICAgJEJPT1RfRlMsJWVkeAorICAgICAgICBtb3YgICAgICVlZHgs JWZzCisKICAgICAgICAgLyogUmVzZXJ2ZSA2NGtiIGZvciB0aGUgdHJhbXBvbGluZS4gKi8KICAg ICAgICAgc3ViICAgICAkMHgxMDAwLCVlY3gKIAogICAgICAgICAvKiBGcm9tIGFyY2gveDg2L3Nt cGJvb3QuYzogc3RhcnRfZWlwIGhhZCBiZXR0ZXIgYmUgcGFnZS1hbGlnbmVkISAqLwogICAgICAg ICB4b3IgICAgICVjbCwgJWNsCiAgICAgICAgIHNobCAgICAgJDQsICVlY3gKLSAgICAgICAgbW92 ICAgICAlZWN4LHN5bV9waHlzKHRyYW1wb2xpbmVfcGh5cykKKyAgICAgICAgbW92ICAgICAlZWN4 LGZzX29mZnNldCh0cmFtcG9saW5lX3BoeXMpCisKKyAgICAgICAgLyogU2F2ZSBYZW4gaW1hZ2Ug bG9hZCBiYXNlIGFkZHJlc3MgZm9yIGxhdGVyIHVzZS4gKi8KKyAgICAgICAgbW92ICAgICAlZXNp LGZzX29mZnNldCh4ZW5faW1nX2xvYWRfYmFzZV9hZGRyKQorICAgICAgICBtb3YgICAgICVlc2ks ZnNfb2Zmc2V0KHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQpCisKKyAgICAgICAgLyogU2V0dXAg c3RhY2suICVzcyB3YXMgaW5pdGlhbGl6ZWQgZWFybGllci4gKi8KKyAgICAgICAgbGVhICAgICAx MDI0K2VzaV9vZmZzZXQoY3B1MF9zdGFjayksJWVzcAogCiAgICAgICAgIC8qIFNhdmUgdGhlIE11 bHRpYm9vdCBpbmZvIHN0cnVjdCAoYWZ0ZXIgcmVsb2NhdGlvbikgZm9yIGxhdGVyIHVzZS4gKi8K LSAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoY3B1MF9zdGFjaykrMTAyNCwlZXNwCiAgICAgICAg IHB1c2ggICAgJWVjeCAgICAgICAgICAgICAgICAvKiBCb290IHRyYW1wb2xpbmUgYWRkcmVzcy4g Ki8KICAgICAgICAgcHVzaCAgICAlZWJ4ICAgICAgICAgICAgICAgIC8qIE11bHRpYm9vdCBpbmZv cm1hdGlvbiBhZGRyZXNzLiAqLwogICAgICAgICBwdXNoICAgICVlYXggICAgICAgICAgICAgICAg LyogTXVsdGlib290IG1hZ2ljLiAqLwogICAgICAgICBjYWxsICAgIHJlbG9jCi0gICAgICAgIG1v diAgICAgJWVheCxzeW1fcGh5cyhtdWx0aWJvb3RfcHRyKQorICAgICAgICBtb3YgICAgICVlYXgs ZnNfb2Zmc2V0KG11bHRpYm9vdF9wdHIpCiAKICAgICAgICAgLyoKICAgICAgICAgICogRG8gbm90 IHplcm8gQlNTIG9uIEVGSSBwbGF0Zm9ybSBoZXJlLgogICAgICAgICAgKiBJdCB3YXMgaW5pdGlh bGl6ZWQgZWFybGllci4KICAgICAgICAgICovCi0gICAgICAgIGNtcGIgICAgJDAsc3ltX3BoeXMo c2tpcF9yZWFsbW9kZSkKKyAgICAgICAgY21wYiAgICAkMCxmc19vZmZzZXQoc2tpcF9yZWFsbW9k ZSkKICAgICAgICAgam56ICAgICAxZgogCiAgICAgICAgIC8qIEluaXRpYWxpemUgQlNTIChubyBu YXN0eSBzdXJwcmlzZXMhKS4gKi8KLSAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX19ic3Nfc3Rh cnQpLCVlZGkKLSAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX19ic3NfZW5kKSwlZWN4CisgICAg ICAgIG1vdiAgICAgJHN5bV9vZmZzZXQoX19ic3Nfc3RhcnQpLCVlZGkKKyAgICAgICAgbW92ICAg ICAkc3ltX29mZnNldChfX2Jzc19lbmQpLCVlY3gKKyAgICAgICAgcHVzaCAgICAlZnMKKyAgICAg ICAgcG9wICAgICAlZXMKICAgICAgICAgc3ViICAgICAlZWRpLCVlY3gKICAgICAgICAgc2hyICAg ICAkMiwlZWN4CiAgICAgICAgIHhvciAgICAgJWVheCwlZWF4CiAgICAgICAgIHJlcCBzdG9zbAor ICAgICAgICBwdXNoICAgICVkcworICAgICAgICBwb3AgICAgICVlcwogCiAxOgogICAgICAgICAv KiBJbnRlcnJvZ2F0ZSBDUFUgZXh0ZW5kZWQgZmVhdHVyZXMgdmlhIENQVUlELiAqLwpAQCAtNDUy LDggKzUzNiw4IEBAIHRyYW1wb2xpbmVfc2V0dXA6CiAgICAgICAgIGpiZSAgICAgMWYKICAgICAg ICAgbW92ICAgICAkMHg4MDAwMDAwMSwlZWF4CiAgICAgICAgIGNwdWlkCi0xOiAgICAgIG1vdiAg ICAgJWVkeCxzeW1fcGh5cyhjcHVpZF9leHRfZmVhdHVyZXMpCi0gICAgICAgIG1vdiAgICAgJWVk eCxzeW1fcGh5cyhib290X2NwdV9kYXRhKStDUFVJTkZPX0ZFQVRVUkVfT0ZGU0VUKFg4Nl9GRUFU VVJFX0xNKQorMTogICAgICBtb3YgICAgICVlZHgsZnNfb2Zmc2V0KGNwdWlkX2V4dF9mZWF0dXJl cykKKyAgICAgICAgbW92ICAgICAlZWR4LGZzX29mZnNldChib290X2NwdV9kYXRhKStDUFVJTkZP X0ZFQVRVUkVfT0ZGU0VUKFg4Nl9GRUFUVVJFX0xNKQogCiAgICAgICAgIC8qIENoZWNrIGZvciBh dmFpbGFiaWxpdHkgb2YgbG9uZyBtb2RlLiAqLwogICAgICAgICBidCAgICAgICRjcHVmZWF0X2Jp dChYODZfRkVBVFVSRV9MTSksJWVkeApAQCAtNDYxLDYyICs1NDUsODggQEAgdHJhbXBvbGluZV9z ZXR1cDoKIAogICAgICAgICAvKiBTdGFzaCBUU0MgdG8gY2FsY3VsYXRlIGEgZ29vZCBhcHByb3hp bWF0aW9uIG9mIHRpbWUtc2luY2UtYm9vdCAqLwogICAgICAgICByZHRzYwotICAgICAgICBtb3Yg ICAgICVlYXgsc3ltX3BoeXMoYm9vdF90c2Nfc3RhbXApCi0gICAgICAgIG1vdiAgICAgJWVkeCxz eW1fcGh5cyhib290X3RzY19zdGFtcCs0KQorICAgICAgICBtb3YgICAgICVlYXgsZnNfb2Zmc2V0 KGJvb3RfdHNjX3N0YW1wKQorICAgICAgICBtb3YgICAgICVlZHgsZnNfb2Zmc2V0KGJvb3RfdHNj X3N0YW1wKSs0CisKKyAgICAgICAgLyogVXBkYXRlIGZyYW1lIGFkZHJlc3NlcyBpbiBwYWdlIHRh Ymxlcy4gKi8KKyAgICAgICAgbW92ICAgICAkKChfX3BhZ2VfdGFibGVzX2VuZC1fX3BhZ2VfdGFi bGVzX3N0YXJ0KS84KSwlZWN4CisxOiAgICAgIHRlc3RsICAgJF9QQUdFX1BSRVNFTlQsZnNfb2Zm c2V0KF9fcGFnZV90YWJsZXNfc3RhcnQpLTgoLCVlY3gsOCkKKyAgICAgICAganogICAgICAyZgor ICAgICAgICBhZGQgICAgICVlc2ksZnNfb2Zmc2V0KF9fcGFnZV90YWJsZXNfc3RhcnQpLTgoLCVl Y3gsOCkKKzI6ICAgICAgbG9vcCAgICAxYgorCisgICAgICAgIC8qIEluaXRpYWxpc2UgTDIgYm9v dC1tYXAvZGlyZWN0IG1hcCBwYWdlIHRhYmxlIGVudHJpZXMgKDE0TUIpLiAqLworICAgICAgICBs ZWEgICAgIGVzaV9vZmZzZXQoc3RhcnQpLCVlYngKKyAgICAgICAgbGVhICAgICAoMTw8TDJfUEFH RVRBQkxFX1NISUZUKSo3KyhQQUdFX0hZUEVSVklTT1J8X1BBR0VfUFNFKSglZWJ4KSwlZWF4Cisg ICAgICAgIHNociAgICAgJChMMl9QQUdFVEFCTEVfU0hJRlQtMyksJWVieAorICAgICAgICBtb3Yg ICAgICQ4LCVlY3gKKzE6ICAgICAgbW92ICAgICAlZWF4LGZzX29mZnNldChsMl9ib290bWFwKS04 KCVlYngsJWVjeCw4KQorICAgICAgICBtb3YgICAgICVlYXgsZnNfb2Zmc2V0KGwyX2lkZW50bWFw KS04KCVlYngsJWVjeCw4KQorICAgICAgICBzdWIgICAgICQoMTw8TDJfUEFHRVRBQkxFX1NISUZU KSwlZWF4CisgICAgICAgIGxvb3AgICAgMWIKKworICAgICAgICAvKiBJbml0aWFsaXNlIEwzIGJv b3QtbWFwIHBhZ2UgZGlyZWN0b3J5IGVudHJ5LiAqLworICAgICAgICBsZWEgICAgIF9fUEFHRV9I WVBFUlZJU09SKyhMMl9QQUdFVEFCTEVfRU5UUklFUyo4KSozK2VzaV9vZmZzZXQobDJfYm9vdG1h cCksJWVheAorICAgICAgICBtb3YgICAgICQ0LCVlY3gKKzE6ICAgICAgbW92ICAgICAlZWF4LGZz X29mZnNldChsM19ib290bWFwKS04KCwlZWN4LDgpCisgICAgICAgIHN1YiAgICAgJChMMl9QQUdF VEFCTEVfRU5UUklFUyo4KSwlZWF4CisgICAgICAgIGxvb3AgICAgMWIKIAogICAgICAgICAvKgog ICAgICAgICAgKiBEdXJpbmcgYm9vdCwgaG9vayA0a0IgbWFwcGluZ3Mgb2YgZmlyc3QgMk1CIG9m IG1lbW9yeSBpbnRvIEwyLgotICAgICAgICAgKiBUaGlzIGF2b2lkcyBtaXhpbmcgY2FjaGFiaWxp dHkgZm9yIHRoZSBsZWdhY3kgVkdBIHJlZ2lvbiwgYW5kIGlzCi0gICAgICAgICAqIGNvcnJlY3Rl ZCB3aGVuIFhlbiByZWxvY2F0ZXMgaXRzZWxmLgorICAgICAgICAgKiBUaGlzIGF2b2lkcyBtaXhp bmcgY2FjaGFiaWxpdHkgZm9yIHRoZSBsZWdhY3kgVkdBIHJlZ2lvbi4KICAgICAgICAgICovCi0g ICAgICAgIG1vdiAgICAgJHN5bV9waHlzKGwxX2lkZW50bWFwKStfX1BBR0VfSFlQRVJWSVNPUiwl ZWRpCi0gICAgICAgIG1vdiAgICAgJWVkaSxzeW1fcGh5cyhsMl94ZW5tYXApCisgICAgICAgIGxl YSAgICAgX19QQUdFX0hZUEVSVklTT1IrZXNpX29mZnNldChsMV9pZGVudG1hcCksJWVkaQorICAg ICAgICBtb3YgICAgICVlZGksZnNfb2Zmc2V0KGwyX2Jvb3RtYXApCiAKICAgICAgICAgLyogQXBw bHkgcmVsb2NhdGlvbnMgdG8gYm9vdHN0cmFwIHRyYW1wb2xpbmUuICovCi0gICAgICAgIG1vdiAg ICAgc3ltX3BoeXModHJhbXBvbGluZV9waHlzKSwlZWR4Ci0gICAgICAgIG1vdiAgICAgJHN5bV9w aHlzKF9fdHJhbXBvbGluZV9yZWxfc3RhcnQpLCVlZGkKKyAgICAgICAgbW92ICAgICBmc19vZmZz ZXQodHJhbXBvbGluZV9waHlzKSwlZWR4CisgICAgICAgIG1vdiAgICAgJHN5bV9vZmZzZXQoX190 cmFtcG9saW5lX3JlbF9zdGFydCksJWVkaQorICAgICAgICBtb3YgICAgICRzeW1fb2Zmc2V0KF9f dHJhbXBvbGluZV9yZWxfc3RvcCksJWVieAogMToKLSAgICAgICAgbW92ICAgICAoJWVkaSksJWVh eAotICAgICAgICBhZGQgICAgICVlZHgsKCVlZGksJWVheCkKKyAgICAgICAgbW92ICAgICAlZnM6 KCVlZGkpLCVlYXgKKyAgICAgICAgYWRkICAgICAlZWR4LCVmczooJWVkaSwlZWF4KQogICAgICAg ICBhZGQgICAgICQ0LCVlZGkKLSAgICAgICAgY21wICAgICAkc3ltX3BoeXMoX190cmFtcG9saW5l X3JlbF9zdG9wKSwlZWRpCisgICAgICAgIGNtcCAgICAgJWVieCwlZWRpCiAgICAgICAgIGpiICAg ICAgMWIKIAogICAgICAgICAvKiBQYXRjaCBpbiB0aGUgdHJhbXBvbGluZSBzZWdtZW50LiAqLwog ICAgICAgICBzaHIgICAgICQ0LCVlZHgKLSAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX190cmFt cG9saW5lX3NlZ19zdGFydCksJWVkaQorICAgICAgICBtb3YgICAgICRzeW1fb2Zmc2V0KF9fdHJh bXBvbGluZV9zZWdfc3RhcnQpLCVlZGkKKyAgICAgICAgbW92ICAgICAkc3ltX29mZnNldChfX3Ry YW1wb2xpbmVfc2VnX3N0b3ApLCVlYngKIDE6Ci0gICAgICAgIG1vdiAgICAgKCVlZGkpLCVlYXgK LSAgICAgICAgbW92ICAgICAlZHgsKCVlZGksJWVheCkKKyAgICAgICAgbW92ICAgICAlZnM6KCVl ZGkpLCVlYXgKKyAgICAgICAgbW92ICAgICAlZHgsJWZzOiglZWRpLCVlYXgpCiAgICAgICAgIGFk ZCAgICAgJDQsJWVkaQotICAgICAgICBjbXAgICAgICRzeW1fcGh5cyhfX3RyYW1wb2xpbmVfc2Vn X3N0b3ApLCVlZGkKKyAgICAgICAgY21wICAgICAlZWJ4LCVlZGkKICAgICAgICAgamIgICAgICAx YgogCiAgICAgICAgIC8qIERvIG5vdCBwYXJzZSBjb21tYW5kIGxpbmUgb24gRUZJIHBsYXRmb3Jt IGhlcmUuICovCi0gICAgICAgIGNtcGIgICAgJDAsc3ltX3BoeXMoc2tpcF9yZWFsbW9kZSkKKyAg ICAgICAgY21wYiAgICAkMCxmc19vZmZzZXQoc2tpcF9yZWFsbW9kZSkKICAgICAgICAgam56ICAg ICAxZgogCiAgICAgICAgIC8qIEJhaWwgaWYgdGhlcmUgaXMgbm8gY29tbWFuZCBsaW5lIHRvIHBh cnNlLiAqLwotICAgICAgICBtb3YgICAgIHN5bV9waHlzKG11bHRpYm9vdF9wdHIpLCVlYngKKyAg ICAgICAgbW92ICAgICBmc19vZmZzZXQobXVsdGlib290X3B0ciksJWVieAogICAgICAgICB0ZXN0 bCAgICRNQklfQ01ETElORSxNQl9mbGFncyglZWJ4KQogICAgICAgICBqeiAgICAgIDFmCiAKLSAg ICAgICAgcHVzaGwgICAkc3ltX3BoeXMoZWFybHlfYm9vdF9vcHRzKQorICAgICAgICBsZWEgICAg IGVzaV9vZmZzZXQoZWFybHlfYm9vdF9vcHRzKSwlZWF4CisgICAgICAgIHB1c2ggICAgJWVheAog ICAgICAgICBwdXNobCAgIE1CX2NtZGxpbmUoJWVieCkKICAgICAgICAgY2FsbCAgICBjbWRsaW5l X3BhcnNlX2Vhcmx5CiAKIDE6CiAgICAgICAgIC8qIFN3aXRjaCB0byBsb3ctbWVtb3J5IHN0YWNr LiAgKi8KLSAgICAgICAgbW92ICAgICBzeW1fcGh5cyh0cmFtcG9saW5lX3BoeXMpLCVlZGkKKyAg ICAgICAgbW92ICAgICBmc19vZmZzZXQodHJhbXBvbGluZV9waHlzKSwlZWRpCiAgICAgICAgIGxl YSAgICAgMHgxMDAwMCglZWRpKSwlZXNwCiAgICAgICAgIGxlYSAgICAgdHJhbXBvbGluZV9ib290 X2NwdV9lbnRyeS10cmFtcG9saW5lX3N0YXJ0KCVlZGkpLCVlYXgKICAgICAgICAgcHVzaGwgICAk Qk9PVF9DUzMyCiAgICAgICAgIHB1c2ggICAgJWVheAogCiAgICAgICAgIC8qIENvcHkgYm9vdHN0 cmFwIHRyYW1wb2xpbmUgdG8gbG93IG1lbW9yeSwgYmVsb3cgMU1CLiAqLwotICAgICAgICBtb3Yg ICAgICRzeW1fcGh5cyh0cmFtcG9saW5lX3N0YXJ0KSwlZXNpCisgICAgICAgIG1vdiAgICAgJHN5 bV9vZmZzZXQodHJhbXBvbGluZV9zdGFydCksJWVzaQogICAgICAgICBtb3YgICAgICQoKHRyYW1w b2xpbmVfZW5kIC0gdHJhbXBvbGluZV9zdGFydCkgLyA0KSwlZWN4Ci0gICAgICAgIHJlcCBtb3Zz bAorICAgICAgICByZXAgbW92c2wgJWZzOiglZXNpKSwlZXM6KCVlZGkpCiAKICAgICAgICAgLyog SnVtcCBpbnRvIHRoZSByZWxvY2F0ZWQgdHJhbXBvbGluZS4gKi8KICAgICAgICAgbHJldApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvdHJhbXBvbGluZS5TIGIveGVuL2FyY2gveDg2L2Jv b3QvdHJhbXBvbGluZS5TCmluZGV4IDhhMzI3MjguLmNmYjQ3YTQgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC90cmFtcG9s aW5lLlMKQEAgLTU0LDEyICs1NCwyMCBAQCB0cmFtcG9saW5lX2dkdDoKICAgICAgICAgLyogMHgw MDI4OiByZWFsLW1vZGUgZGF0YSBAIEJPT1RfVFJBTVBPTElORSAqLwogICAgICAgICAubG9uZyAg IDB4MDAwMGZmZmYKICAgICAgICAgLmxvbmcgICAweDAwMDA5MjAwCisgICAgICAgIC8qCisgICAg ICAgICAqIDB4MDAzMDogcmluZyAwIFhlbiBkYXRhLCAxNiBNaUIgc2l6ZSwgYmFzZQorICAgICAg ICAgKiBhZGRyZXNzIGlzIGNvbXB1dGVkIGR1cmluZyBydW50aW1lLgorICAgICAgICAgKi8KKyAg ICAgICAgLnF1YWQgICAweDAwYzA5MjAwMDAwMDEwMDAKIAogICAgICAgICAucHVzaHNlY3Rpb24g LnRyYW1wb2xpbmVfcmVsLCAiYSIKICAgICAgICAgLmxvbmcgICB0cmFtcG9saW5lX2dkdCArIEJP T1RfUFNFVURPUk1fQ1MgKyAyIC0gLgogICAgICAgICAubG9uZyAgIHRyYW1wb2xpbmVfZ2R0ICsg Qk9PVF9QU0VVRE9STV9EUyArIDIgLSAuCiAgICAgICAgIC5wb3BzZWN0aW9uCiAKK0dMT0JBTCh4 ZW5faW1nX2xvYWRfYmFzZV9hZGRyKQorICAgICAgICAubG9uZyAgIDAKKwogR0xPQkFMKHRyYW1w b2xpbmVfbWlzY19lbmFibGVfb2ZmKQogICAgICAgICAucXVhZCAgIDAKIApAQCAtODcsNyArOTUs NyBAQCB0cmFtcG9saW5lX3Byb3Rtb2RlX2VudHJ5OgogICAgICAgICBtb3YgICAgICVlY3gsJWNy NAogCiAgICAgICAgIC8qIExvYWQgcGFnZXRhYmxlIGJhc2UgcmVnaXN0ZXIuICovCi0gICAgICAg IG1vdiAgICAgJHN5bV9waHlzKGlkbGVfcGdfdGFibGUpLCVlYXgKKyAgICAgICAgbW92ICAgICAk c3ltX29mZnNldChpZGxlX3BnX3RhYmxlKSwlZWF4CiAgICAgICAgIGFkZCAgICAgYm9vdHN5bV9y ZWwodHJhbXBvbGluZV94ZW5fcGh5c19zdGFydCw0LCVlYXgpCiAgICAgICAgIG1vdiAgICAgJWVh eCwlY3IzCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ib290L3dha2V1cC5TIGIveGVuL2Fy Y2gveDg2L2Jvb3Qvd2FrZXVwLlMKaW5kZXggMDhlYTliMi4uM2M1NmQxMiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2Jvb3Qvd2FrZXVwLlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3Qvd2FrZXVw LlMKQEAgLTEyMCw3ICsxMjAsNyBAQCB3YWtldXBfMzI6CiAgICAgICAgIG1vdiAgICAgJGJvb3Rz eW1fcmVsKHdha2V1cF9zdGFjaywgNCwgJWVzcCkKIAogICAgICAgICAjIGNoZWNrIHNhdmVkIG1h Z2ljIGFnYWluCi0gICAgICAgIG1vdiAgICAgJHN5bV9waHlzKHNhdmVkX21hZ2ljKSwgJWVheAor ICAgICAgICBtb3YgICAgICRzeW1fb2Zmc2V0KHNhdmVkX21hZ2ljKSwlZWF4CiAgICAgICAgIGFk ZCAgICAgYm9vdHN5bV9yZWwodHJhbXBvbGluZV94ZW5fcGh5c19zdGFydCwgNCwgJWVheCkKICAg ICAgICAgbW92ICAgICAoJWVheCksICVlYXgKICAgICAgICAgY21wICAgICAkMHg5YWJjZGVmMCwg JWVheApAQCAtMTMzLDcgKzEzMyw3IEBAIHdha2V1cF8zMjoKICAgICAgICAgbW92ICAgICAlZWN4 LCAlY3I0CiAKICAgICAgICAgLyogTG9hZCBwYWdldGFibGUgYmFzZSByZWdpc3RlciAqLwotICAg ICAgICBtb3YgICAgICRzeW1fcGh5cyhpZGxlX3BnX3RhYmxlKSwlZWF4CisgICAgICAgIG1vdiAg ICAgJHN5bV9vZmZzZXQoaWRsZV9wZ190YWJsZSksJWVheAogICAgICAgICBhZGQgICAgIGJvb3Rz eW1fcmVsKHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQsNCwlZWF4KQogICAgICAgICBtb3YgICAg ICVlYXgsJWNyMwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUyBiL3hl bi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TCmluZGV4IDlhYjkyMzEuLjk5MjlkZDAgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TCisrKyBiL3hlbi9hcmNoL3g4Ni9ib290L3g4 Nl82NC5TCkBAIC04MSw3ICs4MSw2IEBAIEdMT0JBTChib290X2NwdV9jb21wYXRfZ2R0X3RhYmxl KQogICAgICAgICAucXVhZCAweDAwMDA5MTAwMDAwMDAwMDAgICAgIC8qIHBlci1DUFUgZW50cnkg KGxpbWl0ID09IGNwdSkgICAgICAqLwogICAgICAgICAuYWxpZ24gUEFHRV9TSVpFLCAwCiAKLUdM T0JBTChfX3BhZ2VfdGFibGVzX3N0YXJ0KQogLyoKICAqIE1hcHBpbmcgb2YgZmlyc3QgMiBtZWdh Ynl0ZXMgb2YgbWVtb3J5LiBUaGlzIGlzIG1hcHBlZCB3aXRoIDRrQiBtYXBwaW5ncwogICogdG8g YXZvaWQgdHlwZSBjb25mbGljdHMgd2l0aCBmaXhlZC1yYW5nZSBNVFJScyBjb3ZlcmluZyB0aGUg bG93ZXN0IG1lZ2FieXRlCkBAIC0xMDEsMTggKzEwMCwxMiBAQCBHTE9CQUwobDFfaWRlbnRtYXAp CiAgICAgICAgIC5lbmRyCiAgICAgICAgIC5zaXplIGwxX2lkZW50bWFwLCAuIC0gbDFfaWRlbnRt YXAKIAotLyoKLSAqIFNwYWNlIGZvciBtYXBwaW5nIHRoZSBmaXJzdCA0R0Igb2YgbWVtb3J5LCB3 aXRoIHRoZSBmaXJzdCAxNiBtZWdhYnl0ZXMKLSAqIGFjdHVhbHkgbWFwcGVkIChtb3N0bHkgdXNp bmcgc3VwZXJwYWdlcykuICBVc2VzIDR4IDRrIHBhZ2VzLgotICovCitHTE9CQUwoX19wYWdlX3Rh Ymxlc19zdGFydCkKKworLyogU3BhY2UgZm9yIG1hcHBpbmcgdGhlIGZpcnN0IDRHQiBvZiBtZW1v cnkuIFVzZXMgNHggNGsgcGFnZXMuICovCiBHTE9CQUwobDJfaWRlbnRtYXApCi0gICAgICAgIC5x dWFkIHN5bV9waHlzKGwxX2lkZW50bWFwKSArIF9fUEFHRV9IWVBFUlZJU09SCi0gICAgICAgIGlk eCA9IDEKLSAgICAgICAgLnJlcHQgNwotICAgICAgICAucXVhZCAoaWR4IDw8IEwyX1BBR0VUQUJM RV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QU0UKLSAgICAgICAgaWR4ID0gaWR4 ICsgMQotICAgICAgICAuZW5kcgotICAgICAgICAuZmlsbCA0ICogTDJfUEFHRVRBQkxFX0VOVFJJ RVMgLSA4LCA4LCAwCisgICAgICAgIC5xdWFkIHN5bV9vZmZzZXQobDFfaWRlbnRtYXApICsgX19Q QUdFX0hZUEVSVklTT1IKKyAgICAgICAgLmZpbGwgNCAqIEwyX1BBR0VUQUJMRV9FTlRSSUVTIC0g MSwgOCwgMAogICAgICAgICAuc2l6ZSBsMl9pZGVudG1hcCwgLiAtIGwyX2lkZW50bWFwCiAKIC8q CkBAIC0xMjEsOSArMTE0LDEwIEBAIEdMT0JBTChsMl9pZGVudG1hcCkKICAqIHBhZ2UuCiAgKi8K IEdMT0JBTChsMl94ZW5tYXApCi0gICAgICAgIGlkeCA9IDAKLSAgICAgICAgLnJlcHQgOAotICAg ICAgICAucXVhZCBzeW1fcGh5cyhfX2ltYWdlX2Jhc2VfXykgKyAoaWR4IDw8IEwyX1BBR0VUQUJM RV9TSElGVCkgKyAoUEFHRV9IWVBFUlZJU09SIHwgX1BBR0VfUFNFKQorICAgICAgICAucXVhZCAw CisgICAgICAgIGlkeCA9IDEKKyAgICAgICAgLnJlcHQgNworICAgICAgICAucXVhZCBzeW1fb2Zm c2V0KF9faW1hZ2VfYmFzZV9fKSArIChpZHggPDwgTDJfUEFHRVRBQkxFX1NISUZUKSArIChQQUdF X0hZUEVSVklTT1IgfCBfUEFHRV9QU0UpCiAgICAgICAgIGlkeCA9IGlkeCArIDEKICAgICAgICAg LmVuZHIKICAgICAgICAgLmZpbGwgTDJfUEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCkBAIC0x MzQsNyArMTI4LDcgQEAgbDJfZml4bWFwOgogICAgICAgICBpZHggPSAwCiAgICAgICAgIC5yZXB0 IEwyX1BBR0VUQUJMRV9FTlRSSUVTCiAgICAgICAgIC5pZiBpZHggPT0gbDJfdGFibGVfb2Zmc2V0 KEZJWEFERFJfVE9QIC0gMSkKLSAgICAgICAgLnF1YWQgc3ltX3BoeXMobDFfZml4bWFwKSArIF9f UEFHRV9IWVBFUlZJU09SCisgICAgICAgIC5xdWFkIHN5bV9vZmZzZXQobDFfZml4bWFwKSArIF9f UEFHRV9IWVBFUlZJU09SCiAgICAgICAgIC5lbHNlCiAgICAgICAgIC5xdWFkIDAKICAgICAgICAg LmVuZGlmCkBAIC0xNDYsNyArMTQwLDcgQEAgbDJfZml4bWFwOgogR0xPQkFMKGwzX2lkZW50bWFw KQogICAgICAgICBpZHggPSAwCiAgICAgICAgIC5yZXB0IDQKLSAgICAgICAgLnF1YWQgc3ltX3Bo eXMobDJfaWRlbnRtYXApICsgKGlkeCA8PCBQQUdFX1NISUZUKSArIF9fUEFHRV9IWVBFUlZJU09S CisgICAgICAgIC5xdWFkIHN5bV9vZmZzZXQobDJfaWRlbnRtYXApICsgKGlkeCA8PCBQQUdFX1NI SUZUKSArIF9fUEFHRV9IWVBFUlZJU09SCiAgICAgICAgIGlkeCA9IGlkeCArIDEKICAgICAgICAg LmVuZHIKICAgICAgICAgLmZpbGwgTDNfUEFHRVRBQkxFX0VOVFJJRVMgLSA0LCA4LCAwCkBAIC0x NTcsOSArMTUxLDkgQEAgbDNfeGVubWFwOgogICAgICAgICBpZHggPSAwCiAgICAgICAgIC5yZXB0 IEwzX1BBR0VUQUJMRV9FTlRSSUVTCiAgICAgICAgIC5pZiBpZHggPT0gbDNfdGFibGVfb2Zmc2V0 KFhFTl9WSVJUX1NUQVJUKQotICAgICAgICAucXVhZCBzeW1fcGh5cyhsMl94ZW5tYXApICsgX19Q QUdFX0hZUEVSVklTT1IKKyAgICAgICAgLnF1YWQgc3ltX29mZnNldChsMl94ZW5tYXApICsgX19Q QUdFX0hZUEVSVklTT1IKICAgICAgICAgLmVsc2VpZiBpZHggPT0gbDNfdGFibGVfb2Zmc2V0KEZJ WEFERFJfVE9QIC0gMSkKLSAgICAgICAgLnF1YWQgc3ltX3BoeXMobDJfZml4bWFwKSArIF9fUEFH RV9IWVBFUlZJU09SCisgICAgICAgIC5xdWFkIHN5bV9vZmZzZXQobDJfZml4bWFwKSArIF9fUEFH RV9IWVBFUlZJU09SCiAgICAgICAgIC5lbHNlCiAgICAgICAgIC5xdWFkIDAKICAgICAgICAgLmVu ZGlmCkBAIC0xNjksMTMgKzE2MywxMyBAQCBsM194ZW5tYXA6CiAKIC8qIFRvcC1sZXZlbCBtYXN0 ZXIgKGFuZCBpZGxlLWRvbWFpbikgcGFnZSBkaXJlY3RvcnkuICovCiBHTE9CQUwoaWRsZV9wZ190 YWJsZSkKLSAgICAgICAgLnF1YWQgc3ltX3BoeXMobDNfYm9vdG1hcCkgKyBfX1BBR0VfSFlQRVJW SVNPUgorICAgICAgICAucXVhZCBzeW1fb2Zmc2V0KGwzX2Jvb3RtYXApICsgX19QQUdFX0hZUEVS VklTT1IKICAgICAgICAgaWR4ID0gMQogICAgICAgICAucmVwdCBMNF9QQUdFVEFCTEVfRU5UUklF UyAtIDEKICAgICAgICAgLmlmIGlkeCA9PSBsNF90YWJsZV9vZmZzZXQoRElSRUNUTUFQX1ZJUlRf U1RBUlQpCi0gICAgICAgIC5xdWFkIHN5bV9waHlzKGwzX2lkZW50bWFwKSArIF9fUEFHRV9IWVBF UlZJU09SCisgICAgICAgIC5xdWFkIHN5bV9vZmZzZXQobDNfaWRlbnRtYXApICsgX19QQUdFX0hZ UEVSVklTT1IKICAgICAgICAgLmVsc2VpZiBpZHggPT0gbDRfdGFibGVfb2Zmc2V0KFhFTl9WSVJU X1NUQVJUKQotICAgICAgICAucXVhZCBzeW1fcGh5cyhsM194ZW5tYXApICsgX19QQUdFX0hZUEVS VklTT1IKKyAgICAgICAgLnF1YWQgc3ltX29mZnNldChsM194ZW5tYXApICsgX19QQUdFX0hZUEVS VklTT1IKICAgICAgICAgLmVsc2UKICAgICAgICAgLnF1YWQgMAogICAgICAgICAuZW5kaWYKQEAg LTE4NSwyMSArMTc5LDE0IEBAIEdMT0JBTChpZGxlX3BnX3RhYmxlKQogCiBHTE9CQUwoX19wYWdl X3RhYmxlc19lbmQpCiAKLS8qIEluaXQgcGFnZXRhYmxlcy4gIEVub3VnaCBwYWdlIGRpcmVjdG9y aWVzIHRvIG1hcCBpbnRvIHRoZSBib3R0b20gMUdCLiAqLworLyogSW5pdCBwYWdldGFibGVzLiBF bm91Z2ggcGFnZSBkaXJlY3RvcmllcyB0byBtYXAgaW50byA0R0IuICovCiAgICAgICAgIC5zZWN0 aW9uIC5pbml0LmRhdGEsICJhIiwgQHByb2diaXRzCiAgICAgICAgIC5hbGlnbiBQQUdFX1NJWkUs IDAKIAogR0xPQkFMKGwyX2Jvb3RtYXApCi0gICAgICAgIC5xdWFkIHN5bV9waHlzKGwxX2lkZW50 bWFwKSArIF9fUEFHRV9IWVBFUlZJU09SCi0gICAgICAgIGlkeCA9IDEKLSAgICAgICAgLnJlcHQg NwotICAgICAgICAucXVhZCAoaWR4IDw8IEwyX1BBR0VUQUJMRV9TSElGVCkgfCBfX1BBR0VfSFlQ RVJWSVNPUiB8IF9QQUdFX1BTRQotICAgICAgICBpZHggPSBpZHggKyAxCi0gICAgICAgIC5lbmRy Ci0gICAgICAgIC5maWxsIEwyX1BBR0VUQUJMRV9FTlRSSUVTIC0gOCwgOCwgMAorICAgICAgICAu ZmlsbCA0ICogTDJfUEFHRVRBQkxFX0VOVFJJRVMsIDgsIDAKICAgICAgICAgLnNpemUgbDJfYm9v dG1hcCwgLiAtIGwyX2Jvb3RtYXAKIAogR0xPQkFMKGwzX2Jvb3RtYXApCi0gICAgICAgIC5xdWFk IHN5bV9waHlzKGwyX2Jvb3RtYXApICsgX19QQUdFX0hZUEVSVklTT1IKLSAgICAgICAgLmZpbGwg TDNfUEFHRVRBQkxFX0VOVFJJRVMgLSAxLCA4LCAwCisgICAgICAgIC5maWxsIEwzX1BBR0VUQUJM RV9FTlRSSUVTLCA4LCAwCiAgICAgICAgIC5zaXplIGwzX2Jvb3RtYXAsIC4gLSBsM19ib290bWFw CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZWZpL2VmaS1ib290LmggYi94ZW4vYXJjaC94ODYv ZWZpL2VmaS1ib290LmgKaW5kZXggMjYyMmNmNy4uODJmNDIxNiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2VmaS9lZmktYm9vdC5oCisrKyBiL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaApA QCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgX19pbml0IGZyZWVfZWJtYWxsb2NfdW51c2VkX21lbSh2 b2lkKQogCiAgICAgaWYgKCBlYm1hbGxvY19mcmVlICkKICAgICB7Ci0gICAgICAgIHN0YXJ0ID0g KHVuc2lnbmVkIGxvbmcpZWJtYWxsb2NfZnJlZSAtIHhlbl9waHlzX3N0YXJ0OworICAgICAgICBz dGFydCA9ICh1bnNpZ25lZCBsb25nKWVibWFsbG9jX2ZyZWUgLSB4ZW5faW1nX2xvYWRfYmFzZV9h ZGRyOwogICAgICAgICBzdGFydCA9IFBBR0VfQUxJR04oc3RhcnQgKyBYRU5fVklSVF9TVEFSVCk7 CiAgICAgfQogICAgIGVsc2UKQEAgLTY3OSw2ICs2NzksNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQg ZWZpX2FyY2hfbG9hZF9hZGRyX2NoZWNrKEVGSV9MT0FERURfSU1BR0UgKmxvYWRlZF9pbWFnZSkK ICAgICAgICAgYmxleGl0KEwiWGVuIG11c3QgYmUgbG9hZGVkIGJlbG93IDRHYi4iKTsKICAgICBp ZiAoIHhlbl9waHlzX3N0YXJ0ICYgKCgxIDw8IEwyX1BBR0VUQUJMRV9TSElGVCkgLSAxKSApCiAg ICAgICAgIGJsZXhpdChMIlhlbiBtdXN0IGJlIGxvYWRlZCBhdCBhIDJNYiBib3VuZGFyeS4iKTsK KyAgICB4ZW5faW1nX2xvYWRfYmFzZV9hZGRyID0geGVuX3BoeXNfc3RhcnQ7CiAgICAgdHJhbXBv bGluZV94ZW5fcGh5c19zdGFydCA9IHhlbl9waHlzX3N0YXJ0OwogfQogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IGJjNDgzNTEu Ljk3MDZiNDMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9zZXR1cC5jCkBAIC0yODYsOSArMjg2LDYgQEAgc3RhdGljIHZvaWQgKl9faW5pdCBib290 c3RyYXBfbWFwKGNvbnN0IG1vZHVsZV90ICptb2QpCiAgICAgaWYgKCBzdGFydCA+PSBlbmQgKQog ICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmICggZW5kIDw9IEJPT1RTVFJBUF9NQVBfQkFT RSApCi0gICAgICAgIHJldHVybiAodm9pZCAqKSh1bnNpZ25lZCBsb25nKXN0YXJ0OwotCiAgICAg cmV0ID0gKHZvaWQgKikobWFwX2N1ciArICh1bnNpZ25lZCBsb25nKShzdGFydCAmIG1hc2spKTsK ICAgICBzdGFydCAmPSB+bWFzazsKICAgICBlbmQgPSAoZW5kICsgbWFzaykgJiB+bWFzazsKQEAg LTY3NCw2ICs2NzEsOCBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25l ZCBsb25nIG1iaV9wKQogCiAgICAgcHJpbnRrKCJDb21tYW5kIGxpbmU6ICVzXG4iLCBjbWRsaW5l KTsKIAorICAgIHByaW50aygiWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzOiAweCUwOHhcbiIs IHhlbl9pbWdfbG9hZF9iYXNlX2FkZHIpOworCiAgICAgcHJpbnRrKCJWaWRlbyBpbmZvcm1hdGlv bjpcbiIpOwogCiAgICAgLyogUHJpbnQgVkdBIGRpc3BsYXkgbW9kZSBpbmZvcm1hdGlvbi4gKi8K QEAgLTg2MSwxNSArODYwLDE3IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVu c2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgIGhpZ2htZW1fc3RhcnQgJj0gfigoMVVMIDw8IEwz X1BBR0VUQUJMRV9TSElGVCkgLSAxKTsKICNlbmRpZgogCisgICAgLyogRG8gbm90IHJlbG9jYXRl IFhlbiBpbWFnZSBpZiBib290IGxvYWRlciBkaWQgd29yayBmb3IgdXMuICovCisgICAgaWYgKCB4 ZW5faW1nX2xvYWRfYmFzZV9hZGRyICkKKyAgICAgICAgeGVuX3BoeXNfc3RhcnQgPSB4ZW5faW1n X2xvYWRfYmFzZV9hZGRyOworCiAgICAgZm9yICggaSA9IGJvb3RfZTgyMC5ucl9tYXAtMTsgaSA+ PSAwOyBpLS0gKQogICAgIHsKICAgICAgICAgdWludDY0X3QgcywgZSwgbWFzayA9ICgxVUwgPDwg TDJfUEFHRVRBQkxFX1NISUZUKSAtIDE7CiAgICAgICAgIHVpbnQ2NF90IGVuZCwgbGltaXQgPSBB UlJBWV9TSVpFKGwyX2lkZW50bWFwKSA8PCBMMl9QQUdFVEFCTEVfU0hJRlQ7CiAKLSAgICAgICAg LyogU3VwZXJwYWdlLWFsaWduZWQgY2h1bmtzIGZyb20gQk9PVFNUUkFQX01BUF9CQVNFLiAqLwog ICAgICAgICBzID0gKGJvb3RfZTgyMC5tYXBbaV0uYWRkciArIG1hc2spICYgfm1hc2s7CiAgICAg ICAgIGUgPSAoYm9vdF9lODIwLm1hcFtpXS5hZGRyICsgYm9vdF9lODIwLm1hcFtpXS5zaXplKSAm IH5tYXNrOwotICAgICAgICBzID0gbWF4X3QodWludDY0X3QsIHMsIEJPT1RTVFJBUF9NQVBfQkFT RSk7CiAgICAgICAgIGlmICggKGJvb3RfZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkgfHwg KHMgPj0gZSkgKQogICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTkwMSw3ICs5MDIsNiBAQCB2 b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAg ICAgICAgICAgbDRfcGdlbnRyeV90ICpwbDRlOwogICAgICAgICAgICAgbDNfcGdlbnRyeV90ICpw bDNlOwogICAgICAgICAgICAgbDJfcGdlbnRyeV90ICpwbDJlOwotICAgICAgICAgICAgdWludDY0 X3QgbG9hZF9zdGFydDsKICAgICAgICAgICAgIGludCBpLCBqLCBrOwogCiAgICAgICAgICAgICAv KiBTZWxlY3QgcmVsb2NhdGlvbiBhZGRyZXNzLiAqLwpAQCAtOTE1LDkgKzkxNSw4IEBAIHZvaWQg X19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAg ICAgICAgKiB3aXRoIGEgYmFycmllcigpLiBBZnRlciB0aGlzIHdlIG11c3QgKm5vdCogbW9kaWZ5 IHN0YXRpYy9nbG9iYWwKICAgICAgICAgICAgICAqIGRhdGEgdW50aWwgYWZ0ZXIgd2UgaGF2ZSBz d2l0Y2hlZCB0byB0aGUgcmVsb2NhdGVkIHBhZ2V0YWJsZXMhCiAgICAgICAgICAgICAgKi8KLSAg ICAgICAgICAgIGxvYWRfc3RhcnQgPSAodW5zaWduZWQgbG9uZylfc3RhcnQgLSBYRU5fVklSVF9T VEFSVDsKICAgICAgICAgICAgIGJhcnJpZXIoKTsKLSAgICAgICAgICAgIG1vdmVfbWVtb3J5KGUg KyBsb2FkX3N0YXJ0LCBsb2FkX3N0YXJ0LCBfZW5kIC0gX3N0YXJ0LCAxKTsKKyAgICAgICAgICAg IG1vdmVfbWVtb3J5KGUgKyBYRU5fSU1HX09GRlNFVCwgWEVOX0lNR19PRkZTRVQsIF9lbmQgLSBf c3RhcnQsIDEpOwogCiAgICAgICAgICAgICAvKiBXYWxrIGluaXRpYWwgcGFnZXRhYmxlcywgcmVs b2NhdGluZyBwYWdlIGRpcmVjdG9yeSBlbnRyaWVzLiAqLwogICAgICAgICAgICAgcGw0ZSA9IF9f dmEoX19wYShpZGxlX3BnX3RhYmxlKSk7CkBAIC05MzMsNyArOTMyLDcgQEAgdm9pZCBfX2luaXQg bm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICAgICAgICAgICAg ICAgICAgLyogTm90IHByZXNlbnQsIDFHQiBtYXBwaW5nLCBvciBhbHJlYWR5IHJlbG9jYXRlZD8g Ki8KICAgICAgICAgICAgICAgICAgICAgaWYgKCAhKGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BB R0VfUFJFU0VOVCkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAobDNlX2dldF9mbGFncygq cGwzZSkgJiBfUEFHRV9QU0UpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgKGwzZV9nZXRf cGZuKCpwbDNlKSA+IDB4MTAwMCkgKQorICAgICAgICAgICAgICAgICAgICAgICAgIChsM2VfZ2V0 X3BmbigqcGwzZSkgPiBQRk5fRE9XTih4ZW5fcGh5c19zdGFydCkpICkKICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAqcGwzZSA9IGwzZV9mcm9t X2ludHB0ZShsM2VfZ2V0X2ludHB0ZSgqcGwzZSkgKwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB4ZW5fcGh5c19zdGFydCk7CkBAIC05NDMsNyArOTQyLDcgQEAg dm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIE5vdCBwcmVzZW50LCBQU0UsIG9yIGFscmVhZHkgcmVs b2NhdGVkPyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAhKGwyZV9nZXRfZmxhZ3Mo KnBsMmUpICYgX1BBR0VfUFJFU0VOVCkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFNFKSB8fAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobDJlX2dldF9wZm4oKnBsMmUpID4gMHgxMDAwKSApCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChsMmVfZ2V0X3BmbigqcGwyZSkgPiBQRk5fRE9XTih4ZW5fcGh5c19z dGFydCkpICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg ICAgICAgICAgICAgICAgICpwbDJlID0gbDJlX2Zyb21faW50cHRlKGwyZV9nZXRfaW50cHRlKCpw bDJlKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 ZW5fcGh5c19zdGFydCk7CkBAIC05NTcsMTUgKzk1NiwxNCBAQCB2b2lkIF9faW5pdCBub3JldHVy biBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgICAgICAgICAgICogVW5kbyB0 aGUgdGVtcG9yYXJ5LWhvb2tpbmcgb2YgdGhlIGwxX2lkZW50bWFwLiAgX18yTV90ZXh0X3N0YXJ0 CiAgICAgICAgICAgICAgKiBpcyBjb250YWluZWQgaW4gdGhpcyBQVEUuCiAgICAgICAgICAgICAg Ki8KLSAgICAgICAgICAgIEJVR19PTihsMl90YWJsZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpX2Vy b2RhdGEpID09Ci0gICAgICAgICAgICAgICAgICAgbDJfdGFibGVfb2Zmc2V0KCh1bnNpZ25lZCBs b25nKV9zdGV4dCkpOwogICAgICAgICAgICAgKnBsMmUrKyA9IGwyZV9mcm9tX3Bmbih4ZW5fcGh5 c19zdGFydCA+PiBQQUdFX1NISUZULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQQUdFX0hZUEVSVklTT1JfUlggfCBfUEFHRV9QU0UpOwogICAgICAgICAgICAgZm9yICggaSA9 IDE7IGkgPCBMMl9QQUdFVEFCTEVfRU5UUklFUzsgaSsrLCBwbDJlKysgKQogICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnczsKIAotICAgICAgICAgICAgICAg IGlmICggIShsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQpICkKKyAgICAgICAg ICAgICAgICBpZiAoICEobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFHRV9QUkVTRU5UKSB8fAor ICAgICAgICAgICAgICAgICAgICAgKGwyZV9nZXRfcGZuKCpwbDJlKSA+IFBGTl9ET1dOKHhlbl9w aHlzX3N0YXJ0KSkgKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAg ICAgICAgIGlmICggIXVzaW5nXzJNX21hcHBpbmcoKSApCkBAIC0xMDE5LDYgKzEwMTcsOCBAQCB2 b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAg ICAgICAgICAgICAgIDogIm1lbW9yeSIgKTsKIAogICAgICAgICAgICAgYm9vdHN0cmFwX21hcChO VUxMKTsKKworICAgICAgICAgICAgcHJpbnRrKCJOZXcgWGVuIGltYWdlIGJhc2UgYWRkcmVzczog MHglMDhseFxuIiwgeGVuX3BoeXNfc3RhcnQpOwogICAgICAgICB9CiAKICAgICAgICAgLyogSXMg dGhlIHJlZ2lvbiBzdWl0YWJsZSBmb3IgcmVsb2NhdGluZyB0aGUgbXVsdGlib290IG1vZHVsZXM/ ICovCkBAIC0xMDgyLDYgKzEwODIsNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hl bih1bnNpZ25lZCBsb25nIG1iaV9wKQogCiAgICAgaWYgKCAheGVuX3BoeXNfc3RhcnQgKQogICAg ICAgICBwYW5pYygiTm90IGVub3VnaCBtZW1vcnkgdG8gcmVsb2NhdGUgWGVuLiIpOworCiAgICAg cmVzZXJ2ZV9lODIwX3JhbSgmYm9vdF9lODIwLCBfX3BhKCZfc3RhcnQpLCBfX3BhKCZfZW5kKSk7 CiAKICAgICAvKiBMYXRlIGtleGVjIHJlc2VydmF0aW9uIChkeW5hbWljIHN0YXJ0IGFkZHJlc3Mp LiAqLwpAQCAtMTE1NCwxNCArMTE1NSwxMiBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0 X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogCiAgICAgICAgIHNldF9wZHhfcmFuZ2UocyA+PiBQ QUdFX1NISUZULCBlID4+IFBBR0VfU0hJRlQpOwogCi0gICAgICAgIC8qIE5lZWQgdG8gY3JlYXRl IG1hcHBpbmdzIGFib3ZlIEJPT1RTVFJBUF9NQVBfQkFTRS4gKi8KLSAgICAgICAgbWFwX3MgPSBt YXhfdCh1aW50NjRfdCwgcywgQk9PVFNUUkFQX01BUF9CQVNFKTsKKyAgICAgICAgbWFwX3MgPSBz OwogICAgICAgICBtYXBfZSA9IG1pbl90KHVpbnQ2NF90LCBlLAogICAgICAgICAgICAgICAgICAg ICAgIEFSUkFZX1NJWkUobDJfaWRlbnRtYXApIDw8IEwyX1BBR0VUQUJMRV9TSElGVCk7CiAKICAg ICAgICAgLyogUGFzcyBtYXBwZWQgbWVtb3J5IHRvIGFsbG9jYXRvciAvYmVmb3JlLyBjcmVhdGlu ZyBuZXcgbWFwcGluZ3MuICovCiAgICAgICAgIGluaXRfYm9vdF9wYWdlcyhzLCBtaW4obWFwX3Ms IGUpKTsKLSAgICAgICAgcyA9IG1hcF9zOwogICAgICAgICBpZiAoIHMgPCBtYXBfZSApCiAgICAg ICAgIHsKICAgICAgICAgICAgIHVpbnQ2NF90IG1hc2sgPSAoMVVMIDw8IEwyX1BBR0VUQUJMRV9T SElGVCkgLSAxOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUyBiL3hlbi9hcmNo L3g4Ni94ZW4ubGRzLlMKaW5kZXggYTYyNDZjMC4uYTBkMWVhMyAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCkBAIC01NSw3ICs1 NSw3IEBAIFNFQ1RJT05TCiAgIF9fMk1fdGV4dF9zdGFydCA9IC47ICAgICAgICAgLyogU3RhcnQg b2YgMk0gc3VwZXJwYWdlcywgbWFwcGVkIFJYLiAqLwogI2VuZGlmCiAKLSAgLiA9IF9fWEVOX1ZJ UlRfU1RBUlQgKyBNQigxKTsKKyAgLiA9IF9fWEVOX1ZJUlRfU1RBUlQgKyBYRU5fSU1HX09GRlNF VDsKICAgX3N0YXJ0ID0gLjsKICAgLnRleHQgOiB7CiAgICAgICAgIF9zdGV4dCA9IC47ICAgICAg ICAgICAgLyogVGV4dCBhbmQgcmVhZC1vbmx5IGRhdGEgKi8KQEAgLTI1NywxMiArMjU3LDE0IEBA IFNFQ1RJT05TCiAgIC5yZWxvYyA6IHsKICAgICAqKC5yZWxvYykKICAgfSA6dGV4dAotICAvKiBU cmljayB0aGUgbGlua2VyIGludG8gc2V0dGluZyB0aGUgaW1hZ2Ugc2l6ZSB0byBleGFjdGx5IDE2 TWIuICovCiAgIC4gPSBBTElHTihfX3NlY3Rpb25fYWxpZ25tZW50X18pOworI2VuZGlmCisKKyAg LyogVHJpY2sgdGhlIGxpbmtlciBpbnRvIHNldHRpbmcgdGhlIGltYWdlIHNpemUgdG8gZXhhY3Rs eSAxNk1iLiAqLwogICAucGFkIDogewogICAgIC4gPSBBTElHTihNQigxNikpOworICAgIF9fZW5k X29mX2ltYWdlX18gPSAuOwogICB9IDp0ZXh0Ci0jZW5kaWYKIAogICBlZmkgPSBERUZJTkVEKGVm aSkgPyBlZmkgOiAuOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaAppbmRleCA2ZmQ4NGU3Li5mNWEyZDJmIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvY29uZmlnLmgKQEAgLTk2LDYgKzk2LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcg dHJhbXBvbGluZV9waHlzOwogICAgICAgICAgICAgICAgICB0cmFtcG9saW5lX3BoeXMtX19wYSh0 cmFtcG9saW5lX3N0YXJ0KSkpCiBleHRlcm4gY2hhciB0cmFtcG9saW5lX3N0YXJ0W10sIHRyYW1w b2xpbmVfZW5kW107CiBleHRlcm4gY2hhciB0cmFtcG9saW5lX3JlYWxtb2RlX2VudHJ5W107Citl eHRlcm4gdW5zaWduZWQgaW50IHhlbl9pbWdfbG9hZF9iYXNlX2FkZHI7CiBleHRlcm4gdW5zaWdu ZWQgaW50IHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQ7CiBleHRlcm4gdW5zaWduZWQgY2hhciB0 cmFtcG9saW5lX2NwdV9zdGFydGVkOwogZXh0ZXJuIGNoYXIgd2FrZXVwX3N0YXJ0W107CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cGFnZS5oCmluZGV4IDRhZTM4N2YuLjczMjRhZmUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvcGFnZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCkBAIC0yODgsNyAr Mjg4LDcgQEAgZXh0ZXJuIHJvb3RfcGdlbnRyeV90IGlkbGVfcGdfdGFibGVbUk9PVF9QQUdFVEFC TEVfRU5UUklFU107CiBleHRlcm4gbDJfcGdlbnRyeV90ICAqY29tcGF0X2lkbGVfcGdfdGFibGVf bDI7CiBleHRlcm4gdW5zaWduZWQgaW50ICAgbTJwX2NvbXBhdF92c3RhcnQ7CiBleHRlcm4gbDJf cGdlbnRyeV90IGwyX3hlbm1hcFtMMl9QQUdFVEFCTEVfRU5UUklFU10sCi0gICAgbDJfYm9vdG1h cFtMMl9QQUdFVEFCTEVfRU5UUklFU107CisgICAgbDJfYm9vdG1hcFs0KkwyX1BBR0VUQUJMRV9F TlRSSUVTXTsKIGV4dGVybiBsM19wZ2VudHJ5X3QgbDNfYm9vdG1hcFtMM19QQUdFVEFCTEVfRU5U UklFU107CiBleHRlcm4gbDJfcGdlbnRyeV90IGwyX2lkZW50bWFwWzQqTDJfUEFHRVRBQkxFX0VO VFJJRVNdOwogZXh0ZXJuIGwxX3BnZW50cnlfdCBsMV9pZGVudG1hcFtMMV9QQUdFVEFCTEVfRU5U UklFU10sCi0tIAoxLjcuMTAuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=