ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9hdHRhY2htZW50X2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfYXR0YWNobWVudF9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IDJmNzlhZTUuLjJiNmM4YjYgMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl9hdHRhY2htZW50X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2F0dGFjaG1lbnRfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtMTA4LDYgKzEwOCwzMCBAQAogICBFWFBFQ1RfRkFMU0UoRlBERkRvY19HZXRBdHRhY2htZW50KGRvY3VtZW50KCksIDApKTsKIH0KIAorVEVTVF9GKEZQREZBdHRhY2htZW50RW1iZWRkZXJUZXN0LCBJbnZhbGlkQXR0YWNobWVudERhdGEpIHsKKyAgLy8gT3BlbiBhIGZpbGUgd2l0aCBhbiBhdHRhY2htZW50IHRoYXQgaXMgbWlzc2luZyB0aGUgZW1iZWRkZWQgZmlsZSAoL0VGKS4KKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJlbWJlZGRlZF9hdHRhY2htZW50c19pbnZhbGlkX2RhdGEucGRmIikpOworICBBU1NFUlRfRVEoMSwgRlBERkRvY19HZXRBdHRhY2htZW50Q291bnQoZG9jdW1lbnQoKSkpOworCisgIC8vIFJldHJpZXZlIHRoZSBmaXJzdCBhdHRhY2htZW50LgorICBGUERGX0FUVEFDSE1FTlQgYXR0YWNobWVudCA9IEZQREZEb2NfR2V0QXR0YWNobWVudChkb2N1bWVudCgpLCAwKTsKKyAgQVNTRVJUX1RSVUUoYXR0YWNobWVudCk7CisKKyAgLy8gQ2hlY2sgdGhhdCB0aGUgbmFtZSBvZiB0aGUgYXR0YWNobWVudCBpcyBjb3JyZWN0LgorICB1bnNpZ25lZCBsb25nIGxlbmd0aF9ieXRlcyA9IEZQREZBdHRhY2htZW50X0dldE5hbWUoYXR0YWNobWVudCwgbnVsbHB0ciwgMCk7CisgIEFTU0VSVF9FUSgxMnUsIGxlbmd0aF9ieXRlcyk7CisgIHN0ZDo6dmVjdG9yPEZQREZfV0NIQVI+IGJ1ZiA9IEdldEZQREZXaWRlU3RyaW5nQnVmZmVyKGxlbmd0aF9ieXRlcyk7CisgIEVYUEVDVF9FUSgxMnUsIEZQREZBdHRhY2htZW50X0dldE5hbWUoYXR0YWNobWVudCwgYnVmLmRhdGEoKSwgbGVuZ3RoX2J5dGVzKSk7CisgIEVYUEVDVF9FUSgiMS50eHQiLCBHZXRQbGF0Zm9ybVN0cmluZyhidWYuZGF0YSgpKSk7CisKKyAgLy8gQ2hlY2sgdGhhdCBpcyBpcyBub3QgcG9zc2libGUgdG8gcmV0cmlldmUgdGhlIGZpbGUgZGF0YS4KKyAgRVhQRUNUX0ZBTFNFKEZQREZBdHRhY2htZW50X0dldEZpbGUoYXR0YWNobWVudCwgbnVsbHB0ciwgMCwgJmxlbmd0aF9ieXRlcykpOworCisgIC8vIENoZWNrIHRoYXQgdGhlIGF0dGFjaG1lbnQgY2FuIGJlIGRlbGV0ZWQuCisgIEVYUEVDVF9UUlVFKEZQREZEb2NfRGVsZXRlQXR0YWNobWVudChkb2N1bWVudCgpLCAwKSk7CisgIEVYUEVDVF9FUSgwLCBGUERGRG9jX0dldEF0dGFjaG1lbnRDb3VudChkb2N1bWVudCgpKSk7Cit9CisKIFRFU1RfRihGUERGQXR0YWNobWVudEVtYmVkZGVyVGVzdCwgQWRkQXR0YWNobWVudHMpIHsKICAgLy8gT3BlbiBhIGZpbGUgd2l0aCB0d28gYXR0YWNobWVudHMuCiAgIEFTU0VSVF9UUlVFKE9wZW5Eb2N1bWVudCgiZW1iZWRkZWRfYXR0YWNobWVudHMucGRmIikpOwpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvZW1iZWRkZWRfYXR0YWNobWVudHNfaW52YWxpZF9kYXRhLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvZW1iZWRkZWRfYXR0YWNobWVudHNfaW52YWxpZF9kYXRhLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2NTQ1YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9lbWJlZGRlZF9hdHRhY2htZW50c19pbnZhbGlkX2RhdGEuaW4KQEAgLTAsMCArMSw0MSBAQAore3toZWFkZXJ9fQore3tvYmplY3QgMSAwfX0gPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL05hbWVzIDQgMCBSCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDMgMH19IDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KKyAgL1Jlc291cmNlcyA8PAorICAgIC9Qcm9jU2V0IFsvUERGXQorICA+PgorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAgL0VtYmVkZGVkRmlsZXMgNSAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDUgMH19IDw8CisgIC9OYW1lcyBbKDEudHh0KSA2IDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDYgMH19IDw8CisgIC9UeXBlIC9GaWxlc3BlYworICAvRGVzYyAoKQorICAvRiAoMS50eHQpCisgIC9VRiAoMS50eHQpCis+PgorZW5kb2JqCit7e3hyZWZ9fQore3t0cmFpbGVyfX0KK3t7c3RhcnR4cmVmfX0KKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9lbWJlZGRlZF9hdHRhY2htZW50c19pbnZhbGlkX2RhdGEucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvZW1iZWRkZWRfYXR0YWNobWVudHNfaW52YWxpZF9kYXRhLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTgzMGUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvZW1iZWRkZWRfYXR0YWNobWVudHNfaW52YWxpZF9kYXRhLnBkZgpAQCAtMCwwICsxLDU0IEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL05hbWVzIDQgMCBSCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvUHJvY1NldCBbL1BERl0KKyAgPj4KKz4+CitlbmRvYmoKKzQgMCBvYmogPDwKKyAgL0VtYmVkZGVkRmlsZXMgNSAwIFIKKz4+CitlbmRvYmoKKzUgMCBvYmogPDwKKyAgL05hbWVzIFsoMS50eHQpIDYgMCBSXQorPj4KK2VuZG9iagorNiAwIG9iaiA8PAorICAvVHlwZSAvRmlsZXNwZWMKKyAgL0Rlc2MgKCkKKyAgL0YgKDEudHh0KQorICAvVUYgKDEudHh0KQorPj4KK2VuZG9iagoreHJlZgorMCA3CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDgzIDAwMDAwIG4gCiswMDAwMDAwMTQ2IDAwMDAwIG4gCiswMDAwMDAwMjY0IDAwMDAwIG4gCiswMDAwMDAwMzA4IDAwMDAwIG4gCiswMDAwMDAwMzU0IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDcKKz4+CitzdGFydHhyZWYKKzQzMQorJSVFT0YK