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: Clemens Lang To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Allow disabling of SHA1 signatures Date: Tue, 09 Jun 2026 12:44:58 GMT Message-ID: <178100909809.1.9144658299778188945.rpms-openssl-432cfa2baa8d@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 432cfa2baa8db94abf0daa9821a42ef40723e3c0 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDQzMmNmYTJiYWE4ZGI5NGFiZjBkYWE5ODIxYTQyZWY0MDcyM2Uz YzAKICAgICAgICAgICAgQXV0aG9yIDogQ2xlbWVucyBMYW5nIDxjbGxhbmdAcmVkaGF0LmNvbT4K ICAgICAgICAgICAgRGF0ZSAgIDogMjAyMi0wNC0wN1QxODoxNDowNCswMjowMAogICAgICAgICAg ICBTdGF0cyAgOiArNzMzLy0xIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy80MzJjZmEyYmFhOGRiOTRh YmYwZGFhOTgyMWE0MmVmNDA3MjNlM2MwP2JyYW5jaD1yZWJhc2VfNDBiZXRhCgogICAgICAgICAg ICBMb2c6CiAgICAgICAgICAgIEFsbG93IGRpc2FibGluZyBvZiBTSEExIHNpZ25hdHVyZXMKCk5P VEU6IFRoaXMgcGF0Y2ggaXMgcG9ydGVkIGZyb20gQ2VudE9TIDkgLyBSSEVMIDksIHdoZXJlIGl0 IGRlZmF1bHRzIHRvCmRlbnlpbmcgU0hBMSBzaWduYXR1cmVzLiBPbiBGZWRvcmEsIHRoZSBkZWZh dWx0IGlzIOKAkyBmb3Igbm93IOKAkyB0byBhbGxvdwpTSEExIHNpZ25hdHVyZXMuCgpJbiBvcmRl ciB0byBwaGFzZSBvdXQgU0hBMSBzaWduYXR1cmVzLCBpbnRyb2R1Y2UgYSBuZXcgY29uZmlndXJh dGlvbgpvcHRpb24gaW4gdGhlIGFsZ19zZWN0aW9uIG5hbWVkICdyaC1hbGxvdy1zaGExLXNpZ25h dHVyZXMnLiBUaGlzIG9wdGlvbgpkZWZhdWx0cyB0byB0cnVlLiBJZiBzZXQgdG8gZmFsc2UsIGFu eSBzaWduYXR1cmUgY3JlYXRpb24gb3IKdmVyaWZpY2F0aW9uIG9wZXJhdGlvbnMgdGhhdCBpbnZv bHZlIFNIQTEgYXMgZGlnZXN0IHdpbGwgZmFpbC4KClRoaXMgYWxzbyBhZmZlY3RzIFRMUywgd2hl cmUgdGhlIHNpZ25hdHVyZV9hbGdvcml0aG1zIGV4dGVuc2lvbiBvZiBhbnkKQ2xpZW50SGVsbG8g bWVzc2FnZSBzZW50IGJ5IE9wZW5TU0wgd2lsbCBubyBsb25nZXIgaW5jbHVkZSBzaWduYXR1cmVz CndpdGggdGhlIFNIQTEgZGlnZXN0IGlmIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyBpcyBmYWxz ZS4gRm9yIHNlcnZlcnMKdGhhdCByZXF1ZXN0IGEgY2xpZW50IGNlcnRpZmljYXRlLCB0aGUgc2Ft ZSBhbHNvIGFwcGxpZXMgZm9yCkNlcnRpZmljYXRlUmVxdWVzdCBtZXNzYWdlcyBzZW50IGJ5IHRo ZW0uCgpSZXNvbHZlczogcmhieiMyMDcwOTc3ClJlbGF0ZWQ6IHJoYnojMjAzMTc0MiwgcmhieiMy MDYyNjQwClNpZ25lZC1vZmYtYnk6IENsZW1lbnMgTGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+Cgot LS0KZGlmZiAtLWdpdCBhLzAwNDktQWxsb3ctZGlzYWJsaW5nLW9mLVNIQTEtc2lnbmF0dXJlcy5w YXRjaCBiLzAwNDktQWxsb3ctZGlzYWJsaW5nLW9mLVNIQTEtc2lnbmF0dXJlcy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzE2YTRiCi0tLSAvZGV2L251bGwKKysr IGIvMDA0OS1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCkBAIC0wLDAg KzEsNTAzIEBACitGcm9tIGI0Zjg5NjRhZDE5MDNlMjRjZDJlZTA3ZjQyY2U5N2MzMDQ3ZjRhZjQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDbGVtZW5zIExhbmcgPGNsbGFuZ0ByZWRo YXQuY29tPgorRGF0ZTogTW9uLCAyMSBGZWIgMjAyMiAxNzoyNDo0NCArMDEwMAorU3ViamVjdDog W1BBVENIXSBBbGxvdyBkaXNhYmxpbmcgb2YgU0hBMSBzaWduYXR1cmVzCitNSU1FLVZlcnNpb246 IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK05PVEU6IFRoaXMgcGF0Y2ggaXMgcG9ydGVkIGZyb20g Q2VudE9TIDkgLyBSSEVMIDksIHdoZXJlIGl0IGRlZmF1bHRzIHRvCitkZW55aW5nIFNIQTEgc2ln bmF0dXJlcy4gT24gRmVkb3JhLCB0aGUgZGVmYXVsdCBpcyDigJMgZm9yIG5vdyDigJMgdG8gYWxs b3cKK1NIQTEgc2lnbmF0dXJlcy4KKworSW4gb3JkZXIgdG8gcGhhc2Ugb3V0IFNIQTEgc2lnbmF0 dXJlcywgaW50cm9kdWNlIGEgbmV3IGNvbmZpZ3VyYXRpb24KK29wdGlvbiBpbiB0aGUgYWxnX3Nl Y3Rpb24gbmFtZWQgJ3JoLWFsbG93LXNoYTEtc2lnbmF0dXJlcycuIFRoaXMgb3B0aW9uCitkZWZh dWx0cyB0byB0cnVlLiBJZiBzZXQgdG8gZmFsc2UsIGFueSBzaWduYXR1cmUgY3JlYXRpb24gb3IK K3ZlcmlmaWNhdGlvbiBvcGVyYXRpb25zIHRoYXQgaW52b2x2ZSBTSEExIGFzIGRpZ2VzdCB3aWxs IGZhaWwuCisKK1RoaXMgYWxzbyBhZmZlY3RzIFRMUywgd2hlcmUgdGhlIHNpZ25hdHVyZV9hbGdv cml0aG1zIGV4dGVuc2lvbiBvZiBhbnkKK0NsaWVudEhlbGxvIG1lc3NhZ2Ugc2VudCBieSBPcGVu U1NMIHdpbGwgbm8gbG9uZ2VyIGluY2x1ZGUgc2lnbmF0dXJlcword2l0aCB0aGUgU0hBMSBkaWdl c3QgaWYgcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzIGlzIGZhbHNlLiBGb3Igc2VydmVycwordGhh dCByZXF1ZXN0IGEgY2xpZW50IGNlcnRpZmljYXRlLCB0aGUgc2FtZSBhbHNvIGFwcGxpZXMgZm9y CitDZXJ0aWZpY2F0ZVJlcXVlc3QgbWVzc2FnZXMgc2VudCBieSB0aGVtLgorCitGb3Igc2lnbmF0 dXJlcyBjcmVhdGVkIHVzaW5nIHRoZSBFVlBfUEtFWSBBUEksIHRoaXMgaXMgYSBiZXN0LWVmZm9y dAorY2hlY2sgdGhhdCB3aWxsIGRlbnkgc2lnbmF0dXJlcyBpbiBjYXNlcyB3aGVyZSB0aGUgZGln ZXN0IGFsZ29yaXRobSBpcwora25vd24uIFRoaXMgbWVhbnMsIGZvciBleGFtcGxlLCB0aGF0IHRo YXQgZm9sbG93aW5nIHN0ZXBzIHdpbGwgc3RpbGwKK3dvcms6CisKKyAkPiBvcGVuc3NsIGRnc3Qg LXNoYTEgLWJpbmFyeSAtb3V0IHNoYTEgaW5maWxlCisgJD4gb3BlbnNzbCBwa2V5dXRsIC1pbmtl eSBrZXkucGVtIC1zaWduIC1pbiBzaGExIC1vdXQgc2hhMXNpZworICQ+IG9wZW5zc2wgcGtleXV0 bCAtaW5rZXkga2V5LnBlbSAtdmVyaWZ5IC1zaWdmaWxlIHNoYTFzaWcgLWluIHNoYTEKKword2hl cmVhcyB0aGVzZSB3aWxsIG5vdDoKKworICQ+IG9wZW5zc2wgZGdzdCAtc2hhMSAtYmluYXJ5IC1v dXQgc2hhMSBpbmZpbGUKKyAkPiBvcGVuc3NsIHBrZXl1dGwgLWlua2V5IGtlbS5wZW0gLXNpZ24g LWluIHNoYTEgLW91dCBzaGExc2lnIC1wa2V5b3B0IGRpZ2VzdDpzaGExCisgJD4gb3BlbnNzbCBw a2V5dXRsIC1pbmtleSBrZW0ucGVtIC12ZXJpZnkgLXNpZ2ZpbGUgc2hhMXNpZyAtaW4gc2hhMSAt cGtleW9wdCBkaWdlc3Q6c2hhMQorCitUaGlzIGhhcHBlbnMgYmVjYXVzZSBpbiB0aGUgZmlyc3Qg Y2FzZSwgT3BlblNTTCdzIHNpZ25hdHVyZQoraW1wbGVtZW50YXRpb24gZG9lcyBub3Qga25vdyB0 aGF0IGl0IGlzIHNpZ25pbmcgYSBTSEExIGhhc2ggKGl0IGNvdWxkIGJlCitzaWduaW5nIGFyYml0 cmFyeSBkYXRhKS4KKy0tLQorIGNyeXB0by9ldnAvZXZwX2NuZi5jICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDEzICsrKworIGNyeXB0by9ldnAvbV9zaWd2ZXIuYyAgICAgICAgICAgICAgICAg ICAgICAgICB8IDg1ICsrKysrKysrKysrKysrKysrKysKKyBjcnlwdG8vZXZwL3BtZXRoX2xpYi5j ICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrCisgZG9jL21hbjUvY29uZmlnLnBvZCAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrCisgaW5jbHVkZS9pbnRlcm5hbC9jcnlw dGxpYi5oICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KKyBpbmNsdWRlL2ludGVybmFsL3NzbGNv bmYuaCAgICAgICAgICAgICAgICAgICAgfCAgNCArCisgcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0 eWNoZWNrLmMgICAgICAgICAgICAgIHwgMjAgKysrKysKKyBwcm92aWRlcnMvY29tbW9uL3NlY3Vy aXR5Y2hlY2tfZGVmYXVsdC5jICAgICAgfCAgOSArLQorIHByb3ZpZGVycy9pbXBsZW1lbnRhdGlv bnMvc2lnbmF0dXJlL2RzYV9zaWcuYyB8IDExICsrLQorIC4uLi9pbXBsZW1lbnRhdGlvbnMvc2ln bmF0dXJlL2VjZHNhX3NpZy5jICAgICB8ICA0ICsKKyBwcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L3NpZ25hdHVyZS9yc2Ffc2lnLmMgfCAyMCArKysrLQorIHNzbC90MV9saWIuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrCisgdXRpbC9saWJjcnlwdG8ubnVtICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKworIDEzIGZpbGVzIGNoYW5nZWQsIDE5OCBpbnNl cnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9ldnBf Y25mLmMgYi9jcnlwdG8vZXZwL2V2cF9jbmYuYworaW5kZXggMGU3ZmU2NGNmOS4uYjlkM2I2ZDIy NiAxMDA2NDQKKy0tLSBhL2NyeXB0by9ldnAvZXZwX2NuZi5jCisrKysgYi9jcnlwdG8vZXZwL2V2 cF9jbmYuYworQEAgLTEwLDYgKzEwLDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVk ZSA8b3BlbnNzbC9jcnlwdG8uaD4KKyAjaW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKKysj aW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorICNpbmNsdWRlIDxvcGVuc3NsL2NvbmYuaD4K KyAjaW5jbHVkZSA8b3BlbnNzbC94NTA5Lmg+CisgI2luY2x1ZGUgPG9wZW5zc2wveDUwOXYzLmg+ CitAQCAtNTcsNiArNTgsMTggQEAgc3RhdGljIGludCBhbGdfbW9kdWxlX2luaXQoQ09ORl9JTU9E VUxFICptZCwgY29uc3QgQ09ORiAqY25mKQorICAgICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJS X0xJQl9FVlAsIEVWUF9SX1NFVF9ERUZBVUxUX1BST1BFUlRZX0ZBSUxVUkUpOworICAgICAgICAg ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICB9CisrICAgICAgICB9IGVsc2UgaWYgKHN0 cmNtcChvdmFsLT5uYW1lLCAicmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzIikgPT0gMCkgeworKyAg ICAgICAgICAgIGludCBtOworKworKyAgICAgICAgICAgIC8qIERldGFpbGVkIGVycm9yIGFscmVh ZHkgcmVwb3J0ZWQuICovCisrICAgICAgICAgICAgaWYgKCFYNTA5VjNfZ2V0X3ZhbHVlX2Jvb2wo b3ZhbCwgJm0pKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgICAgICBp ZiAoIW9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCgKKysgICAg ICAgICAgICAgICAgICAgIE5DT05GX2dldDBfbGliY3R4KChDT05GICopY25mKSwgbSA+IDAsIDAp KSB7CisrICAgICAgICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfU0VUX0RF RkFVTFRfUFJPUEVSVFlfRkFJTFVSRSk7CisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKyAg ICAgICAgICAgIH0KKyAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgRVJSX3JhaXNlX2Rh dGEoRVJSX0xJQl9FVlAsIEVWUF9SX1VOS05PV05fT1BUSU9OLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJuYW1lPSVzLCB2YWx1ZT0lcyIsIG92YWwtPm5hbWUsIG92YWwtPnZhbHVlKTsK K2RpZmYgLS1naXQgYS9jcnlwdG8vZXZwL21fc2lndmVyLmMgYi9jcnlwdG8vZXZwL21fc2lndmVy LmMKK2luZGV4IDc2YTY4MTRiNDIuLjhkYTIxODNjZTAgMTAwNjQ0CistLS0gYS9jcnlwdG8vZXZw L21fc2lndmVyLmMKKysrKyBiL2NyeXB0by9ldnAvbV9zaWd2ZXIuYworQEAgLTE2LDYgKzE2LDc5 IEBACisgI2luY2x1ZGUgImludGVybmFsL251bWJlcnMuaCIgICAvKiBpbmNsdWRlcyBTSVpFX01B WCAqLworICNpbmNsdWRlICJldnBfbG9jYWwuaCIKKyAKKyt0eXBlZGVmIHN0cnVjdCBvc3NsX2xl Z2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19zdCB7CisrICAgIGludCBhbGxvd2VkOworK30gT1NTTF9M RUdBQ1lfRElHRVNUX1NJR05BVFVSRVM7CisrCisrc3RhdGljIHZvaWQgb3NzbF9jdHhfbGVnYWN5 X2RpZ2VzdF9zaWduYXR1cmVzX2ZyZWUodm9pZCAqdmxkc2lncykKKyt7CisrICAgIE9TU0xfTEVH QUNZX0RJR0VTVF9TSUdOQVRVUkVTICpsZHNpZ3MgPSB2bGRzaWdzOworKworKyAgICBpZiAobGRz aWdzICE9IE5VTEwpIHsKKysgICAgICAgIE9QRU5TU0xfZnJlZShsZHNpZ3MpOworKyAgICB9Cisr fQorKworK3N0YXRpYyB2b2lkICpvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfbmV3 KE9TU0xfTElCX0NUWCAqY3R4KQorK3sKKysgICAgT1NTTF9MRUdBQ1lfRElHRVNUX1NJR05BVFVS RVMqIGxkc2lncyA9IE9QRU5TU0xfemFsbG9jKHNpemVvZihPU1NMX0xFR0FDWV9ESUdFU1RfU0lH TkFUVVJFUykpOworKyAgICAvKiBXYXJuaW5nOiBUaGlzIHBhdGNoIGRpZmZlcnMgZnJvbSB0aGUg c2FtZSBwYXRjaCBpbiBDZW50T1MgYW5kIFJIRUwgaGVyZSwKKysgICAgICogYmVjYXVzZSB0aGUg ZGVmYXVsdCBvbiBGZWRvcmEgaXMgdG8gYWxsb3cgU0hBLTEgYW5kIHN1cHBvcnQgZGlzYWJsaW5n CisrICAgICAqIGl0LCB3aGlsZSBDZW50T1MvUkhFTCBkaXNhYmxlIGl0IGJ5IGRlZmF1bHQgYW5k IGFsbG93IGVuYWJsaW5nIGl0LiAqLworKyAgICBsZHNpZ3MtPmFsbG93ZWQgPSAxOworKyAgICBy ZXR1cm4gbGRzaWdzOworK30KKysKKytzdGF0aWMgY29uc3QgT1NTTF9MSUJfQ1RYX01FVEhPRCBv c3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfbWV0aG9kID0geworKyAgICBPU1NMX0xJ Ql9DVFhfTUVUSE9EX0RFRkFVTFRfUFJJT1JJVFksCisrICAgIG9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlc19uZXcsCisrICAgIG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJl c19mcmVlLAorK307CisrCisrc3RhdGljIE9TU0xfTEVHQUNZX0RJR0VTVF9TSUdOQVRVUkVTICpv c3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMoCisrICAgICAgICBPU1NMX0xJQl9DVFgg KmxpYmN0eCwgaW50IGxvYWRjb25maWcpCisreworKyNpZm5kZWYgRklQU19NT0RVTEUKKysgICAg aWYgKGxvYWRjb25maWcgJiYgIU9QRU5TU0xfaW5pdF9jcnlwdG8oT1BFTlNTTF9JTklUX0xPQURf Q09ORklHLCBOVUxMKSkKKysgICAgICAgIHJldHVybiBOVUxMOworKyNlbmRpZgorKworKyAgICBy ZXR1cm4gb3NzbF9saWJfY3R4X2dldF9kYXRhKGxpYmN0eCwgT1NTTF9MSUJfQ1RYX0xFR0FDWV9E SUdFU1RfU0lHTkFUVVJFUywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3Nz bF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX21ldGhvZCk7CisrfQorKworK2ludCBvc3Ns X2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChPU1NMX0xJQl9DVFggKmxpYmN0 eCwgaW50IGxvYWRjb25maWcpCisreworKyAgICBPU1NMX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJF UyAqbGRzaWdzCisrICAgICAgICA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlcyhs aWJjdHgsIGxvYWRjb25maWcpOworKworKyNpZm5kZWYgRklQU19NT0RVTEUKKysgICAgaWYgKG9z c2xfc2FmZV9nZXRlbnYoIk9QRU5TU0xfRU5BQkxFX1NIQTFfU0lHTkFUVVJFUyIpICE9IE5VTEwp CisrICAgICAgICAvKiB1c2VkIGluIHRlc3RzICovCisrICAgICAgICByZXR1cm4gMTsKKysjZW5k aWYKKysKKysgICAgLyogV2FybmluZzogVGhpcyBwYXRjaCBkaWZmZXJzIGZyb20gdGhlIHNhbWUg cGF0Y2ggaW4gQ2VudE9TIGFuZCBSSEVMIGhlcmUsCisrICAgICAqIGJlY2F1c2UgdGhlIGRlZmF1 bHQgb24gRmVkb3JhIGlzIHRvIGFsbG93IFNIQS0xIGFuZCBzdXBwb3J0IGRpc2FibGluZworKyAg ICAgKiBpdCwgd2hpbGUgQ2VudE9TL1JIRUwgZGlzYWJsZSBpdCBieSBkZWZhdWx0IGFuZCBhbGxv dyBlbmFibGluZyBpdC4gKi8KKysgICAgcmV0dXJuIGxkc2lncyAhPSBOVUxMID8gbGRzaWdzLT5h bGxvd2VkIDogMTsKKyt9CisrCisraW50IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJl c19hbGxvd2VkX3NldChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGFsbG93LAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvYWRjb25maWcp CisreworKyAgICBPU1NMX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFUyAqbGRzaWdzCisrICAgICAg ICA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlcyhsaWJjdHgsIGxvYWRjb25maWcp OworKworKyAgICBpZiAobGRzaWdzID09IE5VTEwpIHsKKysgICAgICAgIEVSUl9yYWlzZShFUlJf TElCX0VWUCwgRVJSX1JfSU5URVJOQUxfRVJST1IpOworKyAgICAgICAgcmV0dXJuIDA7CisrICAg IH0KKysKKysgICAgbGRzaWdzLT5hbGxvd2VkID0gYWxsb3c7CisrICAgIHJldHVybiAxOworK30K KysKKyAjaWZuZGVmIEZJUFNfTU9EVUxFCisgCisgc3RhdGljIGludCB1cGRhdGUoRVZQX01EX0NU WCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbikKK0BAIC0yNTgsNiArMzMx LDE4IEBAIHN0YXRpYyBpbnQgZG9fc2lndmVyX2luaXQoRVZQX01EX0NUWCAqY3R4LCBFVlBfUEtF WV9DVFggKipwY3R4LAorICAgICAgICAgfQorICAgICB9CisgCisrICAgIGlmIChjdHgtPnJlcWRp Z2VzdCAhPSBOVUxMCisrICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2EobG9jcGN0eC0+cGtl eSwgU05faG1hYykKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShsb2NwY3R4LT5wa2V5 LCBTTl90bHMxX3ByZikKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShsb2NwY3R4LT5w a2V5LCBTTl9oa2RmKSkgeworKyAgICAgICAgaW50IG1kbmlkID0gRVZQX01EX25pZChjdHgtPnJl cWRpZ2VzdCk7CisrICAgICAgICBpZiAoIW9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJl c19hbGxvd2VkKGxvY3BjdHgtPmxpYmN0eCwgMCkKKysgICAgICAgICAgICAgICAgJiYgKG1kbmlk ID09IE5JRF9zaGExIHx8IG1kbmlkID09IE5JRF9tZDVfc2hhMSkpIHsKKysgICAgICAgICAgICBF UlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVWUF9SX0lOVkFMSURfRElHRVNUKTsKKysgICAgICAgICAg ICBnb3RvIGVycjsKKysgICAgICAgIH0KKysgICAgfQorKworICAgICBpZiAodmVyKSB7CisgICAg ICAgICBpZiAoc2lnbmF0dXJlLT5kaWdlc3RfdmVyaWZ5X2luaXQgPT0gTlVMTCkgeworICAgICAg ICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfSU5JVElBTElaQVRJT05fRVJST1Ip OworZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvcG1ldGhfbGliLmMgYi9jcnlwdG8vZXZwL3BtZXRo X2xpYi5jCitpbmRleCAyYjljNmMyMzUxLi4zYzVhMWU2ZjVkIDEwMDY0NAorLS0tIGEvY3J5cHRv L2V2cC9wbWV0aF9saWIuYworKysrIGIvY3J5cHRvL2V2cC9wbWV0aF9saWIuYworQEAgLTMzLDYg KzMzLDcgQEAKKyAjaW5jbHVkZSAiaW50ZXJuYWwvZmZjLmgiCisgI2luY2x1ZGUgImludGVybmFs L251bWJlcnMuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvcHJvdmlkZXIuaCIKKysjaW5jbHVkZSAi aW50ZXJuYWwvc3NsY29uZi5oIgorICNpbmNsdWRlICJldnBfbG9jYWwuaCIKKyAKKyAjaWZuZGVm IEZJUFNfTU9EVUxFCitAQCAtOTQ2LDYgKzk0NywyMCBAQCBzdGF0aWMgaW50IGV2cF9wa2V5X2N0 eF9zZXRfbWQoRVZQX1BLRVlfQ1RYICpjdHgsIGNvbnN0IEVWUF9NRCAqbWQsCisgICAgICAgICBy ZXR1cm4gLTI7CisgICAgIH0KKyAKKysgICAgaWYgKEVWUF9QS0VZX0NUWF9JU19TSUdOQVRVUkVf T1AoY3R4KQorKyAgICAgICAgICAgICYmIG1kICE9IE5VTEwKKysgICAgICAgICAgICAmJiBjdHgt PnBrZXkgIT0gTlVMTAorKyAgICAgICAgICAgICYmICFFVlBfUEtFWV9pc19hKGN0eC0+cGtleSwg U05faG1hYykKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShjdHgtPnBrZXksIFNOX3Rs czFfcHJmKQorKyAgICAgICAgICAgICYmICFFVlBfUEtFWV9pc19hKGN0eC0+cGtleSwgU05faGtk ZikpIHsKKysgICAgICAgIGludCBtZG5pZCA9IEVWUF9NRF9uaWQobWQpOworKyAgICAgICAgaWYg KChtZG5pZCA9PSBOSURfc2hhMSB8fCBtZG5pZCA9PSBOSURfbWQ1X3NoYTEpCisrICAgICAgICAg ICAgICAgICYmICFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChjdHgt PmxpYmN0eCwgMCkpIHsKKysgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVWUF9S X0lOVkFMSURfRElHRVNUKTsKKysgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICB9Cisr ICAgIH0KKysKKyAgICAgaWYgKGZhbGxiYWNrKQorICAgICAgICAgcmV0dXJuIEVWUF9QS0VZX0NU WF9jdHJsKGN0eCwgLTEsIG9wLCBjdHJsLCAwLCAodm9pZCAqKShtZCkpOworIAorZGlmZiAtLWdp dCBhL2RvYy9tYW41L2NvbmZpZy5wb2QgYi9kb2MvbWFuNS9jb25maWcucG9kCitpbmRleCA3N2E4 MDU1ZTgxLi4wYzkxMTBkMjhhIDEwMDY0NAorLS0tIGEvZG9jL21hbjUvY29uZmlnLnBvZAorKysr IGIvZG9jL21hbjUvY29uZmlnLnBvZAorQEAgLTI5Niw2ICsyOTYsMTkgQEAgV2l0aGluIHRoZSBh bGdvcml0aG0gcHJvcGVydGllcyBzZWN0aW9uLCB0aGUgZm9sbG93aW5nIG5hbWVzIGhhdmUgbWVh bmluZzoKKyBUaGUgdmFsdWUgbWF5IGJlIGFueXRoaW5nIHRoYXQgaXMgYWNjZXB0YWJsZSBhcyBh IHByb3BlcnR5IHF1ZXJ5Cisgc3RyaW5nIGZvciBFVlBfc2V0X2RlZmF1bHRfcHJvcGVydGllcygp LgorIAorKz1pdGVtIEI8cmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzPgorKworK1RoZSB2YWx1ZSBp cyBhIGJvb2xlYW4gdGhhdCBjYW4gYmUgQjx5ZXM+IG9yIEI8bm8+LiAgSWYgdGhlIHZhbHVlIGlz IG5vdCBzZXQsCisraXQgYmVoYXZlcyBhcyBpZiBpdCB3YXMgc2V0IHRvIEI8eWVzPi4KKysKKytX aGVuIHNldCB0byBCPG5vPiwgYW55IGF0dGVtcHQgdG8gY3JlYXRlIG9yIHZlcmlmeSBhIHNpZ25h dHVyZSB3aXRoIGEgU0hBMQorK2RpZ2VzdCB3aWxsIGZhaWwuICBUbyB0ZXN0IHdoZXRoZXIgeW91 ciBzb2Z0d2FyZSB3aWxsIHdvcmsgd2l0aCBmdXR1cmUgdmVyc2lvbnMKKytvZiBPcGVuU1NMLCBz ZXQgdGhpcyBvcHRpb24gdG8gQjxubz4uICBUaGlzIHNldHRpbmcgYWxzbyBhZmZlY3RzIFRMUywg d2hlcmUKKytzaWduYXR1cmUgYWxnb3JpdGhtcyB0aGF0IHVzZSBTSEExIGFzIGRpZ2VzdCB3aWxs IG5vIGxvbmdlciBiZSBzdXBwb3J0ZWQgaWYKKyt0aGlzIG9wdGlvbiBpcyBzZXQgdG8gQjxubz4u ICBCZWNhdXNlIFRMUyAxLjEgb3IgbG93ZXIgdXNlIE1ENS1TSEExIGFzCisrcHNldWRvcmFuZG9t IGZ1bmN0aW9uIChQUkYpIHRvIGRlcml2ZSBrZXkgbWF0ZXJpYWwsIGRpc2FibGluZworK0I8cmgt YWxsb3ctc2hhMS1zaWduYXR1cmVzPiByZXF1aXJlcyB0aGUgdXNlIG9mIFRMUyAxLjIgb3IgbmV3 ZXIuCisrCisgPWl0ZW0gQjxmaXBzX21vZGU+IChkZXByZWNhdGVkKQorIAorIFRoZSB2YWx1ZSBp cyBhIGJvb2xlYW4gdGhhdCBjYW4gYmUgQjx5ZXM+IG9yIEI8bm8+LiAgSWYgdGhlIHZhbHVlIGlz CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jcnlwdGxpYi5oIGIvaW5jbHVkZS9pbnRl cm5hbC9jcnlwdGxpYi5oCitpbmRleCAxMjkxMjk5YjZlLi5lMjM0MzQxZTZhIDEwMDY0NAorLS0t IGEvaW5jbHVkZS9pbnRlcm5hbC9jcnlwdGxpYi5oCisrKysgYi9pbmNsdWRlL2ludGVybmFsL2Ny eXB0bGliLmgKK0BAIC0xNjgsNyArMTY4LDggQEAgdHlwZWRlZiBzdHJ1Y3Qgb3NzbF9leF9kYXRh X2dsb2JhbF9zdCB7CisgIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX1BST1ZJREVSX0NPTkZfSU5ERVgg ICAgICAgICAgIDE2CisgIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX0JJT19DT1JFX0lOREVYICAgICAg ICAgICAgICAgIDE3CisgIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX0NISUxEX1BST1ZJREVSX0lOREVY ICAgICAgICAgIDE4CistIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX01BWF9JTkRFWEVTICAgICAgICAg ICAgICAgICAgIDE5CisrIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX0xFR0FDWV9ESUdFU1RfU0lHTkFU VVJFUyAgICAgIDE5CisrIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX01BWF9JTkRFWEVTICAgICAgICAg ICAgICAgICAgIDIwCisgCisgIyBkZWZpbmUgT1NTTF9MSUJfQ1RYX01FVEhPRF9MT1dfUFJJT1JJ VFkgICAgICAgICAgLTEKKyAjIGRlZmluZSBPU1NMX0xJQl9DVFhfTUVUSE9EX0RFRkFVTFRfUFJJ T1JJVFkgICAgICAgMAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvaW50ZXJuYWwvc3NsY29uZi5oIGIv aW5jbHVkZS9pbnRlcm5hbC9zc2xjb25mLmgKK2luZGV4IGZkN2Y3ZTMzMzEuLjA1NDY0YjA2NTUg MTAwNjQ0CistLS0gYS9pbmNsdWRlL2ludGVybmFsL3NzbGNvbmYuaAorKysrIGIvaW5jbHVkZS9p bnRlcm5hbC9zc2xjb25mLmgKK0BAIC0xOCw0ICsxOCw4IEBAIGludCBjb25mX3NzbF9uYW1lX2Zp bmQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90ICppZHgpOworIHZvaWQgY29uZl9zc2xfZ2V0X2Nt ZChjb25zdCBTU0xfQ09ORl9DTUQgKmNtZCwgc2l6ZV90IGlkeCwgY2hhciAqKmNtZHN0ciwKKyAg ICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmFyZyk7CisgCisrLyogTWV0aG9kcyB0byBzdXBw b3J0IGRpc2FibGluZyBhbGwgc2lnbmF0dXJlcyB3aXRoIGxlZ2FjeSBkaWdlc3RzICovCisraW50 IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKE9TU0xfTElCX0NUWCAq bGliY3R4LCBpbnQgbG9hZGNvbmZpZyk7CisraW50IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2ln bmF0dXJlc19hbGxvd2VkX3NldChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGFsbG93LAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvYWRj b25maWcpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVjay5jIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKK2luZGV4IDY5OWFkYTdj NTIuLmU1MzRhZDBhNWYgMTAwNjQ0CistLS0gYS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hl Y2suYworKysrIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKK0BAIC0xOSw2ICsx OSw3IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvY29yZV9uYW1lcy5oPgorICNpbmNsdWRlIDxvcGVu c3NsL29ial9tYWMuaD4KKyAjaW5jbHVkZSAicHJvdi9zZWN1cml0eWNoZWNrLmgiCisrI2luY2x1 ZGUgImludGVybmFsL3NzbGNvbmYuaCIKKyAKKyAvKgorICAqIEZJUFMgcmVxdWlyZXMgYSBtaW5p bXVtIHNlY3VyaXR5IHN0cmVuZ3RoIG9mIDExMiBiaXRzIChmb3IgZW5jcnlwdGlvbiBvcgorQEAg LTIzNSw2ICsyMzYsMTUgQEAgaW50IG9zc2xfZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9z aGExKE9TU0xfTElCX0NUWCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kLAorICAgICAgICAgICAgIG1k bmlkID0gLTE7IC8qIGRpc2FsbG93ZWQgYnkgc2VjdXJpdHkgY2hlY2tzICovCisgICAgIH0KKyAj IGVuZGlmIC8qIE9QRU5TU0xfTk9fRklQU19TRUNVUklUWUNIRUNLUyAqLworKworKyNpZm5kZWYg RklQU19NT0RVTEUKKysgICAgaWYgKCFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNf YWxsb3dlZChjdHgsIDApKQorKyAgICAgICAgLyogU0hBMSBpcyBnbG9iYWxseSBkaXNhYmxlZCwg Y2hlY2sgd2hldGhlciB3ZSB3YW50IHRvIGxvY2FsbHkgYWxsb3cKKysgICAgICAgICAqIGl0LiAq LworKyAgICAgICAgaWYgKG1kbmlkID09IE5JRF9zaGExICYmICFzaGExX2FsbG93ZWQpCisrICAg ICAgICAgICAgbWRuaWQgPSAtMTsKKysjZW5kaWYKKysKKyAgICAgcmV0dXJuIG1kbmlkOworIH0K KyAKK0BAIC0yNDQsNSArMjU0LDE1IEBAIGludCBvc3NsX2RpZ2VzdF9pc19hbGxvd2VkKE9TU0xf TElCX0NUWCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kKQorICAgICBpZiAob3NzbF9zZWN1cml0eWNo ZWNrX2VuYWJsZWQoY3R4KSkKKyAgICAgICAgIHJldHVybiBvc3NsX2RpZ2VzdF9nZXRfYXBwcm92 ZWRfbmlkKG1kKSAhPSBOSURfdW5kZWY7CisgIyBlbmRpZiAvKiBPUEVOU1NMX05PX0ZJUFNfU0VD VVJJVFlDSEVDS1MgKi8KKysKKysjaWZuZGVmIEZJUFNfTU9EVUxFCisrICAgIHsKKysgICAgICAg IGludCBtZG5pZCA9IEVWUF9NRF9uaWQobWQpOworKyAgICAgICAgaWYgKChtZG5pZCA9PSBOSURf c2hhMSB8fCBtZG5pZCA9PSBOSURfbWQ1X3NoYTEpCisrICAgICAgICAgICAgICAgICYmICFvc3Ns X2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChjdHgsIDApKQorKyAgICAgICAg ICAgIHJldHVybiAwOworKyAgICB9CisrI2VuZGlmCisrCisgICAgIHJldHVybiAxOworIH0KK2Rp ZmYgLS1naXQgYS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2tfZGVmYXVsdC5jIGIvcHJv dmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrX2RlZmF1bHQuYworaW5kZXggZGU3ZjBkM2EwYS4u Y2U1NGE5NGZiYyAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19k ZWZhdWx0LmMKKysrKyBiL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19kZWZhdWx0LmMK K0BAIC0xNSw2ICsxNSw3IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgorICNpbmNs dWRlICJwcm92L3NlY3VyaXR5Y2hlY2suaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvbmVsZW0uaCIK KysjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorIAorIC8qIERpc2FibGUgdGhlIHNlY3Vy aXR5IGNoZWNrcyBpbiB0aGUgZGVmYXVsdCBwcm92aWRlciAqLworIGludCBvc3NsX3NlY3VyaXR5 Y2hlY2tfZW5hYmxlZChPU1NMX0xJQl9DVFggKmxpYmN0eCkKK0BAIC0yMyw5ICsyNCwxMCBAQCBp bnQgb3NzbF9zZWN1cml0eWNoZWNrX2VuYWJsZWQoT1NTTF9MSUJfQ1RYICpsaWJjdHgpCisgfQor IAorIGludCBvc3NsX2RpZ2VzdF9yc2Ffc2lnbl9nZXRfbWRfbmlkKE9TU0xfTElCX0NUWCAqY3R4 LCBjb25zdCBFVlBfTUQgKm1kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9zc2xfdW51c2VkIGludCBzaGExX2FsbG93ZWQpCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IHNoYTFfYWxsb3dlZCkKKyB7CisgICAgIGludCBtZG5pZDsKKysgICAg aW50IGxkc2lnc19hbGxvd2VkOworIAorICAgICBzdGF0aWMgY29uc3QgT1NTTF9JVEVNIG5hbWVf dG9fbmlkW10gPSB7CisgICAgICAgICB7IE5JRF9tZDUsICAgICAgIE9TU0xfRElHRVNUX05BTUVf TUQ1ICAgICAgIH0sCitAQCAtMzYsOCArMzgsMTEgQEAgaW50IG9zc2xfZGlnZXN0X3JzYV9zaWdu X2dldF9tZF9uaWQoT1NTTF9MSUJfQ1RYICpjdHgsIGNvbnN0IEVWUF9NRCAqbWQsCisgICAgICAg ICB7IE5JRF9yaXBlbWQxNjAsIE9TU0xfRElHRVNUX05BTUVfUklQRU1EMTYwIH0sCisgICAgIH07 CisgCistICAgIG1kbmlkID0gb3NzbF9kaWdlc3RfZ2V0X2FwcHJvdmVkX25pZF93aXRoX3NoYTEo Y3R4LCBtZCwgMSk7CisrICAgIGxkc2lnc19hbGxvd2VkID0gb3NzbF9jdHhfbGVnYWN5X2RpZ2Vz dF9zaWduYXR1cmVzX2FsbG93ZWQoY3R4LCAwKTsKKysgICAgbWRuaWQgPSBvc3NsX2RpZ2VzdF9n ZXRfYXBwcm92ZWRfbmlkX3dpdGhfc2hhMShjdHgsIG1kLCBzaGExX2FsbG93ZWQgfHwgbGRzaWdz X2FsbG93ZWQpOworICAgICBpZiAobWRuaWQgPT0gTklEX3VuZGVmKQorICAgICAgICAgbWRuaWQg PSBvc3NsX2RpZ2VzdF9tZF90b19uaWQobWQsIG5hbWVfdG9fbmlkLCBPU1NMX05FTEVNKG5hbWVf dG9fbmlkKSk7CisrICAgIGlmIChtZG5pZCA9PSBOSURfbWQ1X3NoYTEgJiYgIWxkc2lnc19hbGxv d2VkKQorKyAgICAgICAgbWRuaWQgPSAtMTsKKyAgICAgcmV0dXJuIG1kbmlkOworIH0KK2RpZmYg LS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9kc2Ffc2lnLmMgYi9w cm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9kc2Ffc2lnLmMKK2luZGV4IDI4ZmQ3 YzQ5OGUuLmZhMzgyMmYzOWYgMTAwNjQ0CistLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L3NpZ25hdHVyZS9kc2Ffc2lnLmMKKysrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2ln bmF0dXJlL2RzYV9zaWcuYworQEAgLTEyNCwxMiArMTI0LDE3IEBAIHN0YXRpYyBpbnQgZHNhX3Nl dHVwX21kKFBST1ZfRFNBX0NUWCAqY3R4LAorICAgICAgICAgbWRwcm9wcyA9IGN0eC0+cHJvcHE7 CisgCisgICAgIGlmIChtZG5hbWUgIT0gTlVMTCkgeworLSAgICAgICAgaW50IHNoYTFfYWxsb3dl ZCA9IChjdHgtPm9wZXJhdGlvbiAhPSBFVlBfUEtFWV9PUF9TSUdOKTsKKyAgICAgICAgIFdQQUNL RVQgcGt0OworICAgICAgICAgRVZQX01EICptZCA9IEVWUF9NRF9mZXRjaChjdHgtPmxpYmN0eCwg bWRuYW1lLCBtZHByb3BzKTsKKy0gICAgICAgIGludCBtZF9uaWQgPSBvc3NsX2RpZ2VzdF9nZXRf YXBwcm92ZWRfbmlkX3dpdGhfc2hhMShjdHgtPmxpYmN0eCwgbWQsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhMV9hbGxvd2Vk KTsKKysgICAgICAgIGludCBtZF9uaWQ7CisgICAgICAgICBzaXplX3QgbWRuYW1lX2xlbiA9IHN0 cmxlbihtZG5hbWUpOworKyNpZmRlZiBGSVBTX01PRFVMRQorKyAgICAgICAgaW50IHNoYTFfYWxs b3dlZCA9IChjdHgtPm9wZXJhdGlvbiAhPSBFVlBfUEtFWV9PUF9TSUdOKTsKKysjZWxzZQorKyAg ICAgICAgaW50IHNoYTFfYWxsb3dlZCA9IDA7CisrI2VuZGlmCisrICAgICAgICBtZF9uaWQgPSBv c3NsX2RpZ2VzdF9nZXRfYXBwcm92ZWRfbmlkX3dpdGhfc2hhMShjdHgtPmxpYmN0eCwgbWQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2hhMV9hbGxvd2VkKTsKKyAKKyAgICAgICAgIGlmIChtZCA9PSBOVUxMIHx8IG1kX25pZCA8 IDApIHsKKyAgICAgICAgICAgICBpZiAobWQgPT0gTlVMTCkKK2RpZmYgLS1naXQgYS9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9lY2RzYV9zaWcuYyBiL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jCitpbmRleCA4NjVkNDlkMTAwLi45OWIy MjhlODJjIDEwMDY0NAorLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUv ZWNkc2Ffc2lnLmMKKysrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2Vj ZHNhX3NpZy5jCitAQCAtMjM3LDcgKzIzNywxMSBAQCBzdGF0aWMgaW50IGVjZHNhX3NldHVwX21k KFBST1ZfRUNEU0FfQ1RYICpjdHgsIGNvbnN0IGNoYXIgKm1kbmFtZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICIlcyBjb3VsZCBub3QgYmUgZmV0Y2hlZCIsIG1kbmFtZSk7CisgICAgICAgICBy ZXR1cm4gMDsKKyAgICAgfQorKyNpZmRlZiBGSVBTX01PRFVMRQorICAgICBzaGExX2FsbG93ZWQg PSAoY3R4LT5vcGVyYXRpb24gIT0gRVZQX1BLRVlfT1BfU0lHTik7CisrI2Vsc2UKKysgICAgc2hh MV9hbGxvd2VkID0gMDsKKysjZW5kaWYKKyAgICAgbWRfbmlkID0gb3NzbF9kaWdlc3RfZ2V0X2Fw cHJvdmVkX25pZF93aXRoX3NoYTEoY3R4LT5saWJjdHgsIG1kLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGExX2FsbG93ZWQpOworICAgICBp ZiAobWRfbmlkIDwgMCkgeworZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv c2lnbmF0dXJlL3JzYV9zaWcuYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJl L3JzYV9zaWcuYworaW5kZXggMzI1ZTg1NTMzMy4uYmVhMzk3ZjBjMSAxMDA2NDQKKy0tLSBhL3By b3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcuYworKysrIGIvcHJvdmlk ZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCitAQCAtMjYsNiArMjYsNyBA QAorICNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgorICNpbmNsdWRlICJpbnRlcm5hbC9u ZWxlbS5oIgorICNpbmNsdWRlICJpbnRlcm5hbC9zaXplcy5oIgorKyNpbmNsdWRlICJpbnRlcm5h bC9zc2xjb25mLmgiCisgI2luY2x1ZGUgImNyeXB0by9yc2EuaCIKKyAjaW5jbHVkZSAicHJvdi9w cm92aWRlcmNvbW1vbi5oIgorICNpbmNsdWRlICJwcm92L2ltcGxlbWVudGF0aW9ucy5oIgorQEAg LTM0LDYgKzM1LDcgQEAKKyAjaW5jbHVkZSAicHJvdi9zZWN1cml0eWNoZWNrLmgiCisgCisgI2Rl ZmluZSBSU0FfREVGQVVMVF9ESUdFU1RfTkFNRSBPU1NMX0RJR0VTVF9OQU1FX1NIQTEKKysjZGVm aW5lIFJTQV9ERUZBVUxUX0RJR0VTVF9OQU1FX05PTkxFR0FDWSBPU1NMX0RJR0VTVF9OQU1FX1NI QTJfMjU2CisgCisgc3RhdGljIE9TU0xfRlVOQ19zaWduYXR1cmVfbmV3Y3R4X2ZuIHJzYV9uZXdj dHg7Cisgc3RhdGljIE9TU0xfRlVOQ19zaWduYXR1cmVfc2lnbl9pbml0X2ZuIHJzYV9zaWduX2lu aXQ7CitAQCAtMjg5LDEwICsyOTEsMTUgQEAgc3RhdGljIGludCByc2Ffc2V0dXBfbWQoUFJPVl9S U0FfQ1RYICpjdHgsIGNvbnN0IGNoYXIgKm1kbmFtZSwKKyAKKyAgICAgaWYgKG1kbmFtZSAhPSBO VUxMKSB7CisgICAgICAgICBFVlBfTUQgKm1kID0gRVZQX01EX2ZldGNoKGN0eC0+bGliY3R4LCBt ZG5hbWUsIG1kcHJvcHMpOworKyAgICAgICAgaW50IG1kX25pZDsKKysgICAgICAgIHNpemVfdCBt ZG5hbWVfbGVuID0gc3RybGVuKG1kbmFtZSk7CisrI2lmZGVmIEZJUFNfTU9EVUxFCisgICAgICAg ICBpbnQgc2hhMV9hbGxvd2VkID0gKGN0eC0+b3BlcmF0aW9uICE9IEVWUF9QS0VZX09QX1NJR04p OworLSAgICAgICAgaW50IG1kX25pZCA9IG9zc2xfZGlnZXN0X3JzYV9zaWduX2dldF9tZF9uaWQo Y3R4LT5saWJjdHgsIG1kLAorKyNlbHNlCisrICAgICAgICBpbnQgc2hhMV9hbGxvd2VkID0gMDsK KysjZW5kaWYKKysgICAgICAgIG1kX25pZCA9IG9zc2xfZGlnZXN0X3JzYV9zaWduX2dldF9tZF9u aWQoY3R4LT5saWJjdHgsIG1kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2hhMV9hbGxvd2VkKTsKKy0gICAgICAgIHNpemVfdCBtZG5hbWVf bGVuID0gc3RybGVuKG1kbmFtZSk7CisgCisgICAgICAgICBpZiAobWQgPT0gTlVMTAorICAgICAg ICAgICAgIHx8IG1kX25pZCA8PSAwCitAQCAtMTM0OCw4ICsxMzU1LDE1IEBAIHN0YXRpYyBpbnQg cnNhX3NldF9jdHhfcGFyYW1zKHZvaWQgKnZwcnNhY3R4LCBjb25zdCBPU1NMX1BBUkFNIHBhcmFt c1tdKQorICAgICBwcnNhY3R4LT5wYWRfbW9kZSA9IHBhZF9tb2RlOworIAorICAgICBpZiAocHJz YWN0eC0+bWQgPT0gTlVMTCAmJiBwbWRuYW1lID09IE5VTEwKKy0gICAgICAgICYmIHBhZF9tb2Rl ID09IFJTQV9QS0NTMV9QU1NfUEFERElORykKKysgICAgICAgICYmIHBhZF9tb2RlID09IFJTQV9Q S0NTMV9QU1NfUEFERElORykgeworICAgICAgICAgcG1kbmFtZSA9IFJTQV9ERUZBVUxUX0RJR0VT VF9OQU1FOworKyNpZm5kZWYgRklQU19NT0RVTEUKKysgICAgICAgIGlmICghb3NzbF9jdHhfbGVn YWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWQocHJzYWN0eC0+bGliY3R4LCAwKSkgeworKyAg ICAgICAgICAgIHBtZG5hbWUgPSBSU0FfREVGQVVMVF9ESUdFU1RfTkFNRV9OT05MRUdBQ1k7Cisr ICAgICAgICB9CisrI2VuZGlmCisrICAgIH0KKysKKyAKKyAgICAgaWYgKHBtZ2YxbWRuYW1lICE9 IE5VTEwKKyAgICAgICAgICYmICFyc2Ffc2V0dXBfbWdmMV9tZChwcnNhY3R4LCBwbWdmMW1kbmFt ZSwgcG1nZjFtZHByb3BzKSkKK2RpZmYgLS1naXQgYS9zc2wvdDFfbGliLmMgYi9zc2wvdDFfbGli LmMKK2luZGV4IDQxZmRkZjIyYTcuLmRjZDQ4N2VjMmUgMTAwNjQ0CistLS0gYS9zc2wvdDFfbGli LmMKKysrKyBiL3NzbC90MV9saWIuYworQEAgLTIwLDYgKzIwLDcgQEAKKyAjaW5jbHVkZSA8b3Bl bnNzbC9ibi5oPgorICNpbmNsdWRlIDxvcGVuc3NsL3Byb3ZpZGVyLmg+CisgI2luY2x1ZGUgPG9w ZW5zc2wvcGFyYW1fYnVpbGQuaD4KKysjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorICNp bmNsdWRlICJpbnRlcm5hbC9uZWxlbS5oIgorICNpbmNsdWRlICJpbnRlcm5hbC9zaXplcy5oIgor ICNpbmNsdWRlICJpbnRlcm5hbC90bHNncm91cHMuaCIKK0BAIC0xMTQ1LDExICsxMTQ2LDEzIEBA IGludCBzc2xfc2V0dXBfc2lnX2FsZ3MoU1NMX0NUWCAqY3R4KQorICAgICAgICAgPSBPUEVOU1NM X21hbGxvYyhzaXplb2YoKmx1KSAqIE9TU0xfTkVMRU0oc2lnYWxnX2xvb2t1cF90YmwpKTsKKyAg ICAgRVZQX1BLRVkgKnRtcGtleSA9IEVWUF9QS0VZX25ldygpOworICAgICBpbnQgcmV0ID0gMDsK KysgICAgaW50IGxkc2lnc19hbGxvd2VkOworIAorICAgICBpZiAoY2FjaGUgPT0gTlVMTCB8fCB0 bXBrZXkgPT0gTlVMTCkKKyAgICAgICAgIGdvdG8gZXJyOworIAorICAgICBFUlJfc2V0X21hcmso KTsKKysgICAgbGRzaWdzX2FsbG93ZWQgPSBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVy ZXNfYWxsb3dlZChjdHgtPmxpYmN0eCwgMCk7CisgICAgIGZvciAoaSA9IDAsIGx1ID0gc2lnYWxn X2xvb2t1cF90Ymw7CisgICAgICAgICAgaSA8IE9TU0xfTkVMRU0oc2lnYWxnX2xvb2t1cF90Ymwp OyBsdSsrLCBpKyspIHsKKyAgICAgICAgIEVWUF9QS0VZX0NUWCAqcGN0eDsKK0BAIC0xMTY5LDYg KzExNzIsMTEgQEAgaW50IHNzbF9zZXR1cF9zaWdfYWxncyhTU0xfQ1RYICpjdHgpCisgICAgICAg ICAgICAgY2FjaGVbaV0uZW5hYmxlZCA9IDA7CisgICAgICAgICAgICAgY29udGludWU7CisgICAg ICAgICB9CisrICAgICAgICBpZiAoKGx1LT5oYXNoID09IE5JRF9zaGExIHx8IGx1LT5oYXNoID09 IE5JRF9tZDVfc2hhMSkKKysgICAgICAgICAgICAgICAgJiYgIWxkc2lnc19hbGxvd2VkKSB7Cisr ICAgICAgICAgICAgY2FjaGVbaV0uZW5hYmxlZCA9IDA7CisrICAgICAgICAgICAgY29udGludWU7 CisrICAgICAgICB9CisgCisgICAgICAgICBpZiAoIUVWUF9QS0VZX3NldF90eXBlKHRtcGtleSwg bHUtPnNpZykpIHsKKyAgICAgICAgICAgICBjYWNoZVtpXS5lbmFibGVkID0gMDsKK2RpZmYgLS1n aXQgYS91dGlsL2xpYmNyeXB0by5udW0gYi91dGlsL2xpYmNyeXB0by5udW0KK2luZGV4IDEwYjRl NTdkNzkuLjJkM2MzNjNiYjAgMTAwNjQ0CistLS0gYS91dGlsL2xpYmNyeXB0by5udW0KKysrKyBi L3V0aWwvbGliY3J5cHRvLm51bQorQEAgLTU0MjYsMyArNTQyNiw1IEBAIEFTTjFfaXRlbV9kMmlf ZXggICAgICAgICAgICAgICAgICAgICAgICA1NTUyCTNfMF8wCUVYSVNUOjpGVU5DVElPTjoKKyBF VlBfUEtFWV9nZXQwX3Byb3ZpZGVyICAgICAgICAgICAgICAgICAgNTU1NAkzXzBfMAlFWElTVDo6 RlVOQ1RJT046CisgRVZQX1BLRVlfQ1RYX2dldDBfcHJvdmlkZXIgICAgICAgICAgICAgIDU1NTUJ M18wXzAJRVhJU1Q6OkZVTkNUSU9OOgorIG9zc2xfc2FmZV9nZXRlbnYgICAgICAgICAgICAgICAg ICAgICAgICA/CTNfMF8wCUVYSVNUOjpGVU5DVElPTjoKKytvc3NsX2N0eF9sZWdhY3lfZGlnZXN0 X3NpZ25hdHVyZXNfYWxsb3dlZCA/CTNfMF8xCUVYSVNUOjpGVU5DVElPTjoKKytvc3NsX2N0eF9s ZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZF9zZXQgPwkzXzBfMQlFWElTVDo6RlVOQ1RJ T046CistLSAKKzIuMzUuMQorCgpkaWZmIC0tZ2l0IGEvMDA1Mi1BbGxvdy1TSEExLWluLXNlY2xl dmVsLTEtaWYtcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzLnBhdGNoIGIvMDA1Mi1BbGxvdy1TSEEx LWluLXNlY2xldmVsLTEtaWYtcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlYTAyZjgKLS0tIC9kZXYvbnVsbAorKysgYi8w MDUyLUFsbG93LVNIQTEtaW4tc2VjbGV2ZWwtMS1pZi1yaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMu cGF0Y2gKQEAgLTAsMCArMSwyMTcgQEAKK0Zyb20gZjY5NWYxNDAyNTVmOWI1NjRjYWM0ZDVlOWUz OGJhMjdlYzkyNzI1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENsZW1lbnMgTGFu ZyA8Y2xsYW5nQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDEgTWFyIDIwMjIgMTU6NDQ6MTggKzAx MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIEFsbG93IFNIQTEgaW4gc2VjbGV2ZWwgMSBpZiByaC1h bGxvdy1zaGExLXNpZ25hdHVyZXMgPQorIHllcworCitOT1RFOiBUaGlzIHBhdGNoIGlzIHBvcnRl ZCBmcm9tIENlbnRPUyA5IC8gUkhFTCA5LCB3aGVyZSBpdCBhbGxvd3MgU0hBMQoraW4gc2VjbGV2 ZWwgMiBpZiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgPSB5ZXMuIFRoaXMgd2FzIGNob3NlbiBi ZWNhdXNlCitvbiBDZW50T1MgOSBhbmQgUkhFTCA5LCB0aGUgTEVHQUNZIGNyeXB0byBwb2xpY3kg c2V0cyB0aGUgc2VjdXJpdHkgbGV2ZWwKK3RvIDIuCisKK09uIEZlZG9yYSAzNSAod2l0aCBPcGVu U1NMIDEuMSkgdGhlIGxlZ2FjeSBjcnlwdG8gcG9saWN5IHVzZXMgc2VjdXJpdHkKK2xldmVsIDEu IEJlY2F1c2UgRmVkb3JhIDM2IHN1cHBvcnRzIGJvdGggT3BlblNTTCAxLjEgYW5kIE9wZW5TU0wg MywgYW5kCit3ZSB3YW50IHRoZSBsZWdhY3kgY3J5cHRvIHBvbGljeSB0byBhbGxvdyBTSEEtMSBp biBUTFMsIHRoZSBvbmx5IG9wdGlvbgordG8gbWFrZSB0aGlzIGhhcHBlbiBjb25zaXN0ZW50bHkg aW4gYm90aCBPcGVuU1NMIDEuMSBhbmQgT3BlblNTTCAzIGlzCitTRUNMRVZFTD0xICh3aGljaCB3 aWxsIGFsbG93IFNIQS0xIGluIE9wZW5TU0wgMS4xKSBhbmQgdGhpcyBjaGFuZ2UgdG8KK2FsbG93 IFNIQS0xIGluIFNFQ0xFVkVMPTEgd2l0aCByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgPSB5ZXMg KHdoaWNoCit3aWxsIGFsbG93IFNIQS0xIGluIE9wZW5TU0wgMykuCisKK1RoZSBjaGFuZ2UgZnJv bSBDZW50T1MgOSAvIFJIRUwgOSBjYW5ub3QgYmUgYXBwbGllZCB1bm1vZGlmaWVkLCBiZWNhdXNl CityaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgd2lsbCBkZWZhdWx0IHRvIHllcyBpbiBGZWRvcmEg KGFjY29yZGluZyB0byBvdXIKK2N1cnJlbnQgcGxhbnMgaW5jbHVkaW5nIHVudGlsIEYzOCksIGFu ZCB0aGUgc2VjdXJpdHkgbGV2ZWwgaW4gdGhlCitERUZBVUxUIGNyeXB0byBwb2xpY3kgaXMgMiwg aS5lLiwgdGhlIHVubW9kaWZpZWQgY2hhbmdlIHdvdWxkIHdlYWtlbiB0aGUKK2RlZmF1bHQgY29u ZmlndXJhdGlvbi4KKworUmVsYXRlZDogcmhieiMyMDU1Nzk2CitSZWxhdGVkOiByaGJ6IzIwNzA5 NzcKKy0tLQorIGNyeXB0by94NTA5L3g1MDlfdmZ5LmMgICAgICAgIHwgMTkgKysrKysrKysrKy0K KyBkb2MvbWFuNS9jb25maWcucG9kICAgICAgICAgICB8ICA3ICsrKysKKyBzc2wvdDFfbGliLmMg ICAgICAgICAgICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t CisgdGVzdC9yZWNpcGVzLzI1LXRlc3RfdmVyaWZ5LnQgfCAgNCArLS0KKyA0IGZpbGVzIGNoYW5n ZWQsIDc4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3J5 cHRvL3g1MDkveDUwOV92ZnkuYyBiL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKK2luZGV4IDJmMTc1 Y2E1MTcuLjYwYWEyNmY1NTIgMTAwNjQ0CistLS0gYS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCisr KysgYi9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCitAQCAtMjUsNiArMjUsNyBAQAorICNpbmNsdWRl IDxvcGVuc3NsL29iamVjdHMuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9jb3JlX25hbWVzLmg+Cisg I2luY2x1ZGUgImludGVybmFsL2RhbmUuaCIKKysjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5o IgorICNpbmNsdWRlICJjcnlwdG8veDUwOS5oIgorICNpbmNsdWRlICJ4NTA5X2xvY2FsLmgiCisg CitAQCAtMzQ0MSwxNCArMzQ0MiwzMCBAQCBzdGF0aWMgaW50IGNoZWNrX3NpZ19sZXZlbChYNTA5 X1NUT1JFX0NUWCAqY3R4LCBYNTA5ICpjZXJ0KQorIHsKKyAgICAgaW50IHNlY2JpdHMgPSAtMTsK KyAgICAgaW50IGxldmVsID0gY3R4LT5wYXJhbS0+YXV0aF9sZXZlbDsKKysgICAgaW50IG5pZDsK KysgICAgT1NTTF9MSUJfQ1RYICpsaWJjdHggPSBOVUxMOworIAorICAgICBpZiAobGV2ZWwgPD0g MCkKKyAgICAgICAgIHJldHVybiAxOworICAgICBpZiAobGV2ZWwgPiBOVU1fQVVUSF9MRVZFTFMp CisgICAgICAgICBsZXZlbCA9IE5VTV9BVVRIX0xFVkVMUzsKKyAKKy0gICAgaWYgKCFYNTA5X2dl dF9zaWduYXR1cmVfaW5mbyhjZXJ0LCBOVUxMLCBOVUxMLCAmc2VjYml0cywgTlVMTCkpCisrICAg IGlmIChjdHgtPmxpYmN0eCkKKysgICAgICAgIGxpYmN0eCA9IGN0eC0+bGliY3R4OworKyAgICBl bHNlIGlmIChjZXJ0LT5saWJjdHgpCisrICAgICAgICBsaWJjdHggPSBjZXJ0LT5saWJjdHg7Cisr ICAgIGVsc2UKKysgICAgICAgIGxpYmN0eCA9IE9TU0xfTElCX0NUWF9nZXQwX2dsb2JhbF9kZWZh dWx0KCk7CisrCisrICAgIGlmICghWDUwOV9nZXRfc2lnbmF0dXJlX2luZm8oY2VydCwgJm5pZCwg TlVMTCwgJnNlY2JpdHMsIE5VTEwpKQorICAgICAgICAgcmV0dXJuIDA7CisgCisrICAgIGlmIChu aWQgPT0gTklEX3NoYTEKKysgICAgICAgICAgICAmJiBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3Np Z25hdHVyZXNfYWxsb3dlZChsaWJjdHgsIDApCisrICAgICAgICAgICAgJiYgY3R4LT5wYXJhbS0+ YXV0aF9sZXZlbCA8IDIpCisrICAgICAgICAvKiBXaGVuIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJl cyA9IHllcyBhbmQgc2VjdXJpdHkgbGV2ZWwgPD0gMSwKKysgICAgICAgICAqIGV4cGxpY2l0bHkg YWxsb3cgU0hBMSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuICovCisrICAgICAgICByZXR1 cm4gMTsKKysKKyAgICAgcmV0dXJuIHNlY2JpdHMgPj0gbWluYml0c190YWJsZVtsZXZlbCAtIDFd OworIH0KK2RpZmYgLS1naXQgYS9kb2MvbWFuNS9jb25maWcucG9kIGIvZG9jL21hbjUvY29uZmln LnBvZAoraW5kZXggMGM5MTEwZDI4YS4uMDJlN2NhNzA2ZiAxMDA2NDQKKy0tLSBhL2RvYy9tYW41 L2NvbmZpZy5wb2QKKysrKyBiL2RvYy9tYW41L2NvbmZpZy5wb2QKK0BAIC0zMDksNiArMzA5LDEz IEBAIHRoaXMgb3B0aW9uIGlzIHNldCB0byBCPG5vPi4gIEJlY2F1c2UgVExTIDEuMSBvciBsb3dl ciB1c2UgTUQ1LVNIQTEgYXMKKyBwc2V1ZG9yYW5kb20gZnVuY3Rpb24gKFBSRikgdG8gZGVyaXZl IGtleSBtYXRlcmlhbCwgZGlzYWJsaW5nCisgQjxyaC1hbGxvdy1zaGExLXNpZ25hdHVyZXM+IHJl cXVpcmVzIHRoZSB1c2Ugb2YgVExTIDEuMiBvciBuZXdlci4KKyAKKytOb3RlIHRoYXQgZW5hYmxp bmcgQjxyaC1hbGxvdy1zaGExLXNpZ25hdHVyZXM+IHdpbGwgYWxsb3cgVExTIHNpZ25hdHVyZQor K2FsZ29yaXRobXMgdGhhdCB1c2UgU0hBMSBpbiBzZWN1cml0eSBsZXZlbCAxLCBkZXNwaXRlIHRo ZSBkZWZpbml0aW9uIG9mCisrc2VjdXJpdHkgbGV2ZWwgMSBvZiBGSVhNRSBiaXRzIG9mIHNlY3Vy aXR5LCB3aGljaCBTSEExIGRvZXMgbm90IG1lZXQuICBUaGlzCisrYWxsb3dzIHVzaW5nIFNIQTEg aW4gVExTIGluIHRoZSBMRUdBQ1kgY3J5cHRvLXBvbGljeSBvbiBGZWRvcmEgd2l0aG91dAorK3Jl cXVpcmluZyB0byBzZXQgdGhlIHNlY3VyaXR5IGxldmVsIHRvIDAsIHdoaWNoIHdvdWxkIGluY2x1 ZGUgZnVydGhlciBpbnNlY3VyZQorK2FsZ29yaXRobXMuCisrCisgPWl0ZW0gQjxmaXBzX21vZGU+ IChkZXByZWNhdGVkKQorIAorIFRoZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBjYW4gYmUgQjx5 ZXM+IG9yIEI8bm8+LiAgSWYgdGhlIHZhbHVlIGlzCitkaWZmIC0tZ2l0IGEvc3NsL3QxX2xpYi5j IGIvc3NsL3QxX2xpYi5jCitpbmRleCBkY2Q0ODdlYzJlLi5lNDdkZGY1NmYxIDEwMDY0NAorLS0t IGEvc3NsL3QxX2xpYi5jCisrKysgYi9zc2wvdDFfbGliLmMKK0BAIC0yMCw2ICsyMCw3IEBACisg I2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9wcm92aWRlci5oPgor ICNpbmNsdWRlIDxvcGVuc3NsL3BhcmFtX2J1aWxkLmg+CisrI2luY2x1ZGUgImNyeXB0by94NTA5 LmgiCisgI2luY2x1ZGUgImludGVybmFsL3NzbGNvbmYuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwv bmVsZW0uaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvc2l6ZXMuaCIKK0BAIC0xNTYxLDE5ICsxNTYy LDI3IEBAIGludCB0bHMxMl9jaGVja19wZWVyX3NpZ2FsZyhTU0wgKnMsIHVpbnQxNl90IHNpZywg RVZQX1BLRVkgKnBrZXkpCisgICAgICAgICBTU0xmYXRhbChzLCBTU0xfQURfSEFORFNIQUtFX0ZB SUxVUkUsIFNTTF9SX1VOS05PV05fRElHRVNUKTsKKyAgICAgICAgIHJldHVybiAwOworICAgICB9 CistICAgIC8qCistICAgICAqIE1ha2Ugc3VyZSBzZWN1cml0eSBjYWxsYmFjayBhbGxvd3MgYWxn b3JpdGhtLiBGb3IgaGlzdG9yaWNhbAorLSAgICAgKiByZWFzb25zIHdlIGhhdmUgdG8gcGFzcyB0 aGUgc2lnYWxnIGFzIGEgdHdvIGJ5dGUgY2hhciBhcnJheS4KKy0gICAgICovCistICAgIHNpZ2Fs Z3N0clswXSA9IChzaWcgPj4gOCkgJiAweGZmOworLSAgICBzaWdhbGdzdHJbMV0gPSBzaWcgJiAw eGZmOworLSAgICBzZWNiaXRzID0gc2lnYWxnX3NlY3VyaXR5X2JpdHMocy0+Y3R4LCBsdSk7Cist ICAgIGlmIChzZWNiaXRzID09IDAgfHwKKy0gICAgICAgICFzc2xfc2VjdXJpdHkocywgU1NMX1NF Q09QX1NJR0FMR19DSEVDSywgc2VjYml0cywKKy0gICAgICAgICAgICAgICAgICAgICAgbWQgIT0g TlVMTCA/IEVWUF9NRF9nZXRfdHlwZShtZCkgOiBOSURfdW5kZWYsCistICAgICAgICAgICAgICAg ICAgICAgICh2b2lkICopc2lnYWxnc3RyKSkgeworLSAgICAgICAgU1NMZmF0YWwocywgU1NMX0FE X0hBTkRTSEFLRV9GQUlMVVJFLCBTU0xfUl9XUk9OR19TSUdOQVRVUkVfVFlQRSk7CistICAgICAg ICByZXR1cm4gMDsKKysKKysgICAgaWYgKGx1LT5oYXNoID09IE5JRF9zaGExCisrICAgICAgICAg ICAgJiYgb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWQocy0+Y3R4LT5s aWJjdHgsIDApCisrICAgICAgICAgICAgJiYgU1NMX2dldF9zZWN1cml0eV9sZXZlbChzKSA8IDIp IHsKKysgICAgICAgIC8qIHdoZW4gcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzID0geWVzIGFuZCBz ZWN1cml0eSBsZXZlbCA8PSAxLAorKyAgICAgICAgICogZXhwbGljaXRseSBhbGxvdyBTSEExIGZv ciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAqLworKyAgICB9IGVsc2UgeworKyAgICAgICAgLyoK KysgICAgICAgICAqIE1ha2Ugc3VyZSBzZWN1cml0eSBjYWxsYmFjayBhbGxvd3MgYWxnb3JpdGht LiBGb3IgaGlzdG9yaWNhbAorKyAgICAgICAgICogcmVhc29ucyB3ZSBoYXZlIHRvIHBhc3MgdGhl IHNpZ2FsZyBhcyBhIHR3byBieXRlIGNoYXIgYXJyYXkuCisrICAgICAgICAgKi8KKysgICAgICAg IHNpZ2FsZ3N0clswXSA9IChzaWcgPj4gOCkgJiAweGZmOworKyAgICAgICAgc2lnYWxnc3RyWzFd ID0gc2lnICYgMHhmZjsKKysgICAgICAgIHNlY2JpdHMgPSBzaWdhbGdfc2VjdXJpdHlfYml0cyhz LT5jdHgsIGx1KTsKKysgICAgICAgIGlmIChzZWNiaXRzID09IDAgfHwKKysgICAgICAgICAgICAh c3NsX3NlY3VyaXR5KHMsIFNTTF9TRUNPUF9TSUdBTEdfQ0hFQ0ssIHNlY2JpdHMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICBtZCAhPSBOVUxMID8gRVZQX01EX2dldF90eXBlKG1kKSA6IE5J RF91bmRlZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopc2lnYWxnc3RyKSkg eworKyAgICAgICAgICAgIFNTTGZhdGFsKHMsIFNTTF9BRF9IQU5EU0hBS0VfRkFJTFVSRSwgU1NM X1JfV1JPTkdfU0lHTkFUVVJFX1RZUEUpOworKyAgICAgICAgICAgIHJldHVybiAwOworKyAgICAg ICAgfQorICAgICB9CisgICAgIC8qIFN0b3JlIHRoZSBzaWdhbGcgdGhlIHBlZXIgdXNlcyAqLwor ICAgICBzLT5zMy50bXAucGVlcl9zaWdhbGcgPSBsdTsKK0BAIC0yMTA2LDYgKzIxMTUsMTQgQEAg c3RhdGljIGludCB0bHMxMl9zaWdhbGdfYWxsb3dlZChjb25zdCBTU0wgKnMsIGludCBvcCwgY29u c3QgU0lHQUxHX0xPT0tVUCAqbHUpCisgICAgICAgICB9CisgICAgIH0KKyAKKysgICAgaWYgKGx1 LT5oYXNoID09IE5JRF9zaGExCisrICAgICAgICAgICAgJiYgb3NzbF9jdHhfbGVnYWN5X2RpZ2Vz dF9zaWduYXR1cmVzX2FsbG93ZWQocy0+Y3R4LT5saWJjdHgsIDApCisrICAgICAgICAgICAgJiYg U1NMX2dldF9zZWN1cml0eV9sZXZlbChzKSA8IDIpIHsKKysgICAgICAgIC8qIHdoZW4gcmgtYWxs b3ctc2hhMS1zaWduYXR1cmVzID0geWVzIGFuZCBzZWN1cml0eSBsZXZlbCA8PSAxLAorKyAgICAg ICAgICogZXhwbGljaXRseSBhbGxvdyBTSEExIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAq LworKyAgICAgICAgcmV0dXJuIDE7CisrICAgIH0KKysKKyAgICAgLyogRmluYWxseSBzZWUgaWYg c2VjdXJpdHkgY2FsbGJhY2sgYWxsb3dzIGl0ICovCisgICAgIHNlY2JpdHMgPSBzaWdhbGdfc2Vj dXJpdHlfYml0cyhzLT5jdHgsIGx1KTsKKyAgICAgc2lnYWxnc3RyWzBdID0gKGx1LT5zaWdhbGcg Pj4gOCkgJiAweGZmOworQEAgLTI5NzcsNiArMjk5NCw4IEBAIHN0YXRpYyBpbnQgc3NsX3NlY3Vy aXR5X2NlcnRfc2lnKFNTTCAqcywgU1NMX0NUWCAqY3R4LCBYNTA5ICp4LCBpbnQgb3ApCisgewor ICAgICAvKiBMb29rdXAgc2lnbmF0dXJlIGFsZ29yaXRobSBkaWdlc3QgKi8KKyAgICAgaW50IHNl Y2JpdHMsIG5pZCwgcGtuaWQ7CisrICAgIE9TU0xfTElCX0NUWCAqbGliY3R4ID0gTlVMTDsKKysK KyAgICAgLyogRG9uJ3QgY2hlY2sgc2lnbmF0dXJlIGlmIHNlbGYgc2lnbmVkICovCisgICAgIGlm ICgoWDUwOV9nZXRfZXh0ZW5zaW9uX2ZsYWdzKHgpICYgRVhGTEFHX1NTKSAhPSAwKQorICAgICAg ICAgcmV0dXJuIDE7CitAQCAtMjk4NSw2ICszMDA0LDI1IEBAIHN0YXRpYyBpbnQgc3NsX3NlY3Vy aXR5X2NlcnRfc2lnKFNTTCAqcywgU1NMX0NUWCAqY3R4LCBYNTA5ICp4LCBpbnQgb3ApCisgICAg IC8qIElmIGRpZ2VzdCBOSUQgbm90IGRlZmluZWQgdXNlIHNpZ25hdHVyZSBOSUQgKi8KKyAgICAg aWYgKG5pZCA9PSBOSURfdW5kZWYpCisgICAgICAgICBuaWQgPSBwa25pZDsKKysKKysgICAgaWYg KHggJiYgeC0+bGliY3R4KQorKyAgICAgICAgbGliY3R4ID0geC0+bGliY3R4OworKyAgICBlbHNl IGlmIChjdHggJiYgY3R4LT5saWJjdHgpCisrICAgICAgICBsaWJjdHggPSBjdHgtPmxpYmN0eDsK KysgICAgZWxzZSBpZiAocyAmJiBzLT5jdHggJiYgcy0+Y3R4LT5saWJjdHgpCisrICAgICAgICBs aWJjdHggPSBzLT5jdHgtPmxpYmN0eDsKKysgICAgZWxzZQorKyAgICAgICAgbGliY3R4ID0gT1NT TF9MSUJfQ1RYX2dldDBfZ2xvYmFsX2RlZmF1bHQoKTsKKysKKysgICAgaWYgKG5pZCA9PSBOSURf c2hhMQorKyAgICAgICAgICAgICYmIG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19h bGxvd2VkKGxpYmN0eCwgMCkKKysgICAgICAgICAgICAmJiAoKHMgIT0gTlVMTCAmJiBTU0xfZ2V0 X3NlY3VyaXR5X2xldmVsKHMpIDwgMikKKysgICAgICAgICAgICAgICAgfHwgKGN0eCAhPSBOVUxM ICYmIFNTTF9DVFhfZ2V0X3NlY3VyaXR5X2xldmVsKGN0eCkgPCAyKQorKyAgICAgICAgICAgICkp CisrICAgICAgICAvKiBXaGVuIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyA9IHllcyBhbmQgc2Vj dXJpdHkgbGV2ZWwgPD0gMSwKKysgICAgICAgICAqIGV4cGxpY2l0bHkgYWxsb3cgU0hBMSBmb3Ig YmFja3dhcmRzIGNvbXBhdGliaWxpdHkuICovCisrICAgICAgICByZXR1cm4gMTsKKysKKyAgICAg aWYgKHMpCisgICAgICAgICByZXR1cm4gc3NsX3NlY3VyaXR5KHMsIG9wLCBzZWNiaXRzLCBuaWQs IHgpOworICAgICBlbHNlCitkaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzI1LXRlc3RfdmVyaWZ5 LnQgYi90ZXN0L3JlY2lwZXMvMjUtdGVzdF92ZXJpZnkudAoraW5kZXggNzAwYmJkODQ5Yy4uMjgw NDc3YmM5ZCAxMDA2NDQKKy0tLSBhL3Rlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50CisrKysg Yi90ZXN0L3JlY2lwZXMvMjUtdGVzdF92ZXJpZnkudAorQEAgLTM4Nyw4ICszODcsOCBAQCBvayh2 ZXJpZnkoImVlLXBzcy1zaGExLWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0s ICItYXV0aF9sZXZlbCIsICIwIgorIG9rKHZlcmlmeSgiZWUtcHNzLXNoYTI1Ni1jZXJ0IiwgIiIs IFsicm9vdC1jZXJ0Il0sIFsiY2EtY2VydCJdLCApLAorICAgICAiQ0Egd2l0aCBQU1Mgc2lnbmF0 dXJlIHVzaW5nIFNIQTI1NiIpOworIAorLW9rKCF2ZXJpZnkoImVlLXBzcy1zaGExLWNlcnQiLCAi IiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0sICItYXV0aF9sZXZlbCIsICIxIiksCistICAg ICJSZWplY3QgUFNTIHNpZ25hdHVyZSB1c2luZyBTSEExIGFuZCBhdXRoIGxldmVsIDEiKTsKKytv ayghdmVyaWZ5KCJlZS1wc3Mtc2hhMS1jZXJ0IiwgIiIsIFsicm9vdC1jZXJ0Il0sIFsiY2EtY2Vy dCJdLCAiLWF1dGhfbGV2ZWwiLCAiMiIpLAorKyAgICAiUmVqZWN0IFBTUyBzaWduYXR1cmUgdXNp bmcgU0hBMSBhbmQgYXV0aCBsZXZlbCAyIik7CisgCisgb2sodmVyaWZ5KCJlZS1wc3Mtc2hhMjU2 LWNlcnQiLCAiIiwgWyJyb290LWNlcnQiXSwgWyJjYS1jZXJ0Il0sICItYXV0aF9sZXZlbCIsICIy IiksCisgICAgICJQU1Mgc2lnbmF0dXJlIHVzaW5nIFNIQTI1NiBhbmQgYXV0aCBsZXZlbCAyIik7 CistLSAKKzIuMzUuMQorCgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC5zcGVjIGIvb3BlbnNzbC5zcGVj CmluZGV4IDkxZTc0YTAuLmZiNGRlNzMgMTAwNjQ0Ci0tLSBhL29wZW5zc2wuc3BlYworKysgYi9v cGVuc3NsLnNwZWMKQEAgLTE1LDcgKzE1LDcgQEAKIFN1bW1hcnk6IFV0aWxpdGllcyBmcm9tIHRo ZSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxpYnJhcnkgd2l0aCBUTFMgaW1wbGVtZW50 YXRpb24KIE5hbWU6IG9wZW5zc2wKIFZlcnNpb246IDMuMC4yCi1SZWxlYXNlOiAxJXs/ZGlzdH0K K1JlbGVhc2U6IDIlez9kaXN0fQogRXBvY2g6IDEKICMgV2UgaGF2ZSB0byByZW1vdmUgY2VydGFp biBwYXRlbnRlZCBhbGdvcml0aG1zIGZyb20gdGhlIG9wZW5zc2wgc291cmNlCiAjIHRhcmJhbGwg d2l0aCB0aGUgaG9iYmxlLW9wZW5zc2wgc2NyaXB0IHdoaWNoIGlzIGluY2x1ZGVkIGJlbG93LgpA QCAtNTYsOCArNTYsMTIgQEAgUGF0Y2gxMTogMDAxMS1SZW1vdmUtRUMtY3VydmVzLnBhdGNoCiBQ YXRjaDEyOiAwMDEyLURpc2FibGUtZXhwbGljaXQtZWMucGF0Y2gKICMgSW5zdHJ1Y3Rpb25zIHRv IGxvYWQgbGVnYWN5IHByb3ZpZGVyIGluIG9wZW5zc2wuY25mCiBQYXRjaDI0OiAwMDI0LWxvYWQt bGVnYWN5LXByb3YucGF0Y2gKKyMgU2VsZWN0aXZlbHkgZGlzYWxsb3cgU0hBMSBzaWduYXR1cmVz IHJoYnojMjA3MDk3NworUGF0Y2g0OTogMDA0OS1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWdu YXR1cmVzLnBhdGNoCiAjIEJhY2twb3J0IG9mIHBhdGNoIGZvciBSSEVMIGZvciBFZGdlIHJoYnog IzIwMjcyNjEKIFBhdGNoNTE6IDAwNTEtU3VwcG9ydC1kaWZmZXJlbnQtUl9CSVRTLWxlbmd0aHMt Zm9yLUtCS0RGLnBhdGNoCisjIFN1cHBvcnQgU0hBMSBpbiBUTFMgaW4gTEVHQUNZIGNyeXB0by1w b2xpY3kgKHdoaWNoIGlzIFNFQ0xFVkVMPTEpCitQYXRjaDUyOiAwMDUyLUFsbG93LVNIQTEtaW4t c2VjbGV2ZWwtMS1pZi1yaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMucGF0Y2gKIAogTGljZW5zZTog QVNMIDIuMAogVVJMOiBodHRwOi8vd3d3Lm9wZW5zc2wub3JnLwpAQCAtMzg0LDYgKzM4OCwxNCBA QCBpbnN0YWxsIC1tNjQ0ICV7U09VUkNFOX0gXAogJWxkY29uZmlnX3NjcmlwdGxldHMgbGlicwog CiAlY2hhbmdlbG9nCisqIFRodSBBcHIgMDcgMjAyMiBDbGVtZW5zIExhbmcgPGNsbGFuZ0ByZWRo YXQuY29tPiAtIDE6My4wLjItMgorLSBBbGxvdyBkaXNhYmxpbmcgU0hBMSBzaWduYXR1cmUgY3Jl YXRpb24gYW5kIHZlcmlmaWNhdGlvbi4KKyAgU2V0IHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyA9 IG5vIHRvIGRpc2FibGUuCisgIEFsbG93IFNIQTEgaW4gVExTIGluIFNFQ0xFVkVMIDEgaWYgcmgt YWxsb3ctc2hhMS1zaWduYXR1cmVzID0geWVzLiBUaGlzIHdpbGwKKyAgc3VwcG9ydCBTSEExIGlu IFRMUyBpbiB0aGUgTEVHQUNZIGNyeXB0by1wb2xpY3kuCisgIFJlc29sdmVzOiByaGJ6IzIwNzA5 NzcKKyAgUmVsYXRlZDogcmhieiMyMDMxNzQyLCByaGJ6IzIwNjI2NDAKKwogKiBGcmkgTWFyIDE4 IDIwMjIgRG1pdHJ5IEJlbHlhdnNraXkgPGRiZWx5YXZzQHJlZGhhdC5jb20+IC0gMTozLjAuMi0x CiAtIFJlYmFzZSB0byB1cHN0cmVhbSB2ZXJzaW9uIDMuMC4yCiAK