[PATCH] WIP: port leafnode-2 to pcre2
Matěj Cepl via leafnode-list <[email protected]> Wed, 26 Mar 2025 22:01:53 +0100
| Newsgroups | gmane.network.leafnode |
|---|---|
| Message-ID | <[email protected]> |
SSB0cmllZCB0byBwb3J0IHBhdGNoZXMgZnJvbQpodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2xl YWZub2RlL2dpdC9jaS9jNDczOGJmM2IyOGJkY2RiZTcyNDdjZWVkZTExNTU5NGQwM2U3NjRjLwph bmQKaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sZWFmbm9kZS9naXQvY2kvYTMwMzcxYzJkYzFj MjhiYmNlYjQ5ODlkZDdjZjc2NDc0NjFiOWNlNC8KYnV0IGN1cnJlbnRseSBJIGFtIG5vdCBldmVu IGFibGUgdG8gcnVuIC4vY29uZmlndXJlLgotLS0KIE1ha2VmaWxlLmFtICAgICAgICB8ICAyICst CiBORVdTICAgICAgICAgICAgICAgfCAgNyArKysrKysKIGFwcGx5ZmlsdGVyLmMgICAgICB8ICA0 ICsrLS0KIGNvbmZpZ3VyZS5hYyAgICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbmZpZ3V0aWwuYyAgICAgICB8ICA0ICsrLS0KIGZldGNo bmV3cy5jICAgICAgICB8IDEwICsrKystLS0tLQogZmlsdGVydXRpbC5jICAgICAgIHwgMTYgKysr KysrKy0tLS0tLS0KIGdyb3Vwc2VsZWN0LmMgICAgICB8IDI2ICsrKysrKysrKysrKysrKystLS0t LS0KIGdyb3Vwc2VsZWN0LmggICAgICB8ICA3ICsrKy0tLQogbGVhZm5vZGUtdmVyc2lvbi5jIHwg IDggKysrKystLQogbGVhZm5vZGUuOC5pbiAgICAgIHwgIDIgKy0KIGxlYWZub2RlLmggICAgICAg ICB8ICA5ICsrKystLS0tCiBtYXNvY2tfc2EybmFtZS5jICAgfCAgMyArKy0KIHBjcmV3cmFwLmMg ICAgICAgICB8IDE2ICsrKysrKystLS0tLS0tCiBwY3Jld3JhcC5oICAgICAgICAgfCAgNSArKyst LQogMTUgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggZGVmYThiMi4uNDk5 ZDgzNiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTI3MSw3 ICsyNzEsNyBAQCBiX3NvcnRubF9TT1VSQ0VTCT0gYl9zb3J0bmwuYyBjcml0bWVtX21hbGxvYy5j IGNyaXRtZW1fcmVhbGxvYy5jCiBiX3NvcnRubF9MREFERAkJPSBATElCT0JKU0AKIAogIyBwcm9n cmFtcwotTERBREQJCQk9IEBMSUJPQkpTQCBsaWJsbnV0aWwuYQorTERBREQJCQk9IEBMSUJPQkpT QCBsaWJsbnV0aWwuYSBAUENSRTJfOExJQkAKIGFwcGx5ZmlsdGVyX1NPVVJDRVMJPSBhcHBseWZp bHRlci5jCiBmZXRjaG5ld3NfU09VUkNFUwk9IGZldGNobmV3cy5jIGZldGNobmV3c19jaGVja19k YXRlLmMgZmV0Y2huZXdzLmgKIGxlYWZub2RlX1NPVVJDRVMJPSBubnRwZC5jCmRpZmYgLS1naXQg YS9ORVdTIGIvTkVXUwppbmRleCAwOGFlOTM4Li45MGQ1OThhIDEwMDY0NAotLS0gYS9ORVdTCisr KyBiL05FV1MKQEAgLTEsNiArMSwxMyBAQAogS05PV04gQlVHUzoKICogVGhlIGNvZGUgc29tZXRp bWVzIHVzZXMgdGltZW91dF9jbGllbnQgd2hlcmUgaXQgc2hvdWxkIHVzZSBhIHNlcnZlciB0aW1l b3V0LgogfAorIyMjIENIQU5HRVMKKy0gbGVhZm5vZGUgbm93IHJlcXVpcmVzIHRoZSBQQ1JFMiBs aWJyYXJ5IGluc3RlYWQgb2YgUENSRS4KKyAgUENSRTIgaGFzIGJlZW4gYXJvdW5kIGZvciBhIGZl dyB5ZWFycyBhbmQgaXMgbWFpbnRhaW5lZCwKKyAgd2hpbGUgUENSRSBpcyBlbmQgb2YgbGlmZSwg bm8gbG9uZ2VyIHN1cHBvcnRlZCwKKyAgYW5kIGlzIGJlaW5nIHBoYXNlZCBvdXQgYnkgZGlzdHJp YnV0aW9ucy4KKyAgU2VlIGl0cyBob21lIHBhZ2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9QaGlsaXBI YXplbC9wY3JlMgorCiAyLjAuMC5hbHBoYTIwMjMwMTogQ2hhbmdlcyBzaW5jZSAyMDIxMDE6CiAt IEJ1Z2ZpeDogc3RvcmUgbWVzc2FnZXMgd2l0aCBmb2xkZWQgaGVhZGVyIGxpbmVzIHN1Y2ggYXMg TWVzc2FnZS1JRCwKICAgcmVwb3J0ZWQgYnkgTWF0xJtqIENlcGwgdmlhIGxlYWZub2RlLWxpc3RA LgpkaWZmIC0tZ2l0IGEvYXBwbHlmaWx0ZXIuYyBiL2FwcGx5ZmlsdGVyLmMKaW5kZXggYmZhY2Fj YS4uMjdjMDc0ZSAxMDA2NDQKLS0tIGEvYXBwbHlmaWx0ZXIuYworKysgYi9hcHBseWZpbHRlci5j CkBAIC0xMDgsMTQgKzEwOCwxNCBAQCBzdGF0aWMgaW50IGFwcGx5ZmlsdGVyKGNvbnN0IGNoYXIg Km5hbWUsIHN0cnVjdCBuZXdzZ3JvdXAgKmcsCiAKIAlzd2l0Y2ggKHJldCkgewogCSAgICBjYXNl IDA6Ci0JCXNjb3JlID0ga2lsbGZpbHRlcihteWZpbHRlciwgbCk7CisJCXNjb3JlID0ga2lsbGZp bHRlcihteWZpbHRlciwgKHVuc2lnbmVkIGNoYXIgKilsKTsKIAkJYnJlYWs7CiAJICAgIGNhc2Ug LTE6CiAJCXNjb3JlID0gVFJVRTsKIAkJYnJlYWs7CiAJICAgIGNhc2UgLTI6IC8qIGFydGljbGUg aGFzIG5vIGJvZHkgKi8KIAkJaWYgKGRlbGF5Ym9keV9ncm91cChnLT5uYW1lKSkKLQkJICAgIHNj b3JlID0ga2lsbGZpbHRlcihteWZpbHRlciwgbCk7CisJCSAgICBzY29yZSA9IGtpbGxmaWx0ZXIo bXlmaWx0ZXIsICh1bnNpZ25lZCBjaGFyICopbCk7CiAJCWVsc2UKIAkJICAgIHNjb3JlID0gVFJV RTsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k ZXggYzk5OWU0OS4uMDIyMGUxMSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZp Z3VyZS5hYwpAQCAtMTc4LDU5ICsxNzgsNjEgQEAgQUNfQ0hFQ0tfTElCKGNyeXB0LCBjcnlwdCkK IAogQUNfQ0FDSEVfU0FWRQogCi1kbmwgQ2hlY2sgZm9yIFBDUkUgbGlicmFyeS4KLUFDX1BBVEhf UFJPRyhQQ1JFQ09ORklHLHBjcmUtY29uZmlnLEFDX01TR19FUlJPUihwY3JlLWNvbmZpZyBub3Qg Zm91bmQsIG1ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgcGNyZSBhbmQgcGNyZS1kZXZlbCBwYWNrYWdl cyBpbnN0YWxsZWQpKQorZG5sIENoZWNrIGZvciBQQ1JFMiBsaWJyYXJ5LgorQUNfQVJHX1ZBUihQ Q1JFMkNPTkZJRyx3aGVyZSB0aGUgcGNyZTItY29uZmlnIHNjcmlwdCBpcyBpbnN0YWxsZWQpCitB Q19QQVRIX1BST0coUENSRTJDT05GSUcscGNyZTItY29uZmlnLG5vKQogCi1DRj1gJFBDUkVDT05G SUcgLS1jZmxhZ3NgCitDRj1gJFBDUkUyQ09ORklHIC0tY2ZsYWdzYAogY2FzZSAkQ0YgaW4gPyop CiBBQ19NU0dfTk9USUNFKFthZGRpbmcgJENGIHRvIENGTEFHU10pOyBDRkxBR1M9IiRDRkxBR1Mg JENGIjsgZXhwb3J0IENGTEFHUwogOzsgZXNhYwogCiAKLUxGPWAkUENSRUNPTkZJRyAtLWxpYnNg CitMRj1gJFBDUkUyQ09ORklHIC0tbGlic2AKIGNhc2UgJExGIGluID8qKQogQUNfTVNHX05PVElD RShbYWRkaW5nICRMRiB0byBMSUJTXSk7IExJQlM9IiRMSUJTICRMRiI7IGV4cG9ydCBMSUJTCiA7 OyBlc2FjCiAKLUFDX0NBQ0hFX0NIRUNLKGZvciBwY3JlLmgsYWNfY3ZfaGVhZGVyX3BjcmVfaCxb Ci0gIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sjaW5jbHVkZSA8cGNyZS5o Pl1dLCBbW3JldHVybiAwO11dKV0sW2FjX2N2X2hlYWRlcl9wY3JlX2g9eWVzXSxbYWNfY3ZfaGVh ZGVyX3BjcmVfaD1ub10pCitBQ19DQUNIRV9DSEVDSyhmb3IgcGNyZTIuaCxhY19jdl9oZWFkZXJf cGNyZTJfaCxbCisgIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sjZGVmaW5l IFBDUkUyX0NPREVfVU5JVF9XSURUSCAwXV0sIFtbI2luY2x1ZGUgPHBjcmUyLmg+XV0sIFtbcmV0 dXJuIDA7XV0pXSxbYWNfY3ZfaGVhZGVyX3BjcmUyX2g9eWVzXSxbYWNfY3ZfaGVhZGVyX3BjcmUy X2g9bm9dKQogXSkKIAotaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfcGNyZV9oIiA9IHh5ZXMKK2lm IHRlc3QgIngkYWNfY3ZfaGVhZGVyX3BjcmUyX2giID0geHllcwogdGhlbgotICBBQ19NU0dfQ0hF Q0tJTkcoW2ZvciBwY3JlX2NvbXBpbGUoKSBpbiBQQ1JFIGxpYnJhcnldKQotICBBQ19DQUNIRV9W QUwoW2xuX2N2X2hhdmVfbGlicGNyZV0sIFsKKyAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgcGNyZTJf Y29tcGlsZV84KCkgaW4gUENSRTIgbGlicmFyeV0pCisgIEFDX0NBQ0hFX1ZBTChbbG5fY3ZfaGF2 ZV9saWJwY3JlMl0sIFsKICAgQUNfTElOS19JRkVMU0UoCi0gIFtBQ19MQU5HX1BST0dSQU0oW1sj aW5jbHVkZSA8cGNyZS5oPl1dLAotICAgIFtbcGNyZV9jb21waWxlKDAsIDAsIDAsIDAsIDApO11d KV0sCi0gIFtsbl9jdl9oYXZlX2xpYnBjcmU9eWVzXSwgW2xuX2N2X2hhdmVfbGlicGNyZT1ub10p CisgIFtBQ19MQU5HX1BST0dSQU0oW1sjZGVmaW5lIFBDUkUyX0NPREVfVU5JVF9XSURUSCAwXV0s CisgICAgW1sjaW5jbHVkZSA8cGNyZTIuaD5dXSwKKyAgICBbW3BjcmUyX2NvbXBpbGVfOCgwLCAw LCAwLCAwLCAwKTtdXSldLAorICBbbG5fY3ZfaGF2ZV9saWJwY3JlMj15ZXNdLCBbbG5fY3ZfaGF2 ZV9saWJwY3JlMj1ub10pCiAgIF0pCi0gIEFDX01TR19SRVNVTFQoWyRsbl9jdl9oYXZlX2xpYnBj cmVdKQorICBBQ19NU0dfUkVTVUxUKFskbG5fY3ZfaGF2ZV9saWJwY3JlMl0pCiBmaQogCi1pZiB0 ZXN0ICJ4JGxuX2N2X2hhdmVfbGlicGNyZSIgPSB4eWVzCitpZiB0ZXN0ICJ4JGxuX2N2X2hhdmVf bGlicGNyZTIiID0geHllcwogdGhlbgotICBBQ19ERUZJTkUoSEFWRV9MSUJQQ1JFLCAxLCBbU2V0 IGlmIFBDUkUgbGlicmFyeSBpcyBwcmVzZW50Ll0pCisgIEFDX0RFRklORShIQVZFX0xJQlBDUkUy LCAxLCBbU2V0IGlmIFBDUkUyIGxpYnJhcnkgaXMgcHJlc2VudC5dKQogZWxzZQotICAgIGVjaG8g IioqKiBJIGNhbm5vdCBmaW5kIFBDUkUuIGxlYWZub2RlIGRlcGVuZHMgb24gaXQuIgorICAgIGVj aG8gIioqKiBJIGNhbm5vdCBmaW5kIFBDUkUyLiBsZWFmbm9kZSBkZXBlbmRzIG9uIGl0LiIKICAg ICBlY2hvICIqKioiCi0gICAgZWNobyAiKioqIElmIHlvdSBoYXZlIFBDUkUgaW5zdGFsbGVkLCBw Y3JlLWNvbmZpZyB3YXMgbm90IGZvdW5kLiIKKyAgICBlY2hvICIqKiogSWYgeW91IGhhdmUgUENS RTIgaW5zdGFsbGVkLCBwY3JlMi1jb25maWcgd2FzIG5vdCBmb3VuZC4iCiAgICAgZWNobyAiKioq IFlvdSBjYW4gd29yayBhcm91bmQgdGhpcyBieSBhZGRpbmcgdGhlIGhlYWRlciBsb2NhdGlvbiB0 byIKLSAgICBlY2hvICIqKiogdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBDUFBGTEFHUywgaS4g ZS4gQ1BQRkxBR1M9LUkvb3B0L3BjcmUvaW5jbHVkZSIKKyAgICBlY2hvICIqKiogdGhlIGVudmly b25tZW50IHZhcmlhYmxlcyBDUFBGTEFHUywgaS4gZS4gQ1BQRkxBR1M9LUkvb3B0L3BjcmUyL2lu Y2x1ZGUiCiAgICAgZWNobyAiKioqIGFuZCB0aGUgbGlicmFyeSBsb2NhdGlvbiB0byB0aGUgZW52 aXJvbm1lbnQgdmFyaWFibGVzIExERkxBR1MsIgotICAgIGVjaG8gIioqKiBlLiBnLiBMREZMQUdT PS1ML29wdC9wY3JlL2xpYiwgYXNzdW1pbmcgeW91ciBQQ1JFIHJlc2lkZXMgaW4gL29wdC9wY3Jl LiIKKyAgICBlY2hvICIqKiogZS4gZy4gTERGTEFHUz0tTC9vcHQvcGNyZTIvbGliLCBhc3N1bWlu ZyB5b3VyIFBDUkUgcmVzaWRlcyBpbiAvb3B0L3BjcmUyLiIKICAgICBlY2hvICIqKioiCi0gICAg ZWNobyAiKioqIElmIG5vdCB5b3UgZG9uJ3QgaGF2ZSBQQ1JFIGluc3RhbGxlZCwgcGxlYXNlIGRv d25sb2FkIGFuZCBpbnN0YWxsIFBDUkUgMy43IgotICAgIGVjaG8gIioqKiBvciBhIG5ld2VyIHZl cnNpb24gZnJvbSBodHRwOi8vd3d3LnBjcmUub3JnLywgaXQncyBlYXN5OiIKLSAgICBlY2hvICIq KiogSnVzdCBkb3dubG9hZCwgdW5wYWNrLCB0aGVuIGNkIHRvIHBjcmUtMy43LCB0aGVuIgorICAg IGVjaG8gIioqKiBJZiBub3QgeW91IGRvbid0IGhhdmUgUENSRTIgaW5zdGFsbGVkLCBwbGVhc2Ug ZG93bmxvYWQgYW5kIGluc3RhbGwgUENSRTIiCisgICAgZWNobyAiKioqIG9yIGEgbmV3ZXIgdmVy c2lvbiBmcm9tIGh0dHA6Ly93d3cucGNyZTIub3JnLywgaXQncyBlYXN5OiIKKyAgICBlY2hvICIq KiogSnVzdCBkb3dubG9hZCwgdW5wYWNrLCB0aGVuIGNkIHRvIHBjcmUyKiwgdGhlbiIKICAgICBl Y2hvICIqKiogLi9jb25maWd1cmUgJiYgbWFrZSwgdGhlbiBhcyByb290OiBtYWtlIGluc3RhbGwi CiAgICAgZWNobyAiKioqIFRoZW4sIHJlY29uZmlndXJlIGxlYWZub2RlLiIKLSAgICBBQ19NU0df RVJST1IoUENSRSBsaWJyYXJ5IG5vdCBmb3VuZCkKKyAgICBBQ19NU0dfRVJST1IoUENSRTIgbGli cmFyeSBub3QgZm91bmQpCiAgICAgZXhpdCAxCiBmaQogCi1BQ19TVUJTVChQQ1JFTElCKQotQUNf U1VCU1QoTElOS1BDUkVMSUIpCitBQ19TVUJTVChQQ1JFMl84TElCKQorQUNfU1VCU1QoUENSRTJf OERFUCkKIAogZG5sIENoZWNrcyBmb3IgbGlicmFyeSBmdW5jdGlvbnMuCiBBQ19DSEVDS19GVU5D Uyhbc2V0Z3JvdXBzXSkKQEAgLTI0Niw3ICsyNDgsNyBAQCBBQ19DSEVDS19MSUIobnNsLCBnZXRo b3N0ZW50KQogQUNfQ0hFQ0tfTElCKHNvY2tldCwgc2V0c29ja29wdCkKIEFDX1JFUExBQ0VfRlVO Q1MoYXJjNHJhbmRvbSBtZXJnZXNvcnQgc3RyY2FzZXN0ciBzdHJsY3B5KQogCi1kbmwgVGhlICdw Y3JlJyBsaWJyYXJ5IHVzZXMgbm9uLXN0YW5kYXJkIGRlZmluZXMKK2RubCBUaGUgJ3BjcmUyJyBs aWJyYXJ5IHVzZXMgbm9uLXN0YW5kYXJkIGRlZmluZXMKIHRlc3QgIi4kYWNfY3ZfZnVuY19zdHJl cnJvciIgIT0gIi55ZXMiICYmIFwKIHRlc3QgIi4kY2ZfY3ZfaGF2ZV9zeXNfZXJybGlzdCIgPSAi LnllcyIgJiYgXAogCVBDUkVfREVGSU5FUz0iJFBDUkVfREVGSU5FUyAtRFNUUkVSUk9SX0ZST01f RVJSTElTVCIKZGlmZiAtLWdpdCBhL2NvbmZpZ3V0aWwuYyBiL2NvbmZpZ3V0aWwuYwppbmRleCBi M2NlZmRlLi4zNmYyZTNhIDEwMDY0NAotLS0gYS9jb25maWd1dGlsLmMKKysrIGIvY29uZmlndXRp bC5jCkBAIC01MjMsNyArNTIzLDcgQEAgcmVhZGNvbmZpZygvKkBudWxsQCovIGNvbnN0IGNoYXIg KmNvbmZpZ2ZpbGUpCiAJCSAgICBicmVhazsKIAkJY2FzZSBDUF9PTkxZR1JPVVBTUENSRToKIAkJ ICAgIHsKLQkJCXBjcmUgKnIgPSBnc19jb21waWxlKHZhbHVlLCBjb25maWdmaWxlLCBsaW5lKTsK KwkJCXBjcmUyX2NvZGVfOCAqciA9IGdzX2NvbXBpbGUoKHVuc2lnbmVkIGNoYXIgKil2YWx1ZSwg Y29uZmlnZmlsZSwgbGluZSk7CiAKIAkJCWlmICghcikKIAkJCSAgICBleGl0KDIpOwpAQCAtNjIz LDcgKzYyMyw3IEBAIGZyZWVzZXJ2ZXJzKHN0cnVjdCBzZXJ2ZXJsaXN0ICpzKQogCWlmIChwLT5w YXNzd29yZCkKIAkgICAgZnJlZShwLT5wYXNzd29yZCk7CiAJaWYgKHAtPmdyb3VwX3BjcmUpCi0J ICAgIGZyZWUocC0+Z3JvdXBfcGNyZSk7CisJICAgIHBjcmUyX2NvZGVfZnJlZV84KHAtPmdyb3Vw X3BjcmUpOwogCWZyZWUocCk7CiAJcCA9IHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvZmV0Y2huZXdz LmMgYi9mZXRjaG5ld3MuYwppbmRleCAyM2NlNTM3Li5jMmY3YzkwIDEwMDY0NAotLS0gYS9mZXRj aG5ld3MuYworKysgYi9mZXRjaG5ld3MuYwpAQCAtMzg4LDcgKzM4OCw3IEBAIGlzZ3JvdXBvbnNl cnZlcihjb25zdCBzdHJ1Y3Qgc2VydmVybGlzdCAqY3Vyc3J2LCBjaGFyICpuZXdzZ3JvdXBzKQog CSAgICBxID0gc3RyY2hyKHAsICcsJyk7CiAJICAgIGlmIChxKQogCQkqcSsrID0gJ1wwJzsKLQkg ICAgaWYgKGdzX21hdGNoKGN1cnNydiAtPiBncm91cF9wY3JlLCBwKSkgeworCSAgICBpZiAoZ3Nf bWF0Y2goY3Vyc3J2IC0+IGdyb3VwX3BjcmUsICh1bnNpZ25lZCBjaGFyICopcCkpIHsKIAkJcHV0 YWxpbmUobm50cG91dCwgIkdST1VQICVzIiwgcCk7CiAJCWlmIChubnRwcmVwbHkoY3Vyc3J2KSA9 PSAyMTEpCiAJCSAgICByZXR2YWwgPSBUUlVFOwpAQCAtNzY5LDcgKzc2OSw3IEBAIGdldGZpcnN0 bGFzdChzdHJ1Y3Qgc2VydmVybGlzdCAqY3Vyc3J2LCBzdHJ1Y3QgbmV3c2dyb3VwICpnLCB1bnNp Z25lZAogICAgIGxvbmcgbjsKICAgICBjaGFyICpsLCAqdDsKIAotICAgIGlmICghZ3NfbWF0Y2go Y3Vyc3J2IC0+IGdyb3VwX3BjcmUsIGctPm5hbWUpKQorICAgIGlmICghZ3NfbWF0Y2goY3Vyc3J2 IC0+IGdyb3VwX3BjcmUsICh1bnNpZ25lZCBjaGFyICopZy0+bmFtZSkpCiAJcmV0dXJuIDA7CiAK ICAgICBwdXRhbGluZShubnRwb3V0LCAiR1JPVVAgJXMiLCBnLT5uYW1lKTsKQEAgLTEyMjIsNyAr MTIyMiw3IEBAIGdldGdyb3VwKHN0cnVjdCBzZXJ2ZXJsaXN0ICpjdXJzcnYsIHN0cnVjdCBuZXdz Z3JvdXAgKmcsIHVuc2lnbmVkIGxvbmcgZmlyc3QpCiAJcmV0dXJuIDA7CiAgICAgaWYgKCFjaGRp cmdyb3VwKGctPm5hbWUsIFRSVUUpKQkvKiBhbHNvIGNyZWF0ZXMgdGhlIGRpcmVjdG9yeSAqLwog CXJldHVybiAwOwotICAgIGlmICghZ3NfbWF0Y2goY3Vyc3J2IC0+IGdyb3VwX3BjcmUsIGctPm5h bWUpKQorICAgIGlmICghZ3NfbWF0Y2goY3Vyc3J2IC0+IGdyb3VwX3BjcmUsICh1bnNpZ25lZCBj aGFyICopZy0+bmFtZSkpCiAJcmV0dXJuIDA7CiAKICAgICAvKiB3ZSBkb24ndCBjYXJlIGFib3V0 IHgtcG9zdHMgZm9yIGRlbGF5Ym9keSAqLwpAQCAtMTQ0Miw3ICsxNDQyLDcgQEAgbm50cGFjdGl2 ZShzdHJ1Y3Qgc2VydmVybGlzdCAqY3Vyc3J2LCBpbnQgZmEpCiAJICAgIGlmICghc3BsaXRMSVNU bGluZShsLCAmcCwgJnIpKQogCQljb250aW51ZTsKIAkgICAgKnAgPSAnXDAnOwotCSAgICBpZiAo Z3NfbWF0Y2goY3Vyc3J2LT5ncm91cF9wY3JlLCBsKSkgeworCSAgICBpZiAoZ3NfbWF0Y2goY3Vy c3J2LT5ncm91cF9wY3JlLCAodW5zaWduZWQgY2hhciAqKWwpKSB7CiAJCWluc2VydGdyb3VwKGws ICpyLCAxLCAwLCB0aW1lKE5VTEwpLCBOVUxMKTsKIAkJYXBwZW5kdG9saXN0KGdyb3VwcywgbCk7 CiAJCWNvdW50Kys7CkBAIC0xNTEzLDcgKzE1MTMsNyBAQCBubnRwYWN0aXZlKHN0cnVjdCBzZXJ2 ZXJsaXN0ICpjdXJzcnYsIGludCBmYSkKIAkgICAgLyogRklYTUU6IHNhdmUgaGlnaCB3YXRlciBt YXJrIGluIC5sYXN0LnBvc3Rpbmc/ICovCiAJICAgIGZpcnN0ID0gMTsKIAkgICAgbGFzdCA9IDA7 Ci0JICAgIGlmIChnc19tYXRjaChjdXJzcnYtPmdyb3VwX3BjcmUsIGwpKSB7CisJICAgIGlmIChn c19tYXRjaChjdXJzcnYtPmdyb3VwX3BjcmUsICh1bnNpZ25lZCBjaGFyICopbCkpIHsKIAkJaWYg KGlzX2ludGVyZXN0aW5nKGwpCiAJCQkmJiAoZm9yY2VhY3QgfHwgIShhY3RpdmUgJiYgZmluZGdy b3VwKGwsIGFjdGl2ZSwgLTEpKSkKIAkJCSYmIGNoZGlyZ3JvdXAobCwgRkFMU0UpKSB7CmRpZmYg LS1naXQgYS9maWx0ZXJ1dGlsLmMgYi9maWx0ZXJ1dGlsLmMKaW5kZXggOGVmNzk2Ni4uYTUxZGFj ZSAxMDA2NDQKLS0tIGEvZmlsdGVydXRpbC5jCisrKyBiL2ZpbHRlcnV0aWwuYwpAQCAtMTk2LDcg KzE5Niw3IEBAIG5ld2ZpbHRlcih2b2lkKQogc3RhdGljIHN0cnVjdCBmaWx0ZXJsaXN0ICpvbGRm ID0gTlVMTDsKIAogc3RhdGljIHZvaWQKLWluc2VydGZpbHRlcigvKkBvd25lZEAqLyBzdHJ1Y3Qg ZmlsdGVybGlzdCAqZiwgLypAb25seUAqLyBwY3JlICpuZywgLypAb25seUAqLyBjaGFyICpuZ3Bj cmV0ZXh0LCBpbnQgaW52ZXJ0bmdzKQoraW5zZXJ0ZmlsdGVyKC8qQG93bmVkQCovIHN0cnVjdCBm aWx0ZXJsaXN0ICpmLCAvKkBvbmx5QCovIHBjcmUyX2NvZGVfOCAqbmcsIC8qQG9ubHlAKi8gY2hh ciAqbmdwY3JldGV4dCwgaW50IGludmVydG5ncykKIHsKICAgICAoZi0+ZW50cnkpLT5pbnZlcnRu Z3MgPSBpbnZlcnRuZ3M7CiAgICAgKGYtPmVudHJ5KS0+bmV3c2dyb3VwcyA9IG5nOwpAQCAtMjkx LDcgKzI5MSw3IEBAIHJlYWRmaWx0ZXIoLypAbnVsbEAqLyBjb25zdCBjaGFyICpmaWx0ZXJmaWxl bmFtZSkKIAkJc3RhdGUgPSBSRl9XQU5UUEFUOwogCSAgICB9IGVsc2UgaWYgKChzdGF0ZSA9PSBS Rl9XQU5UUEFUIHx8IHN0YXRlID09IFJGX1dBTlROR09SUEFUKSAmJgogCQkgICAgIXN0cmNhc2Vj bXAoInBhdHRlcm4iLCBwYXJhbSkpIHsKLQkJcGNyZSAqcmUsICpuZ3A7CisJCXBjcmUyX2NvZGVf OCAqcmUsICpuZ3A7CiAJCWlmICghbmd0IHx8ICEobmdwID0gbG5fcGNyZV9jb21waWxlKG5ndCAr IGludmVydG5ncywgMCwgTlVMTCwgZmlsdGVyZmlsZW5hbWUsIGxpbmUpKSkgewogCQkgICAgbG5f bG9nKExOTE9HX1NOT1RJQ0UsIExOTE9HX0NUT1AsCiAJCQkgICAgIk5vIG5ld3Nncm91cCBmb3Ig cGF0dGVybiA9ICVzIChsaW5lICVsdSkgZm91bmQiLApAQCAtMzIyLDcgKzMyMiw3IEBAIHJlYWRm aWx0ZXIoLypAbnVsbEAqLyBjb25zdCBjaGFyICpmaWx0ZXJmaWxlbmFtZSkKIAkJCSghc3RyY2Fz ZWNtcCgibWF4bGluZXMiLCBwYXJhbSkpIHx8CiAJCQkoIXN0cmNhc2VjbXAoIm1heGJ5dGVzIiwg cGFyYW0pKSB8fAogCQkJKCFzdHJjYXNlY21wKCJtYXhjcm9zc3Bvc3QiLCBwYXJhbSkpKSkgewot CQlwY3JlICpuZ3A7CisJCXBjcmUyX2NvZGVfOCAqbmdwOwogCQlmID0gbmV3ZmlsdGVyKCk7CiAJ CWlmICghKG5ncCA9IGxuX3BjcmVfY29tcGlsZShuZ3QgKyBpbnZlcnRuZ3MsIDAsIE5VTEwsIGZp bHRlcmZpbGVuYW1lLCBsaW5lKSkpIHsKIAkJICAgIHJ2ID0gRkFMU0U7CkBAIC0zOTEsNyArMzkx LDcgQEAgc2VsZWN0ZmlsdGVyKGNvbnN0IGNoYXIgKmdyb3VwbmFtZSkKICAgICBmb2xkID0gTlVM TDsKICAgICBtYXN0ZXIgPSBmaWx0ZXI7CiAgICAgd2hpbGUgKG1hc3RlcikgewotCWlmICgobWFz dGVyLT5lbnRyeSktPmludmVydG5ncyBeIChwY3JlX2V4ZWMoKG1hc3Rlci0+ZW50cnkpLT5uZXdz Z3JvdXBzLCBOVUxMLCBncm91cG5hbWUsCisJaWYgKChtYXN0ZXItPmVudHJ5KS0+aW52ZXJ0bmdz IF4gKHBjcmUyX21hdGNoXzgoKG1hc3Rlci0+ZW50cnkpLT5uZXdzZ3JvdXBzLCBOVUxMLCBncm91 cG5hbWUsCiAJCSAgICBzdHJsZW4oZ3JvdXBuYW1lKSwgMCwgLyogb3B0aW9ucyAqLyAwLCBOVUxM LCAwKSA+PSAwKSkgewogCSAgICBmID0gKHN0cnVjdCBmaWx0ZXJsaXN0ICopY3JpdG1hbGxvYyhz aXplb2Yoc3RydWN0IGZpbHRlcmxpc3QpLAogCQkJCQkJIkFsbG9jYXRpbmcgZ3JvdXBmaWx0ZXIg c3BhY2UiKTsKQEAgLTQyMCw3ICs0MjAsNyBAQCByZWdleHBfYWRkaW5mbyhjb25zdCBzdHJ1Y3Qg ZmlsdGVyZW50cnkgKmcsIGNvbnN0IGNoYXIgKmhkcikgewogICAgIGNvbnN0IGNoYXIgKnggPSBo ZHI7CiAgICAgd2hpbGUgKCp4KSB7CiAJaW50IGxlbiA9IHN0cmNzcG4oeCwgIlxuIik7Ci0JaW50 IG1hdGNoID0gKHBjcmVfZXhlYyhnLT5leHByLCBOVUxMLCB4LCAoaW50KXN0cmNzcG4oeCwgIlxu IiksCisJaW50IG1hdGNoID0gKHBjcmUyX21hdGNoXzgoZy0+ZXhwciwgTlVMTCwgeCwgKGludClz dHJjc3BuKHgsICJcbiIpLAogCQkwLCAwLCBOVUxMLCAwKSA+PSAwKTsKIAlpZiAobWF0Y2gpIHsK IAkgICAgbG5fbG9nKExOTE9HX1NERUJVRywgTE5MT0dfQ0FMTCwgInJlZ2V4cCBmaWx0ZXI6IGRl dGFpbDogXCIlLS4qc1wiIgpAQCAtNDYyLDcgKzQ2Miw3IEBAIGtpbGxmaWx0ZXIoY29uc3Qgc3Ry dWN0IGZpbHRlcmxpc3QgKmYsIGNvbnN0IGNoYXIgKmhkcikKIAkgICAgICAgICAgIGctPm5ncGNy ZXRleHQpOwogCX0KIAlpZiAoKGctPmxpbWl0ID09IC0xKSAmJiAoZy0+ZXhwcikpIHsKLQkgICAg bWF0Y2ggPSAocGNyZV9leGVjKGctPmV4cHIsIE5VTEwsIGhkciwgKGludClzdHJsZW4oaGRyKSwK KwkgICAgbWF0Y2ggPSAocGNyZTJfbWF0Y2hfOChnLT5leHByLCBOVUxMLCBoZHIsIChpbnQpc3Ry bGVuKGhkciksCiAJCQkgICAgICAwLCAwLCBOVUxMLCAwKSk7CiAJICAgIGlmIChkZWJ1Z21vZGUg JiBERUJVR19GSUxURVIpIHsKIAkgICAgICAgIGxuX2xvZyhMTkxPR19TREVCVUcsIExOTE9HX0NB TEwsCkBAIC01OTEsMTMgKzU5MSwxMyBAQCBmcmVlX2VudHJ5KC8qQG51bGxAKi8gLypAb25seUAq LyBzdHJ1Y3QgZmlsdGVyZW50cnkgKmUpCiB7CiAgICAgaWYgKGUpIHsKIAlpZiAoZS0+ZXhwcikK LQkgICAgcGNyZV9mcmVlKGUtPmV4cHIpOworCSAgICBwY3JlMl9jb2RlX2ZyZWVfOChlLT5leHBy KTsKIAlpZiAoZS0+YWN0aW9uKQogCSAgICBmcmVlKGUtPmFjdGlvbik7CiAJaWYgKGUtPmNsZWFy dGV4dCkKIAkgICAgZnJlZShlLT5jbGVhcnRleHQpOwogCWlmIChlLT5uZXdzZ3JvdXBzKQotCSAg ICBwY3JlX2ZyZWUoZS0+bmV3c2dyb3Vwcyk7CisJICAgIHBjcmUyX2NvZGVfZnJlZV84KGUtPm5l d3Nncm91cHMpOwogCWlmIChlLT5uZ3BjcmV0ZXh0KQogCSAgICBmcmVlKGUtPm5ncGNyZXRleHQp OwogCWZyZWUoZSk7CmRpZmYgLS1naXQgYS9ncm91cHNlbGVjdC5jIGIvZ3JvdXBzZWxlY3QuYwpp bmRleCA4ODEyNzJkLi40MjdmOTE5IDEwMDY0NAotLS0gYS9ncm91cHNlbGVjdC5jCisrKyBiL2dy b3Vwc2VsZWN0LmMKQEAgLTEsMjQgKzEsMzYgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNs dWRlIDxwY3JlLmg+CiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJncm91cHNlbGVj dC5oIgogI2luY2x1ZGUgImxuX2xvZy5oIgogI2luY2x1ZGUgInBjcmV3cmFwLmgiCiAKLXBjcmUg KmdzX2NvbXBpbGUoY29uc3QgY2hhciAqcmVnZXgsIGNvbnN0IGNoYXIgKmZpbGUsIHVuc2lnbmVk IGxvbmcgbGluZSkgeworcGNyZTJfY29kZV84ICpnc19jb21waWxlKGNvbnN0IGNoYXIgKnJlZ2V4 LCBjb25zdCBjaGFyICpmaWxlLCB1bnNpZ25lZCBsb25nIGxpbmUpIHsKKyAgICBpbnQgcmVnZXhf ZXJyY29kZTsKKyAgICBzaXplX3QgcmVnZXhfZXJycG9zOworICAgIHBjcmUyX2NvZGVfOCAqcmU7 CiAgICAgcmV0dXJuIGxuX3BjcmVfY29tcGlsZShyZWdleCwgUENSRV9NVUxUSUxJTkUsIE5VTEws IGZpbGUsIGxpbmUpOwogfQogCiAvKiBtYXRjaCBzIGFnYWluc3QgUENSRSBwCiAgKiBXQVJOSU5H OiBJZiBwIGlzIE5VTEwsIGV2ZXJ5IHN0cmluZyBzIGlzIGNvbnNpZGVyZWQgYSBtYXRjaAogICog cmV0dXJucyAxIGZvciBtYXRjaCwgMCBmb3IgbWlzbWF0Y2gsIG5lZ2F0aXZlIGZvciBlcnJvciAq LwotaW50IGdzX21hdGNoKGNvbnN0IHBjcmUgKnAsIGNvbnN0IGNoYXIgKnMpIHsKK2ludCBnc19t YXRjaChjb25zdCBwY3JlMl9jb2RlXzggKnAsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMpIHsKICAg ICBpbnQgbWF0Y2g7Ci0gICAgaWYgKHAgPT0gTlVMTCkgcmV0dXJuIDE7Ci0gICAgbWF0Y2ggPSBw Y3JlX2V4ZWMocCwgTlVMTCwgcywgc3RybGVuKHMpLCAwLCBQQ1JFX0FOQ0hPUkVELCBOVUxMLCAw KTsKKyAgICBwY3JlMl9tYXRjaF9kYXRhXzggKm1hdGNoX2RhdGE7CiAKLSAgICBpZiAobWF0Y2gg PT0gUENSRV9FUlJPUl9OT01BVENIKSByZXR1cm4gMDsKKyAgICBpZiAocmUgPT0gTlVMTCkgcmV0 dXJuIDE7CisgICAgbWF0Y2hfZGF0YSA9IHBjcmUyX21hdGNoX2RhdGFfY3JlYXRlXzgoMSwgTlVM TCk7CisgICAgaWYgKE5VTEwgPT0gbWF0Y2hfZGF0YSkgeworICAgICAgICBsbl9sb2coTE5MT0df U0VSUiwgTE5MT0dfQ1RPUCwgImdzX21hdGNoOiBvdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgbWF0 Y2hfZGF0YSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWF0Y2ggPSBwY3Jl Ml9tYXRjaF84KHJlLCBzLCBQQ1JFMl9aRVJPX1RFUk1JTkFURUQsIDAsCisgICAgICAgICAgICAg ICAgICAgICAgICAgIFBDUkUyX0FOQ0hPUkVELCBtYXRjaF9kYXRhLCBOVUxMKTsKKworICAgIHBj cmUyX21hdGNoX2RhdGFfZnJlZV84KG1hdGNoX2RhdGEpOworICAgIGlmIChtYXRjaCA9PSBQQ1JF Ml9FUlJPUl9OT01BVENIKSByZXR1cm4gMDsKICAgICBpZiAobWF0Y2ggPj0gMCkgcmV0dXJuIDE7 Ci0gICAgcmV0dXJuIG1hdGNoOworICAgIHJldHVybiBtYXRjaDsgLyogbWF0Y2ggPCAwLCBidXQg bm90IFBDUkUyX0VSUk9SX05PTUFUQ0ggKi8KIH0KZGlmZiAtLWdpdCBhL2dyb3Vwc2VsZWN0Lmgg Yi9ncm91cHNlbGVjdC5oCmluZGV4IGQxYzAzZDYuLjA3NTFkZjYgMTAwNjQ0Ci0tLSBhL2dyb3Vw c2VsZWN0LmgKKysrIGIvZ3JvdXBzZWxlY3QuaApAQCAtMiw5ICsyLDEwIEBACiAjZGVmaW5lIEdS T1VQU0VMRUNUX0gKIAogLyogZm9yIHBjcmUgdHlwZSAqLwotI2luY2x1ZGUgPHBjcmUuaD4KKyNk ZWZpbmUgUENSRTJfQ09ERV9VTklUX1dJRFRIIDAKKyNpbmNsdWRlIDxwY3JlMi5oPgogCi1wY3Jl ICpnc19jb21waWxlKGNvbnN0IGNoYXIgKnJlZ2V4LCBjb25zdCBjaGFyICpmaWxlLCB1bnNpZ25l ZCBsb25nIGxpbmUpOwotaW50IGdzX21hdGNoKGNvbnN0IHBjcmUgKnAsIGNvbnN0IGNoYXIgKnMp OworcGNyZTJfY29kZV84ICpnc19jb21waWxlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJlZ2V4LCBj b25zdCBjaGFyICpmaWxlLCB1bnNpZ25lZCBsb25nIGxpbmUpOworaW50IGdzX21hdGNoKGNvbnN0 IHBjcmUyX2NvZGVfOCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqcyk7CiAKICNlbmRpZgpkaWZm IC0tZ2l0IGEvbGVhZm5vZGUtdmVyc2lvbi5jIGIvbGVhZm5vZGUtdmVyc2lvbi5jCmluZGV4IGFj MGE4ZGEuLjA3NjFiMTUgMTAwNjQ0Ci0tLSBhL2xlYWZub2RlLXZlcnNpb24uYworKysgYi9sZWFm bm9kZS12ZXJzaW9uLmMKQEAgLTI0LDYgKzI0LDcgQEAgbWFpbih2b2lkKSAvKiBpZiB5b3Ugc3Vw cG9ydCBhcmd1bWVudHMgc29tZSBkYXksIHBsZWFzZSBtYWtlIC12CiAJICAgICAgY29tcGF0aWJs ZSB3aXRoIGxlYWZub2RlLTEuICovCiB7CiAgICAgc3RhdGljIGNoYXIgZW52X3BhdGhbXSA9ICJQ QVRIPS9iaW46L3Vzci9iaW4iOworICAgIHVpbnQ4X3QgcGNyZTJpbmZvWzY0XTsgLyogUENSRSAx MCByZXF1aXJlcyBhdCBsZWFzdCAyNCBjb2RlIHVuaXRzICovCiAgICAgLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAgICAgLyogKioqIElNUE9S VEFOVCAqKioKICAgICAgKiAKQEAgLTQ3LDcgKzQ4LDEwIEBAIG1haW4odm9pZCkgLyogaWYgeW91 IHN1cHBvcnQgYXJndW1lbnRzIHNvbWUgZGF5LCBwbGVhc2UgbWFrZSAtdgogICAgIHB1dHMoZGVm X3Nwb29sZGlyKTsKICAgICBmcHV0cygiZGVmYXVsdCBNVEE6ICIsIHN0ZG91dCk7CiAgICAgcHV0 cyhERUZBVUxUTVRBKTsKLSAgICBmcHV0cygicGNyZSB2ZXJzaW9uOiAiLCBzdGRvdXQpOwotICAg IHB1dHMocGNyZV92ZXJzaW9uKCkpOworCXBjcmUyX2NvbmZpZ184KFBDUkUyX0NPTkZJR19WRVJT SU9OLCBwY3JlMmluZm8pOworCXByaW50ZigiUENSRTIgdmVyc2lvbjogJXNcbiIsIHBjcmUyaW5m byk7CisKKwlwY3JlMl9jb25maWdfOChQQ1JFMl9DT05GSUdfVU5JQ09ERV9WRVJTSU9OLCBwY3Jl MmluZm8pOworCXByaW50ZigiUENSRTIgVW5pY29kZSB2ZXJzaW9uOiAlc1xuIiwgcGNyZTJpbmZv KTsKICAgICBleGl0KDApOwogfQpkaWZmIC0tZ2l0IGEvbGVhZm5vZGUuOC5pbiBiL2xlYWZub2Rl LjguaW4KaW5kZXggNzAwNTJkZS4uODk3YzYwYSAxMDA2NDQKLS0tIGEvbGVhZm5vZGUuOC5pbgor KysgYi9sZWFmbm9kZS44LmluCkBAIC02MDEsNyArNjAxLDcgQEAgaGFzIGJlZW4gcGFpZCBmb3Ig YnkgVW5pbmV0dCBBUyAoaHR0cDovL3d3dy51bmluZXR0Lm5vLykuCiAuQlIgdGV4cGlyZSAoOCks CiAuQlIgY2hlY2tncm91cHMgKDgpLAogLkJSIGdsb2IgKDcpLAotLkJSIHBjcmUgKDMpLAorLkJS IHBjcmUyICgzKSwKIC5CUiBAc3lzY29uZmRpckAvZmlsdGVycy5leGFtcGxlCiAtIG5vdGUgdGhh dCBmaWx0ZXJzLmV4YW1wbGUgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIGlzIC0sCiAuQiAiUkZDIDk3 NyIKZGlmZiAtLWdpdCBhL2xlYWZub2RlLmggYi9sZWFmbm9kZS5oCmluZGV4IGI1YzJjZjkuLmVm OGY0ZmUgMTAwNjQ0Ci0tLSBhL2xlYWZub2RlLmgKKysrIGIvbGVhZm5vZGUuaApAQCAtNTgsNyAr NTgsOCBAQCB1c2luZyBzdGQ6Om1heDsKICNpZmRlZiBfX0xDTElOVF9fCiAjaW5jbHVkZSAibGNs aW50X2ZpeGVzLmgiCiAjZWxzZSAvKiBub3QgX19MQ0xJTlRfXyAqLwotI2luY2x1ZGUgPHBjcmUu aD4KKyNkZWZpbmUgUENSRTJfQ09ERV9VTklUX1dJRFRIIDAJLyogbGV0J3MgZmFpbCB1bmxlc3Mg ZXhwbGljaXRseSB1c2luZyB0aGUgXzgoKSBmdW5jdGlvbnMgKi8KKyNpbmNsdWRlIDxwY3JlMi5o PgogI2VuZGlmIC8qIG5vdCBfX0xDTElOVF9fICovCiAKICNpbmNsdWRlIDxzdGRib29sLmg+CkBA IC0yOTgsMTEgKzI5OSwxMSBAQCBtYXRjaGxpc3Qoc3RydWN0IHN0cmluZ2xpc3Rub2RlICpwYXR0 ZXJucywgY29uc3QgY2hhciAqc3RyKTsKICAqLwogc3RydWN0IGZpbHRlcmVudHJ5IHsKICAgICBj aGFyICpuZ3BjcmV0ZXh0OwotICAgIHBjcmUgKm5ld3Nncm91cHM7CisgICAgcGNyZTJfY29kZV84 ICpuZXdzZ3JvdXBzOwogICAgIGludCBpbnZlcnRuZ3M7CiAgICAgbG9uZyBsaW1pdDsKICAgICBj aGFyICpjbGVhcnRleHQ7Ci0gICAgcGNyZSAqZXhwcjsKKyAgICBwY3JlMl9jb2RlXzggKmV4cHI7 CiAgICAgY2hhciAqYWN0aW9uOwogfTsKIHN0cnVjdCBmaWx0ZXJsaXN0IHsKQEAgLTQzNyw3ICs0 MzgsNyBAQCBzdHJ1Y3Qgc2VydmVybGlzdCB7CiAgICAgY2hhciAqbmFtZTsJCS8qIFNlcnZlcm5h bWUgKi8KICAgICBjaGFyICp1c2VybmFtZTsKICAgICBjaGFyICpwYXNzd29yZDsKLSAgICBwY3Jl ICpncm91cF9wY3JlOworICAgIHBjcmUyX2NvZGVfOCAqZ3JvdXBfcGNyZTsKICAgICB1bnNpZ25l ZCBzaG9ydCBwb3J0OwkvKiBwb3J0LCBpZiAwLCBsb29rIHVwIG5udHAvdGNwICovCiAgICAgaW50 IHVzZXhoZHI7CQkvKiB1c2UgWEhEUiBpbnN0ZWFkIG9mIFhPVkVSIGlmIHNlbnNpYmxlICovCiAg ICAgaW50IGRlc2NyaXB0aW9uczsJLyogZG93bmxvYWQgZGVzY3JpcHRpb25zIGFzIHdlbGwgKi8K ZGlmZiAtLWdpdCBhL21hc29ja19zYTJuYW1lLmMgYi9tYXNvY2tfc2EybmFtZS5jCmluZGV4IDRj OTgxMGIuLjUyN2JkMTIgMTAwNjQ0Ci0tLSBhL21hc29ja19zYTJuYW1lLmMKKysrIGIvbWFzb2Nr X3NhMm5hbWUuYwpAQCAtNiw5ICs2LDEwIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI3Vu ZGVmIF9HTlVfU09VUkNFCisjaWZuZGVmIF9HTlVfU09VUkNFCiAjZGVmaW5lIF9HTlVfU09VUkNF CS8vIHRvIGV4cG9zZSBub25zdGFuZGFyZCBtZW1iZXJzIGluIGluLmggc3RydWN0dXJlcyB0bwog CQkJLy8gZml4IGNvbXBpbGF0aW9uIGluIHN0cmljdCBjb25mb3JtYW5jZSBtb2RlIG9uIExpbnV4 CisjZW5kaWYKIAogI2luY2x1ZGUgIm1hc29jay5oIgogI2luY2x1ZGUgImNyaXRtZW0uaCIKZGlm ZiAtLWdpdCBhL3BjcmV3cmFwLmMgYi9wY3Jld3JhcC5jCmluZGV4IDgyM2JkNTMuLmNkZGJiZTIg MTAwNjQ0Ci0tLSBhL3BjcmV3cmFwLmMKKysrIGIvcGNyZXdyYXAuYwpAQCAtMSwxOSArMSwxOSBA QAogI2luY2x1ZGUgInBjcmV3cmFwLmgiCi0jaW5jbHVkZSA8cGNyZS5oPgogI2luY2x1ZGUgImxu X2xvZy5oIgogCi1wY3JlICpsbl9wY3JlX2NvbXBpbGUoY29uc3QgY2hhciAqcGF0dGVybiwgaW50 IG9wdGlvbnMsCitwY3JlMl9jb2RlXzggKmxuX3BjcmVfY29tcGlsZShjb25zdCBjaGFyICpwYXR0 ZXJuLCBpbnQgb3B0aW9ucywKIAljb25zdCB1bnNpZ25lZCBjaGFyICp0YWJsZXB0ciwgY29uc3Qg Y2hhciAqZmlsZW5hbWUsCiAJdW5zaWduZWQgbG9uZyBsaW5lKQogewotICAgIGNvbnN0IGNoYXIg KnJlZ2V4X2Vycm1zZzsKLSAgICBpbnQgcmVnZXhfZXJycG9zOwotICAgIHBjcmUgKnJlOworICAg IGludCByZWdleF9lcnJjb2RlOworICAgIHNpemVfdCByZWdleF9lcnJwb3M7CisgICAgcGNyZTJf Y29kZV84ICpyZTsKIAotICAgIHJlID0gcGNyZV9jb21waWxlKHBhdHRlcm4sIG9wdGlvbnMsCi0J ICAgICZyZWdleF9lcnJtc2csICZyZWdleF9lcnJwb3MsIHRhYmxlcHRyKTsKLSAgICBpZiAoIXJl KSB7CisgICAgaWYgKE5VTEwgPT0gKHJlID0gcGNyZTJfY29tcGlsZV84KHJlZ2V4LCBQQ1JFMl9a RVJPX1RFUk1JTkFURUQsIFBDUkUyX01VTFRJTElORSwgJnJlZ2V4X2VycmNvZGUsCisJCQkJICAg ICAgJnJlZ2V4X2VycnBvcywgTlVMTCkpKSB7CiAJLyogY291bGQgbm90IGNvbXBpbGUgKi8KKwl1 bnNpZ25lZCBjaGFyIHJlZ2V4X2Vycm1zZ1sxMDI0XTsKKwlpbnQgbGVuID0gcGNyZTJfZ2V0X2Vy cm9yX21lc3NhZ2VfOChyZWdleF9lcnJjb2RlLCByZWdleF9lcnJtc2csIHNpemVvZihyZWdleF9l cnJtc2cpKTsKIAlsbl9sb2coTE5MT0dfU1dBUk5JTkcsIExOTE9HX0NUT1AsCiAJCSIlczogaW52 YWxpZCBwYXR0ZXJuIGF0IGxpbmUgJWx1OiAlcyIsCiAJCWZpbGVuYW1lLCBsaW5lLCByZWdleF9l cnJtc2cpOwpkaWZmIC0tZ2l0IGEvcGNyZXdyYXAuaCBiL3BjcmV3cmFwLmgKaW5kZXggYTYzNzA1 My4uNDdlZTAzOSAxMDA2NDQKLS0tIGEvcGNyZXdyYXAuaAorKysgYi9wY3Jld3JhcC5oCkBAIC0x LDkgKzEsMTAgQEAKICNpZm5kZWYgUENSRVdSQVBfSAogI2RlZmluZSBQQ1JFV1JBUF9ICiAKLSNp bmNsdWRlIDxwY3JlLmg+CisjZGVmaW5lIFBDUkUyX0NPREVfVU5JVF9XSURUSCAwCS8qIGxldCdz IGZhaWwgdW5sZXNzIGV4cGxpY2l0bHkgdXNpbmcgdGhlIF84KCkgZnVuY3Rpb25zICovCisjaW5j bHVkZSA8cGNyZTIuaD4KIAotcGNyZSAqbG5fcGNyZV9jb21waWxlKGNvbnN0IGNoYXIgKnZhbHVl LCBpbnQgb3B0aW9ucywKK3BjcmUyX2NvZGVfOCAqbG5fcGNyZV9jb21waWxlKGNvbnN0IGNoYXIg KnZhbHVlLCBpbnQgb3B0aW9ucywKIAljb25zdCB1bnNpZ25lZCBjaGFyICp0YWJsZXB0ciwgY29u c3QgY2hhciAqZmlsZW5hbWUsCiAJdW5zaWduZWQgbG9uZyBsaW5lKTsKICNlbmRpZgotLSAKMi40 OS4wCgotLSAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGVhZm5vZGUtbGlzdCBtYWlsaW5nIGxpc3QKbGVhZm5vZGUtbGlzdEBsZWFmbm9kZS5vcmcKaHR0 cHM6Ly93d3cubGVhZm5vZGUub3JnL21haWxtYW4vbGlzdGluZm8vbGVhZm5vZGUtbGlzdApodHRw Oi8vbGVhZm5vZGUuc291cmNlZm9yZ2UubmV0Lwo=