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: Neal Gompa To: git-commits@fedoraproject.org Subject: [rpms/obs-studio] epel9-next: Initial import to Fedora Date: Mon, 20 Jul 2026 19:39:31 GMT Message-ID: <178457637146.1.10267437643876934466.rpms-obs-studio-9e1adc41be04@fedoraproject.org> List-ID: X-Git-Repo: rpms/obs-studio X-Git-Branch: epel9-next X-Git-Rev: 9e1adc41be0476921a35db3cfbafe7e1384bc926 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb2JzLXN0dWRpbwpC cmFuY2ggOiBlcGVsOS1uZXh0CkNvbW1pdCA6IDllMWFkYzQxYmUwNDc2OTIxYTM1ZGIzY2ZiYWZl N2UxMzg0YmM5MjYKQXV0aG9yIDogTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3Jn PgpEYXRlICAgOiAyMDIzLTA0LTE4VDIzOjE5OjEwLTA0OjAwClN0YXRzICA6ICsyMjA4Ly0wIGlu IDEwIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9v YnMtc3R1ZGlvL2MvOWUxYWRjNDFiZTA0NzY5MjFhMzVkYjNjZmJhZmU3ZTEzODRiYzkyNj9icmFu Y2g9ZXBlbDktbmV4dAoKTG9nOgpJbml0aWFsIGltcG9ydCB0byBGZWRvcmEKCi0tLQpkaWZmIC0t Z2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZjZhM2E3NwotLS0gL2Rldi9udWxsCisrKyBiLy5naXRpZ25vcmUKQEAgLTAsMCAr MSBAQAorLyoudGFyLmd6CgpkaWZmIC0tZ2l0IGEvMDAwMS1VSS1Db25zaXN0ZW50bHktcmVmZXJl bmNlLXRoZS1zb2Z0d2FyZS1IMjY0LWVuY29kZXItLnBhdGNoIGIvMDAwMS1VSS1Db25zaXN0ZW50 bHktcmVmZXJlbmNlLXRoZS1zb2Z0d2FyZS1IMjY0LWVuY29kZXItLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5NzZmNWMKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAx LVVJLUNvbnNpc3RlbnRseS1yZWZlcmVuY2UtdGhlLXNvZnR3YXJlLUgyNjQtZW5jb2Rlci0ucGF0 Y2gKQEAgLTAsMCArMSwxMDQgQEAKK0Zyb20gMDRkM2EyMWM2ZTcyY2Q1NTc0ZjczMzNhZGY1NDgw MTJkOTEyYzFlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5lYWwgR29tcGEgPG5l YWxAZ29tcGEuZGV2PgorRGF0ZTogU2F0LCA3IEphbiAyMDIzIDIzOjE1OjEzIC0wNTAwCitTdWJq ZWN0OiBbUEFUQ0ggMS8zXSBVSTogQ29uc2lzdGVudGx5IHJlZmVyZW5jZSB0aGUgc29mdHdhcmUg SDI2NCBlbmNvZGVyCisgcHJvcGVybHkKKworVGhlIGNvZGUgaGVyZSBhc3N1bWVzIHRoYXQgdGhl IG9ubHkgc29mdHdhcmUgZW5jb2RlciBpcyB0aGUgeDI2NC1iYXNlZAorSC4yNjQgZW5jb2Rlci4g VGhhdCBtYXkgbm90IGFsd2F5cyByZW1haW4gdHJ1ZS4gVGhpcyBjaGFuZ2UgYWRqdXN0cwordGhl IGVuY29kZXIgc3RyaW5nIHRvIGluZGljYXRlIHRoYXQgaXQncyBhbiBILjI2NCBlbmNvZGVyIGZy b20geDI2NC4KKy0tLQorIFVJL2RhdGEvbG9jYWxlL2VuLVVTLmluaSAgICAgICAgICAgICB8IDQg KystLQorIFVJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZpZy10ZXN0LmNwcCB8IDYgKysrLS0tCisg VUkvd2luZG93LWJhc2ljLXNldHRpbmdzLXN0cmVhbS5jcHAgIHwgMiArLQorIFVJL3dpbmRvdy1i YXNpYy1zZXR0aW5ncy5jcHAgICAgICAgICB8IDcgKysrKy0tLQorIDQgZmlsZXMgY2hhbmdlZCwg MTAgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1VJL2RhdGEv bG9jYWxlL2VuLVVTLmluaSBiL1VJL2RhdGEvbG9jYWxlL2VuLVVTLmluaQoraW5kZXggNGMwM2Fh N2RiLi5lNDRkOTk2NjAgMTAwNjQ0CistLS0gYS9VSS9kYXRhL2xvY2FsZS9lbi1VUy5pbmkKKysr KyBiL1VJL2RhdGEvbG9jYWxlL2VuLVVTLmluaQorQEAgLTk4MCw3ICs5ODAsNyBAQCBCYXNpYy5T ZXR0aW5ncy5PdXRwdXQuU2ltcGxlLldhcm4uRW5jb2Rlcj0iV2FybmluZzogUmVjb3JkaW5nIHdp dGggYSBzb2Z0d2FyZSBlbgorIEJhc2ljLlNldHRpbmdzLk91dHB1dC5TaW1wbGUuV2Fybi5Mb3Nz bGVzcz0iV2FybmluZzogTG9zc2xlc3MgcXVhbGl0eSBnZW5lcmF0ZXMgdHJlbWVuZG91c2x5IGxh cmdlIGZpbGUgc2l6ZXMhIExvc3NsZXNzIHF1YWxpdHkgY2FuIHVzZSB1cHdhcmQgb2YgNyBnaWdh Ynl0ZXMgb2YgZGlzayBzcGFjZSBwZXIgbWludXRlIGF0IGhpZ2ggcmVzb2x1dGlvbnMgYW5kIGZy YW1lcmF0ZXMuIExvc3NsZXNzIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgbG9uZyByZWNvcmRpbmdz IHVubGVzcyB5b3UgaGF2ZSBhIHZlcnkgbGFyZ2UgYW1vdW50IG9mIGRpc2sgc3BhY2UgYXZhaWxh YmxlLiIKKyBCYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLldhcm4uTG9zc2xlc3MuTXNnPSJB cmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIGxvc3NsZXNzIHF1YWxpdHk/IgorIEJhc2ljLlNl dHRpbmdzLk91dHB1dC5TaW1wbGUuV2Fybi5Mb3NzbGVzcy5UaXRsZT0iTG9zc2xlc3MgcXVhbGl0 eSB3YXJuaW5nISIKKy1CYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLkVuY29kZXIuU29mdHdh cmU9IlNvZnR3YXJlICh4MjY0KSIKKytCYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLkVuY29k ZXIuU29mdHdhcmUuWDI2NC5IMjY0PSJTb2Z0d2FyZSAoeDI2NCkiCisgQmFzaWMuU2V0dGluZ3Mu T3V0cHV0LlNpbXBsZS5FbmNvZGVyLkhhcmR3YXJlLlFTVi5IMjY0PSJIYXJkd2FyZSAoUVNWLCBI LjI2NCkiCisgQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVyLkhhcmR3YXJlLlFT Vi5BVjE9IkhhcmR3YXJlIChRU1YsIEFWMSkiCisgQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBs ZS5FbmNvZGVyLkhhcmR3YXJlLkFNRC5IMjY0PSJIYXJkd2FyZSAoQU1ELCBILjI2NCkiCitAQCAt OTkxLDcgKzk5MSw3IEBAIEJhc2ljLlNldHRpbmdzLk91dHB1dC5TaW1wbGUuRW5jb2Rlci5IYXJk d2FyZS5OVkVOQy5BVjE9IkhhcmR3YXJlIChOVkVOQywgQVYxKSIKKyBCYXNpYy5TZXR0aW5ncy5P dXRwdXQuU2ltcGxlLkVuY29kZXIuSGFyZHdhcmUuTlZFTkMuSEVWQz0iSGFyZHdhcmUgKE5WRU5D LCBIRVZDKSIKKyBCYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLkVuY29kZXIuSGFyZHdhcmUu QXBwbGUuSDI2ND0iSGFyZHdhcmUgKEFwcGxlLCBILjI2NCkiCisgQmFzaWMuU2V0dGluZ3MuT3V0 cHV0LlNpbXBsZS5FbmNvZGVyLkhhcmR3YXJlLkFwcGxlLkhFVkM9IkhhcmR3YXJlIChBcHBsZSwg SEVWQykiCistQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVyLlNvZnR3YXJlTG93 Q1BVPSJTb2Z0d2FyZSAoeDI2NCBsb3cgQ1BVIHVzYWdlIHByZXNldCwgaW5jcmVhc2VzIGZpbGUg c2l6ZSkiCisrQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVyLlNvZnR3YXJlTG93 Q1BVLlgyNjQuSDI2ND0iU29mdHdhcmUgKHgyNjQgbG93IENQVSB1c2FnZSBwcmVzZXQsIGluY3Jl YXNlcyBmaWxlIHNpemUpIgorIEJhc2ljLlNldHRpbmdzLk91dHB1dC5TaW1wbGUuQ29kZWMuQUFD PSJBQUMiCisgQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5Db2RlYy5BQUMuRGVmYXVsdD0i QUFDIChEZWZhdWx0KSIKKyBCYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLkNvZGVjLk9wdXM9 Ik9wdXMiCitkaWZmIC0tZ2l0IGEvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLXRlc3QuY3Bw IGIvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLXRlc3QuY3BwCitpbmRleCAyZDg5ZDczNDcu LjA5OTc5YzAzMSAxMDA2NDQKKy0tLSBhL1VJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZpZy10ZXN0 LmNwcAorKysrIGIvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLXRlc3QuY3BwCitAQCAtOTkz LDcgKzk5Myw3IEBAIHZvaWQgQXV0b0NvbmZpZ1Rlc3RQYWdlOjpUZXN0UmVjb3JkaW5nRW5jb2Rl clRocmVhZCgpCisgfQorIAorICNkZWZpbmUgRU5DT0RFUl9URVhUKHgpICJCYXNpYy5TZXR0aW5n cy5PdXRwdXQuU2ltcGxlLkVuY29kZXIuIiB4CistI2RlZmluZSBFTkNPREVSX1NPRlRXQVJFIEVO Q09ERVJfVEVYVCgiU29mdHdhcmUiKQorKyNkZWZpbmUgRU5DT0RFUl9YMjY0IEVOQ09ERVJfVEVY VCgiU29mdHdhcmUuWDI2NC5IMjY0IikKKyAjZGVmaW5lIEVOQ09ERVJfTlZFTkMgRU5DT0RFUl9U RVhUKCJIYXJkd2FyZS5OVkVOQy5IMjY0IikKKyAjZGVmaW5lIEVOQ09ERVJfUVNWIEVOQ09ERVJf VEVYVCgiSGFyZHdhcmUuUVNWLkgyNjQiKQorICNkZWZpbmUgRU5DT0RFUl9BTUQgRU5DT0RFUl9U RVhUKCJIYXJkd2FyZS5BTUQuSDI2NCIpCitAQCAtMTAzMyw3ICsxMDMzLDcgQEAgdm9pZCBBdXRv Q29uZmlnVGVzdFBhZ2U6OkZpbmFsaXplUmVzdWx0cygpCisgCWF1dG8gZW5jTmFtZSA9IFtdKEF1 dG9Db25maWc6OkVuY29kZXIgZW5jKSAtPiBRU3RyaW5nIHsKKyAJCXN3aXRjaCAoZW5jKSB7Cisg CQljYXNlIEF1dG9Db25maWc6OkVuY29kZXI6OngyNjQ6CistCQkJcmV0dXJuIFFUU3RyKEVOQ09E RVJfU09GVFdBUkUpOworKwkJCXJldHVybiBRVFN0cihFTkNPREVSX1gyNjQpOworIAkJY2FzZSBB dXRvQ29uZmlnOjpFbmNvZGVyOjpOVkVOQzoKKyAJCQlyZXR1cm4gUVRTdHIoRU5DT0RFUl9OVkVO Qyk7CisgCQljYXNlIEF1dG9Db25maWc6OkVuY29kZXI6OlFTVjoKK0BAIC0xMDQ2LDcgKzEwNDYs NyBAQCB2b2lkIEF1dG9Db25maWdUZXN0UGFnZTo6RmluYWxpemVSZXN1bHRzKCkKKyAJCQlyZXR1 cm4gUVRTdHIoUVVBTElUWV9TQU1FKTsKKyAJCX0KKyAKKy0JCXJldHVybiBRVFN0cihFTkNPREVS X1NPRlRXQVJFKTsKKysJCXJldHVybiBRVFN0cihFTkNPREVSX1gyNjQpOworIAl9OworIAorIAlh dXRvIG5ld0xhYmVsID0gW3RoaXNdKGNvbnN0IGNoYXIgKnN0cikgLT4gUUxhYmVsICogeworZGlm ZiAtLWdpdCBhL1VJL3dpbmRvdy1iYXNpYy1zZXR0aW5ncy1zdHJlYW0uY3BwIGIvVUkvd2luZG93 LWJhc2ljLXNldHRpbmdzLXN0cmVhbS5jcHAKK2luZGV4IGY2ZTA4MTdhMC4uYjA1NjkzOGU3IDEw MDY0NAorLS0tIGEvVUkvd2luZG93LWJhc2ljLXNldHRpbmdzLXN0cmVhbS5jcHAKKysrKyBiL1VJ L3dpbmRvdy1iYXNpYy1zZXR0aW5ncy1zdHJlYW0uY3BwCitAQCAtMTU4NSw3ICsxNTg1LDcgQEAg dm9pZCBPQlNCYXNpY1NldHRpbmdzOjpSZXNldEVuY29kZXJzKGJvb2wgc3RyZWFtT25seSkKKyAK KyAjZGVmaW5lIEVOQ09ERVJfU1RSKHN0cikgUVRTdHIoIkJhc2ljLlNldHRpbmdzLk91dHB1dC5T aW1wbGUuRW5jb2Rlci4iIHN0cikKKyAKKy0JdWktPnNpbXBsZU91dFN0ckVuY29kZXItPmFkZEl0 ZW0oRU5DT0RFUl9TVFIoIlNvZnR3YXJlIiksCisrCXVpLT5zaW1wbGVPdXRTdHJFbmNvZGVyLT5h ZGRJdGVtKEVOQ09ERVJfU1RSKCJTb2Z0d2FyZS5YMjY0LkgyNjQiKSwKKyAJCQkJCSBRU3RyaW5n KFNJTVBMRV9FTkNPREVSX1gyNjQpKTsKKyAJaWYgKHNlcnZpY2Vfc3VwcG9ydHNfZW5jb2Rlcih2 Y29kZWNzLCAib2JzX3FzdjExIikpCisgCQl1aS0+c2ltcGxlT3V0U3RyRW5jb2Rlci0+YWRkSXRl bSgKK2RpZmYgLS1naXQgYS9VSS93aW5kb3ctYmFzaWMtc2V0dGluZ3MuY3BwIGIvVUkvd2luZG93 LWJhc2ljLXNldHRpbmdzLmNwcAoraW5kZXggZmIxNzBiZmMxLi40OGJiNGJhYzYgMTAwNjQ0Cist LS0gYS9VSS93aW5kb3ctYmFzaWMtc2V0dGluZ3MuY3BwCisrKysgYi9VSS93aW5kb3ctYmFzaWMt c2V0dGluZ3MuY3BwCitAQCAtNTI4NiwxMCArNTI4NiwxMSBAQCB2b2lkIE9CU0Jhc2ljU2V0dGlu Z3M6OkZpbGxTaW1wbGVSZWNvcmRpbmdWYWx1ZXMoKQorIAlBRERfUVVBTElUWSgiSFEiKTsKKyAJ QUREX1FVQUxJVFkoIkxvc3NsZXNzIik7CisgCistCXVpLT5zaW1wbGVPdXRSZWNFbmNvZGVyLT5h ZGRJdGVtKEVOQ09ERVJfU1RSKCJTb2Z0d2FyZSIpLAorKwl1aS0+c2ltcGxlT3V0UmVjRW5jb2Rl ci0+YWRkSXRlbShFTkNPREVSX1NUUigiU29mdHdhcmUuWDI2NC5IMjY0IiksCisgCQkJCQkgUVN0 cmluZyhTSU1QTEVfRU5DT0RFUl9YMjY0KSk7CistCXVpLT5zaW1wbGVPdXRSZWNFbmNvZGVyLT5h ZGRJdGVtKEVOQ09ERVJfU1RSKCJTb2Z0d2FyZUxvd0NQVSIpLAorLQkJCQkJIFFTdHJpbmcoU0lN UExFX0VOQ09ERVJfWDI2NF9MT1dDUFUpKTsKKysJdWktPnNpbXBsZU91dFJlY0VuY29kZXItPmFk ZEl0ZW0oCisrCQlFTkNPREVSX1NUUigiU29mdHdhcmVMb3dDUFUuWDI2NC5IMjY0IiksCisrCQlR U3RyaW5nKFNJTVBMRV9FTkNPREVSX1gyNjRfTE9XQ1BVKSk7CisgCWlmIChFbmNvZGVyQXZhaWxh YmxlKCJvYnNfcXN2MTEiKSkKKyAJCXVpLT5zaW1wbGVPdXRSZWNFbmNvZGVyLT5hZGRJdGVtKAor IAkJCUVOQ09ERVJfU1RSKCJIYXJkd2FyZS5RU1YuSDI2NCIpLAorLS0gCisyLjM5LjIKKwoKZGlm ZiAtLWdpdCBhLzAwMDItb2JzLWZmbXBlZy1BZGQtaW5pdGlhbC1zdXBwb3J0LWZvci10aGUtT3Bl bkgyNjQtSC4yNi5wYXRjaCBiLzAwMDItb2JzLWZmbXBlZy1BZGQtaW5pdGlhbC1zdXBwb3J0LWZv ci10aGUtT3BlbkgyNjQtSC4yNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4wYTgwYTc5Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1vYnMtZmZtcGVnLUFkZC1pbml0 aWFsLXN1cHBvcnQtZm9yLXRoZS1PcGVuSDI2NC1ILjI2LnBhdGNoCkBAIC0wLDAgKzEsMzQ2IEBA CitGcm9tIDQ1MTdkOGQ4YmI0YzQzYWYxZjViNzU3NzczYTVmOTU1MGJkMjNkMzcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBOZWFsIEdvbXBhIDxuZWFsQGdvbXBhLmRldj4KK0RhdGU6 IFN1biwgMjYgTWFyIDIwMjMgMDY6MDY6MzEgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIG9i cy1mZm1wZWc6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBPcGVuSDI2NCBILjI2NAorIHNv ZnR3YXJlIGNvZGVjCisKK1RoaXMgYWxsb3dzIHVzZXJzIHRvIGxldmVyYWdlIHRoZSBPcGVuSDI2 NCBjb2RlYyBmcm9tIENpc2NvIHRvIGVuY29kZQorSC4yNjQgdmlkZW8gY29udGVudC4gSXQgaXMg c2lnbmlmaWNhbnRseSByZWR1Y2VkIGluIGNhcGFiaWxpdHkgZnJvbQorYWx0ZXJuYXRpdmVzLCBi dXQgaXQgZG9lcyB0aGUgam9iLgorCitUaGlzIGFsc28gcHJvdmlkZXMgYSBmcmFtZXdvcmsgZm9y IGFkZGluZyBzdXBwb3J0IGZvciBvdGhlciBILjI2NAorc29mdHdhcmUgY29kZWNzIHByb3ZpZGVk IHRocm91Z2ggRkZtcGVnLgorLS0tCisgcGx1Z2lucy9vYnMtZmZtcGVnL0NNYWtlTGlzdHMudHh0 ICAgICAgICB8ICAgMSArCisgcGx1Z2lucy9vYnMtZmZtcGVnL2NtYWtlL2xlZ2FjeS5jbWFrZSAg ICB8ICAgMSArCisgcGx1Z2lucy9vYnMtZmZtcGVnL2RhdGEvbG9jYWxlL2VuLVVTLmluaSB8ICAg MyArCisgcGx1Z2lucy9vYnMtZmZtcGVnL29icy1mZm1wZWctaDI2NC5jICAgICB8IDI2MCArKysr KysrKysrKysrKysrKysrKysrKworIHBsdWdpbnMvb2JzLWZmbXBlZy9vYnMtZmZtcGVnLmMgICAg ICAgICAgfCAgIDIgKworIDUgZmlsZXMgY2hhbmdlZCwgMjY3IGluc2VydGlvbnMoKykKKyBjcmVh dGUgbW9kZSAxMDA2NDQgcGx1Z2lucy9vYnMtZmZtcGVnL29icy1mZm1wZWctaDI2NC5jCisKK2Rp ZmYgLS1naXQgYS9wbHVnaW5zL29icy1mZm1wZWcvQ01ha2VMaXN0cy50eHQgYi9wbHVnaW5zL29i cy1mZm1wZWcvQ01ha2VMaXN0cy50eHQKK2luZGV4IDNlYmEwMDkzMi4uZjk3NjIyYzIyIDEwMDY0 NAorLS0tIGEvcGx1Z2lucy9vYnMtZmZtcGVnL0NNYWtlTGlzdHMudHh0CisrKysgYi9wbHVnaW5z L29icy1mZm1wZWcvQ01ha2VMaXN0cy50eHQKK0BAIC0zNCw2ICszNCw3IEBAIHRhcmdldF9zb3Vy Y2VzKAorICAgICAgICAgICBvYnMtZmZtcGVnLXZpZGVvLWVuY29kZXJzLmMKKyAgICAgICAgICAg b2JzLWZmbXBlZy1hdWRpby1lbmNvZGVycy5jCisgICAgICAgICAgIG9icy1mZm1wZWctYXYxLmMK KysgICAgICAgICAgb2JzLWZmbXBlZy1oMjY0LmMKKyAgICAgICAgICAgb2JzLWZmbXBlZy1udmVu Yy5jCisgICAgICAgICAgIG9icy1mZm1wZWctb3V0cHV0LmMKKyAgICAgICAgICAgb2JzLWZmbXBl Zy1tdXguYworZGlmZiAtLWdpdCBhL3BsdWdpbnMvb2JzLWZmbXBlZy9jbWFrZS9sZWdhY3kuY21h a2UgYi9wbHVnaW5zL29icy1mZm1wZWcvY21ha2UvbGVnYWN5LmNtYWtlCitpbmRleCA1NTQwNjc2 ZWEuLjYyZjJjYzdhMSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvb2JzLWZmbXBlZy9jbWFrZS9sZWdh Y3kuY21ha2UKKysrKyBiL3BsdWdpbnMvb2JzLWZmbXBlZy9jbWFrZS9sZWdhY3kuY21ha2UKK0BA IC00MCw2ICs0MCw3IEBAIHRhcmdldF9zb3VyY2VzKAorICAgICAgICAgICBvYnMtZmZtcGVnLXZp ZGVvLWVuY29kZXJzLmMKKyAgICAgICAgICAgb2JzLWZmbXBlZy1hdWRpby1lbmNvZGVycy5jCisg ICAgICAgICAgIG9icy1mZm1wZWctYXYxLmMKKysgICAgICAgICAgb2JzLWZmbXBlZy1oMjY0LmMK KyAgICAgICAgICAgb2JzLWZmbXBlZy1udmVuYy5jCisgICAgICAgICAgIG9icy1mZm1wZWctb3V0 cHV0LmMKKyAgICAgICAgICAgb2JzLWZmbXBlZy1tdXguYworZGlmZiAtLWdpdCBhL3BsdWdpbnMv b2JzLWZmbXBlZy9kYXRhL2xvY2FsZS9lbi1VUy5pbmkgYi9wbHVnaW5zL29icy1mZm1wZWcvZGF0 YS9sb2NhbGUvZW4tVVMuaW5pCitpbmRleCA1NWJiZTkxOWQuLjAzNjNlZDgyYiAxMDA2NDQKKy0t LSBhL3BsdWdpbnMvb2JzLWZmbXBlZy9kYXRhL2xvY2FsZS9lbi1VUy5pbmkKKysrKyBiL3BsdWdp bnMvb2JzLWZmbXBlZy9kYXRhL2xvY2FsZS9lbi1VUy5pbmkKK0BAIC0xMDksNCArMTA5LDcgQEAg TlZFTkMuQ2hlY2tEcml2ZXJzPSJUcnkgaW5zdGFsbGluZyB0aGUgbGF0ZXN0IDxhIGhyZWY9XCJo dHRwczovL29ic3Byb2plY3QuY29tL2cKKyAKKyBBVjEuOGJpdFVuc3VwcG9ydGVkSGRyPSJPQlMg ZG9lcyBub3Qgc3VwcG9ydCA4LWJpdCBvdXRwdXQgb2YgUmVjLiAyMTAwLiIKKyAKKytIMjY0LlVu c3VwcG9ydGVkVmlkZW9Gb3JtYXQ9Ik9ubHkgdmlkZW8gZm9ybWF0cyB1c2luZyA4LWJpdCBjb2xv ciBhcmUgc3VwcG9ydGVkLiIKKytIMjY0LlVuc3VwcG9ydGVkQ29sb3JTcGFjZT0iT25seSB0aGUg UmVjLiA3MDkgY29sb3Igc3BhY2UgaXMgc3VwcG9ydGVkLiIKKysKKyBSZWNvbm5lY3REZWxheVRp bWU9IlJlY29ubmVjdCBEZWxheSIKK2RpZmYgLS1naXQgYS9wbHVnaW5zL29icy1mZm1wZWcvb2Jz LWZmbXBlZy1oMjY0LmMgYi9wbHVnaW5zL29icy1mZm1wZWcvb2JzLWZmbXBlZy1oMjY0LmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAuLjE3OWE2MWNjZgorLS0tIC9kZXYv bnVsbAorKysrIGIvcGx1Z2lucy9vYnMtZmZtcGVnL29icy1mZm1wZWctaDI2NC5jCitAQCAtMCww ICsxLDI2MCBAQAorKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKysgICAgQ29weXJpZ2h0IChDKSAy MDIzIGJ5IE5lYWwgR29tcGEgPG5lYWxAZ29tcGEuZGV2PgorKyAgICBQYXJ0bHkgZGVyaXZlZCBm cm9tIG9icy1mZm1wZWctYXYxLmMgYnkgSHVnaCBCYWlsZXkgPG9icy5qaW1AZ21haWwuY29tPgor KworKyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAg ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgICBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysg ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKysgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorKworKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiovCisrCisrI2luY2x1ZGUgIm9icy1mZm1wZWctdmlkZW8tZW5jb2Rl cnMuaCIKKysKKysjZGVmaW5lIGRvX2xvZyhsZXZlbCwgZm9ybWF0LCAuLi4pICAgICAgICAgICAg ICAgICAgIFwKKysJYmxvZyhsZXZlbCwgIltILjI2NCBlbmNvZGVyOiAnJXMnXSAiIGZvcm1hdCwg XAorKwkgICAgIG9ic19lbmNvZGVyX2dldF9uYW1lKGVuYy0+ZmZ2ZS5lbmNvZGVyKSwgIyNfX1ZB X0FSR1NfXykKKysKKysjZGVmaW5lIGVycm9yKGZvcm1hdCwgLi4uKSBkb19sb2coTE9HX0VSUk9S LCBmb3JtYXQsICMjX19WQV9BUkdTX18pCisrI2RlZmluZSB3YXJuKGZvcm1hdCwgLi4uKSBkb19s b2coTE9HX1dBUk5JTkcsIGZvcm1hdCwgIyNfX1ZBX0FSR1NfXykKKysjZGVmaW5lIGluZm8oZm9y bWF0LCAuLi4pIGRvX2xvZyhMT0dfSU5GTywgZm9ybWF0LCAjI19fVkFfQVJHU19fKQorKyNkZWZp bmUgZGVidWcoZm9ybWF0LCAuLi4pIGRvX2xvZyhMT0dfREVCVUcsIGZvcm1hdCwgIyNfX1ZBX0FS R1NfXykKKysKKytlbnVtIGgyNjRfZW5jb2Rlcl90eXBlIHsKKysJSDI2NF9FTkNPREVSX1RZUEVf T0gyNjQsCisrfTsKKysKKytzdHJ1Y3QgaDI2NF9lbmNvZGVyIHsKKysJc3RydWN0IGZmbXBlZ192 aWRlb19lbmNvZGVyIGZmdmU7CisrCWVudW0gaDI2NF9lbmNvZGVyX3R5cGUgdHlwZTsKKysKKysJ REFSUkFZKHVpbnQ4X3QpIGhlYWRlcjsKKyt9OworKworK3N0YXRpYyBjb25zdCBjaGFyICpvaDI2 NF9nZXRuYW1lKHZvaWQgKnVudXNlZCkKKyt7CisrCVVOVVNFRF9QQVJBTUVURVIodW51c2VkKTsK KysJcmV0dXJuICJPcGVuSDI2NCI7CisrfQorKworK3N0YXRpYyB2b2lkIGgyNjRfdmlkZW9faW5m byh2b2lkICpkYXRhLCBzdHJ1Y3QgdmlkZW9fc2NhbGVfaW5mbyAqaW5mbykKKyt7CisrCVVOVVNF RF9QQVJBTUVURVIoZGF0YSk7CisrCisrCS8vIE9wZW5IMjY0IG9ubHkgc3VwcG9ydHMgSTQyMAor KwlpbmZvLT5mb3JtYXQgPSBWSURFT19GT1JNQVRfSTQyMDsKKyt9CisrCisrc3RhdGljIGJvb2wg aDI2NF91cGRhdGUoc3RydWN0IGgyNjRfZW5jb2RlciAqZW5jLCBvYnNfZGF0YV90ICpzZXR0aW5n cykKKyt7CisrCWNvbnN0IGNoYXIgKnByb2ZpbGUgPSBvYnNfZGF0YV9nZXRfc3RyaW5nKHNldHRp bmdzLCAicHJvZmlsZSIpOworKwlpbnQgYml0cmF0ZSA9IChpbnQpb2JzX2RhdGFfZ2V0X2ludChz ZXR0aW5ncywgImJpdHJhdGUiKTsKKysJaW50IGtleWludF9zZWMgPSAwOyAgICAgICAgICAgICAg Ly8gVGhpcyBpcyBub3Qgc3VwcG9ydGVkIGJ5IE9wZW5IMjY0CisrCWNvbnN0IGNoYXIgKnJjX21v ZGUgPSAicXVhbGl0eSI7IC8vIFdlIG9ubHkgd2FudCB0byB1c2UgcXVhbGl0eSBtb2RlCisrCWlu dCBhbGxvd19za2lwX2ZyYW1lcyA9IDE7ICAgICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHF1 YWxpdHkgbW9kZQorKworKwl2aWRlb190ICp2aWRlbyA9IG9ic19lbmNvZGVyX3ZpZGVvKGVuYy0+ ZmZ2ZS5lbmNvZGVyKTsKKysJY29uc3Qgc3RydWN0IHZpZGVvX291dHB1dF9pbmZvICp2b2kgPSB2 aWRlb19vdXRwdXRfZ2V0X2luZm8odmlkZW8pOworKwlzdHJ1Y3QgdmlkZW9fc2NhbGVfaW5mbyBp bmZvOworKworKwlpbmZvLmZvcm1hdCA9IHZvaS0+Zm9ybWF0OworKwlpbmZvLmNvbG9yc3BhY2Ug PSB2b2ktPmNvbG9yc3BhY2U7CisrCWluZm8ucmFuZ2UgPSB2b2ktPnJhbmdlOworKworKwllbmMt PmZmdmUuY29udGV4dC0+dGhyZWFkX2NvdW50ID0gMDsKKysKKysJaDI2NF92aWRlb19pbmZvKGVu YywgJmluZm8pOworKworKwlhdl9vcHRfc2V0KGVuYy0+ZmZ2ZS5jb250ZXh0LT5wcml2X2RhdGEs ICJyY19tb2RlIiwgcmNfbW9kZSwgMCk7CisrCWF2X29wdF9zZXQoZW5jLT5mZnZlLmNvbnRleHQt PnByaXZfZGF0YSwgInByb2ZpbGUiLCBwcm9maWxlLCAwKTsKKysJYXZfb3B0X3NldF9pbnQoZW5j LT5mZnZlLmNvbnRleHQtPnByaXZfZGF0YSwgImFsbG93X3NraXBfZnJhbWVzIiwKKysJCSAgICAg ICBhbGxvd19za2lwX2ZyYW1lcywgMCk7CisrCisrCWNvbnN0IGNoYXIgKmZmbXBlZ19vcHRzID0g b2JzX2RhdGFfZ2V0X3N0cmluZyhzZXR0aW5ncywgImZmbXBlZ19vcHRzIik7CisrCWZmbXBlZ192 aWRlb19lbmNvZGVyX3VwZGF0ZSgmZW5jLT5mZnZlLCBiaXRyYXRlLCBrZXlpbnRfc2VjLCB2b2ks ICZpbmZvLAorKwkJCQkgICAgZmZtcGVnX29wdHMpOworKwlpbmZvKCJzZXR0aW5nczpcbiIKKysJ ICAgICAiXHRlbmNvZGVyOiAgICAgICVzXG4iCisrCSAgICAgIlx0cmNfbW9kZTogICAgICAlc1xu IgorKwkgICAgICJcdGJpdHJhdGU6ICAgICAgJWRcbiIKKysJICAgICAiXHRwcm9maWxlOiAgICAg ICVzXG4iCisrCSAgICAgIlx0d2lkdGg6ICAgICAgICAlZFxuIgorKwkgICAgICJcdGhlaWdodDog ICAgICAgJWRcbiIKKysJICAgICAiXHRmZm1wZWcgb3B0czogICVzXG4iLAorKwkgICAgIGVuYy0+ ZmZ2ZS5lbmNfbmFtZSwgcmNfbW9kZSwgYml0cmF0ZSwgcHJvZmlsZSwKKysJICAgICBlbmMtPmZm dmUuY29udGV4dC0+d2lkdGgsIGVuYy0+ZmZ2ZS5oZWlnaHQsIGZmbXBlZ19vcHRzKTsKKysKKysJ ZW5jLT5mZnZlLmNvbnRleHQtPmZsYWdzIHw9IEFWX0NPREVDX0ZMQUdfR0xPQkFMX0hFQURFUjsK KysJcmV0dXJuIGZmbXBlZ192aWRlb19lbmNvZGVyX2luaXRfY29kZWMoJmVuYy0+ZmZ2ZSk7Cisr fQorKworK3N0YXRpYyB2b2lkIGgyNjRfZGVzdHJveSh2b2lkICpkYXRhKQorK3sKKysJc3RydWN0 IGgyNjRfZW5jb2RlciAqZW5jID0gZGF0YTsKKysKKysJZmZtcGVnX3ZpZGVvX2VuY29kZXJfZnJl ZSgmZW5jLT5mZnZlKTsKKysJZGFfZnJlZShlbmMtPmhlYWRlcik7CisrCWJmcmVlKGVuYyk7Cisr fQorKworK3N0YXRpYyB2b2lkIG9uX2ZpcnN0X3BhY2tldCh2b2lkICpkYXRhLCBBVlBhY2tldCAq cGt0LCBzdHJ1Y3QgZGFycmF5ICpkYSkKKyt7CisrCXN0cnVjdCBoMjY0X2VuY29kZXIgKmVuYyA9 IGRhdGE7CisrCisrCWRhX2NvcHlfYXJyYXkoZW5jLT5oZWFkZXIsIGVuYy0+ZmZ2ZS5jb250ZXh0 LT5leHRyYWRhdGEsCisrCQkgICAgICBlbmMtPmZmdmUuY29udGV4dC0+ZXh0cmFkYXRhX3NpemUp OworKworKwlkYXJyYXlfY29weV9hcnJheSgxLCBkYSwgcGt0LT5kYXRhLCBwa3QtPnNpemUpOwor K30KKysKKytzdGF0aWMgdm9pZCAqaDI2NF9jcmVhdGVfaW50ZXJuYWwob2JzX2RhdGFfdCAqc2V0 dGluZ3MsIG9ic19lbmNvZGVyX3QgKmVuY29kZXIsCisrCQkJCSAgY29uc3QgY2hhciAqZW5jX2xp YiwgY29uc3QgY2hhciAqZW5jX25hbWUpCisreworKwl2aWRlb190ICp2aWRlbyA9IG9ic19lbmNv ZGVyX3ZpZGVvKGVuY29kZXIpOworKwljb25zdCBzdHJ1Y3QgdmlkZW9fb3V0cHV0X2luZm8gKnZv aSA9IHZpZGVvX291dHB1dF9nZXRfaW5mbyh2aWRlbyk7CisrCisrCXN3aXRjaCAodm9pLT5mb3Jt YXQpIHsKKysJLy8gcGxhbmFyIDQ6MjowIGZvcm1hdHMKKysJY2FzZSBWSURFT19GT1JNQVRfSTQy MDogLy8gdGhyZWUtcGxhbmUKKysJY2FzZSBWSURFT19GT1JNQVRfTlYxMjogLy8gdHdvLXBsYW5l LCBsdW1hIGFuZCBwYWNrZWQgY2hyb21hCisrCS8vIHBhY2tlZCA0OjI6MiBmb3JtYXRzCisrCWNh c2UgVklERU9fRk9STUFUX1lWWVU6CisrCWNhc2UgVklERU9fRk9STUFUX1lVWTI6IC8vIFlVWVYK KysJY2FzZSBWSURFT19GT1JNQVRfVVlWWToKKysJLy8gcGFja2VkIHVuY29tcHJlc3NlZCBmb3Jt YXRzCisrCWNhc2UgVklERU9fRk9STUFUX1JHQkE6CisrCWNhc2UgVklERU9fRk9STUFUX0JHUkE6 CisrCWNhc2UgVklERU9fRk9STUFUX0JHUlg6CisrCWNhc2UgVklERU9fRk9STUFUX0JHUjM6Cisr CWNhc2UgVklERU9fRk9STUFUX1k4MDA6IC8vIGdyYXlzY2FsZQorKwkvLyBwbGFuYXIgNDo0OjQK KysJY2FzZSBWSURFT19GT1JNQVRfSTQ0NDoKKysJLy8gcGxhbmFyIDQ6MjoyCisrCWNhc2UgVklE RU9fRk9STUFUX0k0MjI6CisrCS8vIHBsYW5hciA0OjI6MCB3aXRoIGFscGhhCisrCWNhc2UgVklE RU9fRk9STUFUX0k0MEE6CisrCS8vIHBsYW5hciA0OjI6MiB3aXRoIGFscGhhCisrCWNhc2UgVklE RU9fRk9STUFUX0k0MkE6CisrCS8vIHBsYW5hciA0OjQ6NCB3aXRoIGFscGhhCisrCWNhc2UgVklE RU9fRk9STUFUX1lVVkE6CisrCS8vIHBhY2tlZCA0OjQ6NCB3aXRoIGFscGhhCisrCWNhc2UgVklE RU9fRk9STUFUX0FZVVY6CisrCQlicmVhazsKKysJZGVmYXVsdDo7IC8vIE1ha2UgdGhlIGNvbXBp bGVyIGRvIHRoZSByaWdodCB0aGluZworKwkJY29uc3QgY2hhciAqY29uc3QgdGV4dCA9CisrCQkJ b2JzX21vZHVsZV90ZXh0KCJIMjY0LlVuc3VwcG9ydGVkVmlkZW9Gb3JtYXQiKTsKKysJCW9ic19l bmNvZGVyX3NldF9sYXN0X2Vycm9yKGVuY29kZXIsIHRleHQpOworKwkJYmxvZyhMT0dfRVJST1Is ICJbSC4yNjQgZW5jb2Rlcl0gJXMiLCB0ZXh0KTsKKysJCXJldHVybiBOVUxMOworKwl9CisrCisr CXN3aXRjaCAodm9pLT5jb2xvcnNwYWNlKSB7CisrCWNhc2UgVklERU9fQ1NfREVGQVVMVDoKKysJ Y2FzZSBWSURFT19DU183MDk6CisrCQlicmVhazsKKysJZGVmYXVsdDo7IC8vIE1ha2UgdGhlIGNv bXBpbGVyIGRvIHRoZSByaWdodCB0aGluZworKwkJY29uc3QgY2hhciAqY29uc3QgdGV4dCA9Cisr CQkJb2JzX21vZHVsZV90ZXh0KCJIMjY0LlVuc3VwcG9ydGVkQ29sb3JTcGFjZSIpOworKwkJb2Jz X2VuY29kZXJfc2V0X2xhc3RfZXJyb3IoZW5jb2RlciwgdGV4dCk7CisrCQlibG9nKExPR19FUlJP UiwgIltILjI2NCBlbmNvZGVyXSAlcyIsIHRleHQpOworKwkJcmV0dXJuIE5VTEw7CisrCX0KKysK KysJc3RydWN0IGgyNjRfZW5jb2RlciAqZW5jID0gYnphbGxvYyhzaXplb2YoKmVuYykpOworKwor KwlpZiAoc3RyY21wKGVuY19saWIsICJsaWJvcGVuaDI2NCIpID09IDApCisrCQllbmMtPnR5cGUg PSBIMjY0X0VOQ09ERVJfVFlQRV9PSDI2NDsKKysKKysJaWYgKCFmZm1wZWdfdmlkZW9fZW5jb2Rl cl9pbml0KCZlbmMtPmZmdmUsIGVuYywgZW5jb2RlciwgZW5jX2xpYiwgTlVMTCwKKysJCQkJICAg ICAgIGVuY19uYW1lLCBOVUxMLCBvbl9maXJzdF9wYWNrZXQpKQorKwkJZ290byBmYWlsOworKwlp ZiAoIWgyNjRfdXBkYXRlKGVuYywgc2V0dGluZ3MpKQorKwkJZ290byBmYWlsOworKworKwlyZXR1 cm4gZW5jOworKworK2ZhaWw6CisrCWgyNjRfZGVzdHJveShlbmMpOworKwlyZXR1cm4gTlVMTDsK Kyt9CisrCisrc3RhdGljIHZvaWQgKm9oMjY0X2NyZWF0ZShvYnNfZGF0YV90ICpzZXR0aW5ncywg b2JzX2VuY29kZXJfdCAqZW5jb2RlcikKKyt7CisrCXJldHVybiBoMjY0X2NyZWF0ZV9pbnRlcm5h bChzZXR0aW5ncywgZW5jb2RlciwgImxpYm9wZW5oMjY0IiwKKysJCQkJICAgICJPcGVuSDI2NCIp OworK30KKysKKytzdGF0aWMgYm9vbCBoMjY0X2VuY29kZSh2b2lkICpkYXRhLCBzdHJ1Y3QgZW5j b2Rlcl9mcmFtZSAqZnJhbWUsCisrCQkJc3RydWN0IGVuY29kZXJfcGFja2V0ICpwYWNrZXQsIGJv b2wgKnJlY2VpdmVkX3BhY2tldCkKKyt7CisrCXN0cnVjdCBoMjY0X2VuY29kZXIgKmVuYyA9IGRh dGE7CisrCXJldHVybiBmZm1wZWdfdmlkZW9fZW5jb2RlKCZlbmMtPmZmdmUsIGZyYW1lLCBwYWNr ZXQsIHJlY2VpdmVkX3BhY2tldCk7CisrfQorKworK3ZvaWQgaDI2NF9kZWZhdWx0cyhvYnNfZGF0 YV90ICpzZXR0aW5ncykKKyt7CisrCW9ic19kYXRhX3NldF9kZWZhdWx0X2ludChzZXR0aW5ncywg ImJpdHJhdGUiLCAyNTAwKTsKKysJb2JzX2RhdGFfc2V0X2RlZmF1bHRfc3RyaW5nKHNldHRpbmdz LCAicHJvZmlsZSIsICJtYWluIik7CisrfQorKworK29ic19wcm9wZXJ0aWVzX3QgKmgyNjRfcHJv cGVydGllcyhlbnVtIGgyNjRfZW5jb2Rlcl90eXBlIHR5cGUpCisreworKwlVTlVTRURfUEFSQU1F VEVSKHR5cGUpOyAvLyBPbmx5IG9uZSBlbmNvZGVyIHJpZ2h0IG5vdy4uLgorKwlvYnNfcHJvcGVy dGllc190ICpwcm9wcyA9IG9ic19wcm9wZXJ0aWVzX2NyZWF0ZSgpOworKwlvYnNfcHJvcGVydHlf dCAqcDsKKysKKysJcCA9IG9ic19wcm9wZXJ0aWVzX2FkZF9saXN0KHByb3BzLCAicHJvZmlsZSIs CisrCQkJCSAgICBvYnNfbW9kdWxlX3RleHQoIlByb2ZpbGUiKSwKKysJCQkJICAgIE9CU19DT01C T19UWVBFX0xJU1QsCisrCQkJCSAgICBPQlNfQ09NQk9fRk9STUFUX1NUUklORyk7CisrCW9ic19w cm9wZXJ0eV9saXN0X2FkZF9zdHJpbmcocCwgImNvbnN0cmFpbmVkX2Jhc2VsaW5lIiwKKysJCQkJ ICAgICAiY29uc3RyYWluZWRfYmFzZWxpbmUiKTsKKysJb2JzX3Byb3BlcnR5X2xpc3RfYWRkX3N0 cmluZyhwLCAibWFpbiIsICJtYWluIik7CisrCW9ic19wcm9wZXJ0eV9saXN0X2FkZF9zdHJpbmco cCwgImhpZ2giLCAiaGlnaCIpOworKworKwlwID0gb2JzX3Byb3BlcnRpZXNfYWRkX2ludChwcm9w cywgImJpdHJhdGUiLCBvYnNfbW9kdWxlX3RleHQoIkJpdHJhdGUiKSwKKysJCQkJICAgNTAsIDMw MDAwMCwgNTApOworKwlvYnNfcHJvcGVydHlfaW50X3NldF9zdWZmaXgocCwgIiBLYnBzIik7Cisr CisrCW9ic19wcm9wZXJ0aWVzX2FkZF90ZXh0KHByb3BzLCAiZmZtcGVnX29wdHMiLAorKwkJCQlv YnNfbW9kdWxlX3RleHQoIkZGbXBlZ09wdHMiKSwKKysJCQkJT0JTX1RFWFRfREVGQVVMVCk7Cisr CisrCXJldHVybiBwcm9wczsKKyt9CisrCisrb2JzX3Byb3BlcnRpZXNfdCAqb2gyNjRfcHJvcGVy dGllcyh2b2lkICp1bnVzZWQpCisreworKwlVTlVTRURfUEFSQU1FVEVSKHVudXNlZCk7CisrCXJl dHVybiBoMjY0X3Byb3BlcnRpZXMoSDI2NF9FTkNPREVSX1RZUEVfT0gyNjQpOworK30KKysKKytz dGF0aWMgYm9vbCBoMjY0X2V4dHJhX2RhdGEodm9pZCAqZGF0YSwgdWludDhfdCAqKmV4dHJhX2Rh dGEsIHNpemVfdCAqc2l6ZSkKKyt7CisrCXN0cnVjdCBoMjY0X2VuY29kZXIgKmVuYyA9IGRhdGE7 CisrCisrCSpleHRyYV9kYXRhID0gZW5jLT5oZWFkZXIuYXJyYXk7CisrCSpzaXplID0gZW5jLT5o ZWFkZXIubnVtOworKwlyZXR1cm4gdHJ1ZTsKKyt9CisrCisrc3RydWN0IG9ic19lbmNvZGVyX2lu Zm8gb2gyNjRfZW5jb2Rlcl9pbmZvID0geworKwkuaWQgPSAiZmZtcGVnX29wZW5oMjY0IiwKKysJ LnR5cGUgPSBPQlNfRU5DT0RFUl9WSURFTywKKysJLmNvZGVjID0gImgyNjQiLAorKwkuZ2V0X25h bWUgPSBvaDI2NF9nZXRuYW1lLAorKwkuY3JlYXRlID0gb2gyNjRfY3JlYXRlLAorKwkuZGVzdHJv eSA9IGgyNjRfZGVzdHJveSwKKysJLmVuY29kZSA9IGgyNjRfZW5jb2RlLAorKwkuZ2V0X2RlZmF1 bHRzID0gaDI2NF9kZWZhdWx0cywKKysJLmdldF9wcm9wZXJ0aWVzID0gb2gyNjRfcHJvcGVydGll cywKKysJLmdldF9leHRyYV9kYXRhID0gaDI2NF9leHRyYV9kYXRhLAorKwkuZ2V0X3ZpZGVvX2lu Zm8gPSBoMjY0X3ZpZGVvX2luZm8sCisrfTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL29icy1mZm1w ZWcvb2JzLWZmbXBlZy5jIGIvcGx1Z2lucy9vYnMtZmZtcGVnL29icy1mZm1wZWcuYworaW5kZXgg ZGEwYjJjMmI0Li5hMDFhNzI5YzggMTAwNjQ0CistLS0gYS9wbHVnaW5zL29icy1mZm1wZWcvb2Jz LWZmbXBlZy5jCisrKysgYi9wbHVnaW5zL29icy1mZm1wZWcvb2JzLWZmbXBlZy5jCitAQCAtMzks NiArMzksNyBAQCBleHRlcm4gc3RydWN0IG9ic19lbmNvZGVyX2luZm8gcGNtMjRfZW5jb2Rlcl9p bmZvOworIGV4dGVybiBzdHJ1Y3Qgb2JzX2VuY29kZXJfaW5mbyBwY20zMl9lbmNvZGVyX2luZm87 CisgZXh0ZXJuIHN0cnVjdCBvYnNfZW5jb2Rlcl9pbmZvIGFsYWNfZW5jb2Rlcl9pbmZvOworIGV4 dGVybiBzdHJ1Y3Qgb2JzX2VuY29kZXJfaW5mbyBmbGFjX2VuY29kZXJfaW5mbzsKKytleHRlcm4g c3RydWN0IG9ic19lbmNvZGVyX2luZm8gb2gyNjRfZW5jb2Rlcl9pbmZvOworIGV4dGVybiBzdHJ1 Y3Qgb2JzX2VuY29kZXJfaW5mbyBoMjY0X252ZW5jX2VuY29kZXJfaW5mbzsKKyAjaWZkZWYgRU5B QkxFX0hFVkMKKyBleHRlcm4gc3RydWN0IG9ic19lbmNvZGVyX2luZm8gaGV2Y19udmVuY19lbmNv ZGVyX2luZm87CitAQCAtMzg3LDYgKzM4OCw3IEBAIGJvb2wgb2JzX21vZHVsZV9sb2FkKHZvaWQp CisgCW9ic19yZWdpc3Rlcl9vdXRwdXQoJmZmbXBlZ19obHNfbXV4ZXIpOworIAlvYnNfcmVnaXN0 ZXJfb3V0cHV0KCZyZXBsYXlfYnVmZmVyKTsKKyAJb2JzX3JlZ2lzdGVyX2VuY29kZXIoJmFhY19l bmNvZGVyX2luZm8pOworKwlyZWdpc3Rlcl9lbmNvZGVyX2lmX2F2YWlsYWJsZSgmb2gyNjRfZW5j b2Rlcl9pbmZvLCAibGlib3BlbmgyNjQiKTsKKyAJcmVnaXN0ZXJfZW5jb2Rlcl9pZl9hdmFpbGFi bGUoJnN2dF9hdjFfZW5jb2Rlcl9pbmZvLCAibGlic3Z0YXYxIik7CisgCXJlZ2lzdGVyX2VuY29k ZXJfaWZfYXZhaWxhYmxlKCZhb21fYXYxX2VuY29kZXJfaW5mbywgImxpYmFvbS1hdjEiKTsKKyAJ b2JzX3JlZ2lzdGVyX2VuY29kZXIoJm9wdXNfZW5jb2Rlcl9pbmZvKTsKKy0tIAorMi4zOS4yCisK CmRpZmYgLS1naXQgYS8wMDAzLVVJLUFkZC1zdXBwb3J0LWZvci1PcGVuSDI2NC1hcy10aGUtd29y c3QtY2FzZS1mYWxsYmEucGF0Y2ggYi8wMDAzLVVJLUFkZC1zdXBwb3J0LWZvci1PcGVuSDI2NC1h cy10aGUtd29yc3QtY2FzZS1mYWxsYmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uY2I1MjUxNAotLS0gL2Rldi9udWxsCisrKyBiLzAwMDMtVUktQWRkLXN1cHBvcnQt Zm9yLU9wZW5IMjY0LWFzLXRoZS13b3JzdC1jYXNlLWZhbGxiYS5wYXRjaApAQCAtMCwwICsxLDU0 NSBAQAorRnJvbSAzMGY4NDQ1NTk2OTA3MWZmOWFhODI2YTQ0NDM4YTA0MDJkZDE1MTIzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTmVhbCBHb21wYSA8bmVhbEBnb21wYS5kZXY+CitE YXRlOiBUdWUsIDI4IE1hciAyMDIzIDA1OjA4OjQ5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMy8z XSBVSTogQWRkIHN1cHBvcnQgZm9yIE9wZW5IMjY0IGFzIHRoZSB3b3JzdC1jYXNlIGZhbGxiYWNr CisKK09wZW5IMjY0IGV4aXN0cyBhcyB0aGUgY29kZWMgb2YgbGFzdCByZXNvcnQsIHNvIGl0IGlz IGltcGxlbWVudGVkCitzdWNoIHRoYXQgaXQgaXMgb25seSB1c2VkIGFzIHRoZSBzb2Z0d2FyZSBj b2RlYyBpZiB4MjY0IGlzIG5vdAorYXZhaWxhYmxlLgorLS0tCisgVUkvZGF0YS9sb2NhbGUvZW4t VVMuaW5pICAgICAgICAgICAgIHwgIDEgKworIFVJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZpZy10 ZXN0LmNwcCB8IDUwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyBVSS93aW5kb3ctYmFz aWMtYXV0by1jb25maWcuY3BwICAgICAgfCAxNSArKysrKysrKy0KKyBVSS93aW5kb3ctYmFzaWMt YXV0by1jb25maWcuaHBwICAgICAgfCAgMyArKworIFVJL3dpbmRvdy1iYXNpYy1tYWluLW91dHB1 dHMuY3BwICAgICB8ICA2ICsrLS0KKyBVSS93aW5kb3ctYmFzaWMtbWFpbi1wcm9maWxlcy5jcHAg ICAgfCAzNCArKysrKysrKysrKy0tLS0tLS0tCisgVUkvd2luZG93LWJhc2ljLW1haW4uY3BwICAg ICAgICAgICAgIHwgMjAgKysrKysrKy0tLS0KKyBVSS93aW5kb3ctYmFzaWMtbWFpbi5ocHAgICAg ICAgICAgICAgfCAgMyArLQorIFVJL3dpbmRvdy1iYXNpYy1zZXR0aW5ncy1zdHJlYW0uY3BwICB8 IDE2ICsrKysrKy0tLQorIFVJL3dpbmRvdy1iYXNpYy1zZXR0aW5ncy5jcHAgICAgICAgICB8IDIz ICsrKysrKysrKystLS0KKyAxMCBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9ucygrKSwgNDgg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9VSS9kYXRhL2xvY2FsZS9lbi1VUy5pbmkgYi9V SS9kYXRhL2xvY2FsZS9lbi1VUy5pbmkKK2luZGV4IGU0NGQ5OTY2MC4uYTViYTVkNjYxIDEwMDY0 NAorLS0tIGEvVUkvZGF0YS9sb2NhbGUvZW4tVVMuaW5pCisrKysgYi9VSS9kYXRhL2xvY2FsZS9l bi1VUy5pbmkKK0BAIC05ODAsNiArOTgwLDcgQEAgQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBs ZS5XYXJuLkVuY29kZXI9Ildhcm5pbmc6IFJlY29yZGluZyB3aXRoIGEgc29mdHdhcmUgZW4KKyBC YXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxlLldhcm4uTG9zc2xlc3M9Ildhcm5pbmc6IExvc3Ns ZXNzIHF1YWxpdHkgZ2VuZXJhdGVzIHRyZW1lbmRvdXNseSBsYXJnZSBmaWxlIHNpemVzISBMb3Nz bGVzcyBxdWFsaXR5IGNhbiB1c2UgdXB3YXJkIG9mIDcgZ2lnYWJ5dGVzIG9mIGRpc2sgc3BhY2Ug cGVyIG1pbnV0ZSBhdCBoaWdoIHJlc29sdXRpb25zIGFuZCBmcmFtZXJhdGVzLiBMb3NzbGVzcyBp cyBub3QgcmVjb21tZW5kZWQgZm9yIGxvbmcgcmVjb3JkaW5ncyB1bmxlc3MgeW91IGhhdmUgYSB2 ZXJ5IGxhcmdlIGFtb3VudCBvZiBkaXNrIHNwYWNlIGF2YWlsYWJsZS4iCisgQmFzaWMuU2V0dGlu Z3MuT3V0cHV0LlNpbXBsZS5XYXJuLkxvc3NsZXNzLk1zZz0iQXJlIHlvdSBzdXJlIHlvdSB3YW50 IHRvIHVzZSBsb3NzbGVzcyBxdWFsaXR5PyIKKyBCYXNpYy5TZXR0aW5ncy5PdXRwdXQuU2ltcGxl Lldhcm4uTG9zc2xlc3MuVGl0bGU9Ikxvc3NsZXNzIHF1YWxpdHkgd2FybmluZyEiCisrQmFzaWMu U2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVyLlNvZnR3YXJlLk9wZW5IMjY0LkgyNjQ9IlNv ZnR3YXJlIChPcGVuSDI2NCkiCisgQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVy LlNvZnR3YXJlLlgyNjQuSDI2ND0iU29mdHdhcmUgKHgyNjQpIgorIEJhc2ljLlNldHRpbmdzLk91 dHB1dC5TaW1wbGUuRW5jb2Rlci5IYXJkd2FyZS5RU1YuSDI2ND0iSGFyZHdhcmUgKFFTViwgSC4y NjQpIgorIEJhc2ljLlNldHRpbmdzLk91dHB1dC5TaW1wbGUuRW5jb2Rlci5IYXJkd2FyZS5RU1Yu QVYxPSJIYXJkd2FyZSAoUVNWLCBBVjEpIgorZGlmZiAtLWdpdCBhL1VJL3dpbmRvdy1iYXNpYy1h dXRvLWNvbmZpZy10ZXN0LmNwcCBiL1VJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZpZy10ZXN0LmNw cAoraW5kZXggMDk5NzljMDMxLi5jNzkxYzhiOGIgMTAwNjQ0CistLS0gYS9VSS93aW5kb3ctYmFz aWMtYXV0by1jb25maWctdGVzdC5jcHAKKysrKyBiL1VJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZp Zy10ZXN0LmNwcAorQEAgLTE5OSw3ICsxOTksOCBAQCB2b2lkIEF1dG9Db25maWdUZXN0UGFnZTo6 VGVzdEJhbmR3aWR0aFRocmVhZCgpCisgCQkJCQkJICAgOiAicnRtcF9jb21tb24iOworIAorIAlP QlNFbmNvZGVyQXV0b1JlbGVhc2UgdmVuY29kZXIgPSBvYnNfdmlkZW9fZW5jb2Rlcl9jcmVhdGUo CistCQkib2JzX3gyNjQiLCAidGVzdF94MjY0IiwgbnVsbHB0ciwgbnVsbHB0cik7CisrCQkod2l6 LT54MjY0QXZhaWxhYmxlID8gIm9ic194MjY0IiA6ICJmZm1wZWdfb3BlbmgyNjQiKSwKKysJCSJ0 ZXN0X2gyNjQiLCBudWxscHRyLCBudWxscHRyKTsKKyAJT0JTRW5jb2RlckF1dG9SZWxlYXNlIGFl bmNvZGVyID0gb2JzX2F1ZGlvX2VuY29kZXJfY3JlYXRlKAorIAkJImZmbXBlZ19hYWMiLCAidGVz dF9hYWMiLCBudWxscHRyLCAwLCBudWxscHRyKTsKKyAJT0JTU2VydmljZUF1dG9SZWxlYXNlIHNl cnZpY2UgPSBvYnNfc2VydmljZV9jcmVhdGUoCitAQCAtMjM4LDEwICsyMzksMTEgQEAgdm9pZCBB dXRvQ29uZmlnVGVzdFBhZ2U6OlRlc3RCYW5kd2lkdGhUaHJlYWQoKQorIAlvYnNfZGF0YV9zZXRf c3RyaW5nKHNlcnZpY2Vfc2V0dGluZ3MsICJrZXkiLCBrZXkuY19zdHIoKSk7CisgCisgCW9ic19k YXRhX3NldF9pbnQodmVuY29kZXJfc2V0dGluZ3MsICJiaXRyYXRlIiwgd2l6LT5zdGFydGluZ0Jp dHJhdGUpOworLQlvYnNfZGF0YV9zZXRfc3RyaW5nKHZlbmNvZGVyX3NldHRpbmdzLCAicmF0ZV9j b250cm9sIiwgIkNCUiIpOworLQlvYnNfZGF0YV9zZXRfc3RyaW5nKHZlbmNvZGVyX3NldHRpbmdz LCAicHJlc2V0IiwgInZlcnlmYXN0Iik7CistCW9ic19kYXRhX3NldF9pbnQodmVuY29kZXJfc2V0 dGluZ3MsICJrZXlpbnRfc2VjIiwgMik7CistCisrCWlmICh3aXotPngyNjRBdmFpbGFibGUpIHsK KysJCW9ic19kYXRhX3NldF9zdHJpbmcodmVuY29kZXJfc2V0dGluZ3MsICJyYXRlX2NvbnRyb2wi LCAiQ0JSIik7CisrCQlvYnNfZGF0YV9zZXRfc3RyaW5nKHZlbmNvZGVyX3NldHRpbmdzLCAicHJl c2V0IiwgInZlcnlmYXN0Iik7CisrCQlvYnNfZGF0YV9zZXRfaW50KHZlbmNvZGVyX3NldHRpbmdz LCAia2V5aW50X3NlYyIsIDIpOworKwl9CisgCW9ic19kYXRhX3NldF9pbnQoYWVuY29kZXJfc2V0 dGluZ3MsICJiaXRyYXRlIiwgMzIpOworIAorIAlPQlNCYXNpYyAqbWFpbiA9IHJlaW50ZXJwcmV0 X2Nhc3Q8T0JTQmFzaWMgKj4oQXBwKCktPkdldE1haW5XaW5kb3coKSk7CitAQCAtNTY3LDcgKzU2 OSw4IEBAIGJvb2wgQXV0b0NvbmZpZ1Rlc3RQYWdlOjpUZXN0U29mdHdhcmVFbmNvZGluZygpCisg CS8qIGNyZWF0ZSBvYnMgb2JqZWN0cyAgICAgICAgICAgICAgICAgKi8KKyAKKyAJT0JTRW5jb2Rl ckF1dG9SZWxlYXNlIHZlbmNvZGVyID0gb2JzX3ZpZGVvX2VuY29kZXJfY3JlYXRlKAorLQkJIm9i c194MjY0IiwgInRlc3RfeDI2NCIsIG51bGxwdHIsIG51bGxwdHIpOworKwkJKHdpei0+eDI2NEF2 YWlsYWJsZSA/ICJvYnNfeDI2NCIgOiAiZmZtcGVnX29wZW5oMjY0IiksCisrCQkidGVzdF9oMjY0 IiwgbnVsbHB0ciwgbnVsbHB0cik7CisgCU9CU0VuY29kZXJBdXRvUmVsZWFzZSBhZW5jb2RlciA9 IG9ic19hdWRpb19lbmNvZGVyX2NyZWF0ZSgKKyAJCSJmZm1wZWdfYWFjIiwgInRlc3RfYWFjIiwg bnVsbHB0ciwgMCwgbnVsbHB0cik7CisgCU9CU091dHB1dEF1dG9SZWxlYXNlIG91dHB1dCA9CitA QCAtNTgxLDE3ICs1ODQsMjUgQEAgYm9vbCBBdXRvQ29uZmlnVGVzdFBhZ2U6OlRlc3RTb2Z0d2Fy ZUVuY29kaW5nKCkKKyAJb2JzX2RhdGFfc2V0X2ludChhZW5jb2Rlcl9zZXR0aW5ncywgImJpdHJh dGUiLCAzMik7CisgCisgCWlmICh3aXotPnR5cGUgIT0gQXV0b0NvbmZpZzo6VHlwZTo6UmVjb3Jk aW5nKSB7CistCQlvYnNfZGF0YV9zZXRfaW50KHZlbmNvZGVyX3NldHRpbmdzLCAia2V5aW50X3Nl YyIsIDIpOworKwkJaWYgKHdpei0+eDI2NEF2YWlsYWJsZSkgeworKwkJCW9ic19kYXRhX3NldF9p bnQodmVuY29kZXJfc2V0dGluZ3MsICJrZXlpbnRfc2VjIiwgMik7CisrCQkJb2JzX2RhdGFfc2V0 X3N0cmluZyh2ZW5jb2Rlcl9zZXR0aW5ncywgInJhdGVfY29udHJvbCIsCisrCQkJCQkgICAgIkNC UiIpOworKwkJCW9ic19kYXRhX3NldF9zdHJpbmcodmVuY29kZXJfc2V0dGluZ3MsICJwcmVzZXQi LAorKwkJCQkJICAgICJ2ZXJ5ZmFzdCIpOworKwkJfQorIAkJb2JzX2RhdGFfc2V0X2ludCh2ZW5j b2Rlcl9zZXR0aW5ncywgImJpdHJhdGUiLAorIAkJCQkgd2l6LT5pZGVhbEJpdHJhdGUpOworLQkJ b2JzX2RhdGFfc2V0X3N0cmluZyh2ZW5jb2Rlcl9zZXR0aW5ncywgInJhdGVfY29udHJvbCIsICJD QlIiKTsKKyAJCW9ic19kYXRhX3NldF9zdHJpbmcodmVuY29kZXJfc2V0dGluZ3MsICJwcm9maWxl IiwgIm1haW4iKTsKKy0JCW9ic19kYXRhX3NldF9zdHJpbmcodmVuY29kZXJfc2V0dGluZ3MsICJw cmVzZXQiLCAidmVyeWZhc3QiKTsKKyAJfSBlbHNlIHsKKy0JCW9ic19kYXRhX3NldF9pbnQodmVu Y29kZXJfc2V0dGluZ3MsICJjcmYiLCAyMCk7CistCQlvYnNfZGF0YV9zZXRfc3RyaW5nKHZlbmNv ZGVyX3NldHRpbmdzLCAicmF0ZV9jb250cm9sIiwgIkNSRiIpOworKwkJaWYgKHdpei0+eDI2NEF2 YWlsYWJsZSkgeworKwkJCW9ic19kYXRhX3NldF9pbnQodmVuY29kZXJfc2V0dGluZ3MsICJjcmYi LCAyMCk7CisrCQkJb2JzX2RhdGFfc2V0X3N0cmluZyh2ZW5jb2Rlcl9zZXR0aW5ncywgInJhdGVf Y29udHJvbCIsCisrCQkJCQkgICAgIkNSRiIpOworKwkJCW9ic19kYXRhX3NldF9zdHJpbmcodmVu Y29kZXJfc2V0dGluZ3MsICJwcmVzZXQiLAorKwkJCQkJICAgICJ2ZXJ5ZmFzdCIpOworKwkJfQor IAkJb2JzX2RhdGFfc2V0X3N0cmluZyh2ZW5jb2Rlcl9zZXR0aW5ncywgInByb2ZpbGUiLCAiaGln aCIpOworLQkJb2JzX2RhdGFfc2V0X3N0cmluZyh2ZW5jb2Rlcl9zZXR0aW5ncywgInByZXNldCIs ICJ2ZXJ5ZmFzdCIpOworIAl9CisgCisgCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKi8KK0BAIC05NDQsNyArOTU1LDEwIEBAIHZvaWQgQXV0b0NvbmZpZ1Rlc3RQYWdlOjpU ZXN0U3RyZWFtRW5jb2RlclRocmVhZCgpCisgCQllbHNlCisgCQkJd2l6LT5zdHJlYW1pbmdFbmNv ZGVyID0gQXV0b0NvbmZpZzo6RW5jb2Rlcjo6QU1EOworIAl9IGVsc2UgeworLQkJd2l6LT5zdHJl YW1pbmdFbmNvZGVyID0gQXV0b0NvbmZpZzo6RW5jb2Rlcjo6eDI2NDsKKysJCWlmICh3aXotPngy NjRBdmFpbGFibGUpCisrCQkJd2l6LT5zdHJlYW1pbmdFbmNvZGVyID0gQXV0b0NvbmZpZzo6RW5j b2Rlcjo6eDI2NDsKKysJCWVsc2UKKysJCQl3aXotPnN0cmVhbWluZ0VuY29kZXIgPSBBdXRvQ29u ZmlnOjpFbmNvZGVyOjpPcGVuSDI2NDsKKyAJfQorIAorIAlpZiAocHJlZmVySGFyZHdhcmUgJiYg IXNvZnR3YXJlVGVzdGVkICYmIHdpei0+aGFyZHdhcmVFbmNvZGluZ0F2YWlsYWJsZSkKK0BAIC05 NzksNyArOTkzLDEwIEBAIHZvaWQgQXV0b0NvbmZpZ1Rlc3RQYWdlOjpUZXN0UmVjb3JkaW5nRW5j b2RlclRocmVhZCgpCisgCQllbHNlCisgCQkJd2l6LT5yZWNvcmRpbmdFbmNvZGVyID0gQXV0b0Nv bmZpZzo6RW5jb2Rlcjo6QU1EOworIAl9IGVsc2UgeworLQkJd2l6LT5yZWNvcmRpbmdFbmNvZGVy ID0gQXV0b0NvbmZpZzo6RW5jb2Rlcjo6eDI2NDsKKysJCWlmICh3aXotPngyNjRBdmFpbGFibGUp CisrCQkJd2l6LT5zdHJlYW1pbmdFbmNvZGVyID0gQXV0b0NvbmZpZzo6RW5jb2Rlcjo6eDI2NDsK KysJCWVsc2UKKysJCQl3aXotPnN0cmVhbWluZ0VuY29kZXIgPSBBdXRvQ29uZmlnOjpFbmNvZGVy OjpPcGVuSDI2NDsKKyAJfQorIAorIAlpZiAod2l6LT5yZWNvcmRpbmdFbmNvZGVyICE9IEF1dG9D b25maWc6OkVuY29kZXI6Ok5WRU5DKSB7CitAQCAtOTkzLDYgKzEwMTAsNyBAQCB2b2lkIEF1dG9D b25maWdUZXN0UGFnZTo6VGVzdFJlY29yZGluZ0VuY29kZXJUaHJlYWQoKQorIH0KKyAKKyAjZGVm aW5lIEVOQ09ERVJfVEVYVCh4KSAiQmFzaWMuU2V0dGluZ3MuT3V0cHV0LlNpbXBsZS5FbmNvZGVy LiIgeAorKyNkZWZpbmUgRU5DT0RFUl9PUEVOSDI2NCBFTkNPREVSX1RFWFQoIlNvZnR3YXJlLk9w ZW5IMjY0LkgyNjQiKQorICNkZWZpbmUgRU5DT0RFUl9YMjY0IEVOQ09ERVJfVEVYVCgiU29mdHdh cmUuWDI2NC5IMjY0IikKKyAjZGVmaW5lIEVOQ09ERVJfTlZFTkMgRU5DT0RFUl9URVhUKCJIYXJk d2FyZS5OVkVOQy5IMjY0IikKKyAjZGVmaW5lIEVOQ09ERVJfUVNWIEVOQ09ERVJfVEVYVCgiSGFy ZHdhcmUuUVNWLkgyNjQiKQorQEAgLTEwMzIsNiArMTA1MCw4IEBAIHZvaWQgQXV0b0NvbmZpZ1Rl c3RQYWdlOjpGaW5hbGl6ZVJlc3VsdHMoKQorIAorIAlhdXRvIGVuY05hbWUgPSBbXShBdXRvQ29u ZmlnOjpFbmNvZGVyIGVuYykgLT4gUVN0cmluZyB7CisgCQlzd2l0Y2ggKGVuYykgeworKwkJY2Fz ZSBBdXRvQ29uZmlnOjpFbmNvZGVyOjpPcGVuSDI2NDoKKysJCQlyZXR1cm4gUVRTdHIoRU5DT0RF Ul9PUEVOSDI2NCk7CisgCQljYXNlIEF1dG9Db25maWc6OkVuY29kZXI6OngyNjQ6CisgCQkJcmV0 dXJuIFFUU3RyKEVOQ09ERVJfWDI2NCk7CisgCQljYXNlIEF1dG9Db25maWc6OkVuY29kZXI6Ok5W RU5DOgorQEAgLTEwNDYsNyArMTA2Niw3IEBAIHZvaWQgQXV0b0NvbmZpZ1Rlc3RQYWdlOjpGaW5h bGl6ZVJlc3VsdHMoKQorIAkJCXJldHVybiBRVFN0cihRVUFMSVRZX1NBTUUpOworIAkJfQorIAor LQkJcmV0dXJuIFFUU3RyKEVOQ09ERVJfWDI2NCk7CisrCQlyZXR1cm4gUVRTdHIoRU5DT0RFUl9P UEVOSDI2NCk7CisgCX07CisgCisgCWF1dG8gbmV3TGFiZWwgPSBbdGhpc10oY29uc3QgY2hhciAq c3RyKSAtPiBRTGFiZWwgKiB7CitkaWZmIC0tZ2l0IGEvVUkvd2luZG93LWJhc2ljLWF1dG8tY29u ZmlnLmNwcCBiL1VJL3dpbmRvdy1iYXNpYy1hdXRvLWNvbmZpZy5jcHAKK2luZGV4IDNlOWMzNjY4 NS4uZWFjZTE4MDY3IDEwMDY0NAorLS0tIGEvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLmNw cAorKysrIGIvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLmNwcAorQEAgLTk2MSw2ICs5NjEs NyBAQCBBdXRvQ29uZmlnOjpBdXRvQ29uZmlnKFFXaWRnZXQgKnBhcmVudCkgOiBRV2l6YXJkKHBh cmVudCkKKyAJc3RyZWFtUGFnZS0+dWktPmJpdHJhdGUtPnNldFZhbHVlKGJpdHJhdGUpOworIAlz dHJlYW1QYWdlLT5TZXJ2aWNlQ2hhbmdlZCgpOworIAorKwlUZXN0U29mdHdhcmVFbmNvZGluZygp OworIAlUZXN0SGFyZHdhcmVFbmNvZGluZygpOworIAlpZiAoIWhhcmR3YXJlRW5jb2RpbmdBdmFp bGFibGUpIHsKKyAJCWRlbGV0ZSBzdHJlYW1QYWdlLT51aS0+cHJlZmVySGFyZHdhcmU7CitAQCAt OTg5LDYgKzk5MCwxNiBAQCBBdXRvQ29uZmlnOjp+QXV0b0NvbmZpZygpCisgCUVuYWJsZVRocmVh ZGVkTWVzc2FnZUJveGVzKGZhbHNlKTsKKyB9CisgCisrdm9pZCBBdXRvQ29uZmlnOjpUZXN0U29m dHdhcmVFbmNvZGluZygpCisreworKwlzaXplX3QgaWR4ID0gMDsKKysJY29uc3QgY2hhciAqaWQ7 CisrCXdoaWxlIChvYnNfZW51bV9lbmNvZGVyX3R5cGVzKGlkeCsrLCAmaWQpKSB7CisrCQlpZiAo c3RyY21wKGlkLCAib2JzX3gyNjQiKSA9PSAwKQorKwkJCXgyNjRBdmFpbGFibGUgPSB0cnVlOwor Kwl9CisrfQorKworIHZvaWQgQXV0b0NvbmZpZzo6VGVzdEhhcmR3YXJlRW5jb2RpbmcoKQorIHsK KyAJc2l6ZV90IGlkeCA9IDA7CitAQCAtMTA2MSw4ICsxMDcyLDEwIEBAIGlubGluZSBjb25zdCBj aGFyICpBdXRvQ29uZmlnOjpHZXRFbmNvZGVySWQoRW5jb2RlciBlbmMpCisgCQlyZXR1cm4gU0lN UExFX0VOQ09ERVJfQU1EOworIAljYXNlIEVuY29kZXI6OkFwcGxlOgorIAkJcmV0dXJuIFNJTVBM RV9FTkNPREVSX0FQUExFX0gyNjQ7CistCWRlZmF1bHQ6CisrCWNhc2UgRW5jb2Rlcjo6eDI2NDoK KyAJCXJldHVybiBTSU1QTEVfRU5DT0RFUl9YMjY0OworKwlkZWZhdWx0OgorKwkJcmV0dXJuIFNJ TVBMRV9FTkNPREVSX09QRU5IMjY0OworIAl9CisgfTsKKyAKK2RpZmYgLS1naXQgYS9VSS93aW5k b3ctYmFzaWMtYXV0by1jb25maWcuaHBwIGIvVUkvd2luZG93LWJhc2ljLWF1dG8tY29uZmlnLmhw cAoraW5kZXggZWI1MDcwMWZmLi5lNTgxNzkxZGQgMTAwNjQ0CistLS0gYS9VSS93aW5kb3ctYmFz aWMtYXV0by1jb25maWcuaHBwCisrKysgYi9VSS93aW5kb3ctYmFzaWMtYXV0by1jb25maWcuaHBw CitAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBBdXRvQ29uZmlnIDogcHVibGljIFFXaXphcmQgewor IAl9OworIAorIAllbnVtIGNsYXNzIEVuY29kZXIgeworKwkJT3BlbkgyNjQsCisgCQl4MjY0LAor IAkJTlZFTkMsCisgCQlRU1YsCitAQCAtOTEsNiArOTIsNyBAQCBjbGFzcyBBdXRvQ29uZmlnIDog cHVibGljIFFXaXphcmQgeworIAlib29sIHFzdkF2YWlsYWJsZSA9IGZhbHNlOworIAlib29sIHZj ZUF2YWlsYWJsZSA9IGZhbHNlOworIAlib29sIGFwcGxlQXZhaWxhYmxlID0gZmFsc2U7CisrCWJv b2wgeDI2NEF2YWlsYWJsZSA9IGZhbHNlOworIAorIAlpbnQgc3RhcnRpbmdCaXRyYXRlID0gMjUw MDsKKyAJYm9vbCBjdXN0b21TZXJ2ZXIgPSBmYWxzZTsKK0BAIC0xMDYsNiArMTA4LDcgQEAgY2xh c3MgQXV0b0NvbmZpZyA6IHB1YmxpYyBRV2l6YXJkIHsKKyAJaW50IHNwZWNpZmljRlBTTnVtID0g MDsKKyAJaW50IHNwZWNpZmljRlBTRGVuID0gMDsKKyAKKysJdm9pZCBUZXN0U29mdHdhcmVFbmNv ZGluZygpOworIAl2b2lkIFRlc3RIYXJkd2FyZUVuY29kaW5nKCk7CisgCWJvb2wgQ2FuVGVzdFNl cnZlcihjb25zdCBjaGFyICpzZXJ2ZXIpOworIAorZGlmZiAtLWdpdCBhL1VJL3dpbmRvdy1iYXNp Yy1tYWluLW91dHB1dHMuY3BwIGIvVUkvd2luZG93LWJhc2ljLW1haW4tb3V0cHV0cy5jcHAKK2lu ZGV4IDczN2FiOTY2ZC4uYTRkZjYzMGM0IDEwMDY0NAorLS0tIGEvVUkvd2luZG93LWJhc2ljLW1h aW4tb3V0cHV0cy5jcHAKKysrKyBiL1VJL3dpbmRvdy1iYXNpYy1tYWluLW91dHB1dHMuY3BwCitA QCAtNTE1LDcgKzUxNSw5IEBAIHZvaWQgU2ltcGxlT3V0cHV0OjpMb2FkU3RyZWFtaW5nUHJlc2V0 X0xvc3N5KGNvbnN0IGNoYXIgKmVuY29kZXJJZCkKKyAvKiBtaXN0YWtlcyBoYXZlIGJlZW4gbWFk ZSB0byBsZWFkIHVzIHRvIHRoaXMuICovCisgY29uc3QgY2hhciAqZ2V0X3NpbXBsZV9vdXRwdXRf ZW5jb2Rlcihjb25zdCBjaGFyICplbmNvZGVyKQorIHsKKy0JaWYgKHN0cmNtcChlbmNvZGVyLCBT SU1QTEVfRU5DT0RFUl9YMjY0KSA9PSAwKSB7CisrCWlmIChzdHJjbXAoZW5jb2RlciwgU0lNUExF X0VOQ09ERVJfT1BFTkgyNjQpID09IDApIHsKKysJCXJldHVybiAiZmZtcGVnX29wZW5oMjY0IjsK KysJfSBlbHNlIGlmIChzdHJjbXAoZW5jb2RlciwgU0lNUExFX0VOQ09ERVJfWDI2NCkgPT0gMCkg eworIAkJcmV0dXJuICJvYnNfeDI2NCI7CisgCX0gZWxzZSBpZiAoc3RyY21wKGVuY29kZXIsIFNJ TVBMRV9FTkNPREVSX1gyNjRfTE9XQ1BVKSA9PSAwKSB7CisgCQlyZXR1cm4gIm9ic194MjY0IjsK K0BAIC01NDksNyArNTUxLDcgQEAgY29uc3QgY2hhciAqZ2V0X3NpbXBsZV9vdXRwdXRfZW5jb2Rl cihjb25zdCBjaGFyICplbmNvZGVyKQorICNlbmRpZgorIAl9CisgCistCXJldHVybiAib2JzX3gy NjQiOworKwlyZXR1cm4gImZmbXBlZ19vcGVuaDI2NCI7CisgfQorIAorIHZvaWQgU2ltcGxlT3V0 cHV0OjpMb2FkUmVjb3JkaW5nUHJlc2V0KCkKK2RpZmYgLS1naXQgYS9VSS93aW5kb3ctYmFzaWMt bWFpbi1wcm9maWxlcy5jcHAgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi1wcm9maWxlcy5jcHAKK2lu ZGV4IDQ5NDEzNTllYS4uMWYzZmZkYzFkIDEwMDY0NAorLS0tIGEvVUkvd2luZG93LWJhc2ljLW1h aW4tcHJvZmlsZXMuY3BwCisrKysgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi1wcm9maWxlcy5jcHAK K0BAIC03OTQsNyArNzk0LDcgQEAgdm9pZCBPQlNCYXNpYzo6Q2hhbmdlUHJvZmlsZSgpCisgCisg CUF1dGg6OkxvYWQoKTsKKyAKKy0JQ2hlY2tGb3JTaW1wbGVNb2RlWDI2NEZhbGxiYWNrKCk7Cisr CUNoZWNrRm9yU2ltcGxlTW9kZUgyNjRGYWxsYmFjaygpOworIAorIAlibG9nKExPR19JTkZPLCAi U3dpdGNoZWQgdG8gcHJvZmlsZSAnJXMnICglcykiLCBuZXdOYW1lLCBuZXdEaXIpOworIAlibG9n KExPR19JTkZPLCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tIik7CitAQCAtODE1LDEyICs4MTUsMTMgQEAgdm9pZCBPQlNCYXNpYzo6Q2hhbmdlUHJvZmls ZSgpCisgCX0KKyB9CisgCistdm9pZCBPQlNCYXNpYzo6Q2hlY2tGb3JTaW1wbGVNb2RlWDI2NEZh bGxiYWNrKCkKKyt2b2lkIE9CU0Jhc2ljOjpDaGVja0ZvclNpbXBsZU1vZGVIMjY0RmFsbGJhY2so KQorIHsKKyAJY29uc3QgY2hhciAqY3VyU3RyZWFtRW5jb2RlciA9CisgCQljb25maWdfZ2V0X3N0 cmluZyhiYXNpY0NvbmZpZywgIlNpbXBsZU91dHB1dCIsICJTdHJlYW1FbmNvZGVyIik7CisgCWNv bnN0IGNoYXIgKmN1clJlY0VuY29kZXIgPQorIAkJY29uZmlnX2dldF9zdHJpbmcoYmFzaWNDb25m aWcsICJTaW1wbGVPdXRwdXQiLCAiUmVjRW5jb2RlciIpOworKwlib29sIHgyNjRfc3VwcG9ydGVk ID0gZmFsc2U7CisgCWJvb2wgcXN2X3N1cHBvcnRlZCA9IGZhbHNlOworIAlib29sIHFzdl9hdjFf c3VwcG9ydGVkID0gZmFsc2U7CisgCWJvb2wgYW1kX3N1cHBvcnRlZCA9IGZhbHNlOworQEAgLTgz Nyw3ICs4MzgsOSBAQCB2b2lkIE9CU0Jhc2ljOjpDaGVja0ZvclNpbXBsZU1vZGVYMjY0RmFsbGJh Y2soKQorIAljb25zdCBjaGFyICppZDsKKyAKKyAJd2hpbGUgKG9ic19lbnVtX2VuY29kZXJfdHlw ZXMoaWR4KyssICZpZCkpIHsKKy0JCWlmIChzdHJjbXAoaWQsICJhbWRfYW1mX2gyNjQiKSA9PSAw KQorKwkJaWYgKHN0cmNtcChpZCwgIm9ic194MjY0IikgPT0gMCkKKysJCQl4MjY0X3N1cHBvcnRl ZCA9IHRydWU7CisrCQllbHNlIGlmIChzdHJjbXAoaWQsICJhbWRfYW1mX2gyNjQiKSA9PSAwKQor IAkJCWFtZF9zdXBwb3J0ZWQgPSB0cnVlOworIAkJZWxzZSBpZiAoc3RyY21wKGlkLCAib2JzX3Fz djExIikgPT0gMCkKKyAJCQlxc3Zfc3VwcG9ydGVkID0gdHJ1ZTsKK0BAIC04NjUsNjggKzg2OCw3 MyBAQCB2b2lkIE9CU0Jhc2ljOjpDaGVja0ZvclNpbXBsZU1vZGVYMjY0RmFsbGJhY2soKQorICNl bmRpZgorIAl9CisgCisrCS8vIENoZWNrIHRvIHNlZSB3aGV0aGVyIHgyNjQgaXMgYXZhaWxhYmxl CisrCWNvbnN0IGNoYXIgKmZhbGxiYWNrX2VuY29kZXJfbmFtZSA9ICh4MjY0X3N1cHBvcnRlZAor KwkJCQkJCSAgICAgPyBTSU1QTEVfRU5DT0RFUl9YMjY0CisrCQkJCQkJICAgICA6IFNJTVBMRV9F TkNPREVSX09QRU5IMjY0KTsKKysKKyAJYXV0byBDaGVja0VuY29kZXIgPSBbJl0oY29uc3QgY2hh ciAqJm5hbWUpIHsKKyAJCWlmIChzdHJjbXAobmFtZSwgU0lNUExFX0VOQ09ERVJfUVNWKSA9PSAw KSB7CisgCQkJaWYgKCFxc3Zfc3VwcG9ydGVkKSB7CisgCQkJCWNoYW5nZWQgPSB0cnVlOworLQkJ CQluYW1lID0gU0lNUExFX0VOQ09ERVJfWDI2NDsKKysJCQkJbmFtZSA9IGZhbGxiYWNrX2VuY29k ZXJfbmFtZTsKKyAJCQkJcmV0dXJuIGZhbHNlOworIAkJCX0KKyAJCX0gZWxzZSBpZiAoc3RyY21w KG5hbWUsIFNJTVBMRV9FTkNPREVSX1FTVl9BVjEpID09IDApIHsKKyAJCQlpZiAoIXFzdl9hdjFf c3VwcG9ydGVkKSB7CisgCQkJCWNoYW5nZWQgPSB0cnVlOworLQkJCQluYW1lID0gU0lNUExFX0VO Q09ERVJfWDI2NDsKKysJCQkJbmFtZSA9IGZhbGxiYWNrX2VuY29kZXJfbmFtZTsKKyAJCQkJcmV0 dXJuIGZhbHNlOworIAkJCX0KKyAJCX0gZWxzZSBpZiAoc3RyY21wKG5hbWUsIFNJTVBMRV9FTkNP REVSX05WRU5DKSA9PSAwKSB7CisgCQkJaWYgKCFudmVfc3VwcG9ydGVkKSB7CisgCQkJCWNoYW5n ZWQgPSB0cnVlOworLQkJCQluYW1lID0gU0lNUExFX0VOQ09ERVJfWDI2NDsKKysJCQkJbmFtZSA9 IGZhbGxiYWNrX2VuY29kZXJfbmFtZTsKKyAJCQkJcmV0dXJuIGZhbHNlOworIAkJCX0KKyAJCX0g ZWxzZSBpZiAoc3RyY21wKG5hbWUsIFNJTVBMRV9FTkNPREVSX05WRU5DX0FWMSkgPT0gMCkgewor IAkJCWlmICghbnZlX3N1cHBvcnRlZCkgeworIAkJCQljaGFuZ2VkID0gdHJ1ZTsKKy0JCQkJbmFt ZSA9IFNJTVBMRV9FTkNPREVSX1gyNjQ7CisrCQkJCW5hbWUgPSBmYWxsYmFja19lbmNvZGVyX25h bWU7CisgCQkJCXJldHVybiBmYWxzZTsKKyAJCQl9CisgI2lmZGVmIEVOQUJMRV9IRVZDCisgCQl9 IGVsc2UgaWYgKHN0cmNtcChuYW1lLCBTSU1QTEVfRU5DT0RFUl9BTURfSEVWQykgPT0gMCkgewor IAkJCWlmICghYW1kX2hldmNfc3VwcG9ydGVkKSB7CisgCQkJCWNoYW5nZWQgPSB0cnVlOworLQkJ CQluYW1lID0gU0lNUExFX0VOQ09ERVJfWDI2NDsKKysJCQkJbmFtZSA9IGZhbGxiYWNrX2VuY29k ZXJfbmFtZTsKKyAJCQkJcmV0dXJuIGZhbHNlOworIAkJCX0KKyAJCX0gZWxzZSBpZiAoc3RyY21w KG5hbWUsIFNJTVBMRV9FTkNPREVSX05WRU5DX0hFVkMpID09IDApIHsKKyAJCQlpZiAoIW52ZV9o ZXZjX3N1cHBvcnRlZCkgeworIAkJCQljaGFuZ2VkID0gdHJ1ZTsKKy0JCQkJbmFtZSA9IFNJTVBM RV9FTkNPREVSX1gyNjQ7CisrCQkJCW5hbWUgPSBmYWxsYmFja19lbmNvZGVyX25hbWU7CisgCQkJ CXJldHVybiBmYWxzZTsKKyAJCQl9CisgI2VuZGlmCisgCQl9IGVsc2UgaWYgKHN0cmNtcChuYW1l LCBTSU1QTEVfRU5DT0RFUl9BTUQpID09IDApIHsKKyAJCQlpZiAoIWFtZF9zdXBwb3J0ZWQpIHsK KyAJCQkJY2hhbmdlZCA9IHRydWU7CistCQkJCW5hbWUgPSBTSU1QTEVfRU5DT0RFUl9YMjY0Owor KwkJCQluYW1lID0gZmFsbGJhY2tfZW5jb2Rlcl9uYW1lOworIAkJCQlyZXR1cm4gZmFsc2U7Cisg CQkJfQorIAkJfSBlbHNlIGlmIChzdHJjbXAobmFtZSwgU0lNUExFX0VOQ09ERVJfQU1EX0FWMSkg PT0gMCkgeworIAkJCWlmICghYW1kX2F2MV9zdXBwb3J0ZWQpIHsKKyAJCQkJY2hhbmdlZCA9IHRy dWU7CistCQkJCW5hbWUgPSBTSU1QTEVfRU5DT0RFUl9YMjY0OworKwkJCQluYW1lID0gZmFsbGJh Y2tfZW5jb2Rlcl9uYW1lOworIAkJCQlyZXR1cm4gZmFsc2U7CisgCQkJfQorIAkJfSBlbHNlIGlm IChzdHJjbXAobmFtZSwgU0lNUExFX0VOQ09ERVJfQVBQTEVfSDI2NCkgPT0gMCkgeworIAkJCWlm ICghYXBwbGVfc3VwcG9ydGVkKSB7CisgCQkJCWNoYW5nZWQgPSB0cnVlOworLQkJCQluYW1lID0g U0lNUExFX0VOQ09ERVJfWDI2NDsKKysJCQkJbmFtZSA9IGZhbGxiYWNrX2VuY29kZXJfbmFtZTsK KyAJCQkJcmV0dXJuIGZhbHNlOworIAkJCX0KKyAjaWZkZWYgRU5BQkxFX0hFVkMKKyAJCX0gZWxz ZSBpZiAoc3RyY21wKG5hbWUsIFNJTVBMRV9FTkNPREVSX0FQUExFX0hFVkMpID09IDApIHsKKyAJ CQlpZiAoIWFwcGxlX2hldmNfc3VwcG9ydGVkKSB7CisgCQkJCWNoYW5nZWQgPSB0cnVlOworLQkJ CQluYW1lID0gU0lNUExFX0VOQ09ERVJfWDI2NDsKKysJCQkJbmFtZSA9IGZhbGxiYWNrX2VuY29k ZXJfbmFtZTsKKyAJCQkJcmV0dXJuIGZhbHNlOworIAkJCX0KKyAjZW5kaWYKK2RpZmYgLS1naXQg YS9VSS93aW5kb3ctYmFzaWMtbWFpbi5jcHAgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi5jcHAKK2lu ZGV4IDZkOTM3NWViNC4uYzZhYWU4YzdiIDEwMDY0NAorLS0tIGEvVUkvd2luZG93LWJhc2ljLW1h aW4uY3BwCisrKysgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi5jcHAKK0BAIC0xMzc5LDYgKzEzNzks OCBAQCBleHRlcm4gdm9pZCBDaGVja0V4aXN0aW5nQ29va2llSWQoKTsKKyAjZGVmaW5lIERFRkFV TFRfQ09OVEFJTkVSICJmcmFnbWVudGVkX21wNCIKKyAjZW5kaWYKKyAKKytleHRlcm4gYm9vbCBF bmNvZGVyQXZhaWxhYmxlKGNvbnN0IGNoYXIgKmVuY29kZXIpOworKworIGJvb2wgT0JTQmFzaWM6 OkluaXRCYXNpY0NvbmZpZ0RlZmF1bHRzKCkKKyB7CisgCVFMaXN0PFFTY3JlZW4gKj4gc2NyZWVu cyA9IFFHdWlBcHBsaWNhdGlvbjo6c2NyZWVucygpOworQEAgLTE1NDksNyArMTU1MSwxMCBAQCBi b29sIE9CU0Jhc2ljOjpJbml0QmFzaWNDb25maWdEZWZhdWx0cygpCisgCWNvbmZpZ19zZXRfZGVm YXVsdF9ib29sKGJhc2ljQ29uZmlnLCAiQWR2T3V0IiwgIlVzZVJlc2NhbGUiLCBmYWxzZSk7Cisg CWNvbmZpZ19zZXRfZGVmYXVsdF91aW50KGJhc2ljQ29uZmlnLCAiQWR2T3V0IiwgIlRyYWNrSW5k ZXgiLCAxKTsKKyAJY29uZmlnX3NldF9kZWZhdWx0X3VpbnQoYmFzaWNDb25maWcsICJBZHZPdXQi LCAiVm9kVHJhY2tJbmRleCIsIDIpOworLQljb25maWdfc2V0X2RlZmF1bHRfc3RyaW5nKGJhc2lj Q29uZmlnLCAiQWR2T3V0IiwgIkVuY29kZXIiLCAib2JzX3gyNjQiKTsKKysKKysJYm9vbCB1c2VY MjY0ID0gRW5jb2RlckF2YWlsYWJsZSgib2JzX3gyNjQiKTsKKysJY29uZmlnX3NldF9kZWZhdWx0 X3N0cmluZyhiYXNpY0NvbmZpZywgIkFkdk91dCIsICJFbmNvZGVyIiwKKysJCQkJICAodXNlWDI2 NCA/ICJvYnNfeDI2NCIgOiAiZmZtcGVnX29wZW5oMjY0IikpOworIAorIAljb25maWdfc2V0X2Rl ZmF1bHRfc3RyaW5nKGJhc2ljQ29uZmlnLCAiQWR2T3V0IiwgIlJlY1R5cGUiLCAiU3RhbmRhcmQi KTsKKyAKK0BAIC0xNjcyLDcgKzE2NzcsNiBAQCBib29sIE9CU0Jhc2ljOjpJbml0QmFzaWNDb25m aWdEZWZhdWx0cygpCisgCXJldHVybiB0cnVlOworIH0KKyAKKy1leHRlcm4gYm9vbCBFbmNvZGVy QXZhaWxhYmxlKGNvbnN0IGNoYXIgKmVuY29kZXIpOworIGV4dGVybiBib29sIHVwZGF0ZV9udmVu Y19wcmVzZXRzKENvbmZpZ0ZpbGUgJmNvbmZpZyk7CisgCisgdm9pZCBPQlNCYXNpYzo6SW5pdEJh c2ljQ29uZmlnRGVmYXVsdHMyKCkKK0BAIC0xNjgxLDEyICsxNjg1LDE0IEBAIHZvaWQgT0JTQmFz aWM6OkluaXRCYXNpY0NvbmZpZ0RlZmF1bHRzMigpCisgCQkJCQkgICAgICAiUHJlMjNEZWZhdWx0 cyIpOworIAlib29sIHVzZU5WID0gRW5jb2RlckF2YWlsYWJsZSgiZmZtcGVnX252ZW5jIikgJiYg IW9sZEVuY0RlZmF1bHRzOworIAorKwlib29sIHVzZVgyNjQgPSBFbmNvZGVyQXZhaWxhYmxlKCJv YnNfeDI2NCIpOworKwljb25zdCBjaGFyICpoMjY0X2ZhbGxiYWNrID0KKysJCSh1c2VYMjY0ID8g U0lNUExFX0VOQ09ERVJfWDI2NCA6IFNJTVBMRV9FTkNPREVSX09QRU5IMjY0KTsKKysKKyAJY29u ZmlnX3NldF9kZWZhdWx0X3N0cmluZyhiYXNpY0NvbmZpZywgIlNpbXBsZU91dHB1dCIsICJTdHJl YW1FbmNvZGVyIiwKKy0JCQkJICB1c2VOViA/IFNJTVBMRV9FTkNPREVSX05WRU5DCistCQkJCQk6 IFNJTVBMRV9FTkNPREVSX1gyNjQpOworKwkJCQkgIHVzZU5WID8gU0lNUExFX0VOQ09ERVJfTlZF TkMgOiBoMjY0X2ZhbGxiYWNrKTsKKyAJY29uZmlnX3NldF9kZWZhdWx0X3N0cmluZyhiYXNpY0Nv bmZpZywgIlNpbXBsZU91dHB1dCIsICJSZWNFbmNvZGVyIiwKKy0JCQkJICB1c2VOViA/IFNJTVBM RV9FTkNPREVSX05WRU5DCistCQkJCQk6IFNJTVBMRV9FTkNPREVSX1gyNjQpOworKwkJCQkgIHVz ZU5WID8gU0lNUExFX0VOQ09ERVJfTlZFTkMgOiBoMjY0X2ZhbGxiYWNrKTsKKyAKKyAJY29uc3Qg Y2hhciAqYWFjX2RlZmF1bHQgPSAiZmZtcGVnX2FhYyI7CisgCWlmIChFbmNvZGVyQXZhaWxhYmxl KCJDb3JlQXVkaW9fQUFDIikpCitAQCAtMTk2Nyw3ICsxOTczLDcgQEAgdm9pZCBPQlNCYXNpYzo6 T0JTSW5pdCgpCisgCisgCUluaXRCYXNpY0NvbmZpZ0RlZmF1bHRzMigpOworIAorLQlDaGVja0Zv clNpbXBsZU1vZGVYMjY0RmFsbGJhY2soKTsKKysJQ2hlY2tGb3JTaW1wbGVNb2RlSDI2NEZhbGxi YWNrKCk7CisgCisgCWJsb2coTE9HX0lORk8sIFNUQVJUVVBfU0VQQVJBVE9SKTsKKyAKK2RpZmYg LS1naXQgYS9VSS93aW5kb3ctYmFzaWMtbWFpbi5ocHAgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi5o cHAKK2luZGV4IGNiY2U2OTgzMi4uNzRjNmViMTQ0IDEwMDY0NAorLS0tIGEvVUkvd2luZG93LWJh c2ljLW1haW4uaHBwCisrKysgYi9VSS93aW5kb3ctYmFzaWMtbWFpbi5ocHAKK0BAIC02Niw2ICs2 Niw3IEBAIGNsYXNzIE9CU0Jhc2ljVkNhbUNvbmZpZzsKKyAKKyAjZGVmaW5lIFNJTVBMRV9FTkNP REVSX1gyNjQgIngyNjQiCisgI2RlZmluZSBTSU1QTEVfRU5DT0RFUl9YMjY0X0xPV0NQVSAieDI2 NF9sb3djcHUiCisrI2RlZmluZSBTSU1QTEVfRU5DT0RFUl9PUEVOSDI2NCAiZmZtcGVnX29wZW5o MjY0IgorICNkZWZpbmUgU0lNUExFX0VOQ09ERVJfUVNWICJxc3YiCisgI2RlZmluZSBTSU1QTEVf RU5DT0RFUl9RU1ZfQVYxICJxc3ZfYXYxIgorICNkZWZpbmUgU0lNUExFX0VOQ09ERVJfTlZFTkMg Im52ZW5jIgorQEAgLTQzNCw3ICs0MzUsNyBAQCBwcml2YXRlOgorIAl2b2lkIERlbGV0ZVByb2Zp bGUoY29uc3QgY2hhciAqcHJvZmlsZV9uYW1lLCBjb25zdCBjaGFyICpwcm9maWxlX2Rpcik7Cisg CXZvaWQgUmVmcmVzaFByb2ZpbGVzKCk7CisgCXZvaWQgQ2hhbmdlUHJvZmlsZSgpOworLQl2b2lk IENoZWNrRm9yU2ltcGxlTW9kZVgyNjRGYWxsYmFjaygpOworKwl2b2lkIENoZWNrRm9yU2ltcGxl TW9kZUgyNjRGYWxsYmFjaygpOworIAorIAl2b2lkIFNhdmVQcm9qZWN0Tm93KCk7CisgCitkaWZm IC0tZ2l0IGEvVUkvd2luZG93LWJhc2ljLXNldHRpbmdzLXN0cmVhbS5jcHAgYi9VSS93aW5kb3ct YmFzaWMtc2V0dGluZ3Mtc3RyZWFtLmNwcAoraW5kZXggYjA1NjkzOGU3Li41NDhlNWY0NWYgMTAw NjQ0CistLS0gYS9VSS93aW5kb3ctYmFzaWMtc2V0dGluZ3Mtc3RyZWFtLmNwcAorKysrIGIvVUkv d2luZG93LWJhc2ljLXNldHRpbmdzLXN0cmVhbS5jcHAKK0BAIC0xMzYyLDcgKzEzNjIsOSBAQCBz dGF0aWMgUVN0cmluZyBnZXRfYWR2X2ZhbGxiYWNrKGNvbnN0IFFTdHJpbmcgJmVuYykKKyAJCXJl dHVybiAiY29tLmFwcGxlLnZpZGVvdG9vbGJveC52aWRlb2VuY29kZXIuYXZlLmF2YyI7CisgCWlm IChlbmMgPT0gIm9ic19xc3YxMV9hdjEiKQorIAkJcmV0dXJuICJvYnNfcXN2MTEiOworLQlyZXR1 cm4gIm9ic194MjY0IjsKKysJaWYgKEVuY29kZXJBdmFpbGFibGUoIm9ic194MjY0IikpCisrCQly ZXR1cm4gIm9ic194MjY0IjsKKysJcmV0dXJuICJmZm1wZWdfb3BlbmgyNjQiOworIH0KKyAKKyBz dGF0aWMgUVN0cmluZyBnZXRfYWR2X2F1ZGlvX2ZhbGxiYWNrKGNvbnN0IFFTdHJpbmcgJmVuYykK K0BAIC0xMzkxLDcgKzEzOTMsOSBAQCBzdGF0aWMgUVN0cmluZyBnZXRfc2ltcGxlX2ZhbGxiYWNr KGNvbnN0IFFTdHJpbmcgJmVuYykKKyAJCXJldHVybiBTSU1QTEVfRU5DT0RFUl9BUFBMRV9IMjY0 OworIAlpZiAoZW5jID09IFNJTVBMRV9FTkNPREVSX1FTVl9BVjEpCisgCQlyZXR1cm4gU0lNUExF X0VOQ09ERVJfUVNWOworLQlyZXR1cm4gU0lNUExFX0VOQ09ERVJfWDI2NDsKKysJaWYgKEVuY29k ZXJBdmFpbGFibGUoIm9ic194MjY0IikpCisrCQlyZXR1cm4gU0lNUExFX0VOQ09ERVJfWDI2NDsK KysJcmV0dXJuIFNJTVBMRV9FTkNPREVSX09QRU5IMjY0OworIH0KKyAKKyBib29sIE9CU0Jhc2lj U2V0dGluZ3M6OlNlcnZpY2VTdXBwb3J0c0NvZGVjQ2hlY2soKQorQEAgLTE1ODUsOCArMTU4OSwx MiBAQCB2b2lkIE9CU0Jhc2ljU2V0dGluZ3M6OlJlc2V0RW5jb2RlcnMoYm9vbCBzdHJlYW1Pbmx5 KQorIAorICNkZWZpbmUgRU5DT0RFUl9TVFIoc3RyKSBRVFN0cigiQmFzaWMuU2V0dGluZ3MuT3V0 cHV0LlNpbXBsZS5FbmNvZGVyLiIgc3RyKQorIAorLQl1aS0+c2ltcGxlT3V0U3RyRW5jb2Rlci0+ YWRkSXRlbShFTkNPREVSX1NUUigiU29mdHdhcmUuWDI2NC5IMjY0IiksCistCQkJCQkgUVN0cmlu ZyhTSU1QTEVfRU5DT0RFUl9YMjY0KSk7CisrCXVpLT5zaW1wbGVPdXRTdHJFbmNvZGVyLT5hZGRJ dGVtKEVOQ09ERVJfU1RSKCJTb2Z0d2FyZS5PcGVuSDI2NC5IMjY0IiksCisrCQkJCQkgUVN0cmlu ZyhTSU1QTEVfRU5DT0RFUl9PUEVOSDI2NCkpOworKwlpZiAoc2VydmljZV9zdXBwb3J0c19lbmNv ZGVyKHZjb2RlY3MsICJvYnNfeDI2NCIpKQorKwkJdWktPnNpbXBsZU91dFN0ckVuY29kZXItPmFk ZEl0ZW0oCisrCQkJRU5DT0RFUl9TVFIoIlNvZnR3YXJlLlgyNjQuSDI2NCIpLAorKwkJCVFTdHJp bmcoU0lNUExFX0VOQ09ERVJfWDI2NCkpOworIAlpZiAoc2VydmljZV9zdXBwb3J0c19lbmNvZGVy KHZjb2RlY3MsICJvYnNfcXN2MTEiKSkKKyAJCXVpLT5zaW1wbGVPdXRTdHJFbmNvZGVyLT5hZGRJ dGVtKAorIAkJCUVOQ09ERVJfU1RSKCJIYXJkd2FyZS5RU1YuSDI2NCIpLAorZGlmZiAtLWdpdCBh L1VJL3dpbmRvdy1iYXNpYy1zZXR0aW5ncy5jcHAgYi9VSS93aW5kb3ctYmFzaWMtc2V0dGluZ3Mu Y3BwCitpbmRleCA0OGJiNGJhYzYuLjUxZmUyODBkYiAxMDA2NDQKKy0tLSBhL1VJL3dpbmRvdy1i YXNpYy1zZXR0aW5ncy5jcHAKKysrKyBiL1VJL3dpbmRvdy1iYXNpYy1zZXR0aW5ncy5jcHAKK0BA IC0zODMxLDYgKzM4MzEsMTEgQEAgdm9pZCBPQlNCYXNpY1NldHRpbmdzOjpTYXZlT3V0cHV0U2V0 dGluZ3MoKQorICAgICAgICAgIGRvLiBUaGlzIG9ubHkgZXhpc3RzIHRvIG1ha2Ugc3VyZSB0aGF0 IHRoZSB4MjY0IHByZXNldCBkb2Vzbid0CisgICAgICAgICAgZ2V0IG92ZXJ3cml0dGVuIHdpdGgg ZW1wdHkgZGF0YS4gKi8KKyAJCXByZXNldFR5cGUgPSAiQXBwbGVQcmVzZXQiOworKwllbHNlIGlm IChlbmNvZGVyID09IFNJTVBMRV9FTkNPREVSX09QRU5IMjY0KQorKwkJLyogVGhlIE9wZW5IMjY0 IGVuY29kZXIgZG9lcyBub3QgaGF2ZSBwcmVzZXRzIGxpa2UgdGhlIG90aGVyIGVuY29kZXJzCisr ICAgICAgICAgZG8uIFRoaXMgb25seSBleGlzdHMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHgyNjQg cHJlc2V0IGRvZXNuJ3QKKysgICAgICAgICBnZXQgb3ZlcndyaXR0ZW4gd2l0aCBlbXB0eSBkYXRh LiAqLworKwkJcHJlc2V0VHlwZSA9ICJPcGVuSDI2NFByZXNldCI7CisgCWVsc2UKKyAJCXByZXNl dFR5cGUgPSAiUHJlc2V0IjsKKyAKK0BAIC01Mjg2LDExICs1MjkxLDE2IEBAIHZvaWQgT0JTQmFz aWNTZXR0aW5nczo6RmlsbFNpbXBsZVJlY29yZGluZ1ZhbHVlcygpCisgCUFERF9RVUFMSVRZKCJI USIpOworIAlBRERfUVVBTElUWSgiTG9zc2xlc3MiKTsKKyAKKy0JdWktPnNpbXBsZU91dFJlY0Vu Y29kZXItPmFkZEl0ZW0oRU5DT0RFUl9TVFIoIlNvZnR3YXJlLlgyNjQuSDI2NCIpLAorLQkJCQkJ IFFTdHJpbmcoU0lNUExFX0VOQ09ERVJfWDI2NCkpOworLQl1aS0+c2ltcGxlT3V0UmVjRW5jb2Rl ci0+YWRkSXRlbSgKKy0JCUVOQ09ERVJfU1RSKCJTb2Z0d2FyZUxvd0NQVS5YMjY0LkgyNjQiKSwK Ky0JCVFTdHJpbmcoU0lNUExFX0VOQ09ERVJfWDI2NF9MT1dDUFUpKTsKKysJdWktPnNpbXBsZU91 dFJlY0VuY29kZXItPmFkZEl0ZW0oRU5DT0RFUl9TVFIoIlNvZnR3YXJlLk9wZW5IMjY0LkgyNjQi KSwKKysJCQkJCSBRU3RyaW5nKFNJTVBMRV9FTkNPREVSX09QRU5IMjY0KSk7CisrCWlmIChFbmNv ZGVyQXZhaWxhYmxlKCJvYnNfeDI2NCIpKSB7CisrCQl1aS0+c2ltcGxlT3V0UmVjRW5jb2Rlci0+ YWRkSXRlbSgKKysJCQlFTkNPREVSX1NUUigiU29mdHdhcmUuWDI2NC5IMjY0IiksCisrCQkJUVN0 cmluZyhTSU1QTEVfRU5DT0RFUl9YMjY0KSk7CisrCQl1aS0+c2ltcGxlT3V0UmVjRW5jb2Rlci0+ YWRkSXRlbSgKKysJCQlFTkNPREVSX1NUUigiU29mdHdhcmVMb3dDUFUuWDI2NC5IMjY0IiksCisr CQkJUVN0cmluZyhTSU1QTEVfRU5DT0RFUl9YMjY0X0xPV0NQVSkpOworKwl9CisgCWlmIChFbmNv ZGVyQXZhaWxhYmxlKCJvYnNfcXN2MTEiKSkKKyAJCXVpLT5zaW1wbGVPdXRSZWNFbmNvZGVyLT5h ZGRJdGVtKAorIAkJCUVOQ09ERVJfU1RSKCJIYXJkd2FyZS5RU1YuSDI2NCIpLAorQEAgLTU0NjMs NiArNTQ3Myw5IEBAIHZvaWQgT0JTQmFzaWNTZXR0aW5nczo6U2ltcGxlU3RyZWFtaW5nRW5jb2Rl ckNoYW5nZWQoKQorIAorIAkJZGVmYXVsdFByZXNldCA9ICJiYWxhbmNlZCI7CisgCQlwcmVzZXQg PSBjdXJBTURBVjFQcmVzZXQ7CisrCX0gZWxzZSBpZiAoZW5jb2RlciA9PSBTSU1QTEVfRU5DT0RF Ul9PUEVOSDI2NCkgeworKwkJdWktPnNpbXBsZU91dFByZXNldC0+c2V0VmlzaWJsZShmYWxzZSk7 CisrCQl1aS0+c2ltcGxlT3V0UHJlc2V0TGFiZWwtPnNldFZpc2libGUoZmFsc2UpOworIAl9IGVs c2UgeworIAorICNkZWZpbmUgUFJFU0VUX1NUUih2YWwpIFwKKy0tIAorMi4zOS4yCisKCmRpZmYg LS1naXQgYS9vYnMtc3R1ZGlvLVBSODc2My5wYXRjaCBiL29icy1zdHVkaW8tUFI4NzYzLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMWRkNDYKLS0tIC9kZXYvbnVs bAorKysgYi9vYnMtc3R1ZGlvLVBSODc2My5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDY3 ODAzZmEzMTA2Y2ZmNGRhZWZiZGZkODcyMDQ1Y2E5Y2M3ZjQ1NjkgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBkZXJyb2QgPGRlbm5pc0BvYnNwcm9qZWN0LmNvbT4KK0RhdGU6IE1vbiwg MTcgQXByIDIwMjMgMDM6NDI6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY21ha2U6IFNldCBD MTEgZm9yIENNYWtlIDwgMy4yMQorCistLS0KKyBjbWFrZS9Nb2R1bGVzL0NvbXBpbGVyQ29uZmln LmNtYWtlIHwgMTEgKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvTW9kdWxlcy9Db21waWxlckNv bmZpZy5jbWFrZSBiL2NtYWtlL01vZHVsZXMvQ29tcGlsZXJDb25maWcuY21ha2UKK2luZGV4IDc2 MzQ5MDAwOGM4NDguLjQxYzU2ZGE4YjRjZWUgMTAwNjQ0CistLS0gYS9jbWFrZS9Nb2R1bGVzL0Nv bXBpbGVyQ29uZmlnLmNtYWtlCisrKysgYi9jbWFrZS9Nb2R1bGVzL0NvbXBpbGVyQ29uZmlnLmNt YWtlCitAQCAtNSw4ICs1LDE1IEBAIHNldChDTUFLRV9DWFhfU1RBTkRBUkQgMTcpCisgc2V0KENN QUtFX0NYWF9TVEFOREFSRF9SRVFVSVJFRCBPTikKKyBzZXQoQ01BS0VfQ1hYX0VYVEVOU0lPTlMg T0ZGKQorIAorLXNldChDTUFLRV9DX1NUQU5EQVJEIDE3KQorLXNldChDTUFLRV9DX1NUQU5EQVJE X1JFUVVJUkVEIE9OKQorKyMgQ01ha2UgPCAzLjIxIG9ubHkgZ29lcyB1cCB0byAxMSwgYnV0IGl0 J3MgbW9zdGx5IGlkZW50aWNhbCB0byAxNyBhbnl3YXkuCisraWYoJHtDTUFLRV9WRVJTSU9OfSBW RVJTSU9OX0xFU1MgIjMuMjEuMCIpCisrICBzZXQoQ01BS0VfQ19TVEFOREFSRCAxMSkKKysgIHNl dChDTUFLRV9DX1NUQU5EQVJEX1JFUVVJUkVEIE9OKQorK2Vsc2UoKQorKyAgc2V0KENNQUtFX0Nf U1RBTkRBUkQgMTcpCisrICBzZXQoQ01BS0VfQ19TVEFOREFSRF9SRVFVSVJFRCBPTikKKytlbmRp ZigpCisrCisgIyBUT0RPL0ZJWE1FOiBJbnZlc3RpZ2F0ZSBkaXNhYmxpbmcgQyBleHRlbnNpb25z IG9uIExpbnV4L1BPU0lYCisgaWYoT1NfTUFDT1MgT1IgTk9UIE9TX1BPU0lYKQorICAgc2V0KENN QUtFX0NfRVhURU5TSU9OUyBPRkYpCgpkaWZmIC0tZ2l0IGEvb2JzLXN0dWRpby1kZXBzLUFkZC1s aWNlbnNlLWRlY2xhcmF0aW9uLWZpbGVzLnBhdGNoIGIvb2JzLXN0dWRpby1kZXBzLUFkZC1saWNl bnNlLWRlY2xhcmF0aW9uLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmVhODhhYjUKLS0tIC9kZXYvbnVsbAorKysgYi9vYnMtc3R1ZGlvLWRlcHMtQWRkLWxp Y2Vuc2UtZGVjbGFyYXRpb24tZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwxOTEgQEAKK0Zyb20gZmMx ZTZiZjA5ZjljOWQxNTAxY2QxZDQ2YTQ0MzUwMWIxOTA4MGQ4ZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IE5lYWwgR29tcGEgPG5lYWxAZ29tcGEuZGV2PgorRGF0ZTogU2F0LCAxNSBB cHIgMjAyMyAyMjo0ODoyMSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBkZXBzOiBBZGQgbGljZW5z ZSBkZWNsYXJhdGlvbiBmaWxlcworCistLS0KKyBkZXBzL2JsYWtlMi9MSUNFTlNFLmJsYWtlMiAg ICAgICAgICAgICAgICB8IDE5ICsrKysrKysrKysrCisgZGVwcy9saWJmZi9MSUNFTlNFLmxpYmZm ICAgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKysrCisgbGlib2JzL2dyYXBoaWNzL2xpYm5z Z2lmL0xJQ0VOU0UubGlibnNnaWYgfCAzMyArKysrKysrKysrKysrKysrKysrCisgbGlib2JzL3V0 aWwvc2ltZGUvTElDRU5TRS5zaW1kZSAgICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysr KysrKworIHBsdWdpbnMvZGVja2xpbmsvTElDRU5TRS5kZWNrbGluay1zZGsgICAgIHwgMzAgKysr KysrKysrKysrKysrKysKKyA1IGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRlcHMvYmxha2UyL0xJQ0VOU0UuYmxha2UyCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGRlcHMvbGliZmYvTElDRU5TRS5saWJmZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJv YnMvZ3JhcGhpY3MvbGlibnNnaWYvTElDRU5TRS5saWJuc2dpZgorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsaWJvYnMvdXRpbC9zaW1kZS9MSUNFTlNFLnNpbWRlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHBs dWdpbnMvZGVja2xpbmsvTElDRU5TRS5kZWNrbGluay1zZGsKKworZGlmZiAtLWdpdCBhL2RlcHMv Ymxha2UyL0xJQ0VOU0UuYmxha2UyIGIvZGVwcy9ibGFrZTIvTElDRU5TRS5ibGFrZTIKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAuLjNhOGFiYzc4NworLS0tIC9kZXYvbnVs bAorKysrIGIvZGVwcy9ibGFrZTIvTElDRU5TRS5ibGFrZTIKK0BAIC0wLDAgKzEsMTkgQEAKKytC TEFLRTIgaXMgbGljZW5zZWQgdG8gcGVybWl0IHVzYWdlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg Q0MwLCB0aGUgT3BlblNTTCBMaWNlbnNlLAorKyBvciB0aGUgQXBhY2hlIFB1YmxpYyBMaWNlbnNl IDIuMCBhdCB0aGUgdXNlcidzIG9wdGlvbi4KKysKKytUaGUgbGljZW5zZSBncmFudCBpcyByZXBy b2R1Y2VkIGluIGZ1bGwgYmVsb3cuCisrCisrLyoKKysgICBCTEFLRTIgcmVmZXJlbmNlIHNvdXJj ZSBjb2RlIHBhY2thZ2UgLSByZWZlcmVuY2UgQyBpbXBsZW1lbnRhdGlvbnMKKysKKysgICBDb3B5 cmlnaHQgMjAxMiwgU2FtdWVsIE5ldmVzIDxzbmV2ZXNAZGVpLnVjLnB0Pi4gIFlvdSBtYXkgdXNl IHRoaXMgdW5kZXIgdGhlCisrICAgdGVybXMgb2YgdGhlIENDMCwgdGhlIE9wZW5TU0wgTGljZW5j ZSwgb3IgdGhlIEFwYWNoZSBQdWJsaWMgTGljZW5zZSAyLjAsIGF0CisrICAgeW91ciBvcHRpb24u ICBUaGUgdGVybXMgb2YgdGhlc2UgbGljZW5zZXMgY2FuIGJlIGZvdW5kIGF0OgorKworKyAgIC0g Q0MwIDEuMCBVbml2ZXJzYWwgOiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21h aW4vemVyby8xLjAKKysgICAtIE9wZW5TU0wgbGljZW5zZSAgIDogaHR0cHM6Ly93d3cub3BlbnNz bC5vcmcvc291cmNlL2xpY2Vuc2UuaHRtbAorKyAgIC0gQXBhY2hlIDIuMCAgICAgICAgOiBodHRw Oi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKysKKysgICBNb3JlIGluZm9y bWF0aW9uIGFib3V0IHRoZSBCTEFLRTIgaGFzaCBmdW5jdGlvbiBjYW4gYmUgZm91bmQgYXQKKysg ICBodHRwczovL2JsYWtlMi5uZXQuCisrKi8KK2RpZmYgLS1naXQgYS9kZXBzL2xpYmZmL0xJQ0VO U0UubGliZmYgYi9kZXBzL2xpYmZmL0xJQ0VOU0UubGliZmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAuLmI2ZjUxMTU3YQorLS0tIC9kZXYvbnVsbAorKysrIGIvZGVwcy9s aWJmZi9MSUNFTlNFLmxpYmZmCitAQCAtMCwwICsxLDE4IEBACisrbGliZmYgaXMgbGljZW5zZWQg dW5kZXIgdGhlIElTQyBsaWNlbnNlLiBUaGUgbGljZW5zZSB0ZXJtcyBhcmUgZnVsbHkKKytyZXBy b2R1Y2VkIGJlbG93OgorKworKy8qCisrICogQ29weXJpZ2h0IChjKSAyMDE1IEpvaG4gUi4gQnJh ZGxleSA8anJiQHR1cnJldHRlY2guY29tPgorKyAqCisrICogUGVybWlzc2lvbiB0byB1c2UsIGNv cHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CisrICogcHVy cG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0 IHRoZSBhYm92ZQorKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisrICoKKysgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMKKysgKiBX SVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5U SUVTIE9GCisrICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFM TCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IKKysgKiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJ UkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTCisrICogV0hBVFNP RVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVS IElOIEFOCisrICogQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJ T1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKysgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF IFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorKyAqLworZGlmZiAtLWdpdCBh L2xpYm9icy9ncmFwaGljcy9saWJuc2dpZi9MSUNFTlNFLmxpYm5zZ2lmIGIvbGlib2JzL2dyYXBo aWNzL2xpYm5zZ2lmL0xJQ0VOU0UubGlibnNnaWYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAuLjliMjhjMGI0NQorLS0tIC9kZXYvbnVsbAorKysrIGIvbGlib2JzL2dyYXBo aWNzL2xpYm5zZ2lmL0xJQ0VOU0UubGlibnNnaWYKK0BAIC0wLDAgKzEsMzMgQEAKKytsaWJuc2dp ZiBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuIFRoZSBsaWNlbnNpbmcgc3RhdGVt ZW50CisrYW5kIHRoZSBmdWxsIGxpY2Vuc2UgYXJlIHJlcHJvZHVjZWQgYmVsb3cuCisrCisrLyoK KysgKiBDb3B5cmlnaHQgMjAwMyBKYW1lcyBCdXJzYSA8YnVyc2FAdXNlcnMuc291cmNlZm9yZ2Uu bmV0PgorKyAqIENvcHlyaWdodCAyMDA0IEpvaG4gVHl0Z2F0IDxKb2huLlR5dGdhdEBhYXVnLm5l dD4KKysgKiBDb3B5cmlnaHQgMjAwNCBSaWNoYXJkIFdpbHNvbiA8cmljaGFyZC53aWxzb25AbmV0 c3VyZi1icm93c2VyLm9yZz4KKysgKiBDb3B5cmlnaHQgMjAwOCBTZWFuIEZveCA8ZHludHJ5eEBn bWFpbC5jb20+CisrICoKKysgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBOZXRTdXJmJ3MgbGlibnNn aWYsIGh0dHA6Ly93d3cubmV0c3VyZi1icm93c2VyLm9yZy8KKysgKiBMaWNlbmNlZCB1bmRlciB0 aGUgTUlUIExpY2Vuc2UsCisrICogICAgICAgICAgICAgICAgaHR0cDovL3d3dy5vcGVuc291cmNl Lm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKKysgKi8KKysKKytUaGUgTUlUIExpY2Vuc2UK KysKKytQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55 IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cisrb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKKytpbiB0aGUg U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv biB0aGUgcmlnaHRzCisrdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0 cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorK2NvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworK2Z1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrCisrVGhl IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg YmUgaW5jbHVkZWQgaW4KKythbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZSBTb2Z0d2FyZS4KKysKKytUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorK0lNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorK0ZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5P IEVWRU5UIFNIQUxMIFRIRQorK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKytMSUFCSUxJVFksIFdIRVRIRVIgSU4g QU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAor K09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1Ig T1RIRVIgREVBTElOR1MgSU4KKytUSEUgU09GVFdBUkUuCitkaWZmIC0tZ2l0IGEvbGlib2JzL3V0 aWwvc2ltZGUvTElDRU5TRS5zaW1kZSBiL2xpYm9icy91dGlsL3NpbWRlL0xJQ0VOU0Uuc2ltZGUK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAuLjc4ZDQ4MmU3NQorLS0tIC9k ZXYvbnVsbAorKysrIGIvbGlib2JzL3V0aWwvc2ltZGUvTElDRU5TRS5zaW1kZQorQEAgLTAsMCAr MSw0MCBAQAorK3NpbWRlIGlzIGxpY2Vuc2VkIGFzIGEgY29tYmluYXRpb24gb2YgTUlUIGFuZCBD QzAgY29kZS4KKysKKytMaWNlbnNlIG5vdGljZXMgZm9yIGJvdGggYXJlIHJlcHJvZHVjZWQgYmVs b3c6CisrCisrLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAorKyAqCisrICogUGVybWlz c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KKysg KiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbgorKyAqIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3 YXJlIHdpdGhvdXQKKysgKiByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwKKysgKiBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBk aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMKKysgKiBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworKyAq IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6 CisrICoKKysgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSBzaGFsbCBiZQorKyAqIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp YWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorKyAqCisrICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisrICogRVhQUkVT UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GCisrICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RSBBTkQKKysgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT IE9SIENPUFlSSUdIVCBIT0xERVJTCisrICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFH RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisrICogQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKysgKiBD T05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg SU4gVEhFCisrICogU09GVFdBUkUuCisrICoKKysgKiBDb3B5cmlnaHQ6CisrICogICAyMDE3LTIw MjAgRXZhbiBOZW1lcnNvbiA8ZXZhbkBuZW1lcnNvbi5jb20+CisrICovCisrCisrLyogUG9ydGFi bGUgU25pcHBldHMgLSBodHRwczovL2dpdHViLmNvbS9uZW1lcXUvcG9ydGFibGUtc25pcHBldHMK KysgKiBDcmVhdGVkIGJ5IEV2YW4gTmVtZXJzb24gPGV2YW5AbmVtZXJzb24uY29tPgorKyAqCisr ICogICBUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGF1dGhvcnMgaGF2ZSB3 YWl2ZWQgYWxsCisrICogICBjb3B5cmlnaHQgYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3Jpbmcgcmln aHRzIHRvIHRoaXMgY29kZS4gIEZvcgorKyAqICAgZGV0YWlscywgc2VlIHRoZSBDcmVhdGl2ZSBD b21tb25zIFplcm8gMS4wIFVuaXZlcnNhbCBsaWNlbnNlIGF0CisrICogICBodHRwczovL2NyZWF0 aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworKyAqCisrICogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IENDMC0xLjAKKysgKi8KK2RpZmYgLS1naXQgYS9wbHVnaW5zL2RlY2ts aW5rL0xJQ0VOU0UuZGVja2xpbmstc2RrIGIvcGx1Z2lucy9kZWNrbGluay9MSUNFTlNFLmRlY2ts aW5rLXNkaworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uZDMyMGQ4MDVi CistLS0gL2Rldi9udWxsCisrKysgYi9wbHVnaW5zL2RlY2tsaW5rL0xJQ0VOU0UuZGVja2xpbmst c2RrCitAQCAtMCwwICsxLDMwIEBACisrZGVja2xpbmstc2RrIGlzIGxpY2Vuc2VkIHVuZGVyIHRv IEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UgMS4wIChCU0wtMS4wKS4KKysKKytUaGUgbGljZW5zZSB0 ZXh0IGlzIHJlcHJvZHVjZWQgaW4gZnVsbCBiZWxvdzoKKysKKysvKiAtTElDRU5TRS1TVEFSVC0K KysqKiBDb3B5cmlnaHQgKGMpIDIwMjAgQmxhY2ttYWdpYyBEZXNpZ24KKysqKgorKyoqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9y IG9yZ2FuaXphdGlvbgorKyoqIG9idGFpbmluZyBhIGNvcHkgb2YgdGhlIHNvZnR3YXJlIGFuZCBh Y2NvbXBhbnlpbmcgZG9jdW1lbnRhdGlvbiBjb3ZlcmVkIGJ5CisrKiogdGhpcyBsaWNlbnNlICh0 aGUgIlNvZnR3YXJlIikgdG8gdXNlLCByZXByb2R1Y2UsIGRpc3BsYXksIGRpc3RyaWJ1dGUsCisr KiogZXhlY3V0ZSwgYW5kIHRyYW5zbWl0IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHByZXBhcmUgZGVy aXZhdGl2ZSB3b3JrcyBvZiB0aGUKKysqKiBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCB0aGlyZC1w YXJ0aWVzIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0bworKyoqIGRvIHNvLCBh bGwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nOgorKyoqCisrKiogVGhlIGNvcHlyaWdodCBub3Rp Y2VzIGluIHRoZSBTb2Z0d2FyZSBhbmQgdGhpcyBlbnRpcmUgc3RhdGVtZW50LCBpbmNsdWRpbmcK KysqKiB0aGUgYWJvdmUgbGljZW5zZSBncmFudCwgdGhpcyByZXN0cmljdGlvbiBhbmQgdGhlIGZv bGxvd2luZyBkaXNjbGFpbWVyLAorKyoqIG11c3QgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsIGFuZAorKyoqIGFsbCBkZXJpdmF0 aXZlIHdvcmtzIG9mIHRoZSBTb2Z0d2FyZSwgdW5sZXNzIHN1Y2ggY29waWVzIG9yIGRlcml2YXRp dmUKKysqKiB3b3JrcyBhcmUgc29sZWx5IGluIHRoZSBmb3JtIG9mIG1hY2hpbmUtZXhlY3V0YWJs ZSBvYmplY3QgY29kZSBnZW5lcmF0ZWQgYnkKKysqKiBhIHNvdXJjZSBsYW5ndWFnZSBwcm9jZXNz b3IuCisrKioKKysqKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorKyoqIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorKyoq IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBUSVRMRSBBTkQgTk9OLUlORlJJTkdF TUVOVC4gSU4gTk8gRVZFTlQKKysqKiBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUlMgT1IgQU5Z T05FIERJU1RSSUJVVElORyBUSEUgU09GVFdBUkUgQkUgTElBQkxFCisrKiogRk9SIEFOWSBEQU1B R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgVE9SVCBPUiBPVEhF UldJU0UsCisrKiogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisrKiogREVBTElOR1MgSU4gVEhFIFNPRlRX QVJFLgorKyoqIC1MSUNFTlNFLUVORC0KKysqLworLS0gCisyLjQwLjAKKwoKZGlmZiAtLWdpdCBh L29icy1zdHVkaW8tb2JzLXFzdjExLUFkZC1saWNlbnNlLWRlY2xhcmF0aW9uLWZpbGUucGF0Y2gg Yi9vYnMtc3R1ZGlvLW9icy1xc3YxMS1BZGQtbGljZW5zZS1kZWNsYXJhdGlvbi1maWxlLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzODkwZDQKLS0tIC9kZXYvbnVs bAorKysgYi9vYnMtc3R1ZGlvLW9icy1xc3YxMS1BZGQtbGljZW5zZS1kZWNsYXJhdGlvbi1maWxl LnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0Zyb20gM2EwZjc1MzJiOWQ5YjgzZDkwZGQ1YjZjMjA5 NmU3ZjliY2E4ODg3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5lYWwgR29tcGEg PG5lYWxAZ29tcGEuZGV2PgorRGF0ZTogVHVlLCAxOCBBcHIgMjAyMyAwMjo1ODozNyAtMDQwMAor U3ViamVjdDogW1BBVENIXSBvYnMtcXN2MTE6IEFkZCBsaWNlbnNlIGRlY2xhcmF0aW9uIGZpbGUK KworLS0tCisgcGx1Z2lucy9vYnMtcXN2MTEvb2JzLXFzdjExLUxJQ0VOU0UudHh0IHwgNjAgKysr KysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsdWdpbnMvb2JzLXFzdjExL29icy1xc3YxMS1MSUNFTlNF LnR4dAorCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vYnMtcXN2MTEvb2JzLXFzdjExLUxJQ0VOU0Uu dHh0IGIvcGx1Z2lucy9vYnMtcXN2MTEvb2JzLXFzdjExLUxJQ0VOU0UudHh0CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi4yMTZjMDJlNDEKKy0tLSAvZGV2L251bGwKKysr KyBiL3BsdWdpbnMvb2JzLXFzdjExL29icy1xc3YxMS1MSUNFTlNFLnR4dAorQEAgLTAsMCArMSw2 MCBAQAorK1RoZSBPQlMgUVNWIHBsdWdpbiBpcyBsaWNlbnNlZCB1bmRlciBlaXRoZXIgdGhlIEJT RC0zLUNsYXVzZSBvciBHUEwtMi4wLW9ubHkgbGljZW5zZXMuCisrCisrVGhlIGxpY2Vuc2UgZGVj bGFyYXRpb24gaXMgcmVwcm9kdWNlZCBpbiBmdWxsIGJlbG93OgorKworKy8qCisrCisrVGhpcyBm aWxlIGlzIHByb3ZpZGVkIHVuZGVyIGEgZHVhbCBCU0QvR1BMdjIgbGljZW5zZS4gIFdoZW4gdXNp bmcgb3IKKytyZWRpc3RyaWJ1dGluZyB0aGlzIGZpbGUsIHlvdSBtYXkgZG8gc28gdW5kZXIgZWl0 aGVyIGxpY2Vuc2UuCisrCisrR1BMIExJQ0VOU0UgU1VNTUFSWQorKworK0NvcHlyaWdodChjKSBP Y3QuIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24uCisrCisrVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKytpdCB1bmRlciB0 aGUgdGVybXMgb2YgdmVyc2lvbiAyIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cworK3B1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKworK1RoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LCBidXQKKytXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisrTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUKKytHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrCisrQ29udGFjdCBJbmZvcm1hdGlvbjoKKysKKytTZXVuZy1Xb28gS2ltLCBzZXVu Zy13b28ua2ltQGludGVsLmNvbQorKzcwNSA1dGggQXZlIFMgIzUwMCwgU2VhdHRsZSwgV0EgOTgx MDQKKysKKytCU0QgTElDRU5TRQorKworK0NvcHlyaWdodChjKSA8ZGF0ZT4gSW50ZWwgQ29ycG9y YXRpb24uCisrCisrUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm b3Jtcywgd2l0aCBvciB3aXRob3V0CisrbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisrYXJlIG1ldDoKKysKKysqIFJlZGlz dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0 Cisrbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj bGFpbWVyLgorKworKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKytub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyt0aGUgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisrZGlzdHJpYnV0aW9uLgorKwor KyogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9m IGl0cworK2NvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv ZHVjdHMgZGVyaXZlZAorK2Zyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4KKysKKytUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisrIkFTIElTIiBBTkQgQU5ZIEVY UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKytMSU1JVEVE IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT UyBGT1IKKytBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg U0hBTEwgVEhFIENPUFlSSUdIVAorK09XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorK1NQRUNJQUwsIEVYRU1QTEFSWSwg T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKytMSU1JVEVEIFRP LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT RSwKKytEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg Q0FVU0VEIEFORCBPTiBBTlkKKytUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisrKElOQ0xVRElORyBORUdMSUdFTkNFIE9S IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisrT0YgVEhJUyBT T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH RS4KKysqLworKworLS0gCisyLjQwLjAKKwoKZGlmZiAtLWdpdCBhL29icy1zdHVkaW8td2Vic29j a2V0LXVzZS1zeXN0ZW0tcXJjb2RlZ2VuY3BwLnBhdGNoIGIvb2JzLXN0dWRpby13ZWJzb2NrZXQt dXNlLXN5c3RlbS1xcmNvZGVnZW5jcHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNzM2YTc3YwotLS0gL2Rldi9udWxsCisrKyBiL29icy1zdHVkaW8td2Vic29ja2V0 LXVzZS1zeXN0ZW0tcXJjb2RlZ2VuY3BwLnBhdGNoCkBAIC0wLDAgKzEsMTA3IEBACitGcm9tIDFl MmZjM2FkZTU4N2E3YTdjMjRlNDIzODk5NmNhMzgyYzRjMGY3MTkgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRl OiBUdWUsIDI3IERlYyAyMDIyIDA5OjE1OjA4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtl OiBVc2UgdGhlIHN5c3RlbSB2ZXJzaW9uIG9mIFFSQ29kZUdlbkNQUCBkZXBlbmRlbmN5CisKKy0t LQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgfCAgOSArKysrKysrLS0KKyBjbWFrZS9sZWdh Y3kuY21ha2UgICAgICAgIHwgMTIgKysrKysrKystLS0tCisgc3JjL2Zvcm1zL0Nvbm5lY3RJbmZv LmNwcCB8ICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vYnMtd2Vic29ja2V0L0NNYWtlTGlzdHMu dHh0IGIvcGx1Z2lucy9vYnMtd2Vic29ja2V0L0NNYWtlTGlzdHMudHh0CitpbmRleCA4NzFmOTJi Li4yODhjYzg3IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9vYnMtd2Vic29ja2V0L0NNYWtlTGlzdHMu dHh0CisrKysgYi9wbHVnaW5zL29icy13ZWJzb2NrZXQvQ01ha2VMaXN0cy50eHQKK0BAIC0xMyw3 ICsxMyw3IEBAIGVuZGlmKCkKKyAKKyAjIFN1Ym1vZHVsZSBkZXBzIGNoZWNrCisgaWYoTk9UIEVY SVNUUyAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RlcHMvcXIvY3BwL1FyQ29kZS5ocHAi KQorLSAgbWVzc2FnZShGQVRBTF9FUlJPUiAib2JzLXdlYnNvY2tldCBzdWJtb2R1bGUgZGVwcyBu b3QgYXZhaWxhYmxlLiIpCisrICBtZXNzYWdlKElORk8gIm9icy13ZWJzb2NrZXQgc3VibW9kdWxl IGRlcHMgbm90IGF2YWlsYWJsZS4iKQorIGVuZGlmKCkKKyAKKyAjIEZpbmQgUXQKK0BAIC0yMiw2 ICsyMiw5IEBAIGZpbmRfcXQoQ09NUE9ORU5UUyBDb3JlIFdpZGdldHMgU3ZnIE5ldHdvcmspCisg IyBGaW5kIG5sb2htYW5uIEpTT04KKyBmaW5kX3BhY2thZ2UobmxvaG1hbm5fanNvbiAzIFJFUVVJ UkVEKQorIAorKyMgRmluZCBxcmNvZGVnZW5jcHAKKytmaW5kX3BhY2thZ2UocXJjb2RlZ2VuY3Bw IFJFUVVJUkVEKQorKworICMgRmluZCBXZWJTb2NrZXQrKworIGZpbmRfcGFja2FnZShXZWJzb2Nr ZXRwcCAwLjggUkVRVUlSRUQpCisgCitAQCAtMTU3LDcgKzE2MCw5IEBAIHRhcmdldF9saW5rX2xp YnJhcmllcygKKyAgICAgICAgICAgUXQ6Ok5ldHdvcmsKKyAgICAgICAgICAgbmxvaG1hbm5fanNv bjo6bmxvaG1hbm5fanNvbgorICAgICAgICAgICBXZWJzb2NrZXRwcDo6V2Vic29ja2V0cHAKKy0g ICAgICAgICAgQXNpbzo6QXNpbykKKysgICAgICAgICAgQXNpbzo6QXNpbworKyAgICAgICAgICBx cmNvZGVnZW5jcHAKKysgICAgICAgICAgKQorIAorIHNldF90YXJnZXRfcHJvcGVydGllc19vYnMo CisgICBvYnMtd2Vic29ja2V0CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9vYnMtd2Vic29ja2V0L2Nt YWtlL2xlZ2FjeS5jbWFrZSBiL3BsdWdpbnMvb2JzLXdlYnNvY2tldC9jbWFrZS9sZWdhY3kuY21h a2UKK2luZGV4IGFiMjVlYzcuLjk4Y2E3MDQgMTAwNjQ0CistLS0gYS9wbHVnaW5zL29icy13ZWJz b2NrZXQvY21ha2UvbGVnYWN5LmNtYWtlCisrKysgYi9wbHVnaW5zL29icy13ZWJzb2NrZXQvY21h a2UvbGVnYWN5LmNtYWtlCitAQCAtMTAsNyArMTAsNyBAQCBlbmRpZigpCisgCisgIyBTdWJtb2R1 bGUgZGVwcyBjaGVjaworIGlmKE5PVCBFWElTVFMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 L2RlcHMvcXIvY3BwL1FyQ29kZS5ocHApCistICBvYnNfc3RhdHVzKEZBVEFMX0VSUk9SICJvYnMt d2Vic29ja2V0IHN1Ym1vZHVsZSBkZXBzIG5vdCBhdmFpbGFibGUuIikKKysgIG9ic19zdGF0dXMo SU5GTyAib2JzLXdlYnNvY2tldCBzdWJtb2R1bGUgZGVwcyBub3QgYXZhaWxhYmxlLiIpCisgZW5k aWYoKQorIAorICMgUGx1Z2luIHRlc3RzIGZsYWcKK0BAIC0yMiw2ICsyMiw5IEBAIGZpbmRfcXQo Q09NUE9ORU5UUyBDb3JlIFdpZGdldHMgU3ZnIE5ldHdvcmspCisgIyBGaW5kIG5sb2htYW5uIEpT T04KKyBmaW5kX3BhY2thZ2UobmxvaG1hbm5fanNvbiAzIFJFUVVJUkVEKQorIAorKyMgRmluZCBx cmNvZGVnZW5jcHAKKytmaW5kX3BhY2thZ2UocXJjb2RlZ2VuY3BwIFJFUVVJUkVEKQorKworICMg RmluZCBXZWJTb2NrZXQrKworIGZpbmRfcGFja2FnZShXZWJzb2NrZXRwcCAwLjggUkVRVUlSRUQp CisgCitAQCAtMTI5LDggKzEzMiw3IEBAIHRhcmdldF9zb3VyY2VzKAorICAgICAgICAgICBzcmMv dXRpbHMvQ29tcGF0LmNwcAorICAgICAgICAgICBzcmMvdXRpbHMvQ29tcGF0LmgKKyAgICAgICAg ICAgc3JjL3V0aWxzL1V0aWxzLmgKKy0gICAgICAgICAgZGVwcy9xci9jcHAvUXJDb2RlLmNwcAor LSAgICAgICAgICBkZXBzL3FyL2NwcC9RckNvZGUuaHBwKQorKyAgICAgICAgICApCisgCisgdGFy Z2V0X2xpbmtfbGlicmFyaWVzKAorICAgb2JzLXdlYnNvY2tldAorQEAgLTE0Miw3ICsxNDQsOSBA QCB0YXJnZXRfbGlua19saWJyYXJpZXMoCisgICAgICAgICAgIFF0OjpOZXR3b3JrCisgICAgICAg ICAgIG5sb2htYW5uX2pzb246Om5sb2htYW5uX2pzb24KKyAgICAgICAgICAgV2Vic29ja2V0cHA6 OldlYnNvY2tldHBwCistICAgICAgICAgIEFzaW86OkFzaW8pCisrICAgICAgICAgIEFzaW86OkFz aW8KKysgICAgICAgICAgcXJjb2RlZ2VuY3BwCisrICAgICAgICAgICkKKyAKKyB0YXJnZXRfY29t cGlsZV9mZWF0dXJlcyhvYnMtd2Vic29ja2V0IFBSSVZBVEUgY3h4X3N0ZF8xNykKKyAKK2RpZmYg LS1naXQgYS9wbHVnaW5zL29icy13ZWJzb2NrZXQvc3JjL2Zvcm1zL0Nvbm5lY3RJbmZvLmNwcCBi L3BsdWdpbnMvb2JzLXdlYnNvY2tldC9zcmMvZm9ybXMvQ29ubmVjdEluZm8uY3BwCitpbmRleCBk ZGI5NzlkLi44OWEwNGM0IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9vYnMtd2Vic29ja2V0L3NyYy9m b3Jtcy9Db25uZWN0SW5mby5jcHAKKysrKyBiL3BsdWdpbnMvb2JzLXdlYnNvY2tldC9zcmMvZm9y bXMvQ29ubmVjdEluZm8uY3BwCitAQCAtMjEsOSArMjEsOSBAQCB3aXRoIHRoaXMgcHJvZ3JhbS4g SWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPgorICNpbmNsdWRlIDxR UGFpbnRlcj4KKyAjaW5jbHVkZSA8UVVybD4KKyAjaW5jbHVkZSA8b2JzLW1vZHVsZS5oPgorKyNp bmNsdWRlIDxxcmNvZGVnZW5jcHAvUXJDb2RlLmhwcD4KKyAKKyAjaW5jbHVkZSAiQ29ubmVjdElu Zm8uaCIKKy0jaW5jbHVkZSAiLi4vLi4vZGVwcy9xci9jcHAvUXJDb2RlLmhwcCIKKyAjaW5jbHVk ZSAiLi4vb2JzLXdlYnNvY2tldC5oIgorICNpbmNsdWRlICIuLi9Db25maWcuaCIKKyAjaW5jbHVk ZSAiLi4vdXRpbHMvUGxhdGZvcm0uaCIKKy0tIAorMi4zOS4yCisKCmRpZmYgLS1naXQgYS9vYnMt c3R1ZGlvLnNwZWMgYi9vYnMtc3R1ZGlvLnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNjI0MTZkMwotLS0gL2Rldi9udWxsCisrKyBiL29icy1zdHVkaW8uc3BlYwpAQCAt MCwwICsxLDgwMiBAQAorJWlmYXJjaCAle3Bvd2VyNjR9IHMzOTB4CisjIEx1YUpJVCBpcyBub3Qg YXZhaWxhYmxlIGZvciBQT1dFUiBhbmQgSUJNIFoKKyViY29uZF93aXRoIGx1YV9zY3JpcHRpbmcK KyVlbHNlCislYmNvbmRfd2l0aG91dCBsdWFfc2NyaXB0aW5nCislZW5kaWYKKworIyBWTEMgaXMg bm90IHlldCBpbiBGZWRvcmEKKyViY29uZF93aXRoIHZsYworIyB4MjY0IGlzIG5vdCBpbiBGZWRv cmEKKyViY29uZF93aXRoIHgyNjQKKworJWdsb2JhbCBvYnN3ZWJzb2NrZXRfdmVyc2lvbiA1LjIu MgorCisjZ2xvYmFsIGNvbW1pdCBhZDg1OWEzZjY2ZGFhYzBkMzBlZWJjYzliMDdiMGMyMDA0ZmI2 MDQwCisjZ2xvYmFsIHNuYXBkYXRlIDIwMjMwMzI2MTc0MworI2dsb2JhbCBzaG9ydGNvbW1pdCAl KGM9JXtjb21taXR9OyBlY2hvICR7YzowOjd9KQorCitOYW1lOiAgICAgICAgICAgb2JzLXN0dWRp bworVmVyc2lvbjogICAgICAgIDI5LjEuMH5iZXRhNAorUmVsZWFzZTogICAgICAgIDElez9kaXN0 fQorU3VtbWFyeTogICAgICAgIE9wZW4gQnJvYWRjYXN0ZXIgU29mdHdhcmUgU3R1ZGlvCisKKyMg T0JTIGl0c2VsZiBpcyBHUEwtMi4wLW9yLWxhdGVyLCB3aGlsZSB2YXJpb3VzIHBsdWdpbiBkZXBl bmRlbmNpZXMgYXJlIG9mIHZhcmlvdXMgb3RoZXIgbGljZW5zZXMKKyMgVGhlIGxpY2Vuc2VzIGZv ciB0aG9zZSBkZXBlbmRlbmNpZXMgYXJlIGNhcHR1cmVkIHdpdGggdGhlIGJ1bmRsZWQgcHJvdmlk ZXMgc3RhdGVtZW50cworTGljZW5zZTogICAgICAgIEdQTC0yLjAtb3ItbGF0ZXIgYW5kIElTQyBh bmQgTUlUIGFuZCBCU0QtMS1DbGF1c2UgYW5kIEJTRC0yLUNsYXVzZSBhbmQgQlNELTMtQ2xhdXNl IGFuZCBCU0wtMS4wIGFuZCBMR1BMLTIuMS1vci1sYXRlciBhbmQgQ0MwLTEuMCBhbmQgKENDMC0x LjAgb3IgT3BlblNTTCBvciBBcGFjaGUtMi4wKSBhbmQgTGljZW5zZVJlZi1GZWRvcmEtUHVibGlj LURvbWFpbiBhbmQgKEJTRC0zLUNsYXVzZSBvciBHUEwtMi4wLW9ubHkpCitVUkw6ICAgICAgICAg ICAgaHR0cHM6Ly9vYnNwcm9qZWN0LmNvbS8KKyVpZiAwJXs/c25hcGRhdGV9CitTb3VyY2UwOiAg ICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29ic3Byb2plY3Qvb2JzLXN0dWRpby9hcmNoaXZlLyV7 Y29tbWl0fS8le25hbWV9LSV7Y29tbWl0fS50YXIuZ3oKKyVlbHNlCitTb3VyY2UwOiAgICAgICAg aHR0cHM6Ly9naXRodWIuY29tL29ic3Byb2plY3Qvb2JzLXN0dWRpby9hcmNoaXZlLyV7dmVyc2lv bl9ub190aWxkZX0vJXtuYW1lfS0le3ZlcnNpb25fbm9fdGlsZGV9LnRhci5negorJWVuZGlmCitT b3VyY2UxOiAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29ic3Byb2plY3Qvb2JzLXdlYnNvY2tl dC9hcmNoaXZlLyV7b2Jzd2Vic29ja2V0X3ZlcnNpb259L29icy13ZWJzb2NrZXQtJXtvYnN3ZWJz b2NrZXRfdmVyc2lvbn0udGFyLmd6CisKKyMgQmFja3BvcnRzIGZyb20gdXBzdHJlYW0KKworIyBQ cm9wb3NlZCB1cHN0cmVhbQorIyMgRnJvbTogaHR0cHM6Ly9naXRodWIuY29tL29ic3Byb2plY3Qv b2JzLXN0dWRpby9wdWxsLzg1MjkKK1BhdGNoMDEwMTogICAgICAwMDAxLVVJLUNvbnNpc3RlbnRs eS1yZWZlcmVuY2UtdGhlLXNvZnR3YXJlLUgyNjQtZW5jb2Rlci0ucGF0Y2gKK1BhdGNoMDEwMjog ICAgICAwMDAyLW9icy1mZm1wZWctQWRkLWluaXRpYWwtc3VwcG9ydC1mb3ItdGhlLU9wZW5IMjY0 LUguMjYucGF0Y2gKK1BhdGNoMDEwMzogICAgICAwMDAzLVVJLUFkZC1zdXBwb3J0LWZvci1PcGVu SDI2NC1hcy10aGUtd29yc3QtY2FzZS1mYWxsYmEucGF0Y2gKKyMjIEZyb206IGh0dHBzOi8vZ2l0 aHViLmNvbS9vYnNwcm9qZWN0L29icy1zdHVkaW8vcHVsbC84NzYzCitQYXRjaDAxMDQ6ICAgICAg b2JzLXN0dWRpby1QUjg3NjMucGF0Y2gKKworCisjIERvd25zdHJlYW0gRmVkb3JhIHBhdGNoZXMK KyMjIFVzZSBzeXN0ZW0gcXJjb2RlZ2VuY3BwCitQYXRjaDEwMDE6ICAgICAgb2JzLXN0dWRpby13 ZWJzb2NrZXQtdXNlLXN5c3RlbS1xcmNvZGVnZW5jcHAucGF0Y2gKKyMjIEFkZCBsaWNlbnNlIGRl Y2xhcmF0aW9ucyBmb3IgYnVuZGxlZCBkZXBzCitQYXRjaDkwMDE6ICAgICAgb2JzLXN0dWRpby1k ZXBzLUFkZC1saWNlbnNlLWRlY2xhcmF0aW9uLWZpbGVzLnBhdGNoCisjIyBBZGQgbGljZW5zZSBk ZWNsYXJhdGlvbiBmb3Igb2JzLXFzdjExCitQYXRjaDkwMDI6ICAgICAgb2JzLXN0dWRpby1vYnMt cXN2MTEtQWRkLWxpY2Vuc2UtZGVjbGFyYXRpb24tZmlsZS5wYXRjaAorCisKK0J1aWxkUmVxdWly ZXM6ICBnY2MKK0J1aWxkUmVxdWlyZXM6ICBjbWFrZSA+PSAzLjE2CitCdWlsZFJlcXVpcmVzOiAg bmluamEtYnVpbGQKK0J1aWxkUmVxdWlyZXM6ICBsaWJhcHBzdHJlYW0tZ2xpYgorQnVpbGRSZXF1 aXJlczogIGRlc2t0b3AtZmlsZS11dGlscworCitCdWlsZFJlcXVpcmVzOiAgYWxzYS1saWItZGV2 ZWwKK0J1aWxkUmVxdWlyZXM6ICBhc2lvLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgZmRrLWFhYy1m cmVlLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgZmZtcGVnLWZyZWUtZGV2ZWwKK0J1aWxkUmVxdWly ZXM6ICBmb250Y29uZmlnLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgZnJlZXR5cGUtZGV2ZWwKK0J1 aWxkUmVxdWlyZXM6ICBqYW5zc29uLWRldmVsID49IDIuNQorQnVpbGRSZXF1aXJlczogIGpzb24t ZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBsaWJjdXJsLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgbGli ZHJtLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgbGliR0wtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBs aWJnbHZuZC1kZXZlbAorQnVpbGRSZXF1aXJlczogIGxpYnJpc3QtZGV2ZWwKK0J1aWxkUmVxdWly ZXM6ICBzcnQtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBsaWJ1dWlkLWRldmVsCitCdWlsZFJlcXVp cmVzOiAgbGlidjRsLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgbGlidmEtZGV2ZWwKK0J1aWxkUmVx dWlyZXM6ICBsaWJYMTEtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBsaWJ4Y2ItZGV2ZWwKK0J1aWxk UmVxdWlyZXM6ICBsaWJYY29tcG9zaXRlLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgbGliWGluZXJh bWEtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBsaWJ4a2Jjb21tb24tZGV2ZWwKKyVpZiAle3dpdGgg bHVhX3NjcmlwdGluZ30KK0J1aWxkUmVxdWlyZXM6ICBsdWFqaXQtZGV2ZWwKKyVlbmRpZgorQnVp bGRSZXF1aXJlczogIG1iZWR0bHMtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBwY2l1dGlscy1kZXZl bAorQnVpbGRSZXF1aXJlczogIHBpcGV3aXJlLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgcGlwZXdp cmUtamFjay1hdWRpby1jb25uZWN0aW9uLWtpdC1kZXZlbAorQnVpbGRSZXF1aXJlczogIHB1bHNl YXVkaW8tbGlicy1kZXZlbAorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtZGV2ZWwKK0J1aWxkUmVx dWlyZXM6ICBsaWJxcmNvZGVnZW5jcHAtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBxdDYtcXRiYXNl LWRldmVsCitCdWlsZFJlcXVpcmVzOiAgcXQ2LXF0YmFzZS1wcml2YXRlLWRldmVsCitCdWlsZFJl cXVpcmVzOiAgcXQ2LXF0c3ZnLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgcXQ2LXF0d2F5bGFuZC1k ZXZlbAorQnVpbGRSZXF1aXJlczogIHNwZWV4ZHNwLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgc3dp ZworQnVpbGRSZXF1aXJlczogIHN5c3RlbWQtZGV2ZWwKKyVpZiAle3dpdGggdmxjfQorQnVpbGRS ZXF1aXJlczogIHZsYy1kZXZlbAorJWVuZGlmCitCdWlsZFJlcXVpcmVzOiAgd2F5bGFuZC1kZXZl bAorQnVpbGRSZXF1aXJlczogIHdlYnNvY2tldHBwLWRldmVsCislaWYgJXt3aXRoIHgyNjR9CitC dWlsZFJlcXVpcmVzOiAgeDI2NC1kZXZlbAorJWVuZGlmCisKK1JlcXVpcmVzOiAgICAgICAle25h bWV9LWxpYnMlez9faXNhfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorIyBFbnN1cmUgdGhhdCB3 ZSBoYXZlIHRoZSBmdWxsIGZmbXBlZyBzdWl0ZSBpbnN0YWxsZWQKK1JlcXVpcmVzOiAgICAgICAv dXNyL2Jpbi9mZm1wZWcKKyVpZiAle3dpdGggeDI2NH0KK1JlcXVpcmVzOiAgICAgICB4MjY0Cisl ZW5kaWYKKworIyBFbnN1cmUgUXRXYXlsYW5kIGlzIGluc3RhbGxlZCB3aGVuIGxpYndheWxhbmQt Y2xpZW50IGlzIGluc3RhbGxlZAorUmVxdWlyZXM6ICAgICAgKHF0Ni1xdHdheWxhbmQlez9faXNh fSBpZiBsaWJ3YXlsYW5kLWNsaWVudCV7P19pc2F9KQorIyBGb3IgaWNvbiBmb2xkZXIgaGVpcmFy Y2h5CitSZXF1aXJlczogICAgICBoaWNvbG9yLWljb24tdGhlbWUKKworIyBUaGVzZSBhcmUgbW9k aWZpZWQgc291cmNlcyB0aGF0IGNhbid0IGJlIGVhc2lseSB1bmJ1bmRsZWQKKyMjIExpY2Vuc2U6 IE1JVCBhbmQgQ0MwLTEuMAorIyMgTmV3ZXIgdmVyc2lvbiBpbiBGZWRvcmEgd2l0aCB0aGUgc2Ft ZSBsaWNlbnNpbmcKKyMjIFJlcXVlc3QgZmlsZWQgdXBzdHJlYW0gZm9yIGZpeGluZyBpdDogaHR0 cHM6Ly9naXRodWIuY29tL3NpbWQtZXZlcnl3aGVyZS9zaW1kZS9pc3N1ZXMvOTk5CitQcm92aWRl czogICAgICBidW5kbGVkKHNpbWRlKSA9IDAuNy4xCisjIyBMaWNlbnNlOiBCU0wtMS4wCitQcm92 aWRlczogICAgICBidW5kbGVkKGRlY2tsaW5rLXNkaykKKyMjIExpY2Vuc2U6IENDMC0xLjAgb3Ig T3BlblNTTCBvciBBcGFjaGUtMi4wCitQcm92aWRlczogICAgICBidW5kbGVkKGJsYWtlMikKKyMj IExpY2Vuc2U6IE1JVAorUHJvdmlkZXM6ICAgICAgYnVuZGxlZChqc29uMTEpCisjIyBMaWNlbnNl OiBNSVQKK1Byb3ZpZGVzOiAgICAgIGJ1bmRsZWQobGliY2FwdGlvbikKKyMjIExpY2Vuc2U6IElT QworUHJvdmlkZXM6ICAgICAgYnVuZGxlZChsaWJmZikKKyMjIExpY2Vuc2U6IEJTRC0xLUNsYXVz ZQorUHJvdmlkZXM6ICAgICAgYnVuZGxlZCh1dGhhc2gpCisjIyBMaWNlbnNlOiBCU0QtMy1DbGF1 c2UKK1Byb3ZpZGVzOiAgICAgIGJ1bmRsZWQocm5ub2lzZSkKKyMjIExpY2Vuc2U6IExHUEwtMi4x LW9yLWxhdGVyIGFuZCBMaWNlbnNlUmVmLUZlZG9yYS1QdWJsaWMtRG9tYWluCitQcm92aWRlczog ICAgICBidW5kbGVkKGxpYnJ0bXApCisjIyBMaWNlbnNlOiBNSVQKK1Byb3ZpZGVzOiAgICAgIGJ1 bmRsZWQobGlibnNnaWYpCisjIyBMaWNlbnNlOiBNSVQKKyMjIFdpbmRvd3Mgb25seSBkZXBlbmRl bmN5CisjIyBTdXBwb3J0IGZvciBMaW51eCB3aWxsIGFsc28gdW5idW5kbGUgaXQKKyMjIENmLiBo dHRwczovL2dpdGh1Yi5jb20vb2JzcHJvamVjdC9vYnMtc3R1ZGlvL3B1bGwvODMyNworUHJvdmlk ZXM6ICAgICAgYnVuZGxlZChpbnRlbC1tZWRpYXNkaykKKworCislZGVzY3JpcHRpb24KK09wZW4g QnJvYWRjYXN0ZXIgU29mdHdhcmUgaXMgZnJlZSBhbmQgb3BlbiBzb3VyY2UKK3NvZnR3YXJlIGZv ciB2aWRlbyByZWNvcmRpbmcgYW5kIGxpdmUgc3RyZWFtaW5nLgorCislcGFja2FnZSBsaWJzCitT dW1tYXJ5OiBPcGVuIEJyb2FkY2FzdGVyIFNvZnR3YXJlIFN0dWRpbyBsaWJyYXJpZXMKKyV7P19x dDY6UmVxdWlyZXM6ICV7X3F0Nn0lez9faXNhfSA9ICV7X3F0Nl92ZXJzaW9ufX0KKworJWRlc2Ny aXB0aW9uIGxpYnMKK0xpYnJhcnkgZmlsZXMgZm9yIE9wZW4gQnJvYWRjYXN0ZXIgU29mdHdhcmUK KworJXBhY2thZ2UgZGV2ZWwKK1N1bW1hcnk6IE9wZW4gQnJvYWRjYXN0ZXIgU29mdHdhcmUgU3R1 ZGlvIGhlYWRlciBmaWxlcworUmVxdWlyZXM6ICV7bmFtZX0tbGlicyV7P19pc2F9ID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9CisKKyVkZXNjcmlwdGlvbiBkZXZlbAorSGVhZGVyIGZpbGVzIGZvciBP cGVuIEJyb2FkY2FzdGVyIFNvZnR3YXJlCisKKworJXByZXAKKyVzZXR1cCAtcSAtbiAle25hbWV9 LSV7P3NuYXBkYXRlOiV7Y29tbWl0fX0leyE/c25hcGRhdGU6JXt2ZXJzaW9uX25vX3RpbGRlfX0K KyMgUHJlcGFyZSBwbHVnaW5zL29icy13ZWJzb2NrZXQKK3RhciAteGYgJXtTT1VSQ0UxfSAtQyBw bHVnaW5zL29icy13ZWJzb2NrZXQgLS1zdHJpcC1jb21wb25lbnRzPTEKKyVhdXRvcGF0Y2ggLXAx CisKKyMgcnBtbGludCByZXBvcnRzIEU6IGhhcmRjb2RlZC1saWJyYXJ5LXBhdGgKKyMgcmVwbGFj ZSBPQlNfTVVMVElBUkNIX1NVRkZJWCBieSBMSUJfU1VGRklYCitzZWQgLWUgJ3N8T0JTX01VTFRJ QVJDSF9TVUZGSVh8TElCX1NVRkZJWHxnJyAtaSBjbWFrZS9Nb2R1bGVzL09ic0hlbHBlcnMuY21h a2UKKworIyBLaWxsIHJwYXRoIHNldHRpbmdzCitzZWQgLWUgJ1x8c2V0KENNQUtFX0lOU1RBTExf UlBBVEggIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7T0JTX0xJQlJBUllfREVTVElOQVRJT059 Iil8ZCcgLWkgY21ha2UvTW9kdWxlcy9PYnNIZWxwZXJzX0xpbnV4LmNtYWtlCisKKyMgdG91Y2gg dGhlIG1pc3Npbmcgc3VibW9kdWxlcwordG91Y2ggcGx1Z2lucy9vYnMtYnJvd3Nlci9DTWFrZUxp c3RzLnR4dAorCislaWYgISAle3dpdGggeDI2NH0KKyMgZGlzYWJsZSB4MjY0IHBsdWdpbgorbXYg cGx1Z2lucy9vYnMteDI2NC9DTWFrZUxpc3RzLnR4dCBwbHVnaW5zL29icy14MjY0L0NNYWtlTGlz dHMudHh0LmRpc2FibGVkCit0b3VjaCBwbHVnaW5zL29icy14MjY0L0NNYWtlTGlzdHMudHh0Cisl ZW5kaWYKKworIyByZW1vdmUgLVdlcnJvciBmbGFnIHRvIG1pdGlnYXRlIEZUQkZTIHdpdGggZmZt cGVnIDUuMQorc2VkIC1lICdzfC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb258 fGcnIC1pIGNtYWtlL01vZHVsZXMvQ29tcGlsZXJDb25maWcuY21ha2UKK3NlZCAtZSAnLy1XZXJy b3IvZCcgLWkgY21ha2UvTW9kdWxlcy9Db21waWxlckNvbmZpZy5jbWFrZQorCisjIFJlbW92aW5n IHVudXNlZCB0aGlyZC1wYXJ0eSBkZXBzCitybSAtcmYgZGVwcy93MzItcHRocmVhZHMKK3JtIC1y ZiBkZXBzL2lwYy11dGlsCitybSAtcmYgZGVwcy9qYW5zc29uCisKKyMgUmVtb3ZlIHVubmVlZGVk IEVHTC9LSFIgZmlsZXMKK3JtIC1yZiBkZXBzL2dsYWQvaW5jbHVkZS97RUdMLEtIUn0KK3NlZCAt ZSAnc3xpbmNsdWRlL0VHTC9lZ2xwbGF0Zm9ybS5ofHxnJyAtaSBkZXBzL2dsYWQvQ01ha2VMaXN0 cy50eHQKKworIyBDb2xsZWN0IGxpY2Vuc2UgZmlsZXMKK21rZGlyIC1wIC5mZWRvcmEtcnBtL2xp Y2Vuc2VzL2RlcHMKK21rZGlyIC1wIC5mZWRvcmEtcnBtL2xpY2Vuc2VzL3BsdWdpbnMKK2NwIHBs dWdpbnMvb2JzLWZpbHRlcnMvcm5ub2lzZS9DT1BZSU5HIC5mZWRvcmEtcnBtL2xpY2Vuc2VzL2Rl cHMvcm5ub2lzZS1DT1BZSU5HCitjcCBwbHVnaW5zL29icy13ZWJzb2NrZXQvTElDRU5TRSAuZmVk b3JhLXJwbS9saWNlbnNlcy9wbHVnaW5zL29icy13ZWJzb2NrZXQtTElDRU5TRQorY3AgcGx1Z2lu cy9vYnMtb3V0cHV0cy9saWJydG1wL0NPUFlJTkcgLmZlZG9yYS1ycG0vbGljZW5zZXMvZGVwcy9s aWJydG1wLUNPUFlJTkcKK2NwIGRlcHMvanNvbjExL0xJQ0VOU0UudHh0IC5mZWRvcmEtcnBtL2xp Y2Vuc2VzL2RlcHMvanNvbjExLUxJQ0VOU0UudHh0CitjcCBkZXBzL2xpYmNhcHRpb24vTElDRU5T RS50eHQgLmZlZG9yYS1ycG0vbGljZW5zZXMvZGVwcy9saWJjYXB0aW9uLUxJQ0VOU0UudHh0Citj cCBwbHVnaW5zL29icy1xc3YxMS9RU1YxMS1MaWNlbnNlLUNsYXJpZmljYXRpb24tRW1haWwudHh0 IC5mZWRvcmEtcnBtL2xpY2Vuc2VzL3BsdWdpbnMvUVNWMTEtTGljZW5zZS1DbGFyaWZpY2F0aW9u LUVtYWlsLnR4dAorY3AgZGVwcy91dGhhc2gvdXRoYXNoL0xJQ0VOU0UgLmZlZG9yYS1ycG0vbGlj ZW5zZXMvZGVwcy91dGhhc2gtTElDRU5TRQorY3AgZGVwcy9ibGFrZTIvTElDRU5TRS5ibGFrZTIg LmZlZG9yYS1ycG0vbGljZW5zZXMvZGVwcy8KK2NwIGRlcHMvbGliZmYvTElDRU5TRS5saWJmZiAu ZmVkb3JhLXJwbS9saWNlbnNlcy9kZXBzLworY3AgbGlib2JzL2dyYXBoaWNzL2xpYm5zZ2lmL0xJ Q0VOU0UubGlibnNnaWYgLmZlZG9yYS1ycG0vbGljZW5zZXMvZGVwcy8KK2NwIGxpYm9icy91dGls L3NpbWRlL0xJQ0VOU0Uuc2ltZGUgLmZlZG9yYS1ycG0vbGljZW5zZXMvZGVwcy8KK2NwIHBsdWdp bnMvZGVja2xpbmsvTElDRU5TRS5kZWNrbGluay1zZGsgLmZlZG9yYS1ycG0vbGljZW5zZXMvZGVw cworY3AgcGx1Z2lucy9vYnMtcXN2MTEvb2JzLXFzdjExLUxJQ0VOU0UudHh0IC5mZWRvcmEtcnBt L2xpY2Vuc2VzL3BsdWdpbnMvCisKKworJWJ1aWxkCislY21ha2UgLURPQlNfVkVSU0lPTl9PVkVS UklERT0le3ZlcnNpb25fbm9fdGlsZGV9IFwKKyAgICAgICAtRFVOSVhfU1RSVUNUVVJFPTEgLUdO aW5qYSBcCisgICAgICAgLURDTUFLRV9TS0lQX1JQQVRIPTEgXAorICAgICAgIC1EQlVJTERfQlJP V1NFUj1PRkYgXAorJWlmICEgJXt3aXRoIHZsY30KKyAgICAgICAtREVOQUJMRV9WTEM9T0ZGIFwK KyVlbmRpZgorICAgICAgIC1ERU5BQkxFX0pBQ0s9T04gXAorICAgICAgIC1ERU5BQkxFX0xJQkZE Sz1PTiBcCisgICAgICAgLURFTkFCTEVfQUpBPU9GRiBcCislaWYgISAle3dpdGggbHVhX3Njcmlw dGluZ30KKyAgICAgICAtRERJU0FCTEVfTFVBPU9OIFwKKyVlbmRpZgorICAgICAgIC1ET3BlbkdM X0dMX1BSRUZFUkVOQ0U9R0xWTkQKKyVjbWFrZV9idWlsZAorCisKKyVpbnN0YWxsCislY21ha2Vf aW5zdGFsbAorCisjIEFkZCBtaXNzaW5nIGZpbGVzIHRvIGVuYWJsZSB0aGUgYnVpbGQgb2Ygb2Jz LW5kaQoraW5zdGFsbCAtRG02NDQgVUkvb2JzLWZyb250ZW5kLWFwaS9vYnMtZnJvbnRlbmQtYXBp LmggJXtidWlsZHJvb3R9JXtfaW5jbHVkZWRpcn0vb2JzLworaW5zdGFsbCAtRG02NDQgY21ha2Uv ZXh0ZXJuYWwvT2JzUGx1Z2luSGVscGVycy5jbWFrZSAle2J1aWxkcm9vdH0le19saWJkaXJ9L2Nt YWtlL2xpYm9icy8KKworIyBXb3JrIGFyb3VuZCBicm9rZW4gbGlib2JzLnBjIGZpbGUuLi4KKyMg Q2YuIGh0dHBzOi8vZ2l0aHViLmNvbS9vYnNwcm9qZWN0L29icy1zdHVkaW8vaXNzdWVzLzc5NzIK K3NlZCAtZSAnc3xeQ2ZsYWdzOiAuKnxDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfSAtREhBVkVfT0JT Q09ORklHX0h8JyAtaSAle2J1aWxkcm9vdH0le19saWJkaXJ9L3BrZ2NvbmZpZy9saWJvYnMucGMK KworIyBEZWxldGUgdXNlbGVzcyBmaWxlcworZmluZCAle2J1aWxkcm9vdH0gLW5hbWUgIi5rZWVw bWUiIC1kZWxldGUKK2ZpbmQgJXtidWlsZHJvb3R9IC1uYW1lICIuZ2l0a2VlcCIgLWRlbGV0ZQor CisKKyVjaGVjaworZGVza3RvcC1maWxlLXZhbGlkYXRlICV7YnVpbGRyb290fS8le19kYXRhZGly fS9hcHBsaWNhdGlvbnMvY29tLm9ic3Byb2plY3QuU3R1ZGlvLmRlc2t0b3AKK2FwcHN0cmVhbS11 dGlsIHZhbGlkYXRlLXJlbGF4IC0tbm9uZXQgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vbWV0YWlu Zm8vKi5hcHBkYXRhLnhtbAorCisKKyVmaWxlcworJWRvYyBSRUFETUUucnN0CislbGljZW5zZSBV SS9kYXRhL2xpY2Vuc2UvZ3BsdjIudHh0CislbGljZW5zZSBDT1BZSU5HCisle19iaW5kaXJ9L29i cworJXtfYmluZGlyfS9vYnMtZmZtcGVnLW11eAorJXtfZGF0YWRpcn0vbWV0YWluZm8vY29tLm9i c3Byb2plY3QuU3R1ZGlvLmFwcGRhdGEueG1sCisle19kYXRhZGlyfS9hcHBsaWNhdGlvbnMvY29t Lm9ic3Byb2plY3QuU3R1ZGlvLmRlc2t0b3AKKyV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvKi9h cHBzL2NvbS5vYnNwcm9qZWN0LlN0dWRpby4qCisle19kYXRhZGlyfS9vYnMvCisKKyVmaWxlcyBs aWJzCislbGljZW5zZSBDT1BZSU5HCislbGljZW5zZSAuZmVkb3JhLXJwbS9saWNlbnNlcy8qCisl e19saWJkaXJ9L29icy1wbHVnaW5zLworJXtfbGliZGlyfS9vYnMtc2NyaXB0aW5nLworIyB1bnZl cnNpb25lZCBzbyBmaWxlcyBwYWNrYWdlZCBmb3IgdGhpcmQtcGFydHkgcGx1Z2lucyAoY2YuIHJm YnojNTk5OSkKKyV7X2xpYmRpcn0vKi5zbworJXtfbGliZGlyfS8qLnNvLioKKworJWZpbGVzIGRl dmVsCisle19saWJkaXJ9L2NtYWtlL2xpYm9icy8KKyV7X2xpYmRpcn0vY21ha2Uvb2JzLWZyb250 ZW5kLWFwaS8KKyV7X2xpYmRpcn0vcGtnY29uZmlnL2xpYm9icy5wYworJXtfaW5jbHVkZWRpcn0v b2JzLworCisKKyVjaGFuZ2Vsb2cKKyogVHVlIEFwciAxOCAyMDIzIE5lYWwgR29tcGEgPG5nb21w YUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyOS4xLjB+YmV0YTQtMQorLSBJbml0aWFsIGJ1aWxkIGZv ciBGZWRvcmEKKworKiBUdWUgQXByIDE4IDIwMjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXBy b2plY3Qub3JnPiAtIDI5LjEuMH5iZXRhNC0wLjUKKy0gQ2FwdHVyZSBtb3JlIGxpY2Vuc2VzCisK KyogU3VuIEFwciAxNiAyMDIzIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4g LSAyOS4xLjB+YmV0YTQtMC40CistIEJhY2twb3J0IGZpeCBmb3IgUkhFTCA5IGJ1aWxkcworCisq IFN1biBBcHIgMTYgMjAyMyBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3JhcHJvamVjdC5vcmc+IC0g MjkuMS4wfmJldGE0LTAuMworLSBBZGQgbGljZW5zZSBkZWNsYXJhdGlvbiBmaWxlcyBmb3IgYnVu ZGxlZCBkZXBzCisKKyogU3VuIEFwciAxNiAyMDIzIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFw cm9qZWN0Lm9yZz4gLSAyOS4xLjB+YmV0YTQtMC4yCistIEVuc3VyZSBzeXN0ZW0gRUdMIGhlYWRl cnMgYXJlIHVzZWQKKworKiBTYXQgQXByIDE1IDIwMjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9y YXByb2plY3Qub3JnPiAtIDI5LjEuMH5iZXRhNC0wLjEKKy0gVXBkYXRlIHRvIDI5LjEuMH5iZXRh NAorCisqIFdlZCBBcHIgMDUgMjAyMyBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3JhcHJvamVjdC5v cmc+IC0gMjkuMS4wfmJldGEzLTAuMQorLSBVcGRhdGUgdG8gMjkuMS4wfmJldGEzCisKKyogV2Vk IEFwciAwNSAyMDIzIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyOS4x LjB+YmV0YTItMC4xCistIFVwZGF0ZSB0byAyOS4xLjB+YmV0YTIKKworKiBTdW4gQXByIDAyIDIw MjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI5LjEuMH5iZXRhMS0w LjIKKy0gR2V0IHJpZCBvZiBSUEFUSHMKKy0gQmFja3BvcnQgdXBzdHJlYW0gZml4IHRvIGZpeCBF UEVMIDkgYnVpbGQKKy0gRHJvcCBvbGQgY3J1ZnQKKworKiBXZWQgTWFyIDI5IDIwMjMgTmVhbCBH b21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI5LjEuMH5iZXRhMS0wLjEKKy0gVXBn cmFkZSB0byB2MjkuMS4wfmJldGExCisKKyogV2VkIE1hciAyOSAyMDIzIE5lYWwgR29tcGEgPG5n b21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyOS4xLjB+Z2l0MjAyMzAzMjYxNzQzLmFkODU5YTMt MC40CistIFJlZnJlc2ggcGF0Y2hlcyBmb3IgT3BlbkgyNjQgc3VwcG9ydAorCisqIFR1ZSBNYXIg MjggMjAyMyBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjkuMS4wfmdp dDIwMjMwMzI2MTc0My5hZDg1OWEzLTAuMworLSBSZWZyZXNoIHBhdGNoZXMgZm9yIE9wZW5IMjY0 IHN1cHBvcnQKKworKiBUdWUgTWFyIDI4IDIwMjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXBy b2plY3Qub3JnPiAtIDI5LjEuMH5naXQyMDIzMDMyNjE3NDMuYWQ4NTlhMy0wLjIKKy0gUmVmcmVz aCBwYXRjaGVzIGZvciBPcGVuSDI2NCBzdXBwb3J0CisKKyogTW9uIE1hciAyNyAyMDIzIE5lYWwg R29tcGEgPG5nb21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyOS4xLjB+Z2l0MjAyMzAzMjYxNzQz LmFkODU5YTMtMC4xCistIFVwZGF0ZSB0byBnaXQgc25hcHNob3QKKworKiBTdW4gTWFyIDI2IDIw MjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI5LjEuMH5naXQyMDIz MDMyNjA4MTMuOTRiZjMyNS0wLjEKKy0gVXBkYXRlIHRvIGdpdCBzbmFwc2hvdAorLSBBZGQgcGF0 Y2hlcyBmb3IgT3BlbkgyNjQgc3VwcG9ydAorCisqIFNhdCBGZWIgMTggMjAyMyBOZWFsIEdvbXBh IDxuZ29tcGFAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjkuMC4yLTAuMQorLSBVcGRhdGUgdG8gMjku MC4yCistIERyb3AgcGF0Y2ggYWJvdXQgZW5jb2RlciByZWZlcmVuY2VzIHRvIHgyNjQKKworKiBT YXQgSmFuIDA3IDIwMjMgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI5 LjAuMC0wLjEKKy0gVXBkYXRlIHRvIHYyOS4wLjAgZmluYWwKKy0gQWRkIHBhdGNoIGZvciBhZGp1 c3RpbmcgZW5jb2RlciByZWZlcmVuY2UgZm9yIHgyNjQKKworKiBNb24gSmFuIDAyIDIwMjMgTmVh bCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI5LjAuMH5iZXRhMy00CistIEVu c3VyZSBRdFdheWxhbmQgaXMgaW5zdGFsbGVkIHdoZW4gbGlid2F5bGFuZC1jbGllbnQgaXMgaW5z dGFsbGVkCisKKyogU3VuIEphbiAwMSAyMDIzIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAyOS4wLjB+YmV0YTMtMworLSBNYWtlIGZmbXBlZyBkZXBlbmRlbmN5IGFnbm9z dGljIHRvIHBhY2thZ2luZworCisqIFdlZCBEZWMgMjggMjAyMiBOZWFsIEdvbXBhIDxuZ29tcGFA ZmVkb3JhcHJvamVjdC5vcmc+IC0gMjkuMC4wfmJldGEzLTIKKy0gV29yayBhcm91bmQgYnJva2Vu IGxpYm9icy5wYyBmaWxlCisKKyogVHVlIERlYyAyNyAyMDIyIE5lYWwgR29tcGEgPG5nb21wYUBm ZWRvcmFwcm9qZWN0Lm9yZz4gLSAyOS4wLjB+YmV0YTMtMQorLSBSZWJhc2UgdG8gdjI5LjAuMH5i ZXRhMworLSBFbmFibGUgdnN0IHBsdWdpbgorLSBFbmFibGUgd2Vic29ja2V0IHBsdWdpbgorLSBE aXNhYmxlIHgyNjQgcGx1Z2luCisKKyogVGh1IE5vdiAxNyAyMDIyIFZpdGFseSBaYWl0c2V2IDx2 aXRhbHlAZWFzeWNvZGluZy5vcmc+IC0gMjguMS4yLTIKKy0gUmVidWlsdCBkdWUgdG8gUXQgdXBk YXRlLgorCisqIFN1biBOb3YgMDYgMjAyMiBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFp bC5jb20+IC0gMjguMS4yLTEKKy0gVXBkYXRlIHRvIDI4LjEuMgorCisqIFRodSBOb3YgMDMgMjAy MiBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjguMS4xLTEKKy0gVXBk YXRlIHRvIDI4LjEuMQorCisqIFR1ZSBOb3YgMDEgMjAyMiBMZWlnaCBTY290dCA8bGVpZ2gxMjNs aW51eEBnbWFpbC5jb20+IC0gMjguMS4wLTEKKy0gVXBkYXRlIHRvIDI4LjEuMAorCisqIE1vbiBP Y3QgMDMgMjAyMiBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjguMC4z LTEKKy0gVXBkYXRlIHRvIDI4LjAuMworCisqIE1vbiBTZXAgMjYgMjAyMiBMZWlnaCBTY290dCA8 bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjguMC4yLTEKKy0gVXBkYXRlIHRvIDI4LjAuMgor LSBFbmFibGUgamFjayAocmZieiM2NDE5KQorCisqIFR1ZSBTZXAgMTMgMjAyMiBMZWlnaCBTY290 dCA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjguMC4xLTQKKy0gVXNlIHF0NiBmb3IgcmF3 aGlkZSBvbmx5CisKKyogVHVlIFNlcCAxMyAyMDIyIExlaWdoIFNjb3R0IDxsZWlnaDEyM2xpbnV4 QGdtYWlsLmNvbT4gLSAyOC4wLjEtMworLSBGaXggd3Jvbmcgc3ZnIG5hbWVzCisKKyogVHVlIFNl cCAxMyAyMDIyIExlaWdoIFNjb3R0IDxsZWlnaDEyM2xpbnV4QGdtYWlsLmNvbT4gLSAyOC4wLjEt MgorLSB0b3VjaCB0aGUgbWlzc2luZyBzdWItbW9kdWxlcyBpbnN0ZWFkCisKKyogVHVlIFNlcCAx MyAyMDIyIExlaWdoIFNjb3R0IDxsZWlnaDEyM2xpbnV4QGdtYWlsLmNvbT4gLSAyOC4wLjEtMQor LSBVcGRhdGUgdG8gMjguMC4xCistIFJlbW92ZSB2c3Qgc3ViLW1vZHVsZSBhcyBpdCdzIHF0NSBv bmx5CistIEFkZCBicm93c2VyIGFuZCB3ZWJzb2NrZXQgc3ViLW1vZHVsZXMgc28gdGhlIHNvdXJj ZSBjb21waWxlcworICBVcHN0cmVhbSBjYW4gZml4IHRoZWlyIG93biBtZXNzIQorCisqIFN1biBB dWcgMDcgMjAyMiBSUE0gRnVzaW9uIFJlbGVhc2UgRW5naW5lZXJpbmcgPHNlcmdpb21iQHJwbWZ1 c2lvbi5vcmc+IC0gMjcuMi40LTUKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8zN19NYXNzX1JlYnVpbGQgYW5kIGZmbXBlZworICA1LjEKKworKiBT YXQgSnVsIDIzIDIwMjIgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21haWwuY29tPiAtIDI3 LjIuNC00CistIFJlYnVpbGQgZm9yIG5ldyBxdDUKKworKiBTYXQgSnVuIDI1IDIwMjIgUm9iZXJ0 LUFuZHLDqSBNYXVjaGluIDx6ZWJvYi5tQGdtYWlsLmNvbT4gLSAyNy4yLjQtMworLSBSZWJ1aWx0 IGZvciBQeXRob24gMy4xMQorCisqIFN1biBKdW4gMTIgMjAyMiBTw6lyZ2lvIEJhc3RvIDxzZXJn aW9Ac2VyanV4LmNvbT4gLSAyNy4yLjQtMgorLSBNYXNzIHJlYnVpbGQgZm9yIHgyNjQtMC4xNjQK KworKiBNb24gQXByIDExIDIwMjIgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21haWwuY29t PiAtIDI3LjIuNC0xCistIFVwZGF0ZSB0byAyNy4yLjQKKworKiBUaHUgTWFyIDMxIDIwMjIgTGVp Z2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21haWwuY29tPiAtIDI3LjIuMS0yCistIFJlYnVpbGQg Zm9yIG5ldyBxdAorCisqIFNhdCBGZWIgMjYgMjAyMiBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3Jh cHJvamVjdC5vcmc+IC0gMjcuMi4xLTEKKy0gVXBkYXRlIHRvIDI3LjIuMQorLSBEaXNhYmxlIEx1 YSBzY3JpcHRpbmcgZm9yIFBPV0VSIHRvIGZpeCBwcGM2NGxlIGJ1aWxkCistIERyb3AgbGVnYWN5 IEZlZG9yYSBhbmQgRUw4IHN0dWZmCisKKyogTW9uIEZlYiAxNCAyMDIyIE5lYWwgR29tcGEgPG5n b21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyNy4yLjAtMQorLSBVcGRhdGUgdG8gMjcuMi4wIGZp bmFsCisKKyogVHVlIEZlYiAwOCAyMDIyIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFwcm9qZWN0 Lm9yZz4gLSAyNy4yLjB+cmM0LTEKKy0gVXBkYXRlIHRvIDI3LjIuMH5yYzQKKworKiBNb24gRmVi IDA3IDIwMjIgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21haWwuY29tPiAtIDI3LjIuMH5y YzEtMQorLSBVcGRhdGUgdG8gMjcuMi4wfnJjMQorCisqIFdlZCBEZWMgMDEgMjAyMSBOaWNvbGFz IENoYXV2ZXQgPGt3aXphcnRAZ21haWwuY29tPiAtIDI3LjEuMy0yCistIFJlYnVpbHQKKworKiBU dWUgT2N0IDA1IDIwMjEgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI3 LjEuMy0xCistIFVwZGF0ZSB0byAyNy4xLjMKKworKiBUdWUgU2VwIDI4IDIwMjEgTmVhbCBHb21w YSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDI3LjEuMS0xCistIEJ1bXAgdG8gMjcuMS4x IGZpbmFsCisKKyogU2F0IFNlcCAxOCAyMDIxIE5lYWwgR29tcGEgPG5nb21wYUBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAyNy4xLjB+cmMzLTIKKy0gQmFja3BvcnQgZml4IGZvciBQaXBlV2lyZSBzY3Jl ZW5jYXN0aW5nIG9uIEYzNSsKKworKiBTYXQgU2VwIDE4IDIwMjEgTmVhbCBHb21wYSA8bmdvbXBh QGZlZG9yYXByb2plY3Qub3JnPiAtIDI3LjEuMH5yYzMtMQorLSBVcGRhdGUgdG8gMjcuMS4wfnJj MworCisqIFNhdCBTZXAgMTEgMjAyMSBOZWFsIEdvbXBhIDxuZ29tcGFAZmVkb3JhcHJvamVjdC5v cmc+IC0gMjcuMS4wfnJjMi0xCistIFVwZGF0ZSB0byAyNy4xLjB+cmMyCisKKyogVHVlIEF1ZyAw MyAyMDIxIFJQTSBGdXNpb24gUmVsZWFzZSBFbmdpbmVlcmluZyA8bGVpZ2gxMjNsaW51eEBnbWFp bC5jb20+IC0gMjcuMC4xLTQKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV8zNV9NYXNzX1JlYnVpbGQKKworKiBTdW4gSnVsIDExIDIwMjEgU8Opcmdp byBCYXN0byA8c2VyZ2lvQHNlcmp1eC5jb20+IC0gMjcuMC4xLTMKKy0gTWFzcyByZWJ1aWxkIGZv ciB4MjY0LTAuMTYzCisKKyogU2F0IEp1biAyNiAyMDIxIE5lYWwgR29tcGEgPG5nb21wYTEzQGdt YWlsLmNvbT4gLSAyNy4wLjEtMgorLSBCYWNrcG9ydCBmaXggZm9yIGN1cnNvciBwb3NpdGlvbmlu ZyBpbiBXYXlsYW5kIHNjcmVlbmNhc3RpbmcKKworKiBTYXQgSnVuIDEyIDIwMjEgTmVhbCBHb21w YSA8bmdvbXBhMTNAZ21haWwuY29tPiAtIDI3LjAuMS0xCistIFVwZGF0ZSB0byAyNy4wLjEKKwor KiBUdWUgSnVuIDAxIDIwMjEgTmVhbCBHb21wYSA8bmdvbXBhMTNAZ21haWwuY29tPiAtIDI3LjAu MC0xCistIEJ1bXAgdG8gMjcuMC4wIGZpbmFsCistIE1vdmUgdW52ZXJzaW9uZWQgc28gZmlsZXMg dG8gLWxpYnMgZm9yIHRoaXJkLXBhcnR5IHBsdWdpbnMgKHJmYnojNTk5OSkKKy0gTWFrZSBidWls ZCBmb3IgRUw4CistIERyb3AgbGVnYWN5IEVMNyBzdHVmZgorCisqIE1vbiBNYXkgMjQgMjAyMSBO ZWFsIEdvbXBhIDxuZ29tcGExM0BnbWFpbC5jb20+IC0gMjcuMC4wfnJjNi0xCistIEJ1bXAgdG8g MjcuMC4wfnJjNgorCisqIFRodSBNYXkgMjAgMjAyMSBOZWFsIEdvbXBhIDxuZ29tcGExM0BnbWFp bC5jb20+IC0gMjcuMC4wfnJjNS0xCistIEJ1bXAgdG8gMjcuMC4wfnJjNQorLSBEcm9wIHVwc3Ry ZWFtZWQgcGF0Y2ggZm9yIGJ1aWxkaW5nIGphY2sgcGx1Z2luCisKKyogV2VkIE1heSAwNSAyMDIx IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4gLSAyNy4wLjB+cmMzLTIKKy0gRml4IGRl dGVjdGluZyBwaXBld2lyZS1saWJqYWNrIHNvIGphY2sgcGx1Z2luIGlzIGJ1aWx0CisKKyogV2Vk IE1heSAwNSAyMDIxIE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4gLSAyNy4wLjB+cmMz LTEKKy0gQnVtcCB0byAyNy4wLjB+cmMzCisKKyogVGh1IEFwciAyMiAyMDIxIExlaWdoIFNjb3R0 IDxsZWlnaDEyM2xpbnV4QGdtYWlsLmNvbT4gLSAyNy4wLjB+cmMyLTIKKy0gUmVidWlsZCBmb3Ig bGliZnRsIGlzc3VlIChyZmJ6NTk3OCkKKworKiBTYXQgQXByIDE3IDIwMjEgTmVhbCBHb21wYSA8 bmdvbXBhMTNAZ21haWwuY29tPiAtIDI3LjAuMH5yYzItMQorLSBCdW1wIHRvIDI3LjAuMH5yYzIK KworKiBXZWQgRmViIDEwIDIwMjEgTmljb2xhcyBDaGF1dmV0IDxrd2l6YXJ0QGdtYWlsLmNvbT4g LSAyNi4xLjItMworLSBBZGQgb2JzLXZzdCBwbHVnaW5zCistIEJ1aWxkIGZvciBhbGwgYXJjaGVz IChhcm12N2hsLCBhYXJjaDY0LCBwcGM2NGxlKQorLSBSZS1vcmRlciBidWlsZCBkZXBlbmRlbmNp ZXMKKworKiBXZWQgRmViIDAzIDIwMjEgUlBNIEZ1c2lvbiBSZWxlYXNlIEVuZ2luZWVyaW5nIDxs ZWlnaDEyM2xpbnV4QGdtYWlsLmNvbT4gLSAyNi4xLjItMgorLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM0X01hc3NfUmVidWlsZAorCisqIFdlZCBK YW4gMjAgMjAyMSBNYXJ0aW4gR2Fuc3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+IC0g MjYuMS4yLTEKKy0gVXBkYXRlIHRvIDI2LjEuMgorCisqIFR1ZSBKYW4gMTkgMjAyMSBNYXJ0aW4g R2Fuc3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjYuMS4xLTEKKy0gVXBkYXRl IHRvIDI2LjEuMQorCisqIEZyaSBKYW4gIDEgMjAyMSBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51 eEBnbWFpbC5jb20+IC0gMjYuMS4wLTIKKy0gUmVidWlsdCBmb3IgbmV3IGZmbXBlZyBzbmFwc2hv dAorCisqIFNhdCBEZWMgMjYgMjAyMCBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXBy b2plY3Qub3JnPiAtIDI2LjEuMC0xCistIFVwZGF0ZWQgdG8gMjYuMS4wCisKKyogRnJpIE5vdiAy NyAyMDIwIFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDI2LjAuMi0zCistIE1h c3MgcmVidWlsZCBmb3IgeDI2NC0wLjE2MQorCisqIFdlZCBPY3QgMTQgMjAyMCBNb21jaWxvIE1l ZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDI2LjAuMi0yCistIEJ1bXBlZCBy ZWxlYXNlIGZvciBzZXR0aW5nIGRldmVsb3BlciB0b29sc2V0IHZlcnNpb24KKworKiBXZWQgT2N0 IDE0IDIwMjAgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAy Ni4wLjItMQorLSBSZW1vdmVkIGRveHlnZW4gYml0cyBhcyB1cHN0cmVhbSByZW1vdmVkIGl0Cist IFVwZGF0ZWQgdG8gMjYuMC4yCisKKyogVHVlIEF1ZyAxOCAyMDIwIFJQTSBGdXNpb24gUmVsZWFz ZSBFbmdpbmVlcmluZyA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjUuMC44LTUKKy0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zM19NYXNzX1Jl YnVpbGQKKworKiBUaHUgQXVnIDA2IDIwMjAgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21h aWwuY29tPiAtIDI1LjAuOC00CistIEltcHJvdmUgY29tcGF0aWJpbGl0eSB3aXRoIG5ldyBDTWFr ZSBtYWNybworCisqIFR1ZSBKdWwgMDcgMjAyMCBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2VyanV4 LmNvbT4gLSAyNS4wLjgtMworLSBNYXNzIHJlYnVpbGQgZm9yIHgyNjQKKworKiBTYXQgTWF5IDMw IDIwMjAgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21haWwuY29tPiAtIDI1LjAuOC0yCist IFJlYnVpbGQgZm9yIHB5dGhvbi0zLjkKKworKiBUdWUgQXByIDI4IDIwMjAgTGVpZ2ggU2NvdHQg PGxlaWdoMTIzbGludXhAZ29vZ2xlbWFpbC5jb20+IC0gMjUuMC44LTEKKy0gVXBkYXRlZCB0byAy NS4wLjgKKworKiBUaHUgQXByIDE2IDIwMjAgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ21h aWwuY29tPiAtIDI1LjAuNi0xCistIFVwZGF0ZWQgdG8gMjUuMC42CisKKyogTW9uIEFwciAwNiAy MDIwIE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjUuMC40 LTEKKy0gVXBkYXRlZCB0byAyNS4wLjQKKworKiBUdWUgTWFyIDMxIDIwMjAgTW9tY2lsbyBNZWRp YyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyNS4wLjMtMQorLSBVcGRhdGVkIHRv IDI1LjAuMworCisqIEZyaSBNYXIgMjAgMjAyMCBNYXJ0aW4gR2Fuc3NlciA8bWFydGlua2dAZmVk b3JhcHJvamVjdC5vcmc+IC0gMjUuMC4xLTEKKy0gVXBkYXRlIHRvIDI1LjAuMQorCisqIFNhdCBG ZWIgMjIgMjAyMCBSUE0gRnVzaW9uIFJlbGVhc2UgRW5naW5lZXJpbmcgPGxlaWdoMTIzbGludXhA Z29vZ2xlbWFpbC5jb20+IC0gMjQuMC42LTIKKy0gUmVidWlsZCBmb3IgZmZtcGVnLTQuMyBnaXQK KworKiBGcmkgRmViIDIxIDIwMjAgTWFydGluIEdhbnNzZXIgPG1hcnRpbmtnQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDI0LjAuNi0xCistIFVwZGF0ZSB0byAyNC4wLjYKKworKiBXZWQgRmViIDA1IDIw MjAgUlBNIEZ1c2lvbiBSZWxlYXNlIEVuZ2luZWVyaW5nIDxsZWlnaDEyM2xpbnV4QGdtYWlsLmNv bT4gLSAyNC4wLjUtMgorLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dp a2kvRmVkb3JhXzMyX01hc3NfUmVidWlsZAorCisqIFN1biBEZWMgMjIgMjAxOSBMZWlnaCBTY290 dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAyNC4wLjUtMQorLSBVcGRhdGVkIHRv IDI0LjAuNQorCisqIFR1ZSBEZWMgMTcgMjAxOSBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBn bWFpbC5jb20+IC0gMjQuMC4zLTMKKy0gTWFzcyByZWJ1aWxkIGZvciB4MjY0CisKKyogU3VuIE9j dCAxMyAyMDE5IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0g MjQuMC4zLTIKKy0gU3dpdGNoZWQgQlIgZ2NjLW9iamMgdG8gZ2NjIHRvIHVuaWZ5IFNQRUMgZmls ZSBhY3Jvc3MgYnVpbGRzCisKKyogU2F0IE9jdCAxMiAyMDE5IE1vbWNpbG8gTWVkaWMgPGZlZG9y YXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjQuMC4zLTEKKy0gVXBkYXRlZCB0byAyNC4wLjMK KworKiBTdW4gU2VwIDIyIDIwMTkgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAyNC4wLjEtMQorLSBVcGRhdGVkIHRvIDI0LjAuMQorCisqIFNhdCBBdWcgMjQg MjAxOSBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjMuMi4xLTMKKy0g UmVidWlsZCBmb3IgcHl0aG9uLTMuOAorCisqIFdlZCBBdWcgMDcgMjAxOSBMZWlnaCBTY290dCA8 bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+IC0gMjMuMi4xLTIKKy0gUmVidWlsZCBmb3IgbmV3IGZm bXBlZyB2ZXJzaW9uCisKKyogVHVlIEp1biAxOCAyMDE5IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVz ZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjMuMi4xLTEKKy0gVXBkYXRlZCB0byAyMy4yLjEKKwor KiBNb24gQXByIDA4IDIwMTkgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0 Lm9yZz4gLSAyMy4xLjAtMQorLSBVcGRhdGVkIHRvIDIzLjEuMAorCisqIFN1biBBcHIgMDcgMjAx OSBNYXJ0aW4gR2Fuc3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjMuMC4yLTQK Ky0gQWRkIG9icy1mcm9udGVuZC1hcGkuaCB0byBkZXZlbCBzdWJwa2csIHRvIGVuYWJsZSBidWls ZCBvZiBvYnMtbmRpCistIEFkZCBPYnNQbHVnaW5IZWxwZXJzLmNtYWtlIHRvIGRldmVsIHN1YnBr ZywgdG8gZW5hYmxlIGJ1aWxkIG9mIG9icy1uZGkKKworKiBNb24gTWFyIDE4IDIwMTkgWGF2aWVy IEJhY2hlbG90IDx4YXZpZXJAYmFjaGVsb3Qub3JnPiAtIDIzLjAuMi0zCistIEZpeCBCUjogb24g c3BlZXgvc3BlZXhkc3AgZm9yIEVMNy4KKy0gRml4IEJSOiBvbiBweXRob24gZm9yIEVMNy4KKwor KiBUdWUgTWFyIDEyIDIwMTkgU8OpcmdpbyBCYXN0byA8c2VyZ2lvQHNlcmp1eC5jb20+IC0gMjMu MC4yLTIKKy0gTWFzcyByZWJ1aWxkIGZvciB4MjY0CisKKyogU3VuIE1hciAxMCAyMDE5IE1vbWNp bG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjMuMC4yLTEKKy0gVXBk YXRlZCB0byAyMy4wLjIKKworKiBNb24gTWFyIDA0IDIwMTkgUlBNIEZ1c2lvbiBSZWxlYXNlIEVu Z2luZWVyaW5nIDxsZWlnaDEyM2xpbnV4QGdtYWlsLmNvbT4gLSAyMy4wLjAtMgorLSBSZWJ1aWx0 IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMwX01hc3NfUmVidWls ZAorCisqIE1vbiBGZWIgMjUgMjAxOSBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXBy b2plY3Qub3JnPiAtIDIzLjAuMC0xCistIFVwZGF0ZWQgdG8gMjMuMC4wCisKKyogV2VkIEphbiA5 IDIwMTkgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyMi4w LjMtMworLSBGaXhlZCBtaXNzaW5nIGRlcGVuZGVuY2llcworLSBFbmFibGVkIHNjcmlwdGluZyBz dXBwb3J0CisKKyogVGh1IE9jdCAwNCAyMDE4IFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXgu Y29tPiAtIDIyLjAuMy0yCistIE1hc3MgcmVidWlsZCBmb3IgeDI2NCBhbmQvb3IgeDI2NQorCisq IEZyaSBTZXAgNyAyMDE4IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5v cmc+IC0gMjIuMC4zLTEKKy0gVXBkYXRlZCB0byAyMi4wLjMKKworKiBXZWQgQXVnIDIyIDIwMTgg TW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyMi4wLjEtMQor LSBVcGRhdGVkIHRvIDIyLjAuMQorCisqIEZyaSBKdWwgMjcgMjAxOCBSUE0gRnVzaW9uIFJlbGVh c2UgRW5naW5lZXJpbmcgPGxlaWdoMTIzbGludXhAZ21haWwuY29tPiAtIDIxLjEuMi0zCistIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjlfTWFzc19S ZWJ1aWxkCisKKyogVHVlIEp1bCAxMCAyMDE4IE1pcm8gSHJvbsSNb2sgPG1ocm9uY29rQHJlZGhh dC5jb20+IC0gMjEuMS4yLTIKKy0gUmVidWlsdCBmb3IgUHl0aG9uIDMuNworCisqIFdlZCBNYXkg MTYgMjAxOCBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAyMS4x LjItMQorLSBVcGRhdGUgdG8gMjEuMS4yCistIEZpeCByZXF1aXJlcworCisqIFNhdCBNYXIgMzEg MjAxOCBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAyMS4xLjEt MQorLSBVcGRhdGUgdG8gMjEuMS4xCisKKyogTW9uIE1hciAxOSAyMDE4IExlaWdoIFNjb3R0IDxs ZWlnaDEyM2xpbnV4QGdvb2dsZW1haWwuY29tPiAtIDIxLjEuMC0xCistIFVwZGF0ZSB0byAyMS4x LjAKKworKiBGcmkgTWFyIDA5IDIwMTggTWFydGluIEdhbnNzZXIgPG1hcnRpbmtnQGZlZG9yYXBy b2plY3Qub3JnPiAtIDIxLjAuMy0xCistIFVwZGF0ZSB0byAyMS4wLjMKKy0gQWRkIEJSIHB5dGhv bjMtZGV2ZWwKKy0gQWRkIGJ5dGVjb21waWxlIHdpdGggUHl0aG9uIDMgJSVnbG9iYWwgX19weXRo b24gJSV7X19weXRob24zfUEKKworKiBUaHUgTWFyIDA4IDIwMTggUlBNIEZ1c2lvbiBSZWxlYXNl IEVuZ2luZWVyaW5nIDxsZWlnaDEyM2xpbnV4QGdvb2dsZW1haWwuY29tPiAtIDIxLjAuMi00Cist IFJlYnVpbHQgZm9yIG5ldyBmZm1wZWcgc25hcHNob3QKKworKiBUaHUgTWFyIDAxIDIwMTggUlBN IEZ1c2lvbiBSZWxlYXNlIEVuZ2luZWVyaW5nIDxsZWlnaDEyM2xpbnV4QGdvb2dsZW1haWwuY29t PiAtIDIxLjAuMi0zCistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lr aS9GZWRvcmFfMjhfTWFzc19SZWJ1aWxkCisKKyogVGh1IEZlYiAwOCAyMDE4IExlaWdoIFNjb3R0 IDxsZWlnaDEyM2xpbnV4QGdvb2dsZW1haWwuY29tPiAtIDIxLjAuMi0yCistIEZpeCBzY3JpcHRs ZXRzCistIFVzZSBuaW5qYSB0byBidWlsZAorCisqIFdlZCBGZWIgMDcgMjAxOCBNb21jaWxvIE1l ZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDIxLjAuMi0xCistIFVwZGF0ZWQg dG8gMjEuMC4yCisKKyogVGh1IEphbiAxOCAyMDE4IExlaWdoIFNjb3R0IDxsZWlnaDEyM2xpbnV4 QGdvb2dsZW1haWwuY29tPiAtIDIwLjEuMy0zCistIFJlYnVpbHQgZm9yIGZmbXBlZy0zLjUgZ2l0 CisKKyogU3VuIERlYyAzMSAyMDE3IFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAt IDIwLjEuMy0yCistIE1hc3MgcmVidWlsZCBmb3IgeDI2NCBhbmQgeDI2NQorCisqIEZyaSBEZWMg MDggMjAxNyBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAyMC4x LjMtMQorLSBVcGRhdGVkIHRvIDIwLjEuMworCisqIFR1ZSBPY3QgMTcgMjAxNyBNYXJ0aW4gR2Fu c3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjAuMC4xLTEKKy0gVXBkYXRlZCB0 byAyMC4wLjEKKworKiBUaHUgQXVnIDEwIDIwMTcgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBm ZWRvcmFwcm9qZWN0Lm9yZz4gLSAyMC4wLjAtMQorLSBVcGRhdGVkIHRvIDIwLjAuMAorCisqIFNh dCBKdWwgMDggMjAxNyBNYXJ0aW4gR2Fuc3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+ IC0gMTkuMC4zLTEKKy0gVXBkYXRlZCB0byAxOS4wLjMKKworKiBNb24gTWF5IDIyIDIwMTcgTW9t Y2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOS4wLjItMQorLSBV cGRhdGVkIHRvIDE5LjAuMgorCisqIFdlZCBNYXkgMTcgMjAxNyBMZWlnaCBTY290dCA8bGVpZ2gx MjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAxOC4wLjItMgorLSBSZWJ1aWxkIGZvciBmZm1wZWcg dXBkYXRlCisKKyogU2F0IE1heSA2IDIwMTcgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRv cmFwcm9qZWN0Lm9yZz4gLSAxOC4wLjItMQorLSBVcGRhdGVkIHRvIDE4LjAuMgorCisqIFNhdCBB cHIgMjkgMjAxNyBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAx OC4wLjEtMworLSBSZWJ1aWxkIGZvciBmZm1wZWcgdXBkYXRlCisKKyogTW9uIE1hciAyMCAyMDE3 IFJQTSBGdXNpb24gUmVsZWFzZSBFbmdpbmVlcmluZyA8a3dpemFydEBycG1mdXNpb24ub3JnPiAt IDE4LjAuMS0yCistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9G ZWRvcmFfMjZfTWFzc19SZWJ1aWxkCisKKyogV2VkIE1hciA4IDIwMTcgTW9tY2lsbyBNZWRpYyA8 ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOC4wLjEtMQorLSBVcGRhdGVkIHRvIDE4 LjAuMQorCisqIFdlZCBNYXIgMSAyMDE3IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3Jh cHJvamVjdC5vcmc+IC0gMTguMC4wLTEKKy0gVXBkYXRlZCB0byAxOC4wLjAKKworKiBNb24gSmFu IDMwIDIwMTcgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAx Ny4wLjItMgorLSBSZWludHJvZHVjZWQgb2JzLWZmbXBlZy1tdXgucGF0Y2gKKy0gRml4ZXMgIzQ0 MzYKKworKiBXZWQgSmFuIDE4IDIwMTcgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFw cm9qZWN0Lm9yZz4gLSAxNy4wLjItMQorLSBVcGRhdGVkIHRvIDE3LjAuMgorCisqIFR1ZSBKYW4g MDMgMjAxNyBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDE3 LjAuMC0xCistIFVwc3RyZWFtIGZpeGVkIGFyY2gtZGVwZW5kZW50LWZpbGUtaW4tdXNyLXNoYXJl CistIFJlbW92ZWQgb2JzLWZmbXBlZy1tdXgucGF0Y2gKKy0gVXBkYXRlZCB0byAxNy4wLjAKKwor KiBTdW4gTm92IDI3IDIwMTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0 Lm9yZz4gLSAwLjE2LjYtMQorLSBVcGRhdGVkIHRvIDAuMTYuNgorCisqIFR1ZSBOb3YgMDggMjAx NiBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTYuNS0x CistIFVwZGF0ZWQgdG8gMC4xNi41CisKKyogVHVlIE9jdCAxOCAyMDE2IE1vbWNpbG8gTWVkaWMg PGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xNi4yLTIuMjAxNjEwMThnaXQ0NTA1 ZDVhCistIFVwZGF0ZWQgdG8gZ2l0IHRvIHJlc29sdmUgdW52ZXJzaW9uZWQgc2hhcmVkIG9iamVj dAorLSBJZGVudGlmaWVkIHNwZWV4ZHNwLWRldmVsIGFzIGEgZGVwZW5kZW5jeQorCisqIFNhdCBP Y3QgMDEgMjAxNiBNYXJ0aW4gR2Fuc3NlciA8bWFydGlua2dAZmVkb3JhcHJvamVjdC5vcmc+IC0g MC4xNi4yLTEKKy0gVXBkYXRlZCB0byAwLjE2LjIKKy0gQnVpbGQgZG94eWdlbiBodG1sIGRvY3Vt ZW50YXRpb24KKy0gQWRkZWQgQlIgZG94eWdlbgorCisqIEZyaSBBdWcgMjYgMjAxNiBMZWlnaCBT Y290dCA8bGVpZ2gxMjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAwLjE1LjQtMworLSBBY3R1YWxs eSBkZWZpbmUgRkZNUEVHX01VWF9GSVhFRCAoZml4ZXMgJ2NvbW1hbmQgbm90IGZvdW5kJyB3aGVu IHRyeWluZyB0byByZWNvcmQpCisKKyogU2F0IEF1ZyAxMyAyMDE2IExlaWdoIFNjb3R0IDxsZWln aDEyM2xpbnV4QGdvb2dsZW1haWwuY29tPiAtIDAuMTUuNC0yCistIERpc2FibGUgYnVpbGQgZm9y IEFSTSAoQXJtIGdjYyBoYXMgbm8geG1taW50cmluLmggZmlsZSkKKworKiBGcmkgQXVnIDEyIDIw MTYgTGVpZ2ggU2NvdHQgPGxlaWdoMTIzbGludXhAZ29vZ2xlbWFpbC5jb20+IC0gMC4xNS40LTEK Ky0gRml4IHJlbGVhc2UgdGFnICgwLnggcmVsZWFzZSBpcyBmb3IgZ2l0IHJlbGVhc2VzKQorCisq IE1vbiBBdWcgMDggMjAxNiBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qu b3JnPiAtIDAuMTUuNC0wLjEKKy0gVXBkYXRlZCB0byAwLjE1LjQKKworKiBGcmkgQXVnIDA1IDIw MTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE1LjIt MC41CistIEFkZGVkIGFsc2EtZGV2ZWwgYXMgQlIgZm9yIEFMU0EgcGx1Z2luLgorLSBBZGRlZCB2 bGMtZGV2ZWwgYXMgQlIgZm9yIFZMQyBwbHVnaW4uCistIEFkZGVkIHN5c3RlbWQtZGV2ZWwgYXMg QlIgZm9yIFVkZXYgVjRMLgorCisqIFdlZCBBdWcgMDMgMjAxNiBMZWlnaCBTY290dCA8bGVpZ2gx MjNsaW51eEBnb29nbGVtYWlsLmNvbT4gLSAwLjE1LjItMC40CistIEZpeCBzb3VyY2UgdGFnIChz cGVjdG9vbCBub3cgZG93bmxvYWRzIGluIG4tdiBmb3JtYXQpCistIFJlbW92ZSBzdXJwbHVzIGxk Y29uZmlnIGZyb20gcG9zdHVuIChubyBwdWJsaWMgLnNvIGZpbGVzIGluIG1haW4gcGFja2FnZSkK Ky0gVXBkYXRlIHNjcmlwdGxldHMgdG8gbWVldCBndWlkZWxpbmVzIChuZWVkIGZ1bGwgcGF0aCkK KworKiBXZWQgSnVsIDIwIDIwMTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAwLjE1LjItMC4zCistIEFkZGVkIGxpY2Vuc2UgZmlsZSBncGx2Mi50eHQKKwor KiBNb24gSnVsIDE4IDIwMTYgTWFydGluIEdhbnNzZXIgPG1hcnRpbmtnQGZlZG9yYXByb2plY3Qu b3JnPiAtIDAuMTUuMi0wLjIKKy0gRml4ZWQgYXJjaC1kZXBlbmRlbnQtZmlsZS1pbi11c3Itc2hh cmUKKy0gQWRkZWQgb2JzLWZmbXBlZy1tdXgucGF0Y2gKKy0gQWRkZWQgbGlicyBzdWJwa2cKKy0g Q2FsbCBsZGNvbmZpZyBpbiBwb3N0KHVuKSBzY3JpcHRzIGZvciB0aGUgc2hhcmVkIGxpYnJhcnkK KworKiBTYXQgSnVsIDE2IDIwMTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAwLjE1LjItMC4xCistIFVwZGF0ZWQgdG8gMC4xNS4yCisKKyogU3VuIEp1bCAx MCAyMDE2IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4x NS4xLTAuMQorLSBVcGRhdGVkIHRvIDAuMTUuMQorCisqIFNhdCBKdWwgMDkgMjAxNiBNb21jaWxv IE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTUuMC0wLjEKKy0gVXBk YXRlZCB0byAwLjE1LjAKKworKiBNb24gTWF5IDE2IDIwMTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3Jh dXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjE0LjItMC4xCistIFVwZGF0ZWQgdG8gMC4xNC4y CisKKyogTW9uIEFwciAyNSAyMDE2IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJv amVjdC5vcmc+IC0gMC4xNC4xLTAuMQorLSBVcGRhdGVkIHRvIDAuMTQuMQorCisqIFN1biBBcHIg MjQgMjAxNiBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDAu MTQuMC0wLjEKKy0gVXBkYXRlZCB0byAwLjE0LjAKKworKiBUdWUgTWFyIDIyIDIwMTYgTW9tY2ls byBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjEzLjQtMC4xCistIFVw ZGF0ZWQgdG8gMC4xMy40CisKKyogU3VuIE1hciAyMCAyMDE2IE1vbWNpbG8gTWVkaWMgPGZlZG9y YXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xMy4zLTAuMQorLSBVcGRhdGVkIHRvIDAuMTMu MworCisqIFR1ZSBGZWIgMjMgMjAxNiBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXBy b2plY3Qub3JnPiAtIDAuMTMuMi0wLjEKKy0gVXBkYXRlZCB0byAwLjEzLjIKKworKiBTYXQgRmVi IDA2IDIwMTYgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAw LjEzLjEtMC4xCistIFVwZGF0ZWQgdG8gMC4xMy4xCisKKyogU3VuIERlYyAyMCAyMDE1IE1hcnRp biBHYW5zc2VyIDxtYXJ0aW5rZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjEyLjQtMC4yCistIHJl cGxhY2UgT0JTX01VTFRJQVJDSF9TVUZGSVggYnkgTElCX1NVRkZJWAorCisqIFNhdCBEZWMgMTIg MjAxNSBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMTIu NC0wLjEKKy0gVXBkYXRlZCB0byAwLjEyLjQKKworKiBTYXQgRGVjIDA1IDIwMTUgTW9tY2lsbyBN ZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjEyLjMtMC4xCistIFVwZGF0 ZWQgdG8gMC4xMi4zCisKKyogU2F0IE5vdiAyMSAyMDE1IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVz ZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xMi4yLTAuMQorLSBVcGRhdGVkIHRvIDAuMTIuMgor CisqIFRodSBOb3YgMTkgMjAxNSBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDAuMTIuMS0wLjEKKy0gVXBkYXRlZCB0byAwLjEyLjEKKworKiBUaHUgU2VwIDI0 IDIwMTUgTW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjEy LjAtMC4xCistIFVwZGF0ZWQgdG8gMC4xMi4wCisKKyogTW9uIEF1ZyAxNyAyMDE1IE1vbWNpbG8g TWVkaWMgPGZlZG9yYXVzZXJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4xMS40LTAuMQorLSBBZGRl ZCBPQlNfVkVSU0lPTl9PVkVSUklERSB0byBjb3JyZWN0IHZlcnNpb24gaW4gY29tcGlsYXRpb24K Ky0gVXBkYXRlZCB0byAwLjExLjQKKworKiBTYXQgQXVnIDA4IDIwMTUgTW9tY2lsbyBNZWRpYyA8 ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjExLjMtMC4xCistIFVwZGF0ZWQgdG8g MC4xMS4zCisKKyogVGh1IEp1bCAzMCAyMDE1IE1vbWNpbG8gTWVkaWMgPGZlZG9yYXVzZXJAZmVk b3JhcHJvamVjdC5vcmc+IC0gMC4xMS4yLTAuMQorLSBVcGRhdGVkIHRvIDAuMTEuMgorCisqIEZy aSBKdWwgMTAgMjAxNSBNb21jaWxvIE1lZGljIDxmZWRvcmF1c2VyQGZlZG9yYXByb2plY3Qub3Jn PiAtIDAuMTEuMS0wLjEKKy0gVXBkYXRlZCB0byAwLjExLjEKKworKiBXZWQgTWF5IDI3IDIwMTUg TW9tY2lsbyBNZWRpYyA8ZmVkb3JhdXNlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjEwLjEtMC4x CistIEluaXRpYWwgLnNwZWMgZmlsZQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZTBiYWYKLS0tIC9kZXYvbnVsbAor KysgYi9zb3VyY2VzCkBAIC0wLDAgKzEsMiBAQAorU0hBNTEyIChvYnMtc3R1ZGlvLTI5LjEuMC1i ZXRhNC50YXIuZ3opID0gZmZmNGQxMDM5ODg0YWFiOTZmNjZlNGRkNGMwZTUxYzk1ZTYyZDc3MDBm NzY1NjQ1ZGM1YzE5NmFmMTAzOWRkY2ExZjc5M2E5OWFhYjgxMWNiY2YzZWVmYWRjZGMxNDBjNTQ0 NTQ3ZTAxNzdiZWU0NzkyYTA2YzhlYTVhYzBhNWIKK1NIQTUxMiAob2JzLXdlYnNvY2tldC01LjIu Mi50YXIuZ3opID0gNzY3OGUyNDdiOGNjNGQ5Y2JlNjUwYTdiNDVhNjNiNDdhMDc1MmJhOGUwOGUz YjAyYmM3YmRmZjQyZWM3ZDEyMmVmZjliYWQ5MTM5ZWRiMGYyNjgzNzllNDk1YmFlNWU4ZjA1ZGQx NzdjNmY5MzVjN2I0N2MwMjg1ODcyN2NiMjgK