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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Updated ibus-HEAD.patch from upstream Date: Sun, 31 May 2026 02:06:16 GMT Message-ID: <178019317614.1.7763898556344708686.rpms-ibus-a25fa373bc9c@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: a25fa373bc9cb363430751b96c4691f91279a939 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiBhMjVmYTM3M2JjOWNiMzYzNDMwNzUxYjk2YzQ2OTFmOTEyNzlhOTM5CiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDE1LTA0LTAyVDE0OjI2OjU1KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICsxNTA4Ly01IGluIDQgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczov L3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2lidXMvYy9hMjVmYTM3M2JjOWNiMzYzNDMwNzUx Yjk2YzQ2OTFmOTEyNzlhOTM5P2JyYW5jaD1hdXRvdG9vbAoKICAgICAgICAgICAgTG9nOgogICAg ICAgICAgICBVcGRhdGVkIGlidXMtSEVBRC5wYXRjaCBmcm9tIHVwc3RyZWFtCgpBZGRlZCBTd2Vk aXNoIHN2ZHZvcmFrCkkxOE4gZW5naW5lIGxvbmduYW1lcyBhbmQgZGVzY3JpcHRpb25zIG9uIGli dXMtc2V0dXAKTW92ZWQgUHJvcGVydHlQYW5lbCBhdCBib3R0b20gcmlnaHQgaW4gS0RFNQpEcmV3 IGdyYXkgY29sb3Igb24gSGFuZGxlIFByb3BlcnR5UGFuZWwKRW5hYmxlZCBpYnVzIGVuZ2luZSBm dWxsIHBhdGggaWNvbiBpbiBLREU1ClVwZGF0ZWQgdHJhbnNsYXRpb25zCgotLS0KZGlmZiAtLWdp dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDQ2YzQxYTcuLjMyYzUzYzUgMTAwNjQ0 Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMjcsNiArMjcsNyBAQAogL2li dXMteGtiLTEuNS4wLnRhci5negogL2lidXMteGtiLTEuNS4wLjIwMTQwMTE0LnRhci5negogL2li dXMtcG8tMS41LjktMjAxNDEwMDEudGFyLmd6CisvaWJ1cy1wby0xLjUuMTAtMjAxNTA0MDIudGFy Lmd6CiBpYnVzLTEuMy42LnRhci5negogL2lidXMtMS4zLjcudGFyLmd6CiAvaWJ1cy0xLjMuOC50 YXIuZ3oKCmRpZmYgLS1naXQgYS9pYnVzLUhFQUQucGF0Y2ggYi9pYnVzLUhFQUQucGF0Y2gKaW5k ZXggOGIxMzc4OS4uNTU3YjkxNyAxMDA2NDQKLS0tIGEvaWJ1cy1IRUFELnBhdGNoCisrKyBiL2li dXMtSEVBRC5wYXRjaApAQCAtMSArMSwxNDg1IEBACitGcm9tIDQ5ZWU1NGY4MzQ3MTU0MjQ0N2Ux MTIxYmUxNWMyN2ZmNWQ4NjYwMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDb2xp biBXYWx0ZXJzIDx3YWx0ZXJzQHZlcmJ1bS5vcmc+CitEYXRlOiBGcmksIDI3IEZlYiAyMDE1IDEx OjMyOjQxICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRjb25mOiBXb3JrIGFyb3VuZCB1c2luZyBk YnVzIGRldmVsb3BtZW50IGJ1aWxkcyBhbmQKKyAvZXRjL21hY2hpbmUtaWQKKworUmVjZW50IERC dXMgY2hhbmdlZCB0aGUgd2F5IGl0IHJlYWRzIC9ldGMvbWFjaGluZS1pZCB0byBiZSBtb3JlCitz dHJpY3QsIGFuZCBpdCB0dXJucyBvdXQgdGhhdCB0aGlzIGJyZWFrcyB0aGUgdXNlIG9mIGRidXMt bGF1bmNoIGhlcmUuCisKK1RoZSAqY29ycmVjdCogZml4IGlzIHRvIHVzZSBgZGJ1cy1ydW4tc2Vz c2lvbmAsIGJ1dCBub3QgZXZlcnlvbmUgaGFzCit0aGF0IHlldC4gIFRoaXMgaXMgYSBxdWljayBo YWNrIHRoYXQga2VlcHMgdGhlIGJ1aWxkIGdvaW5nLgorCitCVUc9aHR0cHM6Ly9naXRodWIuY29t L2lidXMvaWJ1cy9wdWxsLzE2CitURVNUPWRhdGEvZGNvbmYvMDAtdXBzdHJlYW0tc2V0dGluZ3MK KworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzIwOTgxMDA0Mwor UGF0Y2ggZnJvbSBDb2xpbiBXYWx0ZXJzIDx3YWx0ZXJzQHZlcmJ1bS5vcmc+LgorLS0tCisgZGF0 YS9kY29uZi9tYWtlLWRjb25mLW92ZXJyaWRlLWRiLnNoIHwgNCArKysrCisgMSBmaWxlIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9kY29uZi9tYWtlLWRjb25m LW92ZXJyaWRlLWRiLnNoIGIvZGF0YS9kY29uZi9tYWtlLWRjb25mLW92ZXJyaWRlLWRiLnNoCitp bmRleCA0OWE2ZGY5Li45YzY1MGU5IDEwMDc1NQorLS0tIGEvZGF0YS9kY29uZi9tYWtlLWRjb25m LW92ZXJyaWRlLWRiLnNoCisrKysgYi9kYXRhL2Rjb25mL21ha2UtZGNvbmYtb3ZlcnJpZGUtZGIu c2gKK0BAIC0yLDYgKzIsMTAgQEAKKyAKKyBzZXQgLWUKKyAKKysjIGdub21lLWNvbnRpbnVvdXMg ZG9lc24ndCBoYXZlIGEgbWFjaGluZS1pZCBzZXQsIHdoaWNoCisrIyBicmVha3MgZGJ1cy1sYXVu Y2guICBUaGVyZSdzIGRidXMtcnVuLXNlc3Npb24gd2hpY2ggaXMKKysjIGJldHRlciwgYnV0IG5v dCBldmVyeW9uZSBoYXMgaXQgeWV0LgorK2V4cG9ydCBEQlVTX0ZBVEFMX1dBUk5JTkdTPTAKKyBl eHBvcnQgVE1QRElSPSQobWt0ZW1wIC1kIC0tdG1wZGlyPSIkUFdEIikKKyBleHBvcnQgWERHX0NP TkZJR19IT01FPSIkVE1QRElSL2NvbmZpZyIKKyBleHBvcnQgWERHX0NBQ0hFX0hPTUU9IiRUTVBE SVIvY2FjaGUiCistLSAKKzIuMS4wCisKK0Zyb20gMGJhNjQ1Mjc0MGVjNmU3NjM0NGFmYWEyYTk4 ODc1NjZkMGI2MmE0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBlbmcgV3UgPGFs ZXhlcGljb0BnbWFpbC5jb20+CitEYXRlOiBNb24sIDkgTWFyIDIwMTUgMTM6MzY6NTggKzA5MDAK K1N1YmplY3Q6IFtQQVRDSF0gQWRkIGlidXNfa2V5dmFsX2NvbnZlcnRfY2FzZSBhbmQKKyBpYnVz X2tleXZhbF90b191cHBlci9sb3dlciBtZXRob2RzCisKK0luIHNvbWUgaW5wdXQgbWV0aG9kIHNl dHVwIGRpYWxvZywgY3VzdG9taXphdGlvbiBvZiBzaG9ydGN1dCBrZXlzIGFyZSBzdXBwb3J0ZWQu IEJ1dCBpbiBweXRob24gR3RrKywgd2hlbiBncmFiIHRoZSBzaG9ydGN1dCBrZXksIHRoZSBnZGtf a2V5dmFsX3RvX2xvd2VyIG1ldGhvZCB3aWxsIGJlIHVzZWQuCisKK1RoaXMgcGF0Y2ggYWRkcyBp YnVzX2tleXZhbF9jb252ZXJ0X2Nhc2UgYW5kIGlidXNfa2V5dmFsX3RvX3VwcGVyL2xvd2VyIG1l dGhvZHMsIHNvIGlidXMtbGlicGlueWluIGNhbiBkcm9wIHRoZSBHZGsgMy54IEMrKyBkZXBlbmRl bmN5LgorCitCVUc9aHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9pYnVzL2lzc3Vlcy9kZXRhaWw/ aWQ9MTc2NgorVEVTVD0KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3Qu Y29tLzIxMzc2MDA0MworUGF0Y2ggZnJvbSBQZW5nIFd1IDxhbGV4ZXBpY29AZ21haWwuY29tPi4K Ky0tLQorIHNyYy9pYnVza2V5bmFtZXMuYyB8IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHNyYy9pYnVza2V5cy5oICAgICB8ICAzMyAr KysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE4MCBpbnNlcnRpb25zKCspCisKK2RpZmYg LS1naXQgYS9zcmMvaWJ1c2tleW5hbWVzLmMgYi9zcmMvaWJ1c2tleW5hbWVzLmMKK2luZGV4IDI5 MzViY2IuLmZlNzgzNmUgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2tleW5hbWVzLmMKKysrKyBiL3Ny Yy9pYnVza2V5bmFtZXMuYworQEAgLTMxLDYgKzMxLDcgQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+ CisgI2luY2x1ZGUgImlidXNrZXlzeW1zLmgiCisgI2luY2x1ZGUgImtleW5hbWUtdGFibGUuaCIK KysjaW5jbHVkZSAiaWJ1c2tleXMuaCIKKyAKKyAjZGVmaW5lIElCVVNfTlVNX0tFWVMgR19OX0VM RU1FTlRTIChnZGtfa2V5c19ieV9rZXl2YWwpCisgCitAQCAtMTk2LDMgKzE5NywxNDkgQEAgX291 dDoKKyAgICAgcmV0dXJuIHJldHZhbDsKKyB9CisgCisrZ3VpbnQKKytpYnVzX2tleXZhbF90b191 cHBlciAoZ3VpbnQga2V5dmFsKQorK3sKKysgIGd1aW50IHJlc3VsdDsKKysKKysgIGlidXNfa2V5 dmFsX2NvbnZlcnRfY2FzZSAoa2V5dmFsLCBOVUxMLCAmcmVzdWx0KTsKKysKKysgIHJldHVybiBy ZXN1bHQ7CisrfQorKworK2d1aW50CisraWJ1c19rZXl2YWxfdG9fbG93ZXIgKGd1aW50IGtleXZh bCkKKyt7CisrICBndWludCByZXN1bHQ7CisrCisrICBpYnVzX2tleXZhbF9jb252ZXJ0X2Nhc2Ug KGtleXZhbCwgJnJlc3VsdCwgTlVMTCk7CisrCisrICByZXR1cm4gcmVzdWx0OworK30KKysKKyt2 b2lkCisraWJ1c19rZXl2YWxfY29udmVydF9jYXNlIChndWludCBzeW1ib2wsCisrICAgICAgICAg ICAgICAgICAgICAgICAgIGd1aW50ICpsb3dlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAg Z3VpbnQgKnVwcGVyKQorK3sKKysgIGd1aW50IHhsb3dlciwgeHVwcGVyOworKworKyAgeGxvd2Vy ID0gc3ltYm9sOworKyAgeHVwcGVyID0gc3ltYm9sOworKworKyAgLyogQ2hlY2sgZm9yIGRpcmVj dGx5IGVuY29kZWQgMjQtYml0IFVDUyBjaGFyYWN0ZXJzOiAqLworKyAgaWYgKChzeW1ib2wgJiAw eGZmMDAwMDAwKSA9PSAweDAxMDAwMDAwKQorKyAgICB7CisrICAgICAgaWYgKGxvd2VyKQorKyAg ICAgICAgKmxvd2VyID0gaWJ1c191bmljb2RlX3RvX2tleXZhbCAoZ191bmljaGFyX3RvbG93ZXIg KHN5bWJvbCAmIDB4MDBmZmZmZmYpKTsKKysgICAgICBpZiAodXBwZXIpCisrICAgICAgICAqdXBw ZXIgPSBpYnVzX3VuaWNvZGVfdG9fa2V5dmFsIChnX3VuaWNoYXJfdG91cHBlciAoc3ltYm9sICYg MHgwMGZmZmZmZikpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworKyAgc3dpdGNoIChzeW1i b2wgPj4gOCkKKysgICAgeworKyAgICBjYXNlIDA6IC8qIExhdGluIDEgKi8KKysgICAgICBpZiAo KHN5bWJvbCA+PSBJQlVTX0tFWV9BKSAmJiAoc3ltYm9sIDw9IElCVVNfS0VZX1opKQorKyAgICAg ICAgeGxvd2VyICs9IChJQlVTX0tFWV9hIC0gSUJVU19LRVlfQSk7CisrICAgICAgZWxzZSBpZiAo KHN5bWJvbCA+PSBJQlVTX0tFWV9hKSAmJiAoc3ltYm9sIDw9IElCVVNfS0VZX3opKQorKyAgICAg ICAgeHVwcGVyIC09IChJQlVTX0tFWV9hIC0gSUJVU19LRVlfQSk7CisrICAgICAgZWxzZSBpZiAo KHN5bWJvbCA+PSBJQlVTX0tFWV9BZ3JhdmUpICYmIChzeW1ib2wgPD0gSUJVU19LRVlfT2RpYWVy ZXNpcykpCisrICAgICAgICB4bG93ZXIgKz0gKElCVVNfS0VZX2FncmF2ZSAtIElCVVNfS0VZX0Fn cmF2ZSk7CisrICAgICAgZWxzZSBpZiAoKHN5bWJvbCA+PSBJQlVTX0tFWV9hZ3JhdmUpICYmIChz eW1ib2wgPD0gSUJVU19LRVlfb2RpYWVyZXNpcykpCisrICAgICAgICB4dXBwZXIgLT0gKElCVVNf S0VZX2FncmF2ZSAtIElCVVNfS0VZX0FncmF2ZSk7CisrICAgICAgZWxzZSBpZiAoKHN5bWJvbCA+ PSBJQlVTX0tFWV9Pb2JsaXF1ZSkgJiYgKHN5bWJvbCA8PSBJQlVTX0tFWV9UaG9ybikpCisrICAg ICAgICB4bG93ZXIgKz0gKElCVVNfS0VZX29zbGFzaCAtIElCVVNfS0VZX09vYmxpcXVlKTsKKysg ICAgICBlbHNlIGlmICgoc3ltYm9sID49IElCVVNfS0VZX29zbGFzaCkgJiYgKHN5bWJvbCA8PSBJ QlVTX0tFWV90aG9ybikpCisrICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX29zbGFzaCAtIElC VVNfS0VZX09vYmxpcXVlKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSAxOiAvKiBMYXRp biAyICovCisrICAgICAgLyogQXNzdW1lIHRoZSBLZXlTeW0gaXMgYSBsZWdhbCB2YWx1ZSAoaWdu b3JlIGRpc2NvbnRpbnVpdGllcykgKi8KKysgICAgICBpZiAoc3ltYm9sID09IElCVVNfS0VZX0Fv Z29uZWspCisrICAgICAgICB4bG93ZXIgPSBJQlVTX0tFWV9hb2dvbmVrOworKyAgICAgIGVsc2Ug aWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9Mc3Ryb2tlICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9TYWN1 dGUpCisrICAgICAgICB4bG93ZXIgKz0gKElCVVNfS0VZX2xzdHJva2UgLSBJQlVTX0tFWV9Mc3Ry b2tlKTsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfU2Nhcm9uICYmIHN5bWJv bCA8PSBJQlVTX0tFWV9aYWN1dGUpCisrICAgICAgICB4bG93ZXIgKz0gKElCVVNfS0VZX3NjYXJv biAtIElCVVNfS0VZX1NjYXJvbik7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZ X1pjYXJvbiAmJiBzeW1ib2wgPD0gSUJVU19LRVlfWmFib3ZlZG90KQorKyAgICAgICAgeGxvd2Vy ICs9IChJQlVTX0tFWV96Y2Fyb24gLSBJQlVTX0tFWV9aY2Fyb24pOworKyAgICAgIGVsc2UgaWYg KHN5bWJvbCA9PSBJQlVTX0tFWV9hb2dvbmVrKQorKyAgICAgICAgeHVwcGVyID0gSUJVU19LRVlf QW9nb25lazsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfbHN0cm9rZSAmJiBz eW1ib2wgPD0gSUJVU19LRVlfc2FjdXRlKQorKyAgICAgICAgeHVwcGVyIC09IChJQlVTX0tFWV9s c3Ryb2tlIC0gSUJVU19LRVlfTHN0cm9rZSk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElC VVNfS0VZX3NjYXJvbiAmJiBzeW1ib2wgPD0gSUJVU19LRVlfemFjdXRlKQorKyAgICAgICAgeHVw cGVyIC09IChJQlVTX0tFWV9zY2Fyb24gLSBJQlVTX0tFWV9TY2Fyb24pOworKyAgICAgIGVsc2Ug aWYgKHN5bWJvbCA+PSBJQlVTX0tFWV96Y2Fyb24gJiYgc3ltYm9sIDw9IElCVVNfS0VZX3phYm92 ZWRvdCkKKysgICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfemNhcm9uIC0gSUJVU19LRVlfWmNh cm9uKTsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfUmFjdXRlICYmIHN5bWJv bCA8PSBJQlVTX0tFWV9UY2VkaWxsYSkKKysgICAgICAgIHhsb3dlciArPSAoSUJVU19LRVlfcmFj dXRlIC0gSUJVU19LRVlfUmFjdXRlKTsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19L RVlfcmFjdXRlICYmIHN5bWJvbCA8PSBJQlVTX0tFWV90Y2VkaWxsYSkKKysgICAgICAgIHh1cHBl ciAtPSAoSUJVU19LRVlfcmFjdXRlIC0gSUJVU19LRVlfUmFjdXRlKTsKKysgICAgICBicmVhazsK KysKKysgICAgY2FzZSAyOiAvKiBMYXRpbiAzICovCisrICAgICAgLyogQXNzdW1lIHRoZSBLZXlT eW0gaXMgYSBsZWdhbCB2YWx1ZSAoaWdub3JlIGRpc2NvbnRpbnVpdGllcykgKi8KKysgICAgICBp ZiAoc3ltYm9sID49IElCVVNfS0VZX0hzdHJva2UgJiYgc3ltYm9sIDw9IElCVVNfS0VZX0hjaXJj dW1mbGV4KQorKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9oc3Ryb2tlIC0gSUJVU19LRVlf SHN0cm9rZSk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX0dicmV2ZSAmJiBz eW1ib2wgPD0gSUJVU19LRVlfSmNpcmN1bWZsZXgpCisrICAgICAgICB4bG93ZXIgKz0gKElCVVNf S0VZX2dicmV2ZSAtIElCVVNfS0VZX0dicmV2ZSk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49 IElCVVNfS0VZX2hzdHJva2UgJiYgc3ltYm9sIDw9IElCVVNfS0VZX2hjaXJjdW1mbGV4KQorKyAg ICAgICAgeHVwcGVyIC09IChJQlVTX0tFWV9oc3Ryb2tlIC0gSUJVU19LRVlfSHN0cm9rZSk7Cisr ICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX2dicmV2ZSAmJiBzeW1ib2wgPD0gSUJV U19LRVlfamNpcmN1bWZsZXgpCisrICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX2dicmV2ZSAt IElCVVNfS0VZX0dicmV2ZSk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX0Nh Ym92ZWRvdCAmJiBzeW1ib2wgPD0gSUJVU19LRVlfU2NpcmN1bWZsZXgpCisrICAgICAgICB4bG93 ZXIgKz0gKElCVVNfS0VZX2NhYm92ZWRvdCAtIElCVVNfS0VZX0NhYm92ZWRvdCk7CisrICAgICAg ZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX2NhYm92ZWRvdCAmJiBzeW1ib2wgPD0gSUJVU19L RVlfc2NpcmN1bWZsZXgpCisrICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX2NhYm92ZWRvdCAt IElCVVNfS0VZX0NhYm92ZWRvdCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgMzogLyog TGF0aW4gNCAqLworKyAgICAgIC8qIEFzc3VtZSB0aGUgS2V5U3ltIGlzIGEgbGVnYWwgdmFsdWUg KGlnbm9yZSBkaXNjb250aW51aXRpZXMpICovCisrICAgICAgaWYgKHN5bWJvbCA+PSBJQlVTX0tF WV9SY2VkaWxsYSAmJiBzeW1ib2wgPD0gSUJVU19LRVlfVHNsYXNoKQorKyAgICAgICAgeGxvd2Vy ICs9IChJQlVTX0tFWV9yY2VkaWxsYSAtIElCVVNfS0VZX1JjZWRpbGxhKTsKKysgICAgICBlbHNl IGlmIChzeW1ib2wgPj0gSUJVU19LRVlfcmNlZGlsbGEgJiYgc3ltYm9sIDw9IElCVVNfS0VZX3Rz bGFzaCkKKysgICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfcmNlZGlsbGEgLSBJQlVTX0tFWV9S Y2VkaWxsYSk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID09IElCVVNfS0VZX0VORykKKysgICAg ICAgIHhsb3dlciA9IElCVVNfS0VZX2VuZzsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPT0gSUJV U19LRVlfZW5nKQorKyAgICAgICAgeHVwcGVyID0gSUJVU19LRVlfRU5HOworKyAgICAgIGVsc2Ug aWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9BbWFjcm9uICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9VbWFj cm9uKQorKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9hbWFjcm9uIC0gSUJVU19LRVlfQW1h Y3Jvbik7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX2FtYWNyb24gJiYgc3lt Ym9sIDw9IElCVVNfS0VZX3VtYWNyb24pCisrICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX2Ft YWNyb24gLSBJQlVTX0tFWV9BbWFjcm9uKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSA2 OiAvKiBDeXJpbGxpYyAqLworKyAgICAgIC8qIEFzc3VtZSB0aGUgS2V5U3ltIGlzIGEgbGVnYWwg dmFsdWUgKGlnbm9yZSBkaXNjb250aW51aXRpZXMpICovCisrICAgICAgaWYgKHN5bWJvbCA+PSBJ QlVTX0tFWV9TZXJiaWFuX0RKRSAmJiBzeW1ib2wgPD0gSUJVU19LRVlfU2VyYmlhbl9EWkUpCisr ICAgICAgICB4bG93ZXIgLT0gKElCVVNfS0VZX1NlcmJpYW5fREpFIC0gSUJVU19LRVlfU2VyYmlh bl9kamUpOworKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9TZXJiaWFuX2RqZSAm JiBzeW1ib2wgPD0gSUJVU19LRVlfU2VyYmlhbl9kemUpCisrICAgICAgICB4dXBwZXIgKz0gKElC VVNfS0VZX1NlcmJpYW5fREpFIC0gSUJVU19LRVlfU2VyYmlhbl9kamUpOworKyAgICAgIGVsc2Ug aWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9DeXJpbGxpY19ZVSAmJiBzeW1ib2wgPD0gSUJVU19LRVlf Q3lyaWxsaWNfSEFSRFNJR04pCisrICAgICAgICB4bG93ZXIgLT0gKElCVVNfS0VZX0N5cmlsbGlj X1lVIC0gSUJVU19LRVlfQ3lyaWxsaWNfeXUpOworKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJ QlVTX0tFWV9DeXJpbGxpY195dSAmJiBzeW1ib2wgPD0gSUJVU19LRVlfQ3lyaWxsaWNfaGFyZHNp Z24pCisrICAgICAgICB4dXBwZXIgKz0gKElCVVNfS0VZX0N5cmlsbGljX1lVIC0gSUJVU19LRVlf Q3lyaWxsaWNfeXUpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIDc6IC8qIEdyZWVrICov CisrICAgICAgLyogQXNzdW1lIHRoZSBLZXlTeW0gaXMgYSBsZWdhbCB2YWx1ZSAoaWdub3JlIGRp c2NvbnRpbnVpdGllcykgKi8KKysgICAgICBpZiAoc3ltYm9sID49IElCVVNfS0VZX0dyZWVrX0FM UEhBYWNjZW50ICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9HcmVla19PTUVHQWFjY2VudCkKKysgICAg ICAgIHhsb3dlciArPSAoSUJVU19LRVlfR3JlZWtfYWxwaGFhY2NlbnQgLSBJQlVTX0tFWV9HcmVl a19BTFBIQWFjY2VudCk7CisrICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX0dyZWVr X2FscGhhYWNjZW50ICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9HcmVla19vbWVnYWFjY2VudCAmJgor KyAgICAgICAgICAgICAgIHN5bWJvbCAhPSBJQlVTX0tFWV9HcmVla19pb3RhYWNjZW50ZGllcmVz aXMgJiYKKysgICAgICAgICAgICAgICBzeW1ib2wgIT0gSUJVU19LRVlfR3JlZWtfdXBzaWxvbmFj Y2VudGRpZXJlc2lzKQorKyAgICAgICAgeHVwcGVyIC09IChJQlVTX0tFWV9HcmVla19hbHBoYWFj Y2VudCAtIElCVVNfS0VZX0dyZWVrX0FMUEhBYWNjZW50KTsKKysgICAgICBlbHNlIGlmIChzeW1i b2wgPj0gSUJVU19LRVlfR3JlZWtfQUxQSEEgJiYgc3ltYm9sIDw9IElCVVNfS0VZX0dyZWVrX09N RUdBKQorKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9HcmVla19hbHBoYSAtIElCVVNfS0VZ X0dyZWVrX0FMUEhBKTsKKysgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfR3JlZWtf YWxwaGEgJiYgc3ltYm9sIDw9IElCVVNfS0VZX0dyZWVrX29tZWdhICYmCisrICAgICAgICAgICAg ICAgc3ltYm9sICE9IElCVVNfS0VZX0dyZWVrX2ZpbmFsc21hbGxzaWdtYSkKKysgICAgICAgIHh1 cHBlciAtPSAoSUJVU19LRVlfR3JlZWtfYWxwaGEgLSBJQlVTX0tFWV9HcmVla19BTFBIQSk7Cisr ICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgIGlmIChsb3dlcikKKysgICAgKmxvd2VyID0geGxv d2VyOworKyAgaWYgKHVwcGVyKQorKyAgICAqdXBwZXIgPSB4dXBwZXI7CisrfQorZGlmZiAtLWdp dCBhL3NyYy9pYnVza2V5cy5oIGIvc3JjL2lidXNrZXlzLmgKK2luZGV4IDc5Njk5MjkuLjZhZDBh OTAgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2tleXMuaAorKysrIGIvc3JjL2lidXNrZXlzLmgKK0BA IC03NCw1ICs3NCwzOCBAQCBndWludCAgICAgICAgICAgIGlidXNfdW5pY29kZV90b19rZXl2YWwg KGd1bmljaGFyICAgICAgICB3Yyk7CisgICoqLworIGd1bmljaGFyICAgICAgICAgaWJ1c19rZXl2 YWxfdG9fdW5pY29kZSAoZ3VpbnQgICAgICAgICAgIGtleXZhbCk7CisgCisrLyoqCisrICogaWJ1 c19rZXl2YWxfdG9fdXBwZXI6CisrICogQGtleXZhbDogYSBrZXkgdmFsdWUuCisrICoKKysgKiBD b252ZXJ0cyBhIGtleSB2YWx1ZSB0byB1cHBlciBjYXNlLCBpZiBhcHBsaWNhYmxlLgorKyAqCisr ICogUmV0dXJuczogdGhlIHVwcGVyIGNhc2UgZm9ybSBvZiBAa2V5dmFsLCBvciBAa2V5dmFsIGl0 c2VsZiBpZiBpdCBpcyBhbHJlYWR5CisrICogICBpbiB1cHBlciBjYXNlIG9yIGl0IGlzIG5vdCBz dWJqZWN0IHRvIGNhc2UgY29udmVyc2lvbi4KKysgKi8KKytndWludCAgICAgICAgICAgIGlidXNf a2V5dmFsX3RvX3VwcGVyIChndWludCBrZXl2YWwpOworKworKy8qKgorKyAqIGlidXNfa2V5dmFs X3RvX2xvd2VyOgorKyAqIEBrZXl2YWw6IGEga2V5IHZhbHVlLgorKyAqCisrICogQ29udmVydHMg YSBrZXkgdmFsdWUgdG8gbG93ZXIgY2FzZSwgaWYgYXBwbGljYWJsZS4KKysgKgorKyAqIFJldHVy bnM6IHRoZSBsb3dlciBjYXNlIGZvcm0gb2YgQGtleXZhbCwgb3IgQGtleXZhbCBpdHNlbGYgaWYg aXQgaXMgYWxyZWFkeQorKyAqICBpbiBsb3dlciBjYXNlIG9yIGl0IGlzIG5vdCBzdWJqZWN0IHRv IGNhc2UgY29udmVyc2lvbi4KKysgKi8KKytndWludCAgICAgICAgICAgIGlidXNfa2V5dmFsX3Rv X2xvd2VyIChndWludCBrZXl2YWwpOworKworKy8qKgorKyAqIGlidXNfa2V5dmFsX2NvbnZlcnRf Y2FzZToKKysgKiBAc3ltYm9sOiBhIGtleXZhbAorKyAqIEBsb3dlcjogKG91dCk6IHJldHVybiBs b2NhdGlvbiBmb3IgbG93ZXJjYXNlIHZlcnNpb24gb2YgQHN5bWJvbAorKyAqIEB1cHBlcjogKG91 dCk6IHJldHVybiBsb2NhdGlvbiBmb3IgdXBwZXJjYXNlIHZlcnNpb24gb2YgQHN5bWJvbAorKyAq CisrICogT2J0YWlucyB0aGUgdXBwZXItIGFuZCBsb3dlci1jYXNlIHZlcnNpb25zIG9mIHRoZSBr ZXl2YWwgQHN5bWJvbC4KKysgKiBFeGFtcGxlcyBvZiBrZXl2YWxzIGFyZSAjSUJVU19LRVlfYSwg I0lCVVNfS0VZX0VudGVyLCAjSUJVU19LRVlfRjEsIGV0Yy4KKysgKi8KKyt2b2lkIGlidXNfa2V5 dmFsX2NvbnZlcnRfY2FzZSAoZ3VpbnQgc3ltYm9sLCBndWludCAqbG93ZXIsIGd1aW50ICp1cHBl cik7CisrCisgR19FTkRfREVDTFMKKyAjZW5kaWYgLy8gX19JQlVTX0tFWVNfSF8KKy0tIAorMi4x LjAKKworRnJvbSBmMzJlOThmZGFjZjUwYWY3MGZlMWUzMTk4NDYzZmM3NWQ5ZWFkNzI3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxiZXJ0IFZlbGkgPGFsYmVydC52ZWxpQGdtYWls LmNvbT4KK0RhdGU6IFRodSwgMTIgTWFyIDIwMTUgMTI6MTI6MjIgKzA5MDAKK1N1YmplY3Q6IFtQ QVRDSF0gQWRkIFN3ZWRpc2ggc3Zkdm9yYWsgaW4gc2ltcGxlLnhtbAorCitURVNUPWVuZ2luZS9z aW1wbGUueG1sCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8y MTU3MzAwNDMKK1BhdGNoIGZyb20gQWxiZXJ0IFZlbGkgPGFsYmVydC52ZWxpQGdtYWlsLmNvbT4u CistLS0KKyBlbmdpbmUvc2ltcGxlLnhtbC5pbiB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBj aGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9lbmdpbmUvc2ltcGxlLnht bC5pbiBiL2VuZ2luZS9zaW1wbGUueG1sLmluCitpbmRleCBjMTZmODZhLi45M2RlMTRhIDEwMDY0 NAorLS0tIGEvZW5naW5lL3NpbXBsZS54bWwuaW4KKysrKyBiL2VuZ2luZS9zaW1wbGUueG1sLmlu CitAQCAtNjI1LDYgKzYyNSwxOCBAQAorICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+CisgCQkJPHJhbms+OTk8L3Jhbms+CisgCQk8L2VuZ2luZT4KKysg ICAgICAgICAgICAgICAgPGVuZ2luZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT54 a2I6c2U6c3Zkdm9yYWs6c3dlPC9uYW1lPgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxsYW5n dWFnZT5zd2U8L2xhbmd1YWdlPgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBlbmcgSHVhbmcg Jmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorKyAgICAgICAgICAgICAg ICAgICAgICAgIDxsYXlvdXQ+c2U8L2xheW91dD4KKysgICAgICAgICAgICAgICAgICAgICAgICA8 bGF5b3V0X3ZhcmlhbnQ+c3Zkdm9yYWs8L2xheW91dF92YXJpYW50PgorKyAgICAgICAgICAgICAg ICAgICAgICAgIDxsb25nbmFtZT5Td2VkaXNoIChTdmR2b3Jhayk8L2xvbmduYW1lPgorKyAgICAg ICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2VkaXNoIChTdmR2b3Jhayk8L2Rlc2Ny aXB0aW9uPgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+OTk8L3Jhbms+CisrICAgICAgICAg ICAgICAgIDwvZW5naW5lPgorIAkJPGVuZ2luZT4KKyAJCQk8bmFtZT54a2I6Y2g6OmdlcjwvbmFt ZT4KKyAJCQk8bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4KKy0tIAorMi4xLjAKKworRnJvbSA0YTRi ZDVmZDBjYWM2M2I3MzQ2NDAzOTg5NmRmMTIzZWZkMzcyZDRhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTog V2VkLCAxOCBNYXIgMjAxNSAxMzo0NzowNyArMDkwMAorU3ViamVjdDogW1BBVENIXSBDaGFuZ2Ug cmFua3MgZm9yIG1pbm9yIGtleW1hcHMgaW4gc2ltcGxlLnhtbAorCitURVNUPWVuZ2luZS9zaW1w bGUueG1sCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8yMTc5 MDAwNDMKKy0tLQorIGVuZ2luZS9zaW1wbGUueG1sLmluIHwgNTAgKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjUgaW5z ZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9lbmdpbmUvc2ltcGxl LnhtbC5pbiBiL2VuZ2luZS9zaW1wbGUueG1sLmluCitpbmRleCA5M2RlMTRhLi41ZjA0ZjhiIDEw MDY0NAorLS0tIGEvZW5naW5lL3NpbXBsZS54bWwuaW4KKysrKyBiL2VuZ2luZS9zaW1wbGUueG1s LmluCitAQCAtMzAsNyArMzAsNyBAQAorIAkJCTxsb25nbmFtZT5FbmdsaXNoIChVUywgaW50ZXJu YXRpb25hbCB3aXRoIGRlYWQga2V5cyk8L2xvbmduYW1lPgorIAkJCTxkZXNjcmlwdGlvbj5Fbmds aXNoIChVUywgaW50ZXJuYXRpb25hbCB3aXRoIGRlYWQga2V5cyk8L2Rlc2NyaXB0aW9uPgorICAg ICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJh bms+OTk8L3Jhbms+CisrCQkJPHJhbms+MTwvcmFuaz4KKyAJCTwvZW5naW5lPgorIAkJPGVuZ2lu ZT4KKyAJCQk8bmFtZT54a2I6dXM6Y29sZW1hazplbmc8L25hbWU+CitAQCAtNDIsNyArNDIsNyBA QAorIAkJCTxsb25nbmFtZT5FbmdsaXNoIChDb2xlbWFrKTwvbG9uZ25hbWU+CisgCQkJPGRlc2Ny aXB0aW9uPkVuZ2xpc2ggKENvbGVtYWspPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAg ICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgor KwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8L2VuZ2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+ eGtiOnVzOmR2b3Jhazplbmc8L25hbWU+CitAQCAtNTQsNyArNTQsNyBAQAorIAkJCTxsb25nbmFt ZT5FbmdsaXNoIChEdm9yYWspPC9sb25nbmFtZT4KKyAJCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAo RHZvcmFrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1 cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKysJCQk8cmFuaz4xPC9yYW5r PgorIAkJPC9lbmdpbmU+CisgCQk8ZW5naW5lPgorIAkJCTxuYW1lPnhrYjp1czphbHRnci1pbnRs OmVuZzwvbmFtZT4KK0BAIC02Niw3ICs2Niw3IEBACisgCQkJPGxvbmduYW1lPkVuZ2xpc2ggKGlu dGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvbG9uZ25hbWU+CisgCQkJPGRlc2NyaXB0aW9u PkVuZ2xpc2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvZGVzY3JpcHRpb24+Cisg ICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8 cmFuaz45OTwvcmFuaz4KKysJCQk8cmFuaz4xPC9yYW5rPgorIAkJPC9lbmdpbmU+CisgCQk8ZW5n aW5lPgorIAkJCTxuYW1lPnhrYjphcmE6OmFyYTwvbmFtZT4KK0BAIC04OCw3ICs4OCw3IEBACisg CQkJPGxvbmduYW1lPkJlbGdpYW48L2xvbmduYW1lPgorIAkJCTxkZXNjcmlwdGlvbj5CZWxnaWFu PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJv YXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8 L2VuZ2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+eGtiOmJlOjpubGQ8L25hbWU+CitAQCAt MTEwLDcgKzExMCw3IEBACisgCQkJPGxvbmduYW1lPkJlbGdpYW48L2xvbmduYW1lPgorIAkJCTxk ZXNjcmlwdGlvbj5CZWxnaWFuPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAg ICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxy YW5rPjE8L3Jhbms+CisgCQk8L2VuZ2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+eGtiOmJy Ojpwb3I8L25hbWU+CitAQCAtMTMzLDcgKzEzMyw3IEBACisgCQkJPGxvbmduYW1lPlBvcnR1Z3Vl c2UgKEJyYXppbCwgRHZvcmFrKTwvbG9uZ25hbWU+CisgCQkJPGRlc2NyaXB0aW9uPlBvcnR1Z3Vl c2UgKEJyYXppbCwgRHZvcmFrKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKysJCQk8 cmFuaz4xPC9yYW5rPgorIAkJPC9lbmdpbmU+CisgCQk8ZW5naW5lPgorIAkJCTxuYW1lPnhrYjpi Zzo6YnVsPC9uYW1lPgorQEAgLTE2Nyw3ICsxNjcsNyBAQAorIAkJCTxsb25nbmFtZT5GcmVuY2gg KENhbmFkYSk8L2xvbmduYW1lPgorIAkJCTxkZXNjcmlwdGlvbj5GcmVuY2ggKENhbmFkYSk8L2Rl c2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8 L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CisrCQkJPHJhbms+MTwvcmFuaz4KKyAJCTwvZW5n aW5lPgorIAkJPGVuZ2luZT4KKyAJCQk8bmFtZT54a2I6Y2E6ZW5nOmVuZzwvbmFtZT4KK0BAIC0x NzksNyArMTc5LDcgQEAKKyAJCQk8bG9uZ25hbWU+RW5nbGlzaCAoQ2FuYWRhKTwvbG9uZ25hbWU+ CisgCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKENhbmFkYSk8L2Rlc2NyaXB0aW9uPgorICAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+ OTk8L3Jhbms+CisrCQkJPHJhbms+MTwvcmFuaz4KKyAJCTwvZW5naW5lPgorIAkJPGVuZ2luZT4K KyAJCQk8bmFtZT54a2I6aHI6OnNjcjwvbmFtZT4KK0BAIC0yNjksNyArMjY5LDcgQEAKKyAgICAg ICAgICAgICAgICAgICAgICAgICA8bG9uZ25hbWU+RnJlbmNoIChhbHRlcm5hdGl2ZSk8L2xvbmdu YW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmVuY2ggKGFsdGVy bmF0aXZlKTwvZGVzY3JpcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1 cy1rZXlib2FyZDwvaWNvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8cmFuaz45OTwvcmFu az4KKysgICAgICAgICAgICAgICAgICAgICAgICA8cmFuaz4xPC9yYW5rPgorICAgICAgICAgICAg ICAgICA8L2VuZ2luZT4KKyAgICAgICAgICAgICAgICAgPGVuZ2luZT4KKyAgICAgICAgICAgICAg ICAgICAgICAgICA8bmFtZT54a2I6ZnI6YmVwbzpmcmE8L25hbWU+CitAQCAtMjgxLDcgKzI4MSw3 IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgPGxvbmduYW1lPkZyZW5jaCAoQmVwbywgZXJn b25vbWljLCBEdm9yYWsgd2F5KTwvbG9uZ25hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICAg PGRlc2NyaXB0aW9uPkZyZW5jaCAoQmVwbywgZXJnb25vbWljLCBEdm9yYWsgd2F5KTwvZGVzY3Jp cHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8cmFuaz45OTwvcmFuaz4KKysgICAgICAgICAg ICAgICAgICAgICAgICA8cmFuaz4xPC9yYW5rPgorICAgICAgICAgICAgICAgICA8L2VuZ2luZT4K KyAgICAgICAgICAgICAgICAgPGVuZ2luZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8bmFt ZT54a2I6ZnI6ZHZvcmFrOmZyYTwvbmFtZT4KK0BAIC0zMTYsNyArMzE2LDcgQEAKKyAJCQk8bG9u Z25hbWU+R2VybWFuIChEdm9yYWspPC9sb25nbmFtZT4KKyAJCQk8ZGVzY3JpcHRpb24+R2VybWFu IChEdm9yYWspPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5p YnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jh bms+CisgCQk8L2VuZ2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+eGtiOmRlOm5lbzpnZXI8 L25hbWU+CitAQCAtMzI4LDcgKzMyOCw3IEBACisgCQkJPGxvbmduYW1lPkdlcm1hbiAoTmVvIDIp PC9sb25nbmFtZT4KKyAJCQk8ZGVzY3JpcHRpb24+R2VybWFuIChOZW8gMik8L2Rlc2NyaXB0aW9u PgorICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Cist CQkJPHJhbms+OTk8L3Jhbms+CisrCQkJPHJhbms+MTwvcmFuaz4KKyAJCTwvZW5naW5lPgorICAg ICAgICAgICAgICAgICA8ZW5naW5lPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnhr YjpkZTpub2RlYWRrZXlzOmdlcjwvbmFtZT4KK0BAIC0zNDAsNyArMzQwLDcgQEAKKyAgICAgICAg ICAgICAgICAgICAgICAgICA8bG9uZ25hbWU+R2VybWFuIChlbGltaW5hdGUgZGVhZCBrZXlzKTwv bG9uZ25hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGRlc2NyaXB0aW9uPkdlcm1hbiAo ZWxpbWluYXRlIGRlYWQga2V5cyk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICAg ICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistICAgICAgICAgICAgICAgICAgICAgICAg PHJhbms+OTk8L3Jhbms+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+MTwvcmFuaz4K KyAgICAgICAgICAgICAgICAgPC9lbmdpbmU+CisgCQk8ZW5naW5lPgorIAkJCTxuYW1lPnhrYjpn cjo6Z3JlPC9uYW1lPgorQEAgLTM5NSw3ICszOTUsNyBAQAorIAkJCTxsb25nbmFtZT5KYXBhbmVz ZTwvbG9uZ25hbWU+CisgCQkJPGRlc2NyaXB0aW9uPkphcGFuZXNlPC9kZXNjcmlwdGlvbj4KKyAg ICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxy YW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8L2VuZ2luZT4KKyAJCTxlbmdp bmU+CisgCQkJPG5hbWU+eGtiOmxhdGFtOjpzcGE8L25hbWU+CitAQCAtNDA2LDcgKzQwNiw3IEBA CisgCQkJPGxvbmduYW1lPlNwYW5pc2ggKExhdGluIEFtZXJpY2FuKTwvbG9uZ25hbWU+CisgCQkJ PGRlc2NyaXB0aW9uPlNwYW5pc2ggKExhdGluIEFtZXJpY2FuKTwvZGVzY3JpcHRpb24+CisgICAg ICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFu az45OTwvcmFuaz4KKysJCQk8cmFuaz4xPC9yYW5rPgorIAkJPC9lbmdpbmU+CisgCQk8ZW5naW5l PgorIAkJCTxuYW1lPnhrYjpsdDo6bGl0PC9uYW1lPgorQEAgLTQ1Miw3ICs0NTIsNyBAQAorIAkJ CTxsb25nbmFtZT5Ob3J3ZWdpYW4gKER2b3Jhayk8L2xvbmduYW1lPgorIAkJCTxkZXNjcmlwdGlv bj5Ob3J3ZWdpYW4gKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICAg ICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CisrCQkJ PHJhbms+MTwvcmFuaz4KKyAJCTwvZW5naW5lPgorIAkJPGVuZ2luZT4KKyAJCQk8bmFtZT54a2I6 cGw6OnBvbDwvbmFtZT4KK0BAIC00NzUsNyArNDc1LDcgQEAKKyAJCQk8bG9uZ25hbWU+UG9saXNo IChEdm9yYWspPC9sb25nbmFtZT4KKyAJCQk8ZGVzY3JpcHRpb24+UG9saXNoIChEdm9yYWspPC9k ZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8L2Vu Z2luZT4KKyAgICAgICAgICAgICAgICAgPGVuZ2luZT4KKyAgICAgICAgICAgICAgICAgICAgICAg ICA8bmFtZT54a2I6cGw6cXdlcnR6OnBvbDwvbmFtZT4KK0BAIC01MzIsNyArNTMyLDcgQEAKKyAJ CQk8bG9uZ25hbWU+UnVzc2lhbiAocGhvbmV0aWMpPC9sb25nbmFtZT4KKyAJCQk8ZGVzY3JpcHRp b24+UnVzc2lhbiAocGhvbmV0aWMpPC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAg ICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJ CTxyYW5rPjE8L3Jhbms+CisgCQk8L2VuZ2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+eGti OnJzOjpzcnA8L25hbWU+CitAQCAtNjIzLDcgKzYyMyw3IEBACisgCQkJPGxvbmduYW1lPlN3ZWRp c2ggKER2b3Jhayk8L2xvbmduYW1lPgorIAkJCTxkZXNjcmlwdGlvbj5Td2VkaXNoIChEdm9yYWsp PC9kZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJv YXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8 L2VuZ2luZT4KKyAgICAgICAgICAgICAgICAgPGVuZ2luZT4KKyAgICAgICAgICAgICAgICAgICAg ICAgICA8bmFtZT54a2I6c2U6c3Zkdm9yYWs6c3dlPC9uYW1lPgorQEAgLTYzNSw3ICs2MzUsNyBA QAorICAgICAgICAgICAgICAgICAgICAgICAgIDxsb25nbmFtZT5Td2VkaXNoIChTdmR2b3Jhayk8 L2xvbmduYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj5Td2VkaXNo IChTdmR2b3Jhayk8L2Rlc2NyaXB0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29u PmlidXMta2V5Ym9hcmQ8L2ljb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+OTk8 L3Jhbms+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+MTwvcmFuaz4KKyAgICAgICAg ICAgICAgICAgPC9lbmdpbmU+CisgCQk8ZW5naW5lPgorIAkJCTxuYW1lPnhrYjpjaDo6Z2VyPC9u YW1lPgorQEAgLTY0Niw3ICs2NDYsNyBAQAorIAkJCTxsb25nbmFtZT5HZXJtYW4gKFN3aXR6ZXJs YW5kKTwvbG9uZ25hbWU+CisgCQkJPGRlc2NyaXB0aW9uPkdlcm1hbiAoU3dpdHplcmxhbmQpPC9k ZXNjcmlwdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorKwkJCTxyYW5rPjE8L3Jhbms+CisgCQk8L2Vu Z2luZT4KKyAJCTxlbmdpbmU+CisgCQkJPG5hbWU+eGtiOmNoOmZyOmZyYTwvbmFtZT4KK0BAIC02 NTgsNyArNjU4LDcgQEAKKyAJCQk8bG9uZ25hbWU+RnJlbmNoIChTd2l0emVybGFuZCk8L2xvbmdu YW1lPgorIAkJCTxkZXNjcmlwdGlvbj5GcmVuY2ggKFN3aXR6ZXJsYW5kKTwvZGVzY3JpcHRpb24+ CisgICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0J CQk8cmFuaz45OTwvcmFuaz4KKysJCQk8cmFuaz4xPC9yYW5rPgorIAkJPC9lbmdpbmU+CisgCQk8 ZW5naW5lPgorIAkJCTxuYW1lPnhrYjp0cjo6dHVyPC9uYW1lPgorQEAgLTY5Miw3ICs2OTIsNyBA QAorIAkJCTxsb25nbmFtZT5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2xvbmduYW1l PgorIAkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2Rlc2Ny aXB0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+CistCQkJPHJhbms+OTk8L3Jhbms+CisrCQkJPHJhbms+MTwvcmFuaz4KKyAJCTwvZW5naW5l PgorIAkJPGVuZ2luZT4KKyAJCQk8bmFtZT54a2I6Z2I6ZHZvcmFrOmVuZzwvbmFtZT4KK0BAIC03 MDQsNyArNzA0LDcgQEAKKyAJCQk8bG9uZ25hbWU+RW5nbGlzaCAoVUssIER2b3Jhayk8L2xvbmdu YW1lPgorIAkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChVSywgRHZvcmFrKTwvZGVzY3JpcHRpb24+ CisgICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0J CQk8cmFuaz45OTwvcmFuaz4KKysJCQk8cmFuaz4xPC9yYW5rPgorIAkJPC9lbmdpbmU+CisgCTwv ZW5naW5lcz4KKyA8L2NvbXBvbmVudD4KKy0tIAorMi4xLjAKKworRnJvbSA4YjE4NzU5ODIxNWUz YWYwNDgxZTBmOTQxNWZlNmEyMWRiNjgyZTZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNSBN YXIgMjAxNSAxMzo1NTo1MCArMDkwMAorU3ViamVjdDogW1BBVENIXSBJMThOIGZvciBlbmdpbmUg bG9uZ25hbWVzIG9uIGlidXMtc2V0dXAKKworTmV3IEFQSSBpYnVzX2dldF91bnRyYW5zbGF0ZWRf bGFuZ3VhZ2VfbmFtZSgpLgorQ2FsbCBiaW5kdGV4dGRvbWFpbigpIGZvciBlYWNoIHRleHRkb21h aW5zLgorCitURVNUPXNldHVwCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBz cG90LmNvbS8yMTg3NjAwNDMKKy0tLQorIHNldHVwL2VuZ2luZWRpYWxvZy5weSAgIHwgNDEgKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzZXR1cC9lbmdpbmV0cmVl dmlldy5weSB8IDE2ICsrKysrKysrKysrLS0tLS0KKyBzZXR1cC9tYWluLnB5ICAgICAgICAgICB8 IDEwICsrKysrKy0tLS0KKyBzcmMvaWJ1c3V0aWwuYyAgICAgICAgICB8IDQ3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCisgc3JjL2lidXN1dGlsLmggICAg ICAgICAgfCAxNiArKysrKysrKysrKystLS0tCisgdWkvZ3RrMi9pMThuLnB5ICAgICAgICAgfCAz OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQorIHVpL2d0azIvbWFpbi5w eSAgICAgICAgIHwgIDggKysrKy0tLS0KKyA3IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25z KCspLCA2NyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NldHVwL2VuZ2luZWRpYWxvZy5w eSBiL3NldHVwL2VuZ2luZWRpYWxvZy5weQoraW5kZXggMmIxNzlhZC4uMmM0NzJkZSAxMDA2NDQK Ky0tLSBhL3NldHVwL2VuZ2luZWRpYWxvZy5weQorKysrIGIvc2V0dXAvZW5naW5lZGlhbG9nLnB5 CitAQCAtMyw5ICszLDkgQEAKKyAjCisgIyBpYnVzIC0gVGhlIElucHV0IEJ1cworICMKKy0jIENv cHlyaWdodCAoYykgMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0j IENvcHlyaWdodCAoYykgMjAxNCBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWls LmNvbT4KKy0jIENvcHlyaWdodCAoYykgMjAxMy0yMDE0IFJlZCBIYXQsIEluYy4KKysjIENvcHly aWdodCAoYykgMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKysjIENv cHlyaWdodCAoYykgMjAxNSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KKysjIENvcHlyaWdodCAoYykgMjAxMy0yMDE1IFJlZCBIYXQsIEluYy4KKyAjCisgIyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y CisgIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcworQEAgLTI5LDYgKzI5LDcgQEAgZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBJ QnVzCisgCisgaW1wb3J0IGZ1bmN0b29scworIGltcG9ydCBnZXR0ZXh0CisraW1wb3J0IGkxOG4K KyBpbXBvcnQgbG9jYWxlCisgCisgZnJvbSBpY29uIGltcG9ydCBsb2FkX2ljb24KK0BAIC0yMjcs MTAgKzIyOCwxMyBAQCBjbGFzcyBFbmdpbmVEaWFsb2coR3RrLkRpYWxvZyk6CisgCisgCisgICAg IGRlZiBfX2VuZ2luZV9yb3dfbmV3KHNlbGYsIGVuZ2luZSk6CistICAgICAgICByb3cgPSBzZWxm Ll9fbGlzdF9ib3hfcm93X25ldyhlbmdpbmUuZ2V0X2xvbmduYW1lKCkpCistICAgICAgICByb3cu c2V0X3Rvb2x0aXBfdGV4dChlbmdpbmUuZ2V0X2Rlc2NyaXB0aW9uKCkpCisrICAgICAgICBsb25n bmFtZSA9IGkxOG4uZ2V0dGV4dF9lbmdpbmVfbG9uZ25hbWUoZW5naW5lKQorKyAgICAgICAgZGVz Y3JpcHRpb24gPSBpMThuLmdldHRleHRfZW5naW5lX2Rlc2NyaXB0aW9uKGVuZ2luZSkKKysgICAg ICAgIHJvdyA9IHNlbGYuX19saXN0X2JveF9yb3dfbmV3KGxvbmduYW1lKQorKyAgICAgICAgcm93 LnVudHJhbnMgPSBlbmdpbmUuZ2V0X2xvbmduYW1lKCkKKysgICAgICAgIHJvdy5zZXRfdG9vbHRp cF90ZXh0KGRlc2NyaXB0aW9uKQorICAgICAgICAgcm93LmVuZ2luZSA9IGVuZ2luZQorLSAgICAg ICAgd2lkZ2V0ID0gc2VsZi5fX3BhZGRlZF9sYWJlbF9uZXcoZW5naW5lLmdldF9sb25nbmFtZSgp LAorKyAgICAgICAgd2lkZ2V0ID0gc2VsZi5fX3BhZGRlZF9sYWJlbF9uZXcobG9uZ25hbWUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUuZ2V0X2ljb24o KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0ay5BbGlnbi5T VEFSVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJPV19UUkFW RUxfRElSRUNUSU9OX05PTkUpCitAQCAtMjU3LDcgKzI2MSw5IEBAIGNsYXNzIEVuZ2luZURpYWxv ZyhHdGsuRGlhbG9nKToKKyAKKyAgICAgICAgIGRlZiBjbXBfZW5naW5lKGEsIGIpOgorICAgICAg ICAgICAgIGlmIGEuZ2V0X3JhbmsoKSA9PSBiLmdldF9yYW5rKCk6CistICAgICAgICAgICAgICAg IHJldHVybiBsb2NhbGUuc3RyY29sbChhLmdldF9sb25nbmFtZSgpLCBiLmdldF9sb25nbmFtZSgp KQorKyAgICAgICAgICAgICAgICBhX2xvbmduYW1lID0gaTE4bi5nZXR0ZXh0X2VuZ2luZV9sb25n bmFtZShhKQorKyAgICAgICAgICAgICAgICBiX2xvbmduYW1lID0gaTE4bi5nZXR0ZXh0X2VuZ2lu ZV9sb25nbmFtZShiKQorKyAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlLnN0cmNvbGwoYV9s b25nbmFtZSwgYl9sb25nbmFtZSkKKyAgICAgICAgICAgICByZXR1cm4gaW50KGIuZ2V0X3Jhbmso KSAtIGEuZ2V0X3JhbmsoKSkKKyAKKyAgICAgICAgIHNlbGYuX19lbmdpbmVzX2Zvcl9sYW5nW2xh bmddLnNvcnQoCitAQCAtMjk0LDYgKzMwMCw3IEBAIGNsYXNzIEVuZ2luZURpYWxvZyhHdGsuRGlh bG9nKToKKyAgICAgICAgIHNlbGYuX19saXN0LmFkZChyb3cpCisgICAgICAgICBzZWxmLl9fYWRk X2VuZ2luZV9yb3dzX2Zvcl9sYW5nKHJvdykKKyAgICAgICAgIHNlbGYuX19saXN0LnNob3dfYWxs KCkKKysgICAgICAgIHNlbGYuX19hZGp1c3RtZW50LnNldF92YWx1ZShzZWxmLl9fYWRqdXN0bWVu dC5nZXRfbG93ZXIoKSkKKyAKKyAKKyAgICAgZGVmIF9fZG9fZmlsdGVyKHNlbGYpOgorQEAgLTMy MSwyNCArMzI4LDE0IEBAIGNsYXNzIEVuZ2luZURpYWxvZyhHdGsuRGlhbG9nKToKKyAgICAgICAg ICAgICAgICAgbCA9ICcnCisgICAgICAgICAgICAgaWYgbCBub3QgaW4gc2VsZi5fX2VuZ2luZXNf Zm9yX2xhbmc6CisgICAgICAgICAgICAgICAgIHNlbGYuX19lbmdpbmVzX2Zvcl9sYW5nW2xdID0g W10KKysgICAgICAgICAgICBpMThuLmluaXRfdGV4dGRvbWFpbihlLmdldF90ZXh0ZG9tYWluKCkp CisgICAgICAgICAgICAgc2VsZi5fX2VuZ2luZXNfZm9yX2xhbmdbbF0uYXBwZW5kKGUpCisgCisg ICAgICAgICAgICAgIyBSZXRyaWV2ZSBVbnRyYW5zbGF0ZWQgbGFuZ3VhZ2UgbmFtZXMuCistICAg ICAgICAgICAgYmFja3VwX2xvY2FsZSA9IGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwg Tm9uZSkKKy0gICAgICAgICAgICBkZWYgX19zZXRfdW50cmFuc193aXRoX2xvY2FsZShlbl9sb2Nh bGUpOgorLSAgICAgICAgICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsIGVu X2xvY2FsZSkKKy0gICAgICAgICAgICAgICAgdW50cmFucyA9IElCdXMuZ2V0X2xhbmd1YWdlX25h bWUoZS5nZXRfbGFuZ3VhZ2UoKSkKKy0gICAgICAgICAgICAgICAgaWYgdW50cmFucyA9PSBOb25l OgorLSAgICAgICAgICAgICAgICAgICAgdW50cmFucyA9ICcnCistICAgICAgICAgICAgICAgIHNl bGYuX191bnRyYW5zX2Zvcl9sYW5nW2xdID0gdW50cmFucworLSAgICAgICAgICAgIHRyeToKKy0g ICAgICAgICAgICAgICAgX19zZXRfdW50cmFuc193aXRoX2xvY2FsZSgnZW5fVVMuVVRGLTgnKQor LSAgICAgICAgICAgIGV4Y2VwdCBsb2NhbGUuRXJyb3I6CistICAgICAgICAgICAgICAgIHRyeToK Ky0gICAgICAgICAgICAgICAgICAgIF9fc2V0X3VudHJhbnNfd2l0aF9sb2NhbGUoJ0MnKQorLSAg ICAgICAgICAgICAgICBleGNlcHQgbG9jYWxlLkVycm9yOgorLSAgICAgICAgICAgICAgICAgICAg cGFzcworLSAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgYmFja3Vw X2xvY2FsZSkKKysgICAgICAgICAgICB1bnRyYW5zID0gSUJ1cy5nZXRfdW50cmFuc2xhdGVkX2xh bmd1YWdlX25hbWUoZS5nZXRfbGFuZ3VhZ2UoKSkKKysgICAgICAgICAgICBpZiB1bnRyYW5zID09 IE5vbmU6CisrICAgICAgICAgICAgICAgIHVudHJhbnMgPSAnJworKyAgICAgICAgICAgIHNlbGYu X191bnRyYW5zX2Zvcl9sYW5nW2xdID0gdW50cmFucworIAorICAgICAgICAga2V5cyA9IGxpc3Qo c2VsZi5fX2VuZ2luZXNfZm9yX2xhbmcua2V5cygpKQorICAgICAgICAga2V5cy5zb3J0KGtleT1m dW5jdG9vbHMuY21wX3RvX2tleShsb2NhbGUuc3RyY29sbCkpCitkaWZmIC0tZ2l0IGEvc2V0dXAv ZW5naW5ldHJlZXZpZXcucHkgYi9zZXR1cC9lbmdpbmV0cmVldmlldy5weQoraW5kZXggNzVmZjA0 Yi4uNGRlNGE1MSAxMDA2NDQKKy0tLSBhL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5CisrKysgYi9z ZXR1cC9lbmdpbmV0cmVldmlldy5weQorQEAgLTIsOCArMiw4IEBACisgIworICMgaWJ1cyAtIFRo ZSBJbnB1dCBCdXMKKyAjCistIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNCBQZW5nIEh1YW5nIDxz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0jIENvcHlyaWdodCAoYykgMjAwNy0yMDE0IFJlZCBI YXQsIEluYy4KKysjIENvcHlyaWdodCAoYykgMjAwNy0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAu aHVhbmdAZ21haWwuY29tPgorKyMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgUmVkIEhhdCwgSW5j LgorICMKKyAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKKyAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC0yNiw2ICsyNiw4IEBAIGZyb20gZ2kucmVwb3NpdG9y eSBpbXBvcnQgR3RrCisgZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBJQnVzCisgZnJvbSBnaS5y ZXBvc2l0b3J5IGltcG9ydCBQYW5nbworIAorK2ltcG9ydCBpMThuCisrCisgZnJvbSBpY29uIGlt cG9ydCBsb2FkX2ljb24KKyBmcm9tIGkxOG4gaW1wb3J0IF8sIE5fCisgCitAQCAtMTA2LDggKzEw OCwxMCBAQCBjbGFzcyBFbmdpbmVUcmVlVmlldyhHdGsuVHJlZVZpZXcpOgorICAgICAgICAgZW5n aW5lX2IgPSBtb2RlbFtiXVswXQorICAgICAgICAgbGFuZ3VhZ2VfYSA9IElCdXMuZ2V0X2xhbmd1 YWdlX25hbWUoZW5naW5lX2EuZ2V0X2xhbmd1YWdlKCkpCisgICAgICAgICBsYW5ndWFnZV9iID0g SUJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZShlbmdpbmVfYi5nZXRfbGFuZ3VhZ2UoKSkKKy0gICAgICAg IGxhYmVsX2EgPSAiJXMgLSAlcyIgJSAobGFuZ3VhZ2VfYSwgZW5naW5lX2EuZ2V0X2xvbmduYW1l KCkpCistICAgICAgICBsYWJlbF9iID0gIiVzIC0gJXMiICUgKGxhbmd1YWdlX2IsIGVuZ2luZV9i LmdldF9sb25nbmFtZSgpKQorKyAgICAgICAgbG9uZ25hbWVfYSA9IGkxOG4uZ2V0dGV4dF9lbmdp bmVfbG9uZ25hbWUoZW5naW5lX2EpCisrICAgICAgICBsb25nbmFtZV9iID0gaTE4bi5nZXR0ZXh0 X2VuZ2luZV9sb25nbmFtZShlbmdpbmVfYikKKysgICAgICAgIGxhYmVsX2EgPSAiJXMgLSAlcyIg JSAobGFuZ3VhZ2VfYSwgbG9uZ25hbWVfYSkKKysgICAgICAgIGxhYmVsX2IgPSAiJXMgLSAlcyIg JSAobGFuZ3VhZ2VfYiwgbG9uZ25hbWVfYikKKyAgICAgICAgICMgaHR0cDovL2RvY3MucHl0aG9u Lm9yZy8zLjAvd2hhdHNuZXcvMy4wLmh0bWwjb3JkZXJpbmctY29tcGFyaXNvbnMKKyAgICAgICAg IHJldHVybiAobGFiZWxfYSA+IGxhYmVsX2IpIC0gKGxhYmVsX2EgPCBsYWJlbF9iKQorIAorQEAg LTE0OSw4ICsxNTMsOSBAQCBjbGFzcyBFbmdpbmVUcmVlVmlldyhHdGsuVHJlZVZpZXcpOgorIAor ICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJzZW5zaXRpdmUiLCBUcnVlKQorICAgICAg ICAgbGFuZ3VhZ2UgPSBJQnVzLmdldF9sYW5ndWFnZV9uYW1lKGVuZ2luZS5nZXRfbGFuZ3VhZ2Uo KSkKKysgICAgICAgIGxvbmduYW1lID0gaTE4bi5nZXR0ZXh0X2VuZ2luZV9sb25nbmFtZShlbmdp bmUpCisgICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInRleHQiLAorLSAgICAgICAgICAg ICAgICAiJXMgLSAlcyIgJSAobGFuZ3VhZ2UsIGVuZ2luZS5nZXRfbG9uZ25hbWUoKSkpCisrICAg ICAgICAgICAgICAgICIlcyAtICVzIiAlIChsYW5ndWFnZSwgbG9uZ25hbWUpKQorICAgICAgICAg cmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJ3ZWlnaHQiLCBQYW5nby5XZWlnaHQuTk9STUFMKQorIAor ICAgICBkZWYgX19sYXlvdXRfY2VsbF9kYXRhX2NiKHNlbGYsIGNlbGxsYXlvdXQsIHJlbmRlcmVy LCBtb2RlbCwgaXQsIGRhdGEpOgorQEAgLTE5Niw2ICsyMDEsNyBAQCBjbGFzcyBFbmdpbmVUcmVl VmlldyhHdGsuVHJlZVZpZXcpOgorICAgICAgICAgICAgIGlmIGUgaW4gc2VsZi5fX2VuZ2luZXM6 CisgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgaXQgPSBzZWxmLl9fbW9k ZWwuYXBwZW5kKE5vbmUpCisrICAgICAgICAgICAgaTE4bi5pbml0X3RleHRkb21haW4oZS5nZXRf dGV4dGRvbWFpbigpKQorICAgICAgICAgICAgIHNlbGYuX19tb2RlbC5zZXQoaXQsIDAsIGUpCisg ICAgICAgICAgICAgc2VsZi5fX2VuZ2luZXMuYXBwZW5kKGUpCisgICAgICAgICBzZWxmLl9fZW1p dF9jaGFuZ2VkKCkKK2RpZmYgLS1naXQgYS9zZXR1cC9tYWluLnB5IGIvc2V0dXAvbWFpbi5weQor aW5kZXggYzFkNWM1NS4uMjJiNmRjNyAxMDA2NDQKKy0tLSBhL3NldHVwL21haW4ucHkKKysrKyBi L3NldHVwL21haW4ucHkKK0BAIC0yLDggKzIsOCBAQAorICMKKyAjIGlidXMgLSBUaGUgSW5wdXQg QnVzCisgIworLSMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20+CistIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNCBSZWQgSGF0LCBJbmMu CisrIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdt YWlsLmNvbT4KKysjIENvcHlyaWdodCAoYykgMjAwNy0yMDE1IFJlZCBIYXQsIEluYy4KKyAjCisg IyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisgIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCitAQCAtMzksMTMgKzM5LDE0IEBAIGZyb20gZ2kucmVwb3NpdG9yeSBpbXBv cnQgR3RrCisgZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBJQnVzCisgZnJvbSBvcyBpbXBvcnQg cGF0aAorIAorK2ltcG9ydCBpMThuCisgaW1wb3J0IGtleWJvYXJkc2hvcnRjdXQKKyBpbXBvcnQg bG9jYWxlCisgZnJvbSBlbmdpbmVjb21ib2JveCBpbXBvcnQgRW5naW5lQ29tYm9Cb3gKKyBmcm9t IGVuZ2luZWRpYWxvZyBpbXBvcnQgRW5naW5lRGlhbG9nCisgZnJvbSBlbmdpbmV0cmVldmlldyBp bXBvcnQgRW5naW5lVHJlZVZpZXcKKyBmcm9tIGVuZ2luZWFib3V0IGltcG9ydCBFbmdpbmVBYm91 dAorLWZyb20gaTE4biBpbXBvcnQgRE9NQUlOTkFNRSwgXywgTl8sIGluaXQgYXMgaTE4bl9pbml0 CisrZnJvbSBpMThuIGltcG9ydCBET01BSU5OQU1FLCBfLCBOXworIAorICgKKyAgICAgQ09MVU1O X05BTUUsCitAQCAtNTQzLDYgKzU0NCw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Cisg ICAgICAgICBwcmludCgiVXNpbmcgdGhlIGZhbGxiYWNrICdDJyBsb2NhbGUiLCBmaWxlPXN5cy5z dGRlcnIpCisgICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsICdDJykKKyAK Ky0gICAgaTE4bl9pbml0KCkKKysgICAgaTE4bi5pbml0X3RleHRkb21haW4oRE9NQUlOTkFNRSkK KysgICAgaTE4bi5pbml0X3RleHRkb21haW4oJ3hrZXlib2FyZC1jb25maWcnKQorICAgICBzZXR1 cCA9IFNldHVwKCkKKyAgICAgc2V0dXAucnVuKCkKK2RpZmYgLS1naXQgYS9zcmMvaWJ1c3V0aWwu YyBiL3NyYy9pYnVzdXRpbC5jCitpbmRleCAzZWRkYzk5Li5iOWYzZmRkIDEwMDY0NAorLS0tIGEv c3JjL2lidXN1dGlsLmMKKysrKyBiL3NyYy9pYnVzdXRpbC5jCitAQCAtMSw5ICsxLDkgQEAKKyAv KiAtKi0gbW9kZTogQzsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbDsg LSotICovCisgLyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBidXMgLSBUaGUgSW5wdXQgQnVz CistICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTEgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0Bn bWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTEgVGFrYW8gRnVqaXdhcmEgPHRh a2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTEgUmVk IEhhdCwgSW5jLgorKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1IFBlbmcgSHVhbmcgPHNoYXdu LnAuaHVhbmdAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IFRha2FvIEZ1 aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAw OC0yMDE1IFJlZCBIYXQsIEluYy4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtOTgsNiArOTgs MTEgQEAgX2xvYWRfbGFuZygpCisgICAgIFhNTE5vZGUgKm5vZGU7CisgICAgIHN0cnVjdCBzdGF0 IGJ1ZjsKKyAKKysjaWZkZWYgRU5BQkxFX05MUworKyAgICBiaW5kdGV4dGRvbWFpbiAoImlzb182 MzkiLCBHTElCX0xPQ0FMRV9ESVIpOworKyAgICBiaW5kX3RleHRkb21haW5fY29kZXNldCAoImlz b182MzkiLCAiVVRGLTgiKTsKKysjZW5kaWYKKysKKyAgICAgX19sYW5ndWFnZXNfZGljdCA9IGdf aGFzaF90YWJsZV9uZXdfZnVsbCAoZ19zdHJfaGFzaCwKKyAgICAgICAgICAgICBnX3N0cl9lcXVh bCwgZ19mcmVlLCBnX2ZyZWUpOworICAgICBmaWxlbmFtZSA9IGdfYnVpbGRfZmlsZW5hbWUgKElT T0NPREVTX1BSRUZJWCwKK0BAIC0xMjEsMzcgKzEyNiw0MSBAQCBfbG9hZF9sYW5nKCkKKyB9Cisg CisgY29uc3QgZ2NoYXIgKgorLWlidXNfZ2V0X2xhbmd1YWdlX25hbWUoY29uc3QgZ2NoYXIgKl9s b2NhbGUpIHsKKytpYnVzX2dldF91bnRyYW5zbGF0ZWRfbGFuZ3VhZ2VfbmFtZSAoY29uc3QgZ2No YXIgKl9sb2NhbGUpCisreworICAgICBjb25zdCBnY2hhciAqcmV0dmFsOworICAgICBnY2hhciAq cCA9IE5VTEw7CisgICAgIGdjaGFyICpsYW5nID0gTlVMTDsKKyAKKy0gICAgaWYgKF9fbGFuZ3Vh Z2VzX2RpY3QgPT0gTlVMTCApIHsKKysgICAgaWYgKF9fbGFuZ3VhZ2VzX2RpY3QgPT0gTlVMTCAp CisgICAgICAgICBfbG9hZF9sYW5nKCk7CistICAgIH0KKy0gICAgaWYgKChwID0gc3RyY2hyIChf bG9jYWxlLCAnXycpKSAhPSAgTlVMTCkgeworKyAgICBpZiAoKHAgPSBzdHJjaHIgKF9sb2NhbGUs ICdfJykpICE9ICBOVUxMKQorICAgICAgICAgcCA9IGdfc3RybmR1cCAoX2xvY2FsZSwgcCAtIF9s b2NhbGUpOworLSAgICB9IGVsc2UgeworKyAgICBlbHNlCisgICAgICAgICBwID0gZ19zdHJkdXAg KF9sb2NhbGUpOworLSAgICB9CisgICAgIGxhbmcgPSBnX2FzY2lpX3N0cmRvd24gKHAsIC0xKTsK KyAgICAgZ19mcmVlIChwKTsKKyAgICAgcmV0dmFsID0gKGNvbnN0IGdjaGFyICopIGdfaGFzaF90 YWJsZV9sb29rdXAgKF9fbGFuZ3VhZ2VzX2RpY3QsIGxhbmcpOworICAgICBnX2ZyZWUgKGxhbmcp OworLSAgICBpZiAocmV0dmFsICE9IE5VTEwpIHsKKy0jaWZkZWYgRU5BQkxFX05MUworLSAgICAg ICAgcmV0dXJuIGRnZXR0ZXh0KCJpc29fNjM5IiwgcmV0dmFsKTsKKy0jZWxzZQorKyAgICBpZiAo cmV0dmFsICE9IE5VTEwpCisgICAgICAgICByZXR1cm4gcmV0dmFsOworLSNlbmRpZgorLSAgICB9 CistICAgIGVsc2UgeworKyAgICBlbHNlCisrICAgICAgICByZXR1cm4gIk90aGVyIjsKKyt9Cisr CisrY29uc3QgZ2NoYXIgKgorK2lidXNfZ2V0X2xhbmd1YWdlX25hbWUgKGNvbnN0IGdjaGFyICpf bG9jYWxlKQorK3sKKysgICAgY29uc3QgZ2NoYXIgKnJldHZhbCA9IGlidXNfZ2V0X3VudHJhbnNs YXRlZF9sYW5ndWFnZV9uYW1lIChfbG9jYWxlKTsKKysKKyAjaWZkZWYgRU5BQkxFX05MUworLSAg ICAgICAgcmV0dXJuIGRnZXR0ZXh0KEdFVFRFWFRfUEFDS0FHRSwgTl8oIk90aGVyIikpOworKyAg ICBpZiAoZ19zdHJjbXAwIChyZXR2YWwsICJPdGhlciIpID09IDApCisrICAgICAgICByZXR1cm4g ZGdldHRleHQgKEdFVFRFWFRfUEFDS0FHRSwgTl8oIk90aGVyIikpOworKyAgICBlbHNlCisrICAg ICAgICByZXR1cm4gZGdldHRleHQgKCJpc29fNjM5IiwgcmV0dmFsKTsKKyAjZWxzZQorLSAgICAg ICAgcmV0dXJuIE5fKCJPdGhlciIpOworKyAgICByZXR1cm4gcmV0dmFsOworICNlbmRpZgorLSAg ICB9CisgfQorIAorIHZvaWQKK2RpZmYgLS1naXQgYS9zcmMvaWJ1c3V0aWwuaCBiL3NyYy9pYnVz dXRpbC5oCitpbmRleCBkNWQ1OTNmLi5iOWI2NDE1IDEwMDY0NAorLS0tIGEvc3JjL2lidXN1dGls LmgKKysrKyBiL3NyYy9pYnVzdXRpbC5oCitAQCAtMSw5ICsxLDkgQEAKKyAvKiAtKi0gbW9kZTog QzsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgLSotICovCisgLyog dmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBidXMgLSBUaGUgSW5wdXQgQnVzCistICogQ29weXJp Z2h0IChDKSAyMDA4LTIwMTMgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Cist ICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTMgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTMgUmVkIEhhdCwgSW5jLgor KyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21h aWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IFRha2FvIEZ1aml3YXJhIDx0YWth by5mdWppd2FyYTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1IFJlZCBI YXQsIEluYy4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtMzcsOSArMzcsMTcgQEAKKyAgKi8K KyAKKyAvKioKKysgKiBpYnVzX2dldF91bnRyYW5zbGF0ZWRfbGFuZ3VhZ2VfbmFtZToKKysgKiBA X2xvY2FsZTogQSBjb25zdCBsb2NhbGUgbmFtZS4KKysgKiBAcmV0dXJuczogdW50cmFuc2xhdGVk IGxhbmd1YWdlIG5hbWUKKysgKi8KKytjb25zdCBnY2hhciAqICAgIGlidXNfZ2V0X3VudHJhbnNs YXRlZF9sYW5ndWFnZV9uYW1lCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0IGdjaGFyICAgICpfbG9jYWxlKTsKKysKKysvKioKKyAgKiBpYnVz X2dldF9sYW5ndWFnZV9uYW1lOgorICAqIEBfbG9jYWxlOiBBIGNvbnN0IGxvY2FsZSBuYW1lLgor LSAqIEByZXR1cm5zOiBsYW5ndWFnZSBuYW1lCisrICogQHJldHVybnM6IHRyYW5zbGF0ZWQgbGFu Z3VhZ2UgbmFtZQorICAqLworIGNvbnN0IGdjaGFyICogICAgaWJ1c19nZXRfbGFuZ3VhZ2VfbmFt ZSAgICAgICAgIChjb25zdCBnY2hhciAgICAqX2xvY2FsZSk7CisgCitkaWZmIC0tZ2l0IGEvc2V0 dXAvaTE4bi5weSBiL3NldHVwL2kxOG4ucHkKK2luZGV4IDVhNzNlZWUuLjk3NmQxYWUgMTAwNjQ0 CistLS0gYS9zZXR1cC9pMThuLnB5CisrKysgYi9zZXR1cC9pMThuLnB5CitAQCAtMiw4ICsyLDgg QEAKKyAjCisgIyBpYnVzIC0gVGhlIElucHV0IEJ1cworICMKKy0jIENvcHlyaWdodChjKSAyMDA3 LTIwMTAgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistIyBDb3B5cmlnaHQo YykgMjAwNy0yMDEwIEdvb2dsZSwgSW5jLgorKyMgQ29weXJpZ2h0KGMpIDIwMDctMjAxNSBQZW5n IEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKysjIENvcHlyaWdodChjKSAyMDA3LTIw MTUgR29vZ2xlLCBJbmMuCisgIworICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTI5LDE1ICsyOSwzNSBAQCBE T01BSU5OQU1FID0gImlidXMxMCIKKyBfID0gbGFtYmRhIGE6IGdldHRleHQuZGdldHRleHQoRE9N QUlOTkFNRSwgYSkKKyBOXyA9IGxhbWJkYSBhOiBhCisgCistZGVmIGluaXQoKToKKy0gICAgbG9j YWxlZGlyID0gb3MuZ2V0ZW52KCJJQlVTX0xPQ0FMRURJUiIpCisrTE9DQUxFRElSID0gb3MuZ2V0 ZW52KCJJQlVTX0xPQ0FMRURJUiIpCisrCisrZGVmIGluaXRfdGV4dGRvbWFpbihkb21haW5uYW1l KToKKysgICAgaWYgZG9tYWlubmFtZSA9PSAnJzoKKysgICAgICAgIHJldHVybgorICAgICAjIFB5 dGhvbidzIGxvY2FsZSBtb2R1bGUgZG9lc24ndCBwcm92aWRlIGFsbCBtZXRob2RzIG9uIHNvbWUK KyAgICAgIyBvcGVyYXRpbmcgc3lzdGVtcyBsaWtlIEZyZWVCU0QKKyAgICAgdHJ5OgorLSAgICAg ICAgIyBmb3Igbm9uLXN0YW5kYXJkIGxvY2FsZWRpcgorLSAgICAgICAgbG9jYWxlLmJpbmR0ZXh0 ZG9tYWluKERPTUFJTk5BTUUsIGxvY2FsZWRpcikKKy0gICAgICAgIGxvY2FsZS5iaW5kX3RleHRk b21haW5fY29kZXNldChET01BSU5OQU1FLCAiVVRGLTgiKQorKyAgICAgICAgbG9jYWxlLmJpbmR0 ZXh0ZG9tYWluKGRvbWFpbm5hbWUsIExPQ0FMRURJUikKKysgICAgICAgIGxvY2FsZS5iaW5kX3Rl eHRkb21haW5fY29kZXNldChkb21haW5uYW1lLCAnVVRGLTgnKQorICAgICBleGNlcHQgQXR0cmli dXRlRXJyb3I6CisgICAgICAgICBwYXNzCistICAgIGdldHRleHQuYmluZHRleHRkb21haW4oRE9N QUlOTkFNRSwgbG9jYWxlZGlyKQorLSAgICBnZXR0ZXh0LmJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0 KERPTUFJTk5BTUUsICJVVEYtOCIpCisrICAgIGdldHRleHQuYmluZHRleHRkb21haW4oZG9tYWlu bmFtZSwgTE9DQUxFRElSKQorKyAgICBnZXR0ZXh0LmJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0KGRv bWFpbm5hbWUsICdVVEYtOCcpCisrCisrZGVmIGdldHRleHRfZW5naW5lX2xvbmduYW1lKGVuZ2lu ZSk6CisrICAgIG5hbWUgPSBlbmdpbmUuZ2V0X25hbWUoKQorKyAgICBpZiAobmFtZS5zdGFydHN3 aXRoKCd4a2I6JykpOgorKyAgICAgICAgcmV0dXJuIGdldHRleHQuZGdldHRleHQoJ3hrZXlib2Fy ZC1jb25maWcnLCBlbmdpbmUuZ2V0X2xvbmduYW1lKCkpCisrICAgIHRleHRkb21haW4gPSBlbmdp bmUuZ2V0X3RleHRkb21haW4oKQorKyAgICBpZiB0ZXh0ZG9tYWluID09ICcnOgorKyAgICAgICAg cmV0dXJuIGVuZ2luZS5nZXRfbG9uZ25hbWUoKQorKyAgICByZXR1cm4gZ2V0dGV4dC5kZ2V0dGV4 dCh0ZXh0ZG9tYWluLCBlbmdpbmUuZ2V0X2xvbmduYW1lKCkpCisrCisrZGVmIGdldHRleHRfZW5n aW5lX2Rlc2NyaXB0aW9uKGVuZ2luZSk6CisrICAgIG5hbWUgPSBlbmdpbmUuZ2V0X25hbWUoKQor KyAgICBpZiAobmFtZS5zdGFydHN3aXRoKCd4a2I6JykpOgorKyAgICAgICAgcmV0dXJuIGdldHRl eHQuZGdldHRleHQoJ3hrZXlib2FyZC1jb25maWcnLCBlbmdpbmUuZ2V0X2Rlc2NyaXB0aW9uKCkp CisrICAgIHRleHRkb21haW4gPSBlbmdpbmUuZ2V0X3RleHRkb21haW4oKQorKyAgICBpZiB0ZXh0 ZG9tYWluID09ICcnOgorKyAgICAgICAgcmV0dXJuIGVuZ2luZS5nZXRfZGVzY3JpcHRpb24oKQor KyAgICByZXR1cm4gZ2V0dGV4dC5kZ2V0dGV4dCh0ZXh0ZG9tYWluLCBlbmdpbmUuZ2V0X2Rlc2Ny aXB0aW9uKCkpCistLSAKKzIuMS4wCisKK0Zyb20gMDIxNTYwMzgyMTdlNDFlYmQ5MGUzZDFlZDRi Yjg4YjkxMmExNWEwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8 dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMzAgTWFyIDIwMTUgMTE6MDc6 NDIgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gSTE4TiBmb3IgSUJ1cyBlbmdpbmUgYWJvdXQgZGlh bG9nIGluIGlidXMtc2V0dXAKKworVEVTVD1zZXR1cAorCitSZXZpZXcgVVJMOiBodHRwczovL2Nv ZGVyZXZpZXcuYXBwc3BvdC5jb20vMjE5NDAwMDQzCistLS0KKyBzZXR1cC9lbmdpbmVhYm91dC5w eSB8IDEwICsrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAvZW5naW5lYWJvdXQucHkgYi9zZXR1cC9l bmdpbmVhYm91dC5weQoraW5kZXggMDllOWI1Yy4uNGU2YTVlZiAxMDA2NDQKKy0tLSBhL3NldHVw L2VuZ2luZWFib3V0LnB5CisrKysgYi9zZXR1cC9lbmdpbmVhYm91dC5weQorQEAgLTIsOCArMiw4 IEBACisgIworICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKKyAjCistIyBDb3B5cmlnaHQgKGMpIDIw MDctMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0jIENvcHlyaWdo dCAoYykgMjAwNy0yMDE0IFJlZCBIYXQsIEluYy4KKysjIENvcHlyaWdodCAoYykgMjAwNy0yMDE1 IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorKyMgQ29weXJpZ2h0IChjKSAy MDA3LTIwMTUgUmVkIEhhdCwgSW5jLgorICMKKyAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAjIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC0yNiw2ICsyNiw4 IEBAIGZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR2RrUGl4YnVmCisgZnJvbSBnaS5yZXBvc2l0 b3J5IGltcG9ydCBHdGsKKyBmcm9tIGdpLnJlcG9zaXRvcnkgaW1wb3J0IFBhbmdvCisgCisraW1w b3J0IGkxOG4KKysKKyBmcm9tIGkxOG4gaW1wb3J0IF8sIE5fCisgCisgY2xhc3MgRW5naW5lQWJv dXQoR3RrLkRpYWxvZyk6CitAQCAtNjQsNyArNjYsNyBAQCBjbGFzcyBFbmdpbmVBYm91dChHdGsu RGlhbG9nKToKKyAgICAgICAgIHRleHRfYnVmZmVyLmluc2VydF9waXhidWYoaXRlciwKKyAgICAg ICAgICAgICAgICAgc2VsZi5fX2xvYWRfaWNvbihzZWxmLl9fZW5naW5lX2Rlc2MuZ2V0X2ljb24o KSkpCisgICAgICAgICB0ZXh0X2J1ZmZlci5pbnNlcnRfd2l0aF90YWdzX2J5X25hbWUoaXRlciwK Ky0gICAgICAgICAgICAgICAgIlxuJXNcbiIgJSBzZWxmLl9fZW5naW5lX2Rlc2MuZ2V0X2xvbmdu YW1lKCksCisrICAgICAgICAgICAgICAgICJcbiVzXG4iICUgaTE4bi5nZXR0ZXh0X2VuZ2luZV9s b25nbmFtZShzZWxmLl9fZW5naW5lX2Rlc2MpLAorICAgICAgICAgICAgICAgICAiaGVhZGluZyIs ICJsZWZ0X21hcmdpbl8xNiIpCisgICAgICAgICB0ZXh0X2J1ZmZlci5pbnNlcnRfd2l0aF90YWdz X2J5X25hbWUoaXRlciwKKyAgICAgICAgICAgICAgICAgXygiTGFuZ3VhZ2U6ICVzXG4iKSAlIElC dXMuZ2V0X2xhbmd1YWdlX25hbWUoc2VsZi5fX2VuZ2luZV9kZXNjLmdldF9sYW5ndWFnZSgpKSwK K0BAIC03OCw3ICs4MCw3IEBAIGNsYXNzIEVuZ2luZUFib3V0KEd0ay5EaWFsb2cpOgorICAgICAg ICAgdGV4dF9idWZmZXIuaW5zZXJ0X3dpdGhfdGFnc19ieV9uYW1lKGl0ZXIsCisgICAgICAgICAg ICAgICAgIF8oIkRlc2NyaXB0aW9uOlxuIiksICJzbWFsbCIsICJib2xkIiwgImxlZnRfbWFyZ2lu XzE2IikKKyAgICAgICAgIHRleHRfYnVmZmVyLmluc2VydF93aXRoX3RhZ3NfYnlfbmFtZShpdGVy LAorLSAgICAgICAgICAgICAgICBzZWxmLl9fZW5naW5lX2Rlc2MuZ2V0X2Rlc2NyaXB0aW9uKCks CisrICAgICAgICAgICAgICAgIGkxOG4uZ2V0dGV4dF9lbmdpbmVfZGVzY3JpcHRpb24oc2VsZi5f X2VuZ2luZV9kZXNjKSwKKyAgICAgICAgICAgICAgICAgIndyYXBfdGV4dCIsICJsZWZ0X21hcmdp bl8zMiIpCisgCisgCistLSAKKzIuMS4wCisKK0Zyb20gZWI0ZmZhMWQ5YWVjY2YzMTMxOGFmZDFk MjRjYmNiYmVmYTc5MzM3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJh dCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMzEgTWFyIDIwMTUgMTE6 NTY6MDUgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gUHV0IFByb3BlcnR5UGFuZWwgYXQgYm90dG9t IHJpZ2h0IHdoZW4gZGVza3RvcCBpcyBLREUKKworTW9uaXRvciBfTkVUX1dPUktBUkVBIGF0b20g YmVjYXVzZSBQcm9wZXJ0eVBhbmVsIHJ1bnMKK2JlZm9yZSBLREU1IHBhbmVsIHJ1bnMuCitBbGxv Y2F0ZSBidXR0b24gc2l6ZXMgb24gUHJvcGVydHlQYW5lbCBjb3JyZWN0bHkgZm9yIEtERTUuCisK K1RFU1Q9dWkvZ3RrMy9pYnVzLXVpLWd0azMKKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2 aWV3LmFwcHNwb3QuY29tLzIyMDUwMDA0MworLS0tCisgdWkvZ3RrMy9wcm9wZXJ0eXBhbmVsLnZh bGEgfCAxNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisg MSBmaWxlIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL3VpL2d0azMvcHJvcGVydHlwYW5lbC52YWxhIGIvdWkvZ3RrMy9wcm9wZXJ0eXBh bmVsLnZhbGEKK2luZGV4IDZjMDIzYmYuLjEyZTg1YjAgMTAwNjQ0CistLS0gYS91aS9ndGszL3By b3BlcnR5cGFuZWwudmFsYQorKysrIGIvdWkvZ3RrMy9wcm9wZXJ0eXBhbmVsLnZhbGEKK0BAIC0y LDkgKzIsOSBAQAorICAqCisgICogaWJ1cyAtIFRoZSBJbnB1dCBCdXMKKyAgKgorLSAqIENvcHly aWdodChjKSAyMDEzLTIwMTQgUmVkIEhhdCwgSW5jLgorLSAqIENvcHlyaWdodChjKSAyMDEzLTIw MTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistICogQ29weXJpZ2h0KGMp IDIwMTMtMjAxNCBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysg KiBDb3B5cmlnaHQoYykgMjAxMy0yMDE1IFJlZCBIYXQsIEluYy4KKysgKiBDb3B5cmlnaHQoYykg MjAxMy0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorKyAqIENvcHly aWdodChjKSAyMDEzLTIwMTUgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5j b20+CisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTI5LDYgKzI5LDggQEAgZW51bSBQYW5lbFNo b3cgeworIH0KKyAKKyBwdWJsaWMgY2xhc3MgUHJvcGVydHlQYW5lbCA6IEd0ay5Cb3ggeworKyAg ICBwcml2YXRlIHVub3duZWQgR2RrLldpbmRvdyBtX3Jvb3Rfd2luZG93OworKyAgICBwcml2YXRl IHVub3duZWQgWC5EaXNwbGF5IG1feGRpc3BsYXk7CisgICAgIHByaXZhdGUgR3RrLldpbmRvdyBt X3RvcGxldmVsOworICAgICBwcml2YXRlIElCdXMuUHJvcExpc3QgbV9wcm9wczsKKyAgICAgcHJp dmF0ZSBJUHJvcFRvb2xJdGVtW10gbV9pdGVtczsKK0BAIC0zOCw2ICs0MCw3IEBAIHB1YmxpYyBj bGFzcyBQcm9wZXJ0eVBhbmVsIDogR3RrLkJveCB7CisgICAgIHByaXZhdGUgdWludCBtX2F1dG9f aGlkZV90aW1lb3V0ID0gMTAwMDA7CisgICAgIHByaXZhdGUgdWludCBtX2F1dG9faGlkZV90aW1l b3V0X2lkID0gMDsKKyAgICAgcHJpdmF0ZSBib29sIG1fZm9sbG93X2lucHV0X2N1cnNvcl93aGVu X2Fsd2F5c19zaG93biA9IGZhbHNlOworKyAgICBwcml2YXRlIGNvbnN0IHVpbnQgTU9OSVRPUl9O RVRfV09SS0FSRUFfVElNRU9VVCA9IDYwMDAwOworIAorICAgICBwdWJsaWMgUHJvcGVydHlQYW5l bCgpIHsKKyAgICAgICAgIC8qIENoYWluIHVwIGJhc2UgY2xhc3MgY29uc3RydWN0b3IgKi8KK0BA IC00Niw2ICs0OSwxNCBAQCBwdWJsaWMgY2xhc3MgUHJvcGVydHlQYW5lbCA6IEd0ay5Cb3ggewor IAorICAgICAgICAgc2V0X3Zpc2libGUodHJ1ZSk7CisgCisrICAgICAgICBtX3Jvb3Rfd2luZG93 ID0gR2RrLmdldF9kZWZhdWx0X3Jvb3Rfd2luZG93KCk7CisrICAgICAgICB1bm93bmVkIEdkay5E aXNwbGF5IGRpc3BsYXkgPSBtX3Jvb3Rfd2luZG93LmdldF9kaXNwbGF5KCk7CisrI2lmIFZBTEFf MF8yNAorKyAgICAgICAgbV94ZGlzcGxheSA9IChkaXNwbGF5IGFzIEdkay5YMTEuRGlzcGxheSku Z2V0X3hkaXNwbGF5KCk7CisrI2Vsc2UKKysgICAgICAgIG1feGRpc3BsYXkgPSBHZGsuWDExRGlz cGxheS5nZXRfeGRpc3BsYXkoZGlzcGxheSk7CisrI2VuZGlmCisrCisgICAgICAgICBtX3RvcGxl dmVsID0gbmV3IEd0ay5XaW5kb3coR3RrLldpbmRvd1R5cGUuUE9QVVApOworICAgICAgICAgbV90 b3BsZXZlbC5hZGRfZXZlbnRzKEdkay5FdmVudE1hc2suQlVUVE9OX1BSRVNTX01BU0spOworIAor QEAgLTY0LDYgKzc1LDEwIEBAIHB1YmxpYyBjbGFzcyBQcm9wZXJ0eVBhbmVsIDogR3RrLkJveCB7 CisgICAgICAgICAgICAgICAgIG1fY3Vyc29yX2xvY2F0aW9uLnkgPSAwOworICAgICAgICAgICAg IH0KKyAgICAgICAgIH0pOworKworKyAgICAgICAgLy8gUHJvcGVydHlQYW5lbCBydW5zIGJlZm9y ZSBLREU1IHBhbmVsIHJ1bnMgYW5kCisrICAgICAgICAvLyBtb25pdG9yIHRoZSBkZXNrdG9wIHNp emUuCisrICAgICAgICBtb25pdG9yX25ldF93b3JrYXJlYV9hdG9tKCk7CisgICAgIH0KKyAKKyAg ICAgcHVibGljIHZvaWQgc2V0X3Byb3BlcnRpZXMoSUJ1cy5Qcm9wTGlzdCBwcm9wcykgeworQEAg LTI5NCw5ICszMDksOCBAQCBwdWJsaWMgY2xhc3MgUHJvcGVydHlQYW5lbCA6IEd0ay5Cb3ggewor ICAgICAgICAgICAgIGN1cnNvcl9yaWdodF9ib3R0b20ueSArIGFsbG9jYXRpb24uaGVpZ2h0Cisg ICAgICAgICB9OworIAorLSAgICAgICAgR2RrLldpbmRvdyByb290ID0gR2RrLmdldF9kZWZhdWx0 X3Jvb3Rfd2luZG93KCk7CistICAgICAgICBpbnQgcm9vdF93aWR0aCA9IHJvb3QuZ2V0X3dpZHRo KCk7CistICAgICAgICBpbnQgcm9vdF9oZWlnaHQgPSByb290LmdldF9oZWlnaHQoKTsKKysgICAg ICAgIGludCByb290X3dpZHRoID0gbV9yb290X3dpbmRvdy5nZXRfd2lkdGgoKTsKKysgICAgICAg IGludCByb290X2hlaWdodCA9IG1fcm9vdF93aW5kb3cuZ2V0X2hlaWdodCgpOworIAorICAgICAg ICAgaW50IHgsIHk7CisgICAgICAgICBpZiAod2luZG93X3JpZ2h0X2JvdHRvbS54ID4gcm9vdF93 aWR0aCkKK0BAIC0zMTIsNzMgKzMyNiwxMjUgQEAgcHVibGljIGNsYXNzIFByb3BlcnR5UGFuZWwg OiBHdGsuQm94IHsKKyAgICAgICAgIG1vdmUoeCwgeSk7CisgICAgIH0KKyAKKysgICAgcHJpdmF0 ZSBib29sIGlzX2JvdHRvbV9wYW5lbCgpIHsKKysgICAgICAgIHN0cmluZyBkZXNrdG9wID0gRW52 aXJvbm1lbnQuZ2V0X3ZhcmlhYmxlKCJYREdfQ1VSUkVOVF9ERVNLVE9QIik7CisrICAgICAgICAv LyBMWERFIGhhcyBub3QgaW1wbGVtZW50ZWQgRGVza3RvcE5hbWVzIHlldC4KKysgICAgICAgIGlm IChkZXNrdG9wID09IG51bGwpCisrICAgICAgICAgICAgZGVza3RvcCA9IEVudmlyb25tZW50Lmdl dF92YXJpYWJsZSgiWERHX1NFU1NJT05fREVTS1RPUCIpOworKyAgICAgICAgc3dpdGNoIChkZXNr dG9wKSB7CisrICAgICAgICAgICAgY2FzZSAiS0RFIjogICAgICAgICByZXR1cm4gdHJ1ZTsKKysg ICAgICAgICAgICBjYXNlICJMWERFIjogICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAgICAg IGRlZmF1bHQ6ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICAgICAgfQorKyAgICB9Cisr CisgICAgIHByaXZhdGUgdm9pZCBzZXRfZGVmYXVsdF9sb2NhdGlvbigpIHsKKyAgICAgICAgIEd0 ay5BbGxvY2F0aW9uIGFsbG9jYXRpb247CisgICAgICAgICBtX3RvcGxldmVsLmdldF9hbGxvY2F0 aW9uKG91dCBhbGxvY2F0aW9uKTsKKyAKKy0gICAgICAgIHVub3duZWQgR2RrLldpbmRvdyByb290 ID0gR2RrLmdldF9kZWZhdWx0X3Jvb3Rfd2luZG93KCk7CistICAgICAgICBpbnQgcm9vdF93aWR0 aCA9IHJvb3QuZ2V0X3dpZHRoKCk7CisrICAgICAgICBpbnQgcm9vdF93aWR0aCA9IG1fcm9vdF93 aW5kb3cuZ2V0X3dpZHRoKCk7CisrICAgICAgICBpbnQgcm9vdF9oZWlnaHQgPSBtX3Jvb3Rfd2lu ZG93LmdldF9oZWlnaHQoKTsKKyAgICAgICAgIGludCByb290X3ggPSAwOworICAgICAgICAgaW50 IHJvb3RfeSA9IDA7CisgICAgICAgICBpbnQgd3NfbnVtID0gMDsKKyAKKy0gICAgICAgIHVub3du ZWQgR2RrLkRpc3BsYXkgZGlzcGxheSA9IHJvb3QuZ2V0X2Rpc3BsYXkoKTsKKyAjaWYgVkFMQV8w XzI0CistICAgICAgICB1bm93bmVkIFguRGlzcGxheSB4ZGlzcGxheSA9CistICAgICAgICAgICAg ICAgIChkaXNwbGF5IGFzIEdkay5YMTEuRGlzcGxheSkuZ2V0X3hkaXNwbGF5KCk7CistICAgICAg ICBYLldpbmRvdyB4d2luZG93ID0gKHJvb3QgYXMgR2RrLlgxMS5XaW5kb3cpLmdldF94aWQoKTsK KysgICAgICAgIFguV2luZG93IHh3aW5kb3cgPSAobV9yb290X3dpbmRvdyBhcyBHZGsuWDExLldp bmRvdykuZ2V0X3hpZCgpOworICNlbHNlCistICAgICAgICB1bm93bmVkIFguRGlzcGxheSB4ZGlz cGxheSA9IEdkay5YMTFEaXNwbGF5LmdldF94ZGlzcGxheShkaXNwbGF5KTsKKy0gICAgICAgIFgu V2luZG93IHh3aW5kb3cgPSBHZGsuWDExV2luZG93LmdldF94aWQocm9vdCk7CisrICAgICAgICBY LldpbmRvdyB4d2luZG93ID0gR2RrLlgxMVdpbmRvdy5nZXRfeGlkKG1fcm9vdF93aW5kb3cpOwor ICNlbmRpZgorICAgICAgICAgWC5BdG9tIF9uZXRfY3VycmVudF9kZXNrdG9wID0KKy0gICAgICAg ICAgICAgICAgeGRpc3BsYXkuaW50ZXJuX2F0b20oIl9ORVRfQ1VSUkVOVF9ERVNLVE9QIiwgZmFs c2UpOworKyAgICAgICAgICAgICAgICBtX3hkaXNwbGF5LmludGVybl9hdG9tKCJfTkVUX0NVUlJF TlRfREVTS1RPUCIsIGZhbHNlKTsKKyAgICAgICAgIFguQXRvbSB0eXBlID0gWC5Ob25lOworICAg ICAgICAgaW50IGZvcm1hdDsKKyAgICAgICAgIHVsb25nIG5pdGVtcyA9IDA7CisgICAgICAgICB1 bG9uZyBieXRlc19hZnRlcjsKKyAgICAgICAgIHZvaWQgKnByb3A7CistICAgICAgICB4ZGlzcGxh eS5nZXRfd2luZG93X3Byb3BlcnR5KHh3aW5kb3csCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9uZXRfY3VycmVudF9kZXNrdG9wLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwLCAzMiwgZmFsc2UsIFguWEFfQ0FSRElOQUwsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCB0eXBlLCBvdXQgZm9ybWF0LAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgbml0ZW1zLCBvdXQgYnl0ZXNfYWZ0 ZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBwcm9wKTsKKysg ICAgICAgIG1feGRpc3BsYXkuZ2V0X3dpbmRvd19wcm9wZXJ0eSh4d2luZG93LAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX25ldF9jdXJyZW50X2Rlc2t0b3AsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAzMiwgZmFsc2UsIFguWEFfQ0FS RElOQUwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgdHlwZSwg b3V0IGZvcm1hdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBu aXRlbXMsIG91dCBieXRlc19hZnRlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG91dCBwcm9wKTsKKyAKKyAgICAgICAgIGlmICh0eXBlICE9IFguTm9uZSAmJiBuaXRl bXMgPj0gMSkKKyAgICAgICAgICAgICB3c19udW0gPSAoaW50KSAoKHVsb25nICopcHJvcClbMF07 CisgCisgICAgICAgICBYLkF0b20gX25ldF93b3JrYXJlYSA9CistICAgICAgICAgICAgICAgIHhk aXNwbGF5LmludGVybl9hdG9tKCJfTkVUX1dPUktBUkVBIiwgZmFsc2UpOworKyAgICAgICAgICAg ICAgICBtX3hkaXNwbGF5LmludGVybl9hdG9tKCJfTkVUX1dPUktBUkVBIiwgZmFsc2UpOworICAg ICAgICAgdHlwZSA9IFguTm9uZTsKKyAgICAgICAgIG5pdGVtcyA9IDA7CisgCistICAgICAgICB4 ZGlzcGxheS5nZXRfd2luZG93X3Byb3BlcnR5KHh3aW5kb3csCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF9uZXRfd29ya2FyZWEsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAsIDMyLCBmYWxzZSwgWC5YQV9DQVJESU5BTCwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHR5cGUsIG91dCBmb3JtYXQsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBuaXRlbXMsIG91dCBieXRlc19hZnRl ciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHByb3ApOworLQor LSAgICAgICAgaWYgKHR5cGUgIT0gWC5Ob25lICYmIG5pdGVtcyA+PSAyKSB7CistICAgICAgICAg ICAgcm9vdF94ID0gKGludCkgKCh1bG9uZyAqKXByb3ApW3dzX251bSAqIDRdOworLSAgICAgICAg ICAgIHJvb3RfeSA9IChpbnQpICgodWxvbmcgKilwcm9wKVt3c19udW0gKiA0ICsgMV07CisrICAg ICAgICBtX3hkaXNwbGF5LmdldF93aW5kb3dfcHJvcGVydHkoeHdpbmRvdywKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9uZXRfd29ya2FyZWEsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAzMiwgZmFsc2UsIFguWEFfQ0FSRElOQUwsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgdHlwZSwgb3V0IGZvcm1h dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBuaXRlbXMsIG91 dCBieXRlc19hZnRlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91 dCBwcm9wKTsKKysKKysgICAgICAgIGlmICh0eXBlICE9IFguTm9uZSkgeworKyAgICAgICAgICAg IGlmIChuaXRlbXMgPj0gMikgeworKyAgICAgICAgICAgICAgICByb290X3ggPSAoaW50KSAoKHVs b25nICopcHJvcClbd3NfbnVtICogNF07CisrICAgICAgICAgICAgICAgIHJvb3RfeSA9IChpbnQp ICgodWxvbmcgKilwcm9wKVt3c19udW0gKiA0ICsgMV07CisrICAgICAgICAgICAgfQorKyAgICAg ICAgICAgIGlmIChuaXRlbXMgPj0gNCkgeworKyAgICAgICAgICAgICAgICByb290X3dpZHRoID0g KGludCkgKCh1bG9uZyAqKXByb3ApW3dzX251bSAqIDQgKyAyXTsKKysgICAgICAgICAgICAgICAg cm9vdF9oZWlnaHQgPSAoaW50KSAoKHVsb25nICopcHJvcClbd3NfbnVtICogNCArIDNdOworKyAg ICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKKyAgICAgICAgIGludCB4LCB5OworLSAgICAgICAg LyogVHJhbnNsYXRvcnM6IElmIHlvdXIgbG9jYWxlIGlzIFJUTCwgdGhlIG1zZ3N0ciBpcyAiZGVm YXVsdDpSVEwiLgorLSAgICAgICAgICogT3RoZXJ3aXNlIHRoZSBtc2dzdHIgaXMgImRlZmF1bHQ6 TFRSIi4gKi8KKy0gICAgICAgIGlmIChfKCJkZWZhdWx0OkxUUiIpICE9ICJkZWZhdWx0OlJUTCIp IHsKKy0gICAgICAgICAgICB4ID0gcm9vdF93aWR0aCAtIGFsbG9jYXRpb24ud2lkdGg7CistICAg ICAgICAgICAgeSA9IHJvb3RfeTsKKysgICAgICAgIGlmIChpc19ib3R0b21fcGFuZWwoKSkgewor KyAgICAgICAgICAgIC8qIFRyYW5zbGF0b3JzOiBJZiB5b3VyIGxvY2FsZSBpcyBSVEwsIHRoZSBt c2dzdHIgaXMgImRlZmF1bHQ6UlRMIi4KKysgICAgICAgICAgICAgKiBPdGhlcndpc2UgdGhlIG1z Z3N0ciBpcyAiZGVmYXVsdDpMVFIiLiAqLworKyAgICAgICAgICAgIGlmIChfKCJkZWZhdWx0OkxU UiIpICE9ICJkZWZhdWx0OlJUTCIpIHsKKysgICAgICAgICAgICAgICAgeCA9IHJvb3Rfd2lkdGgg LSBhbGxvY2F0aW9uLndpZHRoOworKyAgICAgICAgICAgICAgICB5ID0gcm9vdF9oZWlnaHQgLSBh bGxvY2F0aW9uLmhlaWdodDsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAg ICB4ID0gcm9vdF94OworKyAgICAgICAgICAgICAgICB5ID0gcm9vdF9oZWlnaHQgLSBhbGxvY2F0 aW9uLmhlaWdodDsKKysgICAgICAgICAgICB9CisgICAgICAgICB9IGVsc2UgeworLSAgICAgICAg ICAgIHggPSByb290X3g7CistICAgICAgICAgICAgeSA9IHJvb3RfeTsKKysgICAgICAgICAgICBp ZiAoXygiZGVmYXVsdDpMVFIiKSAhPSAiZGVmYXVsdDpSVEwiKSB7CisrICAgICAgICAgICAgICAg IHggPSByb290X3dpZHRoIC0gYWxsb2NhdGlvbi53aWR0aDsKKysgICAgICAgICAgICAgICAgeSA9 IHJvb3RfeTsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICB4ID0gcm9v dF94OworKyAgICAgICAgICAgICAgICB5ID0gcm9vdF95OworKyAgICAgICAgICAgIH0KKyAgICAg ICAgIH0KKyAKKyAgICAgICAgIG1vdmUoeCwgeSk7CisgICAgIH0KKyAKKysgICAgcHJpdmF0ZSBH ZGsuRmlsdGVyUmV0dXJuIHJvb3Rfd2luZG93X2ZpbHRlcihHZGsuWEV2ZW50IGdka3hldmVudCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGsuRXZl bnQgIGV2ZW50KSB7CisrICAgICAgICBYLkV2ZW50ICp4ZXZlbnQgPSAoWC5FdmVudCopIGdka3hl dmVudDsKKysgICAgICAgIGlmICh4ZXZlbnQudHlwZSA9PSBYLkV2ZW50VHlwZS5Qcm9wZXJ0eU5v dGlmeSkgeworKyAgICAgICAgICAgIHN0cmluZyBhbmFtZSA9IG1feGRpc3BsYXkuZ2V0X2F0b21f bmFtZSh4ZXZlbnQueHByb3BlcnR5LmF0b20pOworKyAgICAgICAgICAgIGlmIChhbmFtZSA9PSAi X05FVF9XT1JLQVJFQSIgJiYgeGV2ZW50Lnhwcm9wZXJ0eS5zdGF0ZSA9PSAwKSB7CisrICAgICAg ICAgICAgICAgIHNldF9kZWZhdWx0X2xvY2F0aW9uKCk7CisrICAgICAgICAgICAgICAgIHJldHVy biBHZGsuRmlsdGVyUmV0dXJuLkNPTlRJTlVFOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0K KysgICAgICAgIHJldHVybiBHZGsuRmlsdGVyUmV0dXJuLkNPTlRJTlVFOworKyAgICB9CisrCisr ICAgIHByaXZhdGUgdm9pZCBtb25pdG9yX25ldF93b3JrYXJlYV9hdG9tKCkgeworKyAgICAgICAg R2RrLkV2ZW50TWFzayBldmVudHMgPSBtX3Jvb3Rfd2luZG93LmdldF9ldmVudHMoKTsKKysgICAg ICAgIGlmICgoZXZlbnRzICYgR2RrLkV2ZW50TWFzay5QUk9QRVJUWV9DSEFOR0VfTUFTSykgPT0g MCkKKysgICAgICAgICAgICBtX3Jvb3Rfd2luZG93LnNldF9ldmVudHMgKGV2ZW50cyB8CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGsuRXZlbnRNYXNrLlBST1BFUlRZ X0NIQU5HRV9NQVNLKTsKKysKKysgICAgICAgIG1fcm9vdF93aW5kb3cuYWRkX2ZpbHRlcihyb290 X3dpbmRvd19maWx0ZXIpOworKworKyAgICAgICAgR0xpYi5UaW1lb3V0LmFkZChNT05JVE9SX05F VF9XT1JLQVJFQV9USU1FT1VULCAoKSA9PiB7CisrICAgICAgICAgICAgbV9yb290X3dpbmRvdy5y ZW1vdmVfZmlsdGVyKHJvb3Rfd2luZG93X2ZpbHRlcik7CisrICAgICAgICAgICAgcmV0dXJuIGZh bHNlOworKyAgICAgICAgfSwKKysgICAgICAgIEdMaWIuUHJpb3JpdHkuREVGQVVMVF9JRExFKTsK KysgICAgfQorKworICAgICBwcml2YXRlIHZvaWQgc2hvd193aXRoX2F1dG9faGlkZV90aW1lcigp IHsKKyAgICAgICAgIGlmIChtX2l0ZW1zLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAgICAgLyog RG8gbm90IGJsaW5rIHRoZSBwYW5lbCB3aXRoIGZvY3VzLWluIGluIGNhc2UgdGhlIHBhbmVsCitA QCAtNTY4LDEwICs2MzQsMTIgQEAgcHVibGljIGNsYXNzIFByb3BUb29sQnV0dG9uIDogR3RrLlRv b2xCdXR0b24sIElQcm9wVG9vbEl0ZW0geworICAgICBwcml2YXRlIElCdXMuUHJvcGVydHkgbV9w cm9wID0gbnVsbDsKKyAKKyAgICAgcHVibGljIFByb3BUb29sQnV0dG9uKElCdXMuUHJvcGVydHkg cHJvcCkgeworLSAgICAgICAgc3RyaW5nIGxhYmVsID0gcHJvcC5nZXRfc3ltYm9sKCkuZ2V0X3Rl eHQoKTsKKy0KKy0gICAgICAgIC8qIENoYWluIHVwIGJhc2UgY2xhc3MgY29uc3RydWN0b3IgKi8K Ky0gICAgICAgIEdMaWIuT2JqZWN0KGxhYmVsOiBsYWJlbCk7CisrICAgICAgICAvKiBDaGFpbiB1 cCBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yCisrICAgICAgICAgKgorKyAgICAgICAgICogSWYgdGhl IGNvbnN0cnVjdG9yIHNldHMgImxhYmVsIiBwcm9wZXJ0eSwgImhhbGlnbiIgcHJvcGVydHkKKysg ICAgICAgICAqIGRvZXMgbm90IHdvcmsgaW4gS0RFNSBzbyB1c2Ugc3luYygpIGZvciB0aGUgbGFi ZWwuCisrICAgICAgICAgKi8KKysgICAgICAgIEdMaWIuT2JqZWN0KGhhbGlnbjogR3RrLkFsaWdu LlNUQVJUKTsKKyAKKyAgICAgICAgIG1fcHJvcCA9IHByb3A7CisgCitAQCAtNjI3LDggKzY5NSwx MSBAQCBwdWJsaWMgY2xhc3MgUHJvcFRvZ2dsZVRvb2xCdXR0b24gOiBHdGsuVG9nZ2xlVG9vbEJ1 dHRvbiwgSVByb3BUb29sSXRlbSB7CisgICAgIHByaXZhdGUgSUJ1cy5Qcm9wZXJ0eSBtX3Byb3Ag PSBudWxsOworIAorICAgICBwdWJsaWMgUHJvcFRvZ2dsZVRvb2xCdXR0b24oSUJ1cy5Qcm9wZXJ0 eSBwcm9wKSB7CistICAgICAgICAvKiBDaGFpbiB1cCBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yICov CistICAgICAgICBHTGliLk9iamVjdCgpOworKyAgICAgICAgLyogQ2hhaW4gdXAgYmFzZSBjbGFz cyBjb25zdHJ1Y3RvcgorKyAgICAgICAgICoKKysgICAgICAgICAqIE5lZWQgdG8gc2V0IGhhbGln biBmb3IgS0RFNQorKyAgICAgICAgICovCisrICAgICAgICBHTGliLk9iamVjdChoYWxpZ246IEd0 ay5BbGlnbi5TVEFSVCk7CisgCisgICAgICAgICBtX3Byb3AgPSBwcm9wOworIAorQEAgLTcwNiw4 ICs3NzcsMTEgQEAgcHVibGljIGNsYXNzIFByb3BNZW51VG9vbEJ1dHRvbiA6IFByb3BUb2dnbGVU b29sQnV0dG9uLCBJUHJvcFRvb2xJdGVtIHsKKyAgICAgcHJpdmF0ZSBQcm9wTWVudSBtX21lbnUg PSBudWxsOworIAorICAgICBwdWJsaWMgUHJvcE1lbnVUb29sQnV0dG9uKElCdXMuUHJvcGVydHkg cHJvcCkgeworLSAgICAgICAgLyogQ2hhaW4gdXAgYmFzZSBjbGFzcyBjb25zdHJ1Y3RvciAqLwor LSAgICAgICAgR0xpYi5PYmplY3QoKTsKKysgICAgICAgIC8qIENoYWluIHVwIGJhc2UgY2xhc3Mg Y29uc3RydWN0b3IKKysgICAgICAgICAqCisrICAgICAgICAgKiBOZWVkIHRvIHNldCBoYWxpZ24g Zm9yIEtERTUKKysgICAgICAgICAqLworKyAgICAgICAgR0xpYi5PYmplY3QoaGFsaWduOiBHdGsu QWxpZ24uU1RBUlQpOworIAorICAgICAgICAgbV9tZW51ID0gbmV3IFByb3BNZW51KHByb3ApOwor ICAgICAgICAgbV9tZW51LmRlYWN0aXZhdGUuY29ubmVjdCgobSkgPT4KKy0tIAorMi4xLjAKKwor RnJvbSAwMjBiZDQ1ZWRhOWUzYTNhMjgzNjEyMmZiZTA0MzdjYWZiNzFmMTYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29t PgorRGF0ZTogV2VkLCAxIEFwciAyMDE1IDExOjQyOjM0ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hd IGlidXMtdWktZ3RrMzogRHJhdyBncmF5IGNvbG9yIG9uIFByb3BlcnR5UGFuZWwgaGFuZGxlCisK K1VzZXJzIGNhbiBtb3ZlIHRoZSBwb3NpdGlvbiBvZiBJQnVzIFByb3BlcnR5UGFuZWwgd2l0aCB0 aGUgbW91c2UKK2J1dCBjdXJyZW50bHkgaXQgaXMgdG9vIGhhcmQgdG8gZmluZCB0aGUgaGFuZGxl IG9uIHRoZSBwYW5lbC4KK05vdyB0aGUgaGFuZGxlIGlzIGRyYXduIGJ5IHRoZSBncmF5IGNvbG9y IGZvciB0aGUgdmlzaWJpbGl0eS4KKworVEVTVD11aS9ndGszL2lidXMtdWktZ3RrMworCitSZXZp ZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcuYXBwc3BvdC5jb20vMjE5NTIwMDQzCistLS0KKyB1 aS9ndGszL2hhbmRsZS52YWxhIHwgMTUgKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQs IDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3VpL2d0azMv aGFuZGxlLnZhbGEgYi91aS9ndGszL2hhbmRsZS52YWxhCitpbmRleCBiOWMzYmJjLi4xZWRiNTM3 IDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9oYW5kbGUudmFsYQorKysrIGIvdWkvZ3RrMy9oYW5kbGUu dmFsYQorQEAgLTIsNyArMiw3IEBACisgICoKKyAgKiBpYnVzIC0gVGhlIElucHV0IEJ1cworICAq CistICogQ29weXJpZ2h0KGMpIDIwMTEgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5j b20+CisrICogQ29weXJpZ2h0KGMpIDIwMTEtMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5n QGdtYWlsLmNvbT4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtMzYsNiArMzYsMTkgQEAgY2xh c3MgSGFuZGxlIDogR3RrLkV2ZW50Qm94IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdkay5FdmVudE1hc2suQlVUVE9OMV9NT1RJT05fTUFTSzsKKyAgICAgICAgIHNldF9ldmVudHMo bWFzayk7CisgICAgICAgICBtX21vdmVfYmVnaW5lZCA9IGZhbHNlOworKworKyAgICAgICAgLy8g Q3VycmVudGx5IGl0IGlzIHRvbyBoYXJkIHRvIG5vdGljZSB0aGlzIEhhbmRsZSBvbiBQcm9wZXJ0 eVBhbmVsCisrICAgICAgICAvLyBzbyBub3cgdGhpcyB3aWRnZXQgaXMgZHJhd24gYnkgdGhlIGdy YXkgY29sb3IgZm9yIHRoZSB2aXNpYmlsaXR5LgorKyAgICAgICAgR3RrLkNzc1Byb3ZpZGVyIGNz c19wcm92aWRlciA9IG5ldyBHdGsuQ3NzUHJvdmlkZXIoKTsKKysgICAgICAgIHRyeSB7CisrICAg ICAgICAgICAgY3NzX3Byb3ZpZGVyLmxvYWRfZnJvbV9kYXRhKAorKyAgICAgICAgICAgICAgICAg ICAgIkd0a0V2ZW50Qm94IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JheSB9IiwgLTEpOworKyAgICAg ICAgfSBjYXRjaCAoR0xpYi5FcnJvciBlcnJvcikgeworKyAgICAgICAgICAgIHdhcm5pbmcoIlBh cnNlIGVycm9yIGluIEhhbmRsZTogJXMiLCBlcnJvci5tZXNzYWdlKTsKKysgICAgICAgIH0KKysg ICAgICAgIEd0ay5TdHlsZUNvbnRleHQgY29udGV4dCA9IGdldF9zdHlsZV9jb250ZXh0KCk7Cisr ICAgICAgICBjb250ZXh0LmFkZF9wcm92aWRlcihjc3NfcHJvdmlkZXIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHdGsuU1RZTEVfUFJPVklERVJfUFJJT1JJVFlfQVBQTElDQVRJT04p OworICAgICB9CisgCisgICAgIHB1YmxpYyBvdmVycmlkZSB2b2lkIHJlYWxpemUoKSB7CistLSAK KzIuMS4wCisKK0Zyb20gY2M4ODA3NWRkYWUwMzhmOTAwMzlkNTgxNDdiYjNjOWQ3ZWIwODM2NCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvZG9uZyBLaW0gPGhvZG9uZ0Bjb2duby5v cmc+CitEYXRlOiBUaHUsIDIgQXByIDIwMTUgMTE6MTg6NTcgKzA5MDAKK1N1YmplY3Q6IFtQQVRD SF0gRml4IGNvbXBpbGUgZXJyb3IgaW4gY2xpZW50L3gxMS9NYWtlZmlsZQorCitCVUc9aHR0cHM6 Ly9naXRodWIuY29tL2lidXMvaWJ1cy9wdWxsLzE4CitURVNUPWNsaWVudC94MTEvTWFrZWZpbGUK KworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzIxNzU5MDA0Mwor UGF0Y2ggZnJvbSBIb2RvbmcgS2ltIDxob2RvbmdAY29nbm8ub3JnPi4KKy0tLQorIGNsaWVudC94 MTEvTWFrZWZpbGUuYW0gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbGllbnQveDExL01ha2VmaWxlLmFtIGIvY2xp ZW50L3gxMS9NYWtlZmlsZS5hbQoraW5kZXggOTgxM2NlYi4uYmE2ZmU4YSAxMDA2NDQKKy0tLSBh L2NsaWVudC94MTEvTWFrZWZpbGUuYW0KKysrKyBiL2NsaWVudC94MTEvTWFrZWZpbGUuYW0KK0BA IC01Nyw3ICs1Nyw3IEBAIG5vaW5zdF9IRUFERVJTID0gXAorIAlsb2NhbGVzLmggXAorIAkkKE5V TEwpCisgCistJChJTWRraXQpOgorKyQobGliSU1ka2l0KToKKyAJKGNkICQodG9wX2J1aWxkZGly KS91dGlsL0lNZGtpdDsgbWFrZSkKKyAKKyAkKGxpYmlidXMpOgorLS0gCisyLjEuMAorCitGcm9t IDM1ZDAzNWJmYzQ4ZTIwZWVjYjNiM2IzYjE0NzEyZDczYzVmYzAyN2IgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CitE YXRlOiBUaHUsIDIgQXByIDIwMTUgMTE6MjY6MjQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gaWJ1 cy11aS1ndGszOiBFbmFibGUgYWJzb2x1dGUgcGF0aCBvZiBlbmdpbmUgaWNvbiBpbgorIEtERTUK KworcGxhc21hLXdvcmtzcGFjZSA1LjIgc3VwcG9ydHMgdGhlIGljb24gZnVsbCBwYXRoLgorTm93 IHRoZSBidWlsZCBjaGVja3MgaWYgcXRiYXNlLWRldmVsIGlzIDUuNCBvciBsYXRlciBzaW5jZQor dGhlcmUgaXMgbm8gd2F5IHRvIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHBsYXNtYS13b3Jrc3BhY2Uu CisKK0JVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL3B1bGwvMTcKK1RFU1Q9dWkvZ3Rr My9pYnVzLXVpLWd0azMKKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3Qu Y29tLzIxNzMxMDA0NAorLS0tCisgY29uZmlndXJlLmFjICAgICAgICB8IDE3ICsrKysrKysrKysr KysrKysrCisgdWkvZ3RrMy9NYWtlZmlsZS5hbSB8ICA4ICsrKysrKy0tCisgdWkvZ3RrMy9wYW5l bC52YWxhICB8IDEwICsrKysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1 cmUuYWMKK2luZGV4IDM5YzljYWQuLjhlYjYxNjggMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMK KysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI3MCw5ICsyNzAsMjUgQEAgZWxzZQorICAgICBlbmFi bGVfd2F5bGFuZD0ibm8gKGRpc2FibGVkLCB1c2UgLS1lbmFibGUtd2F5bGFuZCB0byBlbmFibGUp IgorIGZpCisgCisrZW5hYmxlX2FwcGluZGljYXRvcl9lbmdpbmVfaWNvbj0ibm8iCisgaWYgdGVz dCB4IiRlbmFibGVfYXBwaW5kaWNhdG9yIiA9IHgieWVzIjsgdGhlbgorICAgICBlbmFibGVfYXBw aW5kaWNhdG9yPSJ5ZXMgKGVuYWJsZWQsIHVzZSAtLWRpc2FibGUtYXBwaW5kaWNhdG9yIHRvIGRp c2FibGUpIgorKworKyAgICAjIE5lZWQgcXQ1LXF0YmFzZS1kZXZlbCBwYWNrYWdlCisrICAgICMg VGhlcmUgaXMgbm8gd2F5IHRvIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIEtTdGF0dXNOb3RpZmllckl0 ZW0gYW5kCisrICAgICMgY2hlY2sgdGhlIHZlcnNpb24gb2YgcXRiYXNlIGhlcmUuCisrICAgIEFD X01TR19DSEVDS0lORyhbZm9yIEtERTUgYXBwaW5kaWNhdG9yIGVuZ2luZSBpY29uXSkKKysgICAg UEtHX0NIRUNLX0VYSVNUUyhbUXQ1R3VpID49IDUuNF0sCisrICAgICAgICBlbmFibGVfYXBwaW5k aWNhdG9yX2VuZ2luZV9pY29uPSJ5ZXMiCisrICAgICkKKysgICAgQUNfTVNHX1JFU1VMVChbJGVu YWJsZV9hcHBpbmRpY2F0b3JfZW5naW5lX2ljb25dKQorKworK2ZpCisraWYgdGVzdCB4IiRlbmFi bGVfYXBwaW5kaWNhdG9yX2VuZ2luZV9pY29uIiAhPSB4InllcyIgOyB0aGVuCisrICAgIGVuYWJs ZV9hcHBpbmRpY2F0b3JfZW5naW5lX2ljb249Im5vIChkaXNhYmxlZCwgbmVlZCBxdGJhc2UtZGV2 ZWwgNS40IG9yIGxhdGVyKSIKKyBmaQorK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfQVBQSU5ESUNB VE9SX0VOR0lORV9JQ09OXSwKKysgICAgICAgICAgICAgICBbdGVzdCB4IiRlbmFibGVfYXBwaW5k aWNhdG9yX2VuZ2luZV9pY29uIiA9IHgieWVzIl0pCisgCisgIyBHT2JqZWN0IGludHJvc3BlY3Rp b24KKyBHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzAuNi44XSkKK0BAIC02MzksNiArNjU1 LDcgQEAgQnVpbGQgb3B0aW9uczoKKyAgIEJ1aWxkIFhJTSBhZ2VudCBzZXJ2ZXIgICAgICAgICRl bmFibGVfeGltCisgICBCdWlsZCB3YXlsYW5kIHN1cHBvcnQgICAgICAgICAkZW5hYmxlX3dheWxh bmQKKyAgIEJ1aWxkIGFwcGluZGljYXRvciBzdXBwb3J0ICAgICRlbmFibGVfYXBwaW5kaWNhdG9y CisrICBCdWlsZCBhcHBpbmRpY2F0b3IgZW5naW5lIGljb24gJGVuYWJsZV9hcHBpbmRpY2F0b3Jf ZW5naW5lX2ljb24KKyAgIEJ1aWxkIHB5dGhvbiBsaWJyYXJ5ICAgICAgICAgICRlbmFibGVfcHl0 aG9uX2xpYnJhcnkKKyAgIEJ1aWxkIGdjb25mIG1vZHVsZXMgICAgICAgICAgICRlbmFibGVfZ2Nv bmYKKyAgIEJ1aWxkIG1lbWNvbmYgbW9kdWxlcyAgICAgICAgICRlbmFibGVfbWVtY29uZgorZGlm ZiAtLWdpdCBhL3VpL2d0azMvTWFrZWZpbGUuYW0gYi91aS9ndGszL01ha2VmaWxlLmFtCitpbmRl eCA0MGNjZTExLi4yZGUyMjdkIDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9NYWtlZmlsZS5hbQorKysr IGIvdWkvZ3RrMy9NYWtlZmlsZS5hbQorQEAgLTk4LDYgKzk4LDEwIEBAIGlmIEVOQUJMRV9BUFBJ TkRJQ0FUT1IKKyBBTV9WQUxBRkxBR1MgKz0gLS1kZWZpbmU9SU5ESUNBVE9SCisgZW5kaWYKKyAK KytpZiBFTkFCTEVfQVBQSU5ESUNBVE9SX0VOR0lORV9JQ09OCisrQU1fVkFMQUZMQUdTICs9IC0t ZGVmaW5lPUlORElDQVRPUl9FTkdJTkVfSUNPTgorK2VuZGlmCisrCisgbGliZXhlY19QUk9HUkFN UyA9IGlidXMtdWktZ3RrMworIAorIGlidXNfdWlfZ3RrM19TT1VSQ0VTID0gXAorQEAgLTEzNiw4 ICsxNDAsOCBAQCBDTEVBTkZJTEVTID0gXAorICMgUmVmZXJlbmNlczoKKyAjIGxpYmFwcGluZGlj YXRvci9zcmMvbm90aWZpY2F0aW9uLWl0ZW0ueG1sCisgIyBsaWJhcHBpbmRpY2F0b3Ivc3JjL25v dGlmaWNhdGlvbi13YXRjaGVyLnhtbAorLSMga25vdGlmaWNhdGlvbnMvc3JjL29yZy5rZGUuU3Rh dHVzTm90aWZpZXJJdGVtLnhtbAorLSMga25vdGlmaWNhdGlvbnMvc3JjL29yZy5rZGUuU3RhdHVz Tm90aWZpZXJXYXRjaGVyLnhtbAorKyMga2RlbGlicy9rZGV1aS9rbm90aWZpY2F0aW9ucy9zcmMv b3JnLmtkZS5TdGF0dXNOb3RpZmllckl0ZW0ueG1sCisrIyBrZGVsaWJzL2tkZXVpL2tub3RpZmlj YXRpb25zL3NyYy9vcmcua2RlLlN0YXR1c05vdGlmaWVyV2F0Y2hlci54bWwKKyBFWFRSQV9ESVNU ID0gXAorIAlndGtwYW5lbC54bWwuaW4gXAorIAlub3RpZmljYXRpb24taXRlbS54bWwgXAorZGlm ZiAtLWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwudmFsYQoraW5kZXgg MTM3OTg2MC4uYzc3YmQyZiAxMDA2NDQKKy0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQorKysrIGIv dWkvZ3RrMy9wYW5lbC52YWxhCitAQCAtMTI0OCw5ICsxMjQ4LDE1IEBAIGNsYXNzIFBhbmVsIDog SUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgICAgICAgICBtX3N0YXR1c19pY29uLnNldF9m cm9tX2ZpbGUoaWNvbl9uYW1lKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgZWxzZSBp ZiAobV9pY29uX3R5cGUgPT0gSWNvblR5cGUuSU5ESUNBVE9SKSB7CistICAgICAgICAgICAgICAg IHdhcm5pbmcoImFwcGluZGljYXRvciByZXF1aXJlcyBhbiBpY29uIG5hbWUgaW4gYSB0aGVtZSAi ICsKKy0gICAgICAgICAgICAgICAgICAgICAgICAicGF0aCBpbnN0ZWFkIG9mIHRoZSBmdWxsIHBh dGg6ICVzIiwgaWNvbl9uYW1lKTsKKysjaWYgSU5ESUNBVE9SX0VOR0lORV9JQ09OCisrICAgICAg ICAgICAgICAgIG1faW5kaWNhdG9yLnNldF9pY29uX2Z1bGwoaWNvbl9uYW1lLCAiIik7CisrI2Vs c2UKKysgICAgICAgICAgICAgICAgd2FybmluZygicGxhc21hLXdvcmtzcGFjZSA1LjIgb3IgbGF0 ZXIgaXMgcmVxdWlyZWQgdG8gIiArCisrICAgICAgICAgICAgICAgICAgICAgICAgInNob3cgdGhl IGFic29sdXRlIHBhdGggaWNvbiAlcy4gQ3VycmVudGx5IGNoZWNrICIgKworKyAgICAgICAgICAg ICAgICAgICAgICAgICJxdGJhc2UgNS40IHNpbmNlIHRoZXJlIGlzIG5vIHdheSB0byBjaGVjayAi ICsKKysgICAgICAgICAgICAgICAgICAgICAgICAidGhlIHZlcnNpb24gb2YgcGxhc21hLXdvcmtz cGFjZS4iLCBpY29uX25hbWUpOworICAgICAgICAgICAgICAgICBtX2luZGljYXRvci5zZXRfaWNv bl9mdWxsKCJpYnVzLWVuZ2luZSIsICIiKTsKKysjZW5kaWYKKyAgICAgICAgICAgICB9CisgICAg ICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHN0cmluZyBsYW5ndWFnZSA9IG51bGw7CistLSAK KzIuMS4wCiAKCmRpZmYgLS1naXQgYS9pYnVzLnNwZWMgYi9pYnVzLnNwZWMKaW5kZXggMTFjZjkw MS4uMzM5YmQzMiAxMDA2NDQKLS0tIGEvaWJ1cy5zcGVjCisrKyBiL2lidXMuc3BlYwpAQCAtMzQs NyArMzQsNyBAQAogCiBOYW1lOiAgICAgICAgICAgaWJ1cwogVmVyc2lvbjogICAgICAgIDEuNS4x MAotUmVsZWFzZTogICAgICAgIDElez9kaXN0fQorUmVsZWFzZTogICAgICAgIDIlez9kaXN0fQog U3VtbWFyeTogICAgICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3IgTGludXggT1MKIExpY2Vu c2U6ICAgICAgICBMR1BMdjIrCiBHcm91cDogICAgICAgICAgU3lzdGVtIEVudmlyb25tZW50L0xp YnJhcmllcwpAQCAtNDIsOCArNDIsMTAgQEAgVVJMOiAgICAgICAgICAgIGh0dHA6Ly9jb2RlLmdv b2dsZS5jb20vcC9pYnVzLwogU291cmNlMDogICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9pYnVz L2lidXMvcmVsZWFzZXMvZG93bmxvYWQvJXt2ZXJzaW9ufS8le25hbWV9LSV7dmVyc2lvbn0udGFy Lmd6CiBTb3VyY2UxOiAgICAgICAgJXtuYW1lfS14aW5wdXQKIFNvdXJjZTI6ICAgICAgICAle25h bWV9LmNvbmYuNQorU291cmNlMzogICAgICAgIGh0dHBzOi8vZnVqaXdhcmEuZmVkb3JhcGVvcGxl Lm9yZy9pYnVzL3BvLyV7bmFtZX0tcG8tMS41LjEwLTIwMTUwNDAyLnRhci5negogIyBVcHN0cmVh bWVkIHBhdGNoZXMuCiAjIFBhdGNoMDogICAgICAgICAlJXtuYW1lfS1IRUFELnBhdGNoCitQYXRj aDA6ICAgICAgICAgJSV7bmFtZX0tSEVBRC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAgZ2V0dGV4 dC1kZXZlbAogQnVpbGRSZXF1aXJlczogIGxpYnRvb2wKQEAgLTY3LDYgKzY5LDkgQEAgQnVpbGRS ZXF1aXJlczogIGludGx0b29sCiBCdWlsZFJlcXVpcmVzOiAgaXNvLWNvZGVzLWRldmVsCiBCdWls ZFJlcXVpcmVzOiAgbGlibm90aWZ5LWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgbGlid2F5bGFuZC1j bGllbnQtZGV2ZWwKKyVpZiAld2l0aF9rZGU1CitCdWlsZFJlcXVpcmVzOiAgcXQ1LXF0YmFzZS1k ZXZlbAorJWVuZGlmCiAKIFJlcXVpcmVzOiAgICAgICAle25hbWV9LWxpYnMlez9faXNhfSAgID0g JXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczogICAgICAgJXtuYW1lfS1ndGsyJXs/X2lz YX0gICA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQpAQCAtMjI1LDEwICsyMzAsMTMgQEAgVGhlIGli dXMtZGV2ZWwtZG9jcyBwYWNrYWdlIGNvbnRhaW5zIGRldmVsb3BlciBkb2N1bWVudGF0aW9uIGZv ciBJQnVzCiAlcHJlcAogJXNldHVwIC1xCiAjICUlcGF0Y2gwIC1wMQorJXBhdGNoMCAtcDEKICMg Y3AgY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIGNsaWVudC9ndGszL2lidXNpbWNvbnRleHQu YyB8fAoremNhdCAlU09VUkNFMyB8IHRhciB4ZnYgLQogCiAlYnVpbGQKICNhdXRvcmVjb25mIC1m IC1pIC12CithdXRvcmVjb25mIC1mIC1pIC12CiAjbWFrZSAtQyB1aS9ndGszIG1haW50YWluZXIt Y2xlYW4tZ2VuZXJpYwogJWNvbmZpZ3VyZSBcCiAgICAgLS1kaXNhYmxlLXN0YXRpYyBcCkBAIC0z MTksMjAgKzMyNywyMCBAQCBkY29uZiB1cGRhdGUgfHwgOgogJXBvc3QgZ3RrMgogaWYgWyAkMSAt ZXEgMSBdIDsgdGhlbgogICAgICMgRm9yIHVwZ3JhZGVzLCB0aGUgY2FjaGUgd2lsbCBiZSByZWdl bmVyYXRlZCBieSB0aGUgbmV3IHBhY2thZ2UncyAlJXBvc3R1bgotICAgICV7X2JpbmRpcn0vdXBk YXRlLWd0ay1pbW1vZHVsZXMgJXtfaG9zdH0gfHwgOgorICAgIGd0ay1xdWVyeS1pbW1vZHVsZXMt Mi4wLSV7X19pc2FfYml0c30gLS11cGRhdGUtY2FjaGUgJj4gL2Rldi9udWxsIHx8IDoKIGZpCiAK ICVwb3N0dW4gZ3RrMgotJXtfYmluZGlyfS91cGRhdGUtZ3RrLWltbW9kdWxlcyAle19ob3N0fSB8 fCA6CitndGstcXVlcnktaW1tb2R1bGVzLTIuMC0le19faXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hl ICY+IC9kZXYvbnVsbCB8fCA6CiAKICVwb3N0IGd0azMKIGlmIFsgJDEgLWVxIDEgXSA7IHRoZW4K ICAgICAjIEZvciB1cGdyYWRlcywgdGhlIGNhY2hlIHdpbGwgYmUgcmVnZW5lcmF0ZWQgYnkgdGhl IG5ldyBwYWNrYWdlJ3MgJSVwb3N0dW4KLSAgICAvdXNyL2Jpbi9ndGstcXVlcnktaW1tb2R1bGVz LTMuMC0le19faXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hlICY+IC9kZXYvbnVsbCB8fCA6CisgICAg Z3RrLXF1ZXJ5LWltbW9kdWxlcy0zLjAtJXtfX2lzYV9iaXRzfSAtLXVwZGF0ZS1jYWNoZSAmPiAv ZGV2L251bGwgfHwgOgogZmkKIAogJXBvc3R1biBndGszCi0vdXNyL2Jpbi9ndGstcXVlcnktaW1t b2R1bGVzLTMuMC0le19faXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hlICY+IC9kZXYvbnVsbCB8fCA6 CitndGstcXVlcnktaW1tb2R1bGVzLTMuMC0le19faXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hlICY+ IC9kZXYvbnVsbCB8fCA6CiAKIAogIyBGSVhNRTogbm8gdmVyc2lvbiBudW1iZXIKQEAgLTQxNSw2 ICs0MjMsMTUgQEAgZmkKICV7X2RhdGFkaXJ9L2d0ay1kb2MvaHRtbC8qCiAKICVjaGFuZ2Vsb2cK KyogVGh1IEFwciAwMiAyMDE1IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAt IDEuNS4xMC0yCistIFVwZGF0ZWQgaWJ1cy1IRUFELnBhdGNoIGZyb20gdXBzdHJlYW0KKyAgQWRk ZWQgU3dlZGlzaCBzdmR2b3JhaworICBJMThOIGVuZ2luZSBsb25nbmFtZXMgYW5kIGRlc2NyaXB0 aW9ucyBvbiBpYnVzLXNldHVwCisgIE1vdmVkIFByb3BlcnR5UGFuZWwgYXQgYm90dG9tIHJpZ2h0 IGluIEtERTUKKyAgRHJldyBncmF5IGNvbG9yIG9uIEhhbmRsZSBQcm9wZXJ0eVBhbmVsCisgIEVu YWJsZWQgaWJ1cyBlbmdpbmUgZnVsbCBwYXRoIGljb24gaW4gS0RFNQorICBVcGRhdGVkIHRyYW5z bGF0aW9ucworCiAqIFdlZCBGZWIgMjUgMjAxNSBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVk aGF0LmNvbT4gLSAxLjUuMTAtMQogLSBCdW1wZWQgdG8gMS41LjEwCiAKCmRpZmYgLS1naXQgYS9z b3VyY2VzIGIvc291cmNlcwppbmRleCA3YzEzZjU0Li40MTY4YmQwIDEwMDY0NAotLS0gYS9zb3Vy Y2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEsMiBAQAogZTJmMWQzNDA4MzYwMmVmNjg2NTg4MDE0 N2E0MDllYWEgIGlidXMtMS41LjEwLnRhci5negorODk5NmQ5NjNkNTMzM2ZiYzYwNzNkOTIxODE2 NzdiNzAgIGlidXMtcG8tMS41LjEwLTIwMTUwNDAyLnRhci5nego=