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: update to the 1.1.1e release Date: Tue, 09 Jun 2026 12:44:40 GMT Message-ID: <178100908033.1.449437681915410189.rpms-openssl-c11b71fd2fd6@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: c11b71fd2fd6fbbf60bff5c09de3e366172c8c38 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IGMxMWI3MWZkMmZkNmZiYmY2MGJmZjVjMDlkZTNlMzY2MTcyYzhj MzgKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjAtMDMtMTlUMTc6NDQ6MjUrMDE6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzE0MzgvLTEzNTQgaW4gMTcgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy9jMTFiNzFm ZDJmZDZmYmJmNjBiZmY1YzA5ZGUzZTM2NjE3MmM4YzM4P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgog ICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIHVwZGF0ZSB0byB0aGUgMS4xLjFlIHJlbGVhc2UK CmFkZCBzZWxmdGVzdCBvZiB0aGUgUkFORF9EUkJHIGltcGxlbWVudGF0aW9uCmZpeCBpbmNvcnJl Y3QgZXJyb3IgcmV0dXJuIHZhbHVlIGZyb20gRklQU19zZWxmdGVzdF9kc2EKCi0tLQpkaWZmIC0t Z2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggZjVhYWM1YS4uZDdkNzE2NyAxMDA2 NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC00NSwzICs0NSw0IEBAIG9w ZW5zc2wtMS4wLjBhLXVzYS50YXIuYnoyCiAvb3BlbnNzbC0xLjEuMWItaG9iYmxlZC50YXIueHoK IC9vcGVuc3NsLTEuMS4xYy1ob2JibGVkLnRhci54egogL29wZW5zc2wtMS4xLjFkLWhvYmJsZWQu dGFyLnh6Cisvb3BlbnNzbC0xLjEuMWUtaG9iYmxlZC50YXIueHoKCmRpZmYgLS1naXQgYS9lY19j dXJ2ZS5jIGIvZWNfY3VydmUuYwppbmRleCAzNDI3NjVhLi45MTcxZWQ0IDEwMDY0NAotLS0gYS9l Y19jdXJ2ZS5jCisrKyBiL2VjX2N1cnZlLmMKQEAgLTksNyArOSw3IEBACiAgKi8KIAogI2luY2x1 ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgImVjX2xjbC5oIgorI2luY2x1ZGUgImVjX2xvY2FsLmgi CiAjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4KICNpbmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4K ICNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+CgpkaWZmIC0tZ2l0IGEvZWN0ZXN0LmMg Yi9lY3Rlc3QuYwppbmRleCBlZjRlNmI5Li5jMTY2NDJlIDEwMDY0NAotLS0gYS9lY3Rlc3QuYwor KysgYi9lY3Rlc3QuYwpAQCAtMTExNiw3ICsxMTE2LDggQEAgc3RhdGljIGludCBwYXJhbWV0ZXJf dGVzdCh2b2lkKQogICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiA9IE5VTEw7CiAgICAgaW50IHIgPSAw LCBsZW47CiAKLSAgICBpZiAoIVRFU1RfcHRyKGdyb3VwID0gRUNfR1JPVVBfbmV3X2J5X2N1cnZl X25hbWUoTklEX3NlY3AzODRyMSkpCisgICAgLyogbXVzdCB1c2UgYSBjdXJ2ZSB3aXRob3V0IGEg c3BlY2lhbCBncm91cCBtZXRob2QgKi8KKyAgICBpZiAoIVRFU1RfcHRyKGdyb3VwID0gRUNfR1JP VVBfbmV3X2J5X2N1cnZlX25hbWUoTklEX3NlY3AyNTZrMSkpCiAgICAgICAgIHx8ICFURVNUX3B0 cihlY3BhcmFtZXRlcnMgPSBFQ19HUk9VUF9nZXRfZWNwYXJhbWV0ZXJzKGdyb3VwLCBOVUxMKSkK ICAgICAgICAgfHwgIVRFU1RfcHRyKGdyb3VwMiA9IEVDX0dST1VQX25ld19mcm9tX2VjcGFyYW1l dGVycyhlY3BhcmFtZXRlcnMpKQogICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRUNfR1JPVVBfY21w KGdyb3VwLCBncm91cDIsIE5VTEwpLCAwKSkKQEAgLTEzMjQsNyArMTMyNSwxMDcgQEAgc3RhdGlj IGludCBjYXJkaW5hbGl0eV90ZXN0KGludCBuKQogICAgIEJOX0NUWF9mcmVlKGN0eCk7CiAgICAg cmV0dXJuIHJldDsKIH0KLSNlbmRpZgorCisvKgorICogSGVscGVyIGZvciBlY19wb2ludF9oZXgy cG9pbnRfdGVzdAorICoKKyAqIFNlbGYtdGVzdHMgRUNfUE9JTlRfcG9pbnQyaGV4KCkgYWdhaW5z dCBFQ19QT0lOVF9oZXgycG9pbnQoKSBmb3IgdGhlIGdpdmVuCisgKiAoZ3JvdXAsUCkgcGFpci4K KyAqCisgKiBJZiBQIGlzIE5VTEwgdXNlIHBvaW50IGF0IGluZmluaXR5LgorICovCitzdGF0aWMg b3NzbF9pbmxpbmUKK2ludCBlY19wb2ludF9oZXgycG9pbnRfdGVzdF9oZWxwZXIoY29uc3QgRUNf R1JPVVAgKmdyb3VwLCBjb25zdCBFQ19QT0lOVCAqUCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcG9pbnRfY29udmVyc2lvbl9mb3JtX3QgZm9ybSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQk5fQ1RYICpibmN0eCkKK3sKKyAgICBpbnQgcmV0ID0gMDsK KyAgICBFQ19QT0lOVCAqUSA9IE5VTEwsICpQaW5mID0gTlVMTDsKKyAgICBjaGFyICpoZXggPSBO VUxMOworCisgICAgaWYgKFAgPT0gTlVMTCkgeworICAgICAgICAvKiBJZiBQIGlzIE5VTEwgdXNl IHBvaW50IGF0IGluZmluaXR5LiAqLworICAgICAgICBpZiAoIVRFU1RfcHRyKFBpbmYgPSBFQ19Q T0lOVF9uZXcoZ3JvdXApKQorICAgICAgICAgICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRf c2V0X3RvX2luZmluaXR5KGdyb3VwLCBQaW5mKSkpCisgICAgICAgICAgICBnb3RvIGVycjsKKyAg ICAgICAgUCA9IFBpbmY7CisgICAgfQorCisgICAgaWYgKCFURVNUX3B0cihoZXggPSBFQ19QT0lO VF9wb2ludDJoZXgoZ3JvdXAsIFAsIGZvcm0sIGJuY3R4KSkKKyAgICAgICAgICAgIHx8ICFURVNU X3B0cihRID0gRUNfUE9JTlRfaGV4MnBvaW50KGdyb3VwLCBoZXgsIE5VTEwsIGJuY3R4KSkKKyAg ICAgICAgICAgIHx8ICFURVNUX2ludF9lcSgwLCBFQ19QT0lOVF9jbXAoZ3JvdXAsIFEsIFAsIGJu Y3R4KSkpCisgICAgICAgIGdvdG8gZXJyOworCisgICAgLyoKKyAgICAgKiBUaGUgbmV4dCBjaGVj ayBpcyBtb3N0IGxpa2VseSBzdXBlcmZsdW91cywgYXMgRUNfUE9JTlRfY21wIHNob3VsZCBhbHJl YWR5CisgICAgICogY292ZXIgdGhpcy4KKyAgICAgKiBOb25ldGhlbGVzcyBpdCBpbmNyZWFzZXMg dGhlIHRlc3QgY292ZXJhZ2UgZm9yIEVDX1BPSU5UX2lzX2F0X2luZmluaXR5LAorICAgICAqIHNv IHdlIGluY2x1ZGUgaXQgYW55d2F5IQorICAgICAqLworICAgIGlmIChQaW5mICE9IE5VTEwKKyAg ICAgICAgICAgICYmICFURVNUX3RydWUoRUNfUE9JTlRfaXNfYXRfaW5maW5pdHkoZ3JvdXAsIFEp KSkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICByZXQgPSAxOworCisgZXJyOgorICAgIEVDX1BP SU5UX2ZyZWUoUGluZik7CisgICAgT1BFTlNTTF9mcmVlKGhleCk7CisgICAgRUNfUE9JTlRfZnJl ZShRKTsKKworICAgIHJldHVybiByZXQ7Cit9CisKKy8qCisgKiBUaGlzIHRlc3Qgc2VsZi12YWxp ZGF0ZXMgRUNfUE9JTlRfaGV4MnBvaW50KCkgYW5kIEVDX1BPSU5UX3BvaW50MmhleCgpCisgKi8K K3N0YXRpYyBpbnQgZWNfcG9pbnRfaGV4MnBvaW50X3Rlc3QoaW50IGlkKQoreworICAgIGludCBy ZXQgPSAwLCBuaWQ7CisgICAgRUNfR1JPVVAgKmdyb3VwID0gTlVMTDsKKyAgICBjb25zdCBFQ19Q T0lOVCAqRyA9IE5VTEw7CisgICAgRUNfUE9JTlQgKlAgPSBOVUxMOworICAgIEJOX0NUWCAqIGJu Y3R4ID0gTlVMTDsKKworICAgIC8qIERvIHNvbWUgc2V0dXAgKi8KKyAgICBuaWQgPSBjdXJ2ZXNb aWRdLm5pZDsKKyAgICBpZiAoIVRFU1RfcHRyKGJuY3R4ID0gQk5fQ1RYX25ldygpKQorICAgICAg ICAgICAgfHwgIVRFU1RfcHRyKGdyb3VwID0gRUNfR1JPVVBfbmV3X2J5X2N1cnZlX25hbWUobmlk KSkKKyAgICAgICAgICAgIHx8ICFURVNUX3B0cihHID0gRUNfR1JPVVBfZ2V0MF9nZW5lcmF0b3Io Z3JvdXApKQorICAgICAgICAgICAgfHwgIVRFU1RfcHRyKFAgPSBFQ19QT0lOVF9kdXAoRywgZ3Jv dXApKSkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICBpZiAoIVRFU1RfdHJ1ZShlY19wb2ludF9o ZXgycG9pbnRfdGVzdF9oZWxwZXIoZ3JvdXAsIFAsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBPSU5UX0NPTlZFUlNJT05fQ09NUFJFU1NFRCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm5jdHgpKQor ICAgICAgICAgICAgfHwgIVRFU1RfdHJ1ZShlY19wb2ludF9oZXgycG9pbnRfdGVzdF9oZWxwZXIo Z3JvdXAsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQT0lOVF9DT05WRVJTSU9OX0NPTVBSRVNTRUQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmN0eCkpCisgICAg ICAgICAgICB8fCAhVEVTVF90cnVlKGVjX3BvaW50X2hleDJwb2ludF90ZXN0X2hlbHBlcihncm91 cCwgUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBPSU5UX0NPTlZFUlNJT05fVU5DT01QUkVTU0VELAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm5jdHgpKQorICAgICAgICAg ICAgfHwgIVRFU1RfdHJ1ZShlY19wb2ludF9oZXgycG9pbnRfdGVzdF9oZWxwZXIoZ3JvdXAsIE5V TEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJuY3R4KSkKKyAgICAgICAgICAg IHx8ICFURVNUX3RydWUoZWNfcG9pbnRfaGV4MnBvaW50X3Rlc3RfaGVscGVyKGdyb3VwLCBQLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibmN0eCkpCisgICAgICAgICAgICB8fCAhVEVTVF90 cnVlKGVjX3BvaW50X2hleDJwb2ludF90ZXN0X2hlbHBlcihncm91cCwgTlVMTCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBPSU5UX0NP TlZFUlNJT05fSFlCUklELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm5jdHgpKSkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICByZXQg PSAxOworCisgZXJyOgorICAgIEVDX1BPSU5UX2ZyZWUoUCk7CisgICAgRUNfR1JPVVBfZnJlZShn cm91cCk7CisgICAgQk5fQ1RYX2ZyZWUoYm5jdHgpOworCisgICAgcmV0dXJuIHJldDsKK30KKwor I2VuZGlmIC8qIE9QRU5TU0xfTk9fRUMgKi8KIAogaW50IHNldHVwX3Rlc3RzKHZvaWQpCiB7CkBA IC0xMzUwLDYgKzE0NTEsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKICAgICBBRERfQUxMX1RF U1RTKGludGVybmFsX2N1cnZlX3Rlc3RfbWV0aG9kLCBjcnZfbGVuKTsKIAogICAgIEFERF9BTExf VEVTVFMoY2hlY2tfbmFtZWRfY3VydmVfZnJvbV9lY3BhcmFtZXRlcnMsIGNydl9sZW4pOworICAg IEFERF9BTExfVEVTVFMoZWNfcG9pbnRfaGV4MnBvaW50X3Rlc3QsIGNydl9sZW4pOwogI2VuZGlm IC8qIE9QRU5TU0xfTk9fRUMgKi8KICAgICByZXR1cm4gMTsKIH0KCmRpZmYgLS1naXQgYS9vcGVu c3NsLTEuMS4xLWFlcy1hc20ucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLWFlcy1hc20ucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjgyMTMuLjAwMDAwMDAKLS0tIGEvb3BlbnNz bC0xLjEuMS1hZXMtYXNtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotY29t bWl0IDYxY2M3MTUyNDBkMmQzZjk1MTFjYTg4MDQzYTNlOTc5N2MxMTQ4MmYKLUF1dGhvcjogUmlj aGFyZCBMZXZpdHRlIDxsZXZpdHRlQG9wZW5zc2wub3JnPgotRGF0ZTogICBUaHUgT2N0IDMgMDg6 Mjg6MzEgMjAxOSArMDIwMAotCi0gICAgRGVmaW5lIEFFU05JX0FTTSBpZiBBRVNOSSBhc3NlbWJs ZXIgaXMgaW5jbHVkZWQsIGFuZCB1c2UgaXQKLSAgICAKLSAgICBCZWNhdXNlIHdlIGhhdmUgY2Fz ZXMgd2hlcmUgYmFzaWMgYXNzZW1ibGVyIHN1cHBvcnQgaXNuJ3QgcHJlc2VudCwgYnV0Ci0gICAg QUVTTkkgYXNzc2VtYmxlciBzdXBwb3J0IGlzLCB3ZSBuZWVkIGEgc2VwYXJhdGUgbWFjcm8gdGhh dCBpbmRpY2F0ZXMKLSAgICB0aGF0LCBhbmQgdXNlIGl0LgotICAgIAotICAgIFJldmlld2VkLWJ5 OiBUb21hcyBNcmF6IDx0bXJhekBmZWRvcmFwcm9qZWN0Lm9yZz4KLSAgICBSZXZpZXdlZC1ieTog UGF1bCBEYWxlIDxwYXVsLmRhbGVAb3JhY2xlLmNvbT4KLSAgICAoTWVyZ2VkIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzEwMDgwKQotCi1kaWZmIC0tZ2l0IGEv Q29uZmlndXJlIGIvQ29uZmlndXJlCi1pbmRleCA4MTFiZWU4MWY1Li5mNDk4YWMyZjgxIDEwMDc1 NQotLS0tIGEvQ29uZmlndXJlCi0rKysgYi9Db25maWd1cmUKLUBAIC0xMzc2LDYgKzEzNzYsNyBA QCB1bmxlc3MgKCRkaXNhYmxlZHthc219KSB7Ci0gICAgIH0KLSAgICAgaWYgKCR0YXJnZXR7YWVz X2FzbV9zcmN9KSB7Ci0gICAgICAgICBwdXNoIEB7JGNvbmZpZ3tsaWJfZGVmaW5lc319LCAiQUVT X0FTTSIgaWYgKCR0YXJnZXR7YWVzX2FzbV9zcmN9ID1+IG0vXGJhZXMtLyk7OwotKyAgICAgICAg cHVzaCBAeyRjb25maWd7bGliX2RlZmluZXN9fSwgIkFFU05JX0FTTSIgaWYgKCR0YXJnZXR7YWVz X2FzbV9zcmN9ID1+IG0vXGJhZXNuaS0vKTs7Ci0gICAgICAgICAjIGFlcy1jdHIuZmFrZSBpcyBu b3QgYSByZWFsIGZpbGUsIG9ubHkgaW5kaWNhdGlvbiB0aGF0IGFzc2VtYmxlcgotICAgICAgICAg IyBtb2R1bGUgaW1wbGVtZW50cyBBRVNfY3RyMzJfZW5jcnlwdC4uLgotICAgICAgICAgcHVzaCBA eyRjb25maWd7bGliX2RlZmluZXN9fSwgIkFFU19DVFJfQVNNIiBpZiAoJHRhcmdldHthZXNfYXNt X3NyY30gPX4gcy9ccyphZXMtY3RyXC5mYWtlLy8pOwotZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAv ZV9hZXNfY2JjX2htYWNfc2hhMS5jIGIvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGExLmMK LWluZGV4IGM5ZjU5NjkxNjIuLjI3YzM2YjQ2ZTcgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vZXZwL2Vf YWVzX2NiY19obWFjX3NoYTEuYwotKysrIGIvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGEx LmMKLUBAIC0zMyw3ICszMyw3IEBAIHR5cGVkZWYgc3RydWN0IHsKLSAKLSAjZGVmaW5lIE5PX1BB WUxPQURfTEVOR1RIICAgICAgICgoc2l6ZV90KS0xKQotIAotLSNpZiAgICAgZGVmaW5lZChBRVNf QVNNKSAmJiAgICAgKCBcCi0rI2lmICAgICBkZWZpbmVkKEFFU05JX0FTTSkgJiYgICAgICggXAot ICAgICAgICAgZGVmaW5lZChfX3g4Nl82NCkgICAgICAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAg fHwgXAotICAgICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgICAgICAgfHwgZGVmaW5lZChfTV9YNjQp ICAgICAgKQotIAotZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvZV9hZXNfY2JjX2htYWNfc2hhMjU2 LmMgYi9jcnlwdG8vZXZwL2VfYWVzX2NiY19obWFjX3NoYTI1Ni5jCi1pbmRleCBkNTE3ODMxM2Fl Li5jYzYyMmI2ZmFhIDEwMDY0NAotLS0tIGEvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGEy NTYuYwotKysrIGIvY3J5cHRvL2V2cC9lX2Flc19jYmNfaG1hY19zaGEyNTYuYwotQEAgLTM0LDcg KzM0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgewotIAotICMgZGVmaW5lIE5PX1BBWUxPQURfTEVOR1RI ICAgICAgICgoc2l6ZV90KS0xKQotIAotLSNpZiAgICAgZGVmaW5lZChBRVNfQVNNKSAmJiAgICAg KCBcCi0rI2lmICAgICBkZWZpbmVkKEFFU05JX0FTTSkgJiYgICAoIFwKLSAgICAgICAgIGRlZmlu ZWQoX194ODZfNjQpICAgICAgIHx8IGRlZmluZWQoX194ODZfNjRfXykgIHx8IFwKLSAgICAgICAg IGRlZmluZWQoX01fQU1ENjQpICAgICAgIHx8IGRlZmluZWQoX01fWDY0KSAgICAgICkKLSAKLUBA IC05NDcsNCArOTQ3LDQgQEAgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18yNTZfY2JjX2htYWNf c2hhMjU2KHZvaWQpCi0gewotICAgICByZXR1cm4gTlVMTDsKLSB9Ci0tI2VuZGlmCi0rI2VuZGlm ICAvKiBBRVNOSV9BU00gKi8KCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMS4xLWV2cC1rZGYucGF0 Y2ggYi9vcGVuc3NsLTEuMS4xLWV2cC1rZGYucGF0Y2gKaW5kZXggYjI1ZGZmYi4uZjFkNzYxOCAx MDA2NDQKLS0tIGEvb3BlbnNzbC0xLjEuMS1ldnAta2RmLnBhdGNoCisrKyBiL29wZW5zc2wtMS4x LjEtZXZwLWtkZi5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9lcnIvb3BlbnNzbC50eHQuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXJy L29wZW5zc2wudHh0Ci0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dC5l dnAta2RmCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dAkyMDE5LTA5LTEzIDE1OjQ1OjAxLjcyMzAwMTMy MyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dC5l dnAta2RmIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lcnIvb3BlbnNzbC50eHQKKy0tLSBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZXJyL29wZW5zc2wudHh0LmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMTox Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXJyL29wZW5zc2wu dHh0CTIwMjAtMDMtMTkgMTY6MDQ6MTEuMjk5MDYzNTE3ICswMTAwCiBAQCAtNzQ3LDYgKzc0Nyw5 IEBAIEVWUF9GX0VWUF9ESUdFU1RJTklUX0VYOjEyODpFVlBfRGlnZXN0SW4KICBFVlBfRl9FVlBf RU5DUllQVERFQ1JZUFRVUERBVEU6MjE5OmV2cF9FbmNyeXB0RGVjcnlwdFVwZGF0ZQogIEVWUF9G X0VWUF9FTkNSWVBURklOQUxfRVg6MTI3OkVWUF9FbmNyeXB0RmluYWxfZXgKQEAgLTUxLDcgKzUx LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dC5ldnAt a2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lcnIKICBLREZfRl9UTFMxX1BSRl9BTEc6MTExOnRs czFfcHJmX2FsZwogIE9CSl9GX09CSl9BRERfT0JKRUNUOjEwNTpPQkpfYWRkX29iamVjdAogIE9C Sl9GX09CSl9BRERfU0lHSUQ6MTA3Ok9CSl9hZGRfc2lnaWQKLUBAIC0yMjczLDYgKzIyOTYsNyBA QCBFVlBfUl9PTkxZX09ORVNIT1RfU1VQUE9SVEVEOjE3Nzpvbmx5IG9uCitAQCAtMjI3Nyw2ICsy MzAwLDcgQEAgRVZQX1JfT05MWV9PTkVTSE9UX1NVUFBPUlRFRDoxNzc6b25seSBvbgogIEVWUF9S X09QRVJBVElPTl9OT1RfU1VQUE9SVEVEX0ZPUl9USElTX0tFWVRZUEU6MTUwOlwKICAJb3BlcmF0 aW9uIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMga2V5dHlwZQogIEVWUF9SX09QRVJBVE9OX05PVF9J TklUSUFMSVpFRDoxNTE6b3BlcmF0b24gbm90IGluaXRpYWxpemVkCkBAIC01OSw3ICs1OSw3IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lcnIvb3BlbnNzbC50eHQuZXZwLWtkZiBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZXJyCiAgRVZQX1JfUEFSVElBTExZX09WRVJMQVBQSU5HOjE2 MjpwYXJ0aWFsbHkgb3ZlcmxhcHBpbmcgYnVmZmVycwogIEVWUF9SX1BCS0RGMl9FUlJPUjoxODE6 cGJrZGYyIGVycm9yCiAgRVZQX1JfUEtFWV9BUFBMSUNBVElPTl9BU04xX01FVEhPRF9BTFJFQURZ X1JFR0lTVEVSRUQ6MTc5OlwKLUBAIC0yMzA5LDYgKzIzMzMsNyBAQCBLREZfUl9NSVNTSU5HX1NF RUQ6MTA2Om1pc3Npbmcgc2VlZAorQEAgLTIzMTMsNiArMjMzNyw3IEBAIEtERl9SX01JU1NJTkdf U0VFRDoxMDY6bWlzc2luZyBzZWVkCiAgS0RGX1JfVU5LTk9XTl9QQVJBTUVURVJfVFlQRToxMDM6 dW5rbm93biBwYXJhbWV0ZXIgdHlwZQogIEtERl9SX1ZBTFVFX0VSUk9SOjEwODp2YWx1ZSBlcnJv cgogIEtERl9SX1ZBTFVFX01JU1NJTkc6MTAyOnZhbHVlIG1pc3NpbmcKQEAgLTY3LDkgKzY3LDkg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dC5ldnAta2Rm IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lcnIKICBPQkpfUl9PSURfRVhJU1RTOjEwMjpvaWQgZXhp c3RzCiAgT0JKX1JfVU5LTk9XTl9OSUQ6MTAxOnVua25vd24gbmlkCiAgT0NTUF9SX0NFUlRJRklD QVRFX1ZFUklGWV9FUlJPUjoxMDE6Y2VydGlmaWNhdGUgdmVyaWZ5IGVycm9yCi1kaWZmIC11cCBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2J1aWxkLmluZm8uZXZwLWtkZiBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZXZwL2J1aWxkLmluZm8KLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2J1 aWxkLmluZm8uZXZwLWtkZgkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysr IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvYnVpbGQuaW5mbwkyMDE5LTA5LTEzIDE1OjM5OjIw LjI2ODk4MjgzMCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9idWls ZC5pbmZvLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9idWlsZC5pbmZvCistLS0g b3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9idWlsZC5pbmZvLmV2cC1rZGYJMjAyMC0wMy0xNyAx NTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2J1 aWxkLmluZm8JMjAyMC0wMy0xOSAxNjowNDoxMS4zMDAwNjM1MDAgKzAxMDAKIEBAIC05LDcgKzks OCBAQCBTT1VSQ0VbLi4vLi4vbGliY3J5cHRvXT1cCiAgICAgICAgICBwX29wZW4uYyBwX3NlYWwu YyBwX3NpZ24uYyBwX3ZlcmlmeS5jIHBfbGliLmMgcF9lbmMuYyBwX2RlYy5jIFwKICAgICAgICAg IGJpb19tZC5jIGJpb19iNjQuYyBiaW9fZW5jLmMgZXZwX2Vyci5jIGVfbnVsbC5jIFwKQEAgLTgw LDM1ICs4MCwzNiBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2J1aWxkLmlu Zm8uZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwLwogICAgICAgICAgZV9vbGQuYyBw bWV0aF9saWIuYyBwbWV0aF9mbi5jIHBtZXRoX2duLmMgbV9zaWd2ZXIuYyBcCiAgICAgICAgICBl X2Flc19jYmNfaG1hY19zaGExLmMgZV9hZXNfY2JjX2htYWNfc2hhMjU2LmMgZV9yYzRfaG1hY19t ZDUuYyBcCiAgICAgICAgICBlX2NoYWNoYTIwX3BvbHkxMzA1LmMgY21ldGhfbGliLmMKLWRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jLmV2cC1r ZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMKLS0tLSBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYy5ldnAta2RmCTIw MTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMJMjAxOS0wOS0xMyAxNTozOToyMC4yNjg5ODI4 MzAgKzAyMDAKLUBAIC0xNCw4ICsxNCw4IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2 cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMuZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjExLjMwMDA2 MzUwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5 MTMwNS5jCTIwMjAtMDMtMTkgMTY6MTY6NDYuNDk3OTY3NjMzICswMTAwCitAQCAtMTQsOSArMTQs OSBAQAogIAogICMgaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KICAjIGluY2x1ZGUgPG9wZW5zc2wv b2JqZWN0cy5oPgotLSMgaW5jbHVkZSAiZXZwX2xvY2wuaCIKLSAjIGluY2x1ZGUgImludGVybmFs L2V2cF9pbnQuaCIKLSsjIGluY2x1ZGUgImV2cF9sb2NsLmgiCi0gIyBpbmNsdWRlICJpbnRlcm5h bC9jaGFjaGEuaCIKKy0jIGluY2x1ZGUgImV2cF9sb2NhbC5oIgorICMgaW5jbHVkZSAiY3J5cHRv L2V2cC5oIgorICMgaW5jbHVkZSAiY3J5cHRvL2NoYWNoYS5oIgorKyMgaW5jbHVkZSAiZXZwX2xv Y2FsLmgiCiAgCiAgdHlwZWRlZiBzdHJ1Y3QgewotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2V2cC9lbmNvZGUuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZW5jb2Rl LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VuY29kZS5jLmV2cC1rZGYJMjAxOS0w OS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZXZwL2VuY29kZS5jCTIwMTktMDktMTMgMTU6Mzk6MjAuMjY4OTgyODMwICswMjAwCisgICAgIHVu aW9uIHsKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZW5jb2RlLmMuZXZwLWtk ZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2VuY29kZS5jCistLS0gb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2V2cC9lbmNvZGUuYy5ldnAta2RmCTIwMjAtMDMtMTkgMTY6MDQ6MTEuMzAxMDYzNDgz ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9lbmNvZGUuYwkyMDIwLTAzLTE5 IDE2OjE0OjEzLjE0NzYyODY4MyArMDEwMAogQEAgLTExLDggKzExLDggQEAKICAjaW5jbHVkZSA8 bGltaXRzLmg+CiAgI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgiCiAgI2luY2x1ZGUgPG9w ZW5zc2wvZXZwLmg+Ci0tI2luY2x1ZGUgImV2cF9sb2NsLmgiCi0gI2luY2x1ZGUgImludGVybmFs L2V2cF9pbnQuaCIKLSsjaW5jbHVkZSAiZXZwX2xvY2wuaCIKKy0jaW5jbHVkZSAiZXZwX2xvY2Fs LmgiCisgI2luY2x1ZGUgImNyeXB0by9ldnAuaCIKKysjaW5jbHVkZSAiZXZwX2xvY2FsLmgiCiAg CiAgc3RhdGljIHVuc2lnbmVkIGNoYXIgY29udl9hc2NpaTJiaW4odW5zaWduZWQgY2hhciBhLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIg KnRhYmxlKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2Vyci5jLmV2 cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfZXJyLmMKLS0tLSBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL2V2cF9lcnIuYy5ldnAta2RmCTIwMTktMDktMTMgMTU6Mzk6MjAuMjI2 OTgzNTY5ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfZXJyLmMJMjAx OS0wOS0xMyAxNTo0NDowMC4wNzAwNzY5NjEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9ldnAvZXZwX2Vyci5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9l dnBfZXJyLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2V2cF9lcnIuYy5ldnAta2Rm CTIwMjAtMDMtMTkgMTY6MDQ6MTEuMjE4MDY0OTE5ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2V2cC9ldnBfZXJyLmMJMjAyMC0wMy0xOSAxNjowNDoxMS4zMDIwNjM0NjUgKzAxMDAK IEBAIC02MCw2ICs2MCw5IEBAIHN0YXRpYyBjb25zdCBFUlJfU1RSSU5HX0RBVEEgRVZQX3N0cl9m dW4KICAgICAge0VSUl9QQUNLKEVSUl9MSUJfRVZQLCBFVlBfRl9FVlBfRU5DUllQVEZJTkFMX0VY LCAwKSwKICAgICAgICJFVlBfRW5jcnlwdEZpbmFsX2V4In0sCkBAIC0xMzQsNyArMTM1LDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfZXJyLmMuZXZwLWtkZiBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL2UKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfRVZQLCBFVlBf Rl9VUERBVEUsIDApLCAidXBkYXRlIn0sCiAgICAgIHswLCBOVUxMfQogIH07Ci1AQCAtMjQwLDYg KzI0NSw4IEBAIHN0YXRpYyBjb25zdCBFUlJfU1RSSU5HX0RBVEEgRVZQX3N0cl9yZWEKK0BAIC0y NDEsNiArMjQ2LDggQEAgc3RhdGljIGNvbnN0IEVSUl9TVFJJTkdfREFUQSBFVlBfc3RyX3JlYQog ICAgICAib3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMga2V5dHlwZSJ9LAogICAgICB7 RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVWUF9SX09QRVJBVE9OX05PVF9JTklUSUFMSVpFRCks CiAgICAgICJvcGVyYXRvbiBub3QgaW5pdGlhbGl6ZWQifSwKQEAgLTE0Myw5ICsxNDQsOSBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF9lcnIuYy5ldnAta2RmIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9ldnAvZQogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVW UF9SX1BBUlRJQUxMWV9PVkVSTEFQUElORyksCiAgICAgICJwYXJ0aWFsbHkgb3ZlcmxhcHBpbmcg YnVmZmVycyJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVWUF9SX1BCS0RGMl9F UlJPUiksICJwYmtkZjIgZXJyb3IifSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9l dnAvZXZwX2xvY2wuaC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2xvY2wu aAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2xvY2wuaC5ldnAta2RmCTIwMTkt MDktMTMgMTU6Mzk6MTkuODIwOTkwNzE4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2V2cC9ldnBfbG9jbC5oCTIwMTktMDktMTMgMTU6Mzk6MjQuMTQ0OTE0NTc4ICswMjAwCitkaWZm IC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2V2cF9sb2NhbC5oLmV2cC1rZGYgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2V2cC9ldnBfbG9jYWwuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9ldnAvZXZwX2xvY2FsLmguZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjEwLjY1NzA3NDYyOSAr MDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZXZwX2xvY2FsLmgJMjAyMC0wMy0x OSAxNjowNDoyMC43MjI5MDA0MDQgKzAxMDAKIEBAIC00MSw2ICs0MSwxMSBAQCBzdHJ1Y3QgZXZw X2NpcGhlcl9jdHhfc3QgewogICAgICB1bnNpZ25lZCBjaGFyIGZpbmFsW0VWUF9NQVhfQkxPQ0tf TEVOR1RIXTsgLyogcG9zc2libGUgZmluYWwgYmxvY2sgKi8KICB9IC8qIEVWUF9DSVBIRVJfQ1RY ICovIDsKQEAgLTE1OCwyMCArMTU5LDIwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9ldnAvZXZwX2xvY2wuaC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvCiAgaW50 IFBLQ1M1X3YyX1BCS0RGMl9rZXlpdmdlbihFVlBfQ0lQSEVSX0NUWCAqY3R4LCBjb25zdCBjaGFy ICpwYXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhc3NsZW4sIEFTTjFf VFlQRSAqcGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBFVlBfQ0lQ SEVSICpjLCBjb25zdCBFVlBfTUQgKm1kLAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2V2cC9ldnBfcGJlLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF9wYmUu YwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX3BiZS5jLmV2cC1rZGYJMjAxOS0w OS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZXZwL2V2cF9wYmUuYwkyMDE5LTA5LTEzIDE1OjM5OjI0LjE0NTkxNDU2MSArMDIwMAorZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9ldnBfcGJlLmMuZXZwLWtkZiBvcGVuc3NsLTEu MS4xZS9jcnlwdG8vZXZwL2V2cF9wYmUuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAv ZXZwX3BiZS5jLmV2cC1rZGYJMjAyMC0wMy0xOSAxNjowNDoyMC43MjM5MDAzODYgKzAxMDAKKysr KyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2V2cF9wYmUuYwkyMDIwLTAzLTE5IDE2OjExOjU2 LjQyNTAwMTIxMCArMDEwMAogQEAgLTEyLDYgKzEyLDcgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9l dnAuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9wa2NzMTIuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC94 NTA5Lmg+Ci0rI2luY2x1ZGUgImludGVybmFsL2V2cF9pbnQuaCIKLSAjaW5jbHVkZSAiZXZwX2xv Y2wuaCIKKysjaW5jbHVkZSAiY3J5cHRvL2V2cC5oIgorICNpbmNsdWRlICJldnBfbG9jYWwuaCIK ICAKICAvKiBQYXNzd29yZCBiYXNlZCBlbmNyeXB0aW9uIChQQkUpIGZ1bmN0aW9ucyAqLwotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9rZGZfbGliLmMuZXZwLWtkZiBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZXZwL2tkZl9saWIuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9l dnAva2RmX2xpYi5jLmV2cC1rZGYJMjAxOS0wOS0xMyAxNTozOToyNC4xNDY5MTQ1NDMgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2tkZl9saWIuYwkyMDE5LTA5LTEzIDE1OjM5 OjI0LjE0NjkxNDU0MyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9r ZGZfbGliLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2tkZl9saWIuYworLS0t IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAva2RmX2xpYi5jLmV2cC1rZGYJMjAyMC0wMy0xOSAx NjowNDoyMC43MjM5MDAzODYgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2tk Zl9saWIuYwkyMDIwLTAzLTE5IDE2OjA0OjIwLjcyMzkwMDM4NiArMDEwMAogQEAgLTAsMCArMSwx NjUgQEAKICsvKgogKyAqIENvcHlyaWdodCAyMDE4IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9y cy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTE5MCwxMCArMTkxLDEwIEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAva2RmX2xpYi5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2V2cC9rCiArI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiArI2luY2x1ZGUgPG9wZW5z c2wveDUwOXYzLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wva2RmLmg+Ci0rI2luY2x1ZGUgImludGVy bmFsL2FzbjFfaW50LmgiCi0rI2luY2x1ZGUgImludGVybmFsL2V2cF9pbnQuaCIKKysjaW5jbHVk ZSAiY3J5cHRvL2FzbjEuaCIKKysjaW5jbHVkZSAiY3J5cHRvL2V2cC5oIgogKyNpbmNsdWRlICJp bnRlcm5hbC9udW1iZXJzLmgiCi0rI2luY2x1ZGUgImV2cF9sb2NsLmgiCisrI2luY2x1ZGUgImV2 cF9sb2NhbC5oIgogKwogK3R5cGVkZWYgaW50IHNrX2NtcF9mbl90eXBlKGNvbnN0IGNoYXIgKmNv bnN0ICphLCBjb25zdCBjaGFyICpjb25zdCAqYik7CiArCkBAIC0zMzgsOSArMzM5LDkgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9rZGZfbGliLmMuZXZwLWtkZiBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZXZwL2sKICsgICAgcmV0dXJuIGN0eC0+a21ldGgtPmRlcml2ZShjdHgt PmltcGwsIGtleSwga2V5bGVuKTsKICt9CiArCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vZXZwL3A1X2NycHQyLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL3A1X2Ny cHQyLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL3A1X2NycHQyLmMuZXZwLWtkZgky MDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9ldnAvcDVfY3JwdDIuYwkyMDE5LTA5LTEzIDE1OjM5OjI0LjE0NzkxNDUyNSArMDIwMAor ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9wNV9jcnB0Mi5jLmV2cC1rZGYgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9wNV9jcnB0Mi5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL2V2cC9wNV9jcnB0Mi5jLmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAg KzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL3A1X2NycHQyLmMJMjAyMC0wMy0x OSAxNjoxNzo0OC44MjI4ODYxMjYgKzAxMDAKIEBAIC0xLDUgKzEsNSBAQAogIC8qCiAtICogQ29w eXJpZ2h0IDE5OTktMjAxNiBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFsbCBSaWdodHMg UmVzZXJ2ZWQuCkBAIC0zNTUsMTMgKzM1NiwxMyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZXZwL3A1X2NycHQyLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwLwog LSMgaW5jbHVkZSA8b3BlbnNzbC94NTA5Lmg+CiAtIyBpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgog LSMgaW5jbHVkZSA8b3BlbnNzbC9obWFjLmg+Ci0tIyBpbmNsdWRlICJldnBfbG9jbC5oIgorLSMg aW5jbHVkZSAiZXZwX2xvY2FsLmgiCiArI2luY2x1ZGUgPG9wZW5zc2wveDUwOS5oPgogKyNpbmNs dWRlIDxvcGVuc3NsL2V2cC5oPgogKyNpbmNsdWRlIDxvcGVuc3NsL2tkZi5oPgogKyNpbmNsdWRl IDxvcGVuc3NsL2htYWMuaD4KLSsjaW5jbHVkZSAiaW50ZXJuYWwvZXZwX2ludC5oIgotKyNpbmNs dWRlICJldnBfbG9jbC5oIgorKyNpbmNsdWRlICJjcnlwdG8vZXZwLmgiCisrI2luY2x1ZGUgImV2 cF9sb2NhbC5oIgogIAogIC8qIHNldCB0aGlzIHRvIHByaW50IG91dCBpbmZvIGFib3V0IHRoZSBr ZXlnZW4gYWxnb3JpdGhtICovCiAgLyogI2RlZmluZSBPUEVOU1NMX0RFQlVHX1BLQ1M1VjIgKi8K QEAgLTQ4OSw5ICs0OTAsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL3A1 X2NycHQyLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwLwogIH0KICAKICBpbnQg UEtDUzVfUEJLREYyX0hNQUNfU0hBMShjb25zdCBjaGFyICpwYXNzLCBpbnQgcGFzc2xlbiwKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvcGJlX3NjcnlwdC5jLmV2cC1rZGYgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9wYmVfc2NyeXB0LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZXZwL3BiZV9zY3J5cHQuYy5ldnAta2RmCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9wYmVfc2NyeXB0LmMJMjAx OS0wOS0xMyAxNTozOToyNC4xNTA5MTQ0NzMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9ldnAvcGJlX3NjcnlwdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2 cC9wYmVfc2NyeXB0LmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL3BiZV9zY3J5cHQu Yy5ldnAta2RmCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2V2cC9wYmVfc2NyeXB0LmMJMjAyMC0wMy0xOSAxNjowNDoyMC43MjU5 MDAzNTIgKzAxMDAKIEBAIC03LDEzNSArNywxMiBAQAogICAqIGh0dHBzOi8vd3d3Lm9wZW5zc2wu b3JnL3NvdXJjZS9saWNlbnNlLmh0bWwKICAgKi8KQEAgLTc2Miw5ICs3NjMsOSBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL3BiZV9zY3J5cHQuYy5ldnAta2RmIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9ldgogIH0KICsKICAjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9ldnAvcGtleV9rZGYuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAv cGtleV9rZGYuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvcGtleV9rZGYuYy5ldnAt a2RmCTIwMTktMDktMTMgMTU6Mzk6MjQuMTU0OTE0NDAyICswMjAwCi0rKysgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2V2cC9wa2V5X2tkZi5jCTIwMTktMDktMTMgMTU6Mzk6MjQuMTU0OTE0NDAyICsw MjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL3BrZXlfa2RmLmMuZXZwLWtk ZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL3BrZXlfa2RmLmMKKy0tLSBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZXZwL3BrZXlfa2RmLmMuZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjIwLjcyNjkw MDMzNCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvcGtleV9rZGYuYwkyMDIw LTAzLTE5IDE2OjA0OjIwLjcyNTkwMDM1MiArMDEwMAogQEAgLTAsMCArMSwyNTUgQEAKICsvKgog KyAqIENvcHlyaWdodCAyMDE4IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0 cyBSZXNlcnZlZC4KQEAgLTc4MCw3ICs3ODEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZXZwL3BrZXlfa2RmLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwLwog KyNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgogKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgogKyNp bmNsdWRlIDxvcGVuc3NsL2tkZi5oPgotKyNpbmNsdWRlICJpbnRlcm5hbC9ldnBfaW50LmgiCisr I2luY2x1ZGUgImNyeXB0by9ldnAuaCIKICsKICtzdGF0aWMgaW50IHBrZXlfa2RmX2luaXQoRVZQ X1BLRVlfQ1RYICpjdHgpCiArewpAQCAtMTAyMSw0NSArMTAyMiwxNyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL3BrZXlfa2RmLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZXZwLwogKyAgICBwa2V5X2tkZl9jdHJsX3N0cgogK307CiArCi1kaWZmIC11cCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9ldnBfaW50LmguZXZwLWtkZiBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9ldnBfaW50LmgKLS0tLSBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9ldnBfaW50LmguZXZwLWtkZgkyMDE5LTA5 LTEzIDE1OjM5OjE5Ljg3Mzk4OTc4NSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9p bmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaAkyMDE5LTA5LTEzIDE1OjM5OjI0LjE1NTkxNDM4NCAr MDIwMAotQEAgLTExMiw2ICsxMTIsMjQgQEAgZXh0ZXJuIGNvbnN0IEVWUF9QS0VZX01FVEhPRCBo a2RmX3BrZXlfbQotIGV4dGVybiBjb25zdCBFVlBfUEtFWV9NRVRIT0QgcG9seTEzMDVfcGtleV9t ZXRoOwotIGV4dGVybiBjb25zdCBFVlBfUEtFWV9NRVRIT0Qgc2lwaGFzaF9wa2V5X21ldGg7Ci0g Ci0rLyogc3RydWN0IGV2cF9rZGZfaW1wbF9zdCBpcyBkZWZpbmVkIGJ5IHRoZSBpbXBsZW1lbnRh dGlvbiAqLwotK3R5cGVkZWYgc3RydWN0IGV2cF9rZGZfaW1wbF9zdCBFVlBfS0RGX0lNUEw7Ci0r dHlwZWRlZiBzdHJ1Y3QgewotKyAgICBpbnQgdHlwZTsKLSsgICAgRVZQX0tERl9JTVBMICooKm5l dykgKHZvaWQpOwotKyAgICB2b2lkICgqZnJlZSkgKEVWUF9LREZfSU1QTCAqaW1wbCk7Ci0rICAg IHZvaWQgKCpyZXNldCkgKEVWUF9LREZfSU1QTCAqaW1wbCk7Ci0rICAgIGludCAoKmN0cmwpIChF VlBfS0RGX0lNUEwgKmltcGwsIGludCBjbWQsIHZhX2xpc3QgYXJncyk7Ci0rICAgIGludCAoKmN0 cmxfc3RyKSAoRVZQX0tERl9JTVBMICppbXBsLCBjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFy ICp2YWx1ZSk7Ci0rICAgIHNpemVfdCAoKnNpemUpIChFVlBfS0RGX0lNUEwgKmltcGwpOwotKyAg ICBpbnQgKCpkZXJpdmUpIChFVlBfS0RGX0lNUEwgKmltcGwsIHVuc2lnbmVkIGNoYXIgKmtleSwg c2l6ZV90IGtleWxlbik7Ci0rfSBFVlBfS0RGX01FVEhPRDsKLSsKLStleHRlcm4gY29uc3QgRVZQ X0tERl9NRVRIT0QgcGJrZGYyX2tkZl9tZXRoOwotK2V4dGVybiBjb25zdCBFVlBfS0RGX01FVEhP RCBzY3J5cHRfa2RmX21ldGg7Ci0rZXh0ZXJuIGNvbnN0IEVWUF9LREZfTUVUSE9EIHRsczFfcHJm X2tkZl9tZXRoOwotK2V4dGVybiBjb25zdCBFVlBfS0RGX01FVEhPRCBoa2RmX2tkZl9tZXRoOwot KwotIHN0cnVjdCBldnBfbWRfc3QgewotICAgICBpbnQgdHlwZTsKLSAgICAgaW50IHBrZXlfdHlw ZTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvYnVpbGQuaW5mby5ldnAta2Rm IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvYnVpbGQuaW5mbwotLS0tIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9rZGYvYnVpbGQuaW5mby5ldnAta2RmCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9idWlsZC5pbmZvCTIwMTkt MDktMTMgMTU6Mzk6MjQuMTU2OTE0MzY3ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9j cnlwdG8va2RmL2J1aWxkLmluZm8uZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL2J1 aWxkLmluZm8KKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL2J1aWxkLmluZm8uZXZwLWtk ZgkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9rZGYvYnVpbGQuaW5mbwkyMDIwLTAzLTE5IDE2OjA0OjMyLjM0NzY5OTE5NCArMDEw MAogQEAgLTEsMyArMSwzIEBACiAgTElCUz0uLi8uLi9saWJjcnlwdG8KICBTT1VSQ0VbLi4vLi4v bGliY3J5cHRvXT1cCiAtICAgICAgICB0bHMxX3ByZi5jIGtkZl9lcnIuYyBoa2RmLmMgc2NyeXB0 LmMKICsgICAgICAgIHRsczFfcHJmLmMga2RmX2Vyci5jIGtkZl91dGlsLmMgaGtkZi5jIHNjcnlw dC5jIHBia2RmMi5jCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL2hrZGYuYy5l dnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZi5jCi0tLS0gb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2tkZi9oa2RmLmMuZXZwLWtkZgkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAw MCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZi5jCTIwMTktMDktMTMg MTU6Mzk6MjQuMTU4OTE0MzMyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v a2RmL2hrZGYuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9rZGYvaGtkZi5jCistLS0g b3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9oa2RmLmMuZXZwLWtkZgkyMDIwLTAzLTE3IDE1OjMx OjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9rZGYvaGtkZi5j CTIwMjAtMDMtMTkgMTY6MDY6NTkuNzU3MTQ3NzIwICswMTAwCiBAQCAtOCwzMiArOCwzMyBAQAog ICAqLwogIApAQCAtMTA2NywxMSArMTA0MCwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8va2RmL2hrZGYuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZgog KyNpbmNsdWRlIDxzdGRhcmcuaD4KICAjaW5jbHVkZSA8c3RyaW5nLmg+CiAgI2luY2x1ZGUgPG9w ZW5zc2wvaG1hYy5oPgotLSNpbmNsdWRlIDxvcGVuc3NsL2tkZi5oPgorICNpbmNsdWRlIDxvcGVu c3NsL2tkZi5oPgogICNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgotKyNpbmNsdWRlIDxvcGVuc3Ns L2tkZi5oPgogICNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgotICNpbmNsdWRlICJpbnRl cm5hbC9ldnBfaW50LmgiCisgI2luY2x1ZGUgImNyeXB0by9ldnAuaCIKICsjaW5jbHVkZSAia2Rm X2xvY2FsLmgiCiAgCiAgI2RlZmluZSBIS0RGX01BWEJVRiAxMDI0CkBAIC0xMTkyLDE4ICsxMTY0 LDE4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZi5jLmV2cC1rZGYg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9oa2RmCiAgICAgICAgICAgICAgcmV0dXJuIDE7CiAg CiAtICAgICAgICBpZiAocDEgPCAwKQotLSAgICAgICAgICAgIHJldHVybiAwOwotLQotLSAgICAg ICAgaWYgKGtjdHgtPnNhbHQgIT0gTlVMTCkKLS0gICAgICAgICAgICBPUEVOU1NMX2NsZWFyX2Zy ZWUoa2N0eC0+c2FsdCwga2N0eC0+c2FsdF9sZW4pOwotLQotLSAgICAgICAga2N0eC0+c2FsdCA9 IE9QRU5TU0xfbWVtZHVwKHAyLCBwMSk7Ci0tICAgICAgICBpZiAoa2N0eC0+c2FsdCA9PSBOVUxM KQogKyAgICAgICAgT1BFTlNTTF9mcmVlKGltcGwtPnNhbHQpOwogKyAgICAgICAgaW1wbC0+c2Fs dCA9IE9QRU5TU0xfbWVtZHVwKHAsIGxlbik7CiArICAgICAgICBpZiAoaW1wbC0+c2FsdCA9PSBO VUxMKQogICAgICAgICAgICAgIHJldHVybiAwOwogIAorLSAgICAgICAgaWYgKGtjdHgtPnNhbHQg IT0gTlVMTCkKKy0gICAgICAgICAgICBPUEVOU1NMX2NsZWFyX2ZyZWUoa2N0eC0+c2FsdCwga2N0 eC0+c2FsdF9sZW4pOworLQorLSAgICAgICAga2N0eC0+c2FsdCA9IE9QRU5TU0xfbWVtZHVwKHAy LCBwMSk7CistICAgICAgICBpZiAoa2N0eC0+c2FsdCA9PSBOVUxMKQorLSAgICAgICAgICAgIHJl dHVybiAwOworLQogLSAgICAgICAga2N0eC0+c2FsdF9sZW4gPSBwMTsKICsgICAgICAgIGltcGwt PnNhbHRfbGVuID0gbGVuOwogICAgICAgICAgcmV0dXJuIDE7CkBAIC0xMzIxLDE0ICsxMjkzLDE0 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZi5jLmV2cC1rZGYgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9oa2RmCiArc3RhdGljIHNpemVfdCBrZGZfaGtkZl9zaXpl KEVWUF9LREZfSU1QTCAqaW1wbCkKICB7CiAtICAgIEhLREZfUEtFWV9DVFggKmtjdHggPSBjdHgt PmRhdGE7Ci0tCisrICAgIGlmIChpbXBsLT5tb2RlICE9IEVWUF9LREZfSEtERl9NT0RFX0VYVFJB Q1RfT05MWSkKKysgICAgICAgIHJldHVybiBTSVpFX01BWDsKKyAKIC0gICAgT1BFTlNTTF9jbGVh cl9mcmVlKGtjdHgtPmtleSwga2N0eC0+a2V5X2xlbik7CiAtICAgIE9QRU5TU0xfY2xlYXJfZnJl ZShrY3R4LT5zYWx0LCBrY3R4LT5zYWx0X2xlbik7CiAtICAgIE9QRU5TU0xfY2xlYW5zZShrY3R4 LT5pbmZvLCBrY3R4LT5pbmZvX2xlbik7CiAtICAgIG1lbXNldChrY3R4LCAwLCBzaXplb2YoKmtj dHgpKTsKLSsgICAgaWYgKGltcGwtPm1vZGUgIT0gRVZQX0tERl9IS0RGX01PREVfRVhUUkFDVF9P TkxZKQotKyAgICAgICAgcmV0dXJuIFNJWkVfTUFYOwotIAorLQogLSAgICByZXR1cm4gMTsKICsg ICAgaWYgKGltcGwtPm1kID09IE5VTEwpIHsKICsgICAgICAgIEtERmVycihLREZfRl9LREZfSEtE Rl9TSVpFLCBLREZfUl9NSVNTSU5HX01FU1NBR0VfRElHRVNUKTsKQEAgLTE1MjYsOSArMTQ5OCw5 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvaGtkZi5jLmV2cC1rZGYgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9oa2RmCiAgCiAgIGVycjoKICAgICAgT1BFTlNTTF9jbGVh bnNlKHByZXYsIHNpemVvZihwcmV2KSk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v a2RmL2tkZl9lcnIuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYva2RmX2Vyci5j Ci0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9rZGZfZXJyLmMuZXZwLWtkZgkyMDE5LTA5 LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9r ZGYva2RmX2Vyci5jCTIwMTktMDktMTMgMTU6Mzk6MjQuMTU5OTE0MzE0ICswMjAwCitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL2tkZl9lcnIuYy5ldnAta2RmIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9rZGYva2RmX2Vyci5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9r ZGZfZXJyLmMuZXZwLWtkZgkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9rZGYva2RmX2Vyci5jCTIwMjAtMDMtMTkgMTY6MDQ6MzIu MzQ5Njk5MTU5ICswMTAwCiBAQCAtMSw2ICsxLDYgQEAKICAvKgogICAqIEdlbmVyYXRlZCBieSB1 dGlsL21rZXJyLnBsIERPIE5PVCBFRElUCkBAIC0xNTg0LDkgKzE1NTYsOSBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL2tkZl9lcnIuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9rZGYvawogICAgICB7MCwgTlVMTH0KICB9OwogIAotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2tkZi9rZGZfbG9jYWwuaC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9rZGYva2RmX2xvY2FsLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL2tkZl9sb2Nh bC5oLmV2cC1rZGYJMjAxOS0wOS0xMyAxNTozOToyNC4xNjA5MTQyOTcgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMS4xZC9jcnlwdG8va2RmL2tkZl9sb2NhbC5oCTIwMTktMDktMTMgMTU6Mzk6MjQuMTYw OTE0Mjk3ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL2tkZl9sb2Nh bC5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9rZGZfbG9jYWwuaAorLS0tIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9rZGYva2RmX2xvY2FsLmguZXZwLWtkZgkyMDIwLTAzLTE5IDE2 OjA0OjMyLjM0OTY5OTE1OSArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9rZGYva2Rm X2xvY2FsLmgJMjAyMC0wMy0xOSAxNjowNDozMi4zNDk2OTkxNTkgKzAxMDAKIEBAIC0wLDAgKzEs MjIgQEAKICsvKgogKyAqIENvcHlyaWdodCAyMDE4IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9y cy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTE2MTAsOSArMTU4Miw5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYva2RmX2xvY2FsLmguZXZwLWtkZiBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8va2RmCiArICAgICAgICAgICAgICAgIGludCAoKmN0cmwpKEVWUF9LREZfSU1QTCAq aW1wbCwgaW50IGNtZCwgdmFfbGlzdCBhcmdzKSwKICsgICAgICAgICAgICAgICAgaW50IGNtZCwg Y29uc3QgY2hhciAqbWRfbmFtZSk7CiArCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v a2RmL2tkZl91dGlsLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL2tkZl91dGls LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL2tkZl91dGlsLmMuZXZwLWtkZgkyMDE5 LTA5LTEzIDE1OjM5OjI0LjE2MTkxNDI3OSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9rZGYva2RmX3V0aWwuYwkyMDE5LTA5LTEzIDE1OjM5OjI0LjE2MDkxNDI5NyArMDIwMAorZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9rZGZfdXRpbC5jLmV2cC1rZGYgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2tkZi9rZGZfdXRpbC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRv L2tkZi9rZGZfdXRpbC5jLmV2cC1rZGYJMjAyMC0wMy0xOSAxNjowNDozMi4zNTA2OTkxNDIgKzAx MDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL2tkZl91dGlsLmMJMjAyMC0wMy0xOSAx NjowNDozMi4zNTA2OTkxNDIgKzAxMDAKIEBAIC0wLDAgKzEsNzMgQEAKICsvKgogKyAqIENvcHly aWdodCAyMDE4IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZl ZC4KQEAgLTE2MjksNyArMTYwMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9r ZGYva2RmX3V0aWwuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvCiArI2luY2x1 ZGUgPG9wZW5zc2wva2RmLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiArI2luY2x1ZGUg ImludGVybmFsL2NyeXB0bGliLmgiCi0rI2luY2x1ZGUgImludGVybmFsL2V2cF9pbnQuaCIKKysj aW5jbHVkZSAiY3J5cHRvL2V2cC5oIgogKyNpbmNsdWRlICJpbnRlcm5hbC9udW1iZXJzLmgiCiAr I2luY2x1ZGUgImtkZl9sb2NhbC5oIgogKwpAQCAtMTY4Nyw5ICsxNjU5LDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9rZGZfdXRpbC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2tkZi8KICsgICAgcmV0dXJuIGNhbGxfY3RybChjdHJsLCBpbXBsLCBjbWQsIG1k KTsKICt9CiArCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL3Bia2RmMi5jLmV2 cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9wYmtkZjIuYwotLS0tIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9rZGYvcGJrZGYyLmMuZXZwLWtkZgkyMDE5LTA5LTEzIDE1OjM5OjI0LjE2Mjkx NDI2MSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvcGJrZGYyLmMJMjAxOS0w OS0xMyAxNTozOToyNC4xNjI5MTQyNjEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9rZGYvcGJrZGYyLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL3Bia2Rm Mi5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9wYmtkZjIuYy5ldnAta2RmCTIwMjAt MDMtMTkgMTY6MDQ6MzIuMzc0Njk4NzI3ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L2tkZi9wYmtkZjIuYwkyMDIwLTAzLTE5IDE2OjA0OjMyLjM3NDY5ODcyNyArMDEwMAogQEAgLTAs MCArMSwyNjQgQEAKICsvKgogKyAqIENvcHlyaWdodCAyMDE4IFRoZSBPcGVuU1NMIFByb2plY3Qg QXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTE3MDcsNyArMTY3OSw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvcGJrZGYyLmMuZXZwLWtkZiBvcGVuc3NsLTEu MS4xZC9jcnlwdG8va2RmL3BiCiArI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiArI2luY2x1ZGUg PG9wZW5zc2wva2RmLmg+CiArI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgiCi0rI2luY2x1 ZGUgImludGVybmFsL2V2cF9pbnQuaCIKKysjaW5jbHVkZSAiY3J5cHRvL2V2cC5oIgogKyNpbmNs dWRlICJrZGZfbG9jYWwuaCIKICsKICtzdGF0aWMgdm9pZCBrZGZfcGJrZGYyX3Jlc2V0KEVWUF9L REZfSU1QTCAqaW1wbCk7CkBAIC0xOTU1LDIyICsxOTI3LDIxIEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9rZGYvcGJrZGYyLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v a2RmL3BiCiArICAgIEhNQUNfQ1RYX2ZyZWUoaGN0eF90cGwpOwogKyAgICByZXR1cm4gcmV0Owog K30KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvc2NyeXB0LmMuZXZwLWtkZiBv cGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL3NjcnlwdC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2tkZi9zY3J5cHQuYy5ldnAta2RmCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9zY3J5cHQuYwkyMDE5LTA5LTEzIDE1 OjM5OjI0LjE2NDkxNDIyNiArMDIwMAotQEAgLTgsMjUgKzgsMzQgQEAKK2RpZmYgLXVwIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9rZGYvc2NyeXB0LmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9jcnlw dG8va2RmL3NjcnlwdC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2tkZi9zY3J5cHQuYy5l dnAta2RmCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL2tkZi9zY3J5cHQuYwkyMDIwLTAzLTE5IDE2OjExOjA2LjIxNTg3MjQ3NSAr MDEwMAorQEAgLTgsMjUgKzgsMzUgQEAKICAgKi8KICAKICAjaW5jbHVkZSA8c3RkbGliLmg+CiAr I2luY2x1ZGUgPHN0ZGFyZy5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVkZSA8b3Bl bnNzbC9obWFjLmg+Ci0tI2luY2x1ZGUgPG9wZW5zc2wva2RmLmg+CisgI2luY2x1ZGUgPG9wZW5z c2wvaG1hYy5oPgorICNpbmNsdWRlIDxvcGVuc3NsL2tkZi5oPgogICNpbmNsdWRlIDxvcGVuc3Ns L2V2cC5oPgogLSNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgotKyNpbmNsdWRlIDxvcGVu c3NsL2tkZi5oPgogKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgotICNpbmNsdWRlICJpbnRlcm5h bC9ldnBfaW50LmgiCisgI2luY2x1ZGUgImNyeXB0by9ldnAuaCIKICsjaW5jbHVkZSAiaW50ZXJu YWwvbnVtYmVycy5oIgogKyNpbmNsdWRlICJrZGZfbG9jYWwuaCIKICAKQEAgLTE5OTksNyArMTk3 MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvc2NyeXB0LmMuZXZwLWtk ZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL3NjCiAgCiAgLyogQ3VzdG9tIHVpbnQ2NF90IHBh cnNlciBzaW5jZSB3ZSBkbyBub3QgaGF2ZSBzdHJ0b3VsbCAqLwogIHN0YXRpYyBpbnQgYXRvdTY0 KGNvbnN0IGNoYXIgKm5wdHIsIHVpbnQ2NF90ICpyZXN1bHQpCi1AQCAtNTMsNTEgKzYyLDUzIEBA IHN0YXRpYyBpbnQgYXRvdTY0KGNvbnN0IGNoYXIgKm5wdHIsIHVpbnQKK0BAIC01Myw1MSArNjMs NTMgQEAgc3RhdGljIGludCBhdG91NjQoY29uc3QgY2hhciAqbnB0ciwgdWludAogICAgICByZXR1 cm4gMTsKICB9CiAgCkBAIC0yMDg0LDcgKzIwNTUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8va2RmL3NjcnlwdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9z YwogIAogICAgICBpZiAobmV3X2J1ZmxlbiA+IDApIHsKICAgICAgICAgICpidWZmZXIgPSBPUEVO U1NMX21lbWR1cChuZXdfYnVmZmVyLCBuZXdfYnVmbGVuKTsKLUBAIC0xMDUsNyArMTE2LDcgQEAg c3RhdGljIGludCBwa2V5X3NjcnlwdF9zZXRfbWVtYnVmKHVuc2lnbgorQEAgLTEwNSw3ICsxMTcs NyBAQCBzdGF0aWMgaW50IHBrZXlfc2NyeXB0X3NldF9tZW1idWYodW5zaWduCiAgICAgICAgICAq YnVmZmVyID0gT1BFTlNTTF9tYWxsb2MoMSk7CiAgICAgIH0KICAgICAgaWYgKCpidWZmZXIgPT0g TlVMTCkgewpAQCAtMjA5Myw3ICsyMDY0LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2tkZi9zY3J5cHQuYy5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvc2MKICAg ICAgICAgIHJldHVybiAwOwogICAgICB9CiAgCi1AQCAtMTE4LDE0OSArMTI5LDM3OCBAQCBzdGF0 aWMgaW50IGlzX3Bvd2VyX29mX3R3byh1aW50NjRfdCB2YWx1CitAQCAtMTE4LDE0OSArMTMwLDM3 OCBAQCBzdGF0aWMgaW50IGlzX3Bvd2VyX29mX3R3byh1aW50NjRfdCB2YWx1CiAgICAgIHJldHVy biAodmFsdWUgIT0gMCkgJiYgKCh2YWx1ZSAmICh2YWx1ZSAtIDEpKSA9PSAwKTsKICB9CiAgCkBA IC0yNTQ2LDkgKzI1MTcsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL3Nj cnlwdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi9zYwogK30KICAKICAjZW5k aWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvdGxzMV9wcmYuYy5ldnAta2Rm IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvdGxzMV9wcmYuYwotLS0tIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9rZGYvdGxzMV9wcmYuYy5ldnAta2RmCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi90bHMxX3ByZi5jCTIwMTkt MDktMTMgMTU6Mzk6MjQuMTY3OTE0MTczICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9j cnlwdG8va2RmL3RsczFfcHJmLmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL3Rs czFfcHJmLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8va2RmL3RsczFfcHJmLmMuZXZwLWtk ZgkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9rZGYvdGxzMV9wcmYuYwkyMDIwLTAzLTE5IDE2OjEwOjMyLjMxNzQ2MDcwNyArMDEw MAogQEAgLTgsMTEgKzgsMTUgQEAKICAgKi8KICAKQEAgLTI1NTYsMTAgKzI1MjcsOSBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmL3RsczFfcHJmLmMuZXZwLWtkZiBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8va2RmLwogKyNpbmNsdWRlIDxzdGRhcmcuaD4KICsjaW5jbHVkZSA8c3Ry aW5nLmg+CiAgI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgiCi0tI2luY2x1ZGUgPG9wZW5z c2wva2RmLmg+CisgI2luY2x1ZGUgPG9wZW5zc2wva2RmLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wv ZXZwLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wva2RmLmg+Ci0gI2luY2x1ZGUgImludGVybmFsL2V2 cF9pbnQuaCIKKyAjaW5jbHVkZSAiY3J5cHRvL2V2cC5oIgogKyNpbmNsdWRlICJrZGZfbG9jYWwu aCIKICAKICtzdGF0aWMgdm9pZCBrZGZfdGxzMV9wcmZfcmVzZXQoRVZQX0tERl9JTVBMICppbXBs KTsKQEAgLTI2NTksMTUgKzI2MjksMTUgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2tkZi90bHMxX3ByZi5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi8KIC0gICAg ICAgIGtjdHgtPnNlY2xlbiAgPSBwMTsKICsKICsgICAgICAgIGltcGwtPnNlY2xlbiAgPSBsZW47 CisrICAgICAgICByZXR1cm4gMTsKKysKKysgICAgY2FzZSBFVlBfS0RGX0NUUkxfUkVTRVRfVExT X1NFRUQ6CisrICAgICAgICBPUEVOU1NMX2NsZWFuc2UoaW1wbC0+c2VlZCwgaW1wbC0+c2VlZGxl bik7CisrICAgICAgICBpbXBsLT5zZWVkbGVuID0gMDsKICAgICAgICAgIHJldHVybiAxOwogIAog LSAgICBjYXNlIEVWUF9QS0VZX0NUUkxfVExTX1NFRUQ6CiAtICAgICAgICBpZiAocDEgPT0gMCB8 fCBwMiA9PSBOVUxMKQotKyAgICBjYXNlIEVWUF9LREZfQ1RSTF9SRVNFVF9UTFNfU0VFRDoKLSsg ICAgICAgIE9QRU5TU0xfY2xlYW5zZShpbXBsLT5zZWVkLCBpbXBsLT5zZWVkbGVuKTsKLSsgICAg ICAgIGltcGwtPnNlZWRsZW4gPSAwOwotKyAgICAgICAgcmV0dXJuIDE7Ci0rCiArICAgIGNhc2Ug RVZQX0tERl9DVFJMX0FERF9UTFNfU0VFRDoKICsgICAgICAgIHAgPSB2YV9hcmcoYXJncywgY29u c3QgdW5zaWduZWQgY2hhciAqKTsKICsgICAgICAgIGxlbiA9IHZhX2FyZyhhcmdzLCBzaXplX3Qp OwpAQCAtMjgzMiw5ICsyODAyLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tk Zi90bHMxX3ByZi5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2tkZi8KICAgICAgICAg ICAgICBPUEVOU1NMX2NsZWFyX2ZyZWUodG1wLCBvbGVuKTsKICAgICAgICAgICAgICByZXR1cm4g MDsKICAgICAgICAgIH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0VWUF9LREZf Q1RYLnBvZC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0VWUF9LREZfQ1RYLnBvZAot LS0tIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0VWUF9LREZfQ1RYLnBvZC5ldnAta2RmCTIwMTkt MDktMTMgMTU6Mzk6MjQuMTY5OTE0MTM4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvZG9jL21h bjMvRVZQX0tERl9DVFgucG9kCTIwMTktMDktMTMgMTU6Mzk6MjQuMTY5OTE0MTM4ICswMjAwCitk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9kb2MvbWFuMy9FVlBfS0RGX0NUWC5wb2QuZXZwLWtkZiBv cGVuc3NsLTEuMS4xZS9kb2MvbWFuMy9FVlBfS0RGX0NUWC5wb2QKKy0tLSBvcGVuc3NsLTEuMS4x ZS9kb2MvbWFuMy9FVlBfS0RGX0NUWC5wb2QuZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjMyLjM3 NzY5ODY3NSArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW4zL0VWUF9LREZfQ1RYLnBv ZAkyMDIwLTAzLTE5IDE2OjA0OjMyLjM3NzY5ODY3NSArMDEwMAogQEAgLTAsMCArMSwyMTcgQEAK ICs9cG9kCiArCkBAIC0zMDUzLDkgKzMwMjMsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9k b2MvbWFuMy9FVlBfS0RGX0NUWC5wb2QuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuMwog K0w8aHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL2xpY2Vuc2UuaHRtbD4uCiArCiArPWN1 dAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvZG9jL21hbjcvRVZQX0tERl9IS0RGLnBvZC5ldnAt a2RmIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW43L0VWUF9LREZfSEtERi5wb2QKLS0tLSBvcGVuc3Ns LTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RGX0hLREYucG9kLmV2cC1rZGYJMjAxOS0wOS0xMyAxNToz OToyNC4xNzE5MTQxMDMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RG X0hLREYucG9kCTIwMTktMDktMTMgMTU6Mzk6MjQuMTcxOTE0MTAzICswMjAwCitkaWZmIC11cCBv cGVuc3NsLTEuMS4xZS9kb2MvbWFuNy9FVlBfS0RGX0hLREYucG9kLmV2cC1rZGYgb3BlbnNzbC0x LjEuMWUvZG9jL21hbjcvRVZQX0tERl9IS0RGLnBvZAorLS0tIG9wZW5zc2wtMS4xLjFlL2RvYy9t YW43L0VWUF9LREZfSEtERi5wb2QuZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjMyLjM3NzY5ODY3 NSArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW43L0VWUF9LREZfSEtERi5wb2QJMjAy MC0wMy0xOSAxNjowNDozMi4zNzc2OTg2NzUgKzAxMDAKIEBAIC0wLDAgKzEsMTgwIEBACiArPXBv ZAogKwpAQCAtMzIzNyw5ICszMjA3LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvZG9jL21h bjcvRVZQX0tERl9IS0RGLnBvZC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4KICtMPGh0 dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9saWNlbnNlLmh0bWw+LgogKwogKz1jdXQKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW43L0VWUF9LREZfUEJLREYyLnBvZC5ldnAta2Rm IG9wZW5zc2wtMS4xLjFkL2RvYy9tYW43L0VWUF9LREZfUEJLREYyLnBvZAotLS0tIG9wZW5zc2wt MS4xLjFkL2RvYy9tYW43L0VWUF9LREZfUEJLREYyLnBvZC5ldnAta2RmCTIwMTktMDktMTMgMTU6 Mzk6MjQuMTcyOTE0MDg1ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvZG9jL21hbjcvRVZQX0tE Rl9QQktERjIucG9kCTIwMTktMDktMTMgMTU6Mzk6MjQuMTcyOTE0MDg1ICswMjAwCitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZS9kb2MvbWFuNy9FVlBfS0RGX1BCS0RGMi5wb2QuZXZwLWtkZiBvcGVu c3NsLTEuMS4xZS9kb2MvbWFuNy9FVlBfS0RGX1BCS0RGMi5wb2QKKy0tLSBvcGVuc3NsLTEuMS4x ZS9kb2MvbWFuNy9FVlBfS0RGX1BCS0RGMi5wb2QuZXZwLWtkZgkyMDIwLTAzLTE5IDE2OjA0OjMy LjM3ODY5ODY1OCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW43L0VWUF9LREZfUEJL REYyLnBvZAkyMDIwLTAzLTE5IDE2OjA0OjMyLjM3ODY5ODY1OCArMDEwMAogQEAgLTAsMCArMSw3 OCBAQAogKz1wb2QKICsKQEAgLTMzMTksOSArMzI4OSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL2RvYy9tYW43L0VWUF9LREZfUEJLREYyLnBvZC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL2Rv Yy9tCiArTDxodHRwczovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2UvbGljZW5zZS5odG1sPi4KICsK ICs9Y3V0Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RGX1NDUllQVC5w b2QuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RGX1NDUllQVC5wb2QKLS0t LSBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RGX1NDUllQVC5wb2QuZXZwLWtkZgkyMDE5 LTA5LTEzIDE1OjM5OjI0LjE3MzkxNDA2OCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2RvYy9t YW43L0VWUF9LREZfU0NSWVBULnBvZAkyMDE5LTA5LTEzIDE1OjM5OjI0LjE3MzkxNDA2OCArMDIw MAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvZG9jL21hbjcvRVZQX0tERl9TQ1JZUFQucG9kLmV2 cC1rZGYgb3BlbnNzbC0xLjEuMWUvZG9jL21hbjcvRVZQX0tERl9TQ1JZUFQucG9kCistLS0gb3Bl bnNzbC0xLjEuMWUvZG9jL21hbjcvRVZQX0tERl9TQ1JZUFQucG9kLmV2cC1rZGYJMjAyMC0wMy0x OSAxNjowNDozMi4zNzg2OTg2NTggKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9kb2MvbWFuNy9F VlBfS0RGX1NDUllQVC5wb2QJMjAyMC0wMy0xOSAxNjowNDozMi4zNzg2OTg2NTggKzAxMDAKIEBA IC0wLDAgKzEsMTQ5IEBACiArPXBvZAogKwpAQCAtMzQ3Miw5ICszNDQyLDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvZG9jL21hbjcvRVZQX0tERl9TQ1JZUFQucG9kLmV2cC1rZGYgb3BlbnNz bC0xLjEuMWQvZG9jL20KICtMPGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9saWNlbnNl Lmh0bWw+LgogKwogKz1jdXQKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW43L0VWUF9L REZfVExTMV9QUkYucG9kLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvZG9jL21hbjcvRVZQX0tERl9U TFMxX1BSRi5wb2QKLS0tLSBvcGVuc3NsLTEuMS4xZC9kb2MvbWFuNy9FVlBfS0RGX1RMUzFfUFJG LnBvZC5ldnAta2RmCTIwMTktMDktMTMgMTU6Mzk6MjQuMTc0OTE0MDUwICswMjAwCi0rKysgb3Bl bnNzbC0xLjEuMWQvZG9jL21hbjcvRVZQX0tERl9UTFMxX1BSRi5wb2QJMjAxOS0wOS0xMyAxNToz OToyNC4xNzQ5MTQwNTAgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW43L0VW UF9LREZfVExTMV9QUkYucG9kLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvZG9jL21hbjcvRVZQX0tE Rl9UTFMxX1BSRi5wb2QKKy0tLSBvcGVuc3NsLTEuMS4xZS9kb2MvbWFuNy9FVlBfS0RGX1RMUzFf UFJGLnBvZC5ldnAta2RmCTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzc4Njk4NjU4ICswMTAwCisrKysg b3BlbnNzbC0xLjEuMWUvZG9jL21hbjcvRVZQX0tERl9UTFMxX1BSRi5wb2QJMjAyMC0wMy0xOSAx NjowNDozMi4zNzg2OTg2NTggKzAxMDAKIEBAIC0wLDAgKzEsMTQyIEBACiArPXBvZAogKwpAQCAt MzYxOCw5ICszNTg4LDM3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW43L0VWUF9L REZfVExTMV9QUkYucG9kLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvZG9jCiArTDxodHRwczovL3d3 dy5vcGVuc3NsLm9yZy9zb3VyY2UvbGljZW5zZS5odG1sPi4KICsKICs9Y3V0Ci1kaWZmIC11cCBv cGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZXZwZXJyLmguZXZwLWtkZiBvcGVuc3NsLTEu MS4xZC9pbmNsdWRlL29wZW5zc2wvZXZwZXJyLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9pbmNsdWRl L29wZW5zc2wvZXZwZXJyLmguZXZwLWtkZgkyMDE5LTA5LTEzIDE1OjM5OjIwLjI0Mjk4MzI4NyAr MDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaAkyMDE5LTA5 LTEzIDE1OjQyOjQyLjgxODQyNDc0MiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5j bHVkZS9jcnlwdG8vZXZwLmguZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9l dnAuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL2V2cC5oLmV2cC1rZGYJMjAy MC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9pbmNs dWRlL2NyeXB0by9ldnAuaAkyMDIwLTAzLTE5IDE2OjA0OjMyLjM0NzY5OTE5NCArMDEwMAorQEAg LTExMiw2ICsxMTIsMjQgQEAgZXh0ZXJuIGNvbnN0IEVWUF9QS0VZX01FVEhPRCBoa2RmX3BrZXlf bQorIGV4dGVybiBjb25zdCBFVlBfUEtFWV9NRVRIT0QgcG9seTEzMDVfcGtleV9tZXRoOworIGV4 dGVybiBjb25zdCBFVlBfUEtFWV9NRVRIT0Qgc2lwaGFzaF9wa2V5X21ldGg7CisgCisrLyogc3Ry dWN0IGV2cF9rZGZfaW1wbF9zdCBpcyBkZWZpbmVkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiAqLwor K3R5cGVkZWYgc3RydWN0IGV2cF9rZGZfaW1wbF9zdCBFVlBfS0RGX0lNUEw7CisrdHlwZWRlZiBz dHJ1Y3QgeworKyAgICBpbnQgdHlwZTsKKysgICAgRVZQX0tERl9JTVBMICooKm5ldykgKHZvaWQp OworKyAgICB2b2lkICgqZnJlZSkgKEVWUF9LREZfSU1QTCAqaW1wbCk7CisrICAgIHZvaWQgKCpy ZXNldCkgKEVWUF9LREZfSU1QTCAqaW1wbCk7CisrICAgIGludCAoKmN0cmwpIChFVlBfS0RGX0lN UEwgKmltcGwsIGludCBjbWQsIHZhX2xpc3QgYXJncyk7CisrICAgIGludCAoKmN0cmxfc3RyKSAo RVZQX0tERl9JTVBMICppbXBsLCBjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICp2YWx1ZSk7 CisrICAgIHNpemVfdCAoKnNpemUpIChFVlBfS0RGX0lNUEwgKmltcGwpOworKyAgICBpbnQgKCpk ZXJpdmUpIChFVlBfS0RGX0lNUEwgKmltcGwsIHVuc2lnbmVkIGNoYXIgKmtleSwgc2l6ZV90IGtl eWxlbik7CisrfSBFVlBfS0RGX01FVEhPRDsKKysKKytleHRlcm4gY29uc3QgRVZQX0tERl9NRVRI T0QgcGJrZGYyX2tkZl9tZXRoOworK2V4dGVybiBjb25zdCBFVlBfS0RGX01FVEhPRCBzY3J5cHRf a2RmX21ldGg7CisrZXh0ZXJuIGNvbnN0IEVWUF9LREZfTUVUSE9EIHRsczFfcHJmX2tkZl9tZXRo OworK2V4dGVybiBjb25zdCBFVlBfS0RGX01FVEhPRCBoa2RmX2tkZl9tZXRoOworKworIHN0cnVj dCBldnBfbWRfc3QgeworICAgICBpbnQgdHlwZTsKKyAgICAgaW50IHBrZXlfdHlwZTsKK2RpZmYg LXVwIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaC5ldnAta2RmIG9wZW5z c2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2lu Y2x1ZGUvb3BlbnNzbC9ldnBlcnIuaC5ldnAta2RmCTIwMjAtMDMtMTkgMTY6MDQ6MTEuMjUwMDY0 MzY1ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2V2cGVyci5oCTIw MjAtMDMtMTkgMTY6MDQ6MzIuMzc5Njk4NjQwICswMTAwCiBAQCAtNTgsNiArNTgsOSBAQCBpbnQg RVJSX2xvYWRfRVZQX3N0cmluZ3Modm9pZCk7CiAgIyBkZWZpbmUgRVZQX0ZfRVZQX0VOQ1JZUFRE RUNSWVBUVVBEQVRFICAgICAgICAgICAgICAgICAgIDIxOQogICMgZGVmaW5lIEVWUF9GX0VWUF9F TkNSWVBURklOQUxfRVggICAgICAgICAgICAgICAgICAgICAgICAxMjcKQEAgLTM2NDUsNyArMzY0 Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaC5l dnAta2RmIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvCiAgIyBkZWZpbmUgRVZQX0ZfVVBEQVRFICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3MwogIAogIC8qCi1AQCAtMTgwLDYg KzE4NSw3IEBAIGludCBFUlJfbG9hZF9FVlBfc3RyaW5ncyh2b2lkKTsKK0BAIC0xODEsNiArMTg2 LDcgQEAgaW50IEVSUl9sb2FkX0VWUF9zdHJpbmdzKHZvaWQpOwogICMgZGVmaW5lIEVWUF9SX09O TFlfT05FU0hPVF9TVVBQT1JURUQgICAgICAgICAgICAgICAgICAgICAxNzcKICAjIGRlZmluZSBF VlBfUl9PUEVSQVRJT05fTk9UX1NVUFBPUlRFRF9GT1JfVEhJU19LRVlUWVBFICAgMTUwCiAgIyBk ZWZpbmUgRVZQX1JfT1BFUkFUT05fTk9UX0lOSVRJQUxJWkVEICAgICAgICAgICAgICAgICAgIDE1 MQpAQCAtMzY1Myw5ICszNjUxLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9v cGVuc3NsL2V2cGVyci5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS8KICAjIGRlZmlu ZSBFVlBfUl9QQVJUSUFMTFlfT1ZFUkxBUFBJTkcgICAgICAgICAgICAgICAgICAgICAgMTYyCiAg IyBkZWZpbmUgRVZQX1JfUEJLREYyX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDE4MQogICMgZGVmaW5lIEVWUF9SX1BLRVlfQVBQTElDQVRJT05fQVNOMV9NRVRIT0RfQUxSRUFE WV9SRUdJU1RFUkVEIDE3OQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3Ns L2tkZmVyci5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2tkZmVyci5o Ci0tLS0gb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2tkZmVyci5oLmV2cC1rZGYJMjAx OS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNs dWRlL29wZW5zc2wva2RmZXJyLmgJMjAxOS0wOS0xMyAxNTozOTozNC44NTY3MjU5NTcgKzAyMDAK K2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9rZGZlcnIuaC5ldnAta2Rm IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9rZGZlcnIuaAorLS0tIG9wZW5zc2wtMS4x LjFlL2luY2x1ZGUvb3BlbnNzbC9rZGZlcnIuaC5ldnAta2RmCTIwMjAtMDMtMTcgMTU6MzE6MTcu MDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2tkZmVy ci5oCTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzc5Njk4NjQwICswMTAwCiBAQCAtMjMsNiArMjMsMjMg QEAgaW50IEVSUl9sb2FkX0tERl9zdHJpbmdzKHZvaWQpOwogIC8qCiAgICogS0RGIGZ1bmN0aW9u IGNvZGVzLgpAQCAtMzY5NSw5ICszNjkzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5j bHVkZS9vcGVuc3NsL2tkZmVyci5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS8KICsj IGRlZmluZSBLREZfUl9XUk9OR19PVVRQVVRfQlVGRkVSX1NJWkUgICAgICAgICAgICAgICAgICAg MTEyCiAgCiAgI2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wv a2RmLmguZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wva2RmLmgKLS0tLSBv cGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wva2RmLmguZXZwLWtkZgkyMDE5LTA5LTEwIDE1 OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNz bC9rZGYuaAkyMDE5LTA5LTEzIDE1OjM5OjM0Ljg1NzcyNTkzOSArMDIwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2tkZi5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUv aW5jbHVkZS9vcGVuc3NsL2tkZi5oCistLS0gb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3Ns L2tkZi5oLmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBv cGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wva2RmLmgJMjAyMC0wMy0xOSAxNjowNDozMi4z ODA2OTg2MjMgKzAxMDAKIEBAIC0xMCwxMCArMTAsNTAgQEAKICAjaWZuZGVmIEhFQURFUl9LREZf SAogICMgZGVmaW5lIEhFQURFUl9LREZfSApAQCAtMzc3Niw5ICszNzc0LDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2tkZi5oLmV2cC1rZGYgb3BlbnNzbC0xLjEu MWQvaW5jbHVkZS9vcGUKICB9CiAgIyBlbmRpZgogICNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvaW5jbHVkZS9vcGVuc3NsL29zc2xfdHlwLmguZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC9p bmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3Bl bnNzbC9vc3NsX3R5cC5oLmV2cC1rZGYJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAkyMDE5LTA5 LTEzIDE1OjM5OjM0Ljg1ODcyNTkyMiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5j bHVkZS9vcGVuc3NsL29zc2xfdHlwLmguZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29w ZW5zc2wvb3NzbF90eXAuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9vc3Ns X3R5cC5oLmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBv cGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAkyMDIwLTAzLTE5IDE2OjA0 OjMyLjM4MTY5ODYwNiArMDEwMAogQEAgLTk3LDYgKzk3LDggQEAgdHlwZWRlZiBzdHJ1Y3QgZXZw X3BrZXlfYXNuMV9tZXRob2Rfc3QgRQogIHR5cGVkZWYgc3RydWN0IGV2cF9wa2V5X21ldGhvZF9z dCBFVlBfUEtFWV9NRVRIT0Q7CiAgdHlwZWRlZiBzdHJ1Y3QgZXZwX3BrZXlfY3R4X3N0IEVWUF9Q S0VZX0NUWDsKQEAgLTM3ODgsOSArMzc4Niw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2lu Y2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5oLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvaW5jbHVkCiAg dHlwZWRlZiBzdHJ1Y3QgZXZwX0VuY29kZV9DdHhfc3QgRVZQX0VOQ09ERV9DVFg7CiAgCiAgdHlw ZWRlZiBzdHJ1Y3QgaG1hY19jdHhfc3QgSE1BQ19DVFg7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC90ZXN0L2J1aWxkLmluZm8uZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC90ZXN0L2J1aWxkLmluZm8K LS0tLSBvcGVuc3NsLTEuMS4xZC90ZXN0L2J1aWxkLmluZm8uZXZwLWtkZgkyMDE5LTA5LTEwIDE1 OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL3Rlc3QvYnVpbGQuaW5m bwkyMDE5LTA5LTEzIDE1OjM5OjM0Ljg2MTcyNTg2OSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWUvdGVzdC9idWlsZC5pbmZvLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvdGVzdC9idWlsZC5p bmZvCistLS0gb3BlbnNzbC0xLjEuMWUvdGVzdC9idWlsZC5pbmZvLmV2cC1rZGYJMjAyMC0wMy0x NyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS90ZXN0L2J1aWxk LmluZm8JMjAyMC0wMy0xOSAxNjowNDozMi4zODE2OTg2MDYgKzAxMDAKIEBAIC00NCw3ICs0NCw4 IEBAIElOQ0xVREVfTUFJTl9fX3Rlc3RfbGlidGVzdHV0aWxfT0xCID0gL0kKICAgICAgICAgICAg c3NsX3Rlc3RfY3R4X3Rlc3Qgc3NsX3Rlc3QgeDUwOWF1eCBjaXBoZXJsaXN0X3Rlc3QgYXN5bmNp b3Rlc3QgXAogICAgICAgICAgICBiaW9fY2FsbGJhY2tfdGVzdCBiaW9fbWVtbGVha190ZXN0IFwK QEAgLTM4MTIsOSArMzgxMCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3Rlc3QvYnVpbGQu aW5mby5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL3Rlc3QvYnVpbGQuaW5mbwogICAgU09VUkNFW3g1 MDlfdGltZV90ZXN0XT14NTA5X3RpbWVfdGVzdC5jCiAgICBJTkNMVURFW3g1MDlfdGltZV90ZXN0 XT0uLi9pbmNsdWRlCiAgICBERVBFTkRbeDUwOV90aW1lX3Rlc3RdPS4uL2xpYmNyeXB0byBsaWJ0 ZXN0dXRpbC5hCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC90ZXN0L2V2cF9rZGZfdGVzdC5jLmV2 cC1rZGYgb3BlbnNzbC0xLjEuMWQvdGVzdC9ldnBfa2RmX3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4x LjFkL3Rlc3QvZXZwX2tkZl90ZXN0LmMuZXZwLWtkZgkyMDE5LTA5LTEzIDE1OjM5OjM0Ljg2Mjcy NTg1MSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL3Rlc3QvZXZwX2tkZl90ZXN0LmMJMjAxOS0w OS0xMyAxNTozOTozNC44NjI3MjU4NTEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3Rl c3QvZXZwX2tkZl90ZXN0LmMuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS90ZXN0L2V2cF9rZGZfdGVz dC5jCistLS0gb3BlbnNzbC0xLjEuMWUvdGVzdC9ldnBfa2RmX3Rlc3QuYy5ldnAta2RmCTIwMjAt MDMtMTkgMTY6MDQ6MzIuMzgyNjk4NTg4ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvdGVzdC9l dnBfa2RmX3Rlc3QuYwkyMDIwLTAzLTE5IDE2OjA0OjMyLjM4MjY5ODU4OCArMDEwMAogQEAgLTAs MCArMSwyMzcgQEAKICsvKgogKyAqIENvcHlyaWdodCAyMDE4LTIwMTkgVGhlIE9wZW5TU0wgUHJv amVjdCBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgpAQCAtNDA1Myw5ICs0MDUxLDkgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9ldnBfa2RmX3Rlc3QuYy5ldnAta2RmIG9wZW5z c2wtMS4xLjFkL3Rlc3QvZXZwX2tkZl8KICsjZW5kaWYKICsgICAgcmV0dXJuIDE7CiArfQotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9ldnBfdGVzdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEu MWQvdGVzdC9ldnBfdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvdGVzdC9ldnBfdGVzdC5jLmV2 cC1rZGYJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MS4xZC90ZXN0L2V2cF90ZXN0LmMJMjAxOS0wOS0xMyAxNTozOTozNC44NjU3MjU3OTggKzAyMDAK K2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3Rlc3QvZXZwX3Rlc3QuYy5ldnAta2RmIG9wZW5zc2wt MS4xLjFlL3Rlc3QvZXZwX3Rlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvZXZwX3Rlc3Qu Yy5ldnAta2RmCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNz bC0xLjEuMWUvdGVzdC9ldnBfdGVzdC5jCTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzgzNjk4NTcxICsw MTAwCiBAQCAtMTcwNSwxMyArMTcwNSwxNCBAQCBzdGF0aWMgY29uc3QgRVZQX1RFU1RfTUVUSE9E IGVuY29kZV90ZXN0CiAgICAgIGVuY29kZV90ZXN0X3J1biwKICB9OwpAQCAtNDI2Nyw5ICs0MjY1 LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9ldnBfdGVzdC5jLmV2cC1rZGYgb3Bl bnNzbC0xLjEuMWQvdGVzdC9ldnBfdGVzdC5jCiAgICAgICZrZXlwYWlyX3Rlc3RfbWV0aG9kLAog ICAgICAma2V5Z2VuX3Rlc3RfbWV0aG9kLAogICAgICAmbWFjX3Rlc3RfbWV0aG9kLAotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9wa2V5X21ldGhfa2RmX3Rlc3QuYy5ldnAta2RmIG9wZW5z c2wtMS4xLjFkL3Rlc3QvcGtleV9tZXRoX2tkZl90ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC90 ZXN0L3BrZXlfbWV0aF9rZGZfdGVzdC5jLmV2cC1rZGYJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAw MDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC90ZXN0L3BrZXlfbWV0aF9rZGZfdGVzdC5j CTIwMTktMDktMTMgMTU6Mzk6MzQuODY3NzI1NzYzICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS90ZXN0L3BrZXlfbWV0aF9rZGZfdGVzdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWUvdGVz dC9wa2V5X21ldGhfa2RmX3Rlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcGtleV9tZXRo X2tkZl90ZXN0LmMuZXZwLWtkZgkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAor KysrIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcGtleV9tZXRoX2tkZl90ZXN0LmMJMjAyMC0wMy0xOSAx NjowNDozMi4zODY2OTg1MTkgKzAxMDAKIEBAIC0xLDUgKzEsNSBAQAogIC8qCiAtICogQ29weXJp Z2h0IDIwMTctMjAxOCBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVz ZXJ2ZWQuCkBAIC00NDczLDkgKzQ0NzEsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC90ZXN0 L3BrZXlfbWV0aF9rZGZfdGVzdC5jLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvdGVzdC9wawogIH0K ICAjZW5kaWYKICAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3Rlc3QvcmVjaXBlcy8zMC10ZXN0 X2V2cF9kYXRhL2V2cGtkZi50eHQuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMv MzAtdGVzdF9ldnBfZGF0YS9ldnBrZGYudHh0Ci0tLS0gb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNp cGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwa2RmLnR4dC5ldnAta2RmCTIwMTktMDktMTAgMTU6MTM6 MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRl c3RfZXZwX2RhdGEvZXZwa2RmLnR4dAkyMDE5LTA5LTEzIDE1OjM5OjM0Ljg3MDcyNTcxMCArMDIw MAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEv ZXZwa2RmLnR4dC5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2 cF9kYXRhL2V2cGtkZi50eHQKKy0tLSBvcGVuc3NsLTEuMS4xZS90ZXN0L3JlY2lwZXMvMzAtdGVz dF9ldnBfZGF0YS9ldnBrZGYudHh0LmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAw MDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0 YS9ldnBrZGYudHh0CTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzg4Njk4NDg0ICswMTAwCiBAQCAtMSw1 ICsxLDUgQEAKICAjCiAtIyBDb3B5cmlnaHQgMjAwMS0yMDE3IFRoZSBPcGVuU1NMIFByb2plY3Qg QXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTQ4NzQsOSArNDg3Miw5IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cGtkZi50 eHQuZXZwLWtkZiBvcGVuc3NsCiArQ3RybC5kaWdlc3QgPSBkaWdlc3Q6c2hhNTEyCiArT3V0cHV0 ID0gMDBlZjQyY2RiZmM5OGQyOWRiMjA5NzY2MDhlNDU1NTY3ZmRkZGYxNAogKwotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9rZGYu dHh0LmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEv ZXZwcGtleV9rZGYudHh0Ci0tLS0gb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3Rf ZXZwX2RhdGEvZXZwcGtleV9rZGYudHh0LmV2cC1rZGYJMjAxOS0wOS0xMyAxNTozOTozNC44NzM3 MjU2NTggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBf ZGF0YS9ldnBwa2V5X2tkZi50eHQJMjAxOS0wOS0xMyAxNTozOTozNC44NzI3MjU2NzUgKzAyMDAK K2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2 cHBrZXlfa2RmLnR4dC5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVjaXBlcy8zMC10ZXN0 X2V2cF9kYXRhL2V2cHBrZXlfa2RmLnR4dAorLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVjaXBl cy8zMC10ZXN0X2V2cF9kYXRhL2V2cHBrZXlfa2RmLnR4dC5ldnAta2RmCTIwMjAtMDMtMTkgMTY6 MDQ6MzIuMzg5Njk4NDY3ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvdGVzdC9yZWNpcGVzLzMw LXRlc3RfZXZwX2RhdGEvZXZwcGtleV9rZGYudHh0CTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzg5Njk4 NDY3ICswMTAwCiBAQCAtMCwwICsxLDMwNSBAQAogKyMKICsjIENvcHlyaWdodCAyMDAxLTIwMTgg VGhlIE9wZW5TU0wgUHJvamVjdCBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgpAQCAtNTE4 Myw5ICs1MTgxLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRl c3RfZXZwX2RhdGEvZXZwcGtleV9rZGYudHh0LmV2cC1rZGYgb3AKICtDdHJsLnAgPSBwOjEKICtS ZXN1bHQgPSBJTlRFUk5BTF9FUlJPUgogKwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9y ZWNpcGVzLzMwLXRlc3RfZXZwX2tkZi50LmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNp cGVzLzMwLXRlc3RfZXZwX2tkZi50Ci0tLS0gb3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMw LXRlc3RfZXZwX2tkZi50LmV2cC1rZGYJMjAxOS0wOS0xMyAxNTozOTozNC44NzU3MjU2MjIgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfa2RmLnQJMjAx OS0wOS0xMyAxNTozOTozNC44NzU3MjU2MjIgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFl L3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9rZGYudC5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL3Rl c3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9rZGYudAorLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVj aXBlcy8zMC10ZXN0X2V2cF9rZGYudC5ldnAta2RmCTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzkwNjk4 NDUwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2tk Zi50CTIwMjAtMDMtMTkgMTY6MDQ6MzIuMzkwNjk4NDUwICswMTAwCiBAQCAtMCwwICsxLDEzIEBA CiArIyEgL3Vzci9iaW4vZW52IHBlcmwKICsjIENvcHlyaWdodCAyMDE4IFRoZSBPcGVuU1NMIFBy b2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTUyMDAsOSArNTE5OCw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9rZGYudC5l dnAta2RmIG9wZW5zc2wtMS4xLjFkL3RlCiArdXNlIE9wZW5TU0w6OlRlc3Q6OlNpbXBsZTsKICsK ICtzaW1wbGVfdGVzdCgidGVzdF9ldnBfa2RmIiwgImV2cF9rZGZfdGVzdCIpOwotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwLnQuZXZwLWtkZiBvcGVuc3Ns LTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnAudAotLS0tIG9wZW5zc2wtMS4xLjFkL3Rl c3QvcmVjaXBlcy8zMC10ZXN0X2V2cC50LmV2cC1rZGYJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAw MDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnAu dAkyMDE5LTA5LTEzIDE1OjM5OjM0Ljg3NjcyNTYwNSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWUvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwLnQuZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS90 ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnAudAorLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvcmVjaXBl cy8zMC10ZXN0X2V2cC50LmV2cC1rZGYJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAx MDAKKysrKyBvcGVuc3NsLTEuMS4xZS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnAudAkyMDIwLTAz LTE5IDE2OjA0OjMyLjM5MDY5ODQ1MCArMDEwMAogQEAgLTE1LDcgKzE1LDcgQEAgdXNlIE9wZW5T U0w6OlRlc3QgcXcvOkRFRkFVTFQgZGF0YV9maWxlLwogIHNldHVwKCJ0ZXN0X2V2cCIpOwogIApA QCAtNTIxMiwxMCArNTIxMCwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lw ZXMvMzAtdGVzdF9ldnAudC5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL3Rlc3QvcgogICAgICAiZXZw Y2FzZS50eHQiLCAiZXZwY2NtY2F2cy50eHQiICk7CiAgCiAgcGxhbiB0ZXN0cyA9PiBzY2FsYXIo QGZpbGVzKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3V0aWwvbGliY3J5cHRvLm51bS5ldnAt a2RmIG9wZW5zc2wtMS4xLjFkL3V0aWwvbGliY3J5cHRvLm51bQotLS0tIG9wZW5zc2wtMS4xLjFk L3V0aWwvbGliY3J5cHRvLm51bS5ldnAta2RmCTIwMTktMDktMTMgMTU6Mzk6MjAuMjQ4OTgzMTgy ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvdXRpbC9saWJjcnlwdG8ubnVtCTIwMTktMDktMTMg MTU6Mzk6MzQuODgxNzI1NTE3ICswMjAwCi1AQCAtNDYxNywzICs0NjE3LDExIEBAIEZJUFNfZHJi Z19nZXRfc3RyZW5ndGgKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3V0aWwvbGliY3J5cHRvLm51 bS5ldnAta2RmIG9wZW5zc2wtMS4xLjFlL3V0aWwvbGliY3J5cHRvLm51bQorLS0tIG9wZW5zc2wt MS4xLjFlL3V0aWwvbGliY3J5cHRvLm51bS5ldnAta2RmCTIwMjAtMDMtMTkgMTY6MDQ6MTEuMjYz MDY0MTQwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvdXRpbC9saWJjcnlwdG8ubnVtCTIwMjAt MDMtMTkgMTY6MDQ6MzIuMzkyNjk4NDE1ICswMTAwCitAQCAtNDYyMiwzICs0NjIyLDExIEBAIEZJ UFNfZHJiZ19nZXRfc3RyZW5ndGgKICBGSVBTX3JhbmRfc3RyZW5ndGggICAgICAgICAgICAgICAg ICAgICAgNjM4MAkxXzFfMGcJRVhJU1Q6OkZVTkNUSU9OOgogIEZJUFNfZHJiZ19nZXRfYmxvY2ts ZW5ndGggICAgICAgICAgICAgICA2MzgxCTFfMV8wZwlFWElTVDo6RlVOQ1RJT046CiAgRklQU19k cmJnX2luaXQgICAgICAgICAgICAgICAgICAgICAgICAgIDYzODIJMV8xXzBnCUVYSVNUOjpGVU5D VElPTjoKQEAgLTUyMjcsOSArNTIyNSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3V0aWwv bGliY3J5cHRvLm51bS5ldnAta2RmIG9wZW5zc2wtMS4xLjFkL3V0aWwvbGliY3J5cHRvCiArRVZQ X0tERl9jdHJsX3N0ciAgICAgICAgICAgICAgICAgICAgICAgIDY1OTUJMV8xXzFiCUVYSVNUOjpG VU5DVElPTjoKICtFVlBfS0RGX3NpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjU5Ngkx XzFfMWIJRVhJU1Q6OkZVTkNUSU9OOgogK0VWUF9LREZfZGVyaXZlICAgICAgICAgICAgICAgICAg ICAgICAgICA2NTk3CTFfMV8xYglFWElTVDo6RlVOQ1RJT046Ci1kaWZmIC11cCBvcGVuc3NsLTEu MS4xZC91dGlsL3ByaXZhdGUubnVtLmV2cC1rZGYgb3BlbnNzbC0xLjEuMWQvdXRpbC9wcml2YXRl Lm51bQotLS0tIG9wZW5zc2wtMS4xLjFkL3V0aWwvcHJpdmF0ZS5udW0uZXZwLWtkZgkyMDE5LTA5 LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL3V0aWwvcHJp dmF0ZS5udW0JMjAxOS0wOS0xMyAxNTozOTozNC44ODM3MjU0ODEgKzAyMDAKK2RpZmYgLXVwIG9w ZW5zc2wtMS4xLjFlL3V0aWwvcHJpdmF0ZS5udW0uZXZwLWtkZiBvcGVuc3NsLTEuMS4xZS91dGls L3ByaXZhdGUubnVtCistLS0gb3BlbnNzbC0xLjEuMWUvdXRpbC9wcml2YXRlLm51bS5ldnAta2Rm CTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv dXRpbC9wcml2YXRlLm51bQkyMDIwLTAzLTE5IDE2OjA0OjMyLjM5MzY5ODM5OCArMDEwMAogQEAg LTIxLDYgKzIxLDcgQEAgQ1JZUFRPX0VYX2R1cAogIENSWVBUT19FWF9mcmVlICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhdHlwZQogIENSWVBUT19FWF9uZXcgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhdHlwZQoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtZmlwcy1jcm5nLXRl c3QucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLWZpcHMtY3JuZy10ZXN0LnBhdGNoCmluZGV4IDliZTVj MzAuLjgwZGFmODQgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4xLjEtZmlwcy1jcm5nLXRlc3QucGF0 Y2gKKysrIGIvb3BlbnNzbC0xLjEuMS1maXBzLWNybmctdGVzdC5wYXRjaApAQCAtMSwzMyArMSwx NSBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvcmFu ZF9pbnQuaC5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwv cmFuZF9pbnQuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL3Jh bmRfaW50LmguY3JuZy10ZXN0CTIwMTktMDktMTMgMTY6MDM6NTQuNTcyMjM4OTI3ICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvcmFuZF9pbnQuaAkyMDE5 LTA5LTEzIDE2OjAzOjU0Ljk2NjIzMjA1NiArMDIwMAotQEAgLTQ4LDYgKzQ4LDE0IEBAIHNpemVf dCByYW5kX2RyYmdfZ2V0X2FkZGl0aW9uYWxfZGF0YShSQU4KLSAKLSB2b2lkIHJhbmRfZHJiZ19j bGVhbnVwX2FkZGl0aW9uYWxfZGF0YShSQU5EX1BPT0wgKnBvb2wsIHVuc2lnbmVkIGNoYXIgKm91 dCk7Ci0gCi0rLyogQ1JORyB0ZXN0IGVudHJvcHkgZmlsdGVyIGNhbGxiYWNrcy4gKi8KLStzaXpl X3QgcmFuZF9jcm5ndF9nZXRfZW50cm9weShSQU5EX0RSQkcgKmRyYmcsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqKnBvdXQsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGVudHJvcHksIHNpemVfdCBtaW5fbGVuLCBzaXplX3QgbWF4X2xl biwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcHJlZGljdGlvbl9yZXNpc3Rh bmNlKTsKLSt2b2lkIHJhbmRfY3JuZ3RfY2xlYW51cF9lbnRyb3B5KFJBTkRfRFJCRyAqZHJiZywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dCwgc2l6 ZV90IG91dGxlbik7Ci0rCi0gLyoKLSAgKiBSQU5EX1BPT0wgZnVuY3Rpb25zCi0gICovCi1kaWZm IC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9idWlsZC5pbmZvLmNybmctdGVzdCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9idWlsZC5pbmZvCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3JhbmQvYnVpbGQuaW5mby5jcm5nLXRlc3QJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9idWlsZC5pbmZvCTIwMTkt MDktMTMgMTY6MDM6NTQuOTY4MjMyMDIxICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9j cnlwdG8vcmFuZC9idWlsZC5pbmZvLmNybmctdGVzdCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFu ZC9idWlsZC5pbmZvCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvYnVpbGQuaW5mby5j cm5nLXRlc3QJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vcmFuZC9idWlsZC5pbmZvCTIwMjAtMDMtMTkgMTY6NDU6NTIuMjg2NjI3 MjQxICswMTAwCiBAQCAtMSw0ICsxLDQgQEAKICBMSUJTPS4uLy4uL2xpYmNyeXB0bwogIFNPVVJD RVsuLi8uLi9saWJjcnlwdG9dPVwKIC0gICAgICAgIHJhbmRmaWxlLmMgcmFuZF9saWIuYyByYW5k X2Vyci5jIHJhbmRfZWdkLmMgXAogKyAgICAgICAgcmFuZGZpbGUuYyByYW5kX2xpYi5jIHJhbmRf ZXJyLmMgcmFuZF9jcm5nX3Rlc3QuYyByYW5kX2VnZC5jIFwKICAgICAgICAgIHJhbmRfd2luLmMg cmFuZF91bml4LmMgcmFuZF92bXMuYyBkcmJnX2xpYi5jIGRyYmdfY3RyLmMKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL2RyYmdfbGliLmMuY3JuZy10ZXN0IG9wZW5zc2wtMS4x LjFkL2NyeXB0by9yYW5kL2RyYmdfbGliLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFu ZC9kcmJnX2xpYi5jLmNybmctdGVzdAkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIw MAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL2RyYmdfbGliLmMJMjAxOS0wOS0xMyAx NjowMzo1NC45NjkyMzIwMDQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9y YW5kL2RyYmdfbGliLmMuY3JuZy10ZXN0IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yYW5kL2RyYmdf bGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9kcmJnX2xpYi5jLmNybmctdGVz dAkyMDIwLTAzLTE5IDE2OjQ1OjUyLjI0NjYyNzkzNiArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9yYW5kL2RyYmdfbGliLmMJMjAyMC0wMy0xOSAxNjo0NTo1Mi4yODY2MjcyNDEgKzAx MDAKIEBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBDUllQVE9fVEhSRUFEX0xPQ0FMIHByaXZhdGVf ZHJiZzsKICAKICAKQEAgLTUxLDkgKzMzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3JhbmQvZHJiZ19saWIuYy5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3IKICAj aWZuZGVmIFJBTkRfRFJCR19HRVRfUkFORE9NX05PTkNFCiAgICAgICAgICBkcmJnLT5nZXRfbm9u Y2UgPSByYW5kX2RyYmdfZ2V0X25vbmNlOwogICAgICAgICAgZHJiZy0+Y2xlYW51cF9ub25jZSA9 IHJhbmRfZHJiZ19jbGVhbnVwX25vbmNlOwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L3JhbmQvcmFuZF9jcm5nX3Rlc3QuYy5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3Jh bmQvcmFuZF9jcm5nX3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRf Y3JuZ190ZXN0LmMuY3JuZy10ZXN0CTIwMTktMDktMTMgMTY6MDM6NTQuOTY5MjMyMDA0ICswMjAw Ci0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFuZF9jcm5nX3Rlc3QuYwkyMDE5LTA5 LTEzIDE2OjE1OjIwLjgzNDI3MTA2MyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL3JhbmQvcmFuZF9jcm5nX3Rlc3QuYy5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L3JhbmQvcmFuZF9jcm5nX3Rlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yYW5kL3Jh bmRfY3JuZ190ZXN0LmMuY3JuZy10ZXN0CTIwMjAtMDMtMTkgMTY6NDU6NTIuMjg2NjI3MjQxICsw MTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvcmFuZF9jcm5nX3Rlc3QuYwkyMDIw LTAzLTE5IDE2OjQ1OjUyLjI4NjYyNzI0MSArMDEwMAogQEAgLTAsMCArMSwxMTggQEAKICsvKgog KyAqIENvcHlyaWdodCAyMDE5IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0 cyBSZXNlcnZlZC4KQEAgLTcxLDkgKzUzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3JhbmQvcmFuZF9jcm5nX3Rlc3QuYy5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWQvY3IKICsK ICsjaW5jbHVkZSA8c3RyaW5nLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+Ci0rI2luY2x1 ZGUgImludGVybmFsL3JhbmRfaW50LmgiCisrI2luY2x1ZGUgImNyeXB0by9yYW5kLmgiCiArI2lu Y2x1ZGUgImludGVybmFsL3RocmVhZF9vbmNlLmgiCi0rI2luY2x1ZGUgInJhbmRfbGNsLmgiCisr I2luY2x1ZGUgInJhbmRfbG9jYWwuaCIKICsKICtzdGF0aWMgUkFORF9QT09MICpjcm5ndF9wb29s OwogK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNybmd0X3ByZXZbRVZQX01BWF9NRF9TSVpFXTsKQEAg LTE3Myw5ICsxNTUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9yYW5k X2NybmdfdGVzdC5jLmNybmctdGVzdCBvcGVuc3NsLTEuMS4xZC9jcgogK3sKICsgICAgT1BFTlNT TF9zZWN1cmVfY2xlYXJfZnJlZShvdXQsIG91dGxlbik7CiArfQotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaC5jcm5nLXRlc3Qgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3JhbmQvcmFuZF9sY2wuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRf bGNsLmguY3JuZy10ZXN0CTIwMTktMDktMTMgMTY6MDM6NTQuNjUzMjM3NTE0ICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaAkyMDE5LTA5LTEzIDE2OjAzOjU0 Ljk2OTIzMjAwNCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvcmFu ZF9sb2NhbC5oLmNybmctdGVzdCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9yYW5kX2xvY2Fs LmgKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9yYW5kX2xvY2FsLmguY3JuZy10ZXN0 CTIwMjAtMDMtMTkgMTY6NDU6NTEuOTMwNjMzNDI0ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL3JhbmQvcmFuZF9sb2NhbC5oCTIwMjAtMDMtMTkgMTY6NDY6MDMuNjAxNDMwNzI3ICsw MTAwCiBAQCAtMzMsNyArMzMsMTUgQEAKICAjIGRlZmluZSBNQVNURVJfUkVTRUVEX1RJTUVfSU5U RVJWQUwgICAgICAgICAgICAgKDYwKjYwKSAgIC8qIDEgaG91ciAqLwogICMgZGVmaW5lIFNMQVZF X1JFU0VFRF9USU1FX0lOVEVSVkFMICAgICAgICAgICAgICAoNyo2MCkgICAgLyogNyBtaW51dGVz ICovCkBAIC0yMjUsOSArMjA3LDI3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9y YW5kL3JhbmRfbGNsLmguY3JuZy10ZXN0IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yCiAraW50IHJh bmRfY3JuZ3Rfc2luZ2xlX2luaXQodm9pZCk7CiArCiAgI2VuZGlmCi1kaWZmIC11cCBvcGVuc3Ns LTEuMS4xZC90ZXN0L2RyYmd0ZXN0LmMuY3JuZy10ZXN0IG9wZW5zc2wtMS4xLjFkL3Rlc3QvZHJi Z3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjFkL3Rlc3QvZHJiZ3Rlc3QuYy5jcm5nLXRlc3QJMjAx OS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC90ZXN0 L2RyYmd0ZXN0LmMJMjAxOS0wOS0xMyAxNjowMzo1NC45NjkyMzIwMDQgKzAyMDAKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL3JhbmQuaC5jcm5nLXRlc3Qgb3BlbnNzbC0x LjEuMWUvaW5jbHVkZS9jcnlwdG8vcmFuZC5oCistLS0gb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9j cnlwdG8vcmFuZC5oLmNybmctdGVzdAkyMDIwLTAzLTE5IDE2OjQ1OjUyLjI1MDYyNzg2NiArMDEw MAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL3JhbmQuaAkyMDIwLTAzLTE5IDE2 OjQ1OjUyLjI4NTYyNzI1OCArMDEwMAorQEAgLTQ5LDYgKzQ5LDE0IEBAIHNpemVfdCByYW5kX2Ry YmdfZ2V0X2FkZGl0aW9uYWxfZGF0YShSQU4KKyAKKyB2b2lkIHJhbmRfZHJiZ19jbGVhbnVwX2Fk ZGl0aW9uYWxfZGF0YShSQU5EX1BPT0wgKnBvb2wsIHVuc2lnbmVkIGNoYXIgKm91dCk7CisgCisr LyogQ1JORyB0ZXN0IGVudHJvcHkgZmlsdGVyIGNhbGxiYWNrcy4gKi8KKytzaXplX3QgcmFuZF9j cm5ndF9nZXRfZW50cm9weShSQU5EX0RSQkcgKmRyYmcsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgY2hhciAqKnBvdXQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IGVudHJvcHksIHNpemVfdCBtaW5fbGVuLCBzaXplX3QgbWF4X2xlbiwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcHJlZGljdGlvbl9yZXNpc3RhbmNlKTsKKyt2 b2lkIHJhbmRfY3JuZ3RfY2xlYW51cF9lbnRyb3B5KFJBTkRfRFJCRyAqZHJiZywKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dCwgc2l6ZV90IG91dGxl bik7CisrCisgLyoKKyAgKiBSQU5EX1BPT0wgZnVuY3Rpb25zCisgICovCitkaWZmIC11cCBvcGVu c3NsLTEuMS4xZS90ZXN0L2RyYmd0ZXN0LmMuY3JuZy10ZXN0IG9wZW5zc2wtMS4xLjFlL3Rlc3Qv ZHJiZ3Rlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL3Rlc3QvZHJiZ3Rlc3QuYy5jcm5nLXRlc3QJ MjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS90 ZXN0L2RyYmd0ZXN0LmMJMjAyMC0wMy0xOSAxNjo0NjowMy42MDQ0MzA2NzUgKzAxMDAKIEBAIC0x NTAsNiArMTUwLDMxIEBAIHN0YXRpYyBzaXplX3Qga2F0X25vbmNlKFJBTkRfRFJCRyAqZHJiZywK ICAgICAgcmV0dXJuIHQtPm5vbmNlbGVuOwogIH0KCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMS4x LWZpcHMtZHJiZy1zZWxmdGVzdC5wYXRjaCBiL29wZW5zc2wtMS4xLjEtZmlwcy1kcmJnLXNlbGZ0 ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MmU3YzMKLS0t IC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMS4xLWZpcHMtZHJiZy1zZWxmdGVzdC5wYXRjaApA QCAtMCwwICsxLDU4NSBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlw c19wb3N0LmMuZHJiZy1zZWxmdGVzdCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX3Bv c3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmRyYmctc2Vs ZnRlc3QJMjAyMC0wMy0xOSAxNzowNzo1MS4wOTY2NzY1MzcgKzAxMDAKKysrKyBvcGVuc3NsLTEu MS4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYwkyMDIwLTAzLTE5IDE3OjA3OjUxLjIwOTY3NDU2 NSArMDEwMAorQEAgLTY3LDEyICs2NywxOCBAQAorIAorICMgaW5jbHVkZSA8b3BlbnNzbC9maXBz Lmg+CisgIyBpbmNsdWRlICJjcnlwdG8vZmlwcy5oIgorKyMgaW5jbHVkZSAiY3J5cHRvL3JhbmQu aCIKKyAjIGluY2x1ZGUgImZpcHNfbG9jbC5oIgorIAorIC8qIFJ1biBhbGwgc2VsZnRlc3RzICov CisgaW50IEZJUFNfc2VsZnRlc3Qodm9pZCkKKyB7CisgICAgIGludCBydiA9IDE7CisrICAgIGlm ICghcmFuZF9kcmJnX3NlbGZ0ZXN0KCkpIHsKKysgICAgICAgIEZJUFNlcnIoRklQU19GX0ZJUFNf U0VMRlRFU1QsIEZJUFNfUl9URVNUX0ZBSUxVUkUpOworKyAgICAgICAgRVJSX2FkZF9lcnJvcl9k YXRhKDIsICJUeXBlPSIsICJyYW5kX2RyYmdfc2VsZnRlc3QiKTsKKysgICAgICAgIHJ2ID0gMDsK KysgICAgfQorICAgICBpZiAoIUZJUFNfc2VsZnRlc3RfZHJiZygpKQorICAgICAgICAgcnYgPSAw OworICAgICBpZiAoIUZJUFNfc2VsZnRlc3Rfc2hhMSgpKQorZGlmZiAtdXAgb3BlbnNzbC0xLjEu MWUvY3J5cHRvL3JhbmQvYnVpbGQuaW5mby5kcmJnLXNlbGZ0ZXN0IG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9yYW5kL2J1aWxkLmluZm8KKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9idWls ZC5pbmZvLmRyYmctc2VsZnRlc3QJMjAyMC0wMy0xOSAxNzowNzo1MS4xNzk2NzUwODggKzAxMDAK KysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9idWlsZC5pbmZvCTIwMjAtMDMtMTkgMTc6 MDg6MTQuMDA1Mjc2NjEwICswMTAwCitAQCAtMSw0ICsxLDQgQEAKKyBMSUJTPS4uLy4uL2xpYmNy eXB0bworIFNPVVJDRVsuLi8uLi9saWJjcnlwdG9dPVwKKyAgICAgICAgIHJhbmRmaWxlLmMgcmFu ZF9saWIuYyByYW5kX2Vyci5jIHJhbmRfY3JuZ190ZXN0LmMgcmFuZF9lZ2QuYyBcCistICAgICAg ICByYW5kX3dpbi5jIHJhbmRfdW5peC5jIHJhbmRfdm1zLmMgZHJiZ19saWIuYyBkcmJnX2N0ci5j CisrICAgICAgICByYW5kX3dpbi5jIHJhbmRfdW5peC5jIHJhbmRfdm1zLmMgZHJiZ19saWIuYyBk cmJnX2N0ci5jIGRyYmdfc2VsZnRlc3QuYworZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L3JhbmQvZHJiZ19zZWxmdGVzdC5jLmRyYmctc2VsZnRlc3Qgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L3JhbmQvZHJiZ19zZWxmdGVzdC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvZHJi Z19zZWxmdGVzdC5jLmRyYmctc2VsZnRlc3QJMjAyMC0wMy0xOSAxNzowODoxNC4wMTEyNzY1MDUg KzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmFuZC9kcmJnX3NlbGZ0ZXN0LmMJMjAy MC0wMy0xOSAxNzowODoxNC4wMTEyNzY1MDUgKzAxMDAKK0BAIC0wLDAgKzEsNTM3IEBACisrLyoK KysgKiBDb3B5cmlnaHQgMjAxNy0yMDE5IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxs IFJpZ2h0cyBSZXNlcnZlZC4KKysgKgorKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBPcGVuU1NMIGxp Y2Vuc2UgKHRoZSAiTGljZW5zZSIpLiAgWW91IG1heSBub3QgdXNlCisrICogdGhpcyBmaWxlIGV4 Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgY2FuIG9idGFpbiBhIGNv cHkKKysgKiBpbiB0aGUgZmlsZSBMSUNFTlNFIGluIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIG9y IGF0CisrICogaHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL2xpY2Vuc2UuaHRtbAorKyAq LworKworKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2luY2x1 ZGUgImludGVybmFsL25lbGVtLmgiCisrI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CisrI2lu Y2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvcmFuZF9kcmJnLmg+Cisr I2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgorKyNpbmNsdWRlICJpbnRlcm5hbC90aHJlYWRf b25jZS5oIgorKyNpbmNsdWRlICJjcnlwdG8vcmFuZC5oIgorKworK3R5cGVkZWYgc3RydWN0IHRl c3RfY3R4X3N0IHsKKysgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZW50cm9weTsKKysgICAgc2l6 ZV90IGVudHJvcHlsZW47CisrICAgIGludCBlbnRyb3B5Y250OworKyAgICBjb25zdCB1bnNpZ25l ZCBjaGFyICpub25jZTsKKysgICAgc2l6ZV90IG5vbmNlbGVuOworKyAgICBpbnQgbm9uY2VjbnQ7 CisrfSBURVNUX0NUWDsKKysKKytzdGF0aWMgaW50IGFwcF9kYXRhX2luZGV4ID0gLTE7Cisrc3Rh dGljIENSWVBUT19PTkNFIGdldF9pbmRleF9vbmNlID0gQ1JZUFRPX09OQ0VfU1RBVElDX0lOSVQ7 CisrREVGSU5FX1JVTl9PTkNFX1NUQVRJQyhkcmJnX2FwcF9kYXRhX2luZGV4X2luaXQpCisrewor KyAgICBhcHBfZGF0YV9pbmRleCA9IFJBTkRfRFJCR19nZXRfZXhfbmV3X2luZGV4KDBMLCBOVUxM LCBOVUxMLCBOVUxMLCBOVUxMKTsKKysKKysgICAgcmV0dXJuIDE7CisrfQorKworK2VudW0gZHJi Z19rYXRfdHlwZSB7CisrICAgIE5PX1JFU0VFRCwKKysgICAgUFJfRkFMU0UsCisrICAgIFBSX1RS VUUKKyt9OworKworK2VudW0gZHJiZ19kZiB7CisrICAgIFVTRV9ERiwKKysgICAgTk9fREYsCisr ICAgIE5BCisrfTsKKysKKytzdHJ1Y3QgZHJiZ19rYXRfbm9fcmVzZWVkIHsKKysgICAgc2l6ZV90 IGNvdW50OworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbnRyb3B5aW47CisrICAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKm5vbmNlOworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwZXJzc3Ry OworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICphZGRpbjE7CisrICAgIGNvbnN0IHVuc2lnbmVk IGNoYXIgKmFkZGluMjsKKysgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcmV0Ynl0ZXM7CisrfTsK KysKKytzdHJ1Y3QgZHJiZ19rYXRfcHJfZmFsc2UgeworKyAgICBzaXplX3QgY291bnQ7CisrICAg IGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVudHJvcHlpbjsKKysgICAgY29uc3QgdW5zaWduZWQgY2hh ciAqbm9uY2U7CisrICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBlcnNzdHI7CisrICAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKmVudHJvcHlpbnJlc2VlZDsKKysgICAgY29uc3QgdW5zaWduZWQgY2hh ciAqYWRkaW5yZXNlZWQ7CisrICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFkZGluMTsKKysgICAg Y29uc3QgdW5zaWduZWQgY2hhciAqYWRkaW4yOworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpy ZXRieXRlczsKKyt9OworKworK3N0cnVjdCBkcmJnX2thdF9wcl90cnVlIHsKKysgICAgc2l6ZV90 IGNvdW50OworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbnRyb3B5aW47CisrICAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKm5vbmNlOworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwZXJzc3Ry OworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbnRyb3B5aW5wcjE7CisrICAgIGNvbnN0IHVu c2lnbmVkIGNoYXIgKmFkZGluMTsKKysgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZW50cm9weWlu cHIyOworKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICphZGRpbjI7CisrICAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKnJldGJ5dGVzOworK307CisrCisrc3RydWN0IGRyYmdfa2F0IHsKKysgICAgZW51 bSBkcmJnX2thdF90eXBlIHR5cGU7CisrICAgIGVudW0gZHJiZ19kZiBkZjsKKysgICAgaW50IG5p ZDsKKysKKysgICAgc2l6ZV90IGVudHJvcHlpbmxlbjsKKysgICAgc2l6ZV90IG5vbmNlbGVuOwor KyAgICBzaXplX3QgcGVyc3N0cmxlbjsKKysgICAgc2l6ZV90IGFkZGlubGVuOworKyAgICBzaXpl X3QgcmV0Ynl0ZXNsZW47CisrCisrICAgIGNvbnN0IHZvaWQgKnQ7CisrfTsKKysKKysvKgorKyAq IEV4Y2VycHQgZnJvbSB0ZXN0L2RyYmdfY2F2c19kYXRhLmMKKysgKiBEUkJHIHRlc3QgdmVjdG9y cyBmcm9tOgorKyAqIGh0dHBzOi8vY3NyYy5uaXN0Lmdvdi9wcm9qZWN0cy9jcnlwdG9ncmFwaGlj LWFsZ29yaXRobS12YWxpZGF0aW9uLXByb2dyYW0vCisrICovCisrCisrc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIga2F0MTMwOF9lbnRyb3B5aW5bXSA9IHsKKysgICAgMHg3YywgMHg1ZCwgMHg5 MCwgMHg3MCwgMHgzYiwgMHg4YSwgMHhjNywgMHgwZiwgMHgyMywgMHg3MywgMHgyNCwgMHg5YywK KysgICAgMHhhNywgMHgxNSwgMHg0MSwgMHg3MSwgMHg3YSwgMHgzMSwgMHhlYSwgMHgzMiwgMHhm YywgMHgyOCwgMHgwZCwgMHhkNywKKysgICAgMHg1YiwgMHgwOSwgMHgwMSwgMHg5OCwgMHgxYiwg MHhlMiwgMHhhNSwgMHg1MywgMHhkOSwgMHgwNSwgMHgzMiwgMHg5NywKKysgICAgMHhlYywgMHhi ZSwgMHg4NiwgMHhmZCwgMHgxYywgMHgxYywgMHg3MSwgMHg0YywgMHg1MiwgMHgyOSwgMHg5ZSwg MHg1MiwKKyt9OworK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdDEzMDhfbm9uY2VbXSA9 IHswfTsKKytzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXQxMzA4X3BlcnNzdHJbXSA9IHsK KysgICAgMHhkYywgMHgwNywgMHgyZiwgMHg2OCwgMHhmYSwgMHg3NywgMHgwMywgMHgyMywgMHg0 MiwgMHhiMCwgMHhmNSwgMHhhMiwKKysgICAgMHhkOSwgMHhhZCwgMHhhMSwgMHhkMCwgMHhhZCwg MHhhMiwgMHgxNCwgMHhiNCwgMHhkMCwgMHg4ZSwgMHhmYiwgMHgzOSwKKysgICAgMHhkZCwgMHhj MiwgMHhhYywgMHhmYiwgMHg5OCwgMHhkZiwgMHg3ZiwgMHhjZSwgMHg0YywgMHg3NSwgMHg1Niwg MHg0NSwKKysgICAgMHhjZCwgMHg4NiwgMHg5MywgMHg3NCwgMHg5MCwgMHg2ZSwgMHhmNiwgMHg5 ZSwgMHg4NSwgMHg3ZSwgMHhmYiwgMHhjMywKKyt9OworK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBj aGFyIGthdDEzMDhfYWRkaW4wW10gPSB7CisrICAgIDB4NTIsIDB4MjUsIDB4YzQsIDB4MmYsIDB4 MDMsIDB4Y2UsIDB4MjksIDB4NzEsIDB4YzUsIDB4MGIsIDB4YzMsIDB4NGUsCisrICAgIDB4YWQs IDB4OGQsIDB4NmYsIDB4MTcsIDB4ODIsIDB4ZTEsIDB4ZjMsIDB4ZmQsIDB4ZmQsIDB4OWIsIDB4 OTQsIDB4OWEsCisrICAgIDB4MWQsIDB4YWMsIDB4ZDAsIDB4ZDQsIDB4M2YsIDB4MmIsIDB4ZTMs IDB4YWIsIDB4N2MsIDB4M2QsIDB4M2UsIDB4NWEsCisrICAgIDB4NjgsIDB4YmIsIDB4YTQsIDB4 NzQsIDB4NjgsIDB4MWEsIDB4YzYsIDB4MjcsIDB4ZmYsIDB4ZTAsIDB4YzAsIDB4NmMsCisrfTsK KytzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXQxMzA4X2FkZGluMVtdID0geworKyAgICAw eGRjLCAweDkxLCAweGQ3LCAweGI3LCAweGI5LCAweDk0LCAweDc5LCAweDBmLCAweDA2LCAweGM0 LCAweDcwLCAweDE5LAorKyAgICAweDMzLCAweDI1LCAweDdjLCAweDk2LCAweDAxLCAweGEwLCAw eDYyLCAweGIwLCAweDUwLCAweGU2LCAweGMwLCAweDNhLAorKyAgICAweDU2LCAweDhmLCAweGM1 LCAweDUwLCAweDQ4LCAweGM2LCAweGY0LCAweDQ5LCAweGU1LCAweDcwLCAweDE2LCAweDJlLAor KyAgICAweGFlLCAweGYyLCAweDk5LCAweGI0LCAweDJkLCAweDcwLCAweDE4LCAweDE2LCAweGNk LCAweGUwLCAweDI0LCAweGU0LAorK307Cisrc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0 MTMwOF9yZXRiaXRzW10gPSB7CisrICAgIDB4ZGUsIDB4ZjgsIDB4OTEsIDB4MWIsIDB4ZjEsIDB4 ZTEsIDB4YTksIDB4OTcsIDB4ZDgsIDB4NjEsIDB4ODQsIDB4ZTIsCisrICAgIDB4ZGIsIDB4ODMs IDB4M2UsIDB4NjAsIDB4NDUsIDB4Y2QsIDB4YzgsIDB4NjYsIDB4OTMsIDB4MjgsIDB4YzgsIDB4 OTIsCisrICAgIDB4YmMsIDB4MjUsIDB4YWUsIDB4ZTgsIDB4YjAsIDB4ZWQsIDB4ZWQsIDB4MTYs IDB4M2QsIDB4YTUsIDB4ZjksIDB4MGYsCisrICAgIDB4YjMsIDB4NzIsIDB4MDgsIDB4ODQsIDB4 YWMsIDB4M2MsIDB4M2IsIDB4YWEsIDB4NWYsIDB4ZjksIDB4N2QsIDB4NjMsCisrICAgIDB4M2Us IDB4ZGUsIDB4NTksIDB4MzcsIDB4MGUsIDB4NDAsIDB4MTIsIDB4MmIsIDB4YmMsIDB4NmMsIDB4 OTYsIDB4NTMsCisrICAgIDB4MjYsIDB4MzIsIDB4ZDAsIDB4YjgsCisrfTsKKytzdGF0aWMgY29u c3Qgc3RydWN0IGRyYmdfa2F0X25vX3Jlc2VlZCBrYXQxMzA4X3QgPSB7CisrICAgIDIsIGthdDEz MDhfZW50cm9weWluLCBrYXQxMzA4X25vbmNlLCBrYXQxMzA4X3BlcnNzdHIsCisrICAgIGthdDEz MDhfYWRkaW4wLCBrYXQxMzA4X2FkZGluMSwga2F0MTMwOF9yZXRiaXRzCisrfTsKKytzdGF0aWMg Y29uc3Qgc3RydWN0IGRyYmdfa2F0IGthdDEzMDggPSB7CisrICAgIE5PX1JFU0VFRCwgTk9fREYs IE5JRF9hZXNfMjU2X2N0ciwgNDgsIDAsIDQ4LCA0OCwgNjQsICZrYXQxMzA4X3QKKyt9OworKwor K3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdDE0NjVfZW50cm9weWluW10gPSB7CisrICAg IDB4YzksIDB4OTYsIDB4M2EsIDB4MTUsIDB4NTEsIDB4NzYsIDB4NGYsIDB4ZTAsIDB4NDUsIDB4 ODIsIDB4OGEsIDB4NjQsCisrICAgIDB4ODcsIDB4YmUsIDB4YWEsIDB4YzAsCisrfTsKKytzdGF0 aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXQxNDY1X25vbmNlW10gPSB7CisrICAgIDB4MDgsIDB4 Y2QsIDB4NjksIDB4MzksIDB4ZjgsIDB4NTgsIDB4OWEsIDB4ODUsCisrfTsKKytzdGF0aWMgY29u c3QgdW5zaWduZWQgY2hhciBrYXQxNDY1X3BlcnNzdHJbXSA9IHswfTsKKytzdGF0aWMgY29uc3Qg dW5zaWduZWQgY2hhciBrYXQxNDY1X2VudHJvcHlpbnJlc2VlZFtdID0geworKyAgICAweDE2LCAw eGNjLCAweDM1LCAweDE1LCAweGIxLCAweDE3LCAweGY1LCAweDMzLCAweDgwLCAweDlhLCAweDgw LCAweGM1LAorKyAgICAweDFmLCAweDRiLCAweDdiLCAweDUxLAorK307Cisrc3RhdGljIGNvbnN0 IHVuc2lnbmVkIGNoYXIga2F0MTQ2NV9hZGRpbnJlc2VlZFtdID0geworKyAgICAweGY1LCAweDNk LCAweGYxLCAweDJlLCAweGRiLCAweDI4LCAweDFjLCAweDAwLCAweDdiLCAweGNiLCAweGI2LCAw eDEyLAorKyAgICAweDYxLCAweDlmLCAweDI2LCAweDVmLAorK307Cisrc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIga2F0MTQ2NV9hZGRpbjBbXSA9IHsKKysgICAgMHhlMiwgMHg2NywgMHgwNiwg MHg2MiwgMHgwOSwgMHhhNywgMHhjZiwgMHhkNiwgMHg4NCwgMHg4YywgMHgyMCwgMHhmNiwKKysg ICAgMHgxMCwgMHg1YSwgMHg3MywgMHg5YywKKyt9OworK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBj aGFyIGthdDE0NjVfYWRkaW4xW10gPSB7CisrICAgIDB4MjYsIDB4ZmEsIDB4NTAsIDB4ZTEsIDB4 YjMsIDB4Y2IsIDB4NjUsIDB4ZWQsIDB4YmMsIDB4NmQsIDB4ZGEsIDB4MTgsCisrICAgIDB4NDcs IDB4OTksIDB4MWYsIDB4ZWIsCisrfTsKKytzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXQx NDY1X3JldGJpdHNbXSA9IHsKKysgICAgMHhmOSwgMHg0NywgMHhjNiwgMHhiMCwgMHg1OCwgMHhh OCwgMHg2NiwgMHg4YSwgMHhmNSwgMHgyYiwgMHgyYSwgMHg2ZCwKKysgICAgMHg0ZSwgMHgyNCwg MHg2ZiwgMHg2NSwgMHhiZiwgMHg1MSwgMHgyMiwgMHhiZiwgMHhlOCwgMHg4ZCwgMHg2YywgMHhl YiwKKysgICAgMHhmOSwgMHg2OCwgMHg3ZiwgMHhlZCwgMHgzYiwgMHhkZCwgMHg2YiwgMHhkNSwg MHgyOCwgMHg0NywgMHg1NiwgMHg1MiwKKysgICAgMHhkYSwgMHg1MCwgMHhmMCwgMHg5MCwgMHg3 MywgMHg5NSwgMHgwNiwgMHg1OCwgMHhhZiwgMHgwOCwgMHg5OCwgMHg2ZSwKKysgICAgMHgyNCwg MHgxOCwgMHhmZCwgMHgyZiwgMHg0OCwgMHg3MiwgMHg1NywgMHhkNiwgMHg1OSwgMHhhYiwgMHhl OSwgMHg0MSwKKysgICAgMHg1OCwgMHhkYiwgMHgyNywgMHhiYSwKKyt9OworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZHJiZ19rYXRfcHJfZmFsc2Uga2F0MTQ2NV90ID0geworKyAgICA5LCBrYXQxNDY1 X2VudHJvcHlpbiwga2F0MTQ2NV9ub25jZSwga2F0MTQ2NV9wZXJzc3RyLAorKyAgICBrYXQxNDY1 X2VudHJvcHlpbnJlc2VlZCwga2F0MTQ2NV9hZGRpbnJlc2VlZCwga2F0MTQ2NV9hZGRpbjAsCisr ICAgIGthdDE0NjVfYWRkaW4xLCBrYXQxNDY1X3JldGJpdHMKKyt9OworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHJiZ19rYXQga2F0MTQ2NSA9IHsKKysgICAgUFJfRkFMU0UsIFVTRV9ERiwgTklEX2Fl c18xMjhfY3RyLCAxNiwgOCwgMCwgMTYsIDY0LCAma2F0MTQ2NV90CisrfTsKKysKKytzdGF0aWMg Y29uc3QgdW5zaWduZWQgY2hhciBrYXQzMTQ2X2VudHJvcHlpbltdID0geworKyAgICAweGQ3LCAw eDA4LCAweDQyLCAweDgyLCAweGMyLCAweGQyLCAweGQxLCAweGRlLCAweDAxLCAweGI0LCAweDM2 LCAweGIzLAorKyAgICAweDdmLCAweGJkLCAweGQzLCAweGRkLCAweGIzLCAweGM0LCAweDMxLCAw eDRmLCAweDhmLCAweGE3LCAweDEwLCAweGY0LAorK307Cisrc3RhdGljIGNvbnN0IHVuc2lnbmVk IGNoYXIga2F0MzE0Nl9ub25jZVtdID0geworKyAgICAweDdiLCAweDllLCAweGNkLCAweDQ5LCAw eDRmLCAweDQ2LCAweGEwLCAweDA4LCAweDMyLCAweGZmLCAweDJlLCAweGMzLAorKyAgICAweDUw LCAweDg2LCAweGNhLCAweGNhLAorK307Cisrc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0 MzE0Nl9wZXJzc3RyW10gPSB7MH07Cisrc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0MzE0 Nl9lbnRyb3B5aW5wcjFbXSA9IHsKKysgICAgMHg2OCwgMHhkMCwgMHg3YiwgMHhhNCwgMHhlNywg MHgyMiwgMHgxOSwgMHhlNiwgMHhiNiwgMHg0NiwgMHg2YSwgMHhkYSwKKysgICAgMHg4ZSwgMHg2 NywgMHhlYSwgMHg2MywgMHgzZiwgMHhhZiwgMHgyZiwgMHg2YywgMHg5ZCwgMHg1ZSwgMHg0OCwg MHgxNSwKKyt9OworK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdDMxNDZfYWRkaW5wcjFb XSA9IHsKKysgICAgMHg3MCwgMHgwZiwgMHg1NCwgMHhmNCwgMHg1MywgMHhkZSwgMHhjYSwgMHg2 MSwgMHg1YywgMHg0OSwgMHg1MSwgMHhkMSwKKysgICAgMHg0MSwgMHhjNCwgMHhmMSwgMHgyZiwg MHg2NSwgMHhmYiwgMHg3ZSwgMHhiYywgMHg5YiwgMHgxNCwgMHhiYSwgMHg5MCwKKysgICAgMHgw NSwgMHgzMywgMHg3ZSwgMHg2NCwgMHhiNywgMHgyYiwgMHhhZiwgMHg5OSwKKyt9OworK3N0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdDMxNDZfZW50cm9weWlucHIyW10gPSB7CisrICAgIDB4 ZWIsIDB4NzcsIDB4YjAsIDB4ZTksIDB4MmQsIDB4MzEsIDB4YzgsIDB4NjYsIDB4YzUsIDB4YzQs IDB4YTcsIDB4ZjcsCisrICAgIDB4NmMsIDB4YjIsIDB4NzQsIDB4MzYsIDB4NGIsIDB4MjUsIDB4 NzgsIDB4MDQsIDB4ZDgsIDB4ZDcsIDB4ZDIsIDB4MzQsCisrfTsKKytzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBrYXQzMTQ2X2FkZGlucHIyW10gPSB7CisrICAgIDB4MDUsIDB4Y2QsIDB4MmEs IDB4OTcsIDB4NWEsIDB4NWQsIDB4ZmIsIDB4OTgsIDB4YzEsIDB4ZjEsIDB4MDAsIDB4MGMsCisr ICAgIDB4ZWQsIDB4ZTYsIDB4MmEsIDB4YmEsIDB4ZjAsIDB4ODksIDB4MWYsIDB4NWEsIDB4NGYs IDB4ZDcsIDB4NDgsIDB4YjMsCisrICAgIDB4MjQsIDB4YzAsIDB4OGEsIDB4M2QsIDB4NjAsIDB4 NTksIDB4NWQsIDB4YjYsCisrfTsKKytzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXQzMTQ2 X3JldGJpdHNbXSA9IHsKKysgICAgMHgyOSwgMHg5NCwgMHhhNCwgMHhhOCwgMHgxNywgMHgzZSwg MHg2MiwgMHgyZiwgMHg5NCwgMHhkZCwgMHg0MCwgMHgxZiwKKysgICAgMHhlMywgMHg3ZSwgMHg3 NywgMHhkNCwgMHgzOCwgMHhiYywgMHgwZSwgMHg0OSwgMHg0NiwgMHhmNiwgMHgwZSwgMHgyOCwK KysgICAgMHg5MSwgMHhjNiwgMHg5YywgMHhjNCwgMHhhNiwgMHhhMSwgMHhmOCwgMHg5YSwgMHg2 NCwgMHg1ZSwgMHg5OSwgMHg3NiwKKysgICAgMHhkMCwgMHgyZCwgMHhlZSwgMHhkZSwgMHhlMSwg MHgyYywgMHg5MywgMHgyOSwgMHg0YiwgMHgxMiwgMHhjZiwgMHg4NywKKysgICAgMHgwMywgMHg5 OCwgMHhiOSwgMHg3NCwgMHg0MSwgMHhkYiwgMHgzYSwgMHg0OSwgMHg5ZiwgMHg5MiwgMHhkMCwg MHg0NSwKKysgICAgMHhkNCwgMHgzMCwgMHg3MywgMHhiYiwKKyt9OworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHJiZ19rYXRfcHJfdHJ1ZSBrYXQzMTQ2X3QgPSB7CisrICAgIDEwLCBrYXQzMTQ2X2Vu dHJvcHlpbiwga2F0MzE0Nl9ub25jZSwga2F0MzE0Nl9wZXJzc3RyLAorKyAgICBrYXQzMTQ2X2Vu dHJvcHlpbnByMSwga2F0MzE0Nl9hZGRpbnByMSwga2F0MzE0Nl9lbnRyb3B5aW5wcjIsCisrICAg IGthdDMxNDZfYWRkaW5wcjIsIGthdDMxNDZfcmV0Yml0cworK307Cisrc3RhdGljIGNvbnN0IHN0 cnVjdCBkcmJnX2thdCBrYXQzMTQ2ID0geworKyAgICBQUl9UUlVFLCBVU0VfREYsIE5JRF9hZXNf MTkyX2N0ciwgMjQsIDE2LCAwLCAzMiwgNjQsICZrYXQzMTQ2X3QKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZHJiZ19rYXQgKmRyYmdfdGVzdFtdID0geyAma2F0MTMwOCwgJmthdDE0NjUs ICZrYXQzMTQ2IH07CisrCisrc3RhdGljIGNvbnN0IHNpemVfdCBkcmJnX3Rlc3RfbmVsZW0gPSBP U1NMX05FTEVNKGRyYmdfdGVzdCk7CisrCisrc3RhdGljIHNpemVfdCBrYXRfZW50cm9weShSQU5E X0RSQkcgKmRyYmcsIHVuc2lnbmVkIGNoYXIgKipwb3V0LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IGVudHJvcHksIHNpemVfdCBtaW5fbGVuLCBzaXplX3QgbWF4X2xlbiwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBwcmVkaWN0aW9uX3Jlc2lzdGFuY2UpCisreworKyAg ICBURVNUX0NUWCAqdCA9IChURVNUX0NUWCAqKVJBTkRfRFJCR19nZXRfZXhfZGF0YShkcmJnLCBh cHBfZGF0YV9pbmRleCk7CisrCisrICAgIHQtPmVudHJvcHljbnQrKzsKKysgICAgKnBvdXQgPSAo dW5zaWduZWQgY2hhciAqKXQtPmVudHJvcHk7CisrICAgIHJldHVybiB0LT5lbnRyb3B5bGVuOwor K30KKysKKytzdGF0aWMgc2l6ZV90IGthdF9ub25jZShSQU5EX0RSQkcgKmRyYmcsIHVuc2lnbmVk IGNoYXIgKipwb3V0LAorKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBlbnRyb3B5LCBzaXpl X3QgbWluX2xlbiwgc2l6ZV90IG1heF9sZW4pCisreworKyAgICBURVNUX0NUWCAqdCA9IChURVNU X0NUWCAqKVJBTkRfRFJCR19nZXRfZXhfZGF0YShkcmJnLCBhcHBfZGF0YV9pbmRleCk7CisrCisr ICAgIHQtPm5vbmNlY250Kys7CisrICAgICpwb3V0ID0gKHVuc2lnbmVkIGNoYXIgKil0LT5ub25j ZTsKKysgICAgcmV0dXJuIHQtPm5vbmNlbGVuOworK30KKysKKysvKgorKyAqIERvIGEgc2luZ2xl IE5PX1JFU0VFRCBLQVQ6CisrICoKKysgKiBJbnN0YW50aWF0ZQorKyAqIEdlbmVyYXRlIFJhbmRv bSBCaXRzIChwcj1mYWxzZSkKKysgKiBHZW5lcmF0ZSBSYW5kb20gQml0cyAocHI9ZmFsc2UpCisr ICogVW5pbnN0YW50aWF0ZQorKyAqCisrICogUmV0dXJuIDAgb24gZmFpbHVyZS4KKysgKi8KKytz dGF0aWMgaW50IHNpbmdsZV9rYXRfbm9fcmVzZWVkKGNvbnN0IHN0cnVjdCBkcmJnX2thdCAqdGQp CisreworKyAgICBzdHJ1Y3QgZHJiZ19rYXRfbm9fcmVzZWVkICpkYXRhID0gKHN0cnVjdCBkcmJn X2thdF9ub19yZXNlZWQgKil0ZC0+dDsKKysgICAgUkFORF9EUkJHICpkcmJnID0gTlVMTDsKKysg ICAgdW5zaWduZWQgY2hhciAqYnVmZiA9IE5VTEw7CisrICAgIHVuc2lnbmVkIGludCBmbGFncyA9 IDA7CisrICAgIGludCBmYWlsdXJlcyA9IDA7CisrICAgIFRFU1RfQ1RYIHQ7CisrCisrICAgIGlm ICh0ZC0+ZGYgIT0gVVNFX0RGKQorKyAgICAgICAgZmxhZ3MgfD0gUkFORF9EUkJHX0ZMQUdfQ1RS X05PX0RGOworKworKyAgICBpZiAoKGRyYmcgPSBSQU5EX0RSQkdfbmV3KHRkLT5uaWQsIGZsYWdz LCBOVUxMKSkgPT0gTlVMTCkKKysgICAgICAgIHJldHVybiAwOworKworKyAgICBpZiAoIVJBTkRf RFJCR19zZXRfY2FsbGJhY2tzKGRyYmcsIGthdF9lbnRyb3B5LCBOVUxMLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGthdF9ub25jZSwgTlVMTCkpIHsKKysgICAgICAgIGZhaWx1 cmVzKys7CisrICAgICAgICBnb3RvIGVycjsKKysgICAgfQorKyAgICBtZW1zZXQoJnQsIDAsIHNp emVvZih0KSk7CisrICAgIHQuZW50cm9weSA9IGRhdGEtPmVudHJvcHlpbjsKKysgICAgdC5lbnRy b3B5bGVuID0gdGQtPmVudHJvcHlpbmxlbjsKKysgICAgdC5ub25jZSA9IGRhdGEtPm5vbmNlOwor KyAgICB0Lm5vbmNlbGVuID0gdGQtPm5vbmNlbGVuOworKyAgICBSQU5EX0RSQkdfc2V0X2V4X2Rh dGEoZHJiZywgYXBwX2RhdGFfaW5kZXgsICZ0KTsKKysKKysgICAgYnVmZiA9IE9QRU5TU0xfbWFs bG9jKHRkLT5yZXRieXRlc2xlbik7CisrICAgIGlmIChidWZmID09IE5VTEwpIHsKKysgICAgICAg IGZhaWx1cmVzKys7CisrICAgICAgICBnb3RvIGVycjsKKysgICAgfQorKworKyAgICBpZiAoIVJB TkRfRFJCR19pbnN0YW50aWF0ZShkcmJnLCBkYXRhLT5wZXJzc3RyLCB0ZC0+cGVyc3N0cmxlbikK KysgICAgICAgIHx8ICFSQU5EX0RSQkdfZ2VuZXJhdGUoZHJiZywgYnVmZiwgdGQtPnJldGJ5dGVz bGVuLCAwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5hZGRpbjEsIHRk LT5hZGRpbmxlbikKKysgICAgICAgIHx8ICFSQU5EX0RSQkdfZ2VuZXJhdGUoZHJiZywgYnVmZiwg dGQtPnJldGJ5dGVzbGVuLCAwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh LT5hZGRpbjIsIHRkLT5hZGRpbmxlbikKKysgICAgICAgIHx8IG1lbWNtcChkYXRhLT5yZXRieXRl cywgYnVmZiwKKysgICAgICAgICAgICAgICAgICB0ZC0+cmV0Ynl0ZXNsZW4pICE9IDApCisrICAg ICAgICBmYWlsdXJlcysrOworKworK2VycjoKKysgICAgT1BFTlNTTF9mcmVlKGJ1ZmYpOworKyAg ICBSQU5EX0RSQkdfdW5pbnN0YW50aWF0ZShkcmJnKTsKKysgICAgUkFORF9EUkJHX2ZyZWUoZHJi Zyk7CisrICAgIHJldHVybiBmYWlsdXJlcyA9PSAwOworK30KKysKKysvKi0KKysgKiBEbyBhIHNp bmdsZSBQUl9GQUxTRSBLQVQ6CisrICoKKysgKiBJbnN0YW50aWF0ZQorKyAqIFJlc2VlZAorKyAq IEdlbmVyYXRlIFJhbmRvbSBCaXRzIChwcj1mYWxzZSkKKysgKiBHZW5lcmF0ZSBSYW5kb20gQml0 cyAocHI9ZmFsc2UpCisrICogVW5pbnN0YW50aWF0ZQorKyAqCisrICogUmV0dXJuIDAgb24gZmFp bHVyZS4KKysgKi8KKytzdGF0aWMgaW50IHNpbmdsZV9rYXRfcHJfZmFsc2UoY29uc3Qgc3RydWN0 IGRyYmdfa2F0ICp0ZCkKKyt7CisrICAgIHN0cnVjdCBkcmJnX2thdF9wcl9mYWxzZSAqZGF0YSA9 IChzdHJ1Y3QgZHJiZ19rYXRfcHJfZmFsc2UgKil0ZC0+dDsKKysgICAgUkFORF9EUkJHICpkcmJn ID0gTlVMTDsKKysgICAgdW5zaWduZWQgY2hhciAqYnVmZiA9IE5VTEw7CisrICAgIHVuc2lnbmVk IGludCBmbGFncyA9IDA7CisrICAgIGludCBmYWlsdXJlcyA9IDA7CisrICAgIFRFU1RfQ1RYIHQ7 CisrCisrICAgIGlmICh0ZC0+ZGYgIT0gVVNFX0RGKQorKyAgICAgICAgZmxhZ3MgfD0gUkFORF9E UkJHX0ZMQUdfQ1RSX05PX0RGOworKworKyAgICBpZiAoKGRyYmcgPSBSQU5EX0RSQkdfbmV3KHRk LT5uaWQsIGZsYWdzLCBOVUxMKSkgPT0gTlVMTCkKKysgICAgICAgIHJldHVybiAwOworKworKyAg ICBpZiAoIVJBTkRfRFJCR19zZXRfY2FsbGJhY2tzKGRyYmcsIGthdF9lbnRyb3B5LCBOVUxMLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthdF9ub25jZSwgTlVMTCkpIHsKKysg ICAgICAgIGZhaWx1cmVzKys7CisrICAgICAgICBnb3RvIGVycjsKKysgICAgfQorKyAgICBtZW1z ZXQoJnQsIDAsIHNpemVvZih0KSk7CisrICAgIHQuZW50cm9weSA9IGRhdGEtPmVudHJvcHlpbjsK KysgICAgdC5lbnRyb3B5bGVuID0gdGQtPmVudHJvcHlpbmxlbjsKKysgICAgdC5ub25jZSA9IGRh dGEtPm5vbmNlOworKyAgICB0Lm5vbmNlbGVuID0gdGQtPm5vbmNlbGVuOworKyAgICBSQU5EX0RS Qkdfc2V0X2V4X2RhdGEoZHJiZywgYXBwX2RhdGFfaW5kZXgsICZ0KTsKKysKKysgICAgYnVmZiA9 IE9QRU5TU0xfbWFsbG9jKHRkLT5yZXRieXRlc2xlbik7CisrICAgIGlmIChidWZmID09IE5VTEwp IHsKKysgICAgICAgIGZhaWx1cmVzKys7CisrICAgICAgICBnb3RvIGVycjsKKysgICAgfQorKwor KyAgICBpZiAoIVJBTkRfRFJCR19pbnN0YW50aWF0ZShkcmJnLCBkYXRhLT5wZXJzc3RyLCB0ZC0+ cGVyc3N0cmxlbikpCisrICAgICAgICBmYWlsdXJlcysrOworKworKyAgICB0LmVudHJvcHkgPSBk YXRhLT5lbnRyb3B5aW5yZXNlZWQ7CisrICAgIHQuZW50cm9weWxlbiA9IHRkLT5lbnRyb3B5aW5s ZW47CisrCisrICAgIGlmICghUkFORF9EUkJHX3Jlc2VlZChkcmJnLCBkYXRhLT5hZGRpbnJlc2Vl ZCwgdGQtPmFkZGlubGVuLCAwKQorKyAgICAgICAgfHwgIVJBTkRfRFJCR19nZW5lcmF0ZShkcmJn LCBidWZmLCB0ZC0+cmV0Ynl0ZXNsZW4sIDAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGEtPmFkZGluMSwgdGQtPmFkZGlubGVuKQorKyAgICAgICAgfHwgIVJBTkRfRFJCR19n ZW5lcmF0ZShkcmJnLCBidWZmLCB0ZC0+cmV0Ynl0ZXNsZW4sIDAsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGEtPmFkZGluMiwgdGQtPmFkZGlubGVuKQorKyAgICAgICAgfHwg bWVtY21wKGRhdGEtPnJldGJ5dGVzLCBidWZmLAorKyAgICAgICAgICAgICAgICAgIHRkLT5yZXRi eXRlc2xlbikgIT0gMCkKKysgICAgICAgIGZhaWx1cmVzKys7CisrCisrZXJyOgorKyAgICBPUEVO U1NMX2ZyZWUoYnVmZik7CisrICAgIFJBTkRfRFJCR191bmluc3RhbnRpYXRlKGRyYmcpOworKyAg ICBSQU5EX0RSQkdfZnJlZShkcmJnKTsKKysgICAgcmV0dXJuIGZhaWx1cmVzID09IDA7CisrfQor KworKy8qLQorKyAqIERvIGEgc2luZ2xlIFBSX1RSVUUgS0FUOgorKyAqCisrICogSW5zdGFudGlh dGUKKysgKiBHZW5lcmF0ZSBSYW5kb20gQml0cyAocHI9dHJ1ZSkKKysgKiBHZW5lcmF0ZSBSYW5k b20gQml0cyAocHI9dHJ1ZSkKKysgKiBVbmluc3RhbnRpYXRlCisrICoKKysgKiBSZXR1cm4gMCBv biBmYWlsdXJlLgorKyAqLworK3N0YXRpYyBpbnQgc2luZ2xlX2thdF9wcl90cnVlKGNvbnN0IHN0 cnVjdCBkcmJnX2thdCAqdGQpCisreworKyAgICBzdHJ1Y3QgZHJiZ19rYXRfcHJfdHJ1ZSAqZGF0 YSA9IChzdHJ1Y3QgZHJiZ19rYXRfcHJfdHJ1ZSAqKXRkLT50OworKyAgICBSQU5EX0RSQkcgKmRy YmcgPSBOVUxMOworKyAgICB1bnNpZ25lZCBjaGFyICpidWZmID0gTlVMTDsKKysgICAgdW5zaWdu ZWQgaW50IGZsYWdzID0gMDsKKysgICAgaW50IGZhaWx1cmVzID0gMDsKKysgICAgVEVTVF9DVFgg dDsKKysKKysgICAgaWYgKHRkLT5kZiAhPSBVU0VfREYpCisrICAgICAgICBmbGFncyB8PSBSQU5E X0RSQkdfRkxBR19DVFJfTk9fREY7CisrCisrICAgIGlmICgoZHJiZyA9IFJBTkRfRFJCR19uZXco dGQtPm5pZCwgZmxhZ3MsIE5VTEwpKSA9PSBOVUxMKQorKyAgICAgICAgcmV0dXJuIDA7CisrCisr ICAgIGlmICghUkFORF9EUkJHX3NldF9jYWxsYmFja3MoZHJiZywga2F0X2VudHJvcHksIE5VTEws CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2F0X25vbmNlLCBOVUxMKSkgewor KyAgICAgICAgZmFpbHVyZXMrKzsKKysgICAgICAgIGdvdG8gZXJyOworKyAgICB9CisrICAgIG1l bXNldCgmdCwgMCwgc2l6ZW9mKHQpKTsKKysgICAgdC5ub25jZSA9IGRhdGEtPm5vbmNlOworKyAg ICB0Lm5vbmNlbGVuID0gdGQtPm5vbmNlbGVuOworKyAgICB0LmVudHJvcHkgPSBkYXRhLT5lbnRy b3B5aW47CisrICAgIHQuZW50cm9weWxlbiA9IHRkLT5lbnRyb3B5aW5sZW47CisrICAgIFJBTkRf RFJCR19zZXRfZXhfZGF0YShkcmJnLCBhcHBfZGF0YV9pbmRleCwgJnQpOworKworKyAgICBidWZm ID0gT1BFTlNTTF9tYWxsb2ModGQtPnJldGJ5dGVzbGVuKTsKKysgICAgaWYgKGJ1ZmYgPT0gTlVM TCkgeworKyAgICAgICAgZmFpbHVyZXMrKzsKKysgICAgICAgIGdvdG8gZXJyOworKyAgICB9Cisr CisrICAgIGlmICghUkFORF9EUkJHX2luc3RhbnRpYXRlKGRyYmcsIGRhdGEtPnBlcnNzdHIsIHRk LT5wZXJzc3RybGVuKSkKKysgICAgICAgIGZhaWx1cmVzKys7CisrCisrICAgIHQuZW50cm9weSA9 IGRhdGEtPmVudHJvcHlpbnByMTsKKysgICAgdC5lbnRyb3B5bGVuID0gdGQtPmVudHJvcHlpbmxl bjsKKysKKysgICAgaWYgKCFSQU5EX0RSQkdfZ2VuZXJhdGUoZHJiZywgYnVmZiwgdGQtPnJldGJ5 dGVzbGVuLCAxLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5hZGRpbjEsIHRk LT5hZGRpbmxlbikpCisrICAgICAgICBmYWlsdXJlcysrOworKworKyAgICB0LmVudHJvcHkgPSBk YXRhLT5lbnRyb3B5aW5wcjI7CisrICAgIHQuZW50cm9weWxlbiA9IHRkLT5lbnRyb3B5aW5sZW47 CisrCisrICAgIGlmICghUkFORF9EUkJHX2dlbmVyYXRlKGRyYmcsIGJ1ZmYsIHRkLT5yZXRieXRl c2xlbiwgMSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+YWRkaW4yLCB0ZC0+ YWRkaW5sZW4pCisrICAgICAgICB8fCBtZW1jbXAoZGF0YS0+cmV0Ynl0ZXMsIGJ1ZmYsCisrICAg ICAgICAgICAgICAgICAgdGQtPnJldGJ5dGVzbGVuKSAhPSAwKQorKyAgICAgICAgZmFpbHVyZXMr KzsKKysKKytlcnI6CisrICAgIE9QRU5TU0xfZnJlZShidWZmKTsKKysgICAgUkFORF9EUkJHX3Vu aW5zdGFudGlhdGUoZHJiZyk7CisrICAgIFJBTkRfRFJCR19mcmVlKGRyYmcpOworKyAgICByZXR1 cm4gZmFpbHVyZXMgPT0gMDsKKyt9CisrCisrc3RhdGljIGludCB0ZXN0X2thdHMoaW50IGkpCisr eworKyAgICBjb25zdCBzdHJ1Y3QgZHJiZ19rYXQgKnRkID0gZHJiZ190ZXN0W2ldOworKyAgICBp bnQgcnYgPSAwOworKworKyAgICBzd2l0Y2ggKHRkLT50eXBlKSB7CisrICAgIGNhc2UgTk9fUkVT RUVEOgorKyAgICAgICAgaWYgKCFzaW5nbGVfa2F0X25vX3Jlc2VlZCh0ZCkpCisrICAgICAgICAg ICAgZ290byBlcnI7CisrICAgICAgICBicmVhazsKKysgICAgY2FzZSBQUl9GQUxTRToKKysgICAg ICAgIGlmICghc2luZ2xlX2thdF9wcl9mYWxzZSh0ZCkpCisrICAgICAgICAgICAgZ290byBlcnI7 CisrICAgICAgICBicmVhazsKKysgICAgY2FzZSBQUl9UUlVFOgorKyAgICAgICAgaWYgKCFzaW5n bGVfa2F0X3ByX3RydWUodGQpKQorKyAgICAgICAgICAgIGdvdG8gZXJyOworKyAgICAgICAgYnJl YWs7CisrICAgIGRlZmF1bHQ6CS8qIGNhbnQgaGFwcGVuICovCisrICAgICAgICBnb3RvIGVycjsK KysgICAgfQorKyAgICBydiA9IDE7CisrZXJyOgorKyAgICByZXR1cm4gcnY7CisrfQorKworKy8q LQorKyAqIERvIG9uZSBleHBlY3RlZC1lcnJvciB0ZXN0OgorKyAqCisrICogSW5zdGFudGlhdGUg d2l0aCBubyBlbnRyb3B5IHN1cHBsaWVkCisrICoKKysgKiBSZXR1cm4gMCBvbiBmYWlsdXJlLgor KyAqLworK3N0YXRpYyBpbnQgdGVzdF9kcmJnX3Nhbml0eShjb25zdCBzdHJ1Y3QgZHJiZ19rYXQg KnRkKQorK3sKKysgICAgc3RydWN0IGRyYmdfa2F0X3ByX2ZhbHNlICpkYXRhID0gKHN0cnVjdCBk cmJnX2thdF9wcl9mYWxzZSAqKXRkLT50OworKyAgICBSQU5EX0RSQkcgKmRyYmcgPSBOVUxMOwor KyAgICB1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOworKyAgICBpbnQgZmFpbHVyZXMgPSAwOworKyAg ICBURVNUX0NUWCB0OworKworKyAgICBpZiAodGQtPmRmICE9IFVTRV9ERikKKysgICAgICAgIGZs YWdzIHw9IFJBTkRfRFJCR19GTEFHX0NUUl9OT19ERjsKKysKKysgICAgaWYgKChkcmJnID0gUkFO RF9EUkJHX25ldyh0ZC0+bmlkLCBmbGFncywgTlVMTCkpID09IE5VTEwpCisrICAgICAgICByZXR1 cm4gMDsKKysKKysgICAgaWYgKCFSQU5EX0RSQkdfc2V0X2NhbGxiYWNrcyhkcmJnLCBrYXRfZW50 cm9weSwgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYXRfbm9uY2Us IE5VTEwpKSB7CisrICAgICAgICBmYWlsdXJlcysrOworKyAgICAgICAgZ290byBlcnI7CisrICAg IH0KKysgICAgbWVtc2V0KCZ0LCAwLCBzaXplb2YodCkpOworKyAgICB0LmVudHJvcHkgPSBkYXRh LT5lbnRyb3B5aW47CisrICAgIHQuZW50cm9weWxlbiA9IDA7ICAgICAvKiBObyBlbnRyb3B5ICov CisrICAgIHQubm9uY2UgPSBkYXRhLT5ub25jZTsKKysgICAgdC5ub25jZWxlbiA9IHRkLT5ub25j ZWxlbjsKKysgICAgUkFORF9EUkJHX3NldF9leF9kYXRhKGRyYmcsIGFwcF9kYXRhX2luZGV4LCAm dCk7CisrCisrICAgIEVSUl9zZXRfbWFyaygpOworKyAgICAvKiBUaGlzIG11c3QgZmFpbC4gKi8K KysgICAgaWYgKFJBTkRfRFJCR19pbnN0YW50aWF0ZShkcmJnLCBkYXRhLT5wZXJzc3RyLCB0ZC0+ cGVyc3N0cmxlbikpCisrICAgICAgICBmYWlsdXJlcysrOworKyAgICBSQU5EX0RSQkdfdW5pbnN0 YW50aWF0ZShkcmJnKTsKKysgICAgRVJSX3BvcF90b19tYXJrKCk7CisrCisrZXJyOgorKyAgICBS QU5EX0RSQkdfZnJlZShkcmJnKTsKKysgICAgcmV0dXJuIGZhaWx1cmVzID09IDA7CisrfQorKwor KworK2ludCByYW5kX2RyYmdfc2VsZnRlc3Qodm9pZCkKKyt7CisrICAgIGludCBpOworKworKyAg ICBpZiAoIVJVTl9PTkNFKCZnZXRfaW5kZXhfb25jZSwgZHJiZ19hcHBfZGF0YV9pbmRleF9pbml0 KSkKKysgICAgICAgIHJldHVybiAwOworKworKyAgICBmb3IgKGkgPSAwOyBpIDwgZHJiZ190ZXN0 X25lbGVtOyBpKyspIHsKKysgICAgICAgIGlmICh0ZXN0X2thdHMoaSkgPD0gMCkKKysgICAgICAg ICAgICByZXR1cm4gMDsKKysgICAgfQorKworKyAgICBpZiAodGVzdF9kcmJnX3Nhbml0eSgma2F0 MTQ2NSkgPD0gMCkKKysgICAgICAgIHJldHVybiAwOworKworKyAgICByZXR1cm4gMTsKKyt9Citk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9yYW5kLmguZHJiZy1zZWxmdGVz dCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9yYW5kLmgKKy0tLSBvcGVuc3NsLTEuMS4x ZS9pbmNsdWRlL2NyeXB0by9yYW5kLmguZHJiZy1zZWxmdGVzdAkyMDIwLTAzLTE5IDE3OjA3OjUx LjE4MjY3NTAzNiArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL3JhbmQu aAkyMDIwLTAzLTE5IDE3OjA4OjE0LjAwNDI3NjYyNyArMDEwMAorQEAgLTE0MCw0ICsxNDAsOSBA QCB2b2lkIHJhbmRfcG9vbF9jbGVhbnVwKHZvaWQpOworICAqLworIHZvaWQgcmFuZF9wb29sX2tl ZXBfcmFuZG9tX2RldmljZXNfb3BlbihpbnQga2VlcCk7CisgCisrLyoKKysgKiBQZXJmb3JtIHRo ZSBEUkJHIEtBVCBzZWxmdGVzdHMKKysgKi8KKytpbnQgcmFuZF9kcmJnX3NlbGZ0ZXN0KHZvaWQp OworKworICNlbmRpZgoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtZmlwcy1wb3N0LXJhbmQu cGF0Y2ggYi9vcGVuc3NsLTEuMS4xLWZpcHMtcG9zdC1yYW5kLnBhdGNoCmluZGV4IDAyZDdkZjMu LjE4YTAxZmUgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4xLjEtZmlwcy1wb3N0LXJhbmQucGF0Y2gK KysrIGIvb3BlbnNzbC0xLjEuMS1maXBzLXBvc3QtcmFuZC5wYXRjaApAQCAtMSwxMSArMSwxMSBA QAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMtcG9zdC1y YW5kIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHMuYwotLS0tIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLXBvc3QtcmFuZAkyMDE5LTA5LTEzIDE2OjE1OjUyLjY1 NjcxNjA4OSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHMuYwkyMDE5 LTA5LTEzIDE2OjQ0OjMzLjIxNzg1MjM2NCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMtcG9zdC1yYW5kIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9m aXBzL2ZpcHMuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLXBv c3QtcmFuZAkyMDIwLTAzLTE3IDE4OjA2OjE2LjgyMjQxODg1NCArMDEwMAorKysrIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9maXBzL2ZpcHMuYwkyMDIwLTAzLTE3IDE4OjA2OjE2Ljg2MTQxODE3MiAr MDEwMAogQEAgLTY4LDYgKzY4LDcgQEAKICAKICAjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgog ICMgaW5jbHVkZSAiaW50ZXJuYWwvdGhyZWFkX29uY2UuaCIKLSsjIGluY2x1ZGUgImludGVybmFs L3JhbmRfaW50LmgiCisrIyBpbmNsdWRlICJjcnlwdG8vcmFuZC5oIgogIAogICMgaWZuZGVmIFBB VEhfTUFYCiAgIyAgZGVmaW5lIFBBVEhfTUFYIDEwMjQKQEAgLTUxLDMyICs1MSw5IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLXBvc3QtcmFuZCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vCiAgICAgICAgICByZXQgPSAxOwogICAgICAgICAgZ290byBlbmQ7 CiAgICAgIH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFs L2ZpcHNfaW50LmguZmlwcy1wb3N0LXJhbmQgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUv aW50ZXJuYWwvZmlwc19pbnQuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2lu dGVybmFsL2ZpcHNfaW50LmguZmlwcy1wb3N0LXJhbmQJMjAxOS0wOS0xMyAxNjoxNTo1Mi42NjY3 MTU5MTQgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9m aXBzX2ludC5oCTIwMTktMDktMTMgMTY6MTU6NTIuNjkwNzE1NDk2ICswMjAwCi1AQCAtNzcsNiAr NzcsOCBAQCBpbnQgRklQU19zZWxmdGVzdF9obWFjKHZvaWQpOwotIGludCBGSVBTX3NlbGZ0ZXN0 X2RyYmcodm9pZCk7Ci0gaW50IEZJUFNfc2VsZnRlc3RfY21hYyh2b2lkKTsKLSAKLStpbnQgZmlw c19pbl9wb3N0KHZvaWQpOwotKwotIGludCBmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoRVZQX1BL RVkgKnBrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu ZWQgY2hhciAqdGJzLCBpbnQgdGJzbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmthdCwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9pbmNsdWRlL2ludGVybmFsL3JhbmRfaW50LmguZmlwcy1wb3N0LXJhbmQgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvcmFuZF9pbnQuaAotLS0tIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL3JhbmRfaW50LmguZmlwcy1wb3N0LXJhbmQJMjAx OS0wOS0xMyAxNjoxNTo1Mi4zMDc3MjIxNzUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vaW5jbHVkZS9pbnRlcm5hbC9yYW5kX2ludC5oCTIwMTktMDktMTMgMTY6NDE6NDcuMTMzNzM2 MDIzICswMjAwCi1AQCAtMjQsNiArMjQsNyBAQAotIHR5cGVkZWYgc3RydWN0IHJhbmRfcG9vbF9z dCBSQU5EX1BPT0w7Ci0gCi0gdm9pZCByYW5kX2NsZWFudXBfaW50KHZvaWQpOwotK3ZvaWQgcmFu ZF9mb3JjZV9yZXNlZWQodm9pZCk7Ci0gdm9pZCByYW5kX2RyYmdfY2xlYW51cF9pbnQodm9pZCk7 Ci0gdm9pZCBkcmJnX2RlbGV0ZV90aHJlYWRfc3RhdGUodm9pZCk7Ci0gCi1kaWZmIC11cCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9kcmJnX2xpYi5jLmZpcHMtcG9zdC1yYW5kIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9yYW5kL2RyYmdfbGliLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v cmFuZC9kcmJnX2xpYi5jLmZpcHMtcG9zdC1yYW5kCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvZHJiZ19saWIuYwkyMDE5 LTA5LTEzIDE2OjQ0OjA0LjgwODM0NTYyMCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL3JhbmQvZHJiZ19saWIuYy5maXBzLXBvc3QtcmFuZCBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vcmFuZC9kcmJnX2xpYi5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvZHJiZ19s aWIuYy5maXBzLXBvc3QtcmFuZAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAor KysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yYW5kL2RyYmdfbGliLmMJMjAyMC0wMy0xNyAxODow NzozNS4zMDUwNDU1MjEgKzAxMDAKIEBAIC0xMDA5LDYgKzEwMDksMjAgQEAgc2l6ZV90IHJhbmRf ZHJiZ19zZWVkbGVuKFJBTkRfRFJCRyAqZHJiZwogICAgICByZXR1cm4gbWluX2VudHJvcHkgPiBt aW5fZW50cm9weWxlbiA/IG1pbl9lbnRyb3B5IDogbWluX2VudHJvcHlsZW47CiAgfQpAQCAtOTgs MTQgKzc1LDE0IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL2RyYmdfbGli LmMuZmlwcy1wb3N0LXJhbmQgb3BlbnNzbC0xLjEuMWQvY3J5CiAgLyogSW1wbGVtZW50cyB0aGUg ZGVmYXVsdCBPcGVuU1NMIFJBTkRfYWRkKCkgbWV0aG9kICovCiAgc3RhdGljIGludCBkcmJnX2Fk ZChjb25zdCB2b2lkICpidWYsIGludCBudW0sIGRvdWJsZSByYW5kb21uZXNzKQogIHsKLWRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jLmZpcHMtcG9zdC1yYW5k IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jCi0tLS0gb3BlbnNzbC0xLjEu MWQvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMuZmlwcy1wb3N0LXJhbmQJMjAxOS0wOS0xMCAxNTox MzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9yYW5k X3VuaXguYwkyMDE5LTA5LTEzIDE2OjE1OjUyLjY5MDcxNTQ5NiArMDIwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMuZmlwcy1wb3N0LXJhbmQgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vcmFuZC9yYW5kX3VuaXguYy5maXBzLXBvc3QtcmFuZAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAw MDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yYW5kL3JhbmRfdW5peC5j CTIwMjAtMDMtMTcgMTg6MDk6MDEuNTAzNTM3MTg5ICswMTAwCiBAQCAtMTcsMTAgKzE3LDEyIEBA CiAgI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+Ci0gI2luY2x1ZGUgInJhbmRfbGNsLmgiCi0g I2luY2x1ZGUgImludGVybmFsL3JhbmRfaW50LmgiCi0rI2luY2x1ZGUgImludGVybmFsL2ZpcHNf aW50LmgiCisgI2luY2x1ZGUgInJhbmRfbG9jYWwuaCIKKyAjaW5jbHVkZSAiY3J5cHRvL3JhbmQu aCIKKysjaW5jbHVkZSAiY3J5cHRvL2ZpcHMuaCIKICAjaW5jbHVkZSA8c3RkaW8uaD4KICAjaW5j bHVkZSAiaW50ZXJuYWwvZHNvLmgiCiAgI2lmZGVmIF9fbGludXgKQEAgLTExNCw3ICs5MSw3IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jLmZpcHMtcG9z dC1yYW5kIG9wZW5zc2wtMS4xLjFkL2NyCiAgIyBpZmRlZiBERVZSQU5ET01fV0FJVAogICMgIGlu Y2x1ZGUgPHN5cy9zaG0uaD4KICAjICBpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgotQEAgLTI5NSw3 ICsyOTcsNyBAQCBzdGF0aWMgc3NpemVfdCBzeXNjdGxfcmFuZG9tKGNoYXIgKmJ1ZiwKK0BAIC0z NDIsNyArMzQ0LDcgQEAgc3RhdGljIHNzaXplX3Qgc3lzY3RsX3JhbmRvbShjaGFyICpidWYsCiAg ICogc3lzY2FsbF9yYW5kb20oKTogVHJ5IHRvIGdldCByYW5kb20gZGF0YSB1c2luZyBhIHN5c3Rl bSBjYWxsCiAgICogcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJldHVybmVkIGluIGJ1Ziwg b3IgPCAwIG9uIGVycm9yLgogICAqLwpAQCAtMTIzLDcgKzEwMCw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfdW5peC5jLmZpcHMtcG9zdC1yYW5kIG9wZW5zc2wt MS4xLjFkL2NyCiAgewogICAgICAvKgogICAgICAgKiBOb3RlOiAnYnVmbGVuJyBlcXVhbHMgdGhl IHNpemUgb2YgdGhlIGJ1ZmZlciB3aGljaCBpcyB1c2VkIGJ5IHRoZQotQEAgLTMxNyw2ICszMTks NyBAQCBzdGF0aWMgc3NpemVfdCBzeXNjYWxsX3JhbmRvbSh2b2lkICpidWYsCitAQCAtMzY0LDYg KzM2Niw3IEBAIHN0YXRpYyBzc2l6ZV90IHN5c2NhbGxfcmFuZG9tKHZvaWQgKmJ1ZiwKICAgICAg ICogLSBMaW51eCBzaW5jZSAzLjE3IHdpdGggZ2xpYmMgMi4yNQogICAgICAgKiAtIEZyZWVCU0Qg c2luY2UgMTIuMCAoMTIwMDA2MSkKICAgICAgICovCkBAIC0xMzEsNyArMTA4LDcgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMuZmlwcy1wb3N0LXJhbmQg b3BlbnNzbC0xLjEuMWQvY3IKICAjICBpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXz49 MiAmJiBkZWZpbmVkKF9fRUxGX18pICYmICFkZWZpbmVkKF9faHB1eCkKICAgICAgZXh0ZXJuIGlu dCBnZXRlbnRyb3B5KHZvaWQgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkgX19hdHRyaWJ1dGVfXygo d2VhaykpOwogIAotQEAgLTMzOCwxMCArMzQxLDEwIEBAIHN0YXRpYyBzc2l6ZV90IHN5c2NhbGxf cmFuZG9tKHZvaWQgKmJ1ZiwKK0BAIC0zODUsMTAgKzM4OCwxMCBAQCBzdGF0aWMgc3NpemVfdCBz eXNjYWxsX3JhbmRvbSh2b2lkICpidWYsCiAgICAgIGlmIChwX2dldGVudHJvcHkucCAhPSBOVUxM KQogICAgICAgICAgcmV0dXJuIHBfZ2V0ZW50cm9weS5mKGJ1ZiwgYnVmbGVuKSA9PSAwID8gKHNz aXplX3QpYnVmbGVuIDogLTE7CiAgIyAgZW5kaWYKQEAgLTE0NSw3ICsxMjIsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9yYW5kX3VuaXguYy5maXBzLXBvc3QtcmFuZCBv cGVuc3NsLTEuMS4xZC9jcgogICMgIGVsaWYgKGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmlu ZWQoX19OZXRCU0RfXykpICYmIGRlZmluZWQoS0VSTl9BUk5EKQogICAgICByZXR1cm4gc3lzY3Rs X3JhbmRvbShidWYsIGJ1Zmxlbik7CiAgIyAgZWxzZQotQEAgLTU3Niw2ICs1NzksOSBAQCBzaXpl X3QgcmFuZF9wb29sX2FjcXVpcmVfZW50cm9weShSQU5EX1BPCitAQCAtNjIzLDYgKzYyNiw5IEBA IHNpemVfdCByYW5kX3Bvb2xfYWNxdWlyZV9lbnRyb3B5KFJBTkRfUE8KICAgICAgc2l6ZV90IGVu dHJvcHlfYXZhaWxhYmxlOwogIAogICMgICBpZiBkZWZpbmVkKE9QRU5TU0xfUkFORF9TRUVEX0dF VFJBTkRPTSkKQEAgLTE1NSw3ICsxMzIsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vcmFuZC9yYW5kX3VuaXguYy5maXBzLXBvc3QtcmFuZCBvcGVuc3NsLTEuMS4xZC9jcgogICAg ICB7CiAgICAgICAgICBzaXplX3QgYnl0ZXNfbmVlZGVkOwogICAgICAgICAgdW5zaWduZWQgY2hh ciAqYnVmZmVyOwotQEAgLTU4Niw3ICs1OTIsNyBAQCBzaXplX3QgcmFuZF9wb29sX2FjcXVpcmVf ZW50cm9weShSQU5EX1BPCitAQCAtNjMzLDcgKzYzOSw3IEBAIHNpemVfdCByYW5kX3Bvb2xfYWNx dWlyZV9lbnRyb3B5KFJBTkRfUE8KICAgICAgICAgIGJ5dGVzX25lZWRlZCA9IHJhbmRfcG9vbF9i eXRlc19uZWVkZWQocG9vbCwgMSAvKmVudHJvcHlfZmFjdG9yKi8pOwogICAgICAgICAgd2hpbGUg KGJ5dGVzX25lZWRlZCAhPSAwICYmIGF0dGVtcHRzLS0gPiAwKSB7CiAgICAgICAgICAgICAgYnVm ZmVyID0gcmFuZF9wb29sX2FkZF9iZWdpbihwb29sLCBieXRlc19uZWVkZWQpOwpAQCAtMTY0LDcg KzE0MSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfdW5peC5j LmZpcHMtcG9zdC1yYW5kIG9wZW5zc2wtMS4xLjFkL2NyCiAgICAgICAgICAgICAgaWYgKGJ5dGVz ID4gMCkgewogICAgICAgICAgICAgICAgICByYW5kX3Bvb2xfYWRkX2VuZChwb29sLCBieXRlcywg OCAqIGJ5dGVzKTsKICAgICAgICAgICAgICAgICAgYnl0ZXNfbmVlZGVkIC09IGJ5dGVzOwotQEAg LTYyMSw4ICs2MjcsMTAgQEAgc2l6ZV90IHJhbmRfcG9vbF9hY3F1aXJlX2VudHJvcHkoUkFORF9Q TworQEAgLTY2OCw4ICs2NzQsMTAgQEAgc2l6ZV90IHJhbmRfcG9vbF9hY3F1aXJlX2VudHJvcHko UkFORF9QTwogICAgICAgICAgICAgIGludCBhdHRlbXB0cyA9IDM7CiAgICAgICAgICAgICAgY29u c3QgaW50IGZkID0gZ2V0X3JhbmRvbV9kZXZpY2UoaSk7CiAgCkBAIC0xNzYsNyArMTUzLDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFuZF91bml4LmMuZmlwcy1wb3N0 LXJhbmQgb3BlbnNzbC0xLjEuMWQvY3IKICAKICAgICAgICAgICAgICB3aGlsZSAoYnl0ZXNfbmVl ZGVkICE9IDAgJiYgYXR0ZW1wdHMtLSA+IDApIHsKICAgICAgICAgICAgICAgICAgYnVmZmVyID0g cmFuZF9wb29sX2FkZF9iZWdpbihwb29sLCBieXRlc19uZWVkZWQpOwotQEAgLTY4NSw3ICs2OTMs OSBAQCBzaXplX3QgcmFuZF9wb29sX2FjcXVpcmVfZW50cm9weShSQU5EX1BPCitAQCAtNzMyLDcg Kzc0MCw5IEBAIHNpemVfdCByYW5kX3Bvb2xfYWNxdWlyZV9lbnRyb3B5KFJBTkRfUE8KICAgICAg ICAgICAgICByZXR1cm4gZW50cm9weV9hdmFpbGFibGU7CiAgICAgIH0KICAjICAgZW5kaWYKQEAg LTE4NywzICsxNjQsMjYgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFu ZF91bml4LmMuZmlwcy1wb3N0LXJhbmQgb3BlbnNzbC0xLjEuMWQvY3IKICAgICAgcmV0dXJuIHJh bmRfcG9vbF9lbnRyb3B5X2F2YWlsYWJsZShwb29sKTsKICAjICBlbmRpZgogIH0KK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL2ZpcHMuaC5maXBzLXBvc3QtcmFuZCBvcGVu c3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9maXBzLmgKKy0tLSBvcGVuc3NsLTEuMS4xZS9pbmNs dWRlL2NyeXB0by9maXBzLmguZmlwcy1wb3N0LXJhbmQJMjAyMC0wMy0xNyAxODowNjoxNi44MzE0 MTg2OTYgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9maXBzLmgJMjAy MC0wMy0xNyAxODowNjoxNi44NjE0MTgxNzIgKzAxMDAKK0BAIC03Nyw2ICs3Nyw4IEBAIGludCBG SVBTX3NlbGZ0ZXN0X2htYWModm9pZCk7CisgaW50IEZJUFNfc2VsZnRlc3RfZHJiZyh2b2lkKTsK KyBpbnQgRklQU19zZWxmdGVzdF9jbWFjKHZvaWQpOworIAorK2ludCBmaXBzX2luX3Bvc3Qodm9p ZCk7CisrCisgaW50IGZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChFVlBfUEtFWSAqcGtleSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICp0YnMs IGludCB0YnNsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z aWduZWQgY2hhciAqa2F0LAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9jcnlwdG8v cmFuZC5oLmZpcHMtcG9zdC1yYW5kIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL3JhbmQu aAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvY3J5cHRvL3JhbmQuaC5maXBzLXBvc3QtcmFu ZAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFl L2luY2x1ZGUvY3J5cHRvL3JhbmQuaAkyMDIwLTAzLTE3IDE4OjA3OjM1LjMwMzA0NTU1NSArMDEw MAorQEAgLTI0LDYgKzI0LDcgQEAKKyB0eXBlZGVmIHN0cnVjdCByYW5kX3Bvb2xfc3QgUkFORF9Q T09MOworIAorIHZvaWQgcmFuZF9jbGVhbnVwX2ludCh2b2lkKTsKKyt2b2lkIHJhbmRfZm9yY2Vf cmVzZWVkKHZvaWQpOworIHZvaWQgcmFuZF9kcmJnX2NsZWFudXBfaW50KHZvaWQpOworIHZvaWQg ZHJiZ19kZWxldGVfdGhyZWFkX3N0YXRlKHZvaWQpOworIAoKZGlmZiAtLWdpdCBhL29wZW5zc2wt MS4xLjEtZmlwcy5wYXRjaCBiL29wZW5zc2wtMS4xLjEtZmlwcy5wYXRjaAppbmRleCA0YzQzZDE3 Li5jMTdmNmU4IDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMS4xLWZpcHMucGF0Y2gKKysrIGIvb3Bl bnNzbC0xLjEuMS1maXBzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvYXBwcy9wa2NzMTIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2FwcHMvcGtjczEyLmMKLS0t LSBvcGVuc3NsLTEuMS4xZC9hcHBzL3BrY3MxMi5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9hcHBzL3BrY3MxMi5jCTIwMTktMDkt MTMgMTU6MTM6MTEuMDIyNTI1NjQwICswMjAwCi1AQCAtMTI2LDcgKzEyNiw3IEBAIGludCBwa2Nz MTJfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9h cHBzL3BrY3MxMi5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvYXBwcy9wa2NzMTIuYworLS0tIG9wZW5z c2wtMS4xLjFlL2FwcHMvcGtjczEyLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAw MCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2FwcHMvcGtjczEyLmMJMjAyMC0wMy0xNyAxNzoz MDo1Mi4wMjA1Njc0OTcgKzAxMDAKK0BAIC0xMjcsNyArMTI3LDcgQEAgaW50IHBrY3MxMl9tYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgaW50IGV4cG9ydF9jZXJ0ID0gMCwgb3B0aW9u cyA9IDAsIGNoYWluID0gMCwgdHdvcGFzcyA9IDAsIGtleXR5cGUgPSAwOwogICAgICBpbnQgaXRl ciA9IFBLQ1MxMl9ERUZBVUxUX0lURVIsIG1hY2l0ZXIgPSBQS0NTMTJfREVGQVVMVF9JVEVSOwog ICMgaWZuZGVmIE9QRU5TU0xfTk9fUkMyCkBAIC0xMCwxMCArMTAsMTAgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWQvYXBwcy9wa2NzMTIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2FwcHMvcGtjczEy LmMKICAjIGVsc2UKICAgICAgaW50IGNlcnRfcGJlID0gTklEX3BiZV9XaXRoU0hBMUFuZDNfS2V5 X1RyaXBsZURFU19DQkM7CiAgIyBlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvYXBwcy9z cGVlZC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvYXBwcy9zcGVlZC5jCi0tLS0gb3BlbnNzbC0xLjEu MWQvYXBwcy9zcGVlZC5jLmZpcHMJMjAxOS0xMC0wMyAxNjo1MToyMi4wMTk5MTU5MDggKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xZC9hcHBzL3NwZWVkLmMJMjAxOS0xMC0wMyAxNzo0MDowOS45MDk5 OTQ1ODIgKzAyMDAKLUBAIC0xNTk1LDcgKzE1OTUsOCBAQCBpbnQgc3BlZWRfbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9hcHBzL3NwZWVkLmMuZmlw cyBvcGVuc3NsLTEuMS4xZS9hcHBzL3NwZWVkLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9hcHBzL3Nw ZWVkLmMuZmlwcwkyMDIwLTAzLTE3IDE3OjMwOjUxLjk5NzU2Nzg5NyArMDEwMAorKysrIG9wZW5z c2wtMS4xLjFlL2FwcHMvc3BlZWQuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAyMTU2NzQ3OSArMDEw MAorQEAgLTE1OTMsNyArMTU5Myw4IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIGlmIChzdHJjbXAoKmFyZ3Ys ICJyc2EiKSA9PSAwKSB7CiAgICAgICAgICAgICAgZm9yIChsb29wID0gMDsgbG9vcCA8IE9TU0xf TkVMRU0ocnNhX2RvaXQpOyBsb29wKyspCkBAIC0yMyw3ICsyMyw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQuYwog ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGZvdW5kKCph cmd2LCByc2FfY2hvaWNlcywgJmkpKSB7Ci1AQCAtMTYwNSw3ICsxNjA2LDkgQEAgaW50IHNwZWVk X21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTE2MDMsNyArMTYwNCw5IEBAIGludCBz cGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAjZW5kaWYKICAjaWZuZGVmIE9QRU5T U0xfTk9fRFNBCiAgICAgICAgICBpZiAoc3RyY21wKCphcmd2LCAiZHNhIikgPT0gMCkgewpAQCAt MzQsNyArMzQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9hcHBzL3NwZWVkLmMuZmlwcyBv cGVuc3NsLTEuMS4xZC9hcHBzL3NwZWVkLmMKICAgICAgICAgICAgICAgICAgZHNhX2RvaXRbUl9E U0FfMjA0OF0gPSAxOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQotQEAgLTE2 MzYsMTkgKzE2MzksMjEgQEAgaW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQor QEAgLTE2MzQsMTkgKzE2MzcsMjEgQEAgaW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogICAgICAgICAgfQogICAgICAgICAgaWYgKHN0cmNtcCgqYXJndiwgImVjZGgiKSA9PSAw KSB7CiAgICAgICAgICAgICAgZm9yIChsb29wID0gMDsgbG9vcCA8IE9TU0xfTkVMRU0oZWNkaF9k b2l0KTsgbG9vcCsrKQpAQCAtNjAsNyArNjAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9h cHBzL3NwZWVkLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9hcHBzL3NwZWVkLmMKICAgICAgICAgICAg ICBlZGRzYV9kb2l0W2ldID0gMjsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0K LUBAIC0xNzM3LDIzICsxNzQyLDMxIEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKK0BAIC0xNzM1LDIzICsxNzQwLDMxIEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICAgLyogTm8gcGFyYW1ldGVyczsgdHVybiBvbiBldmVyeXRoaW5nLiAq LwogICAgICBpZiAoKGFyZ2MgPT0gMCkgJiYgIWRvaXRbRF9FVlBdKSB7CiAgICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgQUxHT1JfTlVNOyBpKyspCkBAIC05OCw3ICs5OCw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQu YwogICNlbmRpZgogICAgICB9CiAgICAgIGZvciAoaSA9IDA7IGkgPCBBTEdPUl9OVU07IGkrKykK LUBAIC0xODAxLDMwICsxODE0LDQ2IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKK0BAIC0xNzk5LDMwICsxODEyLDQ2IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICAgQUVTX3NldF9lbmNyeXB0X2tleShrZXkyNCwgMTkyLCAmYWVzX2tz Mik7CiAgICAgIEFFU19zZXRfZW5jcnlwdF9rZXkoa2V5MzIsIDI1NiwgJmFlc19rczMpOwogICNp Zm5kZWYgT1BFTlNTTF9OT19DQU1FTExJQQpAQCAtMTU1LDcgKzE1NSw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQu YwogICNlbmRpZgogICNpZm5kZWYgU0lHQUxSTQogICMgaWZuZGVmIE9QRU5TU0xfTk9fREVTCi1A QCAtMjEyMiw2ICsyMTUxLDcgQEAgaW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQorQEAgLTIxMjAsNiArMjE0OSw3IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKICAKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsb29wYXJnc19sZW47IGkrKykgewog ICAgICAgICAgICAgIGxvb3BhcmdzW2ldLmhjdHggPSBITUFDX0NUWF9uZXcoKTsKQEAgLTE2Mywx MCArMTYzLDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQuYy5maXBzIG9w ZW5zc2wtMS4xLjFkL2FwcHMvc3BlZWQuYwogICAgICAgICAgICAgIGlmIChsb29wYXJnc1tpXS5o Y3R4ID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgQklPX3ByaW50ZihiaW9fZXJyLCAiSE1B QyBtYWxsb2MgZmFpbHVyZSwgZXhpdGluZy4uLiIpOwogICAgICAgICAgICAgICAgICBleGl0KDEp OwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJlLmZpcHMgb3BlbnNzbC0xLjEuMWQv Q29uZmlndXJlCi0tLS0gb3BlbnNzbC0xLjEuMWQvQ29uZmlndXJlLmZpcHMJMjAxOS0wOS0xMyAx NToxMzoxMS4wMTc1MjU3MjcgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9Db25maWd1cmUJMjAx OS0wOS0xMyAxNToxMzoxMS4wMjM1MjU2MjIgKzAyMDAKLUBAIC0zMDcsNyArMzA3LDcgQEAgJGNv bmZpZ3tzZGlyc30gPSBbCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9Db25maWd1cmUuZmlwcyBv cGVuc3NsLTEuMS4xZS9Db25maWd1cmUKKy0tLSBvcGVuc3NsLTEuMS4xZS9Db25maWd1cmUuZmlw cwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAxNTU2NzU4NCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFl L0NvbmZpZ3VyZQkyMDIwLTAzLTE3IDE3OjMwOjUyLjAyMjU2NzQ2MiArMDEwMAorQEAgLTMxOSw3 ICszMTksNyBAQCAkY29uZmlne3NkaXJzfSA9IFsKICAgICAgIm1kMiIsICJtZDQiLCAibWQ1Iiwg InNoYSIsICJtZGMyIiwgImhtYWMiLCAicmlwZW1kIiwgIndocmxwb29sIiwgInBvbHkxMzA1Iiwg ImJsYWtlMiIsICJzaXBoYXNoIiwgInNtMyIsCiAgICAgICJkZXMiLCAiYWVzIiwgInJjMiIsICJy YzQiLCAicmM1IiwgImlkZWEiLCAiYXJpYSIsICJiZiIsICJjYXN0IiwgImNhbWVsbGlhIiwgInNl ZWQiLCAic200IiwgImNoYWNoYSIsICJtb2RlcyIsCiAgICAgICJibiIsICJlYyIsICJyc2EiLCAi ZHNhIiwgImRoIiwgInNtMiIsICJkc28iLCAiZW5naW5lIiwKQEAgLTE3NSw5ICsxNzUsOSBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9Db25maWd1cmUuZmlwcyBvcGVuc3NsLTEuMS4xZC9Db25m aWd1cmUKICAgICAgImV2cCIsICJhc24xIiwgInBlbSIsICJ4NTA5IiwgIng1MDl2MyIsICJjb25m IiwgInR4dF9kYiIsICJwa2NzNyIsICJwa2NzMTIiLCAiY29tcCIsICJvY3NwIiwgInVpIiwKICAg ICAgImNtcyIsICJ0cyIsICJzcnAiLCAiY21hYyIsICJjdCIsICJhc3luYyIsICJrZGYiLCAic3Rv cmUiCiAgICAgIF07Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vY21hYy9jbV9wbWV0 aC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2NtYWMvY21fcG1ldGguYwotLS0tIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9jbWFjL2NtX3BtZXRoLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3 LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9jbWFjL2NtX3BtZXRo LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wMjM1MjU2MjIgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9jbWFjL2NtX3BtZXRoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v Y21hYy9jbV9wbWV0aC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2NtYWMvY21fcG1ldGgu Yy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL2NtYWMvY21fcG1ldGguYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAyMjU2NzQ2 MiArMDEwMAogQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgaW50IHBrZXlfY21hY19jdHJsX3N0 cihFVlBfUEtFWV9DCiAgCiAgY29uc3QgRVZQX1BLRVlfTUVUSE9EIGNtYWNfcGtleV9tZXRoID0g ewpAQCAtMTg3LDkgKzE4Nyw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9jbWFj L2NtX3BtZXRoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vY21hYy9jCiAgICAgIHBrZXlf Y21hY19pbml0LAogICAgICBwa2V5X2NtYWNfY29weSwKICAgICAgcGtleV9jbWFjX2NsZWFudXAs Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZGgvZGhfZXJyLmMuZmlwcyBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZGgvZGhfZXJyLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZGgv ZGhfZXJyLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9kaF9lcnIuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjAyMzUy NTYyMiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RoL2RoX2Vyci5jLmZp cHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RoL2RoX2Vyci5jCistLS0gb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2RoL2RoX2Vyci5jLmZpcHMJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAx MDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZGgvZGhfZXJyLmMJMjAyMC0wMy0xNyAxNzoz MDo1Mi4wMjI1Njc0NjIgKzAxMDAKIEBAIC0yNSw2ICsyNSw5IEBAIHN0YXRpYyBjb25zdCBFUlJf U1RSSU5HX0RBVEEgREhfc3RyX2Z1bmMKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfREgsIERIX0Zf REhfQ01TX1NFVF9QRUVSS0VZLCAwKSwgImRoX2Ntc19zZXRfcGVlcmtleSJ9LAogICAgICB7RVJS X1BBQ0soRVJSX0xJQl9ESCwgREhfRl9ESF9DTVNfU0VUX1NIQVJFRF9JTkZPLCAwKSwKQEAgLTIx NSwxMyArMjE1LDEzIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9kaF9lcnIu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9kaF9lcnIuCiAgICAgIHtFUlJfUEFDSyhF UlJfTElCX0RILCAwLCBESF9SX1BBUkFNRVRFUl9FTkNPRElOR19FUlJPUiksCiAgICAgICJwYXJh bWV0ZXIgZW5jb2RpbmcgZXJyb3IifSwKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfREgsIDAsIERI X1JfUEVFUl9LRVlfRVJST1IpLCAicGVlciBrZXkgZXJyb3IifSwKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9kaC9kaF9nZW4uYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9k aF9nZW4uYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9kaF9nZW4uYy5maXBzCTIwMTkt MDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2RoL2RoX2dlbi5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDIzNTI1NjIyICswMjAwCitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9j cnlwdG8vZGgvZGhfZ2VuLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMu ZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9kaC9kaF9nZW4uYwkyMDIwLTAzLTE3IDE4OjAzOjMxLjAwNTMyMDM4MiArMDEw MAogQEAgLTE2LDYgKzE2LDkgQEAKICAjaW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKICAj aW5jbHVkZSA8b3BlbnNzbC9ibi5oPgotICNpbmNsdWRlICJkaF9sb2NsLmgiCisgI2luY2x1ZGUg ImRoX2xvY2FsLmgiCiArI2lmZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNzbC9m aXBzLmg+CiArI2VuZGlmCkBAIC0yNjEsMTMgKzI2MSwxMyBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZGgvZGhf Z2VuLgogICAgICBjdHggPSBCTl9DVFhfbmV3KCk7CiAgICAgIGlmIChjdHggPT0gTlVMTCkKICAg ICAgICAgIGdvdG8gZXJyOwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RoL2RoX2tl eS5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RoL2RoX2tleS5jCi0tLS0gb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2RoL2RoX2tleS5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZGgvZGhfa2V5LmMJMjAxOS0wOS0x MyAxNToxMzoxMS4wMjQ1MjU2MDUgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kaC9kaF9rZXkuYworLS0t IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kaC9kaF9rZXkuYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6 MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RoL2RoX2tleS5j CTIwMjAtMDMtMTcgMTg6MDM6NTIuNzA2OTQwNjQxICswMTAwCiBAQCAtMTEsNiArMTEsOSBAQAog ICNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgotICNpbmNsdWRlICJkaF9sb2NsLmgiCi0g I2luY2x1ZGUgImludGVybmFsL2JuX2ludC5oIgorICNpbmNsdWRlICJkaF9sb2NhbC5oIgorICNp bmNsdWRlICJjcnlwdG8vYm4uaCIKICsjaWZkZWYgT1BFTlNTTF9GSVBTCiArIyBpbmNsdWRlIDxv cGVuc3NsL2ZpcHMuaD4KICsjZW5kaWYKQEAgLTM0Nyw5ICszNDcsOSBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZGgvZGhfa2V5LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZGgvZGhfa2V5LgogICAgICBkaC0+ZmxhZ3MgfD0gREhfRkxBR19DQUNIRV9NT05UX1A7CiAgICAg IHJldHVybiAxOwogIH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kaC9kaF9wbWV0 aC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RoL2RoX3BtZXRoLmMKLS0tLSBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZGgvZGhfcG1ldGguYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAw MDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RoL2RoX3BtZXRoLmMJMjAx OS0wOS0xMyAxNToxMzoxMS4wMjQ1MjU2MDUgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFl L2NyeXB0by9kaC9kaF9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RoL2RoX3Bt ZXRoLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZGgvZGhfcG1ldGguYy5maXBzCTIwMjAt MDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L2RoL2RoX3BtZXRoLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMjM1Njc0NDQgKzAxMDAKIEBAIC00 ODAsNyArNDgwLDcgQEAgc3RhdGljIGludCBwa2V5X2RoX2Rlcml2ZShFVlBfUEtFWV9DVFggKgog IAogIGNvbnN0IEVWUF9QS0VZX01FVEhPRCBkaF9wa2V5X21ldGggPSB7CkBAIC0zNjgsOSArMzY4 LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RoL2RoX3BtZXRoLmMuZmlwcyBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZGgvZGhfcG0KICAgICAgcGtleV9kaF9pbml0LAogICAgICBw a2V5X2RoX2NvcHksCiAgICAgIHBrZXlfZGhfY2xlYW51cCwKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9kc2EvZHNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9k c2FfZXJyLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9lcnIuYy5maXBzCTIw MTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2RzYS9kc2FfZXJyLmMJMjAxOS0wOS0xMyAxNToxNDozMy43MzcwNzk4NzYgKzAyMDAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jLmZpcHMgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZHNh L2RzYV9lcnIuYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysg b3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4w MjM1Njc0NDQgKzAxMDAKIEBAIC0xNiwxMiArMTYsMTUgQEAKICBzdGF0aWMgY29uc3QgRVJSX1NU UklOR19EQVRBIERTQV9zdHJfZnVuY3RzW10gPSB7CiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX0RT QSwgRFNBX0ZfRFNBUEFSQU1TX1BSSU5ULCAwKSwgIkRTQXBhcmFtc19wcmludCJ9LApAQCAtNDAy LDEzICs0MDIsMTMgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9kc2FfZXJy LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV8KICAgICAge0VSUl9QQUNLKEVS Ul9MSUJfRFNBLCAwLCBEU0FfUl9QQVJBTUVURVJfRU5DT0RJTkdfRVJST1IpLAogICAgICAicGFy YW1ldGVyIGVuY29kaW5nIGVycm9yIn0sCiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX0RTQSwgMCwg RFNBX1JfUV9OT1RfUFJJTUUpLCAicSBub3QgcHJpbWUifSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9k c2FfZ2VuLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzCTIw MTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2RzYS9kc2FfZ2VuLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNDY1MjUyMjAgKzAyMDAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL2RzYS9kc2FfZ2VuLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZHNh L2RzYV9nZW4uYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysg b3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9kc2FfZ2VuLmMJMjAyMC0wMy0xNyAxODowMjoxNC42 MjY2NTY4NzcgKzAxMDAKIEBAIC0yMiwxMiArMjIsMjIgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9y YW5kLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvc2hhLmg+Ci0gI2luY2x1ZGUgImRzYV9sb2NsLmgi CisgI2luY2x1ZGUgImRzYV9sb2NhbC5oIgogKyNpZmRlZiBPUEVOU1NMX0ZJUFMKICsjIGluY2x1 ZGUgPG9wZW5zc2wvZmlwcy5oPgogKyNlbmRpZgpAQCAtNTY2LDE2ICs1NjYsMTYgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9kc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZHNhL2RzYV8KICt9CiArCiArI2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kc2EvZHNh X2tleS5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9kc2Ffa2V5LmMuZmlwcwkyMDE5 LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9kc2EvZHNhX2tleS5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDQ2NTI1MjIwICswMjAwCitkaWZm IC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9kc2EvZHNhX2tleS5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9k c2Ffa2V5LmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX2tleS5jCTIwMjAtMDMtMTcgMTg6MDI6NTEuMTAz MDE4NjA0ICswMTAwCiBAQCAtMTMsMTAgKzEzLDQ5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvYm4u aD4KLSAjaW5jbHVkZSAiZHNhX2xvY2wuaCIKKyAjaW5jbHVkZSAiZHNhX2xvY2FsLmgiCiAgCiAr I2lmZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rIyBpbmNs dWRlICJpbnRlcm5hbC9maXBzX2ludC5oIgorKyMgaW5jbHVkZSAiY3J5cHRvL2ZpcHMuaCIKICsK ICtzdGF0aWMgaW50IGZpcHNfY2hlY2tfZHNhKERTQSAqZHNhKQogK3sKQEAgLTY0OCwxMiArNjQ4 LDEyIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9kc2FfCiAgICAgIG9rID0gMTsKICAKICAgZXJyOgot ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2RzYS9kc2Ffb3NzbC5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9vc3NsLmMJMjAxOS0wOS0xMyAxNTox MzoxMS4wNDc1MjUyMDMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2Ev ZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYworLS0t IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBzCTIwMjAtMDMtMTcgMTU6 MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9kc2Ff b3NzbC5jCTIwMjAtMDMtMTkgMTc6MTE6MjIuMDM3OTk0MDY0ICswMTAwCiBAQCAtMTQsNiArMTQs OSBAQAogICNpbmNsdWRlIDxvcGVuc3NsL3NoYS5oPgotICNpbmNsdWRlICJkc2FfbG9jbC5oIgor ICNpbmNsdWRlICJkc2FfbG9jYWwuaCIKICAjaW5jbHVkZSA8b3BlbnNzbC9hc24xLmg+CiArI2lm ZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CkBAIC03MTAsMTAg KzcxMCwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9vc3NsLmMu ZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYQogICAgICBkc2EtPmZsYWdzIHw9IERT QV9GTEFHX0NBQ0hFX01PTlRfUDsKICAgICAgcmV0dXJuIDE7CiAgfQotZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9kc2EvZHNhX3BtZXRoLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9wbWV0 aC5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDQ3NTI1 MjAzICswMjAwCi1AQCAtMjE1LDggKzIxNSw4IEBAIHN0YXRpYyBpbnQgcGtleV9kc2FfcGFyYW1n ZW4oRVZQX1BLRVlfQ1QKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9kc2EvZHNhX3Bt ZXRoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCistLS0gb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6 MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2RzYS9kc2FfcG1l dGguYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAyNTU2NzQwOSArMDEwMAorQEAgLTIxMSw4ICsyMTEs OCBAQCBzdGF0aWMgaW50IHBrZXlfZHNhX3BhcmFtZ2VuKEVWUF9QS0VZX0NUCiAgICAgICAgICBC Tl9HRU5DQl9mcmVlKHBjYik7CiAgICAgICAgICByZXR1cm4gMDsKICAgICAgfQpAQCAtNzI0LDcg KzcyNCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9kc2EvZHNhX3BtZXRoLmMu ZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZHNhL2RzCiAgICAgIEJOX0dFTkNCX2ZyZWUocGNi KTsKICAgICAgaWYgKHJldCkKICAgICAgICAgIEVWUF9QS0VZX2Fzc2lnbl9EU0EocGtleSwgZHNh KTsKLUBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIGludCBwa2V5X2RzYV9rZXlnZW4oRVZQX1BL RVlfQ1RYCitAQCAtMjQxLDcgKzI0MSw3IEBAIHN0YXRpYyBpbnQgcGtleV9kc2Ffa2V5Z2VuKEVW UF9QS0VZX0NUWAogIAogIGNvbnN0IEVWUF9QS0VZX01FVEhPRCBkc2FfcGtleV9tZXRoID0gewog ICAgICBFVlBfUEtFWV9EU0EsCkBAIC03MzMsMTIgKzczMywxMiBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2RzYS9kcwogICAgICBwa2V5X2RzYV9pbml0LAogICAgICBwa2V5X2RzYV9jb3B5LAogICAgICBw a2V5X2RzYV9jbGVhbnVwLAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjZGhf b3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjZGhfb3NzbC5jCi0tLS0gb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjZGhfb3NzbC5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzow Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNkaF9vc3Ns LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNDc1MjUyMDMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9lYy9lY2RoX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9l Yy9lY2RoX29zc2wuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lYy9lY2RoX29zc2wuYy5m aXBzCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDI1NTY3NDA5ICswMTAwCisrKysgb3BlbnNzbC0xLjEu MWUvY3J5cHRvL2VjL2VjZGhfb3NzbC5jCTIwMjAtMDMtMTcgMTg6MDE6MjQuNzA0NTMwNDQwICsw MTAwCiBAQCAtMTksOSArMTksMjAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9lYy5oPgotICNpbmNs dWRlICJlY19sY2wuaCIKKyAjaW5jbHVkZSAiZWNfbG9jYWwuaCIKICAKICsjaWZkZWYgT1BFTlNT TF9GSVBTCiArIyBpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KQEAgLTc1NywxMiArNzU3LDEyIEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY2RoX29zc2wuYy5maXBzIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9lYy9lY2RoCiAgICAgIGlmIChlY2RoLT5ncm91cC0+bWV0aC0+ZWNk aF9jb21wdXRlX2tleSA9PSBOVUxMKSB7CiAgICAgICAgICBFQ2VycihFQ19GX09TU0xfRUNESF9D T01QVVRFX0tFWSwgRUNfUl9DVVJWRV9ET0VTX05PVF9TVVBQT1JUX0VDREgpOwogICAgICAgICAg cmV0dXJuIDA7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNkc2Ffb3NzbC5j LmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjZHNhX29zc2wuYwotLS0tIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9lYy9lY2RzYV9vc3NsLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY2RzYV9vc3NsLmMJ MjAxOS0wOS0xMyAxNToxMzoxMS4wNDc1MjUyMDMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9lYy9lY2RzYV9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZWMv ZWNkc2Ffb3NzbC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2VjL2VjZHNhX29zc2wuYy5m aXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEu MWUvY3J5cHRvL2VjL2VjZHNhX29zc2wuYwkyMDIwLTAzLTE3IDE4OjAxOjQxLjY0MjIzNDA2MSAr MDEwMAogQEAgLTE0LDYgKzE0LDEwIEBACi0gI2luY2x1ZGUgImludGVybmFsL2JuX2ludC5oIgot ICNpbmNsdWRlICJlY19sY2wuaCIKKyAjaW5jbHVkZSAiY3J5cHRvL2JuLmgiCisgI2luY2x1ZGUg ImVjX2xvY2FsLmgiCiAgCiArI2lmZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNz bC9maXBzLmg+CkBAIC03OTksOSArNzk5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2VjL2VjZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY2QKICAg ICAgLyogY2hlY2sgaW5wdXQgdmFsdWVzICovCiAgICAgIGlmIChlY2tleSA9PSBOVUxMIHx8IChn cm91cCA9IEVDX0tFWV9nZXQwX2dyb3VwKGVja2V5KSkgPT0gTlVMTCB8fAogICAgICAgICAgKHB1 Yl9rZXkgPSBFQ19LRVlfZ2V0MF9wdWJsaWNfa2V5KGVja2V5KSkgPT0gTlVMTCB8fCBzaWcgPT0g TlVMTCkgewotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjX2tleS5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2VjL2VjX2tleS5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2VjL2VjX2tleS5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNfa2V5LmMJMjAxOS0wOS0xMyAxNToxMzox MS4wNDg1MjUxODYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lYy9lY19r ZXkuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lYy9lY19rZXkuYworLS0tIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9lYy9lY19rZXkuYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAw MDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2VjL2VjX2tleS5jCTIwMjAtMDMt MTcgMTc6MzA6NTIuMDI2NTY3MzkyICswMTAwCiBAQCAtMTc4LDE0ICsxNzgsNjIgQEAgRU5HSU5F ICpFQ19LRVlfZ2V0MF9lbmdpbmUoY29uc3QgRUNfS0VZCiAgICAgIHJldHVybiBlY2tleS0+ZW5n aW5lOwogIH0KQEAgLTgwOSw3ICs4MDksNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vZWMvZWNfa2V5LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNfa2V5LgogKyNp ZmRlZiBPUEVOU1NMX0ZJUFMKICsKICsjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgotKyMgaW5j bHVkZSAiaW50ZXJuYWwvZmlwc19pbnQuaCIKKysjIGluY2x1ZGUgImNyeXB0by9maXBzLmgiCiAr CiArc3RhdGljIGludCBmaXBzX2NoZWNrX2VjKEVDX0tFWSAqa2V5KQogK3sKQEAgLTg2Nyw5ICs4 NjcsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNfa2V5LmMuZmlwcyBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNfa2V5LgogICAgICBFQ2VycihFQ19GX0VDX0tFWV9H RU5FUkFURV9LRVksIEVDX1JfT1BFUkFUSU9OX05PVF9TVVBQT1JURUQpOwogICAgICByZXR1cm4g MDsKICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZWMvZWNfcG1ldGguYy5maXBz IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY19wbWV0aC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2VjL2VjX3BtZXRoLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCAr MDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY19wbWV0aC5jCTIwMTktMDktMTMg MTU6MTM6MTEuMDQ4NTI1MTg2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v ZWMvZWNfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lYy9lY19wbWV0aC5jCist LS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2VjL2VjX3BtZXRoLmMuZmlwcwkyMDIwLTAzLTE3IDE1 OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9lYy9lY19w bWV0aC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDI2NTY3MzkyICswMTAwCiBAQCAtNDM4LDcgKzQz OCw3IEBAIHN0YXRpYyBpbnQgcGtleV9lY19rZXlnZW4oRVZQX1BLRVlfQ1RYICoKICAKICBjb25z dCBFVlBfUEtFWV9NRVRIT0QgZWNfcGtleV9tZXRoID0gewpAQCAtODc5LDkgKzg3OSw5IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9lYy9lY19wbWV0aC5jLmZpcHMgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2VjL2VjX3BtCiAgICAgIHBrZXlfZWNfaW5pdCwKICAgICAgcGtleV9lY19j b3B5LAogICAgICBwa2V5X2VjX2NsZWFudXAsCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vZXZwL2NfYWxsYy5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9jX2FsbGMuYwot LS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvY19hbGxjLmMuZmlwcwkyMDE5LTA5LTEwIDE1 OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvY19h bGxjLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNDg1MjUxODYgKzAyMDAKK2RpZmYgLXVwIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9ldnAvY19hbGxjLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v ZXZwL2NfYWxsYy5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9jX2FsbGMuYy5maXBz CTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2V2cC9jX2FsbGMuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAyNzU2NzM3NSArMDEwMAog QEAgLTE3LDYgKzE3LDkgQEAKICB2b2lkIG9wZW5zc2xfYWRkX2FsbF9jaXBoZXJzX2ludCh2b2lk KQogIHsKQEAgLTk2Myw5ICs5NjMsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZXZwL2NfYWxsYy5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9jX2FsbAogKyAgICB9 CiArI2VuZGlmCiAgfQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9jX2FsbGQu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvY19hbGxkLmMKLS0tLSBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2NfYWxsZC5jCTIwMTktMDkt MTMgMTU6MTM6MTEuMDQ4NTI1MTg2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vZXZwL2NfYWxsZC5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9jX2FsbGQuYwor LS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvY19hbGxkLmMuZmlwcwkyMDIwLTAzLTE3IDE1 OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvY19h bGxkLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMjc1NjczNzUgKzAxMDAKIEBAIC0xNiw2ICsxNiw5 IEBACiAgCiAgdm9pZCBvcGVuc3NsX2FkZF9hbGxfZGlnZXN0c19pbnQodm9pZCkKQEAgLTEwMDEs MTMgKzEwMDEsMTMgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9jX2FsbGQu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvY19hbGwKICsgICAgfQogKyNlbmRpZgog IH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZGlnZXN0LmMuZmlwcyBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL2RpZ2VzdC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2V2cC9kaWdlc3QuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9kaWdlc3QuYwkyMDE5LTA5LTEzIDE1OjEzOjEx LjA0OTUyNTE2OCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9kaWdl c3QuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMKKy0tLSBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZXZwL2RpZ2VzdC5jLmZpcHMJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAw MDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2RpZ2VzdC5jCTIwMjAt MDMtMTcgMTc6Mzg6NTcuNTI4MDkzNDY5ICswMTAwCiBAQCAtMTQsNiArMTQsOSBAQAogICNpbmNs dWRlIDxvcGVuc3NsL2VuZ2luZS5oPgotICNpbmNsdWRlICJpbnRlcm5hbC9ldnBfaW50LmgiCi0g I2luY2x1ZGUgImV2cF9sb2NsLmgiCisgI2luY2x1ZGUgImNyeXB0by9ldnAuaCIKKyAjaW5jbHVk ZSAiZXZwX2xvY2FsLmgiCiArI2lmZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNz bC9maXBzLmg+CiArI2VuZGlmCkBAIC0xMDY0LDkgKzEwNjQsOSBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZXZwL2RpZ2VzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2 cC9kaWdlcwogICAgICBPUEVOU1NMX2Fzc2VydChjdHgtPmRpZ2VzdC0+bWRfc2l6ZSA8PSBFVlBf TUFYX01EX1NJWkUpOwogICAgICByZXQgPSBjdHgtPmRpZ2VzdC0+ZmluYWwoY3R4LCBtZCk7CiAg ICAgIGlmIChzaXplICE9IE5VTEwpCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZw L2VfYWVzLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfYWVzLmMKLS0tLSBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZV9hZXMuYwkyMDE5 LTA5LTEzIDE3OjE5OjAwLjU1ODk5NDU2OSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9lX2Flcy5j CistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMJMjAyMC0wMy0xNyAx NTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2Vf YWVzLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMjg1NjczNTcgKzAxMDAKIEBAIC0zOTcsNyArMzk3 LDcgQEAgc3RhdGljIGludCBhZXNuaV94dHNfaW5pdF9rZXkoRVZQX0NJUEhFUgogICAgICAgICAg ICogVGhpcyBhZGRyZXNzZXMgUm9nYXdheSdzIHZ1bG5lcmFiaWxpdHkuCiAgICAgICAgICAgKiBT ZWUgY29tbWVudCBpbiBhZXNfeHRzX2luaXRfa2V5KCkgYmVsb3cuCkBAIC0xMTg5LDkgKzExODks OSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcyBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfYWVzLgogICAgICAgICAgICAgICAgICB8IEVWUF9DSVBI X0NVU1RPTV9JViB8IEVWUF9DSVBIX0ZMQUdfQ1VTVE9NX0NJUEhFUiBcCiAgICAgICAgICAgICAg ICAgIHwgRVZQX0NJUEhfQUxXQVlTX0NBTExfSU5JVCB8IEVWUF9DSVBIX0ZMQUdfREVGQVVMVF9B U04xKQogIAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9lX2RlczMuYy5maXBz IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZV9kZXMzLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfZGVzMy5jCTIwMTktMDktMTMgMTU6 MTM6MTEuMDUwNTI1MTUxICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZw L2VfZGVzMy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9lX2RlczMuYworLS0tIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZV9kZXMzLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3 LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZV9kZXMzLmMJ MjAyMC0wMy0xNyAxNzozMDo1Mi4wMjk1NjczNDAgKzAxMDAKIEBAIC0yMTEsMTYgKzIxMSwxOSBA QCBCTE9DS19DSVBIRVJfZGVmcyhkZXNfZWRlLCBERVNfRURFX0tFWSwKICAjIGRlZmluZSBkZXNf ZWRlM19jYmNfY2lwaGVyIGRlc19lZGVfY2JjX2NpcGhlcgogICMgZGVmaW5lIGRlc19lZGUzX2Vj Yl9jaXBoZXIgZGVzX2VkZV9lY2JfY2lwaGVyCkBAIC0xMjE4LDkgKzEyMTgsOSBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2V2cC9lX2RlcwogIAogIHN0YXRpYyBpbnQgZGVzX2VkZV9pbml0X2tleShFVlBfQ0lQ SEVSX0NUWCAqY3R4LCBjb25zdCB1bnNpZ25lZCBjaGFyICprZXksCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKml2LCBpbnQgZW5jKQotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9lX251bGwuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9ldnAvZV9udWxsLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2VfbnVsbC5j LmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL2VfbnVsbC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDUxNTI1MTMzICsw MjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2VfbnVsbC5jLmZpcHMgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9lX251bGwuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9ldnAvZV9udWxsLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAor KysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZV9udWxsLmMJMjAyMC0wMy0xNyAxNzozMDo1 Mi4wMjk1NjczNDAgKzAxMDAKIEBAIC0xOSw3ICsxOSw4IEBAIHN0YXRpYyBpbnQgbnVsbF9jaXBo ZXIoRVZQX0NJUEhFUl9DVFggKmMKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKmluLCBzaXplX3QgaW5sKTsKICBzdGF0aWMgY29uc3QgRVZQX0NJUEhFUiBuX2Np cGhlciA9IHsKQEAgLTEyMzEsMzAgKzEyMzEsMjggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2V2cC9lX251bGwuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZV9udWwK ICAgICAgbnVsbF9pbml0X2tleSwKICAgICAgbnVsbF9jaXBoZXIsCiAgICAgIE5VTEwsCi1kaWZm IC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9ldnAvZXZwX2VuYy5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9l dnBfZW5jLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2VuYy5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDUx NTI1MTMzICswMjAwCi1AQCAtMTcsMTAgKzE3LDE5IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZXZw X2VuYy5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMuZmlwcwkyMDIw LTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9ldnAvZXZwX2VuYy5jCTIwMjAtMDMtMTcgMTc6Mzk6NTIuNjYzMTI5MzczICswMTAwCitAQCAt MTcsOSArMTcsMTggQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9lbmdpbmUuaD4KLSAjaW5jbHVkZSAi aW50ZXJuYWwvZXZwX2ludC5oIgotICNpbmNsdWRlICJldnBfbG9jbC5oIgorICNpbmNsdWRlICJj cnlwdG8vZXZwLmgiCisgI2luY2x1ZGUgImV2cF9sb2NhbC5oIgogKyNpZmRlZiBPUEVOU1NMX0ZJ UFMKICsjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgogKyNlbmRpZgogIAogIGludCBFVlBfQ0lQ SEVSX0NUWF9yZXNldChFVlBfQ0lQSEVSX0NUWCAqYykKICB7Ci0tICAgIGlmIChjID09IE5VTEwp CiArI2lmZGVmIE9QRU5TU0xfRklQUwogKyAgICBpZiAoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkg ewogKyAgICAgICAgRklQU2VycihGSVBTX0ZfRVZQX0NJUEhFUl9DVFhfUkVTRVQsIEZJUFNfUl9G SVBTX1NFTEZURVNUX0ZBSUxFRCk7CiArICAgICAgICByZXR1cm4gMDsKICsgICAgfQogKyNlbmRp ZgotKyAgIGlmIChjID09IE5VTEwpCisgICAgIGlmIChjID09IE5VTEwpCiAgICAgICAgICByZXR1 cm4gMTsKICAgICAgaWYgKGMtPmNpcGhlciAhPSBOVUxMKSB7Ci0gICAgICAgICBpZiAoYy0+Y2lw aGVyLT5jbGVhbnVwICYmICFjLT5jaXBoZXItPmNsZWFudXAoYykpCiBAQCAtMzksNiArNDgsMTIg QEAgaW50IEVWUF9DSVBIRVJfQ1RYX3Jlc2V0KEVWUF9DSVBIRVJfQ1RYCiAgCiAgRVZQX0NJUEhF Ul9DVFggKkVWUF9DSVBIRVJfQ1RYX25ldyh2b2lkKQpAQCAtMTMwOSw5ICsxMzA3LDkgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfZW5jLmMuZmlwcyBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL2V2cF8KICAKICAgICAgaWYgKGtleSB8fCAoY3R4LT5jaXBoZXItPmZs YWdzICYgRVZQX0NJUEhfQUxXQVlTX0NBTExfSU5JVCkpIHsKICAgICAgICAgIGlmICghY3R4LT5j aXBoZXItPmluaXQoY3R4LCBrZXksIGl2LCBlbmMpKQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2V2cC9ldnBfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF9l cnIuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2Vyci5jLmZpcHMJMjAxOS0w OS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZXZwL2V2cF9lcnIuYwkyMDE5LTA5LTEzIDE1OjI1OjQ3LjI5MDI5ODE5MiArMDIwMAorZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9ldnBfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZXZwL2V2cF9lcnIuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZXZw X2Vyci5jLmZpcHMJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVu c3NsLTEuMS4xZS9jcnlwdG8vZXZwL2V2cF9lcnIuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAzMDU2 NzMyMiArMDEwMAogQEAgLTIzLDYgKzIzLDcgQEAgc3RhdGljIGNvbnN0IEVSUl9TVFJJTkdfREFU QSBFVlBfc3RyX2Z1bgogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIEVWUF9GX0FFU19UNF9Y VFNfSU5JVF9LRVksIDApLAogICAgICAgImFlc190NF94dHNfaW5pdF9rZXkifSwKQEAgLTEzMjgs NyArMTMyNiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2Vyci5j LmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfCiAgICAgIHtFUlJfUEFDSyhFUlJf TElCX0VWUCwgMCwgRVZQX1JfRVJST1JfTE9BRElOR19TRUNUSU9OKSwKICAgICAgImVycm9yIGxv YWRpbmcgc2VjdGlvbiJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVWUF9SX0VS Uk9SX1NFVFRJTkdfRklQU19NT0RFKSwKLUBAIC0yNDgsNiArMjUwLDcgQEAgc3RhdGljIGNvbnN0 IEVSUl9TVFJJTkdfREFUQSBFVlBfc3RyX3JlYQorQEAgLTI0OSw2ICsyNTEsNyBAQCBzdGF0aWMg Y29uc3QgRVJSX1NUUklOR19EQVRBIEVWUF9zdHJfcmVhCiAgICAgIHtFUlJfUEFDSyhFUlJfTElC X0VWUCwgMCwgRVZQX1JfUFJJVkFURV9LRVlfRU5DT0RFX0VSUk9SKSwKICAgICAgInByaXZhdGUg a2V5IGVuY29kZSBlcnJvciJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVWUF9S X1BVQkxJQ19LRVlfTk9UX1JTQSksICJwdWJsaWMga2V5IG5vdCByc2EifSwKQEAgLTEzMzYsNyAr MTMzNCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvZXZwX2Vyci5jLmZp cHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfCiAgICAgIHtFUlJfUEFDSyhFUlJfTElC X0VWUCwgMCwgRVZQX1JfVU5LTk9XTl9DSVBIRVIpLCAidW5rbm93biBjaXBoZXIifSwKICAgICAg e0VSUl9QQUNLKEVSUl9MSUJfRVZQLCAwLCBFVlBfUl9VTktOT1dOX0RJR0VTVCksICJ1bmtub3du IGRpZ2VzdCJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9FVlAsIDAsIEVWUF9SX1VOS05PV05f T1BUSU9OKSwgInVua25vd24gb3B0aW9uIn0sCi1AQCAtMjczLDYgKzI3Niw4IEBAIHN0YXRpYyBj b25zdCBFUlJfU1RSSU5HX0RBVEEgRVZQX3N0cl9yZWEKK0BAIC0yNzQsNiArMjc3LDggQEAgc3Rh dGljIGNvbnN0IEVSUl9TVFJJTkdfREFUQSBFVlBfc3RyX3JlYQogICAgICAid3JhcCBtb2RlIG5v dCBhbGxvd2VkIn0sCiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX0VWUCwgMCwgRVZQX1JfV1JPTkdf RklOQUxfQkxPQ0tfTEVOR1RIKSwKICAgICAgIndyb25nIGZpbmFsIGJsb2NrIGxlbmd0aCJ9LApA QCAtMTM0NSw5ICsxMzQzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9l dnBfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF8KICAgICAge0VSUl9Q QUNLKEVSUl9MSUJfRVZQLCAwLCBFVlBfUl9YVFNfRFVQTElDQVRFRF9LRVlTKSwKICAgICAgInh0 cyBkdXBsaWNhdGVkIGtleXMifSwKICAgICAgezAsIE5VTEx9Ci1kaWZmIC11cCBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAv ZXZwX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9ldnBfbGliLmMuZmlwcwky MDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9ldnAvZXZwX2xpYi5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDUxNTI1MTMzICswMjAwCitk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9ldnAvZXZwX2xpYi5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2 cC9ldnBfbGliLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvZXZwX2xpYi5jCTIwMjAtMDMtMTcgMTc6MzA6NTIu MDMwNTY3MzIyICswMTAwCiBAQCAtMTkyLDYgKzE5Miw5IEBAIGludCBFVlBfQ0lQSEVSX2ltcGxf Y3R4X3NpemUoY29uc3QgRVZQX0MKICBpbnQgRVZQX0NpcGhlcihFVlBfQ0lQSEVSX0NUWCAqY3R4 LCB1bnNpZ25lZCBjaGFyICpvdXQsCiAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hh ciAqaW4sIHVuc2lnbmVkIGludCBpbmwpCkBAIC0xMzU4LDkgKzEzNTYsOSBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9ldnAvZXZwXwogICAgICByZXR1cm4gY3R4LT5jaXBoZXItPmRvX2NpcGhlcihjdHgsIG91 dCwgaW4sIGlubCk7CiAgfQogIAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9t X3NoYTEuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvbV9zaGExLmMKLS0tLSBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL21fc2hhMS5jCTIw MTktMDktMTMgMTU6MTM6MTEuMDUyNTI1MTE2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9tX3No YTEuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvbV9zaGExLmMuZmlwcwkyMDIwLTAz LTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9l dnAvbV9zaGExLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMzA1NjczMjIgKzAxMDAKIEBAIC05NSw3 ICs5NSw3IEBAIHN0YXRpYyBjb25zdCBFVlBfTUQgc2hhMV9tZCA9IHsKICAgICAgTklEX3NoYTEs CiAgICAgIE5JRF9zaGExV2l0aFJTQUVuY3J5cHRpb24sCkBAIC0xNDI0LDkgKzE0MjIsOSBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2V2cC9tX3NoYQogICAgICBpbml0NTEyLAogICAgICB1cGRhdGU1MTIsCiAg ICAgIGZpbmFsNTEyLAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9tX3NoYTMu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvbV9zaGEzLmMKLS0tLSBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vZXZwL21fc2hhMy5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL21fc2hhMy5jCTIwMTktMDkt MTMgMTU6MTM6MTEuMDUyNTI1MTE2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vZXZwL21fc2hhMy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9tX3NoYTMuYwor LS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvbV9zaGEzLmMuZmlwcwkyMDIwLTAzLTE3IDE1 OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9ldnAvbV9z aGEzLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMzE1NjczMDUgKzAxMDAKIEBAIC0yOTUsNyArMjk1 LDcgQEAgY29uc3QgRVZQX01EICpFVlBfc2hhM18jI2JpdGxlbih2b2lkKQogICAgICAgICAgTklE X3NoYTNfIyNiaXRsZW4sICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgTklE X1JTQV9TSEEzXyMjYml0bGVuLCAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTQ4MSw5ICsx NDc5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9tX3NoYTMuYy5maXBz IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvbV9zaGEKICAgICAgICAgIHNoYWtlX2luaXQsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBzaGEzX3VwZGF0ZSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgc2hhM19maW5hbCwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAvcG1l dGhfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZXZwL3BtZXRoX2xpYi5jCi0tLS0g b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9wbWV0aF9saWIuYy5maXBzCTIwMTktMDktMTAgMTU6 MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2V2cC9wbWV0 aF9saWIuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1MjUyNTExNiArMDIwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2V2cC9wbWV0aF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9ldnAvcG1ldGhfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZXZwL3BtZXRo X2xpYi5jLmZpcHMJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVu c3NsLTEuMS4xZS9jcnlwdG8vZXZwL3BtZXRoX2xpYi5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMx NTY3MzA1ICswMTAwCiBAQCAtMTMxLDcgKzEzMSwxNSBAQCBzdGF0aWMgRVZQX1BLRVlfQ1RYICpp bnRfY3R4X25ldyhFVlBfUEtFCiAgICAgICAgICBwbWV0aCA9IEVOR0lORV9nZXRfcGtleV9tZXRo KGUsIGlkKTsKICAgICAgZWxzZQpAQCAtMTUwMCw5ICsxNDk4LDkgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2V2cC9wbWV0aF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9ldnAvcG0KICAKICAgICAgaWYgKHBtZXRoID09IE5VTEwpIHsKICAjaWZuZGVmIE9QRU5TU0xf Tk9fRU5HSU5FCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9idWlsZC5pbmZv LmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mbwotLS0tIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9maXBzL2J1aWxkLmluZm8uZmlwcwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1 MjUyNTExNiArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2J1aWxkLmluZm8J MjAxOS0wOS0xMyAxNToxMzoxMS4wNTI1MjUxMTYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9maXBzL2J1aWxkLmluZm8uZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlw cy9idWlsZC5pbmZvCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mby5m aXBzCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMyNTY3Mjg3ICswMTAwCisrKysgb3BlbnNzbC0xLjEu MWUvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mbwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAzMjU2NzI4NyAr MDEwMAogQEAgLTAsMCArMSwxNSBAQAogK0xJQlM9Li4vLi4vbGliY3J5cHRvCiArU09VUkNFWy4u Ly4uL2xpYmNyeXB0b109XApAQCAtMTUxOSw5ICsxNTE3LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mby5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9m aXBzL2IKICtTT1VSQ0VbZmlwc19zdGFuZGFsb25lX2htYWNdPWZpcHNfc3RhbmRhbG9uZV9obWFj LmMKICtJTkNMVURFW2ZpcHNfc3RhbmRhbG9uZV9obWFjXT0uLi8uLi9pbmNsdWRlCiArREVQRU5E W2ZpcHNfc3RhbmRhbG9uZV9obWFjXT0uLi8uLi9saWJjcnlwdG8KLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBzCTIwMTktMDktMTMgMTU6MTM6MTEuMDUz NTI1MDk4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2Vs ZnRlc3QuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1MzUyNTA5OCArMDIwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1 Mi4wMzM1NjcyNzAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2Fl c19zZWxmdGVzdC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMzNTY3MjcwICswMTAwCiBAQCAtMCww ICsxLDM3MiBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBP cGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTU3Niw3ICsxNTc0LDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3Qu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXAKICsjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4KICsj aWZkZWYgT1BFTlNTTF9GSVBTCiArIyBpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsjIGluY2x1 ZGUgImludGVybmFsL2ZpcHNfaW50LmgiCisrIyBpbmNsdWRlICJjcnlwdG8vZmlwcy5oIgogKyNl bmRpZgogKwogKyNpZmRlZiBPUEVOU1NMX0ZJUFMKQEAgLTE4OTUsOSArMTg5Myw5IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMuZmlwcyBv cGVuc3NsLTEuMS4xZC9jcnlwCiArfQogKwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlw cy5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMJMjAxOS0wOS0x MyAxNToxMzoxMS4wNTM1MjUwOTggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlw cy9maXBzLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTM1MjUwOTggKzAyMDAKK2RpZmYgLXVwIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9maXBzL2ZpcHMuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBz CTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMzNTY3MjcwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL2ZpcHMvZmlwcy5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMzNTY3MjcwICswMTAwCiBA QCAtMCwwICsxLDUyNiBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAz IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMjQyNSw5ICsy NDIzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwcy4KICt9CiArCiArI2VuZGlmCi1kaWZmIC11 cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCi0tLS0gb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcwkyMDE5LTA5LTEz IDE1OjEzOjExLjA1MzUyNTA5OCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBz L2ZpcHNfY21hY19zZWxmdGVzdC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDUzNTI1MDk4ICswMjAw CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRlc3Qu Yy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCist LS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcwky MDIwLTAzLTE3IDE3OjMwOjUyLjAzNDU2NzI1MyArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDMzNTY3 MjcwICswMTAwCiBAQCAtMCwwICsxLDE1NiBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJp Z2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpA QCAtMjQ4MSw3ICsyNDc5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMv Zmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnkKICsjaW5jbHVkZSA8 c3RyaW5nLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wv Zmlwcy5oPgotKyNpbmNsdWRlICJpbnRlcm5hbC9maXBzX2ludC5oIgorKyNpbmNsdWRlICJjcnlw dG8vZmlwcy5oIgogKyNpbmNsdWRlIDxvcGVuc3NsL2NtYWMuaD4KICsjaW5jbHVkZSAiZmlwc19s b2NsLmgiCiArCkBAIC0yNTg1LDkgKzI1ODMsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeQog KyAgICByZXR1cm4gcnY7CiArfQogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9m aXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTM1MjUwOTggKzAy MDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jCTIw MTktMDktMTMgMTU6MTM6MTEuMDUzNTI1MDk4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9m aXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcwkyMDIwLTAzLTE3IDE3OjMwOjUyLjAzNDU2NzI1 MyArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0 LmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMzQ1NjcyNTMgKzAxMDAKIEBAIC0wLDAgKzEsMTMzIEBA CiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJv amVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0yNjQyLDcgKzI2NDAsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMgb3Bl bnNzbC0xLjEuMWQvY3J5cAogKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgogKyNpZmRlZiBPUEVO U1NMX0ZJUFMKICsjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgotKyMgaW5jbHVkZSAiaW50ZXJu YWwvZmlwc19pbnQuaCIKKysjIGluY2x1ZGUgImNyeXB0by9maXBzLmgiCiArI2VuZGlmCiArI2lu Y2x1ZGUgPG9wZW5zc2wvb3BlbnNzbGNvbmYuaD4KICsKQEAgLTI3MjIsOSArMjcyMCw5IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMS4xZC9jcnlwCiArICAgIHJldHVybiByZXQ7CiArfQogKyNlbmRpZgotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jCi0tLS0gb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jLmZpcHMJMjAxOS0wOS0xMyAx NToxMzoxMS4wNTU1MjUwNjMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX2RoX3NlbGZ0ZXN0LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTU1MjUwNjMgKzAyMDAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBz IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYworLS0tIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBzCTIwMjAtMDMtMTcg MTc6MzA6NTIuMDM4NTY3MTgzICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kaF9zZWxmdGVzdC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDM4NTY3MTgzICswMTAwCiBA QCAtMCwwICsxLDE4MCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDEx IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMjkwNiw5ICsy OTA0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxm dGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHQKICsgICAgcmV0dXJuIHJldDsKICt9CiAr I2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3Ry LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMKLS0tLSBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMuZmlwcwkyMDE5LTA5LTEz IDE1OjEzOjExLjA1NTUyNTA2MyArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBz L2ZpcHNfZHJiZ19jdHIuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1NTUyNTA2MyArMDIwMAorZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCistLS0gb3BlbnNzbC0xLjEu MWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4w NDA1NjcxNDggKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdf Y3RyLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wMzk1NjcxNjUgKzAxMDAKIEBAIC0wLDAgKzEsNDA2 IEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ19jdHIuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIg U3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAt MzMxNiw5ICszMzE0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlw c19kcmJnX2N0ci5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2YKICsKICsgICAgcmV0dXJu IDE7CiArfQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hh c2guYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMKLS0t LSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMJMjAxOS0w OS0xMyAxNToxMzoxMS4wNTY1MjUwNDYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfaGFzaC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDU2NTI1MDQ2ICswMjAw CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZp cHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYworLS0tIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMuZmlwcwkyMDIwLTAzLTE3IDE3 OjMwOjUyLjA0MTU2NzEzMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2Zp cHNfZHJiZ19oYXNoLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDA1NjcxNDggKzAxMDAKIEBAIC0w LDAgKzEsMzU0IEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ19oYXNoLmMgKi8KICsvKiBXcml0 dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9w ZW5TU0wKQEAgLTMzNzksNyArMzM3Nyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vCiArI2lu Y2x1ZGUgPHN0cmluZy5oPgogKyNpbmNsdWRlIDxvcGVuc3NsL2NyeXB0by5oPgogKyNpbmNsdWRl IDxvcGVuc3NsL2ZpcHMuaD4KLSsjaW5jbHVkZSAiaW50ZXJuYWwvZmlwc19pbnQuaCIKKysjaW5j bHVkZSAiY3J5cHRvL2ZpcHMuaCIKICsjaW5jbHVkZSA8b3BlbnNzbC9maXBzX3JhbmQuaD4KICsj aW5jbHVkZSAiZmlwc19yYW5kX2xjbC5oIgogKwpAQCAtMzY3NCw5ICszNjcyLDkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYy5maXBzIG9wZW5z c2wtMS4xLjFkL2NyeXB0by8KICsKICsgICAgcmV0dXJuIDE7CiArfQotZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFjLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfaG1hYy5jLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTY1MjUwNDYg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jCTIw MTktMDktMTMgMTU6MTM6MTEuMDU2NTI1MDQ2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX2htYWMuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2Zp cHNfZHJiZ19obWFjLmMuZmlwcwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0MjU2NzExMyArMDEwMAor KysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFjLmMJMjAyMC0wMy0x NyAxNzozMDo1Mi4wNDI1NjcxMTMgKzAxMDAKIEBAIC0wLDAgKzEsMjYyIEBACiArLyogZmlwcy9y YW5kL2ZpcHNfZHJiZ19obWFjLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5z b24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTM5NDAsOSArMzkzOCw5 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFjLmMu ZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vCiArCiArICAgIHJldHVybiAxOwogK30KLWRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYy5maXBzIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYwotLS0tIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYy5maXBzCTIwMTktMDktMTMgMTU6MTM6MTEuMDU2 NTI1MDQ2ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xp Yi5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDU2NTI1MDQ2ICswMjAwCitkaWZmIC11cCBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9j cnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlw cy9maXBzX2RyYmdfbGliLmMuZmlwcwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0MzU2NzA5NSArMDEw MAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYwkyMDIwLTAz LTE3IDE3OjMwOjUyLjA0MzU2NzA5NSArMDEwMAogQEAgLTAsMCArMSw1MjggQEAKICsvKiBXcml0 dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9w ZW5TU0wKICsgKiBwcm9qZWN0LgpAQCAtNDAwMCw3ICszOTk4LDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2YKICsjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KICsjaW5jbHVkZSA8b3BlbnNz bC9lcnIuaD4KICsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2luY2x1ZGUgImludGVybmFs L2ZpcHNfaW50LmgiCisrI2luY2x1ZGUgImNyeXB0by9maXBzLmgiCiArI2luY2x1ZGUgPG9wZW5z c2wvZmlwc19yYW5kLmg+CiArI2luY2x1ZGUgImZpcHNfbG9jbC5oIgogKyNpbmNsdWRlICJmaXBz X3JhbmRfbGNsLmgiCkBAIC00NDcyLDkgKzQ0NzAsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v ZgogK3sKICsgICAgLyogSnVzdCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBBUEkgY2FsbCB3aXRo IG5vIGVmZmVjdC4gKi8KICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfcmFuZC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X3JhbmQuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19yYW5kLmMu ZmlwcwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1NjUyNTA0NiArMDIwMAotKysrIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19yYW5kLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTY1 MjUwNDYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJi Z19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5j CistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzCTIw MjAtMDMtMTcgMTc6MzA6NTIuMDQ0NTY3MDc4ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0NDU2NzA3OCAr MDEwMAogQEAgLTAsMCArMSwxODUgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX3JhbmQuYyAq LwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcp IGZvciB0aGUgT3BlblNTTApAQCAtNDY2MSw5ICs0NjU5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by8KICt7CiArICAgIHJldHVybiAmcmFuZF9kcmJnX21ldGg7CiArfQotZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMJMjAxOS0wOS0xMyAxNTox MzoxMS4wNTc1MjUwMjggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBz X2RyYmdfc2VsZnRlc3QuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1NzUyNTAyOCArMDIwMAorZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYworLS0tIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMJMjAyMC0w My0xNyAxNzozMDo1Mi4wNDQ1NjcwNzggKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0NDU2NzA3OCAr MDEwMAogQEAgLTAsMCArMSw4MjggQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX3NlbGZ0ZXN0 LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wu b3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTU0OTMsOSArNTQ5MSw5IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0x LjEuMWQvY3J5CiArICAgIEZJUFNfZHJiZ19mcmVlKGRjdHgpOwogKyAgICByZXR1cm4gcnY7CiAr fQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0 LmguZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAot LS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5oLmZpcHMJ MjAxOS0wOS0xMyAxNToxMzoxMS4wNTc1MjUwMjggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAkyMDE5LTA5LTEzIDE1OjEzOjExLjA1NzUy NTAyOCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X3NlbGZ0ZXN0LmguZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2Vs ZnRlc3QuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVz dC5oLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDU1NjcwNjEgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAkyMDIwLTAzLTE3IDE3OjMw OjUyLjA0NTU2NzA2MSArMDEwMAogQEAgLTAsMCArMSwxNzkxIEBACiArLyogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMg cmVzZXJ2ZWQuCkBAIC03Mjg4LDkgKzcyODYsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeQog KyAgICAweGVmLCAweDA1LCAweDllLCAweGI4LCAweGM3LCAweDUyLCAweGU0LCAweDBlLCAweDQy LCAweGFhLCAweDdjLCAweDc5LAogKyAgICAweGMyLCAweGQ2LCAweGZkLCAweGE1CiArfTsKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCi0tLS0gb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTktMDkt MTMgMTU6MTM6MTEuMDU3NTI1MDI4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Zp cHMvZmlwc19kc2Ffc2VsZnRlc3QuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1NzUyNTAyOCArMDIw MAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3Qu Yy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMKKy0t LSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jLmZpcHMJMjAy MC0wMy0xNyAxNzozMDo1Mi4wNDY1NjcwNDMgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDQ2NTY3MDQz ICswMTAwCiBAQCAtMCwwICsxLDE5NSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0 IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAt NzM0NSw3ICs3MzQzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlw c19kc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXAKICsjaW5jbHVkZSA8b3Bl bnNzbC9jcnlwdG8uaD4KICsjaW5jbHVkZSA8b3BlbnNzbC9kc2EuaD4KICsjaW5jbHVkZSA8b3Bl bnNzbC9maXBzLmg+Ci0rI2luY2x1ZGUgImludGVybmFsL2ZpcHNfaW50LmgiCisrI2luY2x1ZGUg ImNyeXB0by9maXBzLmgiCiArI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiArI2luY2x1ZGUgPG9w ZW5zc2wvZXZwLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KQEAgLTc0ODcsOSArNzQ4NSw5 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0 LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwCiArICAgIHJldHVybiByZXQ7CiArfQogKyNlbmRp ZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0ZXN0 LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYwot LS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZWNkaF9zZWxmdGVzdC5jLmZpcHMJ MjAxOS0wOS0xMyAxNToxMzoxMS4wNTg1MjUwMTEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA1ODUy NTAxMSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2Ro X3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2Vs ZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkaF9zZWxmdGVz dC5jLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDY1NjcwNDMgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYwkyMDIwLTAzLTE3IDE3OjMw OjUyLjA0NjU2NzA0MyArMDEwMAogQEAgLTAsMCArMSwyNDIgQEAKICsvKiBmaXBzL2VjZGgvZmlw c19lY2RoX3NlbGZ0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24g KHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTc2NDQsMjQgKzc2NDIsMjQg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0ZXN0 LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnkKICsgICAgICAgIGQgPSBCTl9iaW4yYm4oZWNkLT5k MSwgZWNkLT5kMWxlbiwgZCk7CiArCiArICAgICAgICBpZiAoIXggfHwgIXkgfHwgIWQgfHwgIXp0 bXApIHsKLSsgICAgICAgICAgICBydiA9IC0xOworKyAgICAgICAgICAgIHJ2ID0gMDsKICsgICAg ICAgICAgICBnb3RvIGVycjsKICsgICAgICAgIH0KICsKICsgICAgICAgIGVjMSA9IEVDX0tFWV9u ZXdfYnlfY3VydmVfbmFtZShlY2QtPmN1cnZlKTsKICsgICAgICAgIGlmICghZWMxKSB7Ci0rICAg ICAgICAgICAgcnYgPSAtMTsKKysgICAgICAgICAgICBydiA9IDA7CiArICAgICAgICAgICAgZ290 byBlcnI7CiArICAgICAgICB9CiArICAgICAgICBFQ19LRVlfc2V0X2ZsYWdzKGVjMSwgRUNfRkxB R19DT0ZBQ1RPUl9FQ0RIKTsKICsKICsgICAgICAgIGlmICghRUNfS0VZX3NldF9wdWJsaWNfa2V5 X2FmZmluZV9jb29yZGluYXRlcyhlYzEsIHgsIHkpKSB7Ci0rICAgICAgICAgICAgcnYgPSAtMTsK KysgICAgICAgICAgICBydiA9IDA7CiArICAgICAgICAgICAgZ290byBlcnI7CiArICAgICAgICB9 CiArCiArICAgICAgICBpZiAoIUVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkoZWMxLCBkKSkgewotKyAg ICAgICAgICAgIHJ2ID0gLTE7CisrICAgICAgICAgICAgcnYgPSAwOwogKyAgICAgICAgICAgIGdv dG8gZXJyOwogKyAgICAgICAgfQogKwpAQCAtNzY2OSwzMCArNzY2NywzMCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzIG9wZW5z c2wtMS4xLjFkL2NyeQogKyAgICAgICAgeSA9IEJOX2JpbjJibihlY2QtPnkyLCBlY2QtPnkybGVu LCB5KTsKICsKICsgICAgICAgIGlmICgheCB8fCAheSkgewotKyAgICAgICAgICAgIHJ2ID0gLTE7 CisrICAgICAgICAgICAgcnYgPSAwOwogKyAgICAgICAgICAgIGdvdG8gZXJyOwogKyAgICAgICAg fQogKwogKyAgICAgICAgZWMyID0gRUNfS0VZX25ld19ieV9jdXJ2ZV9uYW1lKGVjZC0+Y3VydmUp OwogKyAgICAgICAgaWYgKCFlYzIpIHsKLSsgICAgICAgICAgICBydiA9IC0xOworKyAgICAgICAg ICAgIHJ2ID0gMDsKICsgICAgICAgICAgICBnb3RvIGVycjsKICsgICAgICAgIH0KICsgICAgICAg IEVDX0tFWV9zZXRfZmxhZ3MoZWMxLCBFQ19GTEFHX0NPRkFDVE9SX0VDREgpOwogKwogKyAgICAg ICAgaWYgKCFFQ19LRVlfc2V0X3B1YmxpY19rZXlfYWZmaW5lX2Nvb3JkaW5hdGVzKGVjMiwgeCwg eSkpIHsKLSsgICAgICAgICAgICBydiA9IC0xOworKyAgICAgICAgICAgIHJ2ID0gMDsKICsgICAg ICAgICAgICBnb3RvIGVycjsKICsgICAgICAgIH0KICsKICsgICAgICAgIGVjcCA9IEVDX0tFWV9n ZXQwX3B1YmxpY19rZXkoZWMyKTsKICsgICAgICAgIGlmICghZWNwKSB7Ci0rICAgICAgICAgICAg cnYgPSAtMTsKKysgICAgICAgICAgICBydiA9IDA7CiArICAgICAgICAgICAgZ290byBlcnI7CiAr ICAgICAgICB9CiArCiArICAgICAgICBpZiAoIUVDREhfY29tcHV0ZV9rZXkoenRtcCwgZWNkLT56 bGVuLCBlY3AsIGVjMSwgMCkpIHsKLSsgICAgICAgICAgICBydiA9IC0xOworKyAgICAgICAgICAg IHJ2ID0gMDsKICsgICAgICAgICAgICBnb3RvIGVycjsKICsgICAgICAgIH0KICsKQEAgLTc3MzMs OSArNzczMSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZWNk aF9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5CiArfQogKwogKyNlbmRpZgotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZp cHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jCi0tLS0g b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZpcHMJMjAx OS0wOS0xMyAxNToxMzoxMS4wNTg1MjUwMTEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTg1MjUw MTEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ff c2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2Vs ZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRl c3QuYy5maXBzCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDQ2NTY3MDQzICswMTAwCisrKysgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jCTIwMjAtMDMtMTcgMTc6 MzA6NTIuMDQ2NTY3MDQzICswMTAwCiBAQCAtMCwwICsxLDE2NiBAQAogKy8qIGZpcHMvZWNkc2Ev Zmlwc19lY2RzYV9zZWxmdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVu c29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC03Nzk4LDcgKzc3OTYs NyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0 ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcgogKyNpbmNsdWRlIDxvcGVuc3NsL2VjLmg+CiAr I2luY2x1ZGUgPG9wZW5zc2wvZWNkc2EuaD4KICsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0r I2luY2x1ZGUgImludGVybmFsL2ZpcHNfaW50LmgiCisrI2luY2x1ZGUgImNyeXB0by9maXBzLmgi CiArI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CiAr I2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KQEAgLTc5MDMsOSArNzkwMSw5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5z c2wtMS4xLjFkL2NyCiArfQogKwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2ZpcHMvZmlwc19lcnIuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNf ZXJyLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2Vyci5oLmZpcHMJMjAx OS0wOS0xMyAxNToxMzoxMS4wNTg1MjUwMTEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vZmlwcy9maXBzX2Vyci5oCTIwMTktMDktMTMgMTU6MTM6MTEuMDU4NTI1MDExICswMjAwCitk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2Vyci5oLmZpcHMgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19lcnIuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9maXBzL2ZpcHNfZXJyLmguZmlwcwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0NzU2NzAyNiArMDEw MAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZXJyLmgJMjAyMC0wMy0xNyAx NzozMDo1Mi4wNDc1NjcwMjYgKzAxMDAKIEBAIC0wLDAgKzEsMTk3IEBACiArLyogY3J5cHRvL2Zp cHNfZXJyLmggKi8KICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtODEwNCw5ICs4MTAyLDkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lcnIuaC5maXBzIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9maXBzL2YKICsjZW5kaWYKICsgICAgcmV0dXJuIDE7CiArfQotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19lcnMuYy5maXBzIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9maXBzL2ZpcHNfZXJzLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX2Vycy5jLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTg1MjUwMTEgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2Vycy5jCTIwMTktMDktMTMgMTU6MTM6MTEu MDU4NTI1MDExICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBz X2Vycy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19lcnMuYworLS0tIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfZXJzLmMuZmlwcwkyMDIwLTAzLTE3IDE3OjMw OjUyLjA0NzU2NzAyNiArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNf ZXJzLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDc1NjcwMjYgKzAxMDAKIEBAIC0wLDAgKzEsNyBA QAogKyNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+CiArCkBAIC04MTE1LDkgKzgxMTMs OSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2Vycy5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZgogKyNlbHNlCiArc3RhdGljIHZvaWQgKmR1bW15 ID0gJmR1bW15OwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMv Zmlwc19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBz X2htYWNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfaG1h Y19zZWxmdGVzdC5jLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNTk1MjQ5OTMgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwkyMDE5LTA5 LTEzIDE1OjEzOjExLjA1OTUyNDk5MyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL2ZpcHMvZmlwc19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v Zmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBz L2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDc1NjcwMjYg KzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3Qu YwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0NzU2NzAyNiArMDEwMAogQEAgLTAsMCArMSwxMzQgQEAK ICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNSBUaGUgT3BlblNTTCBQcm9q ZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTgyNTMsOSArODI1MSw5IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMgb3Bl bnNzbC0xLjEuMWQvY3J5CiArICAgIHJldHVybiAxOwogK30KICsjZW5kaWYKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2ZpcHMvZmlwc19sb2NsLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX2xvY2wuaC5maXBzCTIwMTktMDktMTMgMTU6MTM6MTEuMDU5NTI0OTkzICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmgJMjAxOS0wOS0xMyAxNToxMzox MS4wNTk1MjQ5OTMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2Zp cHNfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmgKKy0t LSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaC5maXBzCTIwMjAtMDMtMTcg MTc6MzA6NTIuMDQ4NTY3MDA4ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMv Zmlwc19sb2NsLmgJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDg1NjcwMDggKzAxMDAKIEBAIC0wLDAg KzEsNzEgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAxMSBUaGUgT3Bl blNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTgzMjgsOSArODMyNiw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvCiArfQogKyMgZW5kaWYKICsjZW5kaWYKLWRpZmYgLXVw IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlw cy9maXBzX3Bvc3QuYy5maXBzCTIwMTktMDktMTMgMTU6MTM6MTEuMDU5NTI0OTkzICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMJMjAxOS0wOS0xMyAxNTox MzoxMS4wNTk1MjQ5OTMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBz L2ZpcHNfcG9zdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMK Ky0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzCTIwMjAtMDMt MTcgMTc6MzA6NTIuMDQ4NTY3MDA4ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Zp cHMvZmlwc19wb3N0LmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNDg1NjcwMDggKzAxMDAKIEBAIC0w LDAgKzEsMjI0IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhl IE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC04NDAwLDcgKzgzOTgs NyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBz IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzLwogKy8qIFBvd2VyIG9uIHNlbGYgdGVzdCAoUE9T VCkgc3VwcG9ydCBmdW5jdGlvbnMgKi8KICsKICsjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgot KyMgaW5jbHVkZSAiaW50ZXJuYWwvZmlwc19pbnQuaCIKKysjIGluY2x1ZGUgImNyeXB0by9maXBz LmgiCiArIyBpbmNsdWRlICJmaXBzX2xvY2wuaCIKICsKICsvKiBSdW4gYWxsIHNlbGZ0ZXN0cyAq LwpAQCAtODU1Niw5ICs4NTU0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Zp cHMvZmlwc19wb3N0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy8KICsgICAgcmV0 dXJuIDE7CiArfQogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMv Zmlwc19yYW5kX2xjbC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5k X2xjbC5oCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oLmZp cHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjA1MjQ5NzYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGNsLmgJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjA1MjQ5 NzYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9s Y2wuaC5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaAorLS0t IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzCTIwMjAtMDMt MTcgMTc6MzA6NTIuMDQ4NTY3MDA4ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Zp cHMvZmlwc19yYW5kX2xjbC5oCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDQ4NTY3MDA4ICswMTAwCiBA QCAtMCwwICsxLDIwMyBAQAogKy8qIGZpcHMvcmFuZC9maXBzX3JhbmRfbGNsLmggKi8KICsvKiBX cml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhl IE9wZW5TU0wKQEAgLTg3NjMsOSArODc2MSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9mCiAr I2RlZmluZSBGSVBTX2RpZ2VzdHVwZGF0ZSBFVlBfRGlnZXN0VXBkYXRlCiArI2RlZmluZSBGSVBT X2RpZ2VzdGZpbmFsIEVWUF9EaWdlc3RGaW5hbAogKyNkZWZpbmUgTV9FVlBfTURfc2l6ZSBFVlBf TURfc2l6ZQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xp Yi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jCi0tLS0g b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jLmZpcHMJMjAxOS0wOS0x MyAxNToxMzoxMS4wNjA1MjQ5NzYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlw cy9maXBzX3JhbmRfbGliLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjA1MjQ5NzYgKzAyMDAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYy5maXBzIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYworLS0tIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYy5maXBzCTIwMjAtMDMtMTcgMTc6MzA6NTIu MDQ5NTY2OTkxICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5k X2xpYi5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDQ5NTY2OTkxICswMTAwCiBAQCAtMCwwICsxLDIz NCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NM IFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtODgyNyw3ICs4ODI1LDcgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jLmZpcHMgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2YKICsjaW5jbHVkZSA8b3BlbnNzbC9yYW5kLmg+CiArI2luY2x1 ZGUgPG9wZW5zc2wvZXJyLmg+CiArI2luY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgotKyNpbmNsdWRl ICJpbnRlcm5hbC9maXBzX2ludC5oIgorKyNpbmNsdWRlICJjcnlwdG8vZmlwcy5oIgogKyNpbmNs dWRlIDxvcGVuc3NsL2ZpcHNfcmFuZC5oPgogKyNpbmNsdWRlICJlX29zLmgiCiArCkBAIC05MDAx LDkgKzg5OTksOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX3Jh bmRfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZgogKyMgZW5kaWYKICt9CiArCi1k aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jLmZp cHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYwotLS0tIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDE5LTA5 LTEzIDE1OjEzOjExLjA2MDUyNDk3NiArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9m aXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjA1MjQ5NzYgKzAy MDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0 LmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCist LS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzCTIw MjAtMDMtMTcgMTc6MzA6NTIuMDQ5NTY2OTkxICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA0OTU2Njk5 MSArMDEwMAogQEAgLTAsMCArMSwzMzggQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdo dCAoYykgMjAwMy0yMDA3IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVk LgpAQCAtOTA1OCw3ICs5MDU2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Zp cHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXAKICsjaW5jbHVk ZSA8b3BlbnNzbC9lcnIuaD4KICsjaWZkZWYgT1BFTlNTTF9GSVBTCiArIyBpbmNsdWRlIDxvcGVu c3NsL2ZpcHMuaD4KLSsjIGluY2x1ZGUgImludGVybmFsL2ZpcHNfaW50LmgiCisrIyBpbmNsdWRl ICJjcnlwdG8vZmlwcy5oIgogKyNlbmRpZgogKyNpbmNsdWRlIDxvcGVuc3NsL3JzYS5oPgogKyNp bmNsdWRlIDxvcGVuc3NsL2V2cC5oPgpAQCAtOTM0Myw5ICs5MzQxLDkgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4xLjFkL2NyeXAKICt9CiArCiArI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBk ZWYgT1BFTlNTTF9GSVBTICovCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX3NoYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2ZpcHMvZmlwc19z aGFfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfc2hhX3Nl bGZ0ZXN0LmMuZmlwcwkyMDE5LTA5LTEzIDE1OjEzOjExLjA2MDUyNDk3NiArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMJMjAxOS0wOS0xMyAx NToxMzoxMS4wNjA1MjQ5NzYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9m aXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vZmlwcy9m aXBzX3NoYV9zZWxmdGVzdC5jCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19z aGFfc2VsZnRlc3QuYy5maXBzCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDUwNTY2OTczICswMTAwCisr Kysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYwkyMDIwLTAz LTE3IDE3OjMwOjUyLjA1MDU2Njk3MyArMDEwMAogQEAgLTAsMCArMSwyMjMgQEAKICsvKiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4KQEAgLTk1NzAsOSArOTU2OCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4x ZC9jcnlwCiArfQogKwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Zp cHMvZmlwc19zdGFuZGFsb25lX2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBz L2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9m aXBzX3N0YW5kYWxvbmVfaG1hYy5jLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjE1MjQ5NTgg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1h Yy5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDYxNTI0OTU4ICswMjAwCitkaWZmIC11cCBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1hYy5jLmZpcHMgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYworLS0tIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMuZmlwcwkyMDIwLTAzLTE3IDE3 OjMwOjUyLjA1MDU2Njk3MyArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9maXBzL2Zp cHNfc3RhbmRhbG9uZV9obWFjLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNTA1NjY5NzMgKzAxMDAK IEBAIC0wLDAgKzEsMTI3IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIw MDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC05NzAxLDEw ICs5Njk5LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9maXBzL2ZpcHNfc3Rh bmRhbG9uZV9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jCiArI2VuZGlmCiArICAgIHJldHVy biAwOwogK30KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9obWFjL2htYWMuYy5maXBz IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9obWFjL2htYWMuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9obWFjL2htYWMuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAw Ci0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2htYWMvaG1hYy5jCTIwMTktMDktMTMgMTU6MTM6 MTEuMDYxNTI0OTU4ICswMjAwCi1AQCAtNDMsNiArNDMsMTMgQEAgaW50IEhNQUNfSW5pdF9leChI TUFDX0NUWCAqY3R4LCBjb25zdCB2bworZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ht YWMvaG1hYy5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2htYWMvaG1hYy5jCistLS0gb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2htYWMvaG1hYy5jLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4w NTA1NjY5NzMgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vaG1hYy9obWFjLmMJMjAy MC0wMy0xNyAxNzozODoxNi45Njk4MDI2NjMgKzAxMDAKK0BAIC00NCw2ICs0NCwxMyBAQCBpbnQg SE1BQ19Jbml0X2V4KEhNQUNfQ1RYICpjdHgsIGNvbnN0IHZvCiAgICAgICAgICByZXR1cm4gMDsK ICAKICAgICAgaWYgKGtleSAhPSBOVUxMKSB7CkBAIC05NzE2LDExICs5NzE0LDExIEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9obWFjL2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9obWFjL2htYWMuCiArICAgICAgICAgICAgZ290byBlcnI7CiArI2VuZGlmCiAgICAg ICAgICByZXNldCA9IDE7CisgCiAgICAgICAgICBqID0gRVZQX01EX2Jsb2NrX3NpemUobWQpOwot ICAgICAgICAgaWYgKCFvc3NsX2Fzc2VydChqIDw9IChpbnQpc2l6ZW9mKGN0eC0+a2V5KSkpCi1k aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vaG1hYy9obV9wbWV0aC5jLmZpcHMgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2htYWMvaG1fcG1ldGguYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9obWFjL2htX3BtZXRoLmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIw MAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9obWFjL2htX3BtZXRoLmMJMjAxOS0wOS0xMyAx NToxMzoxMS4wNjE1MjQ5NTggKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9o bWFjL2htX3BtZXRoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vaG1hYy9obV9wbWV0aC5j CistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2htYWMvaG1fcG1ldGguYy5maXBzCTIwMjAtMDMt MTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2ht YWMvaG1fcG1ldGguYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA1MTU2Njk1NiArMDEwMAogQEAgLTE4 MCw3ICsxODAsNyBAQCBzdGF0aWMgaW50IHBrZXlfaG1hY19jdHJsX3N0cihFVlBfUEtFWV9DCiAg CiAgY29uc3QgRVZQX1BLRVlfTUVUSE9EIGhtYWNfcGtleV9tZXRoID0gewpAQCAtOTczMCw5ICs5 NzI4LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2htYWMvaG1fcG1ldGguYy5m aXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9obWFjL2gKICAgICAgcGtleV9obWFjX2luaXQsCiAg ICAgIHBrZXlfaG1hY19jb3B5LAogICAgICBwa2V5X2htYWNfY2xlYW51cCwKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL2ZpcHNfaW50LmguZmlwcyBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9maXBzX2ludC5oCi0tLS0gb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvZmlwc19pbnQuaC5maXBzCTIwMTktMDkt MTMgMTU6MTM6MTEuMDYxNTI0OTU4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2lu Y2x1ZGUvaW50ZXJuYWwvZmlwc19pbnQuaAkyMDE5LTA5LTEzIDE1OjEzOjExLjA2MTUyNDk1OCAr MDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9jcnlwdG8vZmlwcy5oLmZpcHMg b3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9jcnlwdG8vZmlwcy5oCistLS0gb3BlbnNzbC0xLjEuMWUv aW5jbHVkZS9jcnlwdG8vZmlwcy5oLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNTE1NjY5NTYg KzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL2NyeXB0by9maXBzLmgJMjAyMC0wMy0x NyAxNzozMDo1Mi4wNTE1NjY5NTYgKzAxMDAKIEBAIC0wLDAgKzEsOTggQEAKICsvKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJp Z2h0cyByZXNlcnZlZC4KQEAgLTk4MzIsMTQgKzk4MzAsMTQgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvZmlwc19pbnQuaC5maXBzIG9wZW5zc2wtMS4x LjFkL2MKICt2b2lkIEZJUFNfZ2V0X3RpbWV2ZWModW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25l ZCBsb25nICpwY3RyKTsKICsKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9vX2ZpcHMuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9vX2ZpcHMuYwotLS0tIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9vX2ZpcHMuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29fZmlwcy5jCTIwMTktMDktMTMg MTU6MTM6MTEuMDYxNTI0OTU4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v b19maXBzLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vb19maXBzLmMKKy0tLSBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vb19maXBzLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAw MCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9vX2ZpcHMuYwkyMDIwLTAzLTE3IDE3 OjMwOjUyLjA1MjU2NjkzOSArMDEwMAogQEAgLTgsMTcgKzgsMjggQEAKICAgKi8KICAKICAjaW5j bHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKLSsjaW5jbHVkZSAiaW50ZXJuYWwvZmlwc19pbnQu aCIKKysjaW5jbHVkZSAiY3J5cHRvL2ZpcHMuaCIKICAKICBpbnQgRklQU19tb2RlKHZvaWQpCiAg ewpAQCAtOTg2NCw5ICs5ODYyLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29f Zmlwcy5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29fZmlwcy5jCiAgICAgIHJldHVybiAw OwogKyNlbmRpZgogIH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9vX2luaXQuYy5m aXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9vX2luaXQuYwotLS0tIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9vX2luaXQuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29faW5pdC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDYy NTI0OTQxICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vb19pbml0LmMuZmlw cyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vb19pbml0LmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vb19pbml0LmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4xLjFlL2NyeXB0by9vX2luaXQuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA1MjU2 NjkzOSArMDEwMAogQEAgLTcsOCArNyw2OCBAQAogICAqIGh0dHBzOi8vd3d3Lm9wZW5zc2wub3Jn L3NvdXJjZS9saWNlbnNlLmh0bWwKICAgKi8KQEAgLTk4ODQsNyArOTg4Miw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9vX2luaXQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9vX2luaXQuYwogKyMgaW5jbHVkZSA8c3RkbGliLmg+CiArIyBpbmNsdWRlIDxvcGVuc3NsL3Jh bmQuaD4KICsjIGluY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgotKyMgaW5jbHVkZSAiaW50ZXJuYWwv Zmlwc19pbnQuaCIKKysjIGluY2x1ZGUgImNyeXB0by9maXBzLmgiCiArCiArIyBkZWZpbmUgRklQ U19NT0RFX1NXSVRDSF9GSUxFICIvcHJvYy9zeXMvY3J5cHRvL2ZpcHNfZW5hYmxlZCIKICsKQEAg LTk5MzYsMTIgKzk5MzQsMTIgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29faW5p dC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL29faW5pdC5jCiAgCiAgLyoKICAgKiBQZXJm b3JtIGFueSBlc3NlbnRpYWwgT3BlblNTTCBpbml0aWFsaXphdGlvbiBvcGVyYXRpb25zLiBDdXJy ZW50bHkgZG9lcwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JhbmQvcmFuZF9saWIu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3JhbmRfbGliLmMKLS0tLSBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9yYW5kX2xpYi5j CTIwMTktMDktMTMgMTU6MTM6MTEuMDYyNTI0OTQxICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Jh bmQvcmFuZF9saWIuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yYW5kL3JhbmRfbGliLmMu ZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9yYW5kL3JhbmRfbGliLmMJMjAyMC0wMy0xNyAxNzozNTo1Ni40NzEyNTkyMDcg KzAxMDAKIEBAIC0xNiw2ICsxNiwxMCBAQAogICNpbmNsdWRlICJpbnRlcm5hbC90aHJlYWRfb25j ZS5oIgotICNpbmNsdWRlICJyYW5kX2xjbC5oIgorICNpbmNsdWRlICJyYW5kX2xvY2FsLmgiCiAg I2luY2x1ZGUgImVfb3MuaCIKICsjaWZkZWYgT1BFTlNTTF9GSVBTCiArIyBpbmNsdWRlIDxvcGVu c3NsL2ZpcHMuaD4KQEAgLTk5NTAsNyArOTk0OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9yYW5kL3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmFuZC9y CiAgCiAgI2lmbmRlZiBPUEVOU1NMX05PX0VOR0lORQogIC8qIG5vbi1OVUxMIGlmIGRlZmF1bHRf UkFORF9tZXRoIGlzIEVOR0lORS1wcm92aWRlZCAqLwotQEAgLTk1OSwzICs5NjMsMTUgQEAgaW50 IFJBTkRfc3RhdHVzKHZvaWQpCitAQCAtOTYxLDMgKzk2NSwxNSBAQCBpbnQgUkFORF9zdGF0dXMo dm9pZCkKICAgICAgICAgIHJldHVybiBtZXRoLT5zdGF0dXMoKTsKICAgICAgcmV0dXJuIDA7CiAg fQpAQCAtOTk2Niw5ICs5OTY0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3Jh bmQvcmFuZF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yYW5kL3IKICsgICAgcmV0 dXJuIDE7CiArfQogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9y c2FfY3JwdC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfY3JwdC5jCi0tLS0g b3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMJMjAxOS0wOS0xMCAxNTox MzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9j cnB0LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjI1MjQ5NDEgKzAyMDAKK2RpZmYgLXVwIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX2NycHQuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9yc2EvcnNhX2NycHQuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX2NycHQu Yy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0x LjEuMWUvY3J5cHRvL3JzYS9yc2FfY3JwdC5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDU1NTY2ODg2 ICswMTAwCiBAQCAtMjcsMjQgKzI3LDUyIEBAIGludCBSU0Ffc2l6ZShjb25zdCBSU0EgKnIpCiAg aW50IFJTQV9wdWJsaWNfZW5jcnlwdChpbnQgZmxlbiwgY29uc3QgdW5zaWduZWQgY2hhciAqZnJv bSwgdW5zaWduZWQgY2hhciAqdG8sCiAgICAgICAgICAgICAgICAgICAgICAgICBSU0EgKnJzYSwg aW50IHBhZGRpbmcpCkBAIC0xMDAyMiw5ICsxMDAyMCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9yc2EvcnNhX2NycHQuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2Ev cnNhCiAgICAgIHJldHVybiByc2EtPm1ldGgtPnJzYV9wdWJfZGVjKGZsZW4sIGZyb20sIHRvLCBy c2EsIHBhZGRpbmcpOwogIH0KICAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2Ev cnNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfZXJyLmMKLS0tLSBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6 MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfZXJy LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjI1MjQ5NDEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9yc2EvcnNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Jz YS9yc2FfZXJyLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBz CTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL3JzYS9yc2FfZXJyLmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNTU1NjY4ODYgKzAxMDAK IEBAIC0xNiw2ICsxNiw4IEBACiAgc3RhdGljIGNvbnN0IEVSUl9TVFJJTkdfREFUQSBSU0Ffc3Ry X2Z1bmN0c1tdID0gewogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9SU0EsIFJTQV9GX0NIRUNLX1BB RERJTkdfTUQsIDApLCAiY2hlY2tfcGFkZGluZ19tZCJ9LApAQCAtMTAwOTMsMTYgKzEwMDkxLDE2 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhX2Vyci5jLmZpcHMgb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfCiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX1JTQSwg MCwgUlNBX1JfVU5TVVBQT1JURURfU0lHTkFUVVJFX1RZUEUpLAogICAgICAidW5zdXBwb3J0ZWQg c2lnbmF0dXJlIHR5cGUifSwKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfUlNBLCAwLCBSU0FfUl9W QUxVRV9NSVNTSU5HKSwgInZhbHVlIG1pc3NpbmcifSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2Ff Z2VuLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzCTIwMTkt MDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L3JzYS9yc2FfZ2VuLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjM1MjQ5MjMgKzAyMDAKK2RpZmYg LXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEu MWUvY3J5cHRvL3JzYS9yc2FfZ2VuLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3Jz YV9nZW4uYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL3JzYS9yc2FfZ2VuLmMJMjAyMC0wMy0xNyAxNzozMzo1NS41NjAz NjczNjMgKzAxMDAKIEBAIC0xOCw2ICsxOCw3NiBAQAogICNpbmNsdWRlICJpbnRlcm5hbC9jcnlw dGxpYi5oIgogICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+Ci0gI2luY2x1ZGUgInJzYV9sb2NsLmgi CisgI2luY2x1ZGUgInJzYV9sb2NhbC5oIgogKyNpZmRlZiBPUEVOU1NMX0ZJUFMKICsjIGluY2x1 ZGUgPG9wZW5zc2wvZmlwcy5oPgotKyMgaW5jbHVkZSAiaW50ZXJuYWwvZmlwc19pbnQuaCIKKysj IGluY2x1ZGUgImNyeXB0by9maXBzLmgiCiArCiAraW50IGZpcHNfY2hlY2tfcnNhKFJTQSAqcnNh KQogK3sKQEAgLTEwNDg4LDkgKzEwNDg2LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV8KICBz dGF0aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwgaW50IGJpdHMsIGludCBwcmlt ZXMsIEJJR05VTSAqZV92YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTl9H RU5DQiAqY2IpCiAgewotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfbGli LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9saWIuYwotLS0tIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9yc2EvcnNhX2xpYi5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAw MDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9saWIuYwkyMDE5 LTA5LTEzIDE1OjEzOjExLjA2MzUyNDkyMyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUv Y3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3JzYV9s aWIuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX2xpYi5jLmZpcHMJMjAyMC0w My0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v cnNhL3JzYV9saWIuYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA1NjU2Njg2OSArMDEwMAogQEAgLTM0 LDYgKzM0LDEyIEBAIGludCBSU0Ffc2V0X21ldGhvZChSU0EgKnJzYSwgY29uc3QgUlNBX00KICAg ICAgICogdG8gZGVhbCB3aXRoIHdoaWNoIEVOR0lORSBpdCBjb21lcyBmcm9tLgogICAgICAgKi8K QEAgLTEwNTMzLDEyICsxMDUzMSwxMiBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v cnNhL3JzYV9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhXwogICAgICBp ZiAoIUNSWVBUT19uZXdfZXhfZGF0YShDUllQVE9fRVhfSU5ERVhfUlNBLCByZXQsICZyZXQtPmV4 X2RhdGEpKSB7CiAgICAgICAgICBnb3RvIGVycjsKICAgICAgfQotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL3JzYS9yc2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3Jz YS9yc2Ffb3NzbC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2Ffb3NzbC5jLmZp cHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vcnNhL3JzYV9vc3NsLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjM1MjQ5MjMgKzAy MDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX29zc2wuYy5maXBzIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX29zc2wuYworLS0tIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9yc2EvcnNhX29zc2wuYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JzYS9yc2Ffb3NzbC5jCTIwMjAtMDMtMTcg MTc6MzQ6MzIuMjg5NzI2OTY0ICswMTAwCiBAQCAtMTIsNiArMTIsMTAgQEAKLSAjaW5jbHVkZSAi cnNhX2xvY2wuaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwvY29uc3RhbnRfdGltZV9sb2NsLmgiCisg I2luY2x1ZGUgInJzYV9sb2NhbC5oIgorICNpbmNsdWRlICJpbnRlcm5hbC9jb25zdGFudF90aW1l LmgiCiAgCiArI2lmZGVmIE9QRU5TU0xfRklQUwogKyMgaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+ CkBAIC0xMDY1Miw5ICsxMDY1MCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9y c2EvcnNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhCiAgICAgIGlm IChCTl9udW1fYml0cyhyc2EtPm4pID4gT1BFTlNTTF9SU0FfTUFYX01PRFVMVVNfQklUUykgewog ICAgICAgICAgUlNBZXJyKFJTQV9GX1JTQV9PU1NMX1BVQkxJQ19ERUNSWVBULCBSU0FfUl9NT0RV TFVTX1RPT19MQVJHRSk7CiAgICAgICAgICByZXR1cm4gLTE7Ci1kaWZmIC11cCBvcGVuc3NsLTEu MS4xZC9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3Jz YS9yc2FfcG1ldGguYwotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMu ZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4x LjFkL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjM1MjQ5MjMg KzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMuZmlw cyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jCistLS0gb3BlbnNzbC0xLjEu MWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAw MDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYwkyMDIw LTAzLTE3IDE3OjMwOjUyLjA1NjU2Njg2OSArMDEwMAogQEAgLTc1Niw3ICs3NTYsNyBAQCBzdGF0 aWMgaW50IHBrZXlfcnNhX2tleWdlbihFVlBfUEtFWV9DVFgKICAKICBjb25zdCBFVlBfUEtFWV9N RVRIT0QgcnNhX3BrZXlfbWV0aCA9IHsKQEAgLTEwNjczLDkgKzEwNjcxLDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9yc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9yc2EvcnMKICAgICAgcGtleV9yc2FfaW5pdCwKICAgICAgcGtleV9yc2FfY29weSwK ICAgICAgcGtleV9yc2FfY2xlYW51cCwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9y c2EvcnNhX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhX3NpZ24uYwot LS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9yc2EvcnNhX3NpZ24uYy5maXBzCTIwMTktMDktMTAg MTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3JzYS9y c2Ffc2lnbi5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDY0NTI0OTA2ICswMjAwCitkaWZmIC11cCBv cGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9j cnlwdG8vcnNhL3JzYV9zaWduLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcnNhL3JzYV9z aWduLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9yc2EvcnNhX3NpZ24uYwkyMDIwLTAzLTE3IDE3OjMwOjUyLjA1NzU2 Njg1MSArMDEwMAogQEAgLTczLDYgKzczLDEzIEBAIGludCBSU0Ffc2lnbihpbnQgdHlwZSwgY29u c3QgdW5zaWduZWQgY2gKICAgICAgdW5zaWduZWQgY2hhciAqdG1wcyA9IE5VTEw7CiAgICAgIGNv bnN0IHVuc2lnbmVkIGNoYXIgKmVuY29kZWQgPSBOVUxMOwpAQCAtMTA3MDIsOSArMTA3MDAsOSBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlwcyBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vcnNhL3JzYQogICAgICBpZiAoZW5jcnlwdF9sZW4gPD0gMCkKICAg ICAgICAgIGdvdG8gZXJyOwogIAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3NoYS9z aGEyNTYuYy5maXBzIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9zaGEvc2hhMjU2LmMKLS0tLSBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYTI1Ni5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYTI1Ni5jCTIw MTktMDktMTMgMTU6MTM6MTEuMDY0NTI0OTA2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vc2hhL3NoYTI1Ni5jLmZpcHMgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3NoYS9zaGEy NTYuYworLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9zaGEvc2hhMjU2LmMuZmlwcwkyMDIwLTAz LTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9z aGEvc2hhMjU2LmMJMjAyMC0wMy0xNyAxNzozMDo1Mi4wNTc1NjY4NTEgKzAxMDAKIEBAIC0xOCw2 ICsxOCw5IEBACiAgCiAgaW50IFNIQTIyNF9Jbml0KFNIQTI1Nl9DVFggKmMpCkBAIC0xMDcyNSw5 ICsxMDcyMyw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9zaGEvc2hhMjU2LmMu ZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYTI1CiAgICAgIG1lbXNldChjLCAwLCBz aXplb2YoKmMpKTsKICAgICAgYy0+aFswXSA9IDB4NmEwOWU2NjdVTDsKICAgICAgYy0+aFsxXSA9 IDB4YmI2N2FlODVVTDsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9zaGEvc2hhNTEy LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYTUxMi5jCi0tLS0gb3BlbnNzbC0x LjEuMWQvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3NoYS9zaGE1MTIuYwkyMDE5LTA5 LTEzIDE1OjEzOjExLjA2NDUyNDkwNiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5 cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9zaGEvc2hhNTEyLmMK Ky0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vc2hhL3NoYTUxMi5jLmZpcHMJMjAyMC0wMy0xNyAx NTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vc2hhL3No YTUxMi5jCTIwMjAtMDMtMTcgMTc6MzA6NTIuMDU3NTY2ODUxICswMTAwCiBAQCAtOTgsNiArOTgs OSBAQCBpbnQgc2hhNTEyXzI1Nl9pbml0KFNIQTUxMl9DVFggKmMpCiAgCiAgaW50IFNIQTM4NF9J bml0KFNIQTUxMl9DVFggKmMpCkBAIC0xMDc0OCw5ICsxMDc0Niw5IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2NyeXB0by9zaGEvc2hhNTEyLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v c2hhL3NoYTUxCiAgICAgIGMtPmhbMF0gPSBVNjQoMHg2YTA5ZTY2N2YzYmNjOTA4KTsKICAgICAg Yy0+aFsxXSA9IFU2NCgweGJiNjdhZTg1ODRjYWE3M2IpOwogICAgICBjLT5oWzJdID0gVTY0KDB4 M2M2ZWYzNzJmZTk0ZjgyYik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3No YV9sb2NsLmguZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYV9sb2NsLmgKLS0tLSBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYV9sb2NsLmguZmlwcwkyMDE5LTA5LTEzIDE1OjEz OjEwLjgzNzUyODg3MyArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9zaGEvc2hhX2xv Y2wuaAkyMDE5LTA5LTEzIDE1OjEzOjExLjA2NDUyNDkwNiArMDIwMAorZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWUvY3J5cHRvL3NoYS9zaGFfbG9jYWwuaC5maXBzIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9zaGEvc2hhX2xvY2FsLmgKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vc2hhL3NoYV9sb2Nh bC5oLmZpcHMJMjAyMC0wMy0xNyAxNzozMDo1MS43NjY1NzE5MjUgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vc2hhL3NoYV9sb2NhbC5oCTIwMjAtMDMtMTcgMTc6MzE6MDAuOTk2NDEw OTk4ICswMTAwCiBAQCAtNTIsNiArNTIsOSBAQCB2b2lkIHNoYTFfYmxvY2tfZGF0YV9vcmRlcihT SEFfQ1RYICpjLCBjCiAgCiAgaW50IEhBU0hfSU5JVChTSEFfQ1RYICpjKQpAQCAtMTA3NjEsOSAr MTA3NTksOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYV9sb2NsLmgu ZmlwcyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vc2hhL3NoYQogICAgICBtZW1zZXQoYywgMCwgc2l6 ZW9mKCpjKSk7CiAgICAgIGMtPmgwID0gSU5JVF9EQVRBX2gwOwogICAgICBjLT5oMSA9IElOSVRf REFUQV9oMTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9w YXJhbWV0ZXJzLnBvZC5maXBzIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9w YXJhbWV0ZXJzLnBvZAotLS0tIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9w YXJhbWV0ZXJzLnBvZC5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMWQvZG9jL21hbjMvRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnMucG9kCTIw MTktMDktMTMgMTU6MTM6MTEuMDY0NTI0OTA2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9kb2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5wb2QuZmlwcyBvcGVuc3NsLTEuMS4x ZS9kb2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5wb2QKKy0tLSBvcGVuc3NsLTEuMS4x ZS9kb2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5wb2QuZmlwcwkyMDIwLTAzLTE3IDE1 OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2RvYy9tYW4zL0RTQV9n ZW5lcmF0ZV9wYXJhbWV0ZXJzLnBvZAkyMDIwLTAzLTE3IDE3OjMxOjAwLjk5NjQxMDk5OCArMDEw MAogQEAgLTMwLDggKzMwLDEwIEBAIEI8Yml0cz4gaXMgdGhlIGxlbmd0aCBvZiB0aGUgcHJpbWUg cCB0bwogIEZvciBsZW5ndGhzIHVuZGVyIDIwNDggYml0cywgdGhlIGxlbmd0aCBvZiBxIGlzIDE2 MCBiaXRzOyBmb3IgbGVuZ3RocwogIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyMDQ4IGJpdHMs IHRoZSBsZW5ndGggb2YgcSBpcyBzZXQgdG8gMjU2IGJpdHMuCkBAIC0xMDc3Nyw5ICsxMDc3NSw5 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9wYXJhbWV0 ZXJzLnBvZC5maXBzIG9wZW5zc2wtMS4xLjFkCiAgCiAgRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnNf ZXgoKSBwbGFjZXMgdGhlIGl0ZXJhdGlvbiBjb3VudCBpbgogICpCPGNvdW50ZXJfcmV0PiBhbmQg YSBjb3VudGVyIHVzZWQgZm9yIGZpbmRpbmcgYSBnZW5lcmF0b3IgaW4KLWRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaC5maXBzIG9wZW5zc2wtMS4xLjFkL2lu Y2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAotLS0tIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNz bC9jcnlwdG8uaC5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCTIwMTktMDktMTMgMTU6MTM6 MTEuMDY1NTI0ODg4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5z c2wvY3J5cHRvLmguZmlwcyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgK Ky0tLSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmguZmlwcwkyMDIwLTAz LTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUv b3BlbnNzbC9jcnlwdG8uaAkyMDIwLTAzLTE3IDE3OjMxOjAwLjk5NzQxMDk4MCArMDEwMAogQEAg LTMzMSw2ICszMzEsMTEgQEAgaW50IE9QRU5TU0xfaXNzZXJ2aWNlKHZvaWQpOwogIGludCBGSVBT X21vZGUodm9pZCk7CiAgaW50IEZJUFNfbW9kZV9zZXQoaW50IHIpOwpAQCAtMTA3OTIsOSArMTA3 OTAsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgu ZmlwcyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZQogIHZvaWQgT1BFTlNTTF9pbml0KHZvaWQp OwogICMgaWZkZWYgT1BFTlNTTF9TWVNfVU5JWAogIHZvaWQgT1BFTlNTTF9mb3JrX3ByZXBhcmUo dm9pZCk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZGhlcnIuaC5m aXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oCi0tLS0gb3BlbnNzbC0x LjEuMWQvaW5jbHVkZS9vcGVuc3NsL2RoZXJyLmguZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9kaGVyci5o CTIwMTktMDktMTMgMTU6MTM6MTEuMDY1NTI0ODg4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS9pbmNsdWRlL29wZW5zc2wvZGhlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUv b3BlbnNzbC9kaGVyci5oCistLS0gb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2RoZXJy LmguZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wt MS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oCTIwMjAtMDMtMTcgMTc6MzE6MDAuOTk4NDEw OTYzICswMTAwCiBAQCAtMzYsNiArMzYsOSBAQCBpbnQgRVJSX2xvYWRfREhfc3RyaW5ncyh2b2lk KTsKICAjICBkZWZpbmUgREhfRl9ESF9DTVNfREVDUllQVCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDExNAogICMgIGRlZmluZSBESF9GX0RIX0NNU19TRVRfUEVFUktFWSAgICAgICAgICAg ICAgICAgICAgICAgICAgMTE1CkBAIC0xMDgyMCw5ICsxMDgxOCw5IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5j bHVkZS9vcGVuCiAgIyAgZGVmaW5lIERIX1JfUEFSQU1FVEVSX0VOQ09ESU5HX0VSUk9SICAgICAg ICAgICAgICAgICAgICAxMDUKICAjICBkZWZpbmUgREhfUl9QRUVSX0tFWV9FUlJPUiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDExMQogICMgIGRlZmluZSBESF9SX1NIQVJFRF9JTkZPX0VS Uk9SICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEzCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC9pbmNsdWRlL29wZW5zc2wvZGguaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNz bC9kaC5oCi0tLS0gb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2RoLmguZmlwcwkyMDE5 LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2luY2x1 ZGUvb3BlbnNzbC9kaC5oCTIwMTktMDktMTMgMTU6MTM6MTEuMDY1NTI0ODg4ICswMjAwCitkaWZm IC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZGguaC5maXBzIG9wZW5zc2wtMS4x LjFlL2luY2x1ZGUvb3BlbnNzbC9kaC5oCistLS0gb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVu c3NsL2RoLmguZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9kaC5oCTIwMjAtMDMtMTcgMTc6MzE6MDAuOTk4 NDEwOTYzICswMTAwCiBAQCAtMzEsNiArMzEsNyBAQCBleHRlcm4gIkMiIHsKICAjIGVuZGlmCiAg CkBAIC0xMDgzMSw5ICsxMDgyOSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUv b3BlbnNzbC9kaC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsCiAgCiAgIyBk ZWZpbmUgREhfRkxBR19DQUNIRV9NT05UX1AgICAgIDB4MDEKICAKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9kc2FlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1 ZGUvb3BlbnNzbC9kc2FlcnIuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9k c2FlcnIuaC5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3Bl bnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2RzYWVyci5oCTIwMTktMDktMTMgMTU6MTY6MzIu MjYzMDA4MTU3ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wv ZHNhZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZHNhZXJyLmgKKy0t LSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZHNhZXJyLmguZmlwcwkyMDIwLTAzLTE3 IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3Bl bnNzbC9kc2FlcnIuaAkyMDIwLTAzLTE3IDE3OjMxOjAwLjk5OTQxMDk0NSArMDEwMAogQEAgLTI5 LDggKzI5LDExIEBAIGludCBFUlJfbG9hZF9EU0Ffc3RyaW5ncyh2b2lkKTsKICAgKi8KICAjICBk ZWZpbmUgRFNBX0ZfRFNBUEFSQU1TX1BSSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw MApAQCAtMTA4NjAsOSArMTA4NTgsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRl L29wZW5zc2wvZHNhZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZQogICMgIGRl ZmluZSBEU0FfUl9QQVJBTUVURVJfRU5DT0RJTkdfRVJST1IgICAgICAgICAgICAgICAgICAgMTA1 CiAgIyAgZGVmaW5lIERTQV9SX1FfTk9UX1BSSU1FICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAxMTMKICAjICBkZWZpbmUgRFNBX1JfU0VFRF9MRU5fU01BTEwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDExMAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3Ns L2RzYS5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2RzYS5oCi0tLS0gb3Bl bnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2RzYS5oLmZpcHMJMjAxOS0wOS0xMCAxNToxMzow Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZHNh LmgJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjU1MjQ4ODggKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9kc2EuaC5maXBzIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUv b3BlbnNzbC9kc2EuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9kc2EuaC5m aXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEu MWUvaW5jbHVkZS9vcGVuc3NsL2RzYS5oCTIwMjAtMDMtMTcgMTc6MzE6MDEuMDAwNDEwOTI4ICsw MTAwCiBAQCAtMzEsNiArMzEsNyBAQCBleHRlcm4gIkMiIHsKICAjIGVuZGlmCiAgCkBAIC0xMDg3 MSw5ICsxMDg2OSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9k c2EuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzCiAgCiAgIyBkZWZpbmUgRFNB X0ZMQUdfQ0FDSEVfTU9OVF9QICAgMHgwMQogICMgaWYgT1BFTlNTTF9BUElfQ09NUEFUIDwgMHgx MDEwMDAwMEwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIu aC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaAotLS0tIG9wZW5z c2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaC5maXBzCTIwMTktMDktMTAgMTU6MTM6 MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2V2 cGVyci5oCTIwMTktMDktMTMgMTU6MTg6MTcuNTUyMTY3ODEwICswMjAwCitkaWZmIC11cCBvcGVu c3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZXZwZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xZS9p bmNsdWRlL29wZW5zc2wvZXZwZXJyLmgKKy0tLSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5z c2wvZXZwZXJyLmguZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaAkyMDIwLTAzLTE3IDE3OjMx OjAxLjAwMDQxMDkyOCArMDEwMAogQEAgLTI0LDE0ICsyNCwxNSBAQCBpbnQgRVJSX2xvYWRfRVZQ X3N0cmluZ3Modm9pZCk7CiAgICogRVZQIGZ1bmN0aW9uIGNvZGVzLgogICAqLwpAQCAtMTA5MDEs NyArMTA4OTksNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZXZw ZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZQogICMgZGVmaW5lIEVWUF9SX0RJ RkZFUkVOVF9LRVlfVFlQRVMgICAgICAgICAgICAgICAgICAgICAgICAxMDEKICAjIGRlZmluZSBF VlBfUl9ESUZGRVJFTlRfUEFSQU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAgMTUzCiAgIyBk ZWZpbmUgRVZQX1JfRVJST1JfTE9BRElOR19TRUNUSU9OICAgICAgICAgICAgICAgICAgICAgIDE2 NQotQEAgLTE4NCw2ICsxODYsNyBAQCBpbnQgRVJSX2xvYWRfRVZQX3N0cmluZ3Modm9pZCk7CitA QCAtMTg1LDYgKzE4Nyw3IEBAIGludCBFUlJfbG9hZF9FVlBfc3RyaW5ncyh2b2lkKTsKICAjIGRl ZmluZSBFVlBfUl9QUklWQVRFX0tFWV9ERUNPREVfRVJST1IgICAgICAgICAgICAgICAgICAgMTQ1 CiAgIyBkZWZpbmUgRVZQX1JfUFJJVkFURV9LRVlfRU5DT0RFX0VSUk9SICAgICAgICAgICAgICAg ICAgIDE0NgogICMgZGVmaW5lIEVWUF9SX1BVQkxJQ19LRVlfTk9UX1JTQSAgICAgICAgICAgICAg ICAgICAgICAgICAxMDYKQEAgLTEwOTA5LDcgKzEwOTA3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvaW5jbHVkZS9vcGVuc3NsL2V2cGVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVk ZS9vcGUKICAjIGRlZmluZSBFVlBfUl9VTktOT1dOX0NJUEhFUiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTYwCiAgIyBkZWZpbmUgRVZQX1JfVU5LTk9XTl9ESUdFU1QgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDE2MQogICMgZGVmaW5lIEVWUF9SX1VOS05PV05fT1BUSU9OICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAxNjkKLUBAIC0xOTksNiArMjAyLDcgQEAgaW50IEVSUl9s b2FkX0VWUF9zdHJpbmdzKHZvaWQpOworQEAgLTIwMCw2ICsyMDMsNyBAQCBpbnQgRVJSX2xvYWRf RVZQX3N0cmluZ3Modm9pZCk7CiAgIyBkZWZpbmUgRVZQX1JfVU5TVVBQT1JURURfU0FMVF9UWVBF ICAgICAgICAgICAgICAgICAgICAgIDEyNgogICMgZGVmaW5lIEVWUF9SX1dSQVBfTU9ERV9OT1Rf QUxMT1dFRCAgICAgICAgICAgICAgICAgICAgICAxNzAKICAjIGRlZmluZSBFVlBfUl9XUk9OR19G SU5BTF9CTE9DS19MRU5HVEggICAgICAgICAgICAgICAgICAgMTA5CkBAIC0xMDkxOCw5ICsxMDkx Niw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaC5m aXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlCiArIyBkZWZpbmUgRVZQX1JfWFRTX0RVUExJ Q0FURURfS0VZUyAgICAgICAgICAgICAgICAgICAgICAgIDE5MgogIAogICNlbmRpZgotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjEu MWQvaW5jbHVkZS9vcGVuc3NsL2V2cC5oCi0tLS0gb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVu c3NsL2V2cC5oLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZXZwLmgJMjAxOS0wOS0xMyAxNToxMzoxMS4w NjY1MjQ4NzEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9l dnAuaC5maXBzIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9ldnAuaAorLS0tIG9wZW5z c2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9ldnAuaC5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcu MDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2V2cC5o CTIwMjAtMDMtMTcgMTc6MzE6MDEuMDAxNDEwOTExICswMTAwCiBAQCAtMTMyNCw2ICsxMzI0LDkg QEAgdm9pZCBFVlBfUEtFWV9hc24xX3NldF9zZWN1cml0eV9iaXRzKEVWUAogICAqLwogICMgZGVm aW5lIEVWUF9QS0VZX0ZMQUdfU0lHQ1RYX0NVU1RPTSAgICAgNApAQCAtMTA5MzEsOSArMTA5Mjks OSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZXZwLmguZmlwcyBv cGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zcwogIGNvbnN0IEVWUF9QS0VZX01FVEhPRCAqRVZQ X1BLRVlfbWV0aF9maW5kKGludCB0eXBlKTsKICBFVlBfUEtFWV9NRVRIT0QgKkVWUF9QS0VZX21l dGhfbmV3KGludCBpZCwgaW50IGZsYWdzKTsKICB2b2lkIEVWUF9QS0VZX21ldGhfZ2V0MF9pbmZv KGludCAqcHBrZXlfaWQsIGludCAqcGZsYWdzLAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5j bHVkZS9vcGVuc3NsL2ZpcHMuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9m aXBzLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvZmlwcy5oLmZpcHMJMjAx OS0wOS0xMyAxNToxMzoxMS4wNjY1MjQ4NzEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNs dWRlL29wZW5zc2wvZmlwcy5oCTIwMTktMDktMTMgMTU6MTM6MTEuMDY2NTI0ODcxICswMjAwCitk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZmlwcy5oLmZpcHMgb3BlbnNz bC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1 ZGUvb3BlbnNzbC9maXBzLmguZmlwcwkyMDIwLTAzLTE3IDE3OjMxOjAxLjAwMjQxMDg5MyArMDEw MAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9maXBzLmgJMjAyMC0wMy0xNyAx NzozMTowMS4wMDI0MTA4OTMgKzAxMDAKIEBAIC0wLDAgKzEsMTg3IEBACiArLyogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCkBAIC0xMTEyMiw5ICsxMTEyMCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL2luY2x1ZGUvb3BlbnNzbC9maXBzLmguZmlwcyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29w ZW5zCiArfQogKyMgZW5kaWYKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1 ZGUvb3BlbnNzbC9maXBzX3JhbmQuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNz bC9maXBzX3JhbmQuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9maXBzX3Jh bmQuaC5maXBzCTIwMTktMDktMTMgMTU6MTM6MTEuMDY2NTI0ODcxICswMjAwCi0rKysgb3BlbnNz bC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL2ZpcHNfcmFuZC5oCTIwMTktMDktMTMgMTU6MTM6MTEu MDY2NTI0ODcxICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wv Zmlwc19yYW5kLmguZmlwcyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZmlwc19yYW5k LmgKKy0tLSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvZmlwc19yYW5kLmguZmlwcwky MDIwLTAzLTE3IDE3OjMxOjAxLjAwMzQxMDg3NiArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2lu Y2x1ZGUvb3BlbnNzbC9maXBzX3JhbmQuaAkyMDIwLTAzLTE3IDE3OjMxOjAxLjAwMzQxMDg3NiAr MDEwMAogQEAgLTAsMCArMSwxNDUgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAo YykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTEx MjcxLDkgKzExMjY5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3Ns L2ZpcHNfcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS8KICsjICBlbmRpZgogKyMg ZW5kaWYKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9v cGVuc3NsY29uZi5oLmluLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL29wZW5z c2xjb25mLmguaW4KLS0tLSBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNv bmYuaC5pbi5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3Bl bnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmguaW4JMjAxOS0wOS0xMyAx NToxMzoxMS4wNjc1MjQ4NTMgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUv b3BlbnNzbC9vcGVuc3NsY29uZi5oLmluLmZpcHMgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVu c3NsL29wZW5zc2xjb25mLmguaW4KKy0tLSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wv b3BlbnNzbGNvbmYuaC5pbi5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAw CisrKysgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmguaW4JMjAy MC0wMy0xNyAxNzozMTowMS4wMDM0MTA4NzYgKzAxMDAKIEBAIC0xNTAsNiArMTUwLDExIEBAIGV4 dGVybiAiQyIgewogIAogICNkZWZpbmUgUkM0X0lOVCB7LSAkY29uZmlne3JjNF9pbnR9IC19CkBA IC0xMTI4NiwxMCArMTEyODQsMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9v cGVuc3NsL29wZW5zc2xjb25mLmguaW4uZmlwcyBvcGVuc3NsLTEuMS4xZC9pbmMKICAjaWZkZWYg IF9fY3BsdXNwbHVzCiAgfQogICNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVk ZS9vcGVuc3NsL3JhbmRlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9y YW5kZXJyLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvcmFuZGVyci5oLmZp cHMJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x ZC9pbmNsdWRlL29wZW5zc2wvcmFuZGVyci5oCTIwMTktMDktMTMgMTU6MTM6MTEuMDY3NTI0ODUz ICswMjAwCi1AQCAtMzcsNiArMzcsNyBAQCBpbnQgRVJSX2xvYWRfUkFORF9zdHJpbmdzKHZvaWQp OworZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL3JhbmRlcnIuaC5maXBz IG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9yYW5kZXJyLmgKKy0tLSBvcGVuc3NsLTEu MS4xZS9pbmNsdWRlL29wZW5zc2wvcmFuZGVyci5oLmZpcHMJMjAyMC0wMy0xNyAxNTozMToxNy4w MDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvcmFuZGVy ci5oCTIwMjAtMDMtMTcgMTc6MzE6MDEuMDA0NDEwODU4ICswMTAwCitAQCAtMzgsNiArMzgsNyBA QCBpbnQgRVJSX2xvYWRfUkFORF9zdHJpbmdzKHZvaWQpOwogICMgZGVmaW5lIFJBTkRfRl9SQU5E X0RSQkdfU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDQKICAjIGRlZmluZSBSQU5E X0ZfUkFORF9EUkJHX1NFVF9ERUZBVUxUUyAgICAgICAgICAgICAgICAgICAgMTIxCiAgIyBkZWZp bmUgUkFORF9GX1JBTkRfRFJCR19VTklOU1RBTlRJQVRFICAgICAgICAgICAgICAgICAgIDExOApA QCAtMTEyOTcsOSArMTEyOTUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29w ZW5zc2wvcmFuZGVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcAogICMgZGVmaW5l IFJBTkRfRl9SQU5EX0xPQURfRklMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTEKICAj IGRlZmluZSBSQU5EX0ZfUkFORF9QT09MX0FDUVVJUkVfRU5UUk9QWSAgICAgICAgICAgICAgICAg MTIyCiAgIyBkZWZpbmUgUkFORF9GX1JBTkRfUE9PTF9BREQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEwMwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL3JhbmQu aC5maXBzIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9yYW5kLmgKLS0tLSBvcGVuc3Ns LTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvcmFuZC5oLmZpcHMJMjAxOS0wOS0xMCAxNToxMzowNy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvcmFuZC5o CTIwMTktMDktMTMgMTU6MTM6MTEuMDY3NTI0ODUzICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS9pbmNsdWRlL29wZW5zc2wvcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9v cGVuc3NsL3JhbmQuaAorLS0tIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9yYW5kLmgu ZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4x LjFlL2luY2x1ZGUvb3BlbnNzbC9yYW5kLmgJMjAyMC0wMy0xNyAxNzozMTowMS4wMDQ0MTA4NTgg KzAxMDAKIEBAIC02OSw2ICs2OSwxMSBAQCBERVBSRUNBVEVESU5fMV8xXzAodm9pZCBSQU5EX3Nj cmVlbih2b2lkCiAgREVQUkVDQVRFRElOXzFfMV8wKGludCBSQU5EX2V2ZW50KFVJTlQsIFdQQVJB TSwgTFBBUkFNKSkKICAjIGVuZGlmCkBAIC0xMTMxMiw5ICsxMTMxMCw5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9yYW5kLmguZmlwcyBvcGVuc3NsLTEuMS4xZC9p bmNsdWRlL29wZW5zCiAgCiAgI2lmZGVmICBfX2NwbHVzcGx1cwogIH0KLWRpZmYgLXVwIG9wZW5z c2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNzbC9yc2FlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjFkL2lu Y2x1ZGUvb3BlbnNzbC9yc2FlcnIuaAotLS0tIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvb3BlbnNz bC9yc2FlcnIuaC5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL3JzYWVyci5oCTIwMTktMDktMTMgMTU6MTM6 MTEuMDY3NTI0ODUzICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5z c2wvcnNhZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvcnNhZXJyLmgK Ky0tLSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvcnNhZXJyLmguZmlwcwkyMDIwLTAz LTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2luY2x1ZGUv b3BlbnNzbC9yc2FlcnIuaAkyMDIwLTAzLTE3IDE3OjMxOjAxLjAwNTQxMDg0MSArMDEwMAogQEAg LTI1LDYgKzI1LDcgQEAgaW50IEVSUl9sb2FkX1JTQV9zdHJpbmdzKHZvaWQpOwogICAqLwogICMg ZGVmaW5lIFJTQV9GX0NIRUNLX1BBRERJTkdfTUQgICAgICAgICAgICAgICAgICAgICAgICAgICAx NDAKQEAgLTExMzcwLDkgKzExMzY4LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVk ZS9vcGVuc3NsL3JzYWVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9vcGUKICAjIGRl ZmluZSBSU0FfUl9VTlNVUFBPUlRFRF9TSUdOQVRVUkVfVFlQRSAgICAgICAgICAgICAgICAgMTU1 CiAgIyBkZWZpbmUgUlNBX1JfVkFMVUVfTUlTU0lORyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDE0NwogICMgZGVmaW5lIFJTQV9SX1dST05HX1NJR05BVFVSRV9MRU5HVEggICAgICAgICAg ICAgICAgICAgICAxMTkKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3NzbC9zM19saWIuYy5maXBz IG9wZW5zc2wtMS4xLjFkL3NzbC9zM19saWIuYwotLS0tIG9wZW5zc2wtMS4xLjFkL3NzbC9zM19s aWIuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNz bC0xLjEuMWQvc3NsL3MzX2xpYi5jCTIwMTktMTAtMDMgMTY6NTM6NTEuMTQwMzYyMzExICswMjAw CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9zc2wvczNfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4x ZS9zc2wvczNfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xZS9zc2wvczNfbGliLmMuZmlwcwkyMDIw LTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL3NzbC9z M19saWIuYwkyMDIwLTAzLTE3IDE3OjMxOjAxLjAwNzQxMDgwNiArMDEwMAogQEAgLTQzLDcgKzQz LDcgQEAgc3RhdGljIFNTTF9DSVBIRVIgdGxzMTNfY2lwaGVyc1tdID0gewogICAgICAgICAgU1NM X0FFQUQsCiAgICAgICAgICBUTFMxXzNfVkVSU0lPTiwgVExTMV8zX1ZFUlNJT04sCkBAIC0xMTQ3 Miw5ICsxMTQ3MCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3NzbC9zM19saWIuYy5maXBz IG9wZW5zc2wtMS4xLjFkL3NzbC9zM19saWIuYwogICAgICAgU1NMX0hBTkRTSEFLRV9NQUNfU0hB MjU2IHwgVExTMV9QUkZfU0hBMjU2LAogICAgICAgMjU2LAogICAgICAgMjU2LAotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9jaXBoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9zc2wvc3Ns X2NpcGguYwotLS0tIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfY2lwaC5jLmZpcHMJMjAxOS0wOS0x MyAxNToxMzoxMS4wMTk1MjU2OTIgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2Np cGguYwkyMDE5LTA5LTEzIDE1OjEzOjExLjA2ODUyNDgzNiArMDIwMAorZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWUvc3NsL3NzbF9jaXBoLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9zc2wvc3NsX2NpcGgu YworLS0tIG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfY2lwaC5jLmZpcHMJMjAyMC0wMy0xNyAxNzoz MDo1Mi4wMTc1Njc1NDkgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9zc2wvc3NsX2NpcGguYwky MDIwLTAzLTE3IDE3OjMxOjAxLjAwODQxMDc4OCArMDEwMAogQEAgLTM4Nyw3ICszODcsNyBAQCBp bnQgc3NsX2xvYWRfY2lwaGVycyh2b2lkKQogICAgICAgICAgfQogICAgICB9CkBAIC0xMTUxMyw5 ICsxMTUxMSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfY2lwaC5jLmZpcHMg b3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9jaXBoLmMKICAgICAgICAgICAgICBpZiAoIXNrX1NTTF9D SVBIRVJfcHVzaChjaXBoZXJzdGFjaywgY3Vyci0+Y2lwaGVyKSkgewogICAgICAgICAgICAgICAg ICBPUEVOU1NMX2ZyZWUoY29fbGlzdCk7CiAgICAgICAgICAgICAgICAgIHNrX1NTTF9DSVBIRVJf ZnJlZShjaXBoZXJzdGFjayk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2luaXQu Yy5maXBzIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfaW5pdC5jCi0tLS0gb3BlbnNzbC0xLjEuMWQv c3NsL3NzbF9pbml0LmMuZmlwcwkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAot KysrIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfaW5pdC5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDY4 NTI0ODM2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9zc2wvc3NsX2luaXQuYy5maXBz IG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfaW5pdC5jCistLS0gb3BlbnNzbC0xLjEuMWUvc3NsL3Nz bF9pbml0LmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4xLjFlL3NzbC9zc2xfaW5pdC5jCTIwMjAtMDMtMTcgMTc6MzE6MDEuMDA5NDEwNzcx ICswMTAwCiBAQCAtMjcsNiArMjcsMTAgQEAgREVGSU5FX1JVTl9PTkNFX1NUQVRJQyhvc3NsX2lu aXRfc3NsX2JhcwogICAgICBmcHJpbnRmKHN0ZGVyciwgIk9QRU5TU0xfSU5JVDogb3NzbF9pbml0 X3NzbF9iYXNlOiAiCiAgICAgICAgICAgICAgIkFkZGluZyBTU0wgY2lwaGVycyBhbmQgZGlnZXN0 c1xuIik7CkBAIC0xMTU1OSwxMCArMTE1NTcsMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQv c3NsL3NzbF9pbml0LmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2luaXQuYwogICNpZm5k ZWYgT1BFTlNTTF9OT19DT01QCiAgIyBpZmRlZiBPUEVOU1NMX0lOSVRfREVCVUcKICAgICAgZnBy aW50ZihzdGRlcnIsICJPUEVOU1NMX0lOSVQ6IG9zc2xfaW5pdF9zc2xfYmFzZTogIgotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL3NzbC9z c2xfbGliLmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2xpYi5jLmZpcHMJMjAxOS0wOS0x MyAxNToxMzoxMS4wMTk1MjU2OTIgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2xp Yi5jCTIwMTktMDktMTMgMTU6MTM6MTEuMDY5NTI0ODE4ICswMjAwCi1AQCAtMjkxNiw2ICsyOTE2 LDExIEBAIFNTTF9DVFggKlNTTF9DVFhfbmV3KGNvbnN0IFNTTF9NRVRIT0QgKm0KK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9zc2wvc3Ns X2xpYi5jCistLS0gb3BlbnNzbC0xLjEuMWUvc3NsL3NzbF9saWIuYy5maXBzCTIwMjAtMDMtMTcg MTc6MzA6NTIuMDE4NTY3NTMxICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvc3NsL3NzbF9saWIu YwkyMDIwLTAzLTE3IDE3OjMxOjAxLjAxMTQxMDczNiArMDEwMAorQEAgLTI5NzAsNiArMjk3MCwx MSBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ldyhjb25zdCBTU0xfTUVUSE9EICptCiAgICAgIGlmICgh T1BFTlNTTF9pbml0X3NzbChPUEVOU1NMX0lOSVRfTE9BRF9TU0xfU1RSSU5HUywgTlVMTCkpCiAg ICAgICAgICByZXR1cm4gTlVMTDsKICAKQEAgLTExNTc0LDcgKzExNTcyLDcgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xf bGliLmMKICAgICAgaWYgKFNTTF9nZXRfZXhfZGF0YV9YNTA5X1NUT1JFX0NUWF9pZHgoKSA8IDAp IHsKICAgICAgICAgIFNTTGVycihTU0xfRl9TU0xfQ1RYX05FVywgU1NMX1JfWDUwOV9WRVJJRklD QVRJT05fU0VUVVBfUFJPQkxFTVMpOwogICAgICAgICAgZ290byBlcnI7Ci1AQCAtMjk3MiwxMyAr Mjk3NywxNyBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ldyhjb25zdCBTU0xfTUVUSE9EICptCitAQCAt MzAyNiwxMyArMzAzMSwxNyBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ldyhjb25zdCBTU0xfTUVUSE9E ICptCiAgICAgIGlmIChyZXQtPnBhcmFtID09IE5VTEwpCiAgICAgICAgICBnb3RvIGVycjsKICAK QEAgLTExNTk5LDkgKzExNTk3LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9s aWIuYy5maXBzIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfbGliLmMKICAgICAgfQogIAogICAgICBp ZiAoKHJldC0+Y2FfbmFtZXMgPSBza19YNTA5X05BTUVfbmV3X251bGwoKSkgPT0gTlVMTCkKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3NzbC9zc2xfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQv c3NsL3NzbF9sb2NsLmgKLS0tLSBvcGVuc3NsLTEuMS4xZC9zc2wvc3NsX2xvY2wuaC5maXBzCTIw MTktMDktMTMgMTU6MTM6MTAuOTAxNTI3NzU1ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvc3Ns L3NzbF9sb2NsLmgJMjAxOS0wOS0xMyAxNToxMzoxMS4wNjk1MjQ4MTggKzAyMDAKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfbG9jYWwuaC5maXBzIG9wZW5zc2wtMS4xLjFlL3NzbC9z c2xfbG9jYWwuaAorLS0tIG9wZW5zc2wtMS4xLjFlL3NzbC9zc2xfbG9jYWwuaC5maXBzCTIwMjAt MDMtMTcgMTc6MzA6NTEuODQyNTcwNjAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvc3NsL3Nz bF9sb2NhbC5oCTIwMjAtMDMtMTcgMTc6MzE6MTAuNzQwMjQxMTA4ICswMTAwCiBAQCAtMTUxNiw2 ICsxNTE2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgdGxzX2dyb3VwX2luZm9fc3QgewogICMgZGVmaW5l IFRMU19DVVJWRV9QUklNRSAgICAgICAgIDB4MAogICMgZGVmaW5lIFRMU19DVVJWRV9DSEFSMiAg ICAgICAgIDB4MQpAQCAtMTE2MTAsMTAgKzExNjA4LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjFkL3NzbC9zc2xfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMWQvc3NsL3NzbF9sb2NsLmgKICAK ICB0eXBlZGVmIHN0cnVjdCBjZXJ0X3BrZXlfc3QgQ0VSVF9QS0VZOwogIAotZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWQvc3NsL3QxX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvc3NsL3QxX2xpYi5j Ci0tLS0gb3BlbnNzbC0xLjEuMWQvc3NsL3QxX2xpYi5jLmZpcHMJMjAxOS0wOS0xMCAxNToxMzow Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9zc2wvdDFfbGliLmMJMjAxOS0w OS0xMyAxNToxMzoxMS4wNjk1MjQ4MTggKzAyMDAKLUBAIC0xNTgsMTEgKzE1OCwxMSBAQCBzdGF0 aWMgY29uc3QgVExTX0dST1VQX0lORk8gbmlkX2xpc3RbXSA9CitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS9zc2wvdDFfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZS9zc2wvdDFfbGliLmMKKy0tLSBv cGVuc3NsLTEuMS4xZS9zc2wvdDFfbGliLmMuZmlwcwkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAw MDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL3NzbC90MV9saWIuYwkyMDIwLTAzLTE3IDE3 OjMxOjEwLjc0MTI0MTA5MSArMDEwMAorQEAgLTE1OSwxMSArMTU5LDExIEBAIHN0YXRpYyBjb25z dCBUTFNfR1JPVVBfSU5GTyBuaWRfbGlzdFtdID0KICAgICAge05JRF9zZWNwMTkyazEsIDgwLCBU TFNfQ1VSVkVfUFJJTUV9LCAvKiBzZWNwMTkyazEgKDE4KSAqLwogICAgICB7TklEX1g5XzYyX3By aW1lMTkydjEsIDgwLCBUTFNfQ1VSVkVfUFJJTUV9LCAvKiBzZWNwMTkycjEgKDE5KSAqLwogICAg ICB7TklEX3NlY3AyMjRrMSwgMTEyLCBUTFNfQ1VSVkVfUFJJTUV9LCAvKiBzZWNwMjI0azEgKDIw KSAqLwpAQCAtMTE2MjksNyArMTE2MjcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9zc2wv dDFfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xZC9zc2wvdDFfbGliLmMKICAgICAge05JRF9icmFp bnBvb2xQMjU2cjEsIDEyOCwgVExTX0NVUlZFX1BSSU1FfSwgLyogYnJhaW5wb29sUDI1NnIxICgy NikgKi8KICAgICAge05JRF9icmFpbnBvb2xQMzg0cjEsIDE5MiwgVExTX0NVUlZFX1BSSU1FfSwg LyogYnJhaW5wb29sUDM4NHIxICgyNykgKi8KICAgICAge05JRF9icmFpbnBvb2xQNTEycjEsIDI1 NiwgVExTX0NVUlZFX1BSSU1FfSwgLyogYnJhaW5wb29sNTEycjEgKDI4KSAqLwotQEAgLTI1Nyw2 ICsyNTcsOCBAQCBpbnQgdGxzX2N1cnZlX2FsbG93ZWQoU1NMICpzLCB1aW50MTZfdCBjCitAQCAt MjU4LDYgKzI1OCw4IEBAIGludCB0bHNfY3VydmVfYWxsb3dlZChTU0wgKnMsIHVpbnQxNl90IGMK ICAgICAgaWYgKGNpbmZvLT5mbGFncyAmIFRMU19DVVJWRV9DSEFSMikKICAgICAgICAgIHJldHVy biAwOwogICMgZW5kaWYKQEAgLTExNjM4LDkgKzExNjM2LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvc3NsL3QxX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMWQvc3NsL3QxX2xpYi5jCiAgICAg IGN0bXBbMF0gPSBjdXJ2ZSA+PiA4OwogICAgICBjdG1wWzFdID0gY3VydmUgJiAweGZmOwogICAg ICByZXR1cm4gc3NsX3NlY3VyaXR5KHMsIG9wLCBjaW5mby0+c2VjYml0cywgY2luZm8tPm5pZCwg KHZvaWQgKiljdG1wKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL3Rlc3QvZHNhdGVzdC5jLmZp cHMgb3BlbnNzbC0xLjEuMWQvdGVzdC9kc2F0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC90ZXN0 L2RzYXRlc3QuYy5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvdGVzdC9kc2F0ZXN0LmMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNzA1MjQ4 MDEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3Rlc3QvZHNhdGVzdC5jLmZpcHMgb3Bl bnNzbC0xLjEuMWUvdGVzdC9kc2F0ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4xZS90ZXN0L2RzYXRl c3QuYy5maXBzCTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNz bC0xLjEuMWUvdGVzdC9kc2F0ZXN0LmMJMjAyMC0wMy0xNyAxNzozMToxMC43NDEyNDEwOTEgKzAx MDAKIEBAIC0yNCw0MSArMjQsNDIgQEAKICAjaWZuZGVmIE9QRU5TU0xfTk9fRFNBCiAgc3RhdGlj IGludCBkc2FfY2IoaW50IHAsIGludCBuLCBCTl9HRU5DQiAqYXJnKTsKQEAgLTExNzIzLDkgKzEx NzIxLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdGVzdC9kc2F0ZXN0LmMuZmlwcyBvcGVu c3NsLTEuMS4xZC90ZXN0L2RzYXRlc3QuYwogICAgICAgICAgZ290byBlbmQ7CiAgICAgIGlmICgh VEVTVF9pbnRfZXEoaCwgMikpCiAgICAgICAgICBnb3RvIGVuZDsKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjFkL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cGNpcGgudHh0LmZpcHMgb3Bl bnNzbC0xLjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwY2lwaC50eHQKLS0t LSBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBjaXBoLnR4 dC5maXBzCTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0x LjEuMWQvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwY2lwaC50eHQJMjAxOS0wOS0x MyAxNToxMzoxMS4wNzA1MjQ4MDEgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL3Rlc3Qv cmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cGNpcGgudHh0LmZpcHMgb3BlbnNzbC0xLjEuMWUv dGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwY2lwaC50eHQKKy0tLSBvcGVuc3NsLTEu MS4xZS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBjaXBoLnR4dC5maXBzCTIwMjAt MDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvdGVzdC9y ZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwY2lwaC50eHQJMjAyMC0wMy0xNyAxNzozMToxMC43 NDIyNDEwNzMgKzAxMDAKIEBAIC0xMjA2LDYgKzEyMDYsNyBAQCBLZXkgPSAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAgSVYgPSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMAogIFBsYWludGV4dCA9IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKQEAgLTExNzM0LDEzICsxMTczMiwxMyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xZC90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBjaXBo LnR4dC5maXBzIG9wZW5zc2wtMQogIAogIENpcGhlciA9IGFlcy0xMjgteHRzCiAgS2V5ID0gMTEx MTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvdXRpbC9saWJjcnlwdG8ubnVtLmZpcHMgb3Bl bnNzbC0xLjEuMWQvdXRpbC9saWJjcnlwdG8ubnVtCi0tLS0gb3BlbnNzbC0xLjEuMWQvdXRpbC9s aWJjcnlwdG8ubnVtLmZpcHMJMjAxOS0wOS0xMyAxNToxMzoxMS4wNzE1MjQ3ODMgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMS4xZC91dGlsL2xpYmNyeXB0by5udW0JMjAxOS0wOS0xMyAxNToxNTozOS44 OTU5MjM0ODEgKzAyMDAKLUBAIC00NTgyLDMgKzQ1ODIsMzggQEAgT1BFTlNTTF9JTklUX3NldF9j b25maWdfZmlsZV9mbGFncwotIEVWUF9QS0VZX2dldDBfZW5naW5lICAgICAgICAgICAgICAgICAg ICA0NTM2CTFfMV8xYwlFWElTVDo6RlVOQ1RJT046RU5HSU5FCi0gWDUwOV9nZXQwX2F1dGhvcml0 eV9zZXJpYWwgICAgICAgICAgICAgIDQ1MzcJMV8xXzFkCUVYSVNUOjpGVU5DVElPTjoKLSBYNTA5 X2dldDBfYXV0aG9yaXR5X2lzc3VlciAgICAgICAgICAgICAgNDUzOAkxXzFfMWQJRVhJU1Q6OkZV TkNUSU9OOgorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvdXRpbC9saWJjcnlwdG8ubnVtLmZpcHMg b3BlbnNzbC0xLjEuMWUvdXRpbC9saWJjcnlwdG8ubnVtCistLS0gb3BlbnNzbC0xLjEuMWUvdXRp bC9saWJjcnlwdG8ubnVtLmZpcHMJMjAyMC0wMy0xNyAxNzozMToxMC43NDQyNDEwMzggKzAxMDAK KysrKyBvcGVuc3NsLTEuMS4xZS91dGlsL2xpYmNyeXB0by5udW0JMjAyMC0wMy0xNyAxNzozMjoz Ny44NTE3MjIyNjEgKzAxMDAKK0BAIC00NTg3LDMgKzQ1ODcsMzggQEAgRVZQX1BLRVlfbWV0aF9z ZXRfZGlnZXN0dmVyaWZ5CisgRVZQX1BLRVlfbWV0aF9nZXRfZGlnZXN0dmVyaWZ5ICAgICAgICAg IDQ1NDEJMV8xXzFlCUVYSVNUOjpGVU5DVElPTjoKKyBFVlBfUEtFWV9tZXRoX2dldF9kaWdlc3Rz aWduICAgICAgICAgICAgNDU0MgkxXzFfMWUJRVhJU1Q6OkZVTkNUSU9OOgorIFJTQV9nZXQwX3Bz c19wYXJhbXMgICAgICAgICAgICAgICAgICAgICA0NTQzCTFfMV8xZQlFWElTVDo6RlVOQ1RJT046 UlNBCiArRklQU19kcmJnX3Jlc2VlZCAgICAgICAgICAgICAgICAgICAgICAgIDYzNDgJMV8xXzBn CUVYSVNUOjpGVU5DVElPTjoKICtGSVBTX3NlbGZ0ZXN0X2NoZWNrICAgICAgICAgICAgICAgICAg ICAgNjM0OQkxXzFfMGcJRVhJU1Q6OkZVTkNUSU9OOgogK0ZJUFNfcmFuZF9zZXRfbWV0aG9kICAg ICAgICAgICAgICAgICAgICA2MzUwCTFfMV8wZwlFWElTVDo6RlVOQ1RJT046CgpkaWZmIC0tZ2l0 IGEvb3BlbnNzbC0xLjEuMS1pbnRlbC1jZXQucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLWludGVsLWNl dC5wYXRjaAppbmRleCBjM2NlNGM2Li5hOTViZjljIDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMS4x LWludGVsLWNldC5wYXRjaAorKysgYi9vcGVuc3NsLTEuMS4xLWludGVsLWNldC5wYXRjaApAQCAt MSw2ICsxLDYgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL2Flc25p LXg4Nl82NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Flcy9hc20vYWVzbmkt eDg2XzY0LnBsCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Flcy9hc20vYWVzbmkteDg2XzY0 LnBsLmludGVsLWNldAkyMDE5LTA5LTEwIDE1OjEzOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL2Flc25pLXg4Nl82NC5wbAkyMDIwLTAyLTE3IDEy OjAwOjE5LjAxMTIzNTYwMSArMDEwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Fl cy9hc20vYWVzbmkteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vYWVz L2FzbS9hZXNuaS14ODZfNjQucGwKKy0tLSBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vYWVzL2FzbS9h ZXNuaS14ODZfNjQucGwuaW50ZWwtY2V0CTIwMjAtMDMtMTcgMTU6MzE6MTcuMDAwMDAwMDAwICsw MTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Flcy9hc20vYWVzbmkteDg2XzY0LnBsCTIw MjAtMDMtMTkgMTc6MDc6MDIuNjI2NTIyNjk0ICswMTAwCiBAQCAtMjc1LDYgKzI3NSw3IEBAICRj b2RlLj08PF9fXzsKICAuYWxpZ24JMTYKICAke1BSRUZJWH1fZW5jcnlwdDoKQEAgLTI1LDQxICsy NSwyMyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vYWVzL2FzbS9hZXNuaS14ODZf NjQucGwuaW50ZWwtY2V0IG9wZW5zc2wtMS4xLjFkLwogIF9fXwogICRjb2RlLj08PF9fXyBpZiAo JHdpbjY0KTsKICAJbGVhCS0weDU4KCVyc3ApLCVyc3AKLUBAIC05ODQsNiArOTg3LDggQEAgJGNv ZGUuPTw8X19fOwotIC50eXBlCWFlc25pX2NjbTY0X2VuY3J5cHRfYmxvY2tzLFxAZnVuY3Rpb24s NgorQEAgLTk4NSw2ICs5ODgsNyBAQCAkY29kZS49PDxfX187CiAgLmFsaWduCTE2CiAgYWVzbmlf Y2NtNjRfZW5jcnlwdF9ibG9ja3M6Ci0rLmNmaV9zdGFydHByb2MKKyAuY2ZpX3N0YXJ0cHJvYwog KwllbmRicmFuY2gKICBfX18KICAkY29kZS49PDxfX18gaWYgKCR3aW42NCk7CiAgCWxlYQktMHg1 OCglcnNwKSwlcnNwCi1AQCAtMTA2Niw2ICsxMDcxLDcgQEAgJGNvZGUuPTw8X19fIGlmICgkd2lu NjQpOwotIF9fXwotICRjb2RlLj08PF9fXzsKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJ YWVzbmlfY2NtNjRfZW5jcnlwdF9ibG9ja3MsLi1hZXNuaV9jY202NF9lbmNyeXB0X2Jsb2Nrcwot IF9fXwotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKLUBAIC0xMDc0LDYgKzEwODAsOCBAQCAkY29kZS49PDxfX187 Ci0gLnR5cGUJYWVzbmlfY2NtNjRfZGVjcnlwdF9ibG9ja3MsXEBmdW5jdGlvbiw2CitAQCAtMTA3 Nyw2ICsxMDgxLDcgQEAgJGNvZGUuPTw8X19fOwogIC5hbGlnbgkxNgogIGFlc25pX2NjbTY0X2Rl Y3J5cHRfYmxvY2tzOgotKy5jZmlfc3RhcnRwcm9jCisgLmNmaV9zdGFydHByb2MKICsJZW5kYnJh bmNoCiAgX19fCiAgJGNvZGUuPTw8X19fIGlmICgkd2luNjQpOwogIAlsZWEJLTB4NTgoJXJzcCks JXJzcAotQEAgLTExNzMsNiArMTE4MSw3IEBAICRjb2RlLj08PF9fXyBpZiAoJHdpbjY0KTsKLSBf X18KLSAkY29kZS49PDxfX187Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCWFlc25pX2Nj bTY0X2RlY3J5cHRfYmxvY2tzLC4tYWVzbmlfY2NtNjRfZGVjcnlwdF9ibG9ja3MKLSBfX18KLSB9 DAotQEAgLTExOTksNiArMTIwOCw3IEBAICRjb2RlLj08PF9fXzsKK0BAIC0xMjAzLDYgKzEyMDgs NyBAQCAkY29kZS49PDxfX187CiAgLmFsaWduCTE2CiAgYWVzbmlfY3RyMzJfZW5jcnlwdF9ibG9j a3M6CiAgLmNmaV9zdGFydHByb2MKQEAgLTY3LDcgKzQ5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMWQvY3J5cHRvL2Flcy9hc20vYWVzbmkteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEu MS4xZC8KICAJY21wCVwkMSwkbGVuCiAgCWpuZQkuTGN0cjMyX2J1bGsKICAKLUBAIC0xNzcxLDYg KzE3ODEsNyBAQCAkY29kZS49PDxfX187CitAQCAtMTc3NSw2ICsxNzgxLDcgQEAgJGNvZGUuPTw8 X19fOwogIC5hbGlnbgkxNgogIGFlc25pX3h0c19lbmNyeXB0OgogIC5jZmlfc3RhcnRwcm9jCkBA IC03NSw3ICs1Nyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL2Fl c25pLXg4Nl82NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvCiAgCWxlYQkoJXJzcCksJXIx MQkJCSMgZnJhbWUgcG9pbnRlcgogIC5jZmlfZGVmX2NmYV9yZWdpc3RlcgklcjExCiAgCXB1c2gJ JXJicAotQEAgLTIyNTQsNiArMjI2NSw3IEBAICRjb2RlLj08PF9fXzsKK0BAIC0yMjU4LDYgKzIy NjUsNyBAQCAkY29kZS49PDxfX187CiAgLmFsaWduCTE2CiAgYWVzbmlfeHRzX2RlY3J5cHQ6CiAg LmNmaV9zdGFydHByb2MKQEAgLTgzLDcgKzY1LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQv Y3J5cHRvL2Flcy9hc20vYWVzbmkteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC8K ICAJbGVhCSglcnNwKSwlcjExCQkJIyBmcmFtZSBwb2ludGVyCiAgLmNmaV9kZWZfY2ZhX3JlZ2lz dGVyCSVyMTEKICAJcHVzaAklcmJwCi1AQCAtMjc3OSw2ICsyNzkxLDcgQEAgJGNvZGUuPTw8X19f OworQEAgLTI3ODMsNiArMjc5MSw3IEBAICRjb2RlLj08PF9fXzsKICAuYWxpZ24JMzIKICBhZXNu aV9vY2JfZW5jcnlwdDoKICAuY2ZpX3N0YXJ0cHJvYwpAQCAtOTEsNTEgKzczLDcgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Flcy9hc20vYWVzbmkteDg2XzY0LnBsLmludGVsLWNl dCBvcGVuc3NsLTEuMS4xZC8KICAJbGVhCSglcnNwKSwlcmF4CiAgCXB1c2gJJXJieAogIC5jZmlf cHVzaAklcmJ4Ci1AQCAtMzAzMSw2ICszMDQ0LDcgQEAgJGNvZGUuPTw8X19fOwotIC50eXBlCV9f b2NiX2VuY3J5cHQ2LFxAYWJpLW9tbmlwb3RlbnQKLSAuYWxpZ24JMzIKLSBfX29jYl9lbmNyeXB0 NjoKLSsuY2ZpX3N0YXJ0cHJvYwotIAkgcHhvcgkJJHJuZGtleTBsLEBvZmZzZXRbNV0JIyBvZmZz ZXRfaSBeIHJvdW5kWzBdCi0gCSBtb3ZkcXUJCSgkTF9wLCRpMSksQG9mZnNldFsxXQotIAkgbW92 ZHFhCQlAb2Zmc2V0WzBdLEBvZmZzZXRbMl0KLUBAIC0zMTI4LDExICszMTQyLDEzIEBAIF9fb2Ni X2VuY3J5cHQ2OgotIAlhZXNlbmNsYXN0CUBvZmZzZXRbNF0sJGlub3V0NAotIAlhZXNlbmNsYXN0 CUBvZmZzZXRbNV0sJGlub3V0NQotIAlyZXQKLSsuY2ZpX2VuZHByb2MKLSAuc2l6ZQlfX29jYl9l bmNyeXB0NiwuLV9fb2NiX2VuY3J5cHQ2Ci0gCi0gLnR5cGUJX19vY2JfZW5jcnlwdDQsXEBhYmkt b21uaXBvdGVudAotIC5hbGlnbgkzMgotIF9fb2NiX2VuY3J5cHQ0OgotKy5jZmlfc3RhcnRwcm9j Ci0gCSBweG9yCQkkcm5ka2V5MGwsQG9mZnNldFs1XQkjIG9mZnNldF9pIF4gcm91bmRbMF0KLSAJ IG1vdmRxdQkJKCRMX3AsJGkxKSxAb2Zmc2V0WzFdCi0gCSBtb3ZkcWEJCUBvZmZzZXRbMF0sQG9m ZnNldFsyXQotQEAgLTMxOTcsMTEgKzMyMTMsMTMgQEAgX19vY2JfZW5jcnlwdDQ6Ci0gCWFlc2Vu Y2xhc3QJQG9mZnNldFsyXSwkaW5vdXQyCi0gCWFlc2VuY2xhc3QJQG9mZnNldFszXSwkaW5vdXQz Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCV9fb2NiX2VuY3J5cHQ0LC4tX19vY2JfZW5j cnlwdDQKLSAKLSAudHlwZQlfX29jYl9lbmNyeXB0MSxcQGFiaS1vbW5pcG90ZW50Ci0gLmFsaWdu CTMyCi0gX19vY2JfZW5jcnlwdDE6Ci0rLmNmaV9zdGFydHByb2MKLSAJIHB4b3IJCUBvZmZzZXRb NV0sJGlub3V0NQkjIG9mZnNldF9pCi0gCSBweG9yCQkkcm5ka2V5MGwsJGlub3V0NQkjIG9mZnNl dF9pIF4gcm91bmRbMF0KLSAJcHhvcgkJJGlub3V0MCwkY2hlY2tzdW0JIyBhY2N1bXVsYXRlIGNo ZWNrc3VtCi1AQCAtMzIzMiw2ICszMjUwLDcgQEAgX19vY2JfZW5jcnlwdDE6Ci0gCi0gCWFlc2Vu Y2xhc3QJJGlub3V0NSwkaW5vdXQwCi0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCV9fb2Ni X2VuY3J5cHQxLC4tX19vY2JfZW5jcnlwdDEKLSAKLSAuZ2xvYmwJYWVzbmlfb2NiX2RlY3J5cHQK LUBAIC0zMjM5LDYgKzMyNTgsNyBAQCBfX29jYl9lbmNyeXB0MToKK0BAIC0zMjQ5LDYgKzMyNTgs NyBAQCBfX29jYl9lbmNyeXB0MToKICAuYWxpZ24JMzIKICBhZXNuaV9vY2JfZGVjcnlwdDoKICAu Y2ZpX3N0YXJ0cHJvYwpAQCAtMTQzLDUxICs4MSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9hZXMvYXNtL2Flc25pLXg4Nl82NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQv CiAgCWxlYQkoJXJzcCksJXJheAogIAlwdXNoCSVyYngKICAuY2ZpX3B1c2gJJXJieAotQEAgLTM1 MTMsNiArMzUzMyw3IEBAICRjb2RlLj08PF9fXzsKLSAudHlwZQlfX29jYl9kZWNyeXB0NixcQGFi aS1vbW5pcG90ZW50Ci0gLmFsaWduCTMyCi0gX19vY2JfZGVjcnlwdDY6Ci0rLmNmaV9zdGFydHBy b2MKLSAJIHB4b3IJCSRybmRrZXkwbCxAb2Zmc2V0WzVdCSMgb2Zmc2V0X2kgXiByb3VuZFswXQot IAkgbW92ZHF1CQkoJExfcCwkaTEpLEBvZmZzZXRbMV0KLSAJIG1vdmRxYQkJQG9mZnNldFswXSxA b2Zmc2V0WzJdCi1AQCAtMzYwNCwxMSArMzYyNSwxMyBAQCBfX29jYl9kZWNyeXB0NjoKLSAJYWVz ZGVjbGFzdAlAb2Zmc2V0WzRdLCRpbm91dDQKLSAJYWVzZGVjbGFzdAlAb2Zmc2V0WzVdLCRpbm91 dDUKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJX19vY2JfZGVjcnlwdDYsLi1fX29jYl9k ZWNyeXB0NgotIAotIC50eXBlCV9fb2NiX2RlY3J5cHQ0LFxAYWJpLW9tbmlwb3RlbnQKLSAuYWxp Z24JMzIKLSBfX29jYl9kZWNyeXB0NDoKLSsuY2ZpX3N0YXJ0cHJvYwotIAkgcHhvcgkJJHJuZGtl eTBsLEBvZmZzZXRbNV0JIyBvZmZzZXRfaSBeIHJvdW5kWzBdCi0gCSBtb3ZkcXUJCSgkTF9wLCRp MSksQG9mZnNldFsxXQotIAkgbW92ZHFhCQlAb2Zmc2V0WzBdLEBvZmZzZXRbMl0KLUBAIC0zNjY5 LDExICszNjkyLDEzIEBAIF9fb2NiX2RlY3J5cHQ0OgotIAlhZXNkZWNsYXN0CUBvZmZzZXRbMl0s JGlub3V0MgotIAlhZXNkZWNsYXN0CUBvZmZzZXRbM10sJGlub3V0MwotIAlyZXQKLSsuY2ZpX2Vu ZHByb2MKLSAuc2l6ZQlfX29jYl9kZWNyeXB0NCwuLV9fb2NiX2RlY3J5cHQ0Ci0gCi0gLnR5cGUJ X19vY2JfZGVjcnlwdDEsXEBhYmktb21uaXBvdGVudAotIC5hbGlnbgkzMgotIF9fb2NiX2RlY3J5 cHQxOgotKy5jZmlfc3RhcnRwcm9jCi0gCSBweG9yCQlAb2Zmc2V0WzVdLCRpbm91dDUJIyBvZmZz ZXRfaQotIAkgcHhvcgkJJHJuZGtleTBsLCRpbm91dDUJIyBvZmZzZXRfaSBeIHJvdW5kWzBdCi0g CXB4b3IJCSRpbm91dDUsJGlub3V0MAkJIyBpbnB1dCBeIHJvdW5kWzBdIF4gb2Zmc2V0X2kKLUBA IC0zNzAzLDYgKzM3MjgsNyBAQCBfX29jYl9kZWNyeXB0MToKLSAKLSAJYWVzZGVjbGFzdAkkaW5v dXQ1LCRpbm91dDAKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJX19vY2JfZGVjcnlwdDEs Li1fX29jYl9kZWNyeXB0MQotIF9fXwotIH0gfX0KLUBAIC0zNzIxLDYgKzM3NDcsNyBAQCAkY29k ZS49PDxfX187CitAQCAtMzczNyw2ICszNzQ3LDcgQEAgJGNvZGUuPTw8X19fOwogIC5hbGlnbgkx NgogICR7UFJFRklYfV9jYmNfZW5jcnlwdDoKICAuY2ZpX3N0YXJ0cHJvYwpAQCAtMTk1LDI1ICs4 OSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL2Flc25pLXg4Nl82 NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvCiAgCXRlc3QJJGxlbiwkbGVuCQkjIGNoZWNr IGxlbmd0aAogIAlqegkuTGNiY19yZXQKICAKLUBAIC00NjM3LDcgKzQ2NjQsNiBAQCBfX2Flc25p X3NldF9lbmNyeXB0X2tleToKLSAJYWRkCVwkOCwlcnNwCi0gLmNmaV9hZGp1c3RfY2ZhX29mZnNl dAktOAotIAlyZXQKLS0uY2ZpX2VuZHByb2MKLSAuTFNFSF9lbmRfc2V0X2VuY3J5cHRfa2V5Ogot IAwKLSAuYWxpZ24JMTYKLUBAIC00NzA4LDYgKzQ3MzQsNyBAQCBfX2Flc25pX3NldF9lbmNyeXB0 X2tleToKLSAJc2h1ZnBzCVwkMGIxMDEwMTAxMCwleG1tMSwleG1tMQkjIGNyaXRpY2FsIHBhdGgK LSAJeG9ycHMJJXhtbTEsJXhtbTIKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJJHtQUkVG SVh9X3NldF9lbmNyeXB0X2tleSwuLSR7UFJFRklYfV9zZXRfZW5jcnlwdF9rZXkKLSAuc2l6ZQlf X2Flc25pX3NldF9lbmNyeXB0X2tleSwuLV9fYWVzbmlfc2V0X2VuY3J5cHRfa2V5Ci0gX19fCi1k aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vYWVzL2FzbS92cGFlcy14ODZfNjQucGwuaW50 ZWwtY2V0IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL3ZwYWVzLXg4Nl82NC5wbAotLS0t IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hZXMvYXNtL3ZwYWVzLXg4Nl82NC5wbC5pbnRlbC1jZXQJ MjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9j cnlwdG8vYWVzL2FzbS92cGFlcy14ODZfNjQucGwJMjAyMC0wMi0xNyAxMTo1NTowNy4zNzQ1NTcy NDkgKzAxMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9hZXMvYXNtL3ZwYWVzLXg4 Nl82NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Flcy9hc20vdnBhZXMteDg2 XzY0LnBsCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Flcy9hc20vdnBhZXMteDg2XzY0LnBs LmludGVsLWNldAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5z c2wtMS4xLjFlL2NyeXB0by9hZXMvYXNtL3ZwYWVzLXg4Nl82NC5wbAkyMDIwLTAzLTE5IDE3OjAw OjE1Ljk3NDYyMTc1NyArMDEwMAogQEAgLTY5Niw2ICs2OTYsNyBAQCBfdnBhZXNfc2NoZWR1bGVf bWFuZ2xlOgogIC5hbGlnbgkxNgogICR7UFJFRklYfV9zZXRfZW5jcnlwdF9rZXk6CkBAIC0yNTQs OSArMTMyLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2Flcy9hc20vdnBhZXMt eDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC8KICAJeGNoZwkka2V5LCRsZW4KICBf X18KICAoJGxlbiwka2V5KT0oJGtleSwkbGVuKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9hc3luYy9hcmNoL2FzeW5jX3Bvc2l4LmMuaW50ZWwtY2V0IG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9hc3luYy9hcmNoL2FzeW5jX3Bvc2l4LmMKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v YXN5bmMvYXJjaC9hc3luY19wb3NpeC5jLmludGVsLWNldAkyMDE5LTA5LTEwIDE1OjEzOjA3LjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9hc3luYy9hcmNoL2FzeW5j X3Bvc2l4LmMJMjAyMC0wMi0xNyAxMTo1NTowNy4zNzQ1NTcyNDkgKzAxMDAKK2RpZmYgLXVwIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9hc3luYy9hcmNoL2FzeW5jX3Bvc2l4LmMuaW50ZWwtY2V0IG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9hc3luYy9hcmNoL2FzeW5jX3Bvc2l4LmMKKy0tLSBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vYXN5bmMvYXJjaC9hc3luY19wb3NpeC5jLmludGVsLWNldAkyMDIwLTAz LTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9h c3luYy9hcmNoL2FzeW5jX3Bvc2l4LmMJMjAyMC0wMy0xOSAxNzowMDoxNS45NzQ2MjE3NTcgKzAx MDAKIEBAIC0zNCw3ICszNCw5IEBAIHZvaWQgYXN5bmNfbG9jYWxfY2xlYW51cCh2b2lkKQogIAog IGludCBhc3luY19maWJyZV9tYWtlY29udGV4dChhc3luY19maWJyZSAqZmlicmUpCkBAIC0yNjcs OSArMTQ1LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2FzeW5jL2FyY2gvYXN5 bmNfcG9zaXguYy5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQKICAgICAgaWYgKGdldGNvbnRleHQo JmZpYnJlLT5maWJyZSkgPT0gMCkgewogICAgICAgICAgZmlicmUtPmZpYnJlLnVjX3N0YWNrLnNz X3NwID0gT1BFTlNTTF9tYWxsb2MoU1RBQ0tTSVpFKTsKICAgICAgICAgIGlmIChmaWJyZS0+Zmli cmUudWNfc3RhY2suc3Nfc3AgIT0gTlVMTCkgewotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2FzeW5jL2FyY2gvYXN5bmNfcG9zaXguaC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL2FzeW5jL2FyY2gvYXN5bmNfcG9zaXguaAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9h c3luYy9hcmNoL2FzeW5jX3Bvc2l4LmguaW50ZWwtY2V0CTIwMjAtMDItMTcgMTE6NTU6MDYuNjAw NTcwNDkyICswMTAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2FzeW5jL2FyY2gvYXN5bmNf cG9zaXguaAkyMDIwLTAyLTE3IDExOjU1OjA3LjM3NDU1NzI0OSArMDEwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2FzeW5jL2FyY2gvYXN5bmNfcG9zaXguaC5pbnRlbC1jZXQgb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL2FzeW5jL2FyY2gvYXN5bmNfcG9zaXguaAorLS0tIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9hc3luYy9hcmNoL2FzeW5jX3Bvc2l4LmguaW50ZWwtY2V0CTIwMjAtMDMt MTkgMTc6MDA6MTUuNDM1NjMxMTY2ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL2Fz eW5jL2FyY2gvYXN5bmNfcG9zaXguaAkyMDIwLTAzLTE5IDE3OjAwOjE1Ljk3NTYyMTczOSArMDEw MAogQEAgLTI1LDE3ICsyNSwzMyBAQAogICMgIGRlZmluZSBBU1lOQ19QT1NJWAogICMgIGRlZmlu ZSBBU1lOQ19BUkNICkBAIC0zMTMsMTAgKzE5MSwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZC9jcnlwdG8vYXN5bmMvYXJjaC9hc3luY19wb3NpeC5oLmludGVsLWNldCBvcGVuc3NsLTEuMS4x ZAogIAogICAgICByZXR1cm4gMTsKICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v Y2FtZWxsaWEvYXNtL2NtbGwteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vY2FtZWxsaWEvYXNtL2NtbGwteDg2XzY0LnBsCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRv L2NhbWVsbGlhL2FzbS9jbWxsLXg4Nl82NC5wbC5pbnRlbC1jZXQJMjAxOS0wOS0xMCAxNToxMzow Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vY2FtZWxsaWEvYXNt L2NtbGwteDg2XzY0LnBsCTIwMjAtMDItMTcgMTE6NTU6MDcuMzc1NTU3MjMyICswMTAwCi1AQCAt Njc3LDYgKzY3Nyw3IEBAICRjb2RlLj08PF9fXzsKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9jYW1lbGxpYS9hc20vY21sbC14ODZfNjQucGwuaW50ZWwtY2V0IG9wZW5zc2wtMS4xLjFl L2NyeXB0by9jYW1lbGxpYS9hc20vY21sbC14ODZfNjQucGwKKy0tLSBvcGVuc3NsLTEuMS4xZS9j cnlwdG8vY2FtZWxsaWEvYXNtL2NtbGwteDg2XzY0LnBsLmludGVsLWNldAkyMDIwLTAzLTE3IDE1 OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9jYW1lbGxp YS9hc20vY21sbC14ODZfNjQucGwJMjAyMC0wMy0xOSAxNzowMDoxNS45NzU2MjE3MzkgKzAxMDAK K0BAIC02ODUsNiArNjg1LDcgQEAgJGNvZGUuPTw8X19fOwogIC5hbGlnbgkxNgogIENhbWVsbGlh X2NiY19lbmNyeXB0OgogIC5jZmlfc3RhcnRwcm9jCkBAIC0zMjQsOSArMjAyLDkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL2NhbWVsbGlhL2FzbS9jbWxsLXg4Nl82NC5wbC5pbnRl bC1jZXQgb3BlbnNzbC0xLjEKICAJY21wCVwkMCwlcmR4CiAgCWplCS5MY2JjX2Fib3J0CiAgCXB1 c2gJJXJieAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL21vZGVzL2FzbS9naGFzaC14 ODZfNjQucGwuaW50ZWwtY2V0IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9tb2Rlcy9hc20vZ2hhc2gt eDg2XzY0LnBsCi0tLS0gb3BlbnNzbC0xLjEuMWQvY3J5cHRvL21vZGVzL2FzbS9naGFzaC14ODZf NjQucGwuaW50ZWwtY2V0CTIwMTktMDktMTAgMTU6MTM6MDcuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL21vZGVzL2FzbS9naGFzaC14ODZfNjQucGwJMjAyMC0wMi0x NyAxMTo1NTowNy4zNzU1NTcyMzIgKzAxMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9tb2Rlcy9hc20vZ2hhc2gteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZS9jcnlw dG8vbW9kZXMvYXNtL2doYXNoLXg4Nl82NC5wbAorLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9t b2Rlcy9hc20vZ2hhc2gteDg2XzY0LnBsLmludGVsLWNldAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAw MDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9tb2Rlcy9hc20vZ2hhc2gt eDg2XzY0LnBsCTIwMjAtMDMtMTkgMTc6MDA6MTUuOTc1NjIxNzM5ICswMTAwCiBAQCAtMjM5LDYg KzIzOSw3IEBAICRjb2RlPTw8X19fOwogIC5hbGlnbgkxNgogIGdjbV9nbXVsdF80Yml0OgpAQCAt Mzc1LDkgKzI1Myw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9tb2Rlcy9hc20v Z2hhc2gteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xCiAgX19fCiAgaWYgKCRhdngp IHsKICBteSAoJFhpcCwkSHRibCwkaW5wLCRsZW4pPUBfNGFyZ3M7Ci1kaWZmIC11cCBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vcGVybGFzbS9jYmMucGwuaW50ZWwtY2V0IG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9wZXJsYXNtL2NiYy5wbAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9wZXJsYXNtL2Ni Yy5wbC5pbnRlbC1jZXQJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMS4xZC9jcnlwdG8vcGVybGFzbS9jYmMucGwJMjAyMC0wMi0xNyAxMTo1NTowNy4z NzU1NTcyMzIgKzAxMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wZXJsYXNtL2Ni Yy5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20vY2JjLnBsCistLS0g b3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20vY2JjLnBsLmludGVsLWNldAkyMDIwLTAzLTE3 IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wZXJs YXNtL2NiYy5wbAkyMDIwLTAzLTE5IDE3OjAwOjE1Ljk3NjYyMTcyMiArMDEwMAogQEAgLTE2NSwy MSArMTY1LDI4IEBAIHN1YiBjYmMKICAJJmptcF9wdHIoJGNvdW50KTsKICAKQEAgLTQwNyw5ICsy ODUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcGVybGFzbS9jYmMucGwuaW50 ZWwtY2V0IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9wZQogIAkmbW92YigmTEIoImVjeCIpLAkmQlAo MCwkaW4sIiIsMCkpOwogICZzZXRfbGFiZWwoImVqZW5kIik7CiAgCi1kaWZmIC11cCBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8vcGVybGFzbS94ODZfNjQteGxhdGUucGwuaW50ZWwtY2V0IG9wZW5zc2wt MS4xLjFkL2NyeXB0by9wZXJsYXNtL3g4Nl82NC14bGF0ZS5wbAotLS0tIG9wZW5zc2wtMS4xLjFk L2NyeXB0by9wZXJsYXNtL3g4Nl82NC14bGF0ZS5wbC5pbnRlbC1jZXQJMjAxOS0wOS0xMCAxNTox MzowNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcGVybGFzbS94 ODZfNjQteGxhdGUucGwJMjAyMC0wMi0xNyAxMTo1NTowNy4zNzU1NTcyMzIgKzAxMDAKK2RpZmYg LXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wZXJsYXNtL3g4Nl82NC14bGF0ZS5wbC5pbnRlbC1j ZXQgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20veDg2XzY0LXhsYXRlLnBsCistLS0gb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20veDg2XzY0LXhsYXRlLnBsLmludGVsLWNldAkyMDIw LTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0 by9wZXJsYXNtL3g4Nl82NC14bGF0ZS5wbAkyMDIwLTAzLTE5IDE3OjAwOjE1Ljk4NDYyMTU4MiAr MDEwMAogQEAgLTEwMSw2ICsxMDEsMzMgQEAgZWxzaWYgKCEkZ2FzKQogICAgICAkZGVjb3I9Ilwk TFwkIjsKICB9CkBAIC00NTIsOSArMzMwLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5 cHRvL3Blcmxhc20veDg2XzY0LXhsYXRlLnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC8KICBw cmludCAiXG4kY3VycmVudF9zZWdtZW50XHRFTkRTXG4iCWlmICgkY3VycmVudF9zZWdtZW50ICYm ICRtYXNtKTsKICBwcmludCAiRU5EXG4iCQkJCWlmICgkbWFzbSk7CiAgCi1kaWZmIC11cCBvcGVu c3NsLTEuMS4xZC9jcnlwdG8vcGVybGFzbS94ODZnYXMucGwuaW50ZWwtY2V0IG9wZW5zc2wtMS4x LjFkL2NyeXB0by9wZXJsYXNtL3g4Nmdhcy5wbAotLS0tIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9w ZXJsYXNtL3g4Nmdhcy5wbC5pbnRlbC1jZXQJMjAxOS0wOS0xMCAxNToxMzowNy4wMDAwMDAwMDAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcGVybGFzbS94ODZnYXMucGwJMjAyMC0w Mi0xNyAxMTo1NTowNy4zNzY1NTcyMTUgKzAxMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2Ny eXB0by9wZXJsYXNtL3g4Nmdhcy5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Bl cmxhc20veDg2Z2FzLnBsCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20veDg2Z2Fz LnBsLmludGVsLWNldAkyMDIwLTAzLTE3IDE1OjMxOjE3LjAwMDAwMDAwMCArMDEwMAorKysrIG9w ZW5zc2wtMS4xLjFlL2NyeXB0by9wZXJsYXNtL3g4Nmdhcy5wbAkyMDIwLTAzLTE5IDE3OjAwOjE1 Ljk4NTYyMTU2NSArMDEwMAogQEAgLTEyNCw2ICsxMjQsNyBAQCBzdWIgOjpmdW5jdGlvbl9iZWdp bl9CCiAgICAgIHB1c2goQG91dCwiLmFsaWduXHQkYWxpZ25cbiIpOwogICAgICBwdXNoKEBvdXQs IiRmdW5jOlxuIik7CkBAIC00OTAsMjkyICszNjgsNzIgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL3Blcmxhc20veDg2Z2FzLnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC9jcnlw dG8KICB9CiAgCiAgc3ViIDo6ZGF0YV9ieXRlCXsgICBwdXNoKEBvdXQsIi5ieXRlXHQiLmpvaW4o JywnLEBfKS4iXG4iKTsgICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcG9seTEz MDUvYXNtL3BvbHkxMzA1LXg4Nl82NC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvY3J5cHRv L3BvbHkxMzA1L2FzbS9wb2x5MTMwNS14ODZfNjQucGwKLS0tLSBvcGVuc3NsLTEuMS4xZC9jcnlw dG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXg4Nl82NC5wbC5pbnRlbC1jZXQJMjAyMC0wMi0xNyAx MTo1NTowNy4zNzY1NTcyMTUgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcG9seTEz MDUvYXNtL3BvbHkxMzA1LXg4Nl82NC5wbAkyMDIwLTAyLTE3IDEyOjAyOjEyLjI5NTMwODA2NSAr MDEwMAotQEAgLTkwLDcgKzkwLDcgQEAgaWYgKCEkYXZ4ICYmICR3aW42NCAmJiAoJGZsYXZvdXIg PX4gL21hcwotIAkkYXZ4ID0gKCQxPj0xMCkgKyAoJDE+PTEyKTsKLSB9Ci0gCi0taWYgKCEkYXZ4 ICYmIGAkRU5We0NDfSAtdiAyPiYxYCA9fiAvKCg/Ol5jbGFuZ3xMTFZNKSB2ZXJzaW9ufC4qYmFz ZWQgb24gTExWTSkgKFszLTldXC5bMC05XSspLykgewotK2lmICghJGF2eCAmJiBgJEVOVntDQ30g LXYgMj4mMWAgPX4gLygoPzpeY2xhbmd8TExWTSkgdmVyc2lvbnwuKmJhc2VkIG9uIExMVk0pIChb MC05XStcLlswLTldKykvKSB7Ci0gCSRhdnggPSAoJDI+PTMuMCkgKyAoJDI+My4wKTsKLSB9Ci0g Ci1AQCAtMTY4LDYgKzE2OCw3IEBAICRjb2RlLj08PF9fXzsKLSAudHlwZQlwb2x5MTMwNV9pbml0 LFxAZnVuY3Rpb24sMwotIC5hbGlnbgkzMgotIHBvbHkxMzA1X2luaXQ6Ci0rLmNmaV9zdGFydHBy b2MKLSAJeG9yCSVyYXgsJXJheAotIAltb3YJJXJheCwwKCRjdHgpCQkjIGluaXRpYWxpemUgaGFz aCB2YWx1ZQotIAltb3YJJXJheCw4KCRjdHgpCi1AQCAtMjE5LDYgKzIyMCw3IEBAICRjb2RlLj08 PF9fXzsKLSAJbW92CVwkMSwlZWF4Ci0gLkxub19rZXk6Ci0gCXJldAotKy5jZmlfZW5kcHJvYwot IC5zaXplCXBvbHkxMzA1X2luaXQsLi1wb2x5MTMwNV9pbml0Ci0gCi0gLnR5cGUJcG9seTEzMDVf YmxvY2tzLFxAZnVuY3Rpb24sNAotQEAgLTI5OCw2ICszMDAsNyBAQCAkY29kZS49PDxfX187Ci0g LnR5cGUJcG9seTEzMDVfZW1pdCxcQGZ1bmN0aW9uLDMKLSAuYWxpZ24JMzIKLSBwb2x5MTMwNV9l bWl0OgotKy5jZmlfc3RhcnRwcm9jCi0gLkxlbWl0OgotIAltb3YJMCgkY3R4KSwlcjgJIyBsb2Fk IGhhc2ggdmFsdWUKLSAJbW92CTgoJGN0eCksJXI5Ci1AQCAtMzE4LDYgKzMyMSw3IEBAIHBvbHkx MzA1X2VtaXQ6Ci0gCW1vdgklcmN4LDgoJG1hYykKLSAKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0g LnNpemUJcG9seTEzMDVfZW1pdCwuLXBvbHkxMzA1X2VtaXQKLSBfX18KLSBpZiAoJGF2eCkgewot QEAgLTM0MiwxNSArMzQ2LDE4IEBAICRjb2RlLj08PF9fXzsKLSAudHlwZQlfX3BvbHkxMzA1X2Js b2NrLFxAYWJpLW9tbmlwb3RlbnQKLSAuYWxpZ24JMzIKLSBfX3BvbHkxMzA1X2Jsb2NrOgotKy5j Zmlfc3RhcnRwcm9jCi0gX19fCi0gCSZwb2x5MTMwNV9pdGVyYXRpb24oKTsKLSAkY29kZS49PDxf X187Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCV9fcG9seTEzMDVfYmxvY2ssLi1fX3Bv bHkxMzA1X2Jsb2NrCi0gCi0gLnR5cGUJX19wb2x5MTMwNV9pbml0X2F2eCxcQGFiaS1vbW5pcG90 ZW50Ci0gLmFsaWduCTMyCi0gX19wb2x5MTMwNV9pbml0X2F2eDoKLSsuY2ZpX3N0YXJ0cHJvYwot IAltb3YJJHIwLCRoMAotIAltb3YJJHIxLCRoMQotIAl4b3IJJGgyLCRoMgotQEAgLTUwOCw2ICs1 MTUsNyBAQCBfX3BvbHkxMzA1X2luaXRfYXZ4OgotIAotIAlsZWEJLTQ4LTY0KCRjdHgpLCRjdHgJ IyBzaXplIFtkZS1db3B0aW1pemF0aW9uCi0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCV9f cG9seTEzMDVfaW5pdF9hdngsLi1fX3BvbHkxMzA1X2luaXRfYXZ4Ci0gCi0gLnR5cGUJcG9seTEz MDVfYmxvY2tzX2F2eCxcQGZ1bmN0aW9uLDQKLUBAIC0xMzczLDYgKzEzODEsNyBAQCAkY29kZS49 PDxfX187Ci0gLnR5cGUJcG9seTEzMDVfZW1pdF9hdngsXEBmdW5jdGlvbiwzCi0gLmFsaWduCTMy Ci0gcG9seTEzMDVfZW1pdF9hdng6Ci0rLmNmaV9zdGFydHByb2MKLSAJY21wbAlcJDAsMjAoJGN0 eCkJIyBpc19iYXNlMl8yNj8KLSAJamUJLkxlbWl0Ci0gCi1AQCAtMTQyMyw2ICsxNDMyLDcgQEAg cG9seTEzMDVfZW1pdF9hdng6Ci0gCW1vdgklcmN4LDgoJG1hYykKLSAKLSAJcmV0Ci0rLmNmaV9l bmRwcm9jCi0gLnNpemUJcG9seTEzMDVfZW1pdF9hdngsLi1wb2x5MTMwNV9lbWl0X2F2eAotIF9f XwotIAotQEAgLTI3NDEsNiArMjc1MSw3IEBAICRjb2RlLj08PF9fXzsKLSAudHlwZQlwb2x5MTMw NV9pbml0X2Jhc2UyXzQ0LFxAZnVuY3Rpb24sMwotIC5hbGlnbgkzMgotIHBvbHkxMzA1X2luaXRf YmFzZTJfNDQ6Ci0rLmNmaV9zdGFydHByb2MKLSAJeG9yCSVyYXgsJXJheAotIAltb3YJJXJheCww KCRjdHgpCQkjIGluaXRpYWxpemUgaGFzaCB2YWx1ZQotIAltb3YJJXJheCw4KCRjdHgpCi1AQCAt Mjc4Miw2ICsyNzkzLDcgQEAgX19fCi0gJGNvZGUuPTw8X19fOwotIAltb3YJXCQxLCVlYXgKLSAJ cmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJcG9seTEzMDVfaW5pdF9iYXNlMl80NCwuLXBvbHkx MzA1X2luaXRfYmFzZTJfNDQKLSBfX18KLSB7Ci1AQCAtMjc5Myw2ICsyODA1LDggQEAgJGNvZGUu PTw8X19fOwotIC50eXBlCXBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1MixcQGZ1bmN0aW9uLDQKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wb2x5MTMwNS9hc20vcG9seTEzMDUteDg2XzY0 LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1 LXg4Nl82NC5wbAorLS0tIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wb2x5MTMwNS9hc20vcG9seTEz MDUteDg2XzY0LnBsLmludGVsLWNldAkyMDIwLTAzLTE5IDE3OjAwOjM4LjE4NTIzNDAxNSArMDEw MAorKysrIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wb2x5MTMwNS9hc20vcG9seTEzMDUteDg2XzY0 LnBsCTIwMjAtMDMtMTkgMTc6MDU6NDYuNTc1ODUwMzQxICswMTAwCitAQCAtMjgwNiw2ICsyODA2 LDcgQEAgJGNvZGUuPTw8X19fOwogIC5hbGlnbgkzMgogIHBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1 MjoKLSsuY2ZpX3N0YXJ0cHJvYworIC5jZmlfc3RhcnRwcm9jCiArCWVuZGJyYW5jaAogIAlzaHIJ XCQ0LCRsZW4KICAJanoJLkxub19kYXRhX3ZwbWFkZDUyCQkjIHRvbyBzaG9ydAogIAotQEAgLTI4 OTksNiArMjkxMyw3IEBAIHBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1MjoKLSAKLSAuTG5vX2RhdGFf dnBtYWRkNTI6Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCXBvbHkxMzA1X2Jsb2Nrc192 cG1hZGQ1MiwuLXBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1MgotIF9fXwotIH0KLUBAIC0yOTE2LDYg KzI5MzEsNyBAQCAkY29kZS49PDxfX187Ci0gLnR5cGUJcG9seTEzMDVfYmxvY2tzX3ZwbWFkZDUy XzR4LFxAZnVuY3Rpb24sNAotIC5hbGlnbgkzMgotIHBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1Ml80 eDoKLSsuY2ZpX3N0YXJ0cHJvYwotIAlzaHIJXCQ0LCRsZW4KLSAJanoJLkxub19kYXRhX3ZwbWFk ZDUyXzR4CQkjIHRvbyBzaG9ydAotIAotQEAgLTMzNDAsNiArMzM1Niw3IEBAIHBvbHkxMzA1X2Js b2Nrc192cG1hZGQ1Ml80eDoKLSAKLSAuTG5vX2RhdGFfdnBtYWRkNTJfNHg6Ci0gCXJldAotKy5j ZmlfZW5kcHJvYwotIC5zaXplCXBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1Ml80eCwuLXBvbHkxMzA1 X2Jsb2Nrc192cG1hZGQ1Ml80eAotIF9fXwotIH0KLUBAIC0zMzU4LDYgKzMzNzUsNyBAQCAkY29k ZS49PDxfX187Ci0gLnR5cGUJcG9seTEzMDVfYmxvY2tzX3ZwbWFkZDUyXzh4LFxAZnVuY3Rpb24s NAotIC5hbGlnbgkzMgotIHBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1Ml84eDoKLSsuY2ZpX3N0YXJ0 cHJvYwotIAlzaHIJXCQ0LCRsZW4KLSAJanoJLkxub19kYXRhX3ZwbWFkZDUyXzh4CQkjIHRvbyBz aG9ydAotIAotQEAgLTM3MTMsNiArMzczMSw3IEBAICRjb2RlLj08PF9fXzsKLSAKLSAuTG5vX2Rh dGFfdnBtYWRkNTJfOHg6Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCXBvbHkxMzA1X2Js b2Nrc192cG1hZGQ1Ml84eCwuLXBvbHkxMzA1X2Jsb2Nrc192cG1hZGQ1Ml84eAotIF9fXwotIH0K LUBAIC0zNzIwLDYgKzM3MzksOCBAQCAkY29kZS49PDxfX187Ci0gLnR5cGUJcG9seTEzMDVfZW1p dF9iYXNlMl80NCxcQGZ1bmN0aW9uLDMKK0BAIC0zNzM5LDYgKzM3NDAsNyBAQCAkY29kZS49PDxf X187CiAgLmFsaWduCTMyCiAgcG9seTEzMDVfZW1pdF9iYXNlMl80NDoKLSsuY2ZpX3N0YXJ0cHJv YworIC5jZmlfc3RhcnRwcm9jCiArCWVuZGJyYW5jaAogIAltb3YJMCgkY3R4KSwlcjgJIyBsb2Fk IGhhc2ggdmFsdWUKICAJbW92CTgoJGN0eCksJXI5CiAgCW1vdgkxNigkY3R4KSwlcjEwCi1AQCAt Mzc1MCw2ICszNzcxLDcgQEAgcG9seTEzMDVfZW1pdF9iYXNlMl80NDoKLSAJbW92CSVyY3gsOCgk bWFjKQotIAotIAlyZXQKLSsuY2ZpX2VuZHByb2MKLSAuc2l6ZQlwb2x5MTMwNV9lbWl0X2Jhc2Uy XzQ0LC4tcG9seTEzMDVfZW1pdF9iYXNlMl80NAotIF9fXwotIH0JfQl9Ci1AQCAtMzgwMCw2ICsz ODIyLDcgQEAgJGNvZGUuPTw8X19fOwotIC50eXBlCXhvcjEyOF9lbmNyeXB0X25fcGFkLFxAYWJp LW9tbmlwb3RlbnQKLSAuYWxpZ24JMTYKLSB4b3IxMjhfZW5jcnlwdF9uX3BhZDoKLSsuY2ZpX3N0 YXJ0cHJvYwotIAlzdWIJJG90cCwkaW5wCi0gCXN1Ygkkb3RwLCRvdXQKLSAJbW92CSRsZW4sJXIx MAkJIyBwdXQgbGVuIGFzaWRlCi1AQCAtMzg0MSwxMiArMzg2NCwxNCBAQCB4b3IxMjhfZW5jcnlw dF9uX3BhZDoKLSAuTGRvbmVfZW5jOgotIAltb3YJJG90cCwlcmF4Ci0gCXJldAotKy5jZmlfZW5k cHJvYwotIC5zaXplCXhvcjEyOF9lbmNyeXB0X25fcGFkLC4teG9yMTI4X2VuY3J5cHRfbl9wYWQK LSAKLSAuZ2xvYmwJeG9yMTI4X2RlY3J5cHRfbl9wYWQKLSAudHlwZQl4b3IxMjhfZGVjcnlwdF9u X3BhZCxcQGFiaS1vbW5pcG90ZW50CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmM0 L2FzbS9yYzQteDg2XzY0LnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmM0L2Fz bS9yYzQteDg2XzY0LnBsCistLS0gb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3JjNC9hc20vcmM0LXg4 Nl82NC5wbC5pbnRlbC1jZXQJMjAyMC0wMy0xOSAxNzowMDozOC4xOTAyMzM5MjggKzAxMDAKKysr KyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcmM0L2FzbS9yYzQteDg2XzY0LnBsCTIwMjAtMDMtMTkg MTc6MDU6MDIuNTk4NjE4MDY0ICswMTAwCitAQCAtMTQwLDYgKzE0MCw3IEBAICRjb2RlPTw8X19f OwogIC5hbGlnbgkxNgotIHhvcjEyOF9kZWNyeXB0X25fcGFkOgotKy5jZmlfc3RhcnRwcm9jCi0g CXN1Ygkkb3RwLCRpbnAKLSAJc3ViCSRvdHAsJG91dAotIAltb3YJJGxlbiwlcjEwCQkjIHB1dCBs ZW4gYXNpZGUKLUBAIC0zODkyLDYgKzM5MTcsNyBAQCB4b3IxMjhfZGVjcnlwdF9uX3BhZDoKLSAu TGRvbmVfZGVjOgotIAltb3YJJG90cCwlcmF4Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXpl CXhvcjEyOF9kZWNyeXB0X25fcGFkLC4teG9yMTI4X2RlY3J5cHRfbl9wYWQKLSBfX18KLSB9Ci1k aWZmIC11cCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmM0L2FzbS9yYzQteDg2XzY0LnBsLmludGVs LWNldCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8vcmM0L2FzbS9yYzQteDg2XzY0LnBsCi0tLS0gb3Bl bnNzbC0xLjEuMWQvY3J5cHRvL3JjNC9hc20vcmM0LXg4Nl82NC5wbC5pbnRlbC1jZXQJMjAyMC0w Mi0xNyAxMTo1NTowNy4zNzc1NTcxOTggKzAxMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v cmM0L2FzbS9yYzQteDg2XzY0LnBsCTIwMjAtMDItMTcgMTI6MDM6MDkuMTE3MzQxMjM1ICswMTAw Ci1AQCAtMTM4LDExICsxMzgsMTMgQEAgJGNvZGU9PDxfX187Ci0gLmdsb2JsCVJDNAotIC50eXBl CVJDNCxcQGZ1bmN0aW9uLDQKLSAuYWxpZ24JMTYKLS1SQzQ6CW9yCSRsZW4sJGxlbgotK1JDNDoK LSsuY2ZpX3N0YXJ0cHJvYworIFJDNDoKKyAuY2ZpX3N0YXJ0cHJvYwogKwllbmRicmFuY2gKLSsJ b3IJJGxlbiwkbGVuCisgCW9yCSRsZW4sJGxlbgogIAlqbmUJLkxlbnRyeQogIAlyZXQKLSAuTGVu dHJ5OgotLS5jZmlfc3RhcnRwcm9jCi0gCXB1c2gJJXJieAotIC5jZmlfcHVzaAklcmJ4Ci0gCXB1 c2gJJXIxMgotQEAgLTQ1Myw2ICs0NTUsOCBAQCAkY29kZS49PDxfX187Ci0gLnR5cGUJUkM0X3Nl dF9rZXksXEBmdW5jdGlvbiwzCitAQCAtNDU1LDYgKzQ1Niw3IEBAICRjb2RlLj08PF9fXzsKICAu YWxpZ24JMTYKICBSQzRfc2V0X2tleToKLSsuY2ZpX3N0YXJ0cHJvYworIC5jZmlfc3RhcnRwcm9j CiArCWVuZGJyYW5jaAogIAlsZWEJOCgkZGF0KSwkZGF0CiAgCWxlYQkoJGlucCwkbGVuKSwkaW5w CiAgCW5lZwkkbGVuCi1AQCAtNTE5LDEyICs1MjMsMTUgQEAgUkM0X3NldF9rZXk6Ci0gCW1vdgkl ZWF4LC04KCRkYXQpCi0gCW1vdgklZWF4LC00KCRkYXQpCi0gCXJldAotKy5jZmlfZW5kcHJvYwot IC5zaXplCVJDNF9zZXRfa2V5LC4tUkM0X3NldF9rZXkKLSAKLSAuZ2xvYmwJUkM0X29wdGlvbnMK LSAudHlwZQlSQzRfb3B0aW9ucyxcQGFiaS1vbW5pcG90ZW50CitAQCAtNTI5LDYgKzUzMSw3IEBA IFJDNF9zZXRfa2V5OgogIC5hbGlnbgkxNgogIFJDNF9vcHRpb25zOgotKy5jZmlfc3RhcnRwcm9j CisgLmNmaV9zdGFydHByb2MKICsJZW5kYnJhbmNoCiAgCWxlYQkuTG9wdHMoJXJpcCksJXJheAog IAltb3YJT1BFTlNTTF9pYTMyY2FwX1AoJXJpcCksJWVkeAogIAlidAlcJDIwLCVlZHgKLUBAIC01 MzcsNiArNTQ0LDcgQEAgUkM0X29wdGlvbnM6Ci0gCWFkZAlcJDEyLCVyYXgKLSAuTGRvbmU6Ci0g CXJldAotKy5jZmlfZW5kcHJvYwotIC5hbGlnbgk2NAotIC5Mb3B0czoKLSAuYXNjaXoJInJjNCg4 eCxpbnQpIgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3g4Nl82NGNwdWlkLnBsLmlu dGVsLWNldCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8veDg2XzY0Y3B1aWQucGwKLS0tLSBvcGVuc3Ns LTEuMS4xZC9jcnlwdG8veDg2XzY0Y3B1aWQucGwuaW50ZWwtY2V0CTIwMTktMDktMTAgMTU6MTM6 MDcuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3g4Nl82NGNwdWlk LnBsCTIwMjAtMDItMTcgMTI6MDQ6MDQuOTIxMzkxNzI5ICswMTAwCi1AQCAtMzksNiArMzksOCBA QCBwcmludDw8X19fOwotIC50eXBlCU9QRU5TU0xfYXRvbWljX2FkZCxcQGFiaS1vbW5pcG90ZW50 CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8veDg2XzY0Y3B1aWQucGwuaW50ZWwtY2V0 IG9wZW5zc2wtMS4xLjFlL2NyeXB0by94ODZfNjRjcHVpZC5wbAorLS0tIG9wZW5zc2wtMS4xLjFl L2NyeXB0by94ODZfNjRjcHVpZC5wbC5pbnRlbC1jZXQJMjAyMC0wMy0xNyAxNTozMToxNy4wMDAw MDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8veDg2XzY0Y3B1aWQucGwJMjAy MC0wMy0xOSAxNzowMzo1OC4xNzI3NDI3NzUgKzAxMDAKK0BAIC00MCw2ICs0MCw3IEBAIHByaW50 PDxfX187CiAgLmFsaWduCTE2CiAgT1BFTlNTTF9hdG9taWNfYWRkOgotKy5jZmlfc3RhcnRwcm9j CisgLmNmaV9zdGFydHByb2MKICsJZW5kYnJhbmNoCiAgCW1vdmwJKCRhcmcxKSwlZWF4CiAgLkxz cGluOglsZWFxCSgkYXJnMiwlcmF4KSwlcjgKICAJLmJ5dGUJMHhmMAkJIyBsb2NrCi1AQCAtNDcs MTYgKzQ5LDIwIEBAIE9QRU5TU0xfYXRvbWljX2FkZDoKLSAJbW92bAklcjhkLCVlYXgKLSAJLmJ5 dGUJMHg0OCwweDk4CSMgY2x0cS9jZHFlCi0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCU9Q RU5TU0xfYXRvbWljX2FkZCwuLU9QRU5TU0xfYXRvbWljX2FkZAotIAotIC5nbG9ibAlPUEVOU1NM X3JkdHNjCi0gLnR5cGUJT1BFTlNTTF9yZHRzYyxcQGFiaS1vbW5pcG90ZW50CitAQCAtNTYsNiAr NTcsNyBAQCBPUEVOU1NMX2F0b21pY19hZGQ6CiAgLmFsaWduCTE2CiAgT1BFTlNTTF9yZHRzYzoK LSsuY2ZpX3N0YXJ0cHJvYworIC5jZmlfc3RhcnRwcm9jCiArCWVuZGJyYW5jaAogIAlyZHRzYwog IAlzaGwJXCQzMiwlcmR4CiAgCW9yCSVyZHgsJXJheAotIAlyZXQKLSsuY2ZpX2VuZHByb2MKLSAu c2l6ZQlPUEVOU1NMX3JkdHNjLC4tT1BFTlNTTF9yZHRzYwotIAotIC5nbG9ibAlPUEVOU1NMX2lh MzJfY3B1aWQKLUBAIC02NCw2ICs3MCw3IEBAIE9QRU5TU0xfcmR0c2M6CitAQCAtNjgsNiArNzAs NyBAQCBPUEVOU1NMX3JkdHNjOgogIC5hbGlnbgkxNgogIE9QRU5TU0xfaWEzMl9jcHVpZDoKICAu Y2ZpX3N0YXJ0cHJvYwpAQCAtNzgzLDQwICs0NDEsMzEgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL3g4Nl82NGNwdWlkLnBsLmludGVsLWNldCBvcGVuc3NsLTEuMS4xZC9jcnlwdG8v eDgKICAJbW92CSVyYngsJXI4CQkjIHNhdmUgJXJieAogIC5jZmlfcmVnaXN0ZXIJJXJieCwlcjgK ICAKLUBAIC0yMzIsNiArMjM5LDggQEAgT1BFTlNTTF9pYTMyX2NwdWlkOgotIC50eXBlICAgT1BF TlNTTF9jbGVhbnNlLFxAYWJpLW9tbmlwb3RlbnQKK0BAIC0yMzcsNiArMjQwLDcgQEAgT1BFTlNT TF9pYTMyX2NwdWlkOgogIC5hbGlnbiAgMTYKICBPUEVOU1NMX2NsZWFuc2U6Ci0rLmNmaV9zdGFy dHByb2MKKyAuY2ZpX3N0YXJ0cHJvYwogKwllbmRicmFuY2gKICAJeG9yCSVyYXgsJXJheAogIAlj bXAJXCQxNSwkYXJnMgogIAlqYWUJLkxvdAotQEAgLTI2MSwxMiArMjcwLDE1IEBAIE9QRU5TU0xf Y2xlYW5zZToKLSAJY21wCVwkMCwkYXJnMgotIAlqbmUJLkxpdHRsZQotIAlyZXQKLSsuY2ZpX2Vu ZHByb2MKLSAuc2l6ZQlPUEVOU1NMX2NsZWFuc2UsLi1PUEVOU1NMX2NsZWFuc2UKLSAKLSAuZ2xv YmwgIENSWVBUT19tZW1jbXAKLSAudHlwZSAgIENSWVBUT19tZW1jbXAsXEBhYmktb21uaXBvdGVu dAorQEAgLTI3NCw2ICsyNzgsNyBAQCBPUEVOU1NMX2NsZWFuc2U6CiAgLmFsaWduICAxNgogIENS WVBUT19tZW1jbXA6Ci0rLmNmaV9zdGFydHByb2MKKyAuY2ZpX3N0YXJ0cHJvYwogKwllbmRicmFu Y2gKICAJeG9yCSVyYXgsJXJheAogIAl4b3IJJXIxMCwlcjEwCiAgCWNtcAlcJDAsJGFyZzMKLUBA IC0yOTUsNiArMzA3LDcgQEAgQ1JZUFRPX21lbWNtcDoKLSAJc2hyCVwkNjMsJXJheAotIC5Mbm9f ZGF0YToKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJQ1JZUFRPX21lbWNtcCwuLUNSWVBU T19tZW1jbXAKLSBfX18KLSAKLUBAIC0zMDMsNiArMzE2LDggQEAgcHJpbnQ8PF9fXyBpZiAoISR3 aW42NCk7CitAQCAtMzEyLDYgKzMxNyw3IEBAIHByaW50PDxfX18gaWYgKCEkd2luNjQpOworIC5h bGlnbgkxNgorIE9QRU5TU0xfd2lwZV9jcHU6CisgLmNmaV9zdGFydHByb2MKKysJZW5kYnJhbmNo CisgCXB4b3IJJXhtbTAsJXhtbTAKKyAJcHhvcgkleG1tMSwleG1tMQorIAlweG9yCSV4bW0yLCV4 bW0yCitAQCAtMzQ2LDYgKzM1Miw4IEBAIHByaW50PDxfX18gaWYgKCR3aW42NCk7CiAgLnR5cGUJ T1BFTlNTTF93aXBlX2NwdSxcQGFiaS1vbW5pcG90ZW50CiAgLmFsaWduCTE2CiAgT1BFTlNTTF93 aXBlX2NwdToKQEAgLTgyNSw2MSArNDc0LDI3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by94ODZfNjRjcHVpZC5wbC5pbnRlbC1jZXQgb3BlbnNzbC0xLjEuMWQvY3J5cHRvL3g4CiAg CXB4b3IJJXhtbTAsJXhtbTAKICAJcHhvcgkleG1tMSwleG1tMQogIAlweG9yCSV4bW0yLCV4bW0y Ci1AQCAtMzI5LDYgKzM0NCw3IEBAIE9QRU5TU0xfd2lwZV9jcHU6Ci0gCXhvcnEJJXIxMSwlcjEx Ci0gCWxlYXEJOCglcnNwKSwlcmF4Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCU9QRU5T U0xfd2lwZV9jcHUsLi1PUEVOU1NMX3dpcGVfY3B1Ci0gX19fCi0gcHJpbnQ8PF9fXyBpZiAoJHdp bjY0KTsKLUBAIC0zNjUsNiArMzgxLDggQEAgcHJpbnQ8PF9fXzsKLSAudHlwZQlPUEVOU1NMX2lu c3RydW1lbnRfYnVzLFxAYWJpLW9tbmlwb3RlbnQKK0BAIC0zNzYsNiArMzg0LDcgQEAgcHJpbnQ8 PF9fXzsKICAuYWxpZ24JMTYKICBPUEVOU1NMX2luc3RydW1lbnRfYnVzOgotKy5jZmlfc3RhcnRw cm9jCisgLmNmaV9zdGFydHByb2MKICsJZW5kYnJhbmNoCiAgCW1vdgkkYXJnMSwkb3V0CSMgdHJp YnV0ZSB0byBXaW42NAogIAltb3YJJGFyZzIsJGNudAogIAltb3YJJGFyZzIsJG1heAotQEAgLTM5 MSwxMiArNDA5LDE1IEBAIE9QRU5TU0xfaW5zdHJ1bWVudF9idXM6Ci0gCi0gCW1vdgkkbWF4LCVy YXgKLSAJcmV0Ci0rLmNmaV9lbmRwcm9jCi0gLnNpemUJT1BFTlNTTF9pbnN0cnVtZW50X2J1cywu LU9QRU5TU0xfaW5zdHJ1bWVudF9idXMKLSAKLSAuZ2xvYmwJT1BFTlNTTF9pbnN0cnVtZW50X2J1 czIKLSAudHlwZQlPUEVOU1NMX2luc3RydW1lbnRfYnVzMixcQGFiaS1vbW5pcG90ZW50CitAQCAt NDEwLDYgKzQxOSw3IEBAIE9QRU5TU0xfaW5zdHJ1bWVudF9idXM6CiAgLmFsaWduCTE2CiAgT1BF TlNTTF9pbnN0cnVtZW50X2J1czI6Ci0rLmNmaV9zdGFydHByb2MKKyAuY2ZpX3N0YXJ0cHJvYwog KwllbmRicmFuY2gKICAJbW92CSRhcmcxLCRvdXQJIyB0cmlidXRlIHRvIFdpbjY0CiAgCW1vdgkk YXJnMiwkY250CiAgCW1vdgkkYXJnMywkbWF4Ci1AQCAtNDM5LDYgKzQ2MCw3IEBAIE9QRU5TU0xf aW5zdHJ1bWVudF9idXMyOgotIAltb3YJJHJlZHpvbmUoJXJzcCksJXJheAotIAlzdWIJJGNudCwl cmF4Ci0gCXJldAotKy5jZmlfZW5kcHJvYwotIC5zaXplCU9QRU5TU0xfaW5zdHJ1bWVudF9idXMy LC4tT1BFTlNTTF9pbnN0cnVtZW50X2J1czIKLSBfX18KLSB9Ci1AQCAtNDUwLDYgKzQ3Miw4IEBA IHByaW50PDxfX187Ci0gLnR5cGUJT1BFTlNTTF9pYTMyXyR7cmRvcH1fYnl0ZXMsXEBhYmktb21u aXBvdGVudAorQEAgLTQ2NSw2ICs0NzUsNyBAQCBwcmludDw8X19fOwogIC5hbGlnbgkxNgogIE9Q RU5TU0xfaWEzMl8ke3Jkb3B9X2J5dGVzOgotKy5jZmlfc3RhcnRwcm9jCisgLmNmaV9zdGFydHBy b2MKICsJZW5kYnJhbmNoCiAgCXhvcgklcmF4LCAlcmF4CSMgcmV0dXJuIHZhbHVlCiAgCWNtcAlc JDAsJGFyZzIKICAJamUJLkxkb25lXyR7cmRvcH1fYnl0ZXMKLUBAIC00ODYsNiArNTEwLDcgQEAg T1BFTlNTTF9pYTMyXyR7cmRvcH1fYnl0ZXM6Ci0gLkxkb25lXyR7cmRvcH1fYnl0ZXM6Ci0gCXhv cgklcjEwLCVyMTAJIyBDbGVhciBzZW5zaXRpdmUgZGF0YSBmcm9tIHJlZ2lzdGVyCi0gCXJldAot Ky5jZmlfZW5kcHJvYwotIC5zaXplCU9QRU5TU0xfaWEzMl8ke3Jkb3B9X2J5dGVzLC4tT1BFTlNT TF9pYTMyXyR7cmRvcH1fYnl0ZXMKLSBfX18KLSB9CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjEu MS1rcmI1LWtkZi5wYXRjaCBiL29wZW5zc2wtMS4xLjEta3JiNS1rZGYucGF0Y2gKaW5kZXggMDFh ZmE5Yy4uMjQ5YTVjNSAxMDA2NDQKLS0tIGEvb3BlbnNzbC0xLjEuMS1rcmI1LWtkZi5wYXRjaAor KysgYi9vcGVuc3NsLTEuMS4xLWtyYjUta2RmLnBhdGNoCkBAIC02Nyw5ICs2Nyw5IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9ldnAva2RmX2xpYi5jLmtyYjUta2RmIG9wZW5zc2wt MS4xLjFkL2NyeXB0by9ldnAvCiAgfTsKICAKICBERUNMQVJFX09CSl9CU0VBUkNIX0NNUF9GTihj b25zdCBFVlBfS0RGX01FVEhPRCAqLCBjb25zdCBFVlBfS0RGX01FVEhPRCAqLAotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMWQvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvZXZwX2ludC5oLmtyYjUta2Rm IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaAotLS0tIG9w ZW5zc2wtMS4xLjFkL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaC5rcmI1LWtkZgky MDE5LTExLTE0IDE1OjA3OjA1LjMyMDA5NDUyMSArMDEwMAotKysrIG9wZW5zc2wtMS4xLjFkL2Ny eXB0by9pbmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaAkyMDE5LTExLTE0IDE1OjA3OjA1LjM0MjA5 NDEyOSArMDEwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9jcnlwdG8vZXZwLmgu a3JiNS1rZGYgb3BlbnNzbC0xLjEuMWQvaW5jbHVkZS9jcnlwdG8vZXZwLmgKKy0tLSBvcGVuc3Ns LTEuMS4xZC9pbmNsdWRlL2NyeXB0by9ldnAuaC5rcmI1LWtkZgkyMDE5LTExLTE0IDE1OjA3OjA1 LjMyMDA5NDUyMSArMDEwMAorKysrIG9wZW5zc2wtMS4xLjFkL2luY2x1ZGUvY3J5cHRvL2V2cC5o CTIwMTktMTEtMTQgMTU6MDc6MDUuMzQyMDk0MTI5ICswMTAwCiBAQCAtMTMwLDYgKzEzMCw5IEBA IGV4dGVybiBjb25zdCBFVlBfS0RGX01FVEhPRCBzY3J5cHRfa2RmX20KICBleHRlcm4gY29uc3Qg RVZQX0tERl9NRVRIT0QgdGxzMV9wcmZfa2RmX21ldGg7CiAgZXh0ZXJuIGNvbnN0IEVWUF9LREZf TUVUSE9EIGhrZGZfa2RmX21ldGg7CkBAIC0xMjksNyArMTI5LDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjEuMWQvY3J5cHRvL2tkZi9rYmtkZi5jLmtyYjUta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0 by9rZGYva2IKICsKICsjaW5jbHVkZSAiaW50ZXJuYWwvbnVtYmVycy5oIgogKyNpbmNsdWRlICJp bnRlcm5hbC9jcnlwdGxpYi5oIgotKyNpbmNsdWRlICJpbnRlcm5hbC9ldnBfaW50LmgiCisrI2lu Y2x1ZGUgImNyeXB0by9ldnAuaCIKICsjaW5jbHVkZSAia2RmX2xvY2FsLmgiCiArCiArI2luY2x1 ZGUgImVfb3MuaCIKQEAgLTc0MSw3ICs3NDEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xZC9j cnlwdG8va2RmL2tyYjVrZGYuYy5rcmI1LWtkZiBvcGVuc3NsLTEuMS4xZC9jcnlwdG8va2RmLwog KyNpbmNsdWRlIDxvcGVuc3NsL2tkZi5oPgogKwogKyNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxp Yi5oIgotKyNpbmNsdWRlICJpbnRlcm5hbC9ldnBfaW50LmgiCisrI2luY2x1ZGUgImNyeXB0by9l dnAuaCIKICsjaW5jbHVkZSAia2RmX2xvY2FsLmgiCiArCiArLyogS1JCNSBLREYgZGVmaW5lZCBp biBSRkMgMzk2MSwgU2VjdGlvbiA1LjEgKi8KQEAgLTExNTUsNyArMTE1NSw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYvc3Noa2RmLmMua3JiNS1rZGYgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2tkZi9zCiAgI2luY2x1ZGUgPG9wZW5zc2wva2RmLmg+CiArI2luY2x1ZGUgImlu dGVybmFsL251bWJlcnMuaCIKICAjaW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKLSAjaW5j bHVkZSAiaW50ZXJuYWwvZXZwX2ludC5oIgorICNpbmNsdWRlICJjcnlwdG8vZXZwLmgiCiAgI2lu Y2x1ZGUgImtkZl9sb2NhbC5oIgogQEAgLTY4LDYgKzY5LDEyIEBAIHN0YXRpYyBpbnQga2RmX3Nz aGtkZl9wYXJzZV9idWZmZXJfYXJnKHUKICAgICAgcCA9IHZhX2FyZyhhcmdzLCBjb25zdCB1bnNp Z25lZCBjaGFyICopOwpAQCAtMTIxOCw3ICsxMjE4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEu MWQvY3J5cHRvL2tkZi9zc2tkZi5jLmtyYjUta2RmIG9wZW5zc2wtMS4xLjFkL2NyeXB0by9rZGYv c3MKICsjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KICsjaW5jbHVkZSA8b3BlbnNzbC9rZGYuaD4K ICsjaW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKLSsjaW5jbHVkZSAiaW50ZXJuYWwvZXZw X2ludC5oIgorKyNpbmNsdWRlICJjcnlwdG8vZXZwLmgiCiArI2luY2x1ZGUgImtkZl9sb2NhbC5o IgogKwogK3N0cnVjdCBldnBfa2RmX2ltcGxfc3QgewoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4x LjEtczM5MHgtdXBkYXRlLnBhdGNoIGIvb3BlbnNzbC0xLjEuMS1zMzkweC11cGRhdGUucGF0Y2gK aW5kZXggZjQ2YzFhNS4uODMwNjFhZiAxMDA2NDQKLS0tIGEvb3BlbnNzbC0xLjEuMS1zMzkweC11 cGRhdGUucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjEuMS1zMzkweC11cGRhdGUucGF0Y2gKQEAgLTEs MTMgKzEsNiBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWIvY3J5cHRvL2NoYWNoYS9hc20vY2hh Y2hhLXMzOTB4LnBsLnMzOTB4LXVwZGF0ZSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vY2hhY2hhL2Fz bS9jaGFjaGEtczM5MHgucGwKLS0tLSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vY2hhY2hhL2FzbS9j aGFjaGEtczM5MHgucGwuczM5MHgtdXBkYXRlCTIwMTktMDItMjYgMTU6MTU6MzAuMDAwMDAwMDAw ICswMTAwCi0rKysgb3BlbnNzbC0xLjEuMWIvY3J5cHRvL2NoYWNoYS9hc20vY2hhY2hhLXMzOTB4 LnBsCTIwMTktMDUtMDYgMTA6NTQ6MDAuMDM1MzY3NjA1ICswMjAwCi1AQCAtMSw1ICsxLDUgQEAK LSAjISAvdXNyL2Jpbi9lbnYgcGVybAotLSMgQ29weXJpZ2h0IDIwMTYgVGhlIE9wZW5TU0wgUHJv amVjdCBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotKyMgQ29weXJpZ2h0IDIwMTYtMjAx OSBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gIwot ICMgTGljZW5zZWQgdW5kZXIgdGhlIE9wZW5TU0wgbGljZW5zZSAodGhlICJMaWNlbnNlIikuICBZ b3UgbWF5IG5vdCB1c2UKLSAjIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo ZSBMaWNlbnNlLiAgWW91IGNhbiBvYnRhaW4gYSBjb3B5CitkaWZmIC11cCBvcGVuc3NsLTEuMS4x ZS9jcnlwdG8vY2hhY2hhL2FzbS9jaGFjaGEtczM5MHgucGwuczM5MHgtdXBkYXRlIG9wZW5zc2wt MS4xLjFlL2NyeXB0by9jaGFjaGEvYXNtL2NoYWNoYS1zMzkweC5wbAorLS0tIG9wZW5zc2wtMS4x LjFlL2NyeXB0by9jaGFjaGEvYXNtL2NoYWNoYS1zMzkweC5wbC5zMzkweC11cGRhdGUJMjAyMC0w My0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v Y2hhY2hhL2FzbS9jaGFjaGEtczM5MHgucGwJMjAyMC0wMy0xOSAxNjo0NTowNS40ODM0NDAxMjkg KzAxMDAKIEBAIC0yMCw0MSArMjAsNTMgQEAKICAjCiAgIyAzIHRpbWVzIGZhc3RlciB0aGFuIGNv bXBpbGVyLWdlbmVyYXRlZCBjb2RlLgpAQCAtNDcyLDcgKzQ2NSw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjFiL2NyeXB0by9jaGFjaGEvYXNtL2NoYWNoYS1zMzkweC5wbC5zMzkweC11cGRhdGUg b3BlbnNzbC0xCiArCXZzbGRiCQkoQGJbJF9dLEBiWyRfXSxAYlskX10sJG9kZD8xMjo0KSBmb3Ig KDAuLjUpOwogKwl2c2xkYgkJKEBkWyRfXSxAZFskX10sQGRbJF9dLCRvZGQ/NDoxMikgZm9yICgw Li41KTsKICB9Ci0tY2xvc2UgU1RET1VUOworLWNsb3NlIFNURE9VVCBvciBkaWUgImVycm9yIGNs b3NpbmcgU1RET1VUOiAkISI7CiArCiArUEVSTEFTTV9CRUdJTigkb3V0cHV0KTsKICsKQEAgLTEy OTAsOSArMTI4Myw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFiL2NyeXB0by9jaGFjaGEvYXNt L2NoYWNoYS1zMzkweC5wbC5zMzkweC11cGRhdGUgb3BlbnNzbC0xCiArQUxJR04JKDQpOwogKwog K1BFUkxBU01fRU5EKCk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcGVybGFzbS9z MzkweC5wbS5zMzkweC11cGRhdGUgb3BlbnNzbC0xLjEuMWIvY3J5cHRvL3Blcmxhc20vczM5MHgu cG0KLS0tLSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcGVybGFzbS9zMzkweC5wbS5zMzkweC11cGRh dGUJMjAxOS0wNS0wNiAxMDo1NDowMC4wMzczNjc1NzEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x Yi9jcnlwdG8vcGVybGFzbS9zMzkweC5wbQkyMDE5LTA1LTA2IDEwOjU0OjAwLjAzODM2NzU1NCAr MDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20vczM5MHgucG0uczM5 MHgtdXBkYXRlIG9wZW5zc2wtMS4xLjFlL2NyeXB0by9wZXJsYXNtL3MzOTB4LnBtCistLS0gb3Bl bnNzbC0xLjEuMWUvY3J5cHRvL3Blcmxhc20vczM5MHgucG0uczM5MHgtdXBkYXRlCTIwMjAtMDMt MTkgMTY6MjA6MjIuMDM5MjI3Mzk0ICswMTAwCisrKysgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3Bl cmxhc20vczM5MHgucG0JMjAyMC0wMy0xOSAxNjoyMDoyMi4wMzkyMjczOTQgKzAxMDAKIEBAIC0w LDAgKzEsMzA2MCBAQAogKyMhL3Vzci9iaW4vZW52IHBlcmwKICsjIENvcHlyaWdodCAyMDE4IFRo ZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTQzNTQs OSArNDM0Nyw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjFiL2NyeXB0by9wZXJsYXNtL3MzOTB4 LnBtLnMzOTB4LXVwZGF0ZSBvcGVuc3NsLTEuMS4xYi9jcnlwCiArfQogKwogKzE7Ci1kaWZmIC11 cCBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMzOTB4LnBsLnMz OTB4LXVwZGF0ZSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMz OTB4LnBsCi0tLS0gb3BlbnNzbC0xLjEuMWIvY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1z MzkweC5wbC5zMzkweC11cGRhdGUJMjAxOS0wMi0yNiAxNToxNTozMC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMzOTB4LnBs CTIwMTktMDUtMDYgMTA6NTQ6MDAuMDM2MzY3NTg4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xZS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMzOTB4LnBsLnMzOTB4LXVwZGF0ZSBv cGVuc3NsLTEuMS4xZS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMzOTB4LnBsCistLS0g b3BlbnNzbC0xLjEuMWUvY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1zMzkweC5wbC5zMzkw eC11cGRhdGUJMjAyMC0wMy0xOSAxNjoyMDoyMi4wNDEyMjczNTkgKzAxMDAKKysrKyBvcGVuc3Ns LTEuMS4xZS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1LXMzOTB4LnBsCTIwMjAtMDMtMTkg MTY6MjM6MjIuMzY0MDk4MjU3ICswMTAwCiBAQCAtMjQsMjA0ICsyNCw5NjEgQEAKICAjCiAgIyBP biBzaWRlIG5vdGUsIHoxMyBlbmFibGVzIHZlY3RvciBiYXNlIDJeMjYgaW1wbGVtZW50YXRpb24u Li4KQEAgLTU0OTQsMTEgKzU0ODcsMTEgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMWIvY3J5cHRv L3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1zMzkweC5wbC5zMzkweC11cGRhdGUgb3BlbnMKICtTVFJJ TkcJKCJcIlBvbHkxMzA1IGZvciBzMzkweCwgQ1JZUFRPR0FNUyBieSA8YXBwcm9cQG9wZW5zc2wu b3JnPlwiIik7CiAgCiAtcHJpbnQgJGNvZGU7Ci0tY2xvc2UgU1RET1VUOworLWNsb3NlIFNURE9V VCBvciBkaWUgImVycm9yIGNsb3NpbmcgU1RET1VUOiAkISI7CiArUEVSTEFTTV9FTkQoKTsKLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjFiL2NyeXB0by9wb2x5MTMwNS9idWlsZC5pbmZvLnMzOTB4LXVw ZGF0ZSBvcGVuc3NsLTEuMS4xYi9jcnlwdG8vcG9seTEzMDUvYnVpbGQuaW5mbwotLS0tIG9wZW5z c2wtMS4xLjFiL2NyeXB0by9wb2x5MTMwNS9idWlsZC5pbmZvLnMzOTB4LXVwZGF0ZQkyMDE5LTA1 LTA2IDEwOjU0OjAwLjAzNjM2NzU4OCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjFiL2NyeXB0by9w b2x5MTMwNS9idWlsZC5pbmZvCTIwMTktMDUtMDYgMTA6NTY6MTQuOTY0MTA1MTY0ICswMjAwCitk aWZmIC11cCBvcGVuc3NsLTEuMS4xZS9jcnlwdG8vcG9seTEzMDUvYnVpbGQuaW5mby5zMzkweC11 cGRhdGUgb3BlbnNzbC0xLjEuMWUvY3J5cHRvL3BvbHkxMzA1L2J1aWxkLmluZm8KKy0tLSBvcGVu c3NsLTEuMS4xZS9jcnlwdG8vcG9seTEzMDUvYnVpbGQuaW5mby5zMzkweC11cGRhdGUJMjAyMC0w My0xNyAxNTozMToxNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9jcnlwdG8v cG9seTEzMDUvYnVpbGQuaW5mbwkyMDIwLTAzLTE5IDE2OjIwOjIyLjA0MjIyNzM0MiArMDEwMAog QEAgLTE4LDYgKzE4LDcgQEAgSU5DTFVERVtwb2x5MTMwNS1hcm12OC5vXT0uLgogIEdFTkVSQVRF W3BvbHkxMzA1LW1pcHMuU109YXNtL3BvbHkxMzA1LW1pcHMucGwgJChQRVJMQVNNX1NDSEVNRSkK ICBJTkNMVURFW3BvbHkxMzA1LW1pcHMub109Li4KCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMS4x LXNzaC1rZGYucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLXNzaC1rZGYucGF0Y2gKaW5kZXggMDhmMDJh Yy4uMWJmNzFjNCAxMDA2NDQKLS0tIGEvb3BlbnNzbC0xLjEuMS1zc2gta2RmLnBhdGNoCisrKyBi L29wZW5zc2wtMS4xLjEtc3NoLWtkZi5wYXRjaApAQCAtNTEsMTAgKzUxLDEwIEBAIGluZGV4IDA1 ZjVjZWMzYTkuLjgxMWZlNzI3ZjYgMTAwNjQ0CiAgfTsKICAKICBERUNMQVJFX09CSl9CU0VBUkNI X0NNUF9GTihjb25zdCBFVlBfS0RGX01FVEhPRCAqLCBjb25zdCBFVlBfS0RGX01FVEhPRCAqLAot ZGlmZiAtLWdpdCBhL2NyeXB0by9pbmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaCBiL2NyeXB0by9p bmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3J5cHRvL2V2 cC5oIGIvaW5jbHVkZS9jcnlwdG8vZXZwLmgKIGluZGV4IGExMDllNTYxYjMuLjhjMzEzYzY1YWMg MTAwNjQ0Ci0tLS0gYS9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9ldnBfaW50LmgKLSsrKyBiL2Ny eXB0by9pbmNsdWRlL2ludGVybmFsL2V2cF9pbnQuaAorLS0tIGEvaW5jbHVkZS9jcnlwdG8vZXZw LmgKKysrKyBiL2luY2x1ZGUvY3J5cHRvL2V2cC5oCiBAQCAtMTI5LDYgKzEyOSw3IEBAIGV4dGVy biBjb25zdCBFVlBfS0RGX01FVEhPRCBwYmtkZjJfa2RmX21ldGg7CiAgZXh0ZXJuIGNvbnN0IEVW UF9LREZfTUVUSE9EIHNjcnlwdF9rZGZfbWV0aDsKICBleHRlcm4gY29uc3QgRVZQX0tERl9NRVRI T0QgdGxzMV9wcmZfa2RmX21ldGg7CkBAIC0xMTksNyArMTE5LDcgQEAgaW5kZXggMDAwMDAwMDAw MC4uMjRmMzdjYmVkNAogKyNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgogKyNpbmNsdWRlIDxvcGVu c3NsL2tkZi5oPgogKyNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgotKyNpbmNsdWRlICJp bnRlcm5hbC9ldnBfaW50LmgiCisrI2luY2x1ZGUgImNyeXB0by9ldnAuaCIKICsjaW5jbHVkZSAi a2RmX2xvY2FsLmgiCiArCiArLyogU2VlIFJGQyA0MjUzLCBTZWN0aW9uIDcuMiAqLwoKZGlmZiAt LWdpdCBhL29wZW5zc2wtMS4xLjEtdXBzdHJlYW0tc3luYy5wYXRjaCBiL29wZW5zc2wtMS4xLjEt dXBzdHJlYW0tc3luYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY0NDhh MC4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMS4xLXVwc3RyZWFtLXN5bmMucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNTMgKzAsMCBAQAotY29tbWl0IDUxNWM3MjhkYmFhOTIyMTFkMmVhZmIw MDQxYWI5ZmNkMjU4ZmRjNDEKLUF1dGhvcjogQmVybmQgRWRsaW5nZXIgPGJlcm5kLmVkbGluZ2Vy QGhvdG1haWwuZGU+Ci1EYXRlOiAgIE1vbiBTZXAgOSAxOToxMjoyNSAyMDE5ICswMjAwCi0KLSAg ICBGaXggcG90ZW50aWFsIG1lbW9yeSBsZWFrcyB3aXRoIEJOX3RvX0FTTjFfSU5URUdFUgotICAg IAotICAgIFJldmlld2VkLWJ5OiBQYXVsIERhbGUgPHBhdWwuZGFsZUBvcmFjbGUuY29tPgotICAg IFJldmlld2VkLWJ5OiBNYXR0IENhc3dlbGwgPG1hdHRAb3BlbnNzbC5vcmc+Ci0gICAgKE1lcmdl ZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC85ODMzKQotICAg IAotICAgIChjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYyOGJjN2QzODZiMjVmYjc1NjI1ZDBj NjJjNmIyZTZkMjFkZTBkMDkpCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfYXNuMS5jIGIv Y3J5cHRvL2VjL2VjX2FzbjEuYwotaW5kZXggMWNlMTE4MWZjMS4uN2NiZjhkZTk4MSAxMDA2NDQK LS0tLSBhL2NyeXB0by9lYy9lY19hc24xLmMKLSsrKyBiL2NyeXB0by9lYy9lY19hc24xLmMKLUBA IC00NDYsNiArNDQ2LDcgQEAgRUNQQVJBTUVURVJTICpFQ19HUk9VUF9nZXRfZWNwYXJhbWV0ZXJz KGNvbnN0IEVDX0dST1VQICpncm91cCwKLSAgICAgdW5zaWduZWQgY2hhciAqYnVmZmVyID0gTlVM TDsKLSAgICAgY29uc3QgRUNfUE9JTlQgKnBvaW50ID0gTlVMTDsKLSAgICAgcG9pbnRfY29udmVy c2lvbl9mb3JtX3QgZm9ybTsKLSsgICAgQVNOMV9JTlRFR0VSICpvcmlnOwotIAotICAgICBpZiAo cGFyYW1zID09IE5VTEwpIHsKLSAgICAgICAgIGlmICgocmV0ID0gRUNQQVJBTUVURVJTX25ldygp KSA9PSBOVUxMKSB7Ci1AQCAtNDk2LDggKzQ5Nyw5IEBAIEVDUEFSQU1FVEVSUyAqRUNfR1JPVVBf Z2V0X2VjcGFyYW1ldGVycyhjb25zdCBFQ19HUk9VUCAqZ3JvdXAsCi0gICAgICAgICBFQ2VycihF Q19GX0VDX0dST1VQX0dFVF9FQ1BBUkFNRVRFUlMsIEVSUl9SX0VDX0xJQik7Ci0gICAgICAgICBn b3RvIGVycjsKLSAgICAgfQotLSAgICByZXQtPm9yZGVyID0gQk5fdG9fQVNOMV9JTlRFR0VSKHRt cCwgcmV0LT5vcmRlcik7Ci0rICAgIHJldC0+b3JkZXIgPSBCTl90b19BU04xX0lOVEVHRVIodG1w LCBvcmlnID0gcmV0LT5vcmRlcik7Ci0gICAgIGlmIChyZXQtPm9yZGVyID09IE5VTEwpIHsKLSsg ICAgICAgIHJldC0+b3JkZXIgPSBvcmlnOwotICAgICAgICAgRUNlcnIoRUNfRl9FQ19HUk9VUF9H RVRfRUNQQVJBTUVURVJTLCBFUlJfUl9BU04xX0xJQik7Ci0gICAgICAgICBnb3RvIGVycjsKLSAg ICAgfQotQEAgLTUwNSw4ICs1MDcsOSBAQCBFQ1BBUkFNRVRFUlMgKkVDX0dST1VQX2dldF9lY3Bh cmFtZXRlcnMoY29uc3QgRUNfR1JPVVAgKmdyb3VwLAotICAgICAvKiBzZXQgdGhlIGNvZmFjdG9y IChvcHRpb25hbCkgKi8KLSAgICAgdG1wID0gRUNfR1JPVVBfZ2V0MF9jb2ZhY3Rvcihncm91cCk7 Ci0gICAgIGlmICh0bXAgIT0gTlVMTCkgewotLSAgICAgICAgcmV0LT5jb2ZhY3RvciA9IEJOX3Rv X0FTTjFfSU5URUdFUih0bXAsIHJldC0+Y29mYWN0b3IpOwotKyAgICAgICAgcmV0LT5jb2ZhY3Rv ciA9IEJOX3RvX0FTTjFfSU5URUdFUih0bXAsIG9yaWcgPSByZXQtPmNvZmFjdG9yKTsKLSAgICAg ICAgIGlmIChyZXQtPmNvZmFjdG9yID09IE5VTEwpIHsKLSsgICAgICAgICAgICByZXQtPmNvZmFj dG9yID0gb3JpZzsKLSAgICAgICAgICAgICBFQ2VycihFQ19GX0VDX0dST1VQX0dFVF9FQ1BBUkFN RVRFUlMsIEVSUl9SX0FTTjFfTElCKTsKLSAgICAgICAgICAgICBnb3RvIGVycjsKLSAgICAgICAg IH0KLWRpZmYgLS1naXQgYS9jcnlwdG8veDUwOXYzL3YzX2FzaWQuYyBiL2NyeXB0by94NTA5djMv djNfYXNpZC5jCi1pbmRleCAwODlmMmFlMjlmLi5lZjJkNjQ4MjZmIDEwMDY0NAotLS0tIGEvY3J5 cHRvL3g1MDl2My92M19hc2lkLmMKLSsrKyBiL2NyeXB0by94NTA5djMvdjNfYXNpZC5jCi1AQCAt MjU2LDYgKzI1Niw3IEBAIHN0YXRpYyBpbnQgZXh0cmFjdF9taW5fbWF4KEFTSWRPclJhbmdlICph b3IsCi0gc3RhdGljIGludCBBU0lkZW50aWZpZXJDaG9pY2VfaXNfY2Fub25pY2FsKEFTSWRlbnRp ZmllckNob2ljZSAqY2hvaWNlKQotIHsKLSAgICAgQVNOMV9JTlRFR0VSICphX21heF9wbHVzX29u ZSA9IE5VTEw7Ci0rICAgIEFTTjFfSU5URUdFUiAqb3JpZzsKLSAgICAgQklHTlVNICpibiA9IE5V TEw7Ci0gICAgIGludCBpLCByZXQgPSAwOwotIAotQEAgLTI5OCw5ICsyOTksMTUgQEAgc3RhdGlj IGludCBBU0lkZW50aWZpZXJDaG9pY2VfaXNfY2Fub25pY2FsKEFTSWRlbnRpZmllckNob2ljZSAq Y2hvaWNlKQotICAgICAgICAgICovCi0gICAgICAgICBpZiAoKGJuID09IE5VTEwgJiYgKGJuID0g Qk5fbmV3KCkpID09IE5VTEwpIHx8Ci0gICAgICAgICAgICAgQVNOMV9JTlRFR0VSX3RvX0JOKGFf bWF4LCBibikgPT0gTlVMTCB8fAotLSAgICAgICAgICAgICFCTl9hZGRfd29yZChibiwgMSkgfHwK LS0gICAgICAgICAgICAoYV9tYXhfcGx1c19vbmUgPQotLSAgICAgICAgICAgICBCTl90b19BU04x X0lOVEVHRVIoYm4sIGFfbWF4X3BsdXNfb25lKSkgPT0gTlVMTCkgewotKyAgICAgICAgICAgICFC Tl9hZGRfd29yZChibiwgMSkpIHsKLSsgICAgICAgICAgICBYNTA5VjNlcnIoWDUwOVYzX0ZfQVNJ REVOVElGSUVSQ0hPSUNFX0lTX0NBTk9OSUNBTCwKLSsgICAgICAgICAgICAgICAgICAgICAgRVJS X1JfTUFMTE9DX0ZBSUxVUkUpOwotKyAgICAgICAgICAgIGdvdG8gZG9uZTsKLSsgICAgICAgIH0K LSsKLSsgICAgICAgIGlmICgoYV9tYXhfcGx1c19vbmUgPQotKyAgICAgICAgICAgICAgICBCTl90 b19BU04xX0lOVEVHRVIoYm4sIG9yaWcgPSBhX21heF9wbHVzX29uZSkpID09IE5VTEwpIHsKLSsg ICAgICAgICAgICBhX21heF9wbHVzX29uZSA9IG9yaWc7Ci0gICAgICAgICAgICAgWDUwOVYzZXJy KFg1MDlWM19GX0FTSURFTlRJRklFUkNIT0lDRV9JU19DQU5PTklDQUwsCi0gICAgICAgICAgICAg ICAgICAgICAgIEVSUl9SX01BTExPQ19GQUlMVVJFKTsKLSAgICAgICAgICAgICBnb3RvIGRvbmU7 Ci1AQCAtMzUxLDYgKzM1OCw3IEBAIGludCBYNTA5djNfYXNpZF9pc19jYW5vbmljYWwoQVNJZGVu dGlmaWVycyAqYXNpZCkKLSBzdGF0aWMgaW50IEFTSWRlbnRpZmllckNob2ljZV9jYW5vbml6ZShB U0lkZW50aWZpZXJDaG9pY2UgKmNob2ljZSkKLSB7Ci0gICAgIEFTTjFfSU5URUdFUiAqYV9tYXhf cGx1c19vbmUgPSBOVUxMOwotKyAgICBBU04xX0lOVEVHRVIgKm9yaWc7Ci0gICAgIEJJR05VTSAq Ym4gPSBOVUxMOwotICAgICBpbnQgaSwgcmV0ID0gMDsKLSAKLUBAIC00MTYsOSArNDI0LDE1IEBA IHN0YXRpYyBpbnQgQVNJZGVudGlmaWVyQ2hvaWNlX2Nhbm9uaXplKEFTSWRlbnRpZmllckNob2lj ZSAqY2hvaWNlKQotICAgICAgICAgICovCi0gICAgICAgICBpZiAoKGJuID09IE5VTEwgJiYgKGJu ID0gQk5fbmV3KCkpID09IE5VTEwpIHx8Ci0gICAgICAgICAgICAgQVNOMV9JTlRFR0VSX3RvX0JO KGFfbWF4LCBibikgPT0gTlVMTCB8fAotLSAgICAgICAgICAgICFCTl9hZGRfd29yZChibiwgMSkg fHwKLS0gICAgICAgICAgICAoYV9tYXhfcGx1c19vbmUgPQotLSAgICAgICAgICAgICBCTl90b19B U04xX0lOVEVHRVIoYm4sIGFfbWF4X3BsdXNfb25lKSkgPT0gTlVMTCkgewotKyAgICAgICAgICAg ICFCTl9hZGRfd29yZChibiwgMSkpIHsKLSsgICAgICAgICAgICBYNTA5VjNlcnIoWDUwOVYzX0Zf QVNJREVOVElGSUVSQ0hPSUNFX0NBTk9OSVpFLAotKyAgICAgICAgICAgICAgICAgICAgICBFUlJf Ul9NQUxMT0NfRkFJTFVSRSk7Ci0rICAgICAgICAgICAgZ290byBkb25lOwotKyAgICAgICAgfQot KwotKyAgICAgICAgaWYgKChhX21heF9wbHVzX29uZSA9Ci0rICAgICAgICAgICAgICAgICBCTl90 b19BU04xX0lOVEVHRVIoYm4sIG9yaWcgPSBhX21heF9wbHVzX29uZSkpID09IE5VTEwpIHsKLSsg ICAgICAgICAgICBhX21heF9wbHVzX29uZSA9IG9yaWc7Ci0gICAgICAgICAgICAgWDUwOVYzZXJy KFg1MDlWM19GX0FTSURFTlRJRklFUkNIT0lDRV9DQU5PTklaRSwKLSAgICAgICAgICAgICAgICAg ICAgICAgRVJSX1JfTUFMTE9DX0ZBSUxVUkUpOwotICAgICAgICAgICAgIGdvdG8gZG9uZTsKLWNv bW1pdCA4NmVkNzg2NzZjNjYwYjU1MzY5NmNjMTBjNjgyOTYyNTIyZGZlYjZjCi1BdXRob3I6IFRv bWFzIE1yYXogPHRtcmF6QGZlZG9yYXByb2plY3Qub3JnPgotRGF0ZTogICBUaHUgU2VwIDEyIDEy OjI3OjM2IDIwMTkgKzAyMDAKLQotICAgIEJJT19mX3psaWI6IFByb3Blcmx5IGhhbmRsZSBCSU9f Q1RSTF9QRU5ESU5HIGFuZCBCSU9fQ1RSTF9XUEVORElORyBjYWxscy4KLSAgICAKLSAgICBUaGVy ZSBjYW4gYmUgZGF0YSB0byB3cml0ZSBpbiBvdXRwdXQgYnVmZmVyIGFuZCBkYXRhIHRvIHJlYWQg dGhhdCB3ZXJlCi0gICAgbm90IHlldCByZWFkIGluIHRoZSBpbnB1dCBzdHJlYW0uCi0gICAgCi0g ICAgRml4ZXMgIzk4NjYKLSAgICAKLSAgICBSZXZpZXdlZC1ieTogUmljaGFyZCBMZXZpdHRlIDxs ZXZpdHRlQG9wZW5zc2wub3JnPgotICAgIChNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20v b3BlbnNzbC9vcGVuc3NsL3B1bGwvOTg3NykKLSAgICAKLSAgICAoY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA2YmViOGIzOWJhOGU0Y2IwMDVjMWZjZDI1ODZiYTE5ZTE3ZjA0Yjk1KQotCi1kaWZm IC0tZ2l0IGEvY3J5cHRvL2NvbXAvY196bGliLmMgYi9jcnlwdG8vY29tcC9jX3psaWIuYwotaW5k ZXggZDY4OGRlZWU1Zi4uN2MxYmUzNThmZCAxMDA2NDQKLS0tLSBhL2NyeXB0by9jb21wL2Nfemxp Yi5jCi0rKysgYi9jcnlwdG8vY29tcC9jX3psaWIuYwotQEAgLTU5OCw2ICs1OTgsMjggQEAgc3Rh dGljIGxvbmcgYmlvX3psaWJfY3RybChCSU8gKmIsIGludCBjbWQsIGxvbmcgbnVtLCB2b2lkICpw dHIpCi0gICAgICAgICBCSU9fY29weV9uZXh0X3JldHJ5KGIpOwotICAgICAgICAgYnJlYWs7Ci0g Ci0rICAgIGNhc2UgQklPX0NUUkxfV1BFTkRJTkc6Ci0rICAgICAgICBpZiAoY3R4LT5vYnVmID09 IE5VTEwpCi0rICAgICAgICAgICAgcmV0dXJuIDA7Ci0rCi0rICAgICAgICBpZiAoY3R4LT5vZG9u ZSkgewotKyAgICAgICAgICAgIHJldCA9IGN0eC0+b2NvdW50OwotKyAgICAgICAgfSBlbHNlIHsK LSsgICAgICAgICAgICByZXQgPSBjdHgtPm9jb3VudDsKLSsgICAgICAgICAgICBpZiAocmV0ID09 IDApCi0rICAgICAgICAgICAgICAgIC8qIFVua25vd24gYW1vdW50IHBlbmRpbmcgYnV0IHdlIGFy ZSBub3QgZmluaXNoZWQgKi8KLSsgICAgICAgICAgICAgICAgcmV0ID0gMTsKLSsgICAgICAgIH0K LSsgICAgICAgIGlmIChyZXQgPT0gMCkKLSsgICAgICAgICAgICByZXQgPSBCSU9fY3RybChuZXh0 LCBjbWQsIG51bSwgcHRyKTsKLSsgICAgICAgIGJyZWFrOwotKwotKyAgICBjYXNlIEJJT19DVFJM X1BFTkRJTkc6Ci0rICAgICAgICByZXQgPSBjdHgtPnppbi5hdmFpbF9pbjsKLSsgICAgICAgIGlm IChyZXQgPT0gMCkKLSsgICAgICAgICAgICByZXQgPSBCSU9fY3RybChuZXh0LCBjbWQsIG51bSwg cHRyKTsKLSsgICAgICAgIGJyZWFrOwotKwotICAgICBkZWZhdWx0OgotICAgICAgICAgcmV0ID0g QklPX2N0cmwobmV4dCwgY21kLCBudW0sIHB0cik7Ci0gICAgICAgICBicmVhazsKCmRpZmYgLS1n aXQgYS9vcGVuc3NsLTEuMS4xLXZlcnNpb24tb3ZlcnJpZGUucGF0Y2ggYi9vcGVuc3NsLTEuMS4x LXZlcnNpb24tb3ZlcnJpZGUucGF0Y2gKaW5kZXggY2JlY2I5MC4uODQwNGQ3ZiAxMDA2NDQKLS0t IGEvb3BlbnNzbC0xLjEuMS12ZXJzaW9uLW92ZXJyaWRlLnBhdGNoCisrKyBiL29wZW5zc2wtMS4x LjEtdmVyc2lvbi1vdmVycmlkZS5wYXRjaApAQCAtMSwxMiArMSwxMiBAQAotZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMWQvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgudmVyc2lvbi1vdmVycmlkZSBv cGVuc3NsLTEuMS4xZC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAotLS0tIG9wZW5zc2wtMS4x LjFkL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oLnZlcnNpb24tb3ZlcnJpZGUJMjAxOS0wOS0x MyAxNToyNjozMi42MDY1MDAyNDQgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xZC9pbmNsdWRlL29w ZW5zc2wvb3BlbnNzbHYuaAkyMDE5LTA5LTEzIDE1OjI3OjAzLjgwNTk1MDg2NiArMDIwMAorZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMWUvaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgudmVyc2lvbi1v dmVycmlkZSBvcGVuc3NsLTEuMS4xZS9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAorLS0tIG9w ZW5zc2wtMS4xLjFlL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oLnZlcnNpb24tb3ZlcnJpZGUJ MjAyMC0wMy0xNyAxODowNTowMC43NTA3NDk5ODcgKzAxMDAKKysrKyBvcGVuc3NsLTEuMS4xZS9p bmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAkyMDIwLTAzLTE3IDE4OjA1OjQxLjQwNDAzODYxOSAr MDEwMAogQEAgLTQwLDcgKzQwLDcgQEAgZXh0ZXJuICJDIiB7CiAgICogIG1ham9yIG1pbm9yIGZp eCBmaW5hbCBwYXRjaC9iZXRhKQogICAqLwotICMgZGVmaW5lIE9QRU5TU0xfVkVSU0lPTl9OVU1C RVIgIDB4MTAxMDEwNGZMCi0tIyBkZWZpbmUgT1BFTlNTTF9WRVJTSU9OX1RFWFQgICAgIk9wZW5T U0wgMS4xLjFkICAxMCBTZXAgMjAxOSIKLSsjIGRlZmluZSBPUEVOU1NMX1ZFUlNJT05fVEVYVCAg ICAiT3BlblNTTCAxLjEuMWQgRklQUyAgMTAgU2VwIDIwMTkiCisgIyBkZWZpbmUgT1BFTlNTTF9W RVJTSU9OX05VTUJFUiAgMHgxMDEwMTA1ZkwKKy0jIGRlZmluZSBPUEVOU1NMX1ZFUlNJT05fVEVY VCAgICAiT3BlblNTTCAxLjEuMWUgIDE3IE1hciAyMDIwIgorKyMgZGVmaW5lIE9QRU5TU0xfVkVS U0lPTl9URVhUICAgICJPcGVuU1NMIDEuMS4xZSBGSVBTICAxNyBNYXIgMjAyMCIKICAKICAvKi0K ICAgKiBUaGUgbWFjcm9zIGJlbG93IGFyZSB0byBiZSB1c2VkIGZvciBzaGFyZWQgbGlicmFyeSAo LnNvLCAuZGxsLCAuLi4pCgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC5zcGVjIGIvb3BlbnNzbC5zcGVj CmluZGV4IDkxZjM0OTIuLjgwYWYzYjkgMTAwNjQ0Ci0tLSBhL29wZW5zc2wuc3BlYworKysgYi9v cGVuc3NsLnNwZWMKQEAgLTIxLDggKzIxLDggQEAKIAogU3VtbWFyeTogVXRpbGl0aWVzIGZyb20g dGhlIGdlbmVyYWwgcHVycG9zZSBjcnlwdG9ncmFwaHkgbGlicmFyeSB3aXRoIFRMUyBpbXBsZW1l bnRhdGlvbgogTmFtZTogb3BlbnNzbAotVmVyc2lvbjogMS4xLjFkCi1SZWxlYXNlOiA3JXs/ZGlz dH0KK1ZlcnNpb246IDEuMS4xZQorUmVsZWFzZTogMSV7P2Rpc3R9CiBFcG9jaDogMQogIyBXZSBo YXZlIHRvIHJlbW92ZSBjZXJ0YWluIHBhdGVudGVkIGFsZ29yaXRobXMgZnJvbSB0aGUgb3BlbnNz bCBzb3VyY2UKICMgdGFyYmFsbCB3aXRoIHRoZSBob2JibGUtb3BlbnNzbCBzY3JpcHQgd2hpY2gg aXMgaW5jbHVkZWQgYmVsb3cuCkBAIC02NCwxMiArNjQsMTEgQEAgUGF0Y2g0OTogb3BlbnNzbC0x LjEuMS1ldnAta2RmLnBhdGNoCiBQYXRjaDUwOiBvcGVuc3NsLTEuMS4xLXNzaC1rZGYucGF0Y2gK IFBhdGNoNjA6IG9wZW5zc2wtMS4xLjEta3JiNS1rZGYucGF0Y2gKIFBhdGNoNjE6IG9wZW5zc2wt MS4xLjEtaW50ZWwtY2V0LnBhdGNoCitQYXRjaDY1OiBvcGVuc3NsLTEuMS4xLWZpcHMtZHJiZy1z ZWxmdGVzdC5wYXRjaAogIyBCYWNrcG9ydGVkIGZpeGVzIGluY2x1ZGluZyBzZWN1cml0eSBmaXhl cwotUGF0Y2g1MTogb3BlbnNzbC0xLjEuMS11cHN0cmVhbS1zeW5jLnBhdGNoCiBQYXRjaDUyOiBv cGVuc3NsLTEuMS4xLXMzOTB4LXVwZGF0ZS5wYXRjaAogUGF0Y2g1Mzogb3BlbnNzbC0xLjEuMS1m aXBzLWNybmctdGVzdC5wYXRjaAogUGF0Y2g1NDogb3BlbnNzbC0xLjEuMS1yZWdyZXNzaW9uLWZp eGVzLnBhdGNoCi1QYXRjaDU1OiBvcGVuc3NsLTEuMS4xLWFlcy1hc20ucGF0Y2gKIAogTGljZW5z ZTogT3BlblNTTAogVVJMOiBodHRwOi8vd3d3Lm9wZW5zc2wub3JnLwpAQCAtMTY3LDEzICsxNjYs MTIgQEAgY3AgJXtTT1VSQ0UxM30gdGVzdC8KICVwYXRjaDQ4IC1wMSAtYiAuZmlwcy1wb3N0LXJh bmQKICVwYXRjaDQ5IC1wMSAtYiAuZXZwLWtkZgogJXBhdGNoNTAgLXAxIC1iIC5zc2gta2RmCi0l cGF0Y2g1MSAtcDEgLWIgLnVwc3RyZWFtLXN5bmMKICVwYXRjaDUyIC1wMSAtYiAuczM5MHgtdXBk YXRlCiAlcGF0Y2g1MyAtcDEgLWIgLmNybmctdGVzdAogJXBhdGNoNTQgLXAxIC1iIC5yZWdyZXNz aW9uCi0lcGF0Y2g1NSAtcDEgLWIgLmFlcy1hc20KICVwYXRjaDYwIC1wMSAtYiAua3JiNS1rZGYK ICVwYXRjaDYxIC1wMSAtYiAuaW50ZWwtY2V0CislcGF0Y2g2NSAtcDEgLWIgLmRyYmctc2VsZnRl c3QKIAogCiAlYnVpbGQKQEAgLTQ2MCw2ICs0NTgsMTEgQEAgZXhwb3J0IExEX0xJQlJBUllfUEFU SAogJWxkY29uZmlnX3NjcmlwdGxldHMgbGlicwogCiAlY2hhbmdlbG9nCisqIFdlZCBNYXIgMTgg MjAyMCBUb23DocWhIE1yw6F6IDx0bXJhekByZWRoYXQuY29tPiAxLjEuMWUtMQorLSB1cGRhdGUg dG8gdGhlIDEuMS4xZSByZWxlYXNlCistIGFkZCBzZWxmdGVzdCBvZiB0aGUgUkFORF9EUkJHIGlt cGxlbWVudGF0aW9uCistIGZpeCBpbmNvcnJlY3QgZXJyb3IgcmV0dXJuIHZhbHVlIGZyb20gRklQ U19zZWxmdGVzdF9kc2EKKwogKiBNb24gRmViIDE3IDIwMjAgVG9tw6HFoSBNcsOheiA8dG1yYXpA cmVkaGF0LmNvbT4gMS4xLjFkLTcKIC0gYXBwbHkgSW50ZWwgQ0VUIHN1cHBvcnQgcGF0Y2hlcyBi eSBoamwgKCMxNzg4Njk5KQogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXgg Nzg3ZjE1MC4uMzIzYWE3YSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0x ICsxIEBACi1TSEE1MTIgKG9wZW5zc2wtMS4xLjFkLWhvYmJsZWQudGFyLnh6KSA9IGMzNTBlNDY2 OWI4MmRjYmM3ZmNjOTk3NzI2ZTM3NjM5MmUyZWUwYzkyYzM3YTk1MmViMDIzNjlmMDU3ODBhOGQx YjBjMjY1ZjYyNjRjZTBlNzYxOWU0NDIwMGQyZDA1N2UzZmRjYjBmZTIyYzE2OGRmYjI4ZTkzODE4 NDFmYzAwCitTSEE1MTIgKG9wZW5zc2wtMS4xLjFlLWhvYmJsZWQudGFyLnh6KSA9IGIwYjQxNWIz NzZlMTJkN2E3NGVlYjkxNTMxNTc0MWE5ZDRkM2NlZjk1Mzk2OWVkYjYzMmQ0NjgzZWEwODhlNjA3 ZWJlYmEzN2M0YmUwYzc4MWNhODM5ZWMyMGMxMDgxNjZmYWY1ZTIyOGQ3NjQyMjE3Zjg2ZjdhYjFh M2VmMTVhCg==