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: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Multiple security issues fixed. Date: Tue, 09 Jun 2026 12:43:32 GMT Message-ID: <178100901279.1.14019107472828058732.rpms-openssl-729d2d0e1135@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 729d2d0e11358df28a8cd6700e1da7b13f2d5a9d ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDcyOWQyZDBlMTEzNThkZjI4YThjZDY3MDBlMWRhN2IxM2YyZDVh OWQKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTUtMDMtMTlUMTg6MDg6MTIrMDE6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzM4My8tMSBpbiA3IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9vcGVuc3NsL2MvNzI5ZDJkMGUxMTM1 OGRmMjhhOGNkNjcwMGUxZGE3YjEzZjJkNWE5ZD9icmFuY2g9cmViYXNlXzQwYmV0YQoKICAgICAg ICAgICAgTG9nOgogICAgICAgICAgICBNdWx0aXBsZSBzZWN1cml0eSBpc3N1ZXMgZml4ZWQuCgot IGZpeCBDVkUtMjAxNS0wMjA5IC0gcG90ZW50aWFsIHVzZSBhZnRlciBmcmVlIGluIGQyaV9FQ1By aXZhdGVLZXkoKQotIGZpeCBDVkUtMjAxNS0wMjg2IC0gaW1wcm9wZXIgaGFuZGxpbmcgb2YgQVNO LjEgYm9vbGVhbiBjb21wYXJpc29uCi0gZml4IENWRS0yMDE1LTAyODcgLSBBU04uMSBzdHJ1Y3R1 cmUgcmV1c2UgZGVjb2RpbmcgbWVtb3J5IGNvcnJ1cHRpb24KLSBmaXggQ1ZFLTIwMTUtMDI4OSAt IE5VTEwgZGVyZWZlcmVuY2UgZGVjb2RpbmcgaW52YWxpZCBQS0NTIzcgZGF0YQotIGZpeCBDVkUt MjAxNS0wMjkzIC0gdHJpZ2dlcmFibGUgYXNzZXJ0IGluIFNTTHYyIHNlcnZlcgoKLS0tCmRpZmYg LS1naXQgYS9vcGVuc3NsLTEuMC4xZS1jdmUtMjAxNS0wMjg2LnBhdGNoIGIvb3BlbnNzbC0xLjAu MWUtY3ZlLTIwMTUtMDI4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li42NGVjMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzbC0xLjAuMWUtY3ZlLTIwMTUtMDI4 Ni5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v YXNuMS9hX3R5cGUuYy5ib29sLWNtcCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYXNuMS9hX3R5cGUu YworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hc24xL2FfdHlwZS5jLmJvb2wtY21wCTIwMTUt MDMtMTggMTM6MDI6MzYuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2FzbjEvYV90eXBlLmMJMjAxNS0wMy0xOCAxNDozODowNy4xMTE0MDEzOTAgKzAxMDAKK0BAIC0x MjQsNiArMTI0LDkgQEAgaW50IEFTTjFfVFlQRV9jbXAoY29uc3QgQVNOMV9UWVBFICphLCBjbwor IAljYXNlIFZfQVNOMV9PQkpFQ1Q6CisgCQlyZXN1bHQgPSBPQkpfY21wKGEtPnZhbHVlLm9iamVj dCwgYi0+dmFsdWUub2JqZWN0KTsKKyAJCWJyZWFrOworKwljYXNlIFZfQVNOMV9CT09MRUFOOgor KwkJcmVzdWx0ID0gYS0+dmFsdWUuYm9vbGVhbiAtIGItPnZhbHVlLmJvb2xlYW47CisrCQlicmVh azsKKyAJY2FzZSBWX0FTTjFfTlVMTDoKKyAJCXJlc3VsdCA9IDA7CS8qIFRoZXkgZG8gbm90IGhh dmUgY29udGVudC4gKi8KKyAJCWJyZWFrOwoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFlLWN2 ZS0yMDE1LTAyODcucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1jdmUtMjAxNS0wMjg3LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3N2IwOTkKLS0tIC9kZXYvbnVsbAor KysgYi9vcGVuc3NsLTEuMC4xZS1jdmUtMjAxNS0wMjg3LnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAK K2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hc24xL3Rhc25fZGVjLmMuaXRlbS1yZXVz ZSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYXNuMS90YXNuX2RlYy5jCistLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2FzbjEvdGFzbl9kZWMuYy5pdGVtLXJldXNlCTIwMTMtMDItMTEgMTY6MjY6MDQu MDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2FzbjEvdGFzbl9kZWMu YwkyMDE1LTAzLTE5IDE1OjQ2OjUxLjA5NzAyMjYxNiArMDEwMAorQEAgLTMxMCw5ICszMTAsMTkg QEAgaW50IEFTTjFfaXRlbV9leF9kMmkoQVNOMV9WQUxVRSAqKnB2YWwsCisgCQljYXNlIEFTTjFf SVRZUEVfQ0hPSUNFOgorIAkJaWYgKGFzbjFfY2IgJiYgIWFzbjFfY2IoQVNOMV9PUF9EMklfUFJF LCBwdmFsLCBpdCwgTlVMTCkpCisgCQkJCWdvdG8gYXV4ZXJyOworLQorLQkJLyogQWxsb2NhdGUg c3RydWN0dXJlICovCistCQlpZiAoISpwdmFsICYmICFBU04xX2l0ZW1fZXhfbmV3KHB2YWwsIGl0 KSkKKysJCWlmICgqcHZhbCkKKysJCQl7CisrCQkJLyogRnJlZSB1cCBhbmQgemVybyBDSE9JQ0Ug dmFsdWUgaWYgaW5pdGlhbGlzZWQgKi8KKysJCQlpID0gYXNuMV9nZXRfY2hvaWNlX3NlbGVjdG9y KHB2YWwsIGl0KTsKKysJCQlpZiAoKGkgPj0gMCkgJiYgKGkgPCBpdC0+dGNvdW50KSkKKysJCQkJ eworKwkJCQl0dCA9IGl0LT50ZW1wbGF0ZXMgKyBpOworKwkJCQlwY2hwdHIgPSBhc24xX2dldF9m aWVsZF9wdHIocHZhbCwgdHQpOworKwkJCQlBU04xX3RlbXBsYXRlX2ZyZWUocGNocHRyLCB0dCk7 CisrCQkJCWFzbjFfc2V0X2Nob2ljZV9zZWxlY3RvcihwdmFsLCAtMSwgaXQpOworKwkJCQl9Cisr CQkJfQorKwkJZWxzZSBpZiAoIUFTTjFfaXRlbV9leF9uZXcocHZhbCwgaXQpKQorIAkJCXsKKyAJ CQlBU04xZXJyKEFTTjFfRl9BU04xX0lURU1fRVhfRDJJLAorIAkJCQkJCUVSUl9SX05FU1RFRF9B U04xX0VSUk9SKTsKK0BAIC00MDcsNiArNDE3LDE5IEBAIGludCBBU04xX2l0ZW1fZXhfZDJpKEFT TjFfVkFMVUUgKipwdmFsLAorIAkJaWYgKGFzbjFfY2IgJiYgIWFzbjFfY2IoQVNOMV9PUF9EMklf UFJFLCBwdmFsLCBpdCwgTlVMTCkpCisgCQkJCWdvdG8gYXV4ZXJyOworIAorKwkJLyogRnJlZSB1 cCBhbmQgemVybyBhbnkgQURCIGZvdW5kICovCisrCQlmb3IgKGkgPSAwLCB0dCA9IGl0LT50ZW1w bGF0ZXM7IGkgPCBpdC0+dGNvdW50OyBpKyssIHR0KyspCisrCQkJeworKwkJCWlmICh0dC0+Zmxh Z3MgJiBBU04xX1RGTEdfQURCX01BU0spCisrCQkJCXsKKysJCQkJY29uc3QgQVNOMV9URU1QTEFU RSAqc2VxdHQ7CisrCQkJCUFTTjFfVkFMVUUgKipwc2VxdmFsOworKwkJCQlzZXF0dCA9IGFzbjFf ZG9fYWRiKHB2YWwsIHR0LCAxKTsKKysJCQkJcHNlcXZhbCA9IGFzbjFfZ2V0X2ZpZWxkX3B0cihw dmFsLCBzZXF0dCk7CisrCQkJCUFTTjFfdGVtcGxhdGVfZnJlZShwc2VxdmFsLCBzZXF0dCk7Cisr CQkJCX0KKysJCQl9CisrCisgCQkvKiBHZXQgZWFjaCBmaWVsZCBlbnRyeSAqLworIAkJZm9yIChp ID0gMCwgdHQgPSBpdC0+dGVtcGxhdGVzOyBpIDwgaXQtPnRjb3VudDsgaSsrLCB0dCsrKQorIAkJ CXsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xZS1jdmUtMjAxNS0wMjg4LnBhdGNoIGIvb3Bl bnNzbC0xLjAuMWUtY3ZlLTIwMTUtMDI4OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5jOGRjNmI5Ci0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzbC0xLjAuMWUtY3Zl LTIwMTUtMDI4OC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8veDUwOS94NTA5X3JlcS5jLnJlcS1udWxsLWRlcmVmIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by94NTA5L3g1MDlfcmVxLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5 X3JlcS5jLnJlcS1udWxsLWRlcmVmCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV9yZXEuYwkyMDE1LTAzLTE4IDE4 OjM0OjM1LjczMjQ0ODAxNyArMDEwMAorQEAgLTkyLDYgKzkyLDggQEAgWDUwOV9SRVEgKlg1MDlf dG9fWDUwOV9SRVEoWDUwOSAqeCwgRVZQXworIAkJZ290byBlcnI7CisgCisgCXBrdG1wID0gWDUw OV9nZXRfcHVia2V5KHgpOworKwlpZiAocGt0bXAgPT0gTlVMTCkKKysJCWdvdG8gZXJyOworIAlp PVg1MDlfUkVRX3NldF9wdWJrZXkocmV0LHBrdG1wKTsKKyAJRVZQX1BLRVlfZnJlZShwa3RtcCk7 CisgCWlmICghaSkgZ290byBlcnI7CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtY3ZlLTIw MTUtMDI5My5wYXRjaCBiL29wZW5zc2wtMS4wLjFlLWN2ZS0yMDE1LTAyOTMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNhNzhiMwotLS0gL2Rldi9udWxsCisrKyBi L29wZW5zc2wtMS4wLjFlLWN2ZS0yMDE1LTAyOTMucGF0Y2gKQEAgLTAsMCArMSwxMDIgQEAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL3NzbC9zMl9saWIuYy5zc2wyLWFzc2VydCBvcGVuc3NsLTEu MC4xZS9zc2wvczJfbGliLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9zc2wvczJfbGliLmMuc3NsMi1h c3NlcnQJMjAxNS0wMy0xOCAxMzowMjozNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9zc2wvczJfbGliLmMJMjAxNS0wMy0xOCAxODoyMjoyMC4xOTUzMjI0ODkgKzAxMDAKK0BA IC00ODgsNyArNDg4LDcgQEAgaW50IHNzbDJfZ2VuZXJhdGVfa2V5X21hdGVyaWFsKFNTTCAqcykK KyAKKyAJCU9QRU5TU0xfYXNzZXJ0KHMtPnNlc3Npb24tPm1hc3Rlcl9rZXlfbGVuZ3RoID49IDAK KyAJCSAgICAmJiBzLT5zZXNzaW9uLT5tYXN0ZXJfa2V5X2xlbmd0aAorLQkJICAgIDwgKGludClz aXplb2Yocy0+c2Vzc2lvbi0+bWFzdGVyX2tleSkpOworKwkJICAgIDw9IChpbnQpc2l6ZW9mKHMt PnNlc3Npb24tPm1hc3Rlcl9rZXkpKTsKKyAJCUVWUF9EaWdlc3RVcGRhdGUoJmN0eCxzLT5zZXNz aW9uLT5tYXN0ZXJfa2V5LHMtPnNlc3Npb24tPm1hc3Rlcl9rZXlfbGVuZ3RoKTsKKyAJCUVWUF9E aWdlc3RVcGRhdGUoJmN0eCwmYywxKTsKKyAJCWMrKzsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L3NzbC9zMl9zcnZyLmMuc3NsMi1hc3NlcnQgb3BlbnNzbC0xLjAuMWUvc3NsL3MyX3NydnIuYwor LS0tIG9wZW5zc2wtMS4wLjFlL3NzbC9zMl9zcnZyLmMuc3NsMi1hc3NlcnQJMjAxMy0wMi0xMSAx NjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9zc2wvczJfc3J2ci5j CTIwMTUtMDMtMTggMTg6MzA6MTEuNDAzOTc0MDM4ICswMTAwCitAQCAtNDQ2LDkgKzQ0Niw2IEBA IHN0YXRpYyBpbnQgZ2V0X2NsaWVudF9tYXN0ZXJfa2V5KFNTTCAqcykKKyAJCVNTTGVycihTU0xf Rl9HRVRfQ0xJRU5UX01BU1RFUl9LRVksU1NMX1JfTk9fUFJJVkFURUtFWSk7CisgCQlyZXR1cm4o LTEpOworIAkJfQorLQlpPXNzbF9yc2FfcHJpdmF0ZV9kZWNyeXB0KHMtPmNlcnQscy0+czItPnRt cC5lbmMsCistCQkmKHBbcy0+czItPnRtcC5jbGVhcl0pLCYocFtzLT5zMi0+dG1wLmNsZWFyXSks CistCQkocy0+czItPnNzbDJfcm9sbGJhY2spP1JTQV9TU0xWMjNfUEFERElORzpSU0FfUEtDUzFf UEFERElORyk7CisgCisgCWlzX2V4cG9ydD1TU0xfQ19JU19FWFBPUlQocy0+c2Vzc2lvbi0+Y2lw aGVyKTsKKyAJCitAQCAtNDY3LDIxICs0NjQsNjEgQEAgc3RhdGljIGludCBnZXRfY2xpZW50X21h c3Rlcl9rZXkoU1NMICpzKQorIAllbHNlCisgCQllaz01OworIAorKwkvKgorKwkgKiBUaGUgZm9y bWF0IG9mIHRoZSBDTElFTlQtTUFTVEVSLUtFWSBtZXNzYWdlIGlzCisrCSAqIDEgYnl0ZSBtZXNz YWdlIHR5cGUKKysJICogMyBieXRlcyBjaXBoZXIKKysJICogMi1ieXRlIGNsZWFyIGtleSBsZW5n dGggKHN0b3JlZCBpbiBzLT5zMi0+dG1wLmNsZWFyKQorKwkgKiAyLWJ5dGUgZW5jcnlwdGVkIGtl eSBsZW5ndGggKHN0b3JlZCBpbiBzLT5zMi0+dG1wLmVuYykKKysJICogMi1ieXRlIGtleSBhcmdz IGxlbmd0aCAoSVYgZXRjKQorKwkgKiBjbGVhciBrZXkKKysJICogZW5jcnlwdGVkIGtleQorKwkg KiBrZXkgYXJncworKwkgKgorKwkgKiBJZiB0aGUgY2lwaGVyIGlzIGFuIGV4cG9ydCBjaXBoZXIs IHRoZW4gdGhlIGVuY3J5cHRlZCBrZXkgYnl0ZXMKKysJICogYXJlIGEgZml4ZWQgcG9ydGlvbiBv ZiB0aGUgdG90YWwga2V5ICg1IG9yIDggYnl0ZXMpLiBUaGUgc2l6ZSBvZgorKwkgKiB0aGlzIHBv cnRpb24gaXMgaW4gfGVrfC4gSWYgdGhlIGNpcGhlciBpcyBub3QgYW4gZXhwb3J0IGNpcGhlciwK KysJICogdGhlbiB0aGUgZW50aXJlIGtleSBtYXRlcmlhbCBpcyBlbmNyeXB0ZWQgKGkuZS4sIGNs ZWFyIGtleSBsZW5ndGgKKysJICogbXVzdCBiZSB6ZXJvKS4KKysJICovCisrCSBpZiAoKCFpc19l eHBvcnQgJiYgcy0+czItPnRtcC5jbGVhciAhPSAwKSB8fAorKwkJKGlzX2V4cG9ydCAmJiBzLT5z Mi0+dG1wLmNsZWFyICsgZWsgIT0gRVZQX0NJUEhFUl9rZXlfbGVuZ3RoKGMpKSkKKysJCXsKKysJ CXNzbDJfcmV0dXJuX2Vycm9yKHMsIFNTTDJfUEVfVU5ERUZJTkVEX0VSUk9SKTsKKysJCVNTTGVy cihTU0xfRl9HRVRfQ0xJRU5UX01BU1RFUl9LRVksU1NMX1JfQkFEX0xFTkdUSCk7CisrCQlyZXR1 cm4gLTE7CisrCQl9CisrCS8qCisrCSAqIFRoZSBlbmNyeXB0ZWQgYmxvYiBtdXN0IGRlY3J5cHQg dG8gdGhlIGVuY3J5cHRlZCBwb3J0aW9uIG9mIHRoZSBrZXkuCisrCSAqIERlY3J5cHRpb24gY2Fu J3QgYmUgZXhwYW5kaW5nLCBzbyBpZiB3ZSBkb24ndCBoYXZlIGVub3VnaCBlbmNyeXB0ZWQKKysJ ICogYnl0ZXMgdG8gZml0IHRoZSBrZXkgaW4gdGhlIGJ1ZmZlciwgc3RvcCBub3cuCisrCSAqLwor KwlpZiAoKGlzX2V4cG9ydCAmJiBzLT5zMi0+dG1wLmVuYyA8IGVrKSB8fAorKwkJKCFpc19leHBv cnQgJiYgcy0+czItPnRtcC5lbmMgPCBFVlBfQ0lQSEVSX2tleV9sZW5ndGgoYykpKQorKwkJewor KwkJc3NsMl9yZXR1cm5fZXJyb3IocyxTU0wyX1BFX1VOREVGSU5FRF9FUlJPUik7CisrCQlTU0xl cnIoU1NMX0ZfR0VUX0NMSUVOVF9NQVNURVJfS0VZLFNTTF9SX0xFTkdUSF9UT09fU0hPUlQpOwor KwkJcmV0dXJuIC0xOworKwkJfQorKworKwlpID0gc3NsX3JzYV9wcml2YXRlX2RlY3J5cHQocy0+ Y2VydCwgcy0+czItPnRtcC5lbmMsCisrCQkmKHBbcy0+czItPnRtcC5jbGVhcl0pLAorKwkJJihw W3MtPnMyLT50bXAuY2xlYXJdKSwKKysJCShzLT5zMi0+c3NsMl9yb2xsYmFjaykgPyBSU0FfU1NM VjIzX1BBRERJTkcgOiBSU0FfUEtDUzFfUEFERElORyk7CisrCisgCS8qIGJhZCBkZWNyeXB0ICov CisgI2lmIDEKKyAJLyogSWYgYSBiYWQgZGVjcnlwdCwgY29udGludWUgd2l0aCBwcm90b2NvbCBi dXQgd2l0aCBhCisgCSAqIHJhbmRvbSBtYXN0ZXIgc2VjcmV0IChCbGVpY2hlbmJhY2hlciBhdHRh Y2spICovCistCWlmICgoaSA8IDApIHx8CistCQkoKCFpc19leHBvcnQgJiYgKGkgIT0gRVZQX0NJ UEhFUl9rZXlfbGVuZ3RoKGMpKSkKKy0JCXx8IChpc19leHBvcnQgJiYgKChpICE9IGVrKSB8fCAo cy0+czItPnRtcC5jbGVhcisodW5zaWduZWQgaW50KWkgIT0KKy0JCQkodW5zaWduZWQgaW50KUVW UF9DSVBIRVJfa2V5X2xlbmd0aChjKSkpKSkpCisrCWlmICgoaSA8IDApIHx8ICgoIWlzX2V4cG9y dCAmJiBpICE9IEVWUF9DSVBIRVJfa2V5X2xlbmd0aChjKSkKKysJCXx8IChpc19leHBvcnQgJiYg aSAhPSBlaykpKQorIAkJeworIAkJRVJSX2NsZWFyX2Vycm9yKCk7CisgCQlpZiAoaXNfZXhwb3J0 KQorIAkJCWk9ZWs7CisgCQllbHNlCisgCQkJaT1FVlBfQ0lQSEVSX2tleV9sZW5ndGgoYyk7Cist CQlpZiAoUkFORF9wc2V1ZG9fYnl0ZXMocCxpKSA8PSAwKQorKwkJaWYgKFJBTkRfcHNldWRvX2J5 dGVzKCZwW3MtPnMyLT50bXAuY2xlYXJdLGkpIDw9IDApCisgCQkJcmV0dXJuIDA7CisgCQl9Cisg I2Vsc2UKK0BAIC01MDUsNyArNTQyLDggQEAgc3RhdGljIGludCBnZXRfY2xpZW50X21hc3Rlcl9r ZXkoU1NMICpzKQorIAkJfQorICNlbmRpZgorIAorLQlpZiAoaXNfZXhwb3J0KSBpKz1zLT5zMi0+ dG1wLmNsZWFyOworKwlpZiAoaXNfZXhwb3J0KQorKwkJaSA9IEVWUF9DSVBIRVJfa2V5X2xlbmd0 aChjKTsKKyAKKyAJaWYgKGkgPiBTU0xfTUFYX01BU1RFUl9LRVlfTEVOR1RIKQorIAkJewoKZGlm ZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFrLWN2ZS0yMDE1LTAyMDkucGF0Y2ggYi9vcGVuc3NsLTEu MC4xay1jdmUtMjAxNS0wMjA5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjk5NGY5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4xay1jdmUtMjAxNS0w MjA5LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFrL2NyeXB0 by9lYy9lY19hc24xLmMudXNlLWFmdGVyLWZyZWUgb3BlbnNzbC0xLjAuMWsvY3J5cHRvL2VjL2Vj X2FzbjEuYworLS0tIG9wZW5zc2wtMS4wLjFrL2NyeXB0by9lYy9lY19hc24xLmMudXNlLWFmdGVy LWZyZWUJMjAxNC0xMC0xNSAxNTo0OTo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xay9jcnlwdG8vZWMvZWNfYXNuMS5jCTIwMTUtMDMtMTkgMTc6Mjg6MDMuMzQ5NjI3MDQwICsw MTAwCitAQCAtMTE0Miw4ICsxMTQyLDYgQEAgRUNfS0VZICpkMmlfRUNQcml2YXRlS2V5KEVDX0tF WSAqKmEsIGNvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSUl9SX01BTExP Q19GQUlMVVJFKTsKKyAJCQlnb3RvIGVycjsKKyAJCQl9CistCQlpZiAoYSkKKy0JCQkqYSA9IHJl dDsKKyAJCX0KKyAJZWxzZQorIAkJcmV0ID0gKmE7CitAQCAtMTIyNSwxMSArMTIyMywxMyBAQCBF Q19LRVkgKmQyaV9FQ1ByaXZhdGVLZXkoRUNfS0VZICoqYSwgY29uCisgCQlyZXQtPmVuY19mbGFn IHw9IEVDX1BLRVlfTk9fUFVCS0VZOworIAkJfQorIAorKwlpZiAoYSkKKysJCSphID0gcmV0Owor IAlvayA9IDE7CisgZXJyOgorIAlpZiAoIW9rKQorIAkJeworLQkJaWYgKHJldCkKKysJCWlmIChy ZXQgJiYgKGEgPT0gTlVMTCB8fCAqYSAhPSByZXQpKQorIAkJCUVDX0tFWV9mcmVlKHJldCk7Cisg CQlyZXQgPSBOVUxMOworIAkJfQoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFrLWN2ZS0yMDE1 LTAyODkucGF0Y2ggYi9vcGVuc3NsLTEuMC4xay1jdmUtMjAxNS0wMjg5LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmOTVjN2MKLS0tIC9kZXYvbnVsbAorKysgYi9v cGVuc3NsLTEuMC4xay1jdmUtMjAxNS0wMjg5LnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitkaWZm IC11cCBvcGVuc3NsLTEuMC4xay9jcnlwdG8vcGtjczcvcGs3X2RvaXQuYy5wa2NzNy1udWxsLWRl cmVmIG9wZW5zc2wtMS4wLjFrL2NyeXB0by9wa2NzNy9wazdfZG9pdC5jCistLS0gb3BlbnNzbC0x LjAuMWsvY3J5cHRvL3BrY3M3L3BrN19kb2l0LmMucGtjczctbnVsbC1kZXJlZgkyMDE1LTAxLTA4 IDE1OjAwOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjFrL2NyeXB0by9wa2Nz Ny9wazdfZG9pdC5jCTIwMTUtMDMtMTkgMTc6MzA6MzYuNzk3NjUwOTgwICswMTAwCitAQCAtMjcy LDYgKzI3MiwyNyBAQCBCSU8gKlBLQ1M3X2RhdGFJbml0KFBLQ1M3ICpwNywgQklPICpiaW8pCisg CVBLQ1M3X1JFQ0lQX0lORk8gKnJpPU5VTEw7CisgCUFTTjFfT0NURVRfU1RSSU5HICpvcz1OVUxM OworIAorKwlpZiAocDcgPT0gTlVMTCkKKysJCXsKKysJCVBLQ1M3ZXJyKFBLQ1M3X0ZfUEtDUzdf REFUQUlOSVQsIFBLQ1M3X1JfSU5WQUxJRF9OVUxMX1BPSU5URVIpOworKwkJcmV0dXJuIE5VTEw7 CisrCQl9CisrCS8qCisrCSAqIFRoZSBjb250ZW50IGZpZWxkIGluIHRoZSBQS0NTNyBDb250ZW50 SW5mbyBpcyBvcHRpb25hbCwgYnV0IHRoYXQgcmVhbGx5CisrCSAqIG9ubHkgYXBwbGllcyB0byBp bm5lciBjb250ZW50IChwcmVjaXNlbHksIGRldGFjaGVkIHNpZ25hdHVyZXMpLgorKwkgKgorKwkg KiBXaGVuIHJlYWRpbmcgY29udGVudCwgbWlzc2luZyBvdXRlciBjb250ZW50IGlzIHRoZXJlZm9y ZSB0cmVhdGVkIGFzIGFuCisrCSAqIGVycm9yLgorKwkgKgorKwkgKiBXaGVuIGNyZWF0aW5nIGNv bnRlbnQsIFBLQ1M3X2NvbnRlbnRfbmV3KCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlCisrCSAqIGNh bGxpbmcgdGhpcyBtZXRob2QsIHNvIGEgTlVMTCBwNy0+ZCBpcyBhbHdheXMgYW4gZXJyb3IuCisr CSAqLworKwlpZiAocDctPmQucHRyID09IE5VTEwpCisrCQl7CisrCQlQS0NTN2VycihQS0NTN19G X1BLQ1M3X0RBVEFJTklULCBQS0NTN19SX05PX0NPTlRFTlQpOworKwkJcmV0dXJuIE5VTEw7Cisr CQl9CisrCisgCWk9T0JKX29iajJuaWQocDctPnR5cGUpOworIAlwNy0+c3RhdGU9UEtDUzdfU19I RUFERVI7CisgCitAQCAtNDMzLDYgKzQ1NCwxOCBAQCBCSU8gKlBLQ1M3X2RhdGFEZWNvZGUoUEtD UzcgKnA3LCBFVlBfUEtFCisgICAgICAgIHVuc2lnbmVkIGNoYXIgKmVrID0gTlVMTCwgKnRrZXkg PSBOVUxMOworICAgICAgICBpbnQgZWtsZW4gPSAwLCB0a2V5bGVuID0gMDsKKyAKKysJaWYgKHA3 ID09IE5VTEwpCisrCQl7CisrCQlQS0NTN2VycihQS0NTN19GX1BLQ1M3X0RBVEFERUNPREUsIFBL Q1M3X1JfSU5WQUxJRF9OVUxMX1BPSU5URVIpOworKwkJcmV0dXJuIE5VTEw7CisrCQl9CisrCisr CWlmIChwNy0+ZC5wdHIgPT0gTlVMTCkKKysJCXsKKysJCVBLQ1M3ZXJyKFBLQ1M3X0ZfUEtDUzdf REFUQURFQ09ERSwgUEtDUzdfUl9OT19DT05URU5UKTsKKysJCXJldHVybiBOVUxMOworKwkJfQor KworIAlpPU9CSl9vYmoybmlkKHA3LT50eXBlKTsKKyAJcDctPnN0YXRlPVBLQ1M3X1NfSEVBREVS OworIAorQEAgLTc1Miw2ICs3ODUsMTggQEAgaW50IFBLQ1M3X2RhdGFGaW5hbChQS0NTNyAqcDcs IEJJTyAqYmlvKQorIAlTVEFDS19PRihQS0NTN19TSUdORVJfSU5GTykgKnNpX3NrPU5VTEw7Cisg CUFTTjFfT0NURVRfU1RSSU5HICpvcz1OVUxMOworIAorKwlpZiAocDcgPT0gTlVMTCkKKysJCXsK KysJCVBLQ1M3ZXJyKFBLQ1M3X0ZfUEtDUzdfREFUQUZJTkFMLCBQS0NTN19SX0lOVkFMSURfTlVM TF9QT0lOVEVSKTsKKysJCXJldHVybiAwOworKwkJfQorKworKwlpZiAocDctPmQucHRyID09IE5V TEwpCisrCQl7CisrCQlQS0NTN2VycihQS0NTN19GX1BLQ1M3X0RBVEFGSU5BTCwgUEtDUzdfUl9O T19DT05URU5UKTsKKysJCXJldHVybiAwOworKwkJfQorKworIAlFVlBfTURfQ1RYX2luaXQoJmN0 eF90bXApOworIAlpPU9CSl9vYmoybmlkKHA3LT50eXBlKTsKKyAJcDctPnN0YXRlPVBLQ1M3X1Nf SEVBREVSOworQEAgLTc5Niw2ICs4NDEsNyBAQCBpbnQgUEtDUzdfZGF0YUZpbmFsKFBLQ1M3ICpw NywgQklPICpiaW8pCisgCQkvKiBJZiBkZXRhY2hlZCBkYXRhIHRoZW4gdGhlIGNvbnRlbnQgaXMg ZXhjbHVkZWQgKi8KKyAJCWlmKFBLQ1M3X3R5cGVfaXNfZGF0YShwNy0+ZC5zaWduLT5jb250ZW50 cykgJiYgcDctPmRldGFjaGVkKSB7CisgCQkJTV9BU04xX09DVEVUX1NUUklOR19mcmVlKG9zKTsK KysJCQlvcyA9IE5VTEw7CisgCQkJcDctPmQuc2lnbi0+Y29udGVudHMtPmQuZGF0YSA9IE5VTEw7 CisgCQl9CisgCQlicmVhazsKK0BAIC04MDYsNiArODUyLDcgQEAgaW50IFBLQ1M3X2RhdGFGaW5h bChQS0NTNyAqcDcsIEJJTyAqYmlvKQorIAkJaWYoUEtDUzdfdHlwZV9pc19kYXRhKHA3LT5kLmRp Z2VzdC0+Y29udGVudHMpICYmIHA3LT5kZXRhY2hlZCkKKyAJCQl7CisgCQkJTV9BU04xX09DVEVU X1NUUklOR19mcmVlKG9zKTsKKysJCQlvcyA9IE5VTEw7CisgCQkJcDctPmQuZGlnZXN0LT5jb250 ZW50cy0+ZC5kYXRhID0gTlVMTDsKKyAJCQl9CisgCQlicmVhazsKK0BAIC04NzgsMjMgKzkyNSwz MiBAQCBpbnQgUEtDUzdfZGF0YUZpbmFsKFBLQ1M3ICpwNywgQklPICpiaW8pCisgCQlNX0FTTjFf T0NURVRfU1RSSU5HX3NldChwNy0+ZC5kaWdlc3QtPmRpZ2VzdCwgbWRfZGF0YSwgbWRfbGVuKTsK KyAJCX0KKyAKKy0JaWYgKCFQS0NTN19pc19kZXRhY2hlZChwNykgJiYgIShvcy0+ZmxhZ3MgJiBB U04xX1NUUklOR19GTEFHX05ERUYpKQorKwlpZiAoIVBLQ1M3X2lzX2RldGFjaGVkKHA3KSkKKyAJ CXsKKy0JCWNoYXIgKmNvbnQ7CistCQlsb25nIGNvbnRsZW47CistCQlidG1wPUJJT19maW5kX3R5 cGUoYmlvLEJJT19UWVBFX01FTSk7CistCQlpZiAoYnRtcCA9PSBOVUxMKQorLQkJCXsKKy0JCQlQ S0NTN2VycihQS0NTN19GX1BLQ1M3X0RBVEFGSU5BTCxQS0NTN19SX1VOQUJMRV9UT19GSU5EX01F TV9CSU8pOworKwkJLyoKKysJCSAqIE5PVEUoZW1pbGlhKTogSSB0aGluayB3ZSBvbmx5IHJlYWNo IG9zID09IE5VTEwgaGVyZSBiZWNhdXNlIGRldGFjaGVkCisrCQkgKiBkaWdlc3RlZCBkYXRhIHN1 cHBvcnQgaXMgYnJva2VuLgorKwkJICovCisrCQlpZiAob3MgPT0gTlVMTCkKKyAJCQlnb3RvIGVy cjsKKysJCWlmICghKG9zLT5mbGFncyAmIEFTTjFfU1RSSU5HX0ZMQUdfTkRFRikpCisrCQkJewor KwkJCWNoYXIgKmNvbnQ7CisrCQkJbG9uZyBjb250bGVuOworKwkJCWJ0bXA9QklPX2ZpbmRfdHlw ZShiaW8sQklPX1RZUEVfTUVNKTsKKysJCQlpZiAoYnRtcCA9PSBOVUxMKQorKwkJCQl7CisrCQkJ CVBLQ1M3ZXJyKFBLQ1M3X0ZfUEtDUzdfREFUQUZJTkFMLFBLQ1M3X1JfVU5BQkxFX1RPX0ZJTkRf TUVNX0JJTyk7CisrCQkJCWdvdG8gZXJyOworKwkJCQl9CisrCQkJY29udGxlbiA9IEJJT19nZXRf bWVtX2RhdGEoYnRtcCwgJmNvbnQpOworKwkJCS8qIE1hcmsgdGhlIEJJTyByZWFkIG9ubHkgdGhl biB3ZSBjYW4gdXNlIGl0cyBjb3B5IG9mIHRoZSBkYXRhCisrCQkJICogaW5zdGVhZCBvZiBtYWtp bmcgYW4gZXh0cmEgY29weS4KKysJCQkgKi8KKysJCQlCSU9fc2V0X2ZsYWdzKGJ0bXAsIEJJT19G TEFHU19NRU1fUkRPTkxZKTsKKysJCQlCSU9fc2V0X21lbV9lb2ZfcmV0dXJuKGJ0bXAsIDApOwor KwkJCUFTTjFfU1RSSU5HX3NldDAob3MsICh1bnNpZ25lZCBjaGFyICopY29udCwgY29udGxlbik7 CisgCQkJfQorLQkJY29udGxlbiA9IEJJT19nZXRfbWVtX2RhdGEoYnRtcCwgJmNvbnQpOworLQkJ LyogTWFyayB0aGUgQklPIHJlYWQgb25seSB0aGVuIHdlIGNhbiB1c2UgaXRzIGNvcHkgb2YgdGhl IGRhdGEKKy0JCSAqIGluc3RlYWQgb2YgbWFraW5nIGFuIGV4dHJhIGNvcHkuCistCQkgKi8KKy0J CUJJT19zZXRfZmxhZ3MoYnRtcCwgQklPX0ZMQUdTX01FTV9SRE9OTFkpOworLQkJQklPX3NldF9t ZW1fZW9mX3JldHVybihidG1wLCAwKTsKKy0JCUFTTjFfU1RSSU5HX3NldDAob3MsICh1bnNpZ25l ZCBjaGFyICopY29udCwgY29udGxlbik7CisgCQl9CisgCXJldD0xOworIGVycjoKK0BAIC05NzEs NiArMTAyNywxOCBAQCBpbnQgUEtDUzdfZGF0YVZlcmlmeShYNTA5X1NUT1JFICpjZXJ0X3N0Cisg CVNUQUNLX09GKFg1MDkpICpjZXJ0OworIAlYNTA5ICp4NTA5OworIAorKwlpZiAocDcgPT0gTlVM TCkKKysJCXsKKysJCVBLQ1M3ZXJyKFBLQ1M3X0ZfUEtDUzdfREFUQVZFUklGWSwgUEtDUzdfUl9J TlZBTElEX05VTExfUE9JTlRFUik7CisrCQlyZXR1cm4gMDsKKysJCX0KKysKKysJaWYgKHA3LT5k LnB0ciA9PSBOVUxMKQorKwkJeworKwkJUEtDUzdlcnIoUEtDUzdfRl9QS0NTN19EQVRBVkVSSUZZ LCBQS0NTN19SX05PX0NPTlRFTlQpOworKwkJcmV0dXJuIDA7CisrCQl9CisrCisgCWlmIChQS0NT N190eXBlX2lzX3NpZ25lZChwNykpCisgCQl7CisgCQljZXJ0PXA3LT5kLnNpZ24tPmNlcnQ7Citk aWZmIC11cCBvcGVuc3NsLTEuMC4xay9jcnlwdG8vcGtjczcvcGs3X2xpYi5jLnBrY3M3LW51bGwt ZGVyZWYgb3BlbnNzbC0xLjAuMWsvY3J5cHRvL3BrY3M3L3BrN19saWIuYworLS0tIG9wZW5zc2wt MS4wLjFrL2NyeXB0by9wa2NzNy9wazdfbGliLmMucGtjczctbnVsbC1kZXJlZgkyMDE0LTEwLTE1 IDE1OjQ5OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFrL2NyeXB0by9wa2Nz Ny9wazdfbGliLmMJMjAxNS0wMy0xOSAxNzozMDozNi43OTc2NTA5ODAgKzAxMDAKK0BAIC00NTks NiArNDU5LDggQEAgaW50IFBLQ1M3X3NldF9kaWdlc3QoUEtDUzcgKnA3LCBjb25zdCBFVgorIAor IFNUQUNLX09GKFBLQ1M3X1NJR05FUl9JTkZPKSAqUEtDUzdfZ2V0X3NpZ25lcl9pbmZvKFBLQ1M3 ICpwNykKKyAJeworKwlpZiAocDcgPT0gTlVMTCB8fCBwNy0+ZC5wdHIgPT0gTlVMTCkKKysJCXJl dHVybiBOVUxMOworIAlpZiAoUEtDUzdfdHlwZV9pc19zaWduZWQocDcpKQorIAkJeworIAkJcmV0 dXJuKHA3LT5kLnNpZ24tPnNpZ25lcl9pbmZvKTsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMg Yi9vcGVuc3NsLnNwZWMKaW5kZXggZDYzODc1NS4uNzFlNTY4YiAxMDA2NDQKLS0tIGEvb3BlbnNz bC5zcGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAtMjMsNyArMjMsNyBAQAogU3VtbWFyeTogVXRp bGl0aWVzIGZyb20gdGhlIGdlbmVyYWwgcHVycG9zZSBjcnlwdG9ncmFwaHkgbGlicmFyeSB3aXRo IFRMUyBpbXBsZW1lbnRhdGlvbgogTmFtZTogb3BlbnNzbAogVmVyc2lvbjogMS4wLjFrCi1SZWxl YXNlOiA1JXs/ZGlzdH0KK1JlbGVhc2U6IDYlez9kaXN0fQogRXBvY2g6IDEKICMgV2UgaGF2ZSB0 byByZW1vdmUgY2VydGFpbiBwYXRlbnRlZCBhbGdvcml0aG1zIGZyb20gdGhlIG9wZW5zc2wgc291 cmNlCiAjIHRhcmJhbGwgd2l0aCB0aGUgaG9iYmxlLW9wZW5zc2wgc2NyaXB0IHdoaWNoIGlzIGlu Y2x1ZGVkIGJlbG93LgpAQCAtOTAsNiArOTAsMTIgQEAgUGF0Y2g4NDogb3BlbnNzbC0xLjAuMWst dHJ1c3RlZC1maXJzdC5wYXRjaAogUGF0Y2g4NTogb3BlbnNzbC0xLjAuMWUtYXJtLXVzZS1lbGYt YXV4di1jYXBzLnBhdGNoCiBQYXRjaDg2OiBvcGVuc3NsLTEuMC4xay1lcGhlbWVyYWwta2V5LXNp emUucGF0Y2gKIFBhdGNoODc6IG9wZW5zc2wtMS4wLjFlLWNjLXJlcXMucGF0Y2gKK1BhdGNoMTAx OiBvcGVuc3NsLTEuMC4xay1jdmUtMjAxNS0wMjA5LnBhdGNoCitQYXRjaDEwMjogb3BlbnNzbC0x LjAuMWUtY3ZlLTIwMTUtMDI4Ni5wYXRjaAorUGF0Y2gxMDM6IG9wZW5zc2wtMS4wLjFlLWN2ZS0y MDE1LTAyODcucGF0Y2gKK1BhdGNoMTA0OiBvcGVuc3NsLTEuMC4xZS1jdmUtMjAxNS0wMjg4LnBh dGNoCitQYXRjaDEwNTogb3BlbnNzbC0xLjAuMWstY3ZlLTIwMTUtMDI4OS5wYXRjaAorUGF0Y2gx MDY6IG9wZW5zc2wtMS4wLjFlLWN2ZS0yMDE1LTAyOTMucGF0Y2gKIAogTGljZW5zZTogT3BlblNT TAogR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTIxMyw2ICsyMTksMTIg QEAgY3AgJXtTT1VSQ0UxMn0gJXtTT1VSQ0UxM30gY3J5cHRvL2VjLwogJXBhdGNoODUgLXAxIC1i IC5hcm1jYXAKICVwYXRjaDg2IC1wMSAtYiAuZXBoZW1lcmFsCiAlcGF0Y2g4NyAtcDEgLWIgLmNj LXJlcXMKKyVwYXRjaDEwMSAtcDEgLWIgLnVzZS1hZnRlci1mcmVlCislcGF0Y2gxMDIgLXAxIC1i IC5ib29sLWNtcAorJXBhdGNoMTAzIC1wMSAtYiAuaXRlbS1yZXVzZQorJXBhdGNoMTA0IC1wMSAt YiAucmVxLW51bGwtZGVyZWYKKyVwYXRjaDEwNSAtcDEgLWIgLnBrY3M3LW51bGwtZGVyZWYKKyVw YXRjaDEwNiAtcDEgLWIgLnNzbDItYXNzZXJ0CiAKIHNlZCAtaSAncy9TSExJQl9WRVJTSU9OX05V TUJFUiAiMS4wLjAiL1NITElCX1ZFUlNJT05fTlVNQkVSICIle3ZlcnNpb259Ii8nIGNyeXB0by9v cGVuc3Nsdi5oCiAKQEAgLTQ4MCw2ICs0OTIsMTMgQEAgcm0gLXJmICRSUE1fQlVJTERfUk9PVC8l e19saWJkaXJ9L2ZpcHNjYW5pc3Rlci4qCiAlcG9zdHVuIGxpYnMgLXAgL3NiaW4vbGRjb25maWcK IAogJWNoYW5nZWxvZworKiBUaHUgTWFyIDE5IDIwMTUgVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVk aGF0LmNvbT4gMS4wLjFrLTYKKy0gZml4IENWRS0yMDE1LTAyMDkgLSBwb3RlbnRpYWwgdXNlIGFm dGVyIGZyZWUgaW4gZDJpX0VDUHJpdmF0ZUtleSgpCistIGZpeCBDVkUtMjAxNS0wMjg2IC0gaW1w cm9wZXIgaGFuZGxpbmcgb2YgQVNOLjEgYm9vbGVhbiBjb21wYXJpc29uCistIGZpeCBDVkUtMjAx NS0wMjg3IC0gQVNOLjEgc3RydWN0dXJlIHJldXNlIGRlY29kaW5nIG1lbW9yeSBjb3JydXB0aW9u CistIGZpeCBDVkUtMjAxNS0wMjg5IC0gTlVMTCBkZXJlZmVyZW5jZSBkZWNvZGluZyBpbnZhbGlk IFBLQ1MjNyBkYXRhCistIGZpeCBDVkUtMjAxNS0wMjkzIC0gdHJpZ2dlcmFibGUgYXNzZXJ0IGlu IFNTTHYyIHNlcnZlcgorCiAqIE1vbiBNYXIgMTYgMjAxNSBUb23DocWhIE1yw6F6IDx0bXJhekBy ZWRoYXQuY29tPiAxLjAuMWstNQogLSBmaXggYnVnIGluIHRoZSBDUllQVE9fMTI4X3Vud3JhcCgp CiAK