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] fix-dup-patch: Rebase to FSF GDB 7.4.50.20120714. Date: Thu, 23 Jul 2026 18:30:35 GMT Message-ID: <178483143548.1.4478026140803198987.rpms-gdb-8aabf36e777c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 8aabf36e777c93a6571f7b9f7e70688d13271e14 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogOGFhYmYzNmU3NzdjOTNhNjU3MWY3YjlmN2U3MDY4OGQxMzI3MWUxNAog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMi0wNy0xNVQxMDo0MTo0NiswMjowMAogICAg ICAgICAgICBTdGF0cyAgOiArNjk1Ly03ODIgaW4gMTMgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzhhYWJmMzZlNzc3 YzkzYTY1NzFmN2I5ZjdlNzA2ODhkMTMyNzFlMTQ/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAg ICAgICAgIExvZzoKICAgICAgICAgICAgUmViYXNlIHRvIEZTRiBHREIgNy40LjUwLjIwMTIwNzE0 LgoKICAtIEZpeCBlbnRyeXZhbCBmZWF0dXJlIGNyYXNoIG9uIHNvbWUgLmRlYnVnIGZpbGVzIG9w dGltaXplZCBieSBkd3ogKEJaIDgzOTU5NikuCi0gRml4IGFub3RoZXIgc3RhbGUgZnJhbWVfaW5m byAqIChQUiAxMTkxNCwgbGlrZSBQUiAxMzg2NikuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25v cmUgYi8uZ2l0aWdub3JlCmluZGV4IDI5MzZmMWMuLjY0M2ExNWYgMTAwNjQ0Ci0tLSBhLy5naXRp Z25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9saWJzdGRjKystdjMtcHl0 aG9uLXIxNTU5NzgudGFyLmJ6MgotL2dkYi03LjQuNTAuMjAxMjA3MDMudGFyLmJ6MgorL2dkYi03 LjQuNTAuMjAxMjA3MTQudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2dkYi02LjYtc2NoZWR1bGVyX2xv Y2tpbmctc3RlcC1zdy13YXRjaHBvaW50czIucGF0Y2ggYi9nZGItNi42LXNjaGVkdWxlcl9sb2Nr aW5nLXN0ZXAtc3ctd2F0Y2hwb2ludHMyLnBhdGNoCmluZGV4IGM1MzE4ZTYuLjM2YjEwYTUgMTAw NjQ0Ci0tLSBhL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1zdy13YXRjaHBvaW50czIu cGF0Y2gKKysrIGIvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3LXdhdGNocG9pbnRz Mi5wYXRjaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKIAlQb3J0IHRvIEdEQi02LjhwcmUuCiAKLUlu ZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9pbmZlcmlvci5oCitJbmRleDogZ2RiLTcuNC41 MC4yMDEyMDcxNC9nZGIvaW5mZXJpb3IuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAx MjA2MDIub3JpZy9nZGIvaW5mZXJpb3IuaAkyMDEyLTA1LTI0IDE4OjM5OjA5LjAwMDAwMDAwMCAr MDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2luZmVyaW9yLmgJMjAxMi0wNi0wMiAx ODoyNDoxMi44NzUyNzQxNzkgKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2Ri L2luZmVyaW9yLmgJMjAxMi0wNi0xMyAyMDoxNTowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGIt Ny40LjUwLjIwMTIwNzE0L2dkYi9pbmZlcmlvci5oCTIwMTItMDctMTQgMjM6MjE6MDEuNzk1MTYx Nzk0ICswMjAwCiBAQCAtMTU5LDcgKzE1OSwxNSBAQCBleHRlcm4gdm9pZCByZW9wZW5fZXhlY19m aWxlICh2b2lkKTsKICAvKiBUaGUgYHJlc3VtZScgcm91dGluZSBzaG91bGQgb25seSBiZSBjYWxs ZWQgaW4gc3BlY2lhbCBjaXJjdW1zdGFuY2VzLgogICAgIE5vcm1hbGx5LCB1c2UgYHByb2NlZWQn LCB3aGljaCBoYW5kbGVzIGEgbG90IG9mIGJvb2trZWVwaW5nLiAgKi8KQEAgLTQyLDEwICs0Miwx MCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mZXJpb3IuaAogIAogIGV4dGVy biBwdGlkX3QgdXNlcl92aXNpYmxlX3Jlc3VtZV9wdGlkIChpbnQgc3RlcCk7CiAgCi1JbmRleDog Z2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIw NzE0L2dkYi9pbmZydW4uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3Jp Zy9nZGIvaW5mcnVuLmMJMjAxMi0wNS0yOCAyMjo0MzoyNi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBn ZGItNy40LjUwLjIwMTIwNjAyL2dkYi9pbmZydW4uYwkyMDEyLTA2LTAyIDE4OjIzOjU5LjMzOTI3 ODI2OCArMDIwMAorLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvaW5mcnVuLmMJMjAx Mi0wNy0wMSAxMjozNzowNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0 L2dkYi9pbmZydW4uYwkyMDEyLTA3LTE0IDIzOjIxOjAxLjgwMDE2MTc2NyArMDIwMAogQEAgLTc5 LDcgKzc5LDcgQEAgc3RhdGljIGludCBmb2xsb3dfZm9yayAodm9pZCk7CiAgc3RhdGljIHZvaWQg c2V0X3NjaGVkbG9ja19mdW5jIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHksCiAgCQkJCXN0cnVj dCBjbWRfbGlzdF9lbGVtZW50ICpjKTsKQEAgLTU1LDcgKzU1LDcgQEAgSW5kZXg6IGdkYi03LjQu NTAuMjAxMjA2MDIvZ2RiL2luZnJ1bi5jCiAgCiAgc3RhdGljIGludCBjdXJyZW50bHlfc3RlcHBp bmdfb3JfbmV4dGluZ19jYWxsYmFjayAoc3RydWN0IHRocmVhZF9pbmZvICp0cCwKICAJCQkJCQkg ICB2b2lkICpkYXRhKTsKLUBAIC0xNjg3LDcgKzE2ODcsOCBAQCB1c2VyX3Zpc2libGVfcmVzdW1l X3B0aWQgKGludCBzdGVwKQorQEAgLTE2NzIsNyArMTY3Miw4IEBAIHVzZXJfdmlzaWJsZV9yZXN1 bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgIH0KICAgIGVsc2UgaWYgKChzY2hlZHVsZXJfbW9kZSA9 PSBzY2hlZGxvY2tfb24pCiAgCSAgIHx8IChzY2hlZHVsZXJfbW9kZSA9PSBzY2hlZGxvY2tfc3Rl cApAQCAtNjUsNyArNjUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVu LmMKICAgICAgewogICAgICAgIC8qIFVzZXItc2V0dGFibGUgJ3NjaGVkdWxlcicgbW9kZSByZXF1 aXJlcyBzb2xvIHRocmVhZCByZXN1bWUuICAqLwogICAgICAgIHJlc3VtZV9wdGlkID0gaW5mZXJp b3JfcHRpZDsKLUBAIC0xNzA1LDcgKzE3MDYsNyBAQCB1c2VyX3Zpc2libGVfcmVzdW1lX3B0aWQg KGludCBzdGVwKQorQEAgLTE2OTAsNyArMTY5MSw3IEBAIHVzZXJfdmlzaWJsZV9yZXN1bWVfcHRp ZCAoaW50IHN0ZXApCiAgICAgU1RFUCBub256ZXJvIGlmIHdlIHNob3VsZCBzdGVwICh6ZXJvIHRv IGNvbnRpbnVlIGluc3RlYWQpLgogICAgIFNJRyBpcyB0aGUgc2lnbmFsIHRvIGdpdmUgdGhlIGlu ZmVyaW9yICh6ZXJvIGZvciBub25lKS4gICovCiAgdm9pZApAQCAtNzQsNyArNzQsNyBAQCBJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICB7CiAgICBpbnQgc2hvdWxkX3Jl c3VtZSA9IDE7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NsZWFudXBzID0gbWFrZV9jbGVhbnVw IChyZXN1bWVfY2xlYW51cHMsIDApOwotQEAgLTE3MzgsOSArMTczOSwxMyBAQCByZXN1bWUgKGlu dCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQorQEAgLTE3MjMsOSArMTcyNCwxMyBAQCByZXN1 bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQogIAogICAgaWYgKGRlYnVnX2luZnJ1 bikKICAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAtOTAsNyArOTAsNyBA QCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAJCQl0YXJnZXRfcGlk X3RvX3N0ciAoaW5mZXJpb3JfcHRpZCksCiAgCQkJcGFkZHJlc3MgKGdkYmFyY2gsIHBjKSk7CiAg Ci1AQCAtMjExNyw3ICsyMTIyLDcgQEAgcHJvY2VlZCAoQ09SRV9BRERSIGFkZHIsIGVudW0gZ2Ri X3NpZ25hbAorQEAgLTIxMDIsNyArMjEwNyw3IEBAIHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBl bnVtIGdkYl9zaWduYWwKICAgIHN0cnVjdCB0aHJlYWRfaW5mbyAqdHA7CiAgICBDT1JFX0FERFIg cGM7CiAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlOwpAQCAtOTksNyArOTksNyBAQCBJ bmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAKICAgIC8qIElmIHdlJ3Jl IHN0b3BwZWQgYXQgYSBmb3JrL3Zmb3JrLCBmb2xsb3cgdGhlIGJyYW5jaCBzZXQgYnkgdGhlCiAg ICAgICAic2V0IGZvbGxvdy1mb3JrLW1vZGUiIGNvbW1hbmQ7IG90aGVyd2lzZSwgd2UnbGwganVz dCBwcm9jZWVkCi1AQCAtMjE1NywxMyArMjE2MiwxMyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRk ciwgZW51bSBnZGJfc2lnbmFsCitAQCAtMjE0MiwxMyArMjE0NywxMyBAQCBwcm9jZWVkIChDT1JF X0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCiAgCSAgIGFjdHVhbGx5IGJlIGV4ZWN1dGluZyB0 aGUgYnJlYWtwb2ludCBpbnNuIGFueXdheS4KICAJICAgV2UnbGwgYmUgKHVuLSlleGVjdXRpbmcg dGhlIHByZXZpb3VzIGluc3RydWN0aW9uLiAgKi8KICAKQEAgLTExNSw3ICsxMTUsNyBAQCBJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAgICAgfQogICAgZWxzZQogICAg ICB7Ci1AQCAtMjE5NCwxMyArMjE5OSwxMyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51 bSBnZGJfc2lnbmFsCitAQCAtMjE3OSwxMyArMjE4NCwxMyBAQCBwcm9jZWVkIChDT1JFX0FERFIg YWRkciwgZW51bSBnZGJfc2lnbmFsCiAgCSBpcyByZXF1aXJlZCBpdCByZXR1cm5zIFRSVUUgYW5k IHNldHMgdGhlIGN1cnJlbnQgdGhyZWFkIHRvCiAgCSB0aGUgb2xkIHRocmVhZC4gICovCiAgICAg ICAgaWYgKHByZXBhcmVfdG9fcHJvY2VlZCAoc3RlcCkpCkBAIC0xMzEsNyArMTMxLDcgQEAgSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2luZnJ1bi5jCiAgICAgIHsKICAgICAgICB0cC0+ Y29udHJvbC50cmFwX2V4cGVjdGVkID0gMTsKICAgICAgICAvKiBJZiBkaXNwbGFjZWQgc3RlcHBp bmcgaXMgZW5hYmxlZCwgd2UgY2FuIHN0ZXAgb3ZlciB0aGUKLUBAIC0yMjg3LDggKzIyOTIsMTMg QEAgcHJvY2VlZCAoQ09SRV9BRERSIGFkZHIsIGVudW0gZ2RiX3NpZ25hbAorQEAgLTIyNzIsOCAr MjI3NywxMyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCiAgICAv KiBSZXNldCB0byBub3JtYWwgc3RhdGUuICAqLwogICAgaW5pdF9pbmZ3YWl0X3N0YXRlICgpOwog IApAQCAtMTQ2LDcgKzE0Niw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9pbmZy dW4uYwogIAogICAgLyogV2FpdCBmb3IgaXQgdG8gc3RvcCAoaWYgbm90IHN0YW5kYWxvbmUpCiAg ICAgICBhbmQgaW4gYW55IGNhc2UgZGVjb2RlIHdoeSBpdCBzdG9wcGVkLCBhbmQgYWN0IGFjY29y ZGluZ2x5LiAgKi8KLUBAIC01MjQ5LDEzICs1MjU5LDE4IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90 ZXN0OgorQEAgLTUyMDUsMTMgKzUyMTUsMTggQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6CiAg CiAgLyogSXMgdGhyZWFkIFRQIGluIHRoZSBtaWRkbGUgb2Ygc2luZ2xlLXN0ZXBwaW5nPyAgKi8K ICAKQEAgLTE3MCwxMSArMTcwLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9p bmZydW4uYwogIH0KICAKICAvKiBSZXR1cm5zIHRydWUgaWYgYW55IHRocmVhZCAqYnV0KiB0aGUg b25lIHBhc3NlZCBpbiAiZGF0YSIgaXMgaW4gdGhlCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYw Mi9nZGIvbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9saW51eC1u YXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvbGludXgt bmF0LmMJMjAxMi0wNS0yNCAxODo1MTozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjUw LjIwMTIwNjAyL2dkYi9saW51eC1uYXQuYwkyMDEyLTA2LTAyIDE4OjIzOjA3LjQwOTI5MzgwMCAr MDIwMAotQEAgLTMwNTEsNyArMzA1MSwxMSBAQCBzdGF0aWMgaW50CistLS0gZ2RiLTcuNC41MC4y MDEyMDcxNC5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEyLTA3LTA3IDE0OjEzOjU2LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2xpbnV4LW5hdC5jCTIwMTItMDct MTQgMjM6MjE6MDEuODAzMTYxNzUwICswMjAwCitAQCAtMjk4Miw3ICsyOTgyLDExIEBAIHN0YXRp YyBpbnQKICBzZWxlY3Rfc2luZ2xlc3RlcF9sd3BfY2FsbGJhY2sgKHN0cnVjdCBsd3BfaW5mbyAq bHAsIHZvaWQgKmRhdGEpCiAgewogICAgaWYgKGxwLT5sYXN0X3Jlc3VtZV9raW5kID09IHJlc3Vt ZV9zdGVwCkBAIC0xODcsMTAgKzE4NywxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9n ZGIvbGludXgtbmF0LmMKICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAgIHJldHVybiAwOwot SW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2xpbnV4LW5hdC5oCitJbmRleDogZ2RiLTcu NC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUw LjIwMTIwNjAyLm9yaWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDMtMjEgMTQ6NDM6NTQuMDAwMDAw MDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvbGludXgtbmF0LmgJMjAxMi0w Ni0wMiAxODoyMzowNy40MTEyOTM3OTggKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9y aWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDYgMTg6NTI6MjAuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgJMjAxMi0wNy0xNCAyMzoyMTox Ny40MTQwNzUzNTUgKzAyMDAKIEBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBsd3BfaW5mbwogICAg LyogSWYgbm9uLXplcm8sIGEgcGVuZGluZyB3YWl0IHN0YXR1cy4gICovCiAgICBpbnQgc3RhdHVz OwpAQCAtMjAwLDUgKzIwMCw1IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9saW51 eC1uYXQuaAogKyAgLyogVGhlIGtpbmQgb2Ygc3RlcHBpbmcgb2YgdGhpcyBMV1AuICAqLwogKyAg ZW51bSByZXN1bWVfc3RlcCBzdGVwOwogIAotICAgLyogTm9uLXplcm8gc2lfc2lnbm8gaWYgdGhp cyBMV1Agc3RvcHBlZCB3aXRoIGEgdHJhcC4gIHNpX2FkZHIgbWF5Ci0gICAgICBiZSB0aGUgYWRk cmVzcyBvZiBhIGhhcmR3YXJlIHdhdGNocG9pbnQuICAqLworICAgLyogU1RPUFBFRF9CWV9XQVRD SFBPSU5UIGlzIG5vbi16ZXJvIGlmIHRoaXMgTFdQIHN0b3BwZWQgd2l0aCBhIGRhdGEKKyAgICAg IHdhdGNocG9pbnQgdHJhcC4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5wYXRjaCBiL2dk Yi1hcmNoZXIucGF0Y2gKaW5kZXggZGI5YTliYi4uMzUzMWVlMCAxMDA2NDQKLS0tIGEvZ2RiLWFy Y2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0yLDcgKzIsNyBAQCBodHRwOi8v c291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgogaHR0cDovL3NvdXJjZXdhcmUu b3JnL2dkYi93aWtpL0FyY2hlckJyYW5jaE1hbmFnZW1lbnQKIAogR0lUIHNuYXBzaG90OgotY29t bWl0IGI0NzgzMjNjYmQzODU5ODkwMmZhMmVmYjE3OTQxOTJkN2JhNjI3YjEKK2NvbW1pdCA4MTRk YjllZTg3ZThkNjA5Y2U2MDMyNDc2MGNmODBjZDRlNGVjNDNhCiAKIGJyYW5jaCBgYXJjaGVyJyAt IHRoZSBtZXJnZSBvZiBicmFuY2hlczoKIGFyY2hlci1qYW5rcmF0b2NodmlsLXZsYQpAQCAtMTUy LDEwICsxNTIsMTAgQEAgaW5kZXggOTljNDc4OC4uNmNlYjcwNCAxMDA2NDQKICsKICAjZW5kaWYg LyogQkxPQ0tfSCAqLwogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtw b2ludC5jCi1pbmRleCA1NTU2OTRlLi45MjE2NDA1IDEwMDY0NAoraW5kZXggNmI5ZmFmMy4uNDNm ZjE2YSAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50 LmMKLUBAIC0xNTUyNSw2ICsxNTUyNSwyNCBAQCBhbGxfdHJhY2Vwb2ludHMgKHZvaWQpCitAQCAt MTU1MDgsNiArMTU1MDgsMjQgQEAgYWxsX3RyYWNlcG9pbnRzICh2b2lkKQogICAgcmV0dXJuIHRw X3ZlYzsKICB9CiAgCkBAIC0xODAsNyArMTgwLDcgQEAgaW5kZXggNTU1Njk0ZS4uOTIxNjQwNSAx MDA2NDQKICAMCiAgLyogVGhpcyBoZWxwIHN0cmluZyBpcyB1c2VkIGZvciB0aGUgYnJlYWssIGhi cmVhaywgdGJyZWFrIGFuZCB0aGJyZWFrCiAgICAgY29tbWFuZHMuICBJdCBpcyBkZWZpbmVkIGFz IGEgbWFjcm8gdG8gcHJldmVudCBkdXBsaWNhdGlvbi4KLUBAIC0xNjQ5MCw0ICsxNjUwOCw3IEBA IGFnZW50LXByaW50ZiBcInByaW50ZiBmb3JtYXQgc3RyaW5nXCIsIGFyZzEsIGFyZzIsIGFyZzMs IC4uLiwgYXJnblxuXAorQEAgLTE2NDczLDQgKzE2NDkxLDcgQEAgYWdlbnQtcHJpbnRmIFwicHJp bnRmIGZvcm1hdCBzdHJpbmdcIiwgYXJnMSwgYXJnMiwgYXJnMywgLi4uLCBhcmduXG5cCiAgICBh dXRvbWF0aWNfaGFyZHdhcmVfYnJlYWtwb2ludHMgPSAxOwogIAogICAgb2JzZXJ2ZXJfYXR0YWNo X2Fib3V0X3RvX3Byb2NlZWQgKGJyZWFrcG9pbnRfYWJvdXRfdG9fcHJvY2VlZCk7CkBAIC0xODks MjAgKzE4OSwxOSBAQCBpbmRleCA1NTU2OTRlLi45MjE2NDA1IDEwMDY0NAogKyNlbmRpZgogIH0K IGRpZmYgLS1naXQgYS9nZGIvYnVpbGRzeW0uYyBiL2dkYi9idWlsZHN5bS5jCi1pbmRleCBmMWZi NGJlLi41NGEwZWEzIDEwMDY0NAoraW5kZXggZDU0NzAxMi4uZTJmMzE5MiAxMDA2NDQKIC0tLSBh L2dkYi9idWlsZHN5bS5jCiArKysgYi9nZGIvYnVpbGRzeW0uYwotQEAgLTk0MSw3ICs5NDEsOCBA QCBibG9ja19jb21wYXIgKGNvbnN0IHZvaWQgKmFwLCBjb25zdCB2b2lkICpicCkKLSAgICBuZXZl ciBrbm93IGFib3V0IHRoaXMgZW1wdHkgZmlsZSAoRklYTUUpLiAgKi8KK0BAIC05NzAsNyArOTcw LDcgQEAgcmVzZXRfc3ltdGFiX2dsb2JhbHMgKHZvaWQpCiAgCi0gc3RydWN0IHN5bXRhYiAqCi0t ZW5kX3N5bXRhYiAoQ09SRV9BRERSIGVuZF9hZGRyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwg aW50IHNlY3Rpb24pCi0rZW5kX3N5bXRhYl9mdWxsIChDT1JFX0FERFIgZW5kX2FkZHIsIHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLCBpbnQgc2VjdGlvbiwKLSsJCSBpbnQgcmVxdWlyZWQpCisgc3Ry dWN0IGJsb2NrICoKKyBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKENPUkVfQUREUiBlbmRf YWRkciwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistCQkJICAgICBpbnQgZXhwYW5kYWJsZSkK KysJCQkgICAgIGludCBleHBhbmRhYmxlLCBpbnQgcmVxdWlyZWQpCiAgewotICAgc3RydWN0IHN5 bXRhYiAqc3ltdGFiID0gTlVMTDsKLSAgIHN0cnVjdCBibG9ja3ZlY3RvciAqYmxvY2t2ZWN0b3I7 Ci1AQCAtMTAxMyw3ICsxMDE0LDggQEAgZW5kX3N5bXRhYiAoQ09SRV9BRERSIGVuZF9hZGRyLCBz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24pCisgICAvKiBGaW5pc2ggdGhlIGxl eGljYWwgY29udGV4dCBvZiB0aGUgbGFzdCBmdW5jdGlvbiBpbiB0aGUgZmlsZTsgcG9wCisgICAg ICB0aGUgY29udGV4dCBzdGFjay4gICovCitAQCAtMTAzOCw3ICsxMDM4LDggQEAgZW5kX3N5bXRh Yl9nZXRfc3RhdGljX2Jsb2NrIChDT1JFX0FERFIgZW5kX2FkZHIsIHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlLAogICAgY2xlYW51cF91bmRlZmluZWRfc3RhYnNfdHlwZXMgKG9iamZpbGUpOwogICAg ZmluaXNoX2dsb2JhbF9zdGFicyAob2JqZmlsZSk7CiAgCkBAIC0yMTIsMzQgKzIxMSwzNyBAQCBp bmRleCBmMWZiNGJlLi41NGEwZWEzIDEwMDY0NAogICAgICAgICYmIGZpbGVfc3ltYm9scyA9PSBO VUxMCiAgICAgICAgJiYgZ2xvYmFsX3N5bWJvbHMgPT0gTlVMTAogICAgICAgICYmIGhhdmVfbGlu ZV9udW1iZXJzID09IDAKLUBAIC0xMjE5LDYgKzEyMjEsMTIgQEAgZW5kX3N5bXRhYiAoQ09SRV9B RERSIGVuZF9hZGRyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24pCi0gICBy ZXR1cm4gc3ltdGFiOworQEAgLTEyOTYsNyArMTI5Nyw3IEBAIGVuZF9zeW10YWIgKENPUkVfQURE UiBlbmRfYWRkciwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBzZWN0aW9uKQorIHsKKyAg IHN0cnVjdCBibG9jayAqc3RhdGljX2Jsb2NrOworIAorLSAgc3RhdGljX2Jsb2NrID0gZW5kX3N5 bXRhYl9nZXRfc3RhdGljX2Jsb2NrIChlbmRfYWRkciwgb2JqZmlsZSwgMCk7CisrICBzdGF0aWNf YmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGVuZF9hZGRyLCBvYmpmaWxlLCAw LCAwKTsKKyAgIHJldHVybiBlbmRfc3ltdGFiX2Zyb21fc3RhdGljX2Jsb2NrIChzdGF0aWNfYmxv Y2ssIG9iamZpbGUsIHNlY3Rpb24sIDApOworIH0KKyAKK0BAIC0xMzA4LDcgKzEzMDksNyBAQCBl bmRfZXhwYW5kYWJsZV9zeW10YWIgKENPUkVfQUREUiBlbmRfYWRkciwgc3RydWN0IG9iamZpbGUg Km9iamZpbGUsCisgeworICAgc3RydWN0IGJsb2NrICpzdGF0aWNfYmxvY2s7CisgCistICBzdGF0 aWNfYmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGVuZF9hZGRyLCBvYmpmaWxl LCAxKTsKKysgIHN0YXRpY19ibG9jayA9IGVuZF9zeW10YWJfZ2V0X3N0YXRpY19ibG9jayAoZW5k X2FkZHIsIG9iamZpbGUsIDEsIDApOworICAgcmV0dXJuIGVuZF9zeW10YWJfZnJvbV9zdGF0aWNf YmxvY2sgKHN0YXRpY19ibG9jaywgb2JqZmlsZSwgc2VjdGlvbiwgMSk7CiAgfQogIAotK3N0cnVj dCBzeW10YWIgKgotK2VuZF9zeW10YWIgKENPUkVfQUREUiBlbmRfYWRkciwgc3RydWN0IG9iamZp bGUgKm9iamZpbGUsIGludCBzZWN0aW9uKQotK3sKLSsgIHJldHVybiBlbmRfc3ltdGFiX2Z1bGwg KGVuZF9hZGRyLCBvYmpmaWxlLCBzZWN0aW9uLCAwKTsKLSt9Ci0rCi0gLyogUHVzaCBhIGNvbnRl eHQgYmxvY2suICBBcmdzIGFyZSBhbiBpZGVudGlmeWluZyBuZXN0aW5nIGxldmVsCi0gICAgKGNo ZWNrYWJsZSB3aGVuIHlvdSBwb3AgaXQpLCBhbmQgdGhlIHN0YXJ0aW5nIFBDIGFkZHJlc3Mgb2Yg dGhpcwotICAgIGNvbnRleHQuICAqLwogZGlmZiAtLWdpdCBhL2dkYi9idWlsZHN5bS5oIGIvZ2Ri L2J1aWxkc3ltLmgKLWluZGV4IDQ0NDgyNjcuLjdkOWI5N2MgMTAwNjQ0CitpbmRleCAxNjJlZThj Li4yYzFkMTc5IDEwMDY0NAogLS0tIGEvZ2RiL2J1aWxkc3ltLmgKICsrKyBiL2dkYi9idWlsZHN5 bS5oCi1AQCAtMjYxLDYgKzI2MSwxMCBAQCBleHRlcm4gY2hhciAqcG9wX3N1YmZpbGUgKHZvaWQp OwotIGV4dGVybiBzdHJ1Y3Qgc3ltdGFiICplbmRfc3ltdGFiIChDT1JFX0FERFIgZW5kX2FkZHIs Ci0gCQkJCSAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBzZWN0aW9uKTsKK0BAIC0yNjAs NyArMjYwLDcgQEAgZXh0ZXJuIGNoYXIgKnBvcF9zdWJmaWxlICh2b2lkKTsKICAKLStleHRlcm4g c3RydWN0IHN5bXRhYiAqZW5kX3N5bXRhYl9mdWxsIChDT1JFX0FERFIgZW5kX2FkZHIsCi0rCQkJ CSAgICAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24sCi0rCQkJCSAgICAg ICBpbnQgcmVxdWlyZWQpOwotKwotIC8qIERlZmluZWQgaW4gc3RhYnNyZWFkLmMuICAqLworIGV4 dGVybiBzdHJ1Y3QgYmxvY2sgKmVuZF9zeW10YWJfZ2V0X3N0YXRpY19ibG9jayAoQ09SRV9BRERS IGVuZF9hZGRyLAorIAkJCQkJCSAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistCQkJCQkJICBp bnQgZXhwYW5kYWJsZSk7CisrCQkJCQkJICBpbnQgZXhwYW5kYWJsZSwgaW50IHJlcXVpcmVkKTsK ICAKLSBleHRlcm4gdm9pZCBzY2FuX2ZpbGVfZ2xvYmFscyAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUpOworIGV4dGVybiBzdHJ1Y3Qgc3ltdGFiICplbmRfc3ltdGFiX2Zyb21fc3RhdGljX2Jsb2Nr IChzdHJ1Y3QgYmxvY2sgKnN0YXRpY19ibG9jaywKKyAJCQkJCQkgICAgc3RydWN0IG9iamZpbGUg Km9iamZpbGUsCiBkaWZmIC0tZ2l0IGEvZ2RiL2MtdHlwZXByaW50LmMgYi9nZGIvYy10eXBlcHJp bnQuYwogaW5kZXggYTU4OTJiNS4uMjk0NGMyZCAxMDA2NDQKIC0tLSBhL2dkYi9jLXR5cGVwcmlu dC5jCkBAIC04MDUsMTAgKzgwNywxMCBAQCBpbmRleCAxYzZmYTc5Li5lYzA4MzQ4IDEwMDY0NAog IGV4dGVybiBjaGFyICp4ZnVsbHBhdGggKGNvbnN0IGNoYXIgKik7CiAgCiBkaWZmIC0tZ2l0IGEv Z2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLWluZGV4IGQzMjRhOTMu LjljY2Y3ZjEgMTAwNjQ0CitpbmRleCBhOTJkZjg2Li4yOWE2MmFkIDEwMDY0NAogLS0tIGEvZ2Ri L2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotQEAgLTExOTQsNiAr MTE5NCwxNiBAQCBmb3IgcmVtb3RlIGRlYnVnZ2luZy4KK0BAIC0xMjAwLDYgKzEyMDAsMTYgQEAg Zm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCiAgUnVuIHVzaW5nIEB2YXJ7ZGV2aWNlfSBmb3IgeW91ciBw cm9ncmFtJ3Mgc3RhbmRhcmQgaW5wdXQgYW5kIG91dHB1dC4KICBAYyBGSVhNRToga2luZ2RvbiB0 aGlua3MgdGhlcmUgaXMgbW9yZSB0byAtdHR5LiAgSW52ZXN0aWdhdGUuCiAgCkBAIC04MjUsNyAr ODI3LDcgQEAgaW5kZXggZDMyNGE5My4uOWNjZjdmMSAxMDA2NDQKICBAYyByZXNvbHZlIHRoZSBz aXR1YXRpb24gb2YgdGhlc2UgZXZlbnR1YWxseQogIEBpdGVtIC10dWkKICBAY2luZGV4IEBjb2Rl ey0tdHVpfQotQEAgLTIyNTQxLDggKzIyNTUxLDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAg Rm9yIGV4YW1wbGU6CitAQCAtMjI1NDgsOCArMjI1NTgsNiBAQCBjb250YWluaW5nIEBjb2Rle2Vu ZH0uICBGb3IgZXhhbXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1ZXtHREJQfSkgcHl0 aG9uCkBAIC04MzQsNyArODM2LDcgQEAgaW5kZXggZDMyNGE5My4uOWNjZjdmMSAxMDA2NDQKICA+ cHJpbnQgMjMKICA+ZW5kCiAgMjMKLUBAIC0yMjU1Niw2ICsyMjU2NCwxNCBAQCBjb250cm9sbGVk IHVzaW5nIEBjb2Rle3NldCBweXRob24gcHJpbnQtc3RhY2t9OiBpZiBAY29kZXtmdWxsfSwgdGhl bgorQEAgLTIyNTYzLDYgKzIyNTcxLDE0IEBAIGNvbnRyb2xsZWQgdXNpbmcgQGNvZGV7c2V0IHB5 dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle2Z1bGx9LCB0aGVuCiAgZnVsbCBQeXRob24gc3Rh Y2sgcHJpbnRpbmcgaXMgZW5hYmxlZDsgaWYgQGNvZGV7bm9uZX0sIHRoZW4gUHl0aG9uIHN0YWNr CiAgYW5kIG1lc3NhZ2UgcHJpbnRpbmcgaXMgZGlzYWJsZWQ7IGlmIEBjb2Rle21lc3NhZ2V9LCB0 aGUgZGVmYXVsdCwgb25seQogIHRoZSBtZXNzYWdlIGNvbXBvbmVudCBvZiB0aGUgZXJyb3IgaXMg cHJpbnRlZC4KQEAgLTg0OSw3ICs4NTEsNyBAQCBpbmRleCBkMzI0YTkzLi45Y2NmN2YxIDEwMDY0 NAogIEBlbmQgdGFibGUKICAKICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGV4ZWN1dGUgYSBQeXRo b24gc2NyaXB0IGZyb20gdGhlIEB2YWx1ZXtHREJOfQotQEAgLTIyNTc3LDYgKzIyNTkzLDE0IEBA IGFuZCB0aHVzIGlzIGFsd2F5cyBhdmFpbGFibGUuCitAQCAtMjI1ODQsNiArMjI2MDAsMTQgQEAg YW5kIHRodXMgaXMgYWx3YXlzIGF2YWlsYWJsZS4KICBAY2luZGV4IHB5dGhvbiBhcGkKICBAY2lu ZGV4IHByb2dyYW1taW5nIGluIHB5dGhvbgogIApAQCAtODY1LDEwICs4NjcsMTAgQEAgaW5kZXgg ZDMyNGE5My4uOWNjZjdmMSAxMDA2NDQKICBAY2luZGV4IHB5dGhvbiBwYWdpbmF0aW9uCiAgQXQg c3RhcnR1cCwgQHZhbHVle0dEQk59IG92ZXJyaWRlcyBQeXRob24ncyBAY29kZXtzeXMuc3Rkb3V0 fSBhbmQKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvIGIvZ2RiL2RvYy9nZGJp bnQudGV4aW5mbwotaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKK2luZGV4IDVlMDBmMWYu LmM1YzQzMmIgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvCiArKysgYi9nZGIv ZG9jL2dkYmludC50ZXhpbmZvCi1AQCAtMjEwMyw2ICsyMTAzLDE4IEBAIHRpbWUsIGFuZCBzbyB3 ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2Us CitAQCAtMjEwMiw2ICsyMTAyLDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRs ZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCiAgd2UgY3JlYXRlIEBkZm57 cGFydGlhbCBzeW1ib2wgdGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2VsZWN0ZWQKICBzeW1i b2xzLCBhbmQgb25seSBleHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJsZXMgd2hlbiBuZWNl c3NhcnkuCiAgCkBAIC04ODcsNyArODg5LDcgQEAgaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2 NDQKICBAc2VjdGlvbiBTeW1ib2wgUmVhZGluZwogIAogIEBjaW5kZXggc3ltYm9sIHJlYWRpbmcK LUBAIC0yMTk1LDYgKzIyMDcsNyBAQCBzeW10YWIuICBVcG9uIHJldHVybiwgQGNvZGV7cHN0LT5y ZWFkaW59IHNob3VsZCBoYXZlIGJlZW4gc2V0IHRvIDEsIGFuZAorQEAgLTIxOTQsNiArMjIwNiw3 IEBAIHN5bXRhYi4gIFVwb24gcmV0dXJuLCBAY29kZXtwc3QtPnJlYWRpbn0gc2hvdWxkIGhhdmUg YmVlbiBzZXQgdG8gMSwgYW5kCiAgemVybyBpZiB0aGVyZSB3ZXJlIG5vIHN5bWJvbHMgaW4gdGhh dCBwYXJ0IG9mIHRoZSBzeW1ib2wgZmlsZS4KICBAZW5kIHRhYmxlCiAgCkBAIC04OTUsNyArODk3 LDcgQEAgaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKICBAc2VjdGlvbiBQYXJ0aWFsIFN5 bWJvbCBUYWJsZXMKICAKICBAdmFsdWV7R0RCTn0gaGFzIHRocmVlIHR5cGVzIG9mIHN5bWJvbCB0 YWJsZXM6Ci1AQCAtMjI5Niw2ICsyMzA5LDcgQEAgYW5kIHBhcnRpYWwgc3ltYm9sIHRhYmxlcyBi ZWhpbmQgYSBzZXQgb2YgZnVuY3Rpb24gcG9pbnRlcnMga25vd24gYXMKK0BAIC0yMjk1LDYgKzIz MDgsNyBAQCBhbmQgcGFydGlhbCBzeW1ib2wgdGFibGVzIGJlaGluZCBhIHNldCBvZiBmdW5jdGlv biBwb2ludGVycyBrbm93biBhcwogIHRoZSBAZGZue3F1aWNrIHN5bWJvbCBmdW5jdGlvbnN9LiAg VGhlc2UgYXJlIGRvY3VtZW50ZWQgaW4KICBAZmlsZXtzeW1maWxlLmh9LgogIApAQCAtOTAzLDcg KzkwNSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAgQHNlY3Rpb24gVHlwZXMK ICAKICBAdW5udW1iZXJlZHN1YnNlYyBGdW5kYW1lbnRhbCBUeXBlcyAoZS5nLiwgQGNvZGV7RlRf Vk9JRH0sIEBjb2Rle0ZUX0JPT0xFQU59KS4KLUBAIC0yMzE4LDYgKzIzMzIsNyBAQCB0eXBlcyBt YXAgdG8gb25lIEBjb2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNoZWQg YnkKK0BAIC0yMzE3LDYgKzIzMzEsNyBAQCB0eXBlcyBtYXAgdG8gb25lIEBjb2Rle1RZUEVfQ09E RV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNoZWQgYnkKICBvdGhlciBtZW1iZXJzIG9mIHRo ZSB0eXBlIHN0cnVjdCwgc3VjaCBhcyB3aGV0aGVyIHRoZSB0eXBlIGlzIHNpZ25lZAogIG9yIHVu c2lnbmVkLCBhbmQgaG93IG1hbnkgYml0cyBpdCB1c2VzLgogIApAQCAtOTExLDcgKzkxMyw3IEBA IGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAgQHVubnVtYmVyZWRzdWJzZWMgQnVpbHRp biBUeXBlcyAoZS5nLiwgQGNvZGV7YnVpbHRpbl90eXBlX3ZvaWR9LCBAY29kZXtidWlsdGluX3R5 cGVfY2hhcn0pLgogIAogIFRoZXNlIGFyZSBpbnN0YW5jZXMgb2YgdHlwZSBzdHJ1Y3RzIHRoYXQg cm91Z2hseSBjb3JyZXNwb25kIHRvCi1AQCAtMjMzMiw2ICsyMzQ3LDcgQEAgb25seSBvbmUgaW5z dGFuY2UgZXhpc3RzLCB3aGlsZSBAZmlsZXtjLWxhbmcuY30gYnVpbGRzIGFzIG1hbnkKK0BAIC0y MzMxLDYgKzIzNDYsNyBAQCBvbmx5IG9uZSBpbnN0YW5jZSBleGlzdHMsIHdoaWxlIEBmaWxle2Mt bGFuZy5jfSBidWlsZHMgYXMgbWFueQogIEBjb2Rle1RZUEVfQ09ERV9JTlR9IHR5cGVzIGFzIG5l ZWRlZCwgd2l0aCBlYWNoIG9uZSBhc3NvY2lhdGVkIHdpdGgKICBzb21lIHBhcnRpY3VsYXIgb2Jq ZmlsZS4KICAKQEAgLTkxOSw3ICs5MjEsNyBAQCBpbmRleCA5YTQ0MGVmLi5kZDA0NjMzIDEwMDY0 NAogIEBzZWN0aW9uIE9iamVjdCBGaWxlIEZvcm1hdHMKICBAY2luZGV4IG9iamVjdCBmaWxlIGZv cm1hdHMKICAKLUBAIC0yNDE3LDYgKzI0MzMsNyBAQCBTT00sIHdoaWNoIGlzIGEgY3Jvc3MtbGFu Z3VhZ2UgQUJJKS4KK0BAIC0yNDE2LDYgKzI0MzIsNyBAQCBTT00sIHdoaWNoIGlzIGEgY3Jvc3Mt bGFuZ3VhZ2UgQUJJKS4KICAKICBUaGUgU09NIHJlYWRlciBpcyBpbiBAZmlsZXtzb21yZWFkLmN9 LgogIApAQCAtOTI3LDcgKzkyOSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAg QHNlY3Rpb24gRGVidWdnaW5nIEZpbGUgRm9ybWF0cwogIAogIFRoaXMgc2VjdGlvbiBkZXNjcmli ZXMgY2hhcmFjdGVyaXN0aWNzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB0aGF0Ci1AQCAtMjQ4 OCw2ICsyNTA1LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9mIERXQVJGIDIu CitAQCAtMjQ4Nyw2ICsyNTA0LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9m IERXQVJGIDIuCiAgQGNpbmRleCBTT00gZGVidWdnaW5nIGluZm8KICBMaWtlIENPRkYsIHRoZSBT T00gZGVmaW5pdGlvbiBpbmNsdWRlcyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCiAgCkBAIC05MzUs NyArOTM3LDcgQEAgaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKICBAc2VjdGlvbiBBZGRp bmcgYSBOZXcgU3ltYm9sIFJlYWRlciB0byBAdmFsdWV7R0RCTn0KICAKICBAY2luZGV4IGFkZGlu ZyBkZWJ1Z2dpbmcgaW5mbyByZWFkZXIKLUBAIC0yNTEwLDYgKzI1MjgsNyBAQCB3aWxsIG9ubHkg ZXZlciBiZSBpbXBsZW1lbnRlZCBieSBvbmUgb2JqZWN0IGZpbGUgZm9ybWF0IG1heSBiZSBjYWxs ZWQKK0BAIC0yNTA5LDYgKzI1MjcsNyBAQCB3aWxsIG9ubHkgZXZlciBiZSBpbXBsZW1lbnRlZCBi eSBvbmUgb2JqZWN0IGZpbGUgZm9ybWF0IG1heSBiZSBjYWxsZWQKICBkaXJlY3RseS4gIFRoaXMg aW50ZXJmYWNlIHNob3VsZCBiZSBkZXNjcmliZWQgaW4gYSBmaWxlCiAgQGZpbGV7YmZkL2xpYkB2 YXJ7eHl6fS5ofSwgd2hpY2ggaXMgaW5jbHVkZWQgYnkgQHZhbHVle0dEQk59LgogIApAQCAtOTQz LDcgKzk0NSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAgQHNlY3Rpb24gTWVt b3J5IE1hbmFnZW1lbnQgZm9yIFN5bWJvbCBGaWxlcwogIAogIE1vc3QgbWVtb3J5IGFzc29jaWF0 ZWQgd2l0aCBhIGxvYWRlZCBzeW1ib2wgZmlsZSBpcyBzdG9yZWQgb24KLUBAIC0yNTIxLDEwICsy NTQwLDQ1IEBAIHJlbGVhc2VkIHdoZW4gdGhlIG9iamZpbGUgaXMgdW5sb2FkZWQgb3IgcmVsb2Fk ZWQuICBUaGVyZWZvcmUgb25lCitAQCAtMjUyMCwxMCArMjUzOSw0NSBAQCByZWxlYXNlZCB3aGVu IHRoZSBvYmpmaWxlIGlzIHVubG9hZGVkIG9yIHJlbG9hZGVkLiAgVGhlcmVmb3JlIG9uZQogIG9i amZpbGUgbXVzdCBub3QgcmVmZXJlbmNlIHN5bWJvbCBvciB0eXBlIGRhdGEgZnJvbSBhbm90aGVy IG9iamZpbGU7CiAgdGhleSBjb3VsZCBiZSB1bmxvYWRlZCBhdCBkaWZmZXJlbnQgdGltZXMuCiAg CkBAIC0xMDczLDEwICsxMDc1LDEwIEBAIGluZGV4IDIxNGIzNzEuLmQ5YjM3NTEgMTAwNjQ0CiAg CSAgZXJyb3IgKF8oIlVuaGFuZGxlZCBkd2FyZiBleHByZXNzaW9uIG9wY29kZSAweCV4IiksIG9w KTsKICAJfQogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJleHByLmggYi9nZGIvZHdhcmYyZXhwci5o Ci1pbmRleCBkYjQ5YjljLi4zYWUwYmUxIDEwMDY0NAoraW5kZXggMTllZmJmZC4uMGUwZTQ5OCAx MDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJleHByLmgKICsrKyBiL2dkYi9kd2FyZjJleHByLmgKLUBA IC05MSwxMiArOTEsOCBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0X2Z1bmNzCitAQCAtNzgs MTIgKzc4LDggQEAgc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dF9mdW5jcwogICAgICAgVGhpcyBj YW4gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuICAqLwog ICAgQ09SRV9BRERSICgqZ2V0X2FkZHJfaW5kZXgpICh2b2lkICpiYXRvbiwgdW5zaWduZWQgaW50 IGluZGV4KTsKICAKQEAgLTEwOTAsNyArMTA5Miw3IEBAIGluZGV4IGRiNDliOWMuLjNhZTBiZTEg MTAwNjQ0CiAgCiAgLyogVGhlIGxvY2F0aW9uIG9mIGEgdmFsdWUuICAqLwogZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwotaW5kZXggNmZlZWFiNi4uODBkZDli YyAxMDA2NDQKK2luZGV4IDM4ZTQ4MTQuLjQ2YTAzM2QgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYy bG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwogQEAgLTI5Myw2ICsyOTMsOSBAQCBzdHJ1Y3Qg ZHdhcmZfZXhwcl9iYXRvbgpAQCAtMTQyMSw3ICsxNDIzLDcgQEAgaW5kZXggNmZlZWFiNi4uODBk ZDliYyAxMDA2NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHR5cGUpOwog IAkgICAgVkFMVUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5OwogIAkgICAgaWYgKGluX3N0 YWNrX21lbW9yeSkKLUBAIC00MTI0LDggKzQyODYsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFy X3JlZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKK0BA IC00MTMwLDggKzQyOTIsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZiAoc3RydWN0IHN5 bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgICAgICAgZGxiYXRv bi0+cGVyX2N1KTsKICB9CiAgCkBAIC0xNDMxLDcgKzE0MzMsNyBAQCBpbmRleCA2ZmVlYWI2Li44 MGRkOWJjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIGR3YXJmMl9s b2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlLAogICAgbG9jbGlzdF9y ZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTQxMzQsNiArNDI5NSw0OCBAQCBjb25zdCBzdHJ1 Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jcyA9IHsKK0BAIC00MTQw LDYgKzQzMDEsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYyX2xv Y2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZgogIH07CiAgCkBA IC0xNTAxLDcgKzE1MDMsNyBAQCBpbmRleCBlOWQwNmEzLi5iZmE2Nzc2IDEwMDY0NAogIC8qIENv bXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9uIHRvIGFuIGFnZW50IGV4cHJlc3Npb24u CiAgICAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMK LWluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CitpbmRleCAxZDUxZGIyLi5mZTU2NzA5IDEw MDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwogQEAg LTY0LDIwICs2NCwxMiBAQApAQCAtMTU0Niw3ICsxNTQ4LDcgQEAgaW5kZXggNTIyODhlOC4uNjAz YjY2OSAxMDA2NDQKICAgIC8qIFRydWUgaWYgd2UgaGF2ZSB0cmllZCB0byByZWFkIHRoaXMgc2Vj dGlvbi4gICovCiAgICBpbnQgcmVhZGluOwogIH07Ci1AQCAtMjI2LDYgKzIxMiwxMCBAQCBzdHJ1 Y3QgZHdhcmYyX3Blcl9vYmpmaWxlCitAQCAtMjQ3LDYgKzIzMywxMCBAQCBzdHJ1Y3QgZHdhcmYy X3Blcl9vYmpmaWxlCiAgICAgICBUaGlzIGlzIE5VTEwgaWYgdGhlIHRhYmxlIGhhc24ndCBiZWVu IGFsbG9jYXRlZCB5ZXQuICAqLwogICAgaHRhYl90IGR3b19maWxlczsKICAKQEAgLTE1NTcsNyAr MTU1OSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAvKiBBIGZsYWcgaW5k aWNhdGluZyB3ZXRoZXIgdGhpcyBvYmpmaWxlIGhhcyBhIHNlY3Rpb24gbG9hZGVkIGF0IGEKICAg ICAgIFZNQSBvZiAwLiAgKi8KICAgIGludCBoYXNfc2VjdGlvbl9hdF96ZXJvOwotQEAgLTQ4NCwx NSArNDc0LDEzIEBAIHN0cnVjdCBkd2FyZjJfY3UKK0BAIC01MDUsMTUgKzQ5NSwxMyBAQCBzdHJ1 Y3QgZHdhcmYyX2N1CiAgCiAgc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YQogIHsKQEAgLTE1NzUs NyArMTU3Nyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCiAgICAvKiBGbGFn IGluZGljYXRpbmcgdGhpcyBjb21waWxhdGlvbiB1bml0IHdpbGwgYmUgcmVhZCBpbiBiZWZvcmUK ICAgICAgIGFueSBvZiB0aGUgY3VycmVudCBjb21waWxhdGlvbiB1bml0cyBhcmUgcHJvY2Vzc2Vk LiAgKi8KLUBAIC01MDcsNiArNDk1LDkgQEAgc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YQorQEAg LTUyOCw2ICs1MTYsOSBAQCBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhCiAgICAvKiBOb24temVy byBpZiB0aGlzIENVIGlzIGZyb20gLmRlYnVnX3R5cGVzLiAgKi8KICAgIHVuc2lnbmVkIGludCBp c19kZWJ1Z190eXBlcyA6IDE7CiAgCkBAIC0xNTg1LDcgKzE1ODcsNyBAQCBpbmRleCA1MjI4OGU4 Li42MDNiNjY5IDEwMDY0NAogICAgLyogVGhlIHNlY3Rpb24gdGhpcyBDVS9UVSBsaXZlcyBpbi4K ICAgICAgIElmIHRoZSBESUUgcmVmZXJzIHRvIGEgRFdPIGZpbGUsIHRoaXMgaXMgYWx3YXlzIHRo ZSBvcmlnaW5hbCBkaWUsCiAgICAgICBub3QgdGhlIERXTyBmaWxlLiAgKi8KLUBAIC02MjUsNiAr NjE2LDIyIEBAIHN0cnVjdCBkd29fZmlsZQorQEAgLTY5NSw2ICs2ODYsMjIgQEAgc3RydWN0IGR3 b19maWxlCiAgICBodGFiX3QgdHVzOwogIH07CiAgCkBAIC0xNjA4LDcgKzE2MTAsNyBAQCBpbmRl eCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIC8qIFN0cnVjdCB1c2VkIHRvIHBhc3MgbWlzYy4g cGFyYW1ldGVycyB0byByZWFkX2RpZV9hbmRfY2hpbGRyZW4sIGV0CiAgICAgYWwuICB3aGljaCBh cmUgdXNlZCBmb3IgYm90aCAuZGVidWdfaW5mbyBhbmQgLmRlYnVnX3R5cGVzIGRpZXMuCiAgICAg QWxsIHBhcmFtZXRlcnMgaGVyZSBhcmUgdW5jaGFuZ2luZyBmb3IgdGhlIGxpZmUgb2YgdGhlIGNh bGwuICBUaGlzCi1AQCAtNzM4LDYgKzc0NSwxMiBAQCBzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbwor QEAgLTgwOCw2ICs4MTUsMTIgQEAgc3RydWN0IHBhcnRpYWxfZGllX2luZm8KICAgICAgLyogRmxh ZyBzZXQgaWYgZml4dXBfcGFydGlhbF9kaWUgaGFzIGJlZW4gY2FsbGVkIG9uIHRoaXMgZGllLiAg Ki8KICAgICAgdW5zaWduZWQgaW50IGZpeHVwX2NhbGxlZCA6IDE7CiAgCkBAIC0xNjIxLDcgKzE2 MjMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAvKiBUaGUgbmFtZSBv ZiB0aGlzIERJRS4gIE5vcm1hbGx5IHRoZSB2YWx1ZSBvZiBEV19BVF9uYW1lLCBidXQKICAgICAg ICAgc29tZXRpbWVzIGEgZGVmYXVsdCBuYW1lIGZvciB1bm5hbWVkIERJRXMuICAqLwogICAgICBj aGFyICpuYW1lOwotQEAgLTExMjEsNyArMTEzNCw3IEBAIHN0YXRpYyBnZGJfYnl0ZSAqcmVhZF9w YXJ0aWFsX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJfc3BlY3MgKiwKK0BAIC0xMTkzLDcg KzEyMDYsNyBAQCBzdGF0aWMgZ2RiX2J5dGUgKnJlYWRfcGFydGlhbF9kaWUgKGNvbnN0IHN0cnVj dCBkaWVfcmVhZGVyX3NwZWNzICosCiAgCQkJCSAgIHVuc2lnbmVkIGludCwKICAJCQkJICAgZ2Ri X2J5dGUgKik7CiAgCkBAIC0xNjMwLDcgKzE2MzIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogIAkJCQkJCSAgc3RydWN0IGR3YXJmMl9jdSAqKTsKICAKICBzdGF0aWMgdm9pZCBm aXh1cF9wYXJ0aWFsX2RpZSAoc3RydWN0IHBhcnRpYWxfZGllX2luZm8gKiwKLUBAIC0xMTYzLDYg KzExNzYsOCBAQCBzdGF0aWMgY2hhciAqcmVhZF9pbmRpcmVjdF9zdHJpbmcgKGJmZCAqLCBnZGJf Ynl0ZSAqLAorQEAgLTEyMzgsNiArMTI1MSw4IEBAIHN0YXRpYyBjaGFyICpyZWFkX2luZGlyZWN0 X3N0cmluZyAoYmZkICosIGdkYl9ieXRlICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgY29tcF91bml0X2hlYWQgKiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqKTsKICAKQEAgLTE2MzksNyArMTY0MSw3 IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgc3RhdGljIFVMT05HRVNUIHJlYWRf dW5zaWduZWRfbGViMTI4IChiZmQgKiwgZ2RiX2J5dGUgKiwgdW5zaWduZWQgaW50ICopOwogIAog IHN0YXRpYyBMT05HRVNUIHJlYWRfc2lnbmVkX2xlYjEyOCAoYmZkICosIGdkYl9ieXRlICosIHVu c2lnbmVkIGludCAqKTsKLUBAIC0xNDA3LDYgKzE0MjIsOSBAQCBzdGF0aWMgdm9pZCBmaWxsX2lu X2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE0ODksNiArMTUwNCw5 IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAq Y3UsCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0b24sCiAgCQkJCSAg IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTY0OSw3ICsxNjUxLDcgQEAgaW5kZXgg NTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfc3ltYm9sX21hcmtf Y29tcHV0ZWQgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCQkgc3RydWN0IHN5bWJvbCAq c3ltLAogIAkJCQkJIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBAIC0xNDIyLDcgKzE0NDAsNyBA QCBzdGF0aWMgaGFzaHZhbF90IHBhcnRpYWxfZGllX2hhc2ggKGNvbnN0IHZvaWQgKml0ZW0pOwor QEAgLTE1MDQsNyArMTUyMiw3IEBAIHN0YXRpYyBoYXNodmFsX3QgcGFydGlhbF9kaWVfaGFzaCAo Y29uc3Qgdm9pZCAqaXRlbSk7CiAgc3RhdGljIGludCBwYXJ0aWFsX2RpZV9lcSAoY29uc3Qgdm9p ZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKTsKICAKICBzdGF0aWMgc3RydWN0IGR3 YXJmMl9wZXJfY3VfZGF0YSAqZHdhcmYyX2ZpbmRfY29udGFpbmluZ19jb21wX3VuaXQKQEAgLTE2 NTgsNyArMTY2MCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCiAgc3RhdGlj IHZvaWQgaW5pdF9vbmVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAJCQkJc3Ry dWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqcGVyX2N1KTsKLUBAIC0xNDM5LDYgKzE0NTcsOSBAQCBz dGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpOworQEAgLTE1MjEsNiArMTUz OSw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCk7CiAgCiAgc3Rh dGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3Vf ZGF0YSAqKTsKICAKQEAgLTE2NjgsNyArMTY3MCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2Njkg MTAwNjQ0CiAgc3RhdGljIHN0cnVjdCB0eXBlICpzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqLCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkgIHN0cnVjdCBkd2FyZjJfY3UgKik7CiAgCi1AQCAt MTQ2NCw2ICsxNDg1LDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGVfYXRfb2Zm c2V0IChzZWN0X29mZnNldCwKK0BAIC0xNTQ5LDYgKzE1NzAsOSBAQCBzdGF0aWMgc3RydWN0IHR5 cGUgKmdldF9kaWVfdHlwZV9hdF9vZmZzZXQgKHNlY3Rfb2Zmc2V0LAogIAogIHN0YXRpYyBzdHJ1 Y3QgdHlwZSAqZ2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpOwogIApAQCAtMTY3OCw3ICsxNjgwLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2 OSAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfcmVsZWFzZV9xdWV1ZSAodm9pZCAqZHVtbXkp OwogIAogIHN0YXRpYyB2b2lkIHF1ZXVlX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3Vf ZGF0YSAqcGVyX2N1LAotQEAgLTE0ODIsNiArMTUwNiwxMiBAQCBzdGF0aWMgdm9pZCBmaW5kX2Zp bGVfYW5kX2RpcmVjdG9yeSAoc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAtMTU2Nyw2ICsxNTkx LDEyIEBAIHN0YXRpYyB2b2lkIGZpbmRfZmlsZV9hbmRfZGlyZWN0b3J5IChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwKICBzdGF0aWMgY2hhciAqZmlsZV9mdWxsX25hbWUgKGludCBmaWxlLCBzdHJ1Y3Qg bGluZV9oZWFkZXIgKmxoLAogIAkJCSAgICAgY29uc3QgY2hhciAqY29tcF9kaXIpOwogIApAQCAt MTY4OSw5ICsxNjkxLDkgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICsgICBpbnQg aXNfZGVidWdfdHlwZXNfc2VjdGlvbik7CiArCiAgc3RhdGljIHZvaWQgaW5pdF9jdXR1X2FuZF9y ZWFkX2RpZXMKLSAgIChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICp0aGlzX2N1LCBpbnQgdXNl X2V4aXN0aW5nX2N1LCBpbnQga2VlcCwKLSAgICBkaWVfcmVhZGVyX2Z1bmNfZnR5cGUgKmRpZV9y ZWFkZXJfZnVuYywgdm9pZCAqZGF0YSk7Ci1AQCAtMTUwNCw4ICsxNTM0LDYgQEAgc3RhdGljIHN0 cnVjdCBkd29fdW5pdCAqbG9va3VwX2R3b190eXBlX3VuaXQKKyAgIChzdHJ1Y3QgZHdhcmYyX3Bl cl9jdV9kYXRhICp0aGlzX2N1LCBzdHJ1Y3QgYWJicmV2X3RhYmxlICphYmJyZXZfdGFibGUsCisg ICAgaW50IHVzZV9leGlzdGluZ19jdSwgaW50IGtlZXAsCitAQCAtMTU4OCw4ICsxNjE4LDYgQEAg c3RhdGljIHN0cnVjdCBkd29fdW5pdCAqbG9va3VwX2R3b190eXBlX3VuaXQKICAKICBzdGF0aWMg dm9pZCBmcmVlX2R3b19maWxlX2NsZWFudXAgKHZvaWQgKik7CiAgCkBAIC0xNzAwLDcgKzE3MDIs NyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIHN0YXRpYyB2b2lkIHByb2Nlc3Nf Y3VfaW5jbHVkZXMgKHZvaWQpOwogIAogICNpZiBXT1JEU19CSUdFTkRJQU4KLUBAIC0xNjc1LDg1 ICsxNzAzLDYgQEAgZHdhcmYyX2xvY2F0ZV9zZWN0aW9ucyAoYmZkICphYmZkLCBhc2VjdGlvbiAq c2VjdHAsIHZvaWQgKnZuYW1lcykKK0BAIC0xNzU5LDg1ICsxNzg3LDYgQEAgZHdhcmYyX2xvY2F0 ZV9zZWN0aW9ucyAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdHAsIHZvaWQgKnZuYW1lcykKICAg ICAgZHdhcmYyX3Blcl9vYmpmaWxlLT5oYXNfc2VjdGlvbl9hdF96ZXJvID0gMTsKICB9CiAgCkBA IC0xNzg2LDcgKzE3ODgsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIC8qIEEg aGVscGVyIGZ1bmN0aW9uIHRoYXQgZGVjaWRlcyB3aGV0aGVyIGEgc2VjdGlvbiBpcyBlbXB0eSwK ICAgICBvciBub3QgcHJlc2VudC4gICovCiAgCi1AQCAtMTc4MCw1NiArMTcyOSwyNyBAQCBkd2Fy ZjJfcmVhZF9zZWN0aW9uIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3RydWN0IGR3YXJmMl9z ZWN0aW9uX2luZm8gKmluZm8pCitAQCAtMTg2NCw1NiArMTgxMywyNyBAQCBkd2FyZjJfcmVhZF9z ZWN0aW9uIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3RydWN0IGR3YXJmMl9zZWN0aW9uX2lu Zm8gKmluZm8pCiAgICBpZiAoaW5mby0+cmVhZGluKQogICAgICByZXR1cm47CiAgICBpbmZvLT5i dWZmZXIgPSBOVUxMOwpAQCAtMTg1Myw3ICsxODU1LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2 OSAxMDA2NDQKICAKICAgIC8qIFdoZW4gZGVidWdnaW5nIC5vIGZpbGVzLCB3ZSBtYXkgbmVlZCB0 byBhcHBseSByZWxvY2F0aW9uczsgc2VlCiAgICAgICBodHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAwMi0wNC9tc2cwMDEzNi5odG1sIC4KLUBAIC0xOTA1LDYgKzE4MjUsMTEx IEBAIGR3YXJmMl9nZXRfc2VjdGlvbl9pbmZvIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BA IC0xOTg5LDYgKzE5MDksMTExIEBAIGR3YXJmMl9nZXRfc2VjdGlvbl9pbmZvIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwKICAgICpzaXplcCA9IGluZm8tPnNpemU7CiAgfQogIApAQCAtMTk2NSw3 ICsxOTY3LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAMCiAgLyogRFdBUkYg cXVpY2tfc3ltYm9sc19mdW5jdGlvbnMgc3VwcG9ydC4gICovCiAgCi1AQCAtMjEwMSwyMyArMjEy NiwxOSBAQCBleHRyYWN0X2N1X3ZhbHVlIChjb25zdCBjaGFyICpieXRlcywgVUxPTkdFU1QgKnJl c3VsdCkKK0BAIC0yMjM3LDIzICsyMjYyLDE5IEBAIGV4dHJhY3RfY3VfdmFsdWUgKGNvbnN0IGNo YXIgKmJ5dGVzLCBVTE9OR0VTVCAqcmVzdWx0KQogICAgcmV0dXJuIDE7CiAgfQogIApAQCAtMTk5 Nyw3ICsxOTk5LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgICAgewogICAg ICAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnRoZV9jdTsKICAgICAgICBVTE9OR0VTVCBv ZmZzZXQsIGxlbmd0aDsKLUBAIC0yMTMyLDE1ICsyMTUzLDQ1IEBAIGNyZWF0ZV9jdXNfZnJvbV9p bmRleCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGNvbnN0IGdkYl9ieXRlICpjdV9saXN0LAor QEAgLTIyNjgsMTUgKzIyODksNDUgQEAgY3JlYXRlX2N1c19mcm9tX2luZGV4IChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwgY29uc3QgZ2RiX2J5dGUgKmN1X2xpc3QsCiAgICAgICAgdGhlX2N1LT5v ZmZzZXQuc2VjdF9vZmYgPSBvZmZzZXQ7CiAgICAgICAgdGhlX2N1LT5sZW5ndGggPSBsZW5ndGg7 CiAgICAgICAgdGhlX2N1LT5vYmpmaWxlID0gb2JqZmlsZTsKQEAgLTIwNDUsNyArMjA0Nyw3IEBA IGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgLyogQ3JlYXRlIHRoZSBzaWduYXR1cmVk IHR5cGUgaGFzaCB0YWJsZSBmcm9tIHRoZSBpbmRleC4gICovCiAgCiAgc3RhdGljIGludAotQEAg LTIzMzAsMzMgKzIzODEsNDQgQEAgZmluZF9zbG90X2luX21hcHBlZF9oYXNoIChzdHJ1Y3QgbWFw cGVkX2luZGV4ICppbmRleCwgY29uc3QgY2hhciAqbmFtZSwKK0BAIC0yNDY2LDMzICsyNTE3LDQ0 IEBAIGZpbmRfc2xvdF9pbl9tYXBwZWRfaGFzaCAoc3RydWN0IG1hcHBlZF9pbmRleCAqaW5kZXgs IGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIH0KICB9CiAgCkBAIC0yMTAzLDcgKzIxMDUsNyBAQCBp bmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgLyogVmVyc2lvbiBjaGVjay4gICovCiAg ICB2ZXJzaW9uID0gTUFZQkVfU1dBUCAoKihvZmZzZXRfdHlwZSAqKSBhZGRyKTsKICAgIC8qIFZl cnNpb25zIGVhcmxpZXIgdGhhbiAzIGVtaXR0ZWQgZXZlcnkgY29weSBvZiBhIHBzeW1ib2wuICBU aGlzCi1AQCAtMjM2OSw3ICsyNDMxLDcgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlKQorQEAgLTI1MDUsNyArMjU2Nyw3IEBAIGR3YXJmMl9yZWFkX2luZGV4IChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICAgICAgICBpZiAoIXdhcm5pbmdfcHJpbnRlZCkKICAJ ewogIAkgIHdhcm5pbmcgKF8oIlNraXBwaW5nIG9ic29sZXRlIC5nZGJfaW5kZXggc2VjdGlvbiBp biAlcy4iKSwKQEAgLTIxMTIsNyArMjExNCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAw NjQ0CiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJldHVybiAwOwotQEAg LTIzODIsMTQgKzI0NDQsMTQgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlKQorQEAgLTI1MTgsMTQgKzI1ODAsMTQgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQogICAgICAgc2V0IGJyZWFrcG9pbnRzIG9uIGlubGluZWQgZnVu Y3Rpb25zIGJ5IG5hbWUsIHNvIHdlIGlnbm9yZSB0aGVzZQogICAgICAgaW5kaWNlcyB1bmxlc3Mg dGhlIC0tdXNlLWRlcHJlY2F0ZWQtaW5kZXgtc2VjdGlvbnMgY29tbWFuZCBsaW5lCiAgICAgICBv cHRpb24gd2FzIHN1cHBsaWVkLiAgKi8KQEAgLTIxMjksNyArMjEzMSw3IEBAIGluZGV4IDUyMjg4 ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAg IHJldHVybiAwOwotQEAgLTIzOTksMjIgKzI0NjEsMjEgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1MzUsMjIgKzI1OTcsMjEgQEAgZHdhcmYyX3Jl YWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgaWYgKHZlcnNpb24gPiA3KQog ICAgICByZXR1cm4gMDsKICAKQEAgLTIxNjAsNyArMjE2Miw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgICArK2k7CiAgCiAgICBtYXAtPmFkZHJlc3NfdGFibGUgPSBhZGRyICsg TUFZQkVfU1dBUCAobWV0YWRhdGFbaV0pOwotQEAgLTI0MzAsMTEgKzI0OTEsNTUgQEAgZHdhcmYy X3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1NjYsMTEgKzI2Mjcs NTUgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogIAogICAg bWFwLT5jb25zdGFudF9wb29sID0gYWRkciArIE1BWUJFX1NXQVAgKG1ldGFkYXRhW2ldKTsKICAK QEAgLTIyMTgsNyArMjIyMCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAg IHJldHVybiAwOwogIAogICAgaWYgKHR5cGVzX2xpc3RfZWxlbWVudHMpCi1AQCAtMjQ1NSw3ICsy NTYwLDEwIEBAIGR3YXJmMl9yZWFkX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BA IC0yNTkxLDcgKzI2OTYsMTAgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlKQogIAlyZXR1cm4gMDsKICAgICAgfQogIApAQCAtMjIzMCw3ICsyMjMyLDcgQEAgaW5k ZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIGR3YXJmMl9wZXJfb2JqZmlsZS0+aW5k ZXhfdGFibGUgPSBtYXA7CiAgICBkd2FyZjJfcGVyX29iamZpbGUtPnVzaW5nX2luZGV4ID0gMTsK LUBAIC0zNDQyLDYgKzM1NTAsMjIgQEAgcmVhZF9jb21wX3VuaXRfaGVhZCAoc3RydWN0IGNvbXBf dW5pdF9oZWFkICpjdV9oZWFkZXIsCitAQCAtMzYyNCw2ICszNzMyLDIyIEBAIHJlYWRfY29tcF91 bml0X2hlYWQgKHN0cnVjdCBjb21wX3VuaXRfaGVhZCAqY3VfaGVhZGVyLAogICAgcmV0dXJuIGlu Zm9fcHRyOwogIH0KICAKQEAgLTIyNTMsNyArMjI1NSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2 NjkgMTAwNjQ0CiAgLyogU3Vicm91dGluZSBvZiByZWFkX2FuZF9jaGVja19jb21wX3VuaXRfaGVh ZCBhbmQKICAgICByZWFkX2FuZF9jaGVja190eXBlX3VuaXRfaGVhZCB0byBzaW1wbGlmeSB0aGVt LgogICAgIFBlcmZvcm0gdmFyaW91cyBlcnJvciBjaGVja2luZyBvbiB0aGUgaGVhZGVyLiAgKi8K LUBAIC0zNDYwLDggKzM1ODQsNyBAQCBlcnJvcl9jaGVja19jb21wX3VuaXRfaGVhZCAoc3RydWN0 IGNvbXBfdW5pdF9oZWFkICpoZWFkZXIsCitAQCAtMzY0Miw4ICszNzY2LDcgQEAgZXJyb3JfY2hl Y2tfY29tcF91bml0X2hlYWQgKHN0cnVjdCBjb21wX3VuaXRfaGVhZCAqaGVhZGVyLAogIAkgICBm aWxlbmFtZSk7CiAgCiAgICBpZiAoaGVhZGVyLT5hYmJyZXZfb2Zmc2V0LnNlY3Rfb2ZmCkBAIC0y MjYzLDcgKzIyNjUsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICBlcnJv ciAoXygiRHdhcmYgRXJyb3I6IGJhZCBvZmZzZXQgKDB4JWx4KSBpbiBjb21waWxhdGlvbiB1bml0 IGhlYWRlciAiCiAgCSAgICIob2Zmc2V0IDB4JWx4ICsgNikgW2luIG1vZHVsZSAlc10iKSwKICAJ ICAgKGxvbmcpIGhlYWRlci0+YWJicmV2X29mZnNldC5zZWN0X29mZiwgKGxvbmcpIGhlYWRlci0+ b2Zmc2V0LnNlY3Rfb2ZmLAotQEAgLTM2NzgsNiArMzgwMSw3IEBAIGNyZWF0ZV9kZWJ1Z190eXBl c19oYXNoX3RhYmxlIChzdHJ1Y3QgZHdvX2ZpbGUgKmR3b19maWxlLAorQEAgLTM4ODAsNiArNDAw Myw3IEBAIGNyZWF0ZV9kZWJ1Z190eXBlc19oYXNoX3RhYmxlIChzdHJ1Y3QgZHdvX2ZpbGUgKmR3 b19maWxlLAogICAgICB7CiAgICAgICAgYmZkICphYmZkOwogICAgICAgIGdkYl9ieXRlICppbmZv X3B0ciwgKmVuZF9wdHI7CkBAIC0yMjcxLDcgKzIyNzMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNi NjY5IDEwMDY0NAogIAogICAgICAgIGR3YXJmMl9yZWFkX3NlY3Rpb24gKG9iamZpbGUsIHNlY3Rp b24pOwogICAgICAgIGluZm9fcHRyID0gc2VjdGlvbi0+YnVmZmVyOwotQEAgLTM2ODksNiArMzgx MywxMSBAQCBjcmVhdGVfZGVidWdfdHlwZXNfaGFzaF90YWJsZSAoc3RydWN0IGR3b19maWxlICpk d29fZmlsZSwKK0BAIC0zODkxLDYgKzQwMTUsMTEgQEAgY3JlYXRlX2RlYnVnX3R5cGVzX2hhc2hf dGFibGUgKHN0cnVjdCBkd29fZmlsZSAqZHdvX2ZpbGUsCiAgCSBub3QgcHJlc2VudCwgaW4gd2hp Y2ggY2FzZSBzZWN0aW9uLT5hc2VjdGlvbiB3aWxsIGJlIE5VTEwuICAqLwogICAgICAgIGFiZmQg PSBzZWN0aW9uLT5hc2VjdGlvbi0+b3duZXI7CiAgCkBAIC0yMjgzLDcgKzIyODUsNyBAQCBpbmRl eCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAgIGlmICh0eXBlc19odGFiID09IE5VTEwp CiAgCXsKICAJICBpZiAoZHdvX2ZpbGUpCi1AQCAtMzkyMyw3ICs0MDUyLDggQEAgaW5pdF9jdXR1 X2FuZF9yZWFkX2RpZXMgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnRoaXNfY3UsCitAQCAt NDEzMCw3ICs0MjU5LDggQEAgaW5pdF9jdXR1X2FuZF9yZWFkX2RpZXMgKHN0cnVjdCBkd2FyZjJf cGVyX2N1X2RhdGEgKnRoaXNfY3UsCiAgICBkd2FyZjJfcmVhZF9zZWN0aW9uIChvYmpmaWxlLCBz ZWN0aW9uKTsKICAKICAgIGJlZ2luX2luZm9fcHRyID0gaW5mb19wdHIgPSBzZWN0aW9uLT5idWZm ZXIgKyB0aGlzX2N1LT5vZmZzZXQuc2VjdF9vZmY7CkBAIC0yMjkzLDcgKzIyOTUsNyBAQCBpbmRl eCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgaWYgKHVzZV9leGlzdGluZ19jdSAmJiB0 aGlzX2N1LT5jdSAhPSBOVUxMKQogICAgICB7Ci1AQCAtNDI5MCw3ICs0NDIwLDcgQEAgaW5pdF9j dXR1X2FuZF9yZWFkX2RpZXNfc2ltcGxlIChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICp0aGlz X2N1LAorQEAgLTQ1MTIsNyArNDY0Miw3IEBAIGluaXRfY3V0dV9hbmRfcmVhZF9kaWVzX3NpbXBs ZSAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqdGhpc19jdSwKICAJCQkJdm9pZCAqZGF0YSkK ICB7CiAgICBpbml0X2N1dHVfYW5kX3JlYWRfZGllc19ub19mb2xsb3cgKHRoaXNfY3UsCkBAIC0y MzAyLDcgKzIzMDQsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAkJCQkgICAg IE5VTEwsCiAgCQkJCSAgICAgZGllX3JlYWRlcl9mdW5jLCBkYXRhKTsKICB9Ci1AQCAtNDUzNyw2 ICs0NjY3LDkgQEAgc2V0X3BhcnRpYWxfdXNlciAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitA QCAtNTEzMiw2ICs1MjYyLDkgQEAgc2V0X3BhcnRpYWxfdXNlciAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUpCiAgICAgICAgc3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3QgPSBwZXJfY3UtPnYucHN5 bXRhYjsKICAgICAgICBpbnQgajsKICAKQEAgLTIzMTIsOCArMjMxNCw4IEBAIGluZGV4IDUyMjg4 ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAgICAgZm9yIChqID0gMDsgaiA8IHBzdC0+bnVtYmVyX29m X2RlcGVuZGVuY2llczsgKytqKQogIAl7CiAgCSAgLyogU2V0IHRoZSAndXNlcicgZmllbGQgb25s eSBpZiBpdCBpcyBub3QgYWxyZWFkeSBzZXQuICAqLwotQEAgLTQ2MzAsMzggKzQ3NjMsMzIgQEAg bG9hZF9wYXJ0aWFsX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqdGhpc19j dSkKLSAgIGluaXRfY3V0dV9hbmRfcmVhZF9kaWVzICh0aGlzX2N1LCAxLCAxLCBsb2FkX3BhcnRp YWxfY29tcF91bml0X3JlYWRlciwgTlVMTCk7CitAQCAtNTIyNiwzOCArNTM1OSwzMiBAQCBsb2Fk X3BhcnRpYWxfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICp0aGlzX2N1KQor IAkJCSAgIGxvYWRfcGFydGlhbF9jb21wX3VuaXRfcmVhZGVyLCBOVUxMKTsKICB9CiAgCiAtLyog Q3JlYXRlIGEgbGlzdCBvZiBhbGwgY29tcGlsYXRpb24gdW5pdHMgaW4gT0JKRklMRS4KQEAgLTIz NjMsNyArMjM2NSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCiAgICAgICAg LyogU2F2ZSB0aGUgY29tcGlsYXRpb24gdW5pdCBmb3IgbGF0ZXIgbG9va3VwLiAgKi8KICAgICAg ICB0aGlzX2N1ID0gb2JzdGFja19hbGxvYyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKLUBA IC00NjY5LDIwICs0Nzk2LDUwIEBAIGNyZWF0ZV9hbGxfY29tcF91bml0cyAoc3RydWN0IG9iamZp bGUgKm9iamZpbGUpCitAQCAtNTI2NSwyMCArNTM5Miw1MCBAQCBjcmVhdGVfYWxsX2NvbXBfdW5p dHMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgICAgIG1lbXNldCAodGhpc19jdSwgMCwg c2l6ZW9mICgqdGhpc19jdSkpOwogICAgICAgIHRoaXNfY3UtPm9mZnNldCA9IG9mZnNldDsKICAg ICAgICB0aGlzX2N1LT5sZW5ndGggPSBsZW5ndGggKyBpbml0aWFsX2xlbmd0aF9zaXplOwpAQCAt MjQyMSwxNSArMjQyMywxNSBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAg ZHdhcmYyX3Blcl9vYmpmaWxlLT5hbGxfY29tcF91bml0cwogICAgICA9IG9ic3RhY2tfYWxsb2Mg KCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssCi1AQCAtNDc2Nyw2ICs0OTI0LDcgQEAgc2Nhbl9w YXJ0aWFsX3N5bWJvbHMgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpmaXJzdF9kaWUsIENPUkVf QUREUiAqbG93cGMsCi0gCQlzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3U7CitAQCAt NTM3MSw2ICs1NTI4LDcgQEAgc2Nhbl9wYXJ0aWFsX3N5bWJvbHMgKHN0cnVjdCBwYXJ0aWFsX2Rp ZV9pbmZvICpmaXJzdF9kaWUsIENPUkVfQUREUiAqbG93cGMsCisgCQkgIH0KICAKICAJCXBlcl9j dSA9IGR3YXJmMl9maW5kX2NvbnRhaW5pbmdfY29tcF91bml0IChwZGktPmQub2Zmc2V0LAogKwkJ CQkJCQkgICBwZGktPmlzX2R3eiwKICAJCQkJCQkJICAgY3UtPm9iamZpbGUpOwogIAogIAkJLyog R28gcmVhZCB0aGUgcGFydGlhbCB1bml0LCBpZiBuZWVkZWQuICAqLwotQEAgLTQ4MjQsNyArNDk4 Miw4IEBAIHBhcnRpYWxfZGllX3BhcmVudF9zY29wZSAoc3RydWN0IHBhcnRpYWxfZGllX2luZm8g KnBkaSwKK0BAIC01NDI4LDcgKzU1ODYsOCBAQCBwYXJ0aWFsX2RpZV9wYXJlbnRfc2NvcGUgKHN0 cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpwZGksCiAgCiAgICByZWFsX3BkaSA9IHBkaTsKICAgIHdo aWxlIChyZWFsX3BkaS0+aGFzX3NwZWNpZmljYXRpb24pCkBAIC0yNDM5LDcgKzI0NDEsNyBAQCBp bmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgcGFyZW50ID0gcmVhbF9wZGktPmRp ZV9wYXJlbnQ7CiAgICBpZiAocGFyZW50ID09IE5VTEwpCi1AQCAtNTMyNCw2ICs1NDgzLDkgQEAg c2tpcF9vbmVfZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLCBnZGJf Ynl0ZSAqaW5mb19wdHIsCitAQCAtNTkyOCw2ICs2MDg3LDkgQEAgc2tpcF9vbmVfZGllIChjb25z dCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLCBnZGJfYnl0ZSAqaW5mb19wdHIsCiAg CSAgZWxzZQogIAkgICAgaW5mb19wdHIgKz0gY3UtPmhlYWRlci5vZmZzZXRfc2l6ZTsKICAJICBi cmVhazsKQEAgLTI0NDksNyArMjQ1MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCWNhc2UgRFdfRk9STV9hZGRyOgogIAkgIGluZm9fcHRyICs9IGN1LT5oZWFkZXIuYWRkcl9z aXplOwogIAkgIGJyZWFrOwotQEAgLTUzNTMsNiArNTUxNSw3IEBAIHNraXBfb25lX2RpZSAoY29u c3Qgc3RydWN0IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRlciwgZ2RiX2J5dGUgKmluZm9fcHRyLAor QEAgLTU5NTcsNiArNjExOSw3IEBAIHNraXBfb25lX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFk ZXJfc3BlY3MgKnJlYWRlciwgZ2RiX2J5dGUgKmluZm9fcHRyLAogIAkgIGJyZWFrOwogIAljYXNl IERXX0ZPUk1fc2VjX29mZnNldDoKICAJY2FzZSBEV19GT1JNX3N0cnA6CkBAIC0yNDU3LDE4ICsy NDU5LDE3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCSAgaW5mb19wdHIgKz0g Y3UtPmhlYWRlci5vZmZzZXRfc2l6ZTsKICAJICBicmVhazsKICAJY2FzZSBEV19GT1JNX2V4cHJs b2M6Ci1AQCAtNTk5OSw3ICs2MTYyLDkgQEAgcHJvY2Vzc19mdWxsX2NvbXBfdW5pdCAoc3RydWN0 IGR3YXJmMl9wZXJfY3VfZGF0YSAqcGVyX2N1LAorQEAgLTY2MjQsNyArNjc4Nyw4IEBAIHByb2Nl c3NfZnVsbF9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSwKICAg ICAgIGl0LCBieSBzY2FubmluZyB0aGUgRElFJ3MgYmVsb3cgdGhlIGNvbXBpbGF0aW9uIHVuaXQu ICAqLwogICAgZ2V0X3Njb3BlX3BjX2JvdW5kcyAoY3UtPmRpZXMsICZsb3dwYywgJmhpZ2hwYywg Y3UpOwogIAotLSAgc3ltdGFiID0gZW5kX3N5bXRhYiAoaGlnaHBjICsgYmFzZWFkZHIsIG9iamZp bGUsIFNFQ1RfT0ZGX1RFWFQgKG9iamZpbGUpKTsKLSsgIHN5bXRhYiA9IGVuZF9zeW10YWJfZnVs bCAoaGlnaHBjICsgYmFzZWFkZHIsIG9iamZpbGUsCi0rCQkJICAgIFNFQ1RfT0ZGX1RFWFQgKG9i amZpbGUpLAotKwkJCSAgICBwZXJfY3UtPmltcG9ydGVkX3N5bXRhYnMgIT0gTlVMTCk7CistICBz dGF0aWNfYmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGhpZ2hwYyArIGJhc2Vh ZGRyLCBvYmpmaWxlLCAwKTsKKysgIHN0YXRpY19ibG9jayA9IGVuZF9zeW10YWJfZ2V0X3N0YXRp Y19ibG9jayAoaGlnaHBjICsgYmFzZWFkZHIsIG9iamZpbGUsIDAsCisrCQkJCQkgICAgcGVyX2N1 LT5zLmltcG9ydGVkX3N5bXRhYnMgIT0gTlVMTCk7CiAgCi0gICBpZiAoc3ltdGFiICE9IE5VTEwp Ci0gICAgIHsKLUBAIC02MDY4LDkgKzYyMzMsMTEgQEAgcHJvY2Vzc19pbXBvcnRlZF91bml0X2Rp ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorICAgLyogSWYg dGhlIGNvbXAgdW5pdCBoYXMgRFdfQVRfcmFuZ2VzLCBpdCBtYXkgaGF2ZSBkaXNjb250aWd1b3Vz IHJhbmdlcy4KKyAgICAgIEFsc28sIERXX0FUX3JhbmdlcyBtYXkgcmVjb3JkIHJhbmdlcyBub3Qg YmVsb25naW5nIHRvIGFueSBjaGlsZCBESUVzCitAQCAtNjc3NSw5ICs2OTM5LDExIEBAIHByb2Nl c3NfaW1wb3J0ZWRfdW5pdF9kaWUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKICAgICAgICBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3U7CiAgICAg ICAgc3RydWN0IHN5bXRhYiAqaW1wb3J0ZWRfc3ltdGFiOwogICAgICAgIHNlY3Rfb2Zmc2V0IG9m ZnNldDsKQEAgLTI0ODEsNyArMjQ4Miw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCiAgICAgICAgLyogUXVldWUgdGhlIHVuaXQsIGlmIG5lZWRlZC4gICovCiAgICAgICAgaWYg KG1heWJlX3F1ZXVlX2NvbXBfdW5pdCAoY3UsIHBlcl9jdSwgY3UtPmxhbmd1YWdlKSkKLUBAIC03 Mjg0LDI0ICs3NDUxLDIyIEBAIHRyeV9vcGVuX2R3b19maWxlIChjb25zdCBjaGFyICpmaWxlX25h bWUpCitAQCAtODA0NiwyNCArODIxMiwyMiBAQCB0cnlfb3Blbl9kd29fZmlsZSAoY29uc3QgY2hh ciAqZmlsZV9uYW1lKQogICAgaWYgKGRlc2MgPCAwKQogICAgICByZXR1cm4gTlVMTDsKICAKQEAg LTI1MTAsNyArMjUxMSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICByZXR1 cm4gc3ltX2JmZDsKICB9CiAgCi1AQCAtNzQ5MywyMCArNzY1OCw3IEBAIGZyZWVfZHdvX2ZpbGUg KHN0cnVjdCBkd29fZmlsZSAqZHdvX2ZpbGUsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAg LTgyNTUsMjAgKzg0MTksNyBAQCBmcmVlX2R3b19maWxlIChzdHJ1Y3QgZHdvX2ZpbGUgKmR3b19m aWxlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICAgIHN0cnVjdCBkd2FyZjJfc2VjdGlvbl9p bmZvICpzZWN0aW9uOwogIAogICAgZ2RiX2Fzc2VydCAoZHdvX2ZpbGUtPmR3b19iZmQgIT0gb2Jq ZmlsZS0+b2JmZCk7CkBAIC0yNTMyLDcgKzI1MzMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogIAogICAgVkVDX2ZyZWUgKGR3YXJmMl9zZWN0aW9uX2luZm9fZGVmLCBkd29fZmls ZS0+c2VjdGlvbnMudHlwZXMpOwogIH0KLUBAIC05ODc4LDYgKzEwMDMwLDI5IEBAIHByb2Nlc3Nf ZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKK0BAIC0xMDY1MSw2ICsxMDgwMiwyOSBAQCBwcm9jZXNzX2VudW1lcmF0aW9uX3Njb3Bl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBuZXdfc3lt Ym9sIChkaWUsIHRoaXNfdHlwZSwgY3UpOwogIH0KICAKQEAgLTI1NjIsNyArMjU2Myw3IEBAIGlu ZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgLyogRXh0cmFjdCBhbGwgaW5mb3JtYXRpb24g ZnJvbSBhIERXX1RBR19hcnJheV90eXBlIERJRSBhbmQgcHV0IGl0IGluCiAgICAgdGhlIERJRSdz IHR5cGUgZmllbGQuICBGb3Igbm93LCB0aGlzIG9ubHkgaGFuZGxlcyBvbmUgZGltZW5zaW9uYWwK ICAgICBhcnJheXMuICAqLwotQEAgLTk4OTEsNyArMTAwNjYsNyBAQCByZWFkX2FycmF5X3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMDY2NCw3 ICsxMDgzOCw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZSwgKnJhbmdlX3R5 cGUsICppbmRleF90eXBlOwogICAgc3RydWN0IHR5cGUgKipyYW5nZV90eXBlcyA9IE5VTEw7CiAg ICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjU3MSw3ICsyNTcyLDcgQEAgaW5kZXggNTIy ODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgY2hh ciAqbmFtZTsKICAKLUBAIC05OTQ0LDE3ICsxMDExOSwxOSBAQCByZWFkX2FycmF5X3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMDcxNywxNyAr MTA4OTEsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCiAgICB0eXBlID0gZWxlbWVudF90eXBlOwogIAogICAgaWYgKHJlYWRf YXJyYXlfb3JkZXIgKGRpZSwgY3UpID09IERXX09SRF9jb2xfbWFqb3IpCkBAIC0yNjAyLDcgKzI2 MDMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgLyogVW5kZXJzdGFu ZCBEd2FyZjIgc3VwcG9ydCBmb3IgdmVjdG9yIHR5cGVzIChsaWtlIHRoZXkgb2NjdXIgb24KICAg ICAgIHRoZSBQb3dlclBDIHcvIEFsdGlWZWMpLiAgR2NjIGp1c3QgYWRkcyBhbm90aGVyIGF0dHJp YnV0ZSB0byB0aGUKLUBAIC0xMDQzOCwyOSArMTA2MTUsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTEy MTEsMjkgKzExMzg3LDExNCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gg PSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKICAgIHN0cnVjdCB0eXBlICp0eXBlLCAqcmFu Z2VfdHlwZSwgKmluZGV4X3R5cGUsICpjaGFyX3R5cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICph dHRyOwpAQCAtMjczMCw3ICsyNzMxLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQK ICAgIGNoYXJfdHlwZSA9IGxhbmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9k ZWZuLCBnZGJhcmNoKTsKICAgIHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJf dHlwZSwgcmFuZ2VfdHlwZSk7CiAgCi1AQCAtMTA3NjQsNyArMTEwMjYsNyBAQCByZWFkX3N1YnJh bmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BA IC0xMTUzNyw3ICsxMTc5OCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUgKmJhc2VfdHlwZTsK ICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsK QEAgLTI3MzksNyArMjc0MCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICBp bnQgbG93X2RlZmF1bHRfaXNfdmFsaWQ7CiAgICBjaGFyICpuYW1lOwogICAgTE9OR0VTVCBuZWdh dGl2ZV9tYXNrOwotQEAgLTEwODIwLDQyICsxMTA4Miw2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTExNTkzLDQy ICsxMTg1NCw2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQogIAkJCQkgICAgICAiLSBESUUgYXQgMHgleCBbaW4gbW9kdWxl ICVzXSIpLAogIAkgICAgICAgZGllLT5vZmZzZXQuc2VjdF9vZmYsIGN1LT5vYmpmaWxlLT5uYW1l KTsKICAKQEAgLTI3ODIsNyArMjc4Myw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgICAvKiBEd2FyZi0yIHNwZWNpZmljYXRpb25zIGV4cGxpY2l0bHkgYWxsb3dzIHRvIGNyZWF0 ZSBzdWJyYW5nZSB0eXBlcwogICAgICAgd2l0aG91dCBzcGVjaWZ5aW5nIGEgYmFzZSB0eXBlLgog ICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgYmFzZSB0eXBlIG11c3QgYmUgc2V0IHRvIHRoZSB0eXBl IG9mCi1AQCAtMTA4OTQsMjQgKzExMTIwLDE2MyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMTY2NywyNCArMTE4 OTIsMTYzIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogIAl9CiAgICAgIH0KICAKQEAgLTI5NjAsNyArMjk2MSw3IEBAIGlu ZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCiAgICBuYW1lID0gZHdhcmYyX25hbWUgKGRp ZSwgY3UpOwogICAgaWYgKG5hbWUpCi1AQCAtMTE2ODUsNiArMTIwNTAsOCBAQCByZWFkX3BhcnRp YWxfZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAorQEAgLTEyNDc0 LDYgKzEyODM4LDggQEAgcmVhZF9wYXJ0aWFsX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJf c3BlY3MgKnJlYWRlciwKICAJY2FzZSBEV19BVF9leHRlbnNpb246CiAgCSAgcGFydF9kaWUtPmhh c19zcGVjaWZpY2F0aW9uID0gMTsKICAJICBwYXJ0X2RpZS0+c3BlY19vZmZzZXQgPSBkd2FyZjJf Z2V0X3JlZl9kaWVfb2Zmc2V0ICgmYXR0cik7CkBAIC0yOTY5LDcgKzI5NzAsNyBAQCBpbmRleCA1 MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAkgIGJyZWFrOwogIAljYXNlIERXX0FUX3NpYmxpbmc6 CiAgCSAgLyogSWdub3JlIGFic29sdXRlIHNpYmxpbmdzLCB0aGV5IG1pZ2h0IHBvaW50IG91dHNp ZGUgb2YKLUBAIC0xMTczMSw3ICsxMjA5OCwxMSBAQCByZWFkX3BhcnRpYWxfZGllIChjb25zdCBz dHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAorQEAgLTEyNTIwLDcgKzEyODg2LDExIEBA IHJlYWRfcGFydGlhbF9kaWUgKGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3NwZWNzICpyZWFkZXIs CiAgCiAgCWNhc2UgRFdfQVRfaW1wb3J0OgogIAkgIGlmIChwYXJ0X2RpZS0+dGFnID09IERXX1RB R19pbXBvcnRlZF91bml0KQpAQCAtMjk4Miw3ICsyOTgzLDcgQEAgaW5kZXggNTIyODhlOC4uNjAz YjY2OSAxMDA2NDQKICAJICBicmVhazsKICAKICAJZGVmYXVsdDoKLUBAIC0xMTgwMiwxMyArMTIx NzMsMTQgQEAgZmluZF9wYXJ0aWFsX2RpZV9pbl9jb21wX3VuaXQgKHNlY3Rfb2Zmc2V0IG9mZnNl dCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI1OTEsMTMgKzEyOTYxLDE0IEBAIGZpbmRf cGFydGlhbF9kaWVfaW5fY29tcF91bml0IChzZWN0X29mZnNldCBvZmZzZXQsIHN0cnVjdCBkd2Fy ZjJfY3UgKmN1KQogICAgIERXX0ZPUk1fcmVmX3NpZzgpLiAgKi8KICAKICBzdGF0aWMgc3RydWN0 IHBhcnRpYWxfZGllX2luZm8gKgpAQCAtMjk5OSw3ICszMDAwLDcgQEAgaW5kZXggNTIyODhlOC4u NjAzYjY2OSAxMDA2NDQKICAgICAgewogICAgICAgIHBkID0gZmluZF9wYXJ0aWFsX2RpZV9pbl9j b21wX3VuaXQgKG9mZnNldCwgY3UpOwogICAgICAgIGlmIChwZCAhPSBOVUxMKQotQEAgLTExODI3 LDcgKzEyMTk5LDggQEAgZmluZF9wYXJ0aWFsX2RpZSAoc2VjdF9vZmZzZXQgb2Zmc2V0LCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjYxNiw3ICsxMjk4Nyw4IEBAIGZpbmRfcGFydGlhbF9k aWUgKHNlY3Rfb2Zmc2V0IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCQkgKGxvbmcp IGN1LT5oZWFkZXIub2Zmc2V0LnNlY3Rfb2ZmLCAobG9uZykgb2Zmc2V0LnNlY3Rfb2ZmLAogIAkJ IGJmZF9nZXRfZmlsZW5hbWUgKG9iamZpbGUtPm9iZmQpKTsKICAJfQpAQCAtMzAwOSw3ICszMDEw LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgICAgICBpZiAocGVyX2N1 LT5jdSA9PSBOVUxMIHx8IHBlcl9jdS0+Y3UtPnBhcnRpYWxfZGllcyA9PSBOVUxMKQogIAlsb2Fk X3BhcnRpYWxfY29tcF91bml0IChwZXJfY3UpOwotQEAgLTExODg1LDcgKzEyMjU4LDggQEAgZ3Vl c3NfcGFydGlhbF9kaWVfc3RydWN0dXJlX25hbWUgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpz dHJ1Y3RfcGRpLAorQEAgLTEyNjc0LDcgKzEzMDQ2LDggQEAgZ3Vlc3NfcGFydGlhbF9kaWVfc3Ry dWN0dXJlX25hbWUgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpzdHJ1Y3RfcGRpLAogIAogICAg cmVhbF9wZGkgPSBzdHJ1Y3RfcGRpOwogICAgd2hpbGUgKHJlYWxfcGRpLT5oYXNfc3BlY2lmaWNh dGlvbikKQEAgLTMwMTksNyArMzAyMCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCiAgICBpZiAocmVhbF9wZGktPmRpZV9wYXJlbnQgIT0gTlVMTCkKICAgICAgcmV0dXJuOwot QEAgLTExOTMzLDcgKzEyMzA3LDggQEAgZml4dXBfcGFydGlhbF9kaWUgKHN0cnVjdCBwYXJ0aWFs X2RpZV9pbmZvICpwYXJ0X2RpZSwKK0BAIC0xMjcyMiw3ICsxMzA5NSw4IEBAIGZpeHVwX3BhcnRp YWxfZGllIChzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbyAqcGFydF9kaWUsCiAgICAgIHsKICAgICAg ICBzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbyAqc3BlY19kaWU7CiAgCkBAIC0zMDI5LDcgKzMwMzAs NyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgICAgIGZpeHVwX3BhcnRp YWxfZGllIChzcGVjX2RpZSwgY3UpOwogIAotQEAgLTEyMDIxLDYgKzEyMzk2LDEwIEBAIHJlYWRf YXR0cmlidXRlX3ZhbHVlIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAor QEAgLTEyODEwLDYgKzEzMTg0LDEwIEBAIHJlYWRfYXR0cmlidXRlX3ZhbHVlIChjb25zdCBzdHJ1 Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAogIAkJCQkgICAgICAgJmN1LT5oZWFkZXIsICZi eXRlc19yZWFkKTsKICAgICAgICBpbmZvX3B0ciArPSBieXRlc19yZWFkOwogICAgICAgIGJyZWFr OwpAQCAtMzA0MCw3ICszMDQxLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAg ICAgY2FzZSBEV19GT1JNX2FkZHI6CiAgICAgICAgRFdfQUREUiAoYXR0cikgPSByZWFkX2FkZHJl c3MgKGFiZmQsIGluZm9fcHRyLCBjdSwgJmJ5dGVzX3JlYWQpOwogICAgICAgIGluZm9fcHRyICs9 IGJ5dGVzX3JlYWQ7Ci1AQCAtMTIwNjMsMTAgKzEyNDQyLDI1IEBAIHJlYWRfYXR0cmlidXRlX3Zh bHVlIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAorQEAgLTEyODUyLDEw ICsxMzIzMCwyNSBAQCByZWFkX2F0dHJpYnV0ZV92YWx1ZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFk ZXJfc3BlY3MgKnJlYWRlciwKICAgICAgICBpbmZvX3B0ciArPSBieXRlc19yZWFkOwogICAgICAg IGJyZWFrOwogICAgICBjYXNlIERXX0ZPUk1fc3RycDoKQEAgLTMwNzAsNyArMzA3MSw3IEBAIGlu ZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgRFdf Rk9STV9leHBybG9jOgogICAgICBjYXNlIERXX0ZPUk1fYmxvY2s6Ci1AQCAtMTIxNzgsNiArMTI1 NzIsMTAgQEAgcmVhZF9hdHRyaWJ1dGVfdmFsdWUgKGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3Nw ZWNzICpyZWFkZXIsCitAQCAtMTI5NjcsNiArMTMzNjAsMTAgQEAgcmVhZF9hdHRyaWJ1dGVfdmFs dWUgKGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3NwZWNzICpyZWFkZXIsCiAgCSAgICAgYmZkX2dl dF9maWxlbmFtZSAoYWJmZCkpOwogICAgICB9CiAgCkBAIC0zMDgxLDcgKzMwODIsNyBAQCBpbmRl eCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgLyogV2UgaGF2ZSBzZWVuIGluc3RhbmNlcyB3 aGVyZSB0aGUgY29tcGlsZXIgdHJpZWQgdG8gZW1pdCBhIGJ5dGUKICAgICAgIHNpemUgYXR0cmli dXRlIG9mIC0xIHdoaWNoIGVuZGVkIHVwIGJlaW5nIGVuY29kZWQgYXMgYW4gdW5zaWduZWQKICAg ICAgIDB4ZmZmZmZmZmYuICBBbHRob3VnaCAweGZmZmZmZmZmIGlzIHRlY2huaWNhbGx5IGEgdmFs aWQgc2l6ZSB2YWx1ZSwKLUBAIC0xMjQ3NCw2ICsxMjg3MiwzMCBAQCByZWFkX2luZGlyZWN0X3N0 cmluZ19hdF9vZmZzZXQgKGJmZCAqYWJmZCwgTE9OR0VTVCBzdHJfb2Zmc2V0KQorQEAgLTEzMjYz LDYgKzEzNjYwLDMwIEBAIHJlYWRfaW5kaXJlY3Rfc3RyaW5nX2F0X29mZnNldCAoYmZkICphYmZk LCBMT05HRVNUIHN0cl9vZmZzZXQpCiAgICByZXR1cm4gKGNoYXIgKikgKGR3YXJmMl9wZXJfb2Jq ZmlsZS0+c3RyLmJ1ZmZlciArIHN0cl9vZmZzZXQpOwogIH0KICAKQEAgLTMxMTIsNyArMzExMyw3 IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgc3RhdGljIGNoYXIgKgogIHJlYWRf aW5kaXJlY3Rfc3RyaW5nIChiZmQgKmFiZmQsIGdkYl9ieXRlICpidWYsCiAgCQkgICAgICBjb25z dCBzdHJ1Y3QgY29tcF91bml0X2hlYWQgKmN1X2hlYWRlciwKLUBAIC0xMjk0Niw2ICsxMzM2OCwz MCBAQCBhZGRfZmlsZV9uYW1lIChzdHJ1Y3QgbGluZV9oZWFkZXIgKmxoLAorQEAgLTEzNzM0LDYg KzE0MTU1LDMwIEBAIGFkZF9maWxlX25hbWUgKHN0cnVjdCBsaW5lX2hlYWRlciAqbGgsCiAgICBm ZS0+c3ltdGFiID0gTlVMTDsKICB9CiAgCkBAIC0zMTQzLDcgKzMxNDQsNyBAQCBpbmRleCA1MjI4 OGU4Li42MDNiNjY5IDEwMDY0NAogIC8qIFJlYWQgdGhlIHN0YXRlbWVudCBwcm9ncmFtIGhlYWRl ciBzdGFydGluZyBhdCBPRkZTRVQgaW4KICAgICAuZGVidWdfbGluZSwgb3IgLmRlYnVnX2xpbmUu ZHdvLiAgUmV0dXJuIGEgcG9pbnRlcgogICAgIHRvIGEgc3RydWN0IGxpbmVfaGVhZGVyLCBhbGxv Y2F0ZWQgdXNpbmcgeG1hbGxvYy4KLUBAIC0xMjk2NiwxMyArMTM0MTIsNyBAQCBkd2FyZl9kZWNv ZGVfbGluZV9oZWFkZXIgKHVuc2lnbmVkIGludCBvZmZzZXQsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQorQEAgLTEzNzU0LDEzICsxNDE5OSw3IEBAIGR3YXJmX2RlY29kZV9saW5lX2hlYWRlciAodW5z aWduZWQgaW50IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgZHdhcmYy X3NlY3Rpb25faW5mbyAqc2VjdGlvbjsKICAgIGJmZCAqYWJmZDsKICAKQEAgLTMxNTgsNyArMzE1 OSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICBkd2FyZjJfcmVhZF9zZWN0 aW9uIChkd2FyZjJfcGVyX29iamZpbGUtPm9iamZpbGUsIHNlY3Rpb24pOwogICAgaWYgKHNlY3Rp b24tPmJ1ZmZlciA9PSBOVUxMKQogICAgICB7Ci1AQCAtMTMyOTcsNyArMTM3MzcsNyBAQCBkd2Fy Zl9kZWNvZGVfbGluZXNfMSAoc3RydWN0IGxpbmVfaGVhZGVyICpsaCwgY29uc3QgY2hhciAqY29t cF9kaXIsCitAQCAtMTQwODUsNyArMTQ1MjQsNyBAQCBkd2FyZl9kZWNvZGVfbGluZXNfMSAoc3Ry dWN0IGxpbmVfaGVhZGVyICpsaCwgY29uc3QgY2hhciAqY29tcF9kaXIsCiAgCQkJIEdDZCBieSB0 aGUgbGlua2VyLiAgSWdub3JlIGl0LiAgUFIgZ2RiLzEyNTI4ICovCiAgCiAgCQkgICAgICBsb25n IGxpbmVfb2Zmc2V0CkBAIC0zMTY3LDcgKzMxNjgsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogIAogIAkJICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLAogIAkJ CQkgXygiLmRlYnVnX2xpbmUgYWRkcmVzcyBhdCBvZmZzZXQgMHglbHggaXMgMCAiCi1AQCAtMTM2 NTksMTAgKzE0MDk5LDEyIEBAIHZhcl9kZWNvZGVfbG9jYXRpb24gKHN0cnVjdCBhdHRyaWJ1dGUg KmF0dHIsIHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC0xNDQ2NCwxMCArMTQ5MDMsMTIgQEAgdmFy X2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJvbCAq c3ltLAogICAgICAgKGkuZS4gd2hlbiB0aGUgdmFsdWUgb2YgYSByZWdpc3RlciBvciBtZW1vcnkg bG9jYXRpb24gaXMKICAgICAgIHJlZmVyZW5jZWQsIG9yIGEgdGhyZWFkLWxvY2FsIGJsb2NrLCBl dGMuKS4gIFRoZW4gYWdhaW4sIGl0IG1pZ2h0CiAgICAgICBub3QgYmUgd29ydGh3aGlsZS4gIEkn bSBhc3N1bWluZyB0aGF0IGl0IGlzbid0IHVubGVzcyBwZXJmb3JtYW5jZQpAQCAtMzE4Miw3ICsz MTgzLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIGlmIChTWU1CT0xf Q09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJfbG9jbGlzdF9mdW5jcykKICAgICAgY3UtPmhh c19sb2NsaXN0ID0gMTsKLUBAIC0xMzcwMyw2ICsxNDE0NSw4IEBAIG5ld19zeW1ib2xfZnVsbCAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSwKK0BAIC0xNDUwOCw2ICsxNDk0OSw4IEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAg ICAgICBlbHNlCiAgCXN5bSA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0 YWNrLCBzdHJ1Y3Qgc3ltYm9sKTsKICAgICAgICBPQkpTVEFUIChvYmpmaWxlLCBuX3N5bXMrKyk7 CkBAIC0zMTkxLDcgKzMxOTIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAog ICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUncyBkZW1hbmds ZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFHRSAoc3ltLCBj dS0+bGFuZ3VhZ2UpOwotQEAgLTE0MTI2LDYgKzE0NTcwLDcgQEAgZHdhcmYyX2NvbnN0X3ZhbHVl X2F0dHIgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTE0 OTMxLDYgKzE1Mzc0LDcgQEAgZHdhcmYyX2NvbnN0X3ZhbHVlX2F0dHIgKHN0cnVjdCBhdHRyaWJ1 dGUgKmF0dHIsIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICBjYXNlIERXX0ZPUk1fc3RyaW5nOgog ICAgICBjYXNlIERXX0ZPUk1fc3RycDoKICAgICAgY2FzZSBEV19GT1JNX0dOVV9zdHJfaW5kZXg6 CkBAIC0zMTk5LDcgKzMyMDAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAg ICAgIC8qIERXX1NUUklORyBpcyBhbHJlYWR5IGFsbG9jYXRlZCBvbiB0aGUgb2JqZmlsZSBvYnN0 YWNrLCBwb2ludAogIAkgZGlyZWN0bHkgdG8gaXQuICAqLwogICAgICAgICpieXRlcyA9IChnZGJf Ynl0ZSAqKSBEV19TVFJJTkcgKGF0dHIpOwotQEAgLTE0MzEyLDcgKzE0NzU3LDE1IEBAIGxvb2t1 cF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIs CitAQCAtMTUxMTcsNyArMTU1NjEsMTUgQEAgbG9va3VwX2RpZV90eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwKICAKICAgIC8qIEZpcnN0IHNlZSBpZiB3 ZSBoYXZlIGl0IGNhY2hlZC4gICovCiAgCkBAIC0zMjE2LDcgKzMyMTcsNyBAQCBpbmRleCA1MjI4 OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICB7CiAgICAgICAgc2VjdF9vZmZzZXQgb2Zmc2V0ID0g ZHdhcmYyX2dldF9yZWZfZGllX29mZnNldCAoYXR0cik7CiAgCi1AQCAtMTQ0NzcsNiArMTQ5MzAs OSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKK0BAIC0xNTI4Miw2ICsxNTczNCw5IEBAIHJlYWRfdHlwZV9kaWVfMSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAg ICB9CiAgCkBAIC0zMjI2LDcgKzMyMjcsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0 NAogICAgcmV0dXJuIHRoaXNfdHlwZTsKICB9CiAgCi1AQCAtMTUwODUsNiArMTU1NDEsMTAgQEAg ZHVtcF9kaWVfc2hhbGxvdyAoc3RydWN0IHVpX2ZpbGUgKmYsIGludCBpbmRlbnQsIHN0cnVjdCBk aWVfaW5mbyAqZGllKQorQEAgLTE1ODkwLDYgKzE2MzQ1LDEwIEBAIGR1bXBfZGllX3NoYWxsb3cg KHN0cnVjdCB1aV9maWxlICpmLCBpbnQgaW5kZW50LCBzdHJ1Y3QgZGllX2luZm8gKmRpZSkKICAJ ICBmcHJpbnRmX3VuZmlsdGVyZWQgKGYsICJyZWYgYWRkcmVzczogIik7CiAgCSAgZnB1dHNfZmls dGVyZWQgKGhleF9zdHJpbmcgKERXX1VOU05EICgmZGllLT5hdHRyc1tpXSkpLCBmKTsKICAJICBi cmVhazsKQEAgLTMyMzcsNyArMzIzOCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCWNhc2UgRFdfRk9STV9yZWYxOgogIAljYXNlIERXX0ZPUk1fcmVmMjoKICAJY2FzZSBEV19G T1JNX3JlZjQ6Ci1AQCAtMTUxMTYsNiArMTU1NzYsNyBAQCBkdW1wX2RpZV9zaGFsbG93IChzdHJ1 Y3QgdWlfZmlsZSAqZiwgaW50IGluZGVudCwgc3RydWN0IGRpZV9pbmZvICpkaWUpCitAQCAtMTU5 MjEsNiArMTYzODAsNyBAQCBkdW1wX2RpZV9zaGFsbG93IChzdHJ1Y3QgdWlfZmlsZSAqZiwgaW50 IGluZGVudCwgc3RydWN0IGRpZV9pbmZvICpkaWUpCiAgCWNhc2UgRFdfRk9STV9zdHJpbmc6CiAg CWNhc2UgRFdfRk9STV9zdHJwOgogIAljYXNlIERXX0ZPUk1fR05VX3N0cl9pbmRleDoKQEAgLTMy NDUsNyArMzI0Niw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCSAgZnByaW50 Zl91bmZpbHRlcmVkIChmLCAic3RyaW5nOiBcIiVzXCIgKCVzIGNhbm9uaWNhbGl6ZWQpIiwKICAJ CSAgIERXX1NUUklORyAoJmRpZS0+YXR0cnNbaV0pCiAgCQkgICA/IERXX1NUUklORyAoJmRpZS0+ YXR0cnNbaV0pIDogIiIsCi1AQCAtMTUyMTksNiArMTU2ODAsNyBAQCBpc19yZWZfYXR0ciAoc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0cikKK0BAIC0xNjAyNCw2ICsxNjQ4NCw3IEBAIGlzX3JlZl9hdHRy IChzdHJ1Y3QgYXR0cmlidXRlICphdHRyKQogICAgICBjYXNlIERXX0ZPUk1fcmVmNDoKICAgICAg Y2FzZSBEV19GT1JNX3JlZjg6CiAgICAgIGNhc2UgRFdfRk9STV9yZWZfdWRhdGE6CkBAIC0zMjUz LDcgKzMyNTQsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAgIHJldHVy biAxOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiAwOwotQEAgLTE1Mjk2LDcgKzE1NzU4 LDggQEAgZm9sbG93X2RpZV9yZWZfb3Jfc2lnIChzdHJ1Y3QgZGllX2luZm8gKnNyY19kaWUsIHN0 cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCitAQCAtMTYxMDEsNyArMTY1NjIsOCBAQCBmb2xsb3dfZGll X3JlZl9vcl9zaWcgKHN0cnVjdCBkaWVfaW5mbyAqc3JjX2RpZSwgc3RydWN0IGF0dHJpYnV0ZSAq YXR0ciwKICAgICBSZXR1cm5zIE5VTEwgaWYgT0ZGU0VUIGlzIGludmFsaWQuICAqLwogIAogIHN0 YXRpYyBzdHJ1Y3QgZGllX2luZm8gKgpAQCAtMzI2Myw3ICszMjY0LDcgQEAgaW5kZXggNTIyODhl OC4uNjAzYjY2OSAxMDA2NDQKICB7CiAgICBzdHJ1Y3QgZGllX2luZm8gdGVtcF9kaWU7CiAgICBz dHJ1Y3QgZHdhcmYyX2N1ICp0YXJnZXRfY3UsICpjdSA9ICpyZWZfY3U7Ci1AQCAtMTUzMTMsMTEg KzE1Nzc2LDEzIEBAIGZvbGxvd19kaWVfb2Zmc2V0IChzZWN0X29mZnNldCBvZmZzZXQsIHN0cnVj dCBkd2FyZjJfY3UgKipyZWZfY3UpCitAQCAtMTYxMTgsMTEgKzE2NTgwLDEzIEBAIGZvbGxvd19k aWVfb2Zmc2V0IChzZWN0X29mZnNldCBvZmZzZXQsIHN0cnVjdCBkd2FyZjJfY3UgKipyZWZfY3Up CiAgICAgICAgaWYgKCEgb2Zmc2V0X2luX2N1X3AgKCZjdS0+aGVhZGVyLCBvZmZzZXQpKQogIAly ZXR1cm4gTlVMTDsKICAgICAgfQpAQCAtMzI3OSw3ICszMjgwLDcgQEAgaW5kZXggNTIyODhlOC4u NjAzYjY2OSAxMDA2NDQKICAKICAgICAgICAvKiBJZiBuZWNlc3NhcnksIGFkZCBpdCB0byB0aGUg cXVldWUgYW5kIGxvYWQgaXRzIERJRXMuICAqLwogICAgICAgIGlmIChtYXliZV9xdWV1ZV9jb21w X3VuaXQgKGN1LCBwZXJfY3UsIGN1LT5sYW5ndWFnZSkpCi1AQCAtMTUzNDksNyArMTU4MTQsMTAg QEAgZm9sbG93X2RpZV9yZWYgKHN0cnVjdCBkaWVfaW5mbyAqc3JjX2RpZSwgc3RydWN0IGF0dHJp YnV0ZSAqYXR0ciwKK0BAIC0xNjE1NCw3ICsxNjYxOCwxMCBAQCBmb2xsb3dfZGllX3JlZiAoc3Ry dWN0IGRpZV9pbmZvICpzcmNfZGllLCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogICAgc3RydWN0 IGR3YXJmMl9jdSAqY3UgPSAqcmVmX2N1OwogICAgc3RydWN0IGRpZV9pbmZvICpkaWU7CiAgCkBA IC0zMjkxLDcgKzMyOTIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgaWYg KCFkaWUpCiAgICAgIGVycm9yIChfKCJEd2FyZiBFcnJvcjogQ2Fubm90IGZpbmQgRElFIGF0IDB4 JXggcmVmZXJlbmNlZCBmcm9tIERJRSAiCiAgCSAgICJhdCAweCV4IFtpbiBtb2R1bGUgJXNdIiks Ci1AQCAtMTUzODAsNyArMTU4NDgsNyBAQCBkd2FyZjJfZmV0Y2hfZGllX2xvY2F0aW9uX2Jsb2Nr IChjdV9vZmZzZXQgb2Zmc2V0X2luX2N1LAorQEAgLTE2MTg1LDcgKzE2NjUyLDcgQEAgZHdhcmYy X2ZldGNoX2RpZV9sb2NhdGlvbl9ibG9jayAoY3Vfb2Zmc2V0IG9mZnNldF9pbl9jdSwKICAgICAg bG9hZF9jdSAocGVyX2N1KTsKICAgIGN1ID0gcGVyX2N1LT5jdTsKICAKQEAgLTMzMDAsNyArMzMw MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICBpZiAoIWRpZSkKICAgICAg ZXJyb3IgKF8oIkR3YXJmIEVycm9yOiBDYW5ub3QgZmluZCBESUUgYXQgMHgleCByZWZlcmVuY2Vk IGluIG1vZHVsZSAlcyIpLAogIAkgICBvZmZzZXQuc2VjdF9vZmYsIHBlcl9jdS0+b2JqZmlsZS0+ bmFtZSk7Ci1AQCAtMTYxNzksNiArMTY2NDcsNyBAQCBza2lwX2Zvcm1fYnl0ZXMgKGJmZCAqYWJm ZCwgZ2RiX2J5dGUgKmJ5dGVzLCBnZGJfYnl0ZSAqYnVmZmVyX2VuZCwKK0BAIC0xNjk3OSw2ICsx NzQ0Niw3IEBAIHNraXBfZm9ybV9ieXRlcyAoYmZkICphYmZkLCBnZGJfYnl0ZSAqYnl0ZXMsIGdk Yl9ieXRlICpidWZmZXJfZW5kLAogIAogICAgICBjYXNlIERXX0ZPUk1fc2VjX29mZnNldDoKICAg ICAgY2FzZSBEV19GT1JNX3N0cnA6CkBAIC0zMzA4LDcgKzMzMDksNyBAQCBpbmRleCA1MjI4OGU4 Li42MDNiNjY5IDEwMDY0NAogICAgICAgIGJ5dGVzICs9IG9mZnNldF9zaXplOwogICAgICAgIGJy ZWFrOwogIAotQEAgLTE2MzM0LDcgKzE2ODAzLDcgQEAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVz IChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFjX2VuZCwKK0BAIC0x NzEzNCw3ICsxNzYwMiw3IEBAIGR3YXJmX2RlY29kZV9tYWNyb19ieXRlcyAoYmZkICphYmZkLCBn ZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1hY19lbmQsCiAgCQkJICBzdHJ1Y3QgbWFjcm9f c291cmNlX2ZpbGUgKmN1cnJlbnRfZmlsZSwKICAJCQkgIHN0cnVjdCBsaW5lX2hlYWRlciAqbGgs IGNoYXIgKmNvbXBfZGlyLAogIAkJCSAgc3RydWN0IGR3YXJmMl9zZWN0aW9uX2luZm8gKnNlY3Rp b24sCkBAIC0zMzE3LDcgKzMzMTgsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAog IAkJCSAgdW5zaWduZWQgaW50IG9mZnNldF9zaXplLAogIAkJCSAgc3RydWN0IG9iamZpbGUgKm9i amZpbGUsCiAgCQkJICBodGFiX3QgaW5jbHVkZV9oYXNoKQotQEAgLTE2Mzg1LDYgKzE2ODU0LDgg QEAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRy LCBnZGJfYnl0ZSAqbWFjX2VuZCwKK0BAIC0xNzE4NSw2ICsxNzY1Myw4IEBAIGR3YXJmX2RlY29k ZV9tYWNyb19ieXRlcyAoYmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1h Y19lbmQsCiAgICAgICAgICBjYXNlIERXX01BQ1JPX0dOVV91bmRlZjoKICAJY2FzZSBEV19NQUNS T19HTlVfZGVmaW5lX2luZGlyZWN0OgogIAljYXNlIERXX01BQ1JPX0dOVV91bmRlZl9pbmRpcmVj dDoKQEAgLTMzMjYsNyArMzMyNyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXNfcmVhZDsKICAgICAg ICAgICAgICBpbnQgbGluZTsKLUBAIC0xNjQwNywxMSArMTY4NzgsMjAgQEAgZHdhcmZfZGVjb2Rl X21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFj X2VuZCwKK0BAIC0xNzIwNywxMSArMTc2NzcsMjAgQEAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVz IChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFjX2VuZCwKICAJCXN0 cl9vZmZzZXQgPSByZWFkX29mZnNldF8xIChhYmZkLCBtYWNfcHRyLCBvZmZzZXRfc2l6ZSk7CiAg CQltYWNfcHRyICs9IG9mZnNldF9zaXplOwogIApAQCAtMzM0OSw3ICszMzUwLDcgQEAgaW5kZXgg NTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgICAgICAgICAgICBpZiAoISBjdXJyZW50X2ZpbGUp CiAgCSAgICAgIHsKICAJCS8qIERXQVJGIHZpb2xhdGlvbiBhcyBubyBtYWluIHNvdXJjZSBpcyBw cmVzZW50LiAgKi8KLUBAIC0xNjQzNSw3ICsxNjkxNSw4IEBAIGR3YXJmX2RlY29kZV9tYWNyb19i eXRlcyAoYmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1hY19lbmQsCitA QCAtMTcyMzUsNyArMTc3MTQsOCBAQCBkd2FyZl9kZWNvZGVfbWFjcm9fYnl0ZXMgKGJmZCAqYWJm ZCwgZ2RiX2J5dGUgKm1hY19wdHIsIGdkYl9ieXRlICptYWNfZW5kLAogIAkgICAgZWxzZQogIAkg ICAgICB7CiAgCQlnZGJfYXNzZXJ0IChtYWNpbmZvX3R5cGUgPT0gRFdfTUFDUk9fR05VX3VuZGVm CkBAIC0zMzU5LDcgKzMzNjAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAkJ bWFjcm9fdW5kZWYgKGN1cnJlbnRfZmlsZSwgbGluZSwgYm9keSk7CiAgCSAgICAgIH0KICAgICAg ICAgICAgfQotQEAgLTE2NTEwLDYgKzE2OTkxLDcgQEAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVz IChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFjX2VuZCwKK0BAIC0x NzMxMCw2ICsxNzc5MCw3IEBAIGR3YXJmX2RlY29kZV9tYWNyb19ieXRlcyAoYmZkICphYmZkLCBn ZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1hY19lbmQsCiAgICAgICAgICAgIGJyZWFrOwog IAogIAljYXNlIERXX01BQ1JPX0dOVV90cmFuc3BhcmVudF9pbmNsdWRlOgpAQCAtMzM2Nyw3ICsz MzY4LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAJICB7CiAgCSAgICBMT05H RVNUIG9mZnNldDsKICAJICAgIHZvaWQgKipzbG90OwotQEAgLTE2NTI4LDEzICsxNzAxMCwzMiBA QCBkd2FyZl9kZWNvZGVfbWFjcm9fYnl0ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5dGUgKm1hY19wdHIs IGdkYl9ieXRlICptYWNfZW5kLAorQEAgLTE3MzI4LDEzICsxNzgwOSwzMiBAQCBkd2FyZl9kZWNv ZGVfbWFjcm9fYnl0ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5dGUgKm1hY19wdHIsIGdkYl9ieXRlICpt YWNfZW5kLAogIAkgICAgICB9CiAgCSAgICBlbHNlCiAgCSAgICAgIHsKQEAgLTM0MDQsNyArMzQw NSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCQkJCQkgIG9mZnNldF9zaXpl LCBvYmpmaWxlLCBpbmNsdWRlX2hhc2gpOwogIAogIAkJaHRhYl9yZW1vdmVfZWx0IChpbmNsdWRl X2hhc2gsIG1hY19wdHIpOwotQEAgLTE2NzUzLDcgKzE3MjU0LDggQEAgZHdhcmZfZGVjb2RlX21h Y3JvcyAoc3RydWN0IGR3YXJmMl9jdSAqY3UsIHVuc2lnbmVkIGludCBvZmZzZXQsCitAQCAtMTc1 NTMsNyArMTgwNTMsOCBAQCBkd2FyZl9kZWNvZGVfbWFjcm9zIChzdHJ1Y3QgZHdhcmYyX2N1ICpj dSwgdW5zaWduZWQgaW50IG9mZnNldCwKICAgIHNsb3QgPSBodGFiX2ZpbmRfc2xvdCAoaW5jbHVk ZV9oYXNoLCBtYWNfcHRyLCBJTlNFUlQpOwogICAgKnNsb3QgPSBtYWNfcHRyOwogICAgZHdhcmZf ZGVjb2RlX21hY3JvX2J5dGVzIChhYmZkLCBtYWNfcHRyLCBtYWNfZW5kLApAQCAtMzQxNCw3ICsz NDE1LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAJCQkgICAgb2Zmc2V0X3Np emUsIG9iamZpbGUsIGluY2x1ZGVfaGFzaCk7CiAgICBkb19jbGVhbnVwcyAoY2xlYW51cCk7CiAg fQotQEAgLTE2ODUxLDYyICsxNzM1MywxMDAgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNzY1MSw2MiArMTgxNTIsMTAwIEBAIGZpbGxfaW5fbG9j bGlzdF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAgICBiYXRvbi0+ZnJvbV9kd28gPSBj dS0+ZHdvX3VuaXQgIT0gTlVMTDsKICB9CiAgCkBAIC0zNTUzLDcgKzM1NTQsNyBAQCBpbmRleCA1 MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICB9CiAgfQogIAotQEAgLTE3MDA4LDI4ICsxNzU0 OCwzNSBAQCBkd2FyZjJfcGVyX2N1X3RleHRfb2Zmc2V0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9k YXRhICpwZXJfY3UpCitAQCAtMTc4MDgsMjggKzE4MzQ3LDM1IEBAIGR3YXJmMl9wZXJfY3VfdGV4 dF9vZmZzZXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSkKICAKICBzdGF0aWMg c3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqCiAgZHdhcmYyX2ZpbmRfY29udGFpbmluZ19jb21w X3VuaXQgKHNlY3Rfb2Zmc2V0IG9mZnNldCwKQEAgLTM1OTQsNyArMzU5NSw3IEBAIGluZGV4IDUy Mjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCWVycm9yIChfKCJEd2FyZiBFcnJvcjogY291bGQgbm90 IGZpbmQgcGFydGlhbCBESUUgY29udGFpbmluZyAiCiAgCSAgICAgICAib2Zmc2V0IDB4JWx4IFtp biBtb2R1bGUgJXNdIiksCiAgCSAgICAgICAobG9uZykgb2Zmc2V0LnNlY3Rfb2ZmLCBiZmRfZ2V0 X2ZpbGVuYW1lIChvYmpmaWxlLT5vYmZkKSk7Ci1AQCAtMTcyNzAsNiArMTc4MTcsMjUgQEAgcGVy X2N1X29mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQg Kml0ZW1fcmhzKQorQEAgLTE4MDcwLDYgKzE4NjE2LDI1IEBAIHBlcl9jdV9vZmZzZXRfYW5kX3R5 cGVfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKICAJICAm JiBvZnNfbGhzLT5vZmZzZXQuc2VjdF9vZmYgPT0gb2ZzX3Jocy0+b2Zmc2V0LnNlY3Rfb2ZmKTsK ICB9CiAgCkBAIC0zNjIwLDcgKzM2MjEsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0 NAogIC8qIFNldCB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0 IGluIENVJ3MgaGFzaAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwg cmV0dXJuIFRZUEUuCiAgCi1AQCAtMTcyOTQsNiArMTc4NjAsOCBAQCBzZXRfZGllX3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCitAQCAtMTgwOTQsNiArMTg2NTksOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1 Y3QgZHdhcmYyX3Blcl9jdV9vZmZzZXRfYW5kX3R5cGUgKipzbG90LCBvZnM7CiAgICBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpmaWxlOwogIApAQCAtMzYyOSw3ICszNjMwLDcgQEAg aW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgIC8qIEZvciBBZGEgdHlwZXMsIG1ha2Ug c3VyZSB0aGF0IHRoZSBnbmF0LXNwZWNpZmljIGRhdGEgaXMgYWx3YXlzCiAgICAgICBpbml0aWFs aXplZCAoaWYgbm90IGFscmVhZHkgc2V0KS4gIFRoZXJlIGFyZSBhIGZldyB0eXBlcyB3aGVyZQog ICAgICAgd2Ugc2hvdWxkIG5vdCBiZSBkb2luZyBzbywgYmVjYXVzZSB0aGUgdHlwZS1zcGVjaWZp YyBhcmVhIGlzCi1AQCAtMTc0NzEsNTMgKzE4MDM5LDEzIEBAIHNob3dfZHdhcmYyX2NtZCAoY2hh ciAqYXJncywgaW50IGZyb21fdHR5KQorQEAgLTE4MjcxLDUzICsxODgzOCwxMyBAQCBzaG93X2R3 YXJmMl9jbWQgKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKICAgIGNtZF9zaG93X2xpc3QgKHNo b3dfZHdhcmYyX2NtZGxpc3QsIGZyb21fdHR5LCAiIik7CiAgfQogIApAQCAtMzY4NCw3ICszNjg1 LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIGZvciAoaXggPSAwOyBp eCA8IGR3YXJmMl9wZXJfb2JqZmlsZS0+bl9jb21wX3VuaXRzOyArK2l4KQogICAgICBWRUNfZnJl ZSAoZHdhcmYyX3Blcl9jdV9wdHIsCi1AQCAtMTc1MjcsNiArMTgwNTUsOSBAQCBkd2FyZjJfcGVy X29iamZpbGVfZnJlZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmQpCitAQCAtMTgz MjcsNiArMTg4NTQsOSBAQCBkd2FyZjJfcGVyX29iamZpbGVfZnJlZSAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUsIHZvaWQgKmQpCiAgCiAgICBpZiAoZGF0YS0+ZHdvX2ZpbGVzKQogICAgICBmcmVl X2R3b19maWxlcyAoZGF0YS0+ZHdvX2ZpbGVzLCBvYmpmaWxlKTsKQEAgLTM3MTYsNyArMzcxNyw3 IEBAIGluZGV4IDFlZGZiMjcuLmQ5MTA5Y2YgMTAwNjQ0CiAgICB4ZnJlZSAoZm91bmQpOwogIAog ZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCi1pbmRleCAzZDQzNDA2Li41NTY4 YjFjIDEwMDY0NAoraW5kZXggN2QzYThiOS4uZjY5ZGZmMCAxMDA2NDQKIC0tLSBhL2dkYi9ldmFs LmMKICsrKyBiL2dkYi9ldmFsLmMKIEBAIC00MSw2ICs0MSw3IEBACkBAIC0zOTYxLDcgKzM5NjIs NyBAQCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogIH0KICAKICAKLUBAIC04MDEsNiAr OTkyLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5 cGUsCitAQCAtODE4LDYgKzEwMDksNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVj dCB0eXBlICpleHBlY3RfdHlwZSwKICAgIGludCBzYXZlX3BvczE7CiAgICBzdHJ1Y3Qgc3ltYm9s ICpmdW5jdGlvbiA9IE5VTEw7CiAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0gTlVMTDsKQEAgLTM5 NjksNyArMzk3MCw3IEBAIGluZGV4IDNkNDM0MDYuLjU1NjhiMWMgMTAwNjQ0CiAgCiAgICBwYyA9 ICgqcG9zKSsrOwogICAgb3AgPSBleHAtPmVsdHNbcGNdLm9wY29kZTsKLUBAIC0xODc1LDYgKzIw NjcsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKK0BAIC0xODkyLDYgKzIwODQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVj dCB0eXBlICpleHBlY3RfdHlwZSwKICAKICAgICAgICAvKiBGaXJzdCBkZXRlcm1pbmUgdGhlIHR5 cGUgY29kZSB3ZSBhcmUgZGVhbGluZyB3aXRoLiAgKi8KICAgICAgICBhcmcxID0gZXZhbHVhdGVf c3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOwpAQCAtMzk3OCw3ICszOTc5LDcg QEAgaW5kZXggM2Q0MzQwNi4uNTU2OGIxYyAxMDA2NDQKICAgICAgICB0eXBlID0gY2hlY2tfdHlw ZWRlZiAodmFsdWVfdHlwZSAoYXJnMSkpOwogICAgICAgIGNvZGUgPSBUWVBFX0NPREUgKHR5cGUp OwogIAotQEAgLTE4OTUsMjMgKzIwODksMTMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChz dHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMTkxMiwyMyArMjEwNiwxMyBAQCBldmFsdWF0 ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAJICAgICAgY29k ZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgCSAgICB9CiAgCX0gCkBAIC00MDA0LDcgKzQwMDUsNyBA QCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogIAogIAljYXNlIFRZUEVfQ09ERV9QVFI6 CiAgCWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjM0NCw0OSArMjUyOCw2IEBAIGV2YWx1YXRl X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTIzNjEsNDkg KzI1NDUsNiBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3Rf dHlwZSwKICAJfQogICAgICAgIHJldHVybiAoYXJnMSk7CiAgCkBAIC00MDU0LDcgKzQwNTUsNyBA QCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogICAgICBjYXNlIEJJTk9QX0xPR0lDQUxf QU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3Ms IG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lkZSA9PSBFVkFMX1NLSVApCi1AQCAtMjYxOCwxNSAr Mjc1OSwyMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3Rf dHlwZSwKK0BAIC0yNjM1LDE1ICsyNzc2LDIzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAo c3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICAgICAgIGlmIChleHBlY3RfdHlwZSAmJiBUWVBF X0NPREUgKGV4cGVjdF90eXBlKSA9PSBUWVBFX0NPREVfUFRSKQogIAlleHBlY3RfdHlwZSA9IFRZ UEVfVEFSR0VUX1RZUEUgKGNoZWNrX3R5cGVkZWYgKGV4cGVjdF90eXBlKSk7CiAgICAgICAgYXJn MSA9IGV2YWx1YXRlX3N1YmV4cCAoZXhwZWN0X3R5cGUsIGV4cCwgcG9zLCBub3NpZGUpOwpAQCAt NDA4MCw3ICs0MDgxLDcgQEAgaW5kZXggM2Q0MzQwNi4uNTU2OGIxYyAxMDA2NDQKICAgICAgICBl bHNlIGlmIChub3NpZGUgPT0gRVZBTF9BVk9JRF9TSURFX0VGRkVDVFMpCiAgCXsKICAJICB0eXBl ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnMSkpOwotQEAgLTI2MzUsMTIgKzI3ODQs MTggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUs CitAQCAtMjY1MiwxMiArMjgwMSwxOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVj dCB0eXBlICpleHBlY3RfdHlwZSwKICAJICAvKiBJbiBDIHlvdSBjYW4gZGVyZWZlcmVuY2UgYW4g YXJyYXkgdG8gZ2V0IHRoZSAxc3QgZWx0LiAgKi8KICAJICAgICAgfHwgVFlQRV9DT0RFICh0eXBl KSA9PSBUWVBFX0NPREVfQVJSQVkKICAJICAgICkKQEAgLTQxMDQsNyArNDEwNSw3IEBAIGluZGV4 IDNkNDM0MDYuLjU1NjhiMWMgMTAwNjQ0CiAgCSAgZWxzZQogIAkgICAgZXJyb3IgKF8oIkF0dGVt cHQgdG8gdGFrZSBjb250ZW50cyBvZiBhIG5vbi1wb2ludGVyIHZhbHVlLiIpKTsKICAJfQotQEAg LTI2NTAsOSArMjgwNSwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKK0BAIC0yNjY3LDkgKzI4MjIsMTQgQEAgZXZhbHVhdGVfc3ViZXhwX3N0 YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCSBkby4gICJsb25nIGxvbmciIHZh cmlhYmxlcyBhcmUgcmFyZSBlbm91Z2ggdGhhdAogIAkgQlVJTFRJTl9UWVBFX0xPTkdFU1Qgd291 bGQgc2VlbSB0byBiZSBhIG1pc3Rha2UuICAqLwogICAgICAgIGlmIChUWVBFX0NPREUgKHR5cGUp ID09IFRZUEVfQ09ERV9JTlQpCkBAIC00MTIyLDcgKzQxMjMsNyBAQCBpbmRleCAzZDQzNDA2Li41 NTY4YjFjIDEwMDY0NAogIAogICAgICBjYXNlIFVOT1BfQUREUjoKICAgICAgICAvKiBDKys6IGNo ZWNrIGZvciBhbmQgaGFuZGxlIHBvaW50ZXIgdG8gbWVtYmVycy4gICovCi1AQCAtMjk5NCw3ICsz MTU0LDcgQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9u ICpleHAsCitAQCAtMzAxMSw3ICszMTcxLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNp b24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgewogICAgZW51bSBleHBfb3Bjb2RlIG9wOwog ICAgaW50IHBjOwpAQCAtNDEzMSw3ICs0MTMyLDcgQEAgaW5kZXggM2Q0MzQwNi4uNTU2OGIxYyAx MDA2NDQKICAgIHN0cnVjdCBzeW1ib2wgKnZhcjsKICAgIHN0cnVjdCB0eXBlICp0eXBlOwogIAot QEAgLTMwMDUsMTMgKzMxNjUsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0 cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMzAyMiwxMyArMzE4MiwxOCBAQCBldmFsdWF0ZV9z dWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKICAgICAgewogICAg ICBjYXNlIE9QX1ZBUl9WQUxVRToKICAgICAgICB2YXIgPSBleHAtPmVsdHNbcGMgKyAyXS5zeW1i b2w7CkBAIC00MTUxLDcgKzQxNTIsNyBAQCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAog IAkgIHJldHVybiB2YWx1ZV9jYXN0IChsb29rdXBfcG9pbnRlcl90eXBlIChUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSksCiAgCQkJICAgICB2YWwpOwogIAl9Ci1AQCAtMzA2Myw5ICszMjI4LDEzIEBA IGV2YWx1YXRlX3N1YmV4cF9mb3Jfc2l6ZW9mIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQg KnBvcykKK0BAIC0zMDgwLDkgKzMyNDUsMTMgQEAgZXZhbHVhdGVfc3ViZXhwX2Zvcl9zaXplb2Yg KHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zKQogIAogICAgICBjYXNlIE9QX1ZBUl9W QUxVRToKICAgICAgICAoKnBvcykgKz0gNDsKQEAgLTQxNjgsNyArNDE2OSw3IEBAIGluZGV4IDNk NDM0MDYuLjU1NjhiMWMgMTAwNjQ0CiAgCiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdmFsID0gZXZh bHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBFVkFMX0FWT0lEX1NJREVfRUZGRUNU Uyk7Ci1AQCAtMzA5NiwxOCArMzI2NSwyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBlIChjaGFyICpw LCBpbnQgbGVuZ3RoKQorQEAgLTMxMTMsMTggKzMyODIsMjUgQEAgcGFyc2VfYW5kX2V2YWxfdHlw ZSAoY2hhciAqcCwgaW50IGxlbmd0aCkKICBpbnQKICBjYWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1 Y3QgdHlwZSAqYXJyYXlfdHlwZSkKICB7CkBAIC01MjgwLDcgKzUyODEsNyBAQCBpbmRleCAwMDAw MDAwLi4xZGQ4MmMzCiArCiArI2VuZGlmIC8qIEdEQl9CRkRfSCAqLwogZGlmZiAtLWdpdCBhL2dk Yi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IDBlZWM4NzQuLjcyMTc2MzkgMTAw NjQ0CitpbmRleCA4MTQyYWI5Li5hMjk1M2NjIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMK ICsrKyBiL2dkYi9nZGJ0eXBlcy5jCiBAQCAtMzcsNiArMzcsOSBAQApAQCAtNTM3Miw3ICs1Mzcz LDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgICAgICBpZiAodHlwZXB0cikK ICAJKnR5cGVwdHIgPSBudHlwZTsKICAgICAgfQotQEAgLTc0Nyw2ICs3OTYsNyBAQCBjcmVhdGVf cmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlwZSAqaW5kZXhf dHlwZSwKK0BAIC03ODQsNiArODMzLDcgQEAgY3JlYXRlX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBl ICpyZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgICAgIFRZUEVfWkFMTE9D IChyZXN1bHRfdHlwZSwgc2l6ZW9mIChzdHJ1Y3QgcmFuZ2VfYm91bmRzKSk7CiAgICBUWVBFX0xP V19CT1VORCAocmVzdWx0X3R5cGUpID0gbG93X2JvdW5kOwogICAgVFlQRV9ISUdIX0JPVU5EIChy ZXN1bHRfdHlwZSkgPSBoaWdoX2JvdW5kOwpAQCAtNTM4MCw3ICs1MzgxLDcgQEAgaW5kZXggMGVl Yzg3NC4uNzIxNzYzOSAxMDA2NDQKICAKICAgIGlmIChsb3dfYm91bmQgPj0gMCkKICAgICAgVFlQ RV9VTlNJR05FRCAocmVzdWx0X3R5cGUpID0gMTsKLUBAIC04OTAsMjYgKzk0MCwzMSBAQCBjcmVh dGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLAorQEAgLTkyNywyNiArOTc3 LDMxIEBAIGNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3R5cGUsCiAgCiAg ICBUWVBFX0NPREUgKHJlc3VsdF90eXBlKSA9IFRZUEVfQ09ERV9BUlJBWTsKICAgIFRZUEVfVEFS R0VUX1RZUEUgKHJlc3VsdF90eXBlKSA9IGVsZW1lbnRfdHlwZTsKQEAgLTU0MjUsNyArNTQyNiw3 IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2MzkgMTAwNjQ0CiAgCiAgICByZXR1cm4gcmVzdWx0X3R5 cGU7CiAgfQotQEAgLTE0MzEsNiArMTQ4NiwxMDUgQEAgc3R1Yl9ub25hbWVfY29tcGxhaW50ICh2 b2lkKQorQEAgLTE0NjgsNiArMTUyMywxMDUgQEAgc3R1Yl9ub25hbWVfY29tcGxhaW50ICh2b2lk KQogICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLCBfKCJzdHViIHR5cGUgaGFzIE5V TEwgbmFtZSIpKTsKICB9CiAgCkBAIC01NTMxLDcgKzU1MzIsNyBAQCBpbmRleCAwZWVjODc0Li43 MjE3NjM5IDEwMDY0NAogIC8qIEZpbmQgdGhlIHJlYWwgdHlwZSBvZiBUWVBFLiAgVGhpcyBmdW5j dGlvbiByZXR1cm5zIHRoZSByZWFsIHR5cGUsCiAgICAgYWZ0ZXIgcmVtb3ZpbmcgYWxsIGxheWVy cyBvZiB0eXBlZGVmcywgYW5kIGNvbXBsZXRpbmcgb3BhcXVlIG9yIHN0dWIKICAgICB0eXBlcy4g IENvbXBsZXRpb24gY2hhbmdlcyB0aGUgVFlQRSBhcmd1bWVudCwgYnV0IHN0cmlwcGluZyBvZgot QEAgLTE1OTcsNTIgKzE3NTEsMzcgQEAgY2hlY2tfdHlwZWRlZiAoc3RydWN0IHR5cGUgKnR5cGUp CitAQCAtMTYzNCw1MiArMTc4OCwzNyBAQCBjaGVja190eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlw ZSkKICAgICAgICAgIH0KICAgICAgfQogIApAQCAtNTYwNSw3ICs1NjA2LDcgQEAgaW5kZXggMGVl Yzg3NC4uNzIxNzYzOSAxMDA2NDQKICAJICBUWVBFX1RBUkdFVF9TVFVCICh0eXBlKSA9IDA7CiAg CX0KICAgICAgICBlbHNlIGlmIChUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9SQU5HRSkK LUBAIC0xNjUwLDYgKzE3ODksNyBAQCBjaGVja190eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSkK K0BAIC0xNjg3LDYgKzE4MjYsNyBAQCBjaGVja190eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSkK ICAJICBUWVBFX0xFTkdUSCAodHlwZSkgPSBUWVBFX0xFTkdUSCAodGFyZ2V0X3R5cGUpOwogIAkg IFRZUEVfVEFSR0VUX1NUVUIgKHR5cGUpID0gMDsKICAJfQpAQCAtNTYxMyw3ICs1NjE0LDcgQEAg aW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgICAgfQogIAogICAgdHlwZSA9IG1ha2Vf cXVhbGlmaWVkX3R5cGUgKHR5cGUsIGluc3RhbmNlX2ZsYWdzLCBOVUxMKTsKLUBAIC0zMzA4LDMz ICszNDQ4LDQyIEBAIHR5cGVfcGFpcl9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZv aWQgKml0ZW1fcmhzKQorQEAgLTMzNDUsMzMgKzM0ODUsNDIgQEAgdHlwZV9wYWlyX2VxIChjb25z dCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCiAgfQogIAogIC8qIEFsbG9j YXRlIHRoZSBoYXNoIHRhYmxlIHVzZWQgYnkgY29weV90eXBlX3JlY3Vyc2l2ZSB0byB3YWxrCkBA IC01NjcxLDcgKzU2NzIsNyBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5IDEwMDY0NAogICAgICBy ZXR1cm4gdHlwZTsKICAKICAgIC8qIFRoaXMgdHlwZSBzaG91bGRuJ3QgYmUgcG9pbnRpbmcgdG8g YW55IHR5cGVzIGluIG90aGVyIG9iamZpbGVzOwotQEAgLTMzNDksOSArMzQ5OCwxMCBAQCBjb3B5 X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zMzg2LDkgKzM1 MzUsMTAgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAg ICBuZXdfdHlwZSA9IGFsbG9jX3R5cGVfYXJjaCAoZ2V0X3R5cGVfYXJjaCAodHlwZSkpOwogIAog ICAgLyogV2UgbXVzdCBhZGQgdGhlIG5ldyB0eXBlIHRvIHRoZSBoYXNoIHRhYmxlIGltbWVkaWF0 ZWx5LCBpbiBjYXNlCkBAIC01Njg1LDcgKzU2ODYsNyBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5 IDEwMDY0NAogICAgc3RvcmVkLT5vbGQgPSB0eXBlOwogICAgc3RvcmVkLT5uZXcgPSBuZXdfdHlw ZTsKICAgICpzbG90ID0gc3RvcmVkOwotQEAgLTMzNjIsNiArMzUxMiwyMSBAQCBjb3B5X3R5cGVf cmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zMzk5LDYgKzM1NDksMjEg QEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgICBUWVBF X09CSkZJTEVfT1dORUQgKG5ld190eXBlKSA9IDA7CiAgICBUWVBFX09XTkVSIChuZXdfdHlwZSku Z2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwogIApAQCAtNTcwNyw3ICs1NzA4LDcgQEAg aW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgIGlmIChUWVBFX05BTUUgKHR5cGUpKQog ICAgICBUWVBFX05BTUUgKG5ld190eXBlKSA9IHhzdHJkdXAgKFRZUEVfTkFNRSAodHlwZSkpOwog ICAgaWYgKFRZUEVfVEFHX05BTUUgKHR5cGUpKQotQEAgLTMzNzAsMTIgKzM1MzUsNDggQEAgY29w eV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzQwNywxMiAr MzU3Miw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwK ICAgIFRZUEVfSU5TVEFOQ0VfRkxBR1MgKG5ld190eXBlKSA9IFRZUEVfSU5TVEFOQ0VfRkxBR1Mg KHR5cGUpOwogICAgVFlQRV9MRU5HVEggKG5ld190eXBlKSA9IFRZUEVfTEVOR1RIICh0eXBlKTsK ICAKQEAgLTU3NTYsNyArNTc1Nyw3IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2MzkgMTAwNjQ0CiAg ICAgICAgVFlQRV9GSUVMRFMgKG5ld190eXBlKSA9IFhDQUxMT0MgKG5maWVsZHMsIHN0cnVjdCBm aWVsZCk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IG5maWVsZHM7IGkrKykKICAJewotQEAgLTMz ODQsOCArMzU4NSw4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAorQEAgLTM0MjEsOCArMzYyMiw4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLAogIAkgIFRZUEVfRklFTERfQklUU0laRSAobmV3X3R5cGUsIGkpID0g VFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlLCBpKTsKICAJICBpZiAoVFlQRV9GSUVMRF9UWVBFICh0 eXBlLCBpKSkKICAJICAgIFRZUEVfRklFTERfVFlQRSAobmV3X3R5cGUsIGkpCkBAIC01NzY3LDcg KzU3NjgsNyBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5IDEwMDY0NAogIAkgIGlmIChUWVBFX0ZJ RUxEX05BTUUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9OQU1FIChuZXdfdHlwZSwgaSkg PSAKICAJICAgICAgeHN0cmR1cCAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKSk7Ci1AQCAtMzQx NiwyNCArMzYxNywxODQgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsCitAQCAtMzQ1MywyNCArMzY1NCwxODQgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCX0KICAgICAgfQogIApAQCAtNTk1OSw3ICs1OTYwLDcg QEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgIC8qIE1heWJlIGNvcHkgdGhlIHR5 cGVfc3BlY2lmaWMgYml0cy4KICAKICAgICAgIE5PVEUgZHJvdy8yMDA1LTEyLTA5OiBXZSBkbyBu b3QgY29weSB0aGUgQysrLXNwZWNpZmljIGJpdHMgbGlrZQotQEAgLTM0NTAsNiArMzgxMSwxNyBA QCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zNDg3 LDYgKzM4NDgsMTcgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCiAgICByZXR1cm4gbmV3X3R5cGU7CiAgfQogIApAQCAtNTk3Nyw3ICs1OTc4LDcgQEAgaW5k ZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAvKiBNYWtlIGEgY29weSBvZiB0aGUgZ2l2ZW4g VFlQRSwgZXhjZXB0IHRoYXQgdGhlIHBvaW50ZXIgJiByZWZlcmVuY2UKICAgICB0eXBlcyBhcmUg bm90IHByZXNlcnZlZC4KICAgICAKLUBAIC0zNDcyLDYgKzM4NDQsMjAxIEBAIGNvcHlfdHlwZSAo Y29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMzUwOSw2ICszODgxLDIwMSBAQCBjb3B5X3R5 cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQogICAgcmV0dXJuIG5ld190eXBlOwogIH0KICAK QEAgLTYxNzksNyArNjE4MCw3IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2MzkgMTAwNjQ0CiAgCiAg LyogSGVscGVyIGZ1bmN0aW9ucyB0byBpbml0aWFsaXplIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyB0 eXBlcy4gICovCiAgCi1AQCAtNDAwNSw2ICs0NTcyLDEzIEBAIHZvaWQKK0BAIC00MDQyLDYgKzQ2 MDksMTMgQEAgdm9pZAogIF9pbml0aWFsaXplX2dkYnR5cGVzICh2b2lkKQogIHsKICAgIGdkYnR5 cGVzX2RhdGEgPSBnZGJhcmNoX2RhdGFfcmVnaXN0ZXJfcG9zdF9pbml0IChnZGJ0eXBlc19wb3N0 X2luaXQpOwpAQCAtNjE5NCwxMCArNjE5NSwxMCBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5IDEw MDY0NAogIAogICAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgib3ZlcmxvYWQiLCBub19jbGFz cywgJm92ZXJsb2FkX2RlYnVnLAogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5oIGIvZ2RiL2dk YnR5cGVzLmgKLWluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CitpbmRleCAxN2JmYmM1Li43 MmU5Y2M1IDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5o Ci1AQCAtMjE0LDYgKzIxNCwxMSBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQorQEAg LTIyOCw2ICsyMjgsMTEgQEAgZW51bSB0eXBlX2luc3RhbmNlX2ZsYWdfdmFsdWUKICAKICAjZGVm aW5lIFRZUEVfVEFSR0VUX1NUVUIodCkJKFRZUEVfTUFJTl9UWVBFICh0KS0+ZmxhZ190YXJnZXRf c3R1YikKICAKQEAgLTYyMDksNyArNjIxMCw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAw NjQ0CiAgLyogU3RhdGljIHR5cGUuICBJZiB0aGlzIGlzIHNldCwgdGhlIGNvcnJlc3BvbmRpbmcg dHlwZSBoYWQgCiAgICAgYSBzdGF0aWMgbW9kaWZpZXIuCiAgICAgTm90ZTogVGhpcyBtYXkgYmUg dW5uZWNlc3NhcnksIHNpbmNlIHN0YXRpYyBkYXRhIG1lbWJlcnMKLUBAIC0yOTcsNiArMzAyLDUw IEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCitAQCAtMzExLDYgKzMxNiw1MCBAQCBl bnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQogIAogICNkZWZpbmUgVFlQRV9GTEFHX0VOVU0o dCkgKFRZUEVfTUFJTl9UWVBFICh0KS0+ZmxhZ19mbGFnX2VudW0pCiAgCkBAIC02MjYwLDcgKzYy NjEsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0NAogIC8qIENvbnN0YW50IHR5cGUu ICBJZiB0aGlzIGlzIHNldCwgdGhlIGNvcnJlc3BvbmRpbmcgdHlwZSBoYXMgYQogICAgIGNvbnN0 IG1vZGlmaWVyLiAgKi8KICAKLUBAIC00MDcsNiArNDU2LDE1IEBAIHN0cnVjdCBtYWluX3R5cGUK K0BAIC00MjEsNiArNDcwLDE1IEBAIHN0cnVjdCBtYWluX3R5cGUKICAgIC8qIFRydWUgaWYgdGhp cyB0eXBlIHdhcyBkZWNsYXJlZCB3aXRoICJjbGFzcyIgcmF0aGVyIHRoYW4KICAgICAgICJzdHJ1 Y3QiLiAgKi8KICAgIHVuc2lnbmVkIGludCBmbGFnX2RlY2xhcmVkX2NsYXNzIDogMTsKQEAgLTYy NzYsNyArNjI3Nyw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgCiAgICAvKiBU cnVlIGlmIHRoaXMgaXMgYW4gZW51bSB0eXBlIHdpdGggZGlzam9pbnQgdmFsdWVzLiAgVGhpcyBh ZmZlY3RzCiAgICAgICBob3cgdGhlIGVudW0gaXMgcHJpbnRlZC4gICovCi1AQCAtNDg3LDYgKzU0 NSwyMCBAQCBzdHJ1Y3QgbWFpbl90eXBlCitAQCAtNTAxLDYgKzU1OSwyMCBAQCBzdHJ1Y3QgbWFp bl90eXBlCiAgCiAgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgCkBAIC02Mjk3LDcgKzYy OTgsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0NAogICAgLyogRm9yIHN0cnVjdHVy ZSBhbmQgdW5pb24gdHlwZXMsIGEgZGVzY3JpcHRpb24gb2YgZWFjaCBmaWVsZC4KICAgICAgIEZv ciBzZXQgYW5kIHBhc2NhbCBhcnJheSB0eXBlcywgdGhlcmUgaXMgb25lICJmaWVsZCIsCiAgICAg ICB3aG9zZSB0eXBlIGlzIHRoZSBkb21haW4gdHlwZSBvZiB0aGUgc2V0IG9yIGFycmF5LgotQEAg LTU2OSwxMyArNjQxLDM0IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC01ODMsMTMgKzY1NSwzNCBA QCBzdHJ1Y3QgbWFpbl90eXBlCiAgCiAgICAgIHN0cnVjdCByYW5nZV9ib3VuZHMKICAgICAgewpA QCAtNjMzNyw3ICs2MzM4LDcgQEAgaW5kZXggY2Y3ZDM5OC4uYTBmNWIxNyAxMDA2NDQKICAKICAg ICAgICAvKiBGbGFncyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHZhbHVlcyBvZiBsb3cgYW5kIGhp Z2ggYXJlCiAgICAgICAgICAgdmFsaWQuICBXaGVuIHRydWUsIHRoZSByZXNwZWN0aXZlIHJhbmdl IHZhbHVlIGlzCi1AQCAtMTA0MCw5ICsxMTMzLDkgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25h dF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtMTA1NCw5ICsxMTQ3LDkgQEAgZXh0ZXJu IHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAgI2RlZmluZSBU WVBFX1BPSU5URVJfVFlQRSh0aGlzdHlwZSkgKHRoaXN0eXBlKS0+cG9pbnRlcl90eXBlCiAgI2Rl ZmluZSBUWVBFX1JFRkVSRU5DRV9UWVBFKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5yZWZlcmVuY2Vf dHlwZQogICNkZWZpbmUgVFlQRV9DSEFJTih0aGlzdHlwZSkgKHRoaXN0eXBlKS0+Y2hhaW4KQEAg LTYzNTAsNyArNjM1MSw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgICAgY2Fs bHMgY2hlY2tfdHlwZWRlZiwgVFlQRV9MRU5HVEggKFZBTFVFX1RZUEUgKFgpKSBpcyBzYWZlLiAg Ki8KICAjZGVmaW5lIFRZUEVfTEVOR1RIKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5sZW5ndGgKICAv KiBOb3RlIHRoYXQgVFlQRV9DT0RFIGNhbiBiZSBUWVBFX0NPREVfVFlQRURFRiwgc28gaWYgeW91 IHdhbnQgdGhlIHJlYWwKLUBAIC0xMDUwLDExICsxMTQzLDE2IEBAIGV4dGVybiB2b2lkIGFsbG9j YXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOworQEAgLTEwNjQsMTEgKzExNTcsMTYg QEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAg I2RlZmluZSBUWVBFX0NPREUodGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRoaXN0eXBlKS0+Y29k ZQogICNkZWZpbmUgVFlQRV9ORklFTERTKHRoaXN0eXBlKSBUWVBFX01BSU5fVFlQRSh0aGlzdHlw ZSktPm5maWVsZHMKICAjZGVmaW5lIFRZUEVfRklFTERTKHRoaXN0eXBlKSBUWVBFX01BSU5fVFlQ RSh0aGlzdHlwZSktPmZsZHNfYm5kcy5maWVsZHMKQEAgLTYzNjksNyArNjM3MCw3IEBAIGluZGV4 IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgI2RlZmluZSBUWVBFX0xPV19CT1VORF9VTkRFRklO RUQocmFuZ2VfdHlwZSkgXAogICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBlKS0+bG93X3Vu ZGVmaW5lZAogICNkZWZpbmUgVFlQRV9ISUdIX0JPVU5EX1VOREVGSU5FRChyYW5nZV90eXBlKSBc Ci1AQCAtMTA3MSw3ICsxMTY5LDE0IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5 cGUgKHN0cnVjdCB0eXBlICopOworQEAgLTEwODUsNyArMTE4MywxNCBAQCBleHRlcm4gdm9pZCBh bGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAgICAoVFlQRV9ISUdIX0JP VU5EKFRZUEVfSU5ERVhfVFlQRSgoYXJyYXl0eXBlKSkpKQogIAogICNkZWZpbmUgVFlQRV9BUlJB WV9MT1dFUl9CT1VORF9WQUxVRShhcnJheXR5cGUpIFwKQEAgLTYzODUsNyArNjM4Niw3IEBAIGlu ZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgCiAgLyogQysrICovCiAgCi1AQCAtMTUxMyw2 ICsxNjE4LDE4IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVj dCB0eXBlICosIHN0cnVjdCB0eXBlICosCitAQCAtMTUzMSw2ICsxNjM2LDE4IEBAIGV4dGVybiBz dHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBl ICosCiAgCQkJCSAgICAgICBzdHJ1Y3QgdHlwZSAqKTsKICBleHRlcm4gc3RydWN0IHR5cGUgKmxv b2t1cF9hcnJheV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqLCBpbnQsIGludCk7CiAgCkBAIC02 NDA0LDcgKzY0MDUsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0NAogIGV4dGVybiBz dHJ1Y3QgdHlwZSAqY3JlYXRlX3N0cmluZ190eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlw ZSAqLAogIAkJCQkJc3RydWN0IHR5cGUgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICpsb29rdXBf c3RyaW5nX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIGludCwgaW50KTsKLUBAIC0xNTU4LDYg KzE2NzUsMTAgQEAgZXh0ZXJuIGludCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICos IHN0cnVjdCB0eXBlICopOworQEAgLTE1NzYsNiArMTY5MywxMCBAQCBleHRlcm4gaW50IGlzX3B1 YmxpY19hbmNlc3RvciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CiAgCiAgZXh0ZXJu IGludCBpc191bmlxdWVfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB2YWx1ZSAqKTsK ICAKQEAgLTY0MTUsNyArNjQxNiw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAg LyogT3ZlcmxvYWQgcmVzb2x1dGlvbiAqLwogIAogICNkZWZpbmUgTEVOR1RIX01BVENIKGJ2KSAo KGJ2KS0+cmFua1swXSkKLUBAIC0xNjMzLDEwICsxNzU0LDEzIEBAIGV4dGVybiB2b2lkIG1haW50 ZW5hbmNlX3ByaW50X3R5cGUgKGNoYXIgKiwgaW50KTsKK0BAIC0xNjUxLDEwICsxNzcyLDEzIEBA IGV4dGVybiB2b2lkIG1haW50ZW5hbmNlX3ByaW50X3R5cGUgKGNoYXIgKiwgaW50KTsKICAKICBl eHRlcm4gaHRhYl90IGNyZWF0ZV9jb3BpZWRfdHlwZXNfaGFzaCAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUpOwogIApAQCAtNzA1NywxMCArNzA1OCwxMCBAQCBpbmRleCBiODQzNGVkLi45OGEwNzZk IDEwMDY0NAogIAwKICB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3BhcnNlLmMgYi9nZGIvcGFyc2Uu YwotaW5kZXggYzM3MmY0MC4uNjcwN2M5YSAxMDA2NDQKK2luZGV4IDUyOWM1MTcuLjYzMjZhMDEg MTAwNjQ0CiAtLS0gYS9nZGIvcGFyc2UuYwogKysrIGIvZ2RiL3BhcnNlLmMKLUBAIC0xNTg0LDYg KzE1ODQsNyBAQCBwYXJzZXJfZnByaW50ZiAoRklMRSAqeCwgY29uc3QgY2hhciAqeSwgLi4uKQor QEAgLTE3MDgsNiArMTcwOCw3IEBAIHBhcnNlcl9mcHJpbnRmIChGSUxFICp4LCBjb25zdCBjaGFy ICp5LCAuLi4pCiAgCiAgaW50CiAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHBy ZXNzaW9uICpleHAsIGludCBwb3MsCkBAIC03MDY4LDcgKzcwNjksNyBAQCBpbmRleCBjMzcyZjQw Li42NzA3YzlhIDEwMDY0NAogIAkJCSBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwKICAJCQkJCSAgICAgIHZvaWQgKmRhdGEpLAogIAkJCSB2b2lkICpkYXRhKQot QEAgLTE2MjUsNyArMTYyNiw3IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAgLTE3NDksNyArMTc1MCw3IEBAIG9wZXJhdG9yX2No ZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAogIAkgICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSBlbHRzW3BvcyArIDIgKyBhcmddLnR5cGU7CiAgCSAgICBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSA9IFRZUEVfT0JKRklMRSAodHlwZSk7CiAgCkBAIC03MDc3LDcgKzcw NzgsNyBAQCBpbmRleCBjMzcyZjQwLi42NzA3YzlhIDEwMDY0NAogIAkgICAgICByZXR1cm4gMTsK ICAJICB9CiAgICAgICAgfQotQEAgLTE2NDMsNyArMTY0NCw4IEBAIG9wZXJhdG9yX2NoZWNrX3N0 YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAgLTE3NjcsNyArMTc2 OCw4IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBp bnQgcG9zLAogIAogIAkvKiBDaGVjayBvYmpmaWxlIHdoZXJlIHRoZSB2YXJpYWJsZSBpdHNlbGYg aXMgcGxhY2VkLgogIAkgICBTWU1CT0xfT0JKX1NFQ1RJT04gKHN5bWJvbCkgbWF5IGJlIE5VTEwu ICAqLwpAQCAtNzA4Nyw3ICs3MDg4LDcgQEAgaW5kZXggYzM3MmY0MC4uNjcwN2M5YSAxMDA2NDQK ICAJICByZXR1cm4gMTsKICAKICAJLyogQ2hlY2sgb2JqZmlsZSB3aGVyZSBpcyBwbGFjZWQgdGhl IGNvZGUgdG91Y2hpbmcgdGhlIHZhcmlhYmxlLiAgKi8KLUBAIC0xNjU2LDI0ICsxNjU4LDI3IEBA IG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9z LAorQEAgLTE3ODAsMjQgKzE3ODIsMjcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVj dCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCiAgICAvKiBJbnZva2UgY2FsbGJhY2tzIGZv ciBUWVBFIGFuZCBPQkpGSUxFIGlmIHRoZXkgd2VyZSBzZXQgYXMgbm9uLU5VTEwuICAqLwogIApA QCAtNzEyMyw3ICs3MTI0LDcgQEAgaW5kZXggYzM3MmY0MC4uNjcwN2M5YSAxMDA2NDQKICAJICAg ICBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0 YSksCiAgCSAgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTY4OCw3ICsxNjkzLDkgQEAgZXhwX2l0 ZXJhdGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMTgxMiw3ICsxODE3LDkgQEAgZXhw X2l0ZXJhdGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCiAgICAgICAgcG9zID0gZW5kcG9z IC0gb3BsZW47CiAgICAgICAgaWYgKGV4cC0+bGFuZ3VhZ2VfZGVmbi0+bGFfZXhwX2Rlc2MtPm9w ZXJhdG9yX2NoZWNrIChleHAsIHBvcywKQEAgLTcxMzQsNyArNzEzNSw3IEBAIGluZGV4IGMzNzJm NDAuLjY3MDdjOWEgMTAwNjQ0CiAgCXJldHVybiAxOwogIAogICAgICAgIGVuZHBvcyA9IHBvczsK LUBAIC0xNzE5LDggKzE3MjYsMjkgQEAgZXhwX3VzZXNfb2JqZmlsZSAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitAQCAtMTg0Myw4ICsxODUwLDI5IEBA IGV4cF91c2VzX29iamZpbGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlKQogIHsKICAgIGdkYl9hc3NlcnQgKG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29i amZpbGVfYmFja2xpbmsgPT0gTlVMTCk7CiAgCkBAIC03MTY2LDEwICs3MTY3LDEwIEBAIGluZGV4 IGMzNzJmNDAuLjY3MDdjOWEgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX3BhcnNlICh2b2lk KQogZGlmZiAtLWdpdCBhL2dkYi9wYXJzZXItZGVmcy5oIGIvZ2RiL3BhcnNlci1kZWZzLmgKLWlu ZGV4IGFhNjAwYTEuLjU1NGMyNzIgMTAwNjQ0CitpbmRleCA4NmYzYmRmLi5mOTA4YTYxIDEwMDY0 NAogLS0tIGEvZ2RiL3BhcnNlci1kZWZzLmgKICsrKyBiL2dkYi9wYXJzZXItZGVmcy5oCi1AQCAt MjE3LDYgKzIxNyw4IEBAIGV4dGVybiB2b2lkIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29u c3Qgc3RydWN0IGV4cHJlc3Npb24gKiwgaW50LCBpbnQgKiwKK0BAIC0yNDUsNiArMjQ1LDggQEAg ZXh0ZXJuIHZvaWQgb3BlcmF0b3JfbGVuZ3RoX3N0YW5kYXJkIChjb25zdCBzdHJ1Y3QgZXhwcmVz c2lvbiAqLCBpbnQsIGludCAqLAogIAkJCQkgICAgICBpbnQgKik7CiAgCiAgZXh0ZXJuIGludCBv cGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywK QEAgLTcxNzgsNyArNzE3OSw3IEBAIGluZGV4IGFhNjAwYTEuLjU1NGMyNzIgMTAwNjQ0CiAgCQkJ CSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpCiAgCQkJCSAgICAgIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwgdm9pZCAqZGF0YSksCiAgCQkJCSAgICB2b2lkICpkYXRhKTsKLUBAIC0zMDMsNiArMzA1 LDcgQEAgc3RydWN0IGV4cF9kZXNjcmlwdG9yCitAQCAtMzMxLDYgKzMzMyw3IEBAIHN0cnVjdCBl eHBfZGVzY3JpcHRvcgogICAgICAgICB2YWx1ZSBzaG91bGQgYmUgaW1tZWRpYXRlbHkgcmV0dXJu ZWQgdG8gdGhlIGNhbGxlci4gIE90aGVyd2lzZSB6ZXJvCiAgICAgICAgIHNob3VsZCBiZSByZXR1 cm5lZC4gICovCiAgICAgIGludCAoKm9wZXJhdG9yX2NoZWNrKSAoc3RydWN0IGV4cHJlc3Npb24g KmV4cCwgaW50IHBvcywKQEAgLTcxODYsNyArNzE4Nyw3IEBAIGluZGV4IGFhNjAwYTEuLjU1NGMy NzIgMTAwNjQ0CiAgCQkJICAgaW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsCiAgCQkJCQkJdm9pZCAqZGF0YSksCiAgCQkJICAgdm9pZCAqZGF0YSk7Ci1AQCAtMzQx LDQgKzM0NCwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklMRSAqLCBjb25zdCBj aGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CitAQCAtMzY5LDQgKzM3MiwxMCBA QCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLikg QVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CiAgCiAgZXh0ZXJuIGludCBleHBfdXNlc19vYmpmaWxl IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7CiAgCkBA IC0xMjc3NSw3ICsxMjc3Niw3IEBAIGluZGV4IGFjZmQ4OWIuLmM3N2Q5YzIgMTAwNjQ0CiAgIyBU ZXN0IGVpdGhlciBDIG9yIEMrKyB2YWx1ZXMuIAogIHRlc3Rfc3Vic2NyaXB0X3JlZ3Jlc3Npb24g IiR7YmluZmlsZX0iICJjIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAg Yi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCi1pbmRleCAyODlkNGQ4Li5kYTBkMDg5IDEwMDY0 NAoraW5kZXggNGYyYjdjOS4uMGRhZWYyNSAxMDA2NDQKIC0tLSBhL2dkYi90ZXN0c3VpdGUvbGli L2dkYi5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKIEBAIC0xNDIsNiArMTQy LDExIEBAIHByb2MgZ2RiX3VubG9hZCB7fSB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWF0dGFjaC1mYWls LXJlYXNvbnMtNW9mNS5wYXRjaCBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gK aW5kZXggYmY5NWU3Yy4uYTc0MDBjNyAxMDA2NDQKLS0tIGEvZ2RiLWF0dGFjaC1mYWlsLXJlYXNv bnMtNW9mNS5wYXRjaAorKysgYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCkBA IC0zNywxMyArMzcsMTMgQEAgZ2RiL2dkYnNlcnZlci8KIAkobGludXhfY3JlYXRlX2luZmVyaW9y LCBsaW51eF90cmFjZWZvcmtfY2hpbGQpOiBDYWxsIGl0IGluc3RlYWQgb2YKIAlkaXJlY3QgcHRy YWNlLgogCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29tbW9uL2xpbnV4LXB0cmFj ZS5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dkYi9jb21tb24vbGlu dXgtcHRyYWNlLmMJMjAxMi0wMy0xMyAxNjowMjoyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMJMjAxMi0wNi0wMiAyMDoz Nzo1My45MzM4Mjg1NzAgKzAyMDAKLUBAIC0yNyw2ICsyNywxMCBAQAotICNpbmNsdWRlICJsaW51 eC1wcm9jZnMuaCIKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL2NvbW1vbi9saW51 eC1wdHJhY2UuYwkyMDEyLTA3LTA3IDE0OjEzOjU2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjQuNTAuMjAxMjA3MTQvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuYwkyMDEyLTA3LTE0IDIzOjMw OjAyLjkxODE2NzI4MyArMDIwMAorQEAgLTI4LDYgKzI4LDEwIEBACiAgI2luY2x1ZGUgImJ1ZmZl ci5oIgorICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCiAgCiArI2lmZGVmIEhBVkVfU0VMSU5VWF9T RUxJTlVYX0gKICsjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgpAQCAtNTIsMTMgKzUyLDE5 IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMK ICAvKiBGaW5kIGFsbCBwb3NzaWJsZSByZWFzb25zIHdlIGNvdWxkIGZhaWwgdG8gYXR0YWNoIFBJ RCBhbmQgYXBwZW5kIHRoZXNlCiAgICAgbmV3bGluZSB0ZXJtaW5hdGVkIHJlYXNvbiBzdHJpbmdz IHRvIGluaXRpYWxpemVkIEJVRkZFUi4gICdcMCcgdGVybWluYXRpb24KICAgICBvZiBCVUZGRVIg bXVzdCBiZSBkb25lIGJ5IHRoZSBjYWxsZXIuICAqLwotQEAgLTQ2LDQgKzUwLDIyIEBAIGxpbnV4 X3B0cmFjZV9hdHRhY2hfd2FybmluZ3MgKHBpZF90IHBpZCwKK0BAIC00Nyw2ICs1MSw4IEBAIGxp bnV4X3B0cmFjZV9hdHRhY2hfd2FybmluZ3MgKHBpZF90IHBpZCwKICAgICAgYnVmZmVyX3htbF9w cmludGYgKGJ1ZmZlciwgXygid2FybmluZzogcHJvY2VzcyAlZCBpcyBhIHpvbWJpZSAiCiAgCQkJ CSAiLSB0aGUgcHJvY2VzcyBoYXMgYWxyZWFkeSB0ZXJtaW5hdGVkXG4iKSwKICAJCSAgICAgICAo aW50KSBwaWQpOwogKwogKyAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoYnVmZmVyKTsK LSt9CisgfQorIAorICNpZmRlZiBfX2kzODZfXworQEAgLTE3MSwzICsxNzcsMTkgQEAgbGludXhf cHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpCisgCisgICBsaW51eF9wdHJhY2VfdGVzdF9yZXRf dG9fbnggKCk7CisgfQogKwogKy8qIFByaW50IGFsbCBwb3NzaWJsZSByZWFzb25zIHdlIGNvdWxk IGZhaWwgdG8gY3JlYXRlIGEgdHJhY2VkIHByb2Nlc3MuICAqLwogKwpAQCAtNzQsMjMgKzgwLDIz IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMK ICsJCQkgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0YWNoIHByb3RlY3Rpb24gYnk6 ICIKICsJCQkgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vib29sIGRlbnlfcHRyYWNlPTAiKSk7CiAr I2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLwotIH0KLUluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgKKyt9CitJbmRleDogZ2RiLTcuNC41MC4yMDEy MDcxNC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41 MC4yMDEyMDYwMi5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMi0wMy0xMyAxNjow MjoyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24v bGludXgtcHRyYWNlLmgJMjAxMi0wNi0wMiAyMDozNzo0Ni41NjU4MzE5NTYgKzAyMDAKLUBAIC02 OCw1ICs2OCw2IEBAIHN0cnVjdCBidWZmZXI7Ci0gI2VuZGlmCistLS0gZ2RiLTcuNC41MC4yMDEy MDcxNC5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMi0wNy0wNyAxNDoxMzo1Ni4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9jb21tb24vbGludXgt cHRyYWNlLmgJMjAxMi0wNy0xNCAyMzoyOToyMC45MjczOTk4MTIgKzAyMDAKK0BAIC02OSw1ICs2 OSw2IEBAIHN0cnVjdCBidWZmZXI7CiAgCiAgZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2F0dGFj aF93YXJuaW5ncyAocGlkX3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOworIGV4dGVybiB2 b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKICtleHRlcm4gdm9pZCBsaW51 eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOwogIAogICNl bmRpZiAvKiBDT01NT05fTElOVVhfUFRSQUNFX0ggKi8KLUluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9jb25maWd1cmUuYWMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9jb25m aWd1cmUuYWMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2Nv bmZpZ3VyZS5hYwkyMDEyLTA2LTAyIDIwOjA1OjA4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEyLTA2LTAyIDIwOjM1OjA2LjM3OTc5 ODcyNiArMDIwMAotQEAgLTIwMDIsNiArMjAwMiwxMCBAQCB0aGVuCistLS0gZ2RiLTcuNC41MC4y MDEyMDcxNC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxMi0wNy0xNCAyMzoyODo1Ny4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9jb25maWd1cmUuYWMJMjAxMi0w Ny0xNCAyMzoyOTowOS40OTI0NjI5MzQgKzAyMDAKK0BAIC0yMDA4LDYgKzIwMDgsMTAgQEAgdGhl bgogIAkgICAgICBbRGVmaW5lIGlmIHlvdSBzdXBwb3J0IHRoZSBwZXJzb25hbGl0eSBzeXNjYWxs Ll0pCiAgZmkKICAKQEAgLTEwMSwxMCArMTA3LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9jb25maWd1cmUuYWMKICBkbmwgSGFuZGxlIG9wdGlvbmFsIGZlYXR1cmVzIHRoYXQg Y2FuIGJlIGVuYWJsZWQuCiAgCiAgIyBTdXBwb3J0IGZvciAtLXdpdGgtc3lzcm9vdCBpcyBhIGNv cHkgb2YgR0RCX0FDX1dJVEhfRElSLAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2dk YnNlcnZlci9jb25maWd1cmUuYWMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9nZGJz ZXJ2ZXIvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5v cmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCTIwMTItMDQtMTkgMjE6MzQ6NTEuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3Vy ZS5hYwkyMDEyLTA2LTAyIDIwOjM1OjA2LjQwODc5NzY2MyArMDIwMAorLS0tIGdkYi03LjQuNTAu MjAxMjA3MTQub3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDEyLTA0LTE5IDIxOjM0 OjUxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2dkYnNlcnZl ci9jb25maWd1cmUuYWMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTI0NjI5MzQgKzAyMDAKIEBAIC00 MzgsNiArNDM4LDEwIEBAIGlmICR3YW50X2lwYSA7IHRoZW4KICAgICBmaQogIGZpCkBAIC0xMTYs MTAgKzEyMiwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2VydmVyL2Nv bmZpZ3VyZS5hYwogIEFDX1NVQlNUKEdEQlNFUlZFUl9ERVBGSUxFUykKICBBQ19TVUJTVChHREJT RVJWRVJfTElCUykKICBBQ19TVUJTVChVU0VfVEhSRUFEX0RCKQotSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA3MTQvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQu NTAuMjAxMjA2MDIub3JpZy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCTIwMTItMDUtMzAgMjE6 NTE6MzguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2Vy dmVyL2xpbnV4LWxvdy5jCTIwMTItMDYtMDIgMjA6Mzk6NDkuODg2Nzg1MzU1ICswMjAwCistLS0g Z2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxMi0w Ny0wNyAxNDoxMzo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dk Yi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTY0NjI5MTIgKzAy MDAKIEBAIC02MDEsNiArNjAxLDI4IEBAIGFkZF9sd3AgKHB0aWRfdCBwdGlkKQogICAgcmV0dXJu IGx3cDsKICB9CkBAIC0xNTgsNyArMTY0LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIv Z2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwogIAogICNpZm5kZWYgX19BTkRST0lEX18gLyogQmlv bmljIGRvZXNuJ3QgdXNlIFNJR1JUTUlOIHRoZSB3YXkgZ2xpYmMgZG9lcy4gICovCiAgICAgICAg c2lnbmFsIChfX1NJR1JUTUlOICsgMSwgU0lHX0RGTCk7Ci1AQCAtNDU2Nyw3ICs0NTg5LDcgQEAg bGludXhfdHJhY2Vmb3JrX2dyYW5kY2hpbGQgKHZvaWQgKmFyZykKK0BAIC00NTcyLDcgKzQ1OTQs NyBAQCBsaW51eF90cmFjZWZvcmtfZ3JhbmRjaGlsZCAodm9pZCAqYXJnKQogIHN0YXRpYyBpbnQK ICBsaW51eF90cmFjZWZvcmtfY2hpbGQgKHZvaWQgKmFyZykKICB7CkBAIC0xNjcsMTAgKzE3Mywx MCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5j CiAgICBraWxsIChnZXRwaWQgKCksIFNJR1NUT1ApOwogIAogICNpZiAhKGRlZmluZWQoX19VQ0xJ QkNfXykgJiYgZGVmaW5lZChIQVNfTk9NTVUpKQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIv Z2RiL2luZi1wdHJhY2UuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZi1wdHJh Y2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvaW5mLXB0 cmFjZS5jCTIwMTItMDUtMjQgMTg6NTE6MzQuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvaW5mLXB0cmFjZS5jCTIwMTItMDYtMDIgMjA6MzU6MDYuNDI4Nzk3MzEx ICswMjAwCistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9pbmYtcHRyYWNlLmMJMjAx Mi0wNS0yNCAxODo1MTozNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0 L2dkYi9pbmYtcHRyYWNlLmMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTY0NjI5MTIgKzAyMDAKIEBA IC0xMDUsNyArMTA1LDE1IEBAIHN0YXRpYyB2b2lkCiAgaW5mX3B0cmFjZV9tZSAodm9pZCkKICB7 CkBAIC0xODcsMTEgKzE5MywxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5m LXB0cmFjZS5jCiAgfQogIAogIC8qIFN0YXJ0IGEgbmV3IGluZmVyaW9yIFVuaXggY2hpbGQgcHJv Y2Vzcy4gIEVYRUNfRklMRSBpcyB0aGUgZmlsZSB0bwotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2 MDIvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgt bmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2xpbnV4 LW5hdC5jCTIwMTItMDYtMDIgMjA6MDE6MzguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvbGludXgtbmF0LmMJMjAxMi0wNi0wMiAyMDo0MToxOC4xMDE3NTExODYg KzAyMDAKLUBAIC0xNTcyLDYgKzE1NzIsNyBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9yIChz dHJ1Y3QgdGFyZ2V0CistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9saW51eC1uYXQu YwkyMDEyLTA3LTE0IDIzOjIxOjMyLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjQuNTAuMjAx MjA3MTQvZ2RiL2xpbnV4LW5hdC5jCTIwMTItMDctMTQgMjM6Mjk6MDkuNDk3NDYyOTA3ICswMjAw CitAQCAtMTU3NCw2ICsxNTc0LDcgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0 IHRhcmdldAogICNpZmRlZiBIQVZFX1BFUlNPTkFMSVRZCiAgICBpbnQgcGVyc29uYWxpdHlfb3Jp ZyA9IDAsIHBlcnNvbmFsaXR5X3NldCA9IDA7CiAgI2VuZGlmIC8qIEhBVkVfUEVSU09OQUxJVFkg Ki8KQEAgLTE5OSw3ICsyMDUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvbGlu dXgtbmF0LmMKICAKICAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBpcyBzeW5jaHJvbm91 cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCiAgICAgICB3ZSBoYXZlIHRvIG1hc2sgdGhlIGFz eW5jIG1vZGUuICAqLwotQEAgLTE1OTYsNyArMTU5NywxMCBAQCBsaW51eF9uYXRfY3JlYXRlX2lu ZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CitAQCAtMTU5OCw3ICsxNTk5LDEwIEBAIGxpbnV4X25hdF9j cmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKICAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQg YWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFs cyAoMCwgTlVMTCk7CiAgCkBAIC0yMTEsNyArMjE3LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgI2lmZGVmIEhBVkVfUEVSU09OQUxJVFkKICAgIGlm IChwZXJzb25hbGl0eV9zZXQpCi1AQCAtMTYwOCw2ICsxNjEyLDI0IEBAIGxpbnV4X25hdF9jcmVh dGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKK0BAIC0xNjEwLDYgKzE2MTQsMjQgQEAgbGludXhf bmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAogIAkJIHNhZmVfc3RyZXJyb3IgKGVy cm5vKSk7CiAgICAgIH0KICAjZW5kaWYgLyogSEFWRV9QRVJTT05BTElUWSAqLwoKZGlmZiAtLWdp dCBhL2dkYi1iejU5MjAzMS1zaWdpbmZvLWxvc3QtNW9mNS5wYXRjaCBiL2dkYi1iejU5MjAzMS1z aWdpbmZvLWxvc3QtNW9mNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZj YmRiYy4uMDAwMDAwMAotLS0gYS9nZGItYno1OTIwMzEtc2lnaW5mby1sb3N0LTVvZjUucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1wYXRjaGVzLzIwMTAtMDkvbXNnMDAzNjEuaHRtbAotU3ViamVjdDogW3BhdGNoIDQvNF0j MyBSZW1vdmUgcmVkdW5kYW50IGxwLT5zaWdpbmZvCi0KLUhpLAotCi10aGlzIGlzIGEgc2ltcGxp ZmljYXRpb24gd2hpY2ggc2hvdWxkIG5vdCBhZmZlY3QgR0RCIGJlaGF2aW9yLiAgQXMgbGludXgt bmF0Ci1ub3cgc3RvcHMgb24gZWFjaCByZWNlaXZlZCBzaWduYWwgd2l0aG91dCBhbnkgcmVvcmRl cmluZyBvZiB0aGVtIHRoZW4KLVBUUkFDRV9HRVRTSUdJTkZPIGlzIGVub3VnaCB0byBhY2Nlc3Mg c2lnaW5mbywgd2l0aG91dCBhbnkgbmVlZCB0byBjb3B5IGl0IGluCi1hZHZhbmNlLgotCi0KLVRo YW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTAtMDktMjAgIEphbiBLcmF0b2NodmlsICA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSogbGludXgtbmF0LmMgKHJlc3VtZV9jYWxsYmFjaykg PGxwLT5zdG9wcGVkICYmIGxwLT5zdGF0dXMgPT0gMD4KLQkobGludXhfbmF0X3Jlc3VtZSk6IFJl bW92ZSBMUC0+U0lHSU5GTyBjbGVhcmluZy4KLQkoc2F2ZV9zaWdpbmZvKTogUmVtb3ZlLgotCShz dG9wX3dhaXRfY2FsbGJhY2spIDxXU1RPUFNJRyAoc3RhdHVzKSAhPSBTSUdTVE9QPgotCShsaW51 eF9uYXRfZmlsdGVyX2V2ZW50KSA8bGludXhfbmF0X3N0YXR1c19pc19ldmVudCAoc3RhdHVzKT46 IFJlbW92ZQotCXRoZSBzYXZlX3NpZ2luZm8gY2FsbC4KLQkocmVzdW1lX3N0b3BwZWRfcmVzdW1l ZF9sd3BzKTogUmVtb3ZlIExQLT5TSUdJTkZPIGNsZWFyaW5nLgotCShsaW51eF9uYXRfc2V0X3Np Z2luZm9fZml4dXApOiBVc2UgUFRSQUNFX0dFVFNJR0lORk8uCi0JKiBsaW51eC1uYXQuaCAoc3Ry dWN0IGx3cF9pbmZvKSA8c2lnaW5mbz46IFJlbW92ZS4KLQotSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA3MDMvZ2RiL2xpbnV4LW5hdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDcw My5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEyLTA3LTAzIDE3OjMzOjAyLjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCTIwMTItMDctMDMgMTc6 Mzg6MzYuNzM4MTQyNTA5ICswMjAwCi1AQCAtMTkzMyw3ICsxOTMzLDYgQEAgcmVzdW1lX2x3cCAo c3RydWN0IGx3cF9pbmZvICpscCwgaW50IHN0ZQotIAkJCQlzdGVwLCBzaWdubyk7Ci0gCSAgbHAt PnN0b3BwZWQgPSAwOwotIAkgIGxwLT5zdGVwID0gc3RlcDsKLS0JICBtZW1zZXQgKCZscC0+c2ln aW5mbywgMCwgc2l6ZW9mIChscC0+c2lnaW5mbykpOwotIAkgIGxwLT5zdG9wcGVkX2J5X3dhdGNo cG9pbnQgPSAwOwotIAl9Ci0gICAgICAgZWxzZQotQEAgLTIwOTIsNyArMjA5MSw2IEBAIGxpbnV4 X25hdF9yZXN1bWUgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMKLSAgIGlmIChsaW51eF9uYXRfcHJl cGFyZV90b19yZXN1bWUgIT0gTlVMTCkKLSAgICAgbGludXhfbmF0X3ByZXBhcmVfdG9fcmVzdW1l IChscCk7Ci0gICBsaW51eF9vcHMtPnRvX3Jlc3VtZSAobGludXhfb3BzLCBwdGlkLCBzdGVwLCBz aWdubyk7Ci0tICBtZW1zZXQgKCZscC0+c2lnaW5mbywgMCwgc2l6ZW9mIChscC0+c2lnaW5mbykp OwotICAgbHAtPnN0b3BwZWRfYnlfd2F0Y2hwb2ludCA9IDA7Ci0gCi0gICBpZiAoZGVidWdfbGlu dXhfbmF0KQotQEAgLTI2NDYsMjIgKzI2NDQsNiBAQCB3YWl0X2x3cCAoc3RydWN0IGx3cF9pbmZv ICpscCkKLSAgIHJldHVybiBzdGF0dXM7Ci0gfQotIAotLS8qIFNhdmUgdGhlIG1vc3QgcmVjZW50 IHNpZ2luZm8gZm9yIExQLiAgVGhpcyBpcyBjdXJyZW50bHkgb25seSBjYWxsZWQKLS0gICBmb3Ig U0lHVFJBUDsgc29tZSBwb3J0cyB1c2UgdGhlIHNpX2FkZHIgZmllbGQgZm9yCi0tICAgdGFyZ2V0 X3N0b3BwZWRfZGF0YV9hZGRyZXNzLiAgSW4gdGhlIGZ1dHVyZSwgaXQgbWF5IGFsc28gYmUgdXNl ZCB0bwotLSAgIHJlc3RvcmUgdGhlIHNpZ2luZm8gb2YgcmVxdWV1ZWQgc2lnbmFscy4gICovCi0t Ci0tc3RhdGljIHZvaWQKLS1zYXZlX3NpZ2luZm8gKHN0cnVjdCBsd3BfaW5mbyAqbHApCi0tewot LSAgZXJybm8gPSAwOwotLSAgcHRyYWNlIChQVFJBQ0VfR0VUU0lHSU5GTywgR0VUX0xXUCAobHAt PnB0aWQpLAotLQkgIChQVFJBQ0VfVFlQRV9BUkczKSAwLCAmbHAtPnNpZ2luZm8pOwotLQotLSAg aWYgKGVycm5vICE9IDApCi0tICAgIG1lbXNldCAoJmxwLT5zaWdpbmZvLCAwLCBzaXplb2YgKGxw LT5zaWdpbmZvKSk7Ci0tfQotLQotIC8qIFNlbmQgYSBTSUdTVE9QIHRvIExQLiAgKi8KLSAKLSBz dGF0aWMgaW50Ci1AQCAtMjkwNCw5ICsyODg2LDYgQEAgc3RvcF93YWl0X2NhbGxiYWNrIChzdHJ1 Y3QgbHdwX2luZm8gKmxwLAotIAl7Ci0gCSAgLyogVGhlIHRocmVhZCB3YXMgc3RvcHBlZCB3aXRo IGEgc2lnbmFsIG90aGVyIHRoYW4gU0lHU1RPUC4gICovCi0gCi0tCSAgLyogU2F2ZSB0aGUgdHJh cCdzIHNpZ2luZm8gaW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLiAgKi8KLS0JICBzYXZlX3NpZ2lu Zm8gKGxwKTsKLS0KLSAJICBzYXZlX3NpZ3RyYXAgKGxwKTsKLSAKLSAJICBpZiAoZGVidWdfbGlu dXhfbmF0KQotQEAgLTMyODgsMTIgKzMyNjcsNyBAQCBsaW51eF9uYXRfZmlsdGVyX2V2ZW50IChp bnQgbHdwaWQsIGludCBzCi0gICAgIH0KLSAKLSAgIGlmIChsaW51eF9uYXRfc3RhdHVzX2lzX2V2 ZW50IChzdGF0dXMpKQotLSAgICB7Ci0tICAgICAgLyogU2F2ZSB0aGUgdHJhcCdzIHNpZ2luZm8g aW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLiAgKi8KLS0gICAgICBzYXZlX3NpZ2luZm8gKGxwKTsK LS0KLS0gICAgICBzYXZlX3NpZ3RyYXAgKGxwKTsKLS0gICAgfQotKyAgICBzYXZlX3NpZ3RyYXAg KGxwKTsKLSAKLSAgIC8qIENoZWNrIGlmIHRoZSB0aHJlYWQgaGFzIGV4aXRlZC4gICovCi0gICBp ZiAoKFdJRkVYSVRFRCAoc3RhdHVzKSB8fCBXSUZTSUdOQUxFRCAoc3RhdHVzKSkKLUBAIC0zOTQ3 LDcgKzM5MjEsNiBAQCByZXN1bWVfc3RvcHBlZF9yZXN1bWVkX2x3cHMgKHN0cnVjdCBsd3BfCi0g ICAgICAgbGludXhfb3BzLT50b19yZXN1bWUgKGxpbnV4X29wcywgcGlkX3RvX3B0aWQgKEdFVF9M V1AgKGxwLT5wdGlkKSksCi0gCQkJICAgIGxwLT5zdGVwLCBHREJfU0lHTkFMXzApOwotICAgICAg IGxwLT5zdG9wcGVkID0gMDsKLS0gICAgICBtZW1zZXQgKCZscC0+c2lnaW5mbywgMCwgc2l6ZW9m IChscC0+c2lnaW5mbykpOwotICAgICAgIGxwLT5zdG9wcGVkX2J5X3dhdGNocG9pbnQgPSAwOwot ICAgICB9Ci0gCi1AQCAtNTIyNCwxMSArNTE5NywxOSBAQCBsaW51eF9uYXRfc2V0X3ByZXBhcmVf dG9fcmVzdW1lIChzdHJ1Y3QKLSBzaWdpbmZvX3QgKgotIGxpbnV4X25hdF9nZXRfc2lnaW5mbyAo cHRpZF90IHB0aWQpCi0gewotLSAgc3RydWN0IGx3cF9pbmZvICpscCA9IGZpbmRfbHdwX3BpZCAo cHRpZCk7Ci0rICBzdGF0aWMgc2lnaW5mb190IHNpZ2luZm87Ci0rICBpbnQgcGlkOwotIAotLSAg Z2RiX2Fzc2VydCAobHAgIT0gTlVMTCk7Ci0rICBwaWQgPSBHRVRfTFdQIChwdGlkKTsKLSsgIGlm IChwaWQgPT0gMCkKLSsgICAgcGlkID0gR0VUX1BJRCAocHRpZCk7Ci0rCi0rICBlcnJubyA9IDA7 Ci0rICBwdHJhY2UgKFBUUkFDRV9HRVRTSUdJTkZPLCBwaWQsIChQVFJBQ0VfVFlQRV9BUkczKSAw LCAmc2lnaW5mbyk7Ci0rICBpZiAoZXJybm8gIT0gMCkKLSsgICAgbWVtc2V0ICgmc2lnaW5mbywg MCwgc2l6ZW9mIChzaWdpbmZvKSk7Ci0gCi0tICByZXR1cm4gJmxwLT5zaWdpbmZvOwotKyAgcmV0 dXJuICZzaWdpbmZvOwotIH0KLSAKLSAvKiBQcm92aWRlIGEgcHJvdG90eXBlIHRvIHNpbGVuY2Ug LVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLwotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2Ri L2xpbnV4LW5hdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDcwMy5vcmlnL2dk Yi9saW51eC1uYXQuaAkyMDEyLTA3LTAzIDE3OjMwOjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGdk Yi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDMgMTc6Mzg6MTMuNTAx MTcwMjQ3ICswMjAwCi1AQCAtNzYsMTAgKzc2LDYgQEAgc3RydWN0IGx3cF9pbmZvCi0gICAvKiBU aGUga2luZCBvZiBzdGVwcGluZyBvZiB0aGlzIExXUC4gICovCi0gICBlbnVtIHJlc3VtZV9zdGVw IHN0ZXA7Ci0gCi0tICAvKiBOb24temVybyBzaV9zaWdubyBpZiB0aGlzIExXUCBzdG9wcGVkIHdp dGggYSB0cmFwLiAgc2lfYWRkciBtYXkKLS0gICAgIGJlIHRoZSBhZGRyZXNzIG9mIGEgaGFyZHdh cmUgd2F0Y2hwb2ludC4gICovCi0tICBzaWdpbmZvX3Qgc2lnaW5mbzsKLS0KLSAgIC8qIFNUT1BQ RURfQllfV0FUQ0hQT0lOVCBpcyBub24temVybyBpZiB0aGlzIExXUCBzdG9wcGVkIHdpdGggYSBk YXRhCi0gICAgICB3YXRjaHBvaW50IHRyYXAuICAqLwotICAgaW50IHN0b3BwZWRfYnlfd2F0Y2hw b2ludDsKCmRpZmYgLS1naXQgYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUtdGVzdC5wYXRjaCBiL2dk Yi1kbG9wZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCmluZGV4IDE1ZjFjMzEuLmVmZDM2ODMgMTAw NjQ0Ci0tLSBhL2dkYi1kbG9wZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCisrKyBiL2dkYi1kbG9w ZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCkBAIC00LDEwICs0LDEwIEBAIERhdGU6ICAgTW9uIEF1 ZyA4IDEyOjA4OjUzIDIwMTEgKzAyMDAKIAogICAgICt0ZXN0Y2FzZQogCi1JbmRleDogZ2RiLTcu NC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFk LWxpYi5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcw My9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCTIwMTIt MDctMDMgMTc6NDQ6NDUuNzk3Njk4NjU2ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCTIwMTItMDct MTUgMDg6NTE6MzguMjM4NzAxMjgyICswMjAwCiBAQCAtMCwwICsxLDQwIEBACiArLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTQ5LDEwICs0 OSwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCiArICBpID0gcHRocmVhZF9qb2luICh0LCBOVUxM KTsKICsgIGFzc2VydCAoaSA9PSAwKTsKICt9Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmMKK0luZGV4OiBnZGIt Ny40LjUwLjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0aHJl YWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9kbG9wZW4tbGlicHRocmVhZC5jCTIwMTItMDctMDMgMTc6NDQ6NDUuNzk4Njk4NjU1ICsw MjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rs b3Blbi1saWJwdGhyZWFkLmMJMjAxMi0wNy0xNSAwODo1MTozOC4yMzk3MDEyNzcgKzAyMDAKIEBA IC0wLDAgKzEsNDYgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05V IGRlYnVnZ2VyLgogKwpAQCAtMTAwLDEwICsxMDAsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5jCiArCiAr ICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmV4cAorSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA3MTQvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxv cGVuLWxpYnB0aHJlYWQuZXhwCTIwMTItMDctMDMgMTc6NDQ6NDUuNzk4Njk4NjU1ICswMjAwCisr KysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1s aWJwdGhyZWFkLmV4cAkyMDEyLTA3LTE1IDA5OjA4OjAxLjc2MDI1ODU4OCArMDIwMAogQEAgLTAs MCArMSw3NCBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiArIwpAQCAtMTQ4LDEyICsxNDgsMTIgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5leHAKICsgICAgcmV0 dXJuIC0xCiArfQogKwotK3NldCB0ZXN0ICJwcmludCBfZGxfZGVidWdfbm90aWZ5IgorK3NldCB0 ZXN0ICJpbmZvIHByb2JlcyBhbGwgcnRsZCBydGxkX21hcF9jb21wbGV0ZSIKICtnZGJfdGVzdF9t dWx0aXBsZSAkdGVzdCAkdGVzdCB7Ci0rICAgIC1yZSAiIDB4XFswLTlhLWZcXSsgPF9kbF9kZWJ1 Z19ub3RpZnk+XHJcbiRnZGJfcHJvbXB0ICQiIHsKKysgICAgLXJlICJcWyBcdFxdcnRsZF9tYXBf Y29tcGxldGVcWyBcdFxdKzB4XFswLTlhLWZcXSsuKlxyXG4kZ2RiX3Byb21wdCAkIiB7CiArCXBh c3MgJHRlc3QKICsgICAgfQotKyAgICAtcmUgIk5vIHN5bWJvbCBcIl9kbF9kZWJ1Z19ub3RpZnlc IiBpbiBjdXJyZW50IGNvbnRleHRcXC5cclxuJGdkYl9wcm9tcHQgJCIgeworKyAgICAtcmUgIk5v IHByb2JlcyBtYXRjaGVkXFwuXHJcbiRnZGJfcHJvbXB0ICQiIHsKICsJeGZhaWwgJHRlc3QKICsJ dW50ZXN0ZWQgJHt0ZXN0ZmlsZX0uZXhwCiArCXJldHVybgpAQCAtMTc5LDI0ICsxNzksMjMgQEAg SW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9w ZW4tbGlicHRocmVhZC5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAibm90aWZ5IiAi Liogbm90aWZ5LWhlcmUgLioiCiArCiArZ2RiX3Rlc3QgImluZm8gc2hhcmVkbGlicmFyeSIgey9s aWJwdGhyZWFkXC5zby4qfSAibGlicHRocmVhZC5zbyBmb3VuZCIKLUluZGV4OiBnZGItNy40LjUw LjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBnZGItNy40LjUwLjIw MTIwNzE0L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40 LjUwLjIwMTIwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTA3LTAzIDE3 OjM0OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTA3LTAzIDE3OjQ2OjQ0LjMxNjUxNDA3NiArMDIwMAotQEAg LTM3NTgsMjMgKzM3NTgsNyBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGUgeyB0ZXN0bmFtZSBleGVj dXRhCi0gICAgICAgICBzZXQgc291cmNlcyAke2V4ZWN1dGFibGV9LmMKLSAgICAgfQorLS0tIGdk Yi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDct MTUgMDg6NTE6MzYuODAzNzA5MjIyICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDctMTUgMDk6MDI6NDEuOTgzMDI4MTk3ICswMjAw CitAQCAtMzc3NCwyMiArMzc3NCw2IEBAIHByb2MgYnVpbGRfZXhlY3V0YWJsZV9mcm9tX3NwZWNz IHt0ZXN0bmEKKyAKKyAgICAgc2V0IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICRleGVj dXRhYmxlXQogIAotLSAgICBzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGV4ZWN1 dGFibGVdCi0tCiAtICAgIHNldCBvYmplY3RzIHt9Ci0tICAgIGZvciB7c2V0IGkgMH0gIlwkaTxb bGxlbmd0aCAkc291cmNlc10iIHtpbmNyIGl9IHsKLS0gICAgICAgIHNldCBzIFtsaW5kZXggJHNv dXJjZXMgJGldCi0tICAgICAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRp cn0vJHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8iIG9iamVjdCAkb3B0aW9uc10gIT0gIiIgfSB7Cist ICAgIHNldCBpIDAKKy0gICAgZm9yZWFjaCB7cyBsb2NhbF9vcHRpb25zfSAkYXJncyB7CistICAg ICAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzfSIgIiR7Ymlu ZmlsZX0ke2l9Lm8iIG9iamVjdCAkbG9jYWxfb3B0aW9uc10gIT0gIiIgfSB7CiAtICAgICAgICAg ICAgdW50ZXN0ZWQgJHRlc3RuYW1lCiAtICAgICAgICAgICAgcmV0dXJuIC0xCiAtICAgICAgICB9 CiAtICAgICAgICBsYXBwZW5kIG9iamVjdHMgIiR7YmluZmlsZX0ke2l9Lm8iCistCWluY3IgaQog LSAgICB9CiAtICAgIAogLSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgJG9iamVjdHMgIiR7YmluZmls ZX0iIGV4ZWN1dGFibGUgJG9wdGlvbnNdICE9ICIiIH0gewpAQCAtMjA0LDExICsyMDMsMTAgQEAg SW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogLSAg ICAgICAgcmV0dXJuIC0xCiAtICAgIH0KIC0KLSsgICAgIyBnZXRfY29tcGlsZXJfaW5mbyBieSBn ZGJfY29tcGlsZV9zaGxpYiBhbmQgZ2RiX2NvbXBpbGVfc2hsaWJfcHRocmVhZHMuCiAgICAgIHNl dCBpbmZvX29wdGlvbnMgIiIKICAgICAgaWYgeyBbbHNlYXJjaCAtZXhhY3QgJG9wdGlvbnMgImMr KyJdID49IDAgfSB7CiAgCXNldCBpbmZvX29wdGlvbnMgImMrKyIKLUBAIC0zNzgyLDYgKzM3NjYs NDEgQEAgcHJvYyBidWlsZF9leGVjdXRhYmxlIHsgdGVzdG5hbWUgZXhlY3V0YQorQEAgLTM3OTcs NiArMzc4MSw0MiBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGVfZnJvbV9zcGVjcyB7dGVzdG5hCiAg ICAgIGlmIFtnZXRfY29tcGlsZXJfaW5mbyAke2luZm9fb3B0aW9uc31dIHsKICAgICAgICAgIHJl dHVybiAtMQogICAgICB9CkBAIC0yMjMsMjIgKzIyMSwyMyBAQCBJbmRleDogZ2RiLTcuNC41MC4y MDEyMDcwMy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiArCiArICAgICMgZ2RiX2NvbXBpbGVf c2hsaWIgYW5kIGdkYl9jb21waWxlX3NobGliX3B0aHJlYWRzIGRvIG5vdCB1c2UgdGhlIDNyZAog KyAgICAjIHBhcmFtZXRlci4gIFRoZXkgYWxzbyByZXF1aXJlcyAkc291cmNlcyB3aGlsZSBnZGJf Y29tcGlsZSBhbmQKLSsgICAgIyBnZGJfY29tcGlsZV9wdGhyZWFkcyByZXF1aXJlICRvYmplY3Rz LgorKyAgICAjIGdkYl9jb21waWxlX3B0aHJlYWRzIHJlcXVpcmUgJG9iamVjdHMuICBNb3Jlb3Zl ciB0aGV5IGlnbm9yZSBhbnkgb3B0aW9ucy4KICsgICAgaWYgW3N0cmluZyBtYXRjaCBnZGJfY29t cGlsZV9zaGxpYiogJGZ1bmNdIHsKICsJc2V0IHNvdXJjZXNfcGF0aCB7fQotKwlmb3JlYWNoIHMg JHNvdXJjZXMgeworKwlmb3JlYWNoIHtzIGxvY2FsX29wdGlvbnN9ICRhcmdzIHsKICsJICAgIGxh cHBlbmQgc291cmNlc19wYXRoICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c30iCiArCX0KICsJc2V0 IHJldCBbJGZ1bmMgJHNvdXJjZXNfcGF0aCAiJHtiaW5maWxlfSIgJG9wdGlvbnNdCiArICAgIH0g ZWxzZSB7CiArCXNldCBvYmplY3RzIHt9Ci0rCWZvciB7c2V0IGkgMH0gIlwkaTxbbGxlbmd0aCAk c291cmNlc10iIHtpbmNyIGl9IHsKLSsJICAgIHNldCBzIFtsaW5kZXggJHNvdXJjZXMgJGldCi0r CSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzfSIgIiR7Ymlu ZmlsZX0ke2l9Lm8iIG9iamVjdCAkb3B0aW9uc10gIT0gIiIgfSB7CisrCXNldCBpIDAKKysJZm9y ZWFjaCB7cyBsb2NhbF9vcHRpb25zfSAkYXJncyB7CisrCSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUg IiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8iIG9iamVjdCAkbG9j YWxfb3B0aW9uc10gIT0gIiIgfSB7CiArCQl1bnRlc3RlZCAkdGVzdG5hbWUKICsJCXJldHVybiAt MQogKwkgICAgfQogKwkgICAgbGFwcGVuZCBvYmplY3RzICIke2JpbmZpbGV9JHtpfS5vIgorKwkg ICAgaW5jciBpCiArCX0KICsJc2V0IHJldCBbJGZ1bmMgJG9iamVjdHMgIiR7YmluZmlsZX0iIGV4 ZWN1dGFibGUgJG9wdGlvbnNdCiArICAgIH0KQEAgLTI1MCwxMCArMjQ5LDEwIEBAIEluZGV4OiBn ZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKICAgICAgcmV0dXJu IDAKICB9CiAgCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2xpYi9w cmVsaW5rLXN1cHBvcnQuZXhwCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1 aXRlL2xpYi9wcmVsaW5rLXN1cHBvcnQuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4y MDEyMDcwMy5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5leHAJMjAxMi0w MS0wNCAwOToyNzo1Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzAzL2dk Yi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5leHAJMjAxMi0wNy0wMyAxNzo0NDo0NS44 MDM2OTg2NDggKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9saWIvcHJlbGluay1zdXBwb3J0LmV4cAkyMDEyLTAxLTA0IDA5OjI3OjU2LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL3Rlc3RzdWl0ZS9saWIvcHJlbGluay1z dXBwb3J0LmV4cAkyMDEyLTA3LTE1IDA4OjUxOjM4LjI0MzcwMTI1NCArMDIwMAogQEAgLTk1LDgg Kzk1LDkgQEAgcHJvYyBmaWxlX2NvcHkge3NyYyBkZXN0fSB7CiAgIyBXcmFwIGZ1bmN0aW9uIGJ1 aWxkX2V4ZWN1dGFibGUgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUgaXMgZnVsbHkK ICAjIHNlbGYtc3VmZmljaWVudCAod2l0aG91dCBkZXBlbmRlbmNpZXMgb24gc3lzdGVtIGxpYnJh cmllcykuICBQYXJhbWV0ZXIKQEAgLTMwNiwxMCArMzA1LDEwIEBAIEluZGV4OiBnZGItNy40LjUw LjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5leHAKICAgICAgcmV0 dXJuICRwcmVsaW5rX2FyZ3MKICB9CiAgCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAKK0luZGV4OiBnZGItNy40LjUwLjIw MTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjQuNTAuMjAxMjA3MDMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Jy ZWFrLWludGVycC5leHAJMjAxMi0wNi0yMSAyMjo0NjoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBn ZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4 cAkyMDEyLTA3LTAzIDE3OjQ0OjQ1LjgwNDY5ODY0NyArMDIwMAorLS0tIGdkYi03LjQuNTAuMjAx MjA3MTQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAJMjAxMi0w Ni0yMSAyMjo0NjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDEyLTA3LTE1IDA4OjUxOjM4 LjI0NDcwMTI0OCArMDIwMAogQEAgLTEwOSwxNCArMTA5LDIxIEBAIHByb2Mgc3RyaXBfZGVidWcg e2Rlc3R9IHsKICAgICAgfQogIH0KCmRpZmYgLS1naXQgYS9nZGItZXJybm8tZnVuYy1kYXRhdHlw ZS1yZXZlcnQucGF0Y2ggYi9nZGItZXJybm8tZnVuYy1kYXRhdHlwZS1yZXZlcnQucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0N2Q3NmYuLjAwMDAwMDAKLS0tIGEvZ2RiLWVy cm5vLWZ1bmMtZGF0YXR5cGUtcmV2ZXJ0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjM2ICsw LDAgQEAKLVJlZ3Jlc3Npb246IEludmFsaWQgZGF0YSB0eXBlIGZvciBmdW5jdGlvbiB0byBiZSBj YWxsZWQuIFtSZTogRllJOiBmaXggUFIgOTUxNF0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9n ZGItcGF0Y2hlcy8yMDEyLTA3L21zZzAwMDQzLmh0bWwKLQotcmV2ZXJ0ZWQ6Ci1odHRwOi8vc291 cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEyLTA2L21zZzAwMTQ4Lmh0bWwKLQotZGlmZiAtZHVw IC1ydXAgZ2RiLTcuNC41MC4yMDEyMDcwMy1vcmlnL2dkYi9jLWV4cC55IGdkYi03LjQuNTAuMjAx MjA3MDMvZ2RiL2MtZXhwLnkKLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL2MtZXhw LnkJMjAxMi0wNy0wMyAyMDowODoxNS45NzY0MTg0MjAgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIw MTIwNzAzL2dkYi9jLWV4cC55CTIwMTItMDctMDMgMjA6MDg6MzUuOTM1MzkwMjgyICswMjAwCi1A QCAtMTcyLDEwICsxNzIsOSBAQCBzdGF0aWMgc3RydWN0IHN0b2tlbiBvcGVyYXRvcl9zdG9rZW4g KGNvCi0gLyogJXR5cGUgPGJ2YWw+IGJsb2NrICovCi0gCi0gLyogRmFuY3kgdHlwZSBwYXJzaW5n LiAgKi8KLS0ldHlwZSA8dm9pZHZhbD4gZnVuY19tb2QgZGlyZWN0X2Fic19kZWNsIGFic19kZWNs IHB0cl9vcGVyYXRvcgotKyV0eXBlIDx2b2lkdmFsPiBmdW5jX21vZCBkaXJlY3RfYWJzX2RlY2wg YWJzX2RlY2wKLSAldHlwZSA8dHZhbD4gcHR5cGUKLSAldHlwZSA8bHZhbD4gYXJyYXlfbW9kCi0t JXR5cGUgPHR2YWw+IGNvbnZlcnNpb25fdHlwZV9pZAotIAotICV0b2tlbiA8dHlwZWRfdmFsX2lu dD4gSU5UCi0gJXRva2VuIDx0eXBlZF92YWxfZmxvYXQ+IEZMT0FUCi1AQCAtOTMyLDcgKzkzMSw5 IEBAIHZhcmlhYmxlOgluYW1lX25vdF90eXBlbmFtZQotIAk7Ci0gCi0gc3BhY2VfaWRlbnRpZmll ciA6ICdAJyBOQU1FCi0tCQl7IGluc2VydF90eXBlX2FkZHJlc3Nfc3BhY2UgKGNvcHlfbmFtZSAo JDIuc3Rva2VuKSk7IH0KLSsJCXsgcHVzaF90eXBlX2FkZHJlc3Nfc3BhY2UgKGNvcHlfbmFtZSAo JDIuc3Rva2VuKSk7Ci0rCQkgIHB1c2hfdHlwZSAodHBfc3BhY2VfaWRlbnRpZmllcik7Ci0rCQl9 Ci0gCTsKLSAKLSBjb25zdF9vcl92b2xhdGlsZTogY29uc3Rfb3Jfdm9sYXRpbGVfbm9vcHQKLUBA IC05NTEsMjMgKzk1MiwxNCBAQCBjb25zdF9vcl92b2xhdGlsZV9vcl9zcGFjZV9pZGVudGlmaWVy OgotIAl8Ci0gCTsKLSAKLS1wdHJfb3BlcmF0b3I6Ci0tCQlwdHJfb3BlcmF0b3IgJyonCi0tCQkJ eyBpbnNlcnRfdHlwZSAodHBfcG9pbnRlcik7IH0KLS0JCWNvbnN0X29yX3ZvbGF0aWxlX29yX3Nw YWNlX2lkZW50aWZpZXIKLS0JCQl7ICQkID0gMDsgfQotLQl8CScqJyAKLS0JCQl7IGluc2VydF90 eXBlICh0cF9wb2ludGVyKTsgfQotLQkJY29uc3Rfb3Jfdm9sYXRpbGVfb3Jfc3BhY2VfaWRlbnRp ZmllcgotLQkJCXsgJCQgPSAwOyB9Ci0rYWJzX2RlY2w6CScqJwotKwkJCXsgcHVzaF90eXBlICh0 cF9wb2ludGVyKTsgJCQgPSAwOyB9Ci0rCXwJJyonIGFic19kZWNsCi0rCQkJeyBwdXNoX3R5cGUg KHRwX3BvaW50ZXIpOyAkJCA9ICQyOyB9Ci0gCXwJJyYnCi0tCQkJeyBpbnNlcnRfdHlwZSAodHBf cmVmZXJlbmNlKTsgJCQgPSAwOyB9Ci0tCXwJJyYnIHB0cl9vcGVyYXRvcgotLQkJCXsgaW5zZXJ0 X3R5cGUgKHRwX3JlZmVyZW5jZSk7ICQkID0gMDsgfQotLQk7Ci0tCi0tYWJzX2RlY2w6CXB0cl9v cGVyYXRvciBkaXJlY3RfYWJzX2RlY2wKLS0JfAlwdHJfb3BlcmF0b3IKLSsJCQl7IHB1c2hfdHlw ZSAodHBfcmVmZXJlbmNlKTsgJCQgPSAwOyB9Ci0rCXwJJyYnIGFic19kZWNsCi0rCQkJeyBwdXNo X3R5cGUgKHRwX3JlZmVyZW5jZSk7ICQkID0gJDI7IH0KLSAJfAlkaXJlY3RfYWJzX2RlY2wKLSAJ OwotIAotQEAgLTEyMTEsMzAgKzEyMDMsMjIgQEAgbm9uZW1wdHlfdHlwZWxpc3QKLSAJOwotIAot IHB0eXBlCToJdHlwZWJhc2UKLS0JfAlwdHlwZSBhYnNfZGVjbAotLQkJeyAkJCA9IGZvbGxvd190 eXBlcyAoJDEpOyB9Ci0tCTsKLS0KLS1jb252ZXJzaW9uX3R5cGVfaWQ6IHR5cGViYXNlIGNvbnZl cnNpb25fZGVjbGFyYXRvcgotKwl8CXB0eXBlIGNvbnN0X29yX3ZvbGF0aWxlX29yX3NwYWNlX2lk ZW50aWZpZXIgYWJzX2RlY2wgY29uc3Rfb3Jfdm9sYXRpbGVfb3Jfc3BhY2VfaWRlbnRpZmllcgot IAkJeyAkJCA9IGZvbGxvd190eXBlcyAoJDEpOyB9Ci0gCTsKLSAKLS1jb252ZXJzaW9uX2RlY2xh cmF0b3I6ICAvKiBOb3RoaW5nLiAgKi8KLS0JfCBwdHJfb3BlcmF0b3IgY29udmVyc2lvbl9kZWNs YXJhdG9yCi0tCTsKLS0KLSBjb25zdF9hbmRfdm9sYXRpbGU6IAlDT05TVF9LRVlXT1JEIFZPTEFU SUxFX0tFWVdPUkQKLSAJfCAJCVZPTEFUSUxFX0tFWVdPUkQgQ09OU1RfS0VZV09SRAotIAk7Ci0g Ci0gY29uc3Rfb3Jfdm9sYXRpbGVfbm9vcHQ6ICAJY29uc3RfYW5kX3ZvbGF0aWxlIAotLQkJCXsg aW5zZXJ0X3R5cGUgKHRwX2NvbnN0KTsKLS0JCQkgIGluc2VydF90eXBlICh0cF92b2xhdGlsZSk7 IAotKwkJCXsgcHVzaF90eXBlICh0cF9jb25zdCk7Ci0rCQkJICBwdXNoX3R5cGUgKHRwX3ZvbGF0 aWxlKTsgCi0gCQkJfQotIAl8IAkJQ09OU1RfS0VZV09SRAotLQkJCXsgaW5zZXJ0X3R5cGUgKHRw X2NvbnN0KTsgfQotKwkJCXsgcHVzaF90eXBlICh0cF9jb25zdCk7IH0KLSAJfCAJCVZPTEFUSUxF X0tFWVdPUkQKLS0JCQl7IGluc2VydF90eXBlICh0cF92b2xhdGlsZSk7IH0KLSsJCQl7IHB1c2hf dHlwZSAodHBfdm9sYXRpbGUpOyB9Ci0gCTsKLSAKLSBvcGVyYXRvcjoJT1BFUkFUT1IgTkVXCi1A QCAtMTM0MSw3ICsxMzI1LDcgQEAgb3BlcmF0b3I6CU9QRVJBVE9SIE5FVwotIAkJCXsgJCQgPSBv cGVyYXRvcl9zdG9rZW4gKCIoKSIpOyB9Ci0gCXwJT1BFUkFUT1IgJ1snICddJwotIAkJCXsgJCQg PSBvcGVyYXRvcl9zdG9rZW4gKCJbXSIpOyB9Ci0tCXwJT1BFUkFUT1IgY29udmVyc2lvbl90eXBl X2lkCi0rCXwJT1BFUkFUT1IgcHR5cGUKLSAJCQl7IGNoYXIgKm5hbWU7Ci0gCQkJICBsb25nIGxl bmd0aDsKLSAJCQkgIHN0cnVjdCB1aV9maWxlICpidWYgPSBtZW1fZmlsZW9wZW4gKCk7Ci1kaWZm IC1kdXAgLXJ1cCBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3BhcnNlLmMgZ2RiLTcuNC41 MC4yMDEyMDcwMy9nZGIvcGFyc2UuYwotLS0tIGdkYi03LjQuNTAuMjAxMjA3MDMtb3JpZy9nZGIv cGFyc2UuYwkyMDEyLTA3LTAzIDIwOjA4OjE1Ljk3OTQxODQxNSArMDIwMAotKysrIGdkYi03LjQu NTAuMjAxMjA3MDMvZ2RiL3BhcnNlLmMJMjAxMi0wNy0wMyAyMDowODozNS45MzgzOTAyNzcgKzAy MDAKLUBAIC0xMzcwLDQ5ICsxMzcwLDYgQEAgY2hlY2tfdHlwZV9zdGFja19kZXB0aCAodm9pZCkK LSAgICAgfQotIH0KLSAKLS0vKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgaW5zZXJ0X3R5cGUgYW5k IGluc2VydF90eXBlX2FkZHJlc3Nfc3BhY2UuCi0tICAgVGhpcyBkb2VzIHdvcmsgb2YgZXhwYW5k aW5nIHRoZSB0eXBlIHN0YWNrIGFuZCBpbnNlcnRpbmcgdGhlIG5ldwotLSAgIGVsZW1lbnQsIEVM RU1FTlQsIGludG8gdGhlIHN0YWNrIGF0IGxvY2F0aW9uIFNMT1QuICAqLwotLQotLXN0YXRpYyB2 b2lkCi0taW5zZXJ0X2ludG9fdHlwZV9zdGFjayAoaW50IHNsb3QsIHVuaW9uIHR5cGVfc3RhY2tf ZWx0IGVsZW1lbnQpCi0tewotLSAgY2hlY2tfdHlwZV9zdGFja19kZXB0aCAoKTsKLS0KLS0gIGlm IChzbG90IDwgdHlwZV9zdGFja19kZXB0aCkKLS0gICAgbWVtbW92ZSAoJnR5cGVfc3RhY2tbc2xv dCArIDFdLCAmdHlwZV9zdGFja1tzbG90XSwKLS0JICAgICAodHlwZV9zdGFja19kZXB0aCAtIHNs b3QpICogc2l6ZW9mICh1bmlvbiB0eXBlX3N0YWNrX2VsdCkpOwotLSAgdHlwZV9zdGFja1tzbG90 XSA9IGVsZW1lbnQ7Ci0tICArK3R5cGVfc3RhY2tfZGVwdGg7Ci0tfQotLQotLS8qIEluc2VydCBh IG5ldyB0eXBlLCBUUCwgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdHlwZSBzdGFjay4gIElmIFRQIGlz Ci0tICAgdHBfcG9pbnRlciBvciB0cF9yZWZlcmVuY2UsIGl0IGlzIGluc2VydGVkIGF0IHRoZSBi b3R0b20uICBJZiBUUCBpcwotLSAgIGEgcXVhbGlmaWVyLCBpdCBpcyBpbnNlcnRlZCBhdCBzbG90 IDEgKGp1c3QgYWJvdmUgYSBwcmV2aW91cwotLSAgIHRwX3BvaW50ZXIpIGlmIHRoZXJlIGlzIGFu eXRoaW5nIG9uIHRoZSBzdGFjaywgb3Igc2ltcGx5IHB1c2hlZCBpZgotLSAgIHRoZSBzdGFjayBp cyBlbXB0eS4gIE90aGVyIHZhbHVlcyBmb3IgVFAgYXJlIGludmFsaWQuICAqLwotLQotLXZvaWQK LS1pbnNlcnRfdHlwZSAoZW51bSB0eXBlX3BpZWNlcyB0cCkKLS17Ci0tICB1bmlvbiB0eXBlX3N0 YWNrX2VsdCBlbGVtZW50OwotLSAgaW50IHNsb3Q7Ci0tCi0tICBnZGJfYXNzZXJ0ICh0cCA9PSB0 cF9wb2ludGVyIHx8IHRwID09IHRwX3JlZmVyZW5jZQotLQkgICAgICB8fCB0cCA9PSB0cF9jb25z dCB8fCB0cCA9PSB0cF92b2xhdGlsZSk7Ci0tCi0tICAvKiBJZiB0aGVyZSBpcyBhbnl0aGluZyBv biB0aGUgc3RhY2sgKHdlIGtub3cgaXQgd2lsbCBiZSBhCi0tICAgICB0cF9wb2ludGVyKSwgaW5z ZXJ0IHRoZSBxdWFsaWZpZXIgYWJvdmUgaXQuICBPdGhlcndpc2UsIHNpbXBseQotLSAgICAgcHVz aCB0aGlzIG9uIHRoZSB0b3Agb2YgdGhlIHN0YWNrLiAgKi8KLS0gIGlmICh0eXBlX3N0YWNrX2Rl cHRoICYmICh0cCA9PSB0cF9jb25zdCB8fCB0cCA9PSB0cF92b2xhdGlsZSkpCi0tICAgIHNsb3Qg PSAxOwotLSAgZWxzZQotLSAgICBzbG90ID0gMDsKLS0KLS0gIGVsZW1lbnQucGllY2UgPSB0cDsK LS0gIGluc2VydF9pbnRvX3R5cGVfc3RhY2sgKHNsb3QsIGVsZW1lbnQpOwotLX0KLS0KLSB2b2lk Ci0gcHVzaF90eXBlIChlbnVtIHR5cGVfcGllY2VzIHRwKQotIHsKLUBAIC0xNDI3LDMyICsxMzg0 LDEwIEBAIHB1c2hfdHlwZV9pbnQgKGludCBuKQotICAgdHlwZV9zdGFja1t0eXBlX3N0YWNrX2Rl cHRoKytdLmludF92YWwgPSBuOwotIH0KLSAKLS0vKiBJbnNlcnQgYSB0cF9zcGFjZV9pZGVudGlm aWVyIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhZGRyZXNzIHNwYWNlCi0tICAgdmFsdWUgaW50byB0 aGUgc3RhY2suICBTVFJJTkcgaXMgdGhlIG5hbWUgb2YgYW4gYWRkcmVzcyBzcGFjZSwgYXMKLS0g ICByZWNvZ25pemVkIGJ5IGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQuICBJZiB0aGUgc3RhY2sg aXMgZW1wdHksCi0tICAgdGhlIG5ldyBlbGVtZW50cyBhcmUgc2ltcGx5IHB1c2hlZC4gIElmIHRo ZSBzdGFjayBpcyBub3QgZW1wdHksCi0tICAgdGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRoYXQgdGhl IGZpcnN0IGl0ZW0gb24gdGhlIHN0YWNrIGlzIGEKLS0gICB0cF9wb2ludGVyLCBhbmQgdGhlIG5l dyB2YWx1ZXMgYXJlIGluc2VydGVkIGFib3ZlIHRoZSBmaXJzdAotLSAgIGl0ZW0uICAqLwotLQot IHZvaWQKLS1pbnNlcnRfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFyICpzdHJpbmcpCi0rcHVzaF90 eXBlX2FkZHJlc3Nfc3BhY2UgKGNoYXIgKnN0cmluZykKLSB7Ci0tICB1bmlvbiB0eXBlX3N0YWNr X2VsdCBlbGVtZW50OwotLSAgaW50IHNsb3Q7Ci0tCi0tICAvKiBJZiB0aGVyZSBpcyBhbnl0aGlu ZyBvbiB0aGUgc3RhY2sgKHdlIGtub3cgaXQgd2lsbCBiZSBhCi0tICAgICB0cF9wb2ludGVyKSwg aW5zZXJ0IHRoZSBhZGRyZXNzIHNwYWNlIHF1YWxpZmllciBhYm92ZSBpdC4KLS0gICAgIE90aGVy d2lzZSwgc2ltcGx5IHB1c2ggdGhpcyBvbiB0aGUgdG9wIG9mIHRoZSBzdGFjay4gICovCi0tICBp ZiAodHlwZV9zdGFja19kZXB0aCkKLS0gICAgc2xvdCA9IDE7Ci0tICBlbHNlCi0tICAgIHNsb3Qg PSAwOwotLQotLSAgZWxlbWVudC5waWVjZSA9IHRwX3NwYWNlX2lkZW50aWZpZXI7Ci0tICBpbnNl cnRfaW50b190eXBlX3N0YWNrIChzbG90LCBlbGVtZW50KTsKLS0gIGVsZW1lbnQuaW50X3ZhbCA9 IGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQgKHBhcnNlX2dkYmFyY2gsIHN0cmluZyk7Ci0tICBp bnNlcnRfaW50b190eXBlX3N0YWNrIChzbG90LCBlbGVtZW50KTsKLSsgIHB1c2hfdHlwZV9pbnQg KGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQgKHBhcnNlX2dkYmFyY2gsIHN0cmluZykpOwotIH0K LSAKLSBlbnVtIHR5cGVfcGllY2VzCi1Pbmx5IGluIGdkYi03LjQuNTAuMjAxMjA3MDMtb3JpZy9n ZGI6IHBhcnNlLmMub3JpZwotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNC41MC4yMDEyMDcwMy1vcmln L2dkYi9wYXJzZXItZGVmcy5oIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3BhcnNlci1kZWZzLmgK LS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3BhcnNlci1kZWZzLmgJMjAxMi0wNy0w MyAyMDowODoxNS45ODA0MTg0MTQgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi9w YXJzZXItZGVmcy5oCTIwMTItMDctMDMgMjA6MDg6MzUuOTM5MzkwMjc1ICswMjAwCi1AQCAtMTky LDEzICsxOTIsMTEgQEAgZXh0ZXJuIGludCBlbmRfYXJnbGlzdCAodm9pZCk7Ci0gCi0gZXh0ZXJu IGNoYXIgKmNvcHlfbmFtZSAoc3RydWN0IHN0b2tlbik7Ci0gCi0tZXh0ZXJuIHZvaWQgaW5zZXJ0 X3R5cGUgKGVudW0gdHlwZV9waWVjZXMpOwotLQotIGV4dGVybiB2b2lkIHB1c2hfdHlwZSAoZW51 bSB0eXBlX3BpZWNlcyk7Ci0gCi0gZXh0ZXJuIHZvaWQgcHVzaF90eXBlX2ludCAoaW50KTsKLSAK LS1leHRlcm4gdm9pZCBpbnNlcnRfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFyICopOwotK2V4dGVy biB2b2lkIHB1c2hfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFyICopOwotIAotIGV4dGVybiBlbnVt IHR5cGVfcGllY2VzIHBvcF90eXBlICh2b2lkKTsKLSAKLWRpZmYgLWR1cCAtcnVwIGdkYi03LjQu NTAuMjAxMjA3MDMtb3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRpcy5leHAgZ2RiLTcu NC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRpcy5leHAKLS0tLSBnZGIt Ny40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93aGF0aXMuZXhwCTIw MTItMDctMDMgMjA6MDg6MTUuOTgxNDE4NDEzICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcw My9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRpcy5leHAJMjAxMi0wNy0wMyAyMDowODozNS45 NDAzOTAyNzMgKzAyMDAKLUBAIC00NjUsMTcgKzQ2NSwzIEBAIGdkYl90ZXN0ICJ3aGF0aXMgY2hh cl9hZGRyIiBcCi0gZ2RiX3Rlc3QgIndoYXRpcyBhX2NoYXJfYWRkciIgXAotICAgICAidHlwZSA9 IGNoYXJfYWRkciIgXAotICAgICAid2hhdGlzIGFwcGxpZWQgdG8gdmFyaWFibGUgZGVmaW5lZCBi eSB0eXBlZGVmIgotLQotLSMgUmVncmVzc2lvbiB0ZXN0cyBmb3IgUFIgOTUxNC4KLS0KLS1nZGJf dGVzdCAid2hhdGlzIHZvaWQgKCoqKSgpIiBcCi0tICAidHlwZSA9IHZvaWQgXFwoXFwqXFwqXFwp XFwoXFwpIiBcCi0tICAid2hhdGlzIGFwcGxpZWQgdG8gcG9pbnRlciB0byBwb2ludGVyIHRvIGZ1 bmN0aW9uIgotLQotLWdkYl90ZXN0ICJ3aGF0aXMgdm9pZCAoKiogY29uc3QpKCkiIFwKLS0gICJ0 eXBlID0gdm9pZCBcXChcXCpcXCogY29uc3RcXClcXChcXCkiIFwKLS0gICJ3aGF0aXMgYXBwbGll ZCB0byBjb25zdCBwb2ludGVyIHRvIHBvaW50ZXIgdG8gZnVuY3Rpb24iCi0tCi0tZ2RiX3Rlc3Qg IndoYXRpcyB2b2lkICgqIGNvbnN0ICopKCkiIFwKLS0gICJ0eXBlID0gdm9pZCBcXChcXCogY29u c3QgXFwqXFwpXFwoXFwpIiBcCi0tICAid2hhdGlzIGFwcGxpZWQgdG8gcG9pbnRlciB0byBjb25z dCBwb2ludGVyIHRvIGZ1bmN0aW9uIgoKZGlmZiAtLWdpdCBhL2dkYi1mb3J0cmFuLWNvbW1vbi5w YXRjaCBiL2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaAppbmRleCA3NzhjOGNmLi5jOGZiNTdiIDEw MDY0NAotLS0gYS9nZGItZm9ydHJhbi1jb21tb24ucGF0Y2gKKysrIGIvZ2RiLWZvcnRyYW4tY29t bW9uLnBhdGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2Ri L2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2R3YXJmMnJlYWQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZHdhcmYycmVh ZC5jCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcuNC41MC4y MDEyMDYwMi9nZGIvZHdhcmYycmVhZC5jCTIwMTItMDYtMDIgMjE6MzI6NTQuMzA0NTYyNTAwICsw MjAwCi1AQCAtOTczNiwxMiArOTczNiwxNCBAQCByZWFkX3NldF90eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RyCistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9kd2FyZjJyZWFk LmMJMjAxMi0wNy0xNCAyMzozNjowOS44ODIxMzY1NDYgKzAyMDAKKysrKyBnZGItNy40LjUwLjIw MTIwNzE0L2dkYi9kd2FyZjJyZWFkLmMJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzIxMzAxODIgKzAy MDAKK0BAIC0xMTAwMywxMiArMTEwMDMsMTQgQEAgcmVhZF9zZXRfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cgogICAgcmV0dXJuIHNldF9kaWVfdHlwZSAoZGllLCBzZXRfdHlwZSwgY3Up OwogIH0KICAKQEAgLTE5LDcgKzE5LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2Ri L2R3YXJmMnJlYWQuYwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKICAgIHN0cnVjdCBzeW1i b2wgKnN5bTsKICAgIENPUkVfQUREUiBiYXNlID0gKENPUkVfQUREUikgMDsKLUBAIC05NzY2LDIw ICs5NzY4LDY3IEBAIHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwKK0BA IC0xMTAzMywyMCArMTEwMzUsNjcgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBkaWVfaW5m byAqZGllLAogICAgICB9CiAgICBpZiAoZGllLT5jaGlsZCAhPSBOVUxMKQogICAgICB7CkBAIC04 Nyw3ICs4Nyw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9kd2FyZjJyZWFkLmMK ICAgICAgfQogIH0KICAKLUBAIC0xMzY2MSw2ICsxMzcxMCwxMyBAQCBuZXdfc3ltYm9sX2Z1bGwg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTUwODUsNiArMTUxMzQsMTMgQEAgbmV3X3N5 bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkgICAgewogIAkgICAgICB2YXJf ZGVjb2RlX2xvY2F0aW9uIChhdHRyLCBzeW0sIGN1KTsKICAJICAgICAgYXR0cjIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9leHRlcm5hbCwgY3UpOwpAQCAtMTAxLDcgKzEwMSw3IEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9kd2FyZjJyZWFkLmMKICAJICAgICAgaWYgKFNZTUJP TF9DTEFTUyAoc3ltKSA9PSBMT0NfU1RBVElDCiAgCQkgICYmIFNZTUJPTF9WQUxVRV9BRERSRVNT IChzeW0pID09IDAKICAJCSAgJiYgIWR3YXJmMl9wZXJfb2JqZmlsZS0+aGFzX3NlY3Rpb25fYXRf emVybykKLUBAIC0xMzgyNSw2ICsxMzg4MSwxMSBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzCitAQCAtMTUyNDksNiArMTUzMDUsMTEgQEAgbmV3X3N5bWJvbF9mdWxs IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkgIFNZTUJPTF9DTEFTUyAoc3ltKSA9IExPQ19U WVBFREVGOwogIAkgIGxpc3RfdG9fYWRkID0gJmdsb2JhbF9zeW1ib2xzOwogIAkgIGJyZWFrOwpA QCAtMTEzLDEwICsxMTMsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2R3YXJm MnJlYWQuYwogIAlkZWZhdWx0OgogIAkgIC8qIE5vdCBhIHRhZyB3ZSByZWNvZ25pemUuICBIb3Bl ZnVsbHkgd2UgYXJlbid0IHByb2Nlc3NpbmcKICAJICAgICB0cmFzaCBkYXRhLCBidXQgc2luY2Ug d2UgbXVzdCBzcGVjaWZpY2FsbHkgaWdub3JlIHRoaW5ncwotSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2YtbGFuZy5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvZi1sYW5n LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2YtbGFuZy5j CTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEy MDYwMi9nZGIvZi1sYW5nLmMJMjAxMi0wNi0wMiAyMTozMjo1NC4zMDU1NjI0OTkgKzAyMDAKKy0t LSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL2YtbGFuZy5jCTIwMTItMDctMTQgMjM6MzY6 MTAuOTkzMTMwMzk4ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvZi1sYW5nLmMJ MjAxMi0wNy0xNCAyMzozNjoxMS4wMzMxMzAxNzYgKzAyMDAKIEBAIC0zNzAsMjcgKzM3MCwzIEBA IF9pbml0aWFsaXplX2ZfbGFuZ3VhZ2UgKHZvaWQpCiAgCiAgICBhZGRfbGFuZ3VhZ2UgKCZmX2xh bmd1YWdlX2RlZm4pOwpAQCAtMTQ1LDEwICsxNDUsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2YtbGFuZy5jCiAtICAgIH0KIC0gIHJldHVybiAoTlVMTCk7CiAtfQotSW5kZXg6 IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtbGFuZy5oCitJbmRleDogZ2RiLTcuNC41MC4yMDEy MDcxNC9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9y aWcvZ2RiL2YtbGFuZy5oCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysg Z2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi1sYW5nLmgJMjAxMi0wNi0wMiAyMTozMjo1NC4zMjI1 NjI0OTMgKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL2YtbGFuZy5oCTIw MTItMDctMTQgMjM6MzY6MTAuOTk0MTMwMzkyICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvZi1sYW5nLmgJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzQxMzAxNzEgKzAyMDAKIEBAIC01 MiwzNyArNTIsOCBAQCBlbnVtIGY5MF9yYW5nZV90eXBlCiAgICAgIE5PTkVfQk9VTkRfREVGQVVM VAkJLyogIihsb3c6aGlnaCkiICAqLwogICAgfTsKQEAgLTE4NywxMCArMTg3LDEwIEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLWxhbmcuaAogIAogIC8qIFdoZW4gcmVhc29uYWJs ZSBhcnJheSBib3VuZHMgY2Fubm90IGJlIGZldGNoZWQsIHN1Y2ggYXMgd2hlbiAKICAgICB5b3Ug YXNrIHRvICdtdCBwcmludCBzeW1ib2xzJyBhbmQgdGhlcmUgaXMgbm8gc3RhY2sgZnJhbWUgYW5k IAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtdmFscHJpbnQuYworSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MTQvZ2RiL2YtdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTItMDYtMDIgMjE6MzI6NDEu NzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi12YWxwcmludC5j CTIwMTItMDYtMDIgMjE6MzM6NTAuNTE0NTQxMjg2ICswMjAwCistLS0gZ2RiLTcuNC41MC4yMDEy MDcxNC5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxMi0wNy0xNCAyMzozNjoxMC45OTUxMzAzODcg KzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9mLXZhbHByaW50LmMJMjAxMi0wNy0x NCAyMzozNjo1My43NDc4OTM3NzkgKzAyMDAKIEBAIC0zNCwxMCArMzQsMTEgQEAKICAjaW5jbHVk ZSAiZ2RiY29yZS5oIgogICNpbmNsdWRlICJjb21tYW5kLmgiCkBAIC0yMDQsMTUgKzIwNCwxNCBA QCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi12YWxwcmludC5jCiAgc3RhdGljIHZv aWQgZjc3X2NyZWF0ZV9hcnJheXByaW50X29mZnNldF90YmwgKHN0cnVjdCB0eXBlICosCiAgCQkJ CQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICBzdGF0aWMgdm9pZCBmNzdfZ2V0X2R5bmFtaWNf bGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7Ci1AQCAtNDIwLDIyICs0MjEsNTQg QEAgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZAorQEAgLTQyMCwyMiAr NDIxLDUzIEBAIGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2QKICAgIGdk Yl9mbHVzaCAoc3RyZWFtKTsKICB9CiAgCiAtc3RhdGljIHZvaWQKIC1saXN0X2FsbF92aXNpYmxl X2NvbW1vbnMgKGNvbnN0IGNoYXIgKmZ1bm5hbWUpCiArc3RhdGljIGludAotK2luZm9fY29tbW9u X2NvbW1hbmRfZm9yX2Jsb2NrIChzdHJ1Y3QgYmxvY2sgKmJsb2NrLCBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWUsCi0rCQkJICAgICAgIGNvbnN0IGNoYXIgKmNvbW5hbWUpCisraW5mb19jb21tb25f Y29tbWFuZF9mb3JfYmxvY2sgKHN0cnVjdCBibG9jayAqYmxvY2ssIGNvbnN0IGNoYXIgKmNvbW5h bWUpCiAgewogLSAgU0FWRURfRjc3X0NPTU1PTl9QVFIgdG1wOwogLQpAQCAtMjcyLDcgKzI3MSw3 IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLXZhbHByaW50LmMKICB9CiAgCiAg LyogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHByaW50IG91dCB0aGUgdmFsdWVzIGluIGEgZ2l2 ZW4gQ09NTU9OIAotQEAgLTQ0NSwxMSArNDc4LDkgQEAgbGlzdF9hbGxfdmlzaWJsZV9jb21tb25z IChjb25zdCBjaGFyICpmdQorQEAgLTQ0NSwxMSArNDc3LDkgQEAgbGlzdF9hbGxfdmlzaWJsZV9j b21tb25zIChjb25zdCBjaGFyICpmdQogIHN0YXRpYyB2b2lkCiAgaW5mb19jb21tb25fY29tbWFu ZCAoY2hhciAqY29tbmFtZSwgaW50IGZyb21fdHR5KQogIHsKQEAgLTI4Niw3ICsyODUsNyBAQCBJ bmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi12YWxwcmludC5jCiAgCiAgICAvKiBXZSBo YXZlIGJlZW4gdG9sZCB0byBkaXNwbGF5IHRoZSBjb250ZW50cyBvZiBGNzcgQ09NTU9OIAogICAg ICAgYmxvY2sgc3VwcG9zZWRseSB2aXNpYmxlIGluIHRoaXMgZnVuY3Rpb24uICBMZXQgdXMgCi1A QCAtNDYxLDc0ICs0OTIsMzEgQEAgaW5mb19jb21tb25fY29tbWFuZCAoY2hhciAqY29tbmFtZSwg aW50CitAQCAtNDYxLDc0ICs0OTEsMzEgQEAgaW5mb19jb21tb25fY29tbWFuZCAoY2hhciAqY29t bmFtZSwgaW50CiAgICAvKiBUaGUgZm9sbG93aW5nIGlzIGdlbmVyYWxseSByaXBwZWQgb2ZmIGZy b20gc3RhY2suYydzIHJvdXRpbmUgCiAgICAgICBwcmludF9mcmFtZV9pbmZvKCkuICAqLwogIApA QCAtMzQwLDcgKzMzOSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLXZhbHBy aW50LmMKICAgICAgewogLSAgICAgIGxpc3RfYWxsX3Zpc2libGVfY29tbW9ucyAoZnVubmFtZSk7 CiAtICAgICAgcmV0dXJuOwotKyAgICAgIGlmIChpbmZvX2NvbW1vbl9jb21tYW5kX2Zvcl9ibG9j ayAoYmxvY2ssIGZpLCBjb21uYW1lKSkKKysgICAgICBpZiAoaW5mb19jb21tb25fY29tbWFuZF9m b3JfYmxvY2sgKGJsb2NrLCBjb21uYW1lKSkKICsJdmFsdWVzX3ByaW50ZWQgPSAxOwogKyAgICAg IC8qIEFmdGVyIGhhbmRsaW5nIHRoZSBmdW5jdGlvbidzIHRvcC1sZXZlbCBibG9jaywgc3RvcC4g IERvbid0CiArICAgICAgICAgY29udGludWUgdG8gaXRzIHN1cGVyYmxvY2ssIHRoZSBibG9jayBv ZiBwZXItZmlsZSBzeW1ib2xzLiAgKi8KQEAgLTM3NywxMCArMzc2LDEwIEBAIEluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9mLXZhbHByaW50LmMKICB9CiAgCiAgdm9pZAotSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N0YWNrLmMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0 L2dkYi9zdGFjay5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dk Yi9zdGFjay5jCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcu NC41MC4yMDEyMDYwMi9nZGIvc3RhY2suYwkyMDEyLTA2LTAyIDIxOjMyOjU0LjMzNTU2MjQ4OCAr MDIwMAorLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvc3RhY2suYwkyMDEyLTA3LTE0 IDIzOjM2OjA5LjMxNTEzOTY4MyArMDIwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL3N0 YWNrLmMJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzYxMzAxNjEgKzAyMDAKIEBAIC0xODM4LDYgKzE4 MzgsOCBAQCBpdGVyYXRlX292ZXJfYmxvY2tfbG9jYWxzIChzdHJ1Y3QgYmxvY2sKICAJY2FzZSBM T0NfQ09NUFVURUQ6CiAgCSAgaWYgKFNZTUJPTF9JU19BUkdVTUVOVCAoc3ltKSkKQEAgLTM5MCwx MSArMzg5LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9zdGFjay5jCiAgCSAg KCpjYikgKFNZTUJPTF9QUklOVF9OQU1FIChzeW0pLCBzeW0sIGNiX2RhdGEpOwogIAkgIGJyZWFr OwogIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5bXRhYi5oCitJbmRleDogZ2Ri LTcuNC41MC4yMDEyMDcxNC9nZGIvc3ltdGFiLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUw LjIwMTIwNjAyLm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5 ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvc3ltdGFiLmgJMjAxMi0wNi0wMiAy MTozMjo1NC4zNDI1NjI0ODYgKzAyMDAKLUBAIC0zODksNyArMzg5LDEwIEBAIHR5cGVkZWYgZW51 bSBkb21haW5fZW51bV90YWcKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL3N5bXRh Yi5oCTIwMTItMDYtMzAgMDA6NDY6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNC41MC4y MDEyMDcxNC9nZGIvc3ltdGFiLmgJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzgxMzAxNDkgKzAyMDAK K0BAIC0zOTQsNyArMzk0LDEwIEBAIHR5cGVkZWYgZW51bSBkb21haW5fZW51bV90YWcKICAKICAg IC8qIExBQkVMX0RPTUFJTiBtYXkgYmUgdXNlZCBmb3IgbmFtZXMgb2YgbGFiZWxzIChmb3IgZ290 b3MpLiAgKi8KICAKQEAgLTQwNiwxMCArNDA1LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9zeW10YWIuaAogIH0gZG9tYWluX2VudW07CiAgCiAgLyogU2VhcmNoaW5nIGRvbWFp bnMsIHVzZWQgZm9yIGBzZWFyY2hfc3ltYm9scycuICBFbGVtZW50IG51bWJlcnMgYXJlCi1JbmRl eDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1i bG9jay5leHAKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vY29tbW9uLWJsb2NrLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCTIwMTItMDYtMDIgMjE6MzI6 NTQuMzQ0NTYyNDg0ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzgxMzAx NDkgKzAyMDAKIEBAIC0wLDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTUxMiwxMCArNTExLDEwIEBAIEluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4 cAogK2dkYl90ZXN0ICJwIGl4X3giICIgPSAxICoiICJwIGl4X3ggaW4iCiArZ2RiX3Rlc3QgInAg aXlfeSIgIiA9IDIgKiIgInAgaXlfeSBpbiIKICtnZGJfdGVzdCAicCBpel96MiIgIiA9IDMgKiIg InAgaXpfejIgaW4iCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmY5MAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZjkw CTIwMTItMDYtMDIgMjE6MzI6NTQuMzQ1NTYyNDgzICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEy MDcxNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAJMjAxMi0wNy0x NCAyMzozNjoxMS4wMzgxMzAxNDkgKzAyMDAKIEBAIC0wLDAgKzEsNjcgQEAKICshIENvcHlyaWdo dCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKCmRpZmYgLS1naXQgYS9n ZGItaW5kZXgtYXNzZXJ0LnBhdGNoIGIvZ2RiLWluZGV4LWFzc2VydC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNjZiYjEwNi4uMDAwMDAwMAotLS0gYS9nZGItaW5kZXgtYXNz ZXJ0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotaHR0cDovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDYvbXNnMDAxMDkuaHRtbAotU3ViamVjdDogW1JG QV0gRml4IGluY29uc2lzdGVuY3kgaW4gYmxvY2t2ZWN0b3IgYWRkcm1hcCB2cyBub24tYWRkcm1h cCBoYW5kbGluZwotCi1IaS4KLQotSSB3YXMgc2VlaW5nIHRoZSBhc3NlcnQgaW4gZHcyX2ZpbmRf cGNfc2VjdF9wc3ltdGFiIHRyaWdnZXIKLWFuZCB0cmFjZWQgaXQgdG8gdGhlIGZhY3QgdGhhdCB3 aGVuIHBlbmRpbmdfYWRkcm1hcF9pbnRlcmVzdGluZyBnZXRzCi1zZXQgYmxvY2t2ZWN0b3IubWFw IGlzIHVzZWQgaW5zdGVhZCBvZiBibG9ja3ZlY3Rvci5ibG9jay4KLVRoZSBkaWZmZXJlbmNlIGlz IHRoYXQgYmxvY2t2ZWN0b3IuYmxvY2sgY29udGFpbnMgZW50cmllcyBmb3IgdGhlIGdsb2JhbAot YW5kIHN0YXRpYyBibG9ja3Mgd2hlcmVhcyBwZW5kaW5nX2FkZHJtYXAgZG9lc24ndC4KLQotVGhp cyBwYXRjaCBmaXhlcyB0aGlzIGJ5IG1ha2luZyB0aGVtIGNvbnNpc3RlbnQuCi1JIHN1c3BlY3Qg bW9yZSB3b3JrIGlzIG5lY2Vzc2FyeSAoZS5nLiBjYW4gc3ltdGFicyAib3ZlcmxhcCIgZXZlbiB0 aG91Z2gKLXRoZSBpbmRpdmlkdWFsIHBpZWNlcyBkbyBub3Q/KS4KLUJ1dCBJIGZpcnN0IHdhbnQg dG8gZml4IHRoZSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgdGhlIGNoYW5nZQotdG8gZHcyX2Zp bmRfcGNfc2VjdF9wc3ltdGFiOiBUaGVyZSBpcyBtb3JlIGNvZGUgaW4gYSBzeW10YWIgdGhhbiBp cwotZG9jdW1lbnRlZCBieSBmdW5jdGlvbiBhbmQgbGV4aWNhbCBibG9jayBwYyByYW5nZXMgKGUu Zy4gQysrIG1ldGhvZCB0aHVua3MpLgotCi1SZWdyZXNzaW9uIHRlc3RlZCBvbiBhbWQ2NC1saW51 eCwgYW5kIGJ5IHZlcmlmeWluZyB0aGUgYXNzZXJ0IG5vIGxvbmdlcgotdHJpZ2dlcnMgaW4gdGhl IHRlc3RjYXNlIEkgd2FzIHVzaW5nLgotCi1PayB0byBjb21taXQ/Ci0KLU5vdGUgdGhhdCB0aGlz IG9idmlhdGVzIHRoZSBuZWVkIGZvciB0aGUgcGF0Y2ggaW46Ci1odHRwOi8vc291cmNld2FyZS5v cmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wNS9tc2cwMDk1OC5odG1sCi0KLUFsc28gbm90ZSB0aGF0 IHRoaXMgYWNjb21wYW5pZXMgdGhpcyBwYXRjaDoKLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9n ZGItcGF0Y2hlcy8yMDEyLTA2L21zZzAwMTA1Lmh0bWwKLQotMjAxMi0wNi0wNCAgRG91ZyBFdmFu cyAgPGRqZUBnb29nbGUuY29tPgotCi0JKiBidWlsZHN5bS5jIChlbmRfc3ltdGFiKTogQWRkIHRo ZSByYW5nZSBvZiB0aGUgc3RhdGljIGJsb2NrIHRvCi0JdGhlIHBlbmRpbmcgYWRkcm1hcC4KLQot SW5kZXg6IGJ1aWxkc3ltLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2Ri L2J1aWxkc3ltLmMsdgotcmV0cmlldmluZyByZXZpc2lvbiAxLjk3Ci1kaWZmIC11IC1wIC1yMS45 NyBidWlsZHN5bS5jCi0tLS0gLi9nZGIvYnVpbGRzeW0uYwkyOSBNYXkgMjAxMiAyMDoyMzoxNyAt MDAwMAkxLjk3Ci0rKysgLi9nZGIvYnVpbGRzeW0uYwk1IEp1biAyMDEyIDAwOjI2OjAxIC0wMDAw Ci1AQCAtMTAyNCw4ICsxMDI3LDE1IEBAIGVuZF9zeW10YWIgKENPUkVfQUREUiBlbmRfYWRkciwg c3RydWN0IG8KLSAgICAgewotICAgICAgIC8qIERlZmluZSB0aGUgU1RBVElDX0JMT0NLICYgR0xP QkFMX0JMT0NLLCBhbmQgYnVpbGQgdGhlCi0gICAgICAgICAgYmxvY2t2ZWN0b3IuICAqLwotLSAg ICAgIGZpbmlzaF9ibG9jayAoMCwgJmZpbGVfc3ltYm9scywgMCwgbGFzdF9zb3VyY2Vfc3RhcnRf YWRkciwKLS0JCSAgICBlbmRfYWRkciwgb2JqZmlsZSk7Ci0rICAgICAgc3RydWN0IGJsb2NrICpz dGF0aWNfYmxvY2s7Ci0rCi0rICAgICAgc3RhdGljX2Jsb2NrID0gZmluaXNoX2Jsb2NrICgwLCAm ZmlsZV9zeW1ib2xzLCAwLAotKwkJCQkgICBsYXN0X3NvdXJjZV9zdGFydF9hZGRyLCBlbmRfYWRk ciwKLSsJCQkJICAgb2JqZmlsZSk7Ci0rICAgICAgLyogTWFyayB0aGUgcmFuZ2Ugb2YgdGhlIHN0 YXRpYyBibG9jayBzbyB0aGF0IGlmIHdlIGVuZCB1cCB1c2luZwotKwkgYmxvY2t2ZWN0b3IubWFw IHRoZW4gZmluZF9ibG9ja19pbl9ibG9ja3ZlY3RvciBiZWhhdmVzIGlkZW50aWNhbGx5Ci0rCSBy ZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFkZHJtYXAgaXMgcHJlc2VudC4gICovCi0rICAgICAg cmVjb3JkX2Jsb2NrX3JhbmdlIChzdGF0aWNfYmxvY2ssIGxhc3Rfc291cmNlX3N0YXJ0X2FkZHIs IGVuZF9hZGRyIC0gMSk7Ci0gICAgICAgZmluaXNoX2Jsb2NrX2ludGVybmFsICgwLCAmZ2xvYmFs X3N5bWJvbHMsIDAsIGxhc3Rfc291cmNlX3N0YXJ0X2FkZHIsCi0gCQkJICAgICBlbmRfYWRkciwg b2JqZmlsZSwgMSk7Ci0gICAgICAgYmxvY2t2ZWN0b3IgPSBtYWtlX2Jsb2NrdmVjdG9yIChvYmpm aWxlKTsKLQoKZGlmZiAtLWdpdCBhL2dkYi1zdGFsZS1mcmFtZV9pbmZvLXB5dGhvbi5wYXRjaCBi L2dkYi1zdGFsZS1mcmFtZV9pbmZvLXB5dGhvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5lYzQyZGZhCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXN0YWxlLWZyYW1l X2luZm8tcHl0aG9uLnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitodHRwOi8vc291cmNld2FyZS5v cmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wNy9tc2cwMDE5Ny5odG1sCitTdWJqZWN0OiBbcGF0Y2hd IEZpeCBhbm90aGVyIHN0YWxlIGZyYW1lX2luZm8gKiAoUFIgMTE5MTQsIGxpa2UgUFIgMTM4NjYp CisKK0hpLAorCitodHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTExOTE0CisKK2hhcyBhbm90aGVyIGNhc2Ugb2Ygc3RhbGUgZnJhbWVfaW5mbyAqLiAgT3JpZ2lu YWxseSBJIGZvdW5kIGl0IHVuZml4YWJsZSB3aXRoCit0aGUgY3VycmVudCBzdHJ1Y3QgZnJhbWVf aW5mbyAqIHVzYWdlIGJ1dCBQZWRybyBoYXMgc2hvd24gaW4gUFIgMTM4NjYgaXQgaXMKK3Bvc3Np YmxlIHRvIGZpeCB0aGUgY2FzZXMgb25lIGJ5IG9uZSBzbyBJIGhhdmUgZml4ZWQgYWxzbyB0aGlz IG9uZS4KKworSXQgZm9sbG93cyB0aGUgcGF0aCBvZiB2YWxncmluZCBiYWNrdHJhY2Ugc2hvd2lu ZyB3aGVyZSB0aGUgbWVtb3J5IGlzIGJlaW5nCitmcmVlZDoKKwlodHRwOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExOTE0I2M1CisKK1RoaXMgbWVzc2FnZSBoYXMg YmVlbiBhbHJlYWR5IHByZXNlbnQgaW4gR0RCIHNvIEkgdXNlZCBpdCBpbiBtb3JlIGNhc2VzOgor KwkgICAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8gcmVzdG9yZSBwcmV2aW91c2x5IHNlbGVjdGVk IGZyYW1lLiIpKTsKKworTm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9 LWZlZG9yYXJhd2hpZGUtbGludXgtZ251LgorCitJIHdpbGwgY2hlY2sgaXQgaW4gc29vbiBmb3Ig Ny41LgorCitJIGZpbmQgaXQgYSBiaXQgZGlmZmljdWx0IHRvIHJlbGlhYmx5IHJlcHJvZHVjZSwg dGhpcyB0ZXN0Y2FzZXMgbW9zdGx5IGFsd2F5cworY3Jhc2hlcyBmb3IgbWUgKGF0IGxlYXN0IHdp dGggLWxtY2hlY2spLgorCisKK1RoYW5rcywKK0phbgorCisKK2dkYi8KKzIwMTItMDctMTQgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCVBSIDExOTE0CisJ KiBmLXZhbHByaW50LmMgKGluZm9fY29tbW9uX2NvbW1hbmQpOiBOZXcgdmFyaWFibGUgZnJhbWVf aWQuCisJUmVpbml0aWFsaXplIEZJIGZvcm0gRlJBTUVfSUQgYWZ0ZXIgZWFjaCBwcmludF92YXJp YWJsZV9hbmRfdmFsdWUuCisJKiBwcmludGNtZC5jIChwcmludF92YXJpYWJsZV9hbmRfdmFsdWUp OiBFeHRlbmQgZnVuY3Rpb24gY29tbWVudC4KKwlBZGQgY29tbWVudCBmb3IgaW52YWxpZGF0ZWQg RlJBTUUuCisJKiBzdGFjay5jIChiYWNrdHJhY2VfY29tbWFuZF8xKTogTmV3IHZhcmlhYmxlIGZy YW1lX2lkLiAgUmVpbml0aWFsaXplCisJRkkgZm9ybSBGUkFNRV9JRCBhZnRlciBlYWNoIHByaW50 X2ZyYW1lX2xvY2FsX3ZhcnMuCisJKHN0cnVjdCBwcmludF92YXJpYWJsZV9hbmRfdmFsdWVfZGF0 YSk6IENoYW5nZSBmcmFtZSB0byBmcmFtZV9pZC4KKwkoZG9fcHJpbnRfdmFyaWFibGVfYW5kX3Zh bHVlKTogTmV3IHZhcmlhYmxlIGZyYW1lLCBpbml0aWFsaXplIGl0IGZyb20KKwlwLT5mcmFtZV9p ZC4gIEFkZCBjb21tZW50IGZvciBpbnZhbGlkYXRlZCBGUkFNRS4KKwkocHJpbnRfZnJhbWVfbG9j YWxfdmFycywgcHJpbnRfZnJhbWVfYXJnX3ZhcnMpOiBOZXcgZnVuY3Rpb24gY29tbWVudC4KKwlV cGRhdGUgQ0JfREFUQS5GUkFNRSB0byBDQl9EQVRBLkZSQU1FX0lEIGluaXRpYWxpemF0aW9uLiAg QWRkIGNvbW1lbnQKKwlmb3IgaW52YWxpZGF0ZWQgRlJBTUUuCisKK2dkYi90ZXN0c3VpdGUvCisy MDEyLTA3LTE0ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisK KwlQUiAxMTkxNAorCSogZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5jIChldmFsX2Z1bmMsIGV2 YWxfc3ViKTogTmV3LgorCShtYWluKTogQ2FsbCBldmFsX3N1Yi4KKwkqIGdkYi5weXRob24vcHkt cHJldHR5cHJpbnQuZXhwOgorCShweXRob24gZXhlY2ZpbGUgKCdweS1wcmV0dHlwcmludC5weScp KTogTW92ZSBpdCBlYXJsaWVyLgorCU5ldyBicmVha3BvaW50IGZvciBldmFsLWJyZWFrLgorCShj b250aW51ZSB0byBicmVha3BvaW50OiBldmFsLWJyZWFrLCBpbmZvIGxvY2Fscyk6IE5ldyB0ZXN0 LgorCShweXRob24gZXhlY2ZpbGUgKCdweS1wcmV0dHlwcmludC5weScpKTogTW92ZSBpdCBmcm9t IGhlcmUuCisJKiBnZGIucHl0aG9uL3B5LXByZXR0eXByaW50LnB5IChjbGFzcyBwcF9ldmFsX3R5 cGUpOiBOZXcuCisJKHJlZ2lzdGVyX3ByZXR0eV9wcmludGVycyk6IFJlZ2lzdGVyIHBwX2V2YWxf dHlwZS4KKworZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKK2lu ZGV4IDJhMGE4ODYuLmQ1YjViNjMgMTAwNjQ0CistLS0gYS9nZGIvcHJpbnRjbWQuYworKysrIGIv Z2RiL3ByaW50Y21kLmMKK0BAIC0xOTYxLDcgKzE5NjEsOSBAQCBjbGVhcl9kYW5nbGluZ19kaXNw bGF5X2V4cHJlc3Npb25zIChzdHJ1Y3Qgc29fbGlzdCAqc29saWIpCisgICAgc3RydWN0IHN5bWJv bC4gIE5BTUUgaXMgdGhlIG5hbWUgdG8gcHJpbnQ7IGlmIE5VTEwgdGhlbiBWQVIncyBwcmludAor ICAgIG5hbWUgd2lsbCBiZSB1c2VkLiAgU1RSRUFNIGlzIHRoZSB1aV9maWxlIG9uIHdoaWNoIHRv IHByaW50IHRoZQorICAgIHZhbHVlLiAgSU5ERU5UIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGlu ZGVudCBsZXZlbHMgdG8gcHJpbnQKKy0gICBiZWZvcmUgcHJpbnRpbmcgdGhlIHZhcmlhYmxlIG5h bWUuICAqLworKyAgIGJlZm9yZSBwcmludGluZyB0aGUgdmFyaWFibGUgbmFtZS4KKysKKysgICBU aGlzIGZ1bmN0aW9uIGludmFsaWRhdGVzIEZSQU1FLiAgKi8KKyAKKyB2b2lkCisgcHJpbnRfdmFy aWFibGVfYW5kX3ZhbHVlIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3ltYm9sICp2YXIsCitA QCAtMTk4Myw2ICsxOTg1LDEwIEBAIHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZSAoY29uc3QgY2hh ciAqbmFtZSwgc3RydWN0IHN5bWJvbCAqdmFyLAorICAgICAgIGdldF91c2VyX3ByaW50X29wdGlv bnMgKCZvcHRzKTsKKyAgICAgICBvcHRzLmRlcmVmX3JlZiA9IDE7CisgICAgICAgY29tbW9uX3Zh bF9wcmludCAodmFsLCBzdHJlYW0sIGluZGVudCwgJm9wdHMsIGN1cnJlbnRfbGFuZ3VhZ2UpOwor KworKyAgICAgIC8qIGNvbW1vbl92YWxfcHJpbnQgaW52YWxpZGF0ZXMgRlJBTUUgd2hlbiBhIHBy ZXR0eSBwcmludGVyIGNhbGxzIGluZmVyaW9yCisrCSBmdW5jdGlvbi4gICovCisrICAgICAgZnJh bWUgPSBOVUxMOworICAgICB9CisgICBpZiAoZXhjZXB0LnJlYXNvbiA8IDApCisgICAgIGZwcmlu dGZfZmlsdGVyZWQoc3RyZWFtLCAiPGVycm9yIHJlYWRpbmcgdmFyaWFibGUgJXMgKCVzKT4iLCBu YW1lLAorZGlmZiAtLWdpdCBhL2dkYi9zdGFjay5jIGIvZ2RiL3N0YWNrLmMKK2luZGV4IDI1MjBl MmMuLjM1ZDM3OWQgMTAwNjQ0CistLS0gYS9nZGIvc3RhY2suYworKysrIGIvZ2RiL3N0YWNrLmMK K0BAIC0xNzI3LDcgKzE3MjcsMjAgQEAgYmFja3RyYWNlX2NvbW1hbmRfMSAoY2hhciAqY291bnRf ZXhwLCBpbnQgc2hvd19sb2NhbHMsIGludCBmcm9tX3R0eSkKKyAgICAgICAgICB0aGUgZnJhbWUt PnByZXYgZmllbGQgZ2V0cyBzZXQgdG8gTlVMTCBpbiB0aGF0IGNhc2UpLiAgKi8KKyAgICAgICBw cmludF9mcmFtZV9pbmZvIChmaSwgMSwgTE9DQVRJT04sIDEpOworICAgICAgIGlmIChzaG93X2xv Y2FscykKKy0JcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoZmksIDEsIGdkYl9zdGRvdXQpOworKwl7 CisrCSAgc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lkID0gZ2V0X2ZyYW1lX2lkIChmaSk7CisrCisr CSAgcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoZmksIDEsIGdkYl9zdGRvdXQpOworKworKwkgIC8q IHByaW50X2ZyYW1lX2xvY2FsX3ZhcnMgaW52YWxpZGF0ZXMgRkkuICAqLworKwkgIGZpID0gZnJh bWVfZmluZF9ieV9pZCAoZnJhbWVfaWQpOworKwkgIGlmIChmaSA9PSBOVUxMKQorKwkgICAgewor KwkgICAgICB0cmFpbGluZyA9IE5VTEw7CisrCSAgICAgIHdhcm5pbmcgKF8oIlVuYWJsZSB0byBy ZXN0b3JlIHByZXZpb3VzbHkgc2VsZWN0ZWQgZnJhbWUuIikpOworKwkgICAgICBicmVhazsKKysJ ICAgIH0KKysJfQorIAorICAgICAgIC8qIFNhdmUgdGhlIGxhc3QgZnJhbWUgdG8gY2hlY2sgZm9y IGVycm9yIGNvbmRpdGlvbnMuICAqLworICAgICAgIHRyYWlsaW5nID0gZmk7CitAQCAtMTkxOSw3 ICsxOTMyLDcgQEAgaXRlcmF0ZV9vdmVyX2Jsb2NrX2xvY2FsX3ZhcnMgKHN0cnVjdCBibG9jayAq YmxvY2ssCisgCisgc3RydWN0IHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZV9kYXRhCisgeworLSAg c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lOworKyAgc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lkOwor ICAgaW50IG51bV90YWJzOworICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbTsKKyAgIGludCB2YWx1 ZXNfcHJpbnRlZDsKK0BAIC0xOTMzLDEyICsxOTQ2LDI4IEBAIGRvX3ByaW50X3ZhcmlhYmxlX2Fu ZF92YWx1ZSAoY29uc3QgY2hhciAqcHJpbnRfbmFtZSwKKyAJCQkgICAgIHZvaWQgKmNiX2RhdGEp CisgeworICAgc3RydWN0IHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZV9kYXRhICpwID0gY2JfZGF0 YTsKKysgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKKysKKysgIGZyYW1lID0gZnJhbWVfZmlu ZF9ieV9pZCAocC0+ZnJhbWVfaWQpOworKyAgaWYgKGZyYW1lID09IE5VTEwpCisrICAgIHsKKysg ICAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8gcmVzdG9yZSBwcmV2aW91c2x5IHNlbGVjdGVkIGZy YW1lLiIpKTsKKysgICAgICByZXR1cm47CisrICAgIH0KKysKKysgIHByaW50X3ZhcmlhYmxlX2Fu ZF92YWx1ZSAocHJpbnRfbmFtZSwgc3ltLCBmcmFtZSwgcC0+c3RyZWFtLCBwLT5udW1fdGFicyk7 CisrCisrICAvKiBwcmludF92YXJpYWJsZV9hbmRfdmFsdWUgaW52YWxpZGF0ZXMgRlJBTUUuICAq LworKyAgZnJhbWUgPSBOVUxMOworIAorLSAgcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlIChwcmlu dF9uYW1lLCBzeW0sCistCQkJICAgIHAtPmZyYW1lLCBwLT5zdHJlYW0sIHAtPm51bV90YWJzKTsK KyAgIHAtPnZhbHVlc19wcmludGVkID0gMTsKKyB9CisgCisrLyogUHJpbnQgYWxsIHZhcmlhYmxl cyBmcm9tIHRoZSBpbm5lcm1vc3QgdXAgdG8gdGhlIGZ1bmN0aW9uIGJsb2NrIG9mIEZSQU1FLgor KyAgIFByaW50IHRoZW0gd2l0aCB2YWx1ZXMgdG8gU1RSRUFNIGluZGVudGVkIGJ5IE5VTV9UQUJT LgorKworKyAgIFRoaXMgZnVuY3Rpb24gd2lsbCBpbnZhbGlkYXRlIEZSQU1FLiAgKi8KKysKKyBz dGF0aWMgdm9pZAorIHByaW50X2ZyYW1lX2xvY2FsX3ZhcnMgKHN0cnVjdCBmcmFtZV9pbmZvICpm cmFtZSwgaW50IG51bV90YWJzLAorIAkJCXN0cnVjdCB1aV9maWxlICpzdHJlYW0pCitAQCAtMTk2 MSw3ICsxOTkwLDcgQEAgcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lLCBpbnQgbnVtX3RhYnMsCisgICAgICAgcmV0dXJuOworICAgICB9CisgCistICBjYl9k YXRhLmZyYW1lID0gZnJhbWU7CisrICBjYl9kYXRhLmZyYW1lX2lkID0gZ2V0X2ZyYW1lX2lkIChm cmFtZSk7CisgICBjYl9kYXRhLm51bV90YWJzID0gNCAqIG51bV90YWJzOworICAgY2JfZGF0YS5z dHJlYW0gPSBzdHJlYW07CisgICBjYl9kYXRhLnZhbHVlc19wcmludGVkID0gMDsKK0BAIC0xOTcw LDYgKzE5OTksOSBAQCBwcmludF9mcmFtZV9sb2NhbF92YXJzIChzdHJ1Y3QgZnJhbWVfaW5mbyAq ZnJhbWUsIGludCBudW1fdGFicywKKyAJCQkJIGRvX3ByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZSwK KyAJCQkJICZjYl9kYXRhKTsKKyAKKysgIC8qIGRvX3ByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZSBp bnZhbGlkYXRlcyBGUkFNRS4gICovCisrICBmcmFtZSA9IE5VTEw7CisrCisgICBpZiAoIWNiX2Rh dGEudmFsdWVzX3ByaW50ZWQpCisgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgXygiTm8g bG9jYWxzLlxuIikpOworIH0KK0BAIC0yMDE2LDYgKzIwNDgsMTEgQEAgaXRlcmF0ZV9vdmVyX2Js b2NrX2FyZ192YXJzIChzdHJ1Y3QgYmxvY2sgKmIsCisgICAgIH0KKyB9CisgCisrLyogUHJpbnQg YWxsIGFyZ3VtZW50IHZhcmlhYmxlcyBvZiB0aGUgZnVuY3Rpb24gb2YgRlJBTUUuCisrICAgUHJp bnQgdGhlbSB3aXRoIHZhbHVlcyB0byBTVFJFQU0uCisrCisrICAgVGhpcyBmdW5jdGlvbiB3aWxs IGludmFsaWRhdGUgRlJBTUUuICAqLworKworIHN0YXRpYyB2b2lkCisgcHJpbnRfZnJhbWVfYXJn X3ZhcnMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkK KyB7CitAQCAtMjAzNiw3ICsyMDczLDcgQEAgcHJpbnRfZnJhbWVfYXJnX3ZhcnMgKHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKKyAgICAgICByZXR1cm47 CisgICAgIH0KKyAKKy0gIGNiX2RhdGEuZnJhbWUgPSBmcmFtZTsKKysgIGNiX2RhdGEuZnJhbWVf aWQgPSBnZXRfZnJhbWVfaWQgKGZyYW1lKTsKKyAgIGNiX2RhdGEubnVtX3RhYnMgPSAwOworICAg Y2JfZGF0YS5zdHJlYW0gPSBnZGJfc3Rkb3V0OworICAgY2JfZGF0YS52YWx1ZXNfcHJpbnRlZCA9 IDA7CitAQCAtMjA0NCw2ICsyMDgxLDkgQEAgcHJpbnRfZnJhbWVfYXJnX3ZhcnMgKHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKKyAgIGl0ZXJhdGVfb3Zl cl9ibG9ja19hcmdfdmFycyAoU1lNQk9MX0JMT0NLX1ZBTFVFIChmdW5jKSwKKyAJCQkgICAgICAg ZG9fcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlLCAmY2JfZGF0YSk7CisgCisrICAvKiBkb19wcmlu dF92YXJpYWJsZV9hbmRfdmFsdWUgaW52YWxpZGF0ZXMgRlJBTUUuICAqLworKyAgZnJhbWUgPSBO VUxMOworKworICAgaWYgKCFjYl9kYXRhLnZhbHVlc19wcmludGVkKQorICAgICBmcHJpbnRmX2Zp bHRlcmVkIChzdHJlYW0sIF8oIk5vIGFyZ3VtZW50cy5cbiIpKTsKKyB9CitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmMgYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuYworaW5kZXggMGZmN2IzMy4uMWZmOWUwNSAxMDA2 NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5jCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuYworQEAgLTIxOSw2ICsy MTksMjIgQEAgc3RydWN0IG51bGxzdHIKKyBzdHJ1Y3Qgc3RyaW5nX3JlcHIgc3RyaW5nXzEgPSB7 IHsgIm9uZSIgfSB9OworIHN0cnVjdCBzdHJpbmdfcmVwciBzdHJpbmdfMiA9IHsgeyAidHdvIiB9 IH07CisgCisrc3RhdGljIGludAorK2V2YWxfZnVuYyAoaW50IHAxLCBpbnQgcDIsIGludCBwMywg aW50IHA0LCBpbnQgcDUsIGludCBwNiwgaW50IHA3LCBpbnQgcDgpCisreworKyAgcmV0dXJuIHAx OworK30KKysKKytzdGF0aWMgdm9pZAorK2V2YWxfc3ViICh2b2lkKQorK3sKKysgIHN0cnVjdCBl dmFsX3R5cGVfcyB7IGludCB4OyB9IGV2YWwxID0geyAxIH0sIGV2YWwyID0geyAyIH0sIGV2YWwz ID0geyAzIH0sCisrCQkJCWV2YWw0ID0geyA0IH0sIGV2YWw1ID0geyA1IH0sIGV2YWw2ID0geyA2 IH0sCisrCQkJCWV2YWw3ID0geyA3IH0sIGV2YWw4ID0geyA4IH0sIGV2YWw5ID0geyA5IH07Cisr CisrICBldmFsMS54Kys7IC8qIGV2YWwtYnJlYWsgKi8KKyt9CisrCisgaW50CisgbWFpbiAoKQor IHsKK0BAIC0zMDksNSArMzI1LDcgQEAgbWFpbiAoKQorICAgCisgICBuc3R5cGUyID0gbnN0eXBl OworIAorKyAgZXZhbF9zdWIgKCk7CisrCisgICByZXR1cm4gMDsgICAgICAvKiBicmVhayB0byBp bnNwZWN0IHN0cnVjdCBhbmQgdW5pb24gKi8KKyB9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1wcmV0dHlwcmludC5leHAKK2luZGV4IGE2YzI0MWEuLjIyYWY4M2MgMTAwNjQ0CistLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuZXhwCitAQCAtMTIzLDE0ICsxMjMs MTkgQEAgaWYgIVtydW50b19tYWluIF0gdGhlbiB7CisgICAgIHJldHVybgorIH0KKyAKKy1nZGJf dGVzdCAiYiBbZ2RiX2dldF9saW5lX251bWJlciB7YnJlYWsgdG8gaW5zcGVjdH0gJHt0ZXN0Zmls ZX0uYyBdIiBcCistICAgICIuKkJyZWFrcG9pbnQuKiIKKy1nZGJfdGVzdCAiY29udGludWUiICIu KkJyZWFrcG9pbnQuKiIKKy0KKyBzZXQgcmVtb3RlX3B5dGhvbl9maWxlIFtyZW1vdGVfZG93bmxv YWQgaG9zdCAke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9LnB5XQorIAorIGdkYl90ZXN0 X25vX291dHB1dCAicHl0aG9uIGV4ZWNmaWxlICgnJHtyZW1vdGVfcHl0aG9uX2ZpbGV9JykiCisg CisrZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImV2YWwtYnJlYWsiXQorK2dk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJldmFsLWJyZWFrIiAiLiogZXZhbC1icmVhayAuKiIK KysKKytnZGJfdGVzdCAiaW5mbyBsb2NhbHMiICJldmFsOSA9IGV2YWw9PDEyMzQ1Njc4OT4iCisr CisrZ2RiX3Rlc3QgImIgW2dkYl9nZXRfbGluZV9udW1iZXIge2JyZWFrIHRvIGluc3BlY3R9ICR7 dGVzdGZpbGV9LmMgXSIgXAorKyAgICAiLipCcmVha3BvaW50LioiCisrZ2RiX3Rlc3QgImNvbnRp bnVlIiAiLipCcmVha3BvaW50LioiCisrCisgZ2RiX3Rlc3QgInByaW50IHNzIiAiID0gYT08IGE9 PDE+IGI9PCRoZXg+PiBiPTwgYT08Mj4gYj08JGhleD4+IiBcCisgICAgICJwcmludCBzcyBlbmFi bGVkICMxIgorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0 dHlwcmludC5weSBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5weQor aW5kZXggNTJmZmQxYS4uYjAyYjkwZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1wcmV0dHlwcmludC5weQorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LXByZXR0eXByaW50LnB5CitAQCAtMTk5LDYgKzE5OSwxNCBAQCBjbGFzcyBNZW1vcnlFcnJvclN0 cmluZzoKKyAgICAgZGVmIGRpc3BsYXlfaGludCAoc2VsZik6CisgICAgICAgICByZXR1cm4gJ3N0 cmluZycKKyAKKytjbGFzcyBwcF9ldmFsX3R5cGU6CisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2 YWwpOgorKyAgICAgICAgc2VsZi52YWwgPSB2YWwKKysKKysgICAgZGVmIHRvX3N0cmluZyhzZWxm KToKKysJZ2RiLmV4ZWN1dGUoImJ0IiwgdG9fc3RyaW5nPVRydWUpCisrICAgICAgICByZXR1cm4g ImV2YWw9PCIgKyBzdHIoZ2RiLnBhcnNlX2FuZF9ldmFsKCJldmFsX2Z1bmMgKDEyMzQ1Njc4OSwg MiwgMywgNCwgNSwgNiwgNywgOCkiKSkgKyAiPiIKKysKKyBkZWYgbG9va3VwX2Z1bmN0aW9uICh2 YWwpOgorICAgICAiTG9vay11cCBhbmQgcmV0dXJuIGEgcHJldHR5LXByaW50ZXIgdGhhdCBjYW4g cHJpbnQgdmFsLiIKKyAKK0BAIC0yNzYsNiArMjg0LDggQEAgZGVmIHJlZ2lzdGVyX3ByZXR0eV9w cmludGVycyAoKToKKyAKKyAgICAgcHJldHR5X3ByaW50ZXJzX2RpY3RbcmUuY29tcGlsZSAoJ15t ZW1vcnlfZXJyb3IkJyldICA9IE1lbW9yeUVycm9yU3RyaW5nCisgCisrICAgIHByZXR0eV9wcmlu dGVyc19kaWN0W3JlLmNvbXBpbGUgKCdeZXZhbF90eXBlX3MkJyldID0gcHBfZXZhbF90eXBlCisr CisgcHJldHR5X3ByaW50ZXJzX2RpY3QgPSB7fQorIAorIHJlZ2lzdGVyX3ByZXR0eV9wcmludGVy cyAoKQorCgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFtLnBhdGNoIGIvZ2RiLXVwc3RyZWFtLnBh dGNoCmluZGV4IGU2OWRlMjkuLjdhYzliOGQgMTAwNjQ0Ci0tLSBhL2dkYi11cHN0cmVhbS5wYXRj aAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAoraHR0cDovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDcvbXNnMDAyMDAuaHRtbAorU3ViamVjdDog W29idl0gdGVzdHN1aXRlOiBGaXggZmlzc2lvbi1yZXJlYWQuUyByZWdyZXNzaW9uIGJ5IG1lCisK K0hpIERvdWcsCisKK0kgYnJva2UgdGhlIHRlc3RjYXNlIGJ5IHBhdGNoCisJW3BhdGNoIDEvMl0g dGVzdGNhc2U6IE1ha2UgaXQgLW0zMiBjb21wYXRpYmxlIFtSZTogW2NvbW1pdF0gRml4IHJlcmVh ZGluZyBvZiBEV08gRElFc10KKwlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMv MjAxMi0wNy9tc2cwMDAwOS5odG1sCisKK1RoZSB0ZXN0Y2FzZSBpdHNlbGYgdXN1YWxseSBQQVNT ZXMgYnV0IHNvbWV0aW1lcyBpdCBkb2VzIG5vdC4gIEl0IGlzIG1vcmUKK2NsZWFyIHdpdGggJ3Jl YWRlbGYgLXdpJzoKKyAgICA8N2I+ICAgRFdfQVRfZnJhbWVfYmFzZSAgOiA5NyBieXRlIGJsb2Nr OiA3YSAwIDEgNyAxOSA4YiA3ZSBhYyBjZSBmMSAyMiA5MCAyIGZiIDEgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCA1MSBjZCAxIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIAkoRFdfT1BfYnJlZzEwIChyMTAp OiAwOyAoVW5rbm93biBsb2NhdGlvbiBvcCkpCisKK0NoZWNrZWQgaW4uCisKKworU29ycnksCitK YW4KKworCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEyLTA3L21zZzAwMTAy Lmh0bWwKKworLS0tIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDEyLzA3LzEzIDIwOjI2 OjEwCTEuMzI5MgorKysrIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDEyLzA3LzE1IDA4 OjM0OjU1CTEuMzI5MworQEAgLTEsMyArMSw5IEBACisrMjAxMi0wNy0xNSAgSmFuIEtyYXRvY2h2 aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorKworKwlGaXggYSB0ZXN0Y2FzZSByZWdy ZXNzaW9uIGJ5IG1lLgorKwkqIGdkYi5kd2FyZjIvZmlzc2lvbi1yZXJlYWQuUzogRml4IHR3byBE V19GT1JNX2RhdGE4IHRvIGJlCisrCURXX0ZPUk1fZGF0YTQuCisrCisgMjAxMi0wNy0xMyAgSmFu IEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorIAkgICAgRG91ZyBFdmFu cyAgPGRqZUBnb29nbGUuY29tPgorIAorLS0tIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv Zmlzc2lvbi1yZXJlYWQuUwkyMDEyLzA3LzAyIDIwOjEwOjQ4CTEuMworKysrIHNyYy9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZmlzc2lvbi1yZXJlYWQuUwkyMDEyLzA3LzE1IDA4OjM0OjU1CTEu NAorQEAgLTIzMSw3ICsyMzEsNyBAQAorIAkudWxlYjEyOCAweDExCS8qIChEV19BVF9sb3dfcGMp ICovCisgCS51bGViMTI4IDB4MQkvKiAoRFdfRk9STV9hZGRyKSAqLworIAkudWxlYjEyOCAweDEy CS8qIChEV19BVF9oaWdoX3BjKSAqLworLQkudWxlYjEyOCAweDcJLyogKERXX0ZPUk1fZGF0YTgp ICovCisrCS51bGViMTI4IDB4NgkvKiAoRFdfRk9STV9kYXRhNCkgKi8KKyAJLnVsZWIxMjggMHgx MAkvKiAoRFdfQVRfc3RtdF9saXN0KSAqLworIAkudWxlYjEyOCAweDE3CS8qIChEV19GT1JNX3Nl Y19vZmZzZXQpICovCisgCS51bGViMTI4IDB4MWIJLyogKERXX0FUX2NvbXBfZGlyKSAqLworQEAg LTM1MSw3ICszNTEsNyBAQAorIAkudWxlYjEyOCAweDExCS8qIChEV19BVF9sb3dfcGMpICovCisg CS51bGViMTI4IDB4MWYwMQkvKiAoRFdfRk9STV9HTlVfYWRkcl9pbmRleCkgKi8KKyAJLnVsZWIx MjggMHgxMgkvKiAoRFdfQVRfaGlnaF9wYykgKi8KKy0JLnVsZWIxMjggMHg3CS8qIChEV19GT1JN X2RhdGE4KSAqLworKwkudWxlYjEyOCAweDYJLyogKERXX0ZPUk1fZGF0YTQpICovCisgCS51bGVi MTI4IDB4NDAJLyogKERXX0FUX2ZyYW1lX2Jhc2UpICovCisgCS51bGViMTI4IDB4MTgJLyogKERX X0ZPUk1fZXhwcmxvYykgKi8KKyAJLmJ5dGUJMAorCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9n ZGIuc3BlYwppbmRleCA5MGIxMGI2Li5mNjNjYThjIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysg Yi9nZGIuc3BlYwpAQCAtMzAsMTIgKzMwLDEyIEBAIE5hbWU6ICV7P3NjbF9wcmVmaXh9Z2RiCiAj IFNldCB2ZXJzaW9uIHRvIGNvbnRlbnRzIG9mIGdkYi92ZXJzaW9uLmluLgogIyBOT1RFOiB0aGUg RlNGIGdkYiB2ZXJzaW9ucyBhcmUgbnVtYmVyZWQgTi5NIGZvciBvZmZpY2lhbCByZWxlYXNlcywg bGlrZSA2LjMKICMgYW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFguWS5aLmRhdGUgZm9yIGRhaWx5 IHNuYXBzaG90cywgbGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFpbHkgc25hcHNob3QgZnJvbSBt YWlsaW5lKSwgb3IgNi4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhlIHJlbGVhc2UgYnJhbmNoKS4K LSVnbG9iYWwgc25hcCAyMDEyMDcwMworJWdsb2JhbCBzbmFwIDIwMTIwNzE0CiBWZXJzaW9uOiA3 LjQuNTAuJXtzbmFwfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcg cmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBh cnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZv ciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDEzJXs/ZGlzdH0KK1JlbGVhc2U6IDE0JXs/ZGlzdH0K IAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2Misg YW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBh bmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtNDc5LDEw ICs0NzksNiBAQCBQYXRjaDQ5NjogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAogIz1w dXNoOiBUaGVyZSBpcyBkaWZmZXJlbnQgcGF0Y2ggb24gZ2RiLXBhdGNoZXMsIHdhaXRpbmcgbm93 IGZvciByZXNvbHV0aW9uIGluIGtlcm5lbC4KIFBhdGNoNTA0OiBnZGItYno2MjM3NDktZ2NvcmUt cmVscm8ucGF0Y2gKIAotIyBGaXggbG9zdCBzaWdpbmZvX3QgaW4gbGludXgtbmF0IChCWiA1OTIw MzEpLgotIz1wdXNoCi1QYXRjaDUxMTogZ2RiLWJ6NTkyMDMxLXNpZ2luZm8tbG9zdC01b2Y1LnBh dGNoCi0KICMgVmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rpb24gZ2RiLnNvbGliX2Fk ZHJlc3MgZXhpc3RzIChCWiAjIDYzNDEwOCkuCiAjPWZlZG9yYXRlc3QKIFBhdGNoNTI2OiBnZGIt Yno2MzQxMDgtc29saWJfYWRkcmVzcy5wYXRjaApAQCAtNTUyLDEwICs1NDgsNiBAQCBQYXRjaDY5 MDogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiAjPWZlZG9yYQogUGF0Y2g2OTQ6 IGdkYi1kaXNhYmxlLW1jaGVjay5wYXRjaAogCi0jIEZpeCBhc3NlcnRpb24gb24gc29tZSBmaWxl cyBhcyBnbGliYy0yLjE1LjkwLTguZmMxOCAoRG91ZyBFdmFucykuCi0jPXB1c2gKLVBhdGNoNjk1 OiBnZGItaW5kZXgtYXNzZXJ0LnBhdGNoCi0KICMgSW5jbHVkZSB0ZXN0Y2FzZSBmb3IgYFVuYWJs ZSB0byBzZWUgYSB2YXJpYWJsZSBpbnNpZGUgYSBtb2R1bGUgKFhMRiknIChCWiA4MjM3ODkpLgog Iz1mZWRvcmF0ZXN0CiAjK3BwYwpAQCAtNTY1LDE0ICs1NTcsMTQgQEAgUGF0Y2g2OTg6IGdkYi1y aGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAogIz1mZWRvcmF0ZXN0CiBQ YXRjaDcwMzogZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNh c2UucGF0Y2gKIAotIyBSZXZlcnQgZnVuY3Rpb24gcmV0dXJuaW5nIHBvaW50ZXIgZml4IChQUiA5 NTE0KSByZWdyZXNzaW5nIEZlZG9yYSBlcnJubyBwYXRjaC4KLSM9cHVzaAotUGF0Y2g3MTU6IGdk Yi1lcnJuby1mdW5jLWRhdGF0eXBlLXJldmVydC5wYXRjaAotCiAjIEltcGxlbWVudCBNaW5pRGVi dWdJbmZvIEYtMTggRmVhdHVyZSBjb25zdW1lciAoQWxleGFuZGVyIExhcnNzb24sIEJaIDgzNDA2 OCkuCiAjPWZlZG9yYQogUGF0Y2g3MTY6IGdkYi1taW5pZGVidWdpbmZvLnBhdGNoCiAKKyMgRml4 IGFub3RoZXIgc3RhbGUgZnJhbWVfaW5mbyAqIChQUiAxMTkxNCwgbGlrZSBQUiAxMzg2NikuCisj PXB1c2gKK1BhdGNoNzE4OiBnZGItc3RhbGUtZnJhbWVfaW5mby1weXRob24ucGF0Y2gKKwogJWlm IDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291 bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3Jl LXJoLnBhdGNoCkBAIC03NjAsNyArNzUyLDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1l eHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoMiAtcDEKIAogJXBhdGNoMjMy IC1wMQotJXBhdGNoNzE1IC1wMQogJXBhdGNoMzQ5IC1wMQogJXBhdGNoMSAtcDEKICVwYXRjaDMg LXAxCkBAIC04NTAsNyArODQxLDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBn ZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNDkxIC1wMQogJXBhdGNoNDk2IC1wMQog JXBhdGNoNTA0IC1wMQotJXBhdGNoNTExIC1wMQogJXBhdGNoNTI2IC1wMQogJXBhdGNoNTQyIC1w MQogJXBhdGNoNTQ3IC1wMQpAQCAtODY2LDEwICs4NTYsMTAgQEAgcm0gLWYgZ2RiL2p2LWV4cC5j IGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNjYxIC1wMQog JXBhdGNoNjkwIC1wMQogJXBhdGNoNjk0IC1wMQotJXBhdGNoNjk1IC1wMQogJXBhdGNoNjk4IC1w MQogJXBhdGNoNzAzIC1wMQogJXBhdGNoNzE2IC1wMQorJXBhdGNoNzE4IC1wMQogCiAlcGF0Y2gz OTMgLXAxCiAlaWYgMCV7IT9lbDU6MX0gfHwgMCV7P3NjbDoxfQpAQCAtMTM2NCw2ICsxMzU0LDEx IEBAIGZpCiAlZW5kaWYgIyAwJXshP2VsNToxfSB8fCAiJXtfdGFyZ2V0X2NwdX0iID09ICJub2Fy Y2giCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEp1bCAxNSAyMDEyIEphbiBLcmF0b2NodmlsIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNC41MC4yMDEyMDcxNC0xNC5mYzE4CistIFJlYmFz ZSB0byBGU0YgR0RCIDcuNC41MC4yMDEyMDcxNC4KKyAgLSBGaXggZW50cnl2YWwgZmVhdHVyZSBj cmFzaCBvbiBzb21lIC5kZWJ1ZyBmaWxlcyBvcHRpbWl6ZWQgYnkgZHd6IChCWiA4Mzk1OTYpLgor LSBGaXggYW5vdGhlciBzdGFsZSBmcmFtZV9pbmZvICogKFBSIDExOTE0LCBsaWtlIFBSIDEzODY2 KS4KKwogKiBGcmkgSnVsICA2IDIwMTIgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwNzAzLTEzLmZjMTgKIC0gW1JIRUxdIERpc2FibGUgTWlu aURlYnVnSW5mbyBGLTE4IGZlYXR1cmUgb24gUkhFTCA8PSA2IChCWiA4MzQwNjgpLgogCgpkaWZm IC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggMDlmYzY1NC4uNGFlNjU5YyAxMDA2NDQK LS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogMDRlNWM0YjFiOWU2 MzM0MjJjYzQ4OTkwZmU2MTk1OGQgIGxpYnN0ZGMrKy12My1weXRob24tcjE1NTk3OC50YXIuYnoy Ci05MTI5MGQxMDM0MDEzZGIxZmUwMzVjMDgxYWRkZTUxNCAgZ2RiLTcuNC41MC4yMDEyMDcwMy50 YXIuYnoyCisxMTVhNmE1MjFhZWYyY2UzMDZmZDNlN2ZhZGQ3OWMwMiAgZ2RiLTcuNC41MC4yMDEy MDcxNC50YXIuYnoyCg==