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: - add -x931 parameter to openssl genrsa command to use the ANSI X9.31 Date: Tue, 09 Jun 2026 12:42:22 GMT Message-ID: <178100894223.1.4775604075440061133.rpms-openssl-15fad7109b4e@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 15fad7109b4e941d8a855a6e6374fc93c0b900f2 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDE1ZmFkNzEwOWI0ZTk0MWQ4YTg1NWE2ZTYzNzRmYzkzYzBiOTAw ZjIKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTEtMDItMDRUMTU6MTQ6MTgrMDE6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzQ1NS8tMSBpbiA0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9vcGVuc3NsL2MvMTVmYWQ3MTA5YjRl OTQxZDhhODU1YTZlNjM3NGZjOTNjMGI5MDBmMj9icmFuY2g9cmViYXNlXzQwYmV0YQoKICAgICAg ICAgICAgTG9nOgogICAgICAgICAgICAtIGFkZCAteDkzMSBwYXJhbWV0ZXIgdG8gb3BlbnNzbCBn ZW5yc2EgY29tbWFuZCB0byB1c2UgdGhlIEFOU0kgWDkuMzEKICBrZXkgZ2VuZXJhdGlvbiBtZXRo b2QKLSB1c2UgRklQUy0xODYtMyBtZXRob2QgZm9yIERTQSBwYXJhbWV0ZXIgZ2VuZXJhdGlvbgot IGFkZCBPUEVOU1NMX0ZJUFNfTk9OX0FQUFJPVkVEX01ENV9BTExPVyBlbnZpcm9ubWVudCB2YXJp YWJsZQogIHRvIGFsbG93IHVzaW5nIE1ENSB3aGVuIHRoZSBzeXN0ZW0gaXMgaW4gdGhlIG1haW50 ZW5hbmNlIHN0YXRlCiAgZXZlbiBpZiB0aGUgL3Byb2MgZmlwcyBmbGFnIGlzIG9uCgotLS0KZGlm ZiAtLWdpdCBhL29wZW5zc2wtMS4wLjBjLWZpcHMtbWQ1LWFsbG93LnBhdGNoIGIvb3BlbnNzbC0x LjAuMGMtZmlwcy1tZDUtYWxsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZjlmNWU1ZAotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjBjLWZpcHMtbWQ1 LWFsbG93LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjBjL2Ny eXB0by9tZDUvbWQ1X2Rnc3QuYy5tZDUtYWxsb3cgb3BlbnNzbC0xLjAuMGMvY3J5cHRvL21kNS9t ZDVfZGdzdC5jCistLS0gb3BlbnNzbC0xLjAuMGMvY3J5cHRvL21kNS9tZDVfZGdzdC5jLm1kNS1h bGxvdwkyMDExLTAyLTAzIDE5OjUzOjI4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4w LjBjL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwkyMDExLTAyLTAzIDIwOjMzOjE0LjAwMDAwMDAwMCAr MDEwMAorQEAgLTc1LDcgKzc1LDE1IEBAIGNvbnN0IGNoYXIgTUQ1X3ZlcnNpb25bXT0iTUQ1IiBP UEVOU1NMX1YKKyAjZGVmaW5lIElOSVRfREFUQV9DICh1bnNpZ25lZCBsb25nKTB4OThiYWRjZmVM CisgI2RlZmluZSBJTklUX0RBVEFfRCAodW5zaWduZWQgbG9uZykweDEwMzI1NDc2TAorIAorLUZJ UFNfTk9OX0ZJUFNfTURfSW5pdChNRDUpCisraW50IE1ENV9Jbml0KE1ENV9DVFggKmMpCisrI2lm ZGVmIE9QRU5TU0xfRklQUworKwl7CisrCWlmIChGSVBTX21vZGUoKSAmJiBnZXRlbnYoIk9QRU5T U0xfRklQU19OT05fQVBQUk9WRURfTUQ1X0FMTE9XIikgPT0gTlVMTCkKKysJCUZJUFNfQkFEX0FM R09SSVRITShhbGcpCisrCXJldHVybiBwcml2YXRlX01ENV9Jbml0KGMpOworKwl9CisraW50IHBy aXZhdGVfTUQ1X0luaXQoTUQ1X0NUWCAqYykKKysjZW5kaWYKKyAJeworIAltZW1zZXQgKGMsMCxz aXplb2YoKmMpKTsKKyAJYy0+QT1JTklUX0RBVEFfQTsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEu MC4wYy1maXBzMTg2LTMucGF0Y2ggYi9vcGVuc3NsLTEuMC4wYy1maXBzMTg2LTMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUzZTVhYgotLS0gL2Rldi9udWxsCisr KyBiL29wZW5zc2wtMS4wLjBjLWZpcHMxODYtMy5wYXRjaApAQCAtMCwwICsxLDM4NCBAQAorZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMGMvY3J5cHRvL2RzYS9kc2FfZ2VuLmMuZmlwczE4Ni0zIG9wZW5z c2wtMS4wLjBjL2NyeXB0by9kc2EvZHNhX2dlbi5jCistLS0gb3BlbnNzbC0xLjAuMGMvY3J5cHRv L2RzYS9kc2FfZ2VuLmMuZmlwczE4Ni0zCTIwMTEtMDItMDMgMjE6MDQ6MTQuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjAuMGMvY3J5cHRvL2RzYS9kc2FfZ2VuLmMJMjAxMS0wMi0wNCAw ODo1NDo0Mi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMjAsMTEgKzEyMCwxMSBAQCBpbnQgZHNhX2J1 aWx0aW5fcGFyYW1nZW4oRFNBICpyZXQsIHNpemVfCisgCWludCBvaz0wOworIAl1bnNpZ25lZCBj aGFyIHNlZWRbU0hBMjU2X0RJR0VTVF9MRU5HVEhdOworIAl1bnNpZ25lZCBjaGFyIG1kW1NIQTI1 Nl9ESUdFU1RfTEVOR1RIXTsKKy0JdW5zaWduZWQgY2hhciBidWZbU0hBMjU2X0RJR0VTVF9MRU5H VEhdLGJ1ZjJbU0hBMjU2X0RJR0VTVF9MRU5HVEhdOworKwl1bnNpZ25lZCBjaGFyIGJ1ZltTSEEy NTZfRElHRVNUX0xFTkdUSF07CisgCUJJR05VTSAqcjAsKlcsKlgsKmMsKnRlc3Q7CisgCUJJR05V TSAqZz1OVUxMLCpxPU5VTEwsKnA9TlVMTDsKKyAJQk5fTU9OVF9DVFggKm1vbnQ9TlVMTDsKKy0J aW50IGksIGssIG49MCwgbT0wLCBxc2l6ZSA9IHFiaXRzID4+IDM7CisrCWludCBpLCBrLCBiLCBu PTAsIG09MCwgcXNpemUgPSBxYml0cyA+PiAzOworIAlpbnQgY291bnRlcj0wOworIAlpbnQgcj0w OworIAlCTl9DVFggKmN0eD1OVUxMOworQEAgLTEzOCw5ICsxMzgsMTMgQEAgaW50IGRzYV9idWls dGluX3BhcmFtZ2VuKERTQSAqcmV0LCBzaXplXworIAkgICAgZ290byBlcnI7CisgCSAgICB9Cisg CistCWlmIChGSVBTX21vZGUoKSAmJiAoYml0cyA8IE9QRU5TU0xfRFNBX0ZJUFNfTUlOX01PRFVM VVNfQklUUykpCisrCWlmIChGSVBTX21vZGUoKSAmJgorKwkgICAgKGJpdHMgIT0gMTAyNCB8fCBx Yml0cyAhPSAxNjApICYmCisrCSAgICAoYml0cyAhPSAyMDQ4IHx8IHFiaXRzICE9IDIyNCkgJiYK KysJICAgIChiaXRzICE9IDIwNDggfHwgcWJpdHMgIT0gMjU2KSAmJgorKwkgICAgKGJpdHMgIT0g MzA3MiB8fCBxYml0cyAhPSAyNTYpKQorIAkJeworLQkJRFNBZXJyKERTQV9GX0RTQV9CVUlMVElO X1BBUkFNR0VOLCBEU0FfUl9LRVlfU0laRV9UT09fU01BTEwpOworKwkJRFNBZXJyKERTQV9GX0RT QV9CVUlMVElOX1BBUkFNR0VOLCBEU0FfUl9LRVlfU0laRV9JTlZBTElEKTsKKyAJCWdvdG8gZXJy OworIAkJfQorICNlbmRpZgorQEAgLTE1MSwyMiArMTU1LDI1IEBAIGludCBkc2FfYnVpbHRpbl9w YXJhbWdlbihEU0EgKnJldCwgc2l6ZV8KKyAJCXJldHVybiAwOworIAorIAlpZiAoZXZwbWQgPT0g TlVMTCkKKy0JCS8qIHVzZSBTSEExIGFzIGRlZmF1bHQgKi8KKy0JCWV2cG1kID0gRVZQX3NoYTEo KTsKKysJICAgIHsKKysJCWlmIChxYml0cyA8PSAxNjApCisrCQkJZXZwbWQgPSBFVlBfc2hhMSgp OworKwkJZWxzZSBpZiAocWJpdHMgPD0gMjI0KQorKwkJCWV2cG1kID0gRVZQX3NoYTIyNCgpOwor KwkJZWxzZQorKwkJCWV2cG1kID0gRVZQX3NoYTI1NigpOworKwkgICAgfQorIAorIAlpZiAoYml0 cyA8IDUxMikKKyAJCWJpdHMgPSA1MTI7CisgCisgCWJpdHMgPSAoYml0cys2MykvNjQqNjQ7Cisg CistCS8qIE5COiBzZWVkX2xlbiA9PSAwIGlzIHNwZWNpYWwgY2FzZTogY29weSBnZW5lcmF0ZWQg c2VlZCB0bworLSAJICogc2VlZF9pbiBpZiBpdCBpcyBub3QgTlVMTC4KKy0gCSAqLworIAlpZiAo c2VlZF9sZW4gJiYgKHNlZWRfbGVuIDwgKHNpemVfdClxc2l6ZSkpCisgCQlzZWVkX2luID0gTlVM TDsJCS8qIHNlZWQgYnVmZmVyIHRvbyBzbWFsbCAtLSBpZ25vcmUgKi8KKyAJaWYgKHNlZWRfbGVu ID4gKHNpemVfdClxc2l6ZSkgCisgCQlzZWVkX2xlbiA9IHFzaXplOwkvKiBBcHAuIDIuMiBvZiBG SVBTIFBVQiAxODYgYWxsb3dzIGxhcmdlciBTRUVELAorLQkJCQkJICogYnV0IG91ciBpbnRlcm5h bCBidWZmZXJzIGFyZSByZXN0cmljdGVkIHRvIDE2MCBiaXRzKi8KKysJCQkJCSAqIGJ1dCBvdXIg aW50ZXJuYWwgYnVmZmVycyBhcmUgcmVzdHJpY3RlZCB0byAyNTYgYml0cyovCisgCWlmIChzZWVk X2luICE9IE5VTEwpCisgCQltZW1jcHkoc2VlZCwgc2VlZF9pbiwgc2VlZF9sZW4pOworIAorQEAg LTE4OSwxMyArMTk2LDE4IEBAIGludCBkc2FfYnVpbHRpbl9wYXJhbWdlbihEU0EgKnJldCwgc2l6 ZV8KKyAJaWYgKCFCTl9sc2hpZnQodGVzdCxCTl92YWx1ZV9vbmUoKSxiaXRzLTEpKQorIAkJZ290 byBlcnI7CisgCisrCS8qIHN0ZXAgMyBuID0gXGxjZWlsIGJpdHMgLyBxYml0cyBccmNlaWwgLSAx ICovCisrCW4gPSAoYml0cytxYml0cy0xKS9xYml0cyAtIDE7CisrCS8qIHN0ZXAgNCBiID0gYml0 cyAtIDEgLSBuICogcWJpdHMgKi8KKysJYiA9IGJpdHMgLSAxIC0gbipxYml0czsKKysKKyAJZm9y ICg7OykKKyAJCXsKKyAJCWZvciAoOzspIC8qIGZpbmQgcSAqLworIAkJCXsKKyAJCQlpbnQgc2Vl ZF9pc19yYW5kb207CisgCistCQkJLyogc3RlcCAxICovCisrCQkJLyogc3RlcCA1IGdlbmVyYXRl IHNlZWQgKi8KKyAJCQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMCwgbSsrKSkKKyAJCQkJZ290byBl cnI7CisgCitAQCAtMjEwLDI4ICsyMjIsMTcgQEAgaW50IGRzYV9idWlsdGluX3BhcmFtZ2VuKERT QSAqcmV0LCBzaXplXworIAkJCQlzZWVkX2xlbj0wOyAvKiB1c2UgcmFuZG9tIHNlZWQgaWYgJ3Nl ZWRfaW4nIHR1cm5zIG91dCB0byBiZSBiYWQqLworIAkJCQl9CisgCQkJbWVtY3B5KGJ1ZiAsIHNl ZWQsIHFzaXplKTsKKy0JCQltZW1jcHkoYnVmMiwgc2VlZCwgcXNpemUpOworLQkJCS8qIHByZWNv bXB1dGUgIlNFRUQgKyAxIiBmb3Igc3RlcCA3OiAqLworLQkJCWZvciAoaSA9IHFzaXplLTE7IGkg Pj0gMDsgaS0tKQorLQkJCQl7CistCQkJCWJ1ZltpXSsrOworLQkJCQlpZiAoYnVmW2ldICE9IDAp CistCQkJCQlicmVhazsKKy0JCQkJfQorIAorLQkJCS8qIHN0ZXAgMiAqLworKwkJCS8qIHN0ZXAg NiBVID0gaGFzaChzZWVkKSAqLworIAkJCUVWUF9EaWdlc3Qoc2VlZCwgcXNpemUsIG1kLCAgIE5V TEwsIGV2cG1kLCBOVUxMKTsKKy0JCQlFVlBfRGlnZXN0KGJ1ZiwgIHFzaXplLCBidWYyLCBOVUxM LCBldnBtZCwgTlVMTCk7CistCQkJZm9yIChpID0gMDsgaSA8IHFzaXplOyBpKyspCistCQkJCW1k W2ldXj1idWYyW2ldOworIAorLQkJCS8qIHN0ZXAgMyAqLworKwkJCS8qIHN0ZXAgNyBxID0gMl4o cWJpdHMtMSkgKyBVICsgMSAtIChVIG1vZCAyKSAqLworIAkJCW1kWzBdIHw9IDB4ODA7CisgCQkJ bWRbcXNpemUtMV0gfD0gMHgwMTsKKyAJCQlpZiAoIUJOX2JpbjJibihtZCwgcXNpemUsIHEpKQor IAkJCQlnb3RvIGVycjsKKyAKKy0JCQkvKiBzdGVwIDQgKi8KKysJCQkvKiBzdGVwIDggdGVzdCBm b3IgcHJpbWUgKDY0IHJvdW5kIG9mIFJhYmluLU1pbGxlcikgKi8KKyAJCQlyID0gQk5faXNfcHJp bWVfZmFzdHRlc3RfZXgocSwgRFNTX3ByaW1lX2NoZWNrcywgY3R4LAorIAkJCQkJc2VlZF9pc19y YW5kb20sIGNiKTsKKyAJCQlpZiAociA+IDApCitAQCAtMjM5LDI3ICsyNDAsMjIgQEAgaW50IGRz YV9idWlsdGluX3BhcmFtZ2VuKERTQSAqcmV0LCBzaXplXworIAkJCWlmIChyICE9IDApCisgCQkJ CWdvdG8gZXJyOworIAorLQkJCS8qIGRvIGEgY2FsbGJhY2sgY2FsbCAqLworLQkJCS8qIHN0ZXAg NSAqLworIAkJCX0KKyAKKyAJCWlmKCFCTl9HRU5DQl9jYWxsKGNiLCAyLCAwKSkgZ290byBlcnI7 CisgCQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMywgMCkpIGdvdG8gZXJyOworIAorLQkJLyogc3Rl cCA2ICovCisrCQkvKiBzdGVwIDExICovCisgCQljb3VudGVyPTA7CistCQkvKiAib2Zmc2V0ID0g MiIgKi8KKy0KKy0JCW49KGJpdHMtMSkvMTYwOworKwkJLyogIm9mZnNldCA9IDEiICovCisgCisg CQlmb3IgKDs7KQorIAkJCXsKKyAJCQlpZiAoKGNvdW50ZXIgIT0gMCkgJiYgIUJOX0dFTkNCX2Nh bGwoY2IsIDAsIGNvdW50ZXIpKQorIAkJCQlnb3RvIGVycjsKKyAKKy0JCQkvKiBzdGVwIDcgKi8K KysJCQkvKiBzdGVwIDExLjEsIDExLjIgb2J0YWluIFcgKi8KKyAJCQlCTl96ZXJvKFcpOworLQkJ CS8qIG5vdyAnYnVmJyBjb250YWlucyAiU0VFRCArIG9mZnNldCAtIDEiICovCisgCQkJZm9yIChr PTA7IGs8PW47IGsrKykKKyAJCQkJeworIAkJCQkvKiBvYnRhaW4gIlNFRUQgKyBvZmZzZXQgKyBr IiBieSBpbmNyZW1lbnRpbmc6ICovCitAQCAtMjcyLDI4ICsyNjgsMzAgQEAgaW50IGRzYV9idWls dGluX3BhcmFtZ2VuKERTQSAqcmV0LCBzaXplXworIAorIAkJCQlFVlBfRGlnZXN0KGJ1ZiwgcXNp emUsIG1kICxOVUxMLCBldnBtZCwgTlVMTCk7CisgCistCQkJCS8qIHN0ZXAgOCAqLworIAkJCQlp ZiAoIUJOX2JpbjJibihtZCwgcXNpemUsIHIwKSkKKyAJCQkJCWdvdG8gZXJyOworLQkJCQlpZiAo IUJOX2xzaGlmdChyMCxyMCwocXNpemUgPDwgMykqaykpIGdvdG8gZXJyOworKwkJCQlpZiAoayA9 PSBuKQorKwkJCQkJQk5fbWFza19iaXRzKHIwLGIpOworKwkJCQlpZiAoIUJOX2xzaGlmdChyMCxy MCxxYml0cyprKSkgZ290byBlcnI7CisgCQkJCWlmICghQk5fYWRkKFcsVyxyMCkpIGdvdG8gZXJy OworIAkJCQl9CisgCistCQkJLyogbW9yZSBvZiBzdGVwIDggKi8KKy0JCQlpZiAoIUJOX21hc2tf Yml0cyhXLGJpdHMtMSkpIGdvdG8gZXJyOworKwkJCS8qIHN0ZXAgMTEuMyBYID0gVyArIDJeKEwt MSkgKi8KKyAJCQlpZiAoIUJOX2NvcHkoWCxXKSkgZ290byBlcnI7CisgCQkJaWYgKCFCTl9hZGQo WCxYLHRlc3QpKSBnb3RvIGVycjsKKyAKKy0JCQkvKiBzdGVwIDkgKi8KKysJCQkvKiBzdGVwIDEx LjQgYyA9IFggbW9kIDIqcSAqLworIAkJCWlmICghQk5fbHNoaWZ0MShyMCxxKSkgZ290byBlcnI7 CisgCQkJaWYgKCFCTl9tb2QoYyxYLHIwLGN0eCkpIGdvdG8gZXJyOworKworKwkJCS8qIHN0ZXAg MTEuNSBwID0gWCAtIChjIC0gMSkgKi8KKyAJCQlpZiAoIUJOX3N1YihyMCxjLEJOX3ZhbHVlX29u ZSgpKSkgZ290byBlcnI7CisgCQkJaWYgKCFCTl9zdWIocCxYLHIwKSkgZ290byBlcnI7CisgCist CQkJLyogc3RlcCAxMCAqLworKwkJCS8qIHN0ZXAgMTEuNiAqLworIAkJCWlmIChCTl9jbXAocCx0 ZXN0KSA+PSAwKQorIAkJCQl7CistCQkJCS8qIHN0ZXAgMTEgKi8KKysJCQkJLyogc3RlcCAxMS43 ICovCisgCQkJCXIgPSBCTl9pc19wcmltZV9mYXN0dGVzdF9leChwLCBEU1NfcHJpbWVfY2hlY2tz LAorIAkJCQkJCWN0eCwgMSwgY2IpOworIAkJCQlpZiAociA+IDApCitAQCAtMzAyLDEyICszMDAs MTIgQEAgaW50IGRzYV9idWlsdGluX3BhcmFtZ2VuKERTQSAqcmV0LCBzaXplXworIAkJCQkJZ290 byBlcnI7CisgCQkJCX0KKyAKKy0JCQkvKiBzdGVwIDEzICovCisrCQkJLyogc3RlcCAxMS45ICov CisgCQkJY291bnRlcisrOworIAkJCS8qICJvZmZzZXQgPSBvZmZzZXQgKyBuICsgMSIgKi8KKyAK Ky0JCQkvKiBzdGVwIDE0ICovCistCQkJaWYgKGNvdW50ZXIgPj0gNDA5NikgYnJlYWs7CisrCQkJ Lyogc3RlcCAxMiAqLworKwkJCWlmIChjb3VudGVyID49IDQqYml0cykgYnJlYWs7CisgCQkJfQor IAkJfQorIGVuZDoKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9kc2EvZHNhLmguZmlw czE4Ni0zIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9kc2EvZHNhLmgKKy0tLSBvcGVuc3NsLTEuMC4w Yy9jcnlwdG8vZHNhL2RzYS5oLmZpcHMxODYtMwkyMDExLTAyLTAzIDIxOjA0OjE0LjAwMDAwMDAw MCArMDEwMAorKysrIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9kc2EvZHNhLmgJMjAxMS0wMi0wMyAy MTowNDoxNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0zMTYsNiArMzE2LDcgQEAgdm9pZCBFUlJfbG9h ZF9EU0Ffc3RyaW5ncyh2b2lkKTsKKyAjZGVmaW5lIERTQV9SX0RBVEFfVE9PX0xBUkdFX0ZPUl9L RVlfU0laRQkJIDEwMAorICNkZWZpbmUgRFNBX1JfREVDT0RFX0VSUk9SCQkJCSAxMDQKKyAjZGVm aW5lIERTQV9SX0lOVkFMSURfRElHRVNUX1RZUEUJCQkgMTA2CisrI2RlZmluZSBEU0FfUl9LRVlf U0laRV9JTlZBTElECQkJCSAxMTMKKyAjZGVmaW5lIERTQV9SX0tFWV9TSVpFX1RPT19TTUFMTAkJ CSAxMTAKKyAjZGVmaW5lIERTQV9SX01JU1NJTkdfUEFSQU1FVEVSUwkJCSAxMDEKKyAjZGVmaW5l IERTQV9SX01PRFVMVVNfVE9PX0xBUkdFCQkJCSAxMDMKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjBj L2NyeXB0by9kc2EvZHNhdGVzdC5jLmZpcHMxODYtMyBvcGVuc3NsLTEuMC4wYy9jcnlwdG8vZHNh L2RzYXRlc3QuYworLS0tIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9kc2EvZHNhdGVzdC5jLmZpcHMx ODYtMwkyMDExLTAyLTAzIDIxOjE0OjA3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4w LjBjL2NyeXB0by9kc2EvZHNhdGVzdC5jCTIwMTEtMDItMDQgMDg6NDA6MjQuMDAwMDAwMDAwICsw MTAwCitAQCAtOTYsMzYgKzk2LDQxIEBAIHN0YXRpYyBpbnQgTVNfQ0FMTEJBQ0sgZHNhX2NiKGlu dCBwLCBpbnQKKyAvKiBzZWVkLCBvdXRfcCwgb3V0X3EsIG91dF9nIGFyZSB0YWtlbiBmcm9tIHRo ZSB1cGRhdGVkIEFwcGVuZGl4IDUgdG8KKyAgKiBGSVBTIFBVQiAxODYgYW5kIGFsc28gYXBwZWFy IGluIEFwcGVuZGl4IDUgdG8gRklQUyBQSUIgMTg2LTEgKi8KKyBzdGF0aWMgdW5zaWduZWQgY2hh ciBzZWVkWzIwXT17CistCTB4ZDUsMHgwMSwweDRlLDB4NGIsMHg2MCwweGVmLDB4MmIsMHhhOCww eGI2LDB4MjEsMHgxYiwweDQwLAorLQkweDYyLDB4YmEsMHgzMiwweDI0LDB4ZTAsMHg0MiwweDdk LDB4ZDMsCisrCTB4MDIsMHg0NywweDExLDB4OTIsMHgxMSwweDg4LDB4QzgsMHhGQiwweEFGLDB4 NDgsMHg0QywweDYyLAorKwkweERGLDB4QTUsMHhCRSwweEEwLDB4QTQsMHgzQywweDU2LDB4RTMs CisgCX07CisgCisgc3RhdGljIHVuc2lnbmVkIGNoYXIgb3V0X3BbXT17CistCTB4OGQsMHhmMiww eGE0LDB4OTQsMHg0OSwweDIyLDB4NzYsMHhhYSwKKy0JMHgzZCwweDI1LDB4NzUsMHg5YiwweGIw LDB4NjgsMHg2OSwweGNiLAorLQkweGVhLDB4YzAsMHhkOCwweDNhLDB4ZmIsMHg4ZCwweDBjLDB4 ZjcsCistCTB4Y2IsMHhiOCwweDMyLDB4NGYsMHgwZCwweDc4LDB4ODIsMHhlNSwKKy0JMHhkMCww eDc2LDB4MmYsMHhjNSwweGI3LDB4MjEsMHgwZSwweGFmLAorLQkweGMyLDB4ZTksMHhhZCwweGFj LDB4MzIsMHhhYiwweDdhLDB4YWMsCistCTB4NDksMHg2OSwweDNkLDB4ZmIsMHhmOCwweDM3LDB4 MjQsMHhjMiwKKy0JMHhlYywweDA3LDB4MzYsMHhlZSwweDMxLDB4YzgsMHgwMiwweDkxLAorKwkw eEFDLDB4Q0IsMHgxRSwweDYzLDB4NjAsMHg2OSwweDBDLDB4RkIsMHgwNiwweDE5LDB4NjgsMHgz RSwKKysJMHhBNSwweDAxLDB4NUEsMHhBMiwweDE1LDB4NUMsMHhFMiwweDk5LDB4MkQsMHhENSww eDMwLDB4OTksCisrCTB4N0UsMHg1RiwweDhELDB4RTIsMHhGNywweEM2LDB4MkUsMHg4RCwweEEz LDB4OUYsMHg1OCwweEFELAorKwkweEQ2LDB4QTksMHg3RCwweDBFLDB4MEQsMHg5NSwweDUzLDB4 QTYsMHg3MSwweDNBLDB4REUsMHhBQiwKKysJMHhBQywweEU5LDB4RjQsMHgzNiwweDU1LDB4OUUs MHhCOSwweEQ2LDB4OTMsMHhCRiwweEYzLDB4MTgsCisrCTB4MUMsMHgxNCwweDdCLDB4QTUsMHg0 MiwweDJFLDB4Q0QsMHgwMCwweEVCLDB4MzUsMHgzQiwweDFCLAorKwkweEE4LDB4NTEsMHhCQiww eEUxLDB4NTgsMHg0MiwweDg1LDB4ODQsMHgyMiwweEE3LDB4OTcsMHg1RSwKKysJMHg5OSwweDZG LDB4MzgsMHgyMCwweEJELDB4OUQsMHhCNiwweEQ5LDB4MzMsMHgzNywweDJBLDB4RkQsCisrCTB4 QkIsMHhENCwweEJDLDB4MEMsMHgyQSwweDY3LDB4Q0IsMHg5RiwweEJCLDB4REYsMHhGOSwweDkz LAorKwkweEFBLDB4RDYsMHhGMCwweEQ2LDB4OTUsMHgwQiwweDVELDB4NjUsMHgxNCwweEQwLDB4 MTgsMHg5RCwKKysJMHhDNiwweEFGLDB4RjAsMHhDNiwweDM3LDB4N0MsMHhGMywweDVGLAorIAl9 OworIAorIHN0YXRpYyB1bnNpZ25lZCBjaGFyIG91dF9xW109eworLQkweGM3LDB4NzMsMHgyMSww eDhjLDB4NzMsMHg3ZSwweGM4LDB4ZWUsCistCTB4OTksMHgzYiwweDRmLDB4MmQsMHhlZCwweDMw LDB4ZjQsMHg4ZSwKKy0JMHhkYSwweGNlLDB4OTEsMHg1ZiwKKysJMHhFMywweDhFLDB4NUUsMHg2 RCwweEJGLDB4MkIsMHg3OSwweEY4LDB4QzUsMHg0QiwweDg5LDB4OEIsCisrCTB4QkEsMHgyRCww eDkxLDB4QzMsMHg2QywweDgwLDB4QUMsMHg4NywKKyAJfTsKKyAKKyBzdGF0aWMgdW5zaWduZWQg Y2hhciBvdXRfZ1tdPXsKKy0JMHg2MiwweDZkLDB4MDIsMHg3OCwweDM5LDB4ZWEsMHgwYSwweDEz LAorLQkweDQxLDB4MzEsMHg2MywweGE1LDB4NWIsMHg0YywweGI1LDB4MDAsCistCTB4MjksMHg5 ZCwweDU1LDB4MjIsMHg5NSwweDZjLDB4ZWYsMHhjYiwKKy0JMHgzYiwweGZmLDB4MTAsMHhmMyww eDk5LDB4Y2UsMHgyYywweDJlLAorLQkweDcxLDB4Y2IsMHg5ZCwweGU1LDB4ZmEsMHgyNCwweGJh LDB4YmYsCistCTB4NTgsMHhlNSwweGI3LDB4OTUsMHgyMSwweDkyLDB4NWMsMHg5YywKKy0JMHhj NCwweDJlLDB4OWYsMHg2ZiwweDQ2LDB4NGIsMHgwOCwweDhjLAorLQkweGM1LDB4NzIsMHhhZiww eDUzLDB4ZTYsMHhkNywweDg4LDB4MDIsCisrCTB4NDIsMHg0QSwweDA0LDB4NEUsMHg3OSwweEI0 LDB4OTksMHg3RiwweEZELDB4NTgsMHgzNiwweDJDLAorKwkweDFCLDB4NUYsMHgxOCwweDdFLDB4 MEQsMHhDQywweEFCLDB4ODEsMHhDOSwweDVELDB4MTAsMHhDRSwKKysJMHg0RSwweDgwLDB4N0Us MHg1OCwweEI0LDB4MzQsMHgzRiwweEE3LDB4NDUsMHhDNywweEFBLDB4MzYsCisrCTB4MjQsMHg0 MiwweEE5LDB4M0IsMHhFOCwweDBFLDB4MDQsMHgwMiwweDJELDB4RkIsMHhBNiwweDEzLAorKwkw eEI5LDB4QjUsMHgxNSwweEE1LDB4NTYsMHgwNywweDM1LDB4RTQsMHgwMywweEI2LDB4NzksMHg3 QywKKysJMHg2MiwweERELDB4REYsMHgzRiwweDcxLDB4M0EsMHg5RCwweDhCLDB4QzQsMHhGNiww eEU3LDB4MUQsCisrCTB4NTIsMHhBOCwweEE5LDB4NDMsMHgxRCwweDMzLDB4NTEsMHg4OCwweDM5 LDB4QkQsMHg3MywweEU5LAorKwkweDVGLDB4QkUsMHg4MiwweDQ5LDB4MjcsMHhFNiwweEI1LDB4 NTMsMHhDMSwweDM4LDB4QUMsMHgyRiwKKysJMHg2RCwweDk3LDB4NkMsMHhFQiwweDY3LDB4QzEs MHg1RiwweDY3LDB4RjgsMHgzNSwweDA1LDB4NUUsCisrCTB4RDUsMHg2OCwweDgwLDB4QUEsMHg5 NiwweENBLDB4MEIsMHg4QSwweEU2LDB4RjEsMHhCMSwweDQxLAorKwkweEM2LDB4NzUsMHg5NCww eDBBLDB4MEEsMHgyQSwweEZBLDB4MjksCisgCX07CisgCisgc3RhdGljIGNvbnN0IHVuc2lnbmVk IGNoYXIgc3RyMVtdPSIxMjM0NTY3ODkwMTIzNDU2Nzg5MCI7CitAQCAtMTU3LDcgKzE2Miw3IEBA IGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJQklPX3ByaW50ZihiaW9fZXJyLCJ0 ZXN0IGdlbmVyYXRpb24gb2YgRFNBIHBhcmFtZXRlcnNcbiIpOworIAorIAlCTl9HRU5DQl9zZXQo JmNiLCBkc2FfY2IsIGJpb19lcnIpOworLQlpZigoKGRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkg fHwgIURTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4KGRzYSwgNTEyLAorKwlpZigoKGRzYSA9IERT QV9uZXcoKSkgPT0gTlVMTCkgfHwgIURTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4KGRzYSwgMTAy NCwKKyAJCQkJc2VlZCwgMjAsICZjb3VudGVyLCAmaCwgJmNiKSkKKyAJCWdvdG8gZW5kOworIAor QEAgLTE3MCw5ICsxNzUsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCUJJ T19wcmludGYoYmlvX2VyciwiXG5jb3VudGVyPSVkIGg9JWxkXG4iLGNvdW50ZXIsaCk7CisgCQkK KyAJRFNBX3ByaW50KGJpb19lcnIsZHNhLDApOworLQlpZiAoY291bnRlciAhPSAxMDUpIAorKwlp ZiAoY291bnRlciAhPSAyMzkpIAorIAkJeworLQkJQklPX3ByaW50ZihiaW9fZXJyLCJjb3VudGVy IHNob3VsZCBiZSAxMDVcbiIpOworKwkJQklPX3ByaW50ZihiaW9fZXJyLCJjb3VudGVyIHNob3Vs ZCBiZSAyMzlcbiIpOworIAkJZ290byBlbmQ7CisgCQl9CisgCWlmIChoICE9IDIpCitkaWZmIC11 cCBvcGVuc3NsLTEuMC4wYy9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jLmZpcHMxODYt MyBvcGVuc3NsLTEuMC4wYy9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCistLS0gb3Bl bnNzbC0xLjAuMGMvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzMTg2LTMJMjAx MS0wMi0wMyAyMTowNDoxNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4wYy9jcnlw dG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCTIwMTEtMDItMDQgMDk6MDM6MDMuMDAwMDAwMDAw ICswMTAwCitAQCAtNjgsNDQgKzY4LDQyIEBACisgCisgI2lmZGVmIE9QRU5TU0xfRklQUworIAor LS8qIHNlZWQsIG91dF9wLCBvdXRfcSwgb3V0X2cgYXJlIHRha2VuIHRoZSBOSVNUIHRlc3QgdmVj dG9ycyAqLworLQorIHN0YXRpYyB1bnNpZ25lZCBjaGFyIHNlZWRbMjBdID0geworLQkweDc3LCAw eDhmLCAweDQwLCAweDc0LCAweDZmLCAweDY2LCAweGJlLCAweDMzLCAweGNlLCAweGJlLCAweDk5 LCAweDM0LAorLQkweDRjLCAweGZjLCAweGYzLCAweDI4LCAweGFhLCAweDcwLCAweDJkLCAweDNh CistICAJfTsKKysJMHgwMiwweDQ3LDB4MTEsMHg5MiwweDExLDB4ODgsMHhDOCwweEZCLDB4QUYs MHg0OCwweDRDLDB4NjIsCisrCTB4REYsMHhBNSwweEJFLDB4QTAsMHhBNCwweDNDLDB4NTYsMHhF MywKKysJfTsKKyAKKyBzdGF0aWMgdW5zaWduZWQgY2hhciBvdXRfcFtdID0geworLQkweGY3LCAw eDdjLCAweDFiLCAweDgzLCAweGQ4LCAweGU4LCAweDVjLCAweDdmLCAweDg1LCAweDMwLCAweDE3 LCAweDU3LAorLQkweDIxLCAweDk1LCAweGZlLCAweDI2LCAweDA0LCAweGViLCAweDQ3LCAweDRj LCAweDNhLCAweDRhLCAweDgxLCAweDRiLAorLQkweDcxLCAweDJlLCAweGVkLCAweDZlLCAweDRm LCAweDNkLCAweDExLCAweDBmLCAweDdjLCAweGZlLCAweDM2LCAweDQzLAorLQkweDUxLCAweGQ5 LCAweDgxLCAweDM5LCAweDE3LCAweGRmLCAweDYyLCAweGY2LCAweDljLCAweDAxLCAweGE4LCAw eDY5LAorLQkweDcxLCAweGRkLCAweDI5LCAweDdmLCAweDQ3LCAweGU2LCAweDY1LCAweGE2LCAw eDIyLCAweGU4LCAweDZhLCAweDEyLAorLQkweDJiLCAweGMyLCAweDgxLCAweGZmLCAweDMyLCAw eDcwLCAweDJmLCAweDllLCAweGNhLCAweDUzLCAweDI2LCAweDQ3LAorLQkweDBmLCAweDU5LCAw eGQ3LCAweDllLCAweDJjLCAweGE1LCAweDA3LCAweGM0LCAweDQ5LCAweDUyLCAweGEzLCAweGU0 LAorLQkweDZiLCAweDA0LCAweDAwLCAweDI1LCAweDQ5LCAweGUyLCAweGU2LCAweDdmLCAweDI4 LCAweDc4LCAweDk3LCAweGI4LAorLQkweDNhLCAweDMyLCAweDE0LCAweDM4LCAweGEyLCAweDUx LCAweDMzLCAweDIyLCAweDQ0LCAweDdlLCAweGQ3LCAweGVmLAorLQkweDQ1LCAweGRiLCAweDA2 LCAweDRhLCAweGQyLCAweDgyLCAweDRhLCAweDgyLCAweDJjLCAweGIxLCAweGQ3LCAweGQ4LAor LQkweGI2LCAweDczLCAweDAwLCAweDRkLCAweDk0LCAweDc3LCAweDk0LCAweGVmCisrCTB4QUMs MHhDQiwweDFFLDB4NjMsMHg2MCwweDY5LDB4MEMsMHhGQiwweDA2LDB4MTksMHg2OCwweDNFLAor KwkweEE1LDB4MDEsMHg1QSwweEEyLDB4MTUsMHg1QywweEUyLDB4OTksMHgyRCwweEQ1LDB4MzAs MHg5OSwKKysJMHg3RSwweDVGLDB4OEQsMHhFMiwweEY3LDB4QzYsMHgyRSwweDhELDB4QTMsMHg5 RiwweDU4LDB4QUQsCisrCTB4RDYsMHhBOSwweDdELDB4MEUsMHgwRCwweDk1LDB4NTMsMHhBNiww eDcxLDB4M0EsMHhERSwweEFCLAorKwkweEFDLDB4RTksMHhGNCwweDM2LDB4NTUsMHg5RSwweEI5 LDB4RDYsMHg5MywweEJGLDB4RjMsMHgxOCwKKysJMHgxQywweDE0LDB4N0IsMHhBNSwweDQyLDB4 MkUsMHhDRCwweDAwLDB4RUIsMHgzNSwweDNCLDB4MUIsCisrCTB4QTgsMHg1MSwweEJCLDB4RTEs MHg1OCwweDQyLDB4ODUsMHg4NCwweDIyLDB4QTcsMHg5NywweDVFLAorKwkweDk5LDB4NkYsMHgz OCwweDIwLDB4QkQsMHg5RCwweEI2LDB4RDksMHgzMywweDM3LDB4MkEsMHhGRCwKKysJMHhCQiww eEQ0LDB4QkMsMHgwQywweDJBLDB4NjcsMHhDQiwweDlGLDB4QkIsMHhERiwweEY5LDB4OTMsCisr CTB4QUEsMHhENiwweEYwLDB4RDYsMHg5NSwweDBCLDB4NUQsMHg2NSwweDE0LDB4RDAsMHgxOCww eDlELAorKwkweEM2LDB4QUYsMHhGMCwweEM2LDB4MzcsMHg3QywweEYzLDB4NUYsCisgCX07Cisg Cisgc3RhdGljIHVuc2lnbmVkIGNoYXIgb3V0X3FbXSA9IHsKKy0JMHhkNCwgMHgwYSwgMHhhYywg MHg5ZiwgMHhiZCwgMHg4YywgMHg4MCwgMHhjMiwgMHgzOCwgMHg3ZSwgMHgyZSwgMHgwYywKKy0J MHg1MiwgMHg1YywgMHhlYSwgMHgzNCwgMHhhMSwgMHg4MywgMHgzMiwgMHhmMworKwkweEUzLDB4 OEUsMHg1RSwweDZELDB4QkYsMHgyQiwweDc5LDB4RjgsMHhDNSwweDRCLDB4ODksMHg4QiwKKysJ MHhCQSwweDJELDB4OTEsMHhDMywweDZDLDB4ODAsMHhBQywweDg3LAorIAl9OworIAorIHN0YXRp YyB1bnNpZ25lZCBjaGFyIG91dF9nW10gPSB7CistCTB4MzQsIDB4NzMsIDB4OGIsIDB4NTcsIDB4 ODQsIDB4OGUsIDB4NTUsIDB4YmYsIDB4NTcsIDB4Y2MsIDB4NDEsIDB4YmIsCistCTB4NWUsIDB4 MmIsIDB4ZDUsIDB4NDIsIDB4ZGQsIDB4MjQsIDB4MjIsIDB4MmEsIDB4MDksIDB4ZWEsIDB4MjYs IDB4MWUsCistCTB4MTcsIDB4NjUsIDB4Y2IsIDB4MWEsIDB4YjMsIDB4MTIsIDB4NDQsIDB4YTMs IDB4OWUsIDB4OTksIDB4ZTksIDB4NjMsCistCTB4ZWIsIDB4MzAsIDB4YjEsIDB4NzgsIDB4N2Is IDB4MDksIDB4NDAsIDB4MzAsIDB4ZmEsIDB4ODMsIDB4YzIsIDB4MzUsCistCTB4ZTEsIDB4YzQs IDB4MmQsIDB4NzQsIDB4MWEsIDB4YjEsIDB4ODMsIDB4NTQsIDB4ZDgsIDB4MjksIDB4ZjQsIDB4 Y2YsCistCTB4N2YsIDB4NmYsIDB4NjcsIDB4MWMsIDB4MzYsIDB4NDksIDB4ZWUsIDB4NmMsIDB4 YTIsIDB4M2MsIDB4MmQsIDB4NmEsCistCTB4ZTksIDB4ZDMsIDB4OWEsIDB4ZjYsIDB4NTcsIDB4 NzgsIDB4NmYsIDB4ZmQsIDB4MzMsIDB4Y2QsIDB4M2MsIDB4ZWQsCistCTB4ZmQsIDB4ZDQsIDB4 NDEsIDB4ZTYsIDB4NWMsIDB4OGIsIDB4ZTAsIDB4NjgsIDB4MzEsIDB4NDcsIDB4NDcsIDB4YWYs CistCTB4MTIsIDB4YTcsIDB4ZjksIDB4MzIsIDB4MGQsIDB4OTQsIDB4MTUsIDB4NDgsIDB4ZDAs IDB4NTQsIDB4ODUsIDB4YjIsCistCTB4MDQsIDB4YjUsIDB4NGQsIDB4ZDQsIDB4OWQsIDB4MDUs IDB4MjIsIDB4MjUsIDB4ZDksIDB4ZmQsIDB4NmMsIDB4MzYsCistCTB4ZWYsIDB4YmUsIDB4Njks IDB4NmMsIDB4NTUsIDB4ZjQsIDB4ZWUsIDB4ZWMKKysJMHg0MiwweDRBLDB4MDQsMHg0RSwweDc5 LDB4QjQsMHg5OSwweDdGLDB4RkQsMHg1OCwweDM2LDB4MkMsCisrCTB4MUIsMHg1RiwweDE4LDB4 N0UsMHgwRCwweENDLDB4QUIsMHg4MSwweEM5LDB4NUQsMHgxMCwweENFLAorKwkweDRFLDB4ODAs MHg3RSwweDU4LDB4QjQsMHgzNCwweDNGLDB4QTcsMHg0NSwweEM3LDB4QUEsMHgzNiwKKysJMHgy NCwweDQyLDB4QTksMHgzQiwweEU4LDB4MEUsMHgwNCwweDAyLDB4MkQsMHhGQiwweEE2LDB4MTMs CisrCTB4QjksMHhCNSwweDE1LDB4QTUsMHg1NiwweDA3LDB4MzUsMHhFNCwweDAzLDB4QjYsMHg3 OSwweDdDLAorKwkweDYyLDB4REQsMHhERiwweDNGLDB4NzEsMHgzQSwweDlELDB4OEIsMHhDNCww eEY2LDB4RTcsMHgxRCwKKysJMHg1MiwweEE4LDB4QTksMHg0MywweDFELDB4MzMsMHg1MSwweDg4 LDB4MzksMHhCRCwweDczLDB4RTksCisrCTB4NUYsMHhCRSwweDgyLDB4NDksMHgyNywweEU2LDB4 QjUsMHg1MywweEMxLDB4MzgsMHhBQywweDJGLAorKwkweDZELDB4OTcsMHg2QywweEVCLDB4Njcs MHhDMSwweDVGLDB4NjcsMHhGOCwweDM1LDB4MDUsMHg1RSwKKysJMHhENSwweDY4LDB4ODAsMHhB QSwweDk2LDB4Q0EsMHgwQiwweDhBLDB4RTYsMHhGMSwweEIxLDB4NDEsCisrCTB4QzYsMHg3NSww eDk0LDB4MEEsMHgwQSwweDJBLDB4RkEsMHgyOSwKKyAJfTsKKyAKKyBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBzdHIxW109IjEyMzQ1Njc4OTAxMjM0NTY3ODkwIjsKK0BAIC0xMzMsNyArMTMx LDcgQEAgaW50IEZJUFNfc2VsZnRlc3RfZHNhKCkKKyAJZ290byBlcnI7CisgICAgIGlmKCFEU0Ff Z2VuZXJhdGVfcGFyYW1ldGVyc19leChkc2EsIDEwMjQsc2VlZCwyMCwmY291bnRlciwmaCxOVUxM KSkKKyAJZ290byBlcnI7CistICAgIGlmIChjb3VudGVyICE9IDM3OCkgCisrICAgIGlmIChjb3Vu dGVyICE9IDIzOSkgCisgCWdvdG8gZXJyOworICAgICBpZiAoaCAhPSAyKQorIAlnb3RvIGVycjsK CmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4wYy1yc2EteDkzMS5wYXRjaCBiL29wZW5zc2wtMS4w LjBjLXJzYS14OTMxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2 MGJiY2IKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4wYy1yc2EteDkzMS5wYXRjaApA QCAtMCwwICsxLDM2IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4wYy9hcHBzL2dlbnJzYS5jLng5 MzEgb3BlbnNzbC0xLjAuMGMvYXBwcy9nZW5yc2EuYworLS0tIG9wZW5zc2wtMS4wLjBjL2FwcHMv Z2VucnNhLmMueDkzMQkyMDEwLTAzLTAxIDE1OjIyOjAyLjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4wLjBjL2FwcHMvZ2VucnNhLmMJMjAxMS0wMi0wMSAxODozMjowNS4wMDAwMDAwMDAg KzAxMDAKK0BAIC05NSw2ICs5NSw3IEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikK KyAJaW50IHJldD0xOworIAlpbnQgaSxudW09REVGQklUUzsKKyAJbG9uZyBsOworKwlpbnQgdXNl X3g5MzEgPSAwOworIAljb25zdCBFVlBfQ0lQSEVSICplbmM9TlVMTDsKKyAJdW5zaWduZWQgbG9u ZyBmND1SU0FfRjQ7CisgCWNoYXIgKm91dGZpbGU9TlVMTDsKK0BAIC0xMzgsNiArMTM5LDggQEAg aW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJCWY0PTM7CisgCQllbHNlIGlmIChz dHJjbXAoKmFyZ3YsIi1GNCIpID09IDAgfHwgc3RyY21wKCphcmd2LCItZjQiKSA9PSAwKQorIAkJ CWY0PVJTQV9GNDsKKysJCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiLXg5MzEiKSA9PSAwKQorKwkJ CXVzZV94OTMxID0gMTsKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCisgCQllbHNlIGlmIChz dHJjbXAoKmFyZ3YsIi1lbmdpbmUiKSA9PSAwKQorIAkJCXsKK0BAIC0yNzMsNyArMjc2LDE0IEBA IGJhZDoKKyAJaWYgKCFyc2EpCisgCQlnb3RvIGVycjsKKyAKKy0JaWYoIUJOX3NldF93b3JkKGJu LCBmNCkgfHwgIVJTQV9nZW5lcmF0ZV9rZXlfZXgocnNhLCBudW0sIGJuLCAmY2IpKQorKwlpZiAo dXNlX3g5MzEpCisrCQl7CisrCQlpZiAoIUJOX3NldF93b3JkKGJuLCBmNCkpCisrCQkJZ290byBl cnI7CisrCQlpZiAoIVJTQV9YOTMxX2dlbmVyYXRlX2tleV9leChyc2EsIG51bSwgYm4sICZjYikp CisrCQkJZ290byBlcnI7CisrCQl9CisrCWVsc2UgaWYoIUJOX3NldF93b3JkKGJuLCBmNCkgfHwg IVJTQV9nZW5lcmF0ZV9rZXlfZXgocnNhLCBudW0sIGJuLCAmY2IpKQorIAkJZ290byBlcnI7Cisg CQkKKyAJYXBwX1JBTkRfd3JpdGVfZmlsZShOVUxMLCBiaW9fZXJyKTsKCmRpZmYgLS1naXQgYS9v cGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggOTdiN2ZlYy4uNDgxNmU4YSAxMDA2NDQK LS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAtMjEsNyArMjEsNyBAQAog U3VtbWFyeTogQSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxpYnJhcnkgd2l0aCBUTFMg aW1wbGVtZW50YXRpb24KIE5hbWU6IG9wZW5zc2wKIFZlcnNpb246IDEuMC4wYwotUmVsZWFzZTog MiV7P2Rpc3R9CitSZWxlYXNlOiAzJXs/ZGlzdH0KICMgV2UgcmVtb3ZlIGNlcnRhaW4gcGF0ZW50 ZWQgYWxnb3JpdGhtcyBmcm9tIHRoZSBvcGVuc3NsIHNvdXJjZSB0YXJiYWxsCiAjIHdpdGggdGhl IGhvYmJsZS1vcGVuc3NsIHNjcmlwdCB3aGljaCBpcyBpbmNsdWRlZCBiZWxvdy4KIFNvdXJjZTog b3BlbnNzbC0le3ZlcnNpb259LXVzYS50YXIuYnoyCkBAIC02NCw2ICs2NCw5IEBAIFBhdGNoNTI6 IG9wZW5zc2wtMS4wLjBiLWFlc25pLnBhdGNoCiBQYXRjaDUzOiBvcGVuc3NsLTEuMC4wLW5hbWUt aGFzaC5wYXRjaAogUGF0Y2g1NDogb3BlbnNzbC0xLjAuMGMtc3BlZWQtZmlwcy5wYXRjaAogUGF0 Y2g1NTogb3BlbnNzbC0xLjAuMGMtYXBwcy1pcHY2bGlzdGVuLnBhdGNoCitQYXRjaDU2OiBvcGVu c3NsLTEuMC4wYy1yc2EteDkzMS5wYXRjaAorUGF0Y2g1Nzogb3BlbnNzbC0xLjAuMGMtZmlwczE4 Ni0zLnBhdGNoCitQYXRjaDU4OiBvcGVuc3NsLTEuMC4wYy1maXBzLW1kNS1hbGxvdy5wYXRjaAog IyBCYWNrcG9ydGVkIGZpeGVzIGluY2x1ZGluZyBzZWN1cml0eSBmaXhlcwogCiBMaWNlbnNlOiBP cGVuU1NMCkBAIC0xNDgsNiArMTUxLDkgQEAgZnJvbSBvdGhlciBmb3JtYXRzIHRvIHRoZSBmb3Jt YXRzIHVzZWQgYnkgdGhlIE9wZW5TU0wgdG9vbGtpdC4KICVwYXRjaDUzIC1wMSAtYiAubmFtZS1o YXNoCiAlcGF0Y2g1NCAtcDEgLWIgLnNwZmlwcwogJXBhdGNoNTUgLXAxIC1iIC5pcHY2bGlzdGVu CislcGF0Y2g1NiAtcDEgLWIgLng5MzEKKyVwYXRjaDU3IC1wMSAtYiAuZmlwczE4Ni0zCislcGF0 Y2g1OCAtcDEgLWIgLm1kNS1hbGxvdwogCiAjIE1vZGlmeSB0aGUgdmFyaW91cyBwZXJsIHNjcmlw dHMgdG8gcmVmZXJlbmNlIHBlcmwgaW4gdGhlIHJpZ2h0IGxvY2F0aW9uLgogcGVybCB1dGlsL3Bl cmxwYXRoLnBsIGBkaXJuYW1lICV7X19wZXJsfWAKQEAgLTM5Nyw2ICs0MDMsMTQgQEAgcm0gLXJm ICRSUE1fQlVJTERfUk9PVC8le19saWJkaXJ9L2ZpcHNjYW5pc3Rlci4qCiAlcG9zdHVuIC1wIC9z YmluL2xkY29uZmlnCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEZlYiAgNCAyMDExIFRvbWFzIE1yYXog PHRtcmF6QHJlZGhhdC5jb20+IDEuMC4wYy0zCistIGFkZCAteDkzMSBwYXJhbWV0ZXIgdG8gb3Bl bnNzbCBnZW5yc2EgY29tbWFuZCB0byB1c2UgdGhlIEFOU0kgWDkuMzEKKyAga2V5IGdlbmVyYXRp b24gbWV0aG9kCistIHVzZSBGSVBTLTE4Ni0zIG1ldGhvZCBmb3IgRFNBIHBhcmFtZXRlciBnZW5l cmF0aW9uCistIGFkZCBPUEVOU1NMX0ZJUFNfTk9OX0FQUFJPVkVEX01ENV9BTExPVyBlbnZpcm9u bWVudCB2YXJpYWJsZQorICB0byBhbGxvdyB1c2luZyBNRDUgd2hlbiB0aGUgc3lzdGVtIGlzIGlu IHRoZSBtYWludGVuYW5jZSBzdGF0ZQorICBldmVuIGlmIHRoZSAvcHJvYyBmaXBzIGZsYWcgaXMg b24KKwogKiBNb24gSmFuIDI0IDIwMTEgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4w LjBjLTIKIC0gbGlzdGVuIG9uIGlwdjYgd2lsZGNhcmQgaW4gc19zZXJ2ZXIgc28gd2UgYWNjZXB0 IGNvbm5lY3Rpb25zCiAgIGZyb20gYm90aCBpcHY0IGFuZCBpcHY2ICgjNjAxNjEyKQo=