RnJvbSBkMzI4Nzc3ZmU4NDE2NmM3ODEyNGRjMjc3MDg1OTZkZDgzMGE5OWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuaWhpbC1hZG1pcmFyaSA8NTAyMDIzODYrbmloaWwtYWRtaXJh cmlAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgpEYXRlOiBTdW4sIDEzIEZlYiAyMDIyIDEzOjQz OjU2ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gTG9uZyBwYXRoIHN1cHBvcnQgZm9yIFdpbmRvd3Mg KGZpeGVzICM4ODg1KQoKTG9uZyBwYXRoIHN1cHBvcnQgaXMgZW5hYmxlZCBieSBhZGRpbmcgYSBt YW5pZmVzdCB0byBhbGwgb2YgZmZ0b29scy4KTUFYX1BBVEgtc2l6ZWQgYnVmZmVycyBhcmUgcmVw bGFjZWQgd2l0aCBkeW5hbWljYWxseSBzaXplZCBvbmVzLgoKU2lnbmVkLW9mZi1ieTogbmloaWwt YWRtaXJhcmkgPDUwMjAyMzg2K25paGlsLWFkbWlyYXJpQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KLS0tCiBjb21wYXQvdzMyZGxmY24uaCAgICAgICAgICAgICAgICB8IDYxICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tCiBmZnRvb2xzL01ha2VmaWxlICAgICAgICAgICAgICAgICB8 ICA1ICsrKwogZmZ0b29scy9jbWR1dGlscy5jICAgICAgICAgICAgICAgfCAzMSArKysrKysrKysr KystLS0tCiBmZnRvb2xzL2xvbmdfcGF0aHNfdXRmOC5tYW5pZmVzdCB8IDEyICsrKysrKysKIGZm dG9vbHMvbG9uZ19wYXRoc191dGY4LnJjICAgICAgIHwgIDMgKysKIGxpYmF2Zm9ybWF0L2F2aXN5 bnRoLmMgICAgICAgICAgIHwgMTAgKysrLS0tCiBsaWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUuaCAg ICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTM5IGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGZmdG9vbHMvbG9u Z19wYXRoc191dGY4Lm1hbmlmZXN0CiBjcmVhdGUgbW9kZSAxMDA2NDQgZmZ0b29scy9sb25nX3Bh dGhzX3V0ZjgucmMKCmRpZmYgLS1naXQgYS9jb21wYXQvdzMyZGxmY24uaCBiL2NvbXBhdC93MzJk bGZjbi5oCmluZGV4IDUyYTk0ZWYuLmJhMjMzMGEgMTAwNjQ0Ci0tLSBhL2NvbXBhdC93MzJkbGZj bi5oCisrKyBiL2NvbXBhdC93MzJkbGZjbi5oCkBAIC0yNSw2ICsyNSwzMCBAQAogI2lmIChfV0lO MzJfV0lOTlQgPCAweDA2MDIpIHx8IEhBVkVfV0lOUlQKICNpbmNsdWRlICJsaWJhdnV0aWwvd2No YXJfZmlsZW5hbWUuaCIKICNlbmRpZgorCitzdGF0aWMgaW5saW5lIHdjaGFyX3QgKmdldF9tb2R1 bGVfZmlsZW5hbWUoY29uc3QgSE1PRFVMRSBtb2R1bGUpCit7CisgICAgd2NoYXJfdCAqcGF0aCA9 IE5VTEw7CisgICAgaW50IHBhdGhfc2l6ZSA9IDAsIHBhdGhfbGVuID0gMDsKKworICAgIGRvIHsK KyAgICAgICAgcGF0aF9zaXplID0gcGF0aF9zaXplID8gMS41ICogcGF0aF9zaXplIDogTUFYX1BB VEg7CisgICAgICAgIHdjaGFyX3QgKm5ld19wYXRoID0gYXZfcmVhbGxvY19hcnJheShwYXRoLCBw YXRoX3NpemUsIHNpemVvZiAqcGF0aCk7CisgICAgICAgIGlmICghbmV3X3BhdGgpIHsKKyAgICAg ICAgICAgIGF2X2ZyZWUocGF0aCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAg fQorICAgICAgICBwYXRoID0gbmV3X3BhdGg7CisgICAgICAgIHBhdGhfbGVuID0gR2V0TW9kdWxl RmlsZU5hbWVXKG1vZHVsZSwgcGF0aCwgcGF0aF9zaXplKTsKKyAgICB9IHdoaWxlIChwYXRoX2xl biAmJiBwYXRoX3NpemUgPD0gMzI3NjggJiYgcGF0aF9zaXplIDw9IHBhdGhfbGVuKTsKKworICAg IGlmICghcGF0aF9sZW4pIHsKKyAgICAgICAgYXZfZnJlZShwYXRoKTsKKyAgICAgICAgcmV0dXJu IE5VTEw7CisgICAgfQorICAgIHJldHVybiBwYXRoOworfQorCiAvKioKICAqIFNhZmUgZnVuY3Rp b24gdXNlZCB0byBvcGVuIGR5bmFtaWMgbGlicy4gVGhpcyBhdHRlbXB0cyB0byBpbXByb3ZlIHBy b2dyYW0gc2VjdXJpdHkKICAqIGJ5IHJlbW92aW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBmcm9t IHRoZSBkbGwgc2VhcmNoIHBhdGguIE9ubHkgZGxsJ3MgZm91bmQgaW4gdGhlCkBAIC0zOCwyNCAr NjIsNDMgQEAgc3RhdGljIGlubGluZSBITU9EVUxFIHdpbjMyX2Rsb3Blbihjb25zdCBjaGFyICpu YW1lKQogICAgIC8vIE5lZWQgdG8gY2hlY2sgaWYgS0IyNTMzNjIzIGlzIGF2YWlsYWJsZQogICAg IGlmICghR2V0UHJvY0FkZHJlc3MoR2V0TW9kdWxlSGFuZGxlVyhMImtlcm5lbDMyLmRsbCIpLCAi U2V0RGVmYXVsdERsbERpcmVjdG9yaWVzIikpIHsKICAgICAgICAgSE1PRFVMRSBtb2R1bGUgPSBO VUxMOwotICAgICAgICB3Y2hhcl90ICpwYXRoID0gTlVMTCwgKm5hbWVfdyA9IE5VTEw7Ci0gICAg ICAgIERXT1JEIHBhdGhsZW47CisgICAgICAgIHdjaGFyX3QgKnBhdGggPSBOVUxMLCAqbmV3X3Bh dGggPSBOVUxMLCAqbmFtZV93ID0gTlVMTDsKKyAgICAgICAgRFdPUkQgcGF0aGxlbiwgcGF0aHNp emUsIG5hbWVsZW47CiAgICAgICAgIGlmICh1dGY4dG93Y2hhcihuYW1lLCAmbmFtZV93KSkKICAg ICAgICAgICAgIGdvdG8gZXhpdDsKLSAgICAgICAgcGF0aCA9ICh3Y2hhcl90ICopYXZfY2FsbG9j KE1BWF9QQVRILCBzaXplb2Yod2NoYXJfdCkpOworICAgICAgICBuYW1lbGVuID0gd2NzbGVuKG5h bWVfdyk7CiAgICAgICAgIC8vIFRyeSBsb2NhbCBkaXJlY3RvcnkgZmlyc3QKLSAgICAgICAgcGF0 aGxlbiA9IEdldE1vZHVsZUZpbGVOYW1lVyhOVUxMLCBwYXRoLCBNQVhfUEFUSCk7Ci0gICAgICAg IHBhdGhsZW4gPSB3Y3NyY2hyKHBhdGgsICdcXCcpIC0gcGF0aDsKLSAgICAgICAgaWYgKHBhdGhs ZW4gPT0gMCB8fCBwYXRobGVuICsgd2NzbGVuKG5hbWVfdykgKyAyID4gTUFYX1BBVEgpCisgICAg ICAgIHBhdGggPSBnZXRfbW9kdWxlX2ZpbGVuYW1lKE5VTEwpOworICAgICAgICBpZiAoIXBhdGgp CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIG5ld19wYXRoID0gd2NzcmNocihwYXRo LCAnXFwnKTsKKyAgICAgICAgaWYgKCFuZXdfcGF0aCkKKyAgICAgICAgICAgIGdvdG8gZXhpdDsK KyAgICAgICAgcGF0aGxlbiA9IG5ld19wYXRoIC0gcGF0aDsKKyAgICAgICAgcGF0aHNpemUgPSBw YXRobGVuICsgbmFtZWxlbiArIDI7CisgICAgICAgIG5ld19wYXRoID0gYXZfcmVhbGxvY19hcnJh eShwYXRoLCBwYXRoc2l6ZSwgc2l6ZW9mICpwYXRoKTsKKyAgICAgICAgaWYgKCFuZXdfcGF0aCkK ICAgICAgICAgICAgIGdvdG8gZXhpdDsKLSAgICAgICAgcGF0aFtwYXRobGVuXSA9ICdcXCc7Cisg ICAgICAgIHBhdGggPSBuZXdfcGF0aDsKICAgICAgICAgd2NzY3B5KHBhdGggKyBwYXRobGVuICsg MSwgbmFtZV93KTsKICAgICAgICAgbW9kdWxlID0gTG9hZExpYnJhcnlFeFcocGF0aCwgTlVMTCwg TE9BRF9XSVRIX0FMVEVSRURfU0VBUkNIX1BBVEgpOwogICAgICAgICBpZiAobW9kdWxlID09IE5V TEwpIHsKICAgICAgICAgICAgIC8vIE5leHQgdHJ5IFN5c3RlbTMyIGRpcmVjdG9yeQotICAgICAg ICAgICAgcGF0aGxlbiA9IEdldFN5c3RlbURpcmVjdG9yeVcocGF0aCwgTUFYX1BBVEgpOwotICAg ICAgICAgICAgaWYgKHBhdGhsZW4gPT0gMCB8fCBwYXRobGVuICsgd2NzbGVuKG5hbWVfdykgKyAy ID4gTUFYX1BBVEgpCisgICAgICAgICAgICBwYXRobGVuID0gR2V0U3lzdGVtRGlyZWN0b3J5Vyhw YXRoLCBwYXRoc2l6ZSk7CisgICAgICAgICAgICBpZiAoIXBhdGhsZW4pCiAgICAgICAgICAgICAg ICAgZ290byBleGl0OworICAgICAgICAgICAgaWYgKHBhdGhsZW4gKyBuYW1lbGVuICsgMiA+IHBh dGhzaXplKSB7CisgICAgICAgICAgICAgICAgcGF0aHNpemUgPSBwYXRobGVuICsgbmFtZWxlbiAr IDI7CisgICAgICAgICAgICAgICAgbmV3X3BhdGggPSBhdl9yZWFsbG9jX2FycmF5KHBhdGgsIHBh dGhzaXplLCBzaXplb2YgKnBhdGgpOworICAgICAgICAgICAgICAgIGlmICghbmV3X3BhdGgpCisg ICAgICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgICAgICBwYXRoID0gbmV3 X3BhdGg7CisgICAgICAgICAgICAgICAgLy8gVGhlIGJ1ZmZlciBtaWdodCBoYXZlIGJlZW4gbm90 IGVub3VnaCBmb3Igc3lzdGVtIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgIC8vIGluIHRoZSBm aXJzdCBwbGFjZS4KKyAgICAgICAgICAgICAgICBwYXRobGVuID0gR2V0U3lzdGVtRGlyZWN0b3J5 VyhwYXRoLCBwYXRoc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFwYXRobGVuKQorICAgICAg ICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBwYXRo W3BhdGhsZW5dID0gJ1xcJzsKICAgICAgICAgICAgIHdjc2NweShwYXRoICsgcGF0aGxlbiArIDEs IG5hbWVfdyk7CiAgICAgICAgICAgICBtb2R1bGUgPSBMb2FkTGlicmFyeUV4VyhwYXRoLCBOVUxM LCBMT0FEX1dJVEhfQUxURVJFRF9TRUFSQ0hfUEFUSCk7CmRpZmYgLS1naXQgYS9mZnRvb2xzL01h a2VmaWxlIGIvZmZ0b29scy9NYWtlZmlsZQppbmRleCBkYTQyMDc4Li41MzQzOGI2IDEwMDY0NAot LS0gYS9mZnRvb2xzL01ha2VmaWxlCisrKyBiL2ZmdG9vbHMvTWFrZWZpbGUKQEAgLTExLDYgKzEx LDExIEBAIEFMTEFWUFJPR1NfRyA9ICQoQVZCQVNFTkFNRVM6JT0lJChQUk9HU1NVRilfZyQoRVhF U1VGKSkKIAogT0JKUy1mZm1wZWcgICAgICAgICAgICAgICAgICAgICAgICArPSBmZnRvb2xzL2Zm bXBlZ19vcHQubyBmZnRvb2xzL2ZmbXBlZ19maWx0ZXIubyBmZnRvb2xzL2ZmbXBlZ19ody5vCiAK KyMgV2luZG93cyByZXNvdXJjZSBmaWxlcworT0JKUy1mZm1wZWctJChIQVZFX0dOVV9XSU5EUkVT KSArPSBmZnRvb2xzL2xvbmdfcGF0aHNfdXRmOC5vCitPQkpTLWZmcGxheS0kKEhBVkVfR05VX1dJ TkRSRVMpICs9IGZmdG9vbHMvbG9uZ19wYXRoc191dGY4Lm8KK09CSlMtZmZwcm9iZS0kKEhBVkVf R05VX1dJTkRSRVMpICs9IGZmdG9vbHMvbG9uZ19wYXRoc191dGY4Lm8KKwogZGVmaW5lIERPRkZU T09MCiBPQkpTLSQoMSkgKz0gZmZ0b29scy9jbWR1dGlscy5vIGZmdG9vbHMvJCgxKS5vICQoT0JK Uy0kKDEpLXllcykKICQoMSkkKFBST0dTU1VGKV9nJChFWEVTVUYpOiAkJChPQkpTLSQoMSkpCmRp ZmYgLS1naXQgYS9mZnRvb2xzL2NtZHV0aWxzLmMgYi9mZnRvb2xzL2NtZHV0aWxzLmMKaW5kZXgg NGI1MGUxNS4uZWE3ODg5NyAxMDA2NDQKLS0tIGEvZmZ0b29scy9jbWR1dGlscy5jCisrKyBiL2Zm dG9vbHMvY21kdXRpbHMuYwpAQCAtNjIsNiArNjIsNyBAQAogI2VuZGlmCiAjaWZkZWYgX1dJTjMy CiAjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgImNvbXBhdC93MzJkbGZjbi5oIgogI2Vu ZGlmCiAKIHN0YXRpYyBpbnQgaW5pdF9yZXBvcnQoY29uc3QgY2hhciAqZW52KTsKQEAgLTIwNjUs NiArMjA2Niw5IEBAIEZJTEUgKmdldF9wcmVzZXRfZmlsZShjaGFyICpmaWxlbmFtZSwgc2l6ZV90 IGZpbGVuYW1lX3NpemUsCiB7CiAgICAgRklMRSAqZiA9IE5VTEw7CiAgICAgaW50IGk7CisjaWYg SEFWRV9HRVRNT0RVTEVIQU5ETEUgJiYgZGVmaW5lZChfV0lOMzIpCisgICAgY2hhciAqZGF0YWRp ciA9IE5VTEw7CisjZW5kaWYKICAgICBjb25zdCBjaGFyICpiYXNlWzNdID0geyBnZXRlbnYoIkZG TVBFR19EQVRBRElSIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0ZW52KCJIT01F IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZNUEVHX0RBVEFESVIsIH07CkBAIC0y MDc0LDE5ICsyMDc4LDMxIEBAIEZJTEUgKmdldF9wcmVzZXRfZmlsZShjaGFyICpmaWxlbmFtZSwg c2l6ZV90IGZpbGVuYW1lX3NpemUsCiAgICAgICAgIGYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsK ICAgICB9IGVsc2UgewogI2lmIEhBVkVfR0VUTU9EVUxFSEFORExFICYmIGRlZmluZWQoX1dJTjMy KQotICAgICAgICBjaGFyIGRhdGFkaXJbTUFYX1BBVEhdLCAqbHM7CisgICAgICAgIHdjaGFyX3Qg KmRhdGFkaXJfdyA9IGdldF9tb2R1bGVfZmlsZW5hbWUoTlVMTCk7CiAgICAgICAgIGJhc2VbMl0g PSBOVUxMOwogCi0gICAgICAgIGlmIChHZXRNb2R1bGVGaWxlTmFtZUEoR2V0TW9kdWxlSGFuZGxl QShOVUxMKSwgZGF0YWRpciwgc2l6ZW9mKGRhdGFkaXIpIC0gMSkpCisgICAgICAgIGlmICh3Y2hh cnRvYW5zaShkYXRhZGlyX3csICZkYXRhZGlyKSkKKyAgICAgICAgICAgIGRhdGFkaXIgPSBOVUxM OworICAgICAgICBhdl9mcmVlKGRhdGFkaXJfdyk7CisKKyAgICAgICAgaWYgKGRhdGFkaXIpCiAg ICAgICAgIHsKLSAgICAgICAgICAgIGZvciAobHMgPSBkYXRhZGlyOyBscyA8IGRhdGFkaXIgKyBz dHJsZW4oZGF0YWRpcik7IGxzKyspCisgICAgICAgICAgICBjaGFyICpsczsKKyAgICAgICAgICAg IGZvciAobHMgPSBkYXRhZGlyOyAqbHM7IGxzKyspCiAgICAgICAgICAgICAgICAgaWYgKCpscyA9 PSAnXFwnKSAqbHMgPSAnLyc7CiAKICAgICAgICAgICAgIGlmIChscyA9IHN0cnJjaHIoZGF0YWRp ciwgJy8nKSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAqbHMgPSAwOwotICAgICAg ICAgICAgICAgIHN0cm5jYXQoZGF0YWRpciwgIi9mZnByZXNldHMiLCAgc2l6ZW9mKGRhdGFkaXIp IC0gMSAtIHN0cmxlbihkYXRhZGlyKSk7Ci0gICAgICAgICAgICAgICAgYmFzZVsyXSA9IGRhdGFk aXI7CisgICAgICAgICAgICAgICAgY29uc3QgaW50IGRhdGFkaXJfbGVuID0gbHMgLSBkYXRhZGly OworICAgICAgICAgICAgICAgIGNvbnN0IGludCBkZXNpcmVkX3NpemUgPSBkYXRhZGlyX2xlbiAr IHN0cmxlbigiL2ZmcHJlc2V0cyIpICsgMTsKKyAgICAgICAgICAgICAgICBjaGFyICpuZXdfZGF0 YWRpciA9IGF2X3JlYWxsb2NfYXJyYXkoCisgICAgICAgICAgICAgICAgICAgIGRhdGFkaXIsIGRl c2lyZWRfc2l6ZSwgc2l6ZW9mICpkYXRhZGlyKTsKKyAgICAgICAgICAgICAgICBpZiAobmV3X2Rh dGFkaXIpIHsKKyAgICAgICAgICAgICAgICAgICAgZGF0YWRpciA9IG5ld19kYXRhZGlyOworICAg ICAgICAgICAgICAgICAgICBkYXRhZGlyW2RhdGFkaXJfbGVuXSA9IDA7CisgICAgICAgICAgICAg ICAgICAgIHN0cm5jYXQoZGF0YWRpciwgIi9mZnByZXNldHMiLCAgZGVzaXJlZF9zaXplIC0gMSAt IGRhdGFkaXJfbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZVsyXSA9IGRhdGFkaXI7Cisg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAjZW5kaWYKQEAgLTIx MDYsNiArMjEyMiw5IEBAIEZJTEUgKmdldF9wcmVzZXRfZmlsZShjaGFyICpmaWxlbmFtZSwgc2l6 ZV90IGZpbGVuYW1lX3NpemUsCiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBIQVZFX0dFVE1PRFVM RUhBTkRMRSAmJiBkZWZpbmVkKF9XSU4zMikKKyAgICBhdl9mcmVlKGRhdGFkaXIpOworI2VuZGlm CiAgICAgcmV0dXJuIGY7CiB9CiAKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvbG9uZ19wYXRoc191dGY4 Lm1hbmlmZXN0IGIvZmZ0b29scy9sb25nX3BhdGhzX3V0ZjgubWFuaWZlc3QKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFhYzFlNAotLS0gL2Rldi9udWxsCisrKyBiL2ZmdG9v bHMvbG9uZ19wYXRoc191dGY4Lm1hbmlmZXN0CkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNp b249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KKworPGFzc2VtYmx5 IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJzaW9u PSIxLjAiPgorICA8YXNzZW1ibHlJZGVudGl0eSB0eXBlPSJ3aW4zMiIgbmFtZT0iRkZtcGVnIiB2 ZXJzaW9uPSIxLjAuMC4wIi8+CisgIDxhcHBsaWNhdGlvbiB4bWxucz0idXJuOnNjaGVtYXMtbWlj cm9zb2Z0LWNvbTphc20udjMiPgorICAgIDx3aW5kb3dzU2V0dGluZ3MgeG1sbnM6d3MyMDE2PSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NNSS8yMDE2L1dpbmRvd3NTZXR0aW5ncyIKKyAg ICAgICAgICAgICAgICAgICAgIHhtbG5zOndzMjAxOT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0 LmNvbS9TTUkvMjAxOS9XaW5kb3dzU2V0dGluZ3MiPgorICAgICAgPHdzMjAxNjpsb25nUGF0aEF3 YXJlPnRydWU8L3dzMjAxNjpsb25nUGF0aEF3YXJlPgorICAgICAgPHdzMjAxOTphY3RpdmVDb2Rl UGFnZT5VVEYtODwvd3MyMDE5OmFjdGl2ZUNvZGVQYWdlPgorICAgIDwvd2luZG93c1NldHRpbmdz PgorICA8L2FwcGxpY2F0aW9uPgorPC9hc3NlbWJseT4KZGlmZiAtLWdpdCBhL2ZmdG9vbHMvbG9u Z19wYXRoc191dGY4LnJjIGIvZmZ0b29scy9sb25nX3BhdGhzX3V0ZjgucmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMzZGU3NgotLS0gL2Rldi9udWxsCisrKyBiL2ZmdG9v bHMvbG9uZ19wYXRoc191dGY4LnJjCkBAIC0wLDAgKzEsMyBAQAorI2luY2x1ZGUgPHdpbmRvd3Mu aD4KKworQ1JFQVRFUFJPQ0VTU19NQU5JRkVTVF9SRVNPVVJDRV9JRCBSVF9NQU5JRkVTVCAibG9u Z19wYXRoc191dGY4Lm1hbmlmZXN0IgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZpc3ludGgu YyBiL2xpYmF2Zm9ybWF0L2F2aXN5bnRoLmMKaW5kZXggMzUwYWM2ZC4uMzczOGNiMSAxMDA2NDQK LS0tIGEvbGliYXZmb3JtYXQvYXZpc3ludGguYworKysgYi9saWJhdmZvcm1hdC9hdmlzeW50aC5j CkBAIC0zNCw2ICszNCw3IEBACiAvKiBQbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3RpdmVzLiAqLwog I2lmZGVmIF9XSU4zMgogICAjaW5jbHVkZSAiY29tcGF0L3czMmRsZmNuLmgiCisgICNpbmNsdWRl ICJsaWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUuaCIKICAgI3VuZGVmIEVYVEVSTl9DCiAgICNkZWZp bmUgQVZJU1lOVEhfTElCICJhdmlzeW50aCIKICNlbHNlCkBAIC01NzIsOCArNTczLDcgQEAgc3Rh dGljIGludCBhdmlzeW50aF9vcGVuX2ZpbGUoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgIEFWU19W YWx1ZSBhcmcsIHZhbDsKICAgICBpbnQgcmV0OwogI2lmZGVmIF9XSU4zMgotICAgIGNoYXIgZmls ZW5hbWVfYW5zaVtNQVhfUEFUSCAqIDRdOwotICAgIHdjaGFyX3QgZmlsZW5hbWVfd2NbTUFYX1BB VEggKiA0XTsKKyAgICBjaGFyICpmaWxlbmFtZV9hbnNpID0gTlVMTDsKICNlbmRpZgogCiAgICAg aWYgKHJldCA9IGF2aXN5bnRoX2NvbnRleHRfY3JlYXRlKHMpKQpAQCAtNTgxLDEwICs1ODEsMTAg QEAgc3RhdGljIGludCBhdmlzeW50aF9vcGVuX2ZpbGUoQVZGb3JtYXRDb250ZXh0ICpzKQogCiAj aWZkZWYgX1dJTjMyCiAgICAgLyogQ29udmVydCBVVEYtOCB0byBBTlNJIGNvZGUgcGFnZSAqLwot ICAgIE11bHRpQnl0ZVRvV2lkZUNoYXIoQ1BfVVRGOCwgMCwgcy0+dXJsLCAtMSwgZmlsZW5hbWVf d2MsIE1BWF9QQVRIICogNCk7Ci0gICAgV2lkZUNoYXJUb011bHRpQnl0ZShDUF9USFJFQURfQUNQ LCAwLCBmaWxlbmFtZV93YywgLTEsIGZpbGVuYW1lX2Fuc2ksCi0gICAgICAgICAgICAgICAgICAg ICAgICBNQVhfUEFUSCAqIDQsIE5VTEwsIE5VTEwpOworICAgIGlmICh1dGY4dG9hbnNpKHMtPnVy bCwgJmZpbGVuYW1lX2Fuc2kpKQorICAgICAgICBnb3RvIGZhaWw7CiAgICAgYXJnID0gYXZzX25l d192YWx1ZV9zdHJpbmcoZmlsZW5hbWVfYW5zaSk7CisgICAgYXZfZnJlZShmaWxlbmFtZV9hbnNp KTsKICNlbHNlCiAgICAgYXJnID0gYXZzX25ld192YWx1ZV9zdHJpbmcocy0+dXJsKTsKICNlbmRp ZgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3djaGFyX2ZpbGVuYW1lLmggYi9saWJhdnV0aWwvd2No YXJfZmlsZW5hbWUuaAppbmRleCA5MGYwODI0Li4zMjI2MGE0IDEwMDY0NAotLS0gYS9saWJhdnV0 aWwvd2NoYXJfZmlsZW5hbWUuaAorKysgYi9saWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUuaApAQCAt NDAsNiArNDAsNDMgQEAgc3RhdGljIGlubGluZSBpbnQgdXRmOHRvd2NoYXIoY29uc3QgY2hhciAq ZmlsZW5hbWVfdXRmOCwgd2NoYXJfdCAqKmZpbGVuYW1lX3cpCiAgICAgTXVsdGlCeXRlVG9XaWRl Q2hhcihDUF9VVEY4LCAwLCBmaWxlbmFtZV91dGY4LCAtMSwgKmZpbGVuYW1lX3csIG51bV9jaGFy cyk7CiAgICAgcmV0dXJuIDA7CiB9CisKK2F2X3dhcm5fdW51c2VkX3Jlc3VsdAorc3RhdGljIGlu bGluZSBpbnQgd2NoYXJ0b2Fuc2koY29uc3Qgd2NoYXJfdCAqZmlsZW5hbWVfdywgY2hhciAqKmZp bGVuYW1lKQoreworICAgIGNvbnN0IGludCBudW1fY2hhcnMgPSBXaWRlQ2hhclRvTXVsdGlCeXRl KENQX1RIUkVBRF9BQ1AsIDAsIGZpbGVuYW1lX3csIC0xLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIE5VTEwsIE5VTEwpOworICAgIGlmIChu dW1fY2hhcnMgPD0gMCkgeworICAgICAgICAqZmlsZW5hbWUgPSBOVUxMOworICAgICAgICByZXR1 cm4gMDsKKyAgICB9CisgICAgKmZpbGVuYW1lID0gKGNoYXIgKilhdl9jYWxsb2MobnVtX2NoYXJz LCBzaXplb2YoY2hhcikpOworICAgIGlmICghKmZpbGVuYW1lKSB7CisgICAgICAgIGVycm5vID0g RU5PTUVNOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFdpZGVDaGFyVG9NdWx0aUJ5 dGUoQ1BfVEhSRUFEX0FDUCwgMCwgZmlsZW5hbWVfdywgLTEsCisgICAgICAgICAgICAgICAgICAg ICAgICAqZmlsZW5hbWUsIG51bV9jaGFycywgTlVMTCwgTlVMTCk7CisgICAgcmV0dXJuIDA7Cit9 CisKK2F2X3dhcm5fdW51c2VkX3Jlc3VsdAorc3RhdGljIGlubGluZSBpbnQgdXRmOHRvYW5zaShj b25zdCBjaGFyICpmaWxlbmFtZV91dGY4LCBjaGFyICoqZmlsZW5hbWUpCit7CisgICAgd2NoYXJf dCAqZmlsZW5hbWVfdyA9IE5VTEw7CisgICAgaW50IHJldCA9IC0xOworICAgIGlmICh1dGY4dG93 Y2hhcihmaWxlbmFtZV91dGY4LCAmZmlsZW5hbWVfdykpCisgICAgICAgIHJldHVybiAtMTsKKwor ICAgIGlmICghZmlsZW5hbWVfdykgeworICAgICAgICAqZmlsZW5hbWUgPSBOVUxMOworICAgICAg ICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXQgPSB3Y2hhcnRvYW5zaShmaWxlbmFtZV93LCBm aWxlbmFtZSk7CisgICAgYXZfZnJlZShmaWxlbmFtZV93KTsKKyAgICByZXR1cm4gcmV0OworfQog I2VuZGlmCiAKICNlbmRpZiAvKiBBVlVUSUxfV0NIQVJfRklMRU5BTUVfSCAqLwotLSAKMi4zMi4w Cgo=