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: Dmitry Belyavskiy To: git-commits@fedoraproject.org Subject: [rpms/openssl] f45: Rebase to OpenSSL 4.0.2 Date: Fri, 28 Aug 2026 10:57:30 GMT Message-ID: <178791465024.1.5384239873962743111.rpms-openssl-07e26394a799@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: f45 X-Git-Rev: 07e26394a799dee4210c52c320487f84b96cb45d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiBmNDUKQ29tbWl0IDogMDdlMjYzOTRhNzk5ZGVlNDIxMGM1MmMzMjA0ODdmODRiOTZjYjQ1 ZApBdXRob3IgOiBEbWl0cnkgQmVseWF2c2tpeSA8ZGJlbHlhdnNAcmVkaGF0LmNvbT4KRGF0ZSAg IDogMjAyNi0wOC0yOFQxMjo0NjoyMCswMjowMApTdGF0cyAgOiArNjcvLTM3NyBpbiAyMCBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvb3BlbnNzbC9j LzA3ZTI2Mzk0YTc5OWRlZTQyMTBjNTJjMzIwNDg3Zjg0Yjk2Y2I0NWQ/YnJhbmNoPWY0NQoKTG9n OgpSZWJhc2UgdG8gT3BlblNTTCA0LjAuMgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIv LmdpdGlnbm9yZQppbmRleCBhODM5NjVjLi5kZDNkZjU3IDEwMDY0NAotLS0gYS8uZ2l0aWdub3Jl CisrKyBiLy5naXRpZ25vcmUKQEAgLTcxLDMgKzcxLDQgQEAgb3BlbnNzbC0xLjAuMGEtdXNhLnRh ci5iejIKIC9vcGVuc3NsLTMuNS41LnRhci5negogL29wZW5zc2wtNC4wLjAtYmV0YTEudGFyLmd6 CiAvb3BlbnNzbC00LjAuMS50YXIuZ3oKKy9vcGVuc3NsLTQuMC4yLnRhci5negoKZGlmZiAtLWdp dCBhLzAwMDEtUkgtQWFyY2g2NC1hbmQtcHBjNjRsZS11c2UtbGliNjQucGF0Y2ggYi8wMDAxLVJI LUFhcmNoNjQtYW5kLXBwYzY0bGUtdXNlLWxpYjY0LnBhdGNoCmluZGV4IDFhODBjMDMuLmRjZWZj YjcgMTAwNjQ0Ci0tLSBhLzAwMDEtUkgtQWFyY2g2NC1hbmQtcHBjNjRsZS11c2UtbGliNjQucGF0 Y2gKKysrIGIvMDAwMS1SSC1BYXJjaDY0LWFuZC1wcGM2NGxlLXVzZS1saWI2NC5wYXRjaApAQCAt MSw0ICsxLDQgQEAKLUZyb20gNjIyZGMwYjVkOWE4Y2RmZjgwZTEyZWFiMWE3ZGQ1OTNjZjUzNThi ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gM2Y3ZTYxOWIyZTUxNGZmYmE5NzM4NTll MmVjN2NkNTk4ODc5NmMyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWls ZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE0ICswMTAwCiBTdWJq ZWN0OiBbUEFUQ0ggMDEvMTZdIFJIOiBBYXJjaDY0IGFuZCBwcGM2NGxlIHVzZSBsaWI2NApAQCAt MzQsNSArMzQsNSBAQCBpbmRleCA1MjhjODI5OGFhLi5jMTJhMDFlNjU4IDEwMDY0NAogICAgICAi bGludXgtYXJtNjRpbHAzMiIgPT4geyAgIyBodHRwczovL3dpa2kubGluYXJvLm9yZy9QbGF0Zm9y bS9hcm02NC1pbHAzMgogICAgICAgICAgaW5oZXJpdF9mcm9tICAgICA9PiBbICJsaW51eC1nZW5l cmljMzIiIF0sCiAtLSAKLTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDAyLUFkZC1h LXNlcGFyYXRlLWNvbmZpZy1maWxlLXRvLXVzZS1mb3ItcnBtLWluc3RhbGxzLnBhdGNoIGIvMDAw Mi1BZGQtYS1zZXBhcmF0ZS1jb25maWctZmlsZS10by11c2UtZm9yLXJwbS1pbnN0YWxscy5wYXRj aAppbmRleCAyYjM4ZDQ3Li5iMGJjMDc5IDEwMDY0NAotLS0gYS8wMDAyLUFkZC1hLXNlcGFyYXRl LWNvbmZpZy1maWxlLXRvLXVzZS1mb3ItcnBtLWluc3RhbGxzLnBhdGNoCisrKyBiLzAwMDItQWRk LWEtc2VwYXJhdGUtY29uZmlnLWZpbGUtdG8tdXNlLWZvci1ycG0taW5zdGFsbHMucGF0Y2gKQEAg LTEsNCArMSw0IEBACi1Gcm9tIDZmNDMxOGU1YTM2YTk4NzlhYmZhYTAxYWM3OGExYmEwYTVlYWYw ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGExMTkzNTU5NmYwMDk5MzllOWIzMGY4 Njc3NmI1Yzc1YmQ4NGQxZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNv cmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRlOiBUaHUsIDYgTWFyIDIwMjUgMDg6NDA6MjkgLTA1 MDAKIFN1YmplY3Q6IFtQQVRDSCAwMi8xNl0gQWRkIGEgc2VwYXJhdGUgY29uZmlnIGZpbGUgdG8g dXNlIGZvciBycG0gaW5zdGFsbHMKQEAgLTQ1Nyw1ICs0NTcsNSBAQCBpbmRleCAwMDAwMDAwMDAw Li45MmU1YmU4ODM3CiArY21kID0gcnIKICtvbGRjZXJ0ID0gJGluc3RhOjpjZXJ0b3V0ICMgaW5z dGEuY2VydC5wZW0KIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMDMtUkgt RG8tbm90LWluc3RhbGwtaHRtbC1kb2NzLnBhdGNoIGIvMDAwMy1SSC1Eby1ub3QtaW5zdGFsbC1o dG1sLWRvY3MucGF0Y2gKaW5kZXggMTEzNDgwNS4uOGY0MjZlMyAxMDA2NDQKLS0tIGEvMDAwMy1S SC1Eby1ub3QtaW5zdGFsbC1odG1sLWRvY3MucGF0Y2gKKysrIGIvMDAwMy1SSC1Eby1ub3QtaW5z dGFsbC1odG1sLWRvY3MucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDFkOTE4OTMxNzFlZTRm MGM0MTVjNmM1YzdiNDg3Y2I4YWI0ZTA5MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t IDI1MzQzNDQ4ZWJjNjExNDMyYjRlZTE1NzZlOTliZjc2MDZmNTIzMDkgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIg MjAyNCAxOToxNzoxNCArMDEwMAogU3ViamVjdDogW1BBVENIIDAzLzE2XSBSSDogRG8gbm90IGlu c3RhbGwgaHRtbCBkb2NzCkBAIC0yNiw1ICsyNiw1IEBAIGluZGV4IGVmZjY2ZTUzNmYuLjUxMWJi YjJlYTcgMTAwNjQ0CiAgdW5pbnN0YWxsX2RvY3M6IHVuaW5zdGFsbF9tYW5fZG9jcyB1bmluc3Rh bGxfaHRtbF9kb2NzICMjIFVuaW5zdGFsbCBtYW5wYWdlcyBhbmQgSFRNTCBkb2N1bWVudGF0aW9u CiAgCSQoUk0pIC1yICIkKERFU1RESVIpJChET0NESVIpIgogLS0gCi0yLjU0LjAKKzIuNTUuMAog CgpkaWZmIC0tZ2l0IGEvMDAwNC1SSC1EaXNhYmxlLXNpZ25hdHVyZS12ZXJpZmljYXRpb24td2l0 aC1iYWQtZGlnZXN0cy1SLnBhdGNoIGIvMDAwNC1SSC1EaXNhYmxlLXNpZ25hdHVyZS12ZXJpZmlj YXRpb24td2l0aC1iYWQtZGlnZXN0cy1SLnBhdGNoCmluZGV4IDc4YTQ0NWIuLjExN2E0ZmIgMTAw NjQ0Ci0tLSBhLzAwMDQtUkgtRGlzYWJsZS1zaWduYXR1cmUtdmVyaWZpY2F0aW9uLXdpdGgtYmFk LWRpZ2VzdHMtUi5wYXRjaAorKysgYi8wMDA0LVJILURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNh dGlvbi13aXRoLWJhZC1kaWdlc3RzLVIucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGRjZWEz MDBlMGVmYjhiN2ZhN2ZkZGVjZWEyZGY0ZGU5YzQ5YWE4ZTcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tIDg2M2VjZjJjODU0NmQxZjhkOTM3MzBmMzQyMGZlMTk3MmRhN2IxYzkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdl ZCwgNiBNYXIgMjAyNCAxOToxNzoxNCArMDEwMAogU3ViamVjdDogW1BBVENIIDA0LzE2XSBSSDog RGlzYWJsZSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIHdpdGggYmFkIGRpZ2VzdHMgLQpAQCAtMzAs NSArMzAsNSBAQCBpbmRleCAxODhjNmM5M2ZjLi5hNzVlMGUxMWRhIDEwMDY0NAogICAgICAgICAg Y29uc3QgRVZQX01EICp0eXBlID0gTlVMTDsKICAKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlm ZiAtLWdpdCBhLzAwMDUtUkgtQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lTVEVNLXN5c3RlbS1k ZWZhdWx0LWNpcC5wYXRjaCBiLzAwMDUtUkgtQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lTVEVN LXN5c3RlbS1kZWZhdWx0LWNpcC5wYXRjaAppbmRleCAzMmNmNDAzLi43YjIxNTVkIDEwMDY0NAot LS0gYS8wMDA1LVJILUFkZC1zdXBwb3J0LWZvci1QUk9GSUxFLVNZU1RFTS1zeXN0ZW0tZGVmYXVs dC1jaXAucGF0Y2gKKysrIGIvMDAwNS1SSC1BZGQtc3VwcG9ydC1mb3ItUFJPRklMRS1TWVNURU0t c3lzdGVtLWRlZmF1bHQtY2lwLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBhODVlMDc2NTA0 ZDFiYmRjZDI0ZWE3NzE2NTBiNjdjZTEwNDRlY2U1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbSA1NDA4Yjc0NzVmYzZlNmNkYWUzYTJmNmNiZDcwZmY4YjMxZWNhMzI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYg TWFyIDIwMjQgMTk6MTc6MTQgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSCAwNS8xNl0gUkg6IEFkZCBz dXBwb3J0IGZvciBQUk9GSUxFIFNZU1RFTSBzeXN0ZW0gZGVmYXVsdApAQCAtMTIwLDcgKzEyMCw3 IEBAIGluZGV4IDQ5ZGE5MjMwNTkuLmNmYjA2MzA4OGMgMTAwNjQ0CiAgCiAgLyoKIGRpZmYgLS1n aXQgYS9pbmNsdWRlL29wZW5zc2wvc3NsLmguaW4gYi9pbmNsdWRlL29wZW5zc2wvc3NsLmguaW4K LWluZGV4IDQ1MmI2OTZkNWUuLmViMGMxMmM0Y2QgMTAwNjQ0CitpbmRleCA5NmI5MDc5ZDJiLi5m YjkxMjU3OWI3IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmluCiArKysgYi9p bmNsdWRlL29wZW5zc2wvc3NsLmguaW4KIEBAIC0yMTIsNiArMjEyLDExIEBAIGV4dGVybiAiQyIg ewpAQCAtMjg5LDcgKzI4OSw3IEBAIGluZGV4IDYxNDYwYzBmODUuLjM1NmYxMmIzMjggMTAwNjQ0 CiAgCiAgY2hhciAqU1NMX0NJUEhFUl9kZXNjcmlwdGlvbihjb25zdCBTU0xfQ0lQSEVSICpjaXBo ZXIsIGNoYXIgKmJ1ZiwgaW50IGxlbikKIGRpZmYgLS1naXQgYS9zc2wvc3NsX2xpYi5jIGIvc3Ns L3NzbF9saWIuYwotaW5kZXggNTQ5YmQ3ZDEyNS4uMjljMGI3NGE5NCAxMDA2NDQKK2luZGV4IGE1 NjRmZDgxYjMuLmZiYjI2NDQxODYgMTAwNjQ0CiAtLS0gYS9zc2wvc3NsX2xpYi5jCiArKysgYi9z c2wvc3NsX2xpYi5jCiBAQCAtNjcxLDcgKzY3MSw3IEBAIGludCBTU0xfQ1RYX3NldF9zc2xfdmVy c2lvbihTU0xfQ1RYICpjdHgsIGNvbnN0IFNTTF9NRVRIT0QgKm1ldGgpCkBAIC0zMjUsNSArMzI1 LDUgQEAgaW5kZXggOTIxYWZlNjIzNC4uYmUyYzM4MmY4NSAxMDA2NDQKICAgICAgQUREX1RFU1Qo dGVzdF9kZWZhdWx0X2NpcGhlcmxpc3RfY2xlYXIpOwogICNpZm5kZWYgT1BFTlNTTF9OT19UTFMx XzMKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMDYtUkgtQWRkLUZJUFNf bW9kZS1jb21wYXRpYmlsaXR5LW1hY3JvLnBhdGNoIGIvMDAwNi1SSC1BZGQtRklQU19tb2RlLWNv bXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKaW5kZXggNzhkY2U3OS4uNTQ3YjM2NCAxMDA2NDQKLS0t IGEvMDAwNi1SSC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKKysrIGIv MDAwNi1SSC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKQEAgLTEsNCAr MSw0IEBACi1Gcm9tIGZlMzM3MTgzMzUyNzI5OGI3MzM5NDVmMzU3YzcwOGZkZmY4NjVkNGMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDMwODYyZTZmMGRkYjgyOWFjNWJlZTYyNWMxM2Zj ZWJjNjNkMzBiNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJw bS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSArMDEwMAogU3ViamVjdDog W1BBVENIIDA2LzE2XSBSSDogQWRkIEZJUFNfbW9kZSBjb21wYXRpYmlsaXR5IG1hY3JvCkBAIC03 OSw1ICs3OSw1IEBAIGluZGV4IGVlYTFmMjhhMTkuLjUyMWNmMDE5ZjUgMTAwNjQ0CiAgICAgIEFE RF9URVNUKHRlc3RfcHJvcGVydHlfbGlzdF90b19zdHJpbmdfYm91bmRzKTsKICAgICAgcmV0dXJu IDE7CiAtLSAKLTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDA3LVJILUFkZC1LZXJu ZWwtRklQUy1tb2RlLWZsYWctc3VwcG9ydC1GSVhTVFlMRS5wYXRjaCBiLzAwMDctUkgtQWRkLUtl cm5lbC1GSVBTLW1vZGUtZmxhZy1zdXBwb3J0LUZJWFNUWUxFLnBhdGNoCmluZGV4IGJlNjQyYTAu LmNlNTg1OTcgMTAwNjQ0Ci0tLSBhLzAwMDctUkgtQWRkLUtlcm5lbC1GSVBTLW1vZGUtZmxhZy1z dXBwb3J0LUZJWFNUWUxFLnBhdGNoCisrKyBiLzAwMDctUkgtQWRkLUtlcm5lbC1GSVBTLW1vZGUt ZmxhZy1zdXBwb3J0LUZJWFNUWUxFLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjYWVkMmFj YTljMzI3YTg0NzE2YWI3NjlmMjA2MGU4ZDc0YzQwN2Y0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbSBhNzMxY2JiYjI3ZjJkZWMyZjFlNWVkZTI4NDUyNTU4MzZiODJhNzUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQs IDYgTWFyIDIwMjQgMTk6MTc6MTUgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSCAwNy8xNl0gUkg6IEFk ZCBLZXJuZWwgRklQUyBtb2RlIGZsYWcgc3VwcG9ydCAtIEZJWFNUWUxFCkBAIC04Miw1ICs4Miw1 IEBAIGluZGV4IDFiNDA1MGE4MWYuLmViN2Y0MDlhZjAgMTAwNjQ0CiAgI2VuZGlmCiAgCiAtLSAK LTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDA4LVJILUFsbG93LWRpc2FibGluZy1v Zi1TSEExLXNpZ25hdHVyZXMucGF0Y2ggYi8wMDA4LVJILUFsbG93LWRpc2FibGluZy1vZi1TSEEx LXNpZ25hdHVyZXMucGF0Y2gKaW5kZXggYzkzNzU1MS4uMzMxMTBlMiAxMDA2NDQKLS0tIGEvMDAw OC1SSC1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCisrKyBiLzAwMDgt UkgtQWxsb3ctZGlzYWJsaW5nLW9mLVNIQTEtc2lnbmF0dXJlcy5wYXRjaApAQCAtMSw0ICsxLDQg QEAKLUZyb20gZDEyZTczNjNjZDU3YzYzYjVhMzkxNGRhYzkzNWEwOTFhNTM0NzZkNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjE3NDM1MjA1N2ZiNjc2MTg5NWNiNjM1MTA2YzZmOWQ0 ZmNkMzdlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IERtaXRyeSBCZWx5YXZza2l5 IDxkYmVseWF2c0ByZWRoYXQuY29tPgogRGF0ZTogTW9uLCAyMSBBdWcgMjAyMyAxMzowNzowNyAr MDIwMAogU3ViamVjdDogW1BBVENIIDA4LzE2XSBSSDogQWxsb3cgZGlzYWJsaW5nIG9mIFNIQTEg c2lnbmF0dXJlcwpAQCAtNDI2LDcgKzQyNiw3IEBAIGluZGV4IDllODc0ZjA3MjYuLjMwMjU4MTdm ZDQgMTAwNjQ0CiAgICAgIGlmIChFVlBfTURfeG9mKG1kKSkgewogICAgICAgICAgRVJSX3JhaXNl KEVSUl9MSUJfUFJPViwgUFJPVl9SX1hPRl9ESUdFU1RTX05PVF9BTExPV0VEKTsKIGRpZmYgLS1n aXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMgYi9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKLWluZGV4IGEzMjYwZWRh MzkuLmViZGJlZDYxYTkgMTAwNjQ0CitpbmRleCBiYTU0NTI3NzM5Li4xN2I2YTNiNWE3IDEwMDY0 NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCiAr KysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKIEBAIC0y Niw2ICsyNiw3IEBACkBAIC00NTUsNyArNDU1LDcgQEAgaW5kZXggYTMyNjBlZGEzOS4uZWJkYmVk NjFhOSAxMDA2NDQKICAgICAgICAgICAgICBFUlJfcmFpc2VfZGF0YShFUlJfTElCX1BST1YsIFBS T1ZfUl9ESUdFU1RfTk9UX0FMTE9XRUQsCiAgICAgICAgICAgICAgICAgICJkaWdlc3Q9JXMiLCBt ZG5hbWUpOwogICAgICAgICAgICAgIGdvdG8gZXJyOwotQEAgLTE3NjEsOCArMTc2NCwxMyBAQCBz dGF0aWMgaW50IHJzYV9zZXRfY3R4X3BhcmFtcyh2b2lkICp2cHJzYWN0eCwgY29uc3QgT1NTTF9Q QVJBTSBwYXJhbXNbXSkKK0BAIC0xNzY3LDggKzE3NzAsMTMgQEAgc3RhdGljIGludCByc2Ffc2V0 X2N0eF9wYXJhbXModm9pZCAqdnByc2FjdHgsIGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10pCiAg ICAgIHByc2FjdHgtPnBhZF9tb2RlID0gcGFkX21vZGU7CiAgCiAgICAgIGlmIChwcnNhY3R4LT5t ZCA9PSBOVUxMICYmIHBtZG5hbWUgPT0gTlVMTApAQCAtNDcyLDcgKzQ3Miw3IEBAIGluZGV4IGEz MjYwZWRhMzkuLmViZGJlZDYxYTkgMTAwNjQ0CiAgICAgIGlmIChwbWdmMW1kbmFtZSAhPSBOVUxM CiAgICAgICAgICAmJiAhcnNhX3NldHVwX21nZjFfbWQocHJzYWN0eCwgcG1nZjFtZG5hbWUsIHBt Z2YxbWRwcm9wcykpCiBkaWZmIC0tZ2l0IGEvc3NsL3QxX2xpYi5jIGIvc3NsL3QxX2xpYi5jCi1p bmRleCA5ZGQ4N2RjNGFjLi5iZDVhNGYwMWIwIDEwMDY0NAoraW5kZXggNGJjMjc0OGU5Ny4uZGM5 MTQ4NTMzNCAxMDA2NDQKIC0tLSBhL3NzbC90MV9saWIuYwogKysrIGIvc3NsL3QxX2xpYi5jCiBA QCAtMjEsNiArMjEsNyBAQApAQCAtNDgzLDcgKzQ4Myw3IEBAIGluZGV4IDlkZDg3ZGM0YWMuLmJk NWE0ZjAxYjAgMTAwNjQ0CiAgI2luY2x1ZGUgImludGVybmFsL25lbGVtLmgiCiAgI2luY2x1ZGUg ImludGVybmFsL3NpemVzLmgiCiAgI2luY2x1ZGUgImludGVybmFsL3Rsc2dyb3Vwcy5oIgotQEAg LTIzNDIsNiArMjM0Myw3IEBAIGludCBzc2xfc2V0dXBfc2lnYWxncyhTU0xfQ1RYICpjdHgpCitA QCAtMjMxOCw2ICsyMzE5LDcgQEAgaW50IHNzbF9zZXR1cF9zaWdhbGdzKFNTTF9DVFggKmN0eCkK ICAgICAgRVZQX1BLRVkgKnRtcGtleSA9IEVWUF9QS0VZX25ldygpOwogICAgICBpbnQgaXN0bHM7 CiAgICAgIGludCByZXQgPSAwOwpAQCAtNDkxLDcgKzQ5MSw3IEBAIGluZGV4IDlkZDg3ZGM0YWMu LmJkNWE0ZjAxYjAgMTAwNjQ0CiAgCiAgICAgIGlmIChjdHggPT0gTlVMTCkKICAgICAgICAgIGdv dG8gZXJyOwotQEAgLTIzNTksNiArMjM2MSw3IEBAIGludCBzc2xfc2V0dXBfc2lnYWxncyhTU0xf Q1RYICpjdHgpCitAQCAtMjMzNSw2ICsyMzM3LDcgQEAgaW50IHNzbF9zZXR1cF9zaWdhbGdzKFNT TF9DVFggKmN0eCkKICAgICAgICAgIGdvdG8gZXJyOwogIAogICAgICBFUlJfc2V0X21hcmsoKTsK QEAgLTQ5OSw3ICs0OTksNyBAQCBpbmRleCA5ZGQ4N2RjNGFjLi5iZDVhNGYwMWIwIDEwMDY0NAog ICAgICAvKiBGaXJzdCBmaWxsIGNhY2hlIGFuZCB0bHMxMl9zaWdhbGdzIGxpc3QgZnJvbSBsZWdh Y3kgYWxnb3JpdGhtIGxpc3QgKi8KICAgICAgZm9yIChpID0gMCwgbHUgPSBzaWdhbGdfbG9va3Vw X3RibDsKICAgICAgICAgIGkgPCBPU1NMX05FTEVNKHNpZ2FsZ19sb29rdXBfdGJsKTsgbHUrKywg aSsrKSB7Ci1AQCAtMjM3OSw2ICsyMzgyLDExIEBAIGludCBzc2xfc2V0dXBfc2lnYWxncyhTU0xf Q1RYICpjdHgpCitAQCAtMjM1NSw2ICsyMzU4LDExIEBAIGludCBzc2xfc2V0dXBfc2lnYWxncyhT U0xfQ1RYICpjdHgpCiAgICAgICAgICAgICAgY2FjaGVbaV0uYXZhaWxhYmxlID0gMDsKICAgICAg ICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KQEAgLTUyMiw1ICs1MjIsNSBAQCBpbmRleCAy OTcwZmIwYTA5Li43N2VmZGI5ODJhIDEwMDY0NAogK29zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2ln bmF0dXJlc19hbGxvd2VkID8JNF8wXzAJRVhJU1Q6OkZVTkNUSU9OOgogK29zc2xfY3R4X2xlZ2Fj eV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCA/CTRfMF8wCUVYSVNUOjpGVU5DVElPTjoK IC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMDktRklQUy1Gb3JjZS1maXBz LXByb3ZpZGVyLW9uLnBhdGNoIGIvMDAwOS1GSVBTLUZvcmNlLWZpcHMtcHJvdmlkZXItb24ucGF0 Y2gKaW5kZXggN2E1ZDM1YS4uY2YxNjM2MyAxMDA2NDQKLS0tIGEvMDAwOS1GSVBTLUZvcmNlLWZp cHMtcHJvdmlkZXItb24ucGF0Y2gKKysrIGIvMDAwOS1GSVBTLUZvcmNlLWZpcHMtcHJvdmlkZXIt b24ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGFhNWE2ZWU3NWEwNGUyODZhYjdlN2RiZWFj MzdjZDNiNjhjMmI1MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE1NjFmMjFhODI4 ZWIyZDc0MjFlMDI1Yjc4MDc0YzIzNjg2NTdiNWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzox NSArMDEwMAogU3ViamVjdDogW1BBVENIIDA5LzE2XSBGSVBTOiBGb3JjZSBmaXBzIHByb3ZpZGVy IG9uCkBAIC03NSw1ICs3NSw1IEBAIGluZGV4IGYyZTc2YWM0MDIuLmEyYThhOTk0MmMgMTAwNjQ0 CiAgfQogIAogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAxMC1GSVBTLVJB TkQtRklQUy0xNDAtMy1EUkJHLU5FRURTLVJFVklFVy5wYXRjaCBiLzAwMTAtRklQUy1SQU5ELUZJ UFMtMTQwLTMtRFJCRy1ORUVEUy1SRVZJRVcucGF0Y2gKaW5kZXggZTZjYWZiNi4uMGZhYzM1OCAx MDA2NDQKLS0tIGEvMDAxMC1GSVBTLVJBTkQtRklQUy0xNDAtMy1EUkJHLU5FRURTLVJFVklFVy5w YXRjaAorKysgYi8wMDEwLUZJUFMtUkFORC1GSVBTLTE0MC0zLURSQkctTkVFRFMtUkVWSUVXLnBh dGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjYWUxMGVhZDc5MjkxMTEwZDY2ZTIwMmY4OTk4ZTU0 OTE5MDI4MzFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwMjI4NmFmNTBlZTkxOTFm YWM1MzM4OGYwODA4YTcxNWE5MDgzZGQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog cnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTk6MTc6MTYgKzAx MDAKIFN1YmplY3Q6IFtQQVRDSCAxMC8xNl0gRklQUzogUkFORDogRklQUy0xNDAtMyBEUkJHIC0g TkVFRFMgUkVWSUVXCkBAIC02OCw3ICs2OCw3IEBAIGluZGV4IDllODBlZjViMWYuLmFiNmMyNjMx OTggMTAwNjQ0CiAgICAgIGlmIChyZXNlZWRfcmVxdWlyZWQgfHwgcHJlZGljdGlvbl9yZXNpc3Rh bmNlKSB7CiAgICAgICAgICBpZiAoIW9zc2xfcHJvdl9kcmJnX3Jlc2VlZF91bmxvY2tlZChkcmJn LCBwcmVkaWN0aW9uX3Jlc2lzdGFuY2UsIE5VTEwsCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5jIGIvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5jCi1pbmRleCAxYWY5OTZiMjVmLi4x OGU4YzBkZWMxIDEwMDY0NAoraW5kZXggYTI2NTE5YWEzZS4uODE1NDc2ZGMyNCAxMDA2NDQKIC0t LSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGluZy9yYW5kX3VuaXguYwog KysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5j CiBAQCAtNTMsNiArNTMsOCBAQApAQCAtMTQwLDcgKzE0MCw3IEBAIGluZGV4IDFhZjk5NmIyNWYu LjE4ZThjMGRlYzEgMTAwNjQ0CiAtICAgIHJldHVybiBnZXRyYW5kb20oYnVmLCBidWZsZW4sIDAp OwogLSNlbGlmIChkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fTmV0QlNEX18pKSAm JiBkZWZpbmVkKEtFUk5fQVJORCkKIC0gICAgcmV0dXJuIHN5c2N0bF9yYW5kb20oYnVmLCBidWZs ZW4pOwotLSNlbGlmIGRlZmluZWQoX193YXNpX18pCistI2VsaWYgZGVmaW5lZChfX3dhc2lfXykg fHwgZGVmaW5lZChfX0VNU0NSSVBURU5fXykKIC0gICAgaWYgKGdldGVudHJvcHkoYnVmLCBidWZs ZW4pID09IDApCiAtICAgICAgICByZXR1cm4gKHNzaXplX3QpYnVmbGVuOwogLSAgICByZXR1cm4g LTE7CkBAIC0xNTQsNSArMTU0LDUgQEAgaW5kZXggMWFmOTk2YjI1Zi4uMThlOGMwZGVjMSAxMDA2 NDQKICAjZW5kaWYgLyogZGVmaW5lZChPUEVOU1NMX1JBTkRfU0VFRF9HRVRSQU5ET00pICovCiAg CiAtLSAKLTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDExLUZJUFMtVExTLUVuZm9y Y2UtRU1TLWluLVRMUy0xLjItTk9URS5wYXRjaCBiLzAwMTEtRklQUy1UTFMtRW5mb3JjZS1FTVMt aW4tVExTLTEuMi1OT1RFLnBhdGNoCmluZGV4IDJkMDg4YTUuLjU5NDJiNmUgMTAwNjQ0Ci0tLSBh LzAwMTEtRklQUy1UTFMtRW5mb3JjZS1FTVMtaW4tVExTLTEuMi1OT1RFLnBhdGNoCisrKyBiLzAw MTEtRklQUy1UTFMtRW5mb3JjZS1FTVMtaW4tVExTLTEuMi1OT1RFLnBhdGNoCkBAIC0xLDQgKzEs NCBAQAotRnJvbSBlOWNhNjQ4Zjc0ZjAzZmU2MzgwNTg5Y2QzNTkwMDVlYmQ3MWNjMmI4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2OWNmNDhiNDA2MTBhZGY4ZGU4Njc2ZGI0NmU4NzQ4 NjhlZWRkYmI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0t YnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTk6MTc6MTcgKzAxMDAKIFN1YmplY3Q6IFtQ QVRDSCAxMS8xNl0gRklQUzogVExTOiBFbmZvcmNlIEVNUyBpbiBUTFMgMS4yIC0gTk9URQpAQCAt NjIsNyArNjIsNyBAQCBpbmRleCAyZTVhNzg5YjQ0Li4xODMyZjljZjIwIDEwMDY0NAogIAogIENv cHlyaWdodCAyMDE5LTIwMjYgVGhlIE9wZW5TU0wgUHJvamVjdCBBdXRob3JzLiBBbGwgUmlnaHRz IFJlc2VydmVkLgogZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbiBiL2luY2x1 ZGUvb3BlbnNzbC9zc2wuaC5pbgotaW5kZXggZWIwYzEyYzRjZC4uOWRjZWMyYWFjOSAxMDA2NDQK K2luZGV4IGZiOTEyNTc5YjcuLjYwYmUyZTgyMTYgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29wZW5z c2wvc3NsLmguaW4KICsrKyBiL2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5pbgogQEAgLTQ1Nyw2ICs0 NTcsNyBAQCB0eXBlZGVmIGludCAoKlNTTF9hc3luY19jYWxsYmFja19mbikoU1NMICpzLCB2b2lk ICphcmcpOwpAQCAtMTc2LDUgKzE3Niw1IEBAIGluZGV4IDUwOTQ0MzI4Y2IuLmVkYjJlODEyNzMg MTAwNjQ0CiAgS0RGID0gVExTMS1QUkYKICBDdHJsLmRpZ2VzdCA9IGRpZ2VzdDpTSEEyNTYKIC0t IAotMi41NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMTItRklQUy1DTVMtU2V0LWRlZmF1 bHQtcGFkZGluZy10by1PQUVQLnBhdGNoIGIvMDAxMi1GSVBTLUNNUy1TZXQtZGVmYXVsdC1wYWRk aW5nLXRvLU9BRVAucGF0Y2gKaW5kZXggZWNhOTViYi4uZmQyMzZlMyAxMDA2NDQKLS0tIGEvMDAx Mi1GSVBTLUNNUy1TZXQtZGVmYXVsdC1wYWRkaW5nLXRvLU9BRVAucGF0Y2gKKysrIGIvMDAxMi1G SVBTLUNNUy1TZXQtZGVmYXVsdC1wYWRkaW5nLXRvLU9BRVAucGF0Y2gKQEAgLTEsNCArMSw0IEBA Ci1Gcm9tIGRiNDJhNmJhNmQxYzJjNjBmZTlmYWUyNzNlNDZjNmIyYjE2NzRkNmEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tIDE4ODYzNjg4OTg3YjJiMWI4YTc1MzA0ZmJiNGNkM2Y5MGFl ZTQxNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJl ZGhhdC5jb20+CiBEYXRlOiBUaHUsIDEzIEZlYiAyMDI1IDE4OjA4OjM0IC0wNTAwCiBTdWJqZWN0 OiBbUEFUQ0ggMTIvMTZdIEZJUFM6IENNUzogU2V0IGRlZmF1bHQgcGFkZGluZyB0byBPQUVQCkBA IC0yMiw3ICsyMiw3IEBAIGluZGV4IGRiZWM4MGU2ODIuLjVjMDUwM2ViNjAgMTAwNjQ0CiAgc3Rh dGljIGludCBzYXZlX2NlcnRzKGNoYXIgKnNpZ25lcmZpbGUsIFNUQUNLX09GKFg1MDkpICpzaWdu ZXJzKTsKICBzdGF0aWMgaW50IGNtc19jYihpbnQgb2ssIFg1MDlfU1RPUkVfQ1RYICpjdHgpOwog ZGlmZiAtLWdpdCBhL2NyeXB0by9jbXMvY21zX2Vudi5jIGIvY3J5cHRvL2Ntcy9jbXNfZW52LmMK LWluZGV4IDM2NDg2OWQyMzkuLjU0NjJmODBjMDEgMTAwNjQ0CitpbmRleCBiOGQwYzk2MjExLi45 ODc2YjVkMjVhIDEwMDY0NAogLS0tIGEvY3J5cHRvL2Ntcy9jbXNfZW52LmMKICsrKyBiL2NyeXB0 by9jbXMvY21zX2Vudi5jCiBAQCAtMjEsNiArMjEsNyBAQApAQCAtNTcsNSArNTcsNSBAQCBpbmRl eCAzNjQ4NjlkMjM5Li41NDYyZjgwYzAxIDEwMDY0NAogIAogICAgICBpZiAoRVZQX1BLRVlfZW5j cnlwdChwY3R4LCBOVUxMLCAmZWtsZW4sIGVjLT5rZXksIGVjLT5rZXlsZW4pIDw9IDApCiAtLSAK LTIuNTQuMAorMi41NS4wCiAKCmRpZmYgLS1naXQgYS8wMDEzLUZJUFMtUEtDUzEyLVBCTUFDMS1k ZWZhdWx0cy5wYXRjaCBiLzAwMTMtRklQUy1QS0NTMTItUEJNQUMxLWRlZmF1bHRzLnBhdGNoCmlu ZGV4IDA5MDM3N2QuLmQ1MmMyMjMgMTAwNjQ0Ci0tLSBhLzAwMTMtRklQUy1QS0NTMTItUEJNQUMx LWRlZmF1bHRzLnBhdGNoCisrKyBiLzAwMTMtRklQUy1QS0NTMTItUEJNQUMxLWRlZmF1bHRzLnBh dGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4NzdkZjhmZjJjZjQwYjc5NDc4Y2UxMTY3NmViYWRm MTA0MWMxMGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyODE3YTVkYjI4NDYyNGRj ZjUzNDAyMDcwMjYxMTc5YTJiOWRmMTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog U2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogVGh1LCAxMyBGZWIgMjAyNSAxODox NjoyOSAtMDUwMAogU3ViamVjdDogW1BBVENIIDEzLzE2XSBGSVBTOiBQS0NTMTI6IFBCTUFDMSBk ZWZhdWx0cwpAQCAtMzEsNSArMzEsNSBAQCBpbmRleCAwOWVkNjg0NDcyLi40NWM3Y2FmM2UzIDEw MDY0NAogICAgICAgICAgICAgICAgICBpZiAoIVBLQ1MxMl9zZXRfcGJtYWMxX3Bia2RmMihwMTIs IG1wYXNzLCAtMSwgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNzYWx0bGVuLCBt YWNpdGVyLAogLS0gCi0yLjU0LjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvMDAxNC1GSVBTLUVD LWRpc2FibGUtd2Vhay1jdXJ2ZXMucGF0Y2ggYi8wMDE0LUZJUFMtRUMtZGlzYWJsZS13ZWFrLWN1 cnZlcy5wYXRjaAppbmRleCBhNGRkN2RlLi5jNjdlODNmIDEwMDY0NAotLS0gYS8wMDE0LUZJUFMt RUMtZGlzYWJsZS13ZWFrLWN1cnZlcy5wYXRjaAorKysgYi8wMDE0LUZJUFMtRUMtZGlzYWJsZS13 ZWFrLWN1cnZlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNDhhZTA3ZDUzNmY5NGU0ZmI1 ZGIzMDMzZGRjYjkxNWIxZjEzZGVhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTEz NTIzZDE5OTM2OWJlNjA2Yzc3YmJmOTM2NWJlNTQ1MTI0MWFjNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgNyBN YXIgMjAyNSAxODowNjozNiAtMDUwMAogU3ViamVjdDogW1BBVENIIDE0LzE2XSBGSVBTOiBFQzog ZGlzYWJsZSB3ZWFrIGN1cnZlcwpAQCAtMjcsNSArMjcsNSBAQCBpbmRleCBjYmIyZWM4ZDUwLi44 YThlMzE4NTgzIDEwMDY0NAogICAgICAgICAgICAgIGNvbW1lbnQgPSAiQ1VSVkUgREVTQ1JJUFRJ T04gTk9UIEFWQUlMQUJMRSI7CiAgICAgICAgICBpZiAoc25hbWUgPT0gTlVMTCkKIC0tIAotMi41 NC4wCisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhLzAwMTUtTWFrZS1vcGVuc3NsLXNwZWVkLXJ1bi1p bi1GSVBTLW1vZGUucGF0Y2ggYi8wMDE1LU1ha2Utb3BlbnNzbC1zcGVlZC1ydW4taW4tRklQUy1t b2RlLnBhdGNoCmluZGV4IDA3NzA2ZTIuLjA0MTEyNWUgMTAwNjQ0Ci0tLSBhLzAwMTUtTWFrZS1v cGVuc3NsLXNwZWVkLXJ1bi1pbi1GSVBTLW1vZGUucGF0Y2gKKysrIGIvMDAxNS1NYWtlLW9wZW5z c2wtc3BlZWQtcnVuLWluLUZJUFMtbW9kZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNmY4 ODE1YWYxNDU2OGZmN2RlNTBjMjBmMWY3NTJhOGY2ZWIyYmVjMiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb20gNTlhZjM2NTI2YTJhNDEwZmFjMjJjNTNiYTJmZTUwYjA5MjY2NDQ4YSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IERtaXRyeSBCZWx5YXZza2l5IDxiZWxkbWl0QGdt YWlsLmNvbT4KIERhdGU6IEZyaSwgOSBNYXkgMjAyNSAxNTowOTo0NiArMDIwMAogU3ViamVjdDog W1BBVENIIDE1LzE2XSBNYWtlIGBvcGVuc3NsIHNwZWVkYCBydW4gaW4gRklQUyBtb2RlCkBAIC03 Miw1ICs3Miw1IEBAIGluZGV4IGFhMTBkMzJiZDUuLmM2YzFkZDNhZTIgMTAwNjQ0CiAgCiAgICAg IGZvciAoaSA9IDA7IGkgPCBsb29wYXJnc19sZW47IGkrKykKIC0tIAotMi41NC4wCisyLjU1LjAK IAoKZGlmZiAtLWdpdCBhLzAwMTYtQWxsb3ctaHlicmlkLU1MS0VNLWluLUZJUFMtbW9kZS5wYXRj aCBiLzAwMTYtQWxsb3ctaHlicmlkLU1MS0VNLWluLUZJUFMtbW9kZS5wYXRjaAppbmRleCA1YmUy NmU4Li42NDhkN2YwIDEwMDY0NAotLS0gYS8wMDE2LUFsbG93LWh5YnJpZC1NTEtFTS1pbi1GSVBT LW1vZGUucGF0Y2gKKysrIGIvMDAxNi1BbGxvdy1oeWJyaWQtTUxLRU0taW4tRklQUy1tb2RlLnBh dGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkYjk3NTFkNjE3NDY3YTc2MzdkY2RjNmViYTIwZjBm MjBmMjRiMTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1NTFkZDk3YTUzOTI2ZTJh ZWMwMGI3ODAxYjgwMWY0MjdmNzgyNWMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog RG1pdHJ5IEJlbHlhdnNraXkgPGJlbGRtaXRAZ21haWwuY29tPgogRGF0ZTogRnJpLCAzMCBNYXkg MjAyNSAxNjoxNzozNyArMDIwMAogU3ViamVjdDogW1BBVENIIDE2LzE2XSBBbGxvdyBoeWJyaWQg TUxLRU0gaW4gRklQUyBtb2RlCkBAIC0xMiwxMCArMTIsMTAgQEAgU3ViamVjdDogW1BBVENIIDE2 LzE2XSBBbGxvdyBoeWJyaWQgTUxLRU0gaW4gRklQUyBtb2RlCiAgNSBmaWxlcyBjaGFuZ2VkLCAx MDUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jcnlwdG8v bWxfa2VtL21sX2tlbS5jIGIvY3J5cHRvL21sX2tlbS9tbF9rZW0uYwotaW5kZXggNWQ1ZWRjOGI5 My4uZDZhZjhlNzQ3ZiAxMDA2NDQKK2luZGV4IDczODQ0NTU2MmUuLjYyOTZkYjdmMmUgMTAwNjQ0 CiAtLS0gYS9jcnlwdG8vbWxfa2VtL21sX2tlbS5jCiArKysgYi9jcnlwdG8vbWxfa2VtL21sX2tl bS5jCi1AQCAtMTYzMiw2ICsxNjMyLDcgQEAgTUxfS0VNX0tFWSAqb3NzbF9tbF9rZW1fa2V5X25l dyhPU1NMX0xJQl9DVFggKmxpYmN0eCwgY29uc3QgY2hhciAqcHJvcGVydGllcywKK0BAIC0xNjcw LDYgKzE2NzAsNyBAQCBNTF9LRU1fS0VZICpvc3NsX21sX2tlbV9rZXlfbmV3KE9TU0xfTElCX0NU WCAqbGliY3R4LCBjb25zdCBjaGFyICpwcm9wZXJ0aWVzLAogIHsKICAgICAgY29uc3QgTUxfS0VN X1ZJTkZPICp2aW5mbyA9IG9zc2xfbWxfa2VtX2dldF92aW5mbyhldnBfdHlwZSk7CiAgICAgIE1M X0tFTV9LRVkgKmtleTsKQEAgLTIzLDcgKzIzLDcgQEAgaW5kZXggNWQ1ZWRjOGI5My4uZDZhZjhl NzQ3ZiAxMDA2NDQKICAKICAgICAgaWYgKHZpbmZvID09IE5VTEwpIHsKICAgICAgICAgIEVSUl9y YWlzZV9kYXRhKEVSUl9MSUJfQ1JZUFRPLCBFUlJfUl9QQVNTRURfSU5WQUxJRF9BUkdVTUVOVCwK LUBAIC0xNjQyLDE1ICsxNjQzLDE3IEBAIE1MX0tFTV9LRVkgKm9zc2xfbWxfa2VtX2tleV9uZXco T1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BlcnRpZXMsCitAQCAtMTY4MCwx NSArMTY4MSwxNyBAQCBNTF9LRU1fS0VZICpvc3NsX21sX2tlbV9rZXlfbmV3KE9TU0xfTElCX0NU WCAqbGliY3R4LCBjb25zdCBjaGFyICpwcm9wZXJ0aWVzLAogICAgICBpZiAoKGtleSA9IE9QRU5T U0xfbWFsbG9jKHNpemVvZigqa2V5KSkpID09IE5VTEwpCiAgICAgICAgICByZXR1cm4gTlVMTDsK ICAKQEAgLTU2LDEwICs1NiwxMCBAQCBpbmRleCAzOTAxNDRhNDczLi40ODY0NzUxMDBmIDEwMDY0 NAogK2NoYXIgKmdldF9hZGp1c3RlZF9wcm9wcShjb25zdCBjaGFyICpwcm9wcSk7CiAgI2VuZGlm IC8qIE9QRU5TU0xfSEVBREVSX01MX0tFTV9IICovCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2Rl Zmx0cHJvdi5jIGIvcHJvdmlkZXJzL2RlZmx0cHJvdi5jCi1pbmRleCBkMTlkNmVjZTI2Li41NmM2 ZjM1MGUzIDEwMDY0NAoraW5kZXggZGI5Zjg0NzQ4YS4uZDQ2NTQwNGRmYiAxMDA2NDQKIC0tLSBh L3Byb3ZpZGVycy9kZWZsdHByb3YuYwogKysrIGIvcHJvdmlkZXJzL2RlZmx0cHJvdi5jCi1AQCAt NTcxLDggKzU3MSw4IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBkZWZsdF9hc3ltX2tl bVtdID0geworQEAgLTU2Nyw4ICs1NjcsOCBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0g ZGVmbHRfYXN5bV9rZW1bXSA9IHsKICAgICAgeyBQUk9WX05BTUVTX1g0NDhNTEtFTTEwMjQsICJw cm92aWRlcj1kZWZhdWx0Iiwgb3NzbF9tbHhfa2VtX2FzeW1fa2VtX2Z1bmN0aW9ucyB9LAogICNl bmRpZgogICNpZiAhZGVmaW5lZChPUEVOU1NMX05PX0VDKQpAQCAtNzAsNyArNzAsNyBAQCBpbmRl eCBkMTlkNmVjZTI2Li41NmM2ZjM1MGUzIDEwMDY0NAogICNlbmRpZgogICNpZiAhZGVmaW5lZChP UEVOU1NMX05PX1NNMikKICAgICAgeyBQUk9WX05BTUVTX2N1cnZlU00yTUxLRU03NjgsICJwcm92 aWRlcj1kZWZhdWx0Iiwgb3NzbF9tbHhfa2VtX2FzeW1fa2VtX2Z1bmN0aW9ucyB9LAotQEAgLTY2 MSwxMyArNjYxLDEzIEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBkZWZsdF9rZXltZ210 W10gPSB7CitAQCAtNjU3LDEzICs2NTcsMTMgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhN IGRlZmx0X2tleW1nbXRbXSA9IHsKICAgICAgeyBQUk9WX05BTUVTX1gyNTUxOU1MS0VNNzY4LCAi cHJvdmlkZXI9ZGVmYXVsdCIsIG9zc2xfbWx4X3gyNTUxOV9rZW1fa21nbXRfZnVuY3Rpb25zLAog ICAgICAgICAgUFJPVl9ERVNDU19YMjU1MTlNTEtFTTc2OCB9LAogICAgICB7IFBST1ZfTkFNRVNf WDQ0OE1MS0VNMTAyNCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF94NDQ4X2tlbV9rbWdt dF9mdW5jdGlvbnMsCkBAIC05MCw3ICs5MCw3IEBAIGluZGV4IGQxOWQ2ZWNlMjYuLjU2YzZmMzUw ZTMgMTAwNjQ0CiAgI2lmICFkZWZpbmVkKE9QRU5TU0xfTk9fU00yKQogICAgICB7IFBST1ZfTkFN RVNfY3VydmVTTTJNTEtFTTc2OCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF9jdXJ2ZV9z bTJfa2VtX2ttZ210X2Z1bmN0aW9ucywKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL2tlbS9tbHhfa2VtLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tlbS9tbHhf a2VtLmMKLWluZGV4IDM3NmIzMzQyZGQuLjA5ZmEwMDM2MTIgMTAwNjQ0CitpbmRleCBhOTE3ZmE5 M2Q1Li4wNDQyOWUwOTI2IDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9r ZW0vbWx4X2tlbS5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tlbS9tbHhfa2Vt LmMKIEBAIC0xOSw2ICsxOSw3IEBACkBAIC0xNDgsMTUgKzE0OCwxNSBAQCBpbmRleCAzNzZiMzM0 MmRkLi4wOWZhMDAzNjEyIDEwMDY0NAogICAgICBpZiAoY3R4ID09IE5VTEwKICAgICAgICAgIHx8 IEVWUF9QS0VZX2VuY2Fwc3VsYXRlX2luaXQoY3R4LCBOVUxMKSA8PSAwCiAgICAgICAgICB8fCBF VlBfUEtFWV9lbmNhcHN1bGF0ZShjdHgsIGNidWYsICZlbmNhcF9jbGVuLCBzYnVmLCAmZW5jYXBf c2xlbikgPD0gMCkKLUBAIC0yMzgsNiArMjYzLDcgQEAgc3RhdGljIGludCBtbHhfa2VtX2VuY2Fw c3VsYXRlKHZvaWQgKnZjdHgsIHVuc2lnbmVkIGNoYXIgKmN0ZXh0LCBzaXplX3QgKmNsZW4sCi0g ZW5kOgorQEAgLTI0Miw2ICsyNjcsNyBAQCBlbmQ6CisgICAgICAgICAgICAgTUxfS0VNX1NIQVJF RF9TRUNSRVRfQllURVMgKyBrZXktPnhpbmZvLT5zaHNlY19ieXRlcyk7CiAgICAgIEVWUF9QS0VZ X2ZyZWUoeGtleSk7CiAgICAgIEVWUF9QS0VZX0NUWF9mcmVlKGN0eCk7CiArICAgIE9QRU5TU0xf ZnJlZShhZGp1c3RlZF9wcm9wcSk7CiAgICAgIHJldHVybiByZXQ7CiAgfQogIAotQEAgLTI1Myw2 ICsyNzksNyBAQCBzdGF0aWMgaW50IG1seF9rZW1fZGVjYXBzdWxhdGUodm9pZCAqdmN0eCwgdWlu dDhfdCAqc2hzZWMsIHNpemVfdCAqc2xlbiwKK0BAIC0yNTcsNiArMjgzLDcgQEAgc3RhdGljIGlu dCBtbHhfa2VtX2RlY2Fwc3VsYXRlKHZvaWQgKnZjdHgsIHVpbnQ4X3QgKnNoc2VjLCBzaXplX3Qg KnNsZW4sCiAgICAgIHNpemVfdCBkZWNhcF9jbGVuID0ga2V5LT5taW5mby0+Y3RleHRfYnl0ZXMg KyBrZXktPnhpbmZvLT5wdWJrZXlfYnl0ZXM7CiAgICAgIGludCBtbF9rZW1fc2xvdCA9IGtleS0+ eGluZm8tPm1sX2tlbV9zbG90OwogICAgICBpbnQgcmV0ID0gMDsKQEAgLTE2NCw3ICsxNjQsNyBA QCBpbmRleCAzNzZiMzM0MmRkLi4wOWZhMDAzNjEyIDEwMDY0NAogIAogICAgICBpZiAoIW1seF9r ZW1faGF2ZV9wcnZrZXkoa2V5KSkgewogICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfUFJPViwg UFJPVl9SX01JU1NJTkdfS0VZKTsKLUBAIC0yODgsNyArMzE1LDggQEAgc3RhdGljIGludCBtbHhf a2VtX2RlY2Fwc3VsYXRlKHZvaWQgKnZjdHgsIHVpbnQ4X3QgKnNoc2VjLCBzaXplX3QgKnNsZW4s CitAQCAtMjkyLDcgKzMxOSw4IEBAIHN0YXRpYyBpbnQgbWx4X2tlbV9kZWNhcHN1bGF0ZSh2b2lk ICp2Y3R4LCB1aW50OF90ICpzaHNlYywgc2l6ZV90ICpzbGVuLAogICAgICBkZWNhcF9zbGVuID0g TUxfS0VNX1NIQVJFRF9TRUNSRVRfQllURVM7CiAgICAgIGNidWYgPSBjdGV4dCArIG1sX2tlbV9z bG90ICoga2V5LT54aW5mby0+cHVia2V5X2J5dGVzOwogICAgICBzYnVmID0gc2hzZWMgKyBtbF9r ZW1fc2xvdCAqIGtleS0+eGluZm8tPnNoc2VjX2J5dGVzOwpAQCAtMTc0LDggKzE3NCw4IEBAIGlu ZGV4IDM3NmIzMzQyZGQuLjA5ZmEwMDM2MTIgMTAwNjQ0CiAgICAgIGlmIChjdHggPT0gTlVMTAog ICAgICAgICAgfHwgRVZQX1BLRVlfZGVjYXBzdWxhdGVfaW5pdChjdHgsIE5VTEwpIDw9IDAKICAg ICAgICAgIHx8IEVWUF9QS0VZX2RlY2Fwc3VsYXRlKGN0eCwgc2J1ZiwgJmRlY2FwX3NsZW4sIGNi dWYsIGRlY2FwX2NsZW4pIDw9IDApCi1AQCAtMzI2LDYgKzM1NCw3IEBAIHN0YXRpYyBpbnQgbWx4 X2tlbV9kZWNhcHN1bGF0ZSh2b2lkICp2Y3R4LCB1aW50OF90ICpzaHNlYywgc2l6ZV90ICpzbGVu LAotIGVuZDoKK0BAIC0zMzQsNiArMzYyLDcgQEAgZW5kOgorICAgICAgICAgICAgIE1MX0tFTV9T SEFSRURfU0VDUkVUX0JZVEVTICsga2V5LT54aW5mby0+c2hzZWNfYnl0ZXMpOwogICAgICBFVlBf UEtFWV9DVFhfZnJlZShjdHgpOwogICAgICBFVlBfUEtFWV9mcmVlKHhrZXkpOwogKyAgICBPUEVO U1NMX2ZyZWUoYWRqdXN0ZWRfcHJvcHEpOwpAQCAtMTgzLDcgKzE4Myw3IEBAIGluZGV4IDM3NmIz MzQyZGQuLjA5ZmEwMDM2MTIgMTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9p bXBsZW1lbnRhdGlvbnMva2V5bWdtdC9tbHhfa21nbXQuYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMva2V5bWdtdC9tbHhfa21nbXQuYwotaW5kZXggMDBhYzI1ODY4Mi4uYjMwMjJlYTUzYSAx MDA2NDQKK2luZGV4IDM2MjE2ODgzMjYuLjdhNjFmNzc1MjEgMTAwNjQ0CiAtLS0gYS9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL2tleW1nbXQvbWx4X2ttZ210LmMKICsrKyBiL3Byb3ZpZGVycy9p bXBsZW1lbnRhdGlvbnMva2V5bWdtdC9tbHhfa21nbXQuYwogQEAgLTE2NCw2ICsxNjQsNTIgQEAg dHlwZWRlZiBzdHJ1Y3QgZXhwb3J0X2NiX2FyZ19zdCB7CkBAIC0yODMsNyArMjgzLDcgQEAgaW5k ZXggMDBhYzI1ODY4Mi4uYjMwMjJlYTUzYSAxMDA2NDQKICAgICAgRVZQX1BLRVlfQ1RYX2ZyZWUo Y3R4KTsKICAgICAgcmV0dXJuIHJldDsKICB9Ci1AQCAtNjcxLDYgKzcyNSw3IEBAIHN0YXRpYyB2 b2lkICptbHhfa2VtX2dlbih2b2lkICp2Z2N0eCwgT1NTTF9DQUxMQkFDSyAqb3NzbGNiLCB2b2lk ICpjYmFyZykKK0BAIC02NzcsNiArNzMxLDcgQEAgc3RhdGljIHZvaWQgKm1seF9rZW1fZ2VuKHZv aWQgKnZnY3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJnKQogICAgICBQUk9W X01MX0tFTV9HRU5fQ1RYICpnY3R4ID0gdmdjdHg7CiAgICAgIE1MWF9LRVkgKmtleTsKICAgICAg Y2hhciAqcHJvcHE7CkBAIC0yOTEsNyArMjkxLDcgQEAgaW5kZXggMDBhYzI1ODY4Mi4uYjMwMjJl YTUzYSAxMDA2NDQKICAKICAgICAgaWYgKGdjdHggPT0gTlVMTAogICAgICAgICAgfHwgKGdjdHgt PnNlbGVjdGlvbiAmIE9TU0xfS0VZTUdNVF9TRUxFQ1RfS0VZUEFJUikgPT0gT1NTTF9LRVlNR01U X1NFTEVDVF9QVUJMSUNfS0VZKQotQEAgLTY4Niw4ICs3NDEsMTAgQEAgc3RhdGljIHZvaWQgKm1s eF9rZW1fZ2VuKHZvaWQgKnZnY3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJn KQorQEAgLTY5Miw4ICs3NDcsMTAgQEAgc3RhdGljIHZvaWQgKm1seF9rZW1fZ2VuKHZvaWQgKnZn Y3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJnKQogICAgICAgICAgcmV0dXJu IGtleTsKICAKICAgICAgLyogRm9yIG5vdywgdXNpbmcgdGhlIHNhbWUgInByb3BxIiBmb3IgYWxs IGNvbXBvbmVudHMgKi8KQEAgLTMwNCw1ICszMDQsNSBAQCBpbmRleCAwMGFjMjU4NjgyLi5iMzAy MmVhNTNhIDEwMDY0NAogICAgICAgICAga2V5LT54aW5mby0+YWxnb3JpdGhtX25hbWUsCiAgICAg ICAgICBrZXktPnhpbmZvLT5ncm91cF9uYW1lKTsKIC0tIAotMi41NC4wCisyLjU1LjAKIAoKZGlm ZiAtLWdpdCBhLzAwMTctRG9uLXQtcmFpc2UtTk9UX0VOT1VHSF9EQVRBLWF0LW9iamVjdC1ib3Vu ZGFyeS5wYXRjaCBiLzAwMTctRG9uLXQtcmFpc2UtTk9UX0VOT1VHSF9EQVRBLWF0LW9iamVjdC1i b3VuZGFyeS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ1MjRlZS4uMDAw MDAwMAotLS0gYS8wMDE3LURvbi10LXJhaXNlLU5PVF9FTk9VR0hfREFUQS1hdC1vYmplY3QtYm91 bmRhcnkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMTMgKzAsMCBAQAotRnJvbSA0MzYwZDUz N2U4Y2NkNzE2YjNmZDQ2NmMzOWM3ZmM4MWE0N2Y0ZWI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogTWFyYyBHdXRtYW4gPG1hcmNnQGFjdGl2ZXN0YXRlLmNvbT4KLURhdGU6IFRodSwg OSBKdWwgMjAyNiAxNToyMzoyOCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBEb24ndCByYWlzZSBO T1RfRU5PVUdIX0RBVEEgb24gYSBjbGVhbiBFT0YgYXQgYW4gb2JqZWN0Ci0gYm91bmRhcnkKLQot YXNuMV9kMmlfcmVhZF9iaW8oKSByZWFkcyBvbmUgQVNOLjEgb2JqZWN0IGF0IGEgdGltZSBmcm9t IGEgQklPLiAgQ2FsbGVycwotY29tbW9ubHkgbG9vcCwgZGVjb2RpbmcgY29uY2F0ZW5hdGVkIERF UiB2YWx1ZXMgdW50aWwgdGhlIGNhbGwgZmFpbHMsIGFuZAotcmVseSBvbiBhIGZhaWx1cmUgd2l0 aCBubyBxdWV1ZWQgZXJyb3IgdG8gcmVjb2duaXNlIGEgY2xlYW4gZW5kIG9mIGlucHV0LgotQ1B5 dGhvbidzIHNzbCBtb2R1bGUgZG9lcyB0aGlzIGluIF9hZGRfY2FfY2VydHMoKSB3aGVuIGxvYWRp bmcgdGhlIFdpbmRvd3MKLWNlcnRpZmljYXRlIHN0b3JlIHZpYSBTU0xDb250ZXh0LmxvYWRfdmVy aWZ5X2xvY2F0aW9ucyhjYWRhdGE9Li4uKTsgaXQKLXJlLXJhaXNlcyBhbnkgbGVmdG92ZXIgQVNO LjEgZXJyb3Igb3RoZXIgdGhhbiBBU04xX1JfSEVBREVSX1RPT19MT05HIGFzCi1mYXRhbC4KLQot Q29tbWl0IDllYjY5MjJjNTkgKCJhc24xOiByYWlzZSBOT1RfRU5PVUdIX0RBVEEgb24gaGVhZGVy IEVPRiIpIGNoYW5nZWQgdGhlCi1CSU9fcmVhZCgpIGNoZWNrIGZyb20gImkgPCAwIiB0byAiaSA8 PSAwIiwgc28gYSBjbGVhbiBFT0YgKEJJT19yZWFkKCkKLXJldHVybmluZyAwLCBhcyBhbiBleGhh dXN0ZWQgQklPX25ld19tZW1fYnVmIGRvZXMpIG9uIGFuIG9iamVjdCBib3VuZGFyeSBub3cKLXJh aXNlcyBBU04xX1JfTk9UX0VOT1VHSF9EQVRBIGluc3RlYWQgb2YgZmFpbGluZyB3aXRoIGFuIGVt cHR5IGVycm9yIHF1ZXVlLgotVGhlIHJld3JpdGUgaW4gY29tbWl0IDM1ODUyZGExZDkgY2Fycmll ZCB0aGlzIGJlaGF2aW91ciBmb3J3YXJkLiAgQXMgYQotcmVzdWx0IFB5dGhvbiAzIG9uIFdpbmRv d3MgZmFpbHMgdG8gaW5pdGlhbGlzZSBhbiBTU0xDb250ZXh0IHdpdGg6Ci0KLSAgICBzc2wuU1NM RXJyb3I6IFtBU04xOiBOT1RfRU5PVUdIX0RBVEFdIG5vdCBlbm91Z2ggZGF0YQotCi1SYWlzZSBB U04xX1JfTk9UX0VOT1VHSF9EQVRBIG9ubHkgb24gYW4gYWN0dWFsIHJlYWQgZXJyb3IsIG9uIGFu IEVPRiBpbiB0aGUKLW1pZGRsZSBvZiBhbiBvYmplY3QgKHNvbWUgYnl0ZXMgYWxyZWFkeSBidWZm ZXJlZCksIG9yIG9uIGFuIEVPRiB3aGlsZSBzdGlsbAotaW5zaWRlIGFuIGluZGVmaW5pdGUtbGVu Z3RoIHZhbHVlIGF3YWl0aW5nIGl0cyBlbmQtb2YtY29udGVudHMgb2N0ZXRzIC0gYWxsCi1vZiB3 aGljaCBhcmUgZ2VudWluZSB0cnVuY2F0aW9uLiAgQSBjbGVhbiBFT0YgYXQgYSB0b3AtbGV2ZWwg b2JqZWN0IGJvdW5kYXJ5Ci1hZ2FpbiBmYWlscyB3aXRob3V0IHF1ZXVpbmcgYW4gZXJyb3IsIHJl c3RvcmluZyB0aGUgbG9uZy1zdGFuZGluZyBiZWhhdmlvdXIKLXRoYXQgbG9vcGluZyBjYWxsZXJz IGRlcGVuZCBvbi4KLQotQWRkIHJlZ3Jlc3Npb24gdGVzdHMgY292ZXJpbmcgdGhlIGNsZWFuLUVP RiwgdHJ1bmNhdGVkLCBpbmRlZmluaXRlLWxlbmd0aAotdHJ1bmNhdGlvbiBhbmQgcGFydGlhbC1o ZWFkZXIgY2FzZXMsIGFuZCBkb2N1bWVudCB0aGUgcmVhZCBiZWhhdmlvdXIgaW4KLUFTTjFfaXRl bV9kMmlfYmlvKDMpLgotCi1GaXhlcyAjMzE4MDcKLQotQXNzaXN0ZWQtYnk6IENsYXVkZTpjbGF1 ZGUtb3B1cy00LTgKLQotUmV2aWV3ZWQtYnk6IERtaXRyeSBCZWx5YXZza2l5IDxiZWxkbWl0QGdt YWlsLmNvbT4KLVJldmlld2VkLWJ5OiBJZ29yIFVzdGlub3YgPGlndXNAb3BlbnNzbC5mb3VuZGF0 aW9uPgotUmV2aWV3ZWQtYnk6IFRvbWFzIE1yYXogPHRvbWFzQG9wZW5zc2wuZm91bmRhdGlvbj4K LU1lcmdlRGF0ZTogTW9uIEp1bCAxMyAwODowNTowMyAyMDI2Ci0oTWVyZ2VkIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzMxODE4KQotCi0oY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBkN2U3N2I2NmNhYmI3NzA5MzIwOTFlZDU5ODYyMjFlMGQxZTU3MTQ0KQot LS0tCi0gY3J5cHRvL2FzbjEvYV9kMmlfZnAuYyAgICAgICAgIHwgIDE1ICsrLQotIGRvYy9tYW4z L0FTTjFfaXRlbV9kMmlfYmlvLnBvZCB8ICAxOCArKystCi0gdGVzdC9hc24xX2RlY29kZV90ZXN0 LmMgICAgICAgIHwgMTY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmls ZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9jcnlwdG8vYXNuMS9hX2QyaV9mcC5jIGIvY3J5cHRvL2FzbjEvYV9kMmlfZnAuYwotaW5k ZXggOWU0NTM5OGNhYy4uNDE0OTFiOTJhMSAxMDA2NDQKLS0tLSBhL2NyeXB0by9hc24xL2FfZDJp X2ZwLmMKLSsrKyBiL2NyeXB0by9hc24xL2FfZDJpX2ZwLmMKLUBAIC0xNDEsNyArMTQxLDIwIEBA IGludCBhc24xX2QyaV9yZWFkX2JpbyhCSU8gKmluLCBCVUZfTUVNICoqcGIpCi0gICAgICAgICAg ICAgaSA9IEJJT19yZWFkKGluLCAmKGItPmRhdGFbbGVuXSksIChpbnQpd2FudCk7Ci0gCi0gICAg ICAgICAgICAgaWYgKGkgPD0gMCkgewotLSAgICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9BU04xLCBBU04xX1JfTk9UX0VOT1VHSF9EQVRBKTsKLSsgICAgICAgICAgICAgICAgLyoKLSsg ICAgICAgICAgICAgICAgICogQSByZWFkIGVycm9yIChpIDwgMCksIGFuIEVPRiBpbiB0aGUgbWlk ZGxlIG9mIGFuIG9iamVjdAotKyAgICAgICAgICAgICAgICAgKiAoZGlmZiAhPSAwLCBzb21lIGJ5 dGVzIGFscmVhZHkgYnVmZmVyZWQpLCBvciBhbiBFT0Ygd2hpbGUKLSsgICAgICAgICAgICAgICAg ICogc3RpbGwgaW5zaWRlIGFuIGluZGVmaW5pdGUtbGVuZ3RoIGNvbnN0cnVjdGVkIHZhbHVlIGF3 YWl0aW5nCi0rICAgICAgICAgICAgICAgICAqIGl0cyBlbmQtb2YtY29udGVudHMgb2N0ZXRzIChl b3MgIT0gMCkgYWxsIG1lYW4gdGhlIGlucHV0IGlzCi0rICAgICAgICAgICAgICAgICAqIHRydW5j YXRlZC4gIE9ubHkgYSBjbGVhbiBFT0YgYXQgYSB0b3AtbGV2ZWwgb2JqZWN0IGJvdW5kYXJ5Ci0r ICAgICAgICAgICAgICAgICAqIChpID09IDAsIGRpZmYgPT0gMCwgZW9zID09IDApIGlzIHRoZSBu b3JtYWwgZW5kIG9mIGlucHV0OgotKyAgICAgICAgICAgICAgICAgKiBmYWlsIHdpdGhvdXQgcXVl dWluZyBhbiBlcnJvciBzbyB0aGF0IGNhbGxlcnMgbG9vcGluZyBvdmVyCi0rICAgICAgICAgICAg ICAgICAqIGNvbmNhdGVuYXRlZCBERVIgdmFsdWVzIChlLmcuIHRoZSBsaWJjcnlwdG8gZDJpXypf YmlvKCkKLSsgICAgICAgICAgICAgICAgICogY29uc3VtZXJzIGluIENQeXRob24ncyBzc2wgbW9k dWxlKSB0ZXJtaW5hdGUgY2xlYW5seSBpbnN0ZWFkCi0rICAgICAgICAgICAgICAgICAqIG9mIHNl ZWluZyBhIHNwdXJpb3VzIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEuCi0rICAgICAgICAgICAgICAg ICAqLwotKyAgICAgICAgICAgICAgICBpZiAoaSA8IDAgfHwgZGlmZiAhPSAwIHx8IGVvcyAhPSAw KQotKyAgICAgICAgICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfQVNOMSwgQVNOMV9SX05P VF9FTk9VR0hfREFUQSk7Ci0gICAgICAgICAgICAgICAgIGdvdG8gZXJyOwotICAgICAgICAgICAg IH0KLSAKLWRpZmYgLS1naXQgYS9kb2MvbWFuMy9BU04xX2l0ZW1fZDJpX2Jpby5wb2QgYi9kb2Mv bWFuMy9BU04xX2l0ZW1fZDJpX2Jpby5wb2QKLWluZGV4IGY4ZTQ2NzgzNjcuLjliM2YzODlhMjMg MTAwNjQ0Ci0tLS0gYS9kb2MvbWFuMy9BU04xX2l0ZW1fZDJpX2Jpby5wb2QKLSsrKyBiL2RvYy9t YW4zL0FTTjFfaXRlbV9kMmlfYmlvLnBvZAotQEAgLTU5LDYgKzU5LDE2IEBAIEI8T1NTTF9MSUJf Q1RYPiBwcm92aWRlZCBpbiB0aGUgSTxsaWJjdHg+IHBhcmFtZXRlciBhbmQgdGhlIHByb3BlcnR5 IHF1ZXJ5Ci0gc3RyaW5nIGluIEk8cHJvcHE+LiBTZWUgTDxjcnlwdG8oNykvQUxHT1JJVEhNIEZF VENISU5HPiBmb3IgbW9yZSBpbmZvcm1hdGlvbgotIGFib3V0IGFsZ29yaXRobSBmZXRjaGluZy4K LSAKLStXaGVuIHJlYWRpbmcgZnJvbSBJPGluPiwgZGVjb2RpbmcgY29uc3VtZXMgb25lIGNvbXBs ZXRlIERFUi1lbmNvZGVkIHN0cnVjdHVyZQotK2FuZCBsZWF2ZXMgYW55IGZvbGxvd2luZyBieXRl cyBpbiB0aGUgQklPLCBzbyBjb25jYXRlbmF0ZWQgc3RydWN0dXJlcyBjYW4gYmUKLStyZWFkIHdp dGggc3VjY2Vzc2l2ZSBjYWxscy4gUmVhY2hpbmcgdGhlIGVuZCBvZiB0aGUgaW5wdXQgY2xlYW5s eSwgYXQgYQotK3N0cnVjdHVyZSBib3VuZGFyeSwgaXMgbm90IHRyZWF0ZWQgYXMgYW4gZXJyb3I6 IHRoZSBmdW5jdGlvbiByZXR1cm5zIE5VTEwKLSt3aXRob3V0IGFkZGluZyB0byB0aGUgZXJyb3Ig cXVldWUuIElmIHRoZSBlbmQgb2YgdGhlIGlucHV0IGlzIHJlYWNoZWQgaW4gdGhlCi0rbWlkZGxl IG9mIGEgc3RydWN0dXJlLCBvciBhbiBpbmRlZmluaXRlLWxlbmd0aCB2YWx1ZSBpcyBtaXNzaW5n IGl0cwotK2VuZC1vZi1jb250ZW50cyBvY3RldHMgKHRoYXQgaXMsIHRoZSBpbnB1dCBpcyB0cnVu Y2F0ZWQpLCBhbiBlcnJvciBpcyBxdWV1ZWQKLSt3aXRoIHJlYXNvbiBjb2RlIEI8QVNOMV9SX05P VF9FTk9VR0hfREFUQT4uIFRoZSBzYW1lIGFwcGxpZXMgdG8KLStBU04xX2l0ZW1fZDJpX2ZwX2V4 KCkuCi0rCi0gQVNOMV9pdGVtX2QyaV9iaW8oKSBpcyB0aGUgc2FtZSBhcyBBU04xX2l0ZW1fZDJp X2Jpb19leCgpIGV4Y2VwdCB0aGF0IHRoZQotIGRlZmF1bHQgQjxPU1NMX0xJQl9DVFg+IGlzIHVz ZWQgKGkuZS4gTlVMTCkgYW5kIHdpdGggYSBOVUxMIHByb3BlcnR5IHF1ZXJ5Ci0gc3RyaW5nLgot QEAgLTkyLDYgKzEwMiwxMiBAQCB0aGF0IHRoZSBJPGxpYmN0eD4gYW5kIEk8cHJvcHE+IGNhbiBi ZSB1c2VkIHdoZW4gZG9pbmcgYWxnb3JpdGhtIGZldGNoaW5nLgotIEFTTjFfaXRlbV9kMmlfYmlv KCksIEFTTjFfaXRlbV91bnBhY2tfZXgoKSBhbmQgQVNOMV9pdGVtX3VucGFjaygpIHJldHVybiBh IHBvaW50ZXIgdG8KLSBhbiBCPEFTTjFfVkFMVUU+IG9yIE5VTEwgb24gZXJyb3IuCi0gCi0rVGhl IEFTTjFfaXRlbV9kMmlfYmlvKCkgYW5kIEFTTjFfaXRlbV9kMmlfZnAoKSBmdW5jdGlvbnMsIGlu Y2x1ZGluZyB0aGVpcgotK0I8X2V4PiB2YXJpYW50cywgYWxzbyByZXR1cm4gTlVMTCBhdCBhIGNs ZWFuIGVuZCBvZiBpbnB1dC4gSW4gdGhhdCBjYXNlIHRoZQotK2Vycm9yIHF1ZXVlIGlzIGxlZnQg dW5jaGFuZ2VkLCBzbyBhIGNhbGxlciByZWFkaW5nIGNvbmNhdGVuYXRlZCBzdHJ1Y3R1cmVzIGlu Ci0rYSBsb29wIGNhbiBkaXN0aW5ndWlzaCBhIGNsZWFuIGVuZCBvZiBpbnB1dCBmcm9tIGEgZGVj b2RpbmcgZXJyb3IgYnkKLStpbnNwZWN0aW5nIHRoZSBlcnJvciBxdWV1ZSwgZm9yIGV4YW1wbGUg d2l0aCBMPEVSUl9wZWVrX2Vycm9yKDMpPi4KLSsKLSBBU04xX2l0ZW1faTJkX21lbV9iaW8oKSBy ZXR1cm5zIGEgcG9pbnRlciB0byBhIG1lbW9yeSBCSU8gb3IgTlVMTCBvbiBlcnJvci4KLSAKLSBB U04xX2l0ZW1fcGFjaygpIHJldHVybnMgYSBwb2ludGVyIHRvIGFuIEI8QVNOMV9TVFJJTkc+IG9y IE5VTEwgb24gZXJyb3IuCi1AQCAtMTA1LDcgKzEyMSw3IEBAIFRoZSBmdW5jdGlvbiBBU04xX2l0 ZW1fdW5wYWNrX2V4KCkgd2FzIGFkZGVkIGluIE9wZW5TU0wgMy4yLgotIAotID1oZWFkMSBDT1BZ UklHSFQKLSAKLS1Db3B5cmlnaHQgMjAyMS0yMDIzIFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9y cy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLStDb3B5cmlnaHQgMjAyMS0yMDI2IFRoZSBPcGVuU1NM IFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAKLSBMaWNlbnNlZCB1bmRl ciB0aGUgQXBhY2hlIExpY2Vuc2UgMi4wICh0aGUgIkxpY2Vuc2UiKS4gIFlvdSBtYXkgbm90IHVz ZQotIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiAgWW91 IGNhbiBvYnRhaW4gYSBjb3B5Ci1kaWZmIC0tZ2l0IGEvdGVzdC9hc24xX2RlY29kZV90ZXN0LmMg Yi90ZXN0L2FzbjFfZGVjb2RlX3Rlc3QuYwotaW5kZXggNmUwMGQ0MDg5Ni4uOGE5NjI5YzIxZCAx MDA2NDQKLS0tLSBhL3Rlc3QvYXNuMV9kZWNvZGVfdGVzdC5jCi0rKysgYi90ZXN0L2FzbjFfZGVj b2RlX3Rlc3QuYwotQEAgLTE0LDcgKzE0LDExIEBACi0gI2luY2x1ZGUgPG9wZW5zc2wvYXNuMS5o PgotICNpbmNsdWRlIDxvcGVuc3NsL2FzbjF0Lmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21h Yy5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2Jpby5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2J1ZmZl ci5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgotICNpbmNsdWRlICJpbnRlcm5hbC9udW1i ZXJzLmgiCi0rI2luY2x1ZGUgImludGVybmFsL2FzbjEuaCIKLSAjaW5jbHVkZSAidGVzdHV0aWwu aCIKLSAKLSAjaWZkZWYgX19HTlVDX18KLUBAIC0yNjYsNiArMjcwLDE2MyBAQCBlcnI6Ci0gICAg IHJldHVybiByZXQ7Ci0gfQotIAotKy8qCi0rICogQSBtaW5pbWFsLCBjb21wbGV0ZSBERVIgb2Jq ZWN0OiBTRVFVRU5DRSB7IElOVEVHRVIgMCB9LgotKyAqIGFzbjFfZDJpX3JlYWRfYmlvKCkgc2hv dWxkIGNvbnN1bWUgZXhhY3RseSB0aGVzZSBieXRlcy4KLSsgKi8KLStzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBvbmVfb2JqW10gPSB7Ci0rICAgIDB4MzAsIDB4MDMsIC8qIFNFUVVFTkNFLCBs ZW5ndGggMyAqLwotKyAgICAweDAyLCAweDAxLCAweDAwIC8qICAgSU5URUdFUiAwICAgICAgICAq LwotK307Ci0rCi0rLyoKLSsgKiBSZWFkaW5nIGNvbmNhdGVuYXRlZCBERVIgb2JqZWN0cyBmcm9t IGEgQklPIG11c3Qgc3RvcCBjbGVhbmx5IGF0IEVPRjoKLSsgKiBvbmNlIHRoZSBpbnB1dCBpcyBl eGhhdXN0ZWQgb24gYW4gb2JqZWN0IGJvdW5kYXJ5LCBhc24xX2QyaV9yZWFkX2JpbygpCi0rICog cmV0dXJucyA8IDAgYW5kIG11c3QgTk9UIGxlYXZlIGFuIGVycm9yIG9uIHRoZSBxdWV1ZS4gIENh bGxlcnMgdGhhdCBsb29wCi0rICogb3ZlciBjb25jYXRlbmF0ZWQgdmFsdWVzIChlLmcuIENQeXRo b24ncyBzc2wgbW9kdWxlIGxvYWRpbmcgdGhlIFdpbmRvd3MKLSsgKiBjZXJ0aWZpY2F0ZSBzdG9y ZSB2aWEgZDJpX1g1MDlfYmlvKCkpIHJlbHkgb24gdGhpcyB0byBkZXRlY3QgZW5kLW9mLWlucHV0 OwotKyAqIGEgc3B1cmlvdXMgQVNOMV9SX05PVF9FTk9VR0hfREFUQSB0aGVyZSBpcyByZXBvcnRl ZCBhcyBhIGZhdGFsIGVycm9yLgotKyAqLwotK3N0YXRpYyBpbnQgdGVzdF9kMmlfcmVhZF9iaW9f Y2xlYW5fZW9mKHZvaWQpCi0rewotKyAgICB1bnNpZ25lZCBjaGFyIHR3b19vYmpzW3NpemVvZihv bmVfb2JqKSAqIDJdOwotKyAgICBCSU8gKmJpbyA9IE5VTEw7Ci0rICAgIEJVRl9NRU0gKmJ1ZiA9 IE5VTEw7Ci0rICAgIGludCByZXQgPSAwOwotKwotKyAgICBtZW1jcHkodHdvX29ianMsIG9uZV9v YmosIHNpemVvZihvbmVfb2JqKSk7Ci0rICAgIG1lbWNweSh0d29fb2JqcyArIHNpemVvZihvbmVf b2JqKSwgb25lX29iaiwgc2l6ZW9mKG9uZV9vYmopKTsKLSsKLSsgICAgaWYgKCFURVNUX3B0cihi aW8gPSBCSU9fbmV3X21lbV9idWYodHdvX29ianMsIHNpemVvZih0d29fb2JqcykpKSkKLSsgICAg ICAgIGdvdG8gZXJyOwotKyAgICBFUlJfY2xlYXJfZXJyb3IoKTsKLSsKLSsgICAgLyogQm90aCBj b21wbGV0ZSBvYmplY3RzIGFyZSByZWFkLCBvbmUgcGVyIGNhbGwuICovCi0rICAgIGlmICghVEVT VF9pbnRfZXEoYXNuMV9kMmlfcmVhZF9iaW8oYmlvLCAmYnVmKSwgKGludClzaXplb2Yob25lX29i aikpKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIEJVRl9NRU1fZnJlZShidWYpOwotKyAgICBi dWYgPSBOVUxMOwotKyAgICBpZiAoIVRFU1RfaW50X2VxKGFzbjFfZDJpX3JlYWRfYmlvKGJpbywg JmJ1ZiksIChpbnQpc2l6ZW9mKG9uZV9vYmopKSkKLSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBC VUZfTUVNX2ZyZWUoYnVmKTsKLSsgICAgYnVmID0gTlVMTDsKLSsKLSsgICAgLyogQ2xlYW4gRU9G OiBmYWlsdXJlIHJldHVybiwgYnV0IG5vIGVycm9yIG11c3QgYmUgcXVldWVkLiAqLwotKyAgICBp ZiAoIVRFU1RfaW50X2x0KGFzbjFfZDJpX3JlYWRfYmlvKGJpbywgJmJ1ZiksIDApKQotKyAgICAg ICAgZ290byBlcnI7Ci0rICAgIGlmICghVEVTVF91bG9uZ19lcShFUlJfcGVla19lcnJvcigpLCAw KSkKLSsgICAgICAgIGdvdG8gZXJyOwotKwotKyAgICByZXQgPSAxOwotK2VycjoKLSsgICAgQlVG X01FTV9mcmVlKGJ1Zik7Ci0rICAgIEJJT19mcmVlKGJpbyk7Ci0rICAgIHJldHVybiByZXQ7Ci0r fQotKwotKy8qCi0rICogSW4gY29udHJhc3QsIGhpdHRpbmcgRU9GIGluIHRoZSBtaWRkbGUgb2Yg YW4gb2JqZWN0IGlzIGdlbnVpbmUgdHJ1bmNhdGlvbgotKyAqIGFuZCBtdXN0IHN0aWxsIGJlIHJl cG9ydGVkIGFzIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEuCi0rICovCi0rc3RhdGljIGludCB0ZXN0 X2QyaV9yZWFkX2Jpb190cnVuY2F0ZWQodm9pZCkKLSt7Ci0rICAgIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIHRydW5jYXRlZFtdID0gewotKyAgICAgICAgMHgzMCwgMHgwNSwgLyogU0VRVUVO Q0UgY2xhaW1zIDUgY29udGVudCBieXRlcyAuLi4gKi8KLSsgICAgICAgIDB4MDIsIDB4MDEgLyog Li4uIGJ1dCBvbmx5IDIgYXJlIHByZXNlbnQgICAgICAgICAqLwotKyAgICB9OwotKyAgICBCSU8g KmJpbyA9IE5VTEw7Ci0rICAgIEJVRl9NRU0gKmJ1ZiA9IE5VTEw7Ci0rICAgIHVuc2lnbmVkIGxv bmcgZTsKLSsgICAgaW50IHJldCA9IDA7Ci0rCi0rICAgIGlmICghVEVTVF9wdHIoYmlvID0gQklP X25ld19tZW1fYnVmKHRydW5jYXRlZCwgc2l6ZW9mKHRydW5jYXRlZCkpKSkKLSsgICAgICAgIGdv dG8gZXJyOwotKyAgICBFUlJfY2xlYXJfZXJyb3IoKTsKLSsKLSsgICAgaWYgKCFURVNUX2ludF9s dChhc24xX2QyaV9yZWFkX2JpbyhiaW8sICZidWYpLCAwKSkKLSsgICAgICAgIGdvdG8gZXJyOwot KyAgICBlID0gRVJSX3BlZWtfbGFzdF9lcnJvcigpOwotKyAgICBpZiAoIVRFU1RfaW50X2VxKEVS Ul9HRVRfTElCKGUpLCBFUlJfTElCX0FTTjEpCi0rICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVJS X0dFVF9SRUFTT04oZSksIEFTTjFfUl9OT1RfRU5PVUdIX0RBVEEpKQotKyAgICAgICAgZ290byBl cnI7Ci0rCi0rICAgIHJldCA9IDE7Ci0rZXJyOgotKyAgICBCVUZfTUVNX2ZyZWUoYnVmKTsKLSsg ICAgQklPX2ZyZWUoYmlvKTsKLSsgICAgcmV0dXJuIHJldDsKLSt9Ci0rCi0rLyoKLSsgKiBBbiBF T0YgcmVhY2hlZCB3aGlsZSBzdGlsbCBpbnNpZGUgYW4gaW5kZWZpbml0ZS1sZW5ndGggY29uc3Ry dWN0ZWQgdmFsdWUsCi0rICogYmVmb3JlIGl0cyBlbmQtb2YtY29udGVudHMgb2N0ZXRzLCBpcyB0 cnVuY2F0aW9uIHRvbyAobm90IGEgY2xlYW4gYm91bmRhcnkpLAotKyAqIHNvIGl0IG11c3QgYWxz byByZXBvcnQgQVNOMV9SX05PVF9FTk9VR0hfREFUQSByYXRoZXIgdGhhbiBhbiBlbXB0eSBxdWV1 ZS4KLSsgKi8KLStzdGF0aWMgaW50IHRlc3RfZDJpX3JlYWRfYmlvX2luZGVmaW5pdGVfdHJ1bmNh dGVkKHZvaWQpCi0rewotKyAgICAvKiBTRVFVRU5DRSAoaW5kZWZpbml0ZSkgeyBJTlRFR0VSIDAg fSB3aXRoIHRoZSAwMCAwMCBFT0MgbWlzc2luZyAqLwotKyAgICBzdGF0aWMgY29uc3QgdW5zaWdu ZWQgY2hhciB0cnVuY2F0ZWRfaW5kZWZpbml0ZVtdID0gewotKyAgICAgICAgMHgzMCwgMHg4MCwg LyogU0VRVUVOQ0UsIGluZGVmaW5pdGUgbGVuZ3RoICovCi0rICAgICAgICAweDAyLCAweDAxLCAw eDAwIC8qIElOVEVHRVIgMDsgbm8gZW5kLW9mLWNvbnRlbnRzIG9jdGV0cyBmb2xsb3cgKi8KLSsg ICAgfTsKLSsgICAgQklPICpiaW8gPSBOVUxMOwotKyAgICBCVUZfTUVNICpidWYgPSBOVUxMOwot KyAgICB1bnNpZ25lZCBsb25nIGU7Ci0rICAgIGludCByZXQgPSAwOwotKwotKyAgICBiaW8gPSBC SU9fbmV3X21lbV9idWYodHJ1bmNhdGVkX2luZGVmaW5pdGUsIHNpemVvZih0cnVuY2F0ZWRfaW5k ZWZpbml0ZSkpOwotKyAgICBpZiAoIVRFU1RfcHRyKGJpbykpCi0rICAgICAgICBnb3RvIGVycjsK LSsgICAgRVJSX2NsZWFyX2Vycm9yKCk7Ci0rCi0rICAgIGlmICghVEVTVF9pbnRfbHQoYXNuMV9k MmlfcmVhZF9iaW8oYmlvLCAmYnVmKSwgMCkpCi0rICAgICAgICBnb3RvIGVycjsKLSsgICAgZSA9 IEVSUl9wZWVrX2xhc3RfZXJyb3IoKTsKLSsgICAgaWYgKCFURVNUX2ludF9lcShFUlJfR0VUX0xJ QihlKSwgRVJSX0xJQl9BU04xKQotKyAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVSUl9HRVRfUkVB U09OKGUpLCBBU04xX1JfTk9UX0VOT1VHSF9EQVRBKSkKLSsgICAgICAgIGdvdG8gZXJyOwotKwot KyAgICByZXQgPSAxOwotK2VycjoKLSsgICAgQlVGX01FTV9mcmVlKGJ1Zik7Ci0rICAgIEJJT19m cmVlKGJpbyk7Ci0rICAgIHJldHVybiByZXQ7Ci0rfQotKwotKy8qCi0rICogQW4gRU9GIHJlYWNo ZWQgcGFydC13YXkgdGhyb3VnaCBhbiBvYmplY3QncyBoZWFkZXIsIHdpdGggc29tZSBoZWFkZXIg Ynl0ZXMKLSsgKiBhbHJlYWR5IGJ1ZmZlcmVkLCBpcyB0cnVuY2F0aW9uIGFzIHdlbGwuICBUaGlz IGV4ZXJjaXNlcyB0aGUgImRpZmYgIT0gMCIgYXJtCi0rICogb2YgdGhlIGhlYWRlci1yZWFkIGNo ZWNrIChkaXN0aW5jdCBmcm9tIHRoZSBib2R5IHJlYWQgaGFuZGxlZCBlbHNld2hlcmUpLgotKyAq LwotK3N0YXRpYyBpbnQgdGVzdF9kMmlfcmVhZF9iaW9fcGFydGlhbF9oZWFkZXIodm9pZCkKLSt7 Ci0rICAgIC8qIFNFUVVFTkNFIHdpdGggYSAyLWJ5dGUgbG9uZy1mb3JtIGxlbmd0aCwgYnV0IG9u bHkgb25lIGxlbmd0aCBieXRlIGdpdmVuICovCi0rICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj aGFyIHBhcnRpYWxfaGVhZGVyW10gPSB7Ci0rICAgICAgICAweDMwLCAweDgyLCAweDAxIC8qIFNF UVVFTkNFLCBsZW5ndGggZGVjbGFyZWQgYXMgMiBieXRlcywgMSBwcmVzZW50ICovCi0rICAgIH07 Ci0rICAgIEJJTyAqYmlvID0gTlVMTDsKLSsgICAgQlVGX01FTSAqYnVmID0gTlVMTDsKLSsgICAg dW5zaWduZWQgbG9uZyBlOwotKyAgICBpbnQgcmV0ID0gMDsKLSsKLSsgICAgaWYgKCFURVNUX3B0 cihiaW8gPSBCSU9fbmV3X21lbV9idWYocGFydGlhbF9oZWFkZXIsIHNpemVvZihwYXJ0aWFsX2hl YWRlcikpKSkKLSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBFUlJfY2xlYXJfZXJyb3IoKTsKLSsK LSsgICAgaWYgKCFURVNUX2ludF9sdChhc24xX2QyaV9yZWFkX2JpbyhiaW8sICZidWYpLCAwKSkK LSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBlID0gRVJSX3BlZWtfbGFzdF9lcnJvcigpOwotKyAg ICBpZiAoIVRFU1RfaW50X2VxKEVSUl9HRVRfTElCKGUpLCBFUlJfTElCX0FTTjEpCi0rICAgICAg ICB8fCAhVEVTVF9pbnRfZXEoRVJSX0dFVF9SRUFTT04oZSksIEFTTjFfUl9OT1RfRU5PVUdIX0RB VEEpKQotKyAgICAgICAgZ290byBlcnI7Ci0rCi0rICAgIHJldCA9IDE7Ci0rZXJyOgotKyAgICBC VUZfTUVNX2ZyZWUoYnVmKTsKLSsgICAgQklPX2ZyZWUoYmlvKTsKLSsgICAgcmV0dXJuIHJldDsK LSt9Ci0rCi0gaW50IHNldHVwX3Rlc3RzKHZvaWQpCi0gewotICNpZm5kZWYgT1BFTlNTTF9OT19E RVBSRUNBVEVEXzNfMAotQEAgLTI3OSw1ICs0NDAsOSBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkK LSAgICAgQUREX1RFU1QodGVzdF91dGN0aW1lKTsKLSAgICAgQUREX1RFU1QodGVzdF9pbnZhbGlk X3RlbXBsYXRlKTsKLSAgICAgQUREX1RFU1QodGVzdF9yZXVzZV9hc24xX29iamVjdCk7Ci0rICAg IEFERF9URVNUKHRlc3RfZDJpX3JlYWRfYmlvX2NsZWFuX2VvZik7Ci0rICAgIEFERF9URVNUKHRl c3RfZDJpX3JlYWRfYmlvX3RydW5jYXRlZCk7Ci0rICAgIEFERF9URVNUKHRlc3RfZDJpX3JlYWRf YmlvX2luZGVmaW5pdGVfdHJ1bmNhdGVkKTsKLSsgICAgQUREX1RFU1QodGVzdF9kMmlfcmVhZF9i aW9fcGFydGlhbF9oZWFkZXIpOwotICAgICByZXR1cm4gMTsKLSB9Ci0tLSAKLTIuNTQuMAotCgpk aWZmIC0tZ2l0IGEvb3BlbnNzbC5zcGVjIGIvb3BlbnNzbC5zcGVjCmluZGV4IDQ4OTdmMGEuLjli ZGZjN2IgMTAwNjQ0Ci0tLSBhL29wZW5zc2wuc3BlYworKysgYi9vcGVuc3NsLnNwZWMKQEAgLTI5 LDggKzI5LDggQEAgcHJpbnQoc3RyaW5nLnN1YihoYXNoLCAwLCAxNikpCiAKIFN1bW1hcnk6IFV0 aWxpdGllcyBmcm9tIHRoZSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxpYnJhcnkgd2l0 aCBUTFMgaW1wbGVtZW50YXRpb24KIE5hbWU6IG9wZW5zc2wKLVZlcnNpb246IDQuMC4xCi1SZWxl YXNlOiA1JXs/ZGlzdH0KK1ZlcnNpb246IDQuMC4yCitSZWxlYXNlOiAxJXs/ZGlzdH0KIEVwb2No OiAxCiBTb3VyY2UwOiBvcGVuc3NsLSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2U0OiBvcGVuc3Ns LnJwbWxpbnRyYwpAQCAtNTMsNyArNTMsNiBAQCBQYXRjaDAwMTM6IDAwMTMtRklQUy1QS0NTMTIt UEJNQUMxLWRlZmF1bHRzLnBhdGNoCiBQYXRjaDAwMTQ6IDAwMTQtRklQUy1FQy1kaXNhYmxlLXdl YWstY3VydmVzLnBhdGNoCiBQYXRjaDAwMTU6IDAwMTUtTWFrZS1vcGVuc3NsLXNwZWVkLXJ1bi1p bi1GSVBTLW1vZGUucGF0Y2gKIFBhdGNoMDAxNjogMDAxNi1BbGxvdy1oeWJyaWQtTUxLRU0taW4t RklQUy1tb2RlLnBhdGNoCi1QYXRjaDAwMTc6IDAwMTctRG9uLXQtcmFpc2UtTk9UX0VOT1VHSF9E QVRBLWF0LW9iamVjdC1ib3VuZGFyeS5wYXRjaAogCiBMaWNlbnNlOiBBcGFjaGUtMi4wCiBVUkw6 IGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvCkBAIC0zNzYsNiArMzc1LDkgQEAgbG4gLXMgL2V0Yy9j cnlwdG8tcG9saWNpZXMvYmFjay1lbmRzL29wZW5zc2xfZmlwcy5jb25maWcgJFJQTV9CVUlMRF9S T09UJXtfc3lzY28KICVsZGNvbmZpZ19zY3JpcHRsZXRzIGxpYnMKIAogJWNoYW5nZWxvZworKiBG cmkgQXVnIDI4IDIwMjYgRG1pdHJ5IEJlbHlhdnNraXkgPGRiZWx5YXZzQHJlZGhhdC5jb20+IC0g MTo0LjAuMi0xCistIFJlYmFzZSB0byBPcGVuU1NMIDQuMC4yCisKICogRnJpIEp1bCAxNyAyMDI2 IFBhdm9sIMW9w6HEjWlrIDxwemFjaWtAcmVkaGF0LmNvbT4gLSAxOjQuMC4xLTUKIC0gRG9uJ3Qg cmFpc2UgTk9UX0VOT1VHSF9EQVRBIG9uIGEgY2xlYW4gRU9GIGF0IGFuIG9iamVjdCBib3VuZGFy eQogICAoQmFja3BvcnQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL2Nv bW1pdC80MzYwZDUzKQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGE5ZWJj ZmYuLmViYTM1ZjYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBA QAotU0hBNTEyIChvcGVuc3NsLTQuMC4xLnRhci5neikgPSA4NDEwNGNiZDkyOGEzZmJjYjlhOTBj NTY3ZmEzN2Y5MjdiOTc0ZDQ3NDRiOGNkNzc0NjQxZTBkMDdkYjA2NWQxNTY0ZmE0YzNkZjRjMjY4 MThmM2M2ZTcyNmNhNzFiM2FhZTcyMTA5ZDEwNDgyYmJhMzM5Njk0OTg4NmZjODg5MgorU0hBNTEy IChvcGVuc3NsLTQuMC4yLnRhci5neikgPSA0ZGE4MDhiNjRmY2E4MzJiODA3NTJjNGRjMDI0OGVh NjAyYzc4ZWNjMzVmYjc0NTU0MzlkY2NmYWUzZmI3NDIxM2QzNjg5ZjQ1NWE0MDUzM2Q4OWU2MTgw ZDJjODFlYTU4NzFmMjc2M2ZhNjQ3NDBjMjgxMGFmOWZkYjQxMDRiZQo=