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: Leigh Scott To: git-commits@fedoraproject.org Subject: [rpms/cinnamon-session] f45: Update to 6.7.5-unstable Date: Tue, 22 Sep 2026 12:43:20 GMT Message-ID: <179008100046.1.5305150010470333221.rpms-cinnamon-session-9464e091b1bb@fedoraproject.org> List-ID: X-Git-Repo: rpms/cinnamon-session X-Git-Branch: f45 X-Git-Rev: 9464e091b1bb01bd8cc2adff3df070c3e69f5b96 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2lubmFtb24tc2Vz c2lvbgpCcmFuY2ggOiBmNDUKQ29tbWl0IDogOTQ2NGUwOTFiMWJiMDFiZDhjYzJhZGZmM2RmMDcw YzNlNjlmNWI5NgpBdXRob3IgOiBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFpbC5jb20+ CkRhdGUgICA6IDIwMjYtMDktMjJUMTM6NDA6MjcrMDE6MDAKU3RhdHMgIDogKzMvLTk5OCBpbiAz IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaW5u YW1vbi1zZXNzaW9uL2MvOTQ2NGUwOTFiMWJiMDFiZDhjYzJhZGZmM2RmMDcwYzNlNjlmNWI5Nj9i cmFuY2g9ZjQ1CgpMb2c6ClVwZGF0ZSB0byA2LjcuNS11bnN0YWJsZQoKLS0tCmRpZmYgLS1naXQg YS8yMTUucGF0Y2ggYi8yMTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJk MjFlMmYuLjAwMDAwMDAKLS0tIGEvMjE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTk0ICsw LDAgQEAKLUZyb20gMWUzODcwMmNmODRiY2RkMThmM2NjYjZhMzNhN2M3NjEwZDc4ZTRiYiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlaWdoIFNjb3R0IDxsZWlnaDEyM2xpbnV4QGdt YWlsLmNvbT4KLURhdGU6IFR1ZSwgOCBTZXAgMjAyNiAyMzoxNDo0OSArMDEwMAotU3ViamVjdDog W1BBVENIIDEvMl0gY3NtLW1hbmFnZXIuYzogUmVtb3ZlIE1ETSBzdXBwb3J0Ci0KLS0tLQotIGNp bm5hbW9uLXNlc3Npb24vY3NtLW1hbmFnZXIuYyB8ICA1NCArLS0tCi0gY2lubmFtb24tc2Vzc2lv bi9tZG0uYyAgICAgICAgIHwgNDcxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot IGNpbm5hbW9uLXNlc3Npb24vbWRtLmggICAgICAgICB8ICA1NCAtLS0tCi0gY2lubmFtb24tc2Vz c2lvbi9tZXNvbi5idWlsZCAgIHwgICAxIC0KLSA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgNTc2IGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBjaW5uYW1vbi1zZXNz aW9uL21kbS5jCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IGNpbm5hbW9uLXNlc3Npb24vbWRtLmgKLQot ZGlmZiAtLWdpdCBhL2Npbm5hbW9uLXNlc3Npb24vY3NtLW1hbmFnZXIuYyBiL2Npbm5hbW9uLXNl c3Npb24vY3NtLW1hbmFnZXIuYwotaW5kZXggNDhjMzNkYi4uZTc2NTY4YiAxMDA2NDQKLS0tLSBh L2Npbm5hbW9uLXNlc3Npb24vY3NtLW1hbmFnZXIuYwotKysrIGIvY2lubmFtb24tc2Vzc2lvbi9j c20tbWFuYWdlci5jCi1AQCAtNTMsNyArNTMsNiBAQAotICNpbmNsdWRlICJjc20tYXV0b3N0YXJ0 LWFwcC5oIgotIAotICNpbmNsdWRlICJjc20tdXRpbC5oIgotLSNpbmNsdWRlICJtZG0uaCIKLSAj aW5jbHVkZSAiY3NtLXN5c3RlbS5oIgotICNpbmNsdWRlICJjc20tc2Vzc2lvbi1zYXZlLmgiCi0g I2luY2x1ZGUgImluaGliaXQtZGlhbG9nLWluZm8uaCIKLUBAIC03Myw5ICs3Miw2IEBACi0gICov Ci0gI2RlZmluZSBDU01fTUFOQUdFUl9QSEFTRV9USU1FT1VUIDMwIC8qIHNlY29uZHMgKi8KLSAK LS0jZGVmaW5lIE1ETV9GTEVYSVNFUlZFUl9DT01NQU5EICJtZG1mbGV4aXNlcnZlciIKLS0jZGVm aW5lIE1ETV9GTEVYSVNFUlZFUl9BUkdTICAgICItLXN0YXJ0bmV3IFN0YW5kYXJkIgotLQotICNk ZWZpbmUgR0RNX0ZMRVhJU0VSVkVSX0NPTU1BTkQgImdkbWZsZXhpc2VydmVyIgotICNkZWZpbmUg R0RNX0ZMRVhJU0VSVkVSX0FSR1MgICAgIi0tc3RhcnRuZXcgU3RhbmRhcmQiCi0gCi1AQCAtMTEx LDEwICsxMDcsOCBAQCB0eXBlZGVmIGVudW0KLSAgICAgICAgIENTTV9NQU5BR0VSX0xPR09VVF9M T0dPVVQsCi0gICAgICAgICBDU01fTUFOQUdFUl9MT0dPVVRfUkVCT09ULAotICAgICAgICAgQ1NN X01BTkFHRVJfTE9HT1VUX1JFQk9PVF9JTlRFUkFDVCwKLS0gICAgICAgIENTTV9NQU5BR0VSX0xP R09VVF9SRUJPT1RfTURNLAotICAgICAgICAgQ1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOLAot LSAgICAgICAgQ1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOX0lOVEVSQUNULAotLSAgICAgICAg Q1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOX01ETQotKyAgICAgICAgQ1NNX01BTkFHRVJfTE9H T1VUX1NIVVRET1dOX0lOVEVSQUNUCi0gfSBDc21NYW5hZ2VyTG9nb3V0VHlwZTsKLSAKLSBzdHJ1 Y3QgQ3NtTWFuYWdlclByaXZhdGUKLUBAIC00NzIsMTcgKzQ2Niw2IEBAIHBoYXNlX251bV90b19u YW1lIChndWludCBwaGFzZSkKLSAKLSBzdGF0aWMgdm9pZCBzdGFydF9waGFzZSAoQ3NtTWFuYWdl ciAqbWFuYWdlcik7Ci0gCi0tc3RhdGljIHZvaWQKLS1xdWl0X3JlcXVlc3RfZmFpbGVkIChDc21T eXN0ZW0gKnN5c3RlbSwKLS0gICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgKmVycm9y LAotLSAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgdXNlcl9kYXRhKQotLXsKLS0g ICAgICAgIGdfd2FybmluZyAoIlVzaW5nIGFuIE1ETSBsb2dvdXQgYWN0aW9uIHRvIHNodXRkb3du L3JlYm9vdCB0aGUgc3lzdGVtLiIpOwotLSAgICAgICAgTWRtTG9nb3V0QWN0aW9uIGZhbGxiYWNr X2FjdGlvbiA9IEdQT0lOVEVSX1RPX0lOVCAodXNlcl9kYXRhKTsKLS0gICAgICAgIG1kbV9zZXRf bG9nb3V0X2FjdGlvbiAoZmFsbGJhY2tfYWN0aW9uKTsKLS0gICAgICAgIGNzbV9xdWl0ICgpOwot LX0KLS0KLSBzdGF0aWMgdm9pZAotIGNzbV9tYW5hZ2VyX3F1aXQgKENzbU1hbmFnZXIgKm1hbmFn ZXIpCi0gewotQEAgLTQ5OCwzMSArNDgxLDEzIEBAIGNzbV9tYW5hZ2VyX3F1aXQgKENzbU1hbmFn ZXIgKm1hbmFnZXIpCi0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9SRUJPT1Q6Ci0g ICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9SRUJPT1RfSU5URVJBQ1Q6Ci0gICAgICAg ICAgICAgICAgIGdfd2FybmluZyAoIlJlcXVlc3Rpbmcgc3lzdGVtIHJlc3RhcnQuLi4iKTsKLS0g ICAgICAgICAgICAgICAgbWRtX3NldF9sb2dvdXRfYWN0aW9uIChNRE1fTE9HT1VUX0FDVElPTl9O T05FKTsKLS0gICAgICAgICAgICAgICAgZ19zaWduYWxfY29ubmVjdCAobWFuYWdlci0+cHJpdi0+ c3lzdGVtLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdC1mYWls ZWQiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChxdWl0 X3JlcXVlc3RfZmFpbGVkKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lO VF9UT19QT0lOVEVSIChNRE1fTE9HT1VUX0FDVElPTl9SRUJPT1QpKTsKLSAgICAgICAgICAgICAg ICAgY3NtX3N5c3RlbV9hdHRlbXB0X3Jlc3RhcnQgKG1hbmFnZXItPnByaXYtPnN5c3RlbSk7Ci0g ICAgICAgICAgICAgICAgIGJyZWFrOwotLSAgICAgICAgY2FzZSBDU01fTUFOQUdFUl9MT0dPVVRf UkVCT09UX01ETToKLS0gICAgICAgICAgICAgICAgbWRtX3NldF9sb2dvdXRfYWN0aW9uIChNRE1f TE9HT1VUX0FDVElPTl9SRUJPT1QpOwotLSAgICAgICAgICAgICAgICBjc21fcXVpdCAoKTsKLS0g ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9T SFVURE9XTjoKLS0gICAgICAgIGNhc2UgQ1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOX0lOVEVS QUNUOiAgCi0rICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9TSFVURE9XTl9JTlRFUkFD VDoKLSAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiUmVxdWVzdGluZyBzeXN0ZW0gc2h1dGRv d24uLi4iKTsKLS0gICAgICAgICAgICAgICAgbWRtX3NldF9sb2dvdXRfYWN0aW9uIChNRE1fTE9H T1VUX0FDVElPTl9OT05FKTsKLS0gICAgICAgICAgICAgICAgZ19zaWduYWxfY29ubmVjdCAobWFu YWdlci0+cHJpdi0+c3lzdGVtLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi cmVxdWVzdC1mYWlsZWQiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NB TExCQUNLIChxdWl0X3JlcXVlc3RfZmFpbGVkKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR0lOVF9UT19QT0lOVEVSIChNRE1fTE9HT1VUX0FDVElPTl9TSFVURE9XTikpOwot ICAgICAgICAgICAgICAgICBjc21fc3lzdGVtX2F0dGVtcHRfc3RvcCAobWFuYWdlci0+cHJpdi0+ c3lzdGVtKTsKLSAgICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAgICBjYXNlIENTTV9NQU5B R0VSX0xPR09VVF9TSFVURE9XTl9NRE06Ci0tICAgICAgICAgICAgICAgIG1kbV9zZXRfbG9nb3V0 X2FjdGlvbiAoTURNX0xPR09VVF9BQ1RJT05fU0hVVERPV04pOwotLSAgICAgICAgICAgICAgICBj c21fcXVpdCAoKTsKLS0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICBkZWZhdWx0Ogot ICAgICAgICAgICAgICAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCAoKTsKLSAgICAgICAgICAgICAg ICAgYnJlYWs7Ci1AQCAtMTEyMSw3ICsxMDg2LDYgQEAgY2FuY2VsX2VuZF9zZXNzaW9uIChDc21N YW5hZ2VyICptYW5hZ2VyKQotICAgICAgICAgbWFuYWdlci0+cHJpdi0+bG9nb3V0X21vZGUgPSBD U01fTUFOQUdFUl9MT0dPVVRfTU9ERV9OT1JNQUw7Ci0gCi0gICAgICAgICBtYW5hZ2VyLT5wcml2 LT5sb2dvdXRfdHlwZSA9IENTTV9NQU5BR0VSX0xPR09VVF9OT05FOwotLSAgICAgICAgbWRtX3Nl dF9sb2dvdXRfYWN0aW9uIChNRE1fTE9HT1VUX0FDVElPTl9OT05FKTsKLSAKLSAgICAgICAgIG1h bmFnZXItPnByaXYtPmRpYWxvZ19hY3Rpb24gPSBDU01fTE9HT1VUX0FDVElPTl9VTkRFRklORUQ7 Ci0gCi1AQCAtMTE4Niw3ICsxMTUwLDcgQEAgZmxleGlzZXJ2ZXJfbGF1bmNoIChjb25zdCBnY2hh ciAqKmFyZ3YpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZlcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgaWYgKGVycm9y KSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkNzbU1hbmFnZXI6IFVuYWJs ZSB0byBzdGFydCBNRE0gZ3JlZXRlcjogJXMiLCBlcnJvci0+bWVzc2FnZSk7Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkNzbU1hbmFnZXI6IFVuYWJsZSB0byBzdGFydCBncmVl dGVyOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vy cm9yX2ZyZWUgKGVycm9yKTsKLSAgICAgICAgICAgICAgICAgfQotICAgICAgICAgfQotQEAgLTEy MDUsMTUgKzExNjksNyBAQCBtYW5hZ2VyX3N3aXRjaF91c2VyIChDc21NYW5hZ2VyICptYW5hZ2Vy KQotICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAo cHJvY2Vzc19pc19ydW5uaW5nICgibWRtIikpIHsKLS0gICAgICAgICAgICAgICAgY29uc3QgZ2No YXIgKmNvbW1hbmRbXSA9IHsKLS0gICAgICAgICAgICAgICAgICAgICBNRE1fRkxFWElTRVJWRVJf Q09NTUFORCwKLS0gICAgICAgICAgICAgICAgICAgICBNRE1fRkxFWElTRVJWRVJfQVJHUywKLS0g ICAgICAgICAgICAgICAgICAgICBOVUxMCi0tICAgICAgICAgICAgICAgIH07Ci0tCi0tICAgICAg ICAgICAgICAgIGZsZXhpc2VydmVyX2xhdW5jaCAoY29tbWFuZCk7Ci0tICAgICAgICB9IGVsc2Ug aWYgKHByb2Nlc3NfaXNfcnVubmluZygiZ2RtIikgfHwgcHJvY2Vzc19pc19ydW5uaW5nKCJnZG0z IikpIHsKLSsgICAgICAgIGlmIChwcm9jZXNzX2lzX3J1bm5pbmcoImdkbSIpIHx8IHByb2Nlc3Nf aXNfcnVubmluZygiZ2RtMyIpKSB7Ci0gICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpjb21t YW5kW10gPSB7Ci0gICAgICAgICAgICAgICAgICAgICAgR0RNX0ZMRVhJU0VSVkVSX0NPTU1BTkQs Ci0gICAgICAgICAgICAgICAgICAgICAgR0RNX0ZMRVhJU0VSVkVSX0FSR1MsCi1AQCAtMTM0OSwx MiArMTMwNSwxMCBAQCBlbmRfc2Vzc2lvbl9vcl9yZXBvcnRfaW5oaWJpdG9ycyAoQ3NtTWFuYWdl ciAqbWFuYWdlcikKLSAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICBjYXNlIENTTV9N QU5BR0VSX0xPR09VVF9SRUJPT1Q6Ci0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9S RUJPT1RfSU5URVJBQ1Q6Ci0tICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9SRUJPT1Rf TURNOgotICAgICAgICAgICAgICAgICBhY3Rpb24gPSBDU01fTE9HT1VUX0FDVElPTl9SRUJPT1Q7 Ci0gICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgY2FzZSBDU01fTUFOQUdFUl9MT0dP VVRfU0hVVERPV046Ci0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9TSFVURE9XTl9J TlRFUkFDVDoKLS0gICAgICAgIGNhc2UgQ1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOX01ETToK LSAgICAgICAgICAgICAgICAgYWN0aW9uID0gQ1NNX0xPR09VVF9BQ1RJT05fU0hVVERPV047Ci0g ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgZGVmYXVsdDoKLWRpZmYgLS1naXQgYS9j aW5uYW1vbi1zZXNzaW9uL21kbS5jIGIvY2lubmFtb24tc2Vzc2lvbi9tZG0uYwotZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAzYWVlZWViLi4wMDAwMDAwCi0tLS0gYS9jaW5uYW1vbi1z ZXNzaW9uL21kbS5jCi0rKysgL2Rldi9udWxsCi1AQCAtMSw0NzEgKzAsMCBAQAotLS8qIC0qLSBN b2RlOiBDOyB0YWItd2lkdGg6IDg7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZz ZXQ6IDggLSotCi0tICoKLS0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgUmFmZmFlbGUgU2FuZHJpbmkK LS0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgUmVkIEhhdCwgSW5jLgotLSAqIENvcHlyaWdodCAoQykg MjAwMiwgMjAwMyBHZW9yZ2UgTGVibAotLSAqIENvcHlyaWdodCAoQykgMjAwMSBRdWVlbiBvZiBF bmdsYW5kLAotLSAqCi0tICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0tICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlCi0tICogTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0gKgotLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLCBidXQKLS0gKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0tICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLS0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0tICoKLS0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICogRm91bmRh dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gU3VpdGUgNTAwLCBCb3N0b24sIE1BCi0t ICogMDIxMTAtMTMzNSwgVVNBLgotLSAqCi0tICogQXV0aG9yczoKLS0gKiAgICAgIFJhZmZhZWxl IFNhbmRyaW5pIDxyYXNhQGdteC5jaD4KLS0gKiAgICAgIEdlb3JnZSBMZWJsIDxqaXJrYUA1ei5j b20+Ci0tICogICAgICBNYXJrIE1jTG91Z2hsaW4gPG1hcmtAc2t5bmV0LmllPgotLSAqLwotLQot LSNpZmRlZiBIQVZFX0NPTkZJR19ICi0tI2luY2x1ZGUgPGNvbmZpZy5oPgotLSNlbmRpZgotLQot LSNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVkZSA8ZXJybm8uaD4KLS0jaW5jbHVkZSA8dW5p c3RkLmg+Ci0tI2luY2x1ZGUgPHRpbWUuaD4KLS0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotLSNp bmNsdWRlIDxzeXMvdW4uaD4KLS0KLS0jaW5jbHVkZSA8WDExL1hhdXRoLmg+Ci0tI2luY2x1ZGUg PGdkay9nZGsuaD4KLS0KLS0jaW5jbHVkZSAibWRtLmgiCi0tCi0tI2RlZmluZSBNRE1fUFJPVE9D T0xfVVBEQVRFX0lOVEVSVkFMIDEgLyogc2Vjb25kcyAqLwotLQotLSNkZWZpbmUgTURNX1BST1RP Q09MX1NPQ0tFVF9QQVRIICIvdmFyL3J1bi9nZG1fc29ja2V0IgotLQotLSNkZWZpbmUgTURNX1BS T1RPQ09MX01TR19DTE9TRSAgICAgICAgICJDTE9TRSIKLS0jZGVmaW5lIE1ETV9QUk9UT0NPTF9N U0dfVkVSU0lPTiAgICAgICAiVkVSU0lPTiIKLS0jZGVmaW5lIE1ETV9QUk9UT0NPTF9NU0dfQVVU SEVOVElDQVRFICAiQVVUSF9MT0NBTCIKLS0jZGVmaW5lIE1ETV9QUk9UT0NPTF9NU0dfUVVFUllf QUNUSU9OICAiUVVFUllfTE9HT1VUX0FDVElPTiIKLS0jZGVmaW5lIE1ETV9QUk9UT0NPTF9NU0df U0VUX0FDVElPTiAgICAiU0VUX1NBRkVfTE9HT1VUX0FDVElPTiIKLS0jZGVmaW5lIE1ETV9QUk9U T0NPTF9NU0dfRkxFWElfWFNFUlZFUiAiRkxFWElfWFNFUlZFUiIKLS0KLS0jZGVmaW5lIE1ETV9B Q1RJT05fU1RSX05PTkUgICAgICJOT05FIgotLSNkZWZpbmUgTURNX0FDVElPTl9TVFJfU0hVVERP V04gIkhBTFQiCi0tI2RlZmluZSBNRE1fQUNUSU9OX1NUUl9SRUJPT1QgICAiUkVCT09UIgotLSNk ZWZpbmUgTURNX0FDVElPTl9TVFJfU1VTUEVORCAgIlNVU1BFTkQiCi0tCi0tdHlwZWRlZiBzdHJ1 Y3QgewotLSAgICAgICAgaW50ICAgICAgICAgICAgIGZkOwotLSAgICAgICAgY2hhciAgICAgICAg ICAgKmF1dGhfY29va2llOwotLQotLSAgICAgICAgTWRtTG9nb3V0QWN0aW9uIGF2YWlsYWJsZV9h Y3Rpb25zOwotLSAgICAgICAgTWRtTG9nb3V0QWN0aW9uIGN1cnJlbnRfYWN0aW9uczsKLS0KLS0g ICAgICAgIHRpbWVfdCAgICAgICAgICBsYXN0X3VwZGF0ZTsKLS19IE1kbVByb3RvY29sRGF0YTsK LS0KLS1zdGF0aWMgTWRtUHJvdG9jb2xEYXRhIG1kbV9wcm90b2NvbF9kYXRhID0gewotLSAgICAg ICAgMCwKLS0gICAgICAgIE5VTEwsCi0tICAgICAgICBNRE1fTE9HT1VUX0FDVElPTl9OT05FLAot LSAgICAgICAgTURNX0xPR09VVF9BQ1RJT05fTk9ORSwKLS0gICAgICAgIDAKLS19OwotLQotLXN0 YXRpYyBjaGFyICoKLS1tZG1fc2VuZF9wcm90b2NvbF9tc2cgKE1kbVByb3RvY29sRGF0YSAqZGF0 YSwKLS0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAqbXNnKQotLXsKLS0g ICAgICAgIEdTdHJpbmcgKnJldHZhbDsKLS0gICAgICAgIGNoYXIgYnVmWzI1Nl07Ci0tICAgICAg ICBjaGFyICpwOwotLSAgICAgICAgaW50IGxlbjsKLS0KLS0gICAgICAgIHAgPSBnX3N0cmNvbmNh dCAobXNnLCAiXG4iLCBOVUxMKTsKLS0KLS0gICAgICAgIGlmICh3cml0ZSAoZGF0YS0+ZmQsIHAs IHN0cmxlbiAocCkpIDwgMCkgewotLSAgICAgICAgICAgICAgICBnX2ZyZWUgKHApOwotLQotLSAg ICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gc2VuZCBtZXNzYWdlIHRvIE1ETTog JXMiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfc3RyZXJyb3IgKGVycm5vKSk7Ci0t Ci0tICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotLSAgICAgICAgfQotLQotLSAgICAgICAg Z19mcmVlIChwKTsKLS0KLS0gICAgICAgIHAgPSBOVUxMOwotLSAgICAgICAgcmV0dmFsID0gTlVM TDsKLS0KLS0gICAgICAgIHdoaWxlICgobGVuID0gcmVhZCAoZGF0YS0+ZmQsIGJ1Ziwgc2l6ZW9m IChidWYpIC0gMSkpID4gMCkgewotLSAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7Ci0t Ci0tICAgICAgICAgICAgICAgIGlmICghcmV0dmFsKSB7Ci0tICAgICAgICAgICAgICAgICAgICAg ICAgcmV0dmFsID0gZ19zdHJpbmdfbmV3IChidWYpOwotLSAgICAgICAgICAgICAgICB9IGVsc2Ug ewotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGdfc3RyaW5nX2FwcGVuZCAocmV0 dmFsLCBidWYpOwotLSAgICAgICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgICAgICAgIGlmICgo cCA9IHN0cmNociAocmV0dmFsLT5zdHIsICdcbicpKSkgewotLSAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBp ZiAocCkgewotLSAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0tICAgICAgICB9Ci0tCi0tICAg ICAgICByZXR1cm4gcmV0dmFsID8gZ19zdHJpbmdfZnJlZSAocmV0dmFsLCBGQUxTRSkgOiBOVUxM OwotLX0KLS0KLS1zdGF0aWMgY2hhciAqCi0tZ2V0X2Rpc3BsYXlfbnVtYmVyICh2b2lkKQotLXsK LS0gICAgICAgIGNvbnN0IGNoYXIgKmRpc3BsYXlfbmFtZTsKLS0gICAgICAgIGNoYXIgICAgICAg KnJldHZhbDsKLS0gICAgICAgIGNoYXIgICAgICAgKnA7Ci0tCi0tICAgICAgICBkaXNwbGF5X25h bWUgPSBnZGtfZGlzcGxheV9nZXRfbmFtZSAoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQgKCkpOwot LQotLSAgICAgICAgcCA9IHN0cmNociAoZGlzcGxheV9uYW1lLCAnOicpOwotLQotLSAgICAgICAg aWYgKCFwKSB7Ci0tICAgICAgICAgICAgICAgIHJldHVybiBnX3N0cmR1cCAoIjAiKTsKLS0gICAg ICAgIH0KLS0KLS0gICAgICAgIHdoaWxlICgqcCA9PSAnOicpIHsKLS0gICAgICAgICAgICAgICAg cCsrOwotLSAgICAgICAgfQotLQotLSAgICAgICAgcmV0dmFsID0gZ19zdHJkdXAgKHApOwotLQot LSAgICAgICAgcCA9IHN0cmNociAocmV0dmFsLCAnLicpOwotLQotLSAgICAgICAgaWYgKHAgIT0g TlVMTCkgewotLSAgICAgICAgICAgICAgICAqcCA9ICdcMCc7Ci0tICAgICAgICB9Ci0tCi0tICAg ICAgICByZXR1cm4gcmV0dmFsOwotLX0KLS0KLS1zdGF0aWMgZ2Jvb2xlYW4KLS1tZG1fYXV0aGVu dGljYXRlX2Nvbm5lY3Rpb24gKE1kbVByb3RvY29sRGF0YSAqZGF0YSkKLS17Ci0tI2RlZmluZSBN RE1fTUlUX01BR0lDX0NPT0tJRV9MRU4gMTYKLS0KLS0gICAgICAgIGNvbnN0IGNoYXIgKnhhdV9w YXRoOwotLSAgICAgICAgRklMRSAqZjsKLS0gICAgICAgIFhhdXRoICp4YXU7Ci0tICAgICAgICBj aGFyICpkaXNwbGF5X251bWJlcjsKLS0gICAgICAgIGdib29sZWFuIHJldHZhbDsKLS0KLS0gICAg ICAgIGlmIChkYXRhLT5hdXRoX2Nvb2tpZSkgewotLSAgICAgICAgICAgICAgICBjaGFyICptc2c7 Ci0tICAgICAgICAgICAgICAgIGNoYXIgKnJlc3BvbnNlOwotLQotLSAgICAgICAgICAgICAgICBt c2cgPSBnX3N0cmR1cF9wcmludGYgKE1ETV9QUk9UT0NPTF9NU0dfQVVUSEVOVElDQVRFICIgJXMi LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPmF1dGhfY29v a2llKTsKLS0gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBtZG1fc2VuZF9wcm90b2NvbF9tc2cg KGRhdGEsIG1zZyk7Ci0tICAgICAgICAgICAgICAgIGdfZnJlZSAobXNnKTsKLS0KLS0gICAgICAg ICAgICAgICAgaWYgKHJlc3BvbnNlICYmICFzdHJjbXAgKHJlc3BvbnNlLCAiT0siKSkgewotLSAg ICAgICAgICAgICAgICAgICAgICAgIGdfZnJlZSAocmVzcG9uc2UpOwotLSAgICAgICAgICAgICAg ICAgICAgICAgIHJldHVybiBUUlVFOwotLSAgICAgICAgICAgICAgICB9IGVsc2UgewotLSAgICAg ICAgICAgICAgICAgICAgICAgIGdfZnJlZSAocmVzcG9uc2UpOwotLSAgICAgICAgICAgICAgICAg ICAgICAgIGdfZnJlZSAoZGF0YS0+YXV0aF9jb29raWUpOwotLSAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGEtPmF1dGhfY29va2llID0gTlVMTDsKLS0gICAgICAgICAgICAgICAgfQotLSAgICAg ICAgfQotLQotLSAgICAgICAgaWYgKCEoeGF1X3BhdGggPSBYYXVGaWxlTmFtZSAoKSkpIHsKLS0g ICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwotLSAgICAgICAgfQotLQotLSAgICAgICAgaWYg KCEoZiA9IGZvcGVuICh4YXVfcGF0aCwgInIiKSkpIHsKLS0gICAgICAgICAgICAgICAgcmV0dXJu IEZBTFNFOwotLSAgICAgICAgfQotLQotLSAgICAgICAgcmV0dmFsID0gRkFMU0U7Ci0tICAgICAg ICBkaXNwbGF5X251bWJlciA9IGdldF9kaXNwbGF5X251bWJlciAoKTsKLS0KLS0gICAgICAgIHdo aWxlICgoeGF1ID0gWGF1UmVhZEF1dGggKGYpKSkgewotLSAgICAgICAgICAgICAgICBjaGFyIGJ1 ZmZlcls0MF07IC8qIDIqMTYgPT0gMzIsIHNvIDQwIGlzIGVub3VnaCAqLwotLSAgICAgICAgICAg ICAgICBjaGFyICptc2c7Ci0tICAgICAgICAgICAgICAgIGNoYXIgKnJlc3BvbnNlOwotLSAgICAg ICAgICAgICAgICBpbnQgICBpOwotLQotLSAgICAgICAgICAgICAgICBpZiAoeGF1LT5mYW1pbHkg IT0gRmFtaWx5TG9jYWwgfHwKLS0gICAgICAgICAgICAgICAgICAgIHN0cm5jbXAgKHhhdS0+bnVt YmVyLCBkaXNwbGF5X251bWJlciwgeGF1LT5udW1iZXJfbGVuZ3RoKSB8fAotLSAgICAgICAgICAg ICAgICAgICAgc3RybmNtcCAoeGF1LT5uYW1lLCAiTUlULU1BR0lDLUNPT0tJRS0xIiwgeGF1LT5u YW1lX2xlbmd0aCkgfHwKLS0gICAgICAgICAgICAgICAgICAgIHhhdS0+ZGF0YV9sZW5ndGggIT0g TURNX01JVF9NQUdJQ19DT09LSUVfTEVOKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgWGF1 RGlzcG9zZUF1dGggKHhhdSk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0t ICAgICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IE1E TV9NSVRfTUFHSUNfQ09PS0lFX0xFTjsgaSsrKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAg Z19zbnByaW50ZiAoYnVmZmVyICsgMippLCAzLCAiJTAyeCIsIChndWludCkoZ3VjaGFyKXhhdS0+ ZGF0YVtpXSk7Ci0tICAgICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgWGF1RGlz cG9zZUF1dGggKHhhdSk7Ci0tCi0tICAgICAgICAgICAgICAgIG1zZyA9IGdfc3RyZHVwX3ByaW50 ZiAoTURNX1BST1RPQ09MX01TR19BVVRIRU5USUNBVEUgIiAlcyIsIGJ1ZmZlcik7Ci0tICAgICAg ICAgICAgICAgIHJlc3BvbnNlID0gbWRtX3NlbmRfcHJvdG9jb2xfbXNnIChkYXRhLCBtc2cpOwot LSAgICAgICAgICAgICAgICBnX2ZyZWUgKG1zZyk7Ci0tCi0tICAgICAgICAgICAgICAgIGlmIChy ZXNwb25zZSAmJiAhc3RyY21wIChyZXNwb25zZSwgIk9LIikpIHsKLS0gICAgICAgICAgICAgICAg ICAgICAgICBkYXRhLT5hdXRoX2Nvb2tpZSA9IGdfc3RyZHVwIChidWZmZXIpOwotLSAgICAgICAg ICAgICAgICAgICAgICAgIGdfZnJlZSAocmVzcG9uc2UpOwotLSAgICAgICAgICAgICAgICAgICAg ICAgIHJldHZhbCA9IFRSVUU7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAg ICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgZ19mcmVlIChyZXNwb25zZSk7Ci0t ICAgICAgICB9Ci0tCi0tICAgICAgICBnX2ZyZWUgKGRpc3BsYXlfbnVtYmVyKTsKLS0KLS0gICAg ICAgIGZjbG9zZSAoZik7Ci0tCi0tICAgICAgICByZXR1cm4gcmV0dmFsOwotLQotLSN1bmRlZiBN RE1fTUlUX01BR0lDX0NPT0tJRV9MRU4KLS19Ci0tCi0tc3RhdGljIHZvaWQKLS1tZG1fc2h1dGRv d25fcHJvdG9jb2xfY29ubmVjdGlvbiAoTWRtUHJvdG9jb2xEYXRhICpkYXRhKQotLXsKLS0gICAg ICAgIGlmIChkYXRhLT5mZCkgewotLSAgICAgICAgICAgICAgICBjbG9zZSAoZGF0YS0+ZmQpOwot LSAgICAgICAgfQotLQotLSAgICAgICAgZGF0YS0+ZmQgPSAwOwotLX0KLS0KLS1zdGF0aWMgZ2Jv b2xlYW4KLS1tZG1faW5pdF9wcm90b2NvbF9jb25uZWN0aW9uIChNZG1Qcm90b2NvbERhdGEgKmRh dGEpCi0tewotLSAgICAgICAgc3RydWN0IHNvY2thZGRyX3VuIGFkZHI7Ci0tICAgICAgICBjaGFy ICAgICAgICAgICAgICAqcmVzcG9uc2U7Ci0tCi0tICAgICAgICBnX2Fzc2VydCAoZGF0YS0+ZmQg PD0gMCk7Ci0tCi0tICAgICAgICBpZiAoZ19maWxlX3Rlc3QgKE1ETV9QUk9UT0NPTF9TT0NLRVRf UEFUSCwgR19GSUxFX1RFU1RfRVhJU1RTKSkgewotLSAgICAgICAgICAgICAgICBzdHJjcHkgKGFk ZHIuc3VuX3BhdGgsIE1ETV9QUk9UT0NPTF9TT0NLRVRfUEFUSCk7Ci0tICAgICAgICB9IGVsc2Ug aWYgKGdfZmlsZV90ZXN0ICgiL3RtcC8ubWRtX3NvY2tldCIsIEdfRklMRV9URVNUX0VYSVNUUykp IHsKLS0gICAgICAgICAgICAgICAgc3RyY3B5IChhZGRyLnN1bl9wYXRoLCAiL3RtcC8ubWRtX3Nv Y2tldCIpOwotLSAgICAgICAgfSBlbHNlIHsKLS0gICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNF OwotLSAgICAgICAgfQotLQotLSAgICAgICAgZGF0YS0+ZmQgPSBzb2NrZXQgKEFGX1VOSVgsIFNP Q0tfU1RSRUFNLCAwKTsKLS0KLS0gICAgICAgIGlmIChkYXRhLT5mZCA8IDApIHsKLS0gICAgICAg ICAgICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIGNyZWF0ZSBNRE0gc29ja2V0OiAlcyIsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19zdHJlcnJvciAoZXJybm8pKTsKLS0KLS0gICAg ICAgICAgICAgICAgbWRtX3NodXRkb3duX3Byb3RvY29sX2Nvbm5lY3Rpb24gKGRhdGEpOwotLQot LSAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBh ZGRyLnN1bl9mYW1pbHkgPSBBRl9VTklYOwotLQotLSAgICAgICAgaWYgKGNvbm5lY3QgKGRhdGEt PmZkLCAoc3RydWN0IHNvY2thZGRyICopICZhZGRyLCBzaXplb2YgKGFkZHIpKSA8IDApIHsKLS0g ICAgICAgICAgICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rp b24gd2l0aCBNRE06ICVzIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICBnX3N0cmVycm9y IChlcnJubykpOwotLQotLSAgICAgICAgICAgICAgICBtZG1fc2h1dGRvd25fcHJvdG9jb2xfY29u bmVjdGlvbiAoZGF0YSk7Ci0tCi0tICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLS0gICAg ICAgIH0KLS0KLS0gICAgICAgIHJlc3BvbnNlID0gbWRtX3NlbmRfcHJvdG9jb2xfbXNnIChkYXRh LCBNRE1fUFJPVE9DT0xfTVNHX1ZFUlNJT04pOwotLQotLSAgICAgICAgaWYgKCFyZXNwb25zZSB8 fCBzdHJuY21wIChyZXNwb25zZSwgIk1ETSAiLCBzdHJsZW4gKCJNRE0gIikpICE9IDApIHsKLS0g ICAgICAgICAgICAgICAgZ19mcmVlIChyZXNwb25zZSk7Ci0tCi0tICAgICAgICAgICAgICAgIGdf d2FybmluZyAoIkZhaWxlZCB0byBnZXQgcHJvdG9jb2wgdmVyc2lvbiBmcm9tIE1ETSIpOwotLSAg ICAgICAgICAgICAgICBtZG1fc2h1dGRvd25fcHJvdG9jb2xfY29ubmVjdGlvbiAoZGF0YSk7Ci0t Ci0tICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLS0gICAgICAgIH0KLS0KLS0gICAgICAg IGdfZnJlZSAocmVzcG9uc2UpOwotLQotLSAgICAgICAgaWYgKCFtZG1fYXV0aGVudGljYXRlX2Nv bm5lY3Rpb24gKGRhdGEpKSB7Ci0tICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0 byBhdXRoZW50aWNhdGUgd2l0aCBNRE0iKTsKLS0gICAgICAgICAgICAgICAgbWRtX3NodXRkb3du X3Byb3RvY29sX2Nvbm5lY3Rpb24gKGRhdGEpOwotLSAgICAgICAgICAgICAgICByZXR1cm4gRkFM U0U7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICByZXR1cm4gVFJVRTsKLS19Ci0tCi0tc3RhdGlj IHZvaWQKLS1tZG1fcGFyc2VfcXVlcnlfcmVzcG9uc2UgKE1kbVByb3RvY29sRGF0YSAqZGF0YSwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAqcmVzcG9uc2UpCi0t ewotLSAgICAgICAgY2hhciAqKmFjdGlvbnM7Ci0tICAgICAgICBpbnQgaTsKLS0KLS0gICAgICAg IGRhdGEtPmF2YWlsYWJsZV9hY3Rpb25zID0gTURNX0xPR09VVF9BQ1RJT05fTk9ORTsKLS0gICAg ICAgIGRhdGEtPmN1cnJlbnRfYWN0aW9ucyAgID0gTURNX0xPR09VVF9BQ1RJT05fTk9ORTsKLS0K LS0gICAgICAgIGlmIChzdHJuY21wIChyZXNwb25zZSwgIk9LICIsIDMpICE9IDApIHsKLS0gICAg ICAgICAgICAgICAgcmV0dXJuOwotLSAgICAgICAgfQotLQotLSAgICAgICAgcmVzcG9uc2UgKz0g MzsKLS0KLS0gICAgICAgIGFjdGlvbnMgPSBnX3N0cnNwbGl0IChyZXNwb25zZSwgIjsiLCAtMSk7 Ci0tCi0tICAgICAgICBmb3IgKGkgPSAwOyBhY3Rpb25zW2ldOyBpKyspIHsKLS0gICAgICAgICAg ICAgICAgTWRtTG9nb3V0QWN0aW9uIGFjdGlvbiA9IE1ETV9MT0dPVVRfQUNUSU9OX05PTkU7Ci0t ICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBzZWxlY3RlZCA9IEZBTFNFOwotLSAgICAg ICAgICAgICAgICBjaGFyICAgICAgICAgICAqc3RyID0gYWN0aW9ucyBbaV07Ci0tICAgICAgICAg ICAgICAgIGludCAgICAgICAgICAgICBsZW47Ci0tCi0tICAgICAgICAgICAgICAgIGxlbiA9IHN0 cmxlbiAoc3RyKTsKLS0KLS0gICAgICAgICAgICAgICAgaWYgKCFsZW4pIHsKLS0gICAgICAgICAg ICAgICAgICAgICAgICBjb250aW51ZTsKLS0gICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAg ICAgICAgICBpZiAoc3RyW2xlbiAtIDFdID09ICchJykgewotLSAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGVjdGVkID0gVFJVRTsKLS0gICAgICAgICAgICAgICAgICAgICAgICBzdHJbbGVuIC0g MV0gPSAnXDAnOwotLSAgICAgICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgICAgICAgIGlmICgh c3RyY21wIChzdHIsIE1ETV9BQ1RJT05fU1RSX1NIVVRET1dOKSkgewotLSAgICAgICAgICAgICAg ICAgICAgICAgIGFjdGlvbiA9IE1ETV9MT0dPVVRfQUNUSU9OX1NIVVRET1dOOwotLSAgICAgICAg ICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKHN0ciwgTURNX0FDVElPTl9TVFJfUkVCT09UKSkg ewotLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9IE1ETV9MT0dPVVRfQUNUSU9OX1JF Qk9PVDsKLS0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghc3RyY21wIChzdHIsIE1ETV9BQ1RJ T05fU1RSX1NVU1BFTkQpKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID0gTURN X0xPR09VVF9BQ1RJT05fU1VTUEVORDsKLS0gICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAg ICAgICAgICBkYXRhLT5hdmFpbGFibGVfYWN0aW9ucyB8PSBhY3Rpb247Ci0tCi0tICAgICAgICAg ICAgICAgIGlmIChzZWxlY3RlZCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPmN1 cnJlbnRfYWN0aW9ucyB8PSBhY3Rpb247Ci0tICAgICAgICAgICAgICAgIH0KLS0gICAgICAgIH0K LS0KLS0gICAgICAgIGdfc3RyZnJlZXYgKGFjdGlvbnMpOwotLX0KLS0KLS1zdGF0aWMgdm9pZAot LW1kbV91cGRhdGVfbG9nb3V0X2FjdGlvbnMgKE1kbVByb3RvY29sRGF0YSAqZGF0YSkKLS17Ci0t ICAgICAgICB0aW1lX3QgY3VycmVudF90aW1lOwotLSAgICAgICAgY2hhciAgKnJlc3BvbnNlOwot LQotLSAgICAgICAgY3VycmVudF90aW1lID0gdGltZSAoTlVMTCk7Ci0tCi0tICAgICAgICBpZiAo Y3VycmVudF90aW1lIDw9IChkYXRhLT5sYXN0X3VwZGF0ZSArIE1ETV9QUk9UT0NPTF9VUERBVEVf SU5URVJWQUwpKSB7Ci0tICAgICAgICAgICAgICAgIHJldHVybjsKLS0gICAgICAgIH0KLS0KLS0g ICAgICAgIGRhdGEtPmxhc3RfdXBkYXRlID0gY3VycmVudF90aW1lOwotLQotLSAgICAgICAgaWYg KCFtZG1faW5pdF9wcm90b2NvbF9jb25uZWN0aW9uIChkYXRhKSkgewotLSAgICAgICAgICAgICAg ICByZXR1cm47Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBpZiAoKHJlc3BvbnNlID0gbWRtX3Nl bmRfcHJvdG9jb2xfbXNnIChkYXRhLCBNRE1fUFJPVE9DT0xfTVNHX1FVRVJZX0FDVElPTikpKSB7 Ci0tICAgICAgICAgICAgICAgIG1kbV9wYXJzZV9xdWVyeV9yZXNwb25zZSAoZGF0YSwgcmVzcG9u c2UpOwotLSAgICAgICAgICAgICAgICBnX2ZyZWUgKHJlc3BvbnNlKTsKLS0gICAgICAgIH0KLS0K LS0gICAgICAgIG1kbV9zaHV0ZG93bl9wcm90b2NvbF9jb25uZWN0aW9uIChkYXRhKTsKLS19Ci0t Ci0tZ2Jvb2xlYW4KLS1tZG1faXNfYXZhaWxhYmxlICh2b2lkKQotLXsKLS0gICAgICAgIGlmICgh bWRtX2luaXRfcHJvdG9jb2xfY29ubmVjdGlvbiAoJm1kbV9wcm90b2NvbF9kYXRhKSkgewotLSAg ICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBtZG1f c2h1dGRvd25fcHJvdG9jb2xfY29ubmVjdGlvbiAoJm1kbV9wcm90b2NvbF9kYXRhKTsKLS0KLS0g ICAgICAgIHJldHVybiBUUlVFOwotLX0KLS0KLS1nYm9vbGVhbgotLW1kbV9zdXBwb3J0c19sb2dv dXRfYWN0aW9uIChNZG1Mb2dvdXRBY3Rpb24gYWN0aW9uKQotLXsKLS0gICAgICAgIG1kbV91cGRh dGVfbG9nb3V0X2FjdGlvbnMgKCZtZG1fcHJvdG9jb2xfZGF0YSk7Ci0tCi0tICAgICAgICByZXR1 cm4gKG1kbV9wcm90b2NvbF9kYXRhLmF2YWlsYWJsZV9hY3Rpb25zICYgYWN0aW9uKSAhPSAwOwot LX0KLS0KLS1NZG1Mb2dvdXRBY3Rpb24KLS1tZG1fZ2V0X2xvZ291dF9hY3Rpb24gKHZvaWQpCi0t ewotLSAgICAgICAgbWRtX3VwZGF0ZV9sb2dvdXRfYWN0aW9ucyAoJm1kbV9wcm90b2NvbF9kYXRh KTsKLS0KLS0gICAgICAgIHJldHVybiBtZG1fcHJvdG9jb2xfZGF0YS5jdXJyZW50X2FjdGlvbnM7 Ci0tfQotLQotLXZvaWQKLS1tZG1fc2V0X2xvZ291dF9hY3Rpb24gKE1kbUxvZ291dEFjdGlvbiBh Y3Rpb24pCi0tewotLSAgICAgICAgY2hhciAqYWN0aW9uX3N0ciA9IE5VTEw7Ci0tICAgICAgICBj aGFyICptc2c7Ci0tICAgICAgICBjaGFyICpyZXNwb25zZTsKLS0KLS0gICAgICAgIGlmICghbWRt X2luaXRfcHJvdG9jb2xfY29ubmVjdGlvbiAoJm1kbV9wcm90b2NvbF9kYXRhKSkgewotLSAgICAg ICAgICAgICAgICByZXR1cm47Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBzd2l0Y2ggKGFjdGlv bikgewotLSAgICAgICAgY2FzZSBNRE1fTE9HT1VUX0FDVElPTl9OT05FOgotLSAgICAgICAgICAg ICAgICBhY3Rpb25fc3RyID0gTURNX0FDVElPTl9TVFJfTk9ORTsKLS0gICAgICAgICAgICAgICAg YnJlYWs7Ci0tICAgICAgICBjYXNlIE1ETV9MT0dPVVRfQUNUSU9OX1NIVVRET1dOOgotLSAgICAg ICAgICAgICAgICBhY3Rpb25fc3RyID0gTURNX0FDVElPTl9TVFJfU0hVVERPV047Ci0tICAgICAg ICAgICAgICAgIGJyZWFrOwotLSAgICAgICAgY2FzZSBNRE1fTE9HT1VUX0FDVElPTl9SRUJPT1Q6 Ci0tICAgICAgICAgICAgICAgIGFjdGlvbl9zdHIgPSBNRE1fQUNUSU9OX1NUUl9SRUJPT1Q7Ci0t ICAgICAgICAgICAgICAgIGJyZWFrOwotLSAgICAgICAgY2FzZSBNRE1fTE9HT1VUX0FDVElPTl9T VVNQRU5EOgotLSAgICAgICAgICAgICAgICBhY3Rpb25fc3RyID0gTURNX0FDVElPTl9TVFJfU1VT UEVORDsKLS0gICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBt c2cgPSBnX3N0cmR1cF9wcmludGYgKE1ETV9QUk9UT0NPTF9NU0dfU0VUX0FDVElPTiAiICVzIiwg YWN0aW9uX3N0cik7Ci0tCi0tICAgICAgICByZXNwb25zZSA9IG1kbV9zZW5kX3Byb3RvY29sX21z ZyAoJm1kbV9wcm90b2NvbF9kYXRhLCBtc2cpOwotLQotLSAgICAgICAgZ19mcmVlIChtc2cpOwot LSAgICAgICAgZ19mcmVlIChyZXNwb25zZSk7Ci0tCi0tICAgICAgICBtZG1fcHJvdG9jb2xfZGF0 YS5sYXN0X3VwZGF0ZSA9IDA7Ci0tCi0tICAgICAgICBtZG1fc2h1dGRvd25fcHJvdG9jb2xfY29u bmVjdGlvbiAoJm1kbV9wcm90b2NvbF9kYXRhKTsKLS19Ci0tCi0tdm9pZAotLW1kbV9uZXdfbG9n aW4gKHZvaWQpCi0tewotLSAgICAgICAgY2hhciAqcmVzcG9uc2U7Ci0tCi0tICAgICAgICBpZiAo IW1kbV9pbml0X3Byb3RvY29sX2Nvbm5lY3Rpb24gKCZtZG1fcHJvdG9jb2xfZGF0YSkpIHsKLS0g ICAgICAgICAgICAgICAgcmV0dXJuOwotLSAgICAgICAgfQotLQotLSAgICAgICAgcmVzcG9uc2Ug PSBtZG1fc2VuZF9wcm90b2NvbF9tc2cgKCZtZG1fcHJvdG9jb2xfZGF0YSwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRE1fUFJPVE9DT0xfTVNHX0ZMRVhJX1hT RVJWRVIpOwotLQotLSAgICAgICAgZ19mcmVlIChyZXNwb25zZSk7Ci0tCi0tICAgICAgICBtZG1f cHJvdG9jb2xfZGF0YS5sYXN0X3VwZGF0ZSA9IDA7Ci0tCi0tICAgICAgICBtZG1fc2h1dGRvd25f cHJvdG9jb2xfY29ubmVjdGlvbiAoJm1kbV9wcm90b2NvbF9kYXRhKTsKLS19Ci1kaWZmIC0tZ2l0 IGEvY2lubmFtb24tc2Vzc2lvbi9tZG0uaCBiL2Npbm5hbW9uLXNlc3Npb24vbWRtLmgKLWRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMmJkYjVmMy4uMDAwMDAwMAotLS0tIGEvY2lubmFt b24tc2Vzc2lvbi9tZG0uaAotKysrIC9kZXYvbnVsbAotQEAgLTEsNTQgKzAsMCBAQAotLS8qIG1k bS5oCi0tICogQ29weXJpZ2h0IChDKSAyMDA1IFJhZmZhZWxlIFNhbmRyaW5pCi0tICogQ29weXJp Z2h0IChDKSAyMDA1IFJlZCBIYXQsIEluYy4KLS0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDMg R2VvcmdlIExlYmwKLS0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgUXVlZW4gb2YgRW5nbGFuZCwgCi0t ICoKLS0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCi0tICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLS0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKLS0gKiBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLSAqCi0tICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAot LSAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKLS0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlIEdOVQotLSAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLS0gKgotLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gKiBGb3VuZGF0aW9uLCBJbmMu LCA1MSBGcmFua2xpbiBTdHJlZXQgLSBTdWl0ZSA1MDAsIEJvc3RvbiwgTUEKLS0gKiAwMjExMC0x MzM1LCBVU0EuCi0tICoKLS0gKiBBdXRob3JzOgotLSAqICAgICAgUmFmZmFlbGUgU2FuZHJpbmkg PHJhc2FAZ214LmNoPgotLSAqICAgICAgR2VvcmdlIExlYmwgPGppcmthQDV6LmNvbT4KLS0gKiAg ICAgIE1hcmsgTWNMb3VnaGxpbiA8bWFya0Bza3luZXQuaWU+Ci0tICovCi0tCi0tI2lmbmRlZiBf X01ETV9MT0dPVVRfQUNUSU9OX0hfXwotLSNkZWZpbmUgX19NRE1fTE9HT1VUX0FDVElPTl9IX18K LS0KLS0jaW5jbHVkZSA8Z2xpYi5oPgotLQotLUdfQkVHSU5fREVDTFMKLS0KLS10eXBlZGVmIGVu dW0gewotLSAgTURNX0xPR09VVF9BQ1RJT05fTk9ORSAgICAgPSAwLAotLSAgTURNX0xPR09VVF9B Q1RJT05fU0hVVERPV04gPSAxIDw8IDAsCi0tICBNRE1fTE9HT1VUX0FDVElPTl9SRUJPT1QgICA9 IDEgPDwgMSwKLS0gIE1ETV9MT0dPVVRfQUNUSU9OX1NVU1BFTkQgID0gMSA8PCAyCi0tfSBNZG1M b2dvdXRBY3Rpb247Ci0tCi0tZ2Jvb2xlYW4gICAgICAgICBtZG1faXNfYXZhaWxhYmxlICAgICAg ICAgICAgKHZvaWQpOwotLQotLXZvaWQgICAgICAgICAgICAgbWRtX25ld19sb2dpbiAgICAgICAg ICAgICAgICh2b2lkKTsKLS0KLS12b2lkICAgICAgICAgICAgIG1kbV9zZXRfbG9nb3V0X2FjdGlv biAgICAgICAoTWRtTG9nb3V0QWN0aW9uIGFjdGlvbik7Ci0tCi0tTWRtTG9nb3V0QWN0aW9uICBt ZG1fZ2V0X2xvZ291dF9hY3Rpb24gICAgICAgKHZvaWQpOwotLQotLWdib29sZWFuICAgICAgICAg bWRtX3N1cHBvcnRzX2xvZ291dF9hY3Rpb24gIChNZG1Mb2dvdXRBY3Rpb24gYWN0aW9uKTsKLS0K LS1HX0VORF9ERUNMUwotLQotLSNlbmRpZiAvKiBfX01ETV9MT0dPVVRfQUNUSU9OX0hfXyAqLwot ZGlmZiAtLWdpdCBhL2Npbm5hbW9uLXNlc3Npb24vbWVzb24uYnVpbGQgYi9jaW5uYW1vbi1zZXNz aW9uL21lc29uLmJ1aWxkCi1pbmRleCAwNzM3NTVkLi42MWI0NzM3IDEwMDY0NAotLS0tIGEvY2lu bmFtb24tc2Vzc2lvbi9tZXNvbi5idWlsZAotKysrIGIvY2lubmFtb24tc2Vzc2lvbi9tZXNvbi5i dWlsZAotQEAgLTQ5LDcgKzQ5LDYgQEAgY2lubmFtb25fc2Vzc2lvbl9zb3VyY2VzID0gWwotICAg J21haW4uYycsCi0gICAnbWRtLWxvZy5jJywKLSAgICdtZG0tc2lnbmFsLWhhbmRsZXIuYycsCi0t ICAnbWRtLmMnLAotICAgY3NtX21hcnNoYWxfc291cmNlcywKLSAgIGdkYnVzX3NvdXJjZXMsCi0g XQotCi1Gcm9tIGQ2MTVjZmU1YjRmZDRkMjhkOGQ2YzA0YjIzZGY5MzRmMzY5MDU0NDEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMZWlnaCBTY290dCA8bGVpZ2gxMjNsaW51eEBnbWFp bC5jb20+Ci1EYXRlOiBUdWUsIDggU2VwIDIwMjYgMjM6MTY6MjggKzAxMDAKLVN1YmplY3Q6IFtQ QVRDSCAyLzJdIGNzbS1zeXN0ZW1kOiB3YWl0IGZvciBsb2dpbmQncyBQcmVwYXJlRm9yU2h1dGRv d24gYmVmb3JlCi0gcXVpdHRpbmcKLQotLS0tCi0gY2lubmFtb24tc2Vzc2lvbi9jc20tbWFuYWdl ci5jIHwgIDIyICsrKysrKwotIGNpbm5hbW9uLXNlc3Npb24vY3NtLXN5c3RlbS5jICB8ICAxMiAr KysKLSBjaW5uYW1vbi1zZXNzaW9uL2NzbS1zeXN0ZW1kLmMgfCAxMjkgKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKSwg MzEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jaW5uYW1vbi1zZXNzaW9uL2NzbS1tYW5h Z2VyLmMgYi9jaW5uYW1vbi1zZXNzaW9uL2NzbS1tYW5hZ2VyLmMKLWluZGV4IGU3NjU2OGIuLjE3 YmExNWYgMTAwNjQ0Ci0tLS0gYS9jaW5uYW1vbi1zZXNzaW9uL2NzbS1tYW5hZ2VyLmMKLSsrKyBi L2Npbm5hbW9uLXNlc3Npb24vY3NtLW1hbmFnZXIuYwotQEAgLTQ2Niw2ICs0NjYsMjAgQEAgcGhh c2VfbnVtX3RvX25hbWUgKGd1aW50IHBoYXNlKQotIAotIHN0YXRpYyB2b2lkIHN0YXJ0X3BoYXNl IChDc21NYW5hZ2VyICptYW5hZ2VyKTsKLSAKLStzdGF0aWMgdm9pZAotK29uX3NodXRkb3duX3By ZXBhcmVkIChDc21TeXN0ZW0gKnN5c3RlbSwKLSsgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xl YW4gICBzdWNjZXNzLAotKyAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgIHVzZXJfZGF0 YSkKLSt7Ci0rICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMgKHN5 c3RlbSwgb25fc2h1dGRvd25fcHJlcGFyZWQsIHVzZXJfZGF0YSk7Ci0rCi0rICAgICAgICBpZiAo IXN1Y2Nlc3MpIHsKLSsgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiU2h1dGRvd24vcmVzdGFy dCB3YXMgbm90IGNvbmZpcm1lZCBieSBsb2dpbmQiKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAg IGNzbV9xdWl0ICgpOwotK30KLSsKLSBzdGF0aWMgdm9pZAotIGNzbV9tYW5hZ2VyX3F1aXQgKENz bU1hbmFnZXIgKm1hbmFnZXIpCi0gewotQEAgLTQ4MSwxMSArNDk1LDE5IEBAIGNzbV9tYW5hZ2Vy X3F1aXQgKENzbU1hbmFnZXIgKm1hbmFnZXIpCi0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xP R09VVF9SRUJPT1Q6Ci0gICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9SRUJPT1RfSU5U RVJBQ1Q6Ci0gICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIlJlcXVlc3Rpbmcgc3lzdGVtIHJl c3RhcnQuLi4iKTsKLSsgICAgICAgICAgICAgICAgZ19zaWduYWxfY29ubmVjdCAobWFuYWdlci0+ cHJpdi0+c3lzdGVtLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2h1dGRv d24tcHJlcGFyZWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExC QUNLIChvbl9zaHV0ZG93bl9wcmVwYXJlZCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hbmFnZXIpOwotICAgICAgICAgICAgICAgICBjc21fc3lzdGVtX2F0dGVtcHRfcmVz dGFydCAobWFuYWdlci0+cHJpdi0+c3lzdGVtKTsKLSAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgICBjYXNlIENTTV9NQU5BR0VSX0xPR09VVF9TSFVURE9XTjoKLSAgICAgICAgIGNhc2Ug Q1NNX01BTkFHRVJfTE9HT1VUX1NIVVRET1dOX0lOVEVSQUNUOgotICAgICAgICAgICAgICAgICBn X3dhcm5pbmcgKCJSZXF1ZXN0aW5nIHN5c3RlbSBzaHV0ZG93bi4uLiIpOwotKyAgICAgICAgICAg ICAgICBnX3NpZ25hbF9jb25uZWN0IChtYW5hZ2VyLT5wcml2LT5zeXN0ZW0sCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJzaHV0ZG93bi1wcmVwYXJlZCIsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3NodXRkb3duX3ByZXBhcmVk KSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcik7Ci0gICAgICAg ICAgICAgICAgIGNzbV9zeXN0ZW1fYXR0ZW1wdF9zdG9wIChtYW5hZ2VyLT5wcml2LT5zeXN0ZW0p OwotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGRlZmF1bHQ6Ci1kaWZmIC0tZ2l0 IGEvY2lubmFtb24tc2Vzc2lvbi9jc20tc3lzdGVtLmMgYi9jaW5uYW1vbi1zZXNzaW9uL2NzbS1z eXN0ZW0uYwotaW5kZXggYzZiZTdiNS4uYzRmYTg4NiAxMDA2NDQKLS0tLSBhL2Npbm5hbW9uLXNl c3Npb24vY3NtLXN5c3RlbS5jCi0rKysgYi9jaW5uYW1vbi1zZXNzaW9uL2NzbS1zeXN0ZW0uYwot QEAgLTMwLDYgKzMwLDcgQEAKLSAKLSBlbnVtIHsKLSAgICAgICAgIFJFUVVFU1RfRkFJTEVEID0g MCwKLSsgICAgICAgIFNIVVRET1dOX1BSRVBBUkVELAotICAgICAgICAgTEFTVF9TSUdOQUwKLSB9 OwotIAotQEAgLTUwLDYgKzUxLDE3IEBAIGNzbV9zeXN0ZW1fZGVmYXVsdF9pbml0IChDc21TeXN0 ZW1JbnRlcmZhY2UgKmlmYWNlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfY2Ns b3N1cmVfbWFyc2hhbF9WT0lEX19QT0lOVEVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdfVFlQRV9OT05FLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIEdfVFlQ RV9QT0lOVEVSKTsKLSsKLSsgICAgICAgIHNpZ25hbHMgW1NIVVRET1dOX1BSRVBBUkVEXSA9Ci0r ICAgICAgICAgICAgICAgIGdfc2lnbmFsX25ldyAoInNodXRkb3duLXByZXBhcmVkIiwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDU01fVFlQRV9TWVNURU0sCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR19TSUdOQUxfUlVOX0xBU1QsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX0JPT0xFQU4sCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR19UWVBFX05PTkUsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMSwgR19UWVBFX0JPT0xFQU4pOwotIH0KLSAKLSBHUXVhcmsKLWRpZmYgLS1naXQgYS9j aW5uYW1vbi1zZXNzaW9uL2NzbS1zeXN0ZW1kLmMgYi9jaW5uYW1vbi1zZXNzaW9uL2NzbS1zeXN0 ZW1kLmMKLWluZGV4IGRiM2ZlODQuLmJkNmE3MGIgMTAwNjQ0Ci0tLS0gYS9jaW5uYW1vbi1zZXNz aW9uL2NzbS1zeXN0ZW1kLmMKLSsrKyBiL2Npbm5hbW9uLXNlc3Npb24vY3NtLXN5c3RlbWQuYwot QEAgLTYxLDEwICs2MSwxOCBAQCBzdHJ1Y3QgX0NzbVN5c3RlbWRQcml2YXRlCi0gCi0gICAgICAg ICBHU0xpc3QgICAgICAgICAgKmluaGliaXRvcnM7Ci0gICAgICAgICBnaW50ICAgICAgICAgICAg IGluaGliaXRfZmQ7Ci0rICAgICAgICBnaW50ICAgICAgICAgICAgIHNodXRkb3duX2luaGliaXRf ZmQ7Ci0rICAgICAgICBnYm9vbGVhbiAgICAgICAgIHByZXBhcmVfZm9yX3NodXRkb3duX2V4cGVj dGVkOwotIH07Ci0gCi0gc3RhdGljIHZvaWQgY3NtX3N5c3RlbWRfc3lzdGVtX2luaXQgKENzbVN5 c3RlbUludGVyZmFjZSAqaWZhY2UpOwotIAotK3N0YXRpYyB2b2lkIHNkX3Byb3h5X3NpZ25hbF9j YiAoR0RCdXNQcm94eSAgKnByb3h5LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgKnNlbmRlcl9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgZ2NoYXIgKnNpZ25hbF9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR1ZhcmlhbnQgICAgKnBhcmFtZXRlcnMsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncG9pbnRlciAgICAgdXNlcl9kYXRhKTsKLSsKLSBHX0RFRklORV9UWVBFX1dJVEhf Q09ERSAoQ3NtU3lzdGVtZCwgY3NtX3N5c3RlbWQsIEdfVFlQRV9PQkpFQ1QsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIEdfSU1QTEVNRU5UX0lOVEVSRkFDRSAoQ1NNX1RZUEVfU1lTVEVNLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzbV9zeXN0 ZW1kX3N5c3RlbV9pbml0KSkKLUBAIC05Miw2ICsxMDAsOSBAQCBjc21fc3lzdGVtZF9maW5hbGl6 ZSAoR09iamVjdCAqb2JqZWN0KQotICAgICAgICAgICAgICAgICBnX3NsaXN0X2ZyZWVfZnVsbCAo c3lzdGVtZC0+cHJpdi0+aW5oaWJpdG9ycywgZ19mcmVlKTsKLSAgICAgICAgIH0KLSAgICAgICAg IGRyb3Bfc3lzdGVtX2luaGliaXRvciAoc3lzdGVtZCk7Ci0rICAgICAgICBpZiAoc3lzdGVtZC0+ cHJpdi0+c2h1dGRvd25faW5oaWJpdF9mZCAhPSAtMSkgewotKyAgICAgICAgICAgICAgICBjbG9z ZSAoc3lzdGVtZC0+cHJpdi0+c2h1dGRvd25faW5oaWJpdF9mZCk7Ci0rICAgICAgICB9Ci0gCi0g ICAgICAgICBHX09CSkVDVF9DTEFTUyAoY3NtX3N5c3RlbWRfcGFyZW50X2NsYXNzKS0+ZmluYWxp emUgKG9iamVjdCk7Ci0gfQotQEAgLTEyMCw2ICsxMzEsNyBAQCBjc21fc3lzdGVtZF9pbml0IChD c21TeXN0ZW1kICptYW5hZ2VyKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3NtU3lzdGVtZFByaXZhdGUpOwotIAotICAgICAgICAgbWFuYWdl ci0+cHJpdi0+aW5oaWJpdF9mZCA9IC0xOwotKyAgICAgICAgbWFuYWdlci0+cHJpdi0+c2h1dGRv d25faW5oaWJpdF9mZCA9IC0xOwotIAotICAgICAgICAgZXJyb3IgPSBOVUxMOwotIAotQEAgLTE0 Myw2ICsxNTUsOSBAQCBjc21fc3lzdGVtZF9pbml0IChDc21TeXN0ZW1kICptYW5hZ2VyKQotICAg ICAgICAgICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byBjb25uZWN0IHRvIHN5 c3RlbWQ6ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLT5t ZXNzYWdlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsK LSsgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBnX3Np Z25hbF9jb25uZWN0IChtYW5hZ2VyLT5wcml2LT5zZF9wcm94eSwgImctc2lnbmFsIiwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChzZF9wcm94 eV9zaWduYWxfY2IpLCBtYW5hZ2VyKTsKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAg ICAgICAgICBnX29iamVjdF91bnJlZiAoYnVzKTsKLUBAIC0xNzQsMjEgKzE4OSw2MiBAQCBjc21f c3lzdGVtZF9pbml0IChDc21TeXN0ZW1kICptYW5hZ2VyKQotIH0KLSAKLSBzdGF0aWMgdm9pZAot LXJlc3RhcnRfZG9uZSAoR09iamVjdCAgICAgICpzb3VyY2UsCi0tICAgICAgICAgICAgICBHQXN5 bmNSZXN1bHQgKnJlc3VsdCwKLS0gICAgICAgICAgICAgIGdwb2ludGVyICAgICAgdXNlcl9kYXRh KQotK3Rha2Vfc2h1dGRvd25faW5oaWJpdG9yIChDc21TeXN0ZW1kICptYW5hZ2VyKQotK3sKLSsg ICAgICAgIEdWYXJpYW50ICpyZXM7Ci0rICAgICAgICBHVW5peEZETGlzdCAqZmRfbGlzdCA9IE5V TEw7Ci0rICAgICAgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKLSsgICAgICAgIGdpbnQgaWR4Owot KwotKyAgICAgICAgaWYgKG1hbmFnZXItPnByaXYtPnNodXRkb3duX2luaGliaXRfZmQgIT0gLTEp Ci0rICAgICAgICAgICAgICAgIHJldHVybjsKLSsKLSsgICAgICAgIHJlcyA9IGdfZGJ1c19wcm94 eV9jYWxsX3dpdGhfdW5peF9mZF9saXN0X3N5bmMgKG1hbmFnZXItPnByaXYtPnNkX3Byb3h5LAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IkluaGliaXQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ192YXJpYW50X25ldyAoIihzc3NzKSIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2h1 dGRvd24iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ19nZXRfdXNlcl9uYW1lICgpLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkVuc3VyaW5nIHNlc3Npb24gZXhpdHMgY2xlYW5seSBiZWZvcmUgc2h1dGRvd24iLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImRlbGF5IiksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR19NQVhJTlQsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZkX2xpc3QsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmVycm9yKTsKLSsgICAgICAgIGlmIChyZXMgPT0gTlVMTCkgewotKyAgICAgICAgICAg ICAgICBnX3dhcm5pbmcgKCJVbmFibGUgdG8gaW5oaWJpdCBzaHV0ZG93bjogJXMiLCBlcnJvci0+ bWVzc2FnZSk7Ci0rICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOwotKyAgICAg ICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBnX3ZhcmlhbnRfZ2V0 IChyZXMsICIoaCkiLCAmaWR4KTsKLSsgICAgICAgIG1hbmFnZXItPnByaXYtPnNodXRkb3duX2lu aGliaXRfZmQgPSBnX3VuaXhfZmRfbGlzdF9nZXQgKGZkX2xpc3QsIGlkeCwgJmVycm9yKTsKLSsg ICAgICAgIGlmIChtYW5hZ2VyLT5wcml2LT5zaHV0ZG93bl9pbmhpYml0X2ZkID09IC0xKSB7Ci0r ICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byByZWNlaXZlIHNodXRkb3duIGlu aGliaXRvciBmZDogJXMiLCBlcnJvci0+bWVzc2FnZSk7Ci0rICAgICAgICAgICAgICAgIGdfZXJy b3JfZnJlZSAoZXJyb3IpOwotKyAgICAgICAgfQotKwotKyAgICAgICAgZ19vYmplY3RfdW5yZWYg KGZkX2xpc3QpOwotKyAgICAgICAgZ192YXJpYW50X3VucmVmIChyZXMpOwotK30KLSsKLStzdGF0 aWMgdm9pZAotK3JlYm9vdF9vcl9wb3dlcm9mZl9kb25lIChHT2JqZWN0ICAgICAgKnNvdXJjZSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICpyZXN1bHQsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgdXNlcl9kYXRhKQotIHsKLS0gICAgICAg IEdEQnVzUHJveHkgKnByb3h5ID0gR19EQlVTX1BST1hZIChzb3VyY2UpOwotICAgICAgICAgQ3Nt U3lzdGVtZCAqbWFuYWdlciA9IHVzZXJfZGF0YTsKLSAgICAgICAgIEdFcnJvciAqZXJyb3IgPSBO VUxMOwotICAgICAgICAgR1ZhcmlhbnQgKnJlczsKLSAKLS0gICAgICAgIHJlcyA9IGdfZGJ1c19w cm94eV9jYWxsX2ZpbmlzaCAocHJveHksIHJlc3VsdCwgJmVycm9yKTsKLSsgICAgICAgIHJlcyA9 IGdfZGJ1c19wcm94eV9jYWxsX2ZpbmlzaCAoR19EQlVTX1BST1hZIChzb3VyY2UpLCByZXN1bHQs ICZlcnJvcik7Ci0gCi0tICAgICAgICBpZiAoIXJlcykgewotLSAgICAgICAgICAgICAgICBnX3dh cm5pbmcgKCJVbmFibGUgdG8gcmVzdGFydCBzeXN0ZW0gdmlhIHN5c3RlbWQ6ICVzIiwgZXJyb3It Pm1lc3NhZ2UpOwotLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKEdfT0JK RUNUIChtYW5hZ2VyKSwgInJlcXVlc3QtZmFpbGVkIiwgTlVMTCk7Ci0rICAgICAgICBpZiAocmVz ID09IE5VTEwpIHsKLSsgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiVW5hYmxlIHRvIHNodXRk b3duL3Jlc3RhcnQgc3lzdGVtIHZpYSBzeXN0ZW1kOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKLSAg ICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7Ci0rICAgICAgICAgICAgICAgIG1h bmFnZXItPnByaXYtPnByZXBhcmVfZm9yX3NodXRkb3duX2V4cGVjdGVkID0gRkFMU0U7Ci0rICAg ICAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSAobWFuYWdlciwgInNodXRkb3duLXBy ZXBhcmVkIiwgRkFMU0UpOwotICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgZ192 YXJpYW50X3VucmVmIChyZXMpOwotICAgICAgICAgfQotQEAgLTIwMSwzNyArMjU3LDIwIEBAIGNz bV9zeXN0ZW1kX2F0dGVtcHRfcmVzdGFydCAoQ3NtU3lzdGVtICpzeXN0ZW0pCi0gCi0gICAgICAg ICBDc21TeXN0ZW1kICptYW5hZ2VyID0gQ1NNX1NZU1RFTUQgKHN5c3RlbSk7Ci0gCi0rICAgICAg ICBkcm9wX3N5c3RlbV9pbmhpYml0b3IgKG1hbmFnZXIpOwotKyAgICAgICAgdGFrZV9zaHV0ZG93 bl9pbmhpYml0b3IgKG1hbmFnZXIpOwotKyAgICAgICAgbWFuYWdlci0+cHJpdi0+cHJlcGFyZV9m b3Jfc2h1dGRvd25fZXhwZWN0ZWQgPSBUUlVFOwotKwotICAgICAgICAgZ19kYnVzX3Byb3h5X2Nh bGwgKG1hbmFnZXItPnByaXYtPnNkX3Byb3h5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJSZWJvb3QiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXcgKCIo YikiLCBUUlVFKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdfTUFYSU5ULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V TEwsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdGFydF9kb25lLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlYm9vdF9vcl9wb3dlcm9mZl9kb25lLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hbmFnZXIpOwotIH0KLSAKLS1zdGF0aWMgdm9pZAotLXN0b3BfZG9u ZSAoR09iamVjdCAgICAgICpzb3VyY2UsCi0tICAgICAgICAgICBHQXN5bmNSZXN1bHQgKnJlc3Vs dCwKLS0gICAgICAgICAgIGdwb2ludGVyICAgICAgdXNlcl9kYXRhKQotLXsKLS0gICAgICAgIEdE QnVzUHJveHkgKnByb3h5ID0gR19EQlVTX1BST1hZIChzb3VyY2UpOwotLSAgICAgICAgQ3NtU3lz dGVtZCAqbWFuYWdlciA9IHVzZXJfZGF0YTsKLS0gICAgICAgIEdFcnJvciAqZXJyb3IgPSBOVUxM OwotLSAgICAgICAgR1ZhcmlhbnQgKnJlczsKLS0KLS0gICAgICAgIHJlcyA9IGdfZGJ1c19wcm94 eV9jYWxsX2ZpbmlzaCAocHJveHksIHJlc3VsdCwgJmVycm9yKTsKLS0KLS0gICAgICAgIGlmICgh cmVzKSB7Ci0tICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIlVuYWJsZSB0byBzdG9wIHN5c3Rl bSB2aWEgc3lzdGVtZDogJXMiLCBlcnJvci0+bWVzc2FnZSk7Ci0tICAgICAgICAgICAgICAgIGdf c2lnbmFsX2VtaXRfYnlfbmFtZSAoR19PQkpFQ1QgKG1hbmFnZXIpLCAicmVxdWVzdC1mYWlsZWQi LCBOVUxMKTsgICAgICAgICAgICAgICAgCi0tICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAo ZXJyb3IpOwotLSAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgCi0tICAgICAgICAgICAg ICAgIGdfdmFyaWFudF91bnJlZiAocmVzKTsKLS0gICAgICAgIH0KLS19Ci0tCi0gc3RhdGljIHZv aWQKLSBjc21fc3lzdGVtZF9hdHRlbXB0X3N0b3AgKENzbVN5c3RlbSAqc3lzdGVtKQotIHsKLUBA IC0yMzksMTYgKzI3OCw0NCBAQCBjc21fc3lzdGVtZF9hdHRlbXB0X3N0b3AgKENzbVN5c3RlbSAq c3lzdGVtKQotIAotICAgICAgICAgQ3NtU3lzdGVtZCAqbWFuYWdlciA9IENTTV9TWVNURU1EIChz eXN0ZW0pOwotIAotKyAgICAgICAgZHJvcF9zeXN0ZW1faW5oaWJpdG9yIChtYW5hZ2VyKTsKLSsg ICAgICAgIHRha2Vfc2h1dGRvd25faW5oaWJpdG9yIChtYW5hZ2VyKTsKLSsgICAgICAgIG1hbmFn ZXItPnByaXYtPnByZXBhcmVfZm9yX3NodXRkb3duX2V4cGVjdGVkID0gVFJVRTsKLSsKLSAgICAg ICAgIGdfZGJ1c19wcm94eV9jYWxsIChtYW5hZ2VyLT5wcml2LT5zZF9wcm94eSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiUG93ZXJPZmYiLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdfdmFyaWFudF9uZXcgKCIoYikiLCBUUlVFKSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUFYSU5ULAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rv cF9kb25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYm9vdF9vcl9wb3dlcm9mZl9k b25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXIpOwotIH0KLSAKLStzdGF0 aWMgdm9pZAotK3NkX3Byb3h5X3NpZ25hbF9jYiAoR0RCdXNQcm94eSAgKnByb3h5LAotKyAgICAg ICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnNlbmRlcl9uYW1lLAotKyAgICAgICAgICAgICAg ICAgICAgY29uc3QgZ2NoYXIgKnNpZ25hbF9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgR1Zh cmlhbnQgICAgKnBhcmFtZXRlcnMsCi0rICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAg dXNlcl9kYXRhKQotK3sKLSsgICAgICAgIENzbVN5c3RlbWQgKm1hbmFnZXIgPSB1c2VyX2RhdGE7 Ci0rICAgICAgICBnYm9vbGVhbiBpc19hYm91dF90b19zaHV0ZG93bjsKLSsKLSsgICAgICAgIGlm IChnX3N0cmNtcDAgKHNpZ25hbF9uYW1lLCAiUHJlcGFyZUZvclNodXRkb3duIikgIT0gMCkKLSsg ICAgICAgICAgICAgICAgcmV0dXJuOwotKwotKyAgICAgICAgZ192YXJpYW50X2dldCAocGFyYW1l dGVycywgIihiKSIsICZpc19hYm91dF90b19zaHV0ZG93bik7Ci0rICAgICAgICBpZiAoIWlzX2Fi b3V0X3RvX3NodXRkb3duKQotKyAgICAgICAgICAgICAgICByZXR1cm47Ci0rCi0rICAgICAgICBp ZiAobWFuYWdlci0+cHJpdi0+cHJlcGFyZV9mb3Jfc2h1dGRvd25fZXhwZWN0ZWQpIHsKLSsgICAg ICAgICAgICAgICAgZ19kZWJ1ZyAoIlNodXRkb3duIHN1Y2Nlc3NmdWxseSBwcmVwYXJlZCIpOwot KyAgICAgICAgICAgICAgICBtYW5hZ2VyLT5wcml2LT5wcmVwYXJlX2Zvcl9zaHV0ZG93bl9leHBl Y3RlZCA9IEZBTFNFOwotKyAgICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUgKG1h bmFnZXIsICJzaHV0ZG93bi1wcmVwYXJlZCIsIFRSVUUpOwotKyAgICAgICAgfQotK30KLSsKLSBz dGF0aWMgdm9pZAotIGNzbV9zeXN0ZW1kX3NldF9zZXNzaW9uX2lkbGUgKENzbVN5c3RlbSAqc3lz dGVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgaXNfaWRsZSkK CmRpZmYgLS1naXQgYS9jaW5uYW1vbi1zZXNzaW9uLnNwZWMgYi9jaW5uYW1vbi1zZXNzaW9uLnNw ZWMKaW5kZXggNDljYmI5MS4uNmY4MjBiZiAxMDA2NDQKLS0tIGEvY2lubmFtb24tc2Vzc2lvbi5z cGVjCisrKyBiL2Npbm5hbW9uLXNlc3Npb24uc3BlYwpAQCAtMSwxNSArMSwxNCBAQAogJWdsb2Jh bCBjaW5uYW1vbl9kZXNrdG9wX3ZlcnNpb24gNi43LjEKIAotJWdsb2JhbCB1cHN0cmVhbV92ZXJz aW9uIDYuNy40LXVuc3RhYmxlCislZ2xvYmFsIHVwc3RyZWFtX3ZlcnNpb24gNi43LjUtdW5zdGFi bGUKIAogU3VtbWFyeTogQ2lubmFtb24gc2Vzc2lvbiBtYW5hZ2VyCiBOYW1lOiAgICBjaW5uYW1v bi1zZXNzaW9uCi1WZXJzaW9uOiA2LjcuNF51bnN0YWJsZQorVmVyc2lvbjogNi43LjVedW5zdGFi bGUKIFJlbGVhc2U6ICVhdXRvcmVsZWFzZQogTGljZW5zZTogR1BMLTIuMC1vci1sYXRlciBBTkQg TEdQTC0yLjAtb3ItbGF0ZXIKIFVSTDogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eG1pbnQv JXtuYW1lfQogU291cmNlMDogJXVybC9hcmNoaXZlLyV7dXBzdHJlYW1fdmVyc2lvbn0vJXtuYW1l fS0le3Vwc3RyZWFtX3ZlcnNpb259LnRhci5negotUGF0Y2gwOiAgJXVybC9wdWxsLzIxNS5wYXRj aAogCiBFeGNsdWRlQXJjaDogJXtpeDg2fQogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJj ZXMKaW5kZXggMDZmNjI0Mi4uNjFlMDEzOSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3Vy Y2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKGNpbm5hbW9uLXNlc3Npb24tNi43LjQtdW5zdGFibGUu dGFyLmd6KSA9IDc1YmY4YWMyMmFjMDY4NjBkMGVjOWY5ZTY4OWY2OTdiYTA0MjRhNjdjMzYyYjhj YWIyMjdlYjdiMmQ2ZjMyY2U1MTk2ZjdlYjliOTQ2YmJhOGIzZjA2MTJhNjUyYmE4ZjJjYmExMTY0 ZDY2Nzg3MDMwMDAwZDM2ZjdhMzliNmJhCitTSEE1MTIgKGNpbm5hbW9uLXNlc3Npb24tNi43LjUt dW5zdGFibGUudGFyLmd6KSA9IGExNzk2YjVlZmJlMGMyMjExYTExYThlMTM2MjU1MTYyNjJkZjc5 ZWVmNWY3ZTVkYjkwODA1NmU0M2FkYjdkZjNiMDVjYjc1N2IyMzYzNzg0M2I2MGQzYTY2NmEzN2Vk YTVlYzJiNzhkNjMzM2U2ZmE0Yzk5ZWVmOWQwMTQzOGQwCg==