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: Rich Mattes To: git-commits@fedoraproject.org Subject: [rpms/pcl] f44: Update to release 1.4.0 Date: Thu, 25 Jun 2026 05:49:04 GMT Message-ID: <178236654416.1.9449220757232406185.rpms-pcl-043de35c4578@fedoraproject.org> List-ID: X-Git-Repo: rpms/pcl X-Git-Branch: f44 X-Git-Rev: 043de35c457808b0fc0babdfe8f845a96a2b94c5 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcGNsCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBDb21t aXQgOiAwNDNkZTM1YzQ1NzgwOGIwZmMwYmFiZGZlOGY4NDVhOTZhMmI5NGM1CiAgICAgICAgICAg IEF1dGhvciA6IFJpY2ggTWF0dGVzIDxyaWNobWF0dGVzQGdtYWlsLmNvbT4KICAgICAgICAgICAg RGF0ZSAgIDogMjAxMi0wMS0xNlQyMjo1NTo0Ny0wNTowMAogICAgICAgICAgICBTdGF0cyAgOiAr NjE0Ly02IGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRv cmFwcm9qZWN0Lm9yZy9ycG1zL3BjbC9jLzA0M2RlMzVjNDU3ODA4YjBmYzBiYWJkZmU4Zjg0NWE5 NmEyYjk0YzU/YnJhbmNoPWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBVcGRhdGUg dG8gcmVsZWFzZSAxLjQuMApBZGQgcGF0Y2ggZm9yIGdjYy00LjcgZml4ZXMKCi0tLQpkaWZmIC0t Z2l0IGEvUENMLTEuNC4wLVNvdXJjZS1mZWRvcmEucGF0Y2ggYi9QQ0wtMS40LjAtU291cmNlLWZl ZG9yYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDNlY2M1Ci0t LSAvZGV2L251bGwKKysrIGIvUENMLTEuNC4wLVNvdXJjZS1mZWRvcmEucGF0Y2gKQEAgLTAsMCAr MSw3OSBAQAorZGlmZiAtdXJOIFBDTC0xLjMuMS1Tb3VyY2UvY21ha2UvcGNsX3RhcmdldHMuY21h a2UgUENMLTEuMy4xLVNvdXJjZS5mZWRvcmEvY21ha2UvcGNsX3RhcmdldHMuY21ha2UKKy0tLSBQ Q0wtMS4zLjEtU291cmNlL2NtYWtlL3BjbF90YXJnZXRzLmNtYWtlCTIwMTEtMTItMDMgMDA6MzU6 NDguMDAwMDAwMDAwICswMTAwCisrKysgUENMLTEuMy4xLVNvdXJjZS5mZWRvcmEvY21ha2UvcGNs X3RhcmdldHMuY21ha2UJMjAxMi0wMS0xNiAxOTo0MDo0My40MzM2OTAxNzIgKzAxMDAKK0BAIC0x LDUgKzEsNyBAQAorIGluY2x1ZGUoJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL3BjbF91dGls cy5jbWFrZSkKKyAKKytzZXQoUENMX1BLR0NPTkZJR19TVUZGSVggIi0ke1BDTF9NQUpPUl9WRVJT SU9OfS4ke1BDTF9NSU5PUl9WRVJTSU9OfSIgQ0FDSEUgU1RSSU5HICJTdWZmaXggdG8gYXBwZW5k IHRvIHBrZy1jb25maWcgZmlsZXMiKQorKworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEFk ZCBhbiBvcHRpb24gdG8gYnVpbGQgYSBzdWJzeXN0ZW0gb3Igbm90LgorICMgX3ZhciBUaGUgbmFt ZSBvZiB0aGUgdmFyaWFibGUgdG8gc3RvcmUgdGhlIG9wdGlvbiBpbi4KK0BAIC0zMzQsMTQgKzMz NiwxNCBAQAorICAgICBMSVNUX1RPX1NUUklORyhfZXh0X2RlcHNfc3RyICIke19leHRfZGVwc30i KQorICAgICBzZXQoUEtHX0VYVEVSTkFMX0RFUFMgJHtfZXh0X2RlcHNfc3RyfSkKKyAgICAgZm9y ZWFjaChfZGVwICR7X3BjbF9kZXBzfSkKKy0gICAgICBzZXQoUEtHX0VYVEVSTkFMX0RFUFMgIiR7 UEtHX0VYVEVSTkFMX0RFUFN9IHBjbF8ke19kZXB9LSR7UENMX01BSk9SX1ZFUlNJT059LiR7UENM X01JTk9SX1ZFUlNJT059IikKKysgICAgICBzZXQoUEtHX0VYVEVSTkFMX0RFUFMgIiR7UEtHX0VY VEVSTkFMX0RFUFN9IHBjbF8ke19kZXB9JHtQQ0xfUEtHQ09ORklHX1NVRkZJWH0iKQorICAgICBl bmRmb3JlYWNoKF9kZXApCisgICAgIHNldChQS0dfSU5URVJOQUxfREVQUyAiIikKKyAgICAgZm9y ZWFjaChfZGVwICR7X2ludF9kZXBzfSkKKyAgICAgICAgIHNldChQS0dfSU5URVJOQUxfREVQUyAi JHtQS0dfSU5URVJOQUxfREVQU30gLWwke19kZXB9IikKKyAgICAgZW5kZm9yZWFjaChfZGVwKQor IAorLSAgICBzZXQoX3BjX2ZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7X25hbWV9 LSR7UENMX01BSk9SX1ZFUlNJT059LiR7UENMX01JTk9SX1ZFUlNJT059LnBjKQorKyAgICBzZXQo X3BjX2ZpbGUgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7X25hbWV9JHtQQ0xfUEtHQ09O RklHX1NVRkZJWH0ucGMpCisgICAgIGNvbmZpZ3VyZV9maWxlKCR7UFJPSkVDVF9TT1VSQ0VfRElS fS9jbWFrZS9wa2djb25maWcuY21ha2UuaW4gJHtfcGNfZmlsZX0KKyAgICAgICAgIEBPTkxZKQor ICAgICBpbnN0YWxsKEZJTEVTICR7X3BjX2ZpbGV9IERFU1RJTkFUSU9OICR7UEtHQ0ZHX0lOU1RB TExfRElSfQorZGlmZiAtdXJOIFBDTC0xLjMuMS1Tb3VyY2UvaW8vQ01ha2VMaXN0cy50eHQgUENM LTEuMy4xLVNvdXJjZS5mZWRvcmEvaW8vQ01ha2VMaXN0cy50eHQKKy0tLSBQQ0wtMS4zLjEtU291 cmNlL2lvL0NNYWtlTGlzdHMudHh0CTIwMTEtMTItMDMgMDA6MzU6NDguMDAwMDAwMDAwICswMTAw CisrKysgUENMLTEuMy4xLVNvdXJjZS5mZWRvcmEvaW8vQ01ha2VMaXN0cy50eHQJMjAxMi0wMS0x NiAxOTo0MDo0My40MzY2OTAxNjMgKzAxMDAKK0BAIC0xMTYsOSArMTE2LDEwIEBACisgICAgIGVu ZGlmKE9QRU5OSV9GT1VORCkKKyAKKyAgICAgc2V0KEVYVF9ERVBTIGVpZ2VuMykKKy0gICAgaWYo T1BFTk5JX0ZPVU5EKQorLSAgICAgIGxpc3QoQVBQRU5EIEVYVF9ERVBTIG9wZW5uaS1kZXYpCist ICAgIGVuZGlmKE9QRU5OSV9GT1VORCkKKysgICAgIyBEaXNhYmxlIG9uIEZlZG9yYSwgdGhlcmUg aXMgbm8gcGtnLWNvbmZpZyBmaWxlCisrICAgICNpZihPUEVOTklfRk9VTkQpCisrICAgICMgIGxp c3QoQVBQRU5EIEVYVF9ERVBTIG9wZW5uaS1kZXYpCisrICAgICNlbmRpZihPUEVOTklfRk9VTkQp CisgICAgIFBDTF9NQUtFX1BLR0NPTkZJRygke0xJQl9OQU1FfSAke1NVQlNZU19OQU1FfSAiJHtT VUJTWVNfREVTQ30iCisgICAgICAgIiR7U1VCU1lTX0RFUFN9IiAiJHtFWFRfREVQU30iICIiICIi ICIiKQorIAorZGlmZiAtdXJOIFBDTC0xLjMuMS1Tb3VyY2UvUENMQ29uZmlnLmNtYWtlLmluIFBD TC0xLjMuMS1Tb3VyY2UuZmVkb3JhL1BDTENvbmZpZy5jbWFrZS5pbgorLS0tIFBDTC0xLjMuMS1T b3VyY2UvUENMQ29uZmlnLmNtYWtlLmluCTIwMTEtMTItMDMgMDA6MzU6NDguMDAwMDAwMDAwICsw MTAwCisrKysgUENMLTEuMy4xLVNvdXJjZS5mZWRvcmEvUENMQ29uZmlnLmNtYWtlLmluCTIwMTIt MDEtMTYgMTk6NDc6MDcuNDA0NjQzNzM5ICswMTAwCitAQCAtMzA0LDkgKzMwNCwxMyBAQAorICMg UENMQ29uZmlnLmNtYWtlIGlzIGluc3RhbGxlZCB0byBQQ0xfUk9PVC9jbWFrZQorICAgZ2V0X2Zp bGVuYW1lX2NvbXBvbmVudChQQ0xfUk9PVCAiJHtQQ0xfRElSfSIgUEFUSCkKKyBlbHNlKFdJTjMy KQorLSMgUENMQ29uZmlnLmNtYWtlIGlzIGluc3RhbGxlZCB0byBQQ0xfUk9PVC9zaGFyZS9wY2wt eC55CisrICAjIFBDTENvbmZpZy5jbWFrZSBpcyBpbnN0YWxsZWQgdG8gUENMX1JPT1Qvc2hhcmUv cGNsLXgueSBvciBQQ0xfUk9PVC9saWIke0xJQl9TVUZGSVh9L2NtYWtlL3BjbAorICAgZ2V0X2Zp bGVuYW1lX2NvbXBvbmVudChQQ0xfUk9PVCAiJHtQQ0xfRElSfSIgUEFUSCkKKyAgIGdldF9maWxl bmFtZV9jb21wb25lbnQoUENMX1JPT1QgIiR7UENMX1JPT1R9IiBQQVRIKQorKyAgaWYgKCR7UENM X0RJUn0gTUFUQ0hFUyAiLipsaWIuKiIpCisrICAgICMgUENMQ29uZmlnLmNtYWtlIGlzIGluc3Rh bGxlZCB0byBQQ0xfUk9PVC9saWIke0xJQl9TVUZGSVh9L2NtYWtlL3BjbAorKyAgICBnZXRfZmls ZW5hbWVfY29tcG9uZW50KFBDTF9ST09UICIke1BDTF9ST09UfSIgUEFUSCkKKysgIGVuZGlmKCkK KyBlbmRpZihXSU4zMikKKyAKKyAjIGNoZWNrIHdoZXRoZXIgUENMQ29uZmlnLmNtYWtlIGlzIGZv dW5kIGludG8gYSBQQ0wgaW5zdGFsbGF0aW9uIG9yIGluIGEgYnVpbGQgdHJlZQorZGlmZiAtdXJO IFBDTC0xLjMuMS1Tb3VyY2UvdmlzdWFsaXphdGlvbi9DTWFrZUxpc3RzLnR4dCBQQ0wtMS4zLjEt U291cmNlLmZlZG9yYS92aXN1YWxpemF0aW9uL0NNYWtlTGlzdHMudHh0CistLS0gUENMLTEuMy4x LVNvdXJjZS92aXN1YWxpemF0aW9uL0NNYWtlTGlzdHMudHh0CTIwMTEtMTItMDMgMDA6MzU6NDgu MDAwMDAwMDAwICswMTAwCisrKysgUENMLTEuMy4xLVNvdXJjZS5mZWRvcmEvdmlzdWFsaXphdGlv bi9DTWFrZUxpc3RzLnR4dAkyMDEyLTAxLTE2IDE5OjQwOjQzLjQzNzY5MDE2MCArMDEwMAorQEAg LTgzLDkgKzgzLDkgQEAKKyAgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke0xJQl9OQU1FfSBw Y2xfaW8gcGNsX2tkdHJlZSBwY2xfcmFuZ2VfaW1hZ2UgCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdnRrQ29tbW9uIHZ0a1dpZGdldHMgdnRrSHlicmlkKQorICAgICBz ZXQoRVhUX0RFUFMgIiIpCistICAgIGlmKE9QRU5OSV9GT1VORCkKKy0gICAgICBsaXN0KEFQUEVO RCBFWFRfREVQUyBvcGVubmktZGV2KQorLSAgICBlbmRpZihPUEVOTklfRk9VTkQpCisrICAgICNp ZihPUEVOTklfRk9VTkQpCisrICAgICMgIGxpc3QoQVBQRU5EIEVYVF9ERVBTIG9wZW5uaS1kZXYp CisrICAgICNlbmRpZihPUEVOTklfRk9VTkQpCisgICAgIFBDTF9NQUtFX1BLR0NPTkZJRygke0xJ Ql9OQU1FfSAke1NVQlNZU19OQU1FfSAiJHtTVUJTWVNfREVTQ30iCisgICAgICAgIiR7U1VCU1lT X0RFUFN9IiAiJHtFWFRfREVQU30iICIiICIiICIiKQorIAoKZGlmZiAtLWdpdCBhL3BjbC0xLjQu MC1nY2M0Ny5wYXRjaCBiL3BjbC0xLjQuMC1nY2M0Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5mNTc4ZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvcGNsLTEuNC4wLWdj YzQ3LnBhdGNoCkBAIC0wLDAgKzEsNTI1IEBACitJbmRleDogb2N0cmVlL2luY2x1ZGUvcGNsL29j dHJlZS9pbXBsL29jdHJlZV9wb2ludGNsb3VkLmhwcAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG9jdHJlZS9p bmNsdWRlL3BjbC9vY3RyZWUvaW1wbC9vY3RyZWVfcG9pbnRjbG91ZC5ocHAJKHJldmlzaW9uIDM5 MjEpCisrKysgb2N0cmVlL2luY2x1ZGUvcGNsL29jdHJlZS9pbXBsL29jdHJlZV9wb2ludGNsb3Vk LmhwcAkod29ya2luZyBjb3B5KQorQEAgLTcyNCwxMSArNzI0LDExIEBACisgICAvLyBpdGVyYXRl IG92ZXIgYWxsIGNoaWxkcmVuCisgICBmb3IgKGNoaWxkSWR4ID0gMDsgY2hpbGRJZHggPCA4OyBj aGlsZElkeCsrKQorICAgeworLSAgICBpZiAoIWJyYW5jaEhhc0NoaWxkICgqbm9kZV9hcmcsIGNo aWxkSWR4KSkKKysgICAgaWYgKCF0aGlzLT5icmFuY2hIYXNDaGlsZCAoKm5vZGVfYXJnLCBjaGls ZElkeCkpCisgICAgICAgY29udGludWU7CisgCisgICAgIGNvbnN0IE9jdHJlZU5vZGUgKiBjaGls ZE5vZGU7CistICAgIGNoaWxkTm9kZSA9IGdldEJyYW5jaENoaWxkICgqbm9kZV9hcmcsIGNoaWxk SWR4KTsKKysgICAgY2hpbGROb2RlID0gdGhpcy0+Z2V0QnJhbmNoQ2hpbGQgKCpub2RlX2FyZywg Y2hpbGRJZHgpOworIAorICAgICAvLyBnZW5lcmF0ZSBuZXcga2V5IGZvciBjdXJyZW50IGJyYW5j aCB2b3hlbAorICAgICBPY3RyZWVLZXkgbmV3S2V5OworSW5kZXg6IG9jdHJlZS9pbmNsdWRlL3Bj bC9vY3RyZWUvaW1wbC9vY3RyZWVfc2VhcmNoLmhwcAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG9jdHJlZS9p bmNsdWRlL3BjbC9vY3RyZWUvaW1wbC9vY3RyZWVfc2VhcmNoLmhwcAkocmV2aXNpb24gMzkyMSkK KysrKyBvY3RyZWUvaW5jbHVkZS9wY2wvb2N0cmVlL2ltcGwvb2N0cmVlX3NlYXJjaC5ocHAJKHdv cmtpbmcgY29weSkKK0BAIC01MSw5ICs1MSw5IEBACisgICBib29sIGJfc3VjY2VzcyA9IGZhbHNl OworIAorICAgLy8gZ2VuZXJhdGUga2V5CistICBnZW5PY3RyZWVLZXlmb3JQb2ludCAocG9pbnQs IGtleSk7CisrICB0aGlzLT5nZW5PY3RyZWVLZXlmb3JQb2ludCAocG9pbnQsIGtleSk7CisgCist ICBMZWFmVCogbGVhZiA9IGdldExlYWYgKGtleSk7CisrICBMZWFmVCogbGVhZiA9IHRoaXMtPmdl dExlYWYgKGtleSk7CisgCisgICBpZiAobGVhZikKKyAgIHsKK0BAIC0xOTYsNyArMTk2LDcgQEAK KyAgIC8vIGl0ZXJhdGUgb3ZlciBhbGwgY2hpbGRyZW4KKyAgIGZvciAoY2hpbGRJZHggPSAwOyBj aGlsZElkeCA8IDg7IGNoaWxkSWR4KyspCisgICB7CistICAgIGlmIChicmFuY2hIYXNDaGlsZCAo Km5vZGUsIGNoaWxkSWR4KSkKKysgICAgaWYgKHRoaXMtPmJyYW5jaEhhc0NoaWxkICgqbm9kZSwg Y2hpbGRJZHgpKQorICAgICB7CisgICAgICAgUG9pbnRUIHZveGVsQ2VudGVyOworIAorQEAgLTIw NSwxMCArMjA1LDEwIEBACisgICAgICAgc2VhcmNoRW50cnlIZWFwW2NoaWxkSWR4XS5rZXkueiA9 IChrZXkueiA8PCAxKSArICghIShjaGlsZElkeCAmICgxIDw8IDApKSk7CisgCisgICAgICAgLy8g Z2VuZXJhdGUgdm94ZWwgY2VudGVyIHBvaW50IGZvciB2b3hlbCBhdCBrZXkKKy0gICAgICBnZW5W b3hlbENlbnRlckZyb21PY3RyZWVLZXkgKHNlYXJjaEVudHJ5SGVhcFtjaGlsZElkeF0ua2V5LCB0 cmVlRGVwdGgsIHZveGVsQ2VudGVyKTsKKysgICAgICB0aGlzLT5nZW5Wb3hlbENlbnRlckZyb21P Y3RyZWVLZXkgKHNlYXJjaEVudHJ5SGVhcFtjaGlsZElkeF0ua2V5LCB0cmVlRGVwdGgsIHZveGVs Q2VudGVyKTsKKyAKKyAgICAgICAvLyBnZW5lcmF0ZSBuZXcgcHJpb3JpdHkgcXVldWUgZWxlbWVu dAorLSAgICAgIHNlYXJjaEVudHJ5SGVhcFtjaGlsZElkeF0ubm9kZSA9IGdldEJyYW5jaENoaWxk ICgqbm9kZSwgY2hpbGRJZHgpOworKyAgICAgIHNlYXJjaEVudHJ5SGVhcFtjaGlsZElkeF0ubm9k ZSA9IHRoaXMtPmdldEJyYW5jaENoaWxkICgqbm9kZSwgY2hpbGRJZHgpOworICAgICAgIHNlYXJj aEVudHJ5SGVhcFtjaGlsZElkeF0ucG9pbnREaXN0YW5jZSA9IHBvaW50U3F1YXJlZERpc3QgKHZv eGVsQ2VudGVyLCBwb2ludCk7CisgICAgIH0KKyAgICAgZWxzZQorQEAgLTMwMSwxMSArMzAxLDEx IEBACisgICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNoaWxkcmVuCisgICBmb3IgKGNoaWxkSWR4ID0g MDsgY2hpbGRJZHggPCA4OyBjaGlsZElkeCsrKQorICAgeworLSAgICBpZiAoIWJyYW5jaEhhc0No aWxkICgqbm9kZSwgY2hpbGRJZHgpKQorKyAgICBpZiAoIXRoaXMtPmJyYW5jaEhhc0NoaWxkICgq bm9kZSwgY2hpbGRJZHgpKQorICAgICAgIGNvbnRpbnVlOworIAorICAgICBjb25zdCBPY3RyZWVO b2RlKiBjaGlsZE5vZGU7CistICAgIGNoaWxkTm9kZSA9IGdldEJyYW5jaENoaWxkICgqbm9kZSwg Y2hpbGRJZHgpOworKyAgICBjaGlsZE5vZGUgPSB0aGlzLT5nZXRCcmFuY2hDaGlsZCAoKm5vZGUs IGNoaWxkSWR4KTsKKyAKKyAgICAgT2N0cmVlS2V5IG5ld0tleTsKKyAgICAgUG9pbnRUIHZveGVs Q2VudGVyOworQEAgLTMxNyw3ICszMTcsNyBAQAorICAgICBuZXdLZXkueiA9IChrZXkueiA8PCAx KSArICghIShjaGlsZElkeCAmICgxIDw8IDApKSk7CisgCisgICAgIC8vIGdlbmVyYXRlIHZveGVs IGNlbnRlciBwb2ludCBmb3Igdm94ZWwgYXQga2V5CistICAgIGdlblZveGVsQ2VudGVyRnJvbU9j dHJlZUtleSAobmV3S2V5LCB0cmVlRGVwdGgsIHZveGVsQ2VudGVyKTsKKysgICAgdGhpcy0+Z2Vu Vm94ZWxDZW50ZXJGcm9tT2N0cmVlS2V5IChuZXdLZXksIHRyZWVEZXB0aCwgdm94ZWxDZW50ZXIp OworIAorICAgICAvLyBjYWxjdWxhdGUgZGlzdGFuY2UgdG8gc2VhcmNoIHBvaW50CisgICAgIHNx dWFyZWREaXN0ID0gcG9pbnRTcXVhcmVkRGlzdCAoKGNvbnN0IFBvaW50VCAmKXZveGVsQ2VudGVy LCBwb2ludCk7CitAQCAtMzkzLDcgKzM5Myw3IEBACisgICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNo aWxkcmVuCisgICBmb3IgKGNoaWxkSWR4ID0gMDsgY2hpbGRJZHggPCA4OyBjaGlsZElkeCsrKQor ICAgeworLSAgICBpZiAoIWJyYW5jaEhhc0NoaWxkICgqbm9kZSwgY2hpbGRJZHgpKQorKyAgICBp ZiAoIXRoaXMtPmJyYW5jaEhhc0NoaWxkICgqbm9kZSwgY2hpbGRJZHgpKQorICAgICAgIGNvbnRp bnVlOworIAorICAgICBQb2ludFQgdm94ZWxDZW50ZXI7CitAQCAtNDA0LDcgKzQwNCw3IEBACisg ICAgIG5ld0tleS56ID0gKGtleS56IDw8IDEpICsgKCEhKGNoaWxkSWR4ICYgKDEgPDwgMCkpKTsK KyAKKyAgICAgLy8gZ2VuZXJhdGUgdm94ZWwgY2VudGVyIHBvaW50IGZvciB2b3hlbCBhdCBrZXkK Ky0gICAgZ2VuVm94ZWxDZW50ZXJGcm9tT2N0cmVlS2V5IChuZXdLZXksIHRyZWVEZXB0aCwgdm94 ZWxDZW50ZXIpOworKyAgICB0aGlzLT5nZW5Wb3hlbENlbnRlckZyb21PY3RyZWVLZXkgKG5ld0tl eSwgdHJlZURlcHRoLCB2b3hlbENlbnRlcik7CisgCisgICAgIHZveGVsUG9pbnREaXN0ID0gcG9p bnRTcXVhcmVkRGlzdCAodm94ZWxDZW50ZXIsIHBvaW50KTsKKyAKK0BAIC00MjAsNyArNDIwLDcg QEAKKyAgIC8vIG1ha2Ugc3VyZSB3ZSBmb3VuZCBhdCBsZWFzdCBvbmUgYnJhbmNoIGNoaWxkCisg ICBhc3NlcnQgKG1pbkNoaWxkSWR4PDgpOworIAorLSAgY2hpbGROb2RlID0gZ2V0QnJhbmNoQ2hp bGQgKCpub2RlLCBtaW5DaGlsZElkeCk7CisrICBjaGlsZE5vZGUgPSB0aGlzLT5nZXRCcmFuY2hD aGlsZCAoKm5vZGUsIG1pbkNoaWxkSWR4KTsKKyAKKyAgIGlmICh0cmVlRGVwdGggPCB0aGlzLT5v Y3RyZWVEZXB0aF8pCisgICB7CitAQCAtNTQwLDcgKzU0MCw3IEBACisgICB7CisgICAgIFBvaW50 VCBuZXdQb2ludDsKKyAKKy0gICAgZ2VuTGVhZk5vZGVDZW50ZXJGcm9tT2N0cmVlS2V5IChrZXks IG5ld1BvaW50KTsKKysgICAgdGhpcy0+Z2VuTGVhZk5vZGVDZW50ZXJGcm9tT2N0cmVlS2V5IChr ZXksIG5ld1BvaW50KTsKKyAKKyAgICAgdm94ZWxDZW50ZXJMaXN0LnB1c2hfYmFjayAobmV3UG9p bnQpOworIAorQEAgLTU3MSw3ICs1NzEsNyBAQAorICAgICAgIGNoaWxkSWR4ID0gYTsKKyAKKyAg ICAgLy8gY2hpbGROb2RlID09IDAgaWYgY2hpbGROb2RlIGRvZXNuJ3QgZXhpc3QKKy0gICAgY2hp bGROb2RlID0gZ2V0QnJhbmNoQ2hpbGQgKChPY3RyZWVCcmFuY2gmKSpub2RlLCBjaGlsZElkeCk7 CisrICAgIGNoaWxkTm9kZSA9IHRoaXMtPmdldEJyYW5jaENoaWxkICgoT2N0cmVlQnJhbmNoJikq bm9kZSwgY2hpbGRJZHgpOworIAorICAgICAvLyBHZW5lcmF0ZSBuZXcga2V5IGZvciBjdXJyZW50 IGJyYW5jaCB2b3hlbAorICAgICBjaGlsZEtleS54ID0gKGtleS54IDw8IDEpIHwgKCEhKGNoaWxk SWR4ICYgKDEgPDwgMikpKTsKK0BAIC02OTUsNyArNjk1LDcgQEAKKyAgICAgICBjaGlsZElkeCA9 IGE7CisgCisgICAgIC8vIGNoaWxkTm9kZSA9PSAwIGlmIGNoaWxkTm9kZSBkb2Vzbid0IGV4aXN0 CistICAgIGNoaWxkTm9kZSA9IGdldEJyYW5jaENoaWxkICgoT2N0cmVlQnJhbmNoJikqbm9kZSwg Y2hpbGRJZHgpOworKyAgICBjaGlsZE5vZGUgPSB0aGlzLT5nZXRCcmFuY2hDaGlsZCAoKE9jdHJl ZUJyYW5jaCYpKm5vZGUsIGNoaWxkSWR4KTsKKyAgICAgLy8gR2VuZXJhdGUgbmV3IGtleSBmb3Ig Y3VycmVudCBicmFuY2ggdm94ZWwKKyAgICAgY2hpbGRLZXkueCA9IChrZXkueCA8PCAxKSB8ICgh IShjaGlsZElkeCAmICgxIDw8IDIpKSk7CisgICAgIGNoaWxkS2V5LnkgPSAoa2V5LnkgPDwgMSkg fCAoISEoY2hpbGRJZHggJiAoMSA8PCAxKSkpOworSW5kZXg6IHN1cmZhY2UvaW5jbHVkZS9wY2wv c3VyZmFjZS9pbXBsL21sc19vbXAuaHBwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc3VyZmFjZS9pbmNsdWRl L3BjbC9zdXJmYWNlL2ltcGwvbWxzX29tcC5ocHAJKHJldmlzaW9uIDM5MjEpCisrKysgc3VyZmFj ZS9pbmNsdWRlL3BjbC9zdXJmYWNlL2ltcGwvbWxzX29tcC5ocHAJKHdvcmtpbmcgY29weSkKK0BA IC01OSw3ICs1OSw3IEBACisgICAgIHN0ZDo6dmVjdG9yPGZsb2F0PiBubl9zcXJfZGlzdHM7Cisg CisgICAgIC8vIEdldCB0aGUgaW5pdGlhbCBlc3RpbWF0ZXMgb2YgcG9pbnQgcG9zaXRpb25zIGFu ZCB0aGVpciBuZWlnaGJvcmhvb2RzCistICAgIGlmICghc2VhcmNoRm9yTmVpZ2hib3JzICgoKmlu ZGljZXNfKVtjcF0sIG5uX2luZGljZXMsIG5uX3Nxcl9kaXN0cykpCisrICAgIGlmICghdGhpcy0+ c2VhcmNoRm9yTmVpZ2hib3JzICgoKmluZGljZXNfKVtjcF0sIG5uX2luZGljZXMsIG5uX3Nxcl9k aXN0cykpCisgICAgIHsKKyAgICAgICBpZiAobm9ybWFsc18pCisgICAgICAgICBub3JtYWxzXy0+ cG9pbnRzW2NwXS5ub3JtYWxbMF0gPSBub3JtYWxzXy0+cG9pbnRzW2NwXS5ub3JtYWxbMV0gPSBu b3JtYWxzXy0+cG9pbnRzW2NwXS5ub3JtYWxbMl0gPSBub3JtYWxzXy0+cG9pbnRzW2NwXS5jdXJ2 YXR1cmUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOICgpOworQEAgLTcz LDcgKzczLDcgQEAKKyAKKyAgICAgRWlnZW46OlZlY3RvcjRmIG1vZGVsX2NvZWZmaWNpZW50czsK KyAgICAgLy8gR2V0IGEgcGxhbmUgYXBwcm94aW1hdGluZyB0aGUgbG9jYWwgc3VyZmFjZSdzIHRh bmdlbnQgYW5kIHByb2plY3QgcG9pbnQgb250byBpdAorLSAgICBjb21wdXRlTUxTUG9pbnROb3Jt YWwgKG91dHB1dC5wb2ludHNbY3BdLCAqaW5wdXRfLCBubl9pbmRpY2VzLCBubl9zcXJfZGlzdHMs CisrICAgIHRoaXMtPmNvbXB1dGVNTFNQb2ludE5vcm1hbCAob3V0cHV0LnBvaW50c1tjcF0sICpp bnB1dF8sIG5uX2luZGljZXMsIG5uX3Nxcl9kaXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb2RlbF9jb2VmZmljaWVudHMpOyAKKyAKKyAgICAgLy8gU2F2ZSByZXN1bHRzIHRvIG91 dHB1dCBjbG91ZAorSW5kZXg6IHN1cmZhY2UvaW5jbHVkZS9wY2wvc3VyZmFjZS9pbXBsL21hcmNo aW5nX2N1YmVzX2dyZWVkeS5ocHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzdXJmYWNlL2luY2x1ZGUvcGNs L3N1cmZhY2UvaW1wbC9tYXJjaGluZ19jdWJlc19ncmVlZHkuaHBwCShyZXZpc2lvbiAzOTIxKQor KysrIHN1cmZhY2UvaW5jbHVkZS9wY2wvc3VyZmFjZS9pbXBsL21hcmNoaW5nX2N1YmVzX2dyZWVk eS5ocHAJKHdvcmtpbmcgY29weSkKK0BAIC03MiwxMSArNzIsMTEgQEAKKyAKKyAgICAgLy8gdGhl IHZlcnRpY2VzIGFyZSBzaGFyZWQgYnkgOCB2b3hlbHMsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIGFs bCA4IG9mIHRoZW0KKyAgICAgSGFzaE1hcCBuZWlnaGJvcl9saXN0OworLSAgICBnZXROZWlnaGJv ckxpc3QxRCAoY2VsbF9kYXRhLCBpbmRleF8zZCwgbmVpZ2hib3JfbGlzdCk7CisrICAgIHRoaXMt PmdldE5laWdoYm9yTGlzdDFEIChjZWxsX2RhdGEsIGluZGV4XzNkLCBuZWlnaGJvcl9saXN0KTsK KyAgICAgQk9PU1RfRk9SRUFDSCAodHlwZW5hbWUgSGFzaE1hcDo6dmFsdWVfdHlwZSBlbnRyeSwg bmVpZ2hib3JfbGlzdCkKKyAgICAgeworICAgICAgIEVpZ2VuOjpWZWN0b3IzaSBpM2Q7CistICAg ICAgZ2V0SW5kZXhJbjNEKGVudHJ5LmZpcnN0LCBpM2QpOworKyAgICAgIHRoaXMtPmdldEluZGV4 SW4zRChlbnRyeS5maXJzdCwgaTNkKTsKKyAgICAgICAvLyBpZiB0aGUgbmVpZ2hib3IgZG9lc24n dCBleGlzdCwgYWRkIGl0LCBvdGhlcndpc2Ugd2UgbmVlZCB0byBkbyBhbiBPUiBvcGVyYXRpb24g b24gdGhlIHZlcnRpY2VzCisgICAgICAgaWYgKGNlbGxfaGFzaF9tYXBfLmZpbmQgKGVudHJ5LmZp cnN0KSA9PSBjZWxsX2hhc2hfbWFwXy5lbmQgKCkpCisgICAgICAgeworSW5kZXg6IHN1cmZhY2Uv aW5jbHVkZS9wY2wvc3VyZmFjZS9pbXBsL21hcmNoaW5nX2N1YmVzX2dyZWVkeV9kb3QuaHBwCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gc3VyZmFjZS9pbmNsdWRlL3BjbC9zdXJmYWNlL2ltcGwvbWFyY2hpbmdf Y3ViZXNfZ3JlZWR5X2RvdC5ocHAJKHJldmlzaW9uIDM5MjEpCisrKysgc3VyZmFjZS9pbmNsdWRl L3BjbC9zdXJmYWNlL2ltcGwvbWFyY2hpbmdfY3ViZXNfZ3JlZWR5X2RvdC5ocHAJKHdvcmtpbmcg Y29weSkKK0BAIC03MiwxMSArNzIsMTEgQEAKKyAKKyAgICAgLy8gdGhlIHZlcnRpY2VzIGFyZSBz aGFyZWQgYnkgOCB2b3hlbHMsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIGFsbCA4IG9mIHRoZW0KKyAg ICAgSGFzaE1hcCBuZWlnaGJvcl9saXN0OworLSAgICBnZXROZWlnaGJvckxpc3QxRCAoY2VsbF9k YXRhLCBpbmRleF8zZCwgbmVpZ2hib3JfbGlzdCk7CisrICAgIHRoaXMtPmdldE5laWdoYm9yTGlz dDFEIChjZWxsX2RhdGEsIGluZGV4XzNkLCBuZWlnaGJvcl9saXN0KTsKKyAgICAgQk9PU1RfRk9S RUFDSCAodHlwZW5hbWUgSGFzaE1hcDo6dmFsdWVfdHlwZSBlbnRyeSwgbmVpZ2hib3JfbGlzdCkK KyAgICAgeworICAgICAgIEVpZ2VuOjpWZWN0b3IzaSBpM2Q7CistICAgICAgZ2V0SW5kZXhJbjNE IChlbnRyeS5maXJzdCwgaTNkKTsKKysgICAgICB0aGlzLT5nZXRJbmRleEluM0QgKGVudHJ5LmZp cnN0LCBpM2QpOworICAgICAgIC8vIGdldENlbGxDZW50ZXJGcm9tSW5kZXggKGNvbnN0IEVpZ2Vu OjpWZWN0b3IzaSAmaW5kZXgsIEVpZ2VuOjpWZWN0b3I0ZiAmY2VudGVyKSBjb25zdAorICAgICAg IEVpZ2VuOjpWZWN0b3I0ZiBwb3NWZWN0b3I7CisgICAgICAgTWFyY2hpbmdDdWJlczxQb2ludE5U Pjo6Z2V0Q2VsbENlbnRlckZyb21JbmRleCAoaTNkLCBwb3NWZWN0b3IpOworSW5kZXg6IHJlZ2lz dHJhdGlvbi9pbmNsdWRlL3BjbC9yZWdpc3RyYXRpb24vaW1wbC9pY3AuaHBwCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gcmVnaXN0cmF0aW9uL2luY2x1ZGUvcGNsL3JlZ2lzdHJhdGlvbi9pbXBsL2ljcC5ocHAJ KHJldmlzaW9uIDM5MjEpCisrKysgcmVnaXN0cmF0aW9uL2luY2x1ZGUvcGNsL3JlZ2lzdHJhdGlv bi9pbXBsL2ljcC5ocHAJKHdvcmtpbmcgY29weSkKK0BAIC04Miw3ICs4Miw3IEBACisgICAgIC8v IEl0ZXJhdGluZyBvdmVyIHRoZSBlbnRpcmUgaW5kZXggdmVjdG9yIGFuZCAgZmluZCBhbGwgY29y cmVzcG9uZGVuY2VzCisgICAgIGZvciAoc2l6ZV90IGlkeCA9IDA7IGlkeCA8IGluZGljZXNfLT5z aXplICgpOyArK2lkeCkKKyAgICAgeworLSAgICAgIGlmICghc2VhcmNoRm9yTmVpZ2hib3JzIChv dXRwdXQsICgqaW5kaWNlc18pW2lkeF0sIG5uX2luZGljZXMsIG5uX2Rpc3RzKSkKKysgICAgICBp ZiAoIXRoaXMtPnNlYXJjaEZvck5laWdoYm9ycyAob3V0cHV0LCAoKmluZGljZXNfKVtpZHhdLCBu bl9pbmRpY2VzLCBubl9kaXN0cykpCisgICAgICAgeworICAgICAgICAgUENMX0VSUk9SICgiW3Bj bDo6JXM6OmNvbXB1dGVUcmFuc2Zvcm1hdGlvbl0gVW5hYmxlIHRvIGZpbmQgYSBuZWFyZXN0IG5l aWdoYm9yIGluIHRoZSB0YXJnZXQgZGF0YXNldCBmb3IgcG9pbnQgJWQgaW4gdGhlIHNvdXJjZSFc biIsIGdldENsYXNzTmFtZSAoKS5jX3N0ciAoKSwgKCppbmRpY2VzXylbaWR4XSk7CisgICAgICAg ICByZXR1cm47CitAQCAtMTg1LDcgKzE4NSw3IEBACisgCisgICAgIGlmIChucl9pdGVyYXRpb25z XyA+PSBtYXhfaXRlcmF0aW9uc18gfHwKKyAgICAgICAgIGZhYnMgKCh0cmFuc2Zvcm1hdGlvbl8g LSBwcmV2aW91c190cmFuc2Zvcm1hdGlvbl8pLnN1bSAoKSkgPCB0cmFuc2Zvcm1hdGlvbl9lcHNp bG9uXyB8fAorLSAgICAgICAgZmFicyAoZ2V0Rml0bmVzc1Njb3JlIChjb3JyZXNwb25kZW5jZV9k aXN0YW5jZXNfLCBwcmV2aW91c19jb3JyZXNwb25kZW5jZV9kaXN0YW5jZXMpKSA8PSBldWNsaWRl YW5fZml0bmVzc19lcHNpbG9uXworKyAgICAgICAgZmFicyAodGhpcy0+Z2V0Rml0bmVzc1Njb3Jl IChjb3JyZXNwb25kZW5jZV9kaXN0YW5jZXNfLCBwcmV2aW91c19jb3JyZXNwb25kZW5jZV9kaXN0 YW5jZXMpKSA8PSBldWNsaWRlYW5fZml0bmVzc19lcHNpbG9uXworICAgICAgICApCisgICAgIHsK KyAgICAgICBjb252ZXJnZWRfID0gdHJ1ZTsKK0BAIC0xOTYsNyArMTk2LDcgQEAKKyAgICAgICBQ Q0xfREVCVUcgKCJmYWJzICgodHJhbnNmb3JtYXRpb25fIC0gcHJldmlvdXNfdHJhbnNmb3JtYXRp b25fKS5zdW0gKCkpICglZikgPCB0cmFuc2Zvcm1hdGlvbl9lcHNpbG9uXyAoJWYpXG4iLAorICAg ICAgICAgICAgICAgICAgZmFicyAoKHRyYW5zZm9ybWF0aW9uXyAtIHByZXZpb3VzX3RyYW5zZm9y bWF0aW9uXykuc3VtICgpKSwgdHJhbnNmb3JtYXRpb25fZXBzaWxvbl8pOworICAgICAgIFBDTF9E RUJVRyAoImZhYnMgKGdldEZpdG5lc3NTY29yZSAoY29ycmVzcG9uZGVuY2VfZGlzdGFuY2VzXywg cHJldmlvdXNfY29ycmVzcG9uZGVuY2VfZGlzdGFuY2VzKSkgKCVmKSA8PSBldWNsaWRlYW5fZml0 bmVzc19lcHNpbG9uXyAoJWYpXG4iLAorLSAgICAgICAgICAgICAgICAgZmFicyAoZ2V0Rml0bmVz c1Njb3JlIChjb3JyZXNwb25kZW5jZV9kaXN0YW5jZXNfLCBwcmV2aW91c19jb3JyZXNwb25kZW5j ZV9kaXN0YW5jZXMpKSwKKysgICAgICAgICAgICAgICAgIGZhYnMgKHRoaXMtPmdldEZpdG5lc3NT Y29yZSAoY29ycmVzcG9uZGVuY2VfZGlzdGFuY2VzXywgcHJldmlvdXNfY29ycmVzcG9uZGVuY2Vf ZGlzdGFuY2VzKSksCisgICAgICAgICAgICAgICAgICBldWNsaWRlYW5fZml0bmVzc19lcHNpbG9u Xyk7CisgCisgICAgIH0KK0luZGV4OiBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9zcGlu X2ltYWdlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9z cGluX2ltYWdlLmgJKHJldmlzaW9uIDM5MjEpCisrKysgZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVh dHVyZXMvc3Bpbl9pbWFnZS5oCSh3b3JraW5nIGNvcHkpCitAQCAtMTU5LDcgKzE1OSw3IEBACisg ICAgICAgc2V0SW5wdXRXaXRoTm9ybWFscyAoY29uc3QgUG9pbnRDbG91ZEluQ29uc3RQdHImIGlu cHV0LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQb2ludENsb3VkTkNvbnN0 UHRyJiBub3JtYWxzKQorICAgICAgIHsKKy0gICAgICAgIHNldElucHV0Q2xvdWQgKGlucHV0KTsK KysgICAgICAgIHRoaXMtPnNldElucHV0Q2xvdWQgKGlucHV0KTsKKyAgICAgICAgIGlucHV0X25v cm1hbHNfID0gbm9ybWFsczsKKyAgICAgICB9CisgCitAQCAtMTc2LDggKzE3Niw4IEBACisgICAg ICAgc2V0U2VhcmNoU3VyZmFjZVdpdGhOb3JtYWxzIChjb25zdCBQb2ludENsb3VkSW5Db25zdFB0 ciYgc3VyZmFjZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQ b2ludENsb3VkTkNvbnN0UHRyJiBub3JtYWxzKQorICAgICAgIHsKKy0gICAgICAgIHNldFNlYXJj aFN1cmZhY2UgKHN1cmZhY2UpOworLSAgICAgICAgc2V0SW5wdXROb3JtYWxzIChub3JtYWxzKTsK KysgICAgICAgIHRoaXMtPnNldFNlYXJjaFN1cmZhY2UgKHN1cmZhY2UpOworKyAgICAgICAgdGhp cy0+c2V0SW5wdXROb3JtYWxzIChub3JtYWxzKTsKKyAgICAgICB9CisgCisgICAgICAgLyoqIFxi cmllZiBTZXRzIHNpbmdsZSB2ZWN0b3IgYSByb3RhdGlvbiBheGlzIGZvciBhbGwgaW5wdXQgcG9p bnRzLgorSW5kZXg6IGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvZnBmaF9vbXAu aHBwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1wbC9m cGZoX29tcC5ocHAJKHJldmlzaW9uIDM5MjEpCisrKysgZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVh dHVyZXMvaW1wbC9mcGZoX29tcC5ocHAJKHdvcmtpbmcgY29weSkKK0BAIC05Niw3ICs5Niw3IEBA CisgICAgIHRoaXMtPnNlYXJjaEZvck5laWdoYm9ycyAoKnN1cmZhY2VfLCBwX2lkeCwgc2VhcmNo X3BhcmFtZXRlcl8sIG5uX2luZGljZXMsIG5uX2Rpc3RzKTsKKyAKKyAgICAgLy8gRXN0aW1hdGUg dGhlIFNQRkggc2lnbmF0dXJlIGFyb3VuZCBwX2lkeAorLSAgICBjb21wdXRlUG9pbnRTUEZIU2ln bmF0dXJlICgqc3VyZmFjZV8sICpub3JtYWxzXywgcF9pZHgsIGksIG5uX2luZGljZXMsIGhpc3Rf ZjFfLCBoaXN0X2YyXywgaGlzdF9mM18pOworKyAgICB0aGlzLT5jb21wdXRlUG9pbnRTUEZIU2ln bmF0dXJlICgqc3VyZmFjZV8sICpub3JtYWxzXywgcF9pZHgsIGksIG5uX2luZGljZXMsIGhpc3Rf ZjFfLCBoaXN0X2YyXywgaGlzdF9mM18pOworIAorICAgICAvLyBQb3B1bGF0ZSBhIGxvb2t1cCB0 YWJsZSBmb3IgY29udmVydGluZyBhIHBvaW50IGluZGV4IHRvIGl0cyBjb3JyZXNwb25kaW5nIHJv dyBpbiB0aGUgc3BmaF9oaXN0XyogbWF0cmljZXMKKyAgICAgc3BmaF9oaXN0X2xvb2t1cFtwX2lk eF0gPSBpOworSW5kZXg6IGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvaW50ZW5z aXR5X2dyYWRpZW50LmhwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2Zl YXR1cmVzL2ltcGwvaW50ZW5zaXR5X2dyYWRpZW50LmhwcAkocmV2aXNpb24gMzkyMSkKKysrKyBm ZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL2ludGVuc2l0eV9ncmFkaWVudC5ocHAJ KHdvcmtpbmcgY29weSkKK0BAIC0yMjksNyArMjI5LDcgQEAKKyAKKyAgICAgRWlnZW46OlZlY3Rv cjNmIG5vcm1hbCA9IEVpZ2VuOjpWZWN0b3IzZjo6TWFwIChub3JtYWxzXy0+cG9pbnRzW2lkeF0u bm9ybWFsKTsKKyAgICAgRWlnZW46OlZlY3RvcjNmIGdyYWRpZW50OworLSAgICBjb21wdXRlUG9p bnRJbnRlbnNpdHlHcmFkaWVudCAoKnN1cmZhY2VfLCBubl9pbmRpY2VzLCBjZW50cm9pZC5oZWFk PDM+ICgpLCBtZWFuX2ludGVuc2l0eSwgbm9ybWFsLCBncmFkaWVudCk7CisrICAgIHRoaXMtPmNv bXB1dGVQb2ludEludGVuc2l0eUdyYWRpZW50ICgqc3VyZmFjZV8sIG5uX2luZGljZXMsIGNlbnRy b2lkLmhlYWQ8Mz4gKCksIG1lYW5faW50ZW5zaXR5LCBub3JtYWwsIGdyYWRpZW50KTsKKyAKKyAg ICAgb3V0cHV0LnBvaW50cyAoaWR4LCAwKSA9IGdyYWRpZW50WzBdOworICAgICBvdXRwdXQucG9p bnRzIChpZHgsIDEpID0gZ3JhZGllbnRbMV07CitJbmRleDogZmVhdHVyZXMvaW5jbHVkZS9wY2wv ZmVhdHVyZXMvaW1wbC9pbnRlbnNpdHlfc3Bpbi5ocHAKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmZWF0dXJl cy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL2ludGVuc2l0eV9zcGluLmhwcAkocmV2aXNpb24g MzkyMSkKKysrKyBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL2ludGVuc2l0eV9z cGluLmhwcAkod29ya2luZyBjb3B5KQorQEAgLTIyMSw3ICsyMjEsNyBAQAorICAgICB9CisgCisg ICAgIC8vIENvbXB1dGUgdGhlIGludGVuc2l0eSBzcGluIGltYWdlCistICAgIGNvbXB1dGVJbnRl bnNpdHlTcGluSW1hZ2UgKCpzdXJmYWNlXywgc2VhcmNoX3JhZGl1c18sIHNpZ21hXywgaywgbm5f aW5kaWNlcywgbm5fZGlzdF9zcXIsIGludGVuc2l0eV9zcGluX2ltYWdlKTsKKysgICAgdGhpcy0+ Y29tcHV0ZUludGVuc2l0eVNwaW5JbWFnZSAoKnN1cmZhY2VfLCBzZWFyY2hfcmFkaXVzXywgc2ln bWFfLCBrLCBubl9pbmRpY2VzLCBubl9kaXN0X3NxciwgaW50ZW5zaXR5X3NwaW5faW1hZ2UpOwor IAorICAgICAvLyBDb3B5IGludG8gdGhlIHJlc3VsdGFudCBjbG91ZAorICAgICBpbnQgYmluID0g MDsKK0luZGV4OiBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL3Nob3Rfb21wLmhw cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLS0tIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvc2hv dF9vbXAuaHBwCShyZXZpc2lvbiAzOTIxKQorKysrIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1 cmVzL2ltcGwvc2hvdF9vbXAuaHBwCSh3b3JraW5nIGNvcHkpCitAQCAtODMsNyArODMsNyBAQAor ICNlbHNlCisgICAgIGludCB0aWQgPSAwOworICNlbmRpZgorLQljb21wdXRlUG9pbnRTSE9UICgo KmluZGljZXNfKVtpZHhdLCBubl9pbmRpY2VzLCBubl9kaXN0cywgc2hvdFt0aWRdLCByZnNbdGlk XSk7CisrCXRoaXMtPmNvbXB1dGVQb2ludFNIT1QgKCgqaW5kaWNlc18pW2lkeF0sIG5uX2luZGlj ZXMsIG5uX2Rpc3RzLCBzaG90W3RpZF0sIHJmc1t0aWRdKTsKKyAKKyAJLy8gQ29weSBpbnRvIHRo ZSByZXN1bHRhbnQgY2xvdWQKKyAgICAgZm9yIChpbnQgZCA9IDA7IGQgPCBzaG90W3RpZF0uc2l6 ZSAoKTsgKytkKQorQEAgLTEzOSw3ICsxMzksNyBAQAorICNlbHNlCisgICAgIGludCB0aWQgPSAw OworICNlbmRpZgorLSAgICBjb21wdXRlUG9pbnRTSE9UICgoKmluZGljZXNfKVtpZHhdLCBubl9p bmRpY2VzLCBubl9kaXN0cywgc2hvdFt0aWRdLCByZnNbdGlkXSk7CisrICAgIHRoaXMtPmNvbXB1 dGVQb2ludFNIT1QgKCgqaW5kaWNlc18pW2lkeF0sIG5uX2luZGljZXMsIG5uX2Rpc3RzLCBzaG90 W3RpZF0sIHJmc1t0aWRdKTsKKyAKKyAgICAgLy8gQ29weSBpbnRvIHRoZSByZXN1bHRhbnQgY2xv dWQKKyAgICAgZm9yIChpbnQgZCA9IDA7IGQgPCBzaG90W3RpZF0uc2l6ZSAoKTsgKytkKQorSW5k ZXg6IGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvM2RzYy5ocHAKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsLzNkc2MuaHBwCShyZXZp c2lvbiAzOTIxKQorKysrIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvM2RzYy5o cHAJKHdvcmtpbmcgY29weSkKK0BAIC0zNDAsNyArMzQwLDcgQEAKKyAgICAgfQorIAorICAgICBz dGQ6OnZlY3RvcjxmbG9hdD4gZGVzY3JpcHRvciAoZGVzY3JpcHRvcl9sZW5ndGhfKTsKKy0gICAg aWYgKCFjb21wdXRlUG9pbnQgKHBvaW50X2luZGV4LCAqbm9ybWFsc18sIHJmLCBkZXNjcmlwdG9y KSkKKysgICAgaWYgKCF0aGlzLT5jb21wdXRlUG9pbnQgKHBvaW50X2luZGV4LCAqbm9ybWFsc18s IHJmLCBkZXNjcmlwdG9yKSkKKyAgICAgICBvdXRwdXQuaXNfZGVuc2UgPSBmYWxzZTsKKyAgICAg Zm9yIChpbnQgaiA9IDA7IGogPCA5OyArK2opCisgICAgICAgb3V0cHV0LnBvaW50cyAocG9pbnRf aW5kZXgsIGopID0gcmZbal07CitJbmRleDogZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMv aW1wbC9yaWZ0LmhwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1 cmVzL2ltcGwvcmlmdC5ocHAJKHJldmlzaW9uIDM5MjEpCisrKysgZmVhdHVyZXMvaW5jbHVkZS9w Y2wvZmVhdHVyZXMvaW1wbC9yaWZ0LmhwcAkod29ya2luZyBjb3B5KQorQEAgLTI0Niw3ICsyNDYs NyBAQAorICAgICB9CisgCisgICAgIC8vIENvbXB1dGUgdGhlIFJJRlQgZGVzY3JpcHRvcgorLSAg ICBjb21wdXRlUklGVCAoKnN1cmZhY2VfLCAqZ3JhZGllbnRfLCAoKmluZGljZXNfKVtpZHhdLCBz ZWFyY2hfcmFkaXVzXywgbm5faW5kaWNlcywgbm5fZGlzdF9zcXIsIHJpZnRfZGVzY3JpcHRvcik7 CisrICAgIHRoaXMtPmNvbXB1dGVSSUZUICgqc3VyZmFjZV8sICpncmFkaWVudF8sICgqaW5kaWNl c18pW2lkeF0sIHNlYXJjaF9yYWRpdXNfLCBubl9pbmRpY2VzLCBubl9kaXN0X3NxciwgcmlmdF9k ZXNjcmlwdG9yKTsKKyAKKyAgICAgLy8gQ29weSBpbnRvIHRoZSByZXN1bHRhbnQgY2xvdWQKKyAg ICAgaW50IGJpbiA9IDA7CitJbmRleDogZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1w bC9wcmluY2lwYWxfY3VydmF0dXJlcy5ocHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmZWF0dXJlcy9pbmNs dWRlL3BjbC9mZWF0dXJlcy9pbXBsL3ByaW5jaXBhbF9jdXJ2YXR1cmVzLmhwcAkocmV2aXNpb24g MzkyMSkKKysrKyBmZWF0dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL3ByaW5jaXBhbF9j dXJ2YXR1cmVzLmhwcAkod29ya2luZyBjb3B5KQorQEAgLTE4OCw3ICsxODgsNyBAQAorICAgICAg IH0KKyAKKyAgICAgICAvLyBFc3RpbWF0ZSB0aGUgcHJpbmNpcGFsIGN1cnZhdHVyZXMgYXQgZWFj aCBwYXRjaAorLSAgICAgIGNvbXB1dGVQb2ludFByaW5jaXBhbEN1cnZhdHVyZXMgKCpub3JtYWxz XywgKCppbmRpY2VzXylbaWR4XSwgbm5faW5kaWNlcywKKysgICAgICB0aGlzLT5jb21wdXRlUG9p bnRQcmluY2lwYWxDdXJ2YXR1cmVzICgqbm9ybWFsc18sICgqaW5kaWNlc18pW2lkeF0sIG5uX2lu ZGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LnBv aW50cyAoaWR4LCAwKSwgb3V0cHV0LnBvaW50cyAoaWR4LCAxKSwgb3V0cHV0LnBvaW50cyAoaWR4 LCAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQucG9p bnRzIChpZHgsIDMpLCBvdXRwdXQucG9pbnRzIChpZHgsIDQpKTsKKyAgICAgfQorQEAgLTIwNyw3 ICsyMDcsNyBAQAorICAgICAgIH0KKyAKKyAgICAgICAvLyBFc3RpbWF0ZSB0aGUgcHJpbmNpcGFs IGN1cnZhdHVyZXMgYXQgZWFjaCBwYXRjaAorLSAgICAgIGNvbXB1dGVQb2ludFByaW5jaXBhbEN1 cnZhdHVyZXMgKCpub3JtYWxzXywgKCppbmRpY2VzXylbaWR4XSwgbm5faW5kaWNlcywKKysgICAg ICB0aGlzLT5jb21wdXRlUG9pbnRQcmluY2lwYWxDdXJ2YXR1cmVzICgqbm9ybWFsc18sICgqaW5k aWNlc18pW2lkeF0sIG5uX2luZGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3V0cHV0LnBvaW50cyAoaWR4LCAwKSwgb3V0cHV0LnBvaW50cyAoaWR4LCAxKSwg b3V0cHV0LnBvaW50cyAoaWR4LCAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvdXRwdXQucG9pbnRzIChpZHgsIDMpLCBvdXRwdXQucG9pbnRzIChpZHgsIDQpKTsK KyAgICAgfQorSW5kZXg6IGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvYm91bmRh cnkuaHBwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1w bC9ib3VuZGFyeS5ocHAJKHJldmlzaW9uIDM5MjEpCisrKysgZmVhdHVyZXMvaW5jbHVkZS9wY2wv ZmVhdHVyZXMvaW1wbC9ib3VuZGFyeS5ocHAJKHdvcmtpbmcgY29weSkKK0BAIC0xOTYsMTAgKzE5 NiwxMCBAQAorICAgICAgIC8vIE9idGFpbiBhIGNvb3JkaW5hdGUgc3lzdGVtIG9uIHRoZSBsZWFz dC1zcXVhcmVzIHBsYW5lCisgICAgICAgLy92ID0gbm9ybWFsc18tPnBvaW50c1soKmluZGljZXNf KVtpZHhdXS5nZXROb3JtYWxWZWN0b3I0Zk1hcCAoKS51bml0T3J0aG9nb25hbCAoKTsKKyAgICAg ICAvL3UgPSBub3JtYWxzXy0+cG9pbnRzWygqaW5kaWNlc18pW2lkeF1dLmdldE5vcm1hbFZlY3Rv cjRmTWFwICgpLmNyb3NzMyAodik7CistICAgICAgZ2V0Q29vcmRpbmF0ZVN5c3RlbU9uUGxhbmUg KG5vcm1hbHNfLT5wb2ludHNbKCppbmRpY2VzXylbaWR4XV0sIHUsIHYpOworKyAgICAgIHRoaXMt PmdldENvb3JkaW5hdGVTeXN0ZW1PblBsYW5lIChub3JtYWxzXy0+cG9pbnRzWygqaW5kaWNlc18p W2lkeF1dLCB1LCB2KTsKKyAKKyAgICAgICAvLyBFc3RpbWF0ZSB3aGV0aGVyIHRoZSBwb2ludCBp cyBseWluZyBvbiBhIGJvdW5kYXJ5IHN1cmZhY2Ugb3Igbm90CistICAgICAgb3V0cHV0LnBvaW50 cyAoaWR4LCAwKSA9IGlzQm91bmRhcnlQb2ludCAoKnN1cmZhY2VfLCBpbnB1dF8tPnBvaW50c1so KmluZGljZXNfKVtpZHhdXSwgbm5faW5kaWNlcywgdSwgdiwgYW5nbGVfdGhyZXNob2xkXyk7Cisr ICAgICAgb3V0cHV0LnBvaW50cyAoaWR4LCAwKSA9IHRoaXMtPmlzQm91bmRhcnlQb2ludCAoKnN1 cmZhY2VfLCBpbnB1dF8tPnBvaW50c1soKmluZGljZXNfKVtpZHhdXSwgbm5faW5kaWNlcywgdSwg diwgYW5nbGVfdGhyZXNob2xkXyk7CisgICAgIH0KKyAgIH0KKyAgIGVsc2UKK0BAIC0yMTgsMTAg KzIxOCwxMCBAQAorICAgICAgIC8vIE9idGFpbiBhIGNvb3JkaW5hdGUgc3lzdGVtIG9uIHRoZSBs ZWFzdC1zcXVhcmVzIHBsYW5lCisgICAgICAgLy92ID0gbm9ybWFsc18tPnBvaW50c1soKmluZGlj ZXNfKVtpZHhdXS5nZXROb3JtYWxWZWN0b3I0Zk1hcCAoKS51bml0T3J0aG9nb25hbCAoKTsKKyAg ICAgICAvL3UgPSBub3JtYWxzXy0+cG9pbnRzWygqaW5kaWNlc18pW2lkeF1dLmdldE5vcm1hbFZl Y3RvcjRmTWFwICgpLmNyb3NzMyAodik7CistICAgICAgZ2V0Q29vcmRpbmF0ZVN5c3RlbU9uUGxh bmUgKG5vcm1hbHNfLT5wb2ludHNbKCppbmRpY2VzXylbaWR4XV0sIHUsIHYpOworKyAgICAgIHRo aXMtPmdldENvb3JkaW5hdGVTeXN0ZW1PblBsYW5lIChub3JtYWxzXy0+cG9pbnRzWygqaW5kaWNl c18pW2lkeF1dLCB1LCB2KTsKKyAKKyAgICAgICAvLyBFc3RpbWF0ZSB3aGV0aGVyIHRoZSBwb2lu dCBpcyBseWluZyBvbiBhIGJvdW5kYXJ5IHN1cmZhY2Ugb3Igbm90CistICAgICAgb3V0cHV0LnBv aW50cyAoaWR4LCAwKSA9IGlzQm91bmRhcnlQb2ludCAoKnN1cmZhY2VfLCBpbnB1dF8tPnBvaW50 c1soKmluZGljZXNfKVtpZHhdXSwgbm5faW5kaWNlcywgdSwgdiwgYW5nbGVfdGhyZXNob2xkXyk7 CisrICAgICAgb3V0cHV0LnBvaW50cyAoaWR4LCAwKSA9IHRoaXMtPmlzQm91bmRhcnlQb2ludCAo KnN1cmZhY2VfLCBpbnB1dF8tPnBvaW50c1soKmluZGljZXNfKVtpZHhdXSwgbm5faW5kaWNlcywg dSwgdiwgYW5nbGVfdGhyZXNob2xkXyk7CisgICAgIH0KKyAgIH0KKyB9CitJbmRleDogZmVhdHVy ZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1wbC9mcGZoLmhwcAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZl YXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvZnBmaC5ocHAJKHJldmlzaW9uIDM5MjEp CisrKysgZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1wbC9mcGZoLmhwcAkod29ya2lu ZyBjb3B5KQorQEAgLTMwNyw3ICszMDcsNyBAQAorICAgc3RkOjp2ZWN0b3I8ZmxvYXQ+IG5uX2Rp c3RzIChrXyk7CisgCisgICBzdGQ6OnZlY3RvcjxpbnQ+IHNwZmhfaGlzdF9sb29rdXA7CistICBj b21wdXRlU1BGSFNpZ25hdHVyZXMgKHNwZmhfaGlzdF9sb29rdXAsIGhpc3RfZjFfLCBoaXN0X2Yy XywgaGlzdF9mM18pOworKyAgdGhpcy0+Y29tcHV0ZVNQRkhTaWduYXR1cmVzIChzcGZoX2hpc3Rf bG9va3VwLCBoaXN0X2YxXywgaGlzdF9mMl8sIGhpc3RfZjNfKTsKKyAKKyAgIC8vIEludGlhbGl6 ZSB0aGUgYXJyYXkgdGhhdCB3aWxsIHN0b3JlIHRoZSBGUEZIIHNpZ25hdHVyZQorICAgb3V0cHV0 LnBvaW50cy5yZXNpemUgKGluZGljZXNfLT5zaXplICgpLCBucl9iaW5zX2YxXyArIG5yX2JpbnNf ZjJfICsgbnJfYmluc19mM18pOworQEAgLTMzMiw3ICszMzIsNyBAQAorICAgICAgICAgbm5faW5k aWNlc1tpXSA9IHNwZmhfaGlzdF9sb29rdXBbbm5faW5kaWNlc1tpXV07CisgCisgICAgICAgLy8g Q29tcHV0ZSB0aGUgRlBGSCBzaWduYXR1cmUgKGkuZS4gY29tcHV0ZSBhIHdlaWdodGVkIGNvbWJp bmF0aW9uIG9mIGxvY2FsIFNQRkggc2lnbmF0dXJlcykgLi4uCistICAgICAgd2VpZ2h0UG9pbnRT UEZIU2lnbmF0dXJlIChoaXN0X2YxXywgaGlzdF9mMl8sIGhpc3RfZjNfLCBubl9pbmRpY2VzLCBu bl9kaXN0cywgZnBmaF9oaXN0b2dyYW1fKTsKKysgICAgICB0aGlzLT53ZWlnaHRQb2ludFNQRkhT aWduYXR1cmUgKGhpc3RfZjFfLCBoaXN0X2YyXywgaGlzdF9mM18sIG5uX2luZGljZXMsIG5uX2Rp c3RzLCBmcGZoX2hpc3RvZ3JhbV8pOworICAgICAgIG91dHB1dC5wb2ludHMucm93IChpZHgpID0g ZnBmaF9oaXN0b2dyYW1fOworICAgICB9CisgICB9CitAQCAtMzU0LDcgKzM1NCw3IEBACisgICAg ICAgICBubl9pbmRpY2VzW2ldID0gc3BmaF9oaXN0X2xvb2t1cFtubl9pbmRpY2VzW2ldXTsKKyAK KyAgICAgICAvLyBDb21wdXRlIHRoZSBGUEZIIHNpZ25hdHVyZSAoaS5lLiBjb21wdXRlIGEgd2Vp Z2h0ZWQgY29tYmluYXRpb24gb2YgbG9jYWwgU1BGSCBzaWduYXR1cmVzKSAuLi4KKy0gICAgICB3 ZWlnaHRQb2ludFNQRkhTaWduYXR1cmUgKGhpc3RfZjFfLCBoaXN0X2YyXywgaGlzdF9mM18sIG5u X2luZGljZXMsIG5uX2Rpc3RzLCBmcGZoX2hpc3RvZ3JhbV8pOworKyAgICAgIHRoaXMtPndlaWdo dFBvaW50U1BGSFNpZ25hdHVyZSAoaGlzdF9mMV8sIGhpc3RfZjJfLCBoaXN0X2YzXywgbm5faW5k aWNlcywgbm5fZGlzdHMsIGZwZmhfaGlzdG9ncmFtXyk7CisgICAgICAgb3V0cHV0LnBvaW50cy5y b3cgKGlkeCkgPSBmcGZoX2hpc3RvZ3JhbV87CisgICAgIH0KKyAgIH0KK0luZGV4OiBmZWF0dXJl cy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL21vbWVudF9pbnZhcmlhbnRzLmhwcAorPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvbW9tZW50X2ludmFy aWFudHMuaHBwCShyZXZpc2lvbiAzOTIxKQorKysrIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1 cmVzL2ltcGwvbW9tZW50X2ludmFyaWFudHMuaHBwCSh3b3JraW5nIGNvcHkpCitAQCAtMTgxLDcg KzE4MSw3IEBACisgICAgICAgICBjb250aW51ZTsKKyAgICAgICB9CisgCistICAgICAgY29tcHV0 ZVBvaW50TW9tZW50SW52YXJpYW50cyAoKnN1cmZhY2VfLCBubl9pbmRpY2VzLAorKyAgICAgIHRo aXMtPmNvbXB1dGVQb2ludE1vbWVudEludmFyaWFudHMgKCpzdXJmYWNlXywgbm5faW5kaWNlcywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQucG9pbnRzIChpZHgs IDApLCBvdXRwdXQucG9pbnRzIChpZHgsIDEpLCBvdXRwdXQucG9pbnRzIChpZHgsIDIpKTsKKyAg ICAgfQorICAgfQorQEAgLTE5OCw3ICsxOTgsNyBAQAorICAgICAgICAgY29udGludWU7CisgICAg ICAgIH0KKyAKKy0gICAgICBjb21wdXRlUG9pbnRNb21lbnRJbnZhcmlhbnRzICgqc3VyZmFjZV8s IG5uX2luZGljZXMsCisrICAgICAgdGhpcy0+Y29tcHV0ZVBvaW50TW9tZW50SW52YXJpYW50cyAo KnN1cmZhY2VfLCBubl9pbmRpY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG91dHB1dC5wb2ludHMgKGlkeCwgMCksIG91dHB1dC5wb2ludHMgKGlkeCwgMSksIG91dHB1 dC5wb2ludHMgKGlkeCwgMikpOworICAgICB9CisgICB9CitJbmRleDogZmVhdHVyZXMvaW5jbHVk ZS9wY2wvZmVhdHVyZXMvaW1wbC9zcGluX2ltYWdlLmhwcAorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZlYXR1 cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvc3Bpbl9pbWFnZS5ocHAJKHJldmlzaW9uIDM5 MjEpCisrKysgZmVhdHVyZXMvaW5jbHVkZS9wY2wvZmVhdHVyZXMvaW1wbC9zcGluX2ltYWdlLmhw cAkod29ya2luZyBjb3B5KQorQEAgLTEwNiw3ICsxMDYsNyBAQAorIAorICAgc3RkOjp2ZWN0b3I8 aW50PiBubl9pbmRpY2VzOworICAgc3RkOjp2ZWN0b3I8ZmxvYXQ+IG5uX3Nxcl9kaXN0czsKKy0g IGNvbnN0IGludCBuZWlnaGJfY250ID0gc2VhcmNoRm9yTmVpZ2hib3JzIChpbmRleCwgc2VhcmNo X3JhZGl1c18sIG5uX2luZGljZXMsIG5uX3Nxcl9kaXN0cyk7CisrICBjb25zdCBpbnQgbmVpZ2hi X2NudCA9IHRoaXMtPnNlYXJjaEZvck5laWdoYm9ycyAoaW5kZXgsIHNlYXJjaF9yYWRpdXNfLCBu bl9pbmRpY2VzLCBubl9zcXJfZGlzdHMpOworICAgaWYgKG5laWdoYl9jbnQgPCAoaW50KW1pbl9w dHNfbmVpZ2hiXykKKyAgIHsKKyAgICAgdGhyb3cgUENMRXhjZXB0aW9uICgKK0BAIC0zMjQsNyAr MzI0LDcgQEAKKyAgIG91dHB1dC5wb2ludHMucmVzaXplIChpbmRpY2VzXy0+c2l6ZSAoKSwgMTUz KTsKKyAgIGZvciAoaW50IGlfaW5wdXQgPSAwOyBpX2lucHV0IDwgKGludClpbmRpY2VzXy0+c2l6 ZSAoKTsgKytpX2lucHV0KQorICAgeworLSAgICBFaWdlbjo6QXJyYXlYWGQgcmVzID0gY29tcHV0 ZVNpRm9yUG9pbnQgKGluZGljZXNfLT5hdCAoaV9pbnB1dCkpOworKyAgICBFaWdlbjo6QXJyYXlY WGQgcmVzID0gdGhpcy0+Y29tcHV0ZVNpRm9yUG9pbnQgKGluZGljZXNfLT5hdCAoaV9pbnB1dCkp OworIAorICAgICAvLyBDb3B5IGludG8gdGhlIHJlc3VsdGFudCBjbG91ZAorICAgICBmb3IgKGlu dCBpUm93ID0gMDsgaVJvdyA8IHJlcy5yb3dzICgpIDsgaVJvdysrKQorSW5kZXg6IGZlYXR1cmVz L2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvc2hvdC5ocHAKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmZWF0 dXJlcy9pbmNsdWRlL3BjbC9mZWF0dXJlcy9pbXBsL3Nob3QuaHBwCShyZXZpc2lvbiAzOTIxKQor KysrIGZlYXR1cmVzL2luY2x1ZGUvcGNsL2ZlYXR1cmVzL2ltcGwvc2hvdC5ocHAJKHdvcmtpbmcg Y29weSkKK0BAIC02NzIsNyArNjcyLDcgQEAKKyAgICAgaW50ZXJwb2xhdGVTaW5nbGVDaGFubmVs IChpbmRpY2VzLCBzcXJfZGlzdHMsIGlucHV0Xy0+cG9pbnRzW2luZGV4XS5nZXRWZWN0b3I0Zk1h cCAoKSwgcmYsIGJpbkRpc3RhbmNlU2hhcGUsIG5yX3NoYXBlX2JpbnNfLCBzaG90KTsKKyAKKyAg IC8vIE5vcm1hbGl6ZSB0aGUgZmluYWwgaGlzdG9ncmFtCistICBub3JtYWxpemVIaXN0b2dyYW0g KHNob3QsIGRlc2NMZW5ndGhfKTsKKysgIHRoaXMtPm5vcm1hbGl6ZUhpc3RvZ3JhbSAoc2hvdCwg ZGVzY0xlbmd0aF8pOworIH0KKyAKKyAKK0BAIC02OTEsMTQgKzY5MSwxNCBAQAorIAorICAgIC8v IENsZWFyIHRoZSByZXN1bHRhbnQgc2hvdAorICAgc3RkOjp2ZWN0b3I8ZG91YmxlPiBiaW5EaXN0 YW5jZVNoYXBlOworLSAgY3JlYXRlQmluRGlzdGFuY2VTaGFwZSAoaW5kZXgsIGluZGljZXMsIHNx cl9kaXN0cywgKmlucHV0XywgKm5vcm1hbHNfLCAqc3VyZmFjZV8sIHNlYXJjaF9yYWRpdXNfLCBi aW5EaXN0YW5jZVNoYXBlLCByZik7CisrICB0aGlzLT5jcmVhdGVCaW5EaXN0YW5jZVNoYXBlIChp bmRleCwgaW5kaWNlcywgc3FyX2Rpc3RzLCAqaW5wdXRfLCAqbm9ybWFsc18sICpzdXJmYWNlXywg c2VhcmNoX3JhZGl1c18sIGJpbkRpc3RhbmNlU2hhcGUsIHJmKTsKKyAKKyAgIC8vIEludGVycG9s YXRlCisgICBzaG90LnNldFplcm8gKCk7CisgICBpbnRlcnBvbGF0ZVNpbmdsZUNoYW5uZWwgKGlu ZGljZXMsIHNxcl9kaXN0cywgaW5wdXRfLT5wb2ludHNbaW5kZXhdLmdldFZlY3RvcjRmTWFwICgp LCByZiwgYmluRGlzdGFuY2VTaGFwZSwgbnJfc2hhcGVfYmluc18sIHNob3QpOworIAorICAgLy8g Tm9ybWFsaXplIHRoZSBmaW5hbCBoaXN0b2dyYW0KKy0gIG5vcm1hbGl6ZUhpc3RvZ3JhbSAoc2hv dCwgZGVzY0xlbmd0aF8pOworKyAgdGhpcy0+bm9ybWFsaXplSGlzdG9ncmFtIChzaG90LCBkZXNj TGVuZ3RoXyk7CisgfQorIAorIAorQEAgLTcxNywxNCArNzE3LDE0IEBACisgCisgICAgLy8gQ2xl YXIgdGhlIHJlc3VsdGFudCBzaG90CisgICBzdGQ6OnZlY3Rvcjxkb3VibGU+IGJpbkRpc3RhbmNl U2hhcGU7CistICBjcmVhdGVCaW5EaXN0YW5jZVNoYXBlIChpbmRleCwgaW5kaWNlcywgc3FyX2Rp c3RzLCAqaW5wdXRfLCAqbm9ybWFsc18sICpzdXJmYWNlXywgc2VhcmNoX3JhZGl1c18sIGJpbkRp c3RhbmNlU2hhcGUsIHJmKTsKKysgIHRoaXMtPmNyZWF0ZUJpbkRpc3RhbmNlU2hhcGUgKGluZGV4 LCBpbmRpY2VzLCBzcXJfZGlzdHMsICppbnB1dF8sICpub3JtYWxzXywgKnN1cmZhY2VfLCBzZWFy Y2hfcmFkaXVzXywgYmluRGlzdGFuY2VTaGFwZSwgcmYpOworIAorICAgLy8gSW50ZXJwb2xhdGUK KyAgIHNob3Quc2V0WmVybyAoKTsKKyAgIGludGVycG9sYXRlU2luZ2xlQ2hhbm5lbCAoaW5kaWNl cywgc3FyX2Rpc3RzLCBpbnB1dF8tPnBvaW50c1tpbmRleF0uZ2V0VmVjdG9yNGZNYXAgKCksIHJm LCBiaW5EaXN0YW5jZVNoYXBlLCBucl9zaGFwZV9iaW5zXywgc2hvdCk7CisgCisgICAvLyBOb3Jt YWxpemUgdGhlIGZpbmFsIGhpc3RvZ3JhbQorLSAgbm9ybWFsaXplSGlzdG9ncmFtIChzaG90LCBk ZXNjTGVuZ3RoXyk7CisrICB0aGlzLT5ub3JtYWxpemVIaXN0b2dyYW0gKHNob3QsIGRlc2NMZW5n dGhfKTsKKyB9CisgCisgCitAQCAtODM5LDcgKzgzOSw3IEBACisgICAgICB9CisgCisgICAgIC8v IENvbXB1dGUgdGhlIFNIT1QgZGVzY3JpcHRvciBmb3IgdGhlIGN1cnJlbnQgM0QgZmVhdHVyZQor LSAgICBjb21wdXRlUG9pbnRTSE9UICgoKmluZGljZXNfKVtpZHhdLCBubl9pbmRpY2VzLCBubl9k aXN0cywgc2hvdF8sIHJmXyk7CisrICAgIHRoaXMtPmNvbXB1dGVQb2ludFNIT1QgKCgqaW5kaWNl c18pW2lkeF0sIG5uX2luZGljZXMsIG5uX2Rpc3RzLCBzaG90XywgcmZfKTsKKyAKKyAgICAgLy8g Q29weSBpbnRvIHRoZSByZXN1bHRhbnQgY2xvdWQKKyAgICAgZm9yIChpbnQgZCA9IDA7IGQgPCBz aG90Xy5zaXplICgpOyArK2QpCitAQCAtOTU1LDcgKzk1NSw3IEBACisgICAgICB9CisgCisgICAg IC8vIEVzdGltYXRlIHRoZSBTSE9UIGF0IGVhY2ggcGF0Y2gKKy0gICAgY29tcHV0ZVBvaW50U0hP VCAoKCppbmRpY2VzXylbaWR4XSwgbm5faW5kaWNlcywgbm5fZGlzdHMsIHNob3RfLCByZl8pOwor KyAgICB0aGlzLT5jb21wdXRlUG9pbnRTSE9UICgoKmluZGljZXNfKVtpZHhdLCBubl9pbmRpY2Vz LCBubl9kaXN0cywgc2hvdF8sIHJmXyk7CisgCisgICAgIC8vIENvcHkgaW50byB0aGUgcmVzdWx0 YW50IGNsb3VkCisgICAgIGZvciAoaW50IGQgPSAwOyBkIDwgc2hvdF8uc2l6ZSAoKTsgKytkKQoK ZGlmZiAtLWdpdCBhL3BjbC5zcGVjIGIvcGNsLnNwZWMKaW5kZXggMTA0ODNlNS4uNDc3YmFlNyAx MDA2NDQKLS0tIGEvcGNsLnNwZWMKKysrIGIvcGNsLnNwZWMKQEAgLTEsMTQgKzEsMTQgQEAKIE5h bWU6ICAgICAgICAgICBwY2wKLVZlcnNpb246ICAgICAgICAxLjMuMQotUmVsZWFzZTogICAgICAg IDUlez9kaXN0fQorVmVyc2lvbjogICAgICAgIDEuNC4wCitSZWxlYXNlOiAgICAgICAgMSV7P2Rp c3R9CiBTdW1tYXJ5OiAgICAgICAgTGlicmFyeSBmb3IgcG9pbnQgY2xvdWQgcHJvY2Vzc2luZwog CiBHcm91cDogICAgICAgICAgU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwogTGljZW5zZTog ICAgICAgIEJTRAogVVJMOiAgICAgICAgICAgIGh0dHA6Ly9wb2ludGNsb3Vkcy5vcmcvCi1Tb3Vy Y2UwOiAgICAgICAgaHR0cDovL2Rldi5wb2ludGNsb3Vkcy5vcmcvYXR0YWNobWVudHMvZG93bmxv YWQvNTcyL1BDTC0xLjMuMS1Tb3VyY2UudGFyLmJ6MgotUGF0Y2gwOiAgICAgICAgIFBDTC0xLjMu MS1Tb3VyY2UtZmVkb3JhLnBhdGNoCi1QYXRjaDE6ICAgICAgICAgcGNsLTEuMy4xLWdjYzQ3LnBh dGNoCitTb3VyY2UwOiAgICAgICAgaHR0cDovL2Rldi5wb2ludGNsb3Vkcy5vcmcvYXR0YWNobWVu dHMvZG93bmxvYWQvNjEwL1BDTC0xLjQuMC1Tb3VyY2UudGFyLmJ6MgorUGF0Y2gwOiAgICAgICAg IFBDTC0xLjQuMC1Tb3VyY2UtZmVkb3JhLnBhdGNoCitQYXRjaDE6ICAgICAgICAgcGNsLTEuNC4w LWdjYzQ3LnBhdGNoCiBCdWlsZFJvb3Q6ICAgICAgJXtfdG1wcGF0aH0vJXtuYW1lfS0le3ZlcnNp b259LSV7cmVsZWFzZX0tcm9vdC0lKCV7X19pZF91fSAtbikKIAogIyBGb3IgcGxhaW4gYnVpbGRp bmcKQEAgLTE1OCw3ICsxNTgsNyBAQCBybSAtcmYgJFJQTV9CVUlMRF9ST09UCiAlZGVmYXR0cigt LHJvb3Qscm9vdCwtKQogJWRvYyBBVVRIT1JTLnR4dCBMSUNFTlNFLnR4dAogJXtfbGliZGlyfS8q LnNvLioKLSV7X2RhdGFkaXJ9LyV7bmFtZX0tMS4zCisle19kYXRhZGlyfS8le25hbWV9LTEuNAog CiAlZmlsZXMgZGV2ZWwKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCkBAIC0xODAsNiArMTgwLDEw IEBAIHJtIC1yZiAkUlBNX0JVSUxEX1JPT1QKIAogCiAlY2hhbmdlbG9nCisqIE1vbiBKYW4gMTYg MjAxMiBSaWNoIE1hdHRlcyA8cmljaG1hdHRlc0BnbWFpbC5jb20+IC0gMS40LjAtMQorLSBVcGRh dGUgdG8gcmVsZWFzZSAxLjQuMAorLSBBZGQgcGF0Y2ggZm9yIGdjYy00LjcgZml4ZXMKKwogKiBN b24gSmFuIDE2IDIwMTIgVGltIE5pZW11ZWxsZXIgPHRpbUBuaWVtdWVsbGVyLmRlPiAtIDEuMy4x LTUKIC0gVXBkYXRlIHBhdGNoIHRvIGZpeCBQQ0xDb25maWcuY21ha2UKIAo=