ZGlmZiAtLWdpdCBhL2RvY3MvdXNlci1ndWlkZS5yc3QgYi9kb2NzL3VzZXItZ3VpZGUucnN0CmluZGV4IDFmZjA4MGQuLjY3YWY0MjUgMTAwNjQ0Ci0tLSBhL2RvY3MvdXNlci1ndWlkZS5yc3QKKysrIGIvZG9jcy91c2VyLWd1aWRlLnJzdApAQCAtNjQzLDYgKzY0MywxMSBAQAogICAgICAgYGBhcm1fcm90cGtfcnNhLmRlcmBgLCBsb2NhdGVkIGluIGBgcGxhdC9hcm0vYm9hcmQvY29tbW9uL3JvdHBrYGAuIFRvIHVzZQogICAgICAgdGhpcyBvcHRpb24sIGBgYXJtX3JvdHByaXZrX3JzYS5wZW1gYCBtdXN0IGJlIHNwZWNpZmllZCBhcyBgYFJPVF9LRVlgYCB3aGVuCiAgICAgICBjcmVhdGluZyB0aGUgY2VydGlmaWNhdGVzLgorICAgLSAgYGBkZXZlbF9lY2RzYWBgIDogcmV0dXJuIGEgZGV2ZWxvcG1lbnQgcHVibGljIGtleSBoYXNoIGVtYmVkZGVkIGluIHRoZSBCTDEKKyAgICAgIGFuZCBCTDIgYmluYXJpZXMuIFRoaXMgaGFzaCBoYXMgYmVlbiBvYnRhaW5lZCBmcm9tIHRoZSBFQ0RTQSBwdWJsaWMga2V5CisgICAgICBgYGFybV9yb3Rwa19lY2RzYS5kZXJgYCwgbG9jYXRlZCBpbiBgYHBsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rwa2BgLiBUbyB1c2UKKyAgICAgIHRoaXMgb3B0aW9uLCBgYGFybV9yb3Rwcml2a19lY2RzYS5wZW1gYCBtdXN0IGJlIHNwZWNpZmllZCBhcyBgYFJPVF9LRVlgYAorICAgICAgd2hlbiBjcmVhdGluZyB0aGUgY2VydGlmaWNhdGVzLgogCiAtICBgYEFSTV9UU1BfUkFNX0xPQ0FUSU9OYGA6IGxvY2F0aW9uIG9mIHRoZSBUU1AgYmluYXJ5LiBPcHRpb25zOgogCkBAIC05OTAsNiArOTk1LDEwIEBACiAgICAgICBpbiB0aGUgQVJNIHBsYXRmb3JtIHBvcnQuIFRoZSBwcml2YXRlL3B1YmxpYyBSU0Ega2V5IHBhaXIgbWF5IGJlCiAgICAgICBmb3VuZCBpbiBgYHBsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rwa2BgLgogCisgICAtICBgYEFSTV9ST1RQS19MT0NBVElPTj1kZXZlbF9lY2RzYWBgOiB1c2UgdGhlIFJPVFBLIGhhc2ggdGhhdCBpcyBoYXJkY29kZWQKKyAgICAgIGluIHRoZSBBUk0gcGxhdGZvcm0gcG9ydC4gVGhlIHByaXZhdGUvcHVibGljIEVDRFNBIGtleSBwYWlyIG1heSBiZQorICAgICAgZm91bmQgaW4gYGBwbGF0L2FybS9ib2FyZC9jb21tb24vcm90cGtgYC4KKwogICAgRXhhbXBsZSBvZiBjb21tYW5kIGxpbmUgdXNpbmcgUlNBIGRldmVsb3BtZW50IGtleXM6CiAKICAgIDo6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F1dGgvbWJlZHRscy9tYmVkdGxzX2NvbW1vbi5jIGIvZHJpdmVycy9hdXRoL21iZWR0bHMvbWJlZHRsc19jb21tb24uYwppbmRleCBlOWFhNDA5Li5jYzU3YWYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F1dGgvbWJlZHRscy9tYmVkdGxzX2NvbW1vbi5jCisrKyBiL2RyaXZlcnMvYXV0aC9tYmVkdGxzL21iZWR0bHNfY29tbW9uLmMKQEAgLTE1LDcgKzE1LDcgQEAKICAqIG1iZWQgVExTIGhlYXAKICAqLwogI2lmIChURl9NQkVEVExTX0tFWV9BTEdfSUQgPT0gVEZfTUJFRFRMU19FQ0RTQSkKLSNkZWZpbmUgTUJFRFRMU19IRUFQX1NJWkUJCSgxNCoxMDI0KQorI2RlZmluZSBNQkVEVExTX0hFQVBfU0laRQkJKDEzKjEwMjQpCiAjZWxpZiAoVEZfTUJFRFRMU19LRVlfQUxHX0lEID09IFRGX01CRURUTFNfUlNBKQogI2RlZmluZSBNQkVEVExTX0hFQVBfU0laRQkJKDcqMTAyNCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcml2ZXJzL2F1dGgvbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oIGIvaW5jbHVkZS9kcml2ZXJzL2F1dGgvbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oCmluZGV4IGZkZWI1MmIuLjdhYTRkZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJpdmVycy9hdXRoL21iZWR0bHMvbWJlZHRsc19jb25maWcuaAorKysgYi9pbmNsdWRlL2RyaXZlcnMvYXV0aC9tYmVkdGxzL21iZWR0bHNfY29uZmlnLmgKQEAgLTksOCArOSw4IEBACiAvKgogICogS2V5IGFsZ29yaXRobXMgY3VycmVudGx5IHN1cHBvcnRlZCBvbiBtYmVkIFRMUyBsaWJyYXJpZXMKICAqLwotI2RlZmluZSBURl9NQkVEVExTX1JTQQkJMQotI2RlZmluZSBURl9NQkVEVExTX0VDRFNBCTIKKyNkZWZpbmUgVEZfTUJFRFRMU19SU0EJCQkxCisjZGVmaW5lIFRGX01CRURUTFNfRUNEU0EJCTIKIAogLyoKICAqIENvbmZpZ3VyYXRpb24gZmlsZSB0byBidWlsZCBtYmVkIFRMUyB3aXRoIHRoZSByZXF1aXJlZCBmZWF0dXJlcyBmb3IKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgTUJFRFRMU19YNTA5X0FMTE9XX1VOU1VQUE9SVEVEX0NSSVRJQ0FMX0VYVEVOU0lPTgogI2RlZmluZSBNQkVEVExTX1g1MDlfQ0hFQ0tfS0VZX1VTQUdFCiAjZGVmaW5lIE1CRURUTFNfWDUwOV9DSEVDS19FWFRFTkRFRF9LRVlfVVNBR0UKLSNkZWZpbmUgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAogCiAjZGVmaW5lIE1CRURUTFNfQVNOMV9QQVJTRV9DCiAjZGVmaW5lIE1CRURUTFNfQVNOMV9XUklURV9DCkBAIC01Niw2ICs1NSw3IEBACiAjZGVmaW5lIE1CRURUTFNfRUNQX0RQX1NFQ1AyNTZSMV9FTkFCTEVECiAjZWxpZiAoVEZfTUJFRFRMU19LRVlfQUxHX0lEID09IFRGX01CRURUTFNfUlNBKQogI2RlZmluZSBNQkVEVExTX1JTQV9DCisjZGVmaW5lIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKICNlbmRpZgogCiAjZGVmaW5lIE1CRURUTFNfU0hBMjU2X0MKZGlmZiAtLWdpdCBhL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9ib2FyZF9hcm1fdHJ1c3RlZF9ib290LmMgYi9wbGF0L2FybS9ib2FyZC9jb21tb24vYm9hcmRfYXJtX3RydXN0ZWRfYm9vdC5jCmluZGV4IDVkMzZkMTcuLjZjMDNjOTEgMTAwNjQ0Ci0tLSBhL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9ib2FyZF9hcm1fdHJ1c3RlZF9ib290LmMKKysrIGIvcGxhdC9hcm0vYm9hcmQvY29tbW9uL2JvYXJkX2FybV90cnVzdGVkX2Jvb3QuYwpAQCAtMTgsNiArMTgsNyBAQAogLyogUk9UUEsgbG9jYXRpb25zICovCiAjZGVmaW5lIEFSTV9ST1RQS19SRUdTX0lECQkxCiAjZGVmaW5lIEFSTV9ST1RQS19ERVZFTF9SU0FfSUQJCTIKKyNkZWZpbmUgQVJNX1JPVFBLX0RFVkVMX0VDRFNBX0lECTMKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcm90cGtfaGFzaF9oZHJbXSA9CQlcCiAJCSJceDMwXHgzMVx4MzBceDBEXHgwNlx4MDlceDYwXHg4Nlx4NDgiCVwKQEAgLTQxLDYgKzQyLDEyIEBACiAJCSJceDM3XHg3QVx4NzJceDQ3XHgxQlx4RUNceDMyXHg3MyIJXAogCQkiXHhFOVx4OTJceDMyXHhFMlx4NDlceDU5XHhGNlx4NUUiCVwKIAkJIlx4OEJceDRBXHg0QVx4NDZceEQ4XHgyMlx4OUFceERBIjsKKyNlbGlmIChBUk1fUk9UUEtfTE9DQVRJT05fSUQgPT0gQVJNX1JPVFBLX0RFVkVMX0VDRFNBX0lEKQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgYXJtX2RldmVsX3JvdHBrX2hhc2hbXSA9CVwKKwkJIlx4MkVceDQwXHhCRlx4NkVceEY5XHgxMlx4QkJceDk4IglcCisJCSJceDMxXHg3MVx4MDlceDBFXHgxRVx4MTVceDNEXHgwQiIJXAorCQkiXHhGRFx4RDFceENDXHg2OVx4NEFceDk4XHhFQlx4OEIiCVwKKwkJIlx4QTBceEIwXHgyMFx4ODZceDRFXHg2Q1x4MDdceDE3IjsKICNlbmRpZgogCiAvKgpAQCAtNjksNyArNzYsOCBAQAogCW1lbWNweShyb3Rwa19oYXNoX2Rlciwgcm90cGtfaGFzaF9oZHIsIHJvdHBrX2hhc2hfaGRyX2xlbik7CiAJZHN0ID0gKHVpbnQ4X3QgKikmcm90cGtfaGFzaF9kZXJbcm90cGtfaGFzaF9oZHJfbGVuXTsKIAotI2lmIChBUk1fUk9UUEtfTE9DQVRJT05fSUQgPT0gQVJNX1JPVFBLX0RFVkVMX1JTQV9JRCkKKyNpZiAoQVJNX1JPVFBLX0xPQ0FUSU9OX0lEID09IEFSTV9ST1RQS19ERVZFTF9SU0FfSUQpIFwKKwl8fCAoQVJNX1JPVFBLX0xPQ0FUSU9OX0lEID09IEFSTV9ST1RQS19ERVZFTF9FQ0RTQV9JRCkKIAltZW1jcHkoZHN0LCBhcm1fZGV2ZWxfcm90cGtfaGFzaCwgU0hBMjU2X0JZVEVTKTsKICNlbGlmIChBUk1fUk9UUEtfTE9DQVRJT05fSUQgPT0gQVJNX1JPVFBLX1JFR1NfSUQpCiAJdWludDMyX3QgKnNyYywgdG1wOwpAQCAtMTIxLDcgKzEyOSw4IEBACiAJCSpkc3QrKyA9ICh1aW50OF90KSgodG1wID4+IDgpICYgMHhGRik7CiAJCSpkc3QrKyA9ICh1aW50OF90KSh0bXAgJiAweEZGKTsKIAl9Ci0jZW5kaWYgLyogKEFSTV9ST1RQS19MT0NBVElPTl9JRCA9PSBBUk1fUk9UUEtfREVWRUxfUlNBX0lEKSAqLworI2VuZGlmIC8qIChBUk1fUk9UUEtfTE9DQVRJT05fSUQgPT0gQVJNX1JPVFBLX0RFVkVMX1JTQV9JRCkgXAorCQkgIHx8IChBUk1fUk9UUEtfTE9DQVRJT05fSUQgPT0gQVJNX1JPVFBLX0RFVkVMX0VDRFNBX0lEKSAqLwogCiAJKmtleV9wdHIgPSAodm9pZCAqKXJvdHBrX2hhc2hfZGVyOwogCSprZXlfbGVuID0gKHVuc2lnbmVkIGludClzaXplb2Yocm90cGtfaGFzaF9kZXIpOwpkaWZmIC0tZ2l0IGEvcGxhdC9hcm0vYm9hcmQvY29tbW9uL2JvYXJkX2NvbW1vbi5tayBiL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9ib2FyZF9jb21tb24ubWsKaW5kZXggNDY2NzI5OC4uNjQzMDQ3YyAxMDA2NDQKLS0tIGEvcGxhdC9hcm0vYm9hcmQvY29tbW9uL2JvYXJkX2NvbW1vbi5taworKysgYi9wbGF0L2FybS9ib2FyZC9jb21tb24vYm9hcmRfY29tbW9uLm1rCkBAIC0xLDUgKzEsNSBAQAogIwotIyBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNiwgQVJNIExpbWl0ZWQgYW5kIENvbnRyaWJ1dG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMTcsIEFSTSBMaW1pdGVkIGFuZCBDb250cmlidXRvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICMKQEAgLTIyLDcgKzIyLDExIEBACiAgICAgaWZlcSAoJHtBUk1fUk9UUEtfTE9DQVRJT059LCByZWdzKQogICAgICAgICBBUk1fUk9UUEtfTE9DQVRJT05fSUQgPSBBUk1fUk9UUEtfUkVHU19JRAogICAgIGVsc2UgaWZlcSAoJHtBUk1fUk9UUEtfTE9DQVRJT059LCBkZXZlbF9yc2EpCisgICAgICAgIEtFWV9BTEcgOj0gcnNhCiAgICAgICAgIEFSTV9ST1RQS19MT0NBVElPTl9JRCA9IEFSTV9ST1RQS19ERVZFTF9SU0FfSUQKKyAgICBlbHNlIGlmZXEgKCR7QVJNX1JPVFBLX0xPQ0FUSU9OfSwgZGV2ZWxfZWNkc2EpCisgICAgICAgIEtFWV9BTEcgOj0gZWNkc2EKKyAgICAgICAgQVJNX1JPVFBLX0xPQ0FUSU9OX0lEID0gQVJNX1JPVFBLX0RFVkVMX0VDRFNBX0lECiAgICAgZWxzZQogICAgICAgICAkKGVycm9yICJVbnN1cHBvcnRlZCBBUk1fUk9UUEtfTE9DQVRJT04gdmFsdWUiKQogICAgIGVuZGlmCmRpZmYgLS1naXQgYS9wbGF0L2FybS9ib2FyZC9jb21tb24vcm90cGsvYXJtX3JvdHBrX2VjZHNhLmRlciBiL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rway9hcm1fcm90cGtfZWNkc2EuZGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NDc4NzcKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2FybS9ib2FyZC9jb21tb24vcm90cGsvYXJtX3JvdHBrX2VjZHNhLmRlcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wbGF0L2FybS9ib2FyZC9jb21tb24vcm90cGsvYXJtX3JvdHBrX2VjZHNhX3NoYTI1Ni5iaW4gYi9wbGF0L2FybS9ib2FyZC9jb21tb24vcm90cGsvYXJtX3JvdHBrX2VjZHNhX3NoYTI1Ni5iaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVlMTIzYQotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rway9hcm1fcm90cGtfZWNkc2Ffc2hhMjU2LmJpbgpAQCAtMCwwICsxIEBACisuQL9u+RK7mDFxCQ4eFT0L/dHMaUqY64ugsCCGTmwHFwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rway9hcm1fcm90cHJpdmtfZWNkc2EucGVtIGIvcGxhdC9hcm0vYm9hcmQvY29tbW9uL3JvdHBrL2FybV9yb3Rwcml2a19lY2RzYS5wZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzMjhlMwotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvYXJtL2JvYXJkL2NvbW1vbi9yb3Rway9hcm1fcm90cHJpdmtfZWNkc2EucGVtCkBAIC0wLDAgKzEsNSBAQAorLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCitNSGNDQVFFRUlOU2FYNm52elMzdGVpQkpBN1dsVExSS0pPYWpweTI5bzJjQXJMYlVYb1pCb0FvR0NDcUdTTTQ5CitBd0VIb1VRRFFnQUVtK1pJdlRRNDRhS2s4M0RoVkxzdnNGcEtEUC9DaDl2QSs0SHArZm1WZlg2Z0RIOEsxT0JpCitTcFJmN0ZKOVJHUEluMkg2eHN0K2ExT3RMTVdVRFJxR2tRPT0KKy0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3BsYXQvYXJtL2JvYXJkL2p1bm8vcGxhdGZvcm0ubWsgYi9wbGF0L2FybS9ib2FyZC9qdW5vL3BsYXRmb3JtLm1rCmluZGV4IDc5OTE2Y2QuLjVjZDEyNWIgMTAwNjQ0Ci0tLSBhL3BsYXQvYXJtL2JvYXJkL2p1bm8vcGxhdGZvcm0ubWsKKysrIGIvcGxhdC9hcm0vYm9hcmQvanVuby9wbGF0Zm9ybS5tawpAQCAtOTEsNiArOTEsMyBAQAogaW5jbHVkZSBwbGF0L2FybS9zb2MvY29tbW9uL3NvY19jc3MubWsKIGluY2x1ZGUgcGxhdC9hcm0vY3NzL2NvbW1vbi9jc3NfY29tbW9uLm1rCiAKLWlmZXEgKCR7S0VZX0FMR30sZWNkc2EpCi0gICAgJChlcnJvciAiRUNEU0Ega2V5IGFsZ29yaXRobSBpcyBub3QgZnVsbHkgc3VwcG9ydGVkIG9uIEp1bm8uIikKLWVuZGlmCg==