From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Backport several gdb-7.6.x stable branch fixes (BZ 1055155). Date: Sat, 27 Jun 2026 23:56:26 GMT Message-ID: <178260458656.1.3464714821061084878.rpms-gdb-1be7752b2c84@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 1be7752b2c847d19afd5968d199c96935df8d6a3 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogMWJlNzc1MmIyYzg0N2QxOWFmZDU5NjhkMTk5 Yzk2OTM1ZGY4ZDZhMwpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNC0wMS0xOVQxOTozODowNSswMTowMApTdGF0cyAgOiArODcy Ly0xMSBpbiA0IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcv cnBtcy9nZGIvYy8xYmU3NzUyYjJjODQ3ZDE5YWZkNTk2OGQxOTljOTY5MzVkZjhkNmEzP2JyYW5j aD1nZGItMTcuMi1yZWJhc2UtZjQ0CgpMb2c6CkJhY2twb3J0IHNldmVyYWwgZ2RiLTcuNi54IHN0 YWJsZSBicmFuY2ggZml4ZXMgKEJaIDEwNTUxNTUpLgoKLS0tCmRpZmYgLS1naXQgYS9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBh dGNoCmluZGV4IDAxZTU2MGQuLjMxOTJlZTEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1s b2NhdGUtcnBtLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCkBA IC00MjksMTcgKzQyOSwxNyBAQCBJbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2Vs ZnJlYWQuYwogKyNpZmRlZiBIQVZFX0xJQlJQTQogKyAgaWYgKG1pc3NpbmdfZXhlYyA9PSBNSVNT SU5HX0VYRUNfTk9UX1RSSUVEKQogKyAgICB7Ci0rICAgICAgY2hhciAqZXhlY19maWxlbmFtZTsK KysgICAgICBjaGFyICpleGVjZmlsZW5hbWU7CiAgCiAtICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdk Yl9zdGRsb2csCiAtCQkgICAgICBfKCJNaXNzaW5nIHNlcGFyYXRlIGRlYnVnaW5mbyBmb3IgJXNc biIpLCBiaW5hcnkpOwogLSAgaWYgKGRlYnVnICE9IE5VTEwpCiAtICAgIGZwcmludGZfdW5maWx0 ZXJlZCAoZ2RiX3N0ZGxvZywgXygiVHJ5IHRvIGluc3RhbGwgdGhlIGhhc2ggZmlsZSAlc1xuIiks CiAtCQkJZGVidWcpOwotKyAgICAgIGV4ZWNfZmlsZW5hbWUgPSBnZXRfZXhlY19maWxlICgwKTsK LSsgICAgICBpZiAoZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKyAgICAgIGV4ZWNmaWxlbmFtZSA9 IGdldF9leGVjX2ZpbGUgKDApOworKyAgICAgIGlmIChleGVjZmlsZW5hbWUgIT0gTlVMTCkKICsJ ewotKwkgIGlmIChtaXNzaW5nX3JwbV9lbmxpc3QgKGV4ZWNfZmlsZW5hbWUpID09IDApCisrCSAg aWYgKG1pc3NpbmdfcnBtX2VubGlzdCAoZXhlY2ZpbGVuYW1lKSA9PSAwKQogKwkgICAgbWlzc2lu Z19leGVjID0gTUlTU0lOR19FWEVDX05PVF9GT1VORDsKICsJICBlbHNlCiArCSAgICBtaXNzaW5n X2V4ZWMgPSBNSVNTSU5HX0VYRUNfRU5MSVNURUQ7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXggMmE1 NTE3Zi4uMGI5NjdmZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAor KysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCkBAIC0yMyw3ICsyMyw3IEBAIEluZGV4 OiBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvY29yZWxvdy5jCiArewogKyAgQ09SRV9BRERS IGF0X2VudHJ5OwogKyAgc3RydWN0IGVsZl9idWlsZF9pZCAqYnVpbGRfaWQ7Ci0rICBjaGFyICpl eGVjX2ZpbGVuYW1lLCAqZGVidWdfZmlsZW5hbWU7CisrICBjaGFyICpleGVjZmlsZW5hbWUsICpk ZWJ1Z19maWxlbmFtZTsKICsgIGNoYXIgKmJ1aWxkX2lkX2ZpbGVuYW1lOwogKyAgc3RydWN0IGNs ZWFudXAgKmJhY2tfdG87CiArCkBAIC00NCwxNCArNDQsMTQgQEAgSW5kZXg6IGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzL2dkYi9jb3JlbG93LmMKICsgICAgIGZpbGUgLSBzdWNoIC5laF9mcmFtZSB3 b3VsZCBub3QgYmUgZm91bmQgaWYgU1lNRklMRV9PQkpGSUxFIHdvdWxkIHJlZmVyCiArICAgICBk aXJlY3RseSB0byB0aGUgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlLiAgKi8KICsKLSsgIGV4ZWNf ZmlsZW5hbWUgPSBidWlsZF9pZF90b19maWxlbmFtZSAoYnVpbGRfaWQsICZidWlsZF9pZF9maWxl bmFtZSwgMCk7CisrICBleGVjZmlsZW5hbWUgPSBidWlsZF9pZF90b19maWxlbmFtZSAoYnVpbGRf aWQsICZidWlsZF9pZF9maWxlbmFtZSwgMCk7CiArICBtYWtlX2NsZWFudXAgKHhmcmVlLCBidWls ZF9pZF9maWxlbmFtZSk7CiArCi0rICBpZiAoZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKyAgaWYg KGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQogKyAgICB7Ci0rICAgICAgbWFrZV9jbGVhbnVwICh4ZnJl ZSwgZXhlY19maWxlbmFtZSk7Ci0rICAgICAgZXhlY19maWxlX2F0dGFjaCAoZXhlY19maWxlbmFt ZSwgZnJvbV90dHkpOwotKyAgICAgIHN5bWJvbF9maWxlX2FkZF9tYWluIChleGVjX2ZpbGVuYW1l LCBmcm9tX3R0eSk7CisrICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgZXhlY2ZpbGVuYW1lKTsK KysgICAgICBleGVjX2ZpbGVfYXR0YWNoIChleGVjZmlsZW5hbWUsIGZyb21fdHR5KTsKKysgICAg ICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLCBmcm9tX3R0eSk7CiArICAgICAg aWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMKQogKyAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5m bGFncyB8PSBPQkpGX0JVSUxEX0lEX0NPUkVfTE9BREVEOwogKyAgICB9CgpkaWZmIC0tZ2l0IGEv Z2RiLXVwc3RyZWFtLnBhdGNoIGIvZ2RiLXVwc3RyZWFtLnBhdGNoCmluZGV4IGRhNGMxMjcuLjcy YmNjZTQgMTAwNjQ0Ci0tLSBhL2dkYi11cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0u cGF0Y2gKQEAgLTIwMSwzICsyMDEsODYxIEBAIGluZGV4IDkzMjQ2YjMuLmMyZDI3MWEgMTAwNjQ0 CiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKICAgICAgeworCisKKworY29tbWl0 IDlhOTVlNzVlZTk5NDRjYmU2ZmUzMDIxYjkyYTdjNGRlODdiZTZmZTEKK0F1dGhvcjogWWFvIFFp IDx5YW9AY29kZXNvdXJjZXJ5LmNvbT4KK0RhdGU6ICAgV2VkIEF1ZyAxNCAxMTo1MzoxMSAyMDEz ICswMDAwCisKKyAgICBnZGIvCisgICAgCisgICAgCVBSIGdkYi8xNTgzNzoKKyAgICAJKiBmcmFt ZS5oIChyZWFkX2ZyYW1lX2xvY2FsKTogRGVjbGFyZS4KKyAgICAJKiBtaS9taS1jbWQtc3RhY2su YyAobGlzdF9hcmdzX29yX2xvY2Fscyk6IENhbGwKKyAgICAJcmVhZF9mcmFtZV9sb2NhbC4KKyAg ICAJKiBzdGFjay5jIChyZWFkX2ZyYW1lX2xvY2FsKTogTmV3LgorCisjIyMgYS9nZGIvQ2hhbmdl TG9nCisjIyMgYi9nZGIvQ2hhbmdlTG9nCisjIyAtMSwzICsxLDExIEBACisrMjAxMy0wOC0xNCAg WWFvIFFpICA8eWFvQGNvZGVzb3VyY2VyeS5jb20+CisrCisrCVBSIGdkYi8xNTgzNzoKKysJKiBm cmFtZS5oIChyZWFkX2ZyYW1lX2xvY2FsKTogRGVjbGFyZS4KKysJKiBtaS9taS1jbWQtc3RhY2su YyAobGlzdF9hcmdzX29yX2xvY2Fscyk6IENhbGwKKysJcmVhZF9mcmFtZV9sb2NhbC4KKysJKiBz dGFjay5jIChyZWFkX2ZyYW1lX2xvY2FsKTogTmV3LgorKworIDIwMTMtMDYtMjggIFBlZHJvIEFs dmVzICA8cGFsdmVzQHJlZGhhdC5jb20+CisgCisgCVBSIHR1aS8xNDg4MAorLS0tIGEvZ2RiL2Zy YW1lLmgKKysrKyBiL2dkYi9mcmFtZS5oCitAQCAtNzE0LDYgKzcxNCw4IEBAIHN0cnVjdCBmcmFt ZV9hcmcKKyBleHRlcm4gdm9pZCByZWFkX2ZyYW1lX2FyZyAoc3RydWN0IHN5bWJvbCAqc3ltLCBz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCisgCQkJICAgIHN0cnVjdCBmcmFtZV9hcmcgKmFyZ3As CisgCQkJICAgIHN0cnVjdCBmcmFtZV9hcmcgKmVudHJ5YXJncCk7CisrZXh0ZXJuIHZvaWQgcmVh ZF9mcmFtZV9sb2NhbCAoc3RydWN0IHN5bWJvbCAqc3ltLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJh bWUsCisrCQkJICAgICAgc3RydWN0IGZyYW1lX2FyZyAqYXJncCk7CisgCisgZXh0ZXJuIHZvaWQg YXJnc19pbmZvIChjaGFyICosIGludCk7CisgCistLS0gYS9nZGIvbWkvbWktY21kLXN0YWNrLmMK KysrKyBiL2dkYi9taS9taS1jbWQtc3RhY2suYworQEAgLTQxNyw3ICs0MTcsMTAgQEAgbGlzdF9h cmdzX29yX2xvY2FscyAoZW51bSB3aGF0X3RvX2xpc3Qgd2hhdCwgZW51bSBwcmludF92YWx1ZXMg dmFsdWVzLAorIAkJICAgICAgJiYgVFlQRV9DT0RFICh0eXBlKSAhPSBUWVBFX0NPREVfVU5JT04p CisgCQkgICAgeworIAkJY2FzZSBQUklOVF9BTExfVkFMVUVTOgorLQkJICAgICAgcmVhZF9mcmFt ZV9hcmcgKHN5bTIsIGZpLCAmYXJnLCAmZW50cnlhcmcpOworKwkJICBpZiAoU1lNQk9MX0lTX0FS R1VNRU5UIChzeW0pKQorKwkJICAgIHJlYWRfZnJhbWVfYXJnIChzeW0yLCBmaSwgJmFyZywgJmVu dHJ5YXJnKTsKKysJCSAgZWxzZQorKwkJICAgIHJlYWRfZnJhbWVfbG9jYWwgKHN5bTIsIGZpLCAm YXJnKTsKKyAJCSAgICB9CisgCQkgIGJyZWFrOworIAkJfQorLS0tIGEvZ2RiL3N0YWNrLmMKKysr KyBiL2dkYi9zdGFjay5jCitAQCAtMjk2LDYgKzI5NiwyNyBAQCBwcmludF9mcmFtZV9hcmcgKGNv bnN0IHN0cnVjdCBmcmFtZV9hcmcgKmFyZykKKyAgIGFubm90YXRlX2FyZ19lbmQgKCk7CisgfQor IAorKy8qIFJlYWQgaW4gaW5mZXJpb3IgZnVuY3Rpb24gbG9jYWwgU1lNIGF0IEZSQU1FIGludG8g QVJHUC4gIENhbGxlciBpcworKyAgIHJlc3BvbnNpYmxlIGZvciB4ZnJlZSBvZiBBUkdQLT5FUlJP Ui4gIFRoaXMgZnVuY3Rpb24gbmV2ZXIgdGhyb3dzIGFuCisrICAgZXhjZXB0aW9uLiAgKi8KKysK Kyt2b2lkCisrcmVhZF9mcmFtZV9sb2NhbCAoc3RydWN0IHN5bWJvbCAqc3ltLCBzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUsCisrCQkgIHN0cnVjdCBmcmFtZV9hcmcgKmFyZ3ApCisreworKyAgdm9s YXRpbGUgc3RydWN0IGdkYl9leGNlcHRpb24gZXhjZXB0OworKyAgc3RydWN0IHZhbHVlICp2YWwg PSBOVUxMOworKworKyAgVFJZX0NBVENIIChleGNlcHQsIFJFVFVSTl9NQVNLX0VSUk9SKQorKyAg ICB7CisrICAgICAgdmFsID0gcmVhZF92YXJfdmFsdWUgKHN5bSwgZnJhbWUpOworKyAgICB9Cisr CisrICBhcmdwLT5lcnJvciA9ICh2YWwgPT0gTlVMTCkgPyB4c3RyZHVwIChleGNlcHQubWVzc2Fn ZSkgOiBOVUxMOworKyAgYXJncC0+c3ltID0gc3ltOworKyAgYXJncC0+dmFsID0gdmFsOworK30K KysKKyAvKiBSZWFkIGluIGluZmVyaW9yIGZ1bmN0aW9uIHBhcmFtZXRlciBTWU0gYXQgRlJBTUUg aW50byBBUkdQLiAgQ2FsbGVyIGlzCisgICAgcmVzcG9uc2libGUgZm9yIHhmcmVlIG9mIEFSR1At PkVSUk9SLiAgVGhpcyBmdW5jdGlvbiBuZXZlciB0aHJvd3MgYW4KKyAgICBleGNlcHRpb24uICAq LworCisKKworY29tbWl0IDRiMGY1ZmJiMjUzZmJiZTljMmY0NTc4ZWJkN2RkOTQyMDRhNDY0NzcK K0F1dGhvcjogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CitEYXRl OiAgIFRodSBBdWcgMjkgMTQ6MjQ6MTYgMjAxMyArMDAwMAorCisgICAgUFIgc2VydmVyLzE1NjA0 CisgICAgCisgICAgZ2RiL2dkYnNlcnZlci8KKyAgICAyMDEzLTA4LTI5ICBKYW4gS3JhdG9jaHZp bCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisgICAgCisgICAgCVBSIHNlcnZlci8xNTYw NAorICAgIAkqIGxpbnV4LWxvdy5jCisgICAgCShsaW51eF9jcmVhdGVfaW5mZXJpb3IpIDxwaWQg PT0gMCAmJiAhcmVtb3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCk+OgorICAgIAlDbG9zZSBMSVNU RU5fREVTQyBhbmQgb3B0aW9uYWxseSBSRU1PVEVfREVTQy4KKyAgICAJKGx5bnhfY3JlYXRlX2lu ZmVyaW9yKSA8cGlkID09IDAgJiYgIXJlbW90ZV9jb25uZWN0aW9uX2lzX3N0ZGlvICgpPjoKKyAg ICAJQ2xvc2UgTElTVEVOX0RFU0MgYW5kIG9wdGlvbmFsbHkgUkVNT1RFX0RFU0MuCisgICAgCSog cmVtb3RlLXV0aWxzLmMgKHJlbW90ZV9kZXNjLCBsaXN0ZW5fZGVzYyk6IFJlbW92ZSBzdGF0aWMg cXVhbGlmaWVyLgorICAgIAkqIHNlcnZlci5oIChyZW1vdGVfZGVzYywgbGlzdGVuX2Rlc2MpOiBO ZXcgZGVjbGFyYXRpb24uCisgICAgCSogc3B1LWxvdy5jCisgICAgCShzcHVfY3JlYXRlX2luZmVy aW9yKSA8cGlkID09IDAgJiYgIXJlbW90ZV9jb25uZWN0aW9uX2lzX3N0ZGlvICgpPjoKKyAgICAJ Q2xvc2UgTElTVEVOX0RFU0MgYW5kIG9wdGlvbmFsbHkgUkVNT1RFX0RFU0MuCisKKyMjIyBhL2dk Yi9nZGJzZXJ2ZXIvQ2hhbmdlTG9nCisjIyMgYi9nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZworIyMg LTEsMyArMSwxNyBAQAorKzIwMTMtMDgtMjkgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2 aWxAcmVkaGF0LmNvbT4KKysKKysJUFIgc2VydmVyLzE1NjA0CisrCSogbGludXgtbG93LmMKKysJ KGxpbnV4X2NyZWF0ZV9pbmZlcmlvcikgPHBpZCA9PSAwICYmICFyZW1vdGVfY29ubmVjdGlvbl9p c19zdGRpbyAoKT46CisrCUNsb3NlIExJU1RFTl9ERVNDIGFuZCBvcHRpb25hbGx5IFJFTU9URV9E RVNDLgorKwkobHlueF9jcmVhdGVfaW5mZXJpb3IpIDxwaWQgPT0gMCAmJiAhcmVtb3RlX2Nvbm5l Y3Rpb25faXNfc3RkaW8gKCk+OgorKwlDbG9zZSBMSVNURU5fREVTQyBhbmQgb3B0aW9uYWxseSBS RU1PVEVfREVTQy4KKysJKiByZW1vdGUtdXRpbHMuYyAocmVtb3RlX2Rlc2MsIGxpc3Rlbl9kZXNj KTogUmVtb3ZlIHN0YXRpYyBxdWFsaWZpZXIuCisrCSogc2VydmVyLmggKHJlbW90ZV9kZXNjLCBs aXN0ZW5fZGVzYyk6IE5ldyBkZWNsYXJhdGlvbi4KKysJKiBzcHUtbG93LmMKKysJKHNwdV9jcmVh dGVfaW5mZXJpb3IpIDxwaWQgPT0gMCAmJiAhcmVtb3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCk+ OgorKwlDbG9zZSBMSVNURU5fREVTQyBhbmQgb3B0aW9uYWxseSBSRU1PVEVfREVTQy4KKysKKyAy MDEzLTA1LTMxICBEb3VnIEV2YW5zICA8ZGplQGdvb2dsZS5jb20+CisgCisgCVBSIHNlcnZlci8x NTU5NAorLS0tIGEvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworKysrIGIvZ2RiL2dkYnNlcnZl ci9saW51eC1sb3cuYworQEAgLTY2OCw2ICs2NjgsMTIgQEAgbGludXhfY3JlYXRlX2luZmVyaW9y IChjaGFyICpwcm9ncmFtLCBjaGFyICoqYWxsYXJncykKKyAJICAgICAgLyogRXJyb3JzIGlnbm9y ZWQuICAqLzsKKyAJICAgIH0KKyAJfQorKyAgICAgIGVsc2UKKysJeworKwkgIGNsb3NlIChsaXN0 ZW5fZGVzYyk7CisrCSAgaWYgKGdkYl9jb25uZWN0ZWQgKCkpCisrCSAgICBjbG9zZSAocmVtb3Rl X2Rlc2MpOworKwl9CisgCisgICAgICAgZXhlY3YgKHByb2dyYW0sIGFsbGFyZ3MpOworICAgICAg IGlmIChlcnJubyA9PSBFTk9FTlQpCistLS0gYS9nZGIvZ2Ric2VydmVyL2x5bngtbG93LmMKKysr KyBiL2dkYi9nZGJzZXJ2ZXIvbHlueC1sb3cuYworQEAgLTIxOCw2ICsyMTgsMTIgQEAgbHlueF9j cmVhdGVfaW5mZXJpb3IgKGNoYXIgKnByb2dyYW0sIGNoYXIgKiphbGxhcmdzKQorICAgICAgIHBn cnAgPSBnZXRwaWQoKTsKKyAgICAgICBzZXRwZ2lkICgwLCBwZ3JwKTsKKyAgICAgICBpb2N0bCAo MCwgVElPQ1NQR1JQLCAmcGdycCk7CisrICAgICAgaWYgKCFyZW1vdGVfY29ubmVjdGlvbl9pc19z dGRpbyAoKSkKKysJeworKwkgIGNsb3NlIChsaXN0ZW5fZGVzYyk7CisrCSAgaWYgKGdkYl9jb25u ZWN0ZWQgKCkpCisrCSAgICBjbG9zZSAocmVtb3RlX2Rlc2MpOworKwl9CisgICAgICAgbHlueF9w dHJhY2UgKFBUUkFDRV9UUkFDRU1FLCBudWxsX3B0aWQsIDAsIDAsIDApOworICAgICAgIGV4ZWN2 IChwcm9ncmFtLCBhbGxhcmdzKTsKKyAgICAgICBmcHJpbnRmIChzdGRlcnIsICJDYW5ub3QgZXhl YyAlczogJXMuXG4iLCBwcm9ncmFtLCBzdHJlcnJvciAoZXJybm8pKTsKKy0tLSBhL2dkYi9nZGJz ZXJ2ZXIvcmVtb3RlLXV0aWxzLmMKKysrKyBiL2dkYi9nZGJzZXJ2ZXIvcmVtb3RlLXV0aWxzLmMK K0BAIC0xMDgsOCArMTA4LDggQEAgc3RydWN0IHVpX2ZpbGUgKmdkYl9zdGRsb2c7CisgCisgc3Rh dGljIGludCByZW1vdGVfaXNfc3RkaW8gPSAwOworIAorLXN0YXRpYyBnZGJfZmlsZGVzX3QgcmVt b3RlX2Rlc2MgPSBJTlZBTElEX0RFU0NSSVBUT1I7Cistc3RhdGljIGdkYl9maWxkZXNfdCBsaXN0 ZW5fZGVzYyA9IElOVkFMSURfREVTQ1JJUFRPUjsKKytnZGJfZmlsZGVzX3QgcmVtb3RlX2Rlc2Mg PSBJTlZBTElEX0RFU0NSSVBUT1I7CisrZ2RiX2ZpbGRlc190IGxpc3Rlbl9kZXNjID0gSU5WQUxJ RF9ERVNDUklQVE9SOworIAorIC8qIEZJWE1FIGhlYWRlcml6ZT8gKi8KKyBleHRlcm4gaW50IHVz aW5nX3RocmVhZHM7CistLS0gYS9nZGIvZ2Ric2VydmVyL3NlcnZlci5oCisrKysgYi9nZGIvZ2Ri c2VydmVyL3NlcnZlci5oCitAQCAtMjc0LDYgKzI3NCw4IEBAIGV4dGVybiB2b2lkIGhvc3Rpb19s YXN0X2Vycm9yX2Zyb21fZXJybm8gKGNoYXIgKm93bl9idWYpOworIC8qIEZyb20gcmVtb3RlLXV0 aWxzLmMgKi8KKyAKKyBleHRlcm4gaW50IHJlbW90ZV9kZWJ1ZzsKKytleHRlcm4gZ2RiX2ZpbGRl c190IHJlbW90ZV9kZXNjOworK2V4dGVybiBnZGJfZmlsZGVzX3QgbGlzdGVuX2Rlc2M7CisgZXh0 ZXJuIGludCBub2Fja19tb2RlOworIGV4dGVybiBpbnQgdHJhbnNwb3J0X2lzX3JlbGlhYmxlOwor IAorLS0tIGEvZ2RiL2dkYnNlcnZlci9zcHUtbG93LmMKKysrKyBiL2dkYi9nZGJzZXJ2ZXIvc3B1 LWxvdy5jCitAQCAtMjczLDYgKzI3MywxMiBAQCBzcHVfY3JlYXRlX2luZmVyaW9yIChjaGFyICpw cm9ncmFtLCBjaGFyICoqYWxsYXJncykKKyAKKyAgIGlmIChwaWQgPT0gMCkKKyAgICAgeworKyAg ICAgIGlmICghcmVtb3RlX2Nvbm5lY3Rpb25faXNfc3RkaW8gKCkpCisrCXsKKysJICBjbG9zZSAo bGlzdGVuX2Rlc2MpOworKwkgIGlmIChnZGJfY29ubmVjdGVkICgpKQorKwkgICAgY2xvc2UgKHJl bW90ZV9kZXNjKTsKKysJfQorICAgICAgIHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsIDAsIDAp OworIAorICAgICAgIHNldHBnaWQgKDAsIDApOworCisKKworY29tbWl0IDUxMDYwNGVlZTc4OTJj NTRkOThlZWZhMjg5M2FmYjgyM2M3MjE0MDYKK0F1dGhvcjogSmFuIEtyYXRvY2h2aWwgPGphbi5r cmF0b2NodmlsQHJlZGhhdC5jb20+CitEYXRlOiAgIFdlZCBBdWcgMjggMTc6NTU6NTYgMjAxMyAr MDAwMAorCisgICAgUFIgZ2RiLzE1NDE1CisgICAgCisgICAgZ2RiLworICAgIDIwMTMtMDgtMjcg IEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJ UFIgZ2RiLzE1NDE1CisgICAgCSogY29yZWZpbGUuYyAoZ2V0X2V4ZWNfZmlsZSk6IFVzZSBleGVj X2ZpbGVuYW1lLgorICAgIAkqIGRlZnMuaCAoT1BGX0RJU0FCTEVfUkVBTFBBVEgpOiBOZXcgZGVm aW5pdGlvbi4gIEFkZCBuZXcgY29tbWVudC4KKyAgICAJKiBleGVjLmMgKGV4ZWNfY2xvc2UpOiBG cmVlIEVYRUNfRklMRU5BTUUuCisgICAgCShleGVjX2ZpbGVfYXR0YWNoKTogTmV3IHZhcmlhYmxl IGNhbm9uaWNhbF9wYXRobmFtZS4gIFVzZQorICAgIAlPUEZfRElTQUJMRV9SRUFMUEFUSC4gIENh bGwgZ2RiX3JlYWxwYXRoIGV4cGxpY2l0bHkuICBTZXQKKyAgICAJRVhFQ19GSUxFTkFNRS4KKyAg ICAJKiBleGVjLmggKGV4ZWNfZmlsZW5hbWUpOiBOZXcuCisgICAgCSogaW5mZXJpb3IuYyAocHJp bnRfaW5mZXJpb3IsIGluZmVyaW9yX2NvbW1hbmQpOiBVc2UKKyAgICAJUFNQQUNFX0VYRUNfRklM RU5BTUUuCisgICAgCSogbWkvbWktbWFpbi5jIChwcmludF9vbmVfaW5mZXJpb3IpOiBMaWtld2lz ZS4KKyAgICAJKiBwcm9nc3BhY2UuYyAoY2xvbmVfcHJvZ3JhbV9zcGFjZSwgcHJpbnRfcHJvZ3Jh bV9zcGFjZSk6IExpa2V3aXNlLgorICAgIAkqIHByb2dzcGFjZS5oIChzdHJ1Y3QgcHJvZ3JhbV9z cGFjZSk6IE5ldyBmaWVsZCBwc3BhY2VfZXhlY19maWxlbmFtZS4KKyAgICAJKiBzb3VyY2UuYyAo b3BlbnApOiBEZXNjcmliZSBPUEZfRElTQUJMRV9SRUFMUEFUSC4gIE5ldyB2YXJpYWJsZQorICAg IAlyZWFscGF0aF9mcHRyLCBpbml0aWFsaXplIGl0IGZyb20gT1BGX0RJU0FCTEVfUkVBTFBBVEgs IHVzZSBpdC4KKyAgICAKKyAgICBnZGIvdGVzdHN1aXRlLworICAgIDIwMTMtMDgtMjcgIEphbiBL cmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKyAgICAKKyAgICAJUFIgZ2Ri LzE1NDE1CisgICAgCSogZ2RiLmJhc2UvYXJndjAtc3ltbGluay5jOiBOZXcgZmlsZS4KKyAgICAJ KiBnZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cDogTmV3IGZpbGUuCisKK2RpZmYgLWR1cCAtcnVO cCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9jb3JlZmlsZS5jIGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzL2dkYi9jb3JlZmlsZS5jCistLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMt b3JpZy9nZGIvY29yZWZpbGUuYwkyMDEzLTA3LTMxIDIxOjQxOjU0LjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9jb3JlZmlsZS5jCTIwMTQtMDEtMTkgMTY6 MjQ6NDYuMjM4MzIzMDU0ICswMTAwCitAQCAtMTgyLDggKzE4Miw4IEBAIHZhbGlkYXRlX2ZpbGVz ICh2b2lkKQorIGNoYXIgKgorIGdldF9leGVjX2ZpbGUgKGludCBlcnIpCisgeworLSAgaWYgKGV4 ZWNfYmZkKQorLSAgICByZXR1cm4gYmZkX2dldF9maWxlbmFtZSAoZXhlY19iZmQpOworKyAgaWYg KGV4ZWNfZmlsZW5hbWUpCisrICAgIHJldHVybiBleGVjX2ZpbGVuYW1lOworICAgaWYgKCFlcnIp CisgICAgIHJldHVybiBOVUxMOworIAorZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYuNTAuMjAxMzA3 MzEtY3ZzLW9yaWcvZ2RiL2RlZnMuaCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvZGVmcy5o CistLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvZGVmcy5oCTIwMTMtMDctMzEg MjE6NDE6NTQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2Ri L2RlZnMuaAkyMDE0LTAxLTE5IDE2OjI0OjQ2LjIzOTMyMzA1NCArMDEwMAorQEAgLTM0Niw4ICsz NDYsMTAgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKnBjX3ByZWZpeCAoQ09SRV9BRERSKQorIAorIC8q IEZyb20gc291cmNlLmMgKi8KKyAKKysvKiBTZWUgb3BlbnAgZnVuY3Rpb24gZGVmaW5pdGlvbiBm b3IgdGhlaXIgZGVzY3JpcHRpb24uICAqLworICNkZWZpbmUgT1BGX1RSWV9DV0RfRklSU1QgICAg IDB4MDEKKyAjZGVmaW5lIE9QRl9TRUFSQ0hfSU5fUEFUSCAgICAweDAyCisrI2RlZmluZSBPUEZf RElTQUJMRV9SRUFMUEFUSCAgMHgwNAorIAorIGV4dGVybiBpbnQgb3BlbnAgKGNvbnN0IGNoYXIg KiwgaW50LCBjb25zdCBjaGFyICosIGludCwgY2hhciAqKik7CisgCitkaWZmIC1kdXAgLXJ1TnAg Z2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvZXhlYy5jIGdkYi03LjYuNTAuMjAxMzA3 MzEtY3ZzL2dkYi9leGVjLmMKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9l eGVjLmMJMjAxMy0wNy0zMSAyMTo0MTo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy42LjUw LjIwMTMwNzMxLWN2cy9nZGIvZXhlYy5jCTIwMTQtMDEtMTkgMTY6MjU6MTguNjE2MzE1MzU0ICsw MTAwCitAQCAtMTAyLDYgKzEwMiw5IEBAIGV4ZWNfY2xvc2UgKHZvaWQpCisgICAgICAgZXhlY19i ZmRfbXRpbWUgPSAwOworIAorICAgICAgIHJlbW92ZV90YXJnZXRfc2VjdGlvbnMgKCZleGVjX2Jm ZCk7CisrCisrICAgICAgeGZyZWUgKGV4ZWNfZmlsZW5hbWUpOworKyAgICAgIGV4ZWNfZmlsZW5h bWUgPSBOVUxMOworICAgICB9CisgfQorIAorQEAgLTE3OSwxMiArMTgyLDEzIEBAIGV4ZWNfZmls ZV9hdHRhY2ggKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnIKKyAgIGVsc2UKKyAgICAgeworICAgICAg IHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwczsKKy0gICAgICBjaGFyICpzY3JhdGNoX3BhdGhuYW1l OworKyAgICAgIGNoYXIgKnNjcmF0Y2hfcGF0aG5hbWUsICpjYW5vbmljYWxfcGF0aG5hbWU7Cisg ICAgICAgaW50IHNjcmF0Y2hfY2hhbjsKKyAgICAgICBzdHJ1Y3QgdGFyZ2V0X3NlY3Rpb24gKnNl Y3Rpb25zID0gTlVMTCwgKnNlY3Rpb25zX2VuZCA9IE5VTEw7CisgICAgICAgY2hhciAqKm1hdGNo aW5nOworIAorLSAgICAgIHNjcmF0Y2hfY2hhbiA9IG9wZW5wIChnZXRlbnYgKCJQQVRIIiksIE9Q Rl9UUllfQ1dEX0ZJUlNULCBmaWxlbmFtZSwKKysgICAgICBzY3JhdGNoX2NoYW4gPSBvcGVucCAo Z2V0ZW52ICgiUEFUSCIpLAorKwkJCSAgICBPUEZfVFJZX0NXRF9GSVJTVCB8IE9QRl9ESVNBQkxF X1JFQUxQQVRILCBmaWxlbmFtZSwKKyAJCSAgIHdyaXRlX2ZpbGVzID8gT19SRFdSIHwgT19CSU5B UlkgOiBPX1JET05MWSB8IE9fQklOQVJZLAorIAkJCSAgICAmc2NyYXRjaF9wYXRobmFtZSk7Cisg I2lmIGRlZmluZWQoX19HTzMyX18pIHx8IGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkKF9fQ1lH V0lOX18pCitAQCAtMTkzLDcgKzE5Nyw5IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNoYXIgKmZpbGVu YW1lLCBpbnQgZnIKKyAJICBjaGFyICpleGVuYW1lID0gYWxsb2NhIChzdHJsZW4gKGZpbGVuYW1l KSArIDUpOworIAorIAkgIHN0cmNhdCAoc3RyY3B5IChleGVuYW1lLCBmaWxlbmFtZSksICIuZXhl Iik7CistCSAgc2NyYXRjaF9jaGFuID0gb3BlbnAgKGdldGVudiAoIlBBVEgiKSwgT1BGX1RSWV9D V0RfRklSU1QsIGV4ZW5hbWUsCisrCSAgc2NyYXRjaF9jaGFuID0gb3BlbnAgKGdldGVudiAoIlBB VEgiKSwKKysJCQkJT1BGX1RSWV9DV0RfRklSU1QgfCBPUEZfRElTQUJMRV9SRUFMUEFUSCwKKysJ CQkJZXhlbmFtZSwKKyAJICAgICB3cml0ZV9maWxlcyA/IE9fUkRXUiB8IE9fQklOQVJZIDogT19S RE9OTFkgfCBPX0JJTkFSWSwKKyAJICAgICAmc2NyYXRjaF9wYXRobmFtZSk7CisgCX0KK0BAIC0y MDMsMTEgKzIwOSwxNiBAQCBleGVjX2ZpbGVfYXR0YWNoIChjaGFyICpmaWxlbmFtZSwgaW50IGZy CisgCisgICAgICAgY2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBzY3JhdGNoX3BhdGhu YW1lKTsKKyAKKysgICAgICAvKiBnZGJfYmZkX29wZW4gKGFuZCBpdHMgdmFyaWFudHMpIHByZWZl cnMgY2Fub25pY2FsaXplZCBwYXRobmFtZSBmb3IKKysJIGJldHRlciBCRkQgY2FjaGluZy4gICov CisrICAgICAgY2Fub25pY2FsX3BhdGhuYW1lID0gZ2RiX3JlYWxwYXRoIChzY3JhdGNoX3BhdGhu YW1lKTsKKysgICAgICBtYWtlX2NsZWFudXAgKHhmcmVlLCBjYW5vbmljYWxfcGF0aG5hbWUpOwor KworICAgICAgIGlmICh3cml0ZV9maWxlcykKKy0JZXhlY19iZmQgPSBnZGJfYmZkX2ZvcGVuIChz Y3JhdGNoX3BhdGhuYW1lLCBnbnV0YXJnZXQsCisrCWV4ZWNfYmZkID0gZ2RiX2JmZF9mb3BlbiAo Y2Fub25pY2FsX3BhdGhuYW1lLCBnbnV0YXJnZXQsCisgCQkJCSAgRk9QRU5fUlVCLCBzY3JhdGNo X2NoYW4pOworICAgICAgIGVsc2UKKy0JZXhlY19iZmQgPSBnZGJfYmZkX29wZW4gKHNjcmF0Y2hf cGF0aG5hbWUsIGdudXRhcmdldCwgc2NyYXRjaF9jaGFuKTsKKysJZXhlY19iZmQgPSBnZGJfYmZk X29wZW4gKGNhbm9uaWNhbF9wYXRobmFtZSwgZ251dGFyZ2V0LCBzY3JhdGNoX2NoYW4pOworIAor ICAgICAgIGlmICghZXhlY19iZmQpCisgCXsKK0BAIC0yMTUsNiArMjI2LDkgQEAgZXhlY19maWxl X2F0dGFjaCAoY2hhciAqZmlsZW5hbWUsIGludCBmcgorIAkJIHNjcmF0Y2hfcGF0aG5hbWUsIGJm ZF9lcnJtc2cgKGJmZF9nZXRfZXJyb3IgKCkpKTsKKyAJfQorIAorKyAgICAgIGdkYl9hc3NlcnQg KGV4ZWNfZmlsZW5hbWUgPT0gTlVMTCk7CisrICAgICAgZXhlY19maWxlbmFtZSA9IHhzdHJkdXAg KHNjcmF0Y2hfcGF0aG5hbWUpOworKworICAgICAgIGlmICghYmZkX2NoZWNrX2Zvcm1hdF9tYXRj aGVzIChleGVjX2JmZCwgYmZkX29iamVjdCwgJm1hdGNoaW5nKSkKKyAJeworIAkgIC8qIE1ha2Ug c3VyZSB0byBjbG9zZSBleGVjX2JmZCwgb3IgZWxzZSAicnVuIiBtaWdodCB0cnkgdG8gdXNlCitk aWZmIC1kdXAgLXJ1TnAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvZXhlYy5oIGdk Yi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9leGVjLmgKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMx LWN2cy1vcmlnL2dkYi9leGVjLmgJMjAxMy0wNy0zMSAyMTo0MTo1NC4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvZXhlYy5oCTIwMTQtMDEtMTkgMTY6MjQ6 NDYuMjYyMzIzMDQ5ICswMTAwCitAQCAtMzIsNiArMzIsNyBAQCBleHRlcm4gc3RydWN0IHRhcmdl dF9vcHMgZXhlY19vcHM7CisgCisgI2RlZmluZSBleGVjX2JmZCBjdXJyZW50X3Byb2dyYW1fc3Bh Y2UtPmViZmQKKyAjZGVmaW5lIGV4ZWNfYmZkX210aW1lIGN1cnJlbnRfcHJvZ3JhbV9zcGFjZS0+ ZWJmZF9tdGltZQorKyNkZWZpbmUgZXhlY19maWxlbmFtZSBjdXJyZW50X3Byb2dyYW1fc3BhY2Ut PnBzcGFjZV9leGVjX2ZpbGVuYW1lCisgCisgLyogQnVpbGRzIGEgc2VjdGlvbiB0YWJsZSwgZ2l2 ZW4gYXJncyBCRkQsIFNFQ1RBQkxFX1BUUiwgU0VDRU5EX1BUUi4KKyAgICBSZXR1cm5zIDAgaWYg T0ssIDEgb24gZXJyb3IuICAqLworZGlmZiAtZHVwIC1ydU5wIGdkYi03LjYuNTAuMjAxMzA3MzEt Y3ZzLW9yaWcvZ2RiL2luZmVyaW9yLmMgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL2luZmVy aW9yLmMKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9pbmZlcmlvci5jCTIw MTMtMDctMzEgMjE6NDE6NTQuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNi41MC4yMDEzMDcz MS1jdnMvZ2RiL2luZmVyaW9yLmMJMjAxNC0wMS0xOSAxNjoyNDo0Ni4yNjQzMjMwNDggKzAxMDAK K0BAIC01ODgsOSArNTg4LDggQEAgcHJpbnRfaW5mZXJpb3IgKHN0cnVjdCB1aV9vdXQgKnVpb3V0 LCBjaAorICAgICAgIHVpX291dF9maWVsZF9zdHJpbmcgKHVpb3V0LCAidGFyZ2V0LWlkIiwKKyAJ CQkgICBpbmZlcmlvcl9waWRfdG9fc3RyIChpbmYtPnBpZCkpOworIAorLSAgICAgIGlmIChpbmYt PnBzcGFjZS0+ZWJmZCkKKy0JdWlfb3V0X2ZpZWxkX3N0cmluZyAodWlvdXQsICJleGVjIiwKKy0J CQkgICAgIGJmZF9nZXRfZmlsZW5hbWUgKGluZi0+cHNwYWNlLT5lYmZkKSk7CisrICAgICAgaWYg KGluZi0+cHNwYWNlLT5wc3BhY2VfZXhlY19maWxlbmFtZSAhPSBOVUxMKQorKwl1aV9vdXRfZmll bGRfc3RyaW5nICh1aW91dCwgImV4ZWMiLCBpbmYtPnBzcGFjZS0+cHNwYWNlX2V4ZWNfZmlsZW5h bWUpOworICAgICAgIGVsc2UKKyAJdWlfb3V0X2ZpZWxkX3NraXAgKHVpb3V0LCAiZXhlYyIpOwor IAorQEAgLTcwNCw4ICs3MDMsOCBAQCBpbmZlcmlvcl9jb21tYW5kIChjaGFyICphcmdzLCBpbnQg ZnJvbV90CisgICBwcmludGZfZmlsdGVyZWQgKF8oIltTd2l0Y2hpbmcgdG8gaW5mZXJpb3IgJWQg WyVzXSAoJXMpXVxuIiksCisgCQkgICBpbmYtPm51bSwKKyAJCSAgIGluZmVyaW9yX3BpZF90b19z dHIgKGluZi0+cGlkKSwKKy0JCSAgIChpbmYtPnBzcGFjZS0+ZWJmZAorLQkJICAgID8gYmZkX2dl dF9maWxlbmFtZSAoaW5mLT5wc3BhY2UtPmViZmQpCisrCQkgICAoaW5mLT5wc3BhY2UtPnBzcGFj ZV9leGVjX2ZpbGVuYW1lICE9IE5VTEwKKysJCSAgICA/IGluZi0+cHNwYWNlLT5wc3BhY2VfZXhl Y19maWxlbmFtZQorIAkJICAgIDogXygiPG5vZXhlYz4iKSkpOworIAorICAgaWYgKGluZi0+cGlk ICE9IDApCitkaWZmIC1kdXAgLXJ1TnAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIv bWkvbWktbWFpbi5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi9taS9taS1tYWluLmMKKy0t LSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9taS9taS1tYWluLmMJMjAxMy0wNy0z MSAyMTo0MTo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9n ZGIvbWkvbWktbWFpbi5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjczMzIzMDQ2ICswMTAwCitAQCAt NTczLDEwICs1NzMsMTAgQEAgcHJpbnRfb25lX2luZmVyaW9yIChzdHJ1Y3QgaW5mZXJpb3IgKmlu ZgorICAgICAgIGlmIChpbmZlcmlvci0+cGlkICE9IDApCisgCXVpX291dF9maWVsZF9pbnQgKHVp b3V0LCAicGlkIiwgaW5mZXJpb3ItPnBpZCk7CisgCistICAgICAgaWYgKGluZmVyaW9yLT5wc3Bh Y2UtPmViZmQpCisrICAgICAgaWYgKGluZmVyaW9yLT5wc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVu YW1lICE9IE5VTEwpCisgCXsKKyAJICB1aV9vdXRfZmllbGRfc3RyaW5nICh1aW91dCwgImV4ZWN1 dGFibGUiLAorLQkJCSAgICAgICBiZmRfZ2V0X2ZpbGVuYW1lIChpbmZlcmlvci0+cHNwYWNlLT5l YmZkKSk7CisrCQkJICAgICAgIGluZmVyaW9yLT5wc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVuYW1l KTsKKyAJfQorIAorICAgICAgIGRhdGEuY29yZXMgPSAwOworZGlmZiAtZHVwIC1ydU5wIGdkYi03 LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3Byb2dzcGFjZS5jIGdkYi03LjYuNTAuMjAxMzA3 MzEtY3ZzL2dkYi9wcm9nc3BhY2UuYworLS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcv Z2RiL3Byb2dzcGFjZS5jCTIwMTMtMDEtMDIgMDI6NTQ6NTYuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Byb2dzcGFjZS5jCTIwMTQtMDEtMTkgMTY6MjQ6 NDYuMjc1MzIzMDQ1ICswMTAwCitAQCAtMTk2LDggKzE5Niw4IEBAIGNsb25lX3Byb2dyYW1fc3Bh Y2UgKHN0cnVjdCBwcm9ncmFtX3NwYWMKKyAKKyAgIHNldF9jdXJyZW50X3Byb2dyYW1fc3BhY2Ug KGRlc3QpOworIAorLSAgaWYgKHNyYy0+ZWJmZCAhPSBOVUxMKQorLSAgICBleGVjX2ZpbGVfYXR0 YWNoIChiZmRfZ2V0X2ZpbGVuYW1lIChzcmMtPmViZmQpLCAwKTsKKysgIGlmIChzcmMtPnBzcGFj ZV9leGVjX2ZpbGVuYW1lICE9IE5VTEwpCisrICAgIGV4ZWNfZmlsZV9hdHRhY2ggKHNyYy0+cHNw YWNlX2V4ZWNfZmlsZW5hbWUsIDApOworIAorICAgaWYgKHNyYy0+c3ltZmlsZV9vYmplY3RfZmls ZSAhPSBOVUxMKQorICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoc3JjLT5zeW1maWxlX29iamVj dF9maWxlLT5uYW1lLCAwKTsKK0BAIC0zMzYsOSArMzM2LDggQEAgcHJpbnRfcHJvZ3JhbV9zcGFj ZSAoc3RydWN0IHVpX291dCAqdWlvdQorIAorICAgICAgIHVpX291dF9maWVsZF9pbnQgKHVpb3V0 LCAiaWQiLCBwc3BhY2UtPm51bSk7CisgCistICAgICAgaWYgKHBzcGFjZS0+ZWJmZCkKKy0JdWlf b3V0X2ZpZWxkX3N0cmluZyAodWlvdXQsICJleGVjIiwKKy0JCQkgICAgIGJmZF9nZXRfZmlsZW5h bWUgKHBzcGFjZS0+ZWJmZCkpOworKyAgICAgIGlmIChwc3BhY2UtPnBzcGFjZV9leGVjX2ZpbGVu YW1lKQorKwl1aV9vdXRfZmllbGRfc3RyaW5nICh1aW91dCwgImV4ZWMiLCBwc3BhY2UtPnBzcGFj ZV9leGVjX2ZpbGVuYW1lKTsKKyAgICAgICBlbHNlCisgCXVpX291dF9maWVsZF9za2lwICh1aW91 dCwgImV4ZWMiKTsKKyAKK2RpZmYgLWR1cCAtcnVOcCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1v cmlnL2dkYi9wcm9nc3BhY2UuaCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy9nZGIvcHJvZ3NwYWNl LmgKKy0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi9wcm9nc3BhY2UuaAkyMDEz LTAxLTAyIDAyOjU0OjU2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjYuNTAuMjAxMzA3MzEt Y3ZzL2dkYi9wcm9nc3BhY2UuaAkyMDE0LTAxLTE5IDE2OjI0OjQ2LjI3NjMyMzA0NSArMDEwMAor QEAgLTE0OCw2ICsxNDgsMTAgQEAgc3RydWN0IHByb2dyYW1fc3BhY2UKKyAgICAgYmZkICplYmZk OworICAgICAvKiBUaGUgbGFzdC1tb2RpZmllZCB0aW1lLCBmcm9tIHdoZW4gdGhlIGV4ZWMgd2Fz IGJyb3VnaHQgaW4uICAqLworICAgICBsb25nIGViZmRfbXRpbWU7CisrICAgIC8qIFNpbWlsYXIg dG8gYmZkX2dldF9maWxlbmFtZSAoZXhlY19iZmQpIGJ1dCBpbiBvcmlnaW5hbCBmb3JtIGdpdmVu CisrICAgICAgIGJ5IHVzZXIsIHdpdGhvdXQgc3ltYm9saWMgbGlua3MgYW5kIHBhdGhuYW1lIHJl c29sdmVkLgorKyAgICAgICBJdCBuZWVkcyB0byBiZSBmcmVlZCBieSB4ZnJlZS4gIEl0IGlzIG5v dCBOVUxMIGlmZiBFQkZEIGlzIG5vdCBOVUxMLiAgKi8KKysgICAgY2hhciAqcHNwYWNlX2V4ZWNf ZmlsZW5hbWU7CisgCisgICAgIC8qIFRoZSBhZGRyZXNzIHNwYWNlIGF0dGFjaGVkIHRvIHRoaXMg cHJvZ3JhbSBzcGFjZS4gIE1vcmUgdGhhbiBvbmUKKyAgICAgICAgcHJvZ3JhbSBzcGFjZSBtYXkg YmUgYm91bmQgdG8gdGhlIHNhbWUgYWRkcmVzcyBzcGFjZS4gIEluIHRoZQorZGlmZiAtZHVwIC1y dU5wIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3NvdXJjZS5jIGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzL2dkYi9zb3VyY2UuYworLS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLW9y aWcvZ2RiL3NvdXJjZS5jCTIwMTMtMDctMzEgMjE6NDE6NTQuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3NvdXJjZS5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYu Mjc4MzIzMDQ1ICswMTAwCitAQCAtNjkyLDYgKzY5MiwxMSBAQCBpc19yZWd1bGFyX2ZpbGUgKGNv bnN0IGNoYXIgKm5hbWUpCisgICAgYW5kIHRoZSBmaWxlLCBzaWdoISAgRW1hY3MgZ2V0cyBjb25m dXp6ZWQgYnkgdGhpcyB3aGVuIHdlIHByaW50IHRoZQorICAgIHNvdXJjZSBmaWxlIG5hbWUhISEg CisgCisrICAgSWYgT1BUUyBkb2VzIG5vdCBoYXZlIE9QRl9ESVNBQkxFX1JFQUxQQVRIIHNldCBy ZXR1cm4gRklMRU5BTUVfT1BFTkVECisrICAgcmVzb2x2ZWQgYnkgZ2RiX3JlYWxwYXRoLiAgRXZl biB3aXRoIE9QRl9ESVNBQkxFX1JFQUxQQVRIIHRoaXMgZnVuY3Rpb24KKysgICBzdGlsbCByZXR1 cm5zIGZpbGVuYW1lIHN0YXJ0aW5nIHdpdGggIi8iLiAgSWYgRklMRU5BTUVfT1BFTkVEIGlzIE5V TEwKKysgICB0aGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0LgorKworICAgIElmIGEgZmlsZSBpcyBm b3VuZCwgcmV0dXJuIHRoZSBkZXNjcmlwdG9yLgorICAgIE90aGVyd2lzZSwgcmV0dXJuIC0xLCB3 aXRoIGVycm5vIHNldCBmb3IgdGhlIGxhc3QgbmFtZSB3ZSB0cmllZCB0byBvcGVuLiAgKi8KKyAK K0BAIC04NTEsMTkgKzg1NiwyNyBAQCBkb25lOgorICAgICAgIC8qIElmIGEgZmlsZSB3YXMgb3Bl bmVkLCBjYW5vbmljYWxpemUgaXRzIGZpbGVuYW1lLiAgKi8KKyAgICAgICBpZiAoZmQgPCAwKQor IAkqZmlsZW5hbWVfb3BlbmVkID0gTlVMTDsKKy0gICAgICBlbHNlIGlmIChJU19BQlNPTFVURV9Q QVRIIChmaWxlbmFtZSkpCistCSpmaWxlbmFtZV9vcGVuZWQgPSBnZGJfcmVhbHBhdGggKGZpbGVu YW1lKTsKKyAgICAgICBlbHNlCisgCXsKKy0JICAvKiBCZXdhcmUgdGhlIC8vIG15IHNvbiwgdGhl IEVtYWNzIGJhcmZzLCB0aGUgYm90Y2ggdGhhdCBjYXRjaC4uLiAgKi8KKysJICBjaGFyICooKnJl YWxwYXRoX2ZwdHIpIChjb25zdCBjaGFyICopOworIAorLQkgIGNoYXIgKmYgPSBjb25jYXQgKGN1 cnJlbnRfZGlyZWN0b3J5LAorLQkJCSAgICBJU19ESVJfU0VQQVJBVE9SIChjdXJyZW50X2RpcmVj dG9yeVtzdHJsZW4gKGN1cnJlbnRfZGlyZWN0b3J5KSAtIDFdKQorLQkJCSAgICA/ICIiIDogU0xB U0hfU1RSSU5HLAorLQkJCSAgICBmaWxlbmFtZSwgKGNoYXIgKilOVUxMKTsKKysJICByZWFscGF0 aF9mcHRyID0gKChvcHRzICYgT1BGX0RJU0FCTEVfUkVBTFBBVEgpICE9IDAKKysJCQkgICA/IHhz dHJkdXAgOiBnZGJfcmVhbHBhdGgpOworIAorLQkgICpmaWxlbmFtZV9vcGVuZWQgPSBnZGJfcmVh bHBhdGggKGYpOworLQkgIHhmcmVlIChmKTsKKysJICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAoZmls ZW5hbWUpKQorKwkgICAgKmZpbGVuYW1lX29wZW5lZCA9IHJlYWxwYXRoX2ZwdHIgKGZpbGVuYW1l KTsKKysJICBlbHNlCisrCSAgICB7CisrCSAgICAgIC8qIEJld2FyZSB0aGUgLy8gbXkgc29uLCB0 aGUgRW1hY3MgYmFyZnMsIHRoZSBib3RjaCB0aGF0IGNhdGNoLi4uICAqLworKworKwkgICAgICBj aGFyICpmID0gY29uY2F0IChjdXJyZW50X2RpcmVjdG9yeSwKKysJCQkJSVNfRElSX1NFUEFSQVRP UiAoY3VycmVudF9kaXJlY3Rvcnlbc3RybGVuIChjdXJyZW50X2RpcmVjdG9yeSkgLSAxXSkKKysJ CQkJPyAiIiA6IFNMQVNIX1NUUklORywKKysJCQkJZmlsZW5hbWUsIChjaGFyICopTlVMTCk7Cisr CisrCSAgICAgICpmaWxlbmFtZV9vcGVuZWQgPSByZWFscGF0aF9mcHRyIChmKTsKKysJICAgICAg eGZyZWUgKGYpOworKwkgICAgfQorIAl9CisgICAgIH0KKyAKK2RpZmYgLWR1cCAtcnVOcCBnZGIt Ny42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3lt bGluay5jIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJn djAtc3ltbGluay5jCistLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMtb3JpZy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYXJndjAtc3ltbGluay5jCTIwMTQtMDEtMTkgMTY6MjQ6NDYuMjg2MzIzMDQzICswMTAwCitA QCAtMCwwICsxLDIyIEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisr CisraW50CisrbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorK3sKKysgIHJldHVybiAwOwor K30KK2RpZmYgLWR1cCAtcnVOcCBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy1vcmlnL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHAgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cAorLS0tIGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzLW9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4 cAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjYuNTAuMjAx MzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHAJMjAxNC0w MS0xOSAxNjoyNDo0Ni4yODczMjMwNDMgKzAxMDAKK0BAIC0wLDAgKzEsNjIgQEAKKysjIENvcHly aWdodCAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKysKKytzdGFuZGFyZF90ZXN0ZmlsZQorKworK2lmIHsgW2J1aWxk X2V4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX1dID09IC0x IH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrc2V0IHRlc3QgImtlcHQgZmlsZSBzeW1ib2xp YyBsaW5rIG5hbWUiCisrc2V0IGZpbGVsaW5rICIke3Rlc3RmaWxlfS1maWxlbGluayIKKysKKyty ZW1vdGVfZmlsZSBob3N0IGRlbGV0ZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGZpbGVsaW5rXQor K3NldCBzdGF0dXMgW3JlbW90ZV9leGVjIGhvc3QgImxuIC1zZiAke3Rlc3RmaWxlfSBbc3RhbmRh cmRfb3V0cHV0X2ZpbGUgJGZpbGVsaW5rXSJdCisraWYge1tsaW5kZXggJHN0YXR1cyAwXSAhPSAw fSB7CisrICAgIHVuc3VwcG9ydGVkICIkdGVzdCAoaG9zdCBkb2VzIG5vdCBzdXBwb3J0IHN5bWJv bGljIGxpbmtzKSIKKysgICAgcmV0dXJuIDAKKyt9CisrCisrY2xlYW5fcmVzdGFydCAiJGZpbGVs aW5rIgorKworK2lmICFbcnVudG9fbWFpbl0geworKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1 biB0byBtYWluIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX3Rlc3Qge3ByaW50IGFyZ3Zb MF19ICIvJGZpbGVsaW5rXCIiICR0ZXN0CisrCisrCisrc2V0IHRlc3QgImtlcHQgZGlyZWN0b3J5 IHN5bWJvbGljIGxpbmsgbmFtZSIKKytzZXQgZGlybGluayAiJHt0ZXN0ZmlsZX0tZGlybGluayIK KysKKysjICdsbiAtc2YnIGRvZXMgbm90IG92ZXJ3cml0ZSBzeW1ib2wgbGluayB0byBhIGRpcmVj dG9yeS4KKysjICdyZW1vdGVfZmlsZSBob3N0IGRlbGV0ZScgdXNlcyBzdGF0IChub3QgbHN0YXQp LCB0aGVyZWZvcmUgaXQgcmVmdXNlcyB0bworKyMgZGVsZXRlIGEgZGlyZWN0b3J5LgorK3JlbW90 ZV9leGVjIGhvc3QgInJtIC1mIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAkZGlybGlua10iCisrc2V0 IHN0YXR1cyBbcmVtb3RlX2V4ZWMgaG9zdCAibG4gLXNmIC4gW3N0YW5kYXJkX291dHB1dF9maWxl ICRkaXJsaW5rXSJdCisraWYge1tsaW5kZXggJHN0YXR1cyAwXSAhPSAwfSB7CisrICAgIHVuc3Vw cG9ydGVkICIkdGVzdCAoaG9zdCBkb2VzIG5vdCBzdXBwb3J0IHN5bWJvbGljIGxpbmtzKSIKKysg ICAgcmV0dXJuIDAKKyt9CisrCisrY2xlYW5fcmVzdGFydCAiJGRpcmxpbmsvJGZpbGVsaW5rIgor KworK2lmICFbcnVudG9fbWFpbl0geworKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBt YWluIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX3Rlc3Qge3ByaW50IGFyZ3ZbMF19ICIv JGRpcmxpbmsvJGZpbGVsaW5rXCIiICR0ZXN0CisKKworCitjb21taXQgNDg1NmI2YmM4MzVlMjVh YjBmNDg0NjIxMDQxNTI3MDFjODY0ODU4YworQXV0aG9yOiBKYW4gS3JhdG9jaHZpbCA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KK0RhdGU6ICAgU3VuIE9jdCAxMyAxNjoxMTowOCAyMDEzICsw MDAwCisKKyAgICBJbXByb3ZlIEV4ZWN1dGFibGUgZGlzcGxheWVkIHBhdGggKFBSIDE1NDE1IHJl Z3Jlc3Npb24ga2luZCAjMikKKyAgICAKKyAgICBnZGIvCisgICAgMjAxMy0xMC0xMyAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorICAgIAorICAgIAlDYW5vbmlj YWxpemUgZGlyZWN0b3JpZXMgZm9yIEVYRUNfRklMRU5BTUUuCisgICAgCSogZXhlYy5jIChleGVj X2ZpbGVfYXR0YWNoKTogVXNlIGdkYl9yZWFscGF0aF9rZWVwZmlsZSBmb3IKKyAgICAJZXhlY19m aWxlbmFtZS4KKyAgICAJKiB1dGlscy5jIChnZGJfcmVhbHBhdGhfa2VlcGZpbGUpOiBOZXcgZnVu Y3Rpb24uCisgICAgCSogdXRpbHMuaCAoZ2RiX3JlYWxwYXRoX2tlZXBmaWxlKTogTmV3IGRlY2xh cmF0aW9uLgorICAgIAorICAgIGdkYi90ZXN0c3VpdGUvCisgICAgMjAxMy0xMC0xMyAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorICAgIAorICAgIAlDYW5vbmlj YWxpemUgZGlyZWN0b3JpZXMgZm9yIEVYRUNfRklMRU5BTUUuCisgICAgCSogZ2RiLmJhc2UvYXJn djAtc3ltbGluay5leHAKKyAgICAJKGtlcHQgZmlsZSBzeW1ib2xpYyBsaW5rIG5hbWUgZm9yIGlu Zm8gaW5mZXJpb3JzKTogTmV3LgorICAgIAkoa2VwdCBkaXJlY3Rvcnkgc3ltYm9saWMgbGluayBu YW1lKTogU2V0dXAga2ZhaWwuCisgICAgCShrZXB0IGRpcmVjdG9yeSBzeW1ib2xpYyBsaW5rIG5h bWUgZm9yIGluZm8gaW5mZXJpb3JzKTogTmV3LgorCisjIyMgYS9nZGIvQ2hhbmdlTG9nCisjIyMg Yi9nZGIvQ2hhbmdlTG9nCisjIyAtMSwzICsxLDExIEBACisrMjAxMy0xMC0xMyAgSmFuIEtyYXRv Y2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorKworKwlDYW5vbmljYWxpemUgZGly ZWN0b3JpZXMgZm9yIEVYRUNfRklMRU5BTUUuCisrCSogZXhlYy5jIChleGVjX2ZpbGVfYXR0YWNo KTogVXNlIGdkYl9yZWFscGF0aF9rZWVwZmlsZSBmb3IKKysJZXhlY19maWxlbmFtZS4KKysJKiB1 dGlscy5jIChnZGJfcmVhbHBhdGhfa2VlcGZpbGUpOiBOZXcgZnVuY3Rpb24uCisrCSogdXRpbHMu aCAoZ2RiX3JlYWxwYXRoX2tlZXBmaWxlKTogTmV3IGRlY2xhcmF0aW9uLgorKworIDIwMTMtMTAt MTEgIERvdWcgRXZhbnMgIDxkamVAZ29vZ2xlLmNvbT4KKyAKKyAJKiBNYWtlZmlsZS5pbiAoR0RC RkxBR1MpOiBOZXcgdmFyaWFibGUuCistLS0gYS9nZGIvZXhlYy5jCisrKysgYi9nZGIvZXhlYy5j CitAQCAtMjI0LDcgKzIyNCw3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNoYXIgKmZpbGVuYW1lLCBp bnQgZnJvbV90dHkpCisgCX0KKyAKKyAgICAgICBnZGJfYXNzZXJ0IChleGVjX2ZpbGVuYW1lID09 IE5VTEwpOworLSAgICAgIGV4ZWNfZmlsZW5hbWUgPSB4c3RyZHVwIChzY3JhdGNoX3BhdGhuYW1l KTsKKysgICAgICBleGVjX2ZpbGVuYW1lID0gZ2RiX3JlYWxwYXRoX2tlZXBmaWxlIChzY3JhdGNo X3BhdGhuYW1lKTsKKyAKKyAgICAgICBpZiAoIWJmZF9jaGVja19mb3JtYXRfbWF0Y2hlcyAoZXhl Y19iZmQsIGJmZF9vYmplY3QsICZtYXRjaGluZykpCisgCXsKKyMjIyBhL2dkYi90ZXN0c3VpdGUv Q2hhbmdlTG9nCisjIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworIyMgLTEsMyArMSwxMSBA QAorKzIwMTMtMTAtMTMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KKysKKysJQ2Fub25pY2FsaXplIGRpcmVjdG9yaWVzIGZvciBFWEVDX0ZJTEVOQU1FLgorKwkq IGdkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwCisrCShrZXB0IGZpbGUgc3ltYm9saWMgbGluayBu YW1lIGZvciBpbmZvIGluZmVyaW9ycyk6IE5ldy4KKysJKGtlcHQgZGlyZWN0b3J5IHN5bWJvbGlj IGxpbmsgbmFtZSk6IFNldHVwIGtmYWlsLgorKwkoa2VwdCBkaXJlY3Rvcnkgc3ltYm9saWMgbGlu ayBuYW1lIGZvciBpbmZvIGluZmVyaW9ycyk6IE5ldy4KKysKKyAyMDEzLTEwLTExICBBbmRyZWFz IEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgorIAorIAkqIGdkYi5hcmNoL3MzOTAt bXVsdGlhcmNoLmV4cDogTmV3IGZpbGUuCistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy Z3YwLXN5bWxpbmsuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxp bmsuZXhwCitAQCAtMzcsNiArMzcsNyBAQCBpZiAhW3J1bnRvX21haW5dIHsKKyB9CisgCisgZ2Ri X3Rlc3Qge3ByaW50IGFyZ3ZbMF19ICIvJGZpbGVsaW5rXCIiICR0ZXN0CisrZ2RiX3Rlc3QgImlu Zm8gaW5mZXJpb3JzIiAiLyRzdWJkaXIvJGZpbGVsaW5rICoiICIkdGVzdCBmb3IgaW5mbyBpbmZl cmlvcnMiCisgCisgCisgc2V0IHRlc3QgImtlcHQgZGlyZWN0b3J5IHN5bWJvbGljIGxpbmsgbmFt ZSIKK0BAIC01OSw0ICs2MCw5IEBAIGlmICFbcnVudG9fbWFpbl0geworICAgICByZXR1cm4gLTEK KyB9CisgCisrIyBnZGJzZXJ2ZXIgZG9lcyBub3QgaGF2ZSB0aGlzIGlzc3VlLgorK2lmICFbaXNf cmVtb3RlIHRhcmdldF0geworKyAgICBzZXR1cF9rZmFpbCAiKi0qLSoiIGdkYi8xNTkzNAorK30K KyBnZGJfdGVzdCB7cHJpbnQgYXJndlswXX0gIi8kZGlybGluay8kZmlsZWxpbmtcIiIgJHRlc3QK KytnZGJfdGVzdCAiaW5mbyBpbmZlcmlvcnMiICIvJHN1YmRpci8kZmlsZWxpbmsgKiIgIiR0ZXN0 IGZvciBpbmZvIGluZmVyaW9ycyIKKy0tLSBhL2dkYi91dGlscy5jCisrKysgYi9nZGIvdXRpbHMu YworQEAgLTMyMzMsNiArMzIzMyw1MiBAQCBnZGJfcmVhbHBhdGggKGNvbnN0IGNoYXIgKmZpbGVu YW1lKQorICAgcmV0dXJuIHhzdHJkdXAgKGZpbGVuYW1lKTsKKyB9CisgCisrLyogUmV0dXJuIGEg Y29weSBvZiBGSUxFTkFNRSwgd2l0aCBpdHMgZGlyZWN0b3J5IHByZWZpeCBjYW5vbmljYWxpemVk CisrICAgYnkgZ2RiX3JlYWxwYXRoLiAgKi8KKysKKytjaGFyICoKKytnZGJfcmVhbHBhdGhfa2Vl cGZpbGUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorK3sKKysgIGNvbnN0IGNoYXIgKmJhc2VfbmFt ZSA9IGxiYXNlbmFtZSAoZmlsZW5hbWUpOworKyAgY2hhciAqZGlyX25hbWU7CisrICBjaGFyICpy ZWFsX3BhdGg7CisrICBjaGFyICpyZXN1bHQ7CisrCisrICAvKiBFeHRyYWN0IHRoZSBiYXNlbmFt ZSBvZiBmaWxlbmFtZSwgYW5kIHJldHVybiBpbW1lZGlhdGVseSAKKysgICAgIGEgY29weSBvZiBm aWxlbmFtZSBpZiBpdCBkb2VzIG5vdCBjb250YWluIGFueSBkaXJlY3RvcnkgcHJlZml4LiAgKi8K KysgIGlmIChiYXNlX25hbWUgPT0gZmlsZW5hbWUpCisrICAgIHJldHVybiB4c3RyZHVwIChmaWxl bmFtZSk7CisrCisrICBkaXJfbmFtZSA9IGFsbG9jYSAoKHNpemVfdCkgKGJhc2VfbmFtZSAtIGZp bGVuYW1lICsgMikpOworKyAgLyogQWxsb2NhdGUgZW5vdWdoIHNwYWNlIHRvIHN0b3JlIHRoZSBk aXJfbmFtZSArIHBsdXMgb25lIGV4dHJhCisrICAgICBjaGFyYWN0ZXIgc29tZXRpbWVzIG5lZWRl ZCB1bmRlciBXaW5kb3dzIChzZWUgYmVsb3cpLCBhbmQKKysgICAgIHRoZW4gdGhlIGNsb3Npbmcg XDAwMCBjaGFyYWN0ZXIuICAqLworKyAgc3RybmNweSAoZGlyX25hbWUsIGZpbGVuYW1lLCBiYXNl X25hbWUgLSBmaWxlbmFtZSk7CisrICBkaXJfbmFtZVtiYXNlX25hbWUgLSBmaWxlbmFtZV0gPSAn XDAwMCc7CisrCisrI2lmZGVmIEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNCisrICAvKiBXZSBu ZWVkIHRvIGJlIGNhcmVmdWwgd2hlbiBmaWxlbmFtZSBpcyBvZiB0aGUgZm9ybSAnZDpmb28nLCB3 aGljaAorKyAgICAgaXMgZXF1aXZhbGVudCBvZiBkOi4vZm9vLCB3aGljaCBpcyB0b3RhbGx5IGRp ZmZlcmVudCBmcm9tIGQ6L2Zvby4gICovCisrICBpZiAoc3RybGVuIChkaXJfbmFtZSkgPT0gMiAm JiBpc2FscGhhIChkaXJfbmFtZVswXSkgJiYgZGlyX25hbWVbMV0gPT0gJzonKQorKyAgICB7Cisr ICAgICAgZGlyX25hbWVbMl0gPSAnLic7CisrICAgICAgZGlyX25hbWVbM10gPSAnXDAwMCc7Cisr ICAgIH0KKysjZW5kaWYKKysKKysgIC8qIENhbm9uaWNhbGl6ZSB0aGUgZGlyZWN0b3J5IHByZWZp eCwgYW5kIGJ1aWxkIHRoZSByZXN1bHRpbmcKKysgICAgIGZpbGVuYW1lLiAgSWYgdGhlIGRpcm5h bWUgcmVhbHBhdGggYWxyZWFkeSBjb250YWlucyBhbiBlbmRpbmcKKysgICAgIGRpcmVjdG9yeSBz ZXBhcmF0b3IsIGF2b2lkIGRvdWJsaW5nIGl0LiAgKi8KKysgIHJlYWxfcGF0aCA9IGdkYl9yZWFs cGF0aCAoZGlyX25hbWUpOworKyAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKHJlYWxfcGF0aFtzdHJs ZW4gKHJlYWxfcGF0aCkgLSAxXSkpCisrICAgIHJlc3VsdCA9IGNvbmNhdCAocmVhbF9wYXRoLCBi YXNlX25hbWUsIChjaGFyICopIE5VTEwpOworKyAgZWxzZQorKyAgICByZXN1bHQgPSBjb25jYXQg KHJlYWxfcGF0aCwgU0xBU0hfU1RSSU5HLCBiYXNlX25hbWUsIChjaGFyICopIE5VTEwpOworKwor KyAgeGZyZWUgKHJlYWxfcGF0aCk7CisrICByZXR1cm4gcmVzdWx0OworK30KKysKKyBVTE9OR0VT VAorIGFsaWduX3VwIChVTE9OR0VTVCB2LCBpbnQgbikKKyB7CistLS0gYS9nZGIvdXRpbHMuaAor KysrIGIvZ2RiL3V0aWxzLmgKK0BAIC0xMjgsNiArMTI4LDggQEAgZXh0ZXJuIHN0cnVjdCBjbGVh bnVwICptYWtlX2Jwc3RhdF9jbGVhcl9hY3Rpb25zX2NsZWFudXAgKHZvaWQpOworIAorIGV4dGVy biBjaGFyICpnZGJfcmVhbHBhdGggKGNvbnN0IGNoYXIgKik7CisgCisrZXh0ZXJuIGNoYXIgKmdk Yl9yZWFscGF0aF9rZWVwZmlsZSAoY29uc3QgY2hhciAqKTsKKysKKyBleHRlcm4gaW50IGdkYl9m aWxlbmFtZV9mbm1hdGNoIChjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcs CisgCQkJCSBpbnQgZmxhZ3MpOworIAorCisKKworY29tbWl0IDI0ODkwZWZkYWJiZDlkODI3Y2Rk MjA4OGIwMjJmMDcwZGEwNGIxNGYKK0F1dGhvcjogVG9tIFRyb21leSA8dHJvbWV5QHJlZGhhdC5j b20+CitEYXRlOiAgIEZyaSBPY3QgMTggMTM6MTI6MzIgMjAxMyAtMDYwMAorCisgICAgZml4IGFy Z3YwLXN5bWxpbmsuZXhwIGZvciBwYXJhbGxlbCBtb2RlCisgICAgCisgICAgYXJndjAtc3ltbGlu ay5leHAgZG9lc24ndCB3b3JrIHByb3Blcmx5IGlmIHN0YW5kYXJkX291dHB1dF9maWxlIHB1dHMK KyAgICBmaWxlcyBpbnRvIGEgcGVyLXRlc3Qgc3ViZGlyZWN0b3J5LiAgVGhhdCdzIGJlY2F1c2Ug aXQgYXNzdW1lcyB0aGF0CisgICAgZmlsZXMgYXBwZWFyIGluICRzdWJkaXIsIHdoaWNoIGlzIG5v IGxvbmdlciB0cnVlLgorICAgIAorICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gYnkg Y29tcHV0aW5nIHRoZSBjb3JyZWN0IGRpcmVjdG9yeSBhdAorICAgIHJ1bnRpbWUuCisgICAgCisg ICAgVGVzdGVkIGJvdGggd2l0aCBhbmQgd2l0aG91dCBHREJfUEFSQUxMRUwgb24geDg2LTY0IEZl ZG9yYSAxOC4KKyAgICAKKyAgICAyMDEzLTExLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhh dC5jb20+CisgICAgCisgICAgCSogZ2RiLmJhc2UvYXJndjAtc3ltbGluay5leHA6IENvbXB1dGUg ZXhlY3V0YWJsZSdzIGRpcmVjdG9yeQorICAgIAlkeW5hbWljYWxseS4KKworIyMjIGEvZ2RiL3Rl c3RzdWl0ZS9DaGFuZ2VMb2cKKyMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisjIyAtMSw1 ICsxLDEwIEBACisgMjAxMy0xMS0wNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgor IAorKwkqIGdkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwOiBDb21wdXRlIGV4ZWN1dGFibGUncyBk aXJlY3RvcnkKKysJZHluYW1pY2FsbHkuCisrCisrMjAxMy0xMS0wNCAgVG9tIFRyb21leSAgPHRy b21leUByZWRoYXQuY29tPgorKworIAkqIGdkYi5hc20vYXNtLXNvdXJjZS5leHA6IFVzZSBzdGFu ZGFyZF9vdXRwdXRfZmlsZS4KKyAKKyAyMDEzLTExLTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJl ZGhhdC5jb20+CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhw CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwCitAQCAtMzcs NyArMzcsMTQgQEAgaWYgIVtydW50b19tYWluXSB7CisgfQorIAorIGdkYl90ZXN0IHtwcmludCBh cmd2WzBdfSAiLyRmaWxlbGlua1wiIiAkdGVzdAorLWdkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIg Ii8kc3ViZGlyLyRmaWxlbGluayAqIiAiJHRlc3QgZm9yIGluZm8gaW5mZXJpb3JzIgorKworKyMg Rm9yIGEgbGluayBuYW1lZCAvUEFUSC9UTy9ESVIvTElOSywgd2Ugd2FudCB0byBjaGVjayB0aGUg b3V0cHV0CisrIyBhZ2FpbnN0ICIvRElSL0xJTksiLCBidXQgY29tcHV0ZWQgaW4gYSB3YXkgdGhh dCBkb2Vzbid0IG1ha2UKKysjIGFzc3VtcHRpb25zIGFib3V0IHRoZSB0ZXN0IGRpcmVjdG9yeSBs YXlvdXQuCisrc2V0IGZ1bGxfZmlsZWxpbmsgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbGlu a10KKytzZXQgbGFzdGRpciBbZmlsZSB0YWlsIFtmaWxlIGRpcm5hbWUgJGZ1bGxfZmlsZWxpbmtd XQorKworK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kbGFzdGRpci8kZmlsZWxpbmsgKiIg IiR0ZXN0IGZvciBpbmZvIGluZmVyaW9ycyIKKyAKKyAKKyBzZXQgdGVzdCAia2VwdCBkaXJlY3Rv cnkgc3ltYm9saWMgbGluayBuYW1lIgorQEAgLTY1LDQgKzcyLDQgQEAgaWYgIVtpc19yZW1vdGUg dGFyZ2V0XSB7CisgICAgIHNldHVwX2tmYWlsICIqLSotKiIgZ2RiLzE1OTM0CisgfQorIGdkYl90 ZXN0IHtwcmludCBhcmd2WzBdfSAiLyRkaXJsaW5rLyRmaWxlbGlua1wiIiAkdGVzdAorLWdkYl90 ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kc3ViZGlyLyRmaWxlbGluayAqIiAiJHRlc3QgZm9yIGlu Zm8gaW5mZXJpb3JzIgorK2dkYl90ZXN0ICJpbmZvIGluZmVyaW9ycyIgIi8kbGFzdGRpci8kZmls ZWxpbmsgKiIgIiR0ZXN0IGZvciBpbmZvIGluZmVyaW9ycyIKKworCisKK2h0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDE0LTAxL21zZzAwNzIyLmh0bWwKK1N1YmplY3Q6IFtw YXRjaF0gRml4IGdkYi5iYXNlL2FyZ3YwLXN5bWxpbmsuZXhwIEZBSUwgaW4gbG9uZyBkaXJwYXRo CisKKworLS1WYkprbjlZeEJ2bnVDSDVKCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQorCitIaSwKKword2hlbiB5 b3UgYnVpbGQgR0RCIGluIGEgdmVyeSBsb25nIGRpcmVjdG9yeSBwYXRobmFtZSBpdCB3aWxsOgor CisoZ2RiKSBwcmludCBhcmd2WzBdCiskMSA9IDB4N2ZmZmZmZmZkYjA3ICIvaG9tZS9qa3JhdG9j aC9yZWRoYXQvIiwgJ3gnIDxyZXBlYXRzIDE3OCB0aW1lcz4uLi4KKyhnZGIpIEZBSUw6IGdkYi5i YXNlL2FyZ3YwLXN5bWxpbmsuZXhwOiBrZXB0IGZpbGUgc3ltYm9saWMgbGluayBuYW1lCisKK1dp dGggdGhlIGZpeDoKKworKGdkYikgcHJpbnQgYXJndlswXQorJDEgPSAweDdmZmZmZmZmZGIwNyAi L2hvbWUvamtyYXRvY2gvcmVkaGF0L3h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eC9nZGItdGVzdC9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmstZmlsZWxpbmsiCisoZ2RiKSBQQVNT OiBnZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4cDoga2VwdCBmaWxlIHN5bWJvbGljIGxpbmsgbmFt ZQorCitUaGUgInNldCBwcmludCByZXBlYXRzIHVubGltaXRlZCIgcGFydCBpcyB0aGVyZSB0byBw cmV2ZW50IHRoZSBmb2xsb3dpbmcKK291dHB1dCwgaXQgd291bGQgc3RpbGwgUEFTUyAoYXMgb25s eSBpdHMgdGFpbCBpcyBtYXRjaGVkKSBidXQgaXQgaXMgbm90IG11Y2gKK2NvcnJlY3QuCisKKyhn ZGIpIHByaW50IGFyZ3ZbMF0KKyQxID0gMHg3ZmZmZmZmZmRiMDcgIi9ob21lL2prcmF0b2NoL3Jl ZGhhdC8iLCAneCcgPHJlcGVhdHMgMTk1IHRpbWVzPiwgIi9nZGItdGVzdC9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2FyZ3YwLXN5bWxpbmstZmlsZWxpbmsiCisoZ2RiKSBQQVNTOiBnZGIuYmFzZS9h cmd2MC1zeW1saW5rLmV4cDoga2VwdCBmaWxlIHN5bWJvbGljIGxpbmsgbmFtZQorCitJIHdpbGwg Y2hlY2sgaXQgaW4uCisKK1Rlc3RlZCBvbiB4ODZfNjQtZmVkb3JhMjAtbGludXgtZ251LgorCisK K0phbgorCistLVZiSmtuOVl4QnZudUNINUoKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD11cy1hc2NpaQorQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0iYXJn djAucGF0Y2giCisKK2dkYi90ZXN0c3VpdGUvCisyMDE0LTAxLTE5ICBKYW4gS3JhdG9jaHZpbCAg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggZ2RiLmJhc2UvYXJndjAtc3ltbGlu ay5leHAgRkFJTCBpbiBsb25nIGRpcnBhdGguCisJKiBnZGIuYmFzZS9hcmd2MC1zeW1saW5rLmV4 cCAoZWxlbWVudHMgZmlyc3QsIHJlcGVhdHMgZmlyc3QpCisJKGVsZW1lbnRzIHNlY29uZCwgcmVw ZWF0cyBzZWNvbmQpOiBOZXcuCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FyZ3YwLXN5bWxpbmsuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcmd2MC1zeW1saW5r LmV4cAoraW5kZXggMGUwMjAyZC4uN2JmNWMyZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXJndjAtc3ltbGluay5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv YXJndjAtc3ltbGluay5leHAKK0BAIC0zNiw2ICszNiwxMCBAQCBpZiAhW3J1bnRvX21haW5dIHsK KyAgICAgcmV0dXJuIC0xCisgfQorIAorKyMgVmVyeSBsb25nIGRpcmVjdG9yeSBwYXRocyBjb3Vs ZCBiZSBjdXQgYmVsb3cuCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgcHJpbnQgZWxlbWVudHMg dW5saW1pdGVkIiAiZWxlbWVudHMgZmlyc3QiCisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgcHJp bnQgcmVwZWF0cyB1bmxpbWl0ZWQiICJyZXBlYXRzIGZpcnN0IgorKworIGdkYl90ZXN0IHtwcmlu dCBhcmd2WzBdfSAiLyRmaWxlbGlua1wiIiAkdGVzdAorIAorICMgRm9yIGEgbGluayBuYW1lZCAv UEFUSC9UTy9ESVIvTElOSywgd2Ugd2FudCB0byBjaGVjayB0aGUgb3V0cHV0CitAQCAtNjcsNiAr NzEsMTAgQEAgaWYgIVtydW50b19tYWluXSB7CisgICAgIHJldHVybiAtMQorIH0KKyAKKysjIFZl cnkgbG9uZyBkaXJlY3RvcnkgcGF0aHMgY291bGQgYmUgY3V0IGJlbG93LgorK2dkYl90ZXN0X25v X291dHB1dCAic2V0IHByaW50IGVsZW1lbnRzIHVubGltaXRlZCIgImVsZW1lbnRzIHNlY29uZCIK KytnZGJfdGVzdF9ub19vdXRwdXQgInNldCBwcmludCByZXBlYXRzIHVubGltaXRlZCIgInJlcGVh dHMgc2Vjb25kIgorKworICMgZ2Ric2VydmVyIGRvZXMgbm90IGhhdmUgdGhpcyBpc3N1ZS4KKyBp ZiAhW2lzX3JlbW90ZSB0YXJnZXRdIHsKKyAgICAgc2V0dXBfa2ZhaWwgIiotKi0qIiBnZGIvMTU5 MzQKKworLS1WYkprbjlZeEJ2bnVDSDVKLS0KKwoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2Ri LnNwZWMKaW5kZXggMTA2N2FjOC4uY2FjM2ViYiAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIv Z2RiLnNwZWMKQEAgLTM4LDcgKzM4LDcgQEAgVmVyc2lvbjogNy42LjUwLiV7c25hcH0KIAogIyBU aGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3Rh cnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5 IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxl YXNlOiAxOCV7P2Rpc3R9CitSZWxlYXNlOiAxOSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBh bmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNl cHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdy b3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTEzNDYsNiArMTM0Niw5IEBAIGZpCiAlZW5k aWYgIyAwJXshP2VsNToxfSB8fCAiJXtfdGFyZ2V0X2NwdX0iID09ICJub2FyY2giCiAKICVjaGFu Z2Vsb2cKKyogU3VuIEphbiAxOSAyMDE0IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEBy ZWRoYXQuY29tPiAtIDcuNi41MC4yMDE0MDExOS0xOS5mYzIwCistIEJhY2twb3J0IHNldmVyYWwg Z2RiLTcuNi54IHN0YWJsZSBicmFuY2ggZml4ZXMgKEJaIDEwNTUxNTUpLgorCiAqIFdlZCBEZWMg MjUgMjAxMyBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjYu NTAuMjAxMzA3MzEtMTguZmMyMAogLSBbYWFyY2g2NF0gQmFja3BvcnQgdHdvIGJyZWFrcG9pbnQv d2F0Y2hwb2ludCBmaXhlcy4KIAo=