ZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9hdGNtZF9wYXJzZS5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2F0Y21kX3BhcnNlLmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCBiYzk3ZjgwLi4xZGFkMDhhCi0tLSBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9hdGNtZF9wYXJzZS5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9hdGNtZF9wYXJzZS5jCkBAIC00NjE5LDggKzQ2MTksOCBAQAogI2VuZGlmCiAjZW5kaWYKICAgICB7Im53c2VsX3NlYXJjaF9zY29wZSIsICBNQVhfU0lNX05VTSwgTU9EX05XU0VMLCBLQUxfRkFMU0UsIEtBTF9GQUxTRX0sCi0JeyI1Z19hdmFpbGFibGUiLCAgICAgICAgTUFYX1NJTV9OVU0sIE1PRF9HTVNTLCAgS0FMX0ZBTFNFLCBLQUxfRkFMU0V9LAotCXsibnJfbWFwIiwgICAgICAgICAgICAgIE1BWF9TSU1fTlVNLCBNT0RfR01TUywgIEtBTF9GQUxTRSwgS0FMX0ZBTFNFfSwKKyAgICB7IjVnX2F2YWlsYWJsZSIsICAgICAgICBNQVhfU0lNX05VTSwgTU9EX0dNU1MsICBLQUxfRkFMU0UsIEtBTF9GQUxTRX0sCisgICAgeyJucl9tYXAiLCAgICAgICAgICAgICAgTUFYX1NJTV9OVU0sIE1PRF9HTVNTLCAgS0FMX0ZBTFNFLCBLQUxfRkFMU0V9LAogICAgIHsiZGhsX29uZGVtYW5kX2R1bXAiLCAgICAgICAgICAgICAxLCBNT0RfREhMX1JFQURFUiwgIEtBTF9GQUxTRSwgS0FMX0ZBTFNFfSwKICAgICB7InF1ZXJ5X3JmX2NhbF9zdGF0dXMiLCAgICAgICAgICAgMSwgTU9EX01NUkZfWEwxVFNULCBLQUxfRkFMU0UsIEtBTF9GQUxTRX0sCiAgICAgeyJMbmFBZ2luZ1Rlc3QiLCAxLCBNT0RfTU1SRl9YTDFUU1QsIEtBTF9GQUxTRSwgS0FMX0ZBTFNFfSwKQEAgLTQ2MzEsNiArNDYzMSw3IEBACiAgICAgeyJucHRfcmZfc2Nhbl9kcyIsICAgICAgICAgTUFYX1NJTV9OVU0sIE1PRF9OTDEsICAgICAgICAgICBLQUxfVFJVRSwgIEtBTF9UUlVFfSwKICAgICB7InVlX2NhcF9xdWVyeSIsICAgICAgICAgICAgICAgICAgMSwgTU9EX01NUkZfWEwxVFNULCAgIEtBTF9GQUxTRSwgS0FMX1RSVUV9LAogICAgIHsibHRlX2ZldGNoX3BkX3JlcG9ydCIsIE1BWF9MVEVfTlVNLCBNT0RfRUwxLCBLQUxfRkFMU0UsIEtBTF9UUlVFfSwKKwl7ImN1c3RvbV9wbG1uX2Jhc2VfdGltZXIiLCBNQVhfU0lNX05VTSwgTU9EX05XU0VMLCBLQUxfRkFMU0UsIEtBTF9GQUxTRX0sCiAjaWZkZWYgX19ISUZfVVNCX1NVUFBPUlRfXwogICAgIHsidXNiX3NlcmlhbG51bWJlciIsICAgICAgICAgICAxLCBNT0RfVVNCQ09SRSwgICAgICAgICAgS0FMX0ZBTFNFLCBLQUxfRkFMU0V9LAogICAgIHsidXNiX21vZGUiLCAgICAgICAgICAgMSwgTU9EX1VTQkNPUkUsICAgICAgICAgICAgICAgICAgS0FMX0ZBTFNFLCBLQUxfRkFMU0V9LApAQCAtNDY0NCw2ICs0NjQ1LDcgQEAKICAgICB7ImIxX25yX2JhbmRzIiwgICBNQVhfTFRFX05VTSwgTU9EX0VSUkMsICBLQUxfRkFMU0UsIEtBTF9GQUxTRX0sCiAKICAgICB7IjRnNV9waW5ncG9uZ19kZXRlY3Rpb24iLCBNQVhfTFRFX05VTSwgTU9EX0VSUkMsIEtBTF9GQUxTRSwgS0FMX0ZBTFNFfSwKKwl7ImRyZGlfY29tYmluZV9pZHgiLCBNQVhfU0lNX05VTSwgTU9EX01NUkYsIEtBTF9GQUxTRSwgS0FMX0ZBTFNFfSwKIH07CiAKIApkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2QyX2NvbmZpZy5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2QyX2NvbmZpZy5jCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggYmNkYTU4YS4uOGQxNzI1NgotLS0gYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZDJfY29uZmlnLmMKKysrIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2QyX2NvbmZpZy5jCkBAIC0yOTkyLDcgKzI5OTIsNyBAQAogICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICB7IC8vIEFUVAogICAgICAgICAgICAgICAgIGlmKGFwbl9yZXRyeV9pbmZvLT5hcG5fdHlwZSAmIERETV9BUE5fVFlQRV9JTVMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYoUk1NSV9FUlJfUkVRX1NFUlZfT1BUSU9OX05PVF9TVUJTQ1JJQkVEID09IGVycl9jYXVzZSApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYoUk1NSV9FUlJfUkVRX1NFUlZfT1BUSU9OX05PVF9TVUJTQ1JJQkVEID09IGVycl9jYXVzZSB8fCBSTU1JX0VSUl9VTktOT1dOX1BEUF9BRERSID09IGVycl9jYXVzZSB8fCBSTU1JX0VSUl9NSVNTSU5HX0FQTiA9PSBlcnJfY2F1c2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGFwbl9yZXRyeV9pbmZvLT5lcnJvcl9vY2N1cmVkID0gS0FMX1RSVUU7CiAgICAgICAgICAgICAgICAgICAgICAgICBhcG5fcmV0cnlfaW5mby0+cmV0cnl0aW1lX3R5cGUgPSBSRVRSWV9UWVBFX05PX1JFVFJZOwogICAgICAgICAgICAgICAgICAgICAgICAgYXBuX3JldHJ5X2luZm8tPnJldHJ5X3RpbWUgPSBSRVRSWVRJTUVfTk9fUkVUUlk7CkBAIC0zOTQ3LDcgKzM5NDcsNyBAQAogICAgIH0KICAgICByZXR1cm4gS0FMX0ZBTFNFOwogfQota2FsX2Jvb2wgY3VzdG9tX2QyX2tlZXBfaW50ZXJuZXRfcGRuKGthbF91aW50MzIgY2lkLCBrYWxfdWludDggcHNfaWQsIGthbF9ib29sIG1vYmlsZV9kYXRhX29uLCBrYWxfYm9vbCBkYXRhX3N3aXRjaF9vbiwgcmF0X2VudW0gcmF0LCBhdGNtZF9kZWFjdF9jYXVzZV9lbnVtIGRlYWN0X2NhdXNlLCBudnJhbV9kMl9tY2Zfa2VlcF9pbnRlcm5ldF9zdHJ1Y3QgKm1jZl9rZWVwX2ludGVybmV0LCBrYWxfdWludDggKnBsbW4pCitrYWxfYm9vbCBjdXN0b21fZDJfa2VlcF9pbnRlcm5ldF9wZG4oa2FsX3VpbnQzMiBjaWQsIGthbF91aW50OCBwc19pZCwga2FsX2Jvb2wgbW9iaWxlX2RhdGFfb24sIGthbF9ib29sIGRhdGFfc3dpdGNoX29uLCByYXRfZW51bSByYXQsIGF0Y21kX2RlYWN0X2NhdXNlX2VudW0gZGVhY3RfY2F1c2UsIG52cmFtX2QyX21jZl9rZWVwX2ludGVybmV0X3N0cnVjdCAqbWNmX2tlZXBfaW50ZXJuZXQsIGthbF91aW50OCAqcGxtbiwga2FsX3VpbnQ4ICppbXNpX3BsbW4pCiB7CiAgICAga2FsX3VpbnQzMiBzYnBfaWQgPSBzYnBfZ2V0X3NpbV9zYnBfaWQocHNfaWQpOwogICAgIGthbF91aW50MzIgZGVmYXVsdF9zYnBfaWQgPSBzYnBfcXVlcnlfaWQoKTsKQEAgLTM5NTUsOCArMzk1NSw4IEBACiAgICAgRERNX0NVU1RfTE9HKE1PRF9ERE0gKyBwc19pZCwgImRlZmF1bHRfc2JwX2lkIDogJWQsIHNicF9pZCA6ICVkLCBpcyB3aWZpIGVuYWJsZSA6ICVkLCBtb2JpbGUgZGF0YSBvbiA9ICVkIiwKICAgICAgICAgZGVmYXVsdF9zYnBfaWQsIHNicF9pZCwgaXNfd2lmaV9lbihwc19pZCksIG1vYmlsZV9kYXRhX29uKTsKIAotICAgIERETV9DVVNUX0xPRyhNT0RfRERNICsgcHNfaWQsICJkYXRhX3N3aXRjaF9vbiA9ICVkLCBpbnRlcm5ldF9jaWRbcHNfaWRdID0gJWQsIGNpZCA9ICVkLCByYXQgPSAlZCwgZGVhY3RfY2F1c2UgPSAlZCwgcGxtbiA9ICVzIiwKLSAgICAgICAgZGF0YV9zd2l0Y2hfb24sIGludGVybmV0X2NpZFtwc19pZF0sIGNpZCwgcmF0LCBkZWFjdF9jYXVzZSwgcGxtbik7CisgICAgRERNX0NVU1RfTE9HKE1PRF9ERE0gKyBwc19pZCwgImRhdGFfc3dpdGNoX29uID0gJWQsIGludGVybmV0X2NpZFtwc19pZF0gPSAlZCwgY2lkID0gJWQsIHJhdCA9ICVkLCBkZWFjdF9jYXVzZSA9ICVkLCBwbG1uID0gJXMsIGltc2lfcGxtbjogJXMiLAorICAgICAgICBkYXRhX3N3aXRjaF9vbiwgaW50ZXJuZXRfY2lkW3BzX2lkXSwgY2lkLCByYXQsIGRlYWN0X2NhdXNlLCBwbG1uLCBpbXNpX3BsbW4pOwogCiAgICAgaWYobWNmX2tlZXBfaW50ZXJuZXQtPmlzX3ZhbGlkID09IEtBTF9UUlVFKSB7CiAgICAgICAgIGthbF9wcm9tcHRfdHJhY2UoTU9EX0RETSArIHBzX2lkLCAiW01PRF9ERE0gREVCVUddIHVzZSBtY2YgbG9naWMgZm9yIGtlZXAgaW50ZXJuZXQiKTsKQEAgLTQwNzgsNiArNDA3OCwxNyBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gS0FMX0ZBTFNFOwogICAgICAgICAgICAgfQogCisJCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCQkJICoJUmVmZXJlbmNlIGNvZGUgZm9yIGtlZXAgaW50ZXJuZXQgbWVjaGFuaXNtIGJhc2VkIG9uIHNwZWNpZmljIHBsbW4gZm9yIFBMVVMgT1AKKwkJCSAqCWlmIChzYnBfaWQgPT0gMjM0ICYmIHJhdCA9PSBSQVRfTFRFKSAKKwkJCSAqCXsKKwkJCSAqCQlpZihzdHJuY21wKChjaGFyICopaW1zaV9wbG1uLCAoY2hhciAqKSIyNjAwMSIsIHN0cmxlbigoY2hhciAqKSIyNjAwMSIpKSA9PSAwKSB7CisJCQkgKgkJCWthbF9wcm9tcHRfdHJhY2UoTU9EX0RETSArIHBzX2lkLCAiUExVUyBQT0xBTkQga2VlcCBpbnRlcm5ldCBwZG4gZm9yIHNpbV9tY2NfbW5jOiAyNjAwMSIpOworCQkJICoJCQlyZXR1cm4gKGludGVybmV0X2NpZFtwc19pZF0gPT0gY2lkKSA/IEtBTF9UUlVFIDogS0FMX0ZBTFNFOworCQkJICoJCX0KKwkJCSAqCX0gCisJCQkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKICAgICAgICAgICAgIGlmKGlzX3dpZmlfZW4ocHNfaWQpID09IEtBTF9UUlVFICYmIG1vYmlsZV9kYXRhX29uID09IEtBTF9UUlVFICYmIHJhdCA9PSBSQVRfTFRFKSB7CiAgICAgICAgICAgICAgICAgaWYoc2JwX2lkID09IDEyKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoaW50ZXJuZXRfY2lkW3BzX2lkXSA9PSBjaWQpID8gS0FMX1RSVUUgOiBLQUxfRkFMU0U7CkBAIC01NzkyLDYgKzU4MDMsMjQgQEAKIHJldHVybiBLQUxfRkFMU0U7CiB9CiAjZW5kaWYKKwora2FsX2Jvb2wgY3VzdG9tX2QyX2lnbm9yZV93bGFuX3JldHJ5X3RpbWVyIChrYWxfdWludDggcHNfaWQsIGRkbV9hcG5fdHlwZV9lbnVtIGFwbl90eXBlLCBrYWxfdWludDE2IGVycl9jYXVzZSkKK3sKKyAgICAvKlRoaXMgZnVuY3Rpb24gaXMgZm9yIGN1c3RvbWl6aW5nIG5vdCB0byByZXBvcnQgd2xhbiByZXRyeSAKKyAgICAgKiB0aW1lciBmb3IgZGVmYXVsdCBwZG4gZXZlbiBiZWFyX2JpdG1hc2sgd2l0aCB3bGFuIGZsYWcuCisgICAgICogTm90ZSB0aGUgZGlmZmVyZW5jZSBvZiBjb21waWxlIG9wdGlvbiBiZXR3ZWVuIFNQIGFuZCBNUCovCisKKyAgICBrYWxfdWludDMyIGRlZmF1bHRfc2JwX2lkID0gc2JwX3F1ZXJ5X2lkKCk7CisgICAga2FsX3VpbnQzMiBzYnBfaWQgPSBkZWZhdWx0X3NicF9pZCA/IGRlZmF1bHRfc2JwX2lkOnNicF9nZXRfc2ltX3NicF9pZChwc19pZCk7CisJCisJaWYgKCgxNSA9PSBzYnBfaWQpICYmICgoRERNX0FQTl9UWVBFX0RFRkFVTFR8RERNX0FQTl9UWVBFX01NUykgJiBhcG5fdHlwZSkgJiYKKyAgICAgICAgICAgICAoZXJyX2NhdXNlID09IFJNTUlfRVJSX1JFUV9TRVJWX09QVElPTl9OT1RfU1VCU0NSSUJFRCkpIHsKKyAgICAgICAga2FsX3Byb21wdF90cmFjZShNT0RfRDJDVVNUICsgcHNfaWQsICJjdXN0b21fZDJfaWdub3JlX3dsYW5fcmV0cnlfdGltZXIoKTogVGVsZWZvbmljYSwgaWdub3JlIHdsYW4gdGltZXIgZm9yIGFwbiB0eXBlIGRlZmF1bHQgJiBtbXNcbiIpOworICAgICAgICByZXR1cm4gS0FMX1RSVUU7CisgICAgfQorICAgIAorICAgIHJldHVybiBLQUxfRkFMU0U7Cit9CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiAtLS0tIEN1c3RvbSBEMkNNIFV0aWxpdHkgUmVnaXN0cmF0aW9uIEVuZCAtLS0tICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZDJfY29uZmlnLmggYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZDJfY29uZmlnLmgKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCAxN2E2ODlkLi43MTJkZDcwCi0tLSBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9kMl9jb25maWcuaAorKysgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZDJfY29uZmlnLmgKQEAgLTE3OCw3ICsxNzgsNyBAQAogZXh0ZXJuIGthbF9ib29sIGN1c3RvbV9pc19yZXRyeXRpbWVfc3BlY2lmeV9ieV9vcGVyYXRvcihrYWxfdWludDMyIHBzX2lkLCBrYWxfdWludDggKmFwbiwga2FsX3VpbnQxNiBlcnJfY2F1c2UpOwogZXh0ZXJuIHZvaWQgY3VzdG9tX2QyX3VwZGF0ZV9pYV9hcG4oa2FsX3VpbnQ4IHBzX2lkLCBrYWxfdWludDggY2lkLCBjaGFyICphcG4pOwogZXh0ZXJuIGthbF9ib29sIGN1c3RvbV9kMl9zZXRfZGVhY3RfaW50ZXJuZXRfcGRuX3NpbShrYWxfdWludDggaXNfZGVmYXVsdF9kYXRhLCBrYWxfYm9vbCBtb2JpbGVfZGF0YV9vbik7Ci1leHRlcm4ga2FsX2Jvb2wgY3VzdG9tX2QyX2tlZXBfaW50ZXJuZXRfcGRuKGthbF91aW50MzIgY2lkLCBrYWxfdWludDggcHNfaWQsIGthbF9ib29sIG1vYmlsZV9kYXRhX29uLCBrYWxfYm9vbCBkYXRhX3N3aXRjaF9vbiwgcmF0X2VudW0gcmF0LCBhdGNtZF9kZWFjdF9jYXVzZV9lbnVtIGRlYWN0X2NhdXNlLCBudnJhbV9kMl9tY2Zfa2VlcF9pbnRlcm5ldF9zdHJ1Y3QgKm1jZl9rZWVwX2ludGVybmV0LCBrYWxfdWludDggKnBsbW4pOworZXh0ZXJuIGthbF9ib29sIGN1c3RvbV9kMl9rZWVwX2ludGVybmV0X3BkbihrYWxfdWludDMyIGNpZCwga2FsX3VpbnQ4IHBzX2lkLCBrYWxfYm9vbCBtb2JpbGVfZGF0YV9vbiwga2FsX2Jvb2wgZGF0YV9zd2l0Y2hfb24sIHJhdF9lbnVtIHJhdCwgYXRjbWRfZGVhY3RfY2F1c2VfZW51bSBkZWFjdF9jYXVzZSwgbnZyYW1fZDJfbWNmX2tlZXBfaW50ZXJuZXRfc3RydWN0ICptY2Zfa2VlcF9pbnRlcm5ldCwga2FsX3VpbnQ4ICpwbG1uLCBrYWxfdWludDggKmltc2lfcGxtbik7CiBleHRlcm4ga2FsX2Jvb2wgY3VzdG9tX2QyX3NpZ25hbGxpbmdfZmxhZyhrYWxfdWludDggcHNfaWQsIGthbF9ib29sIGFwbl90eXBlX2lzX2ltcywga2FsX3VpbnQzMiBkZWZhdWx0X3NicF9pZCwga2FsX3VpbnQzMiBzYnBfaWQsIGNoYXIgKmFwbiwga2FsX3VpbnQ4ICpwbG1uLCBrYWxfYm9vbCBpc19yb2FtaW5nKTsKIGV4dGVybiBrYWxfYm9vbCBjdXN0b21fZDJfcGNzY2ZfZGlzY292ZXJ5X2ZsYWcoa2FsX3VpbnQ4IHBzX2lkLCBrYWxfYm9vbCBhcG5fdHlwZV9pc19pbXMsIGthbF9ib29sIGFwbl90eXBlX2lzX3Jjcywga2FsX3VpbnQzMiBkZWZhdWx0X3NicF9pZCwga2FsX3VpbnQzMiBzYnBfaWQsIGNoYXIgKmFwbiwga2FsX3VpbnQ4ICpwbG1uLCBrYWxfYm9vbCBpc19yb2FtaW5nKTsKIGV4dGVybiBrYWxfYm9vbCBjdXN0b21fZDJfaW1zX2xhc3RfcGRuKGthbF91aW50MzIgc2ltX3NicF9pZCk7CkBAIC0yMjgsNiArMjI4LDcgQEAKIGV4dGVybiBrYWxfdWludDMyIGN1c3RvbV9kMl9sMndob19kaXNjb25uX3NyY19kdXJhdGlvbiAoa2FsX3VpbnQ4IHBzX2lkKTsKIGV4dGVybiBrYWxfdWludDMyIGN1c3RvbV9kMnJtX2VwZGdfaW1zX2luaXRpYWxfc2V0dXBfdGltZV9saW1pdCAoa2FsX3VpbnQ4IHBzX2lkKTsKIGV4dGVybiBrYWxfYm9vbCBjdXN0b21fZDJfbmVlZF90b19yZWFjdGl2YXRlX2RhdGFfY2FsbChrYWxfdWludDMyIHNicF9pZCwga2FsX3VpbnQxNiBlcnJfY2F1c2UsIGthbF91aW50MzIgZmFpbF9jbnQpOworZXh0ZXJuIGthbF9ib29sIGN1c3RvbV9kMl9pZ25vcmVfd2xhbl9yZXRyeV90aW1lciAoa2FsX3VpbnQ4IHBzX2lkLCBkZG1fYXBuX3R5cGVfZW51bSBhcG5fdHlwZSwga2FsX3VpbnQxNiBlcnJfY2F1c2UpOwoga2FsX2Jvb2wgY3VzdG9tX2QyX2xhc3RfcGRuX25lZWRfZGV0YWNoX2RlZmF1bHRfY2FzZShrYWxfdWludDggcHNfaWQpOwoga2FsX2Jvb2wgY3VzdG9tX2QyX25lZWRfdG9fcmV0cnlfd2l0aF90aW1lcihrYWxfdWludDMyIHBzX2lkLCBrYWxfdWludDMyIHNicF9pZCwga2FsX3VpbnQxNiBlcnJfY2F1c2UsIGthbF91aW50MzIgYXBuX3R5cGUsIGthbF91aW50MzIgZmFpbF9jbnQsIGthbF91aW50MzIgKnRpbWVfZHVyYXRpb24pOwoga2FsX2Jvb2wgaXNfY2dkY29udF9zdXBwb3J0X2VhcG5zZXRfZGVmYXVsdF9wYXJhbShrYWxfdWludDMyIHBzX2lkKTsKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9lYXNfY29uZmlnLmMgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZWFzX2NvbmZpZy5jCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggYjc4OGE1Ny4uMmZjOTY5YwotLS0gYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fZWFzX2NvbmZpZy5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9lYXNfY29uZmlnLmMKQEAgLTEwNDcsNiArMTA0NywxNCBAQAogICAgIHsiMDAyMDBGIiwgezQxLCAzOTkwMCwgNDE1ODksIDM5OTAwLCA0MTU4OX19LAogICAgIHsiMDAyMDBGIiwgezQwLCAzODY1MCwgMzk2NDksIDM4NjUwLCAzOTY0OX19LAogI2VuZGlmCisgICAgeyIzMTBGRkYiLCB7NjYsIDY2NDM2LCA2NzMzNSwgMTMxOTcyLCAxMzI0MjJ9fSwKKyAgICB7IjMxMUZGRiIsIHs2NiwgNjY0MzYsIDY3MzM1LCAxMzE5NzIsIDEzMjQyMn19LAorICAgIHsiMzEyRkZGIiwgezY2LCA2NjQzNiwgNjczMzUsIDEzMTk3MiwgMTMyNDIyfX0sCisgICAgeyIzMTNGRkYiLCB7NjYsIDY2NDM2LCA2NzMzNSwgMTMxOTcyLCAxMzI0MjJ9fSwKKyAgICB7IjMxNEZGRiIsIHs2NiwgNjY0MzYsIDY3MzM1LCAxMzE5NzIsIDEzMjQyMn19LAorICAgIHsiMzE1RkZGIiwgezY2LCA2NjQzNiwgNjczMzUsIDEzMTk3MiwgMTMyNDIyfX0sCisgICAgeyIzMTZGRkYiLCB7NjYsIDY2NDM2LCA2NzMzNSwgMTMxOTcyLCAxMzI0MjJ9fSwKKyAgICB7IjMzMEZGRiIsIHs2NiwgNjY0MzYsIDY3MzM1LCAxMzE5NzIsIDEzMjQyMn19LAogCiAgICAgeyJGRkZGRkYiLHsyNTUsMCwwLDAsMH19ICAgLy8gRU5EIChkb24ndCB0b3VjaCBhbmQgcHV0IHlvdXIgbmV3IGVudHJ5IGFib3ZlIHRoaXMgbGluZSkKIH07CmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21faW1jX2NvbmZpZy5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2ltY19jb25maWcuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IDhmYTE4NGMuLjBiNjMxNjQKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2ltY19jb25maWcuYworKysgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21faW1jX2NvbmZpZy5jCkBAIC02MzMwLDYgKzYzMzAsNyBAQAogICAgICAgICBjYXNlIDI0MDogLyogWHBsb3JlIE1vYmlsZSBDYW5hZGEgKi8KICAgICAgICAgY2FzZSAyNDM6IC8qIEdsb2JlL1BoaWxpcHBpbmUgKi8KICAgICAgICAgY2FzZSAyNDU6IC8qIFZpZXRuYW1vYmlsZS9WaWV0bmFtICovCisgICAgICAgIGNhc2UgMjUwOiAvKiBVbmlvbi9VUyAqLwogICAgICAgICBjYXNlIDI1NTogLyogQ2VsbHVsYXIgT25lICovCiAgICAgICAgIGNhc2UgMjU3OiAvKiBWaWFlcm8vVVMgKi8KICAgICAgICAgY2FzZSAyNjE6IC8qIEFTVEFDICovCkBAIC02MzU1LDYgKzYzNTYsNyBAQAogICAgICAgICBjYXNlIDI5ODogLypVbW5pYWggKi8KICAgICAgICAgY2FzZSAyOTk6IC8qIE5SSiBGcmFuY2UqLwogICAgICAgICBjYXNlIDMwMjogLyogT29yZWRvbyBPbWFuKi8KKyAgICAgICAgY2FzZSAzMDM6IC8qSWxpYWQgaXRhbHkqLwogICAgICAgICBjYXNlIDMwNDogLypDVE1PIE1hY2F1ICovCiAgICAgICAgIGNhc2UgMzA2OiAvKkhLQ1UgSG9uZ2tvbmcgKi8KICAgICAgICAgY2FzZSAzMTQ6IC8qIFRlbGVQb3N0L0dyZWVubGFuZCAqLwpAQCAtNjQzNCw2ICs2NDM2LDcgQEAKICAgICAgICAgY2FzZSA0MzA6IC8qIEFpcnRlbC9OaWdlcmlhICovCiAgICAgICAgIGNhc2UgNDMxOiAvKiBVbmlmaXF1ZSBCcmF6aWwqLwogICAgICAgICBjYXNlIDQzMjogLyogQXplcmJhaWphbiBBemVyY2VsbCAqLworICAgICAgICBjYXNlIDQzMzogLyogVm9kYWZvbmUvVWtyYWluZSAqLwogICAgICAgICBjYXNlIDQzNDogLyogTW9iaWNvbSBNb25nb2xpYSovCiAgICAgICAgIGNhc2UgNDM1OiAvKiBBaXJ0ZWwvWmFtYmlhICovCiAgICAgICAgIGNhc2UgNDM2OiAvKiBGbG93L0JhcmJvZGFzICovCkBAIC02NDQyLDYgKzY0NDUsMTMgQEAKICAgICAgICAgY2FzZSA0Mzk6IC8qIEFpcnRlbC9UYW56YW5pYSAqLwogICAgICAgICBjYXNlIDQ0MjogLyogTGliZXJ0eS9QdWVydG8gUmljbyAqLwogICAgICAgICBjYXNlIDQ0MzogLyogQ3ViaWMvQWxsICovCisgICAgICAgIGNhc2UgNDQ0OiAvKiBPTkRPL01vbmdvbGlhICovCisgICAgICAgIGNhc2UgNDQ1OiAvKiBNYXNjb20gKi8KKyAgICAgICAgY2FzZSA0NDk6IC8qIERpZ2l0ZWwvVmVuZXp1ZWxhICovCisgICAgICAgIGNhc2UgNDUzOiAvKiBTYWZhcmljb20vRXRoaW9waWEgKi8KKyAgICAgICAgY2FzZSA0NTQ6IC8qIFZvZGFjb20vQ29uZ28ta2luZ3NoYXNhICovCisgICAgICAgIGNhc2UgNDU2OiAvKkRlbW9jcmF0aWMgcmVwdWJsaWMgb2YgY29uZ28gQWlydGVsICovCisgICAgICAgIGNhc2UgNDU3OiAvKiBUdW5pc2llIFRlbGVjb20vVHVuaXNpYSAqLwogICAgICAgICBjYXNlIDEwMDI6IC8qIE5va2lhIEZpbmxhbmQgKi8KICAgICAgICAgY2FzZSAxMDA0OiAvKiBIdWF3ZWkgSU1TICovCiAgICAgICAgIGNhc2UgMHg2MDAxOiAvKiBTb255IEdURS9CZWlqaW5nICovCkBAIC03MjIyLDYgKzcyMzIsMTEgQEAKICAgICAgICAgICAgIGthbF9zbnByaW50ZigoY2hhciAqKWNvbmZfZmFjdG9yeV91cmksIGxlbi0xLCAic2lwOm1tdGVsQGNvbmYtZmFjdG9yeS5pbXMubW5jJWMlYzAubWNjJWMlYyVjLjNncHBuZXR3b3JrLm9yZyIsIG1jY21uY1szXSwgbWNjbW5jWzRdLCBtY2NtbmNbMF0sIG1jY21uY1sxXSwgbWNjbW5jWzJdKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgNDUyOiAvKiAxJjEvR2VybWFueSAqLworICAgICAgICB7CisgICAgICAgICAgICBrYWxfc25wcmludGYoKGNoYXIgKiljb25mX2ZhY3RvcnlfdXJpLCBsZW4tMSwgIm1tdGVsQGNvbmYtZmFjdG9yeS4xdW5kMS1tb2JpbGZ1bmsuZGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgMTAwMTogLyogRXJpY3Nzb24gSU1TIElXTEFOICovCiAgICAgICAgIHsKICAgICAgICAgICAgIGthbF9zbnByaW50ZigoY2hhciAqKWNvbmZfZmFjdG9yeV91cmksIGxlbi0xLCAic2lwOmNvbmZlcmVuY2VAY29uZmVyZW5jZS50Y3MuaWNzLnNlIik7CkBAIC03ODkzLDYgKzc5MDgsMTAgQEAKICAgICB1YS0+aWdub3JlX3Vuc3VwcG9ydGVkX2NvbnRlbnRfdHlwZSA9IDA7CiAgICAgdWEtPm5vdF9zdWJzY3JpYmVfd2hlbl9yZWNlaXZlXzQ4OSA9IDA7CiAJdWEtPm5vdGlmeV91bmRlcmVnaXN0ZXJlZF9jYXVzZV9kZXJlZ2lzdHJhdGlvbiA9IDA7CisJdWEtPmF2YWlfdGltZV9mb3JfbGJzX3RvX2dlbyA9IDU7CisJdWEtPnJldHJ5X2ltc192b2ljZV93aXRoX29yZ19jb2RlY19pZl80ODhfdnBvcnRfMCA9IDA7CisJdWEtPm10X25vX3ByY2RfaW5fc2lwID0gMDsKKwkKICAgICAvKiBudnJhbV9pbWNfc3RydWN0ICovCiAgICAgaW1jLT5yZXNvdXJjZV9yZXRhaW5fdGltZXIgPSAzMDAwOwogICAgIGltYy0+ZW1lcmdlbmN5X3Bkbl9yZXRhaW5fdGltZXIgPSAxMDAwMDsKQEAgLTc5NDgsNiArNzk2Nyw3IEBACiAgICAgbWVtc2V0KCh2b2lkICopaW1jLT5tbmNtY2Nfd2hpdGVsaXN0LCAwLCAxMjgpOwogICAgIGltYy0+Y2xvY2tfc2VxID0gMDsKICAgICBtZW1zZXQoKHZvaWQgKilpbWMtPnV1aWQsIDAsIDE2KTsKKyAgICBpbWMtPmVtZXJnZW5jeV9zZXNzaW9uX2tlZXBfdGltZXIgPSAxMDAwMDsgLy8gMTBzCiAgICAgLyoKICAgICBSZWZlciB0byBpbWNfbnZyYW1fY29udGV4dC5oCiAgICAgdHlwZWRlZiBlbnVtIHsKQEAgLTgwODgsNiArODEwOCw3IEBACiAgICAgLy99aW1jX2lzaW1faW52YWxpZGF0aW9uX3J1bGVzX2VudW07CiAgICAgaW1jLT5hbGxvd19jYWxsX3doaWxlX3JlZ2lzdGVyaW5nID0gMDsKICAgICBpbWMtPmltc19yZV9yZWdfYWZ0ZXJfNUc0ID0gMDsKKyAgICBpbWMtPncybF9ob19mYWlsZWRfZGVyZWdfY2F1c2VbNTNdID0gMTsgLy8gRGVyZWcgZm9yIGNhdXNlNTQgb2YgVzJMIEhPIGZhaWxlZAogfQogCiB2b2lkIGltY19zZXRfZGlmZl9jb25maWd1cmF0aW9uKG52cmFtX2VmX2ltc19wcm9maWxlX3JlY29yZF9zdHJ1Y3QgKnNyYywgbnZyYW1fZWZfaW1zX3Byb2ZpbGVfcmVjb3JkX3N0cnVjdCAqZGVzdCkgewpAQCAtODY3MSw2ICs4NjkyLDkgQEAKICAgICBpZiAoc3JjX3VhLT5pZ25vcmVfdW5zdXBwb3J0ZWRfY29udGVudF90eXBlICE9IElNU19VTkRFRl9DT05GSUdfOCkge2Rlc3RfdWEtPmlnbm9yZV91bnN1cHBvcnRlZF9jb250ZW50X3R5cGUgPSBzcmNfdWEtPmlnbm9yZV91bnN1cHBvcnRlZF9jb250ZW50X3R5cGU7fQogICAgIGlmIChzcmNfdWEtPm5vdF9zdWJzY3JpYmVfd2hlbl9yZWNlaXZlXzQ4OSAhPSBJTVNfVU5ERUZfQ09ORklHXzgpIHtkZXN0X3VhLT5ub3Rfc3Vic2NyaWJlX3doZW5fcmVjZWl2ZV80ODkgPSBzcmNfdWEtPm5vdF9zdWJzY3JpYmVfd2hlbl9yZWNlaXZlXzQ4OTt9CiAJaWYgKHNyY191YS0+bm90aWZ5X3VuZGVyZWdpc3RlcmVkX2NhdXNlX2RlcmVnaXN0cmF0aW9uICE9IElNU19VTkRFRl9DT05GSUdfOCkge2Rlc3RfdWEtPm5vdGlmeV91bmRlcmVnaXN0ZXJlZF9jYXVzZV9kZXJlZ2lzdHJhdGlvbiA9IHNyY191YS0+bm90aWZ5X3VuZGVyZWdpc3RlcmVkX2NhdXNlX2RlcmVnaXN0cmF0aW9uO30KKwlpZiAoc3JjX3VhLT5hdmFpX3RpbWVfZm9yX2xic190b19nZW8gIT0gSU1TX1VOREVGX0NPTkZJR18zMikge2Rlc3RfdWEtPmF2YWlfdGltZV9mb3JfbGJzX3RvX2dlbyA9IHNyY191YS0+YXZhaV90aW1lX2Zvcl9sYnNfdG9fZ2VvO30KKwlpZiAoc3JjX3VhLT5yZXRyeV9pbXNfdm9pY2Vfd2l0aF9vcmdfY29kZWNfaWZfNDg4X3Zwb3J0XzAgIT0gSU1TX1VOREVGX0NPTkZJR184KSB7ZGVzdF91YS0+cmV0cnlfaW1zX3ZvaWNlX3dpdGhfb3JnX2NvZGVjX2lmXzQ4OF92cG9ydF8wID0gc3JjX3VhLT5yZXRyeV9pbXNfdm9pY2Vfd2l0aF9vcmdfY29kZWNfaWZfNDg4X3Zwb3J0XzA7fQorICAgIGlmIChzcmNfdWEtPm10X25vX3ByY2RfaW5fc2lwICE9IElNU19VTkRFRl9DT05GSUdfOCkge2Rlc3RfdWEtPm10X25vX3ByY2RfaW5fc2lwID0gc3JjX3VhLT5tdF9ub19wcmNkX2luX3NpcDt9CQogCiAgICAgLyogbnZyYW1faW1jX3N0cnVjdCAqLwogICAgIGlmIChzcmNfaW1jLT5yZXNvdXJjZV9yZXRhaW5fdGltZXIgIT0gSU1TX1VOREVGX0NPTkZJR18zMikge2Rlc3RfaW1jLT5yZXNvdXJjZV9yZXRhaW5fdGltZXIgPSBzcmNfaW1jLT5yZXNvdXJjZV9yZXRhaW5fdGltZXI7fQpAQCAtODgxMiw2ICs4ODM2LDggQEAKICAgICBpZiAoc3JjX2ltYy0+bWF4X1JGQzU2MjZfcmV0cnlfY291bnQgIT0gSU1TX1VOREVGX0NPTkZJR184KSB7ZGVzdF9pbWMtPm1heF9SRkM1NjI2X3JldHJ5X2NvdW50ID0gc3JjX2ltYy0+bWF4X1JGQzU2MjZfcmV0cnlfY291bnQ7fQogICAgIGlmIChzcmNfaW1jLT5tYXhfUkZDNTYyNl9yZXRyeV9jb3VudF80MDQgIT0gSU1TX1VOREVGX0NPTkZJR184KSB7ZGVzdF9pbWMtPm1heF9SRkM1NjI2X3JldHJ5X2NvdW50XzQwNCA9IHNyY19pbWMtPm1heF9SRkM1NjI2X3JldHJ5X2NvdW50XzQwNDt9CiAgICAgaWYgKHNyY19pbWMtPmltc19yZV9yZWdfYWZ0ZXJfNUc0ICE9IElNU19VTkRFRl9DT05GSUdfOCkge2Rlc3RfaW1jLT5pbXNfcmVfcmVnX2FmdGVyXzVHNCA9IHNyY19pbWMtPmltc19yZV9yZWdfYWZ0ZXJfNUc0O30KKyAgICBpZiAoc3JjX2ltYy0+dzJsX2hvX2ZhaWxlZF9kZXJlZ19jYXVzZVswXSAhPSBJTVNfVU5ERUZfQ09ORklHXzgpIHtrYWxfbWVtX2NweShkZXN0X2ltYy0+dzJsX2hvX2ZhaWxlZF9kZXJlZ19jYXVzZSwgc3JjX2ltYy0+dzJsX2hvX2ZhaWxlZF9kZXJlZ19jYXVzZSwgc2l6ZW9mKHNyY19pbWMtPncybF9ob19mYWlsZWRfZGVyZWdfY2F1c2UpKTt9CisJaWYgKHNyY19pbWMtPmVtZXJnZW5jeV9zZXNzaW9uX2tlZXBfdGltZXIgIT0gSU1TX1VOREVGX0NPTkZJR18zMikge2Rlc3RfaW1jLT5lbWVyZ2VuY3lfc2Vzc2lvbl9rZWVwX3RpbWVyID0gc3JjX2ltYy0+ZW1lcmdlbmN5X3Nlc3Npb25fa2VlcF90aW1lcjt9CiAKICAgICByZXR1cm47CiB9CkBAIC04OTU0LDYgKzg5ODAsNyBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubXRfY2FsbF9ub19wcmNkX2luX3NkcCAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZnJlc2hfd2FpdF9yZXF1ZXN0ICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pZ25vcmVfdW5zdXBwb3J0ZWRfY29udGVudF90eXBlID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm10X25vX3ByY2RfaW5fc2lwICAgICAgICAgICAgICAgPSAxOwogCiAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF91c2VybmFtZSAgICAgICAgICA9IDA7CkBAIC05MDg0LDYgKzkxMTEsNyBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubXRfY2FsbF9ub19wcmNkX2luX3NkcCAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZnJlc2hfd2FpdF9yZXF1ZXN0ICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pZ25vcmVfdW5zdXBwb3J0ZWRfY29udGVudF90eXBlID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm10X25vX3ByY2RfaW5fc2lwICAgICAgICAgICAgICAgPSAxOwogCiAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF91c2VybmFtZSAgICAgICAgICA9IDA7CkBAIC05MzI1LDYgKzkzNTMsNyBAQAogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuaW1zX3JlZ19hbGxvd2VkX2F0XzIzZyAgICAgICAgICAgID0gMjsgICAgICAvL0lNUyByZWcgbWFpbnRhaW5lZCBhdCAyM0cgKE1PQl9WU18wOCAmIE1PQl9WU18wOSkKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnJmYzU2MjZfZmxvd19yZWNvdmVyeSAgICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5sb2NhdGlvbl9pbmZvX3N1cHBvcnQgICAgICAgICAgICAgPSAxOyAgICAgIC8vbGJzIGxvY2F0aW9uIGluZm8gc2VydmljZTogb24KKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnVzc2Rfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICA9IDE7CiAKICAgICAgICAgICAgICAgICAgICAgLyogSU1DQiwgUmVnL1N0YWNrLCBVQSBpbnRlcm5hbCBjb25maWd1cmF0aW9ucyAqLwogICAgICAgICAgICAgICAgICAgICAvKiBDYWxsICovCkBAIC0xMDA5Miw2ICsxMDEyMSw3IEBACiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgoY2hhciAqKSZtY2NtbmNbMF0sICIyMTYiLCAzKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ud192b3BzX3J1bGUgICAgICAgICAgICAgICAgICAgICAgPSAzOyAgICAgICAgLy8gSU1TIHJlZyBtYWludGFpbmVkIGJ1dCBpbml0aWFsIHJlZyBub3QgYWxsb3dlZAogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuc3J2Y2Nfbm9faW1zX2RlcmVnX3VudGlsX2NhbGxfcmVsID0gMTsgICAgICAgIC8vIGRlbGF5IElNUyBkZXJlZyBpbiAyM0cgdW50aWwgY2FsbCBpcyByZWxlYXNlZAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubG9jYXRpb25faW5mb19zdXBwb3J0ICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIC8qIENhbGwgKi8KICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9zZXNzaW9uX21pbl9zZSAgICAgICAgICAgICA9IDkwOwpAQCAtMTAxMDcsNiArMTAxMzcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWN0X2Jsb2NrX2luX3JlbW90ZV9ob2xkICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmVjdF9kZWxheV90YXJnZXRfdW5ob2xkICAgICAgICAgICAgPSAyOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfTVRVX1NpemUgICAgID0gMTUwMDsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWRkX2NvdW50cnlfdG9fcGFuaSAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9jbmlfaW5fd2lmaSAgICAgICAgICAgICAgICAgICAgPSAweDAxOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hZGRfcGNuaV9pbl92b3dpZmkgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYnlwYXNzXzQwM19yZWFzb25fcGhyYXNlICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICAgICAgI2lmZGVmIF9fRVZTX1NVUFBPUlRfXyAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjEgICAgICAgICAgICAgICA9IDE3OwpAQCAtMTA0NjAsNyArMTA0OTQsNiBAQAogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgID0gMTsgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFsd2F5c191c2Vfc2lwX3VyaV9mb3JfbW9fY2FsbCAgICAgPSAwOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hc3ltbWV0cmljX3BheWxvYWRfdHlwZV9lbmFibGUgICAgID0gMTsKLSAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuc2VuZF9yZWZlcl90b19wZWVyICAgICAgICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICAgICAgI2lmZGVmIF9fRVZTX1NVUFBPUlRfXwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgICAgID0gMTc7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIyICAgICAgICAgICAgICAgPSAyOwpAQCAtMTA4NjUsNyArMTA4OTgsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuaW5fcmVwbHlfdG9fc3VwcG9ydCAgICAgICAgICAgID0gMDsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9tb19waWRmX3VzYWdlICAgICAgICAgICAgID0gMHgwRjsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZW5hYmxlX2luX2JhbmRfdG9uZV9pbl9ob2xkICAgID0gMDsKLQorI2lmZGVmIF9fRVZTX1NVUFBPUlRfXworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgPSAxNzsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjIgICAgICAgICAgID0gMjsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgID0gMTsKKyNlbmRpZiAvKiBfX0VWU19TVVBQT1JUX18gKi8KICAgICAgICAgICAgICAgICAgICAgLyogUmVnL1N0YWNrICovCiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZ19ncnV1X3N1cHBvcnQgICAgICAgICAgICAgICA9IDA7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5hdXRvX3JlX3JlZ19iYXNlX3RpbWVyICAgICAgICA9IDEwMDAwOwpAQCAtMTA5NzAsOCArMTEwMDgsOSBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWRkX2NvdW50cnlfdG9fcGFuaSAgICAgICAgICAgID0gMTsgLy8gMjAyMVE0IEdJRC1NVFJSRVEtNTIyMDc1CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdGlyX3NoYWtlbl9mb3JfcHJpdmFjeSAgICAgICAgPSAxOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudmlkZW9fYWRkX3BsdXNfb25lICAgICAgICAgICAgID0gMTsKLSAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9wYW5pX2luX2NhbmNlbCAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hZGRfcGFuaV9pbl9jYW5jZWwgICAgICAgICAgICAgPSAwOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9pZF93aXRoX2hvc3RfaW5DYWxsICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnNtc19tb19waWRmX3VzYWdlICAgICAgICAgICAgICA9IDB4MDM7ICAvLyBFbWVyZ2VuY3kgU01TIG92ZXIgM0dQUCBSQVQsIEVtZXJnZW5jeSBTTVMgb3ZlciBXSUZJIFJBVAogCQkJbWVtc2V0KCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zcGVjX251bV9vZl9kaWdpdHNfaW5fcGlkZlswXSwwLDgpOwogICAgICAgICAgICAgc3RybmNweSgoY2hhciAqKW52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnNwZWNfbnVtX29mX2RpZ2l0c19pbl9waWRmLAogICAgICAgICAgICAgICAgICAgICAgICI2LDYsMSIsCkBAIC0xMDk3OSw3ICsxMTAxOCw3IEBACiAgICAgICAgICAgICAgICAgICAgICk7CiAKICAgICAgICAgICAgIC8qIFJlZy9TdGFjayAqLwotICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWRkX3BhbmlfaW5fYWNrID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9wYW5pX2luX2FjayAgICAgICAgICAgICAgICA9IDI7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb250YWN0X3dpdGhfcmVnaWQgICAgICAgICAgICAgPSAxOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYXV0aG9yaXphdGlvbl93aXRoX2FsZ28gICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRyeV9uZXh0X3Bjc2NmICAgICAgICAgICAgICAgICA9IDA7CkBAIC0xMTAwMyw2ICsxMTA0Miw3IEBACiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25maWRlbmNlX2xldmVsICAgICAgICAgICAgICAgPSA5MDsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1vX2YxX3RpbWVyX3RpbWVvdXQgICAgICAgICAgICA9IDB4MTg7IC8vICAyNCBzZWNvbmRzCiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kaXNhYmxlX3Jlc3BvbnNlX3NvdXJjZSAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubmV3X3JlZ19mb3JfaW5pdGlhbF9yZXF1ZXN0X3R5cGUgICA9IDE7CiAKICAgICAgICAgICAgIC8qIElNQ0IgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy52aWRlb19iZWFyZXJfbG9zdF9yZXRhaW5fdGltZXIgPSAzMDAwOwpAQCAtMTExMjgsNiArMTExNjgsNyBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubXRfY2FsbF9ub19wcmNkX2luX3NkcCAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZnJlc2hfd2FpdF9yZXF1ZXN0ICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pZ25vcmVfdW5zdXBwb3J0ZWRfY29udGVudF90eXBlID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm10X25vX3ByY2RfaW5fc2lwICAgICAgICAgICAgICAgPSAxOwogCiAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF91c2VybmFtZSAgICAgICAgICA9IDA7CkBAIC0xMTQ0MSw2ICsxMTQ4MiwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICJNVEstLS1NVDY3NTAtLS1MUjExLk1QMyIsCiAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VyX2FnZW50KS0xCiAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICBpbnQgaTsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgeworICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy53MmxfaG9fZmFpbGVkX2RlcmVnX2NhdXNlW2ldID0gMTsgLy8gRGVyZWcgZm9yIGFsbCBjYXVzZSBvZiBXMkwgSE8gZmFpbGVkCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KICAgICAgICAgICAgIC8qIENhbGwgKi8KQEAgLTExNjgyLDcgKzExNzI3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnN3aXRjaF9wcmVmZXJfcmF0X2RlcmVnICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9NVFVfU2l6ZSAgICAgPSAxMjgwOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hbHdheXNfdXNlX3NpcF91cmlfZm9yX21vX2NhbGwgICAgID0gMTsKLSAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVnaXN0ZXJfZXhwaXJ5ICAgICAgICAgICAgICAgICAgICA9IDM2MDA7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZ2lzdGVyX2V4cGlyeSAgICAgICAgICAgICAgICAgICAgPSAxMDgwMDsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5naW5nX3RpbWVyX3RpbWVvdXQgICAgICAgICA9IDkwOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdiYWNrX3RpbWVyX3RpbWVvdXQgICAgICAgID0gOTA7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfc2Vzc2lvbl9taW5fc2UgICAgICAgICAgICAgPSA5MDsKQEAgLTExOTU5LDYgKzEyMDA0LDcgQEAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm9wZXJhdG9yX2NvZGUgICAgICAgICAgID0gMHgwMDEzOyAvL29wZXJhdG9yX2NvZGUgPSAxOShUZWxzdHJhKQogICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5pc19pbXNfcmV0cnlfc3RhdHVzICAgID0gMTsgIC8vIEFMV0FZUworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnN3aXRjaF9wcmVmZXJfcmF0X2RlcmVnICAgICAgICAgICA9IDE7CiAKICAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KICAgICAgICAgICAgIC8qIENhbGwgKi8KQEAgLTEyMTM1LDYgKzEyMTgxLDcgQEAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfbW9fcGlkZl91c2FnZSAgICAgICAgICAgICA9IDB4MEU7ICAgICAvLyBQSURGX1dGQ19FTUVSR19FTkFCTEUKIAogICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnJlc291cmNlX3JldGFpbl90aW1lciAgICAgICAgID0gODAwMDsgICAgIC8vIDgwMDBtcwogCiAgICAgICAgICAgICAvKiBJTUMgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5hbGxvd19lbWVyZ2VuY3lfZGVyZWcgID0gMjsgICAvLyBkZWFjdGl2YXRlIEVDQyBQRE4gZGlyZWN0bHkKQEAgLTEyMTc5LDYgKzEyMjI2LDEyIEBACiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19iZWdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJ3X3JlY3ZfYmVnaW4gICAgICAgICAgICAgICAgICAgICAgPSAxOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYndfc2VuZF9iZWdpbiAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKwkJCW52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJyX3NlbmRfZW5kICAgICAgICAgICAgICAgICAgICAgICAgPSA2OworCQkJbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYnJfcmVjdl9lbmQgICAgICAgICAgICAgICAgICAgICAgICA9IDY7CisJCQludnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9iZWdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzsKKwkJCW52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJyX3NlbmRfYmVnaW4gICAgICAgICAgICAgICAgICAgICAgPSAzOworCQkJbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYnJfcmVjdl9iZWdpbiAgICAgICAgICAgICAgICAgICAgICA9IDM7CiAjZW5kaWYgLyogX19FVlNfU1VQUE9SVF9fICovCiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnN1YnNjcmliZV9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgPSAxOwpAQCAtMTIyMjIsNiArMTIyNzUsNyBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZW1lcmdfcmVnX3RpbWVyICAgICAgICAgICAgICAgID0gMTA7CiAgICAgICAgICAgICAvKiBJTUMgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5hbGxvd19lbWVyZ2VuY3lfZGVyZWcgICAgICAgICA9IDI7ICAgLy8gZGVhY3RpdmF0ZSBFQ0MgUEROIGRpcmVjdGx5CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuaXNfaW1zX3JldHJ5X3N0YXR1cyAgICAgICAgICAgPSAyOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLmVtZXJnZW5jeV9yZWdfcmV0YWluX3RpbWVyICAgID0gMzAwMDsvLyAzcwogCiAgICAgICAgICAgICBicmVhazsKQEAgLTEyNTM2LDYgKzEyNTkwLDcgQEAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJhbmRvbV9pbml0X2lwc2VjX3BvcnQgICAgICAgICAgICAgICAgID0gMDsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9jbmlfaW5fd2lmaSAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMTsgIC8vIEFkZCBDTkkgdG8gYWxsIG9wZXJhdGlvbnMuCiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5wZW5kX2RlcmVnX2luX2luaXRpYWxfcmVnICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfdWRwX29uX3RjcF9mYWlsICAgICAgICAgICAgICAgICAgICA9IDA7CiAKICAgICAgICAgICAgIC8qIElNQ0IgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5kZWZhdWx0X2ZhbGxiYWNrX3N1cHBvcnQgICAgICAgICAgICAgID0gMTsKQEAgLTEyODQ4LDYgKzEyOTAzLDQ4IEBACiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgICAgID0gMTIwOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdpbmdfdGltZXJfdGltZW91dCAgICAgICAgICAgICA9IDEyMDsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIC8qIFV6YmVraXN0YW4gKi8KKyAgICAgICAgICAgICAgICBpZiAoc3RybmNtcCgoY2hhciAqKSZtY2NtbmNbMF0sICI0MzQiLCAzKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIGltY19zZXRfbXRrX2RlZmF1bHRfdmFsdWUobnZyYW1faW1zX3Byb2ZpbGVfcHRyKTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcub3BlcmF0b3JfY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwNzE7IC8vb3BlcmF0b3JfY29kZSA9IDExMyhCZWVsaW5lKQorCisgICAgICAgICAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KKyAgICAgICAgICAgICAgICAgICAgLyogQ2FsbCovCisKKyAgICAgICAgICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICAgICAgPSAwOyAKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5lYXJseV9tZWRpYV93aGVuX3J0cF9jb21pbmcgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFzeW1tZXRyaWNfcGF5bG9hZF90eXBlX2VuYWJsZSAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAxMDsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9jYWxsX2ZpbmFsX25vdGlmeV90aW1lcl90aW1lb3V0ICAgPSA1OworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51cGdyYWRlX2NhbmNlbF9mZWF0dXJlICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9wYXJ0aWNpcGFudF9ub3Rfc3Vic2NyaWJlICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICNpZmRlZiBfX0VWU19TVVBQT1JUX18KKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZXZzX3N1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgICAgICAgICA9IDE3OworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMiAgICAgICAgICAgICAgICAgICA9IDI7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIzICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAjZW5kaWYgLyogX19FVlNfU1VQUE9SVF9fICovCisKKyAgICAgICAgICAgICAgICAgIC8qIFJlZy9TdGFjayAqLworCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9NVFVfU2l6ZSAgICAgICAgID0gMTI4MDsgICAgCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF90cmFuc3BvcnQgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfdWRwX29uX3RjcF9mYWlsICAgICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmlwc2VjX2ZhaWxfYWxsb3dlZCAgICAgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5wZW5kX2RlcmVnX2luX2luaXRpYWxfcmVnICAgICAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRjcF9jb25uZWN0X21heF90aW1lX2FsbCAgICAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKworICAgICAgICAgICAgICAgICAvKiBJTUNCICovCisKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX2F1ZGlvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOyAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub3RfYWNxdWlyZV92aWRlb19ydGNwICAgICAgICAgICAgICAgID0gMTsgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuaW1zX3Y0djZfcHJlZmVyZW5jZSAgICAgICAgICAgICAgICAgICA9IDA7ICAgIC8vIHY0IG9ubHkKKyAgICAgICAgICAgICAgICB9IAogICAgICAgICAgICAgfSAgICAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xMjk0Myw4ICsxMzA0MCwzNSBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuaXB2Nl96ZXJvX2NvbXByZXNzaW9uICAgICAgICAgICAgICAgID0gMTsKIAogICAgICAgICAgICAgLypJTUMqLwotICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLmFsbG93X2VtZXJnZW5jeV9kZXJlZyAgICAgICAgID0gMjsgICAgICAvLyBSTVNDMDAwMjc3MjUoVFRBX1ZvTFRFXzhfMjAwMCksIGRlYWN0aXZhdGUgZW1lcmdlbmN5IFBETiBkaXJlY3RseQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLmFsbG93X2VtZXJnZW5jeV9kZXJlZyAgICAgICAgICAgID0gMjsgICAgICAvLyBSTVNDMDAwMjc3MjUoVFRBX1ZvTFRFXzhfMjAwMCksIGRlYWN0aXZhdGUgZW1lcmdlbmN5IFBETiBkaXJlY3RseQorCisgICAgICAgICAgICBpZiAod2l0aF9pbXNpX2luZm8pIHsKKyAgICAgICAgICAgICAgICBpZiAoc3RybmNtcCgoY2hhciAqKSZtY2NtbmNbMF0sICI2MzUiLCAzKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIC8qSU1DKi8KKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnVzc2Rfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICAvKiBDYWxsICovCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFzeW1tZXRyaWNfcGF5bG9hZF90eXBlX2VuYWJsZSAgICAgICAgID0gMTsgCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1vZF9zZXNzaW9uX2NuZl90aW1lcl90aW1lb3V0ICAgICAgICAgID0gMzA7IAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25mX2NhbGxfZmluYWxfbm90aWZ5X3RpbWVyX3RpbWVvdXQgICA9IDU7IAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51cGdyYWRlX2NhbmNlbF9mZWF0dXJlICAgICAgICAgICAgICAgICA9IDE7IAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ob2xkX3VuaG9sZF9zZW5kX2VpbXNjbW9kZSAgICAgICAgICAgICA9IDE7IAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25mX3BhcnRpY2lwYW50X25vdF9zdWJzY3JpYmUgICAgICAgICA9IDE7IAorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZmVyX2RpYWxvZ190b19zZXJ2ZXIgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgLyogUmVnL1N0YWNrICovCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmRlcmVnX2NsZWFyX2lwc2VjICAgICAgICAgICAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX3VkcF9vbl90Y3BfZmFpbCAgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pcHNlY19mYWlsX2FsbG93ZWQgICAgICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRjcF9jb25uZWN0X21heF90aW1lX2FsbCAgICAgICAgICAgICAgID0gMjA7ICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorCisgICAgICAgICAgICAgICAgICAgIC8qIElNQ0IgKi8KKyAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfYXVkaW9fcnRjcCAgICAgICAgICAgICAgICAgPSAxOyAgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfdmlkZW9fcnRjcCAgICAgICAgICAgICAgICAgPSAxOyAgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuc3dpdGNoX3ByZWZlcl9yYXRfZGVyZWcgICAgICAgICAgICAgICAgPSAxOyAgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBjYXNlIDExNTogLyogU0sgVGVsZWNvbShTVEspICovCiAgICAgICAgIHsKQEAgLTE0OTM5LDkgKzE1MDYzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRyYW5zZmVyX2NvbmZfY2FsbF9hc18xdG8xICAgICAgICAgPSAwOwogCiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfYW1yX2ZtdF92YXJpYW50ICAgICAgICAgICAgPSAweDAxMDE7Ci0gICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVzZV9vcmdfc2RwX2Zvcl9pbnZpdGVfd2l0aG91dF9zZHAgPSAxOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5mb3JjZV9zcnZjY190cmFuc2ZlciAgICAgICAgICAgICAgID0gMHgwNzsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucGxheV9sb2NhbF90b25lX3doZW5fbm9fcnRwX3BrdF9vbl9yZW1vdGVfaG9sZCAgID0gMTsKKwkJCQkJbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmV0cnlfaW1zX3ZvaWNlX3dpdGhfb3JnX2NvZGVjX2lmXzQ4OF92cG9ydF8wICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmV0cnlfaW1zX3ZvaWNlX2lmXzQ4OF9ub19zZHAgICAgICA9IDE7CiAKICAgICAgICAgICAgICAgICAgICAgLyogUmVnL1N0YWNrICovCiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLndmY193aXRoX3BsYW5pICAgICAgICAgICAgICAgICAgICAgPSAxOwpAQCAtMTU1MjMsOCArMTU2NDgsMzggQEAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJhbmRvbV9pbml0X2lwc2VjX3BvcnQgICAgICAgICAgICAgPSAwOwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmV1c2VfdHJhbnNwb3J0X21ldGhvZHMgICAgICAgICAgICA9IDB4MDAwMDIwRDg7ICAvLyBBQ0ssIENBTkNFTCwgUFJBQ0ssIEJZRSwgVVBEQVRFCiAKLSAgICAgICAgICAgIC8qIElNQ0IgKi8KLQorICAgICAgICAgICAgLyogQ291bnRyeSBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyAqLworICAgICAgICAgICAgaWYgKHdpdGhfaW1zaV9pbmZvKSB7CisgICAgICAgICAgICAgICAgLyogTmlnZXJpYSAqLworICAgICAgICAgICAgICAgIGlmIChzdHJuY21wKChjaGFyICopJm1jY21uY1swXSwgIjY1NSIsIDMpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgLyogSU1DICovCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5zd2l0Y2hfcHJlZmVyX3JhdF9kZXJlZyAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9wcmVjb25kaXRpb24gICAgICAgICAgICAgICAgICAgPSAwOyAKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfYW1yX2ZtdF92YXJpYW50ICAgICAgICAgICAgICAgID0gMHgxMTExOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5lYXJseV9tZWRpYV93aGVuX3J0cF9jb21pbmcgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFzeW1tZXRyaWNfcGF5bG9hZF90eXBlX2VuYWJsZSAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9jYWxsX2ZpbmFsX25vdGlmeV90aW1lcl90aW1lb3V0ICAgPSA1OworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51cGdyYWRlX2NhbmNlbF9mZWF0dXJlICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9wYXJ0aWNpcGFudF9ub3Rfc3Vic2NyaWJlICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVnX2dydXVfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgPSAwOy8vZGlzYWJsZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfTVRVX1NpemUgICAgICAgICA9IDEzMDA7CisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF90cmFuc3BvcnQgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfdWRwX29uX3RjcF9mYWlsICAgICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmlwc2VjX2ZhaWxfYWxsb3dlZCAgICAgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudGNwX2Nvbm5lY3RfbWF4X3RpbWVfYWxsICAgICAgICAgICAgICAgPSAyMDsgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kZWZhdWx0X3JlZ19yZXRyeV9tZWNoYW5pc20gICAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnBlbmRfZGVyZWdfaW5faW5pdGlhbF9yZWcgICAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfYXVkaW9fcnRjcCAgICAgICAgICAgICAgICA9IDE7ICAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfdmlkZW9fcnRjcCAgICAgICAgICAgICAgICA9IDE7ICAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZSAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSAxNDM6IC8qIFR1cmtDZWxsICovCkBAIC0xNzE3Miw2ICsxNzMyNywxMSBAQAogCiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuYXV0b19yZV9yZWdfbWF4X3RpbWVyICAgICAgICAgPSAzMDAwMDA7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuZW5hYmxlX2RkZF9mZWF0dXJlICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgCisgICAgICAgICAgICAvKiBDYW5hZGEgKi8KKyAgICAgICAgICAgIGlmIChzdHJuY21wKChjaGFyICopJm1jY21uY1swXSwgIjMwMiIsIDMpID09IDApIHsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5mb3JjZV9jc2ZiX3doZW42NjMgICAgICAgICA9IDE7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIDE1ODogLyogWmFpbiAqLwpAQCAtMTczNTksNyArMTc1MTksNyBAQAogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hbHdheXNfdXNlX3NpcF91cmlfZm9yX21vX2NhbGwgICAgID0gMDsKICAgICAgICAgICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudHJhbnNmZXJfY29uZl9jYWxsX2FzXzF0bzEgICAgICAgICA9IDA7CiAgICAgICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9jb3VudHJ5X3RvX3BhbmkgICAgICAgICAgICAgICAgPSAxOwotCQkJCQludnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX2ludml0ZV9ub19yc3BfcmFuX3ByaW9fcmVxX3RpbWVyX3RpbWVvdXQgPSAzOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX2ludml0ZV9ub19yc3BfcmFuX3ByaW9fcmVxX3RpbWVyX3RpbWVvdXQgPSAzOwogICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX3Nlc3Npb25fdGltZXIgICAgICAgICAgICAgID0gOTAwOwogCiAgICAgICAgICAgICAgICAgICAgIC8qIFJlZy9TdGFjayAqLwpAQCAtMTczNzIsNiArMTc1MzIsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOLDMzLDE4LDA7TiwqLDAsMTtFLCosMCwxOyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcucGRuX3Jlal9oYW5kbGUpLTEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcudXNzZF9zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgLyogS3V3YWl0ICovCiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgoY2hhciAqKSZtY2NtbmNbMF0sICI0MTkiLCAzKSA9PSAwKSB7CkBAIC0xODQ5Myw2ICsxODY1NCwyMyBAQAogICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRyYW5zZmVyX2NvbmZfY2FsbF9hc18xdG8xICAgICAgICAgPSAwOwogICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9jbmlfaW5fd2lmaSAgICAgICAgICAgICAgICAgICAgPSAxOwogICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZmVyX2RpYWxvZ190b19zZXJ2ZXIgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgIG1lbXNldCgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9hbXJfbW9kZV9zZXRbMF0sMCwxNik7CisgICAgICAgICAgICAgICAgc3RybmNweSgoY2hhciAqKW52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfYW1yX21vZGVfc2V0LAorICAgICAgICAgICAgICAgICIwLDIsNCw3Iiwgc2l6ZW9mKG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfYW1yX21vZGVfc2V0KS0xKTsKKworICAgICAgICAgICAgI2lmZGVmIF9fRVZTX1NVUFBPUlRfXworICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmV2c19zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIxICAgICAgICAgICAgICAgPSAxNzsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMiAgICAgICAgICAgICAgID0gMjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMyAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9yZWN2X2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9zZW5kX2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19yZWN2X2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gMjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19zZW5kX2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gMjsKKyAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jaF9hd19yZWN2ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHhGRjsgCisgICAgICAgICAgICAjZW5kaWYgLyogX19FVlNfU1VQUE9SVF9fICovCiAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KICAgICAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfTVRVX1NpemUgICAgID0gMTA4MDsKQEAgLTE5MzM1LDcgKzE5NTEzLDcgQEAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnN1cHBvcnRfcmluZ2luZ19kb3duZ3JhZGUgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5pbXNfcmVnX2FsbG93ZWRfYXRfMjNnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5yZmM1NjI2X2Zsb3dfcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsJCQkKLQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnJlc291cmNlX3JldGFpbl90aW1lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4MDAwOwogICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKIAogICAgICAgICAgICAgbWVtc2V0KCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcucGNzY2ZfaG9tZV9wb2xpY3lfbGlzdFswXSwwLDMyKTsKQEAgLTE5NjA3LDcgKzE5Nzg1LDcgQEAKICAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KICAgICAgICAgICAgIC8qIENhbGwqLwogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICA9IDA7ICAgICAgICAgIAotICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5nYmFja190aW1lcl90aW1lb3V0ICAgICAgICA9IDkwOyAgICAgICAgIAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5nYmFja190aW1lcl90aW1lb3V0ICAgICAgICA9IDIwMDsgICAgICAgICAKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2luZ190aW1lcl90aW1lb3V0ICAgICAgICAgPSA0NTsKICAgICAgICAgICAgIHN0cm5jcHkgKCAoY2hhciopbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlcl9hZ2VudCwgIAogICAgICAgICAgICAgICAgICAgICAgICIwMCIsIApAQCAtMjA4MzUsNiArMjEwMTMsNzYgQEAKICAgICAgICAgICAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgMjUwOiAvKiBVbmlvbi9VUyAqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDBmYTsgLy9vcGVyYXRvcl9jb2RlID0gMjUwKFVuaW9uL1VTKQorICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKKworICAgICAgICAgICAgLyogQ2FsbCAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX2Vwc19wcmVmaXhfaW5fcGhvbmVfY29udGV4dCAgICAgICAgPSAwOworICAgICAgICAgICAgbWVtc2V0KCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2Ftcl9tb2RlX3NldFswXSwwLDE2KTsKKyAgICAgICAgICAgIG1lbXNldCgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9hbXJfd2JfbW9kZV9zZXRbMF0sMCwyMCk7CisgICAgICAgICAgICBzdHJuY3B5KChjaGFyICopbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9hbXJfbW9kZV9zZXQsCisgICAgICAgICAgICAiMCwyLDQsNyIsIHNpemVvZihudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2Ftcl9tb2RlX3NldCktMSk7CisKKyAgICAgICAgICAgIC8qIFJFRy9TVEFDSyAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfcmVnX3JldHJ5X2Jhc2VfdGltZSAgICAgICAgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX3JlZ19yZXRyeV9tYXhfdGltZSAgICAgICAgICAgICAgICAgID0gMTgwMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmVtZXJnX3JlZ190aW1lciAgICAgICAgICAgICAgICAgICAgICAgID0gMTA7CisKKyAgICAgICAgICAgIC8qIFN1Z2dlc3RlZCB2YWx1ZSAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucnRwX3J0Y3BfbG9jYWxfcG9ydF9zdGFydCAgICAgICAgICAgICAgPSA0OTE1MjsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJ0cF9ydGNwX2xvY2FsX3BvcnRfcmFuZ2UgICAgICAgICAgICAgID0gMTYzODM7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX3Nlc3Npb25fbWluX3NlICAgICAgICAgICAgICAgICA9IDkwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9yZWpfYnlfdXNlcl9jb2RlICAgICAgICAgICAgICAgPSA2MDM7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5tZXJnZV9zZW5kX2J5ZSAgICAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25mX3BhcnRpY2lwYW50X25vdF9zdWJzY3JpYmUgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX2lkX3dpdGhfaG9zdF9pbkNhbGwgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5lYXJseV9tZWRpYV93aGVuX3J0cF9jb21pbmcgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5oaXN0aW5mb19pbl9zdXBwb3J0ZWQgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5wcmVmZXJfb3JpZ2luYWxfY29kZWMgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZXNwX3ByZWNvbmRpdGlvbl93aXRob3V0X2J3X2NuZiAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5mb3JjZV9zcnZjY190cmFuc2ZlciAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zaG93X29jdGV0X2FsaWduICAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jaGVja19jdXJyX3FvcyAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5rZWVwX29yaWdpbmFsX3JlZnJlc2hlcl9pbl9yZWludml0ZSAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5mb3JjZV9jc2ZiX3doZW42NjMgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zZXRfdGV4dF9ydGNwXzAgICAgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfbG93ZXJfYW5vbnltb3VzICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51cGRhdGVfY2FsbF9pZF93aXRoX2hvc3QgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb250YWN0X3dpdGhfdHJhbnNwb3J0ICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kZXJlZ19jbGVhcl9pcHNlYyAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfdWRwX29uX3RjcF9mYWlsICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pcHNlY19mYWlsX2FsbG93ZWQgICAgICAgICAgICAgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy50Y3BfY29ubmVjdF9tYXhfdGltZV9hbGwgICAgICAgICAgICAgICA9IDIwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX3BhdV9hdF9zZHBfb3JpZ2luICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWN0X3JlZmVyX3RvX3VzZV9wYWkgICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWN0X3JlZmVyX3RvX3VzZV9zaXBfdXJpICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuc2V0X25vbl9zZW5kcmVjdl9ydGNwXzAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWRkX3BhcmFtX2luX3JtX3BydGNwbnQgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX2F1ZGlvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucGVuZF9kZXJlZ19pbl9pbml0aWFsX3JlZyAgICAgICAgICAgICAgPSAxOworCisjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICAvKiBDYWxsICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfY29uZmlndXJhdGlvbl9wcm9maWxlICAgICAgICAgICAgICA9IDE7ICAgICAgLy8gRVZTIENvbmZpZ3VyYXRpb24gQTI6IGJyPTUuOS0yNC40OyBidz1uYi1zd2IKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNoX2F3X3JlY3YgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKKworICAgICAgICAgICAgLyogU3VnZ2VzdGVkIHZhbHVlICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19zZW5kX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5id19yZWN2X2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgICAgICAgICA9IDE3OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjIgICAgICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICAgICAgPSAxOworI2VuZGlmIC8qIF9fRVZTX1NVUFBPUlRfXyAqLyAgICAgICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSAyNTU6IC8qIENlbGx1bGFyIE9uZSovCiAgICAgICAgIHsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm9wZXJhdG9yX2NvZGUgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMGZmOyAvL29wZXJhdG9yX2NvZGUgPSAyNTUoQ2VsbHVsYXIgT25lKQpAQCAtMjIxNTQsNyArMjI0MDIsNTUgQEAKICAgICAgICAgICAgIAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSAzMDM6IC8qSWxpYWQgSXRhbHkqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMTJGOyAgIC8vb3BlcmF0b3JfY29kZSA9IDMwMyhJbGlhZCkgICAgICAgICAgICAKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm53X3ZvcHNfcnVsZSAgICAgICAgICAgICAgICAgICAgICAgID0gMHgxODsgICAgIC8vIDExMDAwLCBJTVMgcmVnIG1haW50YWluZWQgYnV0IGluaXRpYWwgcmVnIG5vdCBhbGxvd2VkCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm9faW1zX3JlZ19kdXJpbmdfYWN0aXZlX2NzX2NhbGwgICAgPSAxOyAgICAgICAgLy8gbm90IHJlZ2lzdGVyIGZvciBXRkMgZHVyaW5nIGEgQ1MgY2FsbAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnNydmNjX25vX2ltc19kZXJlZ191bnRpbF9jYWxsX3JlbCAgID0gMTsgICAgICAgIC8vIGRlbGF5IElNUyBkZXJlZyBpbiAyM0cgdW50aWwgY2FsbCBpcyByZWxlYXNlZAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnJmYzU2MjZfZmxvd19yZWNvdmVyeSAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5sb2NhdGlvbl9pbmZvX3N1cHBvcnQgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHNldF9jb25mX2ZhY3RvcnlfdXJpX2J5X2ltc2koJm52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NvbmZfZmFjdG9yeV91cmlbMF0sIHdpdGhfaW1zaV9pbmZvLCBpbXNpX21uY19sZW4sIG1jY21uYywgb3BfaWQsIHNwZWNpYWxfcHJvZmlsZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KKyAgICAgICAgICAgIC8qIENhbGwgKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfc2Vzc2lvbl9taW5fc2UgICAgICAgICAgICAgID0gOTA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdpbmdfdGltZXJfdGltZW91dCAgICAgICAgICA9IDEyMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgID0gMTIwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudHJhbnNmZXJfY29uZl9jYWxsX2FzXzF0bzEgICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuc3J2Y2NfZmVhdHVyZV9lbmFibGUgICAgICAgICAgICAgICAgPSAweDAwMEY7ICAgIC8vIGVuYWJsZSBTUlZDQywgYVNSVkNDLCBiU1JWQ0MgYW5kIG1pZC1TUlZDQworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubWVyZ2Vfc2VuZF9ieWVfZGVsYXkgICAgICAgICAgICAgICAgPSAyOworICAgICAgICAjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIxICAgICAgICAgICAgICAgPSAxNzsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIyICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9zZW5kX2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gMTE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9yZWN2X2VuZCAgICAgICAgICAgICAgICAgICAgICAgID0gMTE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jaF9hd19yZWN2ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHhmZjsKKyAgICAgICAgI2VuZGlmIC8qIF9fRVZTX1NVUFBPUlRfXyAqLworICAgICAgICAgICAgbWVtc2V0KCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZXF1aXJlZF9sb2NfaW5mb19udW1fc2V0WzBdLDAsMTI4KTsKKyAgICAgICAgICAgIHN0cm5jcHkoKGNoYXIgKiludnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZXF1aXJlZF9sb2NfaW5mb19udW1fc2V0LAorICAgICAgICAgICAgICAgICAgICAiMTEyLDExMywxMTQsMTE1LDExNjExMSwxMTYxMTcsMTE2MTIzLDExNjAwNiwxMTYwMDAsMTE4LDEzMSwxMzIsMTM0MSwxMzUsMTM4LDE1MzAiLAorICAgICAgICAgICAgICAgICAgICBzaXplb2YgKG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlcXVpcmVkX2xvY19pbmZvX251bV9zZXQpLTEKKyAgICAgICAgICAgICAgICAgICAgKTsKIAorICAgICAgICAgICAgLyogUmVnL1N0YWNrICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pbml0aWFsX3JlZ193aXRob3V0X3BhbmkgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ub3RfYXV0b19yZWdfNDAzICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5wZW5kX2RlcmVnX2luX2luaXRpYWxfcmVnICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9yZWdfaXBzZWNfYWxnbyAgICAgICAgICAgICAgICAgICA9IDB4MzM7ICAgICAgLy8gZGlzYWJsZSAzZGVzIGVuY3J5cHRpb24KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFkZF9jbmlfaW5fd2lmaSAgICAgICAgICAgICAgICAgICAgID0gMHgwMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9NVFVfU2l6ZSAgICAgID0gMTI4MDsKKworICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSAzMDQ6IC8qIENUTU8gTWFjYXUgKi8KICAgICAgICAgewogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcub3BlcmF0b3JfY29kZSAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMTMwOyAgICAgIC8vb3BlcmF0b3JfY29kZSA9IDMwNChDVE1PIE1hY2F1KQpAQCAtMjQ5MTUsNiArMjUyMTEsNyBAQAogICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucm1fdl9tZWRpYV9jX2lmX2FfaW5hY3RpdmUgICAgID0gMTsKICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZnJlc2hfd2FpdF9yZXF1ZXN0ICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pZ25vcmVfdW5zdXBwb3J0ZWRfY29udGVudF90eXBlID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm10X25vX3ByY2RfaW5fc2lwICAgICAgICAgICAgICAgPSAxOwogCiAgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KICAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF91c2VybmFtZSAgICAgICAgICA9IDA7CkBAIC0yNjQyOSw2ICsyNjcyNiw0NiBAQAogCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCisgICAgICAgIGNhc2UgNDMzOiAvKiBWb2RhZm9uZS9Va3JhaW5lICovCisgICAgICAgIHsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm9wZXJhdG9yX2NvZGUgICAgICAgICAgICAgICAgICAgICAgPSAweDAxQjE7ICAgIC8vb3BlcmF0b3JfY29kZSA9IDQzMyhWb2RhZm9uZS9Va3JhaW5lKQorICAgICAgICAgICAgCisgICAgICAgICAgICBzZXRfY29uZl9mYWN0b3J5X3VyaV9ieV9pbXNpKCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jb25mX2ZhY3RvcnlfdXJpWzBdLCB3aXRoX2ltc2lfaW5mbywgaW1zaV9tbmNfbGVuLCBtY2NtbmMsIG9wX2lkLCBzcGVjaWFsX3Byb2ZpbGUpOworCisgICAgICAgICAgICAvKiBJTUNCLCBSZWcvU3RhY2ssIFVBIGludGVybmFsIGNvbmZpZ3VyYXRpb25zICovCisgICAgICAgICAgICAvKiBDYWxsKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgPSAxMjA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdpbmdfdGltZXJfdGltZW91dCAgICAgICAgID0gMTIwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfc2Vzc2lvbl9taW5fc2UgICAgICAgICAgICAgPSA5MDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1lcmdlX3NlbmRfYnllICAgICAgICAgICAgICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZm9yY2Vfc3J2Y2NfdHJhbnNmZXIgICAgICAgICAgICAgICA9IDA7CisjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIxICAgICAgICAgICAgICAgPSAxNzsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIyICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJyX3JlY3ZfZW5kICAgICAgICAgICAgICAgICAgICAgICAgPSA2OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYnJfc2VuZF9lbmQgICAgICAgICAgICAgICAgICAgICAgICA9IDY7CisjZW5kaWYKKyAgICAgICAgICAgIC8qIFJlZy9TdGFjayAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWRkX2NvdW50cnlfdG9fcGFuaSAgICAgICAgICAgICAgICA9IDE7IAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuaW5pdGlhbF9yZWdfd2l0aG91dF9wYW5pICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ub3RfYXV0b19yZWdfNDAzICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJ5cGFzc180MDNfcmVhc29uX3BocmFzZSAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucGVuZF9kZXJlZ19pbl9pbml0aWFsX3JlZyAgICAgICAgICA9IDE7CisgICAgICAgICAgICAvKiBJTUMgKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5sb2NhdGlvbl9pbmZvX3N1cHBvcnQgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm53X3ZvcHNfcnVsZSAgICAgICAgICAgICAgICAgICAgICA9IDB4MTg7ICAgICAvLyBJTVMgcmVnIG1haW50YWluZWQgYnV0IGluaXRpYWwgcmVnIG5vdCBhbGxvd2VkCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm9faW1zX3JlZ19kdXJpbmdfYWN0aXZlX2NzX2NhbGwgID0gMTsgICAgICAgIC8vIG5vdCByZWdpc3RlciBmb3IgV0ZDIGR1cmluZyBhIENTIGNhbGwKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5zcnZjY19ub19pbXNfZGVyZWdfdW50aWxfY2FsbF9yZWwgPSAxOyAgICAgICAgLy8gZGVsYXkgSU1TIGRlcmVnIGluIDIzRyB1bnRpbCBjYWxsIGlzIHJlbGVhc2VkCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcucmZjNTYyNl9mbG93X3JlY292ZXJ5ICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgY2FzZSA0MzQ6IC8qIE1vYmljb20gTW9uZ29saWEqLwogICAgICAgICB7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MUIyOyAgICAgIC8vb3BlcmF0b3JfY29kZSA9IDQzNCAoTW9iaWNvbSBNb25nb2xpYSkKQEAgLTI2NzY2LDYgKzI3MTAzLDMwNSBAQAogCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNlIDQ0NDogLyogT05ETy9Nb25nb2xpYSAqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAxQkM7ICAgICAgLy9vcGVyYXRvcl9jb2RlID0gNDQ0CisgICAgICAgICAgICBzZXRfY29uZl9mYWN0b3J5X3VyaV9ieV9pbXNpKCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jb25mX2ZhY3RvcnlfdXJpWzBdLCB3aXRoX2ltc2lfaW5mbywgaW1zaV9tbmNfbGVuLCBtY2NtbmMsIG9wX2lkLCBzcGVjaWFsX3Byb2ZpbGUpOworCisgICAgICAgICAgICAvKiBDQUxMICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdpbmdfdGltZXJfdGltZW91dCAgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgICA9IDMwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICAgID0gMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmVhcmx5X21lZGlhX3doZW5fcnRwX2NvbWluZyAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hc3ltbWV0cmljX3BheWxvYWRfdHlwZV9lbmFibGUgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgID0gMzA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25mX2NhbGxfZmluYWxfbm90aWZ5X3RpbWVyX3RpbWVvdXQgPSA1OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXBncmFkZV9jYW5jZWxfZmVhdHVyZSAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb25mX3BhcnRpY2lwYW50X25vdF9zdWJzY3JpYmUgICAgICAgPSAxOworICAgIAorICAgICAgICAgICAgLyogUkVHL1NUQUNLICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb250YWN0X3dpdGhfdHJhbnNwb3J0ICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVzZV91ZHBfb25fdGNwX2ZhaWwgICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pcHNlY19mYWlsX2FsbG93ZWQgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudGNwX2Nvbm5lY3RfbWF4X3RpbWVfYWxsICAgICAgICAgICAgID0gMjA7ICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmRlZmF1bHRfcmVnX3JldHJ5X21lY2hhbmlzbSAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisKKyAgICAgICAgICAgIC8qIElNQ0IgKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub3RfYWNxdWlyZV9hdWRpb19ydGNwICAgICAgICAgICAgICA9IDE7ICAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgID0gMTsgICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuc3dpdGNoX3ByZWZlcl9yYXRfZGVyZWcgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NDU6IC8qIE1hc2NvbSAqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDFCRDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub3RfYWNxdWlyZV9hdWRpb19ydGNwICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub3RfYWNxdWlyZV92aWRlb19ydGNwICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5zd2l0Y2hfcHJlZmVyX3JhdF9kZXJlZyAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy51c3NkX3N1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9NVFVfU2l6ZSAgICAgICAgID0gMTI1MDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFsd2F5c191c2Vfc2lwX3VyaV9mb3JfbW9fY2FsbCAgICAgICAgID0gMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFzeW1tZXRyaWNfcGF5bG9hZF90eXBlX2VuYWJsZSAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgICAgID0gOTA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdpbmdfdGltZXJfdGltZW91dCAgICAgICAgICAgICA9IDkwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9wYXJ0aWNpcGFudF9ub3Rfc3Vic2NyaWJlICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29udGFjdF93aXRoX3RyYW5zcG9ydCAgICAgICAgICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOyAKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmRlcmVnX2NsZWFyX2lwc2VjICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmVhcmx5X21lZGlhX3doZW5fcnRwX2NvbWluZyAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmlwc2VjX2ZhaWxfYWxsb3dlZCAgICAgICAgICAgICAgICAgICAgID0gMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1vZF9zZXNzaW9uX2NuZl90aW1lcl90aW1lb3V0ICAgICAgICAgID0gMzA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy50Y3BfY29ubmVjdF9tYXhfdGltZV9hbGwgICAgICAgICAgICAgICA9IDIwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXBncmFkZV9jYW5jZWxfZmVhdHVyZSAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX3VkcF9vbl90Y3BfZmFpbCAgICAgICAgICAgICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29uZl9jYWxsX2ZpbmFsX25vdGlmeV90aW1lcl90aW1lb3V0ICAgPSA1OworCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDQ0OTogLyogRGlnaXRlbCBWZW5lenVlbGEgKi8KKyAgICAgICAgeworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcub3BlcmF0b3JfY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAxQzE7ICAgLy9vcGVyYXRvcl9jb2RlID0gNDQ5IChEaWdpdGVsKQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnN3aXRjaF9wcmVmZXJfcmF0X2RlcmVnICAgICAgICAgICAgICAgPSAxOworCisgICAgICAgICAgICAvKkNBTEwqLworICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2luZ190aW1lcl90aW1lb3V0ICAgICAgICAgICAgID0gOTA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdiYWNrX3RpbWVyX3RpbWVvdXQgICAgICAgICAgICA9IDkwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuc3Vic2NyaWJlX2RpYWxvZ190b19zZXJ2ZXIgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWFybHlfbWVkaWFfd2hlbl9ydHBfY29taW5nICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYXN5bW1ldHJpY19wYXlsb2FkX3R5cGVfZW5hYmxlICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfY2FsbF9maW5hbF9ub3RpZnlfdGltZXJfdGltZW91dCAgID0gNTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVwZ3JhZGVfY2FuY2VsX2ZlYXR1cmUgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfcGFydGljaXBhbnRfbm90X3N1YnNjcmliZSAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5pZ25vcmVfbWVkaWFfcW9zX2NoZWNrICAgICAgICAgICAgICAgID0gMHhmZmY7CisKKyAgICAgICAgICAgLypSRUcqLyAgCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9yZWdfdDFfdGltZXIgICAgICAgICAgICAgICAgICAgICAgICA9IDUwMDsJCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWdfZ3J1dV9zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICA9IDA7CQkJCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jb250YWN0X3dpdGhfdHJhbnNwb3J0ICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kZXJlZ19jbGVhcl9pcHNlYyAgICAgICAgICAgICAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5pcHNlY19mYWlsX2FsbG93ZWQgICAgICAgICAgICAgICAgICAgICA9IDA7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kZWZhdWx0X3JlZ19yZXRyeV9tZWNoYW5pc20gICAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5wZW5kX2RlcmVnX2luX2luaXRpYWxfcmVnICAgICAgICAgICAgICA9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgIAorICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX2F1ZGlvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOyAgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub3RfYWNxdWlyZV92aWRlb19ydGNwICAgICAgICAgICAgICAgID0gMTsgICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDUyOiAvKiAxJjEgR2VybWFueSAqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgID0gMHgwMUM0OyAgICAvL29wZXJhdG9yX2NvZGUgPSA0NTIoMSYxL0dlcm1hbnkpCisgICAgICAgICAgICAKKyAgICAgICAgICAgIHNldF9jb25mX2ZhY3RvcnlfdXJpX2J5X2ltc2koJm52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NvbmZfZmFjdG9yeV91cmlbMF0sIHdpdGhfaW1zaV9pbmZvLCBpbXNpX21uY19sZW4sIG1jY21uYywgb3BfaWQsIHNwZWNpYWxfcHJvZmlsZSk7CisKKyAgICAgICAgICAgIC8qIElNQ0IsIFJlZy9TdGFjaywgVUEgaW50ZXJuYWwgY29uZmlndXJhdGlvbnMgKi8KKyAgICAgICAgICAgIC8qIENhbGwqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5nYmFja190aW1lcl90aW1lb3V0ICAgICAgICA9IDQwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5naW5nX3RpbWVyX3RpbWVvdXQgICAgICAgICA9IDQwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfc2Vzc2lvbl9taW5fc2UgICAgICAgICAgICAgPSA5MDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1lcmdlX3NlbmRfYnllICAgICAgICAgICAgICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZm9yY2Vfc3J2Y2NfdHJhbnNmZXIgICAgICAgICAgICAgICA9IDA7CisjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIxICAgICAgICAgICAgICAgPSAxNzsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIyICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5icl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmJyX3JlY3ZfZW5kICAgICAgICAgICAgICAgICAgICAgICAgPSA2OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYnJfc2VuZF9lbmQgICAgICAgICAgICAgICAgICAgICAgICA9IDY7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jaF9hd19yZWN2ICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKKyNlbmRpZgorCisgICAgICAgICAgICAvKiBSZWcvU3RhY2sgKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmluaXRpYWxfcmVnX3dpdGhvdXRfcGFuaSAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubm90X2F1dG9fcmVnXzQwMyAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ieXBhc3NfNDAzX3JlYXNvbl9waHJhc2UgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnBlbmRfZGVyZWdfaW5faW5pdGlhbF9yZWcgICAgICAgICAgPSAxOworCisKKyAgICAgICAgICAgIC8qIElNQ0IgKi8KKyAgICAgICAgICAgIAorICAgICAgICAgICAgLyogSU1DICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubndfdm9wc19ydWxlICAgICAgICAgICAgICAgICAgICAgID0gMHgxODsgICAgIC8vIElNUyByZWcgbWFpbnRhaW5lZCBidXQgaW5pdGlhbCByZWcgbm90IGFsbG93ZWQKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5ub19pbXNfcmVnX2R1cmluZ19hY3RpdmVfY3NfY2FsbCAgPSAxOyAgICAgICAgLy8gbm90IHJlZ2lzdGVyIGZvciBXRkMgZHVyaW5nIGEgQ1MgY2FsbAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnNydmNjX25vX2ltc19kZXJlZ191bnRpbF9jYWxsX3JlbCA9IDE7ICAgICAgICAvLyBkZWxheSBJTVMgZGVyZWcgaW4gMjNHIHVudGlsIGNhbGwgaXMgcmVsZWFzZWQKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5yZmM1NjI2X2Zsb3dfcmVjb3ZlcnkgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnVzc2Rfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICA9IDE7ICAgICAgICAvLyBlbmFibGUgVVNTRCBvdmVyIElNUyBzdXBwb3J0CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDQ1MzogLyogU2FmYXJpY29tL0V0aGlvcGlhICovCisgICAgICAgIHsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm9wZXJhdG9yX2NvZGUgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMUM1OyAgIC8vb3BlcmF0b3JfY29kZSA9IDQ1MyAoRXRoaW9waWEpCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcuc3dpdGNoX3ByZWZlcl9yYXRfZGVyZWcgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8qQ0FMTCovCisgICAgICAgICAgICBzZXRfY29uZl9mYWN0b3J5X3VyaV9ieV9pbXNpKCZudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jb25mX2ZhY3RvcnlfdXJpWzBdLCB3aXRoX2ltc2lfaW5mbywgaW1zaV9tbmNfbGVuLCBtY2NtbmMsIG9wX2lkLCBzcGVjaWFsX3Byb2ZpbGUpOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYWx3YXlzX3VzZV9zaXBfdXJpX2Zvcl9tb19jYWxsICAgICAgICAgPSAwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY2FsbF9yaW5naW5nX3RpbWVyX3RpbWVvdXQgICAgICAgICAgICAgPSA5MDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2JhY2tfdGltZXJfdGltZW91dCAgICAgICAgICAgID0gOTA7CisjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgICAgICAgICA9IDE3OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjIgICAgICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICAgICAgPSAxOworI2VuZGlmCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcudXNzZF9zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7IAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWFybHlfbWVkaWFfd2hlbl9ydHBfY29taW5nICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYXN5bW1ldHJpY19wYXlsb2FkX3R5cGVfZW5hYmxlICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfY2FsbF9maW5hbF9ub3RpZnlfdGltZXJfdGltZW91dCAgID0gNTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVwZ3JhZGVfY2FuY2VsX2ZlYXR1cmUgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfcGFydGljaXBhbnRfbm90X3N1YnNjcmliZSAgICAgICAgID0gMTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLypSRUcqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucGVuZF9kZXJlZ19pbl9pbml0aWFsX3JlZyAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29udGFjdF93aXRoX3RyYW5zcG9ydCAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX3VkcF9vbl90Y3BfZmFpbCAgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuaXBzZWNfZmFpbF9hbGxvd2VkICAgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudGNwX2Nvbm5lY3RfbWF4X3RpbWVfYWxsICAgICAgICAgICAgICAgPSAyMDsgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorCisgICAgICAgICAgICAvKiBJTUNCICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfYXVkaW9fcnRjcCAgICAgICAgICAgICAgICA9IDE7ICAgIC8vU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOyAgICAvL1N1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NTQ6IC8qIFZvZGFjb20vQ29uZ28ta2luZ3NoYXNhICovCisgICAgICAgIHsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm9wZXJhdG9yX2NvZGUgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMUM2OyAgIC8vb3BlcmF0b3JfY29kZSA9IDQ1NCAoVm9kYWNvbSkKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy5zd2l0Y2hfcHJlZmVyX3JhdF9kZXJlZyAgICAgICAgICAgICAgID0gMTsKKworICAgICAgICAgICAgLypDQUxMKi8KKyAgICAgICAgICAgIHNldF9jb25mX2ZhY3RvcnlfdXJpX2J5X2ltc2koJm52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NvbmZfZmFjdG9yeV91cmlbMF0sIHdpdGhfaW1zaV9pbmZvLCBpbXNpX21uY19sZW4sIG1jY21uYywgb3BfaWQsIHNwZWNpYWxfcHJvZmlsZSk7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hbHdheXNfdXNlX3NpcF91cmlfZm9yX21vX2NhbGwgICAgICAgICA9IDA7CisjaWZkZWYgX19FVlNfU1VQUE9SVF9fCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5ldnNfc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMSAgICAgICAgICAgICAgICAgICA9IDE3OworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjIgICAgICAgICAgICAgICAgICAgPSAyOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY2FsbF9jb2RlY19vcmRlcjMgICAgICAgICAgICAgICAgICAgPSAxOworI2VuZGlmCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcudXNzZF9zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5yZWZlcl9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgICAgICA9IDE7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5zdWJzY3JpYmVfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICA9IDE7IAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWFybHlfbWVkaWFfd2hlbl9ydHBfY29taW5nICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYXN5bW1ldHJpY19wYXlsb2FkX3R5cGVfZW5hYmxlICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfY2FsbF9maW5hbF9ub3RpZnlfdGltZXJfdGltZW91dCAgID0gNTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVwZ3JhZGVfY2FuY2VsX2ZlYXR1cmUgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfcGFydGljaXBhbnRfbm90X3N1YnNjcmliZSAgICAgICAgID0gMTsKKworICAgICAgICAgICAgLypSRUcqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucGVuZF9kZXJlZ19pbl9pbml0aWFsX3JlZyAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuY29udGFjdF93aXRoX3RyYW5zcG9ydCAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudXNlX3VkcF9vbl90Y3BfZmFpbCAgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuaXBzZWNfZmFpbF9hbGxvd2VkICAgICAgICAgICAgICAgICAgICAgPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudGNwX2Nvbm5lY3RfbWF4X3RpbWVfYWxsICAgICAgICAgICAgICAgPSAyMDsgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVmYXVsdF9yZWdfcmV0cnlfbWVjaGFuaXNtICAgICAgICAgICAgPSAxOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorCisgICAgICAgICAgICAvKiBJTUNCICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPmltY19jb25maWcubm90X2FjcXVpcmVfYXVkaW9fcnRjcCAgICAgICAgICAgICAgICA9IDE7ICAgIC8vU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOyAgICAvL1N1Z2dlc3Rpb24gdmFsdWUKKworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NTY6IC8qRGVtb2NyYXRpYyByZXB1YmxpYyBvZiBjb25nbyBBaXJ0ZWwgKi8KKyAgICAgICAgeworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcub3BlcmF0b3JfY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAxQzg7IC8vb3BlcmF0b3JfY29kZSA9IDQ1NihEZW1vY3JhdGljIHJlcHVibGkgb2YgQ29uZ28gQWlydGVsKQorICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5hbHdheXNfdXNlX3NpcF91cmlfZm9yX21vX2NhbGwgICAgICAgICA9IDA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2Ftcl9mbXRfdmFyaWFudCAgICAgICAgICAgICAgICA9IDB4MTExMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnJlZmVyX2RpYWxvZ190b19zZXJ2ZXIgICAgICAgICAgICAgICAgID0gMTsKKyNpZmRlZiBfX0VWU19TVVBQT1JUX18KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmV2c19zdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX2NhbGxfY29kZWNfb3JkZXIxICAgICAgICAgICAgICAgICAgID0gMTc7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMiAgICAgICAgICAgICAgICAgICA9IDI7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9jYWxsX2NvZGVjX29yZGVyMyAgICAgICAgICAgICAgICAgICA9IDE7CisjZW5kaWYgLyogX19FVlNfU1VQUE9SVF9fICovCisgICAgICAgICAgICAKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnN1YnNjcmliZV9kaWFsb2dfdG9fc2VydmVyICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmVhcmx5X21lZGlhX3doZW5fcnRwX2NvbWluZyAgICAgICAgICAgID0gMTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFzeW1tZXRyaWNfcGF5bG9hZF90eXBlX2VuYWJsZSAgICAgICAgID0gMTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLm1vZF9zZXNzaW9uX2NuZl90aW1lcl90aW1lb3V0ICAgICAgICAgID0gMzA7IC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfY2FsbF9maW5hbF9ub3RpZnlfdGltZXJfdGltZW91dCAgID0gNTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVwZ3JhZGVfY2FuY2VsX2ZlYXR1cmUgICAgICAgICAgICAgICAgID0gMTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfcGFydGljaXBhbnRfbm90X3N1YnNjcmliZSAgICAgICAgID0gMTsgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLyogUmVnL1N0YWNrICovCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5VQV9yZWdfdDFfdGltZXIgICAgICAgICAgICAgICAgICAgICAgICA9IDUwMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX3JlZ190Ml90aW1lciAgICAgICAgICAgICAgICAgICAgICAgID0gNDAwMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLlVBX3JlZ190NF90aW1lciAgICAgICAgICAgICAgICAgICAgICAgID0gNTAwMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbnRhY3Rfd2l0aF90cmFuc3BvcnQgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmRlcmVnX2NsZWFyX2lwc2VjICAgICAgICAgICAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVzZV91ZHBfb25fdGNwX2ZhaWwgICAgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmlwc2VjX2ZhaWxfYWxsb3dlZCAgICAgICAgICAgICAgICAgICAgID0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnRjcF9jb25uZWN0X21heF90aW1lX2FsbCAgICAgICAgICAgICAgID0gMjA7ICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmRlZmF1bHRfcmVnX3JldHJ5X21lY2hhbmlzbSAgICAgICAgICAgID0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnN3aXRjaF9wcmVmZXJfcmF0X2RlcmVnICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX2F1ZGlvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgICAgPSAxOworCisgICAgICAgICAgICAvKiBJTUMgKi8KKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+aW1jX2NvbmZpZy51c3NkX3N1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDU3OiAvKiBUdW5pc2llIFRlbGVjb20vVHVuaXNpYSAqLworICAgICAgICB7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICAgICAgICAgICAgICAgCT0gMHgwMUM5OyAgIC8vb3BlcmF0b3JfY29kZSA9IDQ1NyAoVHVuaXNpZSBUZWxlY29tKQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLnN3aXRjaF9wcmVmZXJfcmF0X2RlcmVnICAgICAgICAgICAgICAgPSAxOworCisgICAgICAgICAgICAvKkNBTEwqLworICAgICAgICAgICAgc2V0X2NvbmZfZmFjdG9yeV91cmlfYnlfaW1zaSgmbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuVUFfY29uZl9mYWN0b3J5X3VyaVswXSwgd2l0aF9pbXNpX2luZm8sIGltc2lfbW5jX2xlbiwgbWNjbW5jLCBvcF9pZCwgc3BlY2lhbF9wcm9maWxlKTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmFsd2F5c191c2Vfc2lwX3VyaV9mb3JfbW9fY2FsbCAgICAgICAgID0gMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNhbGxfcmluZ2luZ190aW1lcl90aW1lb3V0ICAgICAgICAgICAgID0gMjA7CisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5jYWxsX3JpbmdiYWNrX3RpbWVyX3RpbWVvdXQgICAgICAgICAgICA9IDIwOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcucmVmZXJfZGlhbG9nX3RvX3NlcnZlciAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuc3Vic2NyaWJlX2RpYWxvZ190b19zZXJ2ZXIgICAgICAgICAgICAgPSAxOyAKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZWFybHlfbWVkaWFfd2hlbl9ydHBfY29taW5nICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuYXN5bW1ldHJpY19wYXlsb2FkX3R5cGVfZW5hYmxlICAgICAgICAgPSAxOworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcubW9kX3Nlc3Npb25fY25mX3RpbWVyX3RpbWVvdXQgICAgICAgICAgPSAzMDsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfY2FsbF9maW5hbF9ub3RpZnlfdGltZXJfdGltZW91dCAgID0gNTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLnVwZ3JhZGVfY2FuY2VsX2ZlYXR1cmUgICAgICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmhvbGRfdW5ob2xkX3NlbmRfZWltc2Ntb2RlICAgICAgICAgICAgID0gMTsKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmNvbmZfcGFydGljaXBhbnRfbm90X3N1YnNjcmliZSAgICAgICAgID0gMTsKKworICAgICAgICAgICAgLypSRUcqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcuZGVyZWdfY2xlYXJfaXBzZWMgICAgICAgICAgICAgICAgICAgIAk9IDE7ICAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy51c2VfdWRwX29uX3RjcF9mYWlsICAgICAgICAgICAgICAgICAgCT0gMDsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKyAgICAgICAgICAgIG52cmFtX2ltc19wcm9maWxlX3B0ci0+dWFfY29uZmlnLmlwc2VjX2ZhaWxfYWxsb3dlZCAgICAgICAgICAgICAgICAgICAJPSAwOyAgICAgLy8gU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT51YV9jb25maWcudGNwX2Nvbm5lY3RfbWF4X3RpbWVfYWxsICAgICAgICAgICAgIAk9IDIwOyAgICAvLyBTdWdnZXN0aW9uIHZhbHVlCisgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5kZWZhdWx0X3JlZ19yZXRyeV9tZWNoYW5pc20gICAgICAgICAgCT0gMTsgICAgIC8vIFN1Z2dlc3Rpb24gdmFsdWUKKworICAgICAgICAgICAgLyogSU1DQiAqLworICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX2F1ZGlvX3J0Y3AgICAgICAgICAgICAgIAk9IDE7ICAgIC8vU3VnZ2VzdGlvbiB2YWx1ZQorICAgICAgICAgICAgbnZyYW1faW1zX3Byb2ZpbGVfcHRyLT5pbWNfY29uZmlnLm5vdF9hY3F1aXJlX3ZpZGVvX3J0Y3AgICAgICAgICAgICAgIAk9IDE7ICAgIC8vU3VnZ2VzdGlvbiB2YWx1ZQorCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIDEwMDE6IC8qIEVyaWNzc29uIElNUyBJV0xBTiAqLwogICAgICAgICB7CiAgICAgICAgICAgICBudnJhbV9pbXNfcHJvZmlsZV9wdHItPnVhX2NvbmZpZy5vcGVyYXRvcl9jb2RlICAgICAgICAgICA9IDB4MDNFOTsgICAgICAvL29wZXJhdG9yX2NvZGUgPSAxMDAxKEVyaWNzc29uIElNUyBJV0xBTikKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9pd2xhbl9jb25maWcuYyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9pd2xhbl9jb25maWcuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IGM4NDk0N2IuLjc4MTRiNDUKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX2l3bGFuX2NvbmZpZy5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9pd2xhbl9jb25maWcuYwpAQCAtMjkxLDYgKzI5MSw3IEBACiAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCAgICAgICAgPSAweDQwIHwgMHg3OyAvLyBOUi9MVEUvM0cvMkcKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zXzIzR19zZXR1cF9iYXJyaW5nX2VuYWJsZSA9IEtBTF9UUlVFOwogICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfMjNnX3dpZmlfcmF0X3Jlc2VsZWN0X2J5X2RyZWdfZW5hYmxlID0gS0FMX1RSVUU7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19pbmNhbGxfdm9pY2VfY2FwX3ByZWYgPSBLQUxfVFJVRTsKIAogICAgICAgICAgICAgLyogSWYgVm9MVEUgcm9hbWluZyBpcyBhbGxvd2VkIChkZXBlbmRzIG9uIGNvdW50cnkpLAogICAgICAgICAgICAgICogSE8gd2l0aG91dCBuZXcgaW5pdGlhbCByZWdpc3RyYXRpb24gaXMgbm90IGFsbG93ZWQKQEAgLTQ1Miw3ICs0NTMsNyBAQAogICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfZ3NtX3Jzc2lfcG9vcl90aCAgID0gLTEwMjsKICAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX2dzbV9yc3NpX2ZhaXJfdGggICA9IC05OTsKICAgICAgICAgICAgICAgICAgICAgLyogaWNhcCAqLwotICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pY2FwX2NmZy5zbXNfbmV0d29ya190eXBlcyA9IDB4MDM7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmljYXBfY2ZnLnNtc19uZXR3b3JrX3R5cGVzID0gMHgwQjsKICAgICAgICAgICAgICAgICAgICAgLyogRW5hYmxlIFZvTFRFIHJvYW1pbmcgKi8KICAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICAgICA9IEtBTF9GQUxTRTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC02MTgsMTAgKzYxOSwxMCBAQAogCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLndsYW5fc2lnX3Rocl9jZmcuaXBvbF93bGFuX3Jzc2lfcm92ZV9mYWlyX3RoID0gLTc1OwogCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLndsYW5fc2lnX3Rocl9jZmcuaXBvbF93bGFuX3Jzc2lfaG9fcG9vcl90aCAgID0gLTgwOwogCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLndsYW5fc2lnX3Rocl9jZmcuaXBvbF93bGFuX3Jzc2lfaG9fZmFpcl90aCAgID0gLTc1OwotCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbnJfcnNycF9wb29yX3RoICAgPSAtMTE0OyAKLQkJCQkJY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX25yX3JzcnBfZmFpcl90aCAgID0gLTk0OyAKLQkJCQkJY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX2x0ZV9yc3JwX3Bvb3JfdGggICA9IC0xMTQ7Ci0JCQkJCWNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9sdGVfcnNycF9mYWlyX3RoICAgPSAtOTQ7CQorCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbnJfcnNycF9wb29yX3RoICAgICAgICAgID0gLTExNTsKKwkJCQkJY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX25yX3JzcnBfZmFpcl90aCAgICAgICAgICA9IC0xMTA7CisJCQkJCWNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9sdGVfcnNycF9wb29yX3RoICAgICAgICAgPSAtMTE1OworCQkJCQljZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbHRlX3JzcnBfZmFpcl90aCAgICAgICAgID0gLTExMDsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC05MDcsOSArOTA4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19ob19lbmFibGUgICAgICA9IEtBTF9GQUxTRTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSAyMTQ6IC8vIEVTCi0gICAgICAgICAgICAgICAgICAgIC8qIGljYXAgKi8KLSAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaWNhcF9jZmcuc21zX25ldHdvcmtfdHlwZXMgPSAweDAwOwotCiAgICAgICAgICAgICAgICAgICAgIC8qIFZvTFRFIHJvYW1pbmcgYmFycmluZyAqLwogICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX2JhcnJpbmdfZW5hYmxlID0gS0FMX0ZBTFNFOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTExNzksNiArMTE3Nyw4IEBACiAgICAgICAgIH0KICAgICAgICAgY2FzZSAxMTA6IC8qIEZFVCAqLwogICAgICAgICB7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19ucl9pbmNhbGxfaG9fZW5hYmxlID0gS0FMX1RSVUU7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19ucl9pbmNhbGxfaG9fbW9kZV93aGVuX2luY2FsbF9ob19lbmFibGUgPSAyOwogICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSA9IEtBTF9GQUxTRTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xMTk2LDkgKzExOTYsOSBAQAogICAgICAgICAgICAgLyogV0xBTiBzaWduYWwgc3RyZW5ndGggdGhyZXNob2xkICovCiAgICAgICAgICAgICBjZmctPmNvbW1fYW5zX2NmZy50cnRsX2NmZy53bGFuX3JvdmVfaW5fdHJ0bF90aW1lID0gMTIwOwogICAgICAgICAgICAgY2ZnLT5jb21tX2Fuc19jZmcudHJ0bF9jZmcuY2VsbF9yb3ZlX2luX3RydGxfdGltZSA9IDEyMDsKLSAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX21kX3N1cHBvcnRpbmdfcmF0ID0gMHg0MCB8IDB4MTsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX21kX3N1cHBvcnRpbmdfcmF0ID0gMHg0MCB8IDB4MzsKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX2NzX3ByZWZfZW5hYmxlID0gS0FMX1RSVUU7Ci0gICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc18yM0dfc2V0dXBfYmFycmluZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zXzIzR19zZXR1cF9iYXJyaW5nX2VuYWJsZSA9IEtBTF9GQUxTRTsKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgPSBLQUxfRkFMU0U7CiAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc192b3BzX2JhcnJpbmdfdnBsbW5fZW5hYmxlICAgPSAweDAwOwogICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX3JvdmVfcG9vcl90aCA9IC04NTsKQEAgLTEyMjEsNiArMTIyMSwyNSBAQAogICAgICAgICB9CiAgICAgICAgIGNhc2UgMTEzOiAvKiBCZWVsaW5lICovCiAgICAgICAgIHsKKyAgICAgICAgICAgIHN3aXRjaCAoYXRvaShzaW1fbWNjKSkgeworICAgICAgICAgICAgICAgIGNhc2UgNDM0OiAgIC8qIFV6YmVraXN0YW4gKi8KKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfbWRfc3VwcG9ydGluZ19yYXQgICAgID0gMTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5jb21tX2Fuc19jZmcucHJlZl9jZmcud2Fuc19pbXNfcHJlZl9zZXR0aW5nID0gMjsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaWNhcF9jZmcuc21zX25ldHdvcmtfdHlwZXMgICAgID0gNTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX3JvdmVfcG9vcl90aCA9IC04MDsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX3JvdmVfZmFpcl90aCA9IC02MDsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX2hvX3Bvb3JfdGggICA9IC03ODsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX2hvX2ZhaXJfdGggICA9IC02MDsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX2x0ZV9yc3JwX3Bvb3JfdGggPSAtMTIyOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbHRlX3JzcnBfZmFpcl90aCA9IC0xMTA7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF91bXRzX3JzY3BfZmFpcl90aCA9IC0xMDU7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF91bXRzX3JzY3BfcG9vcl90aCA9IC0xMTQ7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9nc21fcnNzaV9mYWlyX3RoICA9IC05MDsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX2dzbV9yc3NpX3Bvb3JfdGggID0gLTEwMDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIDExNTogLyogU0tUICovCkBAIC0xNzY4LDYgKzE3ODcsMTUgQEAKICAgICAgICAgICAgICAgICBjYXNlIDIzODogLy8gRGVubWFyawogICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX2JhcnJpbmdfZW5hYmxlID0gS0FMX0ZBTFNFOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIDI4NDogLy8gQnVsZ2FyaWEKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX3JvdmVfcG9vcl90aCA9IC03OTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX3JvdmVfZmFpcl90aCA9IC03MjsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX2hvX3Bvb3JfdGggICA9IC04MjsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy53bGFuX3NpZ190aHJfY2ZnLmlwb2xfd2xhbl9yc3NpX2hvX2ZhaXJfdGggICA9IC03NTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfdm9pY2VfY2FwX3ByZWZfZW5hYmxlID0gS0FMX1RSVUU7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zXzIzZ193aWZpX3JhdF9yZXNlbGVjdF9ieV9kcmVnX2VuYWJsZSA9IEtBTF9UUlVFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc193bGFuX3JvYW1pbmdfYmFycmluZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSAyOTc6IC8vIE1vbnRlbmVncm8KICAgICAgICAgICAgICAgICAgICAgLyogaWNhcCAqLwogICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pY2FwX2NmZy5zbXNfbmV0d29ya190eXBlcyA9IDB4MDA7CkBAIC0xODI5LDcgKzE4NTcsOCBAQAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIDQyMDogLy9TYXVkaQogICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5sb2NfY2ZnLmlwb2xfaW1zX3dsYW5fYmxvY2tfaW5fYXBfbW9kZV93aGVuX2hvbWVfZW5hYmxlID0gS0FMX1RSVUU7Ci0gICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICA9IEtBTF9UUlVFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc193bGFuX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICAgICAgICAgICAgICAgICAgID0gS0FMX1RSVUU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgNDI2OiAvL0JhaHJhaW4KICAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfd2xhbl9yb2FtaW5nX2JhcnJpbmdfZW5hYmxlICA9IEtBTF9UUlVFOwpAQCAtMjAzNSw2ICsyMDY0LDE5IEBACiAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLndsYW5fc2lnX3Rocl9jZmcuaXBvbF93bGFuX3Jzc2lfcm92ZV9mYWlyX3RoID0gLTcwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSAxOTM6IC8qIEJhbmdsYWxpbmsgKi8KKyAgICAgICAgeyAgCisgICAgICAgICAgICBzd2l0Y2ggKGF0b2koc2ltX21jYykpeworICAgICAgICAgICAgICAgICBjYXNlIDQ3MDovKiBCYW5nbGFkZXNoICovCisgICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCA9IDB4MDE7CisgICAgICAgICAgICAgICAgICAgICBjZmctPm1tc19hbnNfY2ZnLm1tc19jZWxsX29ubHlfYmFycmluZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmljYXBfY2ZnLnNtc19uZXR3b3JrX3R5cGVzID0gNzsKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgMTk1OiAvKk8yKi8KICAgICAgICAgewogICAgICAgICAgICAgLyogV0xBTiBzaWduYWwgc3RyZW5ndGggdGhyZXNob2xkICovCkBAIC0yMjgwLDggKzIzMjIsMTMgQEAKICAgICAgICAgfQogICAgICAgICBjYXNlIDIzNjogLyogVVNDQyAgKi8KICAgICAgICAgewotICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSA9IEtBTF9GQUxTRTsKLSAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3ZvZG1fcHJlZl9iYXJyaW5nX2VuYWJsZSA9IEtBTF9UUlVFOworICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICAgICAgICAgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc192b2RtX3ByZWZfYmFycmluZ19lbmFibGUgICAgICAgICAgICAgICAgICA9IEtBTF9UUlVFOworICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfY3NfcHJlZl9lbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbHRlX3JzcnBfcG9vcl90aCAgICAgICA9IC0xMTU7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbHRlX3JzcnBfZmFpcl90aCAgICAgICA9IC0xMDg7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLndsYW5fc2lnX3Rocl9jZmcuaXBvbF93bGFuX3Jzc2lfaG9fcG9vcl90aCA9IC04MDsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9ob19mYWlyX3RoID0gLTcwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSAyMzc6IC8qIElDRSBOb3J3YXkgICovCkBAIC0yMzk1LDYgKzI0NDIsMTEgQEAKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3dsYW5fcm9hbWluZ19iYXJyaW5nX2VuYWJsZSA9IEtBTF9UUlVFOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSAyNTc6IC8qIFZpYWVyby9VUyAqLworICAgICAgICB7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX2JhcnJpbmdfZW5hYmxlICAgICAgICAgID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSAyNjE6IC8qIEFTVEFDLVVuaXRlZCBTdGF0ZXMgKi8KICAgICAgICAgewogICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSA9IEtBTF9GQUxTRTsKQEAgLTI0ODYsNiArMjUzOCwxMyBAQAogICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcubG9jX2NmZy5pcG9sX2ltc193bGFuX2Jsb2NrX2luX2FwX21vZGVfd2hlbl9ob21lX2VuYWJsZSA9IEtBTF9UUlVFOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSAyODM6IC8qIE1FTy9Qb3J0dWdhbCAqLworICAgICAgICB7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc192b2ljZV9jYXBfcHJlZl9lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfcmF0X3Jlc2VsZWN0X2J5X2RyZWdfZW5hYmxlID0gS0FMX1RSVUU7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX2JhcnJpbmdfZW5hYmxlID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSAyODU6IC8qIFZpbmFmaG9uZS9WaWV0bmFtICovCiAgICAgICAgIHsKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICAgICAgICAgPSBLQUxfRkFMU0U7CkBAIC0yODY4LDYgKzI5MjcsMTkgQEAKICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICAgICAgICAgICAgID0gS0FMX0ZBTFNFOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSA0Mjk6IC8qIEV0aGlvIFRlbGVjb20qLworICAgICAgICB7CisgICAgICAgICAgICBzd2l0Y2goYXRvaShzaW1fbWNjKSl7CisgICAgICAgICAgICAgICAgY2FzZSA0Mjk6IC8qIEV0aGlvcGlhICovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+bW1zX2Fuc19jZmcubW1zX2NlbGxfb25seV9iYXJyaW5nX2VuYWJsZSAgICAgICAgICA9IEtBTF9UUlVFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc193bGFuX3JvYW1pbmdfYmFycmluZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfZWNjX292ZXJfZW1lcmdfaG9fZW5hYmxlICAgID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgNDMxOiAvKiBVbmlmaXF1ZSAqLwogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKGF0b2koc2ltX21jYykpIHsgCkBAIC0yOTAwLDYgKzI5NzIsMTQgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgNDMzOiAvKiBWb2RhZm9uZSBVa3JhaW5lICovCisgICAgICAgIHsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9sdGVfcnNycF9wb29yX3RoICA9IC0xMTA7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfbHRlX3JzcnBfZmFpcl90aCAgPSAtMTAwOworICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfdm9pY2VfY2FwX3ByZWZfZW5hYmxlID0gS0FMX1RSVUU7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX3JhdF9yZXNlbGVjdF9ieV9kcmVnX2VuYWJsZSA9IEtBTF9UUlVFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSA0MzU6IC8qIEFpcnRlbCBaYW1iaWEqLwogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKGF0b2koc2ltX21jYykpewpAQCAtMjkyMiw2ICszMDAyLDEzOCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSA0Mzg6IC8qIE9vcmVkb28gKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKGF0b2koc2ltX21jYykpeworICAgICAgICAgICAgICAgIGNhc2UgNjAzOiAvKiBBbGdlcmlhICovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3dsYW5fcm9hbWluZ19iYXJyaW5nX2VuYWJsZSA9IDE7CisgICAgICAgICAgICAgICAgICAgIC8qIFdMQU4gc2lnbmFsIHN0cmVuZ3RoIHRocmVzaG9sZCBpbiBjYWxsICovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9ob19mYWlyX3RoICAgPSAtNjA7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9ob19wb29yX3RoICAgPSAtNzg7CisgICAgICAgICAgICAgICAgICAgIC8qIFdMQU4gc2lnbmFsIHN0cmVuZ3RoIHRocmVzaG9sZCBpZGxlICovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9yb3ZlX2ZhaXJfdGggPSAtNjA7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9yb3ZlX3Bvb3JfdGggPSAtODA7CisgICAgICAgICAgICAgICAgICAgIC8qIE1EIHNpZ25hbCBzdHJlbmd0aCB0aHJlc2hvbGQgKi8KKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX2x0ZV9yc3JwX2ZhaXJfdGggICAgICAgICA9IC0xMTA7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9sdGVfcnNycF9wb29yX3RoICAgICAgICAgPSAtMTIyOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5zaWdfY2ZnLm1kX3NpZ190aHJfY2ZnLmlwb2xfdW10c19yc2NwX2ZhaXJfdGggICAgICAgID0gLTEwNTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuc2lnX2NmZy5tZF9zaWdfdGhyX2NmZy5pcG9sX3VtdHNfcnNjcF9wb29yX3RoICAgICAgICA9IC0xMTQ7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9nc21fcnNzaV9mYWlyX3RoICAgICAgICAgPSAtOTA7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcubWRfc2lnX3Rocl9jZmcuaXBvbF9nc21fcnNzaV9wb29yX3RoICAgICAgICAgPSAtMTAwOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDM5OiAvKiBBaXJ0ZWwgKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoIChhdG9pKHNpbV9tY2MpKXsKKyAgICAgICAgICAgICAgICBjYXNlIDY0MDogLyogVGFuemFuaWEgKi8KKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfbWRfc3VwcG9ydGluZ19yYXQgICAgICAgICAgICAgICAgICA9IDB4MDE7IC8vTFRFCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmljYXBfY2ZnLnNtc19uZXR3b3JrX3R5cGVzICAgICAgICAgICAgICAgICAgPSAxOworICAgICAgICAgICAgICAgICAgICBjZmctPnhjYXBfYW5zX2NmZy54Y2FwX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICAgICAgICAgICAgICAgID0gS0FMX1RSVUU7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+bW1zX2Fuc19jZmcubW1zX2NlbGxfb25seV9iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICAgICAgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICA9IEtBTF9GQUxTRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfd2xhbl9yb2FtaW5nX2JhcnJpbmdfZW5hYmxlICAgICAgICA9IDE7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX25vcm1hbF9jYWxsX2hvX2x0ZV90b193aWZpX2VuYWJsZSAgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX25vcm1hbF9jYWxsX2hvX3dpZmlfdG9fbHRlX2VuYWJsZSAgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX2VjY19vdmVyX2ltc19ob19sdGVfdG9fd2lmaV9lbmFibGUgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX2VjY19vdmVyX2ltc19ob193aWZpX3RvX2x0ZV9lbmFibGUgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NDI6IC8qIExpYmVydHkgKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoIChhdG9pKHNpbV9tY2MpKXsKKyAgICAgICAgICAgICAgICBjYXNlIDMxMzogLyogUHVlcnRvIFJpY28gKi8KKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgICAgICAgICAgICA9IEtBTF9GQUxTRTsKKyAgICAgICAgICAgICAgICAgICAgLyogV0xBTiBzaWduYWwgc3RyZW5ndGggdGhyZXNob2xkICovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9yb3ZlX3Bvb3JfdGggICAgPSAtNzk7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9yb3ZlX2ZhaXJfdGggICAgPSAtNzI7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9ob19wb29yX3RoICAgICAgPSAtNzk7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLnNpZ19jZmcud2xhbl9zaWdfdGhyX2NmZy5pcG9sX3dsYW5fcnNzaV9ob19mYWlyX3RoICAgICAgPSAtNzI7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NDM6IC8qIEN1YmljIFRlbGVjb20gKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoIChhdG9pKHNpbV9tY2MpKXsKKyAgICAgICAgICAgICAgICBjYXNlIDI5NToKKyAgICAgICAgICAgICAgICBjYXNlIDcyNDoKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfbWRfc3VwcG9ydGluZ19yYXQgICAgICAgID0gMHg2NTsgLy9MVEUrTlIKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19iYXJyaW5nX2VuYWJsZSAgID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pY2FwX2NmZy5zbXNfbmV0d29ya190eXBlcz0gOTsgLy8gTFRFK05SCisgICAgICAgICAgICAgICAgICAgIGNmZy0+bW1zX2Fuc19jZmcubW1zX2NlbGxfb25seV9iYXJyaW5nX2VuYWJsZSA9IEtBTF9UUlVFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19lY2Nfb3Zlcl9pbXNfaG9fbHRlX3RvX3dpZmlfZW5hYmxlID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19lY2Nfb3Zlcl9pbXNfaG9fd2lmaV90b19sdGVfZW5hYmxlID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDUyOiAvKiAxJjEvR2VybWFueSAqLworICAgICAgICB7CisgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc192b2ljZV9jYXBfcHJlZl9lbmFibGUgICAgICAgICAgICAgICA9IEtBTF9UUlVFOworICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfcm9hbWluZ19yYXRfcmVzZWxlY3RfYnlfZHJlZ19lbmFibGUgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICAgICAgICAgICAgID0gS0FMX0ZBTFNFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NTM6IC8qIFNhZmFyaWNvbSAqLworICAgICAgICB7CisgICAgICAgICAgICBzd2l0Y2goYXRvaShzaW1fbWNjKSl7CisgICAgICAgICAgICAgICAgIGNhc2UgNjM2OiAvKiBFdGhpb3BpYSAqLworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCAgICAgICAgICAgPSAweDAxOyAvLyBMdGUgT25seQorICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19yb2FtaW5nX2JhcnJpbmdfZW5hYmxlICAgICAgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmljYXBfY2ZnLnNtc19uZXR3b3JrX3R5cGVzICAgICAgICAgICA9IDM7ICAgIC8vIExURSArIFdJRkkgT25seQorICAgICAgICAgICAgICAgICAgICBjZmctPm1tc19hbnNfY2ZnLm1tc19jZWxsX29ubHlfYmFycmluZ19lbmFibGUgICAgICAgICAgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfd2xhbl9yb2FtaW5nX2JhcnJpbmdfZW5hYmxlID0gMTsgCisgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NTQ6IC8qIFZvZGFjb20gKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKGF0b2koc2ltX21jYykpeworICAgICAgICAgICAgICAgICBjYXNlIDYzMDogLyogQ29uZ28gLWtpbmdzaGFzYSovCisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX21kX3N1cHBvcnRpbmdfcmF0ICAgICAgICA9IDB4MDE7IC8vIEx0ZSBPbmx5CisgICAgICAgICAgICAgICAgICAgIGNmZy0+aXBvbF9hbnNfY2ZnLmlwb2xfaW1zX3JvYW1pbmdfYmFycmluZ19lbmFibGUgICA9IEtBTF9GQUxTRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaWNhcF9jZmcuc21zX25ldHdvcmtfdHlwZXMgICAgICAgID0gMzsgICAgLy8gTFRFICsgV0lGSSBPbmx5CisgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSA0NTY6IC8qIEFpcnRlbCAgQ29uZ28qLworICAgICAgICB7CisgICAgICAgICAgICBzd2l0Y2ggKGF0b2koc2ltX21jYykpeworICAgICAgICAgICAgICAgIGNhc2UgNjMwOiAvKiBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZSBDb25nbyAqLworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCAgICAgICAgICAgPSAweDE7ICAgICAgICAvLyBMVEUgb25seQorICAgICAgICAgICAgICAgICAgICBjZmctPm1tc19hbnNfY2ZnLm1tc193bGFuX29ubHlfYmFycmluZ19lbmFibGUgICAgICAgICAgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5pcG9sX2Fuc19jZmcuaXBvbF9pbXNfd2xhbl9yb2FtaW5nX2JhcnJpbmdfZW5hYmxlID0xOworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pY2FwX2NmZy5jaGVja19jYWxsX2RvbWFpbiAgICAgICAgICAgPUtBTF9UUlVFOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDU3OiAvKiBUdW5pc2llIFRlbGVjb20gKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoIChhdG9pKHNpbV9tY2MpKXsKKyAgICAgICAgICAgICAgICBjYXNlIDYwNTogLyogVHVuaXNpYSAqLworICAgICAgICAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCA9IDB4NzsgICAgICAgIC8vIExURS8zZy8yZworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9ICAgICAgIAogICAgICAgICBjYXNlIDEwMDE6IC8qIEVyaWNzc29uIElNUyBJV0xBTiAqLwogICAgICAgICB7CiAgICAgICAgICAgICBjZmctPmlwb2xfYW5zX2NmZy5pcG9sX2ltc19tZF9zdXBwb3J0aW5nX3JhdCAgICAgICAgPSAweDQwIHwgMHg3OyAvLyBOUi9MVEUvM0cvMkcKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9sNF91dGlsaXR5LmMgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbDRfdXRpbGl0eS5jCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggMTEzMDBjMi4uNDU4NmJiOAotLS0gYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbDRfdXRpbGl0eS5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9sNF91dGlsaXR5LmMKQEAgLTY1MCw3ICs2NTAsNyBAQAogKglLQUxfVFJVRSBvciBLQUxfRkFMU0UKICogS0FMX1RSVUUgaXMgdG8gdHJlYXQgdGhpcyBwbG1uIGFzIGEgaG9tZSBQTE1OCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLWthbF9ib29sIGN1c3RvbV9pc19ob21lX3BsbW4oa2FsX3VpbnQ4KiBwbG1uLCBrYWxfdWludDgqIG1jY19tbmMsIGthbF9ib29sIGlzX29uX2hwbG1uKQora2FsX2Jvb2wgY3VzdG9tX2lzX2hvbWVfcGxtbihrYWxfdWludDggcHNfaWQsa2FsX3VpbnQ4KiBwbG1uLCBrYWxfdWludDgqIG1jY19tbmMsIGthbF9ib29sIGlzX29uX2hwbG1uKQogewogICAgIGthbF9ib29sIGN1c3RvbV9pc19vbl9ocGxtbiA9IEtBTF9GQUxTRTsKIApAQCAtOTM0LDYgKzkzNCwzOCBAQAogICAgICAgICAgICAgY3VzdG9tX2lzX29uX2hwbG1uID0gS0FMX1RSVUU7CiAgICAgICAgIH0KICAgICB9CisKKwkvKiBbVE1PIHJlcXVpcmVtZW50XSBBTFBTMDc4NDYwODYgKi8KKwlpZihzYnBfZ2V0X3NpbV9zYnBfaWQocHNfaWQpID09IFNCUF9JRF9UTU9fVVMpCisJeworCSAgIGlmICgoa2FsX21lbV9jbXAocGxtbiwiMzEwMTYwIiw2KSA9PSAwKSB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzEwMjAwIiw2KSA9PSAwKSB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzEwMjEwIiw2KSA9PSAwKQorCSAgIAkgIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTAyMjAiLDYpID09IDApIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTAyMzAiLDYpID09IDApIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTAyNDAiLDYpID09IDApCisJICAgCSAgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxMDI1MCIsNikgPT0gMCkgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxMDI2MCIsNikgPT0gMCkgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxMDI3MCIsNikgPT0gMCkKKwkgICAJICB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzEwMzEwIiw2KSA9PSAwKSB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzEwNDkwIiw2KSA9PSAwKSB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzEwNjYwIiw2KSA9PSAwKQorCSAgIAkgIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTA4MDAiLDYpID09IDApIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTE2NjAiLDYpID09IDApIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTE4ODIiLDYpID09IDApCisJICAgCSAgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxMjI1MCIsNikgPT0gMCkgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxMTQ5MCIsNikgPT0gMCkpCisJICAgeworCSAgIAkgICAgY3VzdG9tX2lzX29uX2hwbG1uID0gS0FMX1RSVUU7CisJICAgfQorCX0KKworICAgIGlmICgoKHNicF9nZXRfc2ltX3NicF9pZChwc19pZCkgPT0gU0JQX0lEX0FUVCkgfHwgKHNicF9nZXRfc2ltX3NicF9pZChwc19pZCkgPT0gU0JQX0lEX0NSSUNLRVQpIHx8IChzYnBfZ2V0X3NpbV9zYnBfaWQocHNfaWQpID09IFNCUF9JRF9GSVJTVE5FVCkpKQorICAgIHsKKyAgICAgICAgaWYgKCgoa2FsX21lbV9jbXAocGxtbiwiMzEwIiwzKSA9PSAwKSB8fCAoa2FsX21lbV9jbXAocGxtbiwiMzExIiwzKSA9PSAwKSB8fAorICAgICAgICAgICAgIChrYWxfbWVtX2NtcChwbG1uLCIzMTIiLDMpID09IDApIHx8IChrYWxfbWVtX2NtcChwbG1uLCIzMTMiLDMpID09IDApIHx8CisgICAgICAgICAgICAgKGthbF9tZW1fY21wKHBsbW4sIjMxNCIsMykgPT0gMCkgfHwgKGthbF9tZW1fY21wKHBsbW4sIjMxNSIsMykgPT0gMCkgfHwKKyAgICAgICAgICAgICAoa2FsX21lbV9jbXAocGxtbiwiMzE2IiwzKSA9PSAwKSkgJiYgLy8gTUNDID0gMzEwfjMxNgorICAgICAgICAgICAgKChrYWxfbWVtX2NtcChwbG1uLCIzMTAxMTAiLDYpICE9IDApICYmICAgIC8vIG5vdCBQYWNpZmljIFRlbGVjb20KKyAgICAgICAgICAgICAoa2FsX21lbV9jbXAocGxtbiwiMzEwMTQwIiw2KSAhPSAwKSAmJiAgICAvLyBub3QgUHVsc2UgTW9iaWxlCisgICAgICAgICAgICAgKGthbF9tZW1fY21wKHBsbW4sIjMxMDQwMCIsNikgIT0gMCkgJiYgICAgLy8gbm90IEd1YW0gV2lyZWxlc3MvV2F2ZVJ1bm5lcgorICAgICAgICAgICAgIChrYWxfbWVtX2NtcChwbG1uLCIzMTA0NzAiLDYpICE9IDApICYmICAgIC8vIG5vdCBOb3J0aGVybiBNYXJpYW5uYSBJc2xhbmRzCisgICAgICAgICAgICAgKGthbF9tZW1fY21wKHBsbW4sIjMxMTE3MCIsNikgIT0gMCkpICAgICAvLyBub3QgUGV0cm9jb20KKyAgICAgICAgICAgKQorICAgICAgICB7CisgICAgICAgICAgICBjdXN0b21faXNfb25faHBsbW4gPSBLQUxfVFJVRTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiAoY3VzdG9tX2lzX29uX2hwbG1uIHx8IGlzX29uX2hwbG1uKTsKIH0KIApAQCAtNDA2NCw3ICs0MDk2LDcgQEAKICAgICB7ezMxMTIyMCwgMzExMjI5fSwgMSwgS0FMX1RSVUV9LCAgICAgICAgICAvLyBVU0NDCiAjZW5kaWYKICAgICB7ezQ2MDE1LCA0NjAxNX0sIDMsIEtBTF9GQUxTRX0sICAgICAgICAgICAvLyBDQk4KLSAgICAvL3t7MjM1MDIsIDIzNTAyfSwgMSwgS0FMX0ZBTFNFfSwgICAgICAgICAvLyBVbml0ZWQgS2luZ2RvbSAoRUUpICAKKyAgICAvL3t7MjM1MDIsIDIzNTAyfSwgMSwgS0FMX0ZBTFNFfSwgICAgICAgICAvLyBVbml0ZWQgS2luZ2RvbSAoRUUpCiAgICAgLy97ezIzNDMwLCAyMzQzNH0sIDEsIEtBTF9GQUxTRX0sICAgICAgICAgLy8gVW5pdGVkIEtpbmdkb20gKEVFKQogfTsKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtNDc3OSw2ICs0ODExLDcgQEAKICAgICBMNENfU0lNX09USEVSX0pQTiwKICAgICBMNENfU0lNX1JKSUwsCiAgICAgTDRDX1NJTV9PVEhFUl9QU19PTkxZLAorICAgIEw0Q19TSU1fU0IsCiAgICAgTDRDX1NJTV9PVEhFUgogfSBsNGNfc2ltX29wZXJfZW51bTsKIApAQCAtNDc5NSw3ICs0ODI4LDEyIEBACiAgICAge0w0Q19TSU1fQVVTQV9ILCAJCUw0Q19SQVRfTkxfQ1VTVE9NSVpBVElPTiwgTDRDX1JBVF9OTF9DVVNUT01JWkFUSU9OfSwKICAgICB7TDRDX1NJTV9BVVNBX1IsIAkJTDRDX1JBVF9OTFdHX0NVU1RPTUlaQVRJT04sIEw0Q19SQVRfTkxXR19DVVNUT01JWkFUSU9OfSwKICAgICB7TDRDX1NJTV9EQ00sIAkJCUw0Q19SQVRfTkxfQ1VTVE9NSVpBVElPTiwgTDRDX1JBVF9OT19DVVNUT01JWkFUSU9OfSwKLSAgICB7TDRDX1NJTV9PVEhFUl9KUE4sIAlMNENfUkFUX05MV19DVVNUT01JWkFUSU9OLCBMNENfUkFUX05PX0NVU1RPTUlaQVRJT059LAorICAgIHtMNENfU0lNX1NCLCAJCQlMNENfUkFUX05MX0NVU1RPTUlaQVRJT04sIEw0Q19SQVRfTk9fQ1VTVE9NSVpBVElPTn0sCisjaWYgZGVmaW5lZChfX0RJU0FCTEVfMkdfM0dfRk9SX0pQX01DQ19fKQorICAgIHtMNENfU0lNX09USEVSX0pQTiwgICAgIEw0Q19SQVRfTkxfQ1VTVE9NSVpBVElPTiwgTDRDX1JBVF9OT19DVVNUT01JWkFUSU9OfSwKKyNlbHNlCisgICAge0w0Q19TSU1fT1RIRVJfSlBOLCAgICAgTDRDX1JBVF9OTFdfQ1VTVE9NSVpBVElPTiwgTDRDX1JBVF9OT19DVVNUT01JWkFUSU9OfSwKKyNlbmRpZgogICAgIHtMNENfU0lNX1JKSUwsIAkJCUw0Q19SQVRfTkxfQ1VTVE9NSVpBVElPTiwgTDRDX1JBVF9OT19DVVNUT01JWkFUSU9OfSwKICAgICB7TDRDX1NJTV9PVEhFUl9QU19PTkxZLCBMNENfUkFUX05MX0NVU1RPTUlaQVRJT04sIEw0Q19SQVRfTk9fQ1VTVE9NSVpBVElPTn0sCiAgICAge0w0Q19TSU1fT1RIRVIsIAkJTDRDX1JBVF9OT19DVVNUT01JWkFUSU9OLCBMNENfUkFUX05PX0NVU1RPTUlaQVRJT059CkBAIC00ODMxLDYgKzQ4NjksMTIgQEAKICAgICB7CiAgICAgICAgIHJldHVybiBMNENfU0lNX0RDTTsKICAgICB9CisJZWxzZSBpZigoc3RybmNtcCgoY2hhciopKGltc2krMSksICI0NDAwMCIsIDUpID09IDApIHx8CisgICAgICAgICAgICAoc3RybmNtcCgoY2hhciopKGltc2krMSksICI0NDAyMCIsIDUpID09IDApIHx8CisgICAgICAgICAgICAoc3RybmNtcCgoY2hhciopKGltc2krMSksICI0NDE5MCIsIDUpID09IDApKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEw0Q19TSU1fU0I7CisgICAgfQogICAgIGVsc2UgaWYgKChzdHJuY21wKChjaGFyKikoaW1zaSsxKSwgIjQ0MCIsIDMpID09IDApIHx8CiAgICAgICAgICAgICAgKHN0cm5jbXAoKGNoYXIqKShpbXNpKzEpLCAiNDQxIiwgMykgPT0gMCkpCiAgICAgewpkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX24zY2ZfY29uZmlnLmMgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbjNjZl9jb25maWcuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IDVkMzA4ZTMuLmFmNjYwMjkKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX24zY2ZfY29uZmlnLmMKKysrIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX24zY2ZfY29uZmlnLmMKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX253c2VsX2NvbmZpZy5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX253c2VsX2NvbmZpZy5jCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggZWQxMzNlMy4uMThhZTU2YgotLS0gYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbndzZWxfY29uZmlnLmMKKysrIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX253c2VsX2NvbmZpZy5jCkBAIC0xMDAyLDYgKzEwMDIsMjYgQEAKICAgICByZXR1cm4gbndzZWxfcXVlcnlfc2JwX2ZlYXR1cmUoU0JQX01NX0lHTk9SRV9FUVBMTU5fSU5fQVVUT19NT0RFLEtBTF9GQUxTRSk7CiB9CiAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEZWZpbmUgY2F1c2UgbGlzdCB0aGF0IE5XU0VMIHdpbGwgIGRpc2FibGUgRVVUUkFOIHdoZW4gcmVjZWl2aW5nIE5XU0VMX0VNTV9ERVRBQ0hfTVRfUkVBVFRBQ0hfTk9UX1JFUUQuCisgKgorICogV2l0aG91dCB0aGlzIHRhYmxlLCBOV1NFTCB1c2VzIFNCUF9ESVNBQkxFX0VVVFJBTl9BRlRFUl9ERVRBQ0hfTk9UX1JFUV9BQk5PUk1BTCAKKyAqIHRvIGRlY2lkZSBpZiBuZWVkIHRvIGRpc2FibGUgRVVUUkFOIG9yIG5vdCB3aGVuIHJlY2VpdmluZyBOV1NFTF9FTU1fREVUQUNIX01UX1JFQVRUQUNIX05PVF9SRVFELgorICoKKyAqIFdpdGggdGhpcyB0YWJsZSwgY3VzdG9tZXIgY2FuIGRlY2lkZSB0byBkaXNhYmxlIEVVVFJBTiBvciBub3QgYmFzZWQgb24gZGlmZmVyZW50IGNhdXNlLgorICogRm9yIGV4YW1wbGUsIElNUExJQ0lUX0RFVEFDSCBpcyBpbiB0aGlzIHRhYmxlLCBhbmQgTlcgc2VuZHMgREVUQUNIX01UX1JFQVRUQUNIX05PVF9SRVFEIHdpdGggdGhpcyBjYXVzZShJTVBMSUNJVF9ERVRBQ0gpLgorICogTldTRUwgd2lsbCAgZGlzYWJsZSBFVVRSQU4gZm9yIHRoaXMgREVUQUNIX01UX1JFQVRUQUNIX05PVF9SRVFEIGV2ZW4gdGhlIFNCUChTQlBfRElTQUJMRV9FVVRSQU5fQUZURVJfREVUQUNIX05PVF9SRVFfQUJOT1JNQUwpIGlzIG9mZi4KKyAqCisgKiBUaGUgZm9sbG93aW5nIGNhdXNlcyBoYXMgc3BlY2lmaWMgaGFuZGxpbmcgZGVzY3JpcHRlZCBieSBzcGVjLCBzbyBkbyBOT1QgYWRkIHRoZW0gaW4gdGhlIGxpc3QuCisgKiAjMiwgIzMsICM2LCAjNywgIzgsICMxMSwgIzEyLCAjMTMsICMxNCwgIzE1LCAjMjUsICMzNQorICoKKyAqIFBsZWFzZSByZWZlciB0byA1LjUuMi4zLjQgaW4gVFMgMjQuMzAxIGZvciBzdGFuZGFyZCBiZWhhdmlvci4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgSU5WQUxJRF9DVVNUT01fQ0FVU0UgMHhGRgorY29uc3QgbW1fY2F1c2VfZW51bSBDVVNUT01fQ0FVU0VfVEJMX05FRURfRElTQUJMRV9FVVRSQU5fRk9SX1JFQVRUQUNIX05PVF9SRVFJUkVEW10gPSB7SU5WQUxJRF9DVVNUT01fQ0FVU0V9OworY29uc3Qga2FsX3VpbnQzMiBDVVNUT01fQ0FVU0VfVEJMX05FRURfRElTQUJMRV9FVVRSQU5fRk9SX1JFQVRUQUNIX05PVF9SRVFJUkVEX05VTSA9IHNpemVvZihDVVNUT01fQ0FVU0VfVEJMX05FRURfRElTQUJMRV9FVVRSQU5fRk9SX1JFQVRUQUNIX05PVF9SRVFJUkVEKS9zaXplb2YobW1fY2F1c2VfZW51bSk7CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBGVU5DVElPTgogKiAgbndzZWxfY3VzdG9tX2lzX2Rpc2FibGVfZXV0cmFuX2FmdGVyX25vX3N1aXRhYmxlX2NlbGxfZXhpc3QKQEAgLTEwMTgsNiArMTAzOCwyNCBAQAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBrYWxfYm9vbCBud3NlbF9jdXN0b21faXNfZGlzYWJsZV9ldXRyYW5fYWZ0ZXJfcmVqZWN0KG53c2VsX2Rpc2FibGVfZXV0cmFuX2NhdXNlX2VudW0gY2F1c2UpCiB7CisJcmV0dXJuIG53c2VsX2N1c3RvbV9pc19kaXNhYmxlX2V1dHJhbl9hZnRlcl9yZWplY3Rfd2l0aF9jYXVzZShjYXVzZSwgQ0FVU0VfTk9ORSk7Cit9CisJCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogIG53c2VsX2N1c3RvbV9pc19kaXNhYmxlX2V1dHJhbl9hZnRlcl9yZWplY3Rfd2l0aF9jYXVzZQorKiBERVNDUklQVElPTgorKiAgZXh0ZW5zaW9uIG9mIG53c2VsX2N1c3RvbV9pc19kaXNhYmxlX2V1dHJhbl9hZnRlcl9yZWplY3QKKyoKKyogUEFSQU1FVEVSUworKgorKiBSRVRVUk5TCisqICBLQUxfVFJVRTogZGlzYWJsZSBldXRyYW4uICBLQUxfRkFMU0U6IG5vdCBkaXNhYmxlIGV1dHJhbgorKiBHTE9CQUxTIEFGRkVDVEVECisqICBOb25lCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2thbF9ib29sIG53c2VsX2N1c3RvbV9pc19kaXNhYmxlX2V1dHJhbl9hZnRlcl9yZWplY3Rfd2l0aF9jYXVzZShud3NlbF9kaXNhYmxlX2V1dHJhbl9jYXVzZV9lbnVtIGNhdXNlLCBtbV9jYXVzZV9lbnVtIG1tX2NhdXNlKQorewogICAgIGlmKGNhdXNlID09IE5XU0VMX1JFSkVDVF8xNSkKICAgICB7CiAgICAgICAgIHJldHVybiBud3NlbF9xdWVyeV9zYnBfZmVhdHVyZShTQlBfRElTQUJMRV9FVVRSQU5fQUZURVJfTk9fU1VJVEFCTEUsS0FMX0ZBTFNFKTsKQEAgLTEwMzEsMTQgKzEwNjksNDAgQEAKICAgICAgICAgcmV0dXJuIG53c2VsX3F1ZXJ5X3NicF9mZWF0dXJlKFNCUF9ESVNBQkxFX0VVVFJBTl9BRlRFUl9ST0FNSU5HX05PVF9BTExPV0VELCBLQUxfRkFMU0UpOwogICAgIH0KICAgICAvKgotICAgICAqIE1XIFIxMyBUUzI0MzAxIENSMjAzNworICAgICAqIE1XIFIxMyBUUzI0MzAxIENSMjAzNy4gIFBsZWFzZSByZWZlciB0byA1LjUuMi4zLjQgaW4gVFMgMjQuMzAxCiAgICAgICogQSBVRSBzdXBwb3J0aW5nIEEvR2IgbW9kZSBvciBJdSBtb2RlIGFuZCBvcGVyYXRpbmcgaW4gQ1MvUFMgbW9kZSAxIG9mIG9wZXJhdGlvbiBvciBDUy9QUyBtb2RlIDIgb2Ygb3BlcmF0aW9uIHNoYWxsCiAgICAgICogLWVudGVyIEVNTS1ERVJSRUdJU1RFUkVEIGFuZCBhdHRlbXB0IHRvIHNlbGVjdCBHRVJBTiBvciBVVFJBTiBhbmQgcHJvY2VlZCB3aXRoIE1NIG9yIEdNTSBzcGVjaWZpYyBwcm9jZWR1cmUuIEluIHRoaXMgY2FzZSwgdGhlIFVFIG1heSBkaXNhYmxlIHRoZSBFLVVUUkEgY2FwYWJpbGl0eTsgb3IKICAgICAgKiAtZW50ZXIgRU1NLURFUkVHSVNURVJFRC5QTE1OLVNFQVJDSCBpbiBvcmRlciB0byBwZXJmb3JtIGEgUExNTiBzZWxlY3Rpb24gYWNjb3JkaW5nIHRvIDNHUFAgVFMgMjMuMTIyCiAgICAgICovICAKICAgICBlbHNlIGlmKGNhdXNlID09IE5XU0VMX0RFVEFDSF9OT1RfUkVRX0FCTk9STUFMKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG53c2VsX3F1ZXJ5X3NicF9mZWF0dXJlKFNCUF9ESVNBQkxFX0VVVFJBTl9BRlRFUl9ERVRBQ0hfTk9UX1JFUV9BQk5PUk1BTCwgS0FMX0ZBTFNFKTsKKyAgICAgICAgaWYgKG53c2VsX3F1ZXJ5X3NicF9mZWF0dXJlKFNCUF9ESVNBQkxFX0VVVFJBTl9BRlRFUl9ERVRBQ0hfTk9UX1JFUV9BQk5PUk1BTCwgS0FMX0ZBTFNFKSA9PSBLQUxfVFJVRSkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gU0JQIG9uLCBuZWVkIGRpc2FibGUgRVVUUkFOLgorICAgICAgICAgICAgcmV0dXJuIEtBTF9UUlVFOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgLy8gU0JQIG9mZiwgbWF5IGRpc2FibGUgRVVUUkFOLCBuZWVkIGNoZWNrIGVtbSBjYXVzZQorICAgICAgICAgICAga2FsX3VpbnQzMiBpID0gMDsKKworICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IENVU1RPTV9DQVVTRV9UQkxfTkVFRF9ESVNBQkxFX0VVVFJBTl9GT1JfUkVBVFRBQ0hfTk9UX1JFUUlSRURfTlVNOyBpKyspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKENVU1RPTV9DQVVTRV9UQkxfTkVFRF9ESVNBQkxFX0VVVFJBTl9GT1JfUkVBVFRBQ0hfTk9UX1JFUUlSRURbaV0gPT0gSU5WQUxJRF9DVVNUT01fQ0FVU0UpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoQ1VTVE9NX0NBVVNFX1RCTF9ORUVEX0RJU0FCTEVfRVVUUkFOX0ZPUl9SRUFUVEFDSF9OT1RfUkVRSVJFRFtpXSA9PSBtbV9jYXVzZSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIENhdXNlIGluIHRoZSB0YWJsZSwgbmVlZCBkaXNhYmxlIEVVVFJBTgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gS0FMX1RSVUU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBjYXVzZSBpcyBub3QgaW4gdGhlIHRhYmxlLCBub3QgZGlzYWJsZSBFVVRSQU4KKyAgICAgICAgICAgIHJldHVybiBLQUxfRkFMU0U7CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgcmV0dXJuIEtBTF9GQUxTRTsKQEAgLTIxMTYsMTMgKzIxODAsMTQgQEAKICAqIG8gMjM0LTA4IC0gQlQgT25lIFBob25lIAogICogCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLWNvbnN0IGthbF91aW50MzIgQ1VTVE9NX0JMT0NLX0lMTEVHQUxfTUVfU0lNX1NCUF9MSVNUW10gPSB7MTYsIDB4ZmZmZmZmZmZ9OyAvL09QMTYgPSBFRQorY29uc3Qga2FsX3VpbnQzMiBDVVNUT01fQkxPQ0tfSUxMRUdBTF9NRV9TSU1fU0JQX0xJU1RbXSA9IHsxNiwgMTUsIDB4ZmZmZmZmZmZ9OyAvL09QMTYgPSBFRSAsIE9QMTUgPSBUZWxlZm9uaWNhCiAKIAogY29uc3Qga2FsX3VpbnQzMiBDVVNUT01fQkxPQ0tfSUxMRUdBTF9NRV9TSU1fU0JQX05VTSA9IHNpemVvZihDVVNUT01fQkxPQ0tfSUxMRUdBTF9NRV9TSU1fU0JQX0xJU1QpL3NpemVvZihrYWxfdWludDMyKTsKIAogY29uc3QgY2hhciAqQ1VTVE9NX0JMT0NLX0lMTEVHQUxfTUVfUExNTl9MSVNUW11bQ1VTVE9NX0JMT0NLX0lMTEVHQUxfTUVfUExNTl9NQVhfTlVNXSA9IHsKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyIyMzQzMCIsICIyMzQzMyIsICIyMzQwOCIsICJGRkZGRkYiLCAiRkZGRkZGIn0gLy9FRQorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IjIzNDMwIiwgIjIzNDMzIiwgIjIzNDA4IiwgIkZGRkZGRiIsICJGRkZGRkYifSwgLy9FRQorCQkJCQkJCQkJCQkgICB7IjIzNDEwIiwgIkZGRkZGRiIsICJGRkZGRkYiLCAiRkZGRkZGIiwgIkZGRkZGRiJ9IC8vVGVsZWZvbmljYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogCiBjb25zdCBrYWxfdWludDMyIENVU1RPTV9CTE9DS19JTExFR0FMX01FX1BMTU5fU0VUID0gc2l6ZW9mKENVU1RPTV9CTE9DS19JTExFR0FMX01FX1BMTU5fTElTVCkvKHNpemVvZihjaGFyICopKkNVU1RPTV9CTE9DS19JTExFR0FMX01FX1BMTU5fTUFYX05VTSk7CmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbndzZWxfY29uZmlnLmggYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbndzZWxfY29uZmlnLmgKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA5NjllMWIxLi41ZWFkODQ1Ci0tLSBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9ud3NlbF9jb25maWcuaAorKysgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fbndzZWxfY29uZmlnLmgKQEAgLTczMyw2ICs3MzMsNyBAQAogZXh0ZXJuIGthbF9ib29sIG53c2VsX2N1c3RvbV9kaXNhYmxlX3JwbG1uX2Zyb21fZXBzbG9jaSh2b2lkKTsKIGV4dGVybiBrYWxfYm9vbCBud3NlbF9jdXN0b21faXNfaHBwbG1uXzFzdF9hdHRlbXB0X2VuaGFuY2Uodm9pZCk7CiBleHRlcm4ga2FsX2Jvb2wgbndzZWxfY3VzdG9tX2lzX2Rpc2FibGVfZXV0cmFuX2FmdGVyX3JlamVjdChud3NlbF9kaXNhYmxlX2V1dHJhbl9jYXVzZV9lbnVtIGNhdXNlKTsKK2V4dGVybiBrYWxfYm9vbCBud3NlbF9jdXN0b21faXNfZGlzYWJsZV9ldXRyYW5fYWZ0ZXJfcmVqZWN0X3dpdGhfY2F1c2UobndzZWxfZGlzYWJsZV9ldXRyYW5fY2F1c2VfZW51bSBjYXVzZSwgbW1fY2F1c2VfZW51bSBlbW1fY2F1c2UpOwogZXh0ZXJuIGthbF9ib29sIG53c2VsX2N1c3RvbV9pc19kaXNwbGF5X3JvYW1pbmdfaHBsbW5faW5fZXBsbW4oa2FsX3VpbnQ4IHNpbV9pbnRlcmZhY2UpOwogZXh0ZXJuIGthbF9ib29sIG53c2VsX2N1c3RvbV9pc19kaXNhYmxlX3NraXBfbmV3X2ZwbG1uX21hbnVhbF9yZXNlbCh2b2lkKTsKIGV4dGVybiBrYWxfYm9vbCBud3NlbF9jdXN0b21fZW5hYmxlX3BsbW5zZWxfb3BsbW5fY29leGlzdCh2b2lkKTsKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9zZG1fdXRpbGl0eS5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NkbV91dGlsaXR5LmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCAyMzk5NzBjLi41NTE3NzM1Ci0tLSBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9zZG1fdXRpbGl0eS5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV9zZG1fdXRpbGl0eS5jCkBAIC03NSw5ICs3NSw2IEBACiAKIHN0YXRpYyBjb25zdCBzZG1fY3VzdG9taXplZF9wbG1uX3RhYmxlX2VudHJ5IHNkbV9jdXN0X3ByZWZlcl9zbXNfb3Zlcl9zZ3NfdG9faW1zX3RibFtdID0KIHsgICAgCi0gICAgLyogVGVsZWZvbmljYSBTcGFpbiAqLwotICAgIHsiMjE0IiwgIjA1IiwgMX0sIHsiMjE0IiwgIjA3IiwgMX0sCi0KICAgICAvKiBWREYgUG9ydHVnYWwgKi8KICAgICB7IjI2OCIsICIwMSIsIDF9LAogCkBAIC0yMDUsNiArMjAyLDkgQEAKICAgICAvKiBNdGVsL0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEgKi8KICAgICB7IjIxOCIsICIwNSIsIDF9LAogCisgICAgLyogSWxpYWQgSXRhbHkgKi8KKyAgICB7IjIyMyIsICI1MCIsIDF9LAorCiAgICAgLyogRGVmYXVsdCAqLwogCiB9OwpAQCAtMjE4LDkgKzIxOCw2IEBACiAgICAgLyogVkRGIEh1bmdhcnkgKi8KICAgICB7IjIxNiIsICI3MCIsIDB9LAogICAgICAgICAKLSAgICAvKiBUZWxlZm9uaWNhIFNwYWluICovCi0gICAgeyIyMTQiLCAiMDUiLCAwfSwgeyIyMTQiLCAiMDciLCAwfSwKLQogICAgIC8qIE1lZ2FGb24gUnVzc2lhICovCiAgICAgeyIyNTAiLCAiMDIiLCAwfSwgeyIyNTAiLCAiMTEiLCAwfSwKIApAQCAtMzEwLDYgKzMwNyw5IEBACiAKICAgICAvKiBaYWluL0JhaHJhaW4gKi8KICAgICB7IjQyNiIsICIwMiIsIDB9LAorICAgIAorICAgIC8qIFphaW4gLSBKb3JkYW4gKi8KKyAgICB7IjQxNiIsICIwMSIsIDB9LAogCiAgICAgLyogQmF0ZWNsby9CYWhyYWluICovCiAgICAgeyI0MjYiLCAiMDEiLCAwfSwKQEAgLTMyOSw2ICszMjksMTIgQEAKICAgICAvKlBhcnRuZXIvSXNyYWVsKi8KICAgICB7IjQyNSIsICIwMSIsIDB9LCB7IjQyNSIsICIxMCIsIDB9LAogCisJLyogRkxPVyBCYXJiYWRvcyAqLworCXsiMzQyIiwgIjYwMCIsIDB9LAorCisgICAgLyogSWxpYWQgSXRhbHkgKi8KKyAgICB7IjIyMyIsICI1MCIsIDB9LAorCiAgICAgLyogRGVmYXVsdCAqLwogCiB9OwpAQCAtNTI0LDYgKzUzMCw5IEBACiAKICAgICAvKiBCSCBNb2JpbGUvQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSovCiAgICAgeyIyMTgiLCAiOTAiLCAwfSwKKyAgCisgICAgLyogWmFpbiAtIEpvcmRhbiAqLworICAgIHsiNDE2IiwgIjAxIiwgMH0sCiB9OwogCiBzdGF0aWMgY29uc3Qgc2RtX2N1c3RvbWl6ZWRfcGxtbl90YWJsZV9lbnRyeSBzZG1fY3VzdF9zbXNfb3Zlcl9jc193aGVuX3JvYW1pbmdfdGJsW10gPQpAQCAtNTM5LDYgKzU0OCwyOCBAQAogICAgIAogICAgIC8qIE9yYW5nZSBMdXhlbWJvdXJnICovCiAgICAgeyIyNzAiLCAiOTkiLCAwfSwKKyAgICAgICAgCisgICAgLyogT3JhbmdlIEJlbGdpdW0gKi8KKyAgICB7IjIwNiIsICIxMCIsIDB9LAorCisgICAgLyogT3JhbmdlIFJvbWFuaWEgKi8KKyAgICB7IjIyNiIsICIxMCIsIDB9LAorCisgICAgLyogT3JhbmdlIHNlbmVnYWwgKi8KKyAgICB7IjYwOCIsICIwMSIsIDB9LAorCisgICAgLyogT3JhbmdlIENhcmliYmVhbiAqLworICAgIHsiMzQwIiwgIjAxIiwgMH0sCisKKyAgICAvKiBPcmFuZ2UgTGEgUul1bmlvbiAqLworICAgIHsiNjQ3IiwgIjAwIiwgMH0sCisKK307CisKK3N0YXRpYyBjb25zdCBzZG1fY3VzdG9taXplZF9wbG1uX3RhYmxlX2VudHJ5IHNkbV9jdXN0X3Ntc19vdmVyX3dpZmlfYWxsb3dlZF9pbl9yb2FtaW5nX3RibFtdID0KK3sKKyAgICAvKiBWb2RhZm9uZSBOZXRoZXJsYW5kICovCisgICAgeyIyMDQiLCAiMDQiLCAwfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtODk1LDMgKzkyNiwzNCBAQAogICAgICAgICByZXR1cm4gS0FMX1RSVUU7CiAgICAgfQogfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyogICBzZG1fY3VzdF9zbXNfb3Zlcl93aWZpX2FsbG93ZWRfaW5fcm9hbWluZworKiBERVNDUklQVElPTgorKiAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBkZWZpbmUgd2hldGhlciBNTyBTTVMgb3ZlciB3aWZpIGluIHJvYW1pbmcgaXMgYWxsb3dlZAorKiAgIGluIHNwZWNpZmljIFNJTSBjYXJkIChNQ0MgJiBNTkMpCisqCisqIFBBUkFNRVRFUlMKKyoKKyogUkVUVVJOUworKiAgIGthbF9ib29sCisqIEdMT0JBTFMgQUZGRUNURUQKKyogICBOb25lCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2thbF9ib29sIHNkbV9jdXN0X3Ntc19vdmVyX3dpZmlfYWxsb3dlZF9pbl9yb2FtaW5nKGNoYXIgKm1jYywgY2hhciAqbW5jKQoreworICAgIGthbF91aW50OCBzZXR0aW5nID0gMDsKKyAgICBrYWxfdWludDMyIHRibF9lbnRyeV9udW0gPSBzaXplb2Yoc2RtX2N1c3Rfc21zX292ZXJfd2lmaV9hbGxvd2VkX2luX3JvYW1pbmdfdGJsKS9zaXplb2Yoc2RtX2N1c3RvbWl6ZWRfcGxtbl90YWJsZV9lbnRyeSk7CisKKyAgICBpZihLQUxfVFJVRSA9PSBzZG1fZmluZF9jdXN0b21pemVkX3NldHRpbmcoc2RtX2N1c3Rfc21zX292ZXJfd2lmaV9hbGxvd2VkX2luX3JvYW1pbmdfdGJsLCB0YmxfZW50cnlfbnVtLCBtY2MsIG1uYywgJnNldHRpbmcpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHNldHRpbmc7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIC8qIERlZmF1bHQgKi8KKyAgICAgICAgcmV0dXJuIEtBTF9UUlVFOworICAgIH0KK30KKwpkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NkbV91dGlsaXR5LmggYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fc2RtX3V0aWxpdHkuaApvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IGM4MDQ1Y2MuLjU1M2Q3YTYKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NkbV91dGlsaXR5LmgKKysrIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NkbV91dGlsaXR5LmgKQEAgLTkwLDQgKzkwLDYgQEAKIGV4dGVybiBrYWxfYm9vbCBzZG1fY3VzdF9zbXNfb3Zlcl9pcF9hbGxvd2VkKGNoYXIgKm1jYywgY2hhciAqbW5jLCBrYWxfYm9vbCB1c2VyX2RlYWZ1bHQpOwogZXh0ZXJuIHNkbV9yZXRyeV9kb21haW5fcHJlZmVyZW5jZV9lbnVtIHNkbV9jdXN0X3JldHJ5X2RvbWFpbl9wcmVmZXJlbmNlKGNoYXIgKm1jYywgY2hhciAqbW5jKTsKIGV4dGVybiBrYWxfYm9vbCBzZG1fY3VzdF9zbXNfb3Zlcl9jc193aGVuX3JvYW1pbmcoY2hhciAqbWNjLCBjaGFyICptbmMpOworZXh0ZXJuIGthbF9ib29sIHNkbV9jdXN0X3Ntc19vdmVyX3dpZmlfYWxsb3dlZF9pbl9yb2FtaW5nKGNoYXIgKm1jYywgY2hhciAqbW5jKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fc3Nkcy5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NzZHMuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IDYyYjlmYTQuLjE5ZGUwZjcKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3NzZHMuYworKysgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21fc3Nkcy5jCkBAIC0yMTksNiArMjE5LDcgQEAKICAgICAgICAgY2FzZSAyMzE6IC8qIE1heGlzLU1hbGF5c2lhICovCiAgICAgICAgIGNhc2UgMjQxOiAvKiBDbGFyby1QdWVydG8gUmljbyAqLwkJCiAJCWNhc2UgMjQ0OiAvKiBNZXRmb25lLUNhbWJvZGlhICovCisJCWNhc2UgMjUwOiAvKiBVbmlvbi1VU0EgKi8KIAkJY2FzZSAyNzg6IC8qIEphenotUGFraXN0YW4gKi8KIAkJY2FzZSAyOTQ6IC8qIE1QVC1NYXlhbm1hciAqLwogCQljYXNlIDI5NjovKiBDV1ctVVMgKi8KQEAgLTI0NSw2ICsyNDYsNyBAQAogICAgICAgICBjYXNlIDQxNTogLypteS50LU1hdXJpdGl1cyovCiAJCWNhc2UgNDIwOiAvKiBTYXVkaSBBcmFiaWEgLVJlZGJ1bGwqLwogCQljYXNlIDQzMDogLyogQWlydGVsLSBOaWdlcmlhICovCisgICAgICAgIGNhc2UgNDMzOiAvKiBWb2RhZm9uZSBVa3JhaW5lICovCiAJCWNhc2UgNDM2OiAvKiBGbG93IC0gQmFyYmFkb3MqLwogCQljYXNlIDQzOTogLyogQWlydGVsIC0gVGFuemFuaWEgKi8KICAgICAgICAgICAgICpyZXFfdXNzZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19VU1NEX1BBVEhfVFlQRV9DUzsKQEAgLTI1NSw3ICsyNTcsNyBAQAogICAgICAgICAgICAgaXNfY2hhbmdlZCA9IEtBTF9UUlVFOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgMzogLyogT3JhbmdlICovCi0gICAgICAgICAgICBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bWNjLCAiMjI2IikpICAvKiBPcmFuZ2UtUm9tYW5pYSBzdXBwb3J0cyBVU1NJICovCisgICAgICAgICAgICBpZigoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjIyNiIpKSB8fCAoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjI2MCIpKSkgIC8qIE9yYW5nZS1Sb21hbmlhIGFuZCBQb2xhbmQgc3VwcG9ydHMgVVNTSSAqLwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMzI4LDYgKzMzMCwxMyBAQAogICAgICAgICAgICAgICAgIGlzX2NoYW5nZWQgPSBLQUxfVFJVRTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwkKKyAgICAgICAgY2FzZSAyODI6IC8qIExFQkFSQSBNb2JpbGUgKi8KKyAgICAgICAgICAgIGlmKDAgPT0gc3RyY21wKHBhcmFtc19pbmZvLT5tY2MsICIyMDgiKSkgLyogRnJhbmNlICovCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgKnJlcV91c3NkX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1VTU0RfUEFUSF9UWVBFX0NTOworICAgICAgICAgICAgICAgIGlzX2NoYW5nZWQgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNzAyLDYgKzcxMSwxNCBAQAogCQkJICAgICAgICBpc19jaGFuZ2VkID0gS0FMX1RSVUU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bWNjLCAiNjAyIikpIC8qIFZvZGFmb25lLUVneXB0Ki8KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bW5jLCAiMDIiKSkKKyAgICAgICAgICAgICAgICB7CisJCQkJCSpuZWVkX3N5bmMgPSBTU0RTX0NXX1NZTkNfVFlQRV9SRUFMX1RJTUU7CisJCQkgICAgICAgIGlzX2NoYW5nZWQgPSBLQUxfVFJVRTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAJCQlicmVhazsKIAkJfQogCQljYXNlIDEyMTovKiBCRUxMLUNBTkFEQSAqLwpAQCAtMTEzOCwxOCArMTE1NSwxNSBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bWNjLCAiMjYwIikpIC8qIG9yYW5nZS1Qb2xhbmQgKi8KICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bW5jLCAiMDMiKSkKKyAgICAgICAgICAgICAgICBzd2l0Y2gocGFyYW1zX2luZm8tPmF0Y21kX3R5cGUpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfQ1NfT05MWTsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ0xJUiBHRVQgVEIgU29sdXRpb24KLSAgICAgICAgICAgICAgICAgICAgc3dpdGNoKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlKQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfR0VUX0NMSVI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX1RCX1NPTFVUSU9OOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NBTExfV0FJVElORzoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX0dFVF9DQUxMX1dBSVRJTkc6CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdG8gQ1Mgb25seSB0byBzeW5jIHRoZSBzdGF0dXMgd2l0aCBDUywgdGhlbiByZXR1biB0ZXJtaW5hbCBiYXNlZCAqLworICAgICAgICAgICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX0NTX09OTFk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjIzMSIpKSAgLyogb3JhbmdlLVNsb3Zha2lhICovCkBAIC0xNjg5LDE2ICsxNzAzLDkgQEAKICAgICAgICAgICAgIC8qIHNwZWNpYWwgbmV0d29yayBjb25maWcgKi8KICAgICAgICAgICAgIGlmKDAgPT0gc3RyY21wKHBhcmFtc19pbmZvLT5tY2MsICIzMzQiKSkgLyogTWV4aWNvICovCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX0NTX09OTFk7Ci0gICAgICAgICAgICAgICAgaWYocGFyYW1zX2luZm8tPmF0Y21kX3R5cGUgPT0gQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9TRVRfQ0FMTF9XQUlUSU5HIHx8Ci0gICAgICAgICAgICAgICAgICAgIHBhcmFtc19pbmZvLT5hdGNtZF90eXBlID09IENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfR0VUX0NBTExfV0FJVElORykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9UQl9TT0xVVElPTjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZihwYXJhbXNfaW5mby0+YXRjbWRfdHlwZSA9PSBDVVNUT01fU1NEU19BVENNRF9UWVBFX1NFVF9DQUxMX0JBUlJJTkcgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc19pbmZvLT5hdGNtZF90eXBlID09IENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfR0VUX0NBTExfQkFSUklORyB8fAotCQkJCQkJcGFyYW1zX2luZm8tPmF0Y21kX3R5cGUgPT0gQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9TRVRfQ0xJUiB8fAotCQkJCQkJcGFyYW1zX2luZm8tPmF0Y21kX3R5cGUgPT0gQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9HRVRfQ0xJUikKKyAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfUFNfUFJFRkVSOworICAgICAgICAgICAgICAgIGlmKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlID09IENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NBTExfQkFSUklORyB8fAorICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zX2luZm8tPmF0Y21kX3R5cGUgPT0gQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9HRVRfQ0FMTF9CQVJSSU5HKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX09QRVJBVElPTl9OT1RfU1VQUE9SVEVEXzQ7CiAgICAgICAgICAgICAgICAgfQpAQCAtMjI2NCw2ICsyMjcxLDE5IEBACiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CisJCQlpZigoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjQzNCIpKSkKKwkJCXsKKwkJCQlhdGNtZF9wYXRoX3R5cGUgPSAoS0FMX1RSVUUgPT0gcGFyYW1zX2luZm8tPmlzX2ltc19yZWdpc3RlcmVkKT9DVVNUT01fU1NEU19QQVRIX1RZUEVfUFNfT05MWTpDVVNUT01fU1NEU19QQVRIX1RZUEVfQ1NfT05MWTsKKyAgICAgICAgICAgICAgICBzd2l0Y2gocGFyYW1zX2luZm8tPmF0Y21kX3R5cGUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NBTExfV0FJVElORzoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX0dFVF9DQUxMX1dBSVRJTkc6CisgICAgICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfVEJfU09MVVRJT047CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKwkJCX0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgMTE0OiAvKiBLVCAqLwpAQCAtMzU1NCw3ICszNTc0LDEzIEBACiAgICAgICAgICAgICAvKlNhdWRpIEFyYWJpYSovCiAgICAgICAgICAgICBlbHNlIGlmKDAgPT0gc3RyY21wKHBhcmFtc19pbmZvLT5tY2MsICI0MjAiKSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfQ1NfT05MWTsKKyAgICAgICAgICAgICAgICBpZigwID09IHN0cmNtcChwYXJhbXNfaW5mby0+bW5jLCAiMDEiKSkKKyAgICAgICAgICAgICAgICB7CisJCQkJCWF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9QU19QUkVGRVI7CisJCQkJfQorCQkJCWVsc2V7CisJCQkJCWF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9DU19PTkxZOworCQkJCX0KICAgICAgICAgICAgICAgICBzd2l0Y2gocGFyYW1zX2luZm8tPmF0Y21kX3R5cGUpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NBTExfQkFSUklORzoKQEAgLTQ3NTQsNiArNDc4MCwxMiBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKwkJY2FzZSAyNTA6IC8qIFVuaW9uLVVTQSAqLworCQl7CisJCQkvKiBTdXBwb3J0cyBYQ0FQIHJlZ2FyZGxlc3Mgb2YgSU1TIFJlZyBzdGF0dXMgKi8KKyAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9QU19QUkVGRVI7CisJCQlicmVhazsKKwkJfQogICAgICAgICBjYXNlIDI1NTogLyogQ2VsbHVsYXIgb25lIFVTICovCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmKHBhcmFtc19pbmZvLT5pbXNfZG9tYWluID09IENVU1RPTV9TU0RTX0lNU19ET01BSU5fVFlQRV9XRkMpCkBAIC00OTI3LDE3ICs0OTU5LDM3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIDI4MjogLyogTW9iaWx5IFNhdWRpIEFyYWJpYSovCisgICAgICAgIGNhc2UgMjgyOiAvKiBMRUJBUkEgTW9iaWxlICovCiAgICAgICAgIHsKLSAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9DU19PTkxZOwotICAgICAgICAgICAgc3dpdGNoKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlKQorICAgICAgICAgICAgaWYoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjIwOCIpKSAvKiBGcmFuY2UgKi8KICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NMSVI6Ci0gICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX0dFVF9DTElSOgotICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfT1BFUkFUSU9OX05PVF9TVVBQT1JURURfNDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX1BTX1BSRUZFUjsKKyAgICAgICAgICAgICAgICBzd2l0Y2gocGFyYW1zX2luZm8tPmF0Y21kX3R5cGUpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NMSVI6CisgICAgICAgICAgICAgICAgICAgIGNhc2UgQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9HRVRfQ0xJUjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9UQl9TT0xVVElPTjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfU0VUX0NBTExfV0FJVElORzoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX0dFVF9DQUxMX1dBSVRJTkc6CisgICAgICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSAoS0FMX1RSVUUgPT0gcGFyYW1zX2luZm8tPmlzX2ltc19yZWdpc3RlcmVkKT9DVVNUT01fU1NEU19QQVRIX1RZUEVfVEJfU09MVVRJT046Q1VTVE9NX1NTRFNfUEFUSF9UWVBFX0NTX09OTFk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgLyogU2F1ZGkgQXJhYmlhICovCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYXRjbWRfcGF0aF90eXBlID0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX0NTX09OTFk7CisgICAgICAgICAgICAgICAgc3dpdGNoKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX1NFVF9DTElSOgorICAgICAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfR0VUX0NMSVI6CisgICAgICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfT1BFUkFUSU9OX05PVF9TVVBQT1JURURfNDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwkJCQkKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC01Nzc3LDYgKzU4MjksMzUgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgNDUzOiAvKiBFdGhpb3BpYSBTYWZhcmljb20gKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhc2UgQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9TRVRfQ0xJUjoKKyAgICAgICAgICAgICAgICBjYXNlIENVU1RPTV9TU0RTX0FUQ01EX1RZUEVfR0VUX0NMSVI6CisgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX1NFVF9DQUxMX0JBUlJJTkc6CisgICAgICAgICAgICAgICAgY2FzZSBDVVNUT01fU1NEU19BVENNRF9UWVBFX0dFVF9DQUxMX0JBUlJJTkc6CisgICAgICAgICAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9PUEVSQVRJT05fTk9UX1NVUFBPUlRFRF80OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmKGF0Y21kX3BhdGhfdHlwZSA9PSBDVVNUT01fU1NEU19QQVRIX1RZUEVfUFNfUFJFRkVSIHx8CisgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPT0gQ1VTVE9NX1NTRFNfUEFUSF9UWVBFX1BTX09OTFkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYoS0FMX1RSVUUgIT0gcGFyYW1zX2luZm8tPmlzX21vYmlsZV9kYXRhX3NldHRpbmdfZW5hYmxlZCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGF0Y21kX3BhdGhfdHlwZSA9IENVU1RPTV9TU0RTX1BBVEhfVFlQRV9DU19PTkxZOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXRjbWRfcGF0aF90eXBlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgNDU0OiAvKiBDb25nby1raW5nc2hhc2EgVm9kYWNvbSAqLworICAgICAgICB7CisgICAgICAgICAgICBuZWVkX2NoZWNrX3JvYW1pbmdfZGF0YV9vZmYgPSBLQUxfRkFMU0U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIDEwMDE6IC8qIEVyaWNzc29uLUlPRFQgKi8KICAgICAgICAgewogICAgICAgICAgICAgLyogZGVmYXVsdCBjb25maWcgKi8KQEAgLTYxOTMsNiArNjI3NCwyMCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSA0MzM6IC8qIFZvZGFmb25lIFVrcmFpbmUgKi8KKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKHBhcmFtc19pbmZvLT5hdGNtZF90eXBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhc2UgQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9TRVRfQ0FMTF9XQUlUSU5HOgorICAgICAgICAgICAgICAgIGNhc2UgQ1VTVE9NX1NTRFNfQVRDTURfVFlQRV9HRVRfQ0FMTF9XQUlUSU5HOgorICAgICAgICAgICAgICAgICAgICBhdGNtZF9wYXRoX3R5cGUgPSBDVVNUT01fU1NEU19QQVRIX1RZUEVfVEJfU09MVVRJT047CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICB9CisgICAgICAgICAgICBuZWVkX2NoZWNrX3JvYW1pbmdfZGF0YV9vZmZfY3Nfb25seSA9IEtBTF9UUlVFOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSA0MzU6IC8qIEFpcnRlbCAtIFphbWJpYSAqLwogICAgICAgICB7CiAgICAgICAgICAgICBuZWVkX2NoZWNrX3JvYW1pbmdfZGF0YV9vZmZfY3Nfb25seSA9IEtBTF9UUlVFOwpAQCAtNjk5OSw2ICs3MDk0LDIzIEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCSAgIGNhc2UgMTU5OiAvKiBTVEMgKi8KKyAgICAgICAgeworICAgICAgICAgICAgLypTYXVkaSBBcmFiaWEqLworICAgICAgICAgICAgaWYoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1jYywgIjQyMCIpKSAgCisgICAgICAgICAgICB7CisJCQkJaWYoMCA9PSBzdHJjbXAocGFyYW1zX2luZm8tPm1uYywgIjAxIikpCisgICAgICAgICAgICAgICAgeworCQkJCQkvKiBSZXF1aXJlcyB0aGF0IHdoZW4gVUUgcmVjZWl2ZXMgNDAwLCA0MDMsIDQwOCwgNDA5LCA1MDAsIDUwMyBvciA1MDQgRXJyb3IgcmVzcG9uc2UgZnJvbSBOVywgaXQgbmVlZHMgdG8gQ1NGQiAqLworCQkJCQlpZiAoNDAwID09IHBhcmFtc19pbmZvLT5yc3BfaWQgfHwgNDAzID09IHBhcmFtc19pbmZvLT5yc3BfaWQgfHwgNDA4ID09IHBhcmFtc19pbmZvLT5yc3BfaWQKKwkJCQkJCXx8IDQwOSA9PSBwYXJhbXNfaW5mby0+cnNwX2lkIHx8IDUwMCA9PSBwYXJhbXNfaW5mby0+cnNwX2lkIHx8IDUwMyA9PSBwYXJhbXNfaW5mby0+cnNwX2lkIHx8IDUwNCA9PSBwYXJhbXNfaW5mby0+cnNwX2lkICkKKwkJCQkJeworCQkJCQkJcnNwX3BhdGggPSBDVVNUT01fU1NEU19DU0ZCX1RZUEVfT05DRTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgMTY0Oi8qIFRlbGVuZXQgQmVsZ2l1bSByZXF1aXJlcyB0aGF0IGFmdGVyIFVFIHJlY2VpdmVzIDQweCBlcnJvciByZXNwb25zZSAob3RoZXIgdGhhbiA0MDMpIGZyb20gTlcsIGl0IG5lZWRzIHRvIENTRkIgKi8KICAgICAgICAgewogICAgICAgICAgICAgaWYgKDQwMyA9PSBwYXJhbXNfaW5mby0+cnNwX2lkKQpAQCAtNzA5Myw2ICs3MjA1LDE3IEBACiAgICAgICAgICAgICByc3BfcGF0aCA9IENVU1RPTV9TU0RTX0NTRkJfVFlQRV9OTzsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgMjgyOiAvKiBMRUJBUkEgTW9iaWxlICovCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmKDAgPT0gc3RyY21wKHBhcmFtc19pbmZvLT5tY2MsICIyMDgiKSkgLyogRnJhbmNlICovCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYoKCg0MDMgPT0gcGFyYW1zX2luZm8tPnJzcF9pZCkgfHwgKDgzMSA9PSBwYXJhbXNfaW5mby0+cnNwX2lkKSkgJiYgKDAgPT0gcGFyYW1zX2luZm8tPnJlYWxfcnNwX2lkKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJzcF9wYXRoID0gQ1VTVE9NX1NTRFNfQ1NGQl9UWVBFX0FMV0FZUzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCQljYXNlIDMwNzogLyogQ2VsbGNvbS1Jc3JhZWwgKi8KIAkJewogCQkJaWYgKDMwMCA8PSBwYXJhbXNfaW5mby0+cnNwX2lkICYmIDU5OSA+PSBwYXJhbXNfaW5mby0+cnNwX2lkKQpAQCAtNzIxMCwxMSArNzMzMywxMiBAQAogICAgIHsKICAgICAgICAgKnRpbWVyX3ZhbHVlID0gSU5WQUxJRF9TU0RTX1RJTUVSX1ZBTFVFOyAvLzB4ZmZmZmZmZmYgbWVhbnMgYWx3YXlzIGRpc2FibGUgVVQgdW50aWwgcmVzdGFydGluZyBVRSBvciBjaGFuZ2luZyBTSU0gY2FyZC4KICAgICAgICAga2FsX3Byb21wdF90cmFjZShNT0RfU1NEUytwYXJhbXNfaW5mby0+cHNfaWQsInRoZSBkaXNhYmxlIFVUIHRpbWVyIHZhbHVlIGlzIG1heCAiKTsKLSAgICAgICAgaWYoKDAgPT0ga2FsX21lbV9jbXAocGFyYW1zX2luZm8tPm1jY21uYywgIjIwODAxIiwgNSkgfHwgMCA9PSBrYWxfbWVtX2NtcChwYXJhbXNfaW5mby0+bWNjbW5jLCAiMjA4MDIiLCA1KSkgJiYKKyAgICAgICAgaWYoKDAgPT0ga2FsX21lbV9jbXAocGFyYW1zX2luZm8tPm1jY21uYywgIjIwODAxIiwgNSkgfHwgMCA9PSBrYWxfbWVtX2NtcChwYXJhbXNfaW5mby0+bWNjbW5jLCAiMjA4MDIiLCA1KSB8fAorICAgICAgICAgICAgMCA9PSBrYWxfbWVtX2NtcChwYXJhbXNfaW5mby0+bWNjbW5jLCAiMjA4MzgiLCA1KSkgJiYKICAgICAgICAgICAgKCgoNDAzID09IHBhcmFtc19pbmZvLT5yc3BfaWQpIHx8ICg4MzEgPT0gcGFyYW1zX2luZm8tPnJzcF9pZCkpICYmICgwID09IHBhcmFtc19pbmZvLT5yZWFsX3JzcF9pZCkpKQogICAgICAgICB7CiAgICAgICAgICAgICAqdGltZXJfdmFsdWUgPSBLQUxfVElDS1NfMV9NSU4gKiAyNDA7IC8vIDRoIHRpbWVyCi0gICAgICAgICAgICBrYWxfcHJvbXB0X3RyYWNlKE1PRF9TU0RTK3BhcmFtc19pbmZvLT5wc19pZCwgIlRoZSBPcmFuZ2UgZGlzYWJsZSBVVCB0aW1lciB2YWx1ZSBpczolZCAiLCAqdGltZXJfdmFsdWUpOworICAgICAgICAgICAga2FsX3Byb21wdF90cmFjZShNT0RfU1NEUytwYXJhbXNfaW5mby0+cHNfaWQsICJUaGUgT3JhbmdlL0xFQkFSQS1tb2JpbGUgRnJhbmNlIGRpc2FibGUgVVQgdGltZXIgdmFsdWUgaXM6JWQgIiwgKnRpbWVyX3ZhbHVlKTsKICAgICAgICAgfSAgICAKICAgICAgICAgZWxzZQogICAgICAgICB7CkBAIC03MjI2LDExICs3MzUwLDEyIEBACiAgICAgLy9mb3IgZ2VuOTUvOTcKICAgICBlbHNlCiAgICAgewotICAgICAgICBpZigoMCA9PSBrYWxfbWVtX2NtcChwYXJhbXNfaW5mby0+bWNjbW5jLCAiMjA4MDEiLCA1KSB8fCAwID09IGthbF9tZW1fY21wKHBhcmFtc19pbmZvLT5tY2NtbmMsICIyMDgwMiIsIDUpKSAmJgorICAgICAgICBpZigoMCA9PSBrYWxfbWVtX2NtcChwYXJhbXNfaW5mby0+bWNjbW5jLCAiMjA4MDEiLCA1KSB8fCAwID09IGthbF9tZW1fY21wKHBhcmFtc19pbmZvLT5tY2NtbmMsICIyMDgwMiIsIDUpIHx8CisgICAgICAgICAgICAwID09IGthbF9tZW1fY21wKHBhcmFtc19pbmZvLT5tY2NtbmMsICIyMDgzOCIsIDUpKSAmJgogICAgICAgICAgICAoKCg0MDMgPT0gcGFyYW1zX2luZm8tPnJzcF9pZCkgfHwgKDgzMSA9PSBwYXJhbXNfaW5mby0+cnNwX2lkKSkgJiYgKDAgPT0gcGFyYW1zX2luZm8tPnJlYWxfcnNwX2lkKSkpCiAgICAgICAgIHsKICAgICAgICAgICAgICp0aW1lcl92YWx1ZSA9IEtBTF9USUNLU18xX01JTiAqIDI0MDsgLy8gNGggdGltZXIKLSAgICAgICAgICAgIGthbF9wcm9tcHRfdHJhY2UoTU9EX1NTRFMrcGFyYW1zX2luZm8tPnBzX2lkLCAiVGhlIE9yYW5nZSBkaXNhYmxlIFVUIHRpbWVyIHZhbHVlIGlzOiVkICIsICp0aW1lcl92YWx1ZSk7CisgICAgICAgICAgICBrYWxfcHJvbXB0X3RyYWNlKE1PRF9TU0RTK3BhcmFtc19pbmZvLT5wc19pZCwgIlRoZSBPcmFuZ2UvTEVCQVJBLW1vYmlsZSBGcmFuY2UgZGlzYWJsZSBVVCB0aW1lciB2YWx1ZSBpczolZCAiLCAqdGltZXJfdmFsdWUpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYocGFyYW1zX2luZm8tPnNzZHNfeGNhcF9lcnJvcl9pbmZvLT5lcnJvcl9pbmZvID09IENVU1RPTV9TU0RTX1hDQVBfTldfRVJST1JfTldfTk9fUkVTUE9OU0UpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV92Z21tX2NvbmZpZy5jIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3ZnbW1fY29uZmlnLmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCBmM2ZiMjk5Li5mOWUwNWQwCi0tLSBhL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV92Z21tX2NvbmZpZy5jCisrKyBiL21jdS9jdXN0b20vcHJvdG9jb2wvY29tbW9uL3BzL2N1c3RvbV92Z21tX2NvbmZpZy5jCkBAIC0xNjIsNiArMTYyLDExIEBACiB7IjQ1MDAyRiIsIFZHTU1fT1BfS1R9LAogeyI0NTAwOEYiLCBWR01NX09QX0tUfSwKIAorLy8gU29mdGJhbmsKK3siNDQwMjBGIiwgVkdNTV9PUF9TT0ZUQkFOS30sCit7IjQ0MDAwRiIsIFZHTU1fT1BfU09GVEJBTkt9LAoreyI0NDE5MEYiLCBWR01NX09QX1NPRlRCQU5LfSwKKwogLyoqKioqKipFdXJvcGUqKioqKioqKi8KIC8vVm9kYWZvbmUgUG9ydHVnYWwKIHsiMjY4MDFGIiwgVkdNTV9PUF9WREZfUE9SVFVHQUx9LApkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3hjYXBfY29uZmlnLmMgYi9tY3UvY3VzdG9tL3Byb3RvY29sL2NvbW1vbi9wcy9jdXN0b21feGNhcF9jb25maWcuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IGMzZDhiZDYuLjc1NDAzYjgKLS0tIGEvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3hjYXBfY29uZmlnLmMKKysrIGIvbWN1L2N1c3RvbS9wcm90b2NvbC9jb21tb24vcHMvY3VzdG9tX3hjYXBfY29uZmlnLmMKQEAgLTQ5OSwxMSArNDk5LDYgQEAKICAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X3B1dF9jZl9yb290ID0gWENBUF9ESVNBQkxFRDsKICAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby51cmxfZW5jb2RpbmcgPSBYQ0FQX1VSTF9FTkNPRElOR19OT0RFX1NFTEVDVE9SOwogICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnN1cHBvcnRfbWVkaWFfdGFnID0gWENBUF9ESVNBQkxFRDsKLSAgICAgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+eGNhcF9pbmZvLnJ1bGVpZF9jZnUsICJjZnUiKTsKLSAgICAgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+eGNhcF9pbmZvLnJ1bGVpZF9jZmIsICJjZmIiKTsKLSAgICAgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+eGNhcF9pbmZvLnJ1bGVpZF9jZm5yYywgImNmbnJjIik7Ci0gICAgICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPnhjYXBfaW5mby5ydWxlaWRfY2ZucnksICJjZm5yIik7Ci0gICAgICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPnhjYXBfaW5mby5ydWxlaWRfY2ZubCwgImNmbmwiKTsKICAgICAgICAgICAgICAgICBpZiAoc3RyZXEobW5jLCIwNSIpKSB7CiAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdHIoY2ZnLT5nYmFfaW5mby5nYmFfdXJsLCAiYnNmLmltcy5tbmMwMDUubWNjMjMyLnB1Yi4zZ3BwbmV0d29yay5vcmciKTsKICAgICAgICAgICAgICAgICB9CkBAIC03NTMsNiArNzQ4LDExIEBACiAgICAgICAgICAgICBlbHNlIGlmIChzdHJlcShtY2MsICI0MDEiKSkgey8qIEthemFraHN0YW4gKi8KICAgICAgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+Z2JhX2luZm8uZ2JhX3R5cGUsICJHQkFfTUUiKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKHN0cmVxKG1jYywgIjQzNCIpKSB7LyogVXpiZWtpc3RhbiAqLworICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnhjYXBfcG9ydCA9IDgwODA7CisgICAgICAgICAgICAgICAgY2ZnLT5nYmFfaW5mby5nYmFfcG9ydCA9IDgwODE7CisgICAgICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPmdiYV9pbmZvLmdiYV90eXBlLCAiR0JBX01FIik7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIDExNDogLyogS1RSTiBSd2FuZGEgKi8KQEAgLTg5Nyw2ICs4OTcsNyBAQAogICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnN1cHBvcnRfY2ZubCA9IFhDQVBfRElTQUJMRUQ7CiAgICAgICAgICAgICAgICAgY2ZnLT54Y2FwX2luZm8udXJsX2VuY29kaW5nID0gWENBUF9VUkxfRU5DT0RJTkdfTk9ERV9TRUxFQ1RPUjsKICAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X2lmX21hdGNoX2hlYWRlciA9IFhDQVBfSUZfTUFUQ0hfTEVWRUxfU0lNU0VSVlM7CisgICAgICAgICAgICAgICAgY2ZnLT5jbV9pbmZvLnBkbl9yZWxlYXNpbmdfdGltZXIgPSAxNTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyZXEobWNjLCAiNzI0IikpeyAvKiBUaW0gLSBCWiAqLwogICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnVybF9lbmNvZGluZyA9IFhDQVBfVVJMX0VOQ09ESU5HX05PREVfU0VMRUNUT1I7CiAgICAgICAgICAgICAgICAgY2ZnLT54Y2FwX2luZm8uc3VwcG9ydF9wdXRfY2Zfcm9vdCA9IFhDQVBfRElTQUJMRUQ7CkBAIC0xNzY1LDEzICsxNzY2LDIzIEBACiAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X2FkZGluZ191bnByb3Zpc2lvbmVkX3J1bGUgPSBYQ0FQX0RJU0FCTEVEOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSAyODI6IC8qIE1vYmlseSBTYXVkaSAqLworICAgICAgICBjYXNlIDI4MjogLyogTEVCQVJBIE1vYmlsZSAqLwogICAgICAgICB7Ci0gICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+Z2JhX2luZm8uZ2JhX3R5cGUsICJHQkFfTUUiKTsgCi0gICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X21lZGlhX3RhZyA9IFhDQVBfRElTQUJMRUQ7Ci0gICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X3B1dF9jZl9yb290ID0gWENBUF9ESVNBQkxFRDsKLSAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLmZvcndhcmRpbmdfbnVtYmVyX3VzZV9zaXBfdXJpID0gWENBUF9FTkFCTEVEOwotICAgICAgICAgICAgY2ZnLT5nYmFfaW5mby5nYmFfcG9ydCA9IDQ0MzsKKyAgICAgICAgICAgIGlmIChzdHJlcShtY2MsICIyMDgiKSl7IC8qIEZyYW5jZSAqLworICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnN1cHBvcnRfbWVkaWFfdGFnID0gWENBUF9ESVNBQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5mb3J3YXJkaW5nX251bWJlcl91c2Vfc2lwX3VyaSA9IFhDQVBfRU5BQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X3B1dF9jZl9yb290ID0gWENBUF9ESVNBQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X2Rpc2FibGVfYnlfY29uZCA9IFhDQVBfRU5BQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPmNtX2luZm8ucGRuX3JlbGVhc2luZ190aW1lciA9IDE1OworICAgICAgICAgICAgICAgIGNmZy0+Y21faW5mby5hcG5fc2VsZWN0aW9uX3J1bGUgPSBYQ0FQX0NNX0FQTl9TRUxFQ1RJT05fUlVMRV9QUkVGRVJfQ0VMTFVMQVJfWENBUDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeyAvKiBTYXVkaSAqLyAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPmdiYV9pbmZvLmdiYV90eXBlLCAiR0JBX01FIik7IAorICAgICAgICAgICAgICAgIGNmZy0+eGNhcF9pbmZvLnN1cHBvcnRfbWVkaWFfdGFnID0gWENBUF9ESVNBQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5zdXBwb3J0X3B1dF9jZl9yb290ID0gWENBUF9ESVNBQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPnhjYXBfaW5mby5mb3J3YXJkaW5nX251bWJlcl91c2Vfc2lwX3VyaSA9IFhDQVBfRU5BQkxFRDsKKyAgICAgICAgICAgICAgICBjZmctPmdiYV9pbmZvLmdiYV9wb3J0ID0gNDQzOworICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSAyODM6IC8qIE1FTyAvIFBvcnR1Z2FsICovCkBAIC0yMzI3LDYgKzIzMzgsMTMgQEAKICAgICAgICAgICAgIGNmZy0+Z2JhX2luZm8uZ2JhX3BvcnQgPSA4MDgwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSA0MzM6IC8qIFZvZGFmb25lIFVrcmFpbmUgKi8KKyAgICAgICAgeworICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPmdiYV9pbmZvLmdiYV90eXBlLCAiR0JBX01FIik7CisgICAgICAgICAgICBjZmctPmdiYV9pbmZvLmdiYV9wb3J0ID0gODA4MDsKKyAgICAgICAgICAgIHVwZGF0ZV9zdHIoY2ZnLT5nYmFfaW5mby5nYmFfdXJsLCAiYnNmLmltcy5tbmMwMDEubWNjMjU1LnB1Yi4zZ3BwbmV0d29yay5vcmciKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNhc2UgNDM1OiAvKiBBaXJ0ZWwgWmFtYmlhICovCiAgICAgICAgIHsKICAgICAgICAgICAgIHVwZGF0ZV9zdHIoY2ZnLT5nYmFfaW5mby5nYmFfcHJvdG9jb2wsICJodHRwcyIpOwpAQCAtMjM1NCw2ICsyMzcyLDE3IEBACiAgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+eGNhcF9pbmZvLnJ1bGVpZF9iYWljciwgIkJJQ1JPQU0iKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgNDUzOiAvKiBTYWZhcmljb20gRXRoaW9waWEgKi8KKyAgICAgICAgeworICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPmdiYV9pbmZvLmdiYV90eXBlLCAiR0JBX01FIik7CisgICAgICAgICAgICB1cGRhdGVfc3RyKGNmZy0+Z2JhX2luZm8uZ2JhX3VybCwgImJzZi5pbXMubW5jMDAyLm1jYzYzNi5wdWIuM2dwcG5ldHdvcmsub3JnIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDQ1NDogLyogVm9kYWNvbSBDb25nby1raW5nc2hhc2EgKi8KKyAgICAgICAgeworICAgICAgICAgICAgdXBkYXRlX3N0cihjZmctPmdiYV9pbmZvLmdiYV90eXBlLCAiR0JBX01FIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBjYXNlIDEwMDE6IC8qIEVyaWNzc29uIElPRFQgKi8KICAgICAgICAgewogICAgICAgICAgICAgY2ZnLT54Y2FwX2luZm8uc3VwcG9ydF9tZWRpYV90YWcgPSBYQ0FQX0RJU0FCTEVEOwpkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9zZXJ2aWNlL21jZi9zeXN0ZW1fZmlsZXMvbWNmX3N5c3RlbS5jc3YgYi9tY3UvY3VzdG9tL3NlcnZpY2UvbWNmL3N5c3RlbV9maWxlcy9tY2Zfc3lzdGVtLmNzdgppbmRleCBhOTYzNTUzLi4yYjU1NGZjIDEwMDY0NAotLS0gYS9tY3UvY3VzdG9tL3NlcnZpY2UvbWNmL3N5c3RlbV9maWxlcy9tY2Zfc3lzdGVtLmNzdgorKysgYi9tY3UvY3VzdG9tL3NlcnZpY2UvbWNmL3N5c3RlbV9maWxlcy9tY2Zfc3lzdGVtLmNzdgpAQCAtMTAyNCwyNCArMTAyNCwyNCBAQAogMTAzMSw2MDUxOSxOVlJBTV9FRl9FTDFfVVRBU19QQVJBTUVURVJfTElELDEsc3R4X3NvX3B0eHBfZ2Fpbl90aGQsdXRhc19wYXJhbXMuc3R4X3NvX3B0eHBfZ2Fpbl90aGQsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdIFR4UCBnYWluIHRocmVzaG9sZCZsdDtCUiZndDtbUHVycG9zZV0gQ3VzdG9taXphdGlvbiBUQVMgcGFyYW1ldGVycyAmbHQ7QlImZ3Q7W1VzZSB0aW1pbmddIEJvb3QgdXAsU0hPUlQsMiwsLC0yLE5SMTUuUjMuTUQ3MDAuTVAsLCZsdDs9IC0xLCwsLEFudGVubmEgRmVhdHVyZXMsUkZfUHJvcHJpZXRhcnksLCxtb2RpZnkgdGhlIHZhbHVlIHRocm91Z2ggTUNGIHRvb2wgYW5kIGNoZWNrIGlmIHRoaXMgdmFsdWUgaXMgd3JpdHRlbiB0byBOVlJBTSxQYXNzLCwsLA0KIDEwMzIsNjA5MzgsTlZSQU1fRUZfRVJSQ19DVVNUT01fQ0FfQ09NQl9MSVNUX0xJRCwiMSwyIixibGFja19saXN0LGJsYWNrX2xpc3QsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0ZdVGhlIGJsYWNrIGxpc3Qgb2YgQ0EgY29tYmluYXRpb24gZm9yIHRoZSBVRS4gRWFjaCBjb21iaW5hdGlvbiBzaGFsbCBiZSBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uLiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGlzIGZpZWxkIGlzIDE2MzIuIElmIG5vIHNldHRpbmcgZm9yIEJhbmR3aWR0aENvbWJpbmF0aW9uU2V0IGl0IG1lYW5zIGFsbCBzZXRzIGRlZmluZWQgaW4gM0dQUCBUUyAzNi4xMDEgYXJlIHVzZWQgYnkgZGVmYXVsdC4gRXhhbXBsZTogNjZBQS0xMkEtMDAxMTExOzVBLTFBQTszQ0M7M0NBLTFBOzNDLTFBQTszQ0E7M0FBLTNBOzNBLTFBQTsyQUEtNEEiLENIQVIsMjAxNiwyMDE2LCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAgfiAyNTU6QXNjaWkgY2hhcmFjdGVyIGNvZGUgdmFsdWUuIDNHUFAgY29tcGxpYW50IENBIG5vdGF0aW9uIGZvcm1hdC4gU2VlIGV4YW1wbGUgaW4gRGVzY3JpcHRpb24uLCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSk6IFkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgYmUgbm8gbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdICZsdDtCUiZndDtVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZS4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIFNldCBDQSBibGFjayBsaXN0IGJ5IE1DRiB0b29sJmx0O0JSJmd0OzIuIENoZWNrIGlmIGJsYWNrbGlzdGVkIENBIGJhbmQgY29tYmluYXRpb25zIGFyZSByZXBvcnRlZCBpbiBVRS1FVVRSQS1DYXBhYmlsaXR5LiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtCbGFja2xpc3RlZCBDQSBiYW5kIGNvbWJpbmF0aW9ucyBzaGFsbCBub3QgYmUgcmVwb3J0ZWQuLFVudGVzdGVkLCwsLA0KIDEwMzMsNjA5MzgsTlZSQU1fRUZfRVJSQ19DVVNUT01fQ0FfQ09NQl9MSVNUX0xJRCwiMSwyIix3aGl0ZV9saXN0LHdoaXRlX2xpc3QsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0ZdVGhlIHdoaXRlIGxpc3Qgb2YgQ0EgY29tYmluYXRpb24gZm9yIHRoZSBVRS4gRWFjaCBjb21iaW5hdGlvbiBzaGFsbCBiZSBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uLiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGlzIGZpZWxkIGlzIDE2MzIuIElmIG5vIHNldHRpbmcgZm9yIEJhbmR3aWR0aENvbWJpbmF0aW9uU2V0IGl0IG1lYW5zIGFsbCBzZXRzIGRlZmluZWQgaW4gM0dQUCBUUyAzNi4xMDEgYXJlIHVzZWQgYnkgZGVmYXVsdC4gRXhhbXBsZTogNjZBQS0xMkEtMDAxMTExOzVBLTFBQTszQ0M7M0NBLTFBOzNDLTFBQTszQ0E7M0FBLTNBOzNBLTFBQTsyQUEtNEEiLENIQVIsMjAxNiwyMDE2LCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAgfiAyNTU6QXNjaWkgY2hhcmFjdGVyIGNvZGUgdmFsdWUuIDNHUFAgY29tcGxpYW50IENBIG5vdGF0aW9uIGZvcm1hdC4gU2VlIGV4YW1wbGUgaW4gRGVzY3JpcHRpb24uLCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSk6IFkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgYmUgbm8gbG9uZ2VyIHRoYW4gMTAuJmx0O0JSJmd0O1tJbml0XSAmbHQ7QlImZ3Q7VXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBTZXQgQ0Egd2hpdGUgbGlzdCBieSBNQ0YgdG9vbCZsdDtCUiZndDsyLiBDaGVjayBpZiB3aGl0ZWxpc3RlZCBDQSBiYW5kIGNvbWJpbmF0aW9ucyBhcmUgcmVwb3J0ZWQgaW4gVUUtRVVUUkEtQ2FwYWJpbGl0eS4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7V2hpdGVsaXN0ZWQgQ0EgYmFuZCBjb21iaW5hdGlvbnMgc2hhbGwgYmUgcmVwb3J0ZWQuLFVudGVzdGVkLCwsLA0KLTEwMzQsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLGJhbmQsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLmJhbmQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0Zdd2hpY2ggYmFuZCBkb24mYXBvczt0IHdhbnQgdG8gZGlzYWJsZSBpbiB0aGlzIHBsbW4gZ3JvdXAuIixVTlNJR05FRCBTSE9SVCw2NCwzMiwsImludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5iYW5kWzBdID0gezB4MjksIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsfSIsTlIxNS5SMy5NRDcwMC5NUCwsMSB+IDI1NjpMVEUgQmFuZCBJbmRpY2F0b3IsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KTogWSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KLTEwMzUsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLGJhbmRfbnVtLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5iYW5kX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl1UaGUgdmFsaWQgYmFuZCBudW1iZXIgZm9yIGJhbmQgc2V0dGluZy4iLFVOU0lHTkVEIENIQVIsMSwsLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5iYW5kX251bSA9IDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDMyOkRpc2FibGUgYmFuZCBhcnJheSBlbGVtZW50IG51bWJlciwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpOiBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTAzNiw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbWNjMSxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtblswfjE5XS5tY2MxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNQ0MxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5bMF0ubWNjMTogMHgwNCZsdDtCUiZndDtpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMX4xOV0ucGxtblsxfjE5XS5tY2MxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEY6VW51c2VkIE1DQyBkaWdpdCZsdDtCUiZndDswIH4gOTpNQ0MgZGlnaXQsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KTogWSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KLTEwMzcsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1jYzIsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW5bMH4xOV0ubWNjMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5wbG1uWzBdLm1jYzI6IDB4MDYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5bMX4xOV0ubWNjMjogMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwweDBGOlVudXNlZCBNQ0MgZGlnaXQmbHQ7QlImZ3Q7MCB+IDk6TUNDIGRpZ2l0LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCi0xMDM4LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtY2MzLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uWzB+MTldLm1jYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1DQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMF0ucGxtblswXS5tY2MzOiAweDAwJmx0O0JSJmd0O2ludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFsxfjE5XS5wbG1uWzF+MTldLm1jYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTUNDIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1DQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTAzOSw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbW5jMSxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtblswfjE5XS5tbmMxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNTkMxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5bMF0ubW5jMTogMHgwZiZsdDtCUiZndDtpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMX4xOV0ucGxtblsxfjE5XS5tbmMxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEY6VW51c2VkIE1OQyBkaWdpdCZsdDtCUiZndDswIH4gOTpNTkMgZGlnaXQsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KLTEwNDAsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1uYzIsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW5bMH4xOV0ubW5jMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5wbG1uWzBdLm1uYzI6IDB4MGYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5bMX4xOV0ubW5jMjogMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwweDBGOlVudXNlZCBNTkMgZGlnaXQmbHQ7QlImZ3Q7MCB+IDk6TU5DIGRpZ2l0LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCi0xMDQxLDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtbmMzLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uWzB+MTldLm1uYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1OQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMF0ucGxtblswXS5tbmMzOiAweDBmJmx0O0JSJmd0O2ludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFsxfjE5XS5wbG1uWzF+MTldLm1uYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDk6TU5DIGRpZ2l0Jmx0O0JSJmd0OzB4MEY6VW51c2VkIE1OQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA0Miw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIscGxtbl9saXN0X2xlbixpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbl9saXN0X2xlbixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl1UaGUgdmFsaWQgcGxtbiBudW0gaW4gdGhpcyBwbG1uIGdyb3VwLiIsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5fbGlzdF9sZW46IDB4MDYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5fbGlzdF9sZW46IDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDIwOlBMTU4gTGlzdCBhcnJheSBlbGVtZW50IG51bWJlciwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQorMTAzNCw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsYmFuZCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0uYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl13aGljaCBiYW5kIGRvbiZhcG9zO3Qgd2FudCB0byBkaXNhYmxlIGluIHRoaXMgcGxtbiBncm91cC4iLFVOU0lHTkVEIFNIT1JULDY0LDMyLCwiaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLmJhbmRbMF0gPSB7MHgyOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCx9IixOUjE1LlIzLk1ENzAwLk1QLCwxIH4gMjU2LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSk6IFkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDM1LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixiYW5kX251bSxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0uYmFuZF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0ZdVGhlIHZhbGlkIGJhbmQgbnVtYmVyIGZvciBiYW5kIHNldHRpbmcuIixVTlNJR05FRCBDSEFSLDEsLCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMF0uYmFuZF9udW0gPSAweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDAgfiAzMiwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpOiBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQorMTAzNiw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbWNjMSxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtblswfjE5XS5tY2MxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNQ0MxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5bMF0ubWNjMTogMHgwNCZsdDtCUiZndDtpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMX4xOV0ucGxtblsxfjE5XS5tY2MxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KTogWSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwMzcsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1jYzIsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW5bMH4xOV0ubWNjMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5wbG1uWzBdLm1jYzI6IDB4MDYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5bMX4xOV0ubWNjMjogMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwweDBGJmx0O0JSJmd0OzAgfiA5LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDM4LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtY2MzLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uWzB+MTldLm1jYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1DQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMF0ucGxtblswXS5tY2MzOiAweDAwJmx0O0JSJmd0O2ludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFsxfjE5XS5wbG1uWzF+MTldLm1jYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRiZsdDtCUiZndDswIH4gOSwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQorMTAzOSw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbW5jMSxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtblswfjE5XS5tbmMxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNTkMxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5bMF0ubW5jMTogMHgwZiZsdDtCUiZndDtpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMX4xOV0ucGxtblsxfjE5XS5tbmMxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwNDAsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1uYzIsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW5bMH4xOV0ubW5jMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5wbG1uWzBdLm1uYzI6IDB4MGYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5bMX4xOV0ubW5jMjogMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwweDBGJmx0O0JSJmd0OzAgfiA5LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDQxLDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtbmMzLGludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uWzB+MTldLm1uYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1OQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMF0ucGxtblswXS5tbmMzOiAweDBmJmx0O0JSJmd0O2ludmVydGVkX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFsxfjE5XS5wbG1uWzF+MTldLm1uYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDkmbHQ7QlImZ3Q7MHgwRiwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQorMTA0Miw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIscGxtbl9saXN0X2xlbixpbnZlcnRlZF9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbl9saXN0X2xlbixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl1UaGUgdmFsaWQgcGxtbiBudW0gaW4gdGhpcyBwbG1uIGdyb3VwLiIsVU5TSUdORUQgQ0hBUiwxLCwsaW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW5fbGlzdF9sZW46IDB4MDYmbHQ7QlImZ3Q7aW52ZXJ0ZWRfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzF+MTldLnBsbW5fbGlzdF9sZW46IDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDIwLCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCiAxMDQzLDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixwbG1uX251bSxpbnZlcnRlZF9saXN0LnBsbW5fbnVtLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubywiW0RPQywgTUNGXVRoZSB2YWxpZCBwbG1uIGdyb3VwIG51bWJlciBvZiBpbnZlcnRlZCBsaXN0IHNldHRpbmcuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDAgfiAyMDp2YWxpZCBQTE1OIG51bWJlciwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpOiBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA0NCw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsYmFuZCxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0uYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl13aGljaCBiYW5kIHdhbnQgdG8gZGlzYWJsZSIsVU5TSUdORUQgU0hPUlQsNjQsMzIsLCJwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH43XS5iYW5kOiB7MHgyNiwgMHgwMCwgMHgyOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCx9Jmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5iYW5kOiB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCx9IixOUjE1LlIzLk1ENzAwLk1QLCwxIH4gMjU2OkxURSBCYW5kIEluZGljYXRvciwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA0NSw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsYmFuZF9udW0scG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLmJhbmRfbnVtLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubywiW0RPQywgTUNGXVRoZSB2YWxpZCBiYW5kIG51bWJlciBmb3IgYmFuZCBzZXR0aW5nLiIsVU5TSUdORUQgQ0hBUiwxLCwscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+N10uYmFuZF9udW06IDB4MDImbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0Wzh+MTldLmJhbmRfbnVtOiAweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAgfiAzMjpEaXNhYmxlIGJhbmQgYXJyYXkgZWxlbWVudCBudW1iZXIsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KLTEwNDYsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1jYzEscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubWNjMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTUNDMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjddLnBsbW4ubWNjMTogMHgwMyZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tY2MxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEY6VW51c2VkIE1DQyBkaWdpdCZsdDtCUiZndDswIH4gOTpNQ0MgZGlnaXQsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KLTEwNDcsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1jYzIscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubWNjMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjZdLnBsbW4ubWNjMjogMHgwMSZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbN10ucGxtbi5tY2MyOiAweDAzJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5wbG1uLm1jYzI6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTUNDIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1DQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA0OCw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbWNjMyxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbi5tY2MzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNQ0MzIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzBdLnBsbW4ubWNjMzogMHgwMCZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMV0ucGxtbi5tY2MzOiAweDAxJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFsyXS5wbG1uLm1jYzM6IDB4MDImbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzNdLnBsbW4ubWNjMzogMHgwMyZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbNF0ucGxtbi5tY2MzOiAweDA0Jmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs1XS5wbG1uLm1jYzM6IDB4MDUmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzZdLnBsbW4ubWNjMzogMHgwNiZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbN10ucGxtbi5tY2MzOiAweDAwJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5wbG1uLm1jYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTUNDIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1DQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA0OSw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbW5jMSxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNTkMxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+N10ucGxtbi5tbmMxOiAweDBmJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5wbG1uLm1uYzE6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTU5DIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1OQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA1MCw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbW5jMixwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNTkMyIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+N10ucGxtbi5tbmMyOiAweDBmJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5wbG1uLm1uYzI6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTU5DIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1OQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQotMTA1MSw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsbW5jMyxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLHllcyxubyxNTkMzIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+N10ucGxtbi5tbmMzOiAweDBmJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5wbG1uLm1uYzM6IDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMHgwRjpVbnVzZWQgTU5DIGRpZ2l0Jmx0O0JSJmd0OzAgfiA5Ok1OQyBkaWdpdCwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMCZsdDtCUiZndDtbSW5pdF0gVXNlIE5WUkFNIGRlZmF1bHQgdmFsdWUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gU2V0L01ha2UgU2VydmluZyBQTE1OIHRvIGJlIG9uZSBvZiBQTE1OIGdyb3VwIGZyb20gTUNGIHNldHRpbmcuJmx0O0JSJmd0OzIuIFNldCBjdXN0b21pemF0aW9uIHNldHRpbmcgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzMuIFBvd2VyIG9uIGFuZCBjYW1wIG9uIG1hY2hpbmUgb3IgbGl2ZSBuZXR3b3JrLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtSZWdpc3RyYXRpb24gY29tcGxldGUgYW5kIFVFIHNoYWxsIGRpc2FibGUgcmVsZXZhbnQgc3VwcG9ydGVkIGJhbmQgYWNjb3JkaW5nbHkuLFBhc3MsLCwsDQorMTA0NCw2MDk0MSxOVlJBTV9FRl9FUlJDX0NVU1RPTV9ESVNBQkxFX0JBTkRfTElTVF9MSUQsIjEsMiIsYmFuZCxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0uYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sIltET0MsIE1DRl13aGljaCBiYW5kIHdhbnQgdG8gZGlzYWJsZSIsVU5TSUdORUQgU0hPUlQsNjQsMzIsLCJwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH43XS5iYW5kOiB7MHgyNiwgMHgwMCwgMHgyOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCx9Jmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs4fjE5XS5iYW5kOiB7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCx9IixOUjE1LlIzLk1ENzAwLk1QLCwxIH4gMjU2LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDQ1LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixiYW5kX251bSxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH4xOV0uYmFuZF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0ZdVGhlIHZhbGlkIGJhbmQgbnVtYmVyIGZvciBiYW5kIHNldHRpbmcuIixVTlNJR05FRCBDSEFSLDEsLCxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH43XS5iYW5kX251bTogMHgwMiZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0uYmFuZF9udW06IDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDMyLCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDQ2LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtY2MxLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uLm1jYzEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1DQzEgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH43XS5wbG1uLm1jYzE6IDB4MDMmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0Wzh+MTldLnBsbW4ubWNjMTogMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwweDBGJmx0O0JSJmd0OzAgfiA5LCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCisxMDQ3LDYwOTQxLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0RJU0FCTEVfQkFORF9MSVNUX0xJRCwiMSwyIixtY2MyLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjE5XS5wbG1uLm1jYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLE1DQzIgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCxwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMH42XS5wbG1uLm1jYzI6IDB4MDEmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzddLnBsbW4ubWNjMjogMHgwMyZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tY2MyOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwNDgsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1jYzMscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubWNjMyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTUNDMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswXS5wbG1uLm1jYzM6IDB4MDAmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzFdLnBsbW4ubWNjMzogMHgwMSZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbMl0ucGxtbi5tY2MzOiAweDAyJmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFszXS5wbG1uLm1jYzM6IDB4MDMmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzRdLnBsbW4ubWNjMzogMHgwNCZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbNV0ucGxtbi5tY2MzOiAweDA1Jmx0O0JSJmd0O3Bvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFs2XS5wbG1uLm1jYzM6IDB4MDYmbHQ7QlImZ3Q7cG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzddLnBsbW4ubWNjMzogMHgwMCZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tY2MzOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwNDksNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1uYzEscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubW5jMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTU5DMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjddLnBsbW4ubW5jMTogMHgwZiZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tbmMxOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwNTAsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1uYzIscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubW5jMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjddLnBsbW4ubW5jMjogMHgwZiZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tbmMyOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KKzEwNTEsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLG1uYzMscG9zaXRpdmVfbGlzdC5kaXNhYmxlX2JhbmRfYnlfcGxtbl9saXN0WzB+MTldLnBsbW4ubW5jMyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyx5ZXMsbm8sTU5DMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLHBvc2l0aXZlX2xpc3QuZGlzYWJsZV9iYW5kX2J5X3BsbW5fbGlzdFswfjddLnBsbW4ubW5jMzogMHgwZiZsdDtCUiZndDtwb3NpdGl2ZV9saXN0LmRpc2FibGVfYmFuZF9ieV9wbG1uX2xpc3RbOH4xOV0ucGxtbi5tbmMzOiAweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MEYmbHQ7QlImZ3Q7MCB+IDksLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAmbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldC9NYWtlIFNlcnZpbmcgUExNTiB0byBiZSBvbmUgb2YgUExNTiBncm91cCBmcm9tIE1DRiBzZXR0aW5nLiZsdDtCUiZndDsyLiBTZXQgY3VzdG9taXphdGlvbiBzZXR0aW5nIGJ5IE1DRiB0b29sLiZsdDtCUiZndDszLiBQb3dlciBvbiBhbmQgY2FtcCBvbiBtYWNoaW5lIG9yIGxpdmUgbmV0d29yay4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UmVnaXN0cmF0aW9uIGNvbXBsZXRlIGFuZCBVRSBzaGFsbCBkaXNhYmxlIHJlbGV2YW50IHN1cHBvcnRlZCBiYW5kIGFjY29yZGluZ2x5LixQYXNzLCwsLA0KIDEwNTIsNjA5NDEsTlZSQU1fRUZfRVJSQ19DVVNUT01fRElTQUJMRV9CQU5EX0xJU1RfTElELCIxLDIiLHBsbW5fbnVtLHBvc2l0aXZlX2xpc3QucGxtbl9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8seWVzLG5vLCJbRE9DLCBNQ0ZdVGhlIHZhbGlkIHBsbW4gbnVtYmVyIG9mIHBvc2l0aXZlIGxpc3Qgc2V0dGluZy4iLFVOU0lHTkVEIENIQVIsMSwsLDB4MDgsTlIxNS5SMy5NRDcwMC5NUCwsMCB+IDIwOnZhbGlkIFBMTU4gbnVtYmVyLCwsTk8sW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChZIG9yIE4gaXMgb2theSkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogSXQgZGVwZW5kcyBidXQgc2hhbGwgbm90IGxvbmdlciB0aGFuIDEwJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQvTWFrZSBTZXJ2aW5nIFBMTU4gdG8gYmUgb25lIG9mIFBMTU4gZ3JvdXAgZnJvbSBNQ0Ygc2V0dGluZy4mbHQ7QlImZ3Q7Mi4gU2V0IGN1c3RvbWl6YXRpb24gc2V0dGluZyBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7My4gUG93ZXIgb24gYW5kIGNhbXAgb24gbWFjaGluZSBvciBsaXZlIG5ldHdvcmsuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1JlZ2lzdHJhdGlvbiBjb21wbGV0ZSBhbmQgVUUgc2hhbGwgZGlzYWJsZSByZWxldmFudCBzdXBwb3J0ZWQgYmFuZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCiAxMDUzLDYwOTQzLE5WUkFNX0VGX0VSUkNfQ1VTVE9NX0ZFQVRVUkVfTElELCIxLDIiLGNhcGFiaWxpdHlfbmFtZSxjYXBfYnlfcGxtbl90YWJsZVswfjddLmNhcGFiaWxpdHlfbmFtZSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxpbmRpY2F0ZSBjYXBhYmlsaXR5IG5hbWUgdG8gdHVybiBvZmYsRU5VTSwyLCwsY2FwX2J5X3BsbW5fdGFibGVbMH43XS5jYXBhYmlsaXR5X25hbWU6IDB4ZmZmZixOUjE1LlIzLk1ENzAwLk1QLCwweDAwMDA6TlZSQU1fQ0FQQV9JTklUJmx0O0JSJmd0OzB4RkZGRjpOVlJBTV9DQVBBX01BWCZsdDtCUiZndDsweDAwMDI6TlZSQU1fQ0FQQV9TVEFOREFMT05FR05TU0xPQ0FUSU9OUjEwJmx0O0JSJmd0OzB4MDAwMTpOVlJBTV9DQVBBX0xPR0dFRE1FQVNVUkVNRU5UU0lETEVSMTAsLCxOTyxbTFRFIFByb3RvY29sIEJhc2VsaW5lXUNBUEFCSUxJVFksTW9kZW0gU3lzdGVtIFRlc3QsLCxUZXN0IGluIG1hY2hpbmUgKFkgb3IgTiBpcyBva2F5KSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpOiBJdCBkZXBlbmRzIGJ1dCBzaGFsbCBub3QgbG9uZ2VyIHRoYW4gMTAuJmx0O0JSJmd0O1tJbml0XSBVc2UgTlZSQU0gZGVmYXVsdCB2YWx1ZSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZXQgYSBjZXJ0YWluIGZlYXR1cmUgdG8gYmUgZGlzYWJsZWQgZm9yIGEgY2VydGFpbiBvciBhIGdyb3VwIFBMTU4ocykgYnkgTUNGIHRvb2wuJmx0O0JSJmd0OzIuIE9yIHNldCBhIGNlcnRhaW9uIGZlYXR1cmUgdG8gYmUgZG93bmdyYWRlZCBieSBjZWxsIG9yIGJ5IFBMTU4uJmx0O0JSJmd0OzMuIENyZWF0ZSBjb3JyZXNwb25kaW5nIGNlbGwgb3IgUExNTiB0ZXN0IGVudmlyb25tZW50LiZsdDtCUiZndDs0LiBQb3dlciBvbiBVRSBhbmQgcGVyZm9ybSByZWdpc3RyYXRpb24uJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1VFIHJlcG9ydCBFVVRSQS1DYXBhYmlsaXR5IGFjY29yZGluZ2x5LiAoY2hlY2sgaWYgYSBjZXJ0YWluIGZlYXR1cmUgaXMgZGlzYWJsZWQvZG93bmdyYWRlZCBvciBub3QpLFBhc3MsLCwsDQogMTA1NCw2MDk0MyxOVlJBTV9FRl9FUlJDX0NVU1RPTV9GRUFUVVJFX0xJRCwiMSwyIixleGNsdWRlX3BsbW5fc3RhdHVzLGNhcF9ieV9wbG1uX3RhYmxlWzB+N10uZXhjbHVkZV9wbG1uX3N0YXR1cyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxpbmRpY2F0ZSB0aGlzIHBsbW4gaXMgZXhjbHVkZWQgZm9yIHRoaXMgY2FwYWJpbGl0eSAoMHgwOiBub3QgZXhjbHVkZTsgMHgxOiBleGNsdWRlOyksRU5VTSwxLCwsY2FwX2J5X3BsbW5fdGFibGVbMH43XS5leGNsdWRlX3BsbW5fc3RhdHVzOiAweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLEtBTF9GQUxTRSZsdDtCUiZndDtLQUxfVFJVRSwsLE5PLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdQ0FQQUJJTElUWSxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoWSBvciBOIGlzIG9rYXkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IEl0IGRlcGVuZHMgYnV0IHNoYWxsIG5vdCBsb25nZXIgdGhhbiAxMC4mbHQ7QlImZ3Q7W0luaXRdIFVzZSBOVlJBTSBkZWZhdWx0IHZhbHVlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFNldCBhIGNlcnRhaW4gZmVhdHVyZSB0byBiZSBkaXNhYmxlZCBmb3IgYSBjZXJ0YWluIG9yIGEgZ3JvdXAgUExNTihzKSBieSBNQ0YgdG9vbC4mbHQ7QlImZ3Q7Mi4gT3Igc2V0IGEgY2VydGFpb24gZmVhdHVyZSB0byBiZSBkb3duZ3JhZGVkIGJ5IGNlbGwgb3IgYnkgUExNTi4mbHQ7QlImZ3Q7My4gQ3JlYXRlIGNvcnJlc3BvbmRpbmcgY2VsbCBvciBQTE1OIHRlc3QgZW52aXJvbm1lbnQuJmx0O0JSJmd0OzQuIFBvd2VyIG9uIFVFIGFuZCBwZXJmb3JtIHJlZ2lzdHJhdGlvbi4mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7VUUgcmVwb3J0IEVVVFJBLUNhcGFiaWxpdHkgYWNjb3JkaW5nbHkuIChjaGVjayBpZiBhIGNlcnRhaW4gZmVhdHVyZSBpcyBkaXNhYmxlZC9kb3duZ3JhZGVkIG9yIG5vdCksUGFzcywsLCwNCkBAIC0xMzA0LDcgKzEzMDQsNyBAQAogMTMxMSwxMzQ5LE5WUkFNX0VGX0hWT0xURV9FOTExX0xJRCwiMSwyIix0X3d3YW5fOTExLHRfd3dhbl85MTEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdVCB3d2FuIEU5MTEgdGltZXIiLFVOU0lHTkVEIElOVCw0LCwsIjB4MjgsIDB4MDAsIDB4MDAsIDB4MDAsIixOUjE1LlIzLk1ENzAwLk1QLCxhbnksLCwsSU1TLElNUywsLCxQYXNzLCwsLA0KIDEzMTIsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsYWxsb3dfZW1lcmdlbmN5X2RlcmVnLGltY19jb25maWcuYWxsb3dfZW1lcmdlbmN5X2RlcmVnLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCoqKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5nIGlzIGJhc2VkIG9uIHNwZWNpZmljIHJlcXVpcmVtZW50cyBvciBGVC9JT1QgZXhwZXJpZW5jZS4gSXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIG1vZGlmeS4gICoqKiZsdDtCUiZndDtUbyBhbGxvdyBVRSBkbyBlbWVyZ2VuY3kgZGVyZWcgb3IgZGVhY3RpdmF0ZSBlbWVyZ2VuY3kgUEROJmx0O0JSJmd0OzA6Tm90IGFsbG93IHRvIGRlcmVnaXN0cmF0aW9uIGZyb20gSU1TJmx0O0JSJmd0OzE6QWxsb3cgdG8gZGVyZWdpc3RyYXRpb24gZnJvbSBJTVMgdGhlbiBkZWFjdGl2YXRlIGVtZXJnZW5jeSBQRE4mbHQ7QlImZ3Q7MjpEZWFjdGl2YXRlIGVtZXJnZW5jeSBQRE4gd2l0aG91dCBJTVMgZGVyZWdpc3RyYXRpb24mbHQ7QlImZ3Q7LFVOU0lHTkVEIENIQVIsMSwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMDpOb3QgYWxsb3cgdG8gZGVyZWdpc3RyYXRpb24gZnJvbSBJTVMmbHQ7QlImZ3Q7MTpBbGxvdyB0byBkZXJlZ2lzdHJhdGlvbiBmcm9tIElNUyB0aGVuIGRlYWN0aXZhdGUgZW1lcmdlbmN5IFBETiZsdDtCUiZndDsyOkRlYWN0aXZhdGUgZW1lcmdlbmN5IFBETiB3aXRob3V0IElNUyBkZXJlZ2lzdHJhdGlvbiwsLCxJTVMsSU1TLCwsW0luaXRdICZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBFLTkxMSBvbiBMVEUmbHQ7QlImZ3Q7Mi4gaGFuZHVwIGNhbGwmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Y2hlY2sgT1RBIG1hc3NhZ2UmbHQ7QlImZ3Q7MDogRS1QRE4gd2lsbCBub3QgYmUgZGVhY3RpdmVkJmx0O0JSJmd0OzEvMjogRS1QRE4gd2lsbCBiZSBkZWFjdGl2ZWQsVW50ZXN0ZWQsLCwsDQogMTMxMywxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixhbGxvd19lbWVyZ2VuY3lfZGVyZWcuYWxsb3dfZW1lcmdlbmN5X2RlcmVnLGltY19jb25maWcuYWxsb3dfZW1lcmdlbmN5X2RlcmVnLmFsbG93X2VtZXJnZW5jeV9kZXJlZyxOb3QgU3VwcG9ydCxubyxubyxubyxubyxbTUNGXVRvIGFsbG93IFVFIGRvIGVtZXJnZW5jeSBkZXJlZyBvciBkZWFjdGl2YXRlIGVtZXJnZW5jeSBQRE5iaXQgMDowOk5vdCBhbGxvdyB0byBkZXJlZ2lzdHJhdGlvbiBmcm9tIElNU2JpdCAxOjE6QWxsb3cgdG8gZGVyZWdpc3RyYXRpb24gZnJvbSBJTVMgdGhlbiBkZWFjdGl2YXRlIGVtZXJnZW5jeSBQRE5iaXQgMjoyOkRlYWN0aXZhdGUgZW1lcmdlbmN5IFBETiB3aXRob3V0IElNUyBkZXJlZ2lzdHJhdGlvbixCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxJTVMsSU1TLCwsLFVudGVzdGVkLCwsLA0KLTEzMTQsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsYXR0X2ZhbWlseSxpbWNfY29uZmlnLmF0dF9mYW1pbHksTm90IFN1cHBvcnQsbm8seWVzLG5vLG5vLENvbmZpZ3VyYXRpb24gZm9yIEFUVC9Dcmlja2V0L0ZpcnN0bmV0Jmx0O0JSJmd0OyxFTlVNLDEsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLGFueTp2YWx1ZXMgYW5kIGZvcm1hdCBwbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmFtLiBkZXNjcmlwdGlvbiwsLCxJTVMsSU1TLCwsLFVudGVzdGVkLCwsLA0KKzEzMTQsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsYXR0X2ZhbWlseSxpbWNfY29uZmlnLmF0dF9mYW1pbHksTm90IFN1cHBvcnQsbm8seWVzLG5vLG5vLENvbmZpZ3VyYXRpb24gZm9yIEFUVC9Dcmlja2V0L0ZpcnN0bmV0LEVOVU0sMSwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsYW55OnZhbHVlcyBhbmQgZm9ybWF0IHBsZWFzZSByZWZlcmVuY2UgdG8gcGFyYW0uIGRlc2NyaXB0aW9uLCwsLElNUyxJTVMsLCwsVW50ZXN0ZWQsLCwsDQogMTMxNSwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixhdWRpb19iZWFyZXJfbG9zdF9yZXRhaW5fdGltZXIsaW1jX2NvbmZpZy5hdWRpb19iZWFyZXJfbG9zdF9yZXRhaW5fdGltZXIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sQXVkaW8gYmVhcmVyIHJlc2VydmUgd2FpdGluZyB0aW1lciB3aGVuIGJlYXJlciBsb3N0IG9yIHdhaXRpbmcgYmVhcmVyIGFsbG9jYXRpb24gZnJvbSBOVyB3aGlsZSAxODMgc2Vzc2lvbiBwcm9ncmVzcy4gVGhlIGNvbmZpZ3VyYXRpb24gaXMgdXNlbGVzcyB3aGlsZSBzZXR0aW5nIHRvIDAgKHdpbGwgYXBwbHkgcmVzb3VyY2VfcmV0YWluX3RpbWVyKSZsdDtCUiZndDsxMDAwOiBVRSB3aWxsIHN0YXJ0IGEgMXNlYyB0aW1lciB3YWl0aW5nIGZvciByZWdhaW5pbmcgZGVkaWNhdGVkIGJlYXJlciB3aGVuIE5XIGRlYWN0aXZhdGVkIGF1ZGlvIGJlYXJlci4gQW5kIFVFIHdpbGwgZHJvcCBJTVMgY2FsbCB3aGVuIHRpbWVyIGV4cGlyZWQgKGRvIENTRkIgaWYgcG9zc2libGUpLiZsdDtCUiZndDt1bml0OiBtcyZsdDtCUiZndDssVU5TSUdORUQgSU5ULDQsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDEwMDA6VUUgd2lsbCBzdGFydCBhIDFzZWMgdGltZXIgd2FpdGluZyBmb3IgcmVnYWluaW5nIGRlZGljYXRlZCBiZWFyZXIgd2hlbiBOVyBkZWFjdGl2YXRlZCBhdWRpbyBiZWFyZXIsLCwsSU1TLElNUywsLCJbSW5pdF0gSU1TIFJlZ2lzdGVyIG9uIDRHLCBtYWtlIFdGQyBjYWxsJmx0O0JSJmd0O1tTcGVjaWFsIGNvbmRpdGlvbl0gTlcgZG9lcyBub3QgaXNzdWUgYSBhdWRpbyBkZWRpY2F0ZWQgYmVhcmVyIG9uIExURSZsdDtCUiZndDtbVGVzdCBTdGVwXSBkaXNhYmxlIHdpZmkgYXAgdG8gdHJpZ2dlciBoYW5kb3ZlciZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSAmbHQ7QlImZ3Q7ICB3aXRoIGRlZmF1bHQgdmFsdWUgKGFwcGx5IHJlc291cmNlX3JldGFpbl90aW1lcik6IGNhbGwgd2lsbCBkcm9wIGFmdGVyIGhhbmRvdmVyIHRvIExURSB3aXRoaW4gcmVzb3VyY2VfcmV0YWluX3RpbWVyJmx0O0JSJmd0OyAgY29uZmlnIHRvIDUwMG1zIDogY2FsbCB3aWxsIGRyb3AgYWZ0ZXIgaGFuZG92ZXIgdG8gTFRFIGltbWVkaWF0ZWx5IixVbnRlc3RlZCwsLCwNCiAxMzE2LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLGF1dG9fcmVfcmVnX2Jhc2VfdGltZXIsaW1jX2NvbmZpZy5hdXRvX3JlX3JlZ19iYXNlX3RpbWVyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJGb2xsb3dlZCBieSBSRkM1NjI2IDQuNSBGbG93IFJlY292ZXJ5LiBXID0gbWluIChtYXhfdGltZSwgKGJhc2VfdGltZSAqKDIgXiBjb25zZWN1dGl2ZS1mYWlsdXJlcykpKS4mbHQ7QlImZ3Q7dW5pdDogbXMmbHQ7QlImZ3Q7IixVTlNJR05FRCBJTlQsNCwsLDMwMDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGFueTp2YWx1ZXMgYW5kIGZvcm1hdCBwbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmFtLiBkZXNjcmlwdGlvbiwsLCxJTVMsSU1TLCwscHJlcmVxdWlzdGU6IHNpbXVsYXRlIE5XIHRvIHJlcGx5IGVycm9yIHJlc3BvbnNlKGUuZyA0MDQpIHRvIFJFR0lTVEVSJmx0O0JSJmd0O3N0ZXBzOiBJTVMgcmVnaXN0cmF0aW9uJmx0O0JSJmd0Oz0mZ3Q7IGNoZWNrIGlmIDFzdCBJTVMgcmVnaXN0cmF0aW9uIHJldHJ5IGludGVydmFsIGlzIGF1dG9fcmVfcmVnX2Jhc2VfdGltZXIsVW50ZXN0ZWQsLCwsDQogMTMxNywxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixhdXRvX3JlX3JlZ19tYXhfdGltZXIsaW1jX2NvbmZpZy5hdXRvX3JlX3JlZ19tYXhfdGltZXIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIkZvbGxvd2VkIGJ5IFJGQzU2MjYgNC41IEZsb3cgUmVjb3ZlcnkuIFcgPSBtaW4gKG1heF90aW1lLCAoYmFzZV90aW1lICooMiBeIGNvbnNlY3V0aXZlLWZhaWx1cmVzKSkpLiZsdDtCUiZndDt1bml0OiBtcyZsdDtCUiZndDsiLFVOU0lHTkVEIElOVCw0LCwsMTgwMDAwMCxOUjE1LlIzLk1ENzAwLk1QLCxhbnk6dmFsdWVzIGFuZCBmb3JtYXQgcGxlYXNlIHJlZmVyZW5jZSB0byBwYXJhbS4gZGVzY3JpcHRpb24sLCwsSU1TLElNUywsLHByZXJlcXVpc3RlOiBzaW11bGF0ZSBOVyB0byByZXBseSBlcnJvciByZXNwb25zZShlLmcgNDA0KSB0byBSRUdJU1RFUiZsdDtCUiZndDtzdGVwczogSU1TIHJlZ2lzdHJhdGlvbiZsdDtCUiZndDs9Jmd0OyBjaGVjayBpZiBsb25nZXN0IElNUyByZWdpc3RyYXRpb24gcmV0cnkgaW50ZXJ2YWwgaXMgYXV0b19yZV9yZWdfbWF4X3RpbWVyLFVudGVzdGVkLCwsLA0KQEAgLTU3NjEsOCArNTc2MSw4IEBACiA1NzgyLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMl0uU0JQX0RJU0FCTEVfUExNTl9TRUxfV0hFTl9BQ0NFU1NfQkFSUkVELG1vZGVtX3NicF9jb25maWdbMl0uU0JQX0RJU0FCTEVfUExNTl9TRUxfV0hFTl9BQ0NFU1NfQkFSUkVELE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlYWxsb3cgVUUgdG8gc3RheSBhdCBhY2Nlc3MgYmFycmVkIGNlbGwgaW5zdGVhZCBvZiBzZWFyY2hpbmcgb3RoZXIgbmV0d29ya3MgZm9yIG5vcm1hbCBzZXJ2aWNlLmJpdCAwOjA6VHVybi1vZmYuIFNlYXJjaCBvdGhlciBuZXR3b3JrcyBmb3Igbm9ybWFsIHNlcnZpY2ViaXQgMToxOlR1cm4tb24uIFN0YXkgYXQgYWNjZXNzIGJhcnJlZCBjZWxsIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDA6ZGlzYWJsZSZsdDtCUiZndDsxOmVuYWJsZSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCxQYXNzLCwsLA0KIDU3ODMsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1s3OF0uU0JQX0RJU0FCTEVfUFNfQVRUQUNIX09OX05PTl9EQVRBX1NJTV8yM0csbW9kZW1fc2JwX2NvbmZpZ1s3OF0uU0JQX0RJU0FCTEVfUFNfQVRUQUNIX09OX05PTl9EQVRBX1NJTV8yM0csTm90IFN1cHBvcnQsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVNdWx0aXBsZVBTIERpc2FibGUgUFMgQXR0YWNoIG9uIG5vbiBEYXRhIFNJTSBpbiAyM0diaXQgMDowOkRpc2FibGVkYml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MDpVRSBwZXJmb3JtIFBTIGF0dGFjaCBvbiBub24gZGF0YSBTSU0mbHQ7QlImZ3Q7MHgxOklmIGVuYWJsZSBNdWx0aVBTIGRpc2FibGUgUFMgYXR0YWNoIG9uIG5vbiBkYXRhIFNJTSwsLF9fU0JQX0VOQUJMRV9QU19BVFRBQ0hfT05fTk9OX0RBVEFTSU1fT05fMjNHX18sLCwsLE5BLFVudGVzdGVkLCwsLA0KIDU3ODQsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1s4N10uU0JQX0RJU0FCTEVfUkVUUllfRk9SX1NBVF9TTVMsbW9kZW1fc2JwX2NvbmZpZ1s4N10uU0JQX0RJU0FCTEVfUkVUUllfRk9SX1NBVF9TTVMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVEaXNhYmxlIHJldHJ5IGZvciBTVEsgU01TIGFuZCBpbW1lZGlhdGVseSBzZW5kcyBURVJNSU5BTCBSRVNQT05TRWJpdCAwOjA6RGlzYWJsZS4gUmV0cnkgZm9yIHRoZSBTTVMgZnJvbSBTQVRiaXQgMToxOkVuYWJsZWQuIE5vIFJldHJ5IGZvciB0aGUgU01TIGZyb20gU0FUIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDB+MSwsLCwsLCwsLFBhc3MsLCwsDQotNTc4NSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzZdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fRVBTTE9DSSxtb2RlbV9zYnBfY29uZmlnWzZdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fRVBTTE9DSSxOb3QgU3VwcG9ydCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZURpc2FibGUgdGhlIHN0cmF0ZWd5IHRoYXQgVUUgZ2V0cyB0aGUgUlBMTU4gZnJvbSBFUFNMT0NJLmJpdCAwOjA6VHVybi1vZmYuIEFsbG93IHRvIHVzZSBSUExNTiBmcm9tIEVQU0xPQ0liaXQgMToxOlR1cm4tb24uIERpc2FibGUgUlBMTU4gZnJvbSBFUFNMT0NJIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDE6ZW5hYmxlJmx0O0JSJmd0OzA6ZGlzYWJsZSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSxVbnRlc3RlZCwsLCwNCi01Nzg2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMl0uU0JQX0RJU0FCTEVfUlBMTU5fRlJPTV9HTE9DSSxtb2RlbV9zYnBfY29uZmlnWzJdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fR0xPQ0ksTm90IFN1cHBvcnQsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVEaXNhYmxlIHRoZSBzdHJhdGVneSB0aGF0IFVFIGdldHMgdGhlIFJQTE1OIGZyb20gR0xPQ0kuYml0IDA6MDpUdXJuLW9mZi4gQWxsb3cgdG8gdXNlIFJQTE1OIGZyb20gR0xPQ0liaXQgMToxOlR1cm4tb24uIERpc2FibGUgUlBMTU4gZnJvbSBHTE9DSSIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwOmRpc2FibGUmbHQ7QlImZ3Q7MTplbmFibGUsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0sVW50ZXN0ZWQsLCwsDQorNTc4NSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzZdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fRVBTTE9DSSxtb2RlbV9zYnBfY29uZmlnWzZdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fRVBTTE9DSSxOb3QgU3VwcG9ydCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZURpc2FibGUgdGhlIHN0cmF0ZWd5IHRoYXQgVUUgZ2V0cyB0aGUgUlBMTU4gZnJvbSBFUFNMT0NJLmJpdCAwOjA6VHVybi1vZmYuIEFsbG93IHRvIHVzZSBSUExNTiBmcm9tIEVQU0xPQ0liaXQgMToxOlR1cm4tb24uIERpc2FibGUgUlBMTU4gZnJvbSBFUFNMT0NJIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDEmbHQ7QlImZ3Q7MCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSxVbnRlc3RlZCwsLCwNCis1Nzg2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMl0uU0JQX0RJU0FCTEVfUlBMTU5fRlJPTV9HTE9DSSxtb2RlbV9zYnBfY29uZmlnWzJdLlNCUF9ESVNBQkxFX1JQTE1OX0ZST01fR0xPQ0ksTm90IFN1cHBvcnQsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVEaXNhYmxlIHRoZSBzdHJhdGVneSB0aGF0IFVFIGdldHMgdGhlIFJQTE1OIGZyb20gR0xPQ0kuYml0IDA6MDpUdXJuLW9mZi4gQWxsb3cgdG8gdXNlIFJQTE1OIGZyb20gR0xPQ0liaXQgMToxOlR1cm4tb24uIERpc2FibGUgUlBMTU4gZnJvbSBHTE9DSSIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwJmx0O0JSJmd0OzEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0sVW50ZXN0ZWQsLCwsDQogNTc4Nyw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzIyXS5TQlBfRElTQUJMRV9SUExNTl9GUk9NX0hJU1RPUllfVEFCTEUsbW9kZW1fc2JwX2NvbmZpZ1syMl0uU0JQX0RJU0FCTEVfUlBMTU5fRlJPTV9ISVNUT1JZX1RBQkxFLE5vdCBTdXBwb3J0LG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlTm90IHVzZSBSUExNTiBmcm9tIGhpc3RvcnkgdGFibGUuYml0IDA6MDpUdXJuLW9mZi4gQ291bGQgdXNlIFJQTE1OIGZyb20gaGlzdG9yeSB0YWJsZWJpdCAxOjE6VHVybi1vbi4gTm90IHVzZSBSUExNTiBmcm9tIGhpc3RvcnkgdGFibGUiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMTplbmFibGUmbHQ7QlImZ3Q7MDpkaXNhYmxlLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChZL04pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdLFVudGVzdGVkLCwsLA0KIDU3ODgsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1s1XS5TQlBfRElTQUJMRV9TS0lQX05FV19GUExNTl9NQU5VQUxfUkVTRUwsbW9kZW1fc2JwX2NvbmZpZ1s1XS5TQlBfRElTQUJMRV9TS0lQX05FV19GUExNTl9NQU5VQUxfUkVTRUwsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVEaXNhYmxlIHNraXBwaW5nIG5ldyBGUExNTiB3aGVuIG1hbnVhbCByZXNlbGVjdGlvbi5iaXQgMDowOlR1cm4tb2ZmLiBTa2lwIG5ldyBGUExNTiB3aGVuIG1hbnVhbCByZXNlbGVjdGlvbmJpdCAxOjE6VHVybi1vbi4gTm90IHNraXAgbmV3ZSBGUExNTiB3aGVuIG1hbnVhbCByZXNlbGVjdGlvbiIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxOmVuYWJsZSZsdDtCUiZndDswOmRpc2FibGUsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsUGFzcywsLCwNCiA1Nzg5LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMjZdLlNCUF9ESVNBQkxFX1NNU19SRVRSWSxtb2RlbV9zYnBfY29uZmlnWzI2XS5TQlBfRElTQUJMRV9TTVNfUkVUUlksT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVEaXNhYmxlIE1PIFNNUyByZXRyeWJpdCAwOjA6RW5hYmxlIE1PIFNNUyByZXRyeWJpdCAxOjE6RGlzYWJsZSBNTyBTTVMgcmV0cnkiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMH4xLCwsLCwsLCwsUGFzcywsLCwNCkBAIC02MTAxLDcgKzYxMDEsNyBAQAogNjEyMiw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzM1XS5TQlBfT05FX0FQTl9GT1JfT05FX1BETixtb2RlbV9zYnBfY29uZmlnWzM1XS5TQlBfT05FX0FQTl9GT1JfT05FX1BETixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZUNvbnRyb2wgd2hldGhlciB0byBhbGxvdyBVRSB0byBlc3RhYmxpc2ggbXVsdGlwbGUgUEROcyB1c2luZyB0aGUgc2FtZSBBUE5iaXQgMDowOlVFIGlzIGFsbG93ZWQgdG8gZXN0YWJsaXNoIG11bHRpcGxlIFBETiBjb25uZWN0aW9ucyB1c2luZyB0aGUgc2FtZSBBUE4uYml0IDE6MTpVRSBpcyBub3QgYWxsb3dlZCB0byBlc3RhYmxpc2ggbXVsdGlwbGUgUEROIGNvbm5lY3Rpb25zIHVzaW5nIHRoZSBzYW1lIEFQTi4iLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMHgwMTpEaXNhYmxlZCZsdDtCUiZndDsweDAwOkVuYWJsZWQsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxMZWdhY3kgRmVhdHVyZSxQYXNzLCwsLA0KIDYxMjMsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1s3Ml0uU0JQX09OTFlfQUREX0ZUQUlfVE9fRU1DX0xJU1QsbW9kZW1fc2JwX2NvbmZpZ1s3Ml0uU0JQX09OTFlfQUREX0ZUQUlfVE9fRU1DX0xJU1QsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVPbmx5IGFkZCBGVEFJIHRvIGVtZXJnZW5jeSBGVEFJIGxpc3RzIGlmIEZUQUkgbmVlZCB0byBiZSBhZGRlZCBkdXJpbmcgZW1lcmdlbmN5Yml0IDA6MDpOb3QgZW5hYmxlZGJpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwxOk9ubHkgYWRkIEZUQUkgdG8gZW1lcmdlbmN5IEZUQUkgbGlzdC4mbHQ7QlImZ3Q7MDpBZGQgRlRBSSB0byBib3RoIGVtZXJnZW5jeSBhbmQgbm9ybWFsIEZUQUkgbGlzdC4uLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTkEsUGFzcywsLCwNCiA2MTI0LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMF0uU0JQX09PU19FQVJMWV9JTkQsbW9kZW1fc2JwX2NvbmZpZ1swXS5TQlBfT09TX0VBUkxZX0lORCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZUNvbmZpZ3VyZSBlYXJseSBPT1MgaW5kaWNhdGlvbiByZXBvcnRpbmdiaXQgMDowOkVhcmx5IE9PUyBpbmRpY2F0aW9uIHJlcG9ydGluZyBpcyBkaXNhYmxlZGJpdCAxOjE6RWFybHkgT09TIGluZGljYXRpb24gcmVwb3J0aW5nIGlzIGVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMTpNb2RlbSByZXBvcnQgT3V0IG9mIHNlcnZpY2UgaW1tZWRpYXRlbHkgYWZ0ZXIgbG9zcyBvZiAgY292ZXJhZ2UmbHQ7QlImZ3Q7MDpBZnRlciBvdXQgb2Ygc2VydmljZSAgbG93ZXIgbGF5ZXIgcGVyZm9ybSBzZWFyY2ggaWYgbm90IGNlbGwgZm91bmQgdGhlbiByZXBvcnQgTW9kZW0gcmVwb3J0IE91dCBvZiBzZXJ2aWNlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAgbWlucyAmbHQ7QlImZ3Q7W0luaXRdIFBlcmZyb20gT09TICZsdDtCUiZndDtbVGVzdCBTdGVwXSBVRSBtb3ZlIHRvIE9PUyZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBNb2RlbSByZXBvcnQgT09TIHRvIEFQLFBhc3MsLCwsDQotNjEyNSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzEyXS5TQlBfT1AwMV9BVF9TVVBQT1JULG1vZGVtX3NicF9jb25maWdbMTJdLlNCUF9PUDAxX0FUX1NVUFBPUlQsT1RBLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJldGVzdCBBVCBjb21tYW5kcyBmb3IgT1AwMWJpdCAwOjA6Tm90IFN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDE6ZW5hYmxlJmx0O0JSJmd0OzA6ZGlzYWJsZSwsLERlcGVuZGVudCAgdG8gY29tcGlsZSBvcHRpb24gIF9fT1AwMV9fLCwsLCwiW0luaXRdICZsdDtCUiZndDtsb2FkOiBvcDAxIGxvYWQgJmx0O0JSJmd0O3NpbSBjYXJkOkNNQ0MgY2FyZCZsdDtCUiZndDsgICBbVGVzdCBTdGVwXSAmbHQ7QlImZ3Q7c2VuZCBhdCBjb21tYW5kIHN1Y2ggYXMgQVReRFNDSSxBVF5NVFY/IHRvIG1vZGVtJmx0O0JSJmd0OyAgIFtFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O21vZGVtIGNhbiBoYW5kbGUgQVQgY29tbWFuZCIsUGFzcywsLCwNCis2MTI1LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTJdLlNCUF9PUDAxX0FUX1NVUFBPUlQsbW9kZW1fc2JwX2NvbmZpZ1sxMl0uU0JQX09QMDFfQVRfU1VQUE9SVCxPVEEsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmV0ZXN0IEFUIGNvbW1hbmRzIGZvciBPUDAxYml0IDA6MDpOb3QgU3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMTplbmFibGUmbHQ7QlImZ3Q7MDpkaXNhYmxlLCwsRGVwZW5kZW50ICB0byBjb21waWxlIG9wdGlvbiAgX19PUDAxX18sTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiW0luaXRdICZsdDtCUiZndDtsb2FkOiBvcDAxIGxvYWQgJmx0O0JSJmd0O3NpbSBjYXJkOkNNQ0MgY2FyZCZsdDtCUiZndDsgICBbVGVzdCBTdGVwXSAmbHQ7QlImZ3Q7c2VuZCBhdCBjb21tYW5kIHN1Y2ggYXMgQVReRFNDSSxBVF5NVFY/IHRvIG1vZGVtJmx0O0JSJmd0OyAgIFtFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O21vZGVtIGNhbiBoYW5kbGUgQVQgY29tbWFuZCIsUGFzcywsLCwNCiA2MTI2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTFdLlNCUF9PUDAxX0NPTU1PTl9GRUFUVVJFLG1vZGVtX3NicF9jb25maWdbMTFdLlNCUF9PUDAxX0NPTU1PTl9GRUFUVVJFLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlVGhpcyBmZWF0dXJlIG9wdGlvbiBpcyB1c2VkIHRvIGVuYWJsZSBDTUNDIChPUDAxKSBtaXNjZWxsYW5lb3VzIGNvbW1vbiBmZWF0dXJlcyB0byBwYXNzIENNQ0MgY2VydGlmaWNhdGVzYml0IDA6MDpOb3QgU3VwcG9ydGVkIE9QMDEgQ29tbW9uIEZlYXR1cmViaXQgMToxOlN1cHBvcnRlZCBPUDAxIENvbW1vbiBGZWF0dXJlIixCSVQsMSwsMSwwLE5SMTUuUjMuTUQ3MDAuTVAsLDE6ZW5hYmxlJmx0O0JSJmd0OzA6ZGlzYWJsZSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWSkmbHQ7QlImZ3Q7Jmx0O0JSJmd0O1J1biBQQ1QgcmVncmVzc2lvbiB0ZXN0LFBhc3MsLCwsDQogNjEyNyw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzVdLlNCUF9PUDAxX1JPQU1JTkdfUkFUX09SREVSLG1vZGVtX3NicF9jb25maWdbNV0uU0JQX09QMDFfUk9BTUlOR19SQVRfT1JERVIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmVPYnNvbGV0ZS4gVGhpcyBTQlAgaXMgbm90IHVzZWQgYW55bW9yZS5iaXQgMDowOk4vQWJpdCAxOjE6Ti9BIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb3ZlcmVkIGJ5IFNCUCBmcmFtZXdvcmsgVVQvSVQgcmVzdWx0LFBhc3MsLCwsDQogNjEyOCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzY1XS5TQlBfT1AwMV9TSU1fTE9DSyxtb2RlbV9zYnBfY29uZmlnWzY1XS5TQlBfT1AwMV9TSU1fTE9DSyxOb3QgU3VwcG9ydCxubyxubyxubyxubywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlQ2hlY2sgY2FyZCB0eXBlIGFuZCByZXN0cmljdCBub24tY21jYyBjYXJkJmFwb3M7cyBjYXBhYmlsaXR5Yml0IDA6MDpEaXNhYmxlZGJpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwweDAwLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIm5vdCBzdXBwb3J0IE1DRiwgbm8gbmVlZCB0byB0ZXN0IixVbnRlc3RlZCwsLCwNCkBAIC03Mjc4LDE2ICs3Mjc4LDE2IEBACiA3MzE3LDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIixyZWNvbW1lbmRfYml0X3JhdGVfcXVlcnlfcjE0LnJlY29tbWVuZF9iaXRfcmF0ZV9xdWVyeV9yMTQsbW10ZWxfcGFyYW1fcjE0LnJlY29tbWVuZF9iaXRfcmF0ZV9xdWVyeV9yMTQucmVjb21tZW5kX2JpdF9yYXRlX3F1ZXJ5X3IxNCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBmaWVsZCBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIHRoZSBiaXQgcmF0ZSByZWNvbW1lbmRhdGlvbiBxdWVyeSBtZXNzYWdlIGZyb20gdGhlIFVFIHRvIHRoZSBlTkIgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMyMSwgY2xhdXNlIDYuMS4zLjEzLiBUaGlzIGZpZWxkIGlzIG9ubHkgYXBwbGljYWJsZSBpZiB0aGUgVUUgc3VwcG9ydHMgcmVjb21tZW5kZWRCaXRSYXRlLXIxNC5Vc2UgMCBvciAxIHRvIGluZGljYXRlYml0IDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCw4LCw4LDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KIDczMTgsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHJlY29tbWVuZF9iaXRfcmF0ZV9yMTQsbW10ZWxfcGFyYW1fcjE0LnJlY29tbWVuZF9iaXRfcmF0ZV9yMTQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgZmllbGQgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyB0aGUgYml0IHJhdGUgcmVjb21tZW5kYXRpb24gbWVzc2FnZSBmcm9tIHRoZSBlTkIgdG8gdGhlIFVFIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMjEsIGNsYXVzZSA2LjEuMy4xMy4iLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KIDczMTksNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHJlY29tbWVuZF9iaXRfcmF0ZV9yMTQucmVjb21tZW5kX2JpdF9yYXRlX3IxNCxtbXRlbF9wYXJhbV9yMTQucmVjb21tZW5kX2JpdF9yYXRlX3IxNC5yZWNvbW1lbmRfYml0X3JhdGVfcjE0LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIGZpZWxkIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgdGhlIGJpdCByYXRlIHJlY29tbWVuZGF0aW9uIG1lc3NhZ2UgZnJvbSB0aGUgZU5CIHRvIHRoZSBVRSBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzIxLCBjbGF1c2UgNi4xLjMuMTMuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLElPRFQgd2l0aCBWelcgaXMgc3RpbGwgb25nb2luZy4gd2FpdGluZyBmb3IgVnpXIHRvIG1vZGlmeSB0aGVpciBzcGVjIGFuZCB0aGVuIFJuUyBoYXMgdG8gY2hhbmdlIHRoZWlyIHNjcmlwdHMgYmFzZWQgb24gbW9kaWZpZWQgVnpXIHNwZWMuIEFmdGVyIHRoYXQgSU9EVCB3aWxsIHJlc3VtZS4sVW50ZXN0ZWQsLCwsDQotNzMyMCw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBGREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRlci1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCxVbnRlc3RlZCwsLCwNCi03MzIxLDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIixpbnRlckZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZC5pbnRlckZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxuZWlfY2VsbF9zaV9hY3FfcjkuaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQuaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgaW4gTFRFIEZERCBtb2RlLCB1cG9uIGNvbmZpZ3VyYXRpb24gb2Ygc2ktUmVxdWVzdEZvckhPIGJ5IHRoZSBuZXR3b3JrLCBhY3F1aXNpdGlvbiBvZiByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgbmVpZ2hib3VyaW5nIGludGVyLWZyZXF1ZW5jeSBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS5Vc2UgMCBvciAxIHRvIGluZGljYXRlYml0IDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCw4LCw4LDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KLTczMjIsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLGludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLG5laV9jZWxsX3NpX2FjcV9yOS5pbnRlckZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgVEREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgaW50ZXItZnJlcXVlbmN5IGNlbGwgYnkgcmVhZGluZyB0aGUgU0kgb2YgdGhlIG5laWdoYm91cmluZyBjZWxsIHVzaW5nIGF1dG9ub21vdXMgZ2FwcyBhbmQgcmVwb3J0aW5nIHRoZSBhY3F1aXJlZCBpbmZvcm1hdGlvbiB0byB0aGUgbmV0d29yayBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzMxLiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsVW50ZXN0ZWQsLCwsDQotNzMyMyw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQuaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBUREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRlci1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCxVbnRlc3RlZCwsLCwNCi03MzI0LDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIixpbnRyYUZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxuZWlfY2VsbF9zaV9hY3FfcjkuaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgaW4gTFRFIEZERCBtb2RlLCB1cG9uIGNvbmZpZ3VyYXRpb24gb2Ygc2ktUmVxdWVzdEZvckhPIGJ5IHRoZSBuZXR3b3JrLCBhY3F1aXNpdGlvbiBvZiByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgbmVpZ2hib3VyaW5nIGludHJhLWZyZXF1ZW5jeSBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS4iLFVOU0lHTkVEIENIQVIsMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KLTczMjUsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLGludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLG5laV9jZWxsX3NpX2FjcV9yOS5pbnRyYUZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZC5pbnRyYUZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgRkREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgaW50cmEtZnJlcXVlbmN5IGNlbGwgYnkgcmVhZGluZyB0aGUgU0kgb2YgdGhlIG5laWdoYm91cmluZyBjZWxsIHVzaW5nIGF1dG9ub21vdXMgZ2FwcyBhbmQgcmVwb3J0aW5nIHRoZSBhY3F1aXJlZCBpbmZvcm1hdGlvbiB0byB0aGUgbmV0d29yayBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzMxLlVzZSAwIG9yIDEgdG8gaW5kaWNhdGViaXQgMDowOk5vdCBzdXBwb3J0ZWRiaXQgMToxOlN1cHBvcnRlZCIsQklULDgsLDgsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsVW50ZXN0ZWQsLCwsDQotNzMyNiw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBUREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRyYS1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCxVbnRlc3RlZCwsLCwNCi03MzI3LDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIixpbnRyYUZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZC5pbnRyYUZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZCxuZWlfY2VsbF9zaV9hY3FfcjkuaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQuaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgaW4gTFRFIFRERCBtb2RlLCB1cG9uIGNvbmZpZ3VyYXRpb24gb2Ygc2ktUmVxdWVzdEZvckhPIGJ5IHRoZSBuZXR3b3JrLCBhY3F1aXNpdGlvbiBvZiByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgbmVpZ2hib3VyaW5nIGludHJhLWZyZXF1ZW5jeSBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS5Vc2UgMCBvciAxIHRvIGluZGljYXRlYml0IDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCw4LCw4LDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KLTczMjgsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLG5laV9jZWxsX3NpX2FjcV9yOS51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgRkREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgVU1UUyBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS4iLFVOU0lHTkVEIENIQVIsMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KLTczMjksNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLnV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLG5laV9jZWxsX3NpX2FjcV9yOS51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZC51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgRkREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgVU1UUyBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS5Vc2UgMCBvciAxIHRvIGluZGljYXRlYml0IDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCw4LCw4LDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KKzczMjAsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLGludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLG5laV9jZWxsX3NpX2FjcV9yOS5pbnRlckZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgRkREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgaW50ZXItZnJlcXVlbmN5IGNlbGwgYnkgcmVhZGluZyB0aGUgU0kgb2YgdGhlIG5laWdoYm91cmluZyBjZWxsIHVzaW5nIGF1dG9ub21vdXMgZ2FwcyBhbmQgcmVwb3J0aW5nIHRoZSBhY3F1aXJlZCBpbmZvcm1hdGlvbiB0byB0aGUgbmV0d29yayBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzMxLiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwxLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsY29uZmlndXJlIHRoaXMgcGFyYW0gaW4gTUNGIHRvb2wgYW5kIHB1c2ggdG8gVUUuLFBhc3MsLCwsDQorNzMyMSw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQuaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBGREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRlci1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgdGhlIHZhbHVlIGluIE1DRiB0b29sIGFuZCBwdXNoIHRoZSBpbmZvIGluIFVFLixQYXNzLCwsLA0KKzczMjIsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLGludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLG5laV9jZWxsX3NpX2FjcV9yOS5pbnRlckZyZXFTSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgVEREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgaW50ZXItZnJlcXVlbmN5IGNlbGwgYnkgcmVhZGluZyB0aGUgU0kgb2YgdGhlIG5laWdoYm91cmluZyBjZWxsIHVzaW5nIGF1dG9ub21vdXMgZ2FwcyBhbmQgcmVwb3J0aW5nIHRoZSBhY3F1aXJlZCBpbmZvcm1hdGlvbiB0byB0aGUgbmV0d29yayBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzMxLiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwxLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsY29uZmlndXJlIGluIE1DRiB0b29sIGFuZCBwdXNoIHRvIFVFLFBhc3MsLCwsDQorNzMyMyw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQuaW50ZXJGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLmludGVyRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBUREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRlci1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgaW4gTUNGIHRvb2wgYW5kIHB1c2ggdG8gVUUsVW50ZXN0ZWQsLCwsDQorNzMyNCw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBGREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRyYS1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgdGhpcyBpbiBNQ0YgdG9vbCBhbmQgcHVzaCB0byBVRS4sVW50ZXN0ZWQsLCwsDQorNzMyNSw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQuaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBGREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRyYS1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgdGhpcyBwYXJhbSBpbiBNQ0YgdG9vbCBhbmQgcHVzaCB0byBVRS4sVW50ZXN0ZWQsLCwsDQorNzMyNiw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBUREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRyYS1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgaW4gTUNGIHRvb2wgYW5kIHB1c2ggdG8gVUUsVW50ZXN0ZWQsLCwsDQorNzMyNyw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQuaW50cmFGcmVxU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsbmVpX2NlbGxfc2lfYWNxX3I5LmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLmludHJhRnJlcVNJX0FjcXVpc2l0aW9uRm9ySE9fcjlfdGRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBUREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBpbnRyYS1mcmVxdWVuY3kgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgdmFsdWUgaW4gTUNGIHRvb2wgYW5kIHB1c2ggdG8gVUUsVW50ZXN0ZWQsLCwsDQorNzMyOCw2MDkzNSxOVlJBTV9FRl9VRV9FVVRSQV9DQVBfQ1NGQl9MSUQsIjEsMiIsdXRyYW5fU0lfQWNxdWlzaXRpb25Gb3JIT19yOV9mZGQsbmVpX2NlbGxfc2lfYWNxX3I5LnV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIGluIExURSBGREQgbW9kZSwgdXBvbiBjb25maWd1cmF0aW9uIG9mIHNpLVJlcXVlc3RGb3JITyBieSB0aGUgbmV0d29yaywgYWNxdWlzaXRpb24gb2YgcmVsZXZhbnQgaW5mb3JtYXRpb24gZnJvbSBhIG5laWdoYm91cmluZyBVTVRTIGNlbGwgYnkgcmVhZGluZyB0aGUgU0kgb2YgdGhlIG5laWdoYm91cmluZyBjZWxsIHVzaW5nIGF1dG9ub21vdXMgZ2FwcyBhbmQgcmVwb3J0aW5nIHRoZSBhY3F1aXJlZCBpbmZvcm1hdGlvbiB0byB0aGUgbmV0d29yayBhcyBzcGVjaWZpZWQgaW4gVFMgMzYuMzMxLiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwxLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsY29uZmlndXJlIHZhbHVlIGluIE1DRiB0b29sIGFuZCBwdXNoIHRvIFVFLFVudGVzdGVkLCwsLA0KKzczMjksNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLnV0cmFuX1NJX0FjcXVpc2l0aW9uRm9ySE9fcjlfZmRkLG5laV9jZWxsX3NpX2FjcV9yOS51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZC51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X2ZkZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3aGV0aGVyIHRoZSBVRSBzdXBwb3J0cyBpbiBMVEUgRkREIG1vZGUsIHVwb24gY29uZmlndXJhdGlvbiBvZiBzaS1SZXF1ZXN0Rm9ySE8gYnkgdGhlIG5ldHdvcmssIGFjcXVpc2l0aW9uIG9mIHJlbGV2YW50IGluZm9ybWF0aW9uIGZyb20gYSBuZWlnaGJvdXJpbmcgVU1UUyBjZWxsIGJ5IHJlYWRpbmcgdGhlIFNJIG9mIHRoZSBuZWlnaGJvdXJpbmcgY2VsbCB1c2luZyBhdXRvbm9tb3VzIGdhcHMgYW5kIHJlcG9ydGluZyB0aGUgYWNxdWlyZWQgaW5mb3JtYXRpb24gdG8gdGhlIG5ldHdvcmsgYXMgc3BlY2lmaWVkIGluIFRTIDM2LjMzMS5Vc2UgMCBvciAxIHRvIGluZGljYXRlYml0IDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQiLEJJVCw4LCw4LDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsMSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLGNvbmZpZ3VyZSBpbiBNQ0YgdG9vbCBhbmQgcHVzaCB0byBVRSxVbnRlc3RlZCwsLCwNCiA3MzMwLDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIix1dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZCxuZWlfY2VsbF9zaV9hY3FfcjkudXRyYW5fU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgaW4gTFRFIFRERCBtb2RlLCB1cG9uIGNvbmZpZ3VyYXRpb24gb2Ygc2ktUmVxdWVzdEZvckhPIGJ5IHRoZSBuZXR3b3JrLCBhY3F1aXNpdGlvbiBvZiByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgbmVpZ2hib3VyaW5nIFVNVFMgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuIixVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxzZXQgdGhlIE1DRiBmZWF0dXJlIGZvciB0aGlzIHBhcmFtZXRlcixVbnRlc3RlZCwsLCwNCiA3MzMxLDYwOTM1LE5WUkFNX0VGX1VFX0VVVFJBX0NBUF9DU0ZCX0xJRCwiMSwyIix1dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZC51dHJhbl9TSV9BY3F1aXNpdGlvbkZvckhPX3I5X3RkZCxuZWlfY2VsbF9zaV9hY3FfcjkudXRyYW5fU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQudXRyYW5fU0lfQWNxdWlzaXRpb25Gb3JIT19yOV90ZGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2hldGhlciB0aGUgVUUgc3VwcG9ydHMgaW4gTFRFIFRERCBtb2RlLCB1cG9uIGNvbmZpZ3VyYXRpb24gb2Ygc2ktUmVxdWVzdEZvckhPIGJ5IHRoZSBuZXR3b3JrLCBhY3F1aXNpdGlvbiBvZiByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgbmVpZ2hib3VyaW5nIFVNVFMgY2VsbCBieSByZWFkaW5nIHRoZSBTSSBvZiB0aGUgbmVpZ2hib3VyaW5nIGNlbGwgdXNpbmcgYXV0b25vbW91cyBnYXBzIGFuZCByZXBvcnRpbmcgdGhlIGFjcXVpcmVkIGluZm9ybWF0aW9uIHRvIHRoZSBuZXR3b3JrIGFzIHNwZWNpZmllZCBpbiBUUyAzNi4zMzEuVXNlIDAgb3IgMSB0byBpbmRpY2F0ZWJpdCAwOjA6Tm90IHN1cHBvcnRlZGJpdCAxOjE6U3VwcG9ydGVkIixCSVQsOCwsOCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDA6MDpOb3Qgc3VwcG9ydGVkYml0IDE6MTpTdXBwb3J0ZWQsLCwsW0xURSBQcm90b2NvbCBCYXNlbGluZV1DQVBBQklMSVRZLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lOiBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6ICAxMCZsdDtCUiZndDtJbml0OiBmb2xsb3cgTUNGIFJEIElUIGluaXRpYWwgc3RlcHMmbHQ7QlImZ3Q7VGVzdCBTdGVwOiBmb2xsb3cgTUNGIFJESVQgU09QICZsdDtCUiZndDsgICAgY2hhbmdlIHZhbHVlIGZyb20gMCB0byAxJmx0O0JSJmd0OyAgICBjaGFuZ2UgdmFsdWUgZnJvbSAxIHRvIDAmbHQ7QlImZ3Q7RXhwZWN0ZWQgUmVzdWx0OiBWYWx1ZSBjaGFuZ2VzIGluIE5WUkFNLFVudGVzdGVkLCwsLA0KIDczMzIsNjA5MzUsTlZSQU1fRUZfVUVfRVVUUkFfQ0FQX0NTRkJfTElELCIxLDIiLHJlcG9ydENHSV9OUl9FTl9EQ19yMTUsbmVpX2NlbGxfc2lfYWNxX3YxNTMwLnJlcG9ydENHSV9OUl9FTl9EQ19yMTUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sSW5kaWNhdGVzIHdoZXRoZXIgdGhlIFVFIHN1cHBvcnRzIEludGVyLVJBVCByZXBvcnQgQ0dJIHByb2NlZHVyZSB0b3dhcmRzIE5SIGNlbGwgd2hlbiBpdCBpcyBjb25maWd1cmVkIHdpdGggRU4tREMuLFVOU0lHTkVEIENIQVIsMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsYml0OjAvMSwsLCxPcHRpb24gMyw1RyBBcmNoaXRlY3R1cmUsLCxUZXN0IGluIG1hY2hpbmU6IE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogIDEwJmx0O0JSJmd0O0luaXQ6IGZvbGxvdyBNQ0YgUkQgSVQgaW5pdGlhbCBzdGVwcyZsdDtCUiZndDtUZXN0IFN0ZXA6IGZvbGxvdyBNQ0YgUkRJVCBTT1AgJmx0O0JSJmd0OyAgICBjaGFuZ2UgdmFsdWUgZnJvbSAwIHRvIDEmbHQ7QlImZ3Q7ICAgIGNoYW5nZSB2YWx1ZSBmcm9tIDEgdG8gMCZsdDtCUiZndDtFeHBlY3RlZCBSZXN1bHQ6IFZhbHVlIGNoYW5nZXMgaW4gTlZSQU0sUGFzcywsLCwNCkBAIC04MTA2LDExICs4MTA2LDExIEBACiA4MTYyLDI0OTYsTlZSQU1fRUZfWENBUF9QUk9GSUxFX0xJRCwiMSwyIix4Y2FwX3Byb3RvY29sLHhjYXBfaW5mby54Y2FwX3Byb3RvY29sLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFhDQVAgU2VydmVyIFByb3RvY29sIChTdHJpbmcgZm9ybWF0KSZsdDtCUiZndDsmcXVvdDtodHRwJnF1b3Q7OnBsYWluIGh0dHAmbHQ7QlImZ3Q7JnF1b3Q7aHR0cHMmcXVvdDs6aHR0cC90bHMmbHQ7QlImZ3Q7LFNUUklORyw2LDYsLCZxdW90O2h0dHAmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsYW55OnZhbHVlcyBhbmQgZm9ybWF0IHBsZWFzZSByZWZlcmVuY2UgdG8gcGFyYW0uIGRlc2NyaXB0aW9uLCwsWENBUF9TVVBQT1JULFhDQVAgSU1TLVNTLFhDQVAsLCxUaGlzIHRlc3Qgb25seSBjYW4gZG8gaW4gUkQgSVQgZnJvbSBjaGVjayBVUkwuJmx0O0JSJmd0OyZsdDtCUiZndDtUZXN0IGluIG1hY2hpbmUgKFkvTikgIE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAgNSZsdDtCUiZndDsgICBbSW5pdF0gSW5zZXJ0IGEgc3VwcG9ydGVkIFhDQVAgU0lNIGNhcmQmbHQ7QlImZ3Q7ICAgW1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7ICAgICAgICAgICAgMS4gQ29uZmlnIHRvIGh0dHAgb3IgaHR0cHMgKGRlcGVuZCBvbiB3aGljaCBTSU0gY2FyZCkmbHQ7QlImZ3Q7ICAgICAgICAgICAgMi4gRXhlY3V0ZSBjYWxsIGZvcndhcmRpbmcmbHQ7QlImZ3Q7ICAgW0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7ICAgICAgICAgICAgY2hlY2sgVVJMIGhhcyBodHRwOi8vIG9yIGh0dHBzOi8vLFBhc3MsLCwsDQogODE2MywyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIseGNhcF9yZXRyeV90aW1lcyx4Y2FwX2luZm8ueGNhcF9yZXRyeV90aW1lcyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxYQ0FQIEhUVFAgQ29ubmVjdGlvbiBSZXRyeSBUaW1lcyZsdDtCUiZndDswfjI1NTp1bnNpZ25lZCBpbnRlZ2VyIGZvciByZXRyeSB0aW1lcyZsdDtCUiZndDssVU5TSUdORUQgQ0hBUiwxLCwsMSxOUjE1LlIzLk1ENzAwLk1QLCxhbnk6dmFsdWVzIGFuZCBmb3JtYXQgcGxlYXNlIHJlZmVyZW5jZSB0byBwYXJhbS4gZGVzY3JpcHRpb24sLCxYQ0FQX1NVUFBPUlQsWENBUCBJTVMtU1MsWENBUCwsLFRoaXMgdGVzdCBvbmx5IGNhbiBkbyBpbiBSRCBJVCBmcm9tIGNoZWNrIHJldHJ5IHRpbWVzIGluIGxvZy4mbHQ7QlImZ3Q7Jmx0O0JSJmd0O1Rlc3QgaW4gbWFjaGluZSAoWS9OKSAgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpICA1Jmx0O0JSJmd0OyAgIFtJbml0XSBJbnNlcnQgYSBzdXBwb3J0ZWQgWENBUCBTSU0gY2FyZCZsdDtCUiZndDsgICBbVGVzdCBTdGVwXSZsdDtCUiZndDsgICAgICAgICAgICAxLiBDb25maWcgdG8gMyZsdDtCUiZndDsgICAgICAgICAgICAyLiBFeGVjdXRlIGNhbGwgZm9yd2FyZGluZyZsdDtCUiZndDsgICBbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDsgICAgICAgICAgICBjaGVjayByZXRyeSB0aW1lcyBpbiBsb2cgaXMgMyxQYXNzLCwsLA0KIDgxNjQsMjQ5NixOVlJBTV9FRl9YQ0FQX1BST0ZJTEVfTElELCIxLDIiLHhjYXBfdXJsLHhjYXBfaW5mby54Y2FwX3VybCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxYQ0FQIFNlcnZlciBVUkwgKFN0cmluZyBmb3JtYXQpJmx0O0JSJmd0O0Zvcm1hdCA9IHtmcWRufXx7aXB9Jmx0O0JSJmd0O0B7ZnFkbn0gPSAgWENBUCBGUUROJmx0O0JSJmd0O0B7aXB9ID0gWENBUCBJUCBhZGRyZXNzJmx0O0JSJmd0O2FueTpzdHJpbmcgZm9yIHRoYXQgZm9sbG93cyBjYXJyaWVyIHhjYXAgc2VydmVyIHVybCZsdDtCUiZndDssU1RSSU5HLDEyOCwxMjgsLCZxdW90OyZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCxhbnk6dmFsdWVzIGFuZCBmb3JtYXQgcGxlYXNlIHJlZmVyZW5jZSB0byBwYXJhbS4gZGVzY3JpcHRpb24sLCxYQ0FQX1NVUFBPUlQsWENBUCBJTVMtU1MsWENBUCwsLFRoaXMgdGVzdCBvbmx5IGNhbiBkbyBpbiBSRCBJVCBmcm9tIGNoZWNrIFhDQVAgVVJMIGluIGxvd2VyIGxheWVyLiZsdDtCUiZndDsmbHQ7QlImZ3Q7VGVzdCBpbiBtYWNoaW5lIChZL04pICBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgIDUmbHQ7QlImZ3Q7ICAgW0luaXRdIEluc2VydCBhIHN1cHBvcnRlZCBYQ0FQIFNJTSBjYXJkJmx0O0JSJmd0OyAgIFtUZXN0IFN0ZXBdJmx0O0JSJmd0OyAgICAgICAgICAgIDEuIENvbmZpZyB0byAmcXVvdDt4Y2FwLXRlc3QtdXJsJnF1b3Q7Jmx0O0JSJmd0OyAgICAgICAgICAgIDIuIEV4ZWN1dGUgY2FsbCBmb3J3YXJkaW5nJmx0O0JSJmd0OyAgIFtFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0OyAgICAgICAgICAgIGNoZWNrIHRoZSBYQ0FQIFVSTCBpbiBsb3dlciBsYXllciAoSFRUUCkgaXMgJnF1b3Q7eGNhcC10ZXN0LXJ1bCZxdW90OyxQYXNzLCwsLA0KLTgxNjUsNTgxMTIsTlZSQU1fRUZfQ0wxX0NVU1RfUEFSQU1fTElELDEsYmFuZF9jbGFzcyxiYW5kX3N1cHBvcnRbMH40XS5iYW5kX2NsYXNzLE9UQSxubyxubyxubyxubyxiYW5kIGNsYXNzIGluZm8sRU5VTSwxLCwsIk1UNjg4NSA6IDAsMjEsMjEsMjEsMjEmbHQ7QlImZ3Q7TVQ2ODczIDogMCwxLDEwLDIxLDIxJmx0O0JSJmd0O01UNjg1MyA6IDAsMjEsMjEsMjEsMjEiLE5SMTUuUjMuTUQ3MDAuTVAsLDA6QkFORF9DTEFTU18wJmx0O0JSJmd0OzIxOkJBRE5fQ0xBU1NfTUFYJmx0O0JSJmd0OzE6QkFORF9DQUxTU18xJmx0O0JSJmd0OzEwOkJBTkRfQ0xBU1NfMTAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0sUGFzcywsLCwNCi04MTY2LDU4MTEyLE5WUkFNX0VGX0NMMV9DVVNUX1BBUkFNX0xJRCwxLGlzX3N1cHBvcnRlZCxiYW5kX3N1cHBvcnRbMH40XS5pc19zdXBwb3J0ZWQsT1RBLG5vLG5vLG5vLG5vLGJhbmQgc3VwcG9ydCBvciBub3QsRU5VTSwxLCwsIk1UNjg4NSA6IDEsMCwwLDAsMCZsdDtCUiZndDtNVDY4NzMgOiAxLDEsMSwwLDAmbHQ7QlImZ3Q7TVQ2ODUzIDogMSwwLDAsMCwwIixOUjE1LlIzLk1ENzAwLk1QLCwxOlRSVUUmbHQ7QlImZ3Q7MDpGQUxTRSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSxQYXNzLCwsLA0KLTgxNjcsNTgxMTIsTlZSQU1fRUZfQ0wxX0NVU1RfUEFSQU1fTElELDEsc3ViX2NsYXNzLGJhbmRfc3VwcG9ydFswfjRdLnN1Yl9jbGFzcyxPVEEsbm8sbm8sbm8sbm8sc3ViIGNsYXNzIGluZm8sVU5TSUdORUQgSU5ULDQsLCw0Mjk0OTAxNzYwLE5SMTUuUjMuTUQ3MDAuTVAsLCI0Mjk0OTAxNzYwOlRoaXMgaXMgYSBkZWZhdWx0IHZhbHVlLCB3aGljaCBpcyBub3QgdXNlZCBub3cuU28gd2UgY2FuIGlnbm9yZSBpdC4iLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCi04MTY4LDU4MTEyLE5WUkFNX0VGX0NMMV9DVVNUX1BBUkFNX0xJRCwxLHJ4X2RpdmVyc2l0eV9lbmFibGUscnhfZGl2ZXJzaXR5X2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl1SWCBkaXZlcnNpdHkgZW5hYmxlIHNldHRpbmcsRU5VTSw1LDUsLDEsTlIxNS5SMy5NRDcwMC5NUCwsMTpUUlVFJmx0O0JSJmd0OzA6RkFMU0UsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KLTgxNjksNTgxMTIsTlZSQU1fRUZfQ0wxX0NVU1RfUEFSQU1fTElELDEscnhfZGl2ZXJzaXR5X29ubHlfdGVzdF9lbmFibGUscnhfZGl2ZXJzaXR5X29ubHlfdGVzdF9lbmFibGUsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdUlggZGl2ZXJzaXR5IG9ubHkgdGVzdCBlbmFibGUgc2V0dGluZyxFTlVNLDUsNSwsMCxOUjE1LlIzLk1ENzAwLk1QLCwxOlRSVUUmbHQ7QlImZ3Q7MDpGQUxTRSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQorODE2NSw1ODExMixOVlJBTV9FRl9DTDFfQ1VTVF9QQVJBTV9MSUQsMSxiYW5kX2NsYXNzLGJhbmRfc3VwcG9ydFswfjRdLmJhbmRfY2xhc3MsT1RBLG5vLG5vLG5vLG5vLGJhbmQgY2xhc3MgaW5mbyxFTlVNLDEsLCwiTVQ2ODg1IDogMCwyMSwyMSwyMSwyMSZsdDtCUiZndDtNVDY4NzMgOiAwLDEsMTAsMjEsMjEmbHQ7QlImZ3Q7TVQ2ODUzIDogMCwyMSwyMSwyMSwyMSIsTlIxNS5SMy5NRDcwMC5NUCwsMCZsdDtCUiZndDsyMSZsdDtCUiZndDsxJmx0O0JSJmd0OzEwLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChZL04pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdLFBhc3MsLCwsDQorODE2Niw1ODExMixOVlJBTV9FRl9DTDFfQ1VTVF9QQVJBTV9MSUQsMSxpc19zdXBwb3J0ZWQsYmFuZF9zdXBwb3J0WzB+NF0uaXNfc3VwcG9ydGVkLE9UQSxubyxubyxubyxubyxiYW5kIHN1cHBvcnQgb3Igbm90LEVOVU0sMSwsLCJNVDY4ODUgOiAxLDAsMCwwLDAmbHQ7QlImZ3Q7TVQ2ODczIDogMSwxLDEsMCwwJmx0O0JSJmd0O01UNjg1MyA6IDEsMCwwLDAsMCIsTlIxNS5SMy5NRDcwMC5NUCwsMSZsdDtCUiZndDswLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChZL04pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdLFBhc3MsLCwsDQorODE2Nyw1ODExMixOVlJBTV9FRl9DTDFfQ1VTVF9QQVJBTV9MSUQsMSxzdWJfY2xhc3MsYmFuZF9zdXBwb3J0WzB+NF0uc3ViX2NsYXNzLE9UQSxubyxubyxubyxubyxzdWIgY2xhc3MgaW5mbyxVTlNJR05FRCBJTlQsNCwsLDQyOTQ5MDE3NjAsTlIxNS5SMy5NRDcwMC5NUCwsNDI5NDkwMTc2MCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQorODE2OCw1ODExMixOVlJBTV9FRl9DTDFfQ1VTVF9QQVJBTV9MSUQsMSxyeF9kaXZlcnNpdHlfZW5hYmxlLHJ4X2RpdmVyc2l0eV9lbmFibGUsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdUlggZGl2ZXJzaXR5IGVuYWJsZSBzZXR0aW5nLEVOVU0sNSw1LCwxLE5SMTUuUjMuTUQ3MDAuTVAsLDEmbHQ7QlImZ3Q7MCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQorODE2OSw1ODExMixOVlJBTV9FRl9DTDFfQ1VTVF9QQVJBTV9MSUQsMSxyeF9kaXZlcnNpdHlfb25seV90ZXN0X2VuYWJsZSxyeF9kaXZlcnNpdHlfb25seV90ZXN0X2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl1SWCBkaXZlcnNpdHkgb25seSB0ZXN0IGVuYWJsZSBzZXR0aW5nLEVOVU0sNSw1LCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDEmbHQ7QlImZ3Q7MCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQogODE3MCw1ODEyOSxOVlJBTV9FRl9DTDFfQ1VTVF9UQVNfRkVBVFVSRV9MSUQsMSxhbnRfdGFzX2NhbGlicmF0aW9uX3N0YXRlX3NldHRpbmcsYW50X3Rhc19jYWxpYnJhdGlvbl9zdGF0ZV9zZXR0aW5nLE9UQSxubyxubyxubyxubyxbTUNGXVRBUyBDYWxpYnJhdGlvbiBJbml0aWFsIFN0YXRlLEVOVU0sNSw1LCwmcXVvdDtNTVJGRF9UQVNfU1RBVEUwJnF1b3Q7LE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O01NUkZEX1RBU19TVEFURTAmcXVvdDt+JnF1b3Q7TU1SRkRfVEFTX1NUQVRFMjMmcXVvdDssLCwsQW50ZW5uYSBGZWF0dXJlcyxSRl9Qcm9wcmlldGFyeSwsLFRlc3QgaW4gbWFjaGluZTogTiZsdDtCUiZndDtUZXN0IFRpbWU6IDUmbHQ7QlImZ3Q7W0luaXRdOiBDcmVhdGUgT1RBIGZpbGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF06IFNldCBPVEEgZmlsZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XTogQ2hlY2sgaWYgT1RBIGlzIHN1Y2Nlc3NmdWwsUGFzcywsLCwNCiA4MTcxLDU4MTI5LE5WUkFNX0VGX0NMMV9DVVNUX1RBU19GRUFUVVJFX0xJRCwxLGRhdF9lbmFibGUsZGF0X2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl1EQVQgRmVhdHVyZSBPcHRpb24sRU5VTSwxLCwsJnF1b3Q7QzJLX0RBVF9FTkFCTEUmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7QzJLX0RBVF9ESVNBQkxFJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O0MyS19EQVRfRU5BQkxFJnF1b3Q7LCwsLEFudGVubmEgRmVhdHVyZXMsUkZfUHJvcHJpZXRhcnksLCxUZXN0IGluIG1hY2hpbmU6IE4mbHQ7QlImZ3Q7VGVzdCBUaW1lOiA1Jmx0O0JSJmd0O1tJbml0XTogQ3JlYXRlIE9UQSBmaWxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdOiBTZXQgT1RBIGZpbGUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF06IENoZWNrIGlmIE9UQSBpcyBzdWNjZXNzZnVsLFBhc3MsLCwsDQogODE3Miw1ODEyOSxOVlJBTV9FRl9DTDFfQ1VTVF9UQVNfRkVBVFVSRV9MSUQsMSx0YXNfZW5hYmxlLGZvcmNlX21vZGVfdGFzX2ZlYXR1cmUudGFzX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sVEFTIEZvcmNlIEVuYWJsZSxFTlVNLDEsLCwmcXVvdDtDMktfVEFTX0RJU0FCTEUmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7QzJLX1RBU19ESVNBQkxFJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O0MyS19UQVNfRU5BQkxFJnF1b3Q7LCwsLEFudGVubmEgRmVhdHVyZXMsUkZfUHJvcHJpZXRhcnksLCxUZXN0IGluIG1hY2hpbmU6IE4mbHQ7QlImZ3Q7VGVzdCBUaW1lOiA1Jmx0O0JSJmd0O1tJbml0XTogQ3JlYXRlIE9UQSBmaWxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdOiBTZXQgT1RBIGZpbGUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF06IENoZWNrIGlmIE9UQSBpcyBzdWNjZXNzZnVsLFBhc3MsLCwsDQpAQCAtODE0MiwxMiArODE0MiwxMiBAQAogODE5OCw1ODE2NSxOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElELDEsQlR4X1NPX1VQUEVSX0JPVU5ELFVUQVNfQlR4X1NPX1BBUkFNRVRFUi5CVHhfU09fVVBQRVJfQk9VTkQsTm90IFN1cHBvcnQsbm8sbm8sbm8sbm8sVXBwZXIgYm91bmQgb2YgZGVsdGEsSU5ULDQsLCwsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLDF4UlRULDNHLCwsLFVudGVzdGVkLCwsLA0KIDgxOTksNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLEhSX0RCX0RFQ1JFQVNFRF9BTU9VTlRfQkFSUklFUl9QQVJBTSxVVEFTX0RCX1BBUkFNRVRFUi5IUl9EQl9ERUNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU0sT1RBLG5vLG5vLG5vLG5vLERlY3JlYXNlZCBhbW91bnQgb2YgYmFycmllcixJTlQsNCwsLDB4NixOUjE1LlIzLk1ENzAwLk1QLCwmbHQ7SFJfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNLCwsLDF4UlRULDNHLCwsIlRlc3QgaW4gbWFjaGluZSAoWSkgJmx0O0JSJmd0O1Rlc3QgVGltZSAoNSBtaW51dGVzKSAmbHQ7QlImZ3Q7W0luaXRdIEMySyBtb2RlLCBUQVMgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBzZXQgTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCZsdDtCUiZndDsyLiBjYWxsIHNldHVwLCBkZWNyZWFzZSBFYy9JbyAmbHQ7IC0xMyZsdDtCUiZndDszLiBjaGFuZ2UgUlNTSSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gYW50ZW5uYSBzd2l0Y2ggc3VjY2VzcyIsUGFzcywsLCwNCiA4MjAwLDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxIUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU0sVVRBU19EQl9QQVJBTUVURVIuSFJfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNLE9UQSxubyxubyxubyxubyxJbmNyZWFzZWQgYW1vdW50IG9mIGJhcnJpZXIsSU5ULDQsLCwweDEwLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDswLCwsLDF4UlRULDNHLCwsIlRlc3QgaW4gbWFjaGluZSAoWSkgJmx0O0JSJmd0O1Rlc3QgVGltZSAoNSBtaW51dGVzKSAmbHQ7QlImZ3Q7W0luaXRdIEMySyBtb2RlLCBUQVMgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBzZXQgTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCZsdDtCUiZndDsyLiBjYWxsIHNldHVwLCBkZWNyZWFzZSBFYy9JbyAmbHQ7IC0xMyZsdDtCUiZndDszLiBjaGFuZ2UgUlNTSSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gYW50ZW5uYSBzd2l0Y2ggc3VjY2VzcyIsUGFzcywsLCwNCi04MjAxLDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxIUl9EQl9MT1dFUl9CT1VORF9QQVJBTSxVVEFTX0RCX1BBUkFNRVRFUi5IUl9EQl9MT1dFUl9CT1VORF9QQVJBTSxPVEEsbm8sbm8sbm8sbm8sTG93ZXIgYm91bmQgb2YgREIsSU5ULDQsLCwweDAsTlIxNS5SMy5NRDcwMC5NUCwsJmd0OzA6aW50ZWdlciwsLCwxeFJUVCwzRywsLCJUZXN0IGluIG1hY2hpbmUgKFkpICZsdDtCUiZndDtUZXN0IFRpbWUgKDUgbWludXRlcykgJmx0O0JSJmd0O1tJbml0XSBDMksgbW9kZSwgVEFTIGVuYWJsZSZsdDtCUiZndDtbVGVzdCBTdGVwXSAmbHQ7QlImZ3Q7MS4gc2V0IE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQmbHQ7QlImZ3Q7Mi4gY2FsbCBzZXR1cCwgZGVjcmVhc2UgRWMvSW8gJmx0OyAtMTMmbHQ7QlImZ3Q7My4gY2hhbmdlIFJTU0kgJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIGFudGVubmEgc3dpdGNoIHN1Y2Nlc3MiLFBhc3MsLCwsDQorODIwMSw1ODE2NSxOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElELDEsSFJfREJfTE9XRVJfQk9VTkRfUEFSQU0sVVRBU19EQl9QQVJBTUVURVIuSFJfREJfTE9XRVJfQk9VTkRfUEFSQU0sT1RBLG5vLG5vLG5vLG5vLExvd2VyIGJvdW5kIG9mIERCLElOVCw0LCwsMHgwLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDswLCwsLDF4UlRULDNHLCwsIlRlc3QgaW4gbWFjaGluZSAoWSkgJmx0O0JSJmd0O1Rlc3QgVGltZSAoNSBtaW51dGVzKSAmbHQ7QlImZ3Q7W0luaXRdIEMySyBtb2RlLCBUQVMgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBzZXQgTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCZsdDtCUiZndDsyLiBjYWxsIHNldHVwLCBkZWNyZWFzZSBFYy9JbyAmbHQ7IC0xMyZsdDtCUiZndDszLiBjaGFuZ2UgUlNTSSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gYW50ZW5uYSBzd2l0Y2ggc3VjY2VzcyIsUGFzcywsLCwNCiA4MjAyLDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxIUl9EQl9USU1FX0RVUkFUSU9OX1RPX1JFTEFYX0JBUlJJRVJfUEFSQU0sVVRBU19EQl9QQVJBTUVURVIuSFJfREJfVElNRV9EVVJBVElPTl9UT19SRUxBWF9CQVJSSUVSX1BBUkFNLE9UQSxubyxubyxubyxubyxUaW1lIGR1cmF0aW9uIHRvIHJlbGF4IGJhcnJpZXIsSU5ULDQsLCwweDgwLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDtTVHhfU09fSFlTVEVSRVNJU19EVVJBVElPTiArIFNUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT04sLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KIDgyMDMsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLEhSX0RCX1VQUEVSX0JPVU5EX1BBUkFNLFVUQVNfREJfUEFSQU1FVEVSLkhSX0RCX1VQUEVSX0JPVU5EX1BBUkFNLE9UQSxubyxubyxubyxubyxVcHBlciBib3VuZCBvZiBEQixJTlQsNCwsLDB4MSxOUjE1LlIzLk1ENzAwLk1QLCwmZ3Q7SFJfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNLCwsLDF4UlRULDNHLCwsIlRlc3QgaW4gbWFjaGluZSAoWSkgJmx0O0JSJmd0O1Rlc3QgVGltZSAoNSBtaW51dGVzKSAmbHQ7QlImZ3Q7W0luaXRdIEMySyBtb2RlLCBUQVMgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBzZXQgTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCZsdDtCUiZndDsyLiBjYWxsIHNldHVwLCBkZWNyZWFzZSBFYy9JbyAmbHQ7IC0xMyZsdDtCUiZndDszLiBjaGFuZ2UgUlNTSSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gYW50ZW5uYSBzd2l0Y2ggc3VjY2VzcyIsUGFzcywsLCwNCiA4MjA0LDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxQVFhQX0RCX0RFQ1JFQVNFRF9BTU9VTlRfQkFSUklFUl9QQVJBTSxVVEFTX0RCX1BBUkFNRVRFUi5QVFhQX0RCX0RFQ1JFQVNFRF9BTU9VTlRfQkFSUklFUl9QQVJBTSxPVEEsbm8sbm8sbm8sbm8sRGVjcmVhc2VkIGFtb3VudCBvZiBiYXJyaWVyLElOVCw0LCwsMHgxLE5SMTUuUjMuTUQ3MDAuTVAsLCZsdDtIUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU0sLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KIDgyMDUsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLFBUWFBfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNLFVUQVNfREJfUEFSQU1FVEVSLlBUWFBfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNLE9UQSxubyxubyxubyxubyxJbmNyZWFzZWQgYW1vdW50IG9mIGJhcnJpZXIsSU5ULDQsLCwweDQsTlIxNS5SMy5NRDcwMC5NUCwsJmd0OzAsLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KLTgyMDYsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLFBUWFBfREJfTE9XRVJfQk9VTkRfUEFSQU0sVVRBU19EQl9QQVJBTUVURVIuUFRYUF9EQl9MT1dFUl9CT1VORF9QQVJBTSxPVEEsbm8sbm8sbm8sbm8sTG93ZXIgYm91bmQgb2YgREIsSU5ULDQsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDswOmludGVnZXIsLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KKzgyMDYsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLFBUWFBfREJfTE9XRVJfQk9VTkRfUEFSQU0sVVRBU19EQl9QQVJBTUVURVIuUFRYUF9EQl9MT1dFUl9CT1VORF9QQVJBTSxPVEEsbm8sbm8sbm8sbm8sTG93ZXIgYm91bmQgb2YgREIsSU5ULDQsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDswLCwsLDF4UlRULDNHLCwsIlRlc3QgaW4gbWFjaGluZSAoWSkgJmx0O0JSJmd0O1Rlc3QgVGltZSAoNSBtaW51dGVzKSAmbHQ7QlImZ3Q7W0luaXRdIEMySyBtb2RlLCBUQVMgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdICZsdDtCUiZndDsxLiBzZXQgTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCZsdDtCUiZndDsyLiBjYWxsIHNldHVwLCBkZWNyZWFzZSBFYy9JbyAmbHQ7IC0xMyZsdDtCUiZndDszLiBjaGFuZ2UgUlNTSSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gYW50ZW5uYSBzd2l0Y2ggc3VjY2VzcyIsUGFzcywsLCwNCiA4MjA3LDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxQVFhQX0RCX1VQUEVSX0JPVU5EX1BBUkFNLFVUQVNfREJfUEFSQU1FVEVSLlBUWFBfREJfVVBQRVJfQk9VTkRfUEFSQU0sT1RBLG5vLG5vLG5vLG5vLFVwcGVyIGJvdW5kIG9mIERCLElOVCw0LCwsMHg5LE5SMTUuUjMuTUQ3MDAuTVAsLCZndDtIUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU0sLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KIDgyMDgsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLEhUUF9BX1RIUkVTSE9MRF9JTkRJQ0FUSU9OR19OT19QT1dFUl9IRUFEUk9PTSxVVEFTX0hUUF9QQVJBTUVURVIuSFRQX0FfVEhSRVNIT0xEX0lORElDQVRJT05HX05PX1BPV0VSX0hFQURST09NLE5vdCBTdXBwb3J0LG5vLG5vLG5vLG5vLEEgdGhyZXNob2xkIGluZGljYXRpbmcgYWxtb3N0IG5vIHBvd2VyIGhlYWRyb29tLElOVCw0LCwsLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwxeFJUVCwzRywsLCxVbnRlc3RlZCwsLCwNCiA4MjA5LDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxIVFBfSFlTVEVSRVNJU19EVVJBVElPTixVVEFTX0hUUF9QQVJBTUVURVIuSFRQX0hZU1RFUkVTSVNfRFVSQVRJT04sTm90IFN1cHBvcnQsbm8sbm8sbm8sbm8sSHlzdGVyZXNpcyBkdXJhdGlvbiBmb3IgSFRQLElOVCw0LCwsLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwxeFJUVCwzRywsLCxVbnRlc3RlZCwsLCwNCkBAIC04MTU4LDMwICs4MTU4LDMwIEBACiA4MjE0LDU4MTY1LE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQsMSxTVHhfU09fUFJFU1dJVENISU5HX1NUQVRFX0RVUkFUSU9OLFVUQVNfU1R4X1NPX1BBUkFNRVRFUi5TVHhfU09fUFJFU1dJVENISU5HX1NUQVRFX0RVUkFUSU9OLE9UQSxubyxubyxubyxubyxQcmUtc3dpdGNoaW5nIHN0YXRlIGR1cmF0aW9uLElOVCw0LCwsMHgxMCxOUjE1LlIzLk1ENzAwLk1QLCwmZ3Q7PTQsLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KIDgyMTUsNTgxNjUsTlZSQU1fRUZfQ0wxX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0xJRCwxLFNUeF9TT19USFJFU0hPTERfRk9SX1NVTV9PRl9UWFBfQU5EX1NJR1BPV0VSX0lOX1BSRVNXSVRDSElOR19TVEFURSxVVEFTX1NUeF9TT19QQVJBTUVURVIuU1R4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRFLE9UQSxubyxubyxubyxubyxUaHJlc2hvbGQgZm9yIHN1bSBvZiBUeFAtYW5kU2lnUG93ZXItQ0IgaW4gdGhlIHByZS1zd2l0Y2hpbmcgc3RhdGUsSU5ULDQsLCwxLE5SMTUuUjMuTUQ3MDAuTVAsLCZndDs9MCwsLCwxeFJUVCwzRywsLCJUZXN0IGluIG1hY2hpbmUgKFkpICZsdDtCUiZndDtUZXN0IFRpbWUgKDUgbWludXRlcykgJmx0O0JSJmd0O1tJbml0XSBDMksgbW9kZSwgVEFTIGVuYWJsZSZsdDtCUiZndDtbVGVzdCBTdGVwXSAmbHQ7QlImZ3Q7MS4gc2V0IE5WUkFNX0VGX0NMMV9DVVNUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9MSUQmbHQ7QlImZ3Q7Mi4gY2FsbCBzZXR1cCwgZGVjcmVhc2UgRWMvSW8gJmx0OyAtMTMmbHQ7QlImZ3Q7My4gY2hhbmdlIFJTU0kgJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIGFudGVubmEgc3dpdGNoIHN1Y2Nlc3MiLFBhc3MsLCwsDQogODIxNiw1ODE2NSxOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElELDEsU1R4X1NPX1RYUF9HQUlOX1RIUkVTSE9MRCxVVEFTX1NUeF9TT19QQVJBTUVURVIuU1R4X1NPX1RYUF9HQUlOX1RIUkVTSE9MRCxPVEEsbm8sbm8sbm8sbm8sVHhQIGdhaW4gdGhyZXNob2xkLElOVCw0LCwsLTIsTlIxNS5SMy5NRDcwMC5NUCwsJmx0Oz0gLTEsLCwsMXhSVFQsM0csLCwiVGVzdCBpbiBtYWNoaW5lIChZKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICg1IG1pbnV0ZXMpICZsdDtCUiZndDtbSW5pdF0gQzJLIG1vZGUsIFRBUyBlbmFibGUmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIHNldCBOVlJBTV9FRl9DTDFfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfTElEJmx0O0JSJmd0OzIuIGNhbGwgc2V0dXAsIGRlY3JlYXNlIEVjL0lvICZsdDsgLTEzJmx0O0JSJmd0OzMuIGNoYW5nZSBSU1NJICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBhbnRlbm5hIHN3aXRjaCBzdWNjZXNzIixQYXNzLCwsLA0KLTgyMTcsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsMSxkX3Rhcl90aF9kcGQsZF90YXJfdGhfZHBkLE9UQSxubyxubyxubyxubywiW01DRl0gdXNlZCBmb3Igc2V0dGluZyBEUEQgc3dpdGNoIHBvaW50LCBub3QgY2FyZSBjdXJyZW50bHkiLFNIT1JULDIsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDA6ZGlzYWJsZSwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KLTgyMTgsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsMSxkcGRfbm9ybWFsX2VuYWJsZSxkcGRfbm9ybWFsX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl0gRFBEIGZlYXR1cmUgZW5hYmxlIHNldHRpbmcsRU5VTSwxLCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtDTDFEX0RQRF9FTkFCTEUmcXVvdDs6ZW5hYmxlIERQRCBmZWF0dXJlJmx0O0JSJmd0OyZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDs6ZGlzYWJsZSBEUEQgZmVhdHVyZSwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KLTgyMTksNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsMixkX3Rhcl90aF9kcGQsZF90YXJfdGhfZHBkLE9UQSxubyxubyxubyxubywiW01DRl0gdXNlZCBmb3Igc2V0dGluZyBEUEQgc3dpdGNoIHBvaW50LCBub3QgY2FyZSBjdXJyZW50bHkiLFNIT1JULDIsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDA6cmVzZXJ2ZWQsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCi04MjIwLDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDIsZHBkX25vcm1hbF9lbmFibGUsZHBkX25vcm1hbF9lbmFibGUsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdIERQRCBmZWF0dXJlIGVuYWJsZSBzZXR0aW5nLEVOVU0sMSwsLCZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OzpkaXNhYmxlIERQRCBmZWF0dXJlJmx0O0JSJmd0OyZxdW90O0NMMURfRFBEX0VOQUJMRSZxdW90OzplbmFibGUgRFBEIGZlYXR1cmUsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCi04MjIxLDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDMsZF90YXJfdGhfZHBkLGRfdGFyX3RoX2RwZCxPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdIHVzZWQgZm9yIHNldHRpbmcgRFBEIHN3aXRjaCBwb2ludCwgbm90IGNhcmUgY3VycmVudGx5IixTSE9SVCwyLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwOnJlc2VydmVkLCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQotODIyMiw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCwzLGRwZF9ub3JtYWxfZW5hYmxlLGRwZF9ub3JtYWxfZW5hYmxlLE9UQSxubyxubyxubyxubyxbTUNGXSBEUEQgZmVhdHVyZSBlbmFibGUgc2V0dGluZyxFTlVNLDEsLCwmcXVvdDtDTDFEX0RQRF9ESVNBQkxFJnF1b3Q7LE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDs6ZGlzYWJsZSBEUEQgZmVhdHVyZSZsdDtCUiZndDsmcXVvdDtDTDFEX0RQRF9FTkFCTEUmcXVvdDs6ZW5hYmxlIERQRCBmZWF0dXJlLCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQotODIyMyw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCw0LGRfdGFyX3RoX2RwZCxkX3Rhcl90aF9kcGQsT1RBLG5vLG5vLG5vLG5vLCJbTUNGXSB1c2VkIGZvciBzZXR0aW5nIERQRCBzd2l0Y2ggcG9pbnQsIG5vdCBjYXJlIGN1cnJlbnRseSIsU0hPUlQsMiwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMDpyZXNlcnZlZCwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KLTgyMjQsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsNCxkcGRfbm9ybWFsX2VuYWJsZSxkcGRfbm9ybWFsX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl0gRFBEIGZlYXR1cmUgZW5hYmxlIHNldHRpbmcsRU5VTSwxLCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtDTDFEX0RQRF9ESVNBQkxFJnF1b3Q7OmRpc2FibGUgRFBEIGZlYXR1cmUsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCi04MjI1LDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDUsZF90YXJfdGhfZHBkLGRfdGFyX3RoX2RwZCxPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdIHVzZWQgZm9yIHNldHRpbmcgRFBEIHN3aXRjaCBwb2ludCwgbm90IGNhcmUgY3VycmVudGx5IixTSE9SVCwyLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwOnJlc2V2ZWQsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCi04MjI2LDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDUsZHBkX25vcm1hbF9lbmFibGUsZHBkX25vcm1hbF9lbmFibGUsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdIERQRCBmZWF0dXJlIGVuYWJsZSBzZXR0aW5nLEVOVU0sMSwsLCZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OzpkaXNhYmxlIERQRCBmZWF0dXJlLCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQorODIxNyw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCwxLGRfdGFyX3RoX2RwZCxkX3Rhcl90aF9kcGQsT1RBLG5vLG5vLG5vLG5vLCJbTUNGXSB1c2VkIGZvciBzZXR0aW5nIERQRCBzd2l0Y2ggcG9pbnQsIG5vdCBjYXJlIGN1cnJlbnRseSIsU0hPUlQsMiwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMTgsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsMSxkcGRfbm9ybWFsX2VuYWJsZSxkcGRfbm9ybWFsX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl0gRFBEIGZlYXR1cmUgZW5hYmxlIHNldHRpbmcsRU5VTSwxLCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtDTDFEX0RQRF9FTkFCTEUmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OywsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMTksNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsMixkX3Rhcl90aF9kcGQsZF90YXJfdGhfZHBkLE9UQSxubyxubyxubyxubywiW01DRl0gdXNlZCBmb3Igc2V0dGluZyBEUEQgc3dpdGNoIHBvaW50LCBub3QgY2FyZSBjdXJyZW50bHkiLFNIT1JULDIsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCis4MjIwLDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDIsZHBkX25vcm1hbF9lbmFibGUsZHBkX25vcm1hbF9lbmFibGUsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdIERQRCBmZWF0dXJlIGVuYWJsZSBzZXR0aW5nLEVOVU0sMSwsLCZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDssTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyZsdDtCUiZndDsmcXVvdDtDTDFEX0RQRF9FTkFCTEUmcXVvdDssLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCis4MjIxLDU4MTYyLE5WUkFNX0VGX0NMMV9EUERfQ09NTU9OX0NUUkxfTElELDMsZF90YXJfdGhfZHBkLGRfdGFyX3RoX2RwZCxPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdIHVzZWQgZm9yIHNldHRpbmcgRFBEIHN3aXRjaCBwb2ludCwgbm90IGNhcmUgY3VycmVudGx5IixTSE9SVCwyLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwLCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQorODIyMiw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCwzLGRwZF9ub3JtYWxfZW5hYmxlLGRwZF9ub3JtYWxfZW5hYmxlLE9UQSxubyxubyxubyxubyxbTUNGXSBEUEQgZmVhdHVyZSBlbmFibGUgc2V0dGluZyxFTlVNLDEsLCwmcXVvdDtDTDFEX0RQRF9ESVNBQkxFJnF1b3Q7LE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O0NMMURfRFBEX0RJU0FCTEUmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7Q0wxRF9EUERfRU5BQkxFJnF1b3Q7LCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQorODIyMyw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCw0LGRfdGFyX3RoX2RwZCxkX3Rhcl90aF9kcGQsT1RBLG5vLG5vLG5vLG5vLCJbTUNGXSB1c2VkIGZvciBzZXR0aW5nIERQRCBzd2l0Y2ggcG9pbnQsIG5vdCBjYXJlIGN1cnJlbnRseSIsU0hPUlQsMiwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMjQsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsNCxkcGRfbm9ybWFsX2VuYWJsZSxkcGRfbm9ybWFsX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl0gRFBEIGZlYXR1cmUgZW5hYmxlIHNldHRpbmcsRU5VTSwxLCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtDTDFEX0RQRF9ESVNBQkxFJnF1b3Q7LCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQorODIyNSw1ODE2MixOVlJBTV9FRl9DTDFfRFBEX0NPTU1PTl9DVFJMX0xJRCw1LGRfdGFyX3RoX2RwZCxkX3Rhcl90aF9kcGQsT1RBLG5vLG5vLG5vLG5vLCJbTUNGXSB1c2VkIGZvciBzZXR0aW5nIERQRCBzd2l0Y2ggcG9pbnQsIG5vdCBjYXJlIGN1cnJlbnRseSIsU0hPUlQsMiwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMjYsNTgxNjIsTlZSQU1fRUZfQ0wxX0RQRF9DT01NT05fQ1RSTF9MSUQsNSxkcGRfbm9ybWFsX2VuYWJsZSxkcGRfbm9ybWFsX2VuYWJsZSxPVEEsbm8sbm8sbm8sbm8sW01DRl0gRFBEIGZlYXR1cmUgZW5hYmxlIHNldHRpbmcsRU5VTSwxLCwsJnF1b3Q7Q0wxRF9EUERfRElTQUJMRSZxdW90OyxOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtDTDFEX0RQRF9ESVNBQkxFJnF1b3Q7LCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQogODIyNyw1ODE1OSxOVlJBTV9FRl9DTDFfTDFEX1RYX1BPV0VSX09GRlNFVF9MSUQsMSxhY2NUeFB3ck9mZnNldCxhY2NUeFB3ck9mZnNldCxOb3QgU3VwcG9ydCxubyxubyxubyxubywiW01DRl10eCBwb3dlciBvZmZzZXQgIGluIGRCIG9mIGJhbmQwLTIwLCBhY2Nlc3MgdHggcG93ZXIgKz0gYWNjVHhQd3JPZmZzZXRbYmFuZF0sIGRlZmF1bHQgMCIsVU5TSUdORUQgU0hPUlQsNDIsMjEsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsaW50IDB+MHhGRkZGLCwsLDF4UlRULDNHLCwsbm8gbmVlZCxVbnRlc3RlZCwsLCwNCiA4MjI4LDU4MTU5LE5WUkFNX0VGX0NMMV9MMURfVFhfUE9XRVJfT0ZGU0VUX0xJRCwxLG1heFB3cmJhY2tvZmYsbWF4UHdyYmFja29mZixOb3QgU3VwcG9ydCxubyxubyxubyxubywiW01DRl1hY2Nlc3MgbWF4IHBvd2VyIGJhY2tvZmYgb2YgYmFuZDAtMjAsIG1heCBwb3dlciAtPSBtYXhQd3JiYWNrb2ZmW2JhbmRdLCBkZWZhdWx0IDAiLFVOU0lHTkVEIFNIT1JULDQyLDIxLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGludCAwfjB4RkZGRiwsLCwxeFJUVCwzRywsLG5vIG5lZWQsVW50ZXN0ZWQsLCwsDQotODIyOSw1ODE2MyxOVlJBTV9FRl9DTDFfUENGRV9EUERfT1RGQ19DVVNUT01fUEFSQV9MSUQsMSxkcGRfYXB0X3RlbXBlcmF0dXJlX3RoX2J5X3JmaWMsZHBkX290ZmNfY3VzdG9tLmRwZF9hcHRfdGVtcGVyYXR1cmVfdGhfYnlfcmZpYyxPVEEsbm8sbm8sbm8sbm8sbWluIGFuZCBtYXggd29ya2luZyB0ZW1wZXJhdHVyZSBmb3IgRFBEIGZlYXR1cmUsU0hPUlQsNCwyLCxkcGRfb3RmY19jdXN0b20uZHBkX2FwdF90ZW1wZXJhdHVyZV90aF9ieV9yZmljWzBdIDogMHg0MSZsdDtCUiZndDtkcGRfb3RmY19jdXN0b20uZHBkX2FwdF90ZW1wZXJhdHVyZV90aF9ieV9yZmljWzFdIDogMHg0MSxOUjE1LlIzLk1ENzAwLk1QLCwiezB4NDEsMHg0MX06ZHBkIGFuZCBhcHQgdGggdGVtcGVyYXR1cmUiLCwsTkEsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxubyBuZWVkIHRvIHRlc3QsVW50ZXN0ZWQsLCwsDQotODIzMCw1ODE2MyxOVlJBTV9FRl9DTDFfUENGRV9EUERfT1RGQ19DVVNUT01fUEFSQV9MSUQsMSxyZXNlcnZlZDAscGNmZV9jdXN0b20ucmVzZXJ2ZWQwLE9UQSxubyxubyxubyxubyxyZXNlcnZlZCBpdGVtIGZvciBmdXJ0aGVyIGRldmVsb3BwaW5nLFVOU0lHTkVEIElOVCw0LCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwOnJlc2V2ZWQsLCxOQSxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLG5vIG5lZWQgdG8gdGVzdCxVbnRlc3RlZCwsLCwNCi04MjMxLDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsMSxiYWNrX29mZix0YmxbMH4xXS5iYWNrX29mZixPVEEsbm8sbm8sbm8sbm8sQmFja29mZiBHYWluLFNIT1JULDIsLCwiOSwwIixOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtoaWdoIHRlbXAmcXVvdDs6dGJsWzBdJmx0O0JSJmd0OyZxdW90O1NldCBwb3dlciBiYWNrIG9mZiB2YWx1ZSB1aW50IDEvMzIgZEImcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7bG93IHRlbXAmcXVvdDs6dGJsWzFdLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCi04MjMyLDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsMSx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDs6dGJsWzBdJmx0O0JSJmd0OyZxdW90O0lmIHRlbXAgaXMgbGFyZ2VyIHRoYW4gdmFsdWUgaW4gaGlnaCB0ZW1wLCBUeCBwb3dlciBiYWNrIG9mZiB0aGUgY29ycmVzcG9uZCB2YWx1ZSBzZXQgaW4gaGlnaCB0ZW1wIHRibGUmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7bG93IHRlbXAmcXVvdDs6dGJsWzFdIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQotODIzMyw1ODE0OCxOVlJBTV9FRl9DTDFfVFhfUE9XRVJfQkFDS19PRkZfTElELDIsYmFja19vZmYsdGJsWzB+MV0uYmFja19vZmYsT1RBLG5vLG5vLG5vLG5vLEJhY2tvZmYgR2FpbixTSE9SVCwyLCwsIjksMCIsTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7aGlnaCB0ZW1wJnF1b3Q7OnRibFswXSZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7OnRibFsxXSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQotODIzNCw1ODE0OCxOVlJBTV9FRl9DTDFfVFhfUE9XRVJfQkFDS19PRkZfTElELDIsdGVtcCx0YmxbMH4xXS50ZW1wLE9UQSxubyxubyxubyxubyxUZW1wZXJhdHVyZSxTSE9SVCwyLCwsIjUwLDQ1IixOUjE1LlIzLk1ENzAwLk1QLCwiJnF1b3Q7aGlnaCB0ZW1wJnF1b3Q7OnRibFswXSZsdDtCUiZndDsmcXVvdDtJZiB0ZW1wIGlzIGxhcmdlciB0aGFuIHZhbHVlIGluIGhpZ2ggdGVtcCwgVHggcG93ZXIgYmFjayBvZmYgdGhlIGNvcnJlc3BvbmQgdmFsdWUgc2V0IGluIGhpZ2ggdGVtcCB0YmxlJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7OnRibFsxXSIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KLTgyMzUsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCwzLGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90Ozp0YmxbMF0mbHQ7QlImZ3Q7JnF1b3Q7U2V0IHBvd2VyIGJhY2sgb2ZmIHZhbHVlIHVpbnQgMS8zMiBkQiZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90Ozp0YmxbMV0sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KLTgyMzYsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCwzLHRlbXAsdGJsWzB+MV0udGVtcCxPVEEsbm8sbm8sbm8sbm8sVGVtcGVyYXR1cmUsU0hPUlQsMiwsLCI1MCw0NSIsTlIxNS5SMy5NRDcwMC5NUCwsIiZxdW90O2hpZ2ggdGVtcCZxdW90Ozp0YmxbMF0mbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90Ozp0YmxbMV0iLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCi04MjM3LDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsNCxiYWNrX29mZix0YmxbMH4xXS5iYWNrX29mZixPVEEsbm8sbm8sbm8sbm8sQmFja29mZiBHYWluLFNIT1JULDIsLCwiOSwwIixOUjE1LlIzLk1ENzAwLk1QLCwmcXVvdDtoaWdoIHRlbXAmcXVvdDs6dGJsWzBdJmx0O0JSJmd0OyZxdW90O1NldCBwb3dlciBiYWNrIG9mZiB2YWx1ZSB1aW50IDEvMzIgZEImcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7bG93IHRlbXAmcXVvdDs6dGJsWzFdLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCi04MjM4LDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsNCx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDs6dGJsWzBdJmx0O0JSJmd0OyZxdW90O0lmIHRlbXAgaXMgbGFyZ2VyIHRoYW4gdmFsdWUgaW4gaGlnaCB0ZW1wLCBUeCBwb3dlciBiYWNrIG9mZiB0aGUgY29ycmVzcG9uZCB2YWx1ZSBzZXQgaW4gaGlnaCB0ZW1wIHRibGUmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7bG93IHRlbXAmcXVvdDs6dGJsWzFdIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQotODIzOSw1ODE0OCxOVlJBTV9FRl9DTDFfVFhfUE9XRVJfQkFDS19PRkZfTElELDUsYmFja19vZmYsdGJsWzB+MV0uYmFja19vZmYsT1RBLG5vLG5vLG5vLG5vLEJhY2tvZmYgR2FpbixTSE9SVCwyLCwsIjksMCIsTlIxNS5SMy5NRDcwMC5NUCwsJnF1b3Q7aGlnaCB0ZW1wJnF1b3Q7OnRibFswXSZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7OnRibFsxXSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSZsdDtCUiZndDswJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7Tm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtOb25lLFBhc3MsLCwsDQotODI0MCw1ODE0OCxOVlJBTV9FRl9DTDFfVFhfUE9XRVJfQkFDS19PRkZfTElELDUsdGVtcCx0YmxbMH4xXS50ZW1wLE9UQSxubyxubyxubyxubyxUZW1wZXJhdHVyZSxTSE9SVCwyLCwsIjUwLDQ1IixOUjE1LlIzLk1ENzAwLk1QLCwiJnF1b3Q7aGlnaCB0ZW1wJnF1b3Q7OnRibFswXSZsdDtCUiZndDsmcXVvdDtJZiB0ZW1wIGlzIGxhcmdlciB0aGFuIHZhbHVlIGluIGhpZ2ggdGVtcCwgVHggcG93ZXIgYmFjayBvZmYgdGhlIGNvcnJlc3BvbmQgdmFsdWUgc2V0IGluIGhpZ2ggdGVtcCB0YmxlJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7OnRibFsxXSIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KKzgyMjksNTgxNjMsTlZSQU1fRUZfQ0wxX1BDRkVfRFBEX09URkNfQ1VTVE9NX1BBUkFfTElELDEsZHBkX2FwdF90ZW1wZXJhdHVyZV90aF9ieV9yZmljLGRwZF9vdGZjX2N1c3RvbS5kcGRfYXB0X3RlbXBlcmF0dXJlX3RoX2J5X3JmaWMsT1RBLG5vLG5vLG5vLG5vLG1pbiBhbmQgbWF4IHdvcmtpbmcgdGVtcGVyYXR1cmUgZm9yIERQRCBmZWF0dXJlLFNIT1JULDQsMiwsZHBkX290ZmNfY3VzdG9tLmRwZF9hcHRfdGVtcGVyYXR1cmVfdGhfYnlfcmZpY1swXSA6IDB4NDEmbHQ7QlImZ3Q7ZHBkX290ZmNfY3VzdG9tLmRwZF9hcHRfdGVtcGVyYXR1cmVfdGhfYnlfcmZpY1sxXSA6IDB4NDEsTlIxNS5SMy5NRDcwMC5NUCwsInsweDQxLDB4NDF9IiwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMzAsNTgxNjMsTlZSQU1fRUZfQ0wxX1BDRkVfRFBEX09URkNfQ1VTVE9NX1BBUkFfTElELDEscmVzZXJ2ZWQwLHBjZmVfY3VzdG9tLnJlc2VydmVkMCxPVEEsbm8sbm8sbm8sbm8scmVzZXJ2ZWQgaXRlbSBmb3IgZnVydGhlciBkZXZlbG9wcGluZyxVTlNJR05FRCBJTlQsNCwsLDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLE5BLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsbm8gbmVlZCB0byB0ZXN0LFVudGVzdGVkLCwsLA0KKzgyMzEsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCwxLGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90OyZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCis4MjMyLDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsMSx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90OyIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KKzgyMzMsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCwyLGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90OyZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCis4MjM0LDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsMix0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90OyIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KKzgyMzUsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCwzLGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90OyZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCis4MjM2LDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsMyx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90OyIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KKzgyMzcsNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCw0LGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90OyZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCis4MjM4LDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsNCx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90OyIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KKzgyMzksNTgxNDgsTlZSQU1fRUZfQ0wxX1RYX1BPV0VSX0JBQ0tfT0ZGX0xJRCw1LGJhY2tfb2ZmLHRibFswfjFdLmJhY2tfb2ZmLE9UQSxubyxubyxubyxubyxCYWNrb2ZmIEdhaW4sU0hPUlQsMiwsLCI5LDAiLE5SMTUuUjMuTUQ3MDAuTVAsLCZxdW90O2hpZ2ggdGVtcCZxdW90OyZsdDtCUiZndDsmcXVvdDtTZXQgcG93ZXIgYmFjayBvZmYgdmFsdWUgdWludCAxLzMyIGRCJnF1b3Q7Jmx0O0JSJmd0OyZxdW90O2xvdyB0ZW1wJnF1b3Q7LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O2ZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O05vbmUsUGFzcywsLCwNCis4MjQwLDU4MTQ4LE5WUkFNX0VGX0NMMV9UWF9QT1dFUl9CQUNLX09GRl9MSUQsNSx0ZW1wLHRibFswfjFdLnRlbXAsT1RBLG5vLG5vLG5vLG5vLFRlbXBlcmF0dXJlLFNIT1JULDIsLCwiNTAsNDUiLE5SMTUuUjMuTUQ3MDAuTVAsLCImcXVvdDtoaWdoIHRlbXAmcXVvdDsmbHQ7QlImZ3Q7JnF1b3Q7SWYgdGVtcCBpcyBsYXJnZXIgdGhhbiB2YWx1ZSBpbiBoaWdoIHRlbXAsIFR4IHBvd2VyIGJhY2sgb2ZmIHRoZSBjb3JyZXNwb25kIHZhbHVlIHNldCBpbiBoaWdoIHRlbXAgdGJsZSZxdW90OyZsdDtCUiZndDsmcXVvdDtsb3cgdGVtcCZxdW90OyIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7MCZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Zm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O05vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Tm9uZSxQYXNzLCwsLA0KIDgyNDEsNjA0ODMsTlZSQU1fRUZfRUwxX0RBVF9GRUFUVVJFX0VOQUJMRV9MSUQsMSxkYXRfZW4sZGF0X2VuLE5vdCBTdXBwb3J0LG5vLG5vLHllcyxubywiW01DRixET0NdIixVTlNJR05FRCBTSE9SVCwyLCwsLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MSwsLCxBbnRlbm5hIEZlYXR1cmVzLFJGX1Byb3ByaWV0YXJ5LCwsLFVudGVzdGVkLCwsLA0KIDgyNDIsNjA0NDUsTlZSQU1fRUZfRUwxX1JGX1JYX1BBVEhfQ09ORklHX0xJRCwxLFJGX1JYX1BBVEgwX0VOLFJGX1JYX1BBVEgwX0VOLE5vdCBTdXBwb3J0LG5vLG5vLG5vLG5vLFtNQ0ZdIHBoYXNlb3V0IHBhcmFtZXRlcixVTlNJR05FRCBDSEFSLDEsLCwxLE5SMTUuUjMuTUQ3MDAuTVAsLDE6cGhhc2VvdXQgcGFyYW1ldGVyLCwsTi9BLExURSBSQVMsTVRLIFByb3ByaWV0YXJ5LCwsTi9BLiAgcGhhc2VvdXQgcGFyYW1ldGVyLFVudGVzdGVkLCwsLA0KIDgyNDMsNjA0NDUsTlZSQU1fRUZfRUwxX1JGX1JYX1BBVEhfQ09ORklHX0xJRCwxLFJGX1JYX1BBVEgxX0VOLFJGX1JYX1BBVEgxX0VOLE5vdCBTdXBwb3J0LG5vLG5vLG5vLG5vLFtNQ0ZdIHBoYXNlb3V0IHBhcmFtZXRlcixVTlNJR05FRCBDSEFSLDEsLCwxLE5SMTUuUjMuTUQ3MDAuTVAsLDE6cGhhc2VvdXQgcGFyYW1ldGVyLCwsTi9BLExURSBSQVMsTVRLIFByb3ByaWV0YXJ5LCwsTi9BLiBwaGFzZW91dCBwYXJhbWV0ZXIsVW50ZXN0ZWQsLCwsDQpAQCAtODYzMCw3ICs4NjMwLDcgQEAKIDg3MjksOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMTNdLlNCUF9DVVNUT01fQ1NDQl9DT05GSUcsbW9kZW1fc2JwX2NvbmZpZ1sxMTNdLlNCUF9DVVNUT01fQ1NDQl9DT05GSUcsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RGlzYWJsZSBjdXN0b20gQ0IgY29uZmlndXJhdGlvbiZsdDtCUiZndDtiaXQgMDowOk5vdCBTdXBwb3J0ZWQmbHQ7QlImZ3Q7Yml0IDE6MTpTdXBwb3J0ZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMH4xOmludCwsLCwsLCwsZGlyZWN0IHNldCB0aGUgdmFsdWUgYW5kIHNldCBDQiBmcm9tIEFQLFBhc3MsLCwsDQogODczMCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzExMl0uU0JQX0NVU1RPTV9TTVNfR1VBUkRfVElNRVIsbW9kZW1fc2JwX2NvbmZpZ1sxMTJdLlNCUF9DVVNUT01fU01TX0dVQVJEX1RJTUVSLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0d1YXJkIHRpbWVyIHRvIGNvbnRyb2wgU01TIG9wZXJhdGlvbiZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCx7MH4xNX0sLCwsLCwsLGRpcmVjdCBzZXQgdGhlIHZhbHVlIGFuZCByZWNlaXZlIE1UIFNNUyxQYXNzLCwsLA0KIDg3MzEsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMTNdLlNCUF9DVVNUT01fU01TX01NU19USU1FUixtb2RlbV9zYnBfY29uZmlnWzExM10uU0JQX0NVU1RPTV9TTVNfTU1TX1RJTUVSLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0lmIGVuYWJsZWQsIHVzZSBjdXN0b20gdmFsdWUgZm9yIFNNUyBNTVMgdGltZXImbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsezB+M30sLCwsLCwsLGRpcmVjdCBzZXQgdGhlIHZhbHVlIGFuZCBzZW5kIE1PIFNNUyxQYXNzLCwsLA0KLTg3MzIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMTFdLlNCUF9DVVNUX0lOVkFMSURfQ0lELG1vZGVtX3NicF9jb25maWdbMTExXS5TQlBfQ1VTVF9JTlZBTElEX0NJRCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtGb3JjZSBzZXQgaW5pdmFsaWQgQ0lEIGFzIDB4RkZGRkZGRkYmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMDpEaXNhYmxlJmx0O0JSJmd0OyZsdDtCUiZndDsxOkVuYWJsZSwsLCwsLCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiAmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gTm9uZSAmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gTm9uZSxVbnRlc3RlZCwsLCwNCis4NzMyLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTExXS5TQlBfQ1VTVF9JTlZBTElEX0NJRCxtb2RlbV9zYnBfY29uZmlnWzExMV0uU0JQX0NVU1RfSU5WQUxJRF9DSUQsTm90IFN1cHBvcnQsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7Rm9yY2Ugc2V0IGluaXZhbGlkIENJRCBhcyAweEZGRkZGRkZGJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDA6RGlzYWJsZSZsdDtCUiZndDsmbHQ7QlImZ3Q7MTpFbmFibGUsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuICZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBOb25lLFVudGVzdGVkLCwsLA0KIDg3MzMsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMTBdLlNCUF9ESVNBQkxFX09WRVJXUklURV9SQUNIX0JBUl9QQVJBLG1vZGVtX3NicF9jb25maWdbMTEwXS5TQlBfRElTQUJMRV9PVkVSV1JJVEVfUkFDSF9CQVJfUEFSQSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtUdXJuIG9uIHRvIGRpc2FibGUgb3ZlcndyaXRlIFJBQ0ggYmFyIHBhcmFtZXRlciZsdDtCUiZndDtiaXQgMDowOk5vdCBlbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCxiaXQ6MC8xOlR1cm4gb24gdG8gZGlzYWJsZSBvdmVyd3JpdGUgUkFDSCBiYXIgcGFyYW1ldGVyJmx0O0JSJmd0O2JpdCAwOjA6Tm90IGVuYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkLCwsLExURSBQcm90b2NvbCAoUjkgQmFzZWxpbmUpLDRHLCwsVGVzdCBpbiBtYWNoaW5lIChZL04pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdLFVudGVzdGVkLCwsLA0KIDg3MzQsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMTNdLlNCUF9ESVNBQkxFX1BMTU5fQ0hFQ0tfRk9SX01PREVNX0VMRVZBVE9SX01PREUsbW9kZW1fc2JwX2NvbmZpZ1sxMTNdLlNCUF9ESVNBQkxFX1BMTU5fQ0hFQ0tfRk9SX01PREVNX0VMRVZBVE9SX01PREUsT1RBLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0Rpc2FibGluZyBQTE1OIGNoZWNrIGZvciBtb2RlbSBlbGV2YXRvciBtb2RlJmx0O0JSJmd0O2JpdCAwOjA6Tm90IFN1cHBvcnRlZCZsdDtCUiZndDtiaXQgMToxOlN1cHBvcnRlZCIsQklULDEsLDEsMCxOUjE1LlIzLk1ENzAwLk1QLCwwOmRpc2FibGUsLCwsRWxldmF0b3IgTW9kZSBmZWF0dXJlLE1USyBQcm9wcmlldGFyeSwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdIEJvb3QgdXAmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gZW5hYmxlIHNicCBtb2RlbV9zYnBfY29uZmlnWzExM10uU0JQX0RJU0FCTEVfUExNTl9DSEVDS19GT1JfTU9ERU1fRUxFVkFUT1JfTU9ERSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBjaGVjayBmb3IgdHJhY2VzIFNCUF9ESVNBQkxFX1BMTU5fQ0hFQ0tfRk9SX01PREVNX0VMRVZBVE9SX01PREUsUGFzcywsLCwNCiA4NzM1LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTEyXS5TQlBfRU1DX1BEVVNfU0VORF9JRV9XSVRIT1VUX0NIRUNLSU5HX1NQRUNfUkVTVFJJQ1RJT04sbW9kZW1fc2JwX2NvbmZpZ1sxMTJdLlNCUF9FTUNfUERVU19TRU5EX0lFX1dJVEhPVVRfQ0hFQ0tJTkdfU1BFQ19SRVNUUklDVElPTixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtFbWVyZ2VuY3kgUERVIHNlc3Npb24gVUUgY29uZmlndXJhdGlvbiBzZXR0aW5nIGNoZWNrJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZSZsdDtCUiZndDtiaXQgMToxOkVuYWJsZSIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCxiaXQgMDpiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Jmx0O0JSJmd0O2JpdCAxOmJpdCAxOjE6RW5hYmxlLCwsLFs1RyBQcm90b2NvbCBCYXNlbGluZV1WR1NNLVBEVSBzZXNzaW9uIHByb2NlZHVyZSxNb2RlbSBTeXN0ZW0gVGVzdCwsLCJlbmFibGUgU0JQJmx0O0JSJmd0O2VzdGFibGlzaCBQRFUgc2Vzc2lvbiB3aXRoIFMtTlNTQUksIEROTiBhbmQgc2V0IFNTQyBtb2RlIHRvICE9MS4mbHQ7QlImZ3Q7c2VlIGlmIHRoaXMgaW5mb3JtYXRpb24gaXMgaW5jbHVkZWQgaW4gYWlyIG1lc3NhZ2UgKDVHTU1fVUxfTkFTX1RSQU5TUE9SVCBvciBQRFVfU0VTU0lPTl9FU1RBQkxJU0hNRU5UX1JFUVVFU1QpIixQYXNzLCwsLA0KQEAgLTkxMDQsNDUgKzkxMDQsMjUgQEAKIDEwMjE0LDk2NixOVlJBTV9FRl9TQlBfQ1VTVE9NX1NCUF9JRF9NQVBQSU5HX0xJRCwxLHNicF9pZCxzYnBfY3VzdG9tX3NicF9pZF9wbG1uX21hcF90YWJsZVswfjQ5OV0uc2JwX2lkLE9UQSxubyxubyxubyxubyxzYnAgaWQgdG8gYmUgY3VzdG9taXplZCxVTlNJR05FRCBJTlQsNCwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLEQtU0JQLFNCUCwsLCxVbnRlc3RlZCwsLCwNCiAxMDIyMCwxNTQxLE5WUkFNX0VGX0VNTV9SRUpFQ1RfQ0FVU0VfTUFQUElOR19MSUQsIjEsMiIscHJlbGltaW5hcnlfZnRhaV90aW1lcixwcmVsaW1pbmFyeV9mdGFpX3RpbWVyLE9UQSxubyxubyxubyxubyxbTUNGXSBFTU0gdGltZXIgZm9yIHByZWxpbWluYXJ5IEZUQUkgbGlzdCxVTlNJR05FRCBJTlQsNDAsMTAsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KIDEwMjI3LDMwNzIsTlZSQU1fRUZfU0FTRV9EQVRBX0xJRCwiMSwyIixlbmRjX2RlYWN0aXZhdGlvbl90aW1lcixlbmRjX2RlYWN0aXZhdGlvbl90aW1lcixPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdIEVOREMgZGVhY3RpdmF0aW9uIHRpbWVyIChtaW46MiwgbWF4OjI1NSkiLFVOU0lHTkVEIENIQVIsMSwsLDB4MDIsTlIxNS5SMy5NRDcwMC5NUCwsMn4yNTUsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pIFkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtFbnN1cmUgdGhlIHRlc3RpbmcgVUUgaXMgc3VwcG9ydCBOUiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDt1c2UgQVRDTUQgb3Igc2NyaXB0IHRvIHRyaWdnZXIgRU5EQyBkZWFjdGl2YXRpb24gcmVxdWVzdCwgdGhlIEFUQ01EIGZvcm1hdCBhcyBiZWxvdyZsdDtCUiZndDtBVCtFR01DPTEsJnF1b3Q7ZW5kY19kZWFjdGl2YXRpb24mcXVvdDssMSwxJmx0O0JSJmd0OzEuIHRyaWdnZXIgRU5EQyBkZWFjdGl2YXRpb24gcmVxdWVzdCAyIHRpbWVzIGluIDIgc2VjLiZsdDtCUiZndDsyLiB0cmlnZ2VyIEVOREMgZGVhY3RpdmF0aW9uIHJlcXVlc3Qgd2l0aCBsYXN0IHBhcmFtZXRlciBzZXQgdG8gMCBhcyBiZWxvdyZsdDtCUiZndDtBVCtFR01DPTEsJnF1b3Q7ZW5kY19kZWFjdGl2YXRpb24mcXVvdDssMSwwJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0OzEuIFRoZSBzZWNvbmQgRU5EQyBkZWFjdGl2YXRpb24gcmVxdWVzdCBzaGFsbCBiZSByZWplY3RlZCBieSBNRCZsdDtCUiZndDsyLiBUaGUgbGFzdCBwYXJhbWV0ZXIgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byAxIGJ5IE1EIixQYXNzLCwsLA0KLTEwMjI4LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGJhbmRzLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLmJhbmRzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGlzdCBvZiBiYW5kcyxVTlNJR05FRCBTSE9SVCw2NCwzMiwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBiYW5kcyBpbiB0aGUgaW52ZXJ0ZWQgbGlzdHMgUExNTiBncm91cC4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXMgdHBsYW4uLFBhc3MsLCwsDQogMTAyMjgsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELCIxLDIiLGJhbmRzLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLmJhbmRzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGlzdCBvZiBiYW5kcyxVTlNJR05FRCBTSE9SVCw2NCwzMiwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBiYW5kcyBpbiB0aGUgaW52ZXJ0ZWQgbGlzdHMgUExNTiBncm91cC4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQotMTAyMjksMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELDEsYmFuZF9udW0saW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0uYmFuZF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgYmFuZHMgcmVsYXRlZCB0byBQTE1OcyBpbiB0aGUgUExNTiBsaXN0IChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMS0zMjpOdW1iZXIgb2YgYmFuZHMgaW4gdGhlIGludmVydGVkIGxpc3RzIFBMTU4gZ3JvdXAgYmFuZCBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIyOSwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsYmFuZF9udW0saW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0uYmFuZF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgYmFuZHMgcmVsYXRlZCB0byBQTE1OcyBpbiB0aGUgUExNTiBsaXN0IChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMS0zMjpOdW1iZXIgb2YgYmFuZHMgaW4gdGhlIGludmVydGVkIGxpc3RzIFBMTU4gZ3JvdXAgYmFuZCBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMDIzMCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsMSxtY2MxLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLnBsbW5fbGlzdFswfjE5XS5tY2MxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1DQzEgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNQ0MxIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIzMCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbWNjMSxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubWNjMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNQ0MxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwwLTk6TUNDMSB2YWx1ZS4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQotMTAyMzEsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELDEsbWNjMixpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubWNjMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNQ0MyIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwwLTk6TUNDMiB2YWx1ZS4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTAyMzEsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELCIxLDIiLG1jYzIsaW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1jYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1DQzIgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjMyLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1jYzMsaW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1jYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1DQzMgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KIDEwMjMyLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwiMSwyIixtY2MzLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLnBsbW5fbGlzdFswfjE5XS5tY2MzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1DQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNQ0MzIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMDIzMywyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsMSxtbmMxLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLnBsbW5fbGlzdFswfjE5XS5tbmMxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1OQzEgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNTkMxIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIzMywyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbW5jMSxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubW5jMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNTkMxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwwLTk6TU5DMSB2YWx1ZS4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQotMTAyMzQsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELDEsbW5jMixpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubW5jMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNTkMyIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwwLTk6TU5DMiB2YWx1ZS4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTAyMzQsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELCIxLDIiLG1uYzIsaW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1uYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1OQzIgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjM1LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1uYzMsaW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1uYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1OQzMgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KIDEwMjM1LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwiMSwyIixtbmMzLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9saXN0WzB+MTldLnBsbW5fbGlzdFswfjE5XS5tbmMzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1OQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNTkMzIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMDIzNiwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsMSxwbG1uX251bSxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QgKG1heCAyMCksVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KIDEwMjM2LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwiMSwyIixwbG1uX251bSxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5wbG1uX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QgKG1heCAyMCksVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjM3LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLHBsbW5fZ3JvdXBfbnVtLGludmVydGVkX2xpc3QucGxtbl9ncm91cF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBncm91cCBsaXN0IChtYXggMjApLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMS0yMDpOdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBncm91cCBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIzNywyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIscGxtbl9ncm91cF9udW0saW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGdyb3VwIGxpc3QgKG1heCAyMCksVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGdyb3VwIGxpc3QuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjM4LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGJhbmRzLHBvc2l0aXZlX2xpc3QucGxtbl9saXN0WzB+MTldLmJhbmRzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGlzdCBvZiBiYW5kcyxVTlNJR05FRCBTSE9SVCw2NCwzMiwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCxOUiBiYW5kczpMaXN0IG9mIE5SIGJhbmRzLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIzOCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsYmFuZHMscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0uYmFuZHMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1MaXN0IG9mIGJhbmRzLFVOU0lHTkVEIFNIT1JULDY0LDMyLCwiMHgwNSwgMHgwMCwgMHgyNiwgMHgwMCwgMHgyOSwgMHgwMCwgMHg0ZCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwiLE5SMTUuUjMuTUQ3MDAuTVAsLE5SIGJhbmRzOkxpc3Qgb2YgTlIgYmFuZHMuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjM5LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGJhbmRfbnVtLHBvc2l0aXZlX2xpc3QucGxtbl9saXN0WzB+MTldLmJhbmRfbnVtLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTnVtYmVyIG9mIGJhbmRzIHJlbGF0ZWQgdG8gUExNTiBjb2RlIChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMS0zMjpOdW1iZXIgb2YgYmFuZHMgcmVsYXRlZCB0byBQTE1OcyBpbiB0aGUgUExNTiBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDIzOSwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsYmFuZF9udW0scG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0uYmFuZF9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgYmFuZHMgcmVsYXRlZCB0byBQTE1OIGNvZGUgKG1heCAzMiksVU5TSUdORUQgQ0hBUiwxLCwsMHgwNCxOUjE1LlIzLk1ENzAwLk1QLCwxLTMyOk51bWJlciBvZiBiYW5kcyByZWxhdGVkIHRvIFBMTU5zIGluIHRoZSBQTE1OIGxpc3QuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQwLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1jYzEscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tY2MxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1DQzEgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNQ0MxIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0MCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbWNjMSxwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1jYzEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDMsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1DQzEgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQxLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1jYzIscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tY2MyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1DQzIgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNQ0MyIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0MSwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbWNjMixwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1jYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1DQzIgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQyLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1jYzMscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tY2MzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1DQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNQ0MzIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0MiwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbWNjMyxwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1jYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1DQzMgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQzLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1uYzEscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMxLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1OQzEgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNTkMxIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0MywyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbW5jMSxwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1uYzEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1OQzEgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQ0LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1uYzIscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1OQzIgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNTkMyIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0NCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbW5jMixwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1uYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1OQzIgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQ1LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLG1uYzMscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0ucGxtbi5tbmMzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLE1OQzMgZmllbGQgb2YgUExNTiBJRCxVTlNJR05FRCBDSEFSLDEsLCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLDAtOTpNTkMzIHZhbHVlLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0NSwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsbW5jMyxwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5wbG1uLm1uYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsMC05Ok1OQzMgdmFsdWUuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjQ2LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLHBsbW5fbnVtLHBvc2l0aXZlX2xpc3QucGxtbl9udW0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBsaXN0IChtYXggMjApLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMS0yMDpOdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMDI0NiwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIscGxtbl9udW0scG9zaXRpdmVfbGlzdC5wbG1uX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QgKG1heCAyMCksVU5TSUdORUQgQ0hBUiwxLCwsMHgwOCxOUjE1LlIzLk1ENzAwLk1QLCwxLTIwOk51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBQTE1OIGxpc3QuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gdGVzdCBwbGFuLixQYXNzLCwsLA0KLTEwMjU4LDYwNDk0LE5WUkFNX0VGX0VMMV9TQVJfVFhfUE9XRVJfT0ZGU0VUX0xJRCwxLGJhbmRfaW5kLHJmX3Nhcl90eF9wb3dlcl9vZmZzZXRfYnlfYmFuZFswfjI0XS5iYW5kX2luZCxPVEEsbm8sbm8sbm8sbm8sRG8gbm90IGNoYW5nZSB0aGlzIHNldHRpbmcsRU5VTSwxLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwfjI1NSwsLG5vLFNBUiBUWCBQb3dlciBvZmZzZXQsU0FSIE1pdGlnYXRpb24sLCxVcGRhdGUgTUNGIGZpZWxkcyBhbmQgc2VlIGlmIE5WUkFNIHZhbHVlcyBhcmUgY2hhbmdlZCBhY2NvcmRpbmdseS4sVW50ZXN0ZWQsLCwsDQogMTAyNTgsNjA0OTQsTlZSQU1fRUZfRUwxX1NBUl9UWF9QT1dFUl9PRkZTRVRfTElELDEsYmFuZF9pbmQscmZfc2FyX3R4X3Bvd2VyX29mZnNldF9ieV9iYW5kWzB+MzRdLmJhbmRfaW5kLE9UQSxubyxubyxubyxubyxEbyBub3QgY2hhbmdlIHRoaXMgc2V0dGluZyxFTlVNLDEsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDB+MjU1OkxURV9CYW5kIEVOVU0sLCxubyxTQVIgVFggUG93ZXIgb2Zmc2V0LFNBUiBNaXRpZ2F0aW9uLCwsVXBkYXRlIE1DRiBmaWVsZHMgYW5kIHNlZSBpZiBOVlJBTSB2YWx1ZXMgYXJlIGNoYW5nZWQgYWNjb3JkaW5nbHkuLFVudGVzdGVkLCwsLA0KIDEwMjU5LDYwNDk0LE5WUkFNX0VGX0VMMV9TQVJfVFhfUE9XRVJfT0ZGU0VUX0xJRCwxLHR4X3Bvd2VyX21heF92YWx1ZSxyZl9zYXJfdHhfcG93ZXJfb2Zmc2V0X2J5X2JhbmRbMH4zNF0udGFibGVbMH4xMV0udHhfcG93ZXJfbWF4X3ZhbHVlLE9UQSxubyxubyxubyxubyx1bml0IGZvciBjdXN0b20gdG8gaW5wdXQ6IDEvOCBkQiAtJmd0OyB2YWx1ZSAmYXBvczs4JmFwb3M7ID0gMSBkQixDSEFSLE4sTiwsLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLG5vLFNBUiBUWCBQb3dlciBvZmZzZXQsU0FSIE1pdGlnYXRpb24sLCxVcGRhdGUgTUNGIGZpZWxkcyBhbmQgc2VlIGlmIE5WUkFNIHZhbHVlcyBhcmUgY2hhbmdlZCBhY2NvcmRpbmdseS4sUGFzcywsLCwNCiAxMDI3OCwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixtb19pbnZpdGVfdG9fMTh4X3RpbWVyX3RpbWVvdXQsdWFfY29uZmlnLm1vX2ludml0ZV90b18xOHhfdGltZXJfdGltZW91dCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxDb25maWd1cmF0aW9uIHRvIHRyaWdnZXIgY3NmYiBpZiAxOHggbm90IHJlY2VpdmVkIGluIHRpbWUgYWZ0ZXIgaGF2aW5nIHNlbnQgSU5WSVRFJmx0O0JSJmd0OzA6RGlzYWJsZSZsdDtCUiZndDtVbml0OnNlYyZsdDtCUiZndDssVU5TSUdORUQgQ0hBUiwxLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwiMX4yNTU6IHRpbWVyIHZhbHVlLCB1bml0OiBzZWMmbHQ7QlImZ3Q7MDpEaXNhYmxlIiwsLCxJTVMsSU1TLCwsVGVzdCBpbiBtYWNoaW5lIChOKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICgwIG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSBmb2xsb3cgTUNGIFJEIElUIHBsYW4gJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIE5vbmUgJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsVW50ZXN0ZWQsLCwsDQpAQCAtOTQwOCw3ICs5Mzg4LDcgQEAKIDEwNTUxLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTI5XS5TQlBfVU1UU19ESVNBQkxFX0FNUl9OQixtb2RlbV9zYnBfY29uZmlnWzEyOV0uU0JQX1VNVFNfRElTQUJMRV9BTVJfTkIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RGlzYWJsZSBVTVRTIEFNUiBOQiBjb2RlYyZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCxVbnRlc3RlZCwsLCwNCiAxMDU1NCwyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIscmVtb3ZlX21lZGlhX3doZW5fbm90X3N1cHBvcnRfbWVkaWEucmVtb3ZlX21lZGlhX3doZW5fbm90X3N1cHBvcnRfbWVkaWEseGNhcF9pbmZvLnJlbW92ZV9tZWRpYV93aGVuX25vdF9zdXBwb3J0X21lZGlhLnJlbW92ZV9tZWRpYV93aGVuX25vdF9zdXBwb3J0X21lZGlhLE5vdCBTdXBwb3J0LG5vLG5vLG5vLG5vLHJlbW92ZSBtZWRpYSB3aGVuIG1lZGlhX3RhZyBpcyBmYWxzZSZsdDtCUiZndDsmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQsQklULDgsLDgsMCxOUjE1LlIzLk1ENzAwLk1QLCxiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCwsLCxYQ0FQIElNUy1TUyxYQ0FQLCwsLFVudGVzdGVkLCwsLA0KIDEwNTU1LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLHdhaXRfdXNlcl9lbmRfY2FsbF9ub19ydHBwa3RfZW1jLHVhX2NvbmZpZy53YWl0X3VzZXJfZW5kX2NhbGxfbm9fcnRwcGt0X2VtYyxOb3QgU3VwcG9ydCxubyxubyxubyxubywiV2hlbiBubyBydHAgcGFja2V0IGZvciBlbWMsIHdhaXQgZm9yIHVzZXIgZW5kIGNhbGwuJmx0O0JSJmd0OzA6IGVtYyBjYWxsIGF1dG8gZHJvcCB3aGVuIG5vIHJ0cCBwYWNrZXQuJmx0O0JSJmd0OzE6IHdhaXQgZm9yIHVzZXIgZW5kIGNhbGwgd2hlbiBubyBydHAgcGFja2V0IGZvciBlbWMuJmx0O0JSJmd0OyIsVU5TSUdORUQgQ0hBUiwxLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwOmVtYyBjYWxsIGF1dG8gZHJvcCB3aGVuIG5vIHJ0cCBwYWNrZXQmbHQ7QlImZ3Q7MTp3YWl0IGZvciB1c2VyIGVuZCBjYWxsIHdoZW4gbm8gcnRwIHBhY2tldCBmb3IgZW1jLCwsLElNUyxJTVMsLCwsVW50ZXN0ZWQsLCwsDQotMTA1NTYsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMzBdLlNCUF9TRUFSQ0hfMjNHX1dIRU5fUkVKRUNUXzM5Q0FVU0UsbW9kZW1fc2JwX2NvbmZpZ1sxMzBdLlNCUF9TRUFSQ0hfMjNHX1dIRU5fUkVKRUNUXzM5Q0FVU0UsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7U2VhcmNoIDIzRyB3aGVuIHJlamVjdCAzOSZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMDpkaXNhYmxlLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KKzEwNTU2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTMwXS5TQlBfU0VBUkNIXzIzR19XSEVOX1JFSkVDVF8zOUNBVVNFLG1vZGVtX3NicF9jb25maWdbMTMwXS5TQlBfU0VBUkNIXzIzR19XSEVOX1JFSkVDVF8zOUNBVVNFLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1NlYXJjaCAyM0cgd2hlbiByZWplY3QgMzkmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsVW50ZXN0ZWQsLCwsDQogMTA1OTAsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMzBdLlNCUF9ESVNBQkxFX1BBR0lOR19SRVNQT05TRV9JTl9MSU1JVEVEX1NFUlZJQ0VfU1RBVEUsbW9kZW1fc2JwX2NvbmZpZ1sxMzBdLlNCUF9ESVNBQkxFX1BBR0lOR19SRVNQT05TRV9JTl9MSU1JVEVEX1NFUlZJQ0VfU1RBVEUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7SWdub3JlIHBhZ2luZyBpbiBsaW1pdGVkIHNlcnZpY2Ugc3RhdGUmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsIjBYMDpFdmVuIFVFIGlzIGluIExJTUlURUQgU0VSVklDRSwgd2hlbiBhIHBhZ2luZyByZXF1ZXN0IGNvbWVzIHdpdGggaWRlbnRpdHkgYXMgSU1TSSwgaXQgd2lsbCBiZSBob25vcmVkJmx0O0JSJmd0OyZsdDtCUiZndDsweDE6VUUgd2lsbCBpZ25vcmUgdGhlIHBhZ2luZyByZXF1ZXN0IGV2ZW4gaWYgdGhlIGlkZW5pdHkgaXMgSU1TSSBpbiBMaW1pdGVkIHNlcnZpY2UiLCwsX19ESVNBQkxFX1BBR0lOR19SRVNQT05TRV9JTl9MSU1JVEVEX1NUQVRFX18sTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikgOlkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSA6IDMwIG1pbnMgJmx0O0JSJmd0O1tJbml0XSBEVVQgYm9vdCB1cCAmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7IC0mZ3Q7UG93ZXIgb24mbHQ7QlImZ3Q7LSZndDtTdGFydCByZWdpc3RyYXRpb24gb24gM0cmbHQ7QlImZ3Q7LSZndDtMQVUgcmVqZWN0ZWQgd2l0aCBjYXVzZSMxMSZsdDtCUiZndDstJmd0O1RyaWdnZXIgUGFnaW5nIHdpdGggaWRlbnRpdHkgdHlwZSBhcyBJTVNJJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1NCUCBlbmFibGVkLVVFIHNob3VsZCBpZ25vcmUgcGFnaW5nICZsdDtCUiZndDtTQlAgZGlzYWJsZWQtVUUgYXMgIGFsaWduZWQgIHRoZSBzcGVjIGJlaGF2aW9yIHdpbGwgcHJvY2VlZCB3aXRoIHBhZ2luZyxQYXNzLCwsLA0KIDEwNTkzLDI4ODgsTlZSQU1fRUZfTDVfQ0NfRUNDX0xJU1RfT01fTElELCIxLDIiLGNhdCxlY2NbMH4yNTVdLmNhdCxPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdY2F0ZWdvcnksIGJpdG1hcHBlZCIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwfjI1NTplY2MgY2F0ZWdvcnksLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCx1cGRhdGUgT1RBIGZpbGUgYW5kIHRoZW4gcG93ZXIgb24gdG8gY2hlY2sgZWNjIGxpc3QsUGFzcywsLCwNCiAxMDU5NCwyODg4LE5WUkFNX0VGX0w1X0NDX0VDQ19MSVNUX09NX0xJRCwiMSwyIixjb25kaXRpb24sZWNjWzB+MjU1XS5jb25kaXRpb24sT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdY29uZGl0aW9uIGZvciBlY2MgbnVtYmVycyxVTlNJR05FRCBDSEFSLDEsLCwweDAyLE5SMTUuUjMuTUQ3MDAuTVAsLHswfjJ9LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsdXBkYXRlIE9UQSBmaWxlIGFuZCB0aGVuIHBvd2VyIG9uIHRvIGNoZWNrIGVjYyBsaXN0LFBhc3MsLCwsDQpAQCAtOTQ0OCw3ICs5NDI4LDcgQEAKIDEwNjMyLDYwOTQ2LE5WUkFNX0VGX0VSUkNfR0xPQkFMX0JBTkRfQ0FfQ1VTVE9NX1BMTU5fTElELDEsY2ZnX2lkLHBsbW5bMH4xOTldLmNmZ19pZCxPVEEsbm8sbm8sbm8sbm8sIltNQ0ZdIENvbmZpZyBJRCwgdmFsaWQgdmFsdWUgaXMgMCB0byAyOSIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCxpbnQvc2hvcnQvbG9uZzogMH4yOSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikgJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuICZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBOb25lLFBhc3MsLCwsDQogMTA2MzYsMjk0NSxOVlJBTV9FRl9VU0JfTU9ERV9MSUQsMSxtb2RlX2lkLG1vZGVfaWQsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdVVNCIHZlbmRvciBtb2RlIGlkLFVOU0lHTkVEIENIQVIsMSwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMH45OTpkZXBlbmQgb24gaG93IG1hbnkgbW9kZXMgZGVmaW5lZCBieSB0aGUgY3VzdG9tZXIsLCwsVVNCLURSVixEcml2ZXIsLCwiVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDEwJmx0O0JSJmd0O1tJbml0XSBBY2NvcmRpbmcgdG8gUkQgSVQgU09QJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIExJRCB2YWx1ZSBjaGFuZ2UgdG8gT1RBIGZpbGUsIE9UQSBmaWxlIHB1c2ggdG8gQW5kcm9pZCBmaWxlIHN5c3RlbSwgT1RBIGZpbGUgYnJvd3NlLCBMSUQgdmFsdWUgY2hhbmdlIGNoZWNrJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIExJRCB2YWx1ZSBoYXMgY2hhbmdlZCIsUGFzcywsLCwNCiAxMDYzNywyOTQ1LE5WUkFNX0VGX1VTQl9NT0RFX0xJRCwxLG93bmVyX2lkLG93bmVyX2lkLE9UQSxubyxubyxubyxubyxbTUNGXVVTQiB2ZW5kb3Igb3duZXIgaWQsVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwwfjk5OmRlcGVuZCBvbiBob3cgbWFueSB2ZW5kb3JzIGRlZmluZWQgYnkgdGhlIGN1c3RvbWVycywsLCxVU0ItRFJWLERyaXZlciwsLCJUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdIEFjY29yZGluZyB0byBSRCBJVCBTT1AmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gTElEIHZhbHVlIGNoYW5nZSB0byBPVEEgZmlsZSwgT1RBIGZpbGUgcHVzaCB0byBBbmRyb2lkIGZpbGUgc3lzdGVtLCBPVEEgZmlsZSBicm93c2UsIExJRCB2YWx1ZSBjaGFuZ2UgY2hlY2siLFBhc3MsLCwsDQotMTA2MzksOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMzFdLlNCUF9GTElHSFRfTU9ERV9SRVNFVF9UMzQwMixtb2RlbV9zYnBfY29uZmlnWzEzMV0uU0JQX0ZMSUdIVF9NT0RFX1JFU0VUX1QzNDAyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1Jlc2V0IFQzNDAyIHRvIGRlZmF1bHQgdmFsdWUgd2hlbiB0b2dnbGUgZmxpZ2h0IG1vZGUmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgcmVzZXQgVDM0MDImbHQ7QlImZ3Q7Yml0IDE6MTpSZXNldCBUMzQwMiIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwOk5vdCByZXNldCBUMzQwMiZsdDtCUiZndDsxOlJlc2V0IFQzNDAyLCwsLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdRU1NX1JFRyxNb2RlbSBTeXN0ZW0gVGVzdCwsLFRlc3QgaW4gbWFjaGluZSAoTikgJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuICZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lICZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBOb25lLFBhc3MsLCwsDQorMTA2MzksOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxMzFdLlNCUF9GTElHSFRfTU9ERV9SRVNFVF9UMzQwMixtb2RlbV9zYnBfY29uZmlnWzEzMV0uU0JQX0ZMSUdIVF9NT0RFX1JFU0VUX1QzNDAyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1Jlc2V0IFQzNDAyIHRvIGRlZmF1bHQgdmFsdWUgd2hlbiB0b2dnbGUgZmxpZ2h0IG1vZGUmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgcmVzZXQgVDM0MDImbHQ7QlImZ3Q7Yml0IDE6MTpSZXNldCBUMzQwMiIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwJmx0O0JSJmd0OzEsLCwsW0xURSBQcm90b2NvbCBCYXNlbGluZV1FTU1fUkVHLE1vZGVtIFN5c3RlbSBUZXN0LCwsVGVzdCBpbiBtYWNoaW5lIChOKSAmbHQ7QlImZ3Q7VGVzdCBUaW1lICgwIG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSBmb2xsb3cgTUNGIFJEIElUIHBsYW4gJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIE5vbmUgJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsUGFzcywsLCwNCiAxMDY1Miw2MDU4MyxOVlJBTV9FRl9FTDFfSFBVRV9QQVJBTUVURVJfTElELDEsSFBVRUJhbmQsSFBVRUJhbmQsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdTFRFIEJhbmQgU3VwcG9ydGluZyBIUFVFLEVOVU0sNSw1LCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDB+MjU1OkxURSBCYW5kIEVOVU0sLCwsUG93ZXIgQ2xhc3MsSFBVRSwsLCxVbnRlc3RlZCwsLCwNCiAxMDY1Myw2MDU4MyxOVlJBTV9FRl9FTDFfSFBVRV9QQVJBTUVURVJfTElELDEsSFBVRUVuYSxIUFVFRW5hLE9UQSxubyxubyxubyxubywiW01DRl0wOiBIUFVFIE9GRiwgMTogSFBVRSBPTiIsVU5TSUdORUQgQ0hBUiwxLCwsMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzE6MCBmb3IgT0ZGICZhbXA7IDEgZm9yIE9OLCwsLFBvd2VyIENsYXNzLEhQVUUsLCwsVW50ZXN0ZWQsLCwsDQogMTA2NTQsNjA1ODMsTlZSQU1fRUZfRUwxX0hQVUVfUEFSQU1FVEVSX0xJRCwxLGJhbmQsSFBVRV9DTEFTUzJfQ0FbMH4xOV0uYmFuZF9wYXJhbVswfjNdLmJhbmQsT1RBLG5vLG5vLG5vLG5vLFtNQ0ZdQmFuZCxFTlVNLDEsLCwwLE5SMTUuUjMuTUQ3MDAuTVAsLDB+MjU1OkxURSBCYW5kIEVOVU0sLCwsUG93ZXIgQ2xhc3MsSFBVRSwsLCxVbnRlc3RlZCwsLCwNCkBAIC05ODE3LDMxICs5Nzk3LDE4IEBACiAxMTE2OSwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixwbGF5X2xvY2FsX3RvbmVfd2hlbl9ub19ydHBfcGt0X29uX3JlbW90ZV9ob2xkLnBsYXlfbG9jYWxfdG9uZV93aGVuX25vX3J0cF9wa3Rfb25fcmVtb3RlX2hvbGQsdWFfY29uZmlnLnBsYXlfbG9jYWxfdG9uZV93aGVuX25vX3J0cF9wa3Rfb25fcmVtb3RlX2hvbGQucGxheV9sb2NhbF90b25lX3doZW5fbm9fcnRwX3BrdF9vbl9yZW1vdGVfaG9sZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXSZsdDtCUiZndDt3aGVuIHJlbW90ZSBjYWxsIGlzIGtlcHQgYXQgaG9sZCBhbmQgbm8gcnRwIHBrdCBpcyByZWNlaXZlZCB0aGVuIHBsYXkgdGhlIGxvY2FsIHRvbmUuJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZSZsdDtCUiZndDtiaXQgMToxOkVuYWJsZSxCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLDAvMTowOiBEaXNhYmxlJmx0O0JSJmd0OzE6IEVuYWJsZSwsLCxJTVMsSU1TLCwsIkR1cmluZyByZW1vdGUgaG9sZCwgaWYgTlcgZG9uJmFwb3M7dCBzZW5kIFJUUCBwYWNrZXRzIHRvIHBsYXkgaG9sZCB0b25lLCB0aGVuIHBsYXkgbG9jYWwgaG9sZCB0b25lLiIsVW50ZXN0ZWQsLCwsDQogMTExNzAsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNDBdLlNCUF9MVEVfUFJFRkVSLG1vZGVtX3NicF9jb25maWdbMTQwXS5TQlBfTFRFX1BSRUZFUixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtMVEUgcHJlZmVyJmx0O0JSJmd0O2JpdCAwOjA6Tm90IEVuYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGJpdDogMC8xLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsVW50ZXN0ZWQsLCwsDQogMTExNzEsMjExMixOVlJBTV9FRl9JV0xBTl9QUk9GSUxFX0xJRCwiMSwyIixpcG9sX2ltc19tYWludGFpbl9jYWxsX2luX3dpZmlfd2hlbl9pbl9jc19wcmVmZXJyZWQsaXBvbF9hbnNfY2ZnLmlwb2xfaW1zX21haW50YWluX2NhbGxfaW5fd2lmaV93aGVuX2luX2NzX3ByZWZlcnJlZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl1XaGVuIGVuYWJsZWQgVUUgd2lsbCBtYWludGFpbiBJTVMgcmVnaXN0cmF0aW9uIGFuZCBhY3RpdmUgY2FsbCBvbiBXTEFOLCB3aGVuIENTIHByZWZlcnJlZCBjb25kaXRpb24gaXMgdHJ1ZSZsdDtCUiZndDsiLFVOU0lHTkVEIENIQVIsMSwsLDEsTlIxNS5SMy5NRDcwMC5NUCwsaW50L3Nob3J0L2xvbmc6IDB+MTpDb25maWd1cmF0aW9uIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQsLCxDUyBwcmVmZXJyZWQgb3BlcmF0b3IgY29uZmlndXJhdGlvbiBhbmQgV2lGaSBkZXJlZ2lzdGVyIGVuYWJsZWQuLFdMQU4gb2ZmbG9hZGluZyB0aHJvdWdoIGVQREcgZm9yIHVudHJ1c3RlZCBXaUZpLGVQREcsLCwiV2hlbiB3aWZpIGNhbGwgaXMgYWN0aXZlLCBhbmQgdGhpcyBjb25maWd1cmF0aW9uIGlzIGZhbHNlLCBjYWxsIGlzIGRyb3BwZWQgd2hlbiBVRSBlbnRlcnMgZm9yIGV4YW1wbGUgM0cgYXJlYSB3aGVyZSBJTVMgbm90IHN1cHBvcnRlZCwgb3IgTFRFIGFyZWEgd2hlcmUgVm9MVEUgZGlzYWJsZWQuIixQYXNzLCwsLA0KLTExMTcyLDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsMSxid19iaXRtYXAsbnJfYndfc2V0dGluZ19saXN0WzB+MTldLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFswfjRdLmJ3X3Njc19iaXRtYXBbMH4yXS5id19iaXRtYXAsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdQlcgYml0bWFwLCAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgRlIxLCB0aGUgYml0cyBzdGFydGluZyBmcm9tIHRoZSByaWdodG1vc3QgYml0KExTQikgaW5kaWNhdGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCA0MCwgNTAsIDYwLCA3MCwgODAsIDkwLCAxMDAgbWh6IChUb3RhbGx5IDEzIGJpdHMgYXJlIHVzZWQuKSAgICAgICAgICAgICAgICAgICAgICAgICAgIEUuZy4gMHgwMDAzIG1lYW5zIG9ubHkgNSBhbmQgMTAgbWh6IGFyZSBzdXBwb3J0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBGUjIsIHRoZSBiaXRzIHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0bW9zdCBiaXQoTFNCKSBpbmRpY2F0ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MCwgMTAwLCAyMDAsIDQwMCBtaHogKFRvdGFsbHkgNCBiaXRzIGFyZSB1c2VkLikgICAgICAgICAgICAgICAgICAgICAgICAgICBFLmcuIDB4MDAwNCBtZWFucyBvbmx5IDIwMCBtaHogaXMgc3VwcG9ydGVkLiIsVU5TSUdORUQgU0hPUlQsMiwsLCIweDAyLCAweDAwLCZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzFdLmJ3X3Njc19iaXRtYXBbMV0uYndfYml0bWFwOjB4MTAwMCZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzJdLmJ3X3Njc19iaXRtYXBbMV0uYndfYml0bWFwOjB4MTA0OCIsTlIxNS5SMy5NRDcwMC5NUCwsIjAtODE5MTpGb3IgRlIxLCB0aGUgYml0cyBzdGFydGluZyBmcm9tIHRoZSByaWdodG1vc3QgYml0KExTQikgaW5kaWNhdGU6IDUsIDEwLCAxNSwgMjAsIDI1LCAzMCwgNDAsIDUwLCA2MCwgNzAsIDgwLCA5MCwgMTAwIE1IeiAoVG90YWxseSAxMyBiaXRzIGFyZSB1c2VkLikgRS5nLiAweDAwMDMgbWVhbnMgb25seSA1IGFuZCAxMCBNSHogQldzIGFyZSBzdXBwb3J0ZWQuIEZvciBGUjIsIHRoZSBiaXRzIHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0bW9zdCBiaXQoTFNCKSBpbmRpY2F0ZTogNTAsIDEwMCwgMjAwLCA0MDAgTUh6IChUb3RhbGx5IDQgYml0cyBhcmUgdXNlZC4pIEUuZy4gMHgwMDA0IG1lYW5zIG9ubHkgMjAwIE1IeiBCVyBpcyBzdXBwb3J0ZWQuJmx0O0JSJmd0O0ZvciBGUjIsIHRoZSBiaXRzIHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0bW9zdCBiaXQoTFNCKSBpbmRpY2F0ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MCwgMTAwLCAyMDAsIDQwMCBtaHogKFRvdGFsbHkgNCBiaXRzIGFyZSB1c2VkLikgICAgICAgICAgICAgICAgICAgICAgICAgICBFLmcuIDB4MDAwNCBtZWFucyBvbmx5IDIwMCBtaHogaXMgc3VwcG9ydGVkLiZsdDtCUiZndDtGb3IgRlIyLCB0aGUgYml0cyBzdGFydGluZyBmcm9tIHRoZSByaWdodG1vc3QgYml0KExTQikgaW5kaWNhdGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAsIDEwMCwgMjAwLCA0MDAgbWh6IChUb3RhbGx5IDQgYml0cyBhcmUgdXNlZC4pICAgICAgICAgICAgICAgICAgICAgICAgICAgRS5nLiAweDAwMDQgbWVhbnMgb25seSAyMDAgbWh6IGlzIHN1cHBvcnRlZC4iLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KIDExMTcyLDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsIjEsMiIsYndfYml0bWFwLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMH40XS5id19zY3NfYml0bWFwWzB+Ml0uYndfYml0bWFwLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJbTUNGXUJXIGJpdG1hcCwgZm9yIEZSMSwgdGhlIGJpdHMgc3RhcnRpbmcgZnJvbSB0aGUgcmlnaHRtb3N0IGJpdChMU0IpIGluZGljYXRlOiA1LCAxMCwgMTUsIDIwLCAyNSwgMzAsIDQwLCA1MCwgNjAsIDcwLCA4MCwgOTAsIDEwMCBtaHogKFRvdGFsbHkgMTMgYml0cyBhcmUgdXNlZC4pIEUuZy4gMHgwMDAzIG1lYW5zIG9ubHkgNSBhbmQgMTAgbWh6IGFyZSBzdXBwb3J0ZWQuIEZvciBGUjIsIHRoZSBiaXRzIHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0bW9zdCBiaXQoTFNCKSBpbmRpY2F0ZTogNTAsIDEwMCwgMjAwLCA0MDAgbWh6IChUb3RhbGx5IDQgYml0cyBhcmUgdXNlZC4pIEUuZy4gMHgwMDA0IG1lYW5zIG9ubHkgMjAwIG1oeiBpcyBzdXBwb3J0ZWQuIixVTlNJR05FRCBTSE9SVCwyLCwsIjB4MDIsIDB4MDAsIixOUjE1LlIzLk1ENzAwLk1QLCwiMC04MTkxOkZvciBGUjEsIHRoZSBiaXRzIHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0bW9zdCBiaXQoTFNCKSBpbmRpY2F0ZTogNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCA0MCwgNTAsIDYwLCA3MCwgODAsIDkwLCAxMDAgTUh6IChUb3RhbGx5IDEzIGJpdHMgYXJlIHVzZWQuKSBFLmcuIDB4MDAwMyBtZWFucyBvbmx5IDUgYW5kIDEwIE1IeiBCV3MgYXJlIHN1cHBvcnRlZC4gRm9yIEZSMiwgdGhlIGJpdHMgc3RhcnRpbmcgZnJvbSB0aGUgcmlnaHRtb3N0IGJpdChMU0IpIGluZGljYXRlOiA1MCwgMTAwLCAyMDAsIDQwMCBNSHogKFRvdGFsbHkgNCBiaXRzIGFyZSB1c2VkLikgRS5nLiAweDAwMDQgbWVhbnMgb25seSAyMDAgTUh6IEJXIGlzIHN1cHBvcnRlZC4iLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KLTExMTczLDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsMSxzY3MsbnJfYndfc2V0dGluZ19saXN0WzB+MTldLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFswfjRdLmJ3X3Njc19iaXRtYXBbMH4yXS5zY3MsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdU0NTLCAxNSwzMCw2MCBmb3IgRlIxOyA2MCwxMjAgZm9yIEZSMiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZiZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzBdLmJ3X3Njc19iaXRtYXBbMV0uc2NzOjMwJmx0O0JSJmd0O25yX2J3X3NldHRpbmdfbGlzdFswXS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMV0uYndfc2NzX2JpdG1hcFswXS5zY3M6MTUmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFsxXS5id19zY3NfYml0bWFwWzFdLnNjczozMCZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzFdLmJ3X3Njc19iaXRtYXBbMl0uc2NzOjYwJmx0O0JSJmd0O25yX2J3X3NldHRpbmdfbGlzdFswXS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMl0uYndfc2NzX2JpdG1hcFswXS5zY3M6MTUmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFsyXS5id19zY3NfYml0bWFwWzFdLnNjczozMCZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzJdLmJ3X3Njc19iaXRtYXBbMl0uc2NzOjYwLE5SMTUuUjMuTUQ3MDAuTVAsLCIxNSwzMCw2MCwxMjA6VmFsaWQgdmFsdWVzIGZvciBGUjE6IDE1LDMwLDYwLiZsdDtCUiZndDtWYWxpZCB2YWx1ZXMgZm9yIEZSMjogNjAsMTIwLiZsdDtCUiZndDtWYWxpZCB2YWx1ZXMgZm9yIEZSMjogNjAsIDEyMCIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExNzMsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixzY3MsbnJfYndfc2V0dGluZ19saXN0WzB+MTldLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFswfjRdLmJ3X3Njc19iaXRtYXBbMH4yXS5zY3MsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdU0NTLCAxNSwzMCw2MCBmb3IgRlIxOyA2MCwxMjAgZm9yIEZSMiIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwiMTUsMzAsNjAsMTIwOlZhbGlkIHZhbHVlcyBmb3IgRlIxOiAxNSwzMCw2MC4mbHQ7QlImZ3Q7VmFsaWQgdmFsdWVzIGZvciBGUjI6IDYwLDEyMC4iLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KLTExMTc0LDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsMSxucl9iYW5kLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMH40XS5ucl9iYW5kLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTlIgYmFuZCxVTlNJR05FRCBTSE9SVCwyLCwsIjB4MWMsIDB4MDAsJmx0O0JSJmd0O25yX2J3X3NldHRpbmdfbGlzdFswXS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMV0ubnJfYmFuZDo3NyZsdDtCUiZndDtucl9id19zZXR0aW5nX2xpc3RbMF0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzJdLm5yX2JhbmQ6NzgiLE5SMTUuUjMuTUQ3MDAuTVAsLE5SIGJhbmQ6QW55IHZhbGlkIE5SIGJhbmQuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KIDExMTc0LDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsIjEsMiIsbnJfYmFuZCxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzB+NF0ubnJfYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU5SIGJhbmQsVU5TSUdORUQgU0hPUlQsMiwsLCIweDFjLCAweDAwLCIsTlIxNS5SMy5NRDcwMC5NUCwsTlIgYmFuZDpBbnkgdmFsaWQgTlIgYmFuZC4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQotMTExNzUsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwxLG51bV9vZl9id19zY3MsbnJfYndfc2V0dGluZ19saXN0WzB+MTldLmJ3X3Blcl9iYW5kX3NldHRpbmdfbGlzdFswfjRdLm51bV9vZl9id19zY3MsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgU0NTIGFuZCBCVyBiaXRtYXAgZWxlbWVudHMgKG1heCAzKSxVTlNJR05FRCBDSEFSLDEsLCwweDAyJmx0O0JSJmd0O25yX2J3X3NldHRpbmdfbGlzdFswXS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMV0ubnVtX29mX2J3X3NjczozJmx0O0JSJmd0O25yX2J3X3NldHRpbmdfbGlzdFswXS5id19wZXJfYmFuZF9zZXR0aW5nX2xpc3RbMl0ubnVtX29mX2J3X3NjczozLE5SMTUuUjMuTUQ3MDAuTVAsLDAtMzpOdW1iZXIgb2YgU0NTIGFuZCBCVyBiaXRtYXAgZWxlbWVudHMuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KIDExMTc1LDIzNzYsTlZSQU1fRUZfTVJTX05SX0JXX1NFVFRJTkdfTElTVF9MSUQsIjEsMiIsbnVtX29mX2J3X3Njcyxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0uYndfcGVyX2JhbmRfc2V0dGluZ19saXN0WzB+NF0ubnVtX29mX2J3X3NjcyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBTQ1MgYW5kIEJXIGJpdG1hcCBlbGVtZW50cyAobWF4IDMpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDIsTlIxNS5SMy5NRDcwMC5NUCwsMC0zOk51bWJlciBvZiBTQ1MgYW5kIEJXIGJpdG1hcCBlbGVtZW50cy4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQotMTExNzYsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwxLG51bV9vZl9ucl9iYW5kLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5udW1fb2ZfbnJfYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBCUiBwZXIgYmFuZCBzZXR0aW5nIGxpc3QgKG1heCA1KSxVTlNJR05FRCBDSEFSLDEsLCwweDAzLE5SMTUuUjMuTUQ3MDAuTVAsLDAtNTpOdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgJnF1b3Q7QlcgcGVyIGJhbmQgc2V0dGluZyBsaXN0JnF1b3Q7LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMTE3NiwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELCIxLDIiLG51bV9vZl9ucl9iYW5kLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5udW1fb2ZfbnJfYmFuZCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBCUiBwZXIgYmFuZCBzZXR0aW5nIGxpc3QgKG1heCA1KSxVTlNJR05FRCBDSEFSLDEsLCwweDAzLE5SMTUuUjMuTUQ3MDAuTVAsLDAtNTpOdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgJnF1b3Q7QlcgcGVyIGJhbmQgc2V0dGluZyBsaXN0JnF1b3Q7LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE3NywyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbnVtX29mX3BsbW4sbnJfYndfc2V0dGluZ19saXN0WzB+MTldLm51bV9vZl9wbG1uLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIFBMTU4gbGlzdCAobWF4IDIwKSxVTlNJR05FRCBDSEFSLDEsLCwweDAyLE5SMTUuUjMuTUQ3MDAuTVAsLDAtMjA6TnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIFBMTU4gbGlzdC4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExNzcsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixudW1fb2ZfcGxtbixucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ubnVtX29mX3BsbW4sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBsaXN0IChtYXggMjApLFVOU0lHTkVEIENIQVIsMSwsLDB4MDIsTlIxNS5SMy5NRDcwMC5NUCwsMC0yMDpOdW1iZXIgb2YgZW50cmllcyBpbiB0aGUgUExNTiBsaXN0LiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE3OCwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbWNjMSxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1jYzEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDQmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLnBsbW5fbGlzdFsxXS5tY2MxOjQsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1DQzEgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExNzgsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtY2MxLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubWNjMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNQ0MxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwNCxOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TUNDMSB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE3OSwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbWNjMixucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1jYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDQmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLnBsbW5fbGlzdFsxXS5tY2MyOjQsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1DQzIgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExNzksMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtY2MyLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubWNjMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNQ0MyIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwNCxOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TUNDMiB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE4MCwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbWNjMyxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1jYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTUNDMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1DQzMgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExODAsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtY2MzLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubWNjMyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNQ0MzIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TUNDMyB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE4MSwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbW5jMSxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1uYzEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMSBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDAmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLnBsbW5fbGlzdFsxXS5tbmMxOjUsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1OQzEgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExODEsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtbmMxLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubW5jMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNTkMxIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwNSxOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TU5DMSB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE4MiwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbW5jMixucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1uYzIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMiBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDEmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLnBsbW5fbGlzdFsxXS5tbmMyOjQsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1OQzIgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExODIsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtbmMyLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubW5jMixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNTkMyIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TU5DMiB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE4MywyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbW5jMyxucl9id19zZXR0aW5nX2xpc3RbMH4xOV0ucGxtbl9saXN0WzB+MTldLm1uYzMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sTU5DMyBmaWVsZCBvZiBQTE1OIElELFVOU0lHTkVEIENIQVIsMSwsLDB4MDAmbHQ7QlImZ3Q7bnJfYndfc2V0dGluZ19saXN0WzBdLnBsbW5fbGlzdFsxXS5tbmMzOmYsTlIxNS5SMy5NRDcwMC5NUCwsIjAtOSxGOk1OQzMgdmFsdWUuIEYgbWVhbnMgYW55IHZhbHVlLiIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExODMsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixtbmMzLG5yX2J3X3NldHRpbmdfbGlzdFswfjE5XS5wbG1uX2xpc3RbMH4xOV0ubW5jMyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxNTkMzIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwiMC05LEY6TU5DMyB2YWx1ZS4gRiBtZWFucyBhbnkgdmFsdWUuIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCi0xMTE4NCwyMzc2LE5WUkFNX0VGX01SU19OUl9CV19TRVRUSU5HX0xJU1RfTElELDEsbnVtX29mX25yX2J3X3NldHRpbmdfbGlzdF9lbGVtcyxudW1fb2ZfbnJfYndfc2V0dGluZ19saXN0X2VsZW1zLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTnVtYmVyIG9mIE5SIEJXIHNldHRpbmcgbGlzdCBlbGVtZW50cyAobWF4IDIwKSxVTlNJR05FRCBDSEFSLDEsLCwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDAtMTk6TnVtYmVyIG9mIE5SIEJXIHNldHRpbmcgbGlzdCBlbGVtZW50cy4sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxObyBzcGVjaWZpYyB0ZXN0IHBsYW4uLFBhc3MsLCwsDQogMTExODQsMjM3NixOVlJBTV9FRl9NUlNfTlJfQldfU0VUVElOR19MSVNUX0xJRCwiMSwyIixudW1fb2ZfbnJfYndfc2V0dGluZ19saXN0X2VsZW1zLG51bV9vZl9ucl9id19zZXR0aW5nX2xpc3RfZWxlbXMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1OdW1iZXIgb2YgTlIgQlcgc2V0dGluZyBsaXN0IGVsZW1lbnRzIChtYXggMjApLFVOU0lHTkVEIENIQVIsMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsMC0xOTpOdW1iZXIgb2YgTlIgQlcgc2V0dGluZyBsaXN0IGVsZW1lbnRzLiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLE5vIHNwZWNpZmljIHRlc3QgcGxhbi4sUGFzcywsLCwNCiAxMTE4NSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE0MF0uU0JQX05SX0JXX1NFVFRJTkdfTElTVCxtb2RlbV9zYnBfY29uZmlnWzE0MF0uU0JQX05SX0JXX1NFVFRJTkdfTElTVCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtTZXQgc3VwcG9ydGVkIE5SIGJhbmQgQldzJmx0O0JSJmd0O2JpdCAwOjA6Tm90IGVuYWJsZWQgdGhpcyBmZWF0dXJlJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlIHRoaXMgZmVhdHVyZSIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwwLzE6RmVhdHVyZSBkaXNhYmxlZCAoMCkgb3IgZW5hYmxlZCAoMSkuLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsTm8gc3BlY2lmaWMgdGVzdCBwbGFuLixQYXNzLCwsLA0KIDExMTg2LDIxMTIsTlZSQU1fRUZfSVdMQU5fUFJPRklMRV9MSUQsIjEsMiIseGNhcF9wZG5fYWxpZ25tZW50X3NldHRpbmcseGNhcF9hbnNfY2ZnLnhjYXBfcGRuX2FsaWdubWVudF9zZXR0aW5nLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGV0IFJBVCBzZWxlY3Rpb24gb2YgWENBUCBhbGlnbiB0YXJnZXQgcGRuIHdoZW4gdGFyZ2V0IHBkbiBpcyBhdnRpdmF0ZWQuJmx0O0JSJmd0O2FsaWdubWVudDo4ICZxdW90OyZxdW90OyAmbHQ7QlImZ3Q7MTomcXVvdDtEZWZhdWx0JnF1b3Q7OyZsdDtCUiZndDsyOiZxdW90O0lNUyZxdW90OzsmbHQ7QlImZ3Q7MzomcXVvdDtNTVMmcXVvdDs7Jmx0O0JSJmd0OzQ6JnF1b3Q7RU1FUkdFTkNZJnF1b3Q7OyZsdDtCUiZndDs1OiZxdW90O1hDQVAmcXVvdDs7Jmx0O0JSJmd0OzY6JnF1b3Q7UkNTJnF1b3Q7OyZsdDtCUiZndDs3OiZxdW90O0JJUCZxdW90OzsmbHQ7QlImZ3Q7ODomcXVvdDtTVVBMJnF1b3Q7OyZsdDtCUiZndDs5OiZxdW90O1ZTSU0mcXVvdDs7Jmx0O0JSJmd0OyZsdDtCUiZndDsmbHQ7QlImZ3Q7LFVOU0lHTkVEIENIQVIsMSwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMX45OjE6RGVmYXVsdCZsdDtCUiZndDsyOklNUyZsdDtCUiZndDszOk1NUyZsdDtCUiZndDs0OkVNRVJHRU5DWSZsdDtCUiZndDs1OlhDQVAmbHQ7QlImZ3Q7NjpSQ1MmbHQ7QlImZ3Q7NzpCSVAmbHQ7QlImZ3Q7ODpTVVBMJmx0O0JSJmd0Ozk6VlNJTSwsLCxXTEFOIG9mZmxvYWRpbmcgdGhyb3VnaCBlUERHIGZvciB1bnRydXN0ZWQgV2lGaSxlUERHLCwsVGhpcyBjb25maWd1cmF0aW9uIGNhbiZhcG9zO3Qgbm90IG9ic2VydmVkIGJ5IFVJIGJlaGF2aW9yLiZsdDtCUiZndDsmbHQ7QlImZ3Q7MS4gU2V0dGluZyBYQ0FQIGFsaWduIElNUyBQRE4mbHQ7QlImZ3Q7Mi4gRW5hYmxlIFZvV0lGSSBvciBWb0xURSZsdDtCUiZndDszLiBTd2l0Y2ggSU1TIGJldHdlZW4gVm9XSUZJIGFuZCBWb0xURSBhbmQgZW5hYmxlIFhDQVAgUEROJmx0O0JSJmd0OzQuIGNoZWNrIGxvZyB0aGF0IGRvZXMgWENBUCBzZXQgdXAgUEROIGZvbGxvdyB0YXJnZXQgUEROLiZsdDtCUiZndDtpdCZhcG9zO3MgbWVhbmluZyB0aGF0IHRoZSBSQVQgc2VsZWN0aW9uIG9mIFhDQVAgc2hvdWxkIGJlIHRoZSBzYW1lIHdpdGggdGFyZ2V0IFBETixQYXNzLCwsLA0KQEAgLTk5ODAsMTYgKzk5NDcsMTIgQEAKIDE0MDYzLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTQ3XS5TQlBfRElTQUJMRV9OUl9CMV9XSEVOX1BFRVJfU0lNX0NPTk5FQ1RFRCxtb2RlbV9zYnBfY29uZmlnWzE0N10uU0JQX0RJU0FCTEVfTlJfQjFfV0hFTl9QRUVSX1NJTV9DT05ORUNURUQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7V2hlbiBQZWVyIFNJTSBpcyBTQSBjb25uZWN0ZWQsIGRpc2FibGUgcmVwb3J0aW5nIG9mIE5SIEIxIGV2ZW50LiZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwweDAxOkRlZmF1bHQgb24sLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiTitMIG5vbi1kYXRhIGNhcmQgVm9MVEUgY2FsbCBvZmYsIGtlZXAgY29ubmVjdGVkIG1vZGUiLFBhc3MsLCwsDQogMTQwNjQsOTYxLE5WUkFNX0VGX1NCUF9NT0RFTV9EQVRBX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfZGF0YV9jb25maWdbMTE0XS5TQlBfVk9OUl9SQV9FUlJPUl9FTkhfQ0VMTF9CQVJfVElNRSxtb2RlbV9zYnBfZGF0YV9jb25maWdbMTE0XS5TQlBfVk9OUl9SQV9FUlJPUl9FTkhfQ0VMTF9CQVJfVElNRSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRGF0YSZsdDtCUiZndDtOUiBDZWxsIGV4Y2x1ZHNpb24gdGltZSBmb3IgdGhlIGVuaGFuY2VtZW50IixCSVQsOCwsOCwweDAyLE5SMTUuUjMuTUQ3MDAuTVAsLGludDogMH4yNTUsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxDb25maWd1cmUgdGhpcyBTQlAgYW5kIHRlc3QgTlIgU0EgY29ubmVjdGlvbiBmYWlsdXJlIHNjZW5hcmlvIHRvIHNlZSBpZiB0YXJnZXQgY2VsbCBpcyBiYXJyZWQgYWNjb3JkaW5nIHRvIHRoZSBTQlAgc2V0dGluZy4sVW50ZXN0ZWQsLCwsDQogMTQwNjYsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNjBdLlNCUF9WR01NX0RFQUNUX0lOVEVSTkVUX1BEVVNfSU5ELG1vZGVtX3NicF9jb25maWdbMTYwXS5TQlBfVkdNTV9ERUFDVF9JTlRFUk5FVF9QRFVTX0lORCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtJbiBvcmRlciB0byBpbXByb3ZlIHRoZSBzdWNjZXNzIHJhdGUgb2YgNUcgVk9OUiZsdDtCUiZndDtJZiBub24tZGF0YSBTSU0gTlcgcmVjb25maWd1cmUgaW50ZXJuZXQgRFJCIDQgdGltZXMsVkdNTSB0cnJpZ2VyIERETSBkZWFjdCBpbnRlcm5ldCBQRE4mbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsMSwsLCxJTVMsSU1TLCwsU0JQLFVudGVzdGVkLCwsLA0KLTE0MDY4LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGVuZGNfYmFuZHMsaW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0uZW5kY19iYW5kcyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXUxpc3Qgb2YgZW5kYyBiYW5kcyxVTlNJR05FRCBTSE9SVCw2NCwzMiwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwweDAwfjB4RkY6TGlzdCBvZiBlbmRjIGJhbmRzLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIlRlc3QgaW4gbWFjaGluZSAoWS9OKSBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdIE5BJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEsIG1vZGlmeSB0aGUgZGVmYXVsdCB2YWx1ZSBieSBNQ0YgdG9vbCZsdDtCUiZndDsyLCBzYXZlIHRoZSBtb2RpZmljYXRpb24gdG8gT1RBIGZpbGUmbHQ7QlImZ3Q7MywgcHVzaCB0aGUgT1RBIGZpbGUgdG8gRFVUJmx0O0JSJmd0OzQsIGNoZWNrIHRoZSB2YWx1ZSBieSBOVlJBTSBlZGl0b3ImbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7VGhlIHJlYWwgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIG1vZGlmaWNhdGlvbiB2YWx1ZSIsUGFzcywsLCwNCiAxNDA2OCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsZW5kY19iYW5kcyxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5lbmRjX2JhbmRzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGlzdCBvZiBlbmRjIGJhbmRzLFVOU0lHTkVEIFNIT1JULDY0LDMyLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MDB+MHhGRjpMaXN0IG9mIGVuZGMgYmFuZHMsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pIE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxMCZsdDtCUiZndDtbSW5pdF0gTkEmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MSwgbW9kaWZ5IHRoZSBkZWZhdWx0IHZhbHVlIGJ5IE1DRiB0b29sJmx0O0JSJmd0OzIsIHNhdmUgdGhlIG1vZGlmaWNhdGlvbiB0byBPVEEgZmlsZSZsdDtCUiZndDszLCBwdXNoIHRoZSBPVEEgZmlsZSB0byBEVVQmbHQ7QlImZ3Q7NCwgY2hlY2sgdGhlIHZhbHVlIGJ5IE5WUkFNIGVkaXRvciZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtUaGUgcmVhbCB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbW9kaWZpY2F0aW9uIHZhbHVlIixQYXNzLCwsLA0KLTE0MDY5LDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGVuZGNfYmFuZF9udW0saW52ZXJ0ZWRfbGlzdC5wbG1uX2dyb3VwX2xpc3RbMH4xOV0uZW5kY19iYW5kX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbmRjIGJhbmRzIHJlbGF0ZWQgdG8gUExNTnMgaW4gdGhlIFBMTU4gbGlzdCAobWF4IDMyKSxVTlNJR05FRCBDSEFSLDEsLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDB+MzI6TnVtYmVyIG9mIGVuZGMgYmFuZHMgcmVsYXRlZCB0byBQTE1OcyBpbiB0aGUgUExNTiBsaXN0LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIlRlc3QgaW4gbWFjaGluZSAoWS9OKSBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdIE5BJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEsIG1vZGlmeSB0aGUgZGVmYXVsdCB2YWx1ZSBieSBNQ0YgdG9vbCZsdDtCUiZndDsyLCBzYXZlIHRoZSBtb2RpZmljYXRpb24gdG8gT1RBIGZpbGUmbHQ7QlImZ3Q7MywgcHVzaCB0aGUgT1RBIGZpbGUgdG8gRFVUJmx0O0JSJmd0OzQsIGNoZWNrIHRoZSB2YWx1ZSBieSBOVlJBTSBlZGl0b3ImbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7VGhlIHJlYWwgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIG1vZGlmaWNhdGlvbiB2YWx1ZSIsUGFzcywsLCwNCiAxNDA2OSwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsZW5kY19iYW5kX251bSxpbnZlcnRlZF9saXN0LnBsbW5fZ3JvdXBfbGlzdFswfjE5XS5lbmRjX2JhbmRfbnVtLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTnVtYmVyIG9mIGVuZGMgYmFuZHMgcmVsYXRlZCB0byBQTE1OcyBpbiB0aGUgUExNTiBsaXN0IChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMH4zMjpOdW1iZXIgb2YgZW5kYyBiYW5kcyByZWxhdGVkIHRvIFBMTU5zIGluIHRoZSBQTE1OIGxpc3QsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pIE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxMCZsdDtCUiZndDtbSW5pdF0gTkEmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MSwgbW9kaWZ5IHRoZSBkZWZhdWx0IHZhbHVlIGJ5IE1DRiB0b29sJmx0O0JSJmd0OzIsIHNhdmUgdGhlIG1vZGlmaWNhdGlvbiB0byBPVEEgZmlsZSZsdDtCUiZndDszLCBwdXNoIHRoZSBPVEEgZmlsZSB0byBEVVQmbHQ7QlImZ3Q7NCwgY2hlY2sgdGhlIHZhbHVlIGJ5IE5WUkFNIGVkaXRvciZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtUaGUgcmVhbCB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbW9kaWZpY2F0aW9uIHZhbHVlIixQYXNzLCwsLA0KLTE0MDcwLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGVuZGNfYmFuZHMscG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0uZW5kY19iYW5kcyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXUxpc3Qgb2YgZW5kYyBiYW5kcyxVTlNJR05FRCBTSE9SVCw2NCwzMiwsIjB4MDUsIDB4MDAsIDB4MjYsIDB4MDAsIDB4MjksIDB4MDAsIDB4NGQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIixOUjE1LlIzLk1ENzAwLk1QLCwweDAwfjB4RkY6TGlzdCBvZiBlbmRjIGJhbmRzLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIlRlc3QgaW4gbWFjaGluZSAoWS9OKSBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdIE5BJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEsIG1vZGlmeSB0aGUgZGVmYXVsdCB2YWx1ZSBieSBNQ0YgdG9vbCZsdDtCUiZndDsyLCBzYXZlIHRoZSBtb2RpZmljYXRpb24gdG8gT1RBIGZpbGUmbHQ7QlImZ3Q7MywgcHVzaCB0aGUgT1RBIGZpbGUgdG8gRFVUJmx0O0JSJmd0OzQsIGNoZWNrIHRoZSB2YWx1ZSBieSBOVlJBTSBlZGl0b3ImbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7VGhlIHJlYWwgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIG1vZGlmaWNhdGlvbiB2YWx1ZSIsUGFzcywsLCwNCiAxNDA3MCwyMzc1LE5WUkFNX0VGX01SU19OUl9CQU5EX0RJU0FCTEVfTElTVF9MSUQsIjEsMiIsZW5kY19iYW5kcyxwb3NpdGl2ZV9saXN0LnBsbW5fbGlzdFswfjE5XS5lbmRjX2JhbmRzLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdTGlzdCBvZiBlbmRjIGJhbmRzLFVOU0lHTkVEIFNIT1JULDY0LDMyLCwiMHgwNSwgMHgwMCwgMHgyNiwgMHgwMCwgMHgyOSwgMHgwMCwgMHg0ZCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwiLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MDB+MHhGRjpMaXN0IG9mIGVuZGMgYmFuZHMsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pIE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxMCZsdDtCUiZndDtbSW5pdF0gTkEmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MSwgbW9kaWZ5IHRoZSBkZWZhdWx0IHZhbHVlIGJ5IE1DRiB0b29sJmx0O0JSJmd0OzIsIHNhdmUgdGhlIG1vZGlmaWNhdGlvbiB0byBPVEEgZmlsZSZsdDtCUiZndDszLCBwdXNoIHRoZSBPVEEgZmlsZSB0byBEVVQmbHQ7QlImZ3Q7NCwgY2hlY2sgdGhlIHZhbHVlIGJ5IE5WUkFNIGVkaXRvciZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtUaGUgcmVhbCB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbW9kaWZpY2F0aW9uIHZhbHVlIixQYXNzLCwsLA0KLTE0MDcxLDIzNzUsTlZSQU1fRUZfTVJTX05SX0JBTkRfRElTQUJMRV9MSVNUX0xJRCwxLGVuZGNfYmFuZF9udW0scG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0uZW5kY19iYW5kX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbmRjIGJhbmRzIHJlbGF0ZWQgdG8gUExNTiBjb2RlIChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDQsTlIxNS5SMy5NRDcwMC5NUCwsMH4zMjpOdW1iZXIgb2YgZW5kYyBiYW5kcyByZWxhdGVkIHRvIFBMTU4gY29kZSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCJUZXN0IGluIG1hY2hpbmUgKFkvTikgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDEwJmx0O0JSJmd0O1tJbml0XSBOQSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLCBtb2RpZnkgdGhlIGRlZmF1bHQgdmFsdWUgYnkgTUNGIHRvb2wmbHQ7QlImZ3Q7Miwgc2F2ZSB0aGUgbW9kaWZpY2F0aW9uIHRvIE9UQSBmaWxlJmx0O0JSJmd0OzMsIHB1c2ggdGhlIE9UQSBmaWxlIHRvIERVVCZsdDtCUiZndDs0LCBjaGVjayB0aGUgdmFsdWUgYnkgTlZSQU0gZWRpdG9yJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1RoZSByZWFsIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBtb2RpZmljYXRpb24gdmFsdWUiLFBhc3MsLCwsDQogMTQwNzEsMjM3NSxOVlJBTV9FRl9NUlNfTlJfQkFORF9ESVNBQkxFX0xJU1RfTElELCIxLDIiLGVuZGNfYmFuZF9udW0scG9zaXRpdmVfbGlzdC5wbG1uX2xpc3RbMH4xOV0uZW5kY19iYW5kX251bSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXU51bWJlciBvZiBlbmRjIGJhbmRzIHJlbGF0ZWQgdG8gUExNTiBjb2RlIChtYXggMzIpLFVOU0lHTkVEIENIQVIsMSwsLDB4MDQsTlIxNS5SMy5NRDcwMC5NUCwsMH4zMjpOdW1iZXIgb2YgZW5kYyBiYW5kcyByZWxhdGVkIHRvIFBMTU4gY29kZSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCJUZXN0IGluIG1hY2hpbmUgKFkvTikgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDEwJmx0O0JSJmd0O1tJbml0XSBOQSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLCBtb2RpZnkgdGhlIGRlZmF1bHQgdmFsdWUgYnkgTUNGIHRvb2wmbHQ7QlImZ3Q7Miwgc2F2ZSB0aGUgbW9kaWZpY2F0aW9uIHRvIE9UQSBmaWxlJmx0O0JSJmd0OzMsIHB1c2ggdGhlIE9UQSBmaWxlIHRvIERVVCZsdDtCUiZndDs0LCBjaGVjayB0aGUgdmFsdWUgYnkgTlZSQU0gZWRpdG9yJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O1RoZSByZWFsIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBtb2RpZmljYXRpb24gdmFsdWUiLFBhc3MsLCwsDQogMTQwNzIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNDVdLlNCUF9ESVNBQkxFX0tERElfTFRFX0FUVEFDSF9XSVRIX0lNU19BUE4sbW9kZW1fc2JwX2NvbmZpZ1sxNDVdLlNCUF9ESVNBQkxFX0tERElfTFRFX0FUVEFDSF9XSVRIX0lNU19BUE4sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RGlzYWJsZSBLRERJIExURSBhdHRhY2ggd2l0aCBJTVMgQVBOJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGJpdDogMC8xLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIjEuIEVuYmxlIHRoZSBTQlAgZmVhdHVyZSZsdDtCUiZndDsyLiBFbnRlciBhbiBpbnZhbGlkIExURSBhdHRhY2ggY29uZmlndXJhdGlvbiBhbmQgb2JlcnZlIHRoYXQgTlcgcmVqZWN0cyB0aGUgTFRFIGF0dGFjaCByZXF1ZXN0IGZyb20gVUUgd2l0aCBhbiBFU00gY2F1c2UmbHQ7QlImZ3Q7My4gT2JzZXJ2ZSB0aGF0IHRoZSBuZXh0IExURSBhdHRhY2ggY29uZmlndXJhdGlvbiwgZXNwZWNpYWxseSB0aGUgYXR0YWNoIEFQTiwgaXMgdGhlIHNhbWUgYXMgcHJldmlvdXMgb25lLiAoQVBOIGRvZXMgbm90IGNoYW5nZWQgdG8gSU1TKSIsUGFzcywsLCwNCi0xNDEwOSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE0NV0uU0JQX0VSUkNfUFJFRkVSX0xBUkdFX0JXX0ZPUl9SRVNFTCxtb2RlbV9zYnBfY29uZmlnWzE0NV0uU0JQX0VSUkNfUFJFRkVSX0xBUkdFX0JXX0ZPUl9SRVNFTCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtSZXNlbGVjdGlvbiB0byBMYXJnZXIgQlcgTkJSIHdoZW4gcmVzZWwgY3JpdGVyaWEgbm90IHNhdGlzZnkmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzE0MTA5LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTQ1XS5TQlBfRVJSQ19QUkVGRVJfTEFSR0VfQldfRk9SX1JFU0VMLG1vZGVtX3NicF9jb25maWdbMTQ1XS5TQlBfRVJSQ19QUkVGRVJfTEFSR0VfQldfRk9SX1JFU0VMLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1Jlc2VsZWN0aW9uIHRvIExhcmdlciBCVyBOQlIgd2hlbiByZXNlbCBjcml0ZXJpYSBub3Qgc2F0aXNmeSZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwxLCwsLFtSYXlhc10gSUUgJnF1b3Q7c3VwcG9ydGVkQmFuZHdpZHRoQ29tYmluYXRpb25TZXRJbnRyYUVOREMmcXVvdDsgcmVwb3J0IHJ1bGUgY2hhbmdlLE1USyBNZXRlb3IsLCxjb25maWd1cmUgaW4gTUNGIHRvb2wgYW5kIHB1c2ggdG8gbW9kZW0sVW50ZXN0ZWQsLCwsDQogMTQxMTMsOTYxLE5WUkFNX0VGX1NCUF9NT0RFTV9EQVRBX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfZGF0YV9jb25maWdbMTA4XS5TQlBfTEVHQUNZX0ZEX1RJTUVSX1NDUk5fT0ZGLG1vZGVtX3NicF9kYXRhX2NvbmZpZ1sxMDhdLlNCUF9MRUdBQ1lfRkRfVElNRVJfU0NSTl9PRkYsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIERhdGEmbHQ7QlImZ3Q7dGhlIHRpbWVyIHBlcmlvZCBvZiBsZWdhY3kgKHByZS1SOCkgZmFzdCBkb3JtYW5jeSB0aW1lciB3aGVuIHNjcmVlbiBvZmYiLEJJVCw4LCw4LDB4MzIsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KIDE0MTE0LDk2MSxOVlJBTV9FRl9TQlBfTU9ERU1fREFUQV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2RhdGFfY29uZmlnWzEwOV0uU0JQX0xFR0FDWV9GRF9USU1FUl9TQ1JOX09OLG1vZGVtX3NicF9kYXRhX2NvbmZpZ1sxMDldLlNCUF9MRUdBQ1lfRkRfVElNRVJfU0NSTl9PTixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRGF0YSZsdDtCUiZndDt0aGUgdGltZXIgcGVyaW9kIG9mIGxlZ2FjeSAocHJlLVI4KSBmYXN0IGRvcm1hbmN5IHRpbWVyIHdoZW4gc2NyZWVuIG9uIixCSVQsOCwsOCwweDk2LE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDE0MTE1LDk2MSxOVlJBTV9FRl9TQlBfTU9ERU1fREFUQV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2RhdGFfY29uZmlnWzExMF0uU0JQX1I4X0ZEX1RJTUVSX1NDUk5fT0ZGLG1vZGVtX3NicF9kYXRhX2NvbmZpZ1sxMTBdLlNCUF9SOF9GRF9USU1FUl9TQ1JOX09GRixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRGF0YSZsdDtCUiZndDt0aGUgdGltZXIgcGVyaW9kIG9mIFI4IGZhc3QgZG9ybWFuY3kgdGltZXIgd2hlbiBzY3JlZW4gb2ZmIixCSVQsOCwsOCwweDMyLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KQEAgLTEwMDI0LDEwICs5OTg3LDEwIEBACiAxNjEwOCwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixjYWxsX21vX3BpZGZfdXNhZ2UuYjYsdWFfY29uZmlnLmNhbGxfbW9fcGlkZl91c2FnZS5iNixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl1CaXQgbWFzayB3aGV0aGVyIHRvIGFkZCBwaWRmL2xvY2F0aW9uIGluIGRpZmZlcmVudCBraW5kcyBvZiBNTyBjYWxscy4gQml0IDAgbWVhbnMgZW5hYmxlZCwgYml0ICAxIGRpc2FibGVkLiZsdDtCUiZndDtXRkMgdG8gUHJlIGRlZmluZWQgbnVtYmVycyhTZWUgcmVxdWlyZWRfbG9jX2luZm9fbnVtX3NldCkgKGRlZmF1bHQgMCkiLEJJVCwxLCwxLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsTi9BLCwsLCxtbyBjYWxsLFVudGVzdGVkLCwsLA0KIDE2MTA5LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLGNhbGxfbW9fcGlkZl91c2FnZS5iNyx1YV9jb25maWcuY2FsbF9tb19waWRmX3VzYWdlLmI3LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJbTUNGXUJpdCBtYXNrIHdoZXRoZXIgdG8gYWRkIHBpZGYvbG9jYXRpb24gaW4gZGlmZmVyZW50IGtpbmRzIG9mIE1PIGNhbGxzLiBCaXQgMCBtZWFucyBlbmFibGVkLCBiaXQgIDEgZGlzYWJsZWQuJmx0O0JSJmd0O1ZvTFRFIHRvIFByZSBkZWZpbmVkIG51bWJlcnMoU2VlIHJlcXVpcmVkX2xvY19pbmZvX251bV9zZXQpIChkZWZhdWx0IDEpIixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLE4vQSwsLCwsbW8gY2FsbCxVbnRlc3RlZCwsLCwNCiAxNjExMCwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixjYWxsX21vX3BpZGZfdXNhZ2UuYjgsdWFfY29uZmlnLmNhbGxfbW9fcGlkZl91c2FnZS5iOCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl1CaXQgbWFzayB3aGV0aGVyIHRvIGFkZCBwaWRmL2xvY2F0aW9uIGluIGRpZmZlcmVudCBraW5kcyBvZiBNTyBjYWxscy4gQml0IDAgbWVhbnMgZW5hYmxlZCwgYml0ICAxIGRpc2FibGVkLiZsdDtCUiZndDtyZXNlcnZlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwsLCxOL0EsLCwsLG1vIGNhbGwsVW50ZXN0ZWQsLCwsDQotMTYxMTIsNjA5MjksTlZSQU1fRUZfRVJSQ19QRVJGT1JNQU5DRV9QQVJBX0xJRCwiMSwyIixRX3F1YWxtaW5fdGhfaGlnaCxRX3F1YWxtaW5fdGhfaGlnaCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXVtEb2NdLENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KLTE2MTEzLDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIsUV9xdWFsbWluX3RoX2xvdyxRX3F1YWxtaW5fdGhfbG93LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdW0RvY10sQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsVW50ZXN0ZWQsLCwsDQotMTYxMTQsNjA5MjksTlZSQU1fRUZfRVJSQ19QRVJGT1JNQU5DRV9QQVJBX0xJRCwiMSwyIixRX3J4bGV2X3RoX2hpZ2gsUV9yeGxldl90aF9oaWdoLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdW0RvY10sQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwsVW50ZXN0ZWQsLCwsDQotMTYxMTUsNjA5MjksTlZSQU1fRUZfRVJSQ19QRVJGT1JNQU5DRV9QQVJBX0xJRCwiMSwyIixRX3J4bGV2X3RoX2xvdyxRX3J4bGV2X3RoX2xvdyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXVtEb2NdLENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsLFVudGVzdGVkLCwsLA0KKzE2MTEyLDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIsUV9xdWFsbWluX3RoX2hpZ2gsUV9xdWFsbWluX3RoX2hpZ2gsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1bRG9jXSxDSEFSLDEsLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgcGFyYW0gaW4gdG9vbCBhbmQgcHVzaCB0byBVRSxQYXNzLCwsLA0KKzE2MTEzLDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIsUV9xdWFsbWluX3RoX2xvdyxRX3F1YWxtaW5fdGhfbG93LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdW0RvY10sQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsY29uZmlndXJlIHZhbHVlIGluIE1DRiBhbmQgcHVzaCB0byBVRSxQYXNzLCwsLA0KKzE2MTE0LDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIsUV9yeGxldl90aF9oaWdoLFFfcnhsZXZfdGhfaGlnaCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXVtEb2NdLENIQVIsMSwsLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMCwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLGNvbmZpZ3VyZSBpbiBNQ0YgdG9vbCBhbmQgcHVzaCB0byBVRSxQYXNzLCwsLA0KKzE2MTE1LDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIsUV9yeGxldl90aF9sb3csUV9yeGxldl90aF9sb3csT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1bRG9jXSxDSEFSLDEsLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxjb25maWd1cmUgaXRlbSBpbiBNQ0YgYW5kIHB1c2ggdG8gVUUsUGFzcywsLCwNCiAxNjEyMiwyMTEyLE5WUkFNX0VGX0lXTEFOX1BST0ZJTEVfTElELCIxLDIiLHdhbnNfcHR0X3ByZWZfc2V0dGluZyxjb21tX2Fuc19jZmcucHJlZl9jZmcud2Fuc19wdHRfcHJlZl9zZXR0aW5nLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdIHB0dCBBUE4gV0lGSSBvZmZsb2FkIHNldHRpbmcuJmx0O0JSJmd0O3ByZWY6NCAmcXVvdDsmcXVvdDsgJmx0O0JSJmd0OzA6JnF1b3Q7Q0VMTCBPTkxZJnF1b3Q7OyZsdDtCUiZndDsxOiZxdW90O1dMQU4gUFJFRiZxdW90OzsmbHQ7QlImZ3Q7MjomcXVvdDtDRUxMIFBSRUYmcXVvdDs7Jmx0O0JSJmd0OzM6JnF1b3Q7V0xBTiBPTkxZJnF1b3Q7OyZsdDtCUiZndDs0OiZxdW90O0VQQyBQUkVGIChMVEUmZ3Q7V2lGaSZndDtDUykmcXVvdDs7Jmx0O0JSJmd0OzU6JnF1b3Q7SU1TIENVUlJFTlQgUkFOIFBSRUYmcXVvdDs7Jmx0O0JSJmd0OzB4RjogJnF1b3Q7cmVmZXIgdG8gV0ZDIFVJJnF1b3Q7OyZsdDtCUiZndDsmbHQ7QlImZ3Q7d2ZvOjQgJnF1b3Q7d2ZvIGNhcGFiaWxpdHkmcXVvdDsgJmx0O0JSJmd0OzA6ICZxdW90O25vdCByZWZlciB0byBXRkMgVUkmcXVvdDs7Jmx0O0JSJmd0OzB4RjogJnF1b3Q7cmVmZXIgdG8gV0ZDIFVJJnF1b3Q7OyZsdDtCUiZndDsmbHQ7QlImZ3Q7Jmx0O0JSJmd0OyxVTlNJR05FRCBJTlQsNCwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMH41Jmx0O0JSJmd0OzB4RiwsLCxXTEFOIG9mZmxvYWRpbmcgdGhyb3VnaCBlUERHIGZvciB1bnRydXN0ZWQgV2lGaSxlUERHLCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBzZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uIHZhbHVlJmx0O0JSJmd0OzIuIG1ha2Ugc3VyZSBib3RoIGNlbGx1bGFyIGFuZCB3aWZpIGhhdmUgZ29vZCBzaWduYWwgcXVhbGl0eSB3aXRoIERVVCZsdDtCUiZndDszLiBlc3RhYmxpc2ggdGhlIFBETiBvZiBQVFQmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7UFRUIHdpbGwgZm9sbG93IHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmcgdG8gZGVjaWRlIHRoZSBzZWxlY3Rpb24gb2YgUk5BLFBhc3MsLCwsDQogMTYxMjMsMjExMixOVlJBTV9FRl9JV0xBTl9QUk9GSUxFX0xJRCwiMSwyIix3YW5zX3B0dF9wcmVmX3NldHRpbmcucHJlZixjb21tX2Fuc19jZmcucHJlZl9jZmcud2Fuc19wdHRfcHJlZl9zZXR0aW5nLnByZWYsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0gcHR0IEFQTiBXSUZJIG9mZmxvYWQgc2V0dGluZy4mbHQ7QlImZ3Q7Jmx0O0JSJmd0O2JpdCAwOjA6Q0VMTCBPTkxZJmx0O0JSJmd0O2JpdCAxOjE6V0xBTiBQUkVGJmx0O0JSJmd0O2JpdCAyOjI6Q0VMTCBQUkVGJmx0O0JSJmd0O2JpdCAzOjM6V0xBTiBPTkxZJmx0O0JSJmd0O2JpdCA0OjQ6RVBDIFBSRUYgKExURSZndDtXaUZpJmd0O0NTKSZsdDtCUiZndDtiaXQgNTo1OklNUyBDVVJSRU5UIFJBTiBQUkVGJmx0O0JSJmd0O2JpdCAxNToxNTpyZWZlciB0byBXRkMgVUkmbHQ7QlImZ3Q7LEJJVCw0LCw0LDB4MGYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQogMTYxMjQsMjExMixOVlJBTV9FRl9JV0xBTl9QUk9GSUxFX0xJRCwiMSwyIix3YW5zX3B0dF9wcmVmX3NldHRpbmcud2ZvLGNvbW1fYW5zX2NmZy5wcmVmX2NmZy53YW5zX3B0dF9wcmVmX3NldHRpbmcud2ZvLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdIHB0dCBBUE4gV0lGSSBvZmZsb2FkIHNldHRpbmcuJmx0O0JSJmd0O3dmbyBjYXBhYmlsaXR5Jmx0O0JSJmd0O2JpdCAwOjA6bm90IHJlZmVyIHRvIFdGQyBVSSZsdDtCUiZndDtiaXQgMTU6MTU6cmVmZXIgdG8gV0ZDIFVJJmx0O0JSJmd0OyxCSVQsNCwsNCwweDBmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KQEAgLTEwNDQ2LDcgKzEwNDA5LDcgQEAKIDIyNzM3LDIzODksTlZSQU1fRUZfTVJTX1JBVF9DQVBBQklMSVRZX0NPTkZJR19MSUQsMSxtbmMzLHJhdF9jYXBfY29uZmlnX2xpc3RbMH4yOTldLnNwbG1uLm1uYzMsT1RBLG5vLG5vLG5vLHllcyxNTkMzIGZpZWxkIG9mIFBMTU4gSUQsVU5TSUdORUQgQ0hBUiwxLCwsMHgwZixOUjE1LlIzLk1ENzAwLk1QLCwwfjE1LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChZL04pIFkmbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxMCZsdDtCUiZndDtbSW5pdF0gJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O0FkZCBtb2RpZmllZCBNQ0YgdmFsdWUgYW5kIGRvIHBvd2VyIG9uJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O0NoZWNrIGlmIE1DRiBtb2RpZmllZCB2YWx1ZSBoYXMgYmVlbiBtb2RpZmllZCxQYXNzLCwsLA0KIDIyNzQxLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTYyXS5TQlBfTkFTX1NWX0dTTV9DQVBfQ09OVFJPTF9CWV9NUlNfQ09ORklHLG1vZGVtX3NicF9jb25maWdbMTYyXS5TQlBfTkFTX1NWX0dTTV9DQVBfQ09OVFJPTF9CWV9NUlNfQ09ORklHLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O2Rpc2FibGUgdGhlIGZlYXR1cmUuJmx0O0JSJmd0O2JpdCAwOjA6Tm90IEVuYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAvMSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoWS9OKSBZJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykgMTAmbHQ7QlImZ3Q7W0luaXRdICZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtBZGQgbW9kaWZpZWQgTUNGIHZhbHVlIGFuZCBkbyBwb3dlciBvbiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtDaGVjayBpZiBNQ0YgbW9kaWZpZWQgdmFsdWUgaGFzIGJlZW4gbW9kaWZpZWQsUGFzcywsLCwNCiAyMjc0Miw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2Ml0uU0JQX1JBQ19DSEFOR0VfVUVNT0RFX0JZX0NBUCxtb2RlbV9zYnBfY29uZmlnWzE2Ml0uU0JQX1JBQ19DSEFOR0VfVUVNT0RFX0JZX0NBUCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtkaXNhYmxlIHRoZSBmZWF0dXJlLiZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQotMjI3NDgsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsZW1lcmdlbmN5X3Nlc3Npb25fa2VlcF90aW1lcixpbWNfY29uZmlnLmVtZXJnZW5jeV9zZXNzaW9uX2tlZXBfdGltZXIsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl1BIHRpbWVyIGtlZXAgbW9kZW0gaW4gZW1jIG1vZGUgd2hlbiBpbXMgZW1lcmdlbmN5IGNhbGwgZW5kIHdpdGggY29uZmlndXJhdGlvbiB0aGF0IGVtZXJnZW5jeSBkZXJlZyBub3QgYWxsb3dlZCBBTjp1bml0OiBtcyxVTlNJR05FRCBJTlQsNCwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCxUZXN0IGluIG1hY2hpbmUgKFkpJmx0O0JSJmd0O1Rlc3QgVGltZSAoMiBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Q01DQyBWb0xURSBOU0lPVCBjYXNlIDE5LjQuMiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtDTUNDIFZvTFRFIE5TSU9UIGNhc2UgMTkuNC4yJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O0Nhc2UgcGFzcyxVbnRlc3RlZCwsLCwNCisyMjc0OCwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixlbWVyZ2VuY3lfc2Vzc2lvbl9rZWVwX3RpbWVyLGltY19jb25maWcuZW1lcmdlbmN5X3Nlc3Npb25fa2VlcF90aW1lcixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXUEgdGltZXIga2VlcCBtb2RlbSBpbiBlbWMgbW9kZSB3aGVuIGltcyBlbWVyZ2VuY3kgY2FsbCBlbmQgd2l0aCBjb25maWd1cmF0aW9uIHRoYXQgZW1lcmdlbmN5IGRlcmVnIG5vdCBhbGxvd2VkIEFOOnVuaXQ6IG1zLFVOU0lHTkVEIElOVCw0LCwsMTAwMDAsTlIxNS5SMy5NRDcwMC5NUCwsaW50LCwsLElNUyxJTVMsLCxUZXN0IGluIG1hY2hpbmUgKFkpJmx0O0JSJmd0O1Rlc3QgVGltZSAoMiBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7Q01DQyBWb0xURSBOU0lPVCBjYXNlIDE5LjQuMiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtDTUNDIFZvTFRFIE5TSU9UIGNhc2UgMTkuNC4yJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O0Nhc2UgcGFzcyxVbnRlc3RlZCwsLCwNCiAyMjc1Nyw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3M10uU0JQX1VFX0NBUF9TUlNfVFhQT1JUU1dJVENILG1vZGVtX3NicF9jb25maWdbMTczXS5TQlBfVUVfQ0FQX1NSU19UWFBPUlRTV0lUQ0gsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7c2V0IHN1cHBvcnRlZFNSU19UWFBPUlRTV0lUQ0ggZGlzYWJsZSZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsImJpdDogMC8xOlRSVUUvRkFMU0Ugc2VsZWNldCBieSBjdXN0b21lciZsdDtCUiZndDswOiBmYWxzZSwgMTogdHJ1ZSIsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pOiBOJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IE5BJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDtOZWVkIHRvIGJlIHRlc3RlZCB1bmRlciBzcGVjaWZpYyBvcGVyYXRvciwgZS5nLiBEb2NvbW8mbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7c3JzIHR4IHBvcnQgc3dpdGNoIGN1c3RvbWl6YXRpb24gaXMgb25seSB3b3JrZWQgb24gc3BlY2lmaWMgb3BlcmF0b3IsIGUuZy4gQ01DQyIsVW50ZXN0ZWQsLCwsDQogMjI3NjIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzRdLlNCUF9ISUdIX1BSSU9SSVRZX1BBR0lOR19QUkVFTVBUX1BFRVJfVEFVLG1vZGVtX3NicF9jb25maWdbMTc0XS5TQlBfSElHSF9QUklPUklUWV9QQUdJTkdfUFJFRU1QVF9QRUVSX1RBVSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtTdGFydCBNU1BNX0VNTV9UQVUgaW5zdGVhZCBvZiBNU1BNX0VNTV9JUkFUX1RBVSBzZXNzaW9uJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQuIFN0YXJ0IE1TUE1fRU1NX0lSQVRfVEFVJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZC4gU3RhcnQgTVNQTV9FTU1fVEFVJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxNVCBjYWxsIGluIHNpbTIgd2hlbiBzaW0xIGRvaW5nIFRBVSxVbnRlc3RlZCwsLCwNCiAyMjc2MywyNDM1LE5WUkFNX0VGX05SUkNfQ09NTU9OX0NPTkZJR19MSUQsIjEsMiIscnNycF90aHJlc2hvbGQsaHN0X2NlbGxfcGFyYW0ucnNycF90aHJlc2hvbGQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0gY3VzdG9tIHZhbHVlIG9mIHJzcnAgdGhyZXNob2xkIGZvciBoc3QgZW5oYW5jZSxTSE9SVCwyLCwsIjB4NDgsIDB4ZmUsIixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIE5vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gTm9uZSxVbnRlc3RlZCwsLCwNCkBAIC0xMDQ3Myw2ICsxMDQzNiw3IEBACiAyMjk4NywyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIsc3VwcG9ydF9wdXRfY2Zfcm9vdF9ydWxlcyx4Y2FwX2luZm8uc3VwcG9ydF9wdXRfY2Zfcm9vdF9ydWxlcyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxEZWNpZGUgd2hlbiB0byBwdXQgdGhlIHdob2xlIENGIHJ1bGVzZXQgeG1sIHRvIHNlcnZlciZsdDtCUiZndDswOldoZW4gbW9yZSB0aGFuIG9uZSBydWxlIG9yIG5vZGUgbmVlZCB0byBiZSBjaGFuZ2VkJmx0O0JSJmd0OzE6T25seSB3aGVuIGFsbCBjYWxsIGZvcndhcmRpbmcgb3IgYWxsIGNvbmRpdGlvbmFsIGNhbGwgZm9yd2FyZGluZyByZXF1ZXN0IGlzIGxhdW5jaGVkJmx0O0JSJmd0OyxVTlNJR05FRCBDSEFSLDEsLCwxLE5SMTUuUjMuTUQ3MDAuTVAsLCIwLCAxOk9ubHkgd2hlbiBhbGwgY2FsbCBmb3J3YXJkaW5nIG9yIGFsbCBjb25kaXRpb25hbCBjYWxsIGZvcndhcmRpbmcgcmVxdWVzdCBpcyBsYXVuY2hlZCIsLCwsWENBUCBJTVMtU1MsWENBUCwsLENhbGwgRm9yd2FyZGluZyxVbnRlc3RlZCwsLCwNCiAyMjk4OSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2M10uU0JQX0xURV9JR05PUkVfSVJfUkVESVJFQ1RfRFVSSU5HX1NBX1NJTEVOQ0VfTU9ERSxtb2RlbV9zYnBfY29uZmlnWzE2M10uU0JQX0xURV9JR05PUkVfSVJfUkVESVJFQ1RfRFVSSU5HX1NBX1NJTEVOQ0VfTU9ERSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtFUlJDIFdpbGwgSWdub3JlIE5SIFJlZGlyZWN0aW9uIGR1cmluZyBTQSBTaWxlbmNlIE1vZGUmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDA6RGlzYWJsZWQsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwxLlR1cm4gT24gU0EgU2lsZW50IE1vZGUgJmx0O0JSJmd0OzIuIFRyaWdnZXIgcmVkaXJlY3Rpb24gdG8gTlIgZnJvbSBMVEUsUGFzcywsLCwNCiAyMjk5MCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2NV0uU0JQX05SX1JFX0VTVF9TRUFSQ0hfT1BUX1NUT1JFRF9PTkxZLG1vZGVtX3NicF9jb25maWdbMTY1XS5TQlBfTlJfUkVfRVNUX1NFQVJDSF9PUFRfU1RPUkVEX09OTFksT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7UGVyZm9ybSB0aGUgc3RvcmVkIGZyZXF1ZW5jeSBzZWFyY2ggb25seSBpbiBOUiBSUkMgY29ubmVjdGlvbiByZS1lc3RhYmxpc2htZW50LiZsdDtCUiZndDtiaXQgMDowOkVuaGFuY2VtZW50IGRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5oYW5jZW1lbnQgZW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMjI5OTIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxODBdLlNCUF9FUlJDX0FWT0lEX1dFQUtfSFNSX0NFTEwsbW9kZW1fc2JwX2NvbmZpZ1sxODBdLlNCUF9FUlJDX0FWT0lEX1dFQUtfSFNSX0NFTEwsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RVJSQyBXaWxsIEF2b2lkIFdlYWFrIEhTUiBDZWxsJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxOkVuYWJsZSZsdDtCUiZndDswOkRpc2FibGUsLCwsLCwsLCJUZXN0IGluIG1hY2hpbmUgKFkpJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcykmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O0RVVCBpbiBMVEUgSFNSIG1vZGUmbHQ7QlImZ3Q7U2V0dXAgQTpPbmx5IG9uZSBIU1IgY2VsbCBwcmVzZW50IHdpdGggUlNSUCAmbHQ7IFRIICwmbHQ7QlImZ3Q7U2V0dXAgQjogVHdvIGNlbGwsIGNlbGwtQShIU1QpICZsdDsgVEggLCBjZWxsLUIobm9uLUhTVCkgJmd0OyBUSCAmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gUGVyZm9ybSBDU0ZCJmx0O0JSJmd0OzIuIFNldHVwIEEgaXMgYWN0aXZlLiBDYWxsIGlzIGVuZGVkJmx0O0JSJmd0OzMuUGVyZm9ybSBDU0ZCIGFnYWluIGFuZCAmbHQ7QlImZ3Q7NC4gU2V0dXAgQiBpcyBhY3RpdmUuIENhbGwgaXMgZW5kZWQmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7MS5Pbmx5IG9uZSBIU1IgY2VsbCBwcmVzZW50IHdpdGggUlNSUCAmbHQ7IFRIICwgc2hvdWxkIGJlIHNlbGVjdGVkLiBObyBPT1MuJmx0O0JSJmd0OzIuVHdvIGNlbGwsIGNlbGwtQShIU1QpICZsdDsgVEggLCBjZWxsLUIobm9uLUhTVCkgJmd0OyBUSCAsIGNlbGwtQiB0byBiZSBzZWxlY3RlZC4iLFBhc3MsLCwsDQogMjI5OTUsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNjBdLlNCUF9OUl9TRVRVUF9MQVRFTkNZX1BTX09QVCxtb2RlbV9zYnBfY29uZmlnWzE2MF0uU0JQX05SX1NFVFVQX0xBVEVOQ1lfUFNfT1BULE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0luZGljYXRlIGRpc2FibGUgdGhlIE5SIHNldHVwIG9wdGltaXphdGlvbiBmZWF0dXJlIGluIFBTJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGJvb2w6IGVuYWJsZS9kaXNhYmxlLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChZL04pIE4mbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKSAxbWlucyZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7TlIgU0EgZW5hYmxlJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O2VuYWJsZSBTQlAgU0JQX05SX1NFVFVQX0xBVEVOQ1lfUFNfT1BUJmx0O0JSJmd0O3Bvd2VyIG9uIHRoZSBVRSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtTQlBfTlJfU0VUVVBfTEFURU5DWV9QU19PUFQgaXMgZW5hYmxlZCxVbnRlc3RlZCwsLCwNCiAyMjk5OCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2MV0uU0JQX1NTX1VTU0RfUkVTUE9OU0VfQkFTRURfVVBPTl9VU0VSX0FDVElPTixtb2RlbV9zYnBfY29uZmlnWzE2MV0uU0JQX1NTX1VTU0RfUkVTUE9OU0VfQkFTRURfVVBPTl9VU0VSX0FDVElPTixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtTUyBVU1NEIHJlc3BvbnNlIGJhc2VkIG9uIHVzZXIgYWN0aW9uJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAyMjk5OSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2M10uU0JQX05SX1NVUFBPUlRfRVhURU5ERURfQkFORF83N19VU0EsbW9kZW1fc2JwX2NvbmZpZ1sxNjNdLlNCUF9OUl9TVVBQT1JUX0VYVEVOREVEX0JBTkRfNzdfVVNBLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1VFIHN1cHBvcnRzIE5SIGV4dGVuZGVkIGJhbmQgbjc3IFVTQSZsdDtCUiZndDtiaXQgMDowOk5vdCBTdXBwb3J0ZWQmbHQ7QlImZ3Q7Yml0IDE6MTpTdXBwb3J0ZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDAsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIE5vbmUmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gTm9uZSxQYXNzLCwsLA0KQEAgLTEwNTYxLDYgKzEwNTI1LDcgQEAKIDIzNjYzLDYwOTI5LE5WUkFNX0VGX0VSUkNfUEVSRk9STUFOQ0VfUEFSQV9MSUQsIjEsMiIscGluZ3BvbmdfNGc1X3QxLHBpbmdwb25nXzRnNV90MSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXUN1c3RvbWl6ZWQgNEc1IHBpbmdwb25nIGRldGVjdGlvbiBkdXJhdGlvbiBUMS4gKHNlY29uZHMpLFVOU0lHTkVEIFNIT1JULDIsLCwiMHgyYywgMHgwMSwiLE5SMTUuUjMuTUQ3MDAuTVAsLDB4RkZGRiA6IEludmFsaWQmbHQ7QlImZ3Q7YW55IG5lZ2F0aXZlIHZhbHVlIGlzIHZhbGlkLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsIltJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDs0RzUgcmVzZWxlY3Rpb24sIEhPIGFuZCByZWRpcmVjdGlvbiBjYXNlcyZsdDtCUiZndDtbRXhwZWN0ZWQgcmVzdWx0XSZsdDtCUiZndDtJZiBwaW5ncG9uZ19jb3VudCByZWFjaGVzIHgsIFVFIHNob3VsZCBub3QgbW92ZSB0byA1RyIsVW50ZXN0ZWQsLCwsDQogMjM2NjQsNjA5MjksTlZSQU1fRUZfRVJSQ19QRVJGT1JNQU5DRV9QQVJBX0xJRCwiMSwyIixwaW5ncG9uZ180ZzVfdDIscGluZ3BvbmdfNGc1X3QyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdQ3VzdG9taXplZCA0RzUgcGluZ3BvbmcgZGV0ZWN0aW9uIGR1cmF0aW9uIFQyLiAoc2Vjb25kcyksVU5TSUdORUQgU0hPUlQsMiwsLCIweDA4LCAweDA3LCIsTlIxNS5SMy5NRDcwMC5NUCwsMHhGRkZGIDogSW52YWxpZCZsdDtCUiZndDthbnkgbmVnYXRpdmUgdmFsdWUgaXMgdmFsaWQsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiW0luaXRdJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzRHNSByZXNlbGVjdGlvbiwgSE8gYW5kIHJlZGlyZWN0aW9uIGNhc2VzJmx0O0JSJmd0O1tFeHBlY3RlZCByZXN1bHRdJmx0O0JSJmd0O0lmIHBpbmdwb25nX2NvdW50IHJlYWNoZXMgeCwgVUUgc2hvdWxkIG5vdCBtb3ZlIHRvIDVHIixVbnRlc3RlZCwsLCwNCiAyMzY3MCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2NF0uU0JQX1ZPV0lGSV9ESVNBQkxFXzVHX1NBLG1vZGVtX3NicF9jb25maWdbMTY0XS5TQlBfVk9XSUZJX0RJU0FCTEVfNUdfU0EsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RGlzYWJsZSA1RyBTQSB3aGVuIFZvV2lGaSBjYWxsaW5nIGZvciBzcGVjaWZpYyBvcGVyYXRvciZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzE6MDogZGlzYWJsZSZsdDtCUiZndDsxOiBlbmFibGUsLCwsTWlBIChNb2RlbSBpbnRlbGxpZ2VuY2UgYWdlbnQpLE1pQSwsLHVzZSBNQ0YgdG9vbCB0byBtb2RpZnkgdmFsdWUgZm9yIHNwZWNpZmljIG9wZXJhdG9yLFVudGVzdGVkLCwsLA0KKzIzNjgyLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgwXS5TQlBfRElTQUJMRV9BRERJVElPTkFMX05SX01FQVNVUkVNRU5UX0RVUklOR19WT0xURSxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX0RJU0FCTEVfQURESVRJT05BTF9OUl9NRUFTVVJFTUVOVF9EVVJJTkdfVk9MVEUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7SW5kaWNhdGUgaWYgRFVUIGNhbiBzdGFydCBTRlREIHRvIG1lYXN1cmUgTlIgZHVyaW5nIFZvTFRFJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAyMzY4Myw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2NF0uU0JQX0RJU0FCTEVfUEFHSU5HX1JFU1BPTlNFX0lOX0xJTUlURURfU0lNX01FX0xPQ0ssbW9kZW1fc2JwX2NvbmZpZ1sxNjRdLlNCUF9ESVNBQkxFX1BBR0lOR19SRVNQT05TRV9JTl9MSU1JVEVEX1NJTV9NRV9MT0NLLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0lnbm9yZSBwYWdpbmcgaW4gbGltaXRlZCBzZXJ2aWNlIHN0YXRlIHdoZW4gVUUgaXMgaW4gU0lNLU1FIGxvY2sgc3RhdGUmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsIjE6V2hlbiBTQlAgaXMgRW5hYmxlZCwgdGhlbiBVRSB3aWxsIGlnbm9yZSBpbmNvbWluZyBwYWdpbmcgKHdpdGggSU1TSSlpbiBsaW1pdGVkIHNlcnZpY2Ugc3RhdGUgYW5kIFVFIGlzIGluIFNJTS1NTSBsb2NrIHN0YXRlLiZsdDtCUiZndDswOldoZW4gU0JQIGlzIGRpc2FibGVkLCBUaGVuIFVFIHdpbGwgYWxsb3cgaW5jb21pbmcgcGFnaW5nKHdpdGggSU1TSSlpbiBsaW1pdGVkIHNlcnZpY2Ugc3RhdGUgYW5kIFVFIGlzIGluIFNJTS1NTSBsb2NrIHN0YXRlIiwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLCItIEVuYWJsZSBTSU1NRSBsb2NrJmx0O0JSJmd0Oy0gSW5zZXJ0IGludmFsaWQgY2FyZCwgbWFrZSBzdXJlIGNhcmQgaXMgU0lNTUUgbG9ja2VkJmx0O0JSJmd0Oy0gVHJpZ2dlciBNVCBjYWxsIHRvIFVFJmx0O0JSJmd0Oy0gQ2hlY2sgaWYgTVQgY2FsbCBmYWlscyIsVW50ZXN0ZWQsLCwsDQogMjM2OTYsMjM5MSxOVlJBTV9FRl9NUlNfVk9JQ0VfVU5BVkFJTF9MRUFWRV9SQVRfQ09ORklHX0xJRCwxLGlzX3ZhbGlkLGlzX3ZhbGlkLE9UQSxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV1WYWxpZGl0eSBvZiB2b2ljZSB1bmF2YWlsIGxlYXZlIHJhdCBjb25maWcgdGFibGUiLEVOVU0sMSwsLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLFtMVEUgUHJvdG9jb2wgQmFzZWxpbmVdTldTRUxfUG93ZXJPbixNb2RlbSBTeXN0ZW0gVGVzdCwsLCxVbnRlc3RlZCwsLCwNCiAyMzY5NywyMzkxLE5WUkFNX0VGX01SU19WT0lDRV9VTkFWQUlMX0xFQVZFX1JBVF9DT05GSUdfTElELDEsbnVtX29mX2VudHJ5LG51bV9vZl9lbnRyeSxPVEEsbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdTnVtYmVyIG9mIHZhbGlkIGVudHJpZXMiLFVOU0lHTkVEIElOVCw0LCwsIjB4MWQsIDB4MDAsIDB4MDAsIDB4MDAsIixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsW0xURSBQcm90b2NvbCBCYXNlbGluZV1OV1NFTF9Qb3dlck9uLE1vZGVtIFN5c3RlbSBUZXN0LCwsLFVudGVzdGVkLCwsLA0KQEAgLTEwNjQ1LDYgKzEwNjEwLDcgQEAKIDI0MTg1LDEzNDYsTlZSQU1fRUZfVkRNX0FEU19QUk9GSUxFX0xJRCwiMSwyIixzZW5kX2luZF90b19kaXNhYmxlX25yX2JlZm9yZV9ub3JtYWxfc2VhcmNoLHByb2ZpbGVfZW1lcmcuc2VuZF9pbmRfdG9fZGlzYWJsZV9ucl9iZWZvcmVfbm9ybWFsX3NlYXJjaCxPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJzZW5kX2luZF90b19kaXNhYmxlX25yX2JlZm9yZV9ub3JtYWxfc2VhcmNoICgwLzE6IDAgLSBkaXNhYmxlIE5WLCAxIC0gZW5hYmxlIE5WKSIsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiRGlzaCBvciBEb2NvbW8gb3BlcmF0b3IgY2hhbmdlJmx0O0JSJmd0OyZsdDtCUiZndDtFTUM9MCwgRU1GPTAsIGRpYWwgZW1lcmdlbmN5IGNhbGwgd2hlbiBVRSBpcyByZWdpc3RlcmVkIG92ZXIgTlIgbm9ybWFsIHNlcnZpY2UiLFBhc3MsLCwsDQogMjQxODYsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNjldLlNCUF9OUl9DQVBfRElTQUJMRV9QVVNDSF9MQlJNLG1vZGVtX3NicF9jb25maWdbMTY5XS5TQlBfTlJfQ0FQX0RJU0FCTEVfUFVTQ0hfTEJSTSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtkaXNhYmxlIHB1c2NoX0xCUk0gdHJhbnNtaXNzaW9uIGluIE5SJmx0O0JSJmd0O2JpdCAwOjA6RGVmYXVsdCBiZWhhdmlvciwgTk9UIG92ZXJ3cml0ZSBhcyBkaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOk92ZXJ3cml0ZSBhcyBkaXNhYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQogMjQxODgsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNjddLlNCUF9MNV9HRVRfQ0FMTF9DTkZfV0lUSF9HTE9CQUxfSVBWNixtb2RlbV9zYnBfY29uZmlnWzE2N10uU0JQX0w1X0dFVF9DQUxMX0NORl9XSVRIX0dMT0JBTF9JUFY2LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0w1IHJldHVybnMgZ2xvYmFsIGlwdjYgaW4gZGF0YSBnZXQgY2FsbCBjbmYmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsR0VUX0NBTExfQ05GX1dJVEhfR0xPQkFMX0lQVjYgdmFsdWUgaXMgMChkaXNhYmxlKSBhbmQgMShlbmFibGUpLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsZW5hYmxlIEdFVF9DQUxMX0NORl9XSVRIX0dMT0JBTF9JUFY2LFVudGVzdGVkLCwsLA0KKzI0MTk1LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgxXS5TQlBfTlJfUkVTRUxfSUdOT1JFX0hJR0hFUl9QUklPX0JBRF9DRUxMLG1vZGVtX3NicF9jb25maWdbMTgxXS5TQlBfTlJfUkVTRUxfSUdOT1JFX0hJR0hFUl9QUklPX0JBRF9DRUxMLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O05vdCBpZ25vcmUgaGlnaGVyIHByaW9yaXR5IGJhZCBjZWxsIGluIE5SIGlkbGUgcmVzZWxlY3Rpb24mbHQ7QlImZ3Q7Yml0IDA6MDpGZWF0dXJlIG5vdCBlbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RmVhdHVyZSBlbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwxOkVuYWJsZWQmbHQ7QlImZ3Q7MDpOb3QgRW5hYmxlZCwsLCwsLCwsRm9sbG93IFNCUCBGcmFtZXdvcmssVW50ZXN0ZWQsLCwsDQogMjQxOTksMTM0NixOVlJBTV9FRl9WRE1fQURTX1BST0ZJTEVfTElELCIxLDIiLGRpc2FsbG93X3dnY3NfZm9yX3NwZWNpZmljX2Nhc2VfdG9fcmVkaWFsX2Mya19lY2MscHJvZmlsZV9ub3JtYWwuZGlzYWxsb3dfd2djc19mb3Jfc3BlY2lmaWNfY2FzZV90b19yZWRpYWxfYzJrX2VjYyxPVEEgQlkgT1Asbm8sbm8sbm8seWVzLFRvIGRpc2FsbG93IDNHUFAgQ1MgZG9tYWluIGluIG5vcm1hbCBjYWxsIGZvciBzcGVjaWZpYyBvcGVyYXRvciBhbmQgZGlhbGVkIG51bWJlciB0aGF0IG1heSBuZWVkIHRvIHJlZGlhbCBpdCBhcyBjMmsgZW1lcmdlbmN5IGNhbGwsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAyNDIwMCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE2OV0uU0JQX0xCU19MUFBfQUxMT1dfTklMUl9BRlRFUl9FTUNfRU5ELG1vZGVtX3NicF9jb25maWdbMTY5XS5TQlBfTEJTX0xQUF9BTExPV19OSUxSX0FGVEVSX0VNQ19FTkQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7VGhlIE5JTFIgc2Vzc2lvbiBub3QgYWxsb3dlZCBhZnRlciBhbiBlbWVyZ2VuY3kgY2FsbCBlbmRzLiZsdDtCUiZndDtiaXQgMDowOkFsbG93IE5JTFImbHQ7QlImZ3Q7Yml0IDE6MTpOb3QgYWxsb3cgTklMUiIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzE6MCAtIE5JTFIgbm90IHN1cHBvcnRlZCB1cHRvIDUgbWlucyBhZnRlciBhbiBlbmQgb2YgRU1DLiZsdDtCUiZndDsxICAtIE5JTFIgc3VwcG9ydGVkIHVwdG8gNSBtaW5zIGFmdGVyIGFuIGVuZCBvZiBFTUMsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDUgbWludXRlcyZsdDtCUiZndDtbSW5pdF0mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7TFBQIE5JTFIgdGVzdCBhZnRlciBhbiBlbWVyZ2VuY3kgY2FsbCBlbmQuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdLFBhc3MsLCwsDQogMjQ2OTcsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzNdLlNCUF9DQUxMX0ZPUldBUkRfUlNQX09OTFlfRk9SX1RFTEVQSE9OWV9CUyxtb2RlbV9zYnBfY29uZmlnWzE3M10uU0JQX0NBTExfRk9SV0FSRF9SU1BfT05MWV9GT1JfVEVMRVBIT05ZX0JTLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1NlbmQgY2FsbCBmb3J3YXJkIHJlc3BvbnNlIHRvIEFQIGZvciBhbGwgdGhlIGJhc2ljIHNlcnZpY2VzJmx0O0JSJmd0O2JpdCAwOjA6Tm90IEVuYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCkBAIC0xMDc0Miw2ICsxMDcwOCw4IEBACiAyNjE4MywxMzQ1LE5WUkFNX0VGX0xURUNTUl9QUk9GSUxFX0xJRCwiMSwyIixob2xkY2FsbF9kbF9jaGVja19wYXJhLGhvbGRjYWxsX2RsX2NoZWNrX3BhcmEsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0mbHQ7QlImZ3Q7SE9MRENBTExfRExfQ0hFQ0sgc3ViIHN3aXRjaCBmb3IgZGlmZmVyZW50IHRpbWVyJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZSBhbGwgdGltZXImbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGUgUlRDUCBleHBpcmUgdGltZXIgY2hlY2ssVU5TSUdORUQgU0hPUlQsMiwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsIjB4MDE6d2hlbiBIT0xEQ0FMTF9ETF9DSEVDSyBlbmFibGVkLCBlbmFibGUgUlRDUCBleHBpcmUgdGltZXIgY2hlY2smbHQ7QlImZ3Q7MDp3aGVuIEhPTERDQUxMX0RMX0NIRUNLIGVuYWJsZWQsIGRpc2FibGUgYWxsIHRpbWVyIiwsLCxJTVMsSU1TLCwsW0luaXRdJmx0O0JSJmd0OzEuIDIgRFVUIGluc2VydCAyIFRlbGNlbCBTSU0gY2FyZCZsdDtCUiZndDsyLiAyIERVVCBWb0xURSByZWdpc3RlcmVkLiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBNYWtlIGEgVm9MVEUgY2FsbCBmcm9tIERVVC1BIHRvIERVVC1CJmx0O0JSJmd0OzIuIEhvbGQgY2FsbCBhbmQgdW5ob2xkIGNhbGwgNSB0aW1lcyBpbiBEVVQtQSZsdDtCUiZndDszLiBIb2xkIGNhbGwgYW5kIHVuaG9sZCBjYWxsIDUgdGltZXMgaW4gRFVULUImbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0mbHQ7QlImZ3Q7Y2FsbCBzaG91bGQgbm90IGRyb3AgaW4gdGVzdCBzdGVwIDIgYW5kIDMsVW50ZXN0ZWQsLCwsDQogMjYxODQsMTM0NSxOVlJBTV9FRl9MVEVDU1JfUFJPRklMRV9MSUQsIjEsMiIsaG9sZGNhbGxfZGxfY2hlY2tfcGFyYS5ob2xkY2FsbF9kbF9jaGVja19wYXJhLGhvbGRjYWxsX2RsX2NoZWNrX3BhcmEuaG9sZGNhbGxfZGxfY2hlY2tfcGFyYSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXSZsdDtCUiZndDtIT0xEQ0FMTF9ETF9DSEVDSyBzdWIgc3dpdGNoIGZvciBkaWZmZXJlbnQgdGltZXImbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlIGFsbCB0aW1lciZsdDtCUiZndDtiaXQgMToxOkVuYWJsZSBSVENQIGV4cGlyZSB0aW1lciBjaGVjayxCSVQsMTYsLDE2LDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsIjB4MDE6d2hlbiBIT0xEQ0FMTF9ETF9DSEVDSyBlbmFibGVkLCBlbmFibGUgUlRDUCBleHBpcmUgdGltZXIgY2hlY2smbHQ7QlImZ3Q7MDp3aGVuIEhPTERDQUxMX0RMX0NIRUNLIGVuYWJsZWQsIGRpc2FibGUgYWxsIHRpbWVyIiwsLCxJTVMsSU1TLCwsW0luaXRdJmx0O0JSJmd0OzEuIDIgRFVUIGluc2VydCAyIFRlbGNlbCBTSU0gY2FyZCZsdDtCUiZndDsyLiAyIERVVCBWb0xURSByZWdpc3RlcmVkLiZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBNYWtlIGEgVm9MVEUgY2FsbCBmcm9tIERVVC1BIHRvIERVVC1CJmx0O0JSJmd0OzIuIEhvbGQgY2FsbCBhbmQgdW5ob2xkIGNhbGwgNSB0aW1lcyBpbiBEVVQtQSZsdDtCUiZndDszLiBIb2xkIGNhbGwgYW5kIHVuaG9sZCBjYWxsIDUgdGltZXMgaW4gRFVULUImbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0sVW50ZXN0ZWQsLCwsDQogMjYxODcsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNDldLlNCUF9PUDEyX1BFUk1BTkVOVF9GVEFfTElTVCxtb2RlbV9zYnBfY29uZmlnWzE0OV0uU0JQX09QMTJfUEVSTUFORU5UX0ZUQV9MSVNULE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1N1cHBvcnQgcGVybWFuZW50IEZUQSBsaXN0Jmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGJpdDowLzEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxUZXN0IGluIG1hY2hpbmUgKE4pJmx0O0JSJmd0O1Rlc3QgVGltZSAoMCBtaW51dGVzKSZsdDtCUiZndDtbSW5pdF0gZm9sbG93IE1DRiBSRCBJVCBwbGFuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdIE5vbmUsUGFzcywsLCwNCisyNjIyMSwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixxdWlja19jYWxsX3JlcGxhY2luZyx1YV9jb25maWcucXVpY2tfY2FsbF9yZXBsYWNpbmcsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0sVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCisyNjIyMiwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixxdWlja19jYWxsX3JlcGxhY2luZy5xdWlja19jYWxsX3JlcGxhY2luZyx1YV9jb25maWcucXVpY2tfY2FsbF9yZXBsYWNpbmcucXVpY2tfY2FsbF9yZXBsYWNpbmcsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdJmx0O0JSJmd0O0lmIHRoZSByZXBsYWNlZCBjYWxsIGlzIGluIEFjdGl2ZSxmb3IgY2FsbCByZXBsYWNpbmcgcHJvY2VkdXJlIHdlIHNoYWxsIHNlbmQgMjAwIG9rIGRpcmVjdGx5LiZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGUmbHQ7QlImZ3Q7IixCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDI2MjMzLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTczXS5TQlBfRElTQUJMRV81R19TQV9DQUxMX0hPX1RPX1ZPV0lGSSxtb2RlbV9zYnBfY29uZmlnWzE3M10uU0JQX0RJU0FCTEVfNUdfU0FfQ0FMTF9IT19UT19WT1dJRkksT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RGlzYWJsZSA1RyBTQSB3aGVuIGNhbGwgc2V0dXAgb24gVm9MVEUgd2l0aCBQRE4gaGFuZG92ZXIgdG8gVm9XaUZpJmx0O0JSJmd0O2JpdCAwOjA6Tm90IEVuYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwiMCwxOmVuYWJsZS9kaXNhYmxlIiwsLCxNaUEgKE1vZGVtIGludGVsbGlnZW5jZSBhZ2VudCksTWlBLCwsZW5hYmxlL2Rpc2FibGUgU0JQIGZlYXR1cmUgYW5kIHRlc3Qgdm93aWZpIGNhbGwsVW50ZXN0ZWQsLCwsDQogMjYyMzQsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzNdLlNCUF9MT0NBTF9SRUxFQVNFX0ZPUl9WT1dJRklfRElTQUJMRV81R19TQSxtb2RlbV9zYnBfY29uZmlnWzE3M10uU0JQX0xPQ0FMX1JFTEVBU0VfRk9SX1ZPV0lGSV9ESVNBQkxFXzVHX1NBLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1VFIHdpbGwgTk9UIGRvIGxvY2FsIHJlbGVhc2Ugd2hlbiBkaXNhYmxlIDVHIFNBIGZvciBWb1dpRmkmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCIwLDE6ZW5hYmxlL2Rpc2FibGUiLCwsLE1pQSAoTW9kZW0gaW50ZWxsaWdlbmNlIGFnZW50KSxNaUEsLCxlbmFibGUvZGlzYWJsZSBTQlAgZmVhdHVyZSBhbmQgdGVzdCB2b3dpZmkgY2FsbCxVbnRlc3RlZCwsLCwNCiAyNjIzNSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3M10uU0JQX1ZPV0lGSV9ESVNBQkxFXzVHX1NBX0NIRUNLX1ZPTlJfQklULG1vZGVtX3NicF9jb25maWdbMTczXS5TQlBfVk9XSUZJX0RJU0FCTEVfNUdfU0FfQ0hFQ0tfVk9OUl9CSVQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RW5hYmxlIGNoZWNrIHRoZSBWb05SIGJpdCBmb3IgVm9XaUZpIGRpc2FibGUgNUcgU0EmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCIwLDE6ZW5hYmxlL2Rpc2FibGUiLCwsLE1pQSAoTW9kZW0gaW50ZWxsaWdlbmNlIGFnZW50KSxNaUEsLCxlbmFibGUvZGlzYWJsZSBTQlAgZmVhdHVyZSBhbmQgdGVzdCB2b3dpZmkgY2FsbCxVbnRlc3RlZCwsLCwNCkBAIC0xMDc2MywxMCArMTA3MzEsMTEgQEAKIDI3NDAyLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTc1XS5TQlBfSUdOT1JFXzVHX1BXU19EVVBfQ0hFQ0ssbW9kZW1fc2JwX2NvbmZpZ1sxNzVdLlNCUF9JR05PUkVfNUdfUFdTX0RVUF9DSEVDSyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtJZ25vcmUgNUcgUFdTIGR1cGxpY2F0aW9uIGRldGVjdGlvbiByZXN1bHQmbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDI3NDk5LDk2MSxOVlJBTV9FRl9TQlBfTU9ERU1fREFUQV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2RhdGFfY29uZmlnWzE2Nl0uU0JQX04xX01BWF9QRFVfRVNUX1RJTUVPVVRfUkVBQ0hFRF9USU1FUl9WQUxVRSxtb2RlbV9zYnBfZGF0YV9jb25maWdbMTY2XS5TQlBfTjFfTUFYX1BEVV9FU1RfVElNRU9VVF9SRUFDSEVEX1RJTUVSX1ZBTFVFLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBEYXRhJmx0O0JSJmd0O05SIGRpc2FibGUgdGltZXIgdmFsdWUgYWZ0ZXIgc2V2ZXJhbCBQRFUgZXN0YWJsaXNobWVudCByZXRyeSIsQklULDgsLDgsMHgwYyxOUjE1LlIzLk1ENzAwLk1QLCx7MH4yNTV9LCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsVW50ZXN0ZWQsLCwsDQogMjg4ODksMjQ5NixOVlJBTV9FRl9YQ0FQX1BST0ZJTEVfTElELCIxLDIiLGNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LGdiYV9pbmZvLmNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLENsZWFyIEdCQSBrZXkgb24gZXhwaXJ5LFVOU0lHTkVEIENIQVIsMSwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMSBtZWFucyBFTkFCTEVELCwsLFhDQVAgSU1TLVNTLFhDQVAsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pIDogTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDogRGVwZW5kcyB1cG9uIGdiYSBrZXkgZXhwaXJ5IHZhbHVlJmx0O0JSJmd0O1tJbml0XSZsdDtCUiZndDtbVGVzdCBTdGVwXSZsdDtCUiZndDsxLiBTZW5kIEVHQkEgQVRDTUQuJmx0O0JSJmd0OzIuIFdhaXQgZm9yIHRoZSBleHBpcnkgZXhwaXJ5IHRpbWUgdmFsdWUuJmx0O0JSJmd0OzMuIEFmdGVyIGtleSBleHBpcnksICBTZW5kIEVHQkEgQVRDTUQgYWdhaW4mbHQ7QlImZ3Q7Jmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O0F0IHN0ZXAgMyAsIG5ldyBrZXkgc2hhbGwgYmUgZGVyaXZlZCBmcm9tIHNlcnZlciBhbmQgaXQgc2hhbGwgYmUgdmFsaWQuIixVbnRlc3RlZCwsLCwNCi0yODg5MCwyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIsY2xlYXJfZ2JhX2tleV93aGVuX2tleV9leHBpcnkuY2xlYXJfZ2JhX2tleV93aGVuX2tleV9leHBpcnksZ2JhX2luZm8uY2xlYXJfZ2JhX2tleV93aGVuX2tleV9leHBpcnkuY2xlYXJfZ2JhX2tleV93aGVuX2tleV9leHBpcnksT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sQ2xlYXIgR0JBIGtleSBvbiBleHBpcnkmbHQ7QlImZ3Q7Jmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyxCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxYQ0FQIElNUy1TUyxYQ0FQLCwsLFVudGVzdGVkLCwsLA0KLTI4ODkxLDI0OTYsTlZSQU1fRUZfWENBUF9QUk9GSUxFX0xJRCwiMSwyIixnYmFfa2V5X3RpbWVvdXQsZ2JhX2luZm8uZ2JhX2tleV90aW1lb3V0LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLEdCQSBLZXkgVGltZSBvdXQgdmFsdWUgaW4gbWlsaXNlY29uZHMsVU5TSUdORUQgU0hPUlQsMiwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLFhDQVAgSU1TLVNTLFhDQVAsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDEmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O0luc2VydCBUTU8tVVMgc2ltIGNhcmQuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFRyeSB0byBhY2Nlc3MgU1MuJmx0O0JSJmd0OzIuIFRyeSB0byBhY2Nlc3MgU1MgYWdhaW4gYWZ0ZXIgMjUgaG91cnMgLk1ha2Ugc3VyZSBVRSBkb24mYXBvczt0IGJvb3RzIHVwIGluIGJldHdlZW4uJmx0O0JSJmd0OyZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtVRSBzaGFsbCBmZXRjaCBrZXkgZnJvbSB0aGUgc2VydmVyIGF0IHN0ZXAgMi4sVW50ZXN0ZWQsLCwsDQorMjg4OTAsMjQ5NixOVlJBTV9FRl9YQ0FQX1BST0ZJTEVfTElELCIxLDIiLGNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LmNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LGdiYV9pbmZvLmNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LmNsZWFyX2diYV9rZXlfd2hlbl9rZXlfZXhwaXJ5LE5vdCBTdXBwb3J0LG5vLG5vLG5vLG5vLENsZWFyIEdCQSBrZXkgb24gZXhwaXJ5Jmx0O0JSJmd0OyZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCxCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxYQ0FQIElNUy1TUyxYQ0FQLCwsLFVudGVzdGVkLCwsLA0KKzI4ODkxLDI0OTYsTlZSQU1fRUZfWENBUF9QUk9GSUxFX0xJRCwiMSwyIixnYmFfa2V5X3RpbWVvdXQsZ2JhX2luZm8uZ2JhX2tleV90aW1lb3V0LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLEdCQSBLZXkgVGltZSBvdXQgdmFsdWUgaW4gbWlsaXNlY29uZHMsVU5TSUdORUQgU0hPUlQsMiwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsaW50OjAtIDY1NTM1LCwsLFhDQVAgSU1TLVNTLFhDQVAsLCxUZXN0IGluIG1hY2hpbmUgKFkvTikgTiZsdDtCUiZndDtUZXN0IFRpbWUgKG1pbnV0ZXMpIDEmbHQ7QlImZ3Q7W0luaXRdJmx0O0JSJmd0O0luc2VydCBUTU8tVVMgc2ltIGNhcmQuJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0OzEuIFRyeSB0byBhY2Nlc3MgU1MuJmx0O0JSJmd0OzIuIFRyeSB0byBhY2Nlc3MgU1MgYWdhaW4gYWZ0ZXIgMjUgaG91cnMgLk1ha2Ugc3VyZSBVRSBkb24mYXBvczt0IGJvb3RzIHVwIGluIGJldHdlZW4uJmx0O0JSJmd0OyZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtVRSBzaGFsbCBmZXRjaCBrZXkgZnJvbSB0aGUgc2VydmVyIGF0IHN0ZXAgMi4sVW50ZXN0ZWQsLCwsDQogMjkxMDgsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsZGlzYWJsZV9udW1fdmFsaWRpdHlfY2hlY2ssdWFfY29uZmlnLmRpc2FibGVfbnVtX3ZhbGlkaXR5X2NoZWNrLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdIE5va2lhIHNwZWNpZmljIENQRSByZXF1aXJlbWVudCB0byBhbGxvdyBTSVAgSU5WSVRFIHRvIGJlIHNlbnQgZm9yIG51bWJlcnMgZW5kaW5nIHdpdGggIyZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGUsVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwwIG9yIDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCxTZXQgdGhlIGNvbmZpZ3VyYXRpb24gMSBhbmQgY2hlY2sgaWYgSU5WSVRFIHNlbnQgdG8gbnVtYmVycyBlbmRpbmcgd2l0aCAjLFVudGVzdGVkLCwsLA0KIDI5MTA5LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLGRpc2FibGVfbnVtX3ZhbGlkaXR5X2NoZWNrLmRpc2FibGVfbnVtX3ZhbGlkaXR5X2NoZWNrLHVhX2NvbmZpZy5kaXNhYmxlX251bV92YWxpZGl0eV9jaGVjay5kaXNhYmxlX251bV92YWxpZGl0eV9jaGVjayxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXSBOb2tpYSBzcGVjaWZpYyBDUEUgcmVxdWlyZW1lbnQgdG8gYWxsb3cgU0lQIElOVklURSB0byBiZSBzZW50IGZvciBudW1iZXJzIGVuZGluZyB3aXRoICMmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlLEJJVCw4LCw4LDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMCBvciAxLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsU2V0IHRoZSBjb25maWd1cmF0aW9uIDEgYW5kIGNoZWNrIGlmIElOVklURSBzZW50IHRvIG51bWJlcnMgZW5kaW5nIHdpdGggIyxVbnRlc3RlZCwsLCwNCisyOTExMCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE4MV0uU0JQX1ZHTU1fU0VUX0ZPUl9CSVRfQUZURVJfREFUQV9TV0lUQ0gsbW9kZW1fc2JwX2NvbmZpZ1sxODFdLlNCUF9WR01NX1NFVF9GT1JfQklUX0FGVEVSX0RBVEFfU1dJVENILE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0Rpc2FibGUgc2V0IEZPUiBiaXQgYWZ0ZXIgZGF0YSBzd2l0Y2gmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLGJpdDogMC8xLCwsLCwsLCwxLiBlbmFibGUgU0JQX1ZHTU1fU0VUX0ZPUl9CSVRfQUZURVJfREFUQV9TV0lUQ0gmbHQ7QlImZ3Q7Mi4gZGF0YSBzd2l0Y2gmbHQ7QlImZ3Q7My4gY2hlY2sgcmVnaXN0cmF0aW9uIHJlcXVlc3Qgd291bGQgc2V0IEZPUiBiaXQ9MSxVbnRlc3RlZCwsLCwNCiAyOTEyNiw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3NV0uU0JQX0w1X0RFUkVHX0ZJTFRFUl9BRlRFUl9QRE5fREVBQ1RfSU5ELG1vZGVtX3NicF9jb25maWdbMTc1XS5TQlBfTDVfREVSRUdfRklMVEVSX0FGVEVSX1BETl9ERUFDVF9JTkQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7TDUgd2lsbCBkZXJlZ2lzdGVyIGFsbCByZWxhdGVkIHN0cmluZyBmaWx0ZXJzIHdoZW4gYSBQRE4gaXMgZGVhY3RpdmF0ZWQgYnkgbmV0d29yayZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGUmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCxUZWxlcGhvbnkgU2VydmljZSAoTDVVKSxNVEsgUHJvcHJpZXRhcnksLCwsVW50ZXN0ZWQsLCwsDQogMjkxMzYsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzZdLlNCUF9TVUJBRERSX1RZUEVfSUE1LG1vZGVtX3NicF9jb25maWdbMTc2XS5TQlBfU1VCQUREUl9UWVBFX0lBNSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtTZW5kIHN1YmFkZHJlc3MgaW4gSUE1IGZvcm1hdCZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQogMjkxNTAsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzVdLlNCUF9FTU1fRVhDTFVERV9DTEFTU01BUkszX1dIRU5fR1NNX1JBVF9ESVNBQkxFRCxtb2RlbV9zYnBfY29uZmlnWzE3NV0uU0JQX0VNTV9FWENMVURFX0NMQVNTTUFSSzNfV0hFTl9HU01fUkFUX0RJU0FCTEVELE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O05vdCB0byBpbmNsdWRlIGNsYXNzbWFyazMgSUUgd2hlbiBHU00gZGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCkBAIC0xMDgwMiw3ICsxMDc3MSw3IEBACiAzMDAyMiwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixhcHBseV8zZ19zdW5zZXRfY2FsbF9zcGVjLHVhX2NvbmZpZy5hcHBseV8zZ19zdW5zZXRfY2FsbF9zcGVjLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJbTUNGXSZsdDtCUiZndDtUaGlzIGlzIGZvciBzb2Z0YmFuayB0byBzdXBwb3J0IG9sZCBvciBuZXcgcmVxdWlyZW1lbnQgYmFzZWQgb24gM2cgc3Vuc2V0LiZsdDtCUiZndDtiaXQgMDowOlRvIHN1cHBvcnQgb2xkIHJlcXVpcmVtZW50Jmx0O0JSJmd0O2JpdCAxOjE6VG8gc3VwcG9ydCBuZXcgcmVxdWlyZW1lbnQmbHQ7QlImZ3Q7Jmx0O0JSJmd0O1RoaXMgY29uZmlndXJhdGlvbiBpcyB0byBzdXBwb3J0IG9sZCBvciBuZXcgcmVxdWlyZW1lbnQgYmFzZWQgb24gM2cgc3Vuc2V0IGZvciBzb2Z0YmFuayZsdDtCUiZndDtJZiAzZyBhdmFpbGFibGUgYW5kIHRoaXMgY29uZmlnIGlzIHNldCAxLCBVRSByZWNlaXZlcyBTSVAgNTAzIGZvciBJTlZJVEUgdGhlbiBEVVQgc2hvdWxkIGRvIENTRkIuJmx0O0JSJmd0O0lmIGNvbmZpZyBzZXQgdG8gMCwgVUUgcmVjZWl2ZXMgU0lQIDUwMyBmb3IgSU5WSVRFIHRoZW4gRFVUIHNob3VsZCBkaXNjb25uZWN0IGNhbGwuJmx0O0JSJmd0OyZsdDtCUiZndDsiLFVOU0lHTkVEIENIQVIsMSwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsMCBvciAxLCwsLElNUyxJTVMsLCwiVGhpcyBjb25maWd1cmF0aW9uIGlzIHRvIHN1cHBvcnQgb2xkIG9yIG5ldyByZXF1aXJlbWVudCBiYXNlZCBvbiAzZyBzdW5zZXQgZm9yIHNvZnRiYW5rJmx0O0JSJmd0O0lmIDNnIGF2YWlsYWJsZSBhbmQgdGhpcyBjb25maWcgaXMgc2V0IDEsIFVFIHJlY2VpdmVzIFNJUCA1MDMgZm9yIElOVklURSB0aGVuIERVVCBzaG91bGQgZG8gQ1NGQi4mbHQ7QlImZ3Q7SWYgY29uZmlnIHNldCB0byAwLCBVRSByZWNlaXZlcyBTSVAgNTAzIGZvciBJTlZJVEUgdGhlbiBEVVQgc2hvdWxkIGRpc2Nvbm5lY3QgY2FsbC4mbHQ7QlImZ3Q7IixVbnRlc3RlZCwsLCwNCiAzMDAyMywxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixhcHBseV8zZ19zdW5zZXRfY2FsbF9zcGVjLmFwcGx5XzNnX3N1bnNldF9jYWxsX3NwZWMsdWFfY29uZmlnLmFwcGx5XzNnX3N1bnNldF9jYWxsX3NwZWMuYXBwbHlfM2dfc3Vuc2V0X2NhbGxfc3BlYyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl0mbHQ7QlImZ3Q7VGhpcyBpcyBmb3Igc29mdGJhbmsgdG8gc3VwcG9ydCBvbGQgb3IgbmV3IHJlcXVpcmVtZW50IGJhc2VkIG9uIDNnIHN1bnNldC4mbHQ7QlImZ3Q7Yml0IDA6MDpUbyBzdXBwb3J0IG9sZCByZXF1aXJlbWVudCZsdDtCUiZndDtiaXQgMToxOlRvIHN1cHBvcnQgbmV3IHJlcXVpcmVtZW50Jmx0O0JSJmd0OyZsdDtCUiZndDtUaGlzIGNvbmZpZ3VyYXRpb24gaXMgdG8gc3VwcG9ydCBvbGQgb3IgbmV3IHJlcXVpcmVtZW50IGJhc2VkIG9uIDNnIHN1bnNldCBmb3Igc29mdGJhbmsmbHQ7QlImZ3Q7SWYgM2cgYXZhaWxhYmxlIGFuZCB0aGlzIGNvbmZpZyBpcyBzZXQgMSwgVUUgcmVjZWl2ZXMgU0lQIDUwMyBmb3IgSU5WSVRFIHRoZW4gRFVUIHNob3VsZCBkbyBDU0ZCLiZsdDtCUiZndDtJZiBjb25maWcgc2V0IHRvIDAsIFVFIHJlY2VpdmVzIFNJUCA1MDMgZm9yIElOVklURSB0aGVuIERVVCBzaG91bGQgZGlzY29ubmVjdCBjYWxsLiZsdDtCUiZndDsmbHQ7QlImZ3Q7IixCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLDAgb3IgMSwsLCxJTVMsSU1TLCwsIlRoaXMgY29uZmlndXJhdGlvbiBpcyB0byBzdXBwb3J0IG9sZCBvciBuZXcgcmVxdWlyZW1lbnQgYmFzZWQgb24gM2cgc3Vuc2V0IGZvciBzb2Z0YmFuayZsdDtCUiZndDtJZiAzZyBhdmFpbGFibGUgYW5kIHRoaXMgY29uZmlnIGlzIHNldCAxLCBVRSByZWNlaXZlcyBTSVAgNTAzIGZvciBJTlZJVEUgdGhlbiBEVVQgc2hvdWxkIGRvIENTRkIuJmx0O0JSJmd0O0lmIGNvbmZpZyBzZXQgdG8gMCwgVUUgcmVjZWl2ZXMgU0lQIDUwMyBmb3IgSU5WSVRFIHRoZW4gRFVUIHNob3VsZCBkaXNjb25uZWN0IGNhbGwuJmx0O0JSJmd0OyIsVW50ZXN0ZWQsLCwsDQogMzAwNDIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzddLlNCUF9MNVVDQ19BVVRPX1JFU1VNRV9DQUxMX0ZFQVRVUkVfQ09ORklHLG1vZGVtX3NicF9jb25maWdbMTc3XS5TQlBfTDVVQ0NfQVVUT19SRVNVTUVfQ0FMTF9GRUFUVVJFX0NPTkZJRyxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtBdXRvIFJlc3VtZSBDYWxsIEZlYXR1cmUgY29uZmlnJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCi0zMDEwOSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3N10uU0JQX0JZUEFTU19TSU1fVFlQRV9DSEVDS19GT1JfRUNBTExfTU9ERV9TV0lUQ0gsbW9kZW1fc2JwX2NvbmZpZ1sxNzddLlNCUF9CWVBBU1NfU0lNX1RZUEVfQ0hFQ0tfRk9SX0VDQUxMX01PREVfU1dJVENILE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O2J5cGFzcyBTSU0gdHlwZSBjaGVjayZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDB4MDAvMHgwMSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lICgwIG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSBmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gJmx0O0JSJmd0OzEuIEluc2VydCBlY2FsbCBvbmx5IGNhcmQmbHQ7QlImZ3Q7Mi4gb3BlbiBTQlAmbHQ7QlImZ3Q7My4gZWNhbGwgbW9kZSBzd2l0Y2ggc2V0Jmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIFRoZSByZXR1cm4gb2Ygc2V0IGlzIE9LLFVudGVzdGVkLCwsLA0KKzMwMTA5LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTc3XS5TQlBfQllQQVNTX1NJTV9UWVBFX0NIRUNLX0ZPUl9FQ0FMTF9NT0RFX1NXSVRDSCxtb2RlbV9zYnBfY29uZmlnWzE3N10uU0JQX0JZUEFTU19TSU1fVFlQRV9DSEVDS19GT1JfRUNBTExfTU9ERV9TV0lUQ0gsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7YnlwYXNzIFNJTSB0eXBlIGNoZWNrJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZSZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMHgwMC8weDAxLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSAmbHQ7QlImZ3Q7MS4gSW5zZXJ0IGVjYWxsIG9ubHkgY2FyZCZsdDtCUiZndDsyLiBvcGVuIFNCUCZsdDtCUiZndDszLiBlY2FsbCBtb2RlIHN3aXRjaCBzZXQmbHQ7QlImZ3Q7W0V4cGVjdGVkIFJlc3VsdF0gVGhlIHJldHVybiBvZiBzZXQgaXMgT0ssUGFzcywsLCwNCiAzMDEyNCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3N10uU0JQX0VOQUJMRV9QQVJUSUFMX0JBTkRfSU5fVVNBLG1vZGVtX3NicF9jb25maWdbMTc3XS5TQlBfRU5BQkxFX1BBUlRJQUxfQkFORF9JTl9VU0EsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RW5hYmxlIHBhcnRpYWwgYmFuZHMgc2V0dGluZyB1bmRlciBVU0EgbWNjLiZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQogMzA0NDIsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxNzddLlNCUF9WR01NX0NBUlJZX1VFX1VTQUdFX1NFVFRJTkdfSUUsbW9kZW1fc2JwX2NvbmZpZ1sxNzddLlNCUF9WR01NX0NBUlJZX1VFX1VTQUdFX1NFVFRJTkdfSUUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7Y2FycnkgVUUmYXBvcztzIHVzYWdlIHNldHRpbmcgSUUgaW4gcmVnaXN0cmF0aW9uIHJlcXVlc3QmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLDE6ZW5hYmxlZCZsdDtCUiZndDswOkRpc2FsYmVkLCwsLE1EIENvbmZpZyxNb2RlbSAtIEN1c3RvbWVyIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsVW50ZXN0ZWQsLCwsDQogMzA1MTgsMTM0NixOVlJBTV9FRl9WRE1fQURTX1BST0ZJTEVfTElELCIxLDIiLHJlamVjdF93aWZpX2VtZXJnX3doaWxlX3JvYW1pbmcscHJvZmlsZV9lbWVyZy5yZWplY3Rfd2lmaV9lbWVyZ193aGlsZV9yb2FtaW5nLE9UQSBCWSBPUCxubyxubyxubyx5ZXMsVG8gcmVqZWN0IFdJRkkgZW1lcmdlbmN5IGNhbGwgd2hpbGUgVUUgaXMgcm9hbWluZyxVTlNJR05FRCBDSEFSLDEsLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KQEAgLTEwODE1LDggKzEwNzg0LDEwIEBACiAzMDU3NSwxMzQ2LE5WUkFNX0VGX1ZETV9BRFNfUFJPRklMRV9MSUQsIjEsMiIscmVwb3J0X3NzYWNfYmFyX3doZW5fc3NhY19iYXJyaW5nLHByb2ZpbGVfbm9ybWFsLnJlcG9ydF9zc2FjX2Jhcl93aGVuX3NzYWNfYmFycmluZyxPVEEgQlkgT1Asbm8sbm8sbm8seWVzLFRvIHJlcG9ydCBTU0FDIGJhciB0byBBUCB3aGVuIFNTQUMgYmFycmluZyBpbiBMVEUsVU5TSUdORUQgQ0hBUiwxLCwsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAzMDU4Nyw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3OF0uU0JQXzNHUFBfREVDXzIwMThfQkFTRURfQ1NTX01PTklUT1JJTkcsbW9kZW1fc2JwX2NvbmZpZ1sxNzhdLlNCUF8zR1BQX0RFQ18yMDE4X0JBU0VEX0NTU19NT05JVE9SSU5HLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O01vbml0b3IgQ1NTIHdpdGggM0dQUCBERUMtMjAxOCBiYXNlZCBzdGFuZGFyZC4mbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMHgxOkVuYWJsZWQmbHQ7QlImZ3Q7MHgwOkRpc2FibGVkLCwsLEJXUCxCV1AsLCxJT0RUIHdpdGggU2Ftc3VuZyAvIEVyaWNzc29uIHRvIHRlc3QgdW5kZXIgVERNIEJXUCByZWxhdGVkIGNhc2VzLixVbnRlc3RlZCwsLCwNCiAzMDYzNyw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3N10uU0JQX05SX0NQX0xBVEVOQ1lfU1JfREVMQVlfVElNRVIsbW9kZW1fc2JwX2NvbmZpZ1sxNzddLlNCUF9OUl9DUF9MQVRFTkNZX1NSX0RFTEFZX1RJTUVSLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0VuYWJsZSBTUiBkZWxheSB0aW1lciBkZWZhdWx0IHNldHRpbmcgZm9yIHJlc3VtZSBhbmQgcmUtZXN0LiZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCxiaXQ6MC8xLCwsLFIxNSBiYXNlbGluZSA1Ryw1RyBCYXNlbGluZSwsLG5vbmUsVW50ZXN0ZWQsLCwsDQotMzA2MzgsMjQ5NixOVlJBTV9FRl9YQ0FQX1BST0ZJTEVfTElELCIxLDIiLGlnbm9yZV9iYW9jX3JvYW1pbmdfcnVsZSx4Y2FwX2luZm8uaWdub3JlX2Jhb2Nfcm9hbWluZ19ydWxlLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLElnbm9yZSByb2FtaW5nIHJ1bGUgaW4gb3V0Z29pbmcgY2FsbCBiYXJyaW5nIHJ1bGVzZXQsVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsWENBUCBJTVMtU1MsWENBUCwsLCxVbnRlc3RlZCwsLCwNCi0zMDYzOSwyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIsaWdub3JlX2Jhb2Nfcm9hbWluZ19ydWxlLmlnbm9yZV9iYW9jX3JvYW1pbmdfcnVsZSx4Y2FwX2luZm8uaWdub3JlX2Jhb2Nfcm9hbWluZ19ydWxlLmlnbm9yZV9iYW9jX3JvYW1pbmdfcnVsZSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxJZ25vcmUgcm9hbWluZyBydWxlIGluIG91dGdvaW5nIGNhbGwgYmFycmluZyBydWxlc2V0Jmx0O0JSJmd0OyZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDssQklULDgsLDgsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsWENBUCBJTVMtU1MsWENBUCwsLCxVbnRlc3RlZCwsLCwNCiszMDYzOCwyNDk2LE5WUkFNX0VGX1hDQVBfUFJPRklMRV9MSUQsIjEsMiIsaWdub3JlX2Jhb2Nfcm9hbWluZ19ydWxlLHhjYXBfaW5mby5pZ25vcmVfYmFvY19yb2FtaW5nX3J1bGUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sSWdub3JlIHJvYW1pbmcgcnVsZSBpbiBvdXRnb2luZyBjYWxsIGJhcnJpbmcgcnVsZXNldCxVTlNJR05FRCBDSEFSLDEsLCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLGludC9zaG9ydC9sb25nOiAwMH4wMSwsLCxYQ0FQIElNUy1TUyxYQ0FQLCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsVW50ZXN0ZWQsLCwsDQorMzA2MzksMjQ5NixOVlJBTV9FRl9YQ0FQX1BST0ZJTEVfTElELCIxLDIiLGlnbm9yZV9iYW9jX3JvYW1pbmdfcnVsZS5pZ25vcmVfYmFvY19yb2FtaW5nX3J1bGUseGNhcF9pbmZvLmlnbm9yZV9iYW9jX3JvYW1pbmdfcnVsZS5pZ25vcmVfYmFvY19yb2FtaW5nX3J1bGUsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sSWdub3JlIHJvYW1pbmcgcnVsZSBpbiBvdXRnb2luZyBjYWxsIGJhcnJpbmcgcnVsZXNldCZsdDtCUiZndDsmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQsQklULDgsLDgsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsWENBUCBJTVMtU1MsWENBUCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lICgwIG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSBmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gTm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBOb25lLFVudGVzdGVkLCwsLA0KKzMwNjQ2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgwXS5TQlBfR01TU19OT19TSU1fU1RPUF9QRVJJT0RJQ19MSU1JVEVEX1JFQ09WRVJZX1NFQVJDSCxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX0dNU1NfTk9fU0lNX1NUT1BfUEVSSU9ESUNfTElNSVRFRF9SRUNPVkVSWV9TRUFSQ0gsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7U2tpcCByZWNvdmVyeSBzZWFyY2ggZHVyaW5nIEdNU1MgRWFybHkgQ29udHJvbCZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsMC0xLCwsLCwsLCwiRW5hYmxlIFNCUF9HTVNTX05PX1NJTV9TVE9QX1BFUklPRElDX0xJTUlURURfUkVDT1ZFUllfU0VBUkNIJmx0O0JSJmd0O1Bvd2VyIHVwIFVFIHdpdGggbm8gU0lNIGluc2VydGVkLiZsdDtCUiZndDsmbHQ7QlImZ3Q7V2hlbiBVRSBDYW1wcyBvbiBMVEUvTlIgQ2VsbCB3aXRoIG5vIElNUyBFQ0Mgc3VwcG9ydCwgVUUgc2hvdWxkIG5vdCBkbyByZWNvdmVyeSBzZWFyY2ggdW5sZXNzIGEgQ0FMTCBpcyBkaWFsZWQuIixVbnRlc3RlZCwsLCwNCiszMDY4MiwxMzQ3LE5WUkFNX0VGX1NETV9BRFNfUFJPRklMRV9MSUQsIjEsMiIsZGlzYWJsZV9zY2JtX2Zvcl85MTFfZmVhdHVyZSxkaXNhYmxlX3NjYm1fZm9yXzkxMV9mZWF0dXJlLE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV1kaXNhYmxlX3NjYm1fZm9yXzkxMV9mZWF0dXJlIixVTlNJR05FRCBDSEFSLDEsLCwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDMwNjk5LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLHNtc19tb19waWRmX3VzYWdlLHVhX2NvbmZpZy5zbXNfbW9fcGlkZl91c2FnZSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl1CaXQgbWFzayB3aGV0aGVyIHRvIGFkZCBwaWRmL2xvY2F0aW9uIGluIGRpZmZlcmVudCBraW5kcyBvZiBNTyBTTVMuIEluIGVhY2ggYml0LCAwIG1lYW5zIGRpc2FibGVkLCBiaXQgMSBtZWFucyBlbmFibGVkLiIsVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAzMDcwMCwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixzbXNfbW9fcGlkZl91c2FnZS5iMCx1YV9jb25maWcuc21zX21vX3BpZGZfdXNhZ2UuYjAsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdQml0IG1hc2sgd2hldGhlciB0byBhZGQgcGlkZi9sb2NhdGlvbiBpbiBkaWZmZXJlbnQga2luZHMgb2YgTU8gU01TLiBJbiBlYWNoIGJpdCwgMCBtZWFucyBkaXNhYmxlZCwgYml0IDEgbWVhbnMgZW5hYmxlZC4mbHQ7QlImZ3Q7RW1lcmdlbmN5IFNNUyBvdmVyIDNHUFAgUkFUIChkZWZhdWx0OjApIixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDMwNzAxLDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLHNtc19tb19waWRmX3VzYWdlLmIxLHVhX2NvbmZpZy5zbXNfbW9fcGlkZl91c2FnZS5iMSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl1CaXQgbWFzayB3aGV0aGVyIHRvIGFkZCBwaWRmL2xvY2F0aW9uIGluIGRpZmZlcmVudCBraW5kcyBvZiBNTyBTTVMuIEluIGVhY2ggYml0LCAwIG1lYW5zIGRpc2FibGVkLCBiaXQgMSBtZWFucyBlbmFibGVkLiZsdDtCUiZndDtFbWVyZ2VuY3kgU01TIG92ZXIgV0lGSSBSQVQgKGRlZmF1bHQ6MCkiLEJJVCwxLCwxLDB4MDEsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQpAQCAtMTA4MjksOCArMTA4MDAsMjMgQEAKIDMwODQ4LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTc4XS5TQlBfRU5BQkxFX0tERElfTjQxXzMwTV9BTkRfNTBNLG1vZGVtX3NicF9jb25maWdbMTc4XS5TQlBfRU5BQkxFX0tERElfTjQxXzMwTV9BTkRfNTBNLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0VuYWJsZSBLRERJIG40MSBCVyBmb3IgMzBNIGFuZCA1ME0mbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMSxOUjE1LlIzLk1ENzAwLk1QLCxiaXQ6IDAvMSwsLCxNRCBDb25maWcsTW9kZW0gLSBDdXN0b21lciBSZXF1aXJlbWVudCwsLFVFIGNhcGFiaWxpdHkgZXBvcnQsUGFzcywsLCwNCiAzMDkxNiwxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixtdF9ub19wcmNkX2luX3NpcCx1YV9jb25maWcubXRfbm9fcHJjZF9pbl9zaXAsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0sVU5TSUdORUQgQ0hBUiwxLCwsMHhmZixOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiAzMDkxNywxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixtdF9ub19wcmNkX2luX3NpcC5tdF9ub19wcmNkX2luX3NpcCx1YV9jb25maWcubXRfbm9fcHJjZF9pbl9zaXAubXRfbm9fcHJjZF9pbl9zaXAsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sIltNQ0ZdJmx0O0JSJmd0O0lmIG10IHJlSU5WSVRFIHdpdGhvdXQgcHJjZCBpbiBzaXAsIGJ1dCBpbmNsdWRlIHFvcyBpbiBzZHAsIHNlbmQgcmVzcCB3aXRob3V0IHFvcy4mbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzMwOTM1LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgxXS5TQlBfRElTQUJMRV9JTUNTTVNfV0FJVF9DTkZfVElNRVJfRk9SX01UX1NNUyxtb2RlbV9zYnBfY29uZmlnWzE4MV0uU0JQX0RJU0FCTEVfSU1DU01TX1dBSVRfQ05GX1RJTUVSX0ZPUl9NVF9TTVMsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7Q29udHJvbCBJTUNTTVMgd2FpdCBjb25maXJtYXRpb24gdGltZXIgZm9yIE1UIFNNUyZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUuIHJlbW92ZSBXYWl0IENORiB0aW1lciBmb3IgTVQgU01TIG92ZXIgSU1TJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZC4gQXBwbHkgd2FpdCBDTkYgdGltZXIgZm9yIE1UIFNNUyBvdmVyIElNUyZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMzA5NzQsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxODBdLlNCUF9BRlJfU0tJUF80RzVfVU5ERVJfNUdfU0hBUkVfNEdfSE9NRV9JUF9DT05USU5VSVRZX1BST0JMRU0sbW9kZW1fc2JwX2NvbmZpZ1sxODBdLlNCUF9BRlJfU0tJUF80RzVfVU5ERVJfNUdfU0hBUkVfNEdfSE9NRV9JUF9DT05USU5VSVRZX1BST0JMRU0sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7U0tJUCBBRlIgNEc1IERVRSBUTyA1RzQgSVIgSVAgUFJPQkxFTSZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCIsQklULDEsLDEsMHgwMCZsdDtCUiZndDswJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7MCZsdDtCUiZndDswJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7MCZsdDtCUiZndDswJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7MCZsdDtCUiZndDswJmx0O0JSJmd0OzAmbHQ7QlImZ3Q7MCxOUjE1LlIzLk1ENzAwLk1QLCwwJmx0O0JSJmd0OzEmbHQ7QlImZ3Q7MTpFbmFibGVkJmx0O0JSJmd0OzEmbHQ7QlImZ3Q7MSZsdDtCUiZndDsxJmx0O0JSJmd0OzA6RGlzYWJsZWQmbHQ7QlImZ3Q7MCZsdDtCUiZndDswLCwsLEF1dG8gRmFzdCBSZXR1cm4gZm9yIE5SLE9QIFJlcXVpcmVtZW50LCwsVGVzdCBpbiBtYWNoaW5lIChOKSZsdDtCUiZndDtUZXN0IFRpbWUgKDAgbWludXRlcykmbHQ7QlImZ3Q7W0luaXRdIGZvbGxvdyBNQ0YgUkQgSVQgcGxhbiZsdDtCUiZndDtbVGVzdCBTdGVwXSBOb25lJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdIE5vbmUsUGFzcywsLCwNCiAzMTEzMiw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE3OV0uU0JQX0JBTkQ2Nl9VTF9FQVJGQ05fQ1VTVE9NSVpBVElPTl9GT1JfVVNfQU5EX05PTl9VU19PUEVSQVRPUlMsbW9kZW1fc2JwX2NvbmZpZ1sxNzldLlNCUF9CQU5ENjZfVUxfRUFSRkNOX0NVU1RPTUlaQVRJT05fRk9SX1VTX0FORF9OT05fVVNfT1BFUkFUT1JTLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0VuYWJsZSBwYXJ0aWFsIGJhbmRzIHNldHRpbmcgdW5kZXIgZm9yIFVTIGFuZCBOT04tVVMgbWNjLiZsdDtCUiZndDtiaXQgMDowOk5vdCBFbmFibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMzExMzUsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsbm90X2FjcXVpcmVfdGV4dF9ydGNwLGltY19jb25maWcubm90X2FjcXVpcmVfdGV4dF9ydGNwLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLFtNQ0ZdLFVOU0lHTkVEIENIQVIsMSwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwiVGVzdCBpbiBtYWNoaW5lIChZL04pICBZLCBkZXBlbmQgb24gTlcgc2V0dGluZywgICB0ZXh0IGNhbGwsIGFuZCBubyB0ZXh0IFJUQ1AgaW5mbyBpbiB0ZXh0IGRlZGljYXRlZCBiZWFyZXImbHQ7QlImZ3Q7VGVzdCBUaW1lIChtaW51dGVzKTogTkEmbHQ7QlImZ3Q7W0luaXRdIG5vIHRleHQgUlRDUCBpbmZvIGluIHRleHQgZGVkaWNhdGVkIGJlYXJlciwgIGVuYWJsZSBub3RfYWNxdWlyZV90ZXh0X3J0Y3AmbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7dGV4dCBjYWxsIGNvdWxkIGVzdGFibGlzaCBzdWNjZXNzIHdoZW4gZW5hYmxlIHRoaXMgZmVhdHVyZSBhbmQgd2lsbCBmYWlsIHdoZW4gZGlzYWJsZSB0aGlzIGZlYXR1cmUuJmx0O0JSJmd0O1tFeHBlY3RlZCBSZXN1bHRdJmx0O0JSJmd0O3RleHQgY2FsbCBjb3VsZCBlc3RhYmxpc2ggc3VjY2VzcyB3aGVuIGVuYWJsZSB0aGlzIGZlYXR1cmUgYW5kIHdpbGwgZmFpbCB3aGVuIGRpc2FibGUgdGhpcyBmZWF0dXJlLiIsVW50ZXN0ZWQsLCwsDQorMzExMzYsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsbm90X2FjcXVpcmVfdGV4dF9ydGNwLm5vdF9hY3F1aXJlX3RleHRfcnRjcCxpbWNfY29uZmlnLm5vdF9hY3F1aXJlX3RleHRfcnRjcC5ub3RfYWNxdWlyZV90ZXh0X3J0Y3AsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0mbHQ7QlImZ3Q7Q2hlY2sgcGFja2V0IGZpbHRlciBmb3IgYXVkaW8gdGV4dCBvciBub3QmbHQ7QlImZ3Q7Yml0IDA6MDpOZWVkIHRvIGNoZWNrJmx0O0JSJmd0O2JpdCAxOjE6Tm90IHRvIGNoZWNrJmx0O0JSJmd0OyxCSVQsOCwsOCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsIlRlc3QgaW4gbWFjaGluZSAoWS9OKSAgWSwgZGVwZW5kIG9uIE5XIHNldHRpbmcsICAgdGV4dCBjYWxsLCBhbmQgbm8gdGV4dCBSVENQIGluZm8gaW4gdGV4dCBkZWRpY2F0ZWQgYmVhcmVyJmx0O0JSJmd0O1Rlc3QgVGltZSAobWludXRlcyk6IE5BJmx0O0JSJmd0O1tJbml0XSBubyB0ZXh0IFJUQ1AgaW5mbyBpbiB0ZXh0IGRlZGljYXRlZCBiZWFyZXIsICBlbmFibGUgbm90X2FjcXVpcmVfdGV4dF9ydGNwJmx0O0JSJmd0O1tUZXN0IFN0ZXBdJmx0O0JSJmd0O3RleHQgY2FsbCBjb3VsZCBlc3RhYmxpc2ggc3VjY2VzcyB3aGVuIGVuYWJsZSB0aGlzIGZlYXR1cmUgYW5kIHdpbGwgZmFpbCB3aGVuIGRpc2FibGUgdGhpcyBmZWF0dXJlLiZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDt0ZXh0IGNhbGwgY291bGQgZXN0YWJsaXNoIHN1Y2Nlc3Mgd2hlbiBlbmFibGUgdGhpcyBmZWF0dXJlIGFuZCB3aWxsIGZhaWwgd2hlbiBkaXNhYmxlIHRoaXMgZmVhdHVyZS4iLFVudGVzdGVkLCwsLA0KKzMxMjg3LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgwXS5TQlBfTldTRUxfSVZTUl9ET19OT1RfU0VBUkNIX1JFSkVDVEVEX1JBVF9GSVJTVCxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX05XU0VMX0lWU1JfRE9fTk9UX1NFQVJDSF9SRUpFQ1RFRF9SQVRfRklSU1QsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7RG8gbm90IHNlYXJjaCByZWplY3RlZCBSQVQgZmlyc3QgZm9yIElWU1ImbHQ7QlImZ3Q7Yml0IDA6MDpOb3QgRW5hYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDMxMjk5LDk2MSxOVlJBTV9FRl9TQlBfTU9ERU1fREFUQV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2RhdGFfY29uZmlnWzE2OV0uU0JQX0xPQ0FMX1JFTEVBU0VfRk9SX1ZPV0lGSV9ESVNBQkxFXzVHX1NBLG1vZGVtX3NicF9kYXRhX2NvbmZpZ1sxNjldLlNCUF9MT0NBTF9SRUxFQVNFX0ZPUl9WT1dJRklfRElTQUJMRV81R19TQSxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRGF0YSZsdDtCUiZndDtDb250cm9scyBMb2NhbCBSZWxlYXNlIG1lY2hhbmlzbSB0byBlbmFibGUgNUcgU0EgYWZ0ZXIgVm9XSUZJIGNhbGwgZW5kcyZsdDtCUiZndDtiaXQgMDowOjA6IE5vIExvY2FsIFJlbGVhc2UmbHQ7QlImZ3Q7Yml0IDE6MToxOiBMb2NhbCByZWxlYXNlIG9ubHkmbHQ7QlImZ3Q7Yml0IDI6MjoyOiBMb2NhbCByZWxlYXNlICsgTlIgU2VhcmNoJmx0O0JSJmd0OyIsQklULDgsLDgsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiszMTM5NCw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX05SUkNfRUVfRE9TX1NPTFVUSU9OLG1vZGVtX3NicF9jb25maWdbMTgwXS5TQlBfTlJSQ19FRV9ET1NfU09MVVRJT04sT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7VXNlIE5WUkFNIHRvIHJlY29yZCBFRSBjZWxsIGNhbmRpZGF0ZSB3aGVuIGNvbm5lY3Rpb24gc2V0dXAuIFdoZW4gZ3JhY2VmdWxseSByZWxlYXNlIHdpbGwgZGVsZXRlIEVFIGNlbGwgY2FuZGlkZGF0ZS4gSWYgRUUgaGFwcGVuZWQsIGZvciBuZXh0IHJvdW5kIGNlbGwgc2VsZWN0aW9uL3Jlc2VsZWN0aW9uIHByb2VjZXNzLiBUaGUgRUUgY2VsbCB3aWxsIGJlIHRyZWF0ZWQgYXMgYmFyIGNlbGwuJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkIixCSVQsMSwsMSwweDAxLE5SMTUuUjMuTUQ3MDAuTVAsLDEsLCwsTUQgQ29uZmlnLE1vZGVtIC0gQ3VzdG9tZXIgUmVxdWlyZW1lbnQsLCwiVGVzdCBpbiBtYWNoaW5lIChZKSZsdDtCUiZndDsgICBUZXN0IFRpbWUgKDMgbWludXRlcykmbHQ7QlImZ3Q7ICAgW0luaXRdJmx0O0JSJmd0OzAuIFNldCB1cCAyIGRpZmZlcmVudCBjZWxscyhjZWxsMSwgY2VsbDIpLihQbGVhc2Ugd3JpdGUgZG93biBjZWxsIGluZm8gZm9yIGVhY2ggY2VsbCkmbHQ7QlImZ3Q7ICAgW1Rlc3QgU3RlcF0mbHQ7QlImZ3Q7MS4gUG93ZXIgdXAgVUUuJmx0O0JSJmd0OzIuIFVFIGNhbXAgb24gY2VsbDEgIGFuZCBzZXR1cCBjb25uZWN0aW9uLiZsdDtCUiZndDszLiBVc2UgTWFsZm9ybSBSUkMgc2V0dXAgdG8gY3JlYXRlIFVFIEVFICZsdDtCUiZndDs0LiBSZWJvb3QgVUUgYW5kIHNldHVwIGNvbm5lY3Rpb24uICZsdDtCUiZndDsgICBbRXhwZWN0ZWQgUmVzdWx0XSZsdDtCUiZndDtVRSBjYW4gbm90IGNhbXAgb24gQ2VsbDEuIixQYXNzLCwsLA0KIDMxMzk5LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTc5XS5TQlBfRVJSQ19JR05PUkVfUExNTl9XSEVOX0JBTkRfTUlTTUFUQ0hfV0lUSF9VTlNVUFBPUlRFRF9CQU5ELG1vZGVtX3NicF9jb25maWdbMTc5XS5TQlBfRVJSQ19JR05PUkVfUExNTl9XSEVOX0JBTkRfTUlTTUFUQ0hfV0lUSF9VTlNVUFBPUlRFRF9CQU5ELE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O0Rpc2FibGUgaWNtcCBwaW5nIERMIHRyYWZmaWMgJmx0O0JSJmd0O2JpdCAwOjA6RGlzYWJsZWQmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiszMTQyMSw5NjAsTlZSQU1fRUZfU0JQX01PREVNX0NPTkZJR19MSUQsMSxtb2RlbV9zYnBfY29uZmlnWzE4MV0uU0JQX1VFX05PVF9SRVRSWV9TUl9BRlRFUl9TUl9SRUpFQ1RfQ09OR0VTVElPTl9XT19UMzM0Nixtb2RlbV9zYnBfY29uZmlnWzE4MV0uU0JQX1VFX05PVF9SRVRSWV9TUl9BRlRFUl9TUl9SRUpFQ1RfQ09OR0VTVElPTl9XT19UMzM0NixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtSZXRyeSBTUiBhZnRlciBTUiBSZWogd2l0aCAjMjIgdy9vIFQzMzQ2LiZsdDtCUiZndDtiaXQgMDowOlJldHJ5IFNSJmx0O0JSJmd0O2JpdCAxOjE6Tm90IHJldHJ5IFNSJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwwLzEsLCwsLCwsLFRlc3QgaW4gbWFjaGluZSAoTikmbHQ7QlImZ3Q7VGVzdCBUaW1lICgwIG1pbnV0ZXMpJmx0O0JSJmd0O1tJbml0XSBmb2xsb3cgTUNGIFJEIElUIHBsYW4mbHQ7QlImZ3Q7W1Rlc3QgU3RlcF0gTm9uZSZsdDtCUiZndDtbRXhwZWN0ZWQgUmVzdWx0XSBOb25lLFVudGVzdGVkLCwsLA0KIDMxNjA2LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTc5XS5TQlBfQ1VTVE9NX1NFVFRJTkdfRk9SX1NNU19PVkVSX05BUzVHX1NVUFBPUlQsbW9kZW1fc2JwX2NvbmZpZ1sxNzldLlNCUF9DVVNUT01fU0VUVElOR19GT1JfU01TX09WRVJfTkFTNUdfU1VQUE9SVCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtDdXN0b20gc2V0dGluZyBmb3IgU01TIG92ZXIgTkFTIDVHIHN1cHBvcnQmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzMxNjA3LDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTgwXS5TQlBfR0FTX0NVU1RPTV9NQ0NfQ0FNUF9OT1RfQUxMT1dFRCxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX0dBU19DVVNUT01fTUNDX0NBTVBfTk9UX0FMTE9XRUQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7R0FTX0NVU1RPTV9NQ0NfQ0FNUF9OT1RfQUxMT1dFRCZsdDtCUiZndDtiaXQgMDowOkRpc2FibGVkJmx0O0JSJmd0O2JpdCAxOjE6RW5hYmxlZCZsdDtCUiZndDsiLEJJVCwxLCwxLDB4MDAsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMzE2MDgsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxODBdLlNCUF9VQVNfTk9UX0NBTVBfQ1VTVE9NX01DQyxtb2RlbV9zYnBfY29uZmlnWzE4MF0uU0JQX1VBU19OT1RfQ0FNUF9DVVNUT01fTUNDLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLHllcywiW01DRixSVU5USU1FXSBDb25maWd1cmF0aW9uIG9mIFNCUCBGZWF0dXJlJmx0O0JSJmd0O1VBUyBOT1QgQ0FNUCBKUCBNQ0MmbHQ7QlImZ3Q7Yml0IDA6MDpEaXNhYmxlZCZsdDtCUiZndDtiaXQgMToxOkVuYWJsZWQmbHQ7QlImZ3Q7IixCSVQsMSwsMSwweDAwLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzMxNjU5LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLG13aV9yZXN1YnNjcmliZV90aW1lcix1YV9jb25maWcubXdpX3Jlc3Vic2NyaWJlX3RpbWVyLE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJbTUNGXVRoaXMgZGVmaW5lcyB0aGUgTVdJIHJlLXN1YnNjcmliZSBpbnRlcnZhbCBpbiBzZWNvbmRzLiBJZiB0aGUgdmFsdWUgaXMgMCwgQXR0ZW1wdCB0aGUgaW5pdGlhbCBtd2kgc3Vic2NyaXB0aW9uIG9ubHkgb25jZSBldmVuIGlmIHRoZSBpbml0aWFsIHN1YnNjcmlwdGlvbiBmYWlscy4gV2hlbiBzZXQgdG8gaGF2ZSBub24temVybyB2YWx1ZSBhbmQgc3Vic2NyaXB0aW9uL3JlLXN1YnNjcmlwdGlvbiBmYWlscywgdGhlIHN1YnNjaWJlciBzaG91bGQgcGVyaW9kaWNhbGx5IHJldHJ5IGFnYWluLiBBTjp1bml0OiBzZWMiLFVOU0lHTkVEIFNIT1JULDIsLCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KIDMxNjYxLDk2MCxOVlJBTV9FRl9TQlBfTU9ERU1fQ09ORklHX0xJRCwxLG1vZGVtX3NicF9jb25maWdbMTczXS5TQlBfTE9DQUxfUkVMRUFTRV9GT1JfVk9XSUZJX0RJU0FCTEVfNUdfU0FfTlIsbW9kZW1fc2JwX2NvbmZpZ1sxNzNdLlNCUF9MT0NBTF9SRUxFQVNFX0ZPUl9WT1dJRklfRElTQUJMRV81R19TQV9OUixPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyx5ZXMsIltNQ0YsUlVOVElNRV0gQ29uZmlndXJhdGlvbiBvZiBTQlAgRmVhdHVyZSZsdDtCUiZndDtPYnNvbGV0ZSAsVGhpcyBmZWF0dXJlIGlzIHJlbmFtZWQgaGVyZSB0byBtYWtlIGl0IG9ic29sZXRlIGFuZCByZWRlZmluZWQgaW4gc2JwX2RhdGEuZGVmJmx0O0JSJmd0O2JpdCAwOjA6Ti9BJmx0O0JSJmd0O2JpdCAxOjE6Ti9BJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCiszMTkzMywxMzQ0LE5WUkFNX0VGX0lNU19QUk9GSUxFX0xJRCwiMSwyIixWb0xURV9TZXR0aW5nX1NJUF9UQ1BfUmV0cmFuc21pdF9Db3VudCx1YV9jb25maWcuVm9MVEVfU2V0dGluZ19TSVBfVENQX1JldHJhbnNtaXRfQ291bnQsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8sbm8sW01DRl0sVU5TSUdORUQgSU5ULDQsLCwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzMxOTM0LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLFZvTFRFX1NldHRpbmdfU0lQX1RDUF9SZXRyYW5zbWl0X0ludGVydmFsLHVhX2NvbmZpZy5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfUmV0cmFuc21pdF9JbnRlcnZhbCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubyxbTUNGXSxVTlNJR05FRCBJTlQsNCwsLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMzIxNjQsMTM0NCxOVlJBTV9FRl9JTVNfUFJPRklMRV9MSUQsIjEsMiIsVm9MVEVfU2V0dGluZ19TSVBfVENQX1JldHJhbnNtaXRfQ291bnQuVm9MVEVfU2V0dGluZ19TSVBfVENQX1JldHJhbnNtaXRfQ291bnQsdWFfY29uZmlnLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9SZXRyYW5zbWl0X0NvdW50LlZvTFRFX1NldHRpbmdfU0lQX1RDUF9SZXRyYW5zbWl0X0NvdW50LE9UQSBhbmQgT1RBIEJZIE9QLG5vLG5vLG5vLG5vLCJbTUNGXSZsdDtCUiZndDtUaGUgbWF4IFRDUCByZXRyYW5zbWl0IGNvdW50IG9mIFNJUCxkZWZhdWx0IHZhbHVlIGlzIDcmbHQ7QlImZ3Q7Yml0IDc6Nzo3IHRpbWVzJmx0O0JSJmd0OyIsQklULDMyLCwzMiwweGZmLE5SMTUuUjMuTUQ3MDAuTVAsLCwsLCwsLCwsLFVudGVzdGVkLCwsLA0KKzMyMTY1LDEzNDQsTlZSQU1fRUZfSU1TX1BST0ZJTEVfTElELCIxLDIiLFZvTFRFX1NldHRpbmdfU0lQX1RDUF9SZXRyYW5zbWl0X0ludGVydmFsLlZvTFRFX1NldHRpbmdfU0lQX1RDUF9SZXRyYW5zbWl0X0ludGVydmFsLHVhX2NvbmZpZy5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfUmV0cmFuc21pdF9JbnRlcnZhbC5Wb0xURV9TZXR0aW5nX1NJUF9UQ1BfUmV0cmFuc21pdF9JbnRlcnZhbCxPVEEgYW5kIE9UQSBCWSBPUCxubyxubyxubyxubywiW01DRl0mbHQ7QlImZ3Q7VGhlIFRDUCByZXRyYW5zbWl0IGludGVydmFsIG9mIFNJUCxkZWZhdWx0IHZhbHVlIGlzIDIwMDBtcyZsdDtCUiZndDtiaXQgMjAwMDoyMDAwOjIwMDAgbXMmbHQ7QlImZ3Q7IixCSVQsMzIsLDMyLDB4ZmYsTlIxNS5SMy5NRDcwMC5NUCwsLCwsLCwsLCwsVW50ZXN0ZWQsLCwsDQorMzI2NzAsOTYwLE5WUkFNX0VGX1NCUF9NT0RFTV9DT05GSUdfTElELDEsbW9kZW1fc2JwX2NvbmZpZ1sxODFdLlNCUF9MNV9QUklWQVRFX0VDQUxMX1BSSU9SSVRZX1NFVFRJTkcsbW9kZW1fc2JwX2NvbmZpZ1sxODFdLlNCUF9MNV9QUklWQVRFX0VDQUxMX1BSSU9SSVRZX1NFVFRJTkcsT1RBIGFuZCBPVEEgQlkgT1Asbm8sbm8sbm8seWVzLCJbTUNGLFJVTlRJTUVdIENvbmZpZ3VyYXRpb24gb2YgU0JQIEZlYXR1cmUmbHQ7QlImZ3Q7c2V0IHByaXZhdGUgZWNhbGwgcHJpb3JpdHkgc2FtZSBhcyBub3JtYWwgY2FsbCBwcmlvcml0eSZsdDtCUiZndDtiaXQgMDowOkRpc2FibGUmbHQ7QlImZ3Q7Yml0IDE6MTpFbmFibGVkJmx0O0JSJmd0OyIsQklULDEsLDEsMHgwMCxOUjE1LlIzLk1ENzAwLk1QLCwsLCwsLCwsLCxVbnRlc3RlZCwsLCwNCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3NlcnZpY2UvbnZyYW0vZXJyY19udnJhbV9kZWYuYyBiL21jdS9jdXN0b20vc2VydmljZS9udnJhbS9lcnJjX252cmFtX2RlZi5jCmluZGV4IDkzM2E2ZTcuLjQ4Mjk2NTYgMTAwNjQ0Ci0tLSBhL21jdS9jdXN0b20vc2VydmljZS9udnJhbS9lcnJjX252cmFtX2RlZi5jCisrKyBiL21jdS9jdXN0b20vc2VydmljZS9udnJhbS9lcnJjX252cmFtX2RlZi5jCkBAIC0zMzI3LDcgKzMzMjcsMzMgQEAKICAgICAgICAgICAgIDB4MDAgICAgLy9iYW5kWzI1Nl0KICNlbmRpZgkJCQogICAgICAgICB9LAotCisjaWZkZWYgX19CQU5ENjZfRUFSRkNOX0NVU1RPTUlaQVRJT05fRk9SX1VTX0FORF9OT05fVVNfT1BFUkFUT1JTX18KKyAgICAgICAgey8vbnZyYW1fZXJyY19wYXJ0aWFsX2JhbmRfaW5mX3N0cnVjdAorICAgICAgICAgICAgMHgwMSwKKyAgICAgICAgICAgIHsgLy9udnJhbV9lcnJjX3BhcnRpYWxfYmFuZF9saXN0X3N0cnVjdAorICAgICAgICAgICAgLy8gcGFydGlhbCBiYW5kIGxpc3QgWzBdIC0gYmFuZCwgZGxfbG93ZXJfZWFyZmNuLCBkbF91cHBlcl9lYXJmY24sIHVsX2xvd2VyX2VhcmZjbiwgdWxfdXBwZXJfZWFyZmNuCisgICAgICAgICAgICAgICAgezB4MDA0MiwweDAwMDEwMzg0LDB4MDAwMTA3MDcsMHgwMDAyMDM4NCwweDAwMDIwNTQ2fSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbMV0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbMl0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbM10gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbNF0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbNV0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbNl0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbN10gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbOF0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfSwKKyAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsIGJhbmQgbGlzdCBbOV0gCisgICAgICAgICAgICAgICAgezB4MDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwfQorICAgICAgICAgICAgfQorICAgICAgICB9LAorI2Vsc2UKICAgICAgICAgey8vbnZyYW1fZXJyY19wYXJ0aWFsX2JhbmRfaW5mX3N0cnVjdAogICAgICAgICAgICAgMHgwMCwKICAgICAgICAgICAgIHsgLy9udnJhbV9lcnJjX3BhcnRpYWxfYmFuZF9saXN0X3N0cnVjdApAQCAtMzM1Myw2ICszMzc5LDcgQEAKICAgICAgICAgICAgICAgICB7MHgwMDAwLDB4MDAwMDAwMDAsMHgwMDAwMDAwMCwweDAwMDAwMDAwLDB4MDAwMDAwMDB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisjZW5kaWYKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3NlcnZpY2UvbnZyYW0vbmFzX252cmFtX2RlZi5jIGIvbWN1L2N1c3RvbS9zZXJ2aWNlL252cmFtL25hc19udnJhbV9kZWYuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IGJjZTkxMGYuLmI3NGRhOTEKLS0tIGEvbWN1L2N1c3RvbS9zZXJ2aWNlL252cmFtL25hc19udnJhbV9kZWYuYworKysgYi9tY3UvY3VzdG9tL3NlcnZpY2UvbnZyYW0vbmFzX252cmFtX2RlZi5jCkBAIC0xMDk5LDcgKzEwOTksMTQgQEAKICAgICAgICAgfQogICAgIH0sCiAJewotICAgICBOVlJBTV9OV1NFTF9BQ1RJT05fVVBEQVRFX0NBUF9PTkxZICAgICAgICAgLyogTlZSQU1fTldTRUxfUFJPQ19FTUNfU0VSVklDRV9DSEFOR0UgKi8KKyAgICAgICAgTlZSQU1fTldTRUxfQUNUSU9OX1VQREFURV9DQVBfT05MWSwgICAgICAgIC8qIE5WUkFNX05XU0VMX1BST0NfVFVSTl9PTl9JTVMgKi8KKyAgICAgICAgTlZSQU1fTldTRUxfQUNUSU9OX1VQREFURV9DQVBfT05MWSwgICAgICAgIC8qIE5WUkFNX05XU0VMX1BST0NfVUVfTU9ERV9DSEFOR0UgKi8KKyAgICAgICAgTlZSQU1fTldTRUxfQUNUSU9OX1VQREFURV9DQVBfT05MWSwgICAgICAgIC8qIE5WUkFNX05XU0VMX1BST0NfREFUQV9TRVJWSUNFX0NIQU5HRSAqLworICAgICAgICBOVlJBTV9OV1NFTF9BQ1RJT05fVVBEQVRFX0NBUF9PTkxZLCAgICAgICAgLyogTlZSQU1fTldTRUxfUFJPQ19JQV9BUE5fQ0hBTkdFICovCisgICAgICAgIE5WUkFNX05XU0VMX0FDVElPTl9VUERBVEVfQ0FQX09OTFksICAgICAgICAvKiBOVlJBTV9OV1NFTF9QUk9DX1BETl9BVkFJTF9DSEFOR0UgKi8KKyAgICAgICAgTlZSQU1fTldTRUxfQUNUSU9OX1VQREFURV9DQVBfT05MWSwgICAgICAgIC8qIE5WUkFNX05XU0VMX1BST0NfTEVBVkVfUkVKXzEzXzE1X0dFT19BUkVBICovCisgICAgICAgIE5WUkFNX05XU0VMX0FDVElPTl9VUERBVEVfQ0FQX09OTFksICAgICAgICAvKiBOVlJBTV9OV1NFTF9QUk9DX0dFTkVSQUxfVElNRVJfRVhQSVJFICovCisgICAgICAgIE5WUkFNX05XU0VMX0FDVElPTl9VUERBVEVfQ0FQX09OTFkgICAgICAgICAvKiBOVlJBTV9OV1NFTF9QUk9DX0VNQ19TRVJWSUNFX0NIQU5HRSAqLwogICAgIH0KICAgICB9CiB9OwpAQCAtMTMxNyw2ICsxMzI0LDMxOSBAQAogfTsKICNlbmRpZgogCisjZGVmaW5lIE5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCB7IFwKKyAgICAgezB4RkYsIDB4RkYsIDB4RkZ9IFwKKyAgICAgfSAgICAgICAgICAKK3N0YXRpYyBudnJhbV9lZl9uYXNfbnNhX3doaXRlbGlzdF9wbG1uX3N0cnVjdCBjb25zdCBOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFRbXSA9Cit7CisgICAgeworCQkweDAwLC8qIE51bWJlciBvZiBOU0Egd2hpdGVsaXN0IFBMTU4gKi8KKwkgICAgeworICAgICAgICAgICAgTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjcqLworICAgICAgICAgICAgTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNyovCisgICAgICAgICAgICBOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjExKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyowKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyozKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo3Ki8KKyAgICAgICAgICAgIE5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjcqLworICAgICAgICAgICAgTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNyovCisgICAgICAgICAgICBOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjExKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyowKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyozKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo3Ki8KKyAgICAgICAgICAgIE5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjcqLworICAgICAgICAgICAgTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qNyovCisgICAgICAgICAgICBOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjExKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyowKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyozKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo3Ki8KKyAgICAgICAgICAgIE5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyo5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxOSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIxKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI0Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI3Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyOCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjAqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjMqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjYqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjcqLworICAgICAgICAgICAgTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjkqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEwKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxMSovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTIqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjEzKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTUqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE2Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoxNyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMTgqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjE5Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMCovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjEqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjIyKi8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyMyovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjQqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI1Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCwgLyoyNiovCisgICAgICAgIAlOVlJBTV9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0RFRkFVTFQsIC8qMjcqLworICAgICAgICAJTlZSQU1fTkFTX05TQV9XSElURUxJU1RfUExNTl9ERUZBVUxULCAvKjI4Ki8KKyAgICAgICAgCU5WUkFNX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCAvKjI5Ki8KKyAgICAJfQorCX0KK307CisKKwogLy8gTElEIERlY2xhcmF0aW9uCiBsdGFibGVfZW50cnlfc3RydWN0IGxvZ2ljYWxfZGF0YV9pdGVtX3RhYmxlX25hc1tdID0KIHsKQEAgLTE0NTAsNiArMTc3MCwxNyBAQAogICAgICAgICBWRVIoTlZSQU1fRUZfTkFTX0JMQUNLTElTVF9QTE1OX0xJRCkKICAgICB9LAogI2VuZGlmCisJeworCQkJTlZSQU1fRUZfTkFTX05TQV9XSElURUxJU1RfUExNTl9MSUQsCisJCQlOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX1RPVEFMLAorCQkJTlZSQU1fRUZfTkFTX05TQV9XSElURUxJU1RfUExNTl9TSVpFLAorCQkJTlZSQU1fTk9STUFMKE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fREVGQVVMVCksCisJCQlOVlJBTV9DQVRFR09SWV9VU0VSIHwgTlZSQU1fQ0FURUdPUllfQ1VTVFBBQ0ssCisJCQlOVlJBTV9BVFRSX0FWRVJBR0UJfCBOVlJBTV9BVFRSX09UQV9SRVNFVCB8IE5WUkFNX0FUVFJfTUNGX09UQSB8IE5WUkFNX0FUVFJfTUNGX09UQV9CWV9PUCwKKwkJCSJOQTk5IiwKKwkJCVZFUihOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0xJRCkKKwl9LAorCiAgICAgTlZSQU1fTFRBQkxFX0VORAogfTsKIApkaWZmIC0tZ2l0IGEvbWN1L2N1c3RvbS9zZXJ2aWNlL3NicC9zYnBfY29uZmlnX2N0cmwuYyBiL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX2NvbmZpZ19jdHJsLmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA5MTk1NmYwLi5mNjZjYjM4Ci0tLSBhL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX2NvbmZpZ19jdHJsLmMKKysrIGIvbWN1L2N1c3RvbS9zZXJ2aWNlL3NicC9zYnBfY29uZmlnX2N0cmwuYwpAQCAtNTksMzIgKzU5LDMyIEBACiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKQEAgLTkzLDcgKzkzLDcgQEAKICAqCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQpAQCAtMTAxLDI3ICsxMDEsMjcgQEAKICAqIHJlbW92ZWQhCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKICAqCiAgKiByZW1vdmVkIQpAQCAtMTM0LDcgKzEzNCw3IEBACiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQorICoKICAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKQEAgLTE0MywzNCArMTQzLDM0IEBACiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCisgKgogICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCiAgKiByZW1vdmVkIQogICoKICAqIHJlbW92ZWQhCiAgKiByZW1vdmVkIQogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQotICogcmVtb3ZlZCEKLSAqCi0gKiByZW1vdmVkIQotICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQotICoKLSAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQotICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCi0gKgotICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCi0gKiByZW1vdmVkIQotICogcmVtb3ZlZCEKLSAqIHJlbW92ZWQhCiAgKgogICogcmVtb3ZlZCEKICAqIHJlbW92ZWQhCkBAIC01MjUsNyArNTI1LDcgQEAKICNlbmRpZiAvKiBfX05SX1JBVF9fICovCiAjaWZkZWYgX19DRE1BMjAwMF9SQVRfXwogZXh0ZXJuIHZvaWQgbnZyYW1fY3VzdG9tX2NvbmZpZ19jMmtfbmFtX3BhcmEoa2FsX3VpbnQzMiBvbGRfc2JwX2lkLCBwcm90b2NvbF9pZF9lbnVtIHBzX2lkKTsKLWV4dGVybiBrYWxfYm9vbCBudnJhbV9jdXN0b21fcmVjb25maWdfYzJrX25hbV9wYXJhKHNicF9yZWNvbmZpZ19jdXN0b21fcGFyYW1fc3RydWN0ICpwYXJhbV9wdHIpOyAgCitleHRlcm4ga2FsX2Jvb2wgbnZyYW1fY3VzdG9tX3JlY29uZmlnX2Mya19uYW1fcGFyYShzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtX3N0cnVjdCAqcGFyYW1fcHRyKTsKICNlbmRpZgogZXh0ZXJuIGthbF9ib29sIG52cmFtX2N1c3RvbV9jb25maWdfdW10cyhzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtX3N0cnVjdCAqcGFyYW1fcHRyKTsKIGV4dGVybiBrYWxfYm9vbCBudnJhbV9jdXN0b21fY29uZmlnX3NicChzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtX3N0cnVjdCAqcGFyYW1fcHRyKTsKQEAgLTU2OSwxMCArNTY5LDEyIEBACiBleHRlcm4ga2FsX2Jvb2wgbnZyYW1fY3VzdG9tX2NvbmZpZ19sNV9wcm9maWxlKHNicF9yZWNvbmZpZ19jdXN0b21fcGFyYW1fc3RydWN0ICpwYXJhbV9wdHIpOwogI2VuZGlmCiBleHRlcm4ga2FsX2Jvb2wgbnZyYW1fY3VzdG9tX2NvbmZpZ19hc19wcm9maWxlKHNicF9yZWNvbmZpZ19jdXN0b21fcGFyYW1fc3RydWN0ICpwYXJhbV9wdHIpOworZXh0ZXJuIGthbF9ib29sIG52cmFtX2N1c3RvbV9jb25maWdfbndzZWxfbmFzX3doaXRlbGlzdF9kc2JwX3Byb2ZpbGUoc2JwX3JlY29uZmlnX2N1c3RvbV9wYXJhbV9zdHJ1Y3QgKnBhcmFtX3B0cik7CiAKICNpZmRlZiBfX0lQQ19BREFQVEVSX18KIGV4dGVybiBrYWxfYm9vbCBzc19udnJhbV9jdXN0b21fY29uZmlnX25vbl9zYnBfbnYocHJvdG9jb2xfaWRfZW51bSBwc19pZCwga2FsX3VpbnQzMiBzaW1fc2JwX2lkKTsKICNlbmRpZgorZXh0ZXJuIGthbF9ib29sIG52cmFtX2N1c3RvbV9jb25maWdfcHNfY29uZm9ybWFuY2Vfc2V0dGluZyhzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtX3N0cnVjdCAqcGFyYW1fcHRyKTsKIAogLyogIEZvciBNb0RJUyBVVCwgU0FQX0lORk8oeHh4X1NBUCxNT0RfQSxBTlkpCiAgKiAgSWYgTU9EX0EgaXMgdGhlIHRlc3QgbW9kdWxlIGFuZCBzZW5kIG1zZyB0byBub24gdGVzdCBtb2R1bGVzIHdpdGggYWJvdmUgU0FQIElORk8sCkBAIC02NDgsNyArNjUwLDcgQEAKICNpZmRlZiBfX0NETUEyMDAwX1JBVF9fCiAgICAge01PRF9OSUwsICAgIFNCUF9SRUNPTkZJR1VSRV9TQVAsICAgICBSRUNPTkZJR19EU0JQX0NIQU5HRV9BTEwsIENGR19HRU1JTklfTU9ELCBudnJhbV9jdXN0b21fY29uZmlnX2hscF9wcm9maWxlfSwKICAgICB7TU9EX05JTCwgICAgU0JQX1JFQ09ORklHVVJFX1NBUCwgICAgIFJFQ09ORklHX0RTQlBfQ0hBTkdFX0FMTCwgQ0ZHX0dFTUlOSV9NT0QsIG52cmFtX2N1c3RvbV9jb25maWdfY3ZhbF9wYXJhX21jZn0sCi0gICAge01PRF9OSUwsICAgIFNCUF9SRUNPTkZJR1VSRV9TQVAsICAgICBSRUNPTkZJR19EU0JQX0NIQU5HRSwgQ0ZHX1NJTkdMRV9NT0QsIG52cmFtX2N1c3RvbV9yZWNvbmZpZ19jMmtfbmFtX3BhcmF9LCAgICAgICAgCisgICAge01PRF9OSUwsICAgIFNCUF9SRUNPTkZJR1VSRV9TQVAsICAgICBSRUNPTkZJR19EU0JQX0NIQU5HRSwgQ0ZHX1NJTkdMRV9NT0QsIG52cmFtX2N1c3RvbV9yZWNvbmZpZ19jMmtfbmFtX3BhcmF9LAogI2VuZGlmCiAgICAge01PRF9OSUwsICAgICBTQlBfUkVDT05GSUdVUkVfU0FQLCAgICAgUkVDT05GSUdfRFNCUF9DSEFOR0VfQUxMLCBDRkdfR0VNSU5JX01PRCwgbnZyYW1fY3VzdG9tX2NvbmZpZ19tcnNfcHJvZmlsZX0sCiAgICAge01PRF9OSUwsIFNCUF9SRUNPTkZJR1VSRV9TQVAsICAgUkVDT05GSUdfRFNCUF9DSEFOR0VfQUxMLCBDRkdfR0VNSU5JX01PRCwgbnZyYW1fY3VzdG9tX2NvbmZpZ19hNTRfc21jX3doaXRlbGlzdF9wbG1ufSwKQEAgLTY3OCw3ICs2ODAsOCBAQAogICAgIHtNT0RfTklMLCAgICBTQlBfUkVDT05GSUdVUkVfU0FQLCAgICAgUkVDT05GSUdfRFNCUF9DSEFOR0VfQUxMICwgIENGR19HRU1JTklfTU9ELCBudnJhbV9jdXN0b21fY29uZmlnX2w1X3Byb2ZpbGV9LAogI2VuZGlmCiAgICAge01PRF9NTSwgICAgIFNCUF9SRUNPTkZJR1VSRV9TQVAsICAgICBSRUNPTkZJR19EU0JQX0NIQU5HRV9BTEwsICBDRkdfR0VNSU5JX01PRCwgbnZyYW1fY3VzdG9tX2NvbmZpZ19tbV9kc2JwX3Byb2ZpbGV9LAotICAgIHtNT0RfVE1DLCAgICBTQlBfUkVDT05GSUdVUkVfU0FQLCAgICAgUkVDT05GSUdfRFNCUF9DSEFOR0VfQUxMLCAgQ0ZHX0dFTUlOSV9NT0QgfCBDRkdfQ09fR0VNSU5JX01PRCwgTlVMTH0KKyAgICB7TU9EX1RNQywgICAgU0JQX1JFQ09ORklHVVJFX1NBUCwgICAgIFJFQ09ORklHX0RTQlBfQ0hBTkdFX0FMTCwgIENGR19HRU1JTklfTU9EIHwgQ0ZHX0NPX0dFTUlOSV9NT0QsIE5VTEx9LAorICAgIHtNT0RfTklMLCAgICBTQlBfUkVDT05GSUdVUkVfU0FQLCAgICAgUkVDT05GSUdfRFNCUF9DSEFOR0VfQUxMIHwgUkVDT05GSUdfRFNCUF9DSEFOR0UsICBDRkdfR0VNSU5JX01PRCwgbnZyYW1fY3VzdG9tX2NvbmZpZ19wc19jb25mb3JtYW5jZV9zZXR0aW5nfSwKIH07CiAKIHNicF9yZWNvbmZpZ3VyZV9tb2R1bGVfaW5mb19zdHJ1Y3QgKnNicF9nZXRfc2JwX3JlY29uZmlndXJlX21vZF90YmwoKQpAQCAtMTAyMyw3ICsxMDI2LDcgQEAKICNlbmRpZiAvKiBfX05SX1JBVF9fICovCiAjaWZkZWYgX19NRF9UQ1BJUF9TVVBQT1JUX18KICAgICAgICAgbnZyYW1fY3VzdG9tX2NvbmZpZ19yc3JhX3Byb2ZpbGUoJnNicF9yZWNvbmZpZ19jdXN0b21fcGFyYW0pOwotI2VuZGlmIAorI2VuZGlmCiAKICNpZmRlZiBfX0w1X1NVUFBPUlRfXwogICAgICAgICAgbnZyYW1fY3VzdG9tX2NvbmZpZ19sNV9wcm9maWxlKCZzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtKTsKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX2NvbmZpZy5jIGIvbWN1L2N1c3RvbS9zZXJ2aWNlL3NicC9zYnBfbnZyYW1fY29uZmlnLmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCAxYjRmZjllLi44MDVmYmM3Ci0tLSBhL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX2NvbmZpZy5jCisrKyBiL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX2NvbmZpZy5jCkBAIC03NDIsMTcgKzc0MiwyMCBAQAogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9VU0VfVDM0MDJfVkFMVUVfRk9SX1ZPSUNFX05PVF9QT1NTSUJMRV9USU1FUiwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1VTRV9UMzUwMl9WQUxVRV9GT1JfVk9JQ0VfTk9UX1BPU1NJQkxFX1RJTUVSLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfU01JQ19VU0VfUjE2XzRHX1NFVF9BU1NPQ0lBVEVfRk9SX0ZEX0VCSSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7Ci0gICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0NVU1RPTV9UTU9fTEVHQUNZX1NJTV9FSFBMTU5fTElTVCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0NVU1RPTV9UTU9fTEVHQUNZX1NJTV9FSFBMTU5fTElTVCwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9WT1dJRklfRElTQUJMRV81R19TQSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0RJU0FCTEVfNUdfU0FfQ0FMTF9IT19UT19WT1dJRkksIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9ESVNBQkxFX05SX1JSQ19JTkFDVElWRV9TVEFUVVMsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF81R19TQV9ST0hDX0lQX1BST0ZJTEVfU1VQUE9SVCwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9NT0RFTV9ESVNBQkxFX1BDMURPVDVfRk9SX040MSwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogCQkJc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9OT1RfUkVUUllfU0tJUF9BQk5PUk1BTF9QTE1OLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRU5EQ19JQ09OX0NPTlNJREVSX0JBTkRfQ09NQiwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX05PX01NVEVMX1NSX1RSSUdHRVJFRF9UQVVfRFVSSU5HX1QzNDExLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKKwkJCXNicF9zZXRfbWRfZmVhdHVyZShTQlBfTldTRUxfQ0xFQVJfUlBMTU5fRk9SX0hPTUVfQ09VTlRSWV9QT1dFUl9PTl9TRUFSQ0gsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOworICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9VUERBVEVfQ0FQX0FORF9GT1JDRV9SRUxFQVNFX0ZPUl9HRU5FUkFMX1RJTUVSX0VYUElSRSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZV9kYXRhKFNCUF9OMV9NQVhfUERVX0VTVF9USU1FT1VUX1JFQUNIRURfVElNRVJfVkFMVUUsIDYwLCAobnZyYW1fZWZfc2JwX21vZGVtX2RhdGFfY29uZmlnX3N0cnVjdCopICZzYnBfZGF0YV9idWYpOwotCQl9CisgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoc2JwX2lkID09IFNCUF9JRF9DVCkKICAgICAgICAgewogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9ESVNBQkxFXzJNSU5fTUlOSU1VTV9IUFBMTU5fVElNRVIsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwpAQCAtOTAyLDggKzkwNSw5IEBACiAgICAgICAgIGVsc2UgaWYgKHNicF9pZCA9PSBTQlBfSURfVEVMRUZPTklDQSkKICAgICAgICAgewogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9ESVNBQkxFX0RJU1BMQVlfUk9BTUlOR19IUExNTl9JTl9FUExNTiwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7Ci0JCQlzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0FGUl9YRzRfRVhDTFVERV9FQ0NfQ0FMTCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0FGUl9YRzRfRVhDTFVERV9FQ0NfQ0FMTCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0FGUl9YRzVfRVhDTFVERV9FQ0NfQ0FMTCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0JMT0NLX0lMTEVHQUxfTUUsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKHNicF9pZCA9PSBTQlBfSURfRUUpCiAgICAgICAgIHsKQEAgLTkxNCw2ICs5MTgsNyBAQAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKHNicF9pZCA9PSBTQlBfSURfRE9DT01PKQogICAgICAgICB7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0VNTV9UUklHR0VSX1RBVV9VUE9OX0lSUkRUXzRHNV9GQUlMVVJFLCBLQUxfRkFMU0UsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7ICAgICAgICAKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRElTQUJMRV9CRUFSRVJfUlNDX0FMTE9DLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRElTQUJMRV9CRUFSRVJfUlNDX01PRCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1IxMl9DSEVDS19TU0FDX0lOX0NPTk5FQ1RFRCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CkBAIC05NzMsNiArOTc4LDcgQEAKICAgICAgICAgI2VuZGlmCiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0xCU19MUFBfQUxMT1dfTklMUl9BRlRFUl9FTUNfRU5EX0lOX1RXRU5UWV9TRUNPTkQsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9FTU1fSU5DTFVERV9VRV9TVEFUVVNfSUVfV0hFTl9OMV9ESVNBQkxFLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKKwkJCXNicF9zZXRfbWRfZmVhdHVyZShTQlBfRU5BQkxFX0VVVFJBTl9BRlRFUl9USU1FUl9FWFBJUllfRk9SX1RBVV9FUFNfT05MWV9DQVVTRV8xNl8xNywgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7ICAKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChzYnBfaWQgPT0gU0JQX0lEX1JKTCkKICAgICAgICAgewpAQCAtMTEzOCw2ICsxMTQ0LDEyIEBACiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1VFX0FQUExZX0RFTEFZX0FGVEVSX1NSX1JFSkVDVF9DT05HRVNUSU9OX1dPX1QzMzQ2LCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKIAkJCXNicF9zZXRfbWRfZmVhdHVyZShTQlBfQkdfU0VBUkNIXzRHNSwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogCisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1ZHTU1fQ0FSUllfVUVfVVNBR0VfU0VUVElOR19JRSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0RFVEFDSF83XzhfTUFQUElOR19UT19SRUFUVEFDSF9SRVFVSVJFRCwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOworCisJCQkvL1ZEUCB1cGRhdGUgYmFzZWQgb24gUkFUIG1vZGUKKwkJCXNicF9zZXRfbWRfZmVhdHVyZShTQlBfUkFDX1NFVF9WRFBfQkFTRURfT05fUkFUX01PREVfRk9SX09QNTAsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOworCQkJCiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoc2JwX2lkID09IFNCUF9JRF9DU0wpCiAgICAgICAgIHsKQEAgLTEyMTEsNiArMTIyMyw4IEBACiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1IxM19ET1NfRU5IQU5DRSwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9LT1JfS1NDNTYwMV9SRUFELCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgI2VuZGlmCisJCSAgICBzYnBfc2V0X21kX2ZlYXR1cmVfZGF0YShTQlBfRkxJR0hUX01PREVfRUNDXzNHUFBfU0VBUkNIX1JBVCwgMiwgKG52cmFtX2VmX3NicF9tb2RlbV9kYXRhX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZGF0YV9idWYpOworCQkgICAgc2JwX3NldF9tZF9mZWF0dXJlX2RhdGEoU0JQX0VDQ19GVUxMX0JBTkRfU0VBUkNIX1JBVF9PUkRFUiwgMSwgKG52cmFtX2VmX3NicF9tb2RlbV9kYXRhX2NvbmZpZ19zdHJ1Y3QqKSAmc2JwX2RhdGFfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfQ0hBTkdFX1JBVF9GT1JfQ1VTVE9NX0lNU0ksIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9JTVNfQ09ORklHX0RFTEFZX1JFUE9SVF9GT1JfRVBTX09OTFlfTlcsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9FUFNfT05MWV9DQVVTRTE4X1NFTEVDVDIzRywgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CkBAIC0xMjQxLDYgKzEyNTUsOCBAQAogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9SMTNfRE9TX0VOSEFOQ0UsIEtBTF9GQUxTRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfS09SX0tTQzU2MDFfUkVBRCwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICNlbmRpZgorCSAgICAJc2JwX3NldF9tZF9mZWF0dXJlX2RhdGEoU0JQX0ZMSUdIVF9NT0RFX0VDQ18zR1BQX1NFQVJDSF9SQVQsIDIsIChudnJhbV9lZl9zYnBfbW9kZW1fZGF0YV9jb25maWdfc3RydWN0Kikmc2JwX2RhdGFfYnVmKTsKKyAgICAgCQlzYnBfc2V0X21kX2ZlYXR1cmVfZGF0YShTQlBfRUNDX0ZVTExfQkFORF9TRUFSQ0hfUkFUX09SREVSLCAxLCAobnZyYW1fZWZfc2JwX21vZGVtX2RhdGFfY29uZmlnX3N0cnVjdCopICZzYnBfZGF0YV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9DSEFOR0VfUkFUX0ZPUl9DVVNUT01fSU1TSSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAJCQlzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1NJTV9SRUpFQ1RfQ0xPU0VfQ0hBTk5FTF9SRVFVRVNUX1dIRU5fQUxSRUFEWV9DTE9TRSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgIH0KQEAgLTEyNzAsNyArMTI4Niw5IEBACiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0VVVFJBTl9ESVNBQkxFX0FORF9FUFNfREVUQUNIX1dIRU5fSU1TX1VOUkVHSVNURVJFRF9PUl9WT1BTX05PVF9TVVBQT1JULCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRkxJR0hUX01PREVfUkVTRVRfVDM0MDIsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9DSEFOR0VfUkFUX0ZPUl9DVVNUT01fSU1TSSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7Ci0JCQlzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0RFVEFDSF9XSEVOX1NFVF9SQVRfR1cyTE5fV0hJTEVfUk9BTUlORywgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0RFVEFDSF9XSEVOX1NFVF9SQVRfR1cyTE5fV0hJTEVfUk9BTUlORywgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CisJCQlzYnBfc2V0X21kX2ZlYXR1cmVfZGF0YShTQlBfRkxJR0hUX01PREVfRUNDXzNHUFBfU0VBUkNIX1JBVCwgMiwgKG52cmFtX2VmX3NicF9tb2RlbV9kYXRhX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZGF0YV9idWYpOworCQkJc2JwX3NldF9tZF9mZWF0dXJlX2RhdGEoU0JQX0VDQ19GVUxMX0JBTkRfU0VBUkNIX1JBVF9PUkRFUiwgMSwgKG52cmFtX2VmX3NicF9tb2RlbV9kYXRhX2NvbmZpZ19zdHJ1Y3QqKSAmc2JwX2RhdGFfYnVmKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChzYnBfaWQgPT0gU0JQX0lEX1NNQVJURlJFTikKICAgICAgICAgewpAQCAtMTM0Miw2ICsxMzYwLDcgQEAKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRElTQUJMRV9FVVRSQU5fV0hJTEVfTk9fMjNHLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfTFRFX0RJU0FCTEVfU0lOR0xFX0JBTkRfV1dfRklMVEVSLCBLQUxfRkFMU0UsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0xURV9BUFBMWV9TSU5HTEVfQkFORF9XV19GSUxURVJfRVZFTl9OV19SRVFVRVNUX0ZSRVFCQU5ELCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKKyAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfQ0hFQ0tfTldfQVNTSUdOTUVOVF9OUl9CV19TRVRUSU5HX0JZX05WUkFNX1ZBTFVFLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfUFVDQ0hfR1JPVVBfTEFSR0VSX1NDU19WMTVfNiwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX1NEQVBfQVNfUkVGTEVDVElWRV9RT1NfU1VQUE9SVCwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9ESVNBQkxFX0VVVFJBTl9XSEVOX0FUVEFDSF9SRUpFQ1RfRVNNX0NBVVNFXzI3LCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKQEAgLTE0NTksNiArMTQ3OCw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfTldTRUxfU1RBUlRfSFBQTE1OX1RJTUVSX0lOX05PTl9ISUdIRVNUX0hQTE1OLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfTldTRUxfU0VMRUNUX0hJR0hFU1RfUFJJT1JJVFlfRUhQTE1OLCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKKyAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfTU1fU0VBUkNIX0hQTE1OX0JFRk9SRV9SUExNTiwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0VORENfUFJFRkVSX0EyX0VOSCwgS0FMX0ZBTFNFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwogICAgICAgICAgICAgc2JwX3NldF9tZF9mZWF0dXJlKFNCUF9DSEFOR0VfUkFUX0ZPUl9DVVNUT01fSU1TSSwgS0FMX1RSVUUsIChudnJhbV9lZl9zYnBfbW9kZW1fY29uZmlnX3N0cnVjdCopJnNicF9mZWF0dXJlX2J1Zik7CiAgICAgICAgICAgICBzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0RJU0FCTEVfTjFfV0hFTl9OT1RfU1VQUE9SVF9FQ0NfT05fTlIsIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOwpAQCAtMTUyNyw2ICsxNTQ3LDIyIEBACiAJCQlzYnBfc2V0X21kX2ZlYXR1cmUoU0JQX0xCU19MUFBfQUxMT1dfTklMUl9BRlRFUl9FTUNfRU5ELCBLQUxfVFJVRSwgKG52cmFtX2VmX3NicF9tb2RlbV9jb25maWdfc3RydWN0Kikmc2JwX2ZlYXR1cmVfYnVmKTsKICAgICAgICAgfQogCisjaWZkZWYgX19OUl9ESVNBQkxFX1VMXzI1NlFBTV9GT1JfTFJBX18KKyAgICAgICAgLyogQUxQUzA3ODU0NDg3L01PTFkwMTAyNTA2NSAqLworICAgICAgICBpZiAoICgoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1jYywiMzEwIiwzKSkpICYmICghKGthbF9tZW1fY21wKHBhcmFtX3B0ci0+bW5jLCI3NTAiLDMpKSkpIHx8ICAgICAgICAgICAgICAvLyBmb3IgQXBwYWxhY2hpYW4gV2lyZWxlc3MKKwkJICAgICAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMCIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiNjAwIiwzKSkpKSB8fCAgICAgICAgICAgICAgLy8gZm9yIENlbGxjb20KKwkJCSAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMSIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiODUwIiwzKSkpKSB8fCAgICAgICAgICAgICAgLy8gZm9yIENlbGxjb20KKwkJCSAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMiIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiMTYwIiwzKSkpKSB8fCAgICAgICAgICAgICAgLy8gZm9yIENoYXQgTW9iaWxpdHkKKwkJCSAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMCIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiOTMwIiwzKSkpKSB8fCAgICAgICAgICAgICAgLy8gZm9yIENvcHBlciBWYWxsZXksIEN1c3RlciBUZWxlcGhvbmUKKwkJCSAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMSIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiMzUwIiwzKSkpKSB8fCAgICAgICAgICAgICAgLy8gZm9yIE5lbW9udAorCQkJICgoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1jYywiMzExIiwzKSkpICYmICghKGthbF9tZW1fY21wKHBhcmFtX3B0ci0+bW5jLCI0MjAiLDMpKSkpIHx8ICAgICAgICAgICAgICAvLyBmb3IgTm9ydGh3ZXN0IE1pc3NvdXJpIENlbGx1bGFyCisJCQkgKCghKGthbF9tZW1fY21wKHBhcmFtX3B0ci0+bWNjLCIzMTAiLDMpKSkgJiYgKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tbmMsIjM2MCIsMykpKSkgfHwgICAgICAgICAgICAgIC8vIGZvciBQaW9uZWVyIENlbGx1bGFyCisJCQkgKCghKGthbF9tZW1fY21wKHBhcmFtX3B0ci0+bWNjLCIzMTAiLDMpKSkgJiYgKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tbmMsIjk2MCIsMykpKSkgfHwgICAgICAgICAgICAgIC8vIGZvciBTVFJBVEEKKwkJCSAoKCEoa2FsX21lbV9jbXAocGFyYW1fcHRyLT5tY2MsIjMxMSIsMykpKSAmJiAoIShrYWxfbWVtX2NtcChwYXJhbV9wdHItPm1uYywiMDUwIiwzKSkpKSAgICApICAgICAgICAgICAgLy8gZm9yIFRodW1iIENlbGx1bGFyCisgICAgICAgIHsKKyAgICAgICAgICAgIHNicF9zZXRfbWRfZmVhdHVyZShTQlBfRElTQUJMRV9VTF8yNTZRQU0sIEtBTF9UUlVFLCAobnZyYW1fZWZfc2JwX21vZGVtX2NvbmZpZ19zdHJ1Y3QqKSZzYnBfZmVhdHVyZV9idWYpOworICAgICAgICB9CisjZW5kaWYKIAogI2lmZGVmIF9fSVBDX0FEQVBURVJfXwogCQkvKkFMUFMwNTA2Mzg1MSBbW0E0MTVGXSBUaGUgZGV2aWNlIHNob3VsZCBub3Qgc3VwcG9ydHMgIjJHLUxURSBNZWFzdXJlbWVudHMgYW5kIFJlcG9ydGluZyJdCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9sNGNfY29uZmlnLmMgYi9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9sNGNfY29uZmlnLmMKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA1MDc4YWJjLi41YmY4NDZjCi0tLSBhL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX2w0Y19jb25maWcuYworKysgYi9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9sNGNfY29uZmlnLmMKQEAgLTI0NSwxMyArMjQ1LDEzIEBACiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIDIwOiAvKiBTcHJpbnQgKi8KLQkJeyAgICAgICAgIAorCQl7CiAgICAgICAgICAgICAvL0FkZCB0aGUgY29kZXMgZm9yIFNwcmludCBoVk9MVEUKICAgICAgICAgICAgIG52cmFtX2h2b2x0ZV9lOTExX3Byb2ZpbGVfcHRyLT5odm9sdGVfZW5hYmxlID0gSFZPTFRFX0FVVE9fTU9ERTsKIAogICAgICAgICAgICAgLy9rZWVwIGhWb0xURSBtb2RlIGFzIFNSTFRFIGJ5IGRlZmF1bHQgZm9yIHNwcmludAogICAgICAgICAgICAgbnZyYW1faHZvbHRlX2U5MTFfcHJvZmlsZV9wdHItPmh2b2x0ZV9tb2RlID0gSFZPTFRFX1NSTFRFX01PREU7Ci0JCQkKKwogICAgICAgICAgICAgLy8gVXBkYXRlIFdXQU4gdGltZXIgdG8gMTdzCiAgICAgICAgICAgICBudnJhbV9odm9sdGVfZTkxMV9wcm9maWxlX3B0ci0+dF93d2FuXzkxMSA9IDE3OwogICAgICAgICAgICAgYnJlYWs7CkBAIC00MDMsNyArNDAzLDcgQEAKIAltY2ZfdGx2b3RhX3NicF90YWdfdCBzYnBfdGFnOwogCiAKLQlpZiAocGFyYW1fcHRyID09IE5VTEwpIAorCWlmIChwYXJhbV9wdHIgPT0gTlVMTCkKIAl7CiAJCXJldHVybiBLQUxfRkFMU0U7CiAJfQpAQCAtNDU1LDcgKzQ1NSw3IEBACiAJbWNmX3JlYWRfdGx2b3RhX2J1ZmZlcl9zYnBfdGFnKHBhcmFtX3B0ci0+cHNfaWQsIHNicF90YWcsIE5WUkFNX0VGX1NNU0FMX0NPTU1PTl9QQVJBTV9MSUQsIChrYWxfdWludDggKiludnJhbV9kZWZhdWx0X2J1Zl9wdHIsCiAJKHNpemVvZihrYWxfdWludDgpICogTlZSQU1fRUZfU01TQUxfQ09NTU9OX1BBUkFNX1NJWkUpKTsKIAotCS8qIFVwZGF0ZSBvbmx5IHNtc19mZG5fb2ZmIHZhbHVlICovIAorCS8qIFVwZGF0ZSBvbmx5IHNtc19mZG5fb2ZmIHZhbHVlICovCiAJKChudnJhbV9lZl9zbXNhbF9jb21tb25fcGFyYW1fc3RydWN0KiludnJhbV9leHRlcm5hbF9idWZfcHRyKS0+c21zX2Zkbl9vZmYgPSAoKG52cmFtX2VmX3Ntc2FsX2NvbW1vbl9wYXJhbV9zdHJ1Y3QqKW52cmFtX2RlZmF1bHRfYnVmX3B0ciktPnNtc19mZG5fb2ZmOwogCiAJLyogV3JpdGUgdG8gTlZSQU0gKi8KQEAgLTQ5NSwxMCArNDk1LDEwIEBACiAjaWZuZGVmIEw0X05PVF9QUkVTRU5UCiAJa2FsX3VpbnQ4ICpidWZfZnJvbV9udnJhbSA9IE5VTEw7CiAJa2FsX2Jvb2wgcmV0ID0gS0FMX0ZBTFNFOwotCXNpbV9pbnRlcmZhY2VfZW51bSBzaW1fc2xvdF9pZCA7CSAKKwlzaW1faW50ZXJmYWNlX2VudW0gc2ltX3Nsb3RfaWQgOwogCi0JCi0jaWYgZGVmaW5lZChfX0dFTUlOSV9fKSAgIAorCisjaWYgZGVmaW5lZChfX0dFTUlOSV9fKQogCXNpbV9zbG90X2lkID0gMSArIGw0Y19nZW1pbmlfZ2V0X2FjdHVhbF9zaW1faWQoKHNpbV9pbnRlcmZhY2VfZW51bSlwYXJhbV9wdHItPnBzX2lkKTsKICNlbHNlIC8qIF9fR0VNSU5JX18gKi8KIAlzaW1fc2xvdF9pZCA9IDE7CkBAIC01MjIsNyArNTIyLDcgQEAKIAkJCQltZW1jcHkocGFyYW1fcHRyLT5idWZmZXIsIGJ1Zl9mcm9tX252cmFtLE5WUkFNX0VGX1NNU0FMX0NPTU1PTl9QQVJBTV9TSVpFKTsKIAkJCQlyZXQgPSBLQUxfVFJVRTsKIAkJCQlicmVhazsKLQkJCQkKKwogCQkJZGVmYXVsdDoKIAkJCQlicmVhazsKIAkJfQpAQCAtNTM2LDcgKzUzNiw3IEBACiAJfQogCiAJcmV0dXJuIHJldDsKLQkKKwogI2Vsc2UKIAogICAgIHJldHVybiBLQUxfRkFMU0U7CkBAIC01NTAsNyArNTUwLDcgQEAKICAqIERFU0NSSVBUSU9OCiAgKiAgVGhpcyBmdW5jdGlvbiBnZXRzIGNhbGxlZCBhZnRlciBTSU0gaW5zZXJ0aW9uLgogICogIDEuIERlZmF1bHQgdmFsdWVzIG9mIFBMTU5fRk9SX0VTVkNfTElECi0gKiAgMi4gSWYgT1RBIGZpbGUgaXMgcHJlc2VudCwgdGhlbiBPVEEgZmlsZSB3aWxsIAorICogIDIuIElmIE9UQSBmaWxlIGlzIHByZXNlbnQsIHRoZW4gT1RBIGZpbGUgd2lsbAogICogICAgICBiZSByZWFkIGVsc2UgZGVmYXVsdCB2YWx1ZXMgd2lsbCBiZSBwcmVzZW50LgogICogIDMuIElmIE9UQSBieSBPUCBmaWxlIGlzIHByZXNlbnQsIHRoZW4gT1RBIGJ5IE9QCiAgKiAgICAgZmlsZSB3aWxsIGJlIHJlYWQgZWxzZSBkZWZhdWx0IHZhbHVlcy9PVEEgdmFsdWVzCkBAIC01NzYsMTYgKzU3NiwxNiBAQAogCS8qIEFsbG9jYXRlIGJ1ZmZlciB0byByZWFkIE5WUkFNIGRlZmF1bHQgdmFsdWUgKi8KIAludnJhbV9jdXJfYnVmX3B0ciA9IChrYWxfdWludDgqKSBnZXRfY3RybF9idWZmZXIoc2l6ZW9mKGthbF91aW50OCkgKiBOVlJBTV9FRl9QTE1OX0ZPUl9FU1ZDX1NJWkUpOwogCi0JLyogUmVhZCBOVlJBTSBMSUQgRGVmYXVsdCB2YWx1ZSBpbnRvIGJ1ZmZlciAqLyAKKwkvKiBSZWFkIE5WUkFNIExJRCBEZWZhdWx0IHZhbHVlIGludG8gYnVmZmVyICovCiAKIAlpZiAoTlZSQU1fREVGQVVMVF9WQUxVRV9QT0lOVCA9PSBudnJhbV9nZXRfZGVmYXVsdF92YWx1ZShOVlJBTV9FRl9QTE1OX0ZPUl9FU1ZDX0xJRCwKIAkJc2ltX3Nsb3RfaWQsICZudnJhbV9kZWZhdWx0X2J1Zl9wdHIpKQotCXsgCisJewogCQlrYWxfbWVtX2NweShudnJhbV9jdXJfYnVmX3B0cixudnJhbV9kZWZhdWx0X2J1Zl9wdHIsKHNpemVvZihrYWxfdWludDgpICogTlZSQU1fRUZfUExNTl9GT1JfRVNWQ19TSVpFKSk7CiAJfQogCi0Ja2FsX21lbV9zZXQoJnNicF90YWcsIDAsIHNpemVvZihtY2ZfdGx2b3RhX3NicF90YWdfdCkpOwkKLQkKKwlrYWxfbWVtX3NldCgmc2JwX3RhZywgMCwgc2l6ZW9mKG1jZl90bHZvdGFfc2JwX3RhZ190KSk7CisKIAlzYnBfdGFnLnNicF9pZCA9IHBhcmFtX3B0ci0+c2JwX2lkOwogCiAJc3RybmNweSgoY2hhciAqKSZzYnBfdGFnLm1jY1swXSwgKGNvbnN0IGNoYXIgKilwYXJhbV9wdHItPm1jYywgTUFYX01DQ19TVFJfTEVOKTsKQEAgLTU5NSw3ICs1OTUsNyBAQAogCW1jZl9yZWFkX290YV9idWZmZXIoTlZSQU1fRUZfUExNTl9GT1JfRVNWQ19MSUQsIHNpbV9zbG90X2lkLCBudnJhbV9jdXJfYnVmX3B0ciwgKHNpemVvZihrYWxfdWludDgpICogTlZSQU1fRUZfUExNTl9GT1JfRVNWQ19TSVpFKSk7CiAKIAkvKk9UQSBieSBPUCovCi0JbWNmX3JlYWRfdGx2b3RhX2J1ZmZlcl9zYnBfdGFnKHBhcmFtX3B0ci0+cHNfaWQsIHNicF90YWcsIE5WUkFNX0VGX1BMTU5fRk9SX0VTVkNfTElELCAoa2FsX3VpbnQ4ICopbnZyYW1fY3VyX2J1Zl9wdHIsIAorCW1jZl9yZWFkX3Rsdm90YV9idWZmZXJfc2JwX3RhZyhwYXJhbV9wdHItPnBzX2lkLCBzYnBfdGFnLCBOVlJBTV9FRl9QTE1OX0ZPUl9FU1ZDX0xJRCwgKGthbF91aW50OCAqKW52cmFtX2N1cl9idWZfcHRyLAogCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZW9mKGthbF91aW50OCkgKiBOVlJBTV9FRl9QTE1OX0ZPUl9FU1ZDX1NJWkUpKTsKIAogCS8vIFVwZGF0ZSBOVlJBTSBzZXR0aW5nCkBAIC02MTcsNyArNjE3LDcgQEAKIAlyZXR1cm4gS0FMX1RSVUU7CiAKIH0KLQkKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBGVU5DVElPTgogICogIG1jZl9jdXN0b21fZHVtcF9odm9sdGVfZTkxMV9kYXRhCkBAIC02OTgsMyArNjk4LDIzIEBACiAgICAgcmV0dXJuIHJldDsKIH0KIAora2FsX2Jvb2wgbnZyYW1fY3VzdG9tX2NvbmZpZ19wc19jb25mb3JtYW5jZV9zZXR0aW5nKHNicF9yZWNvbmZpZ19jdXN0b21fcGFyYW1fc3RydWN0ICpwYXJhbV9wdHIpCit7CisKKyAgICBsNGNfZHNicF9zZXR0aW5nX2luZm9faW5kX3N0cnVjdCAqbDRjX2RzYnBfc2V0dGluZ19pbmZvX2luZDsKKworICAgIGw0Y19kc2JwX3NldHRpbmdfaW5mb19pbmQgPSAobDRjX2RzYnBfc2V0dGluZ19pbmZvX2luZF9zdHJ1Y3QgKiljb25zdHJ1Y3RfbG9jYWxfcGFyYQorICAgICAgICAgICAgICAgKHNpemVvZihsNGNfZHNicF9zZXR0aW5nX2luZm9faW5kX3N0cnVjdCksIFREX1JFU0VUKTsKKworICAgIGthbF9tZW1fY3B5KCYobDRjX2RzYnBfc2V0dGluZ19pbmZvX2luZC0+c2JwX3BhcmFtZXRlcnMpLCBwYXJhbV9wdHIsIHNpemVvZihzYnBfcmVjb25maWdfY3VzdG9tX3BhcmFtX3N0cnVjdCkpOworCisgICAgbXNnX3NlbmQ2KGthbF9nZXRfYWN0aXZlX21vZHVsZV9pZCgpLAorICAgICAgICAgICAgICAgICBNT0RfTDRDICsgcGFyYW1fcHRyLT5wc19pZCwKKyAgICAgICAgICAgICAgICAgTDRDX01FX1NBUCwKKyAgICAgICAgICAgICAgICAgTVNHX0lEX0w0Q19EU0JQX1NFVFRJTkdfSU5GT19JTkQsCisgICAgICAgICAgICAgICAgIChsb2NhbF9wYXJhX3N0cnVjdCAqKWw0Y19kc2JwX3NldHRpbmdfaW5mb19pbmQsCisgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAgcmV0dXJuIEtBTF9UUlVFOworfQorCmRpZmYgLS1naXQgYS9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9ud3NlbF9jb25maWcuYyBiL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX253c2VsX2NvbmZpZy5jCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggZTk1ZmEwYS4uMDA1N2Y5OQotLS0gYS9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9ud3NlbF9jb25maWcuYworKysgYi9tY3UvY3VzdG9tL3NlcnZpY2Uvc2JwL3NicF9udnJhbV9ud3NlbF9jb25maWcuYwpAQCAtNDgyLDYgKzQ4Miw2NiBAQAogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRlVOQ1RJT04KKyAqIG52cmFtX2N1c3RvbV9jb25maWdfbndzZWxfbmFzX3doaXRlbGlzdF9kc2JwX3Byb2ZpbGUKKyAqIERFU0NSSVBUSU9OCisgKiBTZXQgTldTRUwgQ2FwYWJpbGl0aWVzIHZpYSBEU0JQCisgKiBQQVJBTUVURVJTCisgKiAgcGFyYW1fcHRyCisgKiBSRVRVUk5TCisgKiAgS0FMX1RSVUUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2thbF9ib29sIG52cmFtX2N1c3RvbV9jb25maWdfbndzZWxfbmFzX3doaXRlbGlzdF9kc2JwX3Byb2ZpbGUoc2JwX3JlY29uZmlnX2N1c3RvbV9wYXJhbV9zdHJ1Y3QgKnBhcmFtX3B0cikKK3sKKyAgICBtY2ZfdGx2b3RhX3NicF90YWdfdCBzYnBfdGFnOworICAgIGthbF91aW50OCAqYnVmX2Zyb21fbnZyYW0sICpudnJhbV9kZWZhdWx0X2J1Zj1OVUxMOworICAgIHNpbV9pbnRlcmZhY2VfZW51bSBzaW1fc2xvdF9pZDsgICAgCisgICAgcHJvdG9jb2xfaWRfZW51bSBwc19pZCA9IHBhcmFtX3B0ci0+cHNfaWQ7CisKKwkKKyAgICAjaWYgZGVmaW5lZChfX0dFTUlOSV9fKSAKKyAgICBzaW1fc2xvdF9pZCA9IDEgKyBsNGNfZ2VtaW5pX2dldF9hY3R1YWxfc2ltX2lkKChzaW1faW50ZXJmYWNlX2VudW0pIHBhcmFtX3B0ci0+cHNfaWQpOworCSNlbHNlIC8qIF9fR0VNSU5JX18gKi8KKwlzaW1fc2xvdF9pZCA9IDE7CisgICAgI2VuZGlmIC8qIF9fR0VNSU5JX18qLworCisgICAgLyogUHJlcGFyZSB0aGUgU0JQIHRhZyAqLworICAgIG1lbXNldCgodm9pZCAqKSZzYnBfdGFnLCAwLCBzaXplb2YobWNmX3Rsdm90YV9zYnBfdGFnX3QpKTsKKyAgICBzYnBfdGFnLnNicF9pZCA9IHBhcmFtX3B0ci0+c2JwX2lkOworICAgIG1lbWNweShzYnBfdGFnLm1jYywgcGFyYW1fcHRyLT5tY2MsIE1BWF9NQ0NfU1RSX0xFTik7CisgICAgbWVtY3B5KHNicF90YWcubW5jLCBwYXJhbV9wdHItPm1uYywgTUFYX01OQ19TVFJfTEVOKTsgICAgCisKKworICAgIGlmIChOVlJBTV9ERUZBVUxUX1ZBTFVFX1BPSU5UID09IG52cmFtX2dldF9kZWZhdWx0X3ZhbHVlKE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fTElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbV9zbG90X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZudnJhbV9kZWZhdWx0X2J1ZikpCisgICAgeworICAgICAgICAvLzEgMi4xIFJlYWQgT1RBL09UQV9ieV9PUCBmaWxlCisgICAgCisgICAgICAgIC8vNCBOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX0xJRAorICAgICAgICBidWZfZnJvbV9udnJhbSA9IChrYWxfdWludDgqKWdldF9jdHJsX2J1ZmZlcihOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX1NJWkUpOworICAgICAgICBrYWxfbWVtX2NweShidWZfZnJvbV9udnJhbSwgbnZyYW1fZGVmYXVsdF9idWYsIE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fU0laRSk7CisgICAgICAgIAorICAgICAgICAvKiBmb3IgTUNGIE9UQSAqLworICAgICAgICBtY2ZfcmVhZF9vdGFfYnVmZmVyKE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fTElELCBzaW1fc2xvdF9pZCwgKGthbF91aW50OCAqKWJ1Zl9mcm9tX252cmFtLCBOVlJBTV9FRl9OQVNfTlNBX1dISVRFTElTVF9QTE1OX1NJWkUpOworICAgICAgICAgICAKKyAgICAgICAgLyogZm9yIE1DRiBPVEEgYnkgT1AgKi8gICAgCisgICAgICAgIG1jZl9yZWFkX3Rsdm90YV9idWZmZXJfc2JwX3RhZyhwc19pZCwgc2JwX3RhZywgTlZSQU1fRUZfTkFTX05TQV9XSElURUxJU1RfUExNTl9MSUQsIChrYWxfdWludDggKilidWZfZnJvbV9udnJhbSwgTlZSQU1fRUZfTkFTX05TQV9XSElURUxJU1RfUExNTl9TSVpFKTsKKyAgICAKKyAgICAgICAgLyogd3JpdGUgYmFjayB0byBOVlJBTSAqLworICAgICAgICBudnJhbV9leHRlcm5hbF93cml0ZV9kYXRhKE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fTElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbV9zbG90X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zl9mcm9tX252cmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5WUkFNX0VGX05BU19OU0FfV0hJVEVMSVNUX1BMTU5fU0laRSk7CisgICAgCisgICAgICAgIGZyZWVfY3RybF9idWZmZXIoYnVmX2Zyb21fbnZyYW0pOworICAgIH0KKworICAgIHJldHVybiBLQUxfVFJVRTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEZVTkNUSU9OCiAgKiAgbnZyYW1fY3VzdG9tX2NvbmZpZ19ud3NlbF9kc2JwX3Byb2ZpbGUKICAqIERFU0NSSVBUSU9OCkBAIC00OTgsNiArNTU4LDcgQEAKIHsKICAgICBudnJhbV9jdXN0b21fY29uZmlnX253c2VsX3BhcmEocGFyYW1fcHRyKTsgLy8gUGxlYXNlIGFzayBOV1NFTCBvd25lciBmb3IgdGhpcyBwYXJ0IGlmIHlvdSB3YW50IHRvIG1vZGlmeQogICAgIG52cmFtX2N1c3RvbV9jb25maWdfZ21zc19wYXJhKHBhcmFtX3B0cik7IC8vIFBsZWFzZSBhc2sgR01TUyBvd25lciBmb3IgdGhpcyBwYXJ0IGlmIHlvdSB3YW50IHRvIG1vZGlmeQorICAgIG52cmFtX2N1c3RvbV9jb25maWdfbndzZWxfbmFzX3doaXRlbGlzdF9kc2JwX3Byb2ZpbGUocGFyYW1fcHRyKTsKICAgICByZXR1cm4gS0FMX1RSVUU7CiB9CiAKZGlmZiAtLWdpdCBhL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX3ZkbV9jb25maWcuYyBiL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX3ZkbV9jb25maWcuYwpvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmluZGV4IDVmYmExOTguLjEyN2ZhY2IKLS0tIGEvbWN1L2N1c3RvbS9zZXJ2aWNlL3NicC9zYnBfbnZyYW1fdmRtX2NvbmZpZy5jCisrKyBiL21jdS9jdXN0b20vc2VydmljZS9zYnAvc2JwX252cmFtX3ZkbV9jb25maWcuYwpAQCAtNTczLDYgKzU3MywxMSBAQAogICAgICAgICAgICAgLy9UVEEgcmVxdWVzdCBkaWFsIEVDQyBvdmVyIFdDRE1BIHdoZW4gVUUgZG9uJ3QgcmVnaXN0ZXIgdG8gSU1TCiAgICAgICAgICAgICBudnJhbV92ZG1fYWRzX3Byb2ZpbGVfcHRyLT5wcm9maWxlX2VtZXJnLnByZWZlcl9jc193aGVuX3ZvbHRlX3VucmVnZWQgPSAxOwogCisJCQlpZiAoKHN0cmNtcCgoY2hhciopbWNjLCAiNjM1IikgPT0gMCkmJihzdHJjbXAoKGNoYXIqKW1uYywgIjE3IikgPT0gMCkpICAvLyBrb3JlYSBUZWxlY29tCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy9EaXNhbGxvdyBXRkMgZW1lcmdlbmN5IGNhbGwKKyAgICAgICAgICAgICAgICBudnJhbV92ZG1fYWRzX3Byb2ZpbGVfcHRyLT5wcm9maWxlX2VtZXJnLmdlbmVyYWxfc2V0dGluZ19lbWVyZy5hbGxvd193ZmMgPSAwOworICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSAxMTU6IC8qIFNLVCAqLwpAQCAtNjkwLDYgKzY5NSw4IEBACiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIEFsbG93IFVFIHRvIGF0dGVtcHQgSU1TIEVDQyBhbHRob3VnaCBTSUIxIGRvbid0IGhhdmUgaW1zLWVtZXJnZW5jeXNlcnZpY2UKICAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcuYWxsb3dfaW1zX3dpdGhfbmVnYXRpdmVfc2liX2VtY19ldXRyYW4gPSAxOworICAgICAgICAgICAgLy9TQlBfRUNCTV9FTkFCTEUKKyAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfY29tbW9uLmlzX2VjYm1fZW5hYmxlID0gMTsKIAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTExMjYsMTQgKzExMzMsNiBAQAogCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIDI4MzogLyogTUVPL1BvcnR1Z2FsICovCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQwotICAgICAgICAgICAgbnZyYW1fdmRtX2Fkc19wcm9maWxlX3B0ci0+cHJvZmlsZV9lbWVyZy5nZW5lcmFsX3NldHRpbmdfZW1lcmcuYWxsb3dfaW1zID0gMDsKLSAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcuZ2VuZXJhbF9zZXR0aW5nX2VtZXJnLmFsbG93X3dmYyA9IDA7Ci0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAgICAgICAgIGNhc2UgMjg0OiAvKiBNVFMgU2VyYmlhICovCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQwpAQCAtMTE1Niw2ICsxMTU1LDE5IEBACiAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisJCWNhc2UgMjkwOiAvKk9tYW50ZWwgT21hbiovCisJCXsKKyAgICAgICAgICAgIGlmIChtY2MgIT0gTlVMTCAmJiBtbmMgIT0gTlVMTCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZigoc3RyY21wKChjaGFyKiltY2MsICI0MjIiKSA9PSAwKSYmKHN0cmNtcCgoY2hhciopbW5jLCAiMDQiKSA9PSAwKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIC8vIERpc2FsbG93IElNUyBlbWVyZ2VuY3kgY2FsbCB3aGlsZSBVRSBpcyByb2FtaW5nCisgICAgICAgICAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcucmVqZWN0X2ltc19lbWVyZ193aGlsZV9yb2FtaW5nID0gMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisJCQlicmVhazsKKworCQl9CiAgICAgICAgIGNhc2UgMjkxOiAvKiBMTVQgTGF0dmlhICovCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQwpAQCAtMTE4Nyw2ICsxMTk5LDE0IEBACiAJCQludnJhbV92ZG1fYWRzX3Byb2ZpbGVfcHRyLT5wcm9maWxlX2VtZXJnLmdlbmVyYWxfc2V0dGluZ19lbWVyZy5hbGxvd19pbXMgPSAwOwogCQkJYnJlYWs7CiAJCX0KKworICAgICAgICBjYXNlIDMwMzogLypJbGlhZCBJdGFseSovCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIERpc2FsbG93IElNUyBlbWVyZ2VuY3kgY2FsbCB3aGlsZSBVRSBpcyByb2FtaW5nCisgICAgICAgICAgICBudnJhbV92ZG1fYWRzX3Byb2ZpbGVfcHRyLT5wcm9maWxlX2VtZXJnLnJlamVjdF9pbXNfZW1lcmdfd2hpbGVfcm9hbWluZyA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2UgMzEyOiAvKiBCaXRlICovCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQwpAQCAtMTMxMSw2ICsxMzMxLDMwIEBACiAJCQl9CiAJCQlicmVhazsKIAkJfQorCQljYXNlIDQxNTogLypNYXVyaXRpdXMgbXkudCovCisJCXsKKyAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQworICAgICAgICAgICAgbnZyYW1fdmRtX2Fkc19wcm9maWxlX3B0ci0+cHJvZmlsZV9lbWVyZy5nZW5lcmFsX3NldHRpbmdfZW1lcmcuYWxsb3dfaW1zID0gMDsKKyAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcuZ2VuZXJhbF9zZXR0aW5nX2VtZXJnLmFsbG93X3dmYyA9IDA7CisgICAgICAgICAgICBicmVhazsKKwkJfQorCQljYXNlIDQ0MzogLypjdWJpYyB0ZWxlY29tICovCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgV0ZDCisgICAgICAgICAgICBpZigoKHN0cmNtcCgoY2hhciopbWNjLCAiMjk1IikgPT0gMCkmJihzdHJjbXAoKGNoYXIqKW1uYywgIjA2IikgPT0gMCkpIHx8CisgICAgICAgICAgICAgICAoKHN0cmNtcCgoY2hhciopbWNjLCAiNzI0IikgPT0gMCkmJihzdHJjbXAoKGNoYXIqKW1uYywgIjQ2IikgPT0gMCkpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcuZ2VuZXJhbF9zZXR0aW5nX2VtZXJnLmFsbG93X3dmYyA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCQljYXNlIDQzOTogLyogQWlydGVsL1RhbnphbmlhICovCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIERpc2FsbG93IGVtZXJnZW5jeSBjYWxsIG92ZXIgVm9MVEUgYW5kIFdGQworICAgICAgICAgICAgbnZyYW1fdmRtX2Fkc19wcm9maWxlX3B0ci0+cHJvZmlsZV9lbWVyZy5nZW5lcmFsX3NldHRpbmdfZW1lcmcuYWxsb3dfaW1zID0gMDsKKyAgICAgICAgICAgIG52cmFtX3ZkbV9hZHNfcHJvZmlsZV9wdHItPnByb2ZpbGVfZW1lcmcuZ2VuZXJhbF9zZXR0aW5nX2VtZXJnLmFsbG93X3dmYyA9IDA7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQo=