ZGlmZiAtLWdpdCBhL0lPVF9BcHBfRGVmaW5pdGlvbnMudHRjbiBiL0lPVF9BcHBfRGVmaW5pdGlvbnMudHRjbgppbmRleCA0ZmYyNzEzLi44NmU2MmJkIDEwMDY0NAotLS0gYS9JT1RfQXBwX0RlZmluaXRpb25zLnR0Y24KKysrIGIvSU9UX0FwcF9EZWZpbml0aW9ucy50dGNuCkBAIC05LDkgKzksOSBAQAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gIEZpbGU6ICAgICAgICAgICAgICAgSU9UX0FwcF9EZWZpbml0aW9ucy50dGNuCiAvLyAgRGVzY3JpcHRpb246Ci0vLyAgUmV2OiAgICAgICAgICAgICAgICBSMUEKLS8vICBQcm9kbnI6ICAgICAgICAgICAgIExQQSAxMDggNjYxCi0vLyAgVXBkYXRlZDogICAgICAgICAgICAyMDE3LTA5LTAxCisvLyAgUmV2OiAgICAgICAgICAgICAgICA8Um5Ybm4+CisvLyAgUHJvZG5yOiAgICAgICAgICAgICBDTkwgMTEzIDkwOQorLy8gIFVwZGF0ZWQ6ICAgICAgICAgICAgMjAyMC0wMi0wNgogLy8gIENvbnRhY3Q6ICAgICAgICAgICAgaHR0cDovL3R0Y24uZXJpY3Nzb24uc2UKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIApkaWZmIC0tZ2l0IGEvSU9UX0FwcF9GdW5jdGlvbnMudHRjbiBiL0lPVF9BcHBfRnVuY3Rpb25zLnR0Y24KaW5kZXggZDVlMjlhZC4uOGVkODQ3MyAxMDA2NDQKLS0tIGEvSU9UX0FwcF9GdW5jdGlvbnMudHRjbgorKysgYi9JT1RfQXBwX0Z1bmN0aW9ucy50dGNuCkBAIC05LDkgKzksOSBAQAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gIEZpbGU6ICAgICAgICAgICAgICAgSU9UX0FwcF9GdW5jdGlvbnMudHRjbgogLy8gIERlc2NyaXB0aW9uOgotLy8gIFJldjogICAgICAgICAgICAgICAgUjFBCi0vLyAgUHJvZG5yOiAgICAgICAgICAgICBMUEEgMTA4IDY2MQotLy8gIFVwZGF0ZWQ6ICAgICAgICAgICAgMjAxNy0wOS0wMQorLy8gIFJldjogICAgICAgICAgICAgICAgPFJuWG5uPgorLy8gIFByb2RucjogICAgICAgICAgICAgQ05MIDExMyA5MDkKKy8vICBVcGRhdGVkOiAgICAgICAgICAgIDIwMjAtMDItMDYKIC8vICBDb250YWN0OiAgICAgICAgICAgIGh0dHA6Ly90dGNuLmVyaWNzc29uLnNlCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKZGlmZiAtLWdpdCBhL0lPVF9MR2VuX0RlZmluaXRpb25zLnR0Y24gYi9JT1RfTEdlbl9EZWZpbml0aW9ucy50dGNuCmluZGV4IDgyM2MxNjcuLjQyMjQ0N2IgMTAwNjQ0Ci0tLSBhL0lPVF9MR2VuX0RlZmluaXRpb25zLnR0Y24KKysrIGIvSU9UX0xHZW5fRGVmaW5pdGlvbnMudHRjbgpAQCAtOSw5ICs5LDkgQEAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vICBGaWxlOiAgICAgICAgICAgICAgIElPVF9MR2VuX0RlZmluaXRpb25zLnR0Y24KIC8vICBEZXNjcmlwdGlvbjoKLS8vICBSZXY6ICAgICAgICAgICAgICAgIFIxQQotLy8gIFByb2RucjogICAgICAgICAgICAgTFBBIDEwOCA2NjEKLS8vICBVcGRhdGVkOiAgICAgICAgICAgIDIwMTctMDktMDEKKy8vICBSZXY6ICAgICAgICAgICAgICAgIDxSblhubj4KKy8vICBQcm9kbnI6ICAgICAgICAgICAgIENOTCAxMTMgOTA5CisvLyAgVXBkYXRlZDogICAgICAgICAgICAyMDIwLTAyLTA2CiAvLyAgQ29udGFjdDogICAgICAgICAgICBodHRwOi8vdHRjbi5lcmljc3Nvbi5zZQogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCkBAIC0xOSw3ICsxOSw3IEBACiAvLyAgTW9kdWxlOiBJT1RfTEdlbl9EZWZpbml0aW9ucwogLy8gCiAvLyAgUHVycG9zZToKLS8vICAgIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9ucyBmb3IgUklvVCdzIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudAorLy8gICAgVGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50CiAvLwogLy8gIERldGFpbGVkIGNvbW1lbnRzOgogLy8gICAgUklvVCBpcyBhIGxvYWQgZ2VuZXJhdG9yIGJ1aWx0IG9uIHRvcCBvZiB0aGUgVGl0YW5TaW0gbG9hZCBnZW5lcmF0b3IgZnJhbWV3b3JrLiBJdCBpcwpkaWZmIC0tZ2l0IGEvSU9UX0xHZW5fRnVuY3Rpb25zLnR0Y24gYi9JT1RfTEdlbl9GdW5jdGlvbnMudHRjbgppbmRleCBiNDUxNGI0Li5iYmVhNDM3IDEwMDY0NAotLS0gYS9JT1RfTEdlbl9GdW5jdGlvbnMudHRjbgorKysgYi9JT1RfTEdlbl9GdW5jdGlvbnMudHRjbgpAQCAtOSw5ICs5LDkgQEAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vICBGaWxlOiAgICAgICAgICAgICAgIElPVF9MR2VuX0Z1bmN0aW9ucy50dGNuCiAvLyAgRGVzY3JpcHRpb246Ci0vLyAgUmV2OiAgICAgICAgICAgICAgICBSMUEKLS8vICBQcm9kbnI6ICAgICAgICAgICAgIExQQSAxMDggNjYxCi0vLyAgVXBkYXRlZDogICAgICAgICAgICAyMDE3LTA5LTAxCisvLyAgUmV2OiAgICAgICAgICAgICAgICA8Um5Ybm4+CisvLyAgUHJvZG5yOiAgICAgICAgICAgICBDTkwgMTEzIDkwOQorLy8gIFVwZGF0ZWQ6ICAgICAgICAgICAgMjAyMC0wMi0wNgogLy8gIENvbnRhY3Q6ICAgICAgICAgICAgaHR0cDovL3R0Y24uZXJpY3Nzb24uc2UKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIApAQCAtMTksNyArMTksNyBAQAogLy8gIE1vZHVsZTogSU9UX0xHZW5fRnVuY3Rpb25zCiAvLyAKIC8vICBQdXJwb3NlOgotLy8gICAgVGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBSSW9UJ3MgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50CisvLyAgICBUaGlzIG1vZHVsZSBjb250YWlucyB0aGUgZnVuY3Rpb25zIG9mIGFuIElvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQKIC8vCiAvLyAgU2VlIGFsc286CiAvLyAgICA8SU9UX0xHZW5fRGVmaW5pdGlvbnM+CmRpZmYgLS1naXQgYS9JT1RfTEdlbl9TdGVwcy50dGNuIGIvSU9UX0xHZW5fU3RlcHMudHRjbgppbmRleCA3MGY5MWE4Li42M2I4NmRiIDEwMDY0NAotLS0gYS9JT1RfTEdlbl9TdGVwcy50dGNuCisrKyBiL0lPVF9MR2VuX1N0ZXBzLnR0Y24KQEAgLTksOSArOSw5IEBACiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAvLyAgRmlsZTogICAgICAgICAgICAgICBJT1RfTEdlbl9TdGVwcy50dGNuCiAvLyAgRGVzY3JpcHRpb246Ci0vLyAgUmV2OiAgICAgICAgICAgICAgICBSMUEKLS8vICBQcm9kbnI6ICAgICAgICAgICAgIExQQSAxMDggNjYxCi0vLyAgVXBkYXRlZDogICAgICAgICAgICAyMDE3LTA5LTAxCisvLyAgUmV2OiAgICAgICAgICAgICAgICA8Um5Ybm4+CisvLyAgUHJvZG5yOiAgICAgICAgICAgICBDTkwgMTEzIDkwOQorLy8gIFVwZGF0ZWQ6ICAgICAgICAgICAgMjAyMC0wMi0wNgogLy8gIENvbnRhY3Q6ICAgICAgICAgICAgaHR0cDovL3R0Y24uZXJpY3Nzb24uc2UKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIApAQCAtMTksNyArMTksNyBAQAogLy8gIE1vZHVsZTogSU9UX0xHZW5fU3RlcHMKIC8vIAogLy8gIFB1cnBvc2U6Ci0vLyAgICBUaGlzIG1vZHVsZSBjb250YWlucyB0ZXN0IHN0ZXAgZnVuY3Rpb25zIGZvciBSSW9UJ3MgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50CisvLyAgICBUaGlzIG1vZHVsZSBjb250YWlucyB0ZXN0IHN0ZXAgZnVuY3Rpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50CiAvLwogLy8gIFNlZSBhbHNvOgogLy8gICAgPElPVF9MR2VuX0RlZmluaXRpb25zPgpkaWZmIC0tZ2l0IGEvSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbiBiL0luZmx1eERCX0RlZmluaXRpb25zLnR0Y24KaW5kZXggNGRlODQ5ZC4uYjU0ODhmOCAxMDA2NDQKLS0tIGEvSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbgorKysgYi9JbmZsdXhEQl9EZWZpbml0aW9ucy50dGNuCkBAIC05LDkgKzksOSBAQAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gIEZpbGU6ICAgICAgICAgICAgICAgSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbgogLy8gIERlc2NyaXB0aW9uOgotLy8gIFJldjogICAgICAgICAgICAgICAgUjFBCi0vLyAgUHJvZG5yOiAgICAgICAgICAgICBMUEEgMTA4IDY2MQotLy8gIFVwZGF0ZWQ6ICAgICAgICAgICAgMjAxNy0wOS0wMQorLy8gIFJldjogICAgICAgICAgICAgICAgPFJuWG5uPgorLy8gIFByb2RucjogICAgICAgICAgICAgQ05MIDExMyA5MDkKKy8vICBVcGRhdGVkOiAgICAgICAgICAgIDIwMjAtMDItMDYKIC8vICBDb250YWN0OiAgICAgICAgICAgIGh0dHA6Ly90dGNuLmVyaWNzc29uLnNlCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiBtb2R1bGUgSW5mbHV4REJfRGVmaW5pdGlvbnMKQEAgLTE5LDkgKzE5LDQ3IEBACiAJaW1wb3J0IGZyb20gSVBMNGFzcF9UeXBlcyBhbGw7CiAJaW1wb3J0IGZyb20gSVBMNGFzcF9Qb3J0VHlwZSBhbGw7CiAKKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgLy8gIE1vZHVsZSBwYXJhbWV0ZXI6IHRzcF9JbmZsdXhEQl9kZWJ1ZworICAvLyAKKyAgLy8gIFB1cnBvc2U6CisgIC8vICAgIEVuYWJsZS9kaXNhYmxlIGRlYnVnIGxvZ2dpbmcKKyAgLy8KKyAgLy8gIFR5cGU6CisgIC8vICAgICAqYm9vbGVhbioKKyAgLy8KKyAgLy8gIERlZmF1bHQgdmFsdWU6CisgIC8vICAgICAqZmFsc2UqCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgbW9kdWxlcGFyIGJvb2xlYW4gdHNwX0luZmx1eERCX2RlYnVnIDo9IGZhbHNlOwotCW1vZHVsZXBhciBpbnRlZ2VyIHRzcF9JbmZsdXhEQl9jbGllbnRfYmFzZVBvcnQgOj0gOTAwMDsKLQltb2R1bGVwYXIgZmxvYXQgICB0c3BfSW5mbHV4REJfcmVwb3J0UGVyaW9kIDo9IDMuMDsKKworICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAvLyAgTW9kdWxlIHBhcmFtZXRlcjogdHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydAorICAvLyAKKyAgLy8gIFB1cnBvc2U6CisgIC8vICAgIExvY2FsIHBvcnQgbnVtYmVyIHVzZWQgZm9yIHRoZSBVRFAgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQgorICAvLworICAvLyAgVHlwZToKKyAgLy8gICAgICppbnRlZ2VyKgorICAvLworICAvLyAgRGVmYXVsdCB2YWx1ZToKKyAgLy8gICAgICo5MDAwKgorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIG1vZHVsZXBhciBpbnRlZ2VyIHRzcF9JbmZsdXhEQl9jbGllbnRfYmFzZVBvcnQgOj0gOTAwMDsKKworICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAvLyAgTW9kdWxlIHBhcmFtZXRlcjogdHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZAorICAvLyAKKyAgLy8gIFB1cnBvc2U6CisgIC8vICAgIEluZmx1eERCIGV2ZW50IGhhbmRsZXIgcmVwb3J0aW5nIHBlcmlvZAorICAvLworICAvLyAgVHlwZToKKyAgLy8gICAgICpmbG9hdCoKKyAgLy8KKyAgLy8gIERlZmF1bHQgdmFsdWU6CisgIC8vICAgICAqMy4wKgorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIG1vZHVsZXBhciBmbG9hdCAgIHRzcF9JbmZsdXhEQl9yZXBvcnRQZXJpb2QgOj0gMy4wOwogCiAJdHlwZSBjb21wb25lbnQgSW5mbHV4REJfQ1QKIAl7CmRpZmYgLS1naXQgYS9JbmZsdXhEQl9GdW5jdGlvbnMudHRjbiBiL0luZmx1eERCX0Z1bmN0aW9ucy50dGNuCmluZGV4IDdhN2YwYTYuLjE2NGY0ZjUgMTAwNjQ0Ci0tLSBhL0luZmx1eERCX0Z1bmN0aW9ucy50dGNuCisrKyBiL0luZmx1eERCX0Z1bmN0aW9ucy50dGNuCkBAIC05LDkgKzksOSBAQAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLy8gIEZpbGU6ICAgICAgICAgICAgICAgSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24KIC8vICBEZXNjcmlwdGlvbjoKLS8vICBSZXY6ICAgICAgICAgICAgICAgIFIxQQotLy8gIFByb2RucjogICAgICAgICAgICAgTFBBIDEwOCA2NjEKLS8vICBVcGRhdGVkOiAgICAgICAgICAgIDIwMTctMDktMDEKKy8vICBSZXY6ICAgICAgICAgICAgICAgIDxSblhubj4KKy8vICBQcm9kbnI6ICAgICAgICAgICAgIENOTCAxMTMgOTA5CisvLyAgVXBkYXRlZDogICAgICAgICAgICAyMDIwLTAyLTA2CiAvLyAgQ29udGFjdDogICAgICAgICAgICBodHRwOi8vdHRjbi5lcmljc3Nvbi5zZQogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogbW9kdWxlIEluZmx1eERCX0Z1bmN0aW9ucyB7CkBAIC0yMCw2ICsyMCwxOCBAQAogCWltcG9ydCBmcm9tIElQTDRhc3BfVHlwZXMgYWxsOwogCWltcG9ydCBmcm9tIElQTDRhc3BfUG9ydFR5cGUgYWxsOwogCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgIC8vICBGdW5jdGlvbjogZl9JT1RfTEdlbl9iZWhhdmlvcgorICAvLworICAvLyAgUHVycG9zZToKKyAgLy8gICAgVGhlIG1haW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSA8SW5mbHV4REJfQ1Q+IGNvbXBvbmVudCB0eXBlCisgIC8vCisgIC8vICBQYXJhbWV0ZXJzOgorICAvLyAgICBwX2xnZW5JZHggLSAqaW4qICppbnRlZ2VyKiAtIHRoZSBpbmRleCBvZiB0aGUgY29tcG9uZW50IGluc3RhbmNlCisgIC8vCisgIC8vICBSZWxhdGVkIFR5cGU6CisgIC8vICAgIDxJbmZsdXhEQl9DVD4KKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAlmdW5jdGlvbiBmX0luZmx1eERCX2luaXQoaW4gaW50ZWdlciBwX2xnZW5JZHggOj0gMCkgcnVucyBvbiBJbmZsdXhEQl9DVAogCXsKIAkJZl9JbmxmdXhEQl9sb2dfZGVidWcobG9nMnN0ciglZGVmaW5pdGlvbklkLCAiIHN0YXJ0ZWQiKSk7CkBAIC0zNCw2ICs0NiwxOCBAQAogCQlmX0lubGZ1eERCX2xvZ19kZWJ1Zyhsb2cyc3RyKCVkZWZpbml0aW9uSWQsICIgZmluaXNoZWQiKSk7CiAJfQogCQorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAvLyAgRnVuY3Rpb246IGZfSW5mbHV4REJfY29ubmVjdAorICAvLworICAvLyAgUHVycG9zZToKKyAgLy8gICAgU2V0dXAgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgSW5mbHV4REIgZGF0YWJhc2UKKyAgLy8KKyAgLy8gIFBhcmFtZXRlcnM6CisgIC8vICAgIAorICAvLworICAvLyAgUmVsYXRlZCBUeXBlOgorICAvLyAgICA8SW5mbHV4REJfQ1Q+CisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmZsdXhEQl9jb25uZWN0KCkgcnVucyBvbiBJbmZsdXhEQl9DVAogCXsKICAgICAgICAgZl9JbmxmdXhEQl9sb2dfZGVidWcobG9nMnN0ciglZGVmaW5pdGlvbklkLCAiIHN0YXJ0ZWQiKSk7CkBAIC02Niw2ICs5MCwxOCBAQAogICAgICAgICBmX0lubGZ1eERCX2xvZ19kZWJ1Zyhsb2cyc3RyKCVkZWZpbml0aW9uSWQsICIgZmluaXNoZWQiKSk7CSAgCiAJfQogCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgIC8vICBGdW5jdGlvbjogZl9JbmZsdXhEQl9zZW5kCisgIC8vCisgIC8vICBQdXJwb3NlOgorICAvLyAgICBTZW5kcyBhIHJlcG9ydCB0byB0aGUgSW5mbHV4REIgZGF0YWJhc2UKKyAgLy8KKyAgLy8gIFBhcmFtZXRlcnM6CisgIC8vICAgIHBfZGF0YSAtICppbiogPEluZmx1eExpbmVQcm90b2NvbD4gLSBSZXBvcnQgdG8gc2VuZAorICAvLworICAvLyAgUmVsYXRlZCBUeXBlOgorICAvLyAgICA8SW5mbHV4REJfQ1Q+CisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmZsdXhEQl9zZW5kKGluIEluZmx1eExpbmVQcm90b2NvbCBwX2RhdGEpIHJ1bnMgb24gSW5mbHV4REJfQ1QKIAl7CiAJICAJZl9JbmZsdXhEQl9lbmNvZGUocF9kYXRhLCB2X0luZmx1eERCX21zZ1RvU2VuZF9lbmNvZGVkKTsKQEAgLTgxLDYgKzExNywxOSBAQAogCQlJTkZMVVhEQl9QQ08uc2VuZCh2X0luZmx1eERCX3NlbmRBc3ApOwogCX0KIAorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAvLyAgRnVuY3Rpb246IGZfSW5mbHV4REJfZW5jb2RlCisgIC8vCisgIC8vICBQdXJwb3NlOgorICAvLyAgICBDb252ZXJ0cyBhIHJlcG9ydCB0byBjaGFyc3RyaW5nIGZvcm1hdAorICAvLworICAvLyAgUGFyYW1ldGVyczoKKyAgLy8gICAgcF9wcm90IC0gKmluKiA8SW5mbHV4TGluZVByb3RvY29sPiwgTWVzc2FnZSB0byBzZW5kCisgIC8vICAgIHBfZW5jb2RlZCAtICpvdXQqICpjaGFyc3RyaW5nKiAtIE91dHB1dCBzdHJpbmcKKyAgLy8KKyAgLy8gIFJlbGF0ZWQgVHlwZToKKyAgLy8gICAgCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmZsdXhEQl9lbmNvZGUoaW4gSW5mbHV4TGluZVByb3RvY29sIHBfcHJvdCwgb3V0IGNoYXJzdHJpbmcgcF9lbmNvZGVkKQogCXsKICAgICAgIGZfSW5sZnV4REJfbG9nX2RlYnVnKGxvZzJzdHIoImluZmx1eCBlbmNvZGluZzogIiwgcF9wcm90KSk7CkBAIC0xMDEsMzIgKzE1MCwxMDUgQEAKICAgICAgIGZfSW5sZnV4REJfbG9nX2RlYnVnKGxvZzJzdHIoImluZmx1eCBlbmNvZGVkOiAiLCBwX2VuY29kZWQpKTsKIAl9CiAgICAgCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgIC8vICBGdW5jdGlvbjogZl9JbmZsdXhEQl9zZXRNZWFzdXJlbWVudAorICAvLworICAvLyAgUHVycG9zZToKKyAgLy8gICAgU2V0cyB0aGUgbWVhc3VyZW1lbnQgZmllbGQgb2YgYW4gSW5mbHV4REIgcmVwb3J0CisgIC8vCisgIC8vICBQYXJhbWV0ZXJzOgorICAvLyAgICBwX3BkdSAtICppbm91dCogPEluZmx1eExpbmVQcm90b2NvbD4sIEluZmx1eCBtZXNzYWdlCisgIC8vICAgIHBfbWVhc3VyZW1lbnQgLSAqaW4qICpjaGFyc3RyaW5nKiAtIG1lYXN1cmVtZW50IHZhbHVlCisgIC8vCisgIC8vICBSZWxhdGVkIFR5cGU6CisgIC8vICAgIAorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIGZ1bmN0aW9uIGZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQoaW5vdXQgSW5mbHV4TGluZVByb3RvY29sIHBfcGR1LCBpbiBjaGFyc3RyaW5nIHBfbWVhc3VyZW1lbnQpCiAgICAgewogICAgICAgcF9wZHUubWVhc3VyZW1lbnQgOj0gcF9tZWFzdXJlbWVudDsKICAgICB9CiAKKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgLy8gIEZ1bmN0aW9uOiBmX0luZmx1eERCX2FkZFRhZworICAvLworICAvLyAgUHVycG9zZToKKyAgLy8gICAgQWRkcyBhIHRhZyB0byB0aGUgdGFnLWxpc3Qgb2YgYW4gSW5mbHV4REIgbWVzc2FnZQorICAvLworICAvLyAgUGFyYW1ldGVyczoKKyAgLy8gICAgcF9wZHUgLSAqaW5vdXQqIDxJbmZsdXhMaW5lUHJvdG9jb2w+LCBJbmZsdXggbWVzc2FnZQorICAvLyAgICBwX3RhZyAtICppbiogPEluZmx1eEF0dHJWYWx1ZT4gLSB0YWcgdmFsdWUgdG8gYmUgYWRkZWQKKyAgLy8KKyAgLy8gIFJlbGF0ZWQgVHlwZToKKyAgLy8gICAgCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmZsdXhEQl9hZGRUYWcoaW5vdXQgSW5mbHV4TGluZVByb3RvY29sIHBfcGR1LCBpbiBJbmZsdXhBdHRyVmFsdWUgcF90YWcpCiAJewogCSAgcF9wZHUudGFnU2V0W3NpemVvZihwX3BkdS50YWdTZXQpXSA6PSBwX3RhZzsKIAl9CiAKKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgLy8gIEZ1bmN0aW9uOiBmX0luZmx1eERCX2FkZEZpZWxkCisgIC8vCisgIC8vICBQdXJwb3NlOgorICAvLyAgICBBZGRzIGEgZmllbGQgdG8gdGhlIGZpZWxkLWxpc3Qgb2YgYW4gSW5mbHV4REIgbWVzc2FnZQorICAvLworICAvLyAgUGFyYW1ldGVyczoKKyAgLy8gICAgcF9wZHUgLSAqaW5vdXQqIDxJbmZsdXhMaW5lUHJvdG9jb2w+LCBJbmZsdXggbWVzc2FnZQorICAvLyAgICBwX2ZpZWxkIC0gKmluKiA8SW5mbHV4QXR0clZhbHVlPiAtIGZpZWxkIHZhbHVlIHRvIGJlIGFkZGVkCisgIC8vCisgIC8vICBSZWxhdGVkIFR5cGU6CisgIC8vICAgIAorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCWZ1bmN0aW9uIGZfSW5mbHV4REJfYWRkRmllbGQoaW5vdXQgSW5mbHV4TGluZVByb3RvY29sIHBfcGR1LCBpbiBJbmZsdXhBdHRyVmFsdWUgcF9maWVsZCkKIAl7CiAJICBwX3BkdS5maWVsZFNldFtzaXplb2YocF9wZHUuZmllbGRTZXQpXSA6PSBwX2ZpZWxkOwogCX0KIAkKKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgLy8gIEZ1bmN0aW9uOiBmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydAorICAvLworICAvLyAgUHVycG9zZToKKyAgLy8gICAgU2V0cyB0aGUgdGFyZ2V0IHRpbWUgb2YgdGhlIG5leHQgcmVwb3J0CisgIC8vCisgIC8vICBQYXJhbWV0ZXJzOgorICAvLworICAvLyAgUmVsYXRlZCBUeXBlOgorICAvLyAgICA8SW5mbHV4REJfQ1Q+CisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmZsdXhEQl9zY2hlZHVsZU5leHRSZXBvcnQoKQogCXJ1bnMgb24gSW5mbHV4REJfQ1QKIAl7CiAJICB2X0luZmx1eERCX3JlcG9ydFRpbWVyLnN0YXJ0KHZfSW5mbHV4REJfY3R4LnJlcG9ydFBlcmlvZCk7CiAJfQogCQorICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAvLyAgRnVuY3Rpb246IGZfSW5sZnV4REJfbG9nX2RlYnVnCisgIC8vCisgIC8vICBQdXJwb3NlOgorICAvLyAgICBJZiBkZWJ1ZyBsb2cgaXMgc2V0LCB3cml0ZSB0aGUgcGFyYW1ldGVyIHRvIHRoZSBsb2cgZmlsZQorICAvLworICAvLyAgUGFyYW1ldGVyczoKKyAgLy8gICAgcF9sb2cgLSAqaW4qICpjaGFyc3RyaW5nKiAtIHN0cmluZyB0byBsb2cKKyAgLy8KKyAgLy8gIFJlbGF0ZWQgVHlwZToKKyAgLy8gICAgCisgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAJZnVuY3Rpb24gZl9JbmxmdXhEQl9sb2dfZGVidWcoaW4gY2hhcnN0cmluZyBwX2xvZykKIAl7CiAJICBpZiAodHNwX0luZmx1eERCX2RlYnVnKXsgbG9nKHBfbG9nKTsgfQogCX0KIAkKKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgLy8gIEZ1bmN0aW9uOiBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIKKyAgLy8KKyAgLy8gIFB1cnBvc2U6CisgIC8vICAgIFdoZW4gcmVwb3J0IHBlcmlvZCBleHBpcmVkLCByZXN0YXJ0cyB0aGUgSW5mbHV4REIgZXZlbnQgaGFuZGxlciBhbmQgc2V0cyB0aGUgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQKKyAgLy8KKyAgLy8gIFBhcmFtZXRlcnM6CisgIC8vCisgIC8vICBSZWxhdGVkIFR5cGU6CisgIC8vICAgIDxJbmZsdXhEQl9DVD4KKyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgYWx0c3RlcCBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIoKQogICBydW5zIG9uIEluZmx1eERCX0NUCiAgIHsKZGlmZiAtLWdpdCBhL2FwaWRvYy9EYXRhL0NsYXNzSGllcmFyY2h5Lm5kIGIvYXBpZG9jL0RhdGEvQ2xhc3NIaWVyYXJjaHkubmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMwNjNiMAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9EYXRhL0NsYXNzSGllcmFyY2h5Lm5kCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FwaWRvYy9EYXRhL0NvbmZpZ0ZpbGVJbmZvLm5kIGIvYXBpZG9jL0RhdGEvQ29uZmlnRmlsZUluZm8ubmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwNzNkYwotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9EYXRhL0NvbmZpZ0ZpbGVJbmZvLm5kCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FwaWRvYy9EYXRhL0ZpbGVJbmZvLm5kIGIvYXBpZG9jL0RhdGEvRmlsZUluZm8ubmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZkNjE4NQotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9EYXRhL0ZpbGVJbmZvLm5kCkBAIC0wLDAgKzEsOSBAQAorMS41MgorVFRDTjMKKy9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbgkxNTgxMDczNjE2CTEJL2hvbWUvRVRIR1JZL1RpdGFuX0ZPU1MvQXBwbGljYXRpb25MaWJyYXJpZXMvSW9UX0xvYWR0ZXN0X0ZyYW1ld29yay9JbmZsdXhEQl9EZWZpbml0aW9ucy50dGNuCisvaG9tZS9FVEhHUlkvVGl0YW5fRk9TUy9BcHBsaWNhdGlvbkxpYnJhcmllcy9Jb1RfTG9hZHRlc3RfRnJhbWV3b3JrL0lPVF9MR2VuX1N0ZXBzLnR0Y24JMTU4MTAwMTE1NgkxCUlPVF9MR2VuX1N0ZXBzCisvaG9tZS9FVEhHUlkvVGl0YW5fRk9TUy9BcHBsaWNhdGlvbkxpYnJhcmllcy9Jb1RfTG9hZHRlc3RfRnJhbWV3b3JrL0lPVF9MR2VuX0Z1bmN0aW9ucy50dGNuCTE1ODEwMDExNDYJMQlJT1RfTEdlbl9GdW5jdGlvbnMKKy9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSU9UX0FwcF9GdW5jdGlvbnMudHRjbgkxNTgxMDAwNzUzCTEJSU9UX0FwcF9GdW5jdGlvbnMKKy9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSU9UX0xHZW5fRGVmaW5pdGlvbnMudHRjbgkxNTgxMDAxMTMzCTEJSU9UX0xHZW5fRGVmaW5pdGlvbnMKKy9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSU9UX0FwcF9EZWZpbml0aW9ucy50dGNuCTE1ODEwMDUxODcJMQlJT1RfQXBwX0RlZmluaXRpb25zCisvaG9tZS9FVEhHUlkvVGl0YW5fRk9TUy9BcHBsaWNhdGlvbkxpYnJhcmllcy9Jb1RfTG9hZHRlc3RfRnJhbWV3b3JrL0luZmx1eERCX0Z1bmN0aW9ucy50dGNuCTE1ODEwNzc5NzYJMQkvaG9tZS9FVEhHUlkvVGl0YW5fRk9TUy9BcHBsaWNhdGlvbkxpYnJhcmllcy9Jb1RfTG9hZHRlc3RfRnJhbWV3b3JrL0luZmx1eERCX0Z1bmN0aW9ucy50dGNuCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9JbWFnZUZpbGVJbmZvLm5kIGIvYXBpZG9jL0RhdGEvSW1hZ2VGaWxlSW5mby5uZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzhlMmJmCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL0RhdGEvSW1hZ2VGaWxlSW5mby5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9JbWFnZVJlZmVyZW5jZVRhYmxlLm5kIGIvYXBpZG9jL0RhdGEvSW1hZ2VSZWZlcmVuY2VUYWJsZS5uZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2NlMTRmCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL0RhdGEvSW1hZ2VSZWZlcmVuY2VUYWJsZS5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9JbmRleEluZm8ubmQgYi9hcGlkb2MvRGF0YS9JbmRleEluZm8ubmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlOWZiZAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9EYXRhL0luZGV4SW5mby5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9QcmV2aW91c01lbnVTdGF0ZS5uZCBiL2FwaWRvYy9EYXRhL1ByZXZpb3VzTWVudVN0YXRlLm5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2Q4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvRGF0YS9QcmV2aW91c01lbnVTdGF0ZS5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9QcmV2aW91c1NldHRpbmdzLm5kIGIvYXBpZG9jL0RhdGEvUHJldmlvdXNTZXR0aW5ncy5uZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTExM2UzCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL0RhdGEvUHJldmlvdXNTZXR0aW5ncy5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvRGF0YS9TeW1ib2xUYWJsZS5uZCBiL2FwaWRvYy9EYXRhL1N5bWJvbFRhYmxlLm5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWJkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvRGF0YS9TeW1ib2xUYWJsZS5uZApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcGlkb2MvTGFuZ3VhZ2VzLnR4dCBiL2FwaWRvYy9MYW5ndWFnZXMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyMzE1MzkKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvTGFuZ3VhZ2VzLnR4dApAQCAtMCwwICsxLDEyNiBAQAorRm9ybWF0OiAxLjUyCisKKyMgVGhpcyBpcyB0aGUgTmF0dXJhbCBEb2NzIGxhbmd1YWdlcyBmaWxlIGZvciB0aGlzIHByb2plY3QuICBJZiB5b3UgY2hhbmdlCisjIGFueXRoaW5nIGhlcmUsIGl0IHdpbGwgYXBwbHkgdG8gVEhJUyBQUk9KRUNUIE9OTFkuICBJZiB5b3UnZCBsaWtlIHRvIGNoYW5nZQorIyBzb21ldGhpbmcgZm9yIGFsbCB5b3VyIHByb2plY3RzLCBlZGl0IHRoZSBMYW5ndWFnZXMudHh0IGluIE5hdHVyYWwgRG9jcycKKyMgQ29uZmlnIGRpcmVjdG9yeSBpbnN0ZWFkLgorCisKK0lnbm9yZSBFeHRlbnNpb25zOiBjYyBjIGNwcCBoaCBoIG8gc2ggY3NoIHR4dCBwbCBwbSBweQorCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFNZTlRBWDoKKyMKKyMgVW5saWtlIG90aGVyIE5hdHVyYWwgRG9jcyBjb25maWd1cmF0aW9uIGZpbGVzLCBpbiB0aGlzIGZpbGUgYWxsIGNvbW1lbnRzCisjIE1VU1QgYmUgYWxvbmUgb24gYSBsaW5lLiAgU29tZSBsYW5ndWFnZXMgZGVhbCB3aXRoIHRoZSAjIGNoYXJhY3Rlciwgc28geW91CisjIGNhbm5vdCBwdXQgY29tbWVudHMgb24gdGhlIHNhbWUgbGluZSBhcyBjb250ZW50LgorIworIyBBbHNvLCBhbGwgbGlzdHMgYXJlIHNlcGFyYXRlZCB3aXRoIHNwYWNlcywgbm90IGNvbW1hcywgYWdhaW4gYmVjYXVzZSBzb21lCisjIGxhbmd1YWdlcyBtYXkgbmVlZCB0byB1c2UgdGhlbS4KKyMKKyMgTGFuZ3VhZ2U6IFtuYW1lXQorIyBBbHRlciBMYW5ndWFnZTogW25hbWVdCisjICAgIERlZmluZXMgYSBuZXcgbGFuZ3VhZ2Ugb3IgYWx0ZXJzIGFuIGV4aXN0aW5nIG9uZS4gIEl0cyBuYW1lIGNhbiB1c2UgYW55CisjICAgIGNoYXJhY3RlcnMuICBJZiBhbnkgb2YgdGhlIHByb3BlcnRpZXMgYmVsb3cgaGF2ZSBhbiBhZGQvcmVwbGFjZSBmb3JtLCB5b3UKKyMgICAgbXVzdCB1c2UgdGhhdCB3aGVuIHVzaW5nIEFsdGVyIExhbmd1YWdlLgorIworIyAgICBUaGUgbGFuZ3VhZ2UgU2hlYmFuZyBTY3JpcHQgaXMgc3BlY2lhbC4gIEl0J3MgZW50cnkgaXMgb25seSB1c2VkIGZvcgorIyAgICBleHRlbnNpb25zLCBhbmQgZmlsZXMgd2l0aCB0aG9zZSBleHRlbnNpb25zIGhhdmUgdGhlaXIgc2hlYmFuZyAoIyEpIGxpbmVzCisjICAgIHJlYWQgdG8gZGV0ZXJtaW5lIHRoZSByZWFsIGxhbmd1YWdlIG9mIHRoZSBmaWxlLiAgRXh0ZW5zaW9ubGVzcyBmaWxlcyBhcmUKKyMgICAgYWx3YXlzIHRyZWF0ZWQgdGhpcyB3YXkuCisjCisjICAgIFRoZSBsYW5ndWFnZSBUZXh0IEZpbGUgaXMgYWxzbyBzcGVjaWFsLiAgSXQncyB0cmVhdGVkIGFzIG9uZSBiaWcgY29tbWVudAorIyAgICBzbyB5b3UgY2FuIHB1dCBOYXR1cmFsIERvY3MgY29udGVudCBpbiB0aGVtIHdpdGhvdXQgc3BlY2lhbCBzeW1ib2xzLiAgQWxzbywKKyMgICAgaWYgeW91IGRvbid0IHNwZWNpZnkgYSBwYWNrYWdlIHNlcGFyYXRvciwgaWdub3JlZCBwcmVmaXhlcywgb3IgZW51bSB2YWx1ZQorIyAgICBiZWhhdmlvciwgaXQgd2lsbCBjb3B5IHRob3NlIHNldHRpbmdzIGZyb20gdGhlIGxhbmd1YWdlIHRoYXQgaXMgdXNlZCBtb3N0CisjICAgIGluIHRoZSBzb3VyY2UgdHJlZS4KKyMKKyMgRXh0ZW5zaW9uczogW2V4dGVuc2lvbl0gW2V4dGVuc2lvbl0gLi4uCisjIFtBZGQvUmVwbGFjZV0gRXh0ZW5zaW9uczogW2V4dGVuc2lvbl0gW2V4dGVuc2lvbl0gLi4uCisjICAgIERlZmluZXMgdGhlIGZpbGUgZXh0ZW5zaW9ucyBvZiB0aGUgbGFuZ3VhZ2UncyBzb3VyY2UgZmlsZXMuICBZb3UgY2FuCisjICAgIHJlZGVmaW5lIGV4dGVuc2lvbnMgZm91bmQgaW4gdGhlIG1haW4gbGFuZ3VhZ2VzIGZpbGUuICBZb3UgY2FuIHVzZSAqIHRvCisjICAgIG1lYW4gYW55IHVuZGVmaW5lZCBleHRlbnNpb24uCisjCisjIFNoZWJhbmcgU3RyaW5nczogW3N0cmluZ10gW3N0cmluZ10gLi4uCisjIFtBZGQvUmVwbGFjZV0gU2hlYmFuZyBTdHJpbmdzOiBbc3RyaW5nXSBbc3RyaW5nXSAuLi4KKyMgICAgRGVmaW5lcyBhIGxpc3Qgb2Ygc3RyaW5ncyB0aGF0IGNhbiBhcHBlYXIgaW4gdGhlIHNoZWJhbmcgKCMhKSBsaW5lIHRvCisjICAgIGRlc2lnbmF0ZSB0aGF0IGl0J3MgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuICBZb3UgY2FuIHJlZGVmaW5lIHN0cmluZ3MgZm91bmQKKyMgICAgaW4gdGhlIG1haW4gbGFuZ3VhZ2VzIGZpbGUuCisjCisjIElnbm9yZSBQcmVmaXhlcyBpbiBJbmRleDogW3ByZWZpeF0gW3ByZWZpeF0gLi4uCisjIFtBZGQvUmVwbGFjZV0gSWdub3JlZCBQcmVmaXhlcyBpbiBJbmRleDogW3ByZWZpeF0gW3ByZWZpeF0gLi4uCisjCisjIElnbm9yZSBbVG9waWMgVHlwZV0gUHJlZml4ZXMgaW4gSW5kZXg6IFtwcmVmaXhdIFtwcmVmaXhdIC4uLgorIyBbQWRkL1JlcGxhY2VdIElnbm9yZWQgW1RvcGljIFR5cGVdIFByZWZpeGVzIGluIEluZGV4OiBbcHJlZml4XSBbcHJlZml4XSAuLi4KKyMgICAgU3BlY2lmaWVzIHByZWZpeGVzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBzb3J0aW5nIHN5bWJvbHMgaW4gYW4KKyMgICAgaW5kZXguICBDYW4gYmUgc3BlY2lmaWVkIGluIGdlbmVyYWwgb3IgZm9yIGEgc3BlY2lmaWMgdG9waWMgdHlwZS4KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRm9yIGJhc2ljIGxhbmd1YWdlIHN1cHBvcnQgb25seToKKyMKKyMgTGluZSBDb21tZW50czogW3N5bWJvbF0gW3N5bWJvbF0gLi4uCisjICAgIERlZmluZXMgYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBzeW1ib2xzIHRoYXQgYXJlIHVzZWQgZm9yIGxpbmUgY29tbWVudHMsCisjICAgIGlmIGFueS4KKyMKKyMgQmxvY2sgQ29tbWVudHM6IFtvcGVuaW5nIHN5bV0gW2Nsb3Npbmcgc3ltXSBbb3BlbmluZyBzeW1dIFtjbG9zaW5nIHN5bV0gLi4uCisjICAgIERlZmluZXMgYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBzeW1ib2wgcGFpcnMgdGhhdCBhcmUgdXNlZCBmb3IgYmxvY2sKKyMgICAgY29tbWVudHMsIGlmIGFueS4KKyMKKyMgUGFja2FnZSBTZXBhcmF0b3I6IFtzeW1ib2xdCisjICAgIERlZmluZXMgdGhlIGRlZmF1bHQgcGFja2FnZSBzZXBhcmF0b3Igc3ltYm9sLiAgVGhlIGRlZmF1bHQgaXMgYSBkb3QuCisjCisjIFtUb3BpYyBUeXBlXSBQcm90b3R5cGUgRW5kZXJzOiBbc3ltYm9sXSBbc3ltYm9sXSAuLi4KKyMgICAgV2hlbiBkZWZpbmVkLCBOYXR1cmFsIERvY3Mgd2lsbCBhdHRlbXB0IHRvIGdldCBhIHByb3RvdHlwZSBmcm9tIHRoZSBjb2RlCisjICAgIGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUgdG9waWMgdHlwZS4gIEl0IHN0b3BzIHdoZW4gaXQgcmVhY2hlcyBvbmUgb2YKKyMgICAgdGhlc2Ugc3ltYm9scy4gIFVzZSBcbiBmb3IgbGluZSBicmVha3MuCisjCisjIExpbmUgRXh0ZW5kZXI6IFtzeW1ib2xdCisjICAgIERlZmluZXMgdGhlIHN5bWJvbCB0aGF0IGFsbG93cyBhIHByb3RvdHlwZSB0byBzcGFuIG11bHRpcGxlIGxpbmVzIGlmCisjICAgIG5vcm1hbGx5IGEgbGluZSBicmVhayB3b3VsZCBlbmQgaXQuCisjCisjIEVudW0gVmFsdWVzOiBbZ2xvYmFsfHVuZGVyIHR5cGV8dW5kZXIgcGFyZW50XQorIyAgICBEZWZpbmVzIGhvdyBlbnVtIHZhbHVlcyBhcmUgcmVmZXJlbmNlZC4gIFRoZSBkZWZhdWx0IGlzIGdsb2JhbC4KKyMgICAgZ2xvYmFsICAgICAgIC0gVmFsdWVzIGFyZSBhbHdheXMgZ2xvYmFsLCByZWZlcmVuY2VkIGFzICd2YWx1ZScuCisjICAgIHVuZGVyIHR5cGUgICAtIFZhbHVlcyBhcmUgdW5kZXIgdGhlIGVudW0gdHlwZSwgcmVmZXJlbmNlZCBhcworIyAgICAgICAgICAgICAgICdwYWNrYWdlLmVudW0udmFsdWUnLgorIyAgICB1bmRlciBwYXJlbnQgLSBWYWx1ZXMgYXJlIHVuZGVyIHRoZSBlbnVtJ3MgcGFyZW50LCByZWZlcmVuY2VkIGFzCisjICAgICAgICAgICAgICAgJ3BhY2thZ2UudmFsdWUnLgorIworIyBQZXJsIFBhY2thZ2U6IFtwZXJsIHBhY2thZ2VdCisjICAgIFNwZWNpZmllcyB0aGUgUGVybCBwYWNrYWdlIHVzZWQgdG8gZmluZS10dW5lIHRoZSBsYW5ndWFnZSBiZWhhdmlvciBpbiB3YXlzCisjICAgIHRvbyBjb21wbGV4IHRvIGRvIGluIHRoaXMgZmlsZS4KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRm9yIGZ1bGwgbGFuZ3VhZ2Ugc3VwcG9ydCBvbmx5OgorIworIyBGdWxsIExhbmd1YWdlIFN1cHBvcnQ6IFtwZXJsIHBhY2thZ2VdCisjICAgIFNwZWNpZmllcyB0aGUgUGVybCBwYWNrYWdlIHRoYXQgaGFzIHRoZSBwYXJzaW5nIHJvdXRpbmVzIG5lY2Vzc2FyeSBmb3IgZnVsbAorIyAgICBsYW5ndWFnZSBzdXBwb3J0LgorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBUaGUgZm9sbG93aW5nIGxhbmd1YWdlcyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFpbiBmaWxlLCBpZiB5b3UnZCBsaWtlIHRvIGFsdGVyCisjIHRoZW06CisjCisjICAgIFRleHQgRmlsZSwgU2hlYmFuZyBTY3JpcHQsIEMvQysrLCBDIywgSmF2YSwgSmF2YVNjcmlwdCwgUGVybCwgUHl0aG9uLAorIyAgICBQSFAsIFNRTCwgVmlzdWFsIEJhc2ljLCBQYXNjYWwsIEFzc2VtYmx5LCBBZGEsIFRjbCwgUnVieSwgTWFrZWZpbGUsCisjICAgIEFjdGlvblNjcmlwdCwgQ29sZEZ1c2lvbiwgUiwgRm9ydHJhbgorCisjIElmIHlvdSBhZGQgYSBsYW5ndWFnZSB0aGF0IHlvdSB0aGluayB3b3VsZCBiZSB1c2VmdWwgdG8gb3RoZXIgZGV2ZWxvcGVycworIyBhbmQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIE5hdHVyYWwgRG9jcyBieSBkZWZhdWx0LCBwbGVhc2UgZS1tYWlsIGl0IHRvCisjIGxhbmd1YWdlcyBbYXRdIG5hdHVyYWxkb2NzIFtkb3RdIG9yZy4KKworCitMYW5ndWFnZTogVFRDTjMKKworICAgRXh0ZW5zaW9uczogdHRjbiB0dGNuaW4gdHRjbnBwCisgICBMaW5lIENvbW1lbnQ6IC8vCisgICBCbG9jayBDb21tZW50OiAvKiAqLworICAgRnVuY3Rpb24gUHJvdG90eXBlIEVuZGVyczogOyB7CisgICBWYXJpYWJsZSBQcm90b3R5cGUgRW5kZXJzOiA7ID0KKyAgIFR5cGUgUHJvdG90eXBlIEVuZGVyczogOyBcbgorICAgQ29uc3RhbnQgUHJvdG90eXBlIEVuZGVyczogOyB9CisgICBBbHRzdGVwIFByb3RvdHlwZSBFbmRlcnM6IDsgeworICAgQ29tcG9uZW50IFByb3RvdHlwZSBFbmRlcnM6IDsgeworICAgVGVtcGxhdGUgUHJvdG90eXBlIEVuZGVyczogOj0gewpkaWZmIC0tZ2l0IGEvYXBpZG9jL01lbnUudHh0IGIvYXBpZG9jL01lbnUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNDMyMTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvTWVudS50eHQKQEAgLTAsMCArMSw1OCBAQAorRm9ybWF0OiAxLjUyCisKKworVGl0bGU6IElvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrCitTdWJUaXRsZTogQVBJIERvY3VtZW50YXRpb24KKworRm9vdGVyOiBDb3B5cmlnaHQgMjAyMCBUZXN0IENvbXBldGVuY2UgQ2VudGVyCitUaW1lc3RhbXA6IEdlbmVyYXRlZCBvbiB5eXl5LW1tLWRkCisjICAgbSAgICAgLSBPbmUgb3IgdHdvIGRpZ2l0IG1vbnRoLiAgSmFudWFyeSBpcyAiMSIKKyMgICBtbSAgICAtIEFsd2F5cyB0d28gZGlnaXQgbW9udGguICBKYW51YXJ5IGlzICIwMSIKKyMgICBtb24gICAtIFNob3J0IG1vbnRoIHdvcmQuICBKYW51YXJ5IGlzICJKYW4iCisjICAgbW9udGggLSBMb25nIG1vbnRoIHdvcmQuICBKYW51YXJ5IGlzICJKYW51YXJ5IgorIyAgIGQgICAgIC0gT25lIG9yIHR3byBkaWdpdCBkYXkuICAxIGlzICIxIgorIyAgIGRkICAgIC0gQWx3YXlzIHR3byBkaWdpdCBkYXkuICAxIGlzICIwMSIKKyMgICBkYXkgICAtIERheSB3aXRoIGxldHRlciBleHRlbnNpb24uICAxIGlzICIxc3QiCisjICAgeXkgICAgLSBUd28gZGlnaXQgeWVhci4gIDIwMDYgaXMgIjA2IgorIyAgIHl5eXkgIC0gRm91ciBkaWdpdCB5ZWFyLiAgMjAwNiBpcyAiMjAwNiIKKyMgICB5ZWFyICAtIEZvdXIgZGlnaXQgeWVhci4gIDIwMDYgaXMgIjIwMDYiCisKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAKKyMgQ3V0IGFuZCBwYXN0ZSB0aGUgbGluZXMgYmVsb3cgdG8gY2hhbmdlIHRoZSBvcmRlciBpbiB3aGljaCB5b3VyIGZpbGVzCisjIGFwcGVhciBvbiB0aGUgbWVudS4gIERvbid0IHdvcnJ5IGFib3V0IGFkZGluZyBvciByZW1vdmluZyBmaWxlcywgTmF0dXJhbAorIyBEb2NzIHdpbGwgdGFrZSBjYXJlIG9mIHRoYXQuCisjIAorIyBZb3UgY2FuIGZ1cnRoZXIgb3JnYW5pemUgdGhlIG1lbnUgYnkgZ3JvdXBpbmcgdGhlIGVudHJpZXMuICBBZGQgYQorIyAiR3JvdXA6IFtuYW1lXSB7IiBsaW5lIHRvIHN0YXJ0IGEgZ3JvdXAsIGFuZCBhZGQgYSAifSIgdG8gZW5kIGl0LgorIyAKKyMgWW91IGNhbiBhZGQgdGV4dCBhbmQgd2ViIGxpbmtzIHRvIHRoZSBtZW51IGJ5IGFkZGluZyAiVGV4dDogW3RleHRdIiBhbmQKKyMgIkxpbms6IFtuYW1lXSAoW1VSTF0pIiBsaW5lcywgcmVzcGVjdGl2ZWx5LgorIyAKKyMgVGhlIGZvcm1hdHRpbmcgYW5kIGNvbW1lbnRzIGFyZSBhdXRvLWdlbmVyYXRlZCwgc28gZG9uJ3Qgd29ycnkgYWJvdXQKKyMgbmVhdG5lc3Mgd2hlbiBlZGl0aW5nIHRoZSBmaWxlLiAgTmF0dXJhbCBEb2NzIHdpbGwgY2xlYW4gaXQgdXAgdGhlIG5leHQKKyMgdGltZSBpdCBpcyBydW4uICBXaGVuIHdvcmtpbmcgd2l0aCBncm91cHMsIGp1c3QgZGVhbCB3aXRoIHRoZSBicmFjZXMgYW5kCisjIGZvcmdldCBhYm91dCB0aGUgaW5kZW50YXRpb24gYW5kIGNvbW1lbnRzLgorIyAKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCitGaWxlOiBJbmZsdXhEQl9EZWZpbml0aW9ucy50dGNuICAoSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbikKK0ZpbGU6IEluZmx1eERCX0Z1bmN0aW9ucy50dGNuICAoSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24pCitGaWxlOiBJT1RfQXBwX0RlZmluaXRpb25zICAoSU9UX0FwcF9EZWZpbml0aW9ucy50dGNuKQorRmlsZTogSU9UX0FwcF9GdW5jdGlvbnMgIChJT1RfQXBwX0Z1bmN0aW9ucy50dGNuKQorRmlsZTogSU9UX0xHZW5fRGVmaW5pdGlvbnMgIChJT1RfTEdlbl9EZWZpbml0aW9ucy50dGNuKQorRmlsZTogSU9UX0xHZW5fRnVuY3Rpb25zICAoSU9UX0xHZW5fRnVuY3Rpb25zLnR0Y24pCitGaWxlOiBJT1RfTEdlbl9TdGVwcyAgKElPVF9MR2VuX1N0ZXBzLnR0Y24pCisKK0dyb3VwOiBJbmRleCAgeworCisgICBDb25zdGFudCBJbmRleDogQ29uc3RhbnRzCisgICBJbmRleDogRXZlcnl0aGluZworICAgRmlsZSBJbmRleDogRmlsZXMKKyAgIEZ1bmN0aW9uIEluZGV4OiBGdW5jdGlvbnMKKyAgIE1vZHVsZSBQYXJhbWV0ZXIgSW5kZXg6IE1vZHVsZSBQYXJhbWV0ZXJzCisgICBUeXBlIEluZGV4OiBUeXBlcworICAgfSAgIyBHcm91cDogSW5kZXgKKwpkaWZmIC0tZ2l0IGEvYXBpZG9jL1RvcGljcy50eHQgYi9hcGlkb2MvVG9waWNzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NWUyNjc2Ci0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL1RvcGljcy50eHQKQEAgLTAsMCArMSwxNjQgQEAKK0Zvcm1hdDogMS41MgorCisjIFRoaXMgaXMgdGhlIE5hdHVyYWwgRG9jcyB0b3BpY3MgZmlsZSBmb3IgdGhpcyBwcm9qZWN0LiAgSWYgeW91IGNoYW5nZSBhbnl0aGluZworIyBoZXJlLCBpdCB3aWxsIGFwcGx5IHRvIFRISVMgUFJPSkVDVCBPTkxZLiAgSWYgeW91J2QgbGlrZSB0byBjaGFuZ2Ugc29tZXRoaW5nCisjIGZvciBhbGwgeW91ciBwcm9qZWN0cywgZWRpdCB0aGUgVG9waWNzLnR4dCBpbiBOYXR1cmFsIERvY3MnIENvbmZpZyBkaXJlY3RvcnkKKyMgaW5zdGVhZC4KKworCitJZ25vcmUgS2V5d29yZHM6IAorICAgbm90ZSwgbm90ZXMKKworCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBTWU5UQVg6CisjCisjIFRvcGljIFR5cGU6IFtuYW1lXQorIyBBbHRlciBUb3BpYyBUeXBlOiBbbmFtZV0KKyMgICAgQ3JlYXRlcyBhIG5ldyB0b3BpYyB0eXBlIG9yIGFsdGVycyBvbmUgZnJvbSB0aGUgbWFpbiBmaWxlLiAgRWFjaCB0eXBlIGdldHMKKyMgICAgaXRzIG93biBpbmRleCBhbmQgYmVoYXZpb3Igc2V0dGluZ3MuICBJdHMgbmFtZSBjYW4gaGF2ZSBsZXR0ZXJzLCBudW1iZXJzLAorIyAgICBzcGFjZXMsIGFuZCB0aGVzZSBjaGFyYXRlcnM6IC0gLyAuICcKKyMKKyMgUGx1cmFsOiBbbmFtZV0KKyMgICAgU2V0cyB0aGUgcGx1cmFsIG5hbWUgb2YgdGhlIHRvcGljIHR5cGUsIGlmIGRpZmZlcmVudC4KKyMKKyMgS2V5d29yZHM6CisjICAgIFtrZXl3b3JkXQorIyAgICBba2V5d29yZF0sIFtwbHVyYWwga2V5d29yZF0KKyMgICAgLi4uCisjICAgIERlZmluZXMgb3IgYWRkcyB0byB0aGUgbGlzdCBvZiBrZXl3b3JkcyBmb3IgdGhlIHRvcGljIHR5cGUuICBUaGV5IG1heSBvbmx5CisjICAgIGNvbnRhaW4gbGV0dGVycywgbnVtYmVycywgYW5kIHNwYWNlcyBhbmQgYXJlIG5vdCBjYXNlIHNlbnNpdGl2ZS4gIFBsdXJhbAorIyAgICBrZXl3b3JkcyBhcmUgdXNlZCBmb3IgbGlzdCB0b3BpY3MuICBZb3UgY2FuIHJlZGVmaW5lIGtleXdvcmRzIGZvdW5kIGluIHRoZQorIyAgICBtYWluIHRvcGljcyBmaWxlLgorIworIyBJbmRleDogW3llc3xub10KKyMgICAgV2hldGhlciB0aGUgdG9waWNzIGdldCB0aGVpciBvd24gaW5kZXguICBEZWZhdWx0cyB0byB5ZXMuICBFdmVyeXRoaW5nIGlzCisjICAgIGluY2x1ZGVkIGluIHRoZSBnZW5lcmFsIGluZGV4IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLgorIworIyBTY29wZTogW25vcm1hbHxzdGFydHxlbmR8YWx3YXlzIGdsb2JhbF0KKyMgICAgSG93IHRoZSB0b3BpY3MgYWZmZWN0cyBzY29wZS4gIERlZmF1bHRzIHRvIG5vcm1hbC4KKyMgICAgbm9ybWFsICAgICAgICAtIFRvcGljcyBzdGF5IHdpdGhpbiB0aGUgY3VycmVudCBzY29wZS4KKyMgICAgc3RhcnQgICAgICAgICAtIFRvcGljcyBzdGFydCBhIG5ldyBzY29wZSBmb3IgYWxsIHRoZSB0b3BpY3MgYmVuZWF0aCBpdCwKKyMgICAgICAgICAgICAgICAgICAgIGxpa2UgY2xhc3MgdG9waWNzLgorIyAgICBlbmQgICAgICAgICAgIC0gVG9waWNzIHJlc2V0IHRoZSBzY29wZSBiYWNrIHRvIGdsb2JhbCBmb3IgYWxsIHRoZSB0b3BpY3MKKyMgICAgICAgICAgICAgICAgICAgIGJlbmVhdGggaXQuCisjICAgIGFsd2F5cyBnbG9iYWwgLSBUb3BpY3MgYXJlIGRlZmluZWQgYXMgZ2xvYmFsLCBidXQgZG8gbm90IGNoYW5nZSB0aGUgc2NvcGUKKyMgICAgICAgICAgICAgICAgICAgIGZvciBhbnkgb3RoZXIgdG9waWNzLgorIworIyBDbGFzcyBIaWVyYXJjaHk6IFt5ZXN8bm9dCisjICAgIFdoZXRoZXIgdGhlIHRvcGljcyBhcmUgcGFydCBvZiB0aGUgY2xhc3MgaGllcmFyY2h5LiAgRGVmYXVsdHMgdG8gbm8uCisjCisjIFBhZ2UgVGl0bGUgSWYgRmlyc3Q6IFt5ZXN8bm9dCisjICAgIFdoZXRoZXIgdGhlIHRvcGljJ3MgdGl0bGUgYmVjb21lcyB0aGUgcGFnZSB0aXRsZSBpZiBpdCdzIHRoZSBmaXJzdCBvbmUgaW4KKyMgICAgYSBmaWxlLiAgRGVmYXVsdHMgdG8gbm8uCisjCisjIEJyZWFrIExpc3RzOiBbeWVzfG5vXQorIyAgICBXaGV0aGVyIGxpc3QgdG9waWNzIHNob3VsZCBiZSBicm9rZW4gaW50byBpbmRpdmlkdWFsIHRvcGljcyBpbiB0aGUgb3V0cHV0LgorIyAgICBEZWZhdWx0cyB0byBuby4KKyMKKyMgQ2FuIEdyb3VwIFdpdGg6IFt0eXBlXSwgW3R5cGVdLCAuLi4KKyMgICAgRGVmaW5lcyBhIGxpc3Qgb2YgdG9waWMgdHlwZXMgdGhhdCB0aGlzIG9uZSBjYW4gcG9zc2libHkgYmUgZ3JvdXBlZCB3aXRoLgorIyAgICBEZWZhdWx0cyB0byBub25lLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBUaGUgZm9sbG93aW5nIHRvcGljcyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFpbiBmaWxlLCBpZiB5b3UnZCBsaWtlIHRvIGFsdGVyCisjIHRoZWlyIGJlaGF2aW9yIG9yIGFkZCBrZXl3b3JkczoKKyMKKyMgICAgR2VuZXJpYywgQ2xhc3MsIEludGVyZmFjZSwgU2VjdGlvbiwgRmlsZSwgR3JvdXAsIEZ1bmN0aW9uLCBWYXJpYWJsZSwKKyMgICAgUHJvcGVydHksIFR5cGUsIENvbnN0YW50LCBFbnVtZXJhdGlvbiwgRXZlbnQsIERlbGVnYXRlLCBNYWNybywKKyMgICAgRGF0YWJhc2UsIERhdGFiYXNlIFRhYmxlLCBEYXRhYmFzZSBWaWV3LCBEYXRhYmFzZSBJbmRleCwgRGF0YWJhc2UKKyMgICAgQ3Vyc29yLCBEYXRhYmFzZSBUcmlnZ2VyLCBDb29raWUsIEJ1aWxkIFRhcmdldAorCisjIElmIHlvdSBhZGQgc29tZXRoaW5nIHRoYXQgeW91IHRoaW5rIHdvdWxkIGJlIHVzZWZ1bCB0byBvdGhlciBkZXZlbG9wZXJzCisjIGFuZCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gTmF0dXJhbCBEb2NzIGJ5IGRlZmF1bHQsIHBsZWFzZSBlLW1haWwgaXQgdG8KKyMgdG9waWNzIFthdF0gbmF0dXJhbGRvY3MgW2RvdF0gb3JnLgorCisKK0FsdGVyIFRvcGljIFR5cGU6IEZ1bmN0aW9uCisKKyAgIEluZGV4OiBZZXMKKworCitBbHRlciBUb3BpYyBUeXBlOiBDb25zdGFudAorCisgICBJbmRleDogWWVzCisKKworQWx0ZXIgVG9waWMgVHlwZTogVHlwZQorCisgICBJbmRleDogWWVzCisKKworVG9waWMgVHlwZTogTW9kdWxlIFBhcmFtZXRlcgorCisgICBQbHVyYWw6IE1vZHVsZSBQYXJhbWV0ZXJzCisgICBJbmRleDogWWVzCisKKyAgIEtleXdvcmRzOgorICAgICAgbW9kdWxlIHBhcmFtZXRlciwgbW9kdWxlIHBhcmFtZXRlcnMKKworCitUb3BpYyBUeXBlOiBDb25maWd1cmF0aW9uIFR5cGUKKworICAgUGx1cmFsOiBDb25maWd1cmF0aW9uIFR5cGVzCisgICBJbmRleDogWWVzCisgICBDYW4gR3JvdXAgV2l0aDogVHlwZXMKKworICAgS2V5d29yZHM6CisgICAgICBjb25maWd0eXBlLCBjb25maWd0eXBlcworCisKK1RvcGljIFR5cGU6IFRlc3RjYXNlCisKKyAgIFBsdXJhbDogVGVzdGNhc2VzCisgICBJbmRleDogTm8KKworICAgS2V5d29yZHM6CisgICAgICB0ZXN0Y2FzZSwgdGVzdGNhc2VzCisKKworVG9waWMgVHlwZTogQWx0c3RlcAorCisgICBQbHVyYWw6IEFsdHN0ZXBzCisgICBJbmRleDogTm8KKworICAgS2V5d29yZHM6CisgICAgICBhbHRzdGVwLCBhbHRzdGVwcworCisKK1RvcGljIFR5cGU6IFRlbXBsYXRlCisKKyAgIFBsdXJhbDogVGVtcGxhdGVzCisgICBJbmRleDogTm8KKworICAgS2V5d29yZHM6CisgICAgICB0ZW1wbGF0ZSwgdGVtcGxhdGVzCisKKworQWx0ZXIgVG9waWMgVHlwZTogR3JvdXAKKworICAgUGx1cmFsOiBHcm91cHMKKyAgIEluZGV4OiBObworCisgICBBZGQgS2V5d29yZHM6CisgICAgICBncm91cAorCisKK0FsdGVyIFRvcGljIFR5cGU6IEdlbmVyaWMKKworCisKK0FsdGVyIFRvcGljIFR5cGU6IEZpbGUKKworICAgSW5kZXg6IFllcworICAgQWRkIEtleXdvcmRzOgorICAgICAgbW9kdWxlCisKKworVG9waWMgVHlwZTogQ29tcG9uZW50CisKKyAgIFBsdXJhbDogQ29tcG9uZW50cworICAgSW5kZXg6IE5vCisKKyAgIEtleXdvcmRzOgorICAgICAgY29tcG9uZW50LCBjb21wb25lbnRzCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCBiL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MGRiNzAKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklPVF9BcHBfRGVmaW5pdGlvbnMgLSBJb1RfTG9hZF9UZXN0X0ZyYW1ld29yazwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvcHJldHRpZnkuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkQ29udGVudFBhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKTtwcmV0dHlQcmludCgpOyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1Db250ZW50PjxkaXYgY2xhc3M9IkNGaWxlIj48ZGl2IGNsYXNzPUNUb3BpYyBpZD1NYWluVG9waWM+PGgxIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJJT1RfQXBwX0RlZmluaXRpb25zIj48L2E+SU9UX0FwcF9EZWZpbml0aW9uczwvaDE+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkRldGFpbGVkIGNvbW1lbnRzPC9oND48cD5SSW9UIGlzIGEgbG9hZCBnZW5lcmF0b3IgYnVpbHQgb24gdG9wIG9mIHRoZSBUaXRhblNpbSBsb2FkIGdlbmVyYXRvciBmcmFtZXdvcmsuJm5ic3A7IEl0IGlzIGNhcGFibGUgb2Ygc2ltdWxhdGluZyBkZXZpY2VzIHVzaW5nIHNvbWUgSW9UIHByb3RvY29scyAoQ29BUCwgTHdNMk0sIE1RVFQsIEhUVFApLiZuYnNwOyBSSW9UIChhbmQgdGhlIFRpdGFuU2ltIGZyYW1ld29yaykgd2FzIGNyZWF0ZWQgdG8gc3VwcG9ydCBub24tZnVuY3Rpb25hbCB0ZXN0cywgd2hlcmUgbG9hZCBnZW5lcmF0aW9uIGlzIHJlcXVpcmVkIGxpa2UgcGVyZm9ybWFuY2UsIHN0YWJpbGl0eSwgc2NhbGFiaWxpdHkuPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5Nb2R1bGUgZGVwZW5kcyBvbjwvaDQ+PHVsPjxsaT4mbHQ7RVBURl9DTExfQmFzZV9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRHNSZXN0QVBJX0RlZmluaXRpb25zJmd0OzwvbGk+PC91bD48aDQgY2xhc3M9Q0hlYWRpbmc+TW9kdWxlIFBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3M8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjdHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlQWRkcmVzcyIgY2xhc3M9TE1vZHVsZVBhcmFtZXRlciBpZD1saW5rMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlQWRkcmVzczwvYT4gLSA8Yj5jaGFyc3RyaW5nPC9iPiAtIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBSRVNUIEFQSSBzZXJ2ZXI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVQb3J0PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQiIGNsYXNzPUxNb2R1bGVQYXJhbWV0ZXIgaWQ9bGluazMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMnLCAnbGluazMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzJykiPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQ8L2E+IC0gPGI+Y2hhcnN0cmluZzwvYj4gLSB0aGUgcG9ydCBudW1iZXIgb2YgdGhlIFJFU1QgQVBJIHNlcnZlcjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX2RpcmVjdG9yeTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3RvcnkiIGNsYXNzPUxNb2R1bGVQYXJhbWV0ZXIgaWQ9bGluazQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX2RpcmVjdG9yeTwvYT4gLSA8Yj5jaGFyc3RyaW5nPC9iPiAtIHRoZSBwYXRoIG9mIFJFU1QgQVBJIEhUVFAgc2VydmVyIGRpcmVjdG9yeTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnRzcF9FUFRGX0RzUmVzdEFQSV9jdXN0b21pemFibGVBcHBfZGlyZWN0b3J5PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI3RzcF9FUFRGX0RzUmVzdEFQSV9jdXN0b21pemFibGVBcHBfZGlyZWN0b3J5IiBjbGFzcz1MTW9kdWxlUGFyYW1ldGVyIGlkPWxpbms1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbms1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NScpIj50c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeTwvYT4gLSA8Yj5jaGFyc3RyaW5nPC9iPiAtIHRoZSBwYXRoIG9mIHRoZSBSRVNUIEFQSSBjdXN0b21pemFibGVBcHAgZGlyZWN0b3J5PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3Rvcnk8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjdHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3RvcnkiIGNsYXNzPUxNb2R1bGVQYXJhbWV0ZXIgaWQ9bGluazYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDYnLCAnbGluazYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2JykiPnRzcF9FUFRGX0RzUmVzdEFQSV9BUElfZGlyZWN0b3J5PC9hPiAtIDxiPmNoYXJzdHJpbmc8L2I+IC0gdGhlIHBhdGggb2YgRHNSZXN0QVBJIEFQSSBkaXJlY3Rvcnk8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+Q29uZmlndXJhdGlvbjwvaDQ+PHVsPjxsaT4mbHQ7dHNwX0VQVEZfRXhlY0N0cmxfTEdlblBvb2xfRGVjbGFyYXRvcnMmZ3Q7PC9saT48bGk+Jmx0O3RzcF9FUFRGX0V4ZWNDdHJsX0VudGl0eUdyb3VwMkxHZW5Qb29sX0xpc3QmZ3Q7PC9saT48bGk+Jmx0O3RzcF9MR2VuQmFzZV9FbnRpdHlHcnBEZWNsYXJhdG9ycyZndDs8L2xpPjxsaT4mbHQ7dHNwX0VQVEZfRXhlY0N0cmxfU2NlbmFyaW8yRW50aXR5R3JvdXBMaXN0Jmd0OzwvbGk+PGxpPiZsdDt0c3BfTEdlbkJhc2VfVGNNZ210X1NjZW5hcmlvRGVjbGFyYXRvcnMzJmd0OzwvbGk+PGxpPiZsdDt0c3BfTEdlbkJhc2VfVGNNZ210X3RjVHlwZURlY2xhcmF0b3JzMiZndDs8L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0lPVF9MR2VuX0ZTTXMiIGNsYXNzPUxNb2R1bGVQYXJhbWV0ZXIgaWQ9bGluazcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcnLCAnbGluazcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3JykiPnRzcF9JT1RfTEdlbl9GU01zPC9hPjwvbGk+PC91bD48aDQgY2xhc3M9Q0hlYWRpbmc+Q29tcG9uZW50IERpYWdyYW08L2g0PjxwPihzZWUgSU9UX0FwcF9EZWZpbml0aW9ucy5jb21wb25lbnRzLmpwZyk8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI0lPVF9BcHBfQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxJywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MScpIj5JT1RfQXBwX0NUPC9hPjwvbGk+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgnLCAnbGluazknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ4JykiPklPVF9MR2VuX0NUPC9hPjwvbGk+PGxpPiZsdDtFUFRGX0V4ZWNDdHJsX0NUJmd0OzwvbGk+PC91bD48IS0tU1RBUlRfTkRfU1VNTUFSWS0tPjxkaXYgY2xhc3M9U3VtbWFyeT48ZGl2IGNsYXNzPVNUaXRsZT5TdW1tYXJ5PC9kaXY+PGRpdiBjbGFzcz1TQm9yZGVyPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9U1RhYmxlPjx0ciBjbGFzcz0iU01haW4iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI0lPVF9BcHBfRGVmaW5pdGlvbnMiID5JT1RfQXBwX0RlZmluaXRpb25zPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UaGlzIG1vZHVsZSBjb250YWlucyB0aGUgZGVmaW5pdGlvbnMgZm9yIFJJb1QmcnNxdW87cyBtYWluIGNvbXBvbmVudDwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlQWRkcmVzcyIgPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3M8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPklQIGFkZHJlc3Mgb2YgdGhlIFJFU1QgQVBJIHNlcnZlcjwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQiID50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVQb3J0PC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5Qb3J0IG51bWJlciBvZiB0aGUgUkVTVCBBUEkgc2VydmVyPC90ZD48L3RyPjx0ciBjbGFzcz0iU01vZHVsZVBhcmFtZXRlciBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3RvcnkiID50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3Rvcnk8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlBhdGggb2YgUkVTVCBBUEkgSFRUUCBzZXJ2ZXIgZGlyZWN0b3J5PC90ZD48L3RyPjx0ciBjbGFzcz0iU01vZHVsZVBhcmFtZXRlciI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0VQVEZfRHNSZXN0QVBJX2N1c3RvbWl6YWJsZUFwcF9kaXJlY3RvcnkiID50c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+UGF0aCBvZiB0aGUgUkVTVCBBUEkgY3VzdG9taXphYmxlQXBwIGRpcmVjdG9yeTwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3RvcnkiID50c3BfRVBURl9Ec1Jlc3RBUElfQVBJX2RpcmVjdG9yeTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+UGF0aCBvZiBEc1Jlc3RBUEkgQVBJIGRpcmVjdG9yeTwvdGQ+PC90cj48dHIgY2xhc3M9IlNUeXBlIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNJT1RfQXBwX0NUIiBpZD1saW5rMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MScsICdsaW5rMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSI+SU9UX0FwcF9DVDwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+UklvVCBhcHBsaWNhdGlvbiZyc3F1bztzIG1haW4gY29tcG9uZW50IHByb3ZpZGluZyBhIFJFU1QgQVBJIHRvIHRoZSBlbnZpcm9ubWVudDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfU1VNTUFSWS0tPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDTW9kdWxlUGFyYW1ldGVyIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9InRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3MiPjwvYT50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVBZGRyZXNzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5JUCBhZGRyZXNzIG9mIHRoZSBSRVNUIEFQSSBzZXJ2ZXI8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlR5cGU8L2g0PjxwPjxiPmNoYXJzdHJpbmc8L2I+PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5EZWZhdWx0IHZhbHVlPC9oND48cD48Yj4mcmRxdW87MTI3LjAuMC4xJnJkcXVvOzwvYj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNNb2R1bGVQYXJhbWV0ZXIiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0idHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlUG9ydCI+PC9hPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQ8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlBvcnQgbnVtYmVyIG9mIHRoZSBSRVNUIEFQSSBzZXJ2ZXI8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlR5cGU8L2g0PjxwPjxiPmludGVnZXI8L2I+PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5EZWZhdWx0IHZhbHVlPC9oND48cD48Yj40MDQwPC9iPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ01vZHVsZVBhcmFtZXRlciI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJ0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3RvcnkiPjwvYT50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3Rvcnk8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlBhdGggb2YgUkVTVCBBUEkgSFRUUCBzZXJ2ZXIgZGlyZWN0b3J5PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5UeXBlPC9oND48cD48Yj5jaGFyc3RyaW5nPC9iPjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+RGVmYXVsdCB2YWx1ZTwvaDQ+PHA+PGI+JnJkcXVvOy4vV2ViR1VJL1dlYkdVSV9saW5rLyZyZHF1bzs8L2I+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDTW9kdWxlUGFyYW1ldGVyIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9InRzcF9FUFRGX0RzUmVzdEFQSV9jdXN0b21pemFibGVBcHBfZGlyZWN0b3J5Ij48L2E+dHNwX0VQVEZfRHNSZXN0QVBJX2N1c3RvbWl6YWJsZUFwcF9kaXJlY3Rvcnk8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlBhdGggb2YgdGhlIFJFU1QgQVBJIGN1c3RvbWl6YWJsZUFwcCBkaXJlY3Rvcnk8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlR5cGU8L2g0PjxwPjxiPmNoYXJzdHJpbmc8L2I+PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5EZWZhdWx0IHZhbHVlPC9oND48cD48Yj4mcmRxdW87Li9XZWJHVUkvR1VJQ3VzdG9taXphdGlvbl9saW5rJnJkcXVvOzwvYj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNNb2R1bGVQYXJhbWV0ZXIiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0idHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3RvcnkiPjwvYT50c3BfRVBURl9Ec1Jlc3RBUElfQVBJX2RpcmVjdG9yeTwvaDM+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+UGF0aCBvZiBEc1Jlc3RBUEkgQVBJIGRpcmVjdG9yeTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+VHlwZTwvaDQ+PHA+PGI+Y2hhcnN0cmluZzwvYj48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkRlZmF1bHQgdmFsdWU8L2g0PjxwPjxiPiZyZHF1bzsuL1dlYkdVSS9Kc19saW5rJnJkcXVvOzwvYj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNUeXBlIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9IklPVF9BcHBfQ1QiPjwvYT5JT1RfQXBwX0NUPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9BcHBfQ1QgZXh0ZW5kcyBFUFRGX0Jhc2VfQ1QsIEVQVEZfRHNSZXN0QVBJX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5SSW9UIGFwcGxpY2F0aW9uJnJzcXVvO3MgbWFpbiBjb21wb25lbnQgcHJvdmlkaW5nIGEgUkVTVCBBUEkgdG8gdGhlIGVudmlyb25tZW50PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5FeHRlbnNpb25zPC9oND48dWw+PGxpPiZsdDtFUFRGX0Jhc2VfQ1QmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfRHNSZXN0QVBJX0NUJmd0OzwvbGk+PC91bD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbnM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iSU9UX0FwcF9GdW5jdGlvbnMtdHRjbi5odG1sI1RDIiBjbGFzcz1MVGVzdGNhc2UgaWQ9bGluazEwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbmsxMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDknKSI+VEM8L2E+ICgpIC0gVGhlIG1haW4gdGVzdCBjYXNlIGZ1bmN0aW9uLCBlbnRyeSBwb2ludCBvZiB0aGUgYXBwbGljYXRpb248L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzwvZGl2PjwhLS1Db250ZW50LS0+CisKKworCis8IS0tU1RBUlRfTkRfVE9PTFRJUFMtLT4KKzxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MSI+PGRpdiBjbGFzcz1DVHlwZT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij50eXBlIGNvbXBvbmVudCBJT1RfQXBwX0NUIGV4dGVuZHMgRVBURl9CYXNlX0NULCBFUFRGX0RzUmVzdEFQSV9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5SSW9UIGFwcGxpY2F0aW9uJnJzcXVvO3MgbWFpbiBjb21wb25lbnQgcHJvdmlkaW5nIGEgUkVTVCBBUEkgdG8gdGhlIGVudmlyb25tZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyIj48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+SVAgYWRkcmVzcyBvZiB0aGUgUkVTVCBBUEkgc2VydmVyPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzIj48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+UG9ydCBudW1iZXIgb2YgdGhlIFJFU1QgQVBJIHNlcnZlcjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NCI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPlBhdGggb2YgUkVTVCBBUEkgSFRUUCBzZXJ2ZXIgZGlyZWN0b3J5PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1Ij48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+UGF0aCBvZiB0aGUgUkVTVCBBUEkgY3VzdG9taXphYmxlQXBwIGRpcmVjdG9yeTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NiI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPlBhdGggb2YgRHNSZXN0QVBJIEFQSSBkaXJlY3Rvcnk8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDciPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5GU00gZGVjbGFyYXRpb25zIHRoYXQgY2FuIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIHRyYWZmaWMgY2FzZXM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDgiPjxkaXYgY2xhc3M9Q1R5cGU+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+dHlwZSBjb21wb25lbnQgSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+SW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0OSI+PGRpdiBjbGFzcz1DVGVzdGNhc2U+VGhlIG1haW4gZW50cnkgcG9pbnQgb2YgdGhlIFJJb1QgYXBwbGljYXRpb248L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwgYi9hcGlkb2MvaHRtbC9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMwYWU2YgotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklPVF9BcHBfRnVuY3Rpb25zIC0gSW9UX0xvYWRfVGVzdF9GcmFtZXdvcms8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L3ByZXR0aWZ5LmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZENvbnRlbnRQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCk7cHJldHR5UHJpbnQoKTsiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9Q29udGVudD48ZGl2IGNsYXNzPSJDRmlsZSI+PGRpdiBjbGFzcz1DVG9waWMgaWQ9TWFpblRvcGljPjxoMSBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iSU9UX0FwcF9GdW5jdGlvbnMiPjwvYT5JT1RfQXBwX0Z1bmN0aW9uczwvaDE+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlNlZSBhbHNvPC9oND48cD48YSBocmVmPSJJT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfQXBwX0RlZmluaXRpb25zIiBjbGFzcz1MRmlsZSBpZD1saW5rNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NCcsICdsaW5rNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQnKSI+SU9UX0FwcF9EZWZpbml0aW9uczwvYT48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPk1vZHVsZSBkZXBlbmRzIG9uPC9oND48dWw+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9TEZpbGUgaWQ9bGluazYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUnLCAnbGluazYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1JykiPklPVF9MR2VuX0RlZmluaXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fRnVuY3Rpb25zIiBjbGFzcz1MRmlsZSBpZD1saW5rNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+SU9UX0xHZW5fRnVuY3Rpb25zPC9hPjwvbGk+PGxpPiZsdDtFUFRGX0NMTF9CYXNlX0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRXhlY0N0cmxfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0V4ZWNDdHJsX0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRHNSZXN0QVBJX0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRGF0YVNvdXJjZV9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRGF0YVNvdXJjZV9GdW5jdGlvbnMmZ3Q7PC9saT48L3VsPjxoNCBjbGFzcz1DSGVhZGluZz5Nb2R1bGUgUGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dHNwX25yT2ZMR2VuczwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPiZsdDt0c3BfbnJPZkxHZW5zJmd0OyAtIDxiPmludGVnZXI8L2I+IC0gdGhlIG51bWJlciBvZiA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4gaW5zdGFuY2VzIHRvIGJlIGNyZWF0ZWVkIGR1cmluZyBzdGFydCB1cDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnRzcF9MR25hbWVfcHJlZml4PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+Jmx0O3RzcF9MR25hbWVfcHJlZml4Jmd0OyAtIDxiPmNoYXJzdHJpbmc8L2I+IC0gbmFtZSBwcmVmaXggdXNlZCBmb3IgdGhlIGNyZWF0ZWQgPGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1MVHlwZSBpZD1saW5rOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+IGluc3RhbmNlczwvdGQ+PC90cj48L3RhYmxlPjwhLS1TVEFSVF9ORF9TVU1NQVJZLS0+PGRpdiBjbGFzcz1TdW1tYXJ5PjxkaXYgY2xhc3M9U1RpdGxlPlN1bW1hcnk8L2Rpdj48ZGl2IGNsYXNzPVNCb3JkZXI+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1TVGFibGU+PHRyIGNsYXNzPSJTTWFpbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjSU9UX0FwcF9GdW5jdGlvbnMiID5JT1RfQXBwX0Z1bmN0aW9uczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTVGVzdGNhc2UgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjVEMiID5UQzwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGhlIG1haW4gZW50cnkgcG9pbnQgb2YgdGhlIFJJb1QgYXBwbGljYXRpb248L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsIiBpZD1saW5rMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MScsICdsaW5rMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSI+Zl9JT1RfQXBwX3N0YXJ0RXhlY0N0cmw8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlN0YXJ0aW5nIHVwIHRoZSBFeGVjdXRpb24gQ29udHJvbCBjb21wb25lbnQgdGhhdCB3aWxsIG9yY2hlc3RyYXRlIHRoZSBsb2FkIGdlbmVyYXRvciA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4sJmx0O0VQVEZfRXhlY0N0cmxDbGllbnRfQ1QmZ3Q7IGNvbXBvbmVudCBpbnN0YW5jZXM8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9jcmVhdGUiIGlkPWxpbmszIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzJywgJ2xpbmszJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MycpIj5mX0lPVF9MR2VuX2NyZWF0ZTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+U3RhcnRpbmcgdXAgYSBsb2FkIGdlbmVyYXRvciA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4gY29tcG9uZW50IGluc3RhbmNlczwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfU1VNTUFSWS0tPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDVGVzdGNhc2UiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iVEMiPjwvYT5UQzwvaDM+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGhlIG1haW4gZW50cnkgcG9pbnQgb2YgdGhlIFJJb1QgYXBwbGljYXRpb248L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsxMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NycsICdsaW5rMTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3JykiPklPVF9BcHBfQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfQXBwX3N0YXJ0RXhlY0N0cmwiPjwvYT5mX0lPVF9BcHBfc3RhcnRFeGVjQ3RybDwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9BcHBfc3RhcnRFeGVjQ3RybCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfc2VsZk5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW50ZWdlciZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX25yT2ZDbGllbnRzLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfRGF0YVNvdXJjZV9DVCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX2RhdGFzb3VyY2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gRVBURl9FeGVjQ3RybF9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+U3RhcnRpbmcgdXAgdGhlIEV4ZWN1dGlvbiBDb250cm9sIGNvbXBvbmVudCB0aGF0IHdpbGwgb3JjaGVzdHJhdGUgdGhlIGxvYWQgZ2VuZXJhdG9yIDxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazExIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsxMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+LCZsdDtFUFRGX0V4ZWNDdHJsQ2xpZW50X0NUJmd0OyBjb21wb25lbnQgaW5zdGFuY2VzPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9zZWxmTmFtZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluIGNoYXJzdHJpbmc8L2I+IC0gbmFtZSBvZiB0aGUgZXhlY3V0aW9uIGNvbnRyb2wgY29tcG9uZW50cyBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX25yT2ZDbGllbnRzPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW4gaW50ZWdlcjwvYj4gLSBudW1iZXIgb2YgJmx0O0VQVEZfRXhlY0N0cmxDbGllbnRfQ1QmZ3Q7IGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudHMgdG8gd2FpdCBmb3I8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9kYXRhc291cmNlPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0RhdGFTb3VyY2VfQ1QmZ3Q7IC0gZGF0YSBzb3VyY2Ugc2VydmVyPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPiZsdDtFUFRGX0V4ZWNDdHJsX0NUJmd0OzwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBmdW5jdGlvbnM8L2g0Pjx1bD48bGk+Jmx0O2ZfRVBURl9FeGVjQ3RybF9sb2FkQ29uZmlnJmd0OzwvbGk+PGxpPiZsdDtmX0VQVEZfRXhlY0N0cmxfaW5pdF9DVCZndDs8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX2NyZWF0ZSI+PC9hPmZfSU9UX0xHZW5fY3JlYXRlPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fY3JlYXRlICg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfaG9zdG5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX2NvbXBvbmVudE5hbWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gRVBURl9FeGVjQ3RybF9DVCByZXR1cm4gRVBURl9FeGVjQ3RybENsaWVudF9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+U3RhcnRpbmcgdXAgYSBsb2FkIGdlbmVyYXRvciA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsxMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMTInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPklPVF9MR2VuX0NUPC9hPiBjb21wb25lbnQgaW5zdGFuY2VzPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9ob3N0bmFtZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluIGNoYXJzdHJpbmc8L2I+IC0gbmFtZSBvZiB0aGUgaG9zdCwgd2hlcmUgdGhlIGxvYWQgZ2VuZXJhdG9yIGluc3RhbmNlIHdpbGwgYmUgY3JlYXRlZDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX2NvbXBvbmVudE5hbWU8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbiBjaGFyc3RyaW5nPC9iPiAtIHRoZSBuYW1lIG9mIHRoZSBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlczwvaDQ+PHA+PGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1MVHlwZSBpZD1saW5rMTMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4gJmx0O0VQVEZfRXhlY0N0cmxDbGllbnRfQ1QmZ3Q7ICZsdDtFUFRGX0V4ZWNDdHJsX0NUJmd0OzwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBmdW5jdGlvbnM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2JlaGF2aW9yIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazE0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ4JywgJ2xpbmsxNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgnKSI+Zl9JT1RfTEdlbl9iZWhhdmlvcjwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzwvZGl2PjwhLS1Db250ZW50LS0+CisKKworCis8IS0tU1RBUlRfTkRfVE9PTFRJUFMtLT4KKzxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQXBwX3N0YXJ0RXhlY0N0cmwoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3NlbGZOYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmludGVnZXImbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9uck9mQ2xpZW50cyw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0RhdGFTb3VyY2VfQ1QmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9kYXRhc291cmNlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIEVQVEZfRXhlY0N0cmxfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U3RhcnRpbmcgdXAgdGhlIEV4ZWN1dGlvbiBDb250cm9sIGNvbXBvbmVudCB0aGF0IHdpbGwgb3JjaGVzdHJhdGUgdGhlIGxvYWQgZ2VuZXJhdG9yIElPVF9MR2VuX0NULCZsdDtFUFRGX0V4ZWNDdHJsQ2xpZW50X0NUJmd0OyBjb21wb25lbnQgaW5zdGFuY2VzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyIj48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fY3JlYXRlICg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfaG9zdG5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX2NvbXBvbmVudE5hbWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gRVBURl9FeGVjQ3RybF9DVCByZXR1cm4gRVBURl9FeGVjQ3RybENsaWVudF9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TdGFydGluZyB1cCBhIGxvYWQgZ2VuZXJhdG9yIElPVF9MR2VuX0NUIGNvbXBvbmVudCBpbnN0YW5jZXM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDUiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2Ij48ZGl2IGNsYXNzPUNGaWxlPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBmdW5jdGlvbnMgb2YgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NyI+PGRpdiBjbGFzcz1DVHlwZT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij50eXBlIGNvbXBvbmVudCBJT1RfQXBwX0NUIGV4dGVuZHMgRVBURl9CYXNlX0NULCBFUFRGX0RzUmVzdEFQSV9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5SSW9UIGFwcGxpY2F0aW9uJnJzcXVvO3MgbWFpbiBjb21wb25lbnQgcHJvdmlkaW5nIGEgUkVTVCBBUEkgdG8gdGhlIGVudmlyb25tZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj5UaGUgbWFpbiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIEluZmx1eERCX0NUIGNvbXBvbmVudCB0eXBlPC9kaXY+PC9kaXY+PCEtLUVORF9ORF9UT09MVElQUy0tPgorCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sIGIvYXBpZG9jL2h0bWwvZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzYmMyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjx0aXRsZT5JT1RfTEdlbl9EZWZpbml0aW9ucyAtIElvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrPC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9wcmV0dGlmeS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRDb250ZW50UGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpO3ByZXR0eVByaW50KCk7Ij48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUNvbnRlbnQ+PGRpdiBjbGFzcz0iQ0ZpbGUiPjxkaXYgY2xhc3M9Q1RvcGljIGlkPU1haW5Ub3BpYz48aDEgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9IklPVF9MR2VuX0RlZmluaXRpb25zIj48L2E+SU9UX0xHZW5fRGVmaW5pdGlvbnM8L2gxPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+RGV0YWlsZWQgY29tbWVudHM8L2g0PjxwPlJJb1QgaXMgYSBsb2FkIGdlbmVyYXRvciBidWlsdCBvbiB0b3Agb2YgdGhlIFRpdGFuU2ltIGxvYWQgZ2VuZXJhdG9yIGZyYW1ld29yay4mbmJzcDsgSXQgaXMgY2FwYWJsZSBvZiBzaW11bGF0aW5nIGRldmljZXMgdXNpbmcgc29tZSBJb1QgcHJvdG9jb2xzIChDb0FQLCBMd00yTSwgTVFUVCwgSFRUUCkuJm5ic3A7IFJJb1QgKGFuZCB0aGUgVGl0YW5TaW0gZnJhbWV3b3JrKSB3YXMgY3JlYXRlZCB0byBzdXBwb3J0IG5vbi1mdW5jdGlvbmFsIHRlc3RzLCB3aGVyZSBsb2FkIGdlbmVyYXRpb24gaXMgcmVxdWlyZWQgbGlrZSBwZXJmb3JtYW5jZSwgc3RhYmlsaXR5LCBzY2FsYWJpbGl0eS48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkV2ZW50cywgVGVzdFN0ZXBzPC9oND48cD48YSBocmVmPSJJT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjSU9UX0xHZW5fU3RlcHMiIGNsYXNzPUxGaWxlIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NCcpIj5JT1RfTEdlbl9TdGVwczwvYT48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPk1vZHVsZSBQYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT50c3BfSU9UX0xHZW5fRlNNczwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPiZsdDtFUFRGX0xHZW5CYXNlX0ZzbVRhYmxlRGVjbGFyYXRvckxpc3QmZ3Q7IC0gRlNNIGRlY2xhcmF0aW9ucyB0aGF0IGNhbiBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSB0cmFmZmljIGNhc2VzPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPk1vZHVsZSBkZXBlbmRzIG9uPC9oND48dWw+PGxpPiZsdDtFUFRGX01RVFRfTEdlbl9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9NUVRUX0xvY2FsVHJhbnNwb3J0X0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NPQVBfTEdlbl9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DT0FQX0xvY2FsVHJhbnNwb3J0X0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0x3TTJNX0xHZW5fRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTHdNMk1fQ29hcEFwcGxpYlRyYW5zcG9ydF9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9PYmplY3RfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfSFRUUF9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9IVFRQX1RyYW5zcG9ydF9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfTEdlbkJhc2VfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0xHZW5CYXNlX0NvbmZpZ0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9FeGVjQ3RybF9EZWZpbml0aW9ucyZndDs8L2xpPjwvdWw+PGg0IGNsYXNzPUNIZWFkaW5nPkNvbXBvbmVudCBEaWFncmFtPC9oND48cD4oc2VlIElPVF9BcHBfRGVmaW5pdGlvbnMuY29tcG9uZW50cy5qcGcpPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIFR5cGVzPC9oND48dWw+PGxpPjxhIGhyZWY9IklPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbms1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbms1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NScpIj5JT1RfQXBwX0NUPC9hPjwvbGk+PGxpPjxhIGhyZWY9IiNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMnLCAnbGluazYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzJykiPklPVF9MR2VuX0NUPC9hPjwvbGk+PGxpPiZsdDtFUFRGX0V4ZWNDdHJsX0NUJmd0OzwvbGk+PC91bD48IS0tU1RBUlRfTkRfU1VNTUFSWS0tPjxkaXYgY2xhc3M9U3VtbWFyeT48ZGl2IGNsYXNzPVNUaXRsZT5TdW1tYXJ5PC9kaXY+PGRpdiBjbGFzcz1TQm9yZGVyPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9U1RhYmxlPjx0ciBjbGFzcz0iU01haW4iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI0lPVF9MR2VuX0RlZmluaXRpb25zIiA+SU9UX0xHZW5fRGVmaW5pdGlvbnM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0lPVF9MR2VuX0ZTTXMiID50c3BfSU9UX0xHZW5fRlNNczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+RlNNIGRlY2xhcmF0aW9ucyB0aGF0IGNhbiBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSB0cmFmZmljIGNhc2VzPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9lbnRpdHlUeXBlIiBpZD1saW5rMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MScsICdsaW5rMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSI+Y19JT1RfZW50aXR5VHlwZTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGVudGl0eSB0eXBlPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX2JlaGF2aW9yVHlwZSIgaWQ9bGluazIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPmNfSU9UX2JlaGF2aW9yVHlwZTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGJlaGF2aW9yIHR5cGU8L3RkPjwvdHI+PHRyIGNsYXNzPSJTVHlwZSI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjSU9UX0xHZW5fQ1QiIGlkPWxpbmszIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzJywgJ2xpbmszJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MycpIj5JT1RfTEdlbl9DVDwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+SW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfU1VNTUFSWS0tPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDTW9kdWxlUGFyYW1ldGVyIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9InRzcF9JT1RfTEdlbl9GU01zIj48L2E+dHNwX0lPVF9MR2VuX0ZTTXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkZTTSBkZWNsYXJhdGlvbnMgdGhhdCBjYW4gYmUgaW5zdGFudGlhdGVkIGZvciB0aGUgdHJhZmZpYyBjYXNlczwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+VHlwZTwvaDQ+PHA+Jmx0O0VQVEZfTEdlbkJhc2VfRnNtVGFibGVEZWNsYXJhdG9yTGlzdCZndDs8L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9lbnRpdHlUeXBlIj48L2E+Y19JT1RfZW50aXR5VHlwZTwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX2VudGl0eVR5cGUgOj0gJnF1b3Q7SU9UX0VudGl0eSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGVudGl0eSB0eXBlPC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDQ29uc3RhbnQiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iY19JT1RfYmVoYXZpb3JUeXBlIj48L2E+Y19JT1RfYmVoYXZpb3JUeXBlPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1RfYmVoYXZpb3JUeXBlIDo9ICZxdW90O0lPVF9CZWhhdmlvciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGJlaGF2aW9yIHR5cGU8L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNUeXBlIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9IklPVF9MR2VuX0NUIj48L2E+SU9UX0xHZW5fQ1Q8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+dHlwZSBjb21wb25lbnQgSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkNsYXNzPC9oND48cD4oc2VlIEVQVEZfQ09BUF9MR2VuX0RlZmluaXRpb25zLkVQVEZfQ09BUF9MR2VuX0NULmpwZyk8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkV4dGVuc2lvbnM8L2g0Pjx1bD48bGk+Jmx0O0VQVEZfTEdlbkJhc2VfQ1QmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfRXhlY0N0cmxDbGllbnRfQ1QmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTVFUVF9MR2VuX0NUJmd0OzwvbGk+PGxpPiZsdDtFUFRGX01RVFRfTG9jYWxUcmFuc3BvcnRfQ1QmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ09BUF9MR2VuX0NUJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NPQVBfTG9jYWxUcmFuc3BvcnRfQ1QmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTHdNMk1fTEdlbl9DVCZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9Db2FwQXBwbGliVHJhbnNwb3J0X0NUJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0hUVFBfTEdlbl9DVCZndDs8L2xpPjxsaT4mbHQ7RVBURl9IVFRQX0xvY2FsVHJhbnNwb3J0X0NUJmd0OzwvbGk+PGxpPiZsdDtJbmZsdXhEQl9DVCZndDs8L2xpPjwvdWw+PGg0IGNsYXNzPUNIZWFkaW5nPlZhcmlhYmxlczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dl9JT1RfTEdlbl9uYW1lPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZzwvYj4gLSBuYW1lIG9mIHRoZSBjdXJyZW50IGxvYWQgZ2VuZXJhdG9yIGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dl9JT1RfTEdlbl9pZHg8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyPC9iPiAtIHVuaXF1ZSBpbmRleCBvZiB0aGUgY3VycmVudCBsb2FkIGdlbmVyYXRvciBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnZfSU9UX2JJZHg8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyPC9iPiAtIGlkIG9mIHRoZSBJT1QgYmVoYXZpb3IgZGVmaW5lZCBieSBSSW9UPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dl9JT1RfTEdlbl9sb2dnaW5nTWFza0lkPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW50ZWdlcjwvYj4gLSBpZCBmb3IgUmlvVCBsb2dnaW5nIGZ1bmN0aW9uczwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5JbnN0YW5jZSBkYXRhYmFzZXM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnZfSU9UX0xHZW5fRGF0YVNhbXBsZXNfREI8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj4mbHQ7THdNMk1fRGF0YVNhbXBsZXNfREImZ3Q7IC0gU3RvcmluZyBkYXRhIHNhbXBsZXMgZm9yIEx3TTJNIHNtYXJ0IG9iamVjdHM8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+RXZlbnRzLCBUZXN0U3RlcHM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNJT1RfTEdlbl9TdGVwcyIgY2xhc3M9TEZpbGUgaWQ9bGluazcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiPklPVF9MR2VuX1N0ZXBzPC9hPjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbnM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXQiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Zl9JT1RfTEdlbl9pbml0PC9hPiAoaW4gPGI+Y2hhcnN0cmluZzwvYj4gcGxfc2VsZk5hbWUsIGluIDxiPmludGVnZXI8L2I+IHBfaWR4LCBpbiAmbHQ7RVBURl9FeGVjQ3RybF9DVCZndDsgcGxfRXhlY0N0cmxSZWYpPC9saT48bGk+PGEgaHJlZj0iSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXRTYW1wbGVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcnLCAnbGluazknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3JykiPmZfSU9UX0xHZW5faW5pdFNhbXBsZXM8L2E+IChpbiA8Yj5jaGFyc3RyaW5nPC9iPiBwX3NlbGZOYW1lKTwvbGk+PGxpPjxhIGhyZWY9IkluZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9iZWhhdmlvciIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0OCcsICdsaW5rMTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ4JykiPmZfSU9UX0xHZW5fYmVoYXZpb3I8L2E+IChpbiA8Yj5jaGFyc3RyaW5nPC9iPiBwbF9zZWxmTmFtZSwgaW4gPGI+aW50ZWdlcjwvYj4gcF9pZHgsIGluICZsdDtFUFRGX0V4ZWNDdHJsX0NUJmd0OyBwbF9FeGVjQ3RybFJlZik8L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazExIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbmsxMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDknKSI+Zl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0U8L2E+IChpbiBAbGF6eSA8Yj5jaGFyc3RyaW5nPC9iPiBwbF9tZXNzYWdlKTwvbGk+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazEyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMCcsICdsaW5rMTInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMCcpIj5mX0lPVF9MR2VuX0xvZ2dpbmdfREVCVUc8L2E+IChpbiBAbGF6eSA8Yj5jaGFyc3RyaW5nPC9iPiBwbF9tZXNzYWdlKTwvbGk+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9Mb2dnaW5nX1dBUk5JTkciIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDExJywgJ2xpbmsxMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDExJykiPmZfSU9UX0xHZW5fTG9nZ2luZ19XQVJOSU5HPC9hPiAoaW4gQGxhenkgPGI+Y2hhcnN0cmluZzwvYj4gcGxfbWVzc2FnZSk8L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUiIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxNCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTInLCAnbGluazE0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTInKSI+Zl9JT1RfTEdlbl9Mb2dnaW5nX0VSUk9SPC9hPiAoaW4gQGxhenkgPGI+Y2hhcnN0cmluZzwvYj4gcGxfbWVzc2FnZSk8L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTMnLCAnbGluazE1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTMnKSI+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPiAoaW4gJmx0O0VQVEZfQ09BUF9QRFUmZ3Q7IHBsX21zZyk8L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTQnLCAnbGluazE2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+Zl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlPC9hPiAoaW4gJmx0O0VQVEZfQ09BUF9QRFUmZ3Q7IHBsX21lc3NhZ2UpPC9saT48bGk+Jmx0O2ZfRVBURl9DT0FQX1BEVV90b19JbmZsdXgmZ3Q7ICgpPC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8L2Rpdj48IS0tQ29udGVudC0tPgorCisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1RfZW50aXR5VHlwZSA6PSAmcXVvdDtJT1RfRW50aXR5JnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNvbnN0YW50IGZvciB0aGUgc2ltdWxhdGVkIElvVCBlbnRpdHkgdHlwZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MiI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9iZWhhdmlvclR5cGUgOj0gJnF1b3Q7SU9UX0JlaGF2aW9yJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNvbnN0YW50IGZvciB0aGUgc2ltdWxhdGVkIElvVCBiZWhhdmlvciB0eXBlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzIj48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGVzdCBzdGVwIGZ1bmN0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DVHlwZT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij50eXBlIGNvbXBvbmVudCBJT1RfQXBwX0NUIGV4dGVuZHMgRVBURl9CYXNlX0NULCBFUFRGX0RzUmVzdEFQSV9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5SSW9UIGFwcGxpY2F0aW9uJnJzcXVvO3MgbWFpbiBjb21wb25lbnQgcHJvdmlkaW5nIGEgUkVTVCBBUEkgdG8gdGhlIGVudmlyb25tZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX2luaXQoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3NlbGZOYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmludGVnZXImbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wX2lkeCw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0V4ZWNDdHJsX0NUJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfRXhlY0N0cmxSZWY8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGhlIG1haW4gaW5pdCBmdW5jdGlvbiBvZiB0aGUgSU9UX0xHZW5fQ1QgY29tcG9uZW50IHR5cGUgSXQgaW5pdGlhbGl6ZXMgdGhlIGludGVncmF0ZWQgYXBwbGljYXRpb24gbGlicmFyaWVzIGFuZCBkZWZpbmVzIGl0cyBvd24gY19JT1RfYmVoYXZpb3JUeXBlIGFuZCB0ZXN0IHN0ZXBzIGZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzIFRoZSBzYW1wbGUgZGF0YWJhc2Ugb2YgdGhlIHNtYXJ0IG9iamVjdHMgYXJlIGFsc28gZmlsbGVkIGluIGhlcmUgYnkgY2FsbGluZyBmX0lPVF9MR2VuX2luaXRTYW1wbGVzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0lPVF9MR2VuX2luaXRTYW1wbGVzKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9zZWxmTmFtZTwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Jbml0aWFsaXplcyB0aGUgPGI+dl9JT1RfTEdlbl9EYXRhU2FtcGxlc19EQjwvYj4gZGF0YWJhc2UgYnkgbG9hZGluZyBhIHNldCBvZiBkYXRhIHNhbXBsZXM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPlRoZSBtYWluIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgSW5mbHV4REJfQ1QgY29tcG9uZW50IHR5cGU8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgVkVSQk9TRSBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfREVCVUcoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiBAbGF6eSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBERUJVRyBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDExIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIFdBUk5JTkcgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX0VSUk9SKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgRVJST1IgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfQ09BUF9QRFUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tc2c8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+V3JhcHBlciBvZiBmX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQsIHVzZWQgZm9yIGNhdGNoaW5nIG91dGdvaW5nIENPQVAgbWVzc2FnZXMuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxNCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfQ09BUF9QRFUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldyYXBwZXIgb2YgZl9FUFRGX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSwgdXNlZCBmb3IgY2F0Y2hpbmcgYW5kIGluY29taW5nIENPQVAgbWVzc2FnZXMuPC9kaXY+PC9kaXY+PCEtLUVORF9ORF9UT09MVElQUy0tPgorCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCBiL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU5OWFkNwotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjx0aXRsZT5JT1RfTEdlbl9GdW5jdGlvbnMgLSBJb1RfTG9hZF9UZXN0X0ZyYW1ld29yazwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvcHJldHRpZnkuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkQ29udGVudFBhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKTtwcmV0dHlQcmludCgpOyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1Db250ZW50PjxkaXYgY2xhc3M9IkNGaWxlIj48ZGl2IGNsYXNzPUNUb3BpYyBpZD1NYWluVG9waWM+PGgxIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJJT1RfTEdlbl9GdW5jdGlvbnMiPjwvYT5JT1RfTEdlbl9GdW5jdGlvbnM8L2gxPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBmdW5jdGlvbnMgb2YgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+U2VlIGFsc288L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9TEZpbGUgaWQ9bGluazE2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMycsICdsaW5rMTYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMycpIj5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPk1vZHVsZSBkZXBlbmRzIG9uPC9oND48dWw+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9TEZpbGUgaWQ9bGluazE3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMycsICdsaW5rMTcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMycpIj5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJJT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjSU9UX0xHZW5fU3RlcHMiIGNsYXNzPUxGaWxlIGlkPWxpbmsxOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTQnLCAnbGluazE4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+SU9UX0xHZW5fU3RlcHM8L2E+PC9saT48bGk+Jmx0O0VQVEZfTVFUVF9MR2VuX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX01RVFRfTEdlbl9GdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTVFUVF9Mb2NhbFRyYW5zcG9ydF9GdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ09BUF9MR2VuX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NPQVBfTEdlbl9GdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ09BUF9UcmFuc3BvcnRfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ09BUF9Mb2NhbFRyYW5zcG9ydF9GdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTHdNMk1fTEdlbl9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9MR2VuX0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9Db2FwQXBwbGliVHJhbnNwb3J0X0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9PYmplY3RfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfTHdNMk1fT2JqZWN0X0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9IVFRQX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0hUVFBfRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0hUVFBfVHJhbnNwb3J0X0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfQ29tbW9uX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9CYXNlX0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfRXhlY0N0cmxfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0V4ZWNDdHJsQ2xpZW50X0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfTEdlbkJhc2VfRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9MR2VuQmFzZV9Db25maWdGdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0xvZ2dpbmdfRGVmaW5pdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0xvZ2dpbmdfRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtJbmZsdXhEQl9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7SW5mbHV4REJfRnVuY3Rpb25zJmd0OzwvbGk+PC91bD48IS0tU1RBUlRfTkRfU1VNTUFSWS0tPjxkaXYgY2xhc3M9U3VtbWFyeT48ZGl2IGNsYXNzPVNUaXRsZT5TdW1tYXJ5PC9kaXY+PGRpdiBjbGFzcz1TQm9yZGVyPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9U1RhYmxlPjx0ciBjbGFzcz0iU01haW4iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI0lPVF9MR2VuX0Z1bmN0aW9ucyIgPklPVF9MR2VuX0Z1bmN0aW9uczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fYmVoYXZpb3IiIGlkPWxpbmsxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxJywgJ2xpbmsxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MScpIj5mX0lPVF9MR2VuX2JlaGF2aW9yPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UaGUgbWFpbiBzZXJ2aWNlIGZ1bmN0aW9uIG9mIHRoZSA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4gY29tcG9uZW50IHR5cGUgQWZ0ZXIgaW5pdGlhbGl6YXRpb24sIHRoaXMgaXMgdGhhdCBmdW5jdGlvbiB0aGF0IGlzIGNvbnRpbnVvdXNseSBydW5uaW5nIHVudGlsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIGV4aXRzPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX2luaXQiIGlkPWxpbmszIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzJywgJ2xpbmszJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MycpIj5mX0lPVF9MR2VuX2luaXQ8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRoZSBtYWluIGluaXQgZnVuY3Rpb24gb2YgdGhlIDxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPklPVF9MR2VuX0NUPC9hPiBjb21wb25lbnQgdHlwZSBJdCBpbml0aWFsaXplcyB0aGUgaW50ZWdyYXRlZCBhcHBsaWNhdGlvbiBsaWJyYXJpZXMgYW5kIGRlZmluZXMgaXRzIG93biA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjY19JT1RfYmVoYXZpb3JUeXBlIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiPmNfSU9UX2JlaGF2aW9yVHlwZTwvYT4gYW5kIHRlc3Qgc3RlcHMgPGEgaHJlZj0iSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUnLCAnbGluazYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1JykiPmZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzPC9hPiBUaGUgc2FtcGxlIGRhdGFiYXNlIG9mIHRoZSBzbWFydCBvYmplY3RzIGFyZSBhbHNvIGZpbGxlZCBpbiBoZXJlIGJ5IGNhbGxpbmcgPGEgaHJlZj0iI2ZfSU9UX0xHZW5faW5pdFNhbXBsZXMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Zl9JT1RfTEdlbl9pbml0U2FtcGxlczwvYT48L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0UiIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3JywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NycpIj5mX0lPVF9MR2VuX0xvZ2dpbmdfVkVSQk9TRTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBWRVJCT1NFIGxvZyBsZXZlbDwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHIiBpZD1saW5rOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0OCcsICdsaW5rOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgnKSI+Zl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIERFQlVHIGxvZyBsZXZlbDwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyIgaWQ9bGluazEwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbmsxMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDknKSI+Zl9JT1RfTEdlbl9Mb2dnaW5nX1dBUk5JTkc8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgV0FSTklORyBsb2cgbGV2ZWw8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUiIgaWQ9bGluazExIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMCcsICdsaW5rMTEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMCcpIj5mX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1I8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgRVJST1IgbG9nIGxldmVsPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCIgaWQ9bGluazEyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMScsICdsaW5rMTInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMScpIj5mX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQ8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPldyYXBwZXIgb2YgPGEgaHJlZj0iI2ZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTEnLCAnbGluazEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTEnKSI+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPiwgdXNlZCBmb3IgY2F0Y2hpbmcgb3V0Z29pbmcgQ09BUCBtZXNzYWdlcy48L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSIgaWQ9bGluazE0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMicsICdsaW5rMTQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMicpIj5mX0lPVF9DT0FQX0xHZW5fcmVjZWl2ZU1lc3NhZ2U8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPldyYXBwZXIgb2YgJmx0O2ZfRVBURl9DT0FQX0xHZW5fcmVjZWl2ZU1lc3NhZ2UmZ3Q7LCB1c2VkIGZvciBjYXRjaGluZyBhbmQgaW5jb21pbmcgQ09BUCBtZXNzYWdlcy48L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9pbml0U2FtcGxlcyIgaWQ9bGluazE1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2JywgJ2xpbmsxNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Zl9JT1RfTEdlbl9pbml0U2FtcGxlczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+SW5pdGlhbGl6ZXMgdGhlIDxiPnZfSU9UX0xHZW5fRGF0YVNhbXBsZXNfREI8L2I+IGRhdGFiYXNlIGJ5IGxvYWRpbmcgYSBzZXQgb2YgZGF0YSBzYW1wbGVzPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9kaXY+PCEtLUVORF9ORF9TVU1NQVJZLS0+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX2JlaGF2aW9yIj48L2E+Zl9JT1RfTEdlbl9iZWhhdmlvcjwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX2JlaGF2aW9yKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9zZWxmTmFtZSw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbnRlZ2VyJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cF9pZHgsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9FeGVjQ3RybF9DVCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX0V4ZWNDdHJsUmVmPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UaGUgbWFpbiBzZXJ2aWNlIGZ1bmN0aW9uIG9mIHRoZSA8YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsxOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMTknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPklPVF9MR2VuX0NUPC9hPiBjb21wb25lbnQgdHlwZSBBZnRlciBpbml0aWFsaXphdGlvbiwgdGhpcyBpcyB0aGF0IGZ1bmN0aW9uIHRoYXQgaXMgY29udGludW91c2x5IHJ1bm5pbmcgdW50aWwgdGhlIFJJb1QgYXBwbGljYXRpb24gZXhpdHM8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX25hbWU8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gPGI+Y2hhcnN0cmluZzwvYj4gLSB0aGUgbmFtZSBmb3IgdGhlIGNvbXBvbmVudCBpbnN0YW5jZTwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIFR5cGU8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazIwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9pbml0Ij48L2E+Zl9JT1RfTEdlbl9pbml0PC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5faW5pdCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfc2VsZk5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW50ZWdlciZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBfaWR4LDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfRXhlY0N0cmxfQ1QmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9FeGVjQ3RybFJlZjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGhlIG1haW4gaW5pdCBmdW5jdGlvbiBvZiB0aGUgPGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1MVHlwZSBpZD1saW5rMjEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazIxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT4gY29tcG9uZW50IHR5cGUgSXQgaW5pdGlhbGl6ZXMgdGhlIGludGVncmF0ZWQgYXBwbGljYXRpb24gbGlicmFyaWVzIGFuZCBkZWZpbmVzIGl0cyBvd24gPGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI2NfSU9UX2JlaGF2aW9yVHlwZSIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsyMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NCcsICdsaW5rMjInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiPmNfSU9UX2JlaGF2aW9yVHlwZTwvYT4gYW5kIHRlc3Qgc3RlcHMgPGEgaHJlZj0iSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazIzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbmsyMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUnKSI+Zl9JT1RfTEdlbl9kZWNsYXJlU3RlcHM8L2E+IFRoZSBzYW1wbGUgZGF0YWJhc2Ugb2YgdGhlIHNtYXJ0IG9iamVjdHMgYXJlIGFsc28gZmlsbGVkIGluIGhlcmUgYnkgY2FsbGluZyA8YSBocmVmPSIjZl9JT1RfTEdlbl9pbml0U2FtcGxlcyIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsyNCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rMjQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2JykiPmZfSU9UX0xHZW5faW5pdFNhbXBsZXM8L2E+PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9uYW1lPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+IDxiPmNoYXJzdHJpbmc8L2I+IC0gdGhlIG5hbWUgZm9yIHRoZSBjb21wb25lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48cD48YSBocmVmPSJJT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUxUeXBlIGlkPWxpbmsyNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMjUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPklPVF9MR2VuX0NUPC9hPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFIj48L2E+Zl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0U8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0UoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiBAbGF6eSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgVkVSQk9TRSBsb2cgbGV2ZWw8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX21lc3NhZ2U8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gPGI+Y2hhcnN0cmluZzwvYj4gLSBzdHJpbmcgdG8gYmUgbG9nZ2VkPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazI2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHIj48L2E+Zl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBERUJVRyBsb2cgbGV2ZWw8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX21lc3NhZ2U8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gPGI+Y2hhcnN0cmluZzwvYj4gLSBzdHJpbmcgdG8gYmUgbG9nZ2VkPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazI3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9Mb2dnaW5nX1dBUk5JTkciPjwvYT5mX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORzwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBXQVJOSU5HIGxvZyBsZXZlbDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfbWVzc2FnZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiA8Yj5jaGFyc3RyaW5nPC9iPiAtIHN0cmluZyB0byBiZSBsb2dnZWQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlczwvaDQ+PHA+PGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1MVHlwZSBpZD1saW5rMjggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazI4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1IiPjwvYT5mX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1I8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX0VSUk9SKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIEVSUk9SIGxvZyBsZXZlbDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfbWVzc2FnZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiA8Yj5jaGFyc3RyaW5nPC9iPiAtIHN0cmluZyB0byBiZSBsb2dnZWQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlczwvaDQ+PHA+PGEgaHJlZj0iSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1MVHlwZSBpZD1saW5rMjkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazI5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIj5JT1RfTEdlbl9DVDwvYT48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQiPjwvYT5mX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQ8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfQ09BUF9QRFUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tc2c8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPldyYXBwZXIgb2YgPGEgaHJlZj0iI2ZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmszMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTEnLCAnbGluazMwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTEnKSI+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPiwgdXNlZCBmb3IgY2F0Y2hpbmcgb3V0Z29pbmcgQ09BUCBtZXNzYWdlcy48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX21zZzwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9DT0FQX1BEVSZndDsgLSBvdXRnb2luZyBtZXNzYWdlPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazMxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmszMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlIj48L2E+Zl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0NPQVBfUERVJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+V3JhcHBlciBvZiAmbHQ7Zl9FUFRGX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSZndDssIHVzZWQgZm9yIGNhdGNoaW5nIGFuZCBpbmNvbWluZyBDT0FQIG1lc3NhZ2VzLjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfbWVzc2FnZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9DT0FQX1BEVSZndDsgLSBpbmNvbWluZyBtZXNzYWdlPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazMyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmszMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9pbml0U2FtcGxlcyI+PC9hPmZfSU9UX0xHZW5faW5pdFNhbXBsZXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JT1RfTEdlbl9pbml0U2FtcGxlcyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfc2VsZk5hbWU8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkluaXRpYWxpemVzIHRoZSA8Yj52X0lPVF9MR2VuX0RhdGFTYW1wbGVzX0RCPC9iPiBkYXRhYmFzZSBieSBsb2FkaW5nIGEgc2V0IG9mIGRhdGEgc2FtcGxlczwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cF9zZWxmTmFtZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluIGNoYXJzdHJpbmc8L2I+IC0gbG9hZCBnZW5lcmF0b3IgaW5zdGFuY2UmcnNxdW87cyBuYW1lPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazMzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmszMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+SU9UX0xHZW5fQ1Q8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8L2Rpdj48IS0tQ29udGVudC0tPgorCisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fYmVoYXZpb3IoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3NlbGZOYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmludGVnZXImbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wX2lkeCw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0V4ZWNDdHJsX0NUJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfRXhlY0N0cmxSZWY8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGhlIG1haW4gc2VydmljZSBmdW5jdGlvbiBvZiB0aGUgSU9UX0xHZW5fQ1QgY29tcG9uZW50IHR5cGUgQWZ0ZXIgaW5pdGlhbGl6YXRpb24sIHRoaXMgaXMgdGhhdCBmdW5jdGlvbiB0aGF0IGlzIGNvbnRpbnVvdXNseSBydW5uaW5nIHVudGlsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIGV4aXRzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyIj48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5faW5pdCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfc2VsZk5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW50ZWdlciZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBfaWR4LDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfRXhlY0N0cmxfQ1QmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9FeGVjQ3RybFJlZjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UaGUgbWFpbiBpbml0IGZ1bmN0aW9uIG9mIHRoZSBJT1RfTEdlbl9DVCBjb21wb25lbnQgdHlwZSBJdCBpbml0aWFsaXplcyB0aGUgaW50ZWdyYXRlZCBhcHBsaWNhdGlvbiBsaWJyYXJpZXMgYW5kIGRlZmluZXMgaXRzIG93biBjX0lPVF9iZWhhdmlvclR5cGUgYW5kIHRlc3Qgc3RlcHMgZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMgVGhlIHNhbXBsZSBkYXRhYmFzZSBvZiB0aGUgc21hcnQgb2JqZWN0cyBhcmUgYWxzbyBmaWxsZWQgaW4gaGVyZSBieSBjYWxsaW5nIGZfSU9UX0xHZW5faW5pdFNhbXBsZXM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1RfYmVoYXZpb3JUeXBlIDo9ICZxdW90O0lPVF9CZWhhdmlvciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Db25zdGFudCBmb3IgdGhlIHNpbXVsYXRlZCBJb1QgYmVoYXZpb3IgdHlwZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMoKSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkZ1bmN0aW9uIHRvIGRlY2xhcmUgYWxsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIHJlbGF0ZWQgdGVzdCBzdGVwczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JT1RfTEdlbl9pbml0U2FtcGxlcyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfc2VsZk5hbWU8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+SW5pdGlhbGl6ZXMgdGhlIDxiPnZfSU9UX0xHZW5fRGF0YVNhbXBsZXNfREI8L2I+IGRhdGFiYXNlIGJ5IGxvYWRpbmcgYSBzZXQgb2YgZGF0YSBzYW1wbGVzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfVkVSQk9TRSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIFZFUkJPU0UgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfREVCVUcoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiBAbGF6eSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBERUJVRyBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19XQVJOSU5HKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgV0FSTklORyBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1IoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiBAbGF6eSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBFUlJPUiBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDExIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9DT0FQX1BEVSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21zZzwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5XcmFwcGVyIG9mIGZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCwgdXNlZCBmb3IgY2F0Y2hpbmcgb3V0Z29pbmcgQ09BUCBtZXNzYWdlcy48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9DT0FQX0xHZW5fcmVjZWl2ZU1lc3NhZ2UoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9DT0FQX1BEVSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+V3JhcHBlciBvZiBmX0VQVEZfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlLCB1c2VkIGZvciBjYXRjaGluZyBhbmQgaW5jb21pbmcgQ09BUCBtZXNzYWdlcy48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEzIj48ZGl2IGNsYXNzPUNGaWxlPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTQiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGVzdCBzdGVwIGZ1bmN0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfVE9PTFRJUFMtLT4KKworPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOyB9ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpO30vLyAtLT48L3NjcmlwdD48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCBiL2FwaWRvYy9odG1sL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGM0ZDE3Ci0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sCkBAIC0wLDAgKzEsMTE4IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklPVF9MR2VuX1N0ZXBzIC0gSW9UX0xvYWRfVGVzdF9GcmFtZXdvcms8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L3ByZXR0aWZ5LmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZENvbnRlbnRQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCk7cHJldHR5UHJpbnQoKTsiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9Q29udGVudD48ZGl2IGNsYXNzPSJDRmlsZSI+PGRpdiBjbGFzcz1DVG9waWMgaWQ9TWFpblRvcGljPjxoMSBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iSU9UX0xHZW5fU3RlcHMiPjwvYT5JT1RfTEdlbl9TdGVwczwvaDE+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGhpcyBtb2R1bGUgY29udGFpbnMgdGVzdCBzdGVwIGZ1bmN0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+U2VlIGFsc288L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9TEZpbGUgaWQ9bGluazQ5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0OScsICdsaW5rNDknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0OScpIj5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPk1vZHVsZSBkZXBlbmRzIG9uPC9oND48dWw+PGxpPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9TEZpbGUgaWQ9bGluazUwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0OScsICdsaW5rNTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0OScpIj5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L2xpPjxsaT4mbHQ7RVBURl9NUVRUX0xHZW5fRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NPQVBfTEdlbl9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DT0FQX0xHZW5fRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0x3TTJNX0xHZW5fRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0x3TTJNX09iamVjdF9EZWZpbml0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9Md00yTV9PYmplY3RfRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0hUVFBfRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0hUVFBfVHJhbnNwb3J0X0Z1bmN0aW9ucyZndDs8L2xpPjxsaT4mbHQ7RVBURl9DTExfQ29tbW9uX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9FeGVjQ3RybENsaWVudF9GdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX0xHZW5CYXNlX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9MR2VuQmFzZV9TdGVwRnVuY3Rpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9MR2VuQmFzZV9Db25maWdGdW5jdGlvbnMmZ3Q7PC9saT48bGk+Jmx0O0VQVEZfQ0xMX1ZhcmlhYmxlX0RlZmluaXRpb25zJmd0OzwvbGk+PGxpPiZsdDtFUFRGX0NMTF9WYXJpYWJsZV9GdW5jdGlvbnMmZ3Q7PC9saT48L3VsPjxoNCBjbGFzcz1DSGVhZGluZz5UZXN0IFN0ZXBzIFtHZW5lcmljXTwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+dGVzdGNhc2UgZmluaXNoZWQ8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNTEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQwJywgJ2xpbms1MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQwJykiPmZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rNTIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazUyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MScpIj5jX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnByaW50PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9wcmludF9zdHJpbmdQYXJhbSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms1MyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDEnLCAnbGluazUzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDEnKSI+Zl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazU0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbms1NCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+Y19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Uk5EIGdlbmVyYXRvcjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazU1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0OCcsICdsaW5rNTUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0OCcpIj5mX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms1NiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MycsICdsaW5rNTYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzJykiPmNfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtczwvYT48L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+VGVzdCBTdGVwcyBbQ09BUF08L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnNldCBsb2NhbCBhZGRyZXNzPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNTcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI2JywgJ2xpbms1NycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI2JykiPmZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazU4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms1OCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQnKSI+Y19JT1Rfc3RlcE5hbWVfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5UZXN0IFN0ZXBzIFtMd00yTV08L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnNldCBjbGllbnQgbmFtZTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI5JywgJ2xpbms1OScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI5JykiPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms2MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NycsICdsaW5rNjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3JykiPmNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyPC9hPiA8YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms2MSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzAnLCAnbGluazYxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzAnKSI+Zl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhcjwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rNjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgnLCAnbGluazYyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OCcpIj5jX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlRlc3QgU3RlcHMgW01RVFRdPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5zZXQgbG9jYWwgYWRkcmVzczwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazYzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyNycsICdsaW5rNjMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyNycpIj5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms2NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NScsICdsaW5rNjQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1JykiPmNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT4gPGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazY1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyOCcsICdsaW5rNjUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyOCcpIj5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazY2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2JywgJ2xpbms2NicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+VGVzdCBTdGVwcyBbSFRUUF08L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmluaXQgZW50aXR5IGNvbnRleHQ8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNjcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMxJywgJ2xpbms2NycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMxJykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2luaXRFbnRpdHlDb250ZXh0PC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rNjggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDknLCAnbGluazY4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OScpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5Pm9wZW4gY29ubmVjdGlvbjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNjkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMyJywgJ2xpbms2OScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMyJykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFyczwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFycyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms3MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTAnLCAnbGluazcwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTAnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y2xvc2UgY29ubmVjdGlvbjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9jbG9zZUNvbm5lY3Rpb24iIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rNzEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMzJywgJ2xpbms3MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMzJykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms3MiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTEnLCAnbGluazcyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTEnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+c2V0IEhUVFAgbWV0aG9kPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms3MyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzcnLCAnbGluazczJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzcnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazc0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMicsICdsaW5rNzQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMicpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5zZXQgSFRUUCBVUkk8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazc1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNCcsICdsaW5rNzUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNCcpIj5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms3NiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTQnLCAnbGluazc2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT4gPGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFycyIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms3NyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzYnLCAnbGluazc3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzYnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9VcmlfYnlWYXJzPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazc4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNScsICdsaW5rNzgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNScpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5hZGQgSFRUUCBIb3N0IGhlYWRlcjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms3OSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzgnLCAnbGluazc5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzgnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnM8L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms4MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTYnLCAnbGluazgwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTYnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFyczwvYT48L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+VGVzdCBTdGVwcyBbTGVzaGFuXTwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Z2V0IGNsaWVudCBuYW1lPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rODEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM5JywgJ2xpbms4MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM5JykiPmZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazgyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNycsICdsaW5rODInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNycpIj5jX0lPVF9zdGVwTmFtZV9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+PC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlRlc3QgU3RlcHMgW1JlZ0RlcmVnIEZTTV08L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmluaXQgcmVzb3VyY2UgdmFsdWVzPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazgzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MicsICdsaW5rODMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MicpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazg0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxOCcsICdsaW5rODQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxOCcpIj5jX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5UZXN0IFN0ZXBzIFtTaW1EZXYgRlNNXTwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y3JlYXRlIHJlc291cmNlczwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rODUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQzJywgJ2xpbms4NScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQzJykiPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlczwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbms4NiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTknLCAnbGluazg2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTknKSI+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+aW5pdCByZXNvdXJjZSB2YWx1ZXM8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazg3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NScsICdsaW5rODcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NScpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rODggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIwJywgJ2xpbms4OCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIwJykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmluaXQgdHJhbnNwb3J0PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms4OSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDQnLCAnbGluazg5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDQnKSI+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyPC9hPiwgPGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazkwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMScsICdsaW5rOTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMScpIj5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT51cGRhdGUgcmVzb3VyY2UgdmFsdWVzPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazkxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NicsICdsaW5rOTEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NicpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlczwvYT4sIDxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazkyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMicsICdsaW5rOTInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMicpIj5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmhhbmRsZSBFWEVDVVRFPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rOTMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ3JywgJ2xpbms5MycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ3JykiPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2E+LCA8YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazk0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMycsICdsaW5rOTQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMycpIj5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2E+PC90ZD48L3RyPjwvdGFibGU+PCEtLVNUQVJUX05EX1NVTU1BUlktLT48ZGl2IGNsYXNzPVN1bW1hcnk+PGRpdiBjbGFzcz1TVGl0bGU+U3VtbWFyeTwvZGl2PjxkaXYgY2xhc3M9U0JvcmRlcj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPVNUYWJsZT48dHIgY2xhc3M9IlNNYWluIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNJT1RfTEdlbl9TdGVwcyIgPklPVF9MR2VuX1N0ZXBzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UaGlzIG1vZHVsZSBjb250YWlucyB0ZXN0IHN0ZXAgZnVuY3Rpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGlkPWxpbmsxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxJywgJ2xpbmsxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MScpIj5jX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgUklvVCB0ZXN0IGNhc2UgZmluaXNoZWQgdGVzdCBzdGVwPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9wcmludF9zdHJpbmdQYXJhbSIgaWQ9bGluazIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPmNfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgUklvVCBwcmludCBzdHJpbmcgdGVzdCBzdGVwPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyIgaWQ9bGluazMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMnLCAnbGluazMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzJykiPmNfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdGVzdCBzdGVwPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NCcpIj5jX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHNldHRpbmcgdGhlIENPQVAgbG9jYWwgYWRkcmVzcyB0ZXN0IHN0ZXA8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBpZD1saW5rNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NScsICdsaW5rNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUnKSI+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciBzZXR0aW5nIHRoZSBNUVRUIGxvY2FsIGFkZHJlc3MgdGVzdCBzdGVwPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBpZD1saW5rNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIE1RVFQgY2xpZW50IGlkPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyIiBpZD1saW5rNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NycsICdsaW5rNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcnKSI+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBMd00yTSBlbmRwb2ludCBuYW1lIGluIHRoZSBSZWdpc3RlciBtZXNzYWdlPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ4JywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OCcpIj5jX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBMd00yTSBlbmRwb2ludCBuYW1lIGluIHRoZSBSZWdpc3RlciBtZXNzYWdlPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGlkPWxpbms5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbms5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OScpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0PC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdGlhbGl6ZXMgdGhlIEhUVFAgZW50aXR5IGNvbnRleHQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBpZD1saW5rMTAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEwJywgJ2xpbmsxMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEwJykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgb3BlbnMgYW4gSFRUUCBjb25uZWN0aW9uPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uIiBpZD1saW5rMTEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDExJywgJ2xpbmsxMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDExJykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY2xvc2VzIHRoZSBvcGVuZWQgSFRUUCBjb25uZWN0aW9uPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSIgaWQ9bGluazEyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMicsICdsaW5rMTInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMicpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIEhUVFAgbWV0aG9kIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW0iIGlkPWxpbmsxMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTMnLCAnbGluazEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTMnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0iIGlkPWxpbmsxNCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTQnLCAnbGluazE0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNvbmNhdGVuYXRlcyBhIHN0cmluZyB0byB0aGUgSFRUUCByZXF1ZXN0IFVSSSBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50IFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBpZD1saW5rMTUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE1JywgJ2xpbmsxNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE1JykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY29uY2F0ZW5hdGVzIGEgc3RyaW5nIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMiIGlkPWxpbmsxNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTYnLCAnbGluazE2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTYnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFyczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGFkZHMgYSBIb3N0IGhlYWRlciB0byB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIiBpZD1saW5rMTcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE3JywgJ2xpbmsxNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE3JykiPmNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGxvYWRzIHRoZSBjbGllbnQgbmFtZSBpbnRvIGEgdmFyaWFibGUgZnJvbSBhbiBIVFRQIHJlc3BvbnNlPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBpZD1saW5rMTggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE4JywgJ2xpbmsxOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE4JykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0cyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBSZWdEZXJlZyBGU008L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGlkPWxpbmsxOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTknLCAnbGluazE5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTknKSI+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjcmVhdGVzIHRoZSByZXNvdXJjZXMgb2YgdGhlIFNpbURldmljZSBGU008L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBpZD1saW5rMjAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIwJywgJ2xpbmsyMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIwJykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvdGQ+PC90cj48dHIgY2xhc3M9IlNDb25zdGFudCBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciIgaWQ9bGluazIxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMScsICdsaW5rMjEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMScpIj5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGluaXRzIHRoZSB0cmFuc3BvcnQgKFVEUCwgb3IgRFRMUy1QU0spIGZvciB0aGUgU2ltRGV2IEZTTSZyc3F1bztzIEx3TTJNIHByb3RvY29sPC90ZD48L3RyPjx0ciBjbGFzcz0iU0NvbnN0YW50Ij48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBpZD1saW5rMjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIyJywgJ2xpbmsyMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIyJykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCB1cGRhdGVzIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L3RkPjwvdHI+PHRyIGNsYXNzPSJTQ29uc3RhbnQgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlIiBpZD1saW5rMjMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIzJywgJ2xpbmsyMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIzJykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGhhbmRsZXMgTHdNMk0gRVhFQ1VURSByZXF1ZXN0cyBvbiB0aGUgU2ltRGV2aWNlIEZTTTwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMiIGlkPWxpbmsyNCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjQnLCAnbGluazI0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjQnKSI+Zl9JT1RfTEdlbl9kZWNsYXJlU3RlcHM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkZ1bmN0aW9uIHRvIGRlY2xhcmUgYWxsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIHJlbGF0ZWQgdGVzdCBzdGVwczwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXAiIGlkPWxpbmsyNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjUnLCAnbGluazI1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjUnKSI+Zl9JT1RfTEdlbl9nZXRFbnRpdHlJZHhpbkVudGl0eUdyb3VwPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5DYWxjdWxhdGVzIHRoZSBpbmRleCBvZiB0aGUgZW50aXR5IGluc2lkZSBpdHMgZW50aXR5IGdyb3VwPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBpZD1saW5rMjYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI2JywgJ2xpbmsyNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI2JykiPmZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGxvY2FsIGFkZHJlc3MgaW4gdGhlIENPQVAgZW50aXR5IGNvbnRleHQgJmx0O0NPQVBfRW50aXR5Q3R4Jmd0Oy4gPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbmsyNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjcnLCAnbGluazI3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjcnKSI+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIHNldCB0aGUgbG9jYWwgYWRkcmVzcyBpbiB0aGUgTVFUVCBlbnRpdHkgY29udGV4dC4gPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSIgaWQ9bGluazI4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyOCcsICdsaW5rMjgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyOCcpIj5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIHNldCB0aGUgY2xpZW50IGlkIHRoZSBNUVRUIGVudGl0eSBjb250ZXh0LiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyIiBpZD1saW5rMjkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI5JywgJ2xpbmsyOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI5JykiPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIHNldCB0aGUgZW5kcG9pbnQgY2xpZW50IG5hbWUgaW4gdGhlIExXTTJNIFJlZ2lzdGVyIG1lc3NhZ2UgdGhhdCBtdXN0IGJlIHByZXZpb3VzbHkgbG9hZGVkIGludG8gPGI+dl9Md00yTV9tc2dUb1NlbmQ8L2I+LiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGlkPWxpbmszMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzAnLCAnbGluazMwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzAnKSI+Zl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIHNldCB0aGUgZW5kcG9pbnQgY2xpZW50IG5hbWUgaW4gdGhlIExXTTJNIFJlZ2lzdGVyIG1lc3NhZ2UgdGhhdCBtdXN0IGJlIHByZXZpb3VzbHkgbG9hZGVkIGludG8gPGI+dl9Md00yTV9tc2dUb1NlbmQ8L2I+LiA8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGlkPWxpbmszMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzEnLCAnbGluazMxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzEnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBpbml0aWFsaXplIHRoZSBIVFRQIGVudGl0eSBjb250ZXh0IGJ5IGNhbGxpbmcgJmx0O2ZfRVBURl9IVFRQX3NldEVudGl0eUNvbnRleHQmZ3Q7LjwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBpZD1saW5rMzIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMyJywgJ2xpbmszMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMyJykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFyczwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIG9wZW4gYSBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUC4gPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgaWQ9bGluazMzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMycsICdsaW5rMzMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzMycpIj5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBjbG9zZSBhbiBhbHJlYWR5IG9wZW5lZCBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUDwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rMzQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM0JywgJ2xpbmszNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM0JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+PC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rMzUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM1JywgJ2xpbmszNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM1JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFycyIgaWQ9bGluazM2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNicsICdsaW5rMzYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNicpIj5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPjwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGlkPWxpbmszNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzcnLCAnbGluazM3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzcnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj48L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzIiBpZD1saW5rMzggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM4JywgJ2xpbmszOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM4JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gYWRkIGEgSG9zdCBoZWFkZXIgdG8gdGhlIEhUVFAgbWVzc2FnZXIgdG8gYmUgc2VudC4gPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIiIGlkPWxpbmszOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzknLCAnbGluazM5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzknKSI+Zl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+VGVzdCBzdGVwIHRvIGZldGNoIHRoZSBjbGllbnQgbmFtZSBvZiBhbiBIVFRQIHJlc3BvbnNlIHNlbnQgYnkgTGVzaGFuIGludG8gYSB2YXJpYWJsZTwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGlkPWxpbms0MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDAnLCAnbGluazQwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDAnKSI+Zl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3Q8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGZpbmFsIHZlcmRpY3QgcmVwb3J0ZWQgYnkgdGhlIEZTTSB1c2luZyBhIHZlcmRpY3QgdmFyaWFibGUgYXMgcGFyYW1ldGVyLjwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiBTTWFya2VkIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0iIGlkPWxpbms0MSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDEnLCAnbGluazQxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDEnKSI+Zl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gcHJpbnQgYSBzdHJpbmcgcGFyYW1ldGVyIGFzIGEgVFRDTi0zIGFjdGlvbigpIHN0YXRlbWVudDwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMiIGlkPWxpbms0MiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDInLCAnbGluazQyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDInKSI+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBpbml0IHJlc291cmNlcyBvZiB0aGUgUmVnRGVyZWcgRlNNPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyIgaWQ9bGluazQzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MycsICdsaW5rNDMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MycpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBjcmVhdGUgcmVzb3VyY2VzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGlkPWxpbms0NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDQnLCAnbGluazQ0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDQnKSI+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gaW5pdGlhbGl6ZSB0aGUgQ09BUCB0cmFuc3BvcnQgKGVpdGhlciBVRFAsIG9yIERUTFMtUFNLKSBvZiB0aGUgU2ltRGV2aWNlIEZTTS4gPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyIgaWQ9bGluazQ1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NScsICdsaW5rNDUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NScpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPlRlc3Qgc3RlcCB0byBpbml0IHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBpZD1saW5rNDYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ2JywgJ2xpbms0NicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ2JykiPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gdXBkYXRlIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSIgaWQ9bGluazQ3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NycsICdsaW5rNDcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NycpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gaGFuZGxlIGluY29taW5nIEx3TTJNIEVYRUNVVEUgcmVxdWVzdCBpbiB0aGUgU2ltRGV2aWNlIEZTTTwvdGQ+PC90cj48dHIgY2xhc3M9IlNGdW5jdGlvbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtcyIgaWQ9bGluazQ4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0OCcsICdsaW5rNDgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0OCcpIj5mX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UZXN0IHN0ZXAgdG8gZ2VuZXJhdGUgYSByYW5kb20gbnVtYmVyIGFuZCBsb2FkIGl0IGludG8gYW4gaW50ZWdlciB2YXJpYWJsZS4gPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9kaXY+PCEtLUVORF9ORF9TVU1NQVJZLS0+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0Ij48L2E+Y19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdDwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QgOj0gJnF1b3Q7SU9UIEFwcDogdGNGaW5pc2hlZF93aXRoVmVyZGljdCZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgdGVzdCBjYXNlIGZpbmlzaGVkIHRlc3Qgc3RlcDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rOTUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQwJywgJ2xpbms5NScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQwJykiPmZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtIj48L2E+Y19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW08L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9wcmludF9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwOiBwcmludF9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcHJpbnQgc3RyaW5nIHRlc3Qgc3RlcDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazk2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MScsICdsaW5rOTYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MScpIj5mX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDQ29uc3RhbnQiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iY19JT1Rfc3RlcE5hbWVfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zIj48L2E+Y19JT1Rfc3RlcE5hbWVfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zIDo9ICZxdW90O0lPVCBBcHA6IGdlblJuZFZhbHVlX3ZhclBhcmFtcyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdGVzdCBzdGVwPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazk3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0OCcsICdsaW5rOTcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0OCcpIj5mX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyI+PC9hPmNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIENPQVA6IHNldExvY2FsQWRkcmVzc19ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHNldHRpbmcgdGhlIENPQVAgbG9jYWwgYWRkcmVzcyB0ZXN0IHN0ZXA8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgRnVuY3Rpb248L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rOTggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI2JywgJ2xpbms5OCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI2JykiPmZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDQ29uc3RhbnQiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIj48L2E+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgTVFUVDogc2V0TG9jYWxBZGRyZXNzX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3Igc2V0dGluZyB0aGUgTVFUVCBsb2NhbCBhZGRyZXNzIHRlc3Qgc3RlcDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbms5OSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjcnLCAnbGluazk5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjcnKSI+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIj48L2E+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBNUVRUOiBzZXRDbGllbnRJZF9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIE1RVFQgY2xpZW50IGlkPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMDAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI4JywgJ2xpbmsxMDAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyOCcpIj5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciI+PC9hPmNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIgOj0gJnF1b3Q7SU9UIEFwcCBMd00yTTogc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBMd00yTSBlbmRwb2ludCBuYW1lIGluIHRoZSBSZWdpc3RlciBtZXNzYWdlPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTAxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyOScsICdsaW5rMTAxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjknKSI+Zl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciI+PC9hPmNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhcjwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciA6PSAmcXVvdDtJT1QgQXBwIEx3TTJNOiBzZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBMd00yTSBlbmRwb2ludCBuYW1lIGluIHRoZSBSZWdpc3RlciBtZXNzYWdlPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazEwMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzAnLCAnbGluazEwMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMwJykiPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDQ29uc3RhbnQiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iY19JT1Rfc3RlcE5hbWVfSFRUUF9pbml0RW50aXR5Q29udGV4dCI+PC9hPmNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0IDo9ICZxdW90O0lPVCBBcHAgSFRUUDogaW5pdEVudGl0eUNvbnRleHQmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0aWFsaXplcyB0aGUgSFRUUCBlbnRpdHkgY29udGV4dDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTAzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMScsICdsaW5rMTAzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzEnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDQ29uc3RhbnQiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iY19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMiPjwvYT5jX0lPVF9zdGVwTmFtZV9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFyczwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogb3BlbkNvbm5lY3Rpb25fYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgb3BlbnMgYW4gSFRUUCBjb25uZWN0aW9uPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTA0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMicsICdsaW5rMTA0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzInKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uIj48L2E+Y19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2Nsb3NlQ29ubmVjdGlvbiA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGNsb3NlQ29ubmVjdGlvbiZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNsb3NlcyB0aGUgb3BlbmVkIEhUVFAgY29ubmVjdGlvbjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfY2xvc2VDb25uZWN0aW9uIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazEwNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzMnLCAnbGluazEwNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMzJykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSI+PC9hPmNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBzZXRNZXRob2Rfc3RyaW5nUGFyYW0mcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBIVFRQIG1ldGhvZCBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTA2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNycsICdsaW5rMTA2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzcnKSI+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIj48L2E+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IHNldFVyaV9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIEhUVFAgcmVxdWVzdCBVUkkgZm9yIHRoZSBIVFRQIG1lc3NhZ2UgdG8gYmUgc2VudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazEwNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzQnLCAnbGluazEwNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM0JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIj48L2E+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBhZGRUb1VyaV9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNvbmNhdGVuYXRlcyBhIHN0cmluZyB0byB0aGUgSFRUUCByZXF1ZXN0IFVSSSBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMDggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM1JywgJ2xpbmsxMDgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNScpIj5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX2J5VmFycyI+PC9hPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9ieVZhcnMgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBhZGRUb1VyaV9ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjb25jYXRlbmF0ZXMgYSBzdHJpbmcgdG8gdGhlIEhUVFAgcmVxdWVzdCBVUkkgZm9yIHRoZSBIVFRQIG1lc3NhZ2UgdG8gYmUgc2VudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazEwOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzYnLCAnbGluazEwOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM2JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFyczwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzIj48L2E+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFyczwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBhZGRIb3N0SGVhZGVyX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGFkZHMgYSBIb3N0IGhlYWRlciB0byB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgRnVuY3Rpb248L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazExMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzgnLCAnbGluazExMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM4JykiPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciI+PC9hPmNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciA6PSAmcXVvdDtJT1QgQXBwIExlc2hhbjogZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBsb2FkcyB0aGUgY2xpZW50IG5hbWUgaW50byBhIHZhcmlhYmxlIGZyb20gYW4gSFRUUCByZXNwb25zZTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMTEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM5JywgJ2xpbmsxMTEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzOScpIj5mX0lPVF9MR2VuX3N0ZXBfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMiPjwvYT5jX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1JlZ0RlcmVnOiBpbml0UmVzb3VyY2VWYWx1ZXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0cyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBSZWdEZXJlZyBGU008L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgRnVuY3Rpb248L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazExMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDInLCAnbGluazExMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQyJykiPmZfSU9UX0xHZW5fc3RlcF9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIj48L2E+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogY3JlYXRlUmVzb3VyY2VzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY3JlYXRlcyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTEzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MycsICdsaW5rMTEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDMnKSI+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIj48L2E+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogaW5pdFJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazExNCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDUnLCAnbGluazExNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ1JykiPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNDb25zdGFudCI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciI+PC9hPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IGluaXRUcmFuc3BvcnRfYm9vbFZhciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGluaXRzIHRoZSB0cmFuc3BvcnQgKFVEUCwgb3IgRFRMUy1QU0spIGZvciB0aGUgU2ltRGV2IEZTTSZyc3F1bztzIEx3TTJNIHByb3RvY29sPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIEZ1bmN0aW9uPC9oND48dWw+PGxpPjxhIGhyZWY9IiNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGNsYXNzPUxGdW5jdGlvbiBpZD1saW5rMTE1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NCcsICdsaW5rMTE1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDQnKSI+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMiPjwvYT5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogdXBkYXRlUmVzb3VyY2VWYWx1ZXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCB1cGRhdGVzIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgRnVuY3Rpb248L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBjbGFzcz1MRnVuY3Rpb24gaWQ9bGluazExNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDYnLCAnbGluazExNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ2JykiPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0NvbnN0YW50Ij48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSI+PC9hPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogaGFuZGxlRXhlY3V0ZSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGhhbmRsZXMgTHdNMk0gRVhFQ1VURSByZXF1ZXN0cyBvbiB0aGUgU2ltRGV2aWNlIEZTTTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBGdW5jdGlvbjwvaDQ+PHVsPjxsaT48YSBocmVmPSIjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSIgY2xhc3M9TEZ1bmN0aW9uIGlkPWxpbmsxMTcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ3JywgJ2xpbmsxMTcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NycpIj5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzIj48L2E+Zl9JT1RfTEdlbl9kZWNsYXJlU3RlcHM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMoKSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5GdW5jdGlvbiB0byBkZWNsYXJlIGFsbCB0aGUgUklvVCBhcHBsaWNhdGlvbiByZWxhdGVkIHRlc3Qgc3RlcHM8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZXM8L2g0PjxwPjxhIGhyZWY9IklPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9DVCIgY2xhc3M9TFR5cGUgaWQ9bGluazExOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NTAnLCAnbGluazExOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUwJykiPklPVF9MR2VuX0NUPC9hPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cCI+PC9hPmZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cDwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXAoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1QgcmV0dXJuIGludGVnZXI8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkNhbGN1bGF0ZXMgdGhlIGluZGV4IG9mIHRoZSBlbnRpdHkgaW5zaWRlIGl0cyBlbnRpdHkgZ3JvdXA8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIHBhcmFtZXRlcnM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGxvY2FsIGFkZHJlc3MgaW4gdGhlIENPQVAgZW50aXR5IGNvbnRleHQgJmx0O0NPQVBfRW50aXR5Q3R4Jmd0Oy4mbmJzcDsgUGFyYW1ldGVycyBhcmUgcmVxdWlyZWQuJm5ic3A7IFRoZSBmdW5jdGlvbiB3aWxsIHRha2UgdGhlIGJhc2UgcG9ydCBudW1iZXIgZnJvbSB0aGUgcGFyYW1ldGVycyBhbmQgYWRkcyB0aGUgZW50aXR5JnJzcXVvO3Mgb2Zmc2V0IGluc2lkZSBpdHMgZW50aXR5IGdyb3VwIChvciBpbiBjYXNlIHRoZSAzcmQgcGFyYW1ldGVyIGlzIHByZXNlbnQsIHRoZW4gdGhlIHZhbHVlIGZvdW5kIHRoZXJlKSB0byBnZXQgaXRzIGFzc2lnbmVkIHBvcnQgbnVtYmVyLjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWzBdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZyB2YXJpYWJsZTwvYj4gLSBsb2NhbCBob3N0PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMV08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyIHZhcmlhYmxlPC9iPiAtIGxvY2FsIHBvcnQ8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1syXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmludGVnZXIgdmFyaWFibGU8L2I+IC0gb2Zmc2V0IFtvcHRpb25hbF08L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazExOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQnKSI+Y19JT1Rfc3RlcE5hbWVfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGxvY2FsIGFkZHJlc3MgaW4gdGhlIE1RVFQgZW50aXR5IGNvbnRleHQuJm5ic3A7IFBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkLiZuYnNwOyBUaGUgZnVuY3Rpb24gd2lsbCB0YWtlIHRoZSBiYXNlIHBvcnQgbnVtYmVyIGZyb20gdGhlIHBhcmFtZXRlcnMgYW5kIGFkZHMgdGhlIGVudGl0eSZyc3F1bztzIG9mZnNldCBpbnNpZGUgaXRzIGVudGl0eSBncm91cCAob3IgaW4gY2FzZSB0aGUgM3JkIHBhcmFtZXRlciBpcyBwcmVzZW50LCB0aGVuIHRoZSB2YWx1ZSBmb3VuZCB0aGVyZSkgdG8gZ2V0IGl0cyBhc3NpZ25lZCBwb3J0IG51bWJlci48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1swXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmNoYXJzdHJpbmcgdmFyaWFibGU8L2I+IC0gbG9jYWwgaG9zdDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWzFdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW50ZWdlciB2YXJpYWJsZTwvYj4gLSBsb2NhbCBwb3J0PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMl08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyIHZhcmlhYmxlPC9iPiAtIG9mZnNldCBbb3B0aW9uYWxdPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTIwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbmsxMjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1JykiPmNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSI+PC9hPmZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBjbGllbnQgaWQgdGhlIE1RVFQgZW50aXR5IGNvbnRleHQuJm5ic3A7IFBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkLiZuYnNwOyBUaGUgZnVuY3Rpb24gd2lsbCB0YWtlIHRoZSBlbnRpdHkmcnNxdW87cyBvZmZzZXQgaW5zaWRlIGl0cyBlbnRpdHkgZ3JvdXAgYW5kIGNvbmNhdGVuYXRlIGl0IHRvIHRoZSBzdHJpbmcgcGFyYW1ldGVyIG9mIHRoZSB0ZXN0IHN0ZXA8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy5jaGFyc3RyaW5nVmFsPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZzwvYj4gLSBiYXNlIGNsaWVudCBpZDwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMjEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDYnLCAnbGluazEyMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSI+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBlbmRwb2ludCBjbGllbnQgbmFtZSBpbiB0aGUgTFdNMk0gUmVnaXN0ZXIgbWVzc2FnZSB0aGF0IG11c3QgYmUgcHJldmlvdXNseSBsb2FkZWQgaW50byA8Yj52X0x3TTJNX21zZ1RvU2VuZDwvYj4uJm5ic3A7IFRoZSB0ZXN0IHN0ZXAgY3VycmVudGx5IGhhcmQgY29kZXMgdGhlIGJhc2UgbmFtZSB0byAmbGRxdW87ZWFudHd1aERldl8mcmRxdW87IGFuZCBjb25jYXRlbmF0ZXMgdGhlIGVudGl0eSZyc3F1bztzIGluZGV4IGluc2lkZSBpdHMgZW50aXR5IGdyb3VwPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9wdHI8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gJmx0O0VQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJmd0OyAtIHRlc3Qgc3RlcCBhcmdzPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcnLCAnbGluazEyMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcnKSI+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI8L2E+PC9saT48L3VsPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIHRlc3Qgc3RlcHM8L2g0Pjx1bD48bGk+Jmx0O2ZfQ09BUF9zdGVwX2xvYWRUZW1wbGF0ZV9ieVN0cmluZ0lkJmd0OzwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGVuZHBvaW50IGNsaWVudCBuYW1lIGluIHRoZSBMV00yTSBSZWdpc3RlciBtZXNzYWdlIHRoYXQgbXVzdCBiZSBwcmV2aW91c2x5IGxvYWRlZCBpbnRvIDxiPnZfTHdNMk1fbXNnVG9TZW5kPC9iPi4mbmJzcDsgVGhlIHRlc3Qgc3RlcCBleHBlY3RzIHRoZSBiYXNlIG5hbWUgdG8gYmUgcGFzc2VkIGFzIGEgc3RyaW5nIHBhcmFtZXRlciBhbmQgY29uY2F0ZW5hdGVzIHRoZSBlbnRpdHkmcnNxdW87cyBpbmRleCBpbnNpZGUgaXRzIGVudGl0eSBncm91cDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWzBdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZyB2YXJpYWJsZTwvYj4gLSBiYXNlIG5hbWU8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMjMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgnLCAnbGluazEyMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgnKSI+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyPC9hPjwvbGk+PC91bD48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCB0ZXN0IHN0ZXBzPC9oND48dWw+PGxpPiZsdDtmX0NPQVBfc3RlcF9sb2FkVGVtcGxhdGVfYnlTdHJpbmdJZCZndDs8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dCI+PC9hPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2luaXRFbnRpdHlDb250ZXh0PC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2luaXRFbnRpdHlDb250ZXh0KDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gaW5pdGlhbGl6ZSB0aGUgSFRUUCBlbnRpdHkgY29udGV4dCBieSBjYWxsaW5nICZsdDtmX0VQVEZfSFRUUF9zZXRFbnRpdHlDb250ZXh0Jmd0Oy48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTI0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbmsxMjQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ5JykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIG9wZW4gYSBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUC4mbmJzcDsgUmVxdWlyZXMgcGFyYW1ldGVyczwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWzBdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZyB2YXJpYWJsZTwvYj4gLSBsb2NhbCBob3N0PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMV08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyIHZhcmlhYmxlPC9iPiAtIGxvY2FsIHBvcnQ8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1syXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmNoYXJzdHJpbmcgdmFyaWFibGU8L2I+IC0gcmVtb3RlIGhvc3Q8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1szXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmludGVnZXIgdmFyaWFibGU8L2I+IC0gcmVtb3RlIHBvcnQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEyNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTAnLCAnbGluazEyNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEwJykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbiI+PC9hPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9jbG9zZUNvbm5lY3Rpb24oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBjbG9zZSBhbiBhbHJlYWR5IG9wZW5lZCBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb24iIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTI2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMScsICdsaW5rMTI2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTEnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+VGVzdCBzdGVwIHRvIHNldCBhIHN0cmluZzwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPnNwZWNpZmllZCBhcyBhIHBhcmFtZXRlciAtIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIG9mIHRoZSBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLmNoYXJzdHJpbmdWYWw8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5jaGFyc3RyaW5nPC9iPiAtIFVSSSB0byBiZSBzZXQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEyNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTMnLCAnbGluazEyNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEzJykiPmNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW08L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PlRlc3Qgc3RlcCB0byBhZGQgYSBzdHJpbmc8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj5zcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXIgLSB0byB0aGUgSFRUUCByZXF1ZXN0IFVSSSBvZiB0aGUgbWVzc2FnZSB0byBiZSBzZW50PC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy5jaGFyc3RyaW5nVmFsPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZzwvYj4gLSBVUkkgcGFydCB0byBiZSBjb25jYXRlbmF0ZWQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0iIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTI4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNCcsICdsaW5rMTI4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnMiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9VcmlfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5UZXN0IHN0ZXAgdG8gYWRkIGEgc3RyaW5nPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+c3BlY2lmaWVkIGFzIHZhcmlhZGljIHBhcmFtZXRlciAtIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIG9mIHRoZSBtZXNzYWdlIHRvIGJlIHNlbnQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWypdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZyB2YXJpYWJsZTwvYj4gLSBzdHJpbmcgdG8gYmUgYWRkZWQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0iIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTI5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNCcsICdsaW5rMTI5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTQnKSI+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iPjwvYT5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBtZXRob2Q8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj5zcGVjaWZpZWQgYXMgYSBzdHJpbmcgcGFyYW1ldGVyIC0gb2YgdGhlIEhUVFAgcmVxdWVzdCB0byBiZSBzZW50PC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy5jaGFyc3RyaW5nVmFsPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+Y2hhcnN0cmluZzwvYj4gLSBtZXRob2QgdG8gYmUgc2V0PC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMzAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEyJywgJ2xpbmsxMzAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMicpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyI+PC9hPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gYWRkIGEgSG9zdCBoZWFkZXIgdG8gdGhlIEhUVFAgbWVzc2FnZXIgdG8gYmUgc2VudC4mbmJzcDsgUmVxdWlyZXMgcGFyYW1ldGVycy48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1swXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmNoYXJzdHJpbmcgdmFyaWFibGU8L2I+IC0gaG9zdCBuYW1lPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMV08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbnRlZ2VyIHZhcmlhYmxlPC9iPiAtIHBvcnQgbmFtZTwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMzEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE2JywgJ2xpbmsxMzEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNicpIj5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBmZXRjaCB0aGUgY2xpZW50IG5hbWUgb2YgYW4gSFRUUCByZXNwb25zZSBzZW50IGJ5IExlc2hhbiBpbnRvIGEgdmFyaWFibGU8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1swXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmNoYXJzdHJpbmcgdmFyaWFibGU8L2I+IC0gY2xpZW50IG5hbWUgd2lsbCBiZSBsb2FkZWQgaGVyZTwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEzMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTcnLCAnbGluazEzMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE3JykiPmNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfdGNGaW5pc2hlZF93aXRoVmVyZGljdCI+PC9hPmZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0KDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBmaW5hbCB2ZXJkaWN0IHJlcG9ydGVkIGJ5IHRoZSBGU00gdXNpbmcgYSB2ZXJkaWN0IHZhcmlhYmxlIGFzIHBhcmFtZXRlci48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52ZXJkaWN0PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+dmVyZGljdHR5cGU8L2I+IC0gdmVyZGljdCB0byBiZSByZXBvcnRlZDwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdCIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxMzMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazEzMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSI+Y19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdDwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0iPjwvYT5mX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW08L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5UZXN0IHN0ZXAgdG8gcHJpbnQgYSBzdHJpbmcgcGFyYW1ldGVyIGFzIGEgVFRDTi0zIGFjdGlvbigpIHN0YXRlbWVudDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLmNoYXJzdHJpbmdWYWw8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5jaGFyc3RyaW5nPC9iPiAtIHRoZSBzdHJpbmcgdG8gYmUgcHJpbnRlZDwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW0iIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTM0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsxMzQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiPmNfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBpbml0IHJlc291cmNlcyBvZiB0aGUgUmVnRGVyZWcgRlNNPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9wdHI8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gJmx0O0VQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJmd0OyAtIHRlc3Qgc3RlcCBhcmdzPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEzNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTgnLCAnbGluazEzNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE4JykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIGNyZWF0ZSByZXNvdXJjZXMgb2YgdGhlIFNpbURldmljZSBGU008L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEzNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTknLCAnbGluazEzNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE5JykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciI+PC9hPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcjwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRlc3Qgc3RlcCB0byBpbml0aWFsaXplIHRoZSBDT0FQIHRyYW5zcG9ydCAoZWl0aGVyIFVEUCwgb3IgRFRMUy1QU0spIG9mIHRoZSBTaW1EZXZpY2UgRlNNLiZuYnNwOyBSZXF1aXJlcyBwYXJhbWV0ZXIuPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9wdHI8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gJmx0O0VQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJmd0OyAtIHRlc3Qgc3RlcCBhcmdzPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMF08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5ib29sZWFuIHZhcmlhYmxlPC9iPiAtIHdpbGwgdXNlIERUTFMtUFNLIHdoZW4gdHJ1ZSwgVURQIG90aGVyd2lzZTwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTM3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMScsICdsaW5rMTM3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjEnKSI+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIj48L2E+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIGluaXQgdGhlIHJlc291cmNlIHZhbHVlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cGxfcHRyPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtFUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZndDsgLSB0ZXN0IHN0ZXAgYXJnczwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIENvbnN0YW50czwvaDQ+PHVsPjxsaT48YSBocmVmPSIjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMiIGNsYXNzPUxDb25zdGFudCBpZD1saW5rMTM4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMCcsICdsaW5rMTM4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjAnKSI+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMiPjwvYT5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlczwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIHVwZGF0ZSB0aGUgcmVzb3VyY2UgdmFsdWVzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wbF9wdHI8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gJmx0O0VQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJmd0OyAtIHRlc3Qgc3RlcCBhcmdzPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPjxhIGhyZWY9IiNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBjbGFzcz1MQ29uc3RhbnQgaWQ9bGluazEzOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjInLCAnbGluazEzOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIyJykiPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSI+PC9hPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIGhhbmRsZSBpbmNvbWluZyBMd00yTSBFWEVDVVRFIHJlcXVlc3QgaW4gdGhlIFNpbURldmljZSBGU008L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBDb25zdGFudHM8L2g0Pjx1bD48bGk+PGEgaHJlZj0iI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSIgY2xhc3M9TENvbnN0YW50IGlkPWxpbmsxNDAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIzJywgJ2xpbmsxNDAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMycpIj5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtcyI+PC9hPmZfSU9UX0xHZW5fc3RlcF9nZW5SbmRWYWx1ZV92YXJQYXJhbXM8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+VGVzdCBzdGVwIHRvIGdlbmVyYXRlIGEgcmFuZG9tIG51bWJlciBhbmQgbG9hZCBpdCBpbnRvIGFuIGludGVnZXIgdmFyaWFibGUuJm5ic3A7IFRoZSBnZW5lcmF0ZWQgcmFuZG9tIG51bWJlciB3aWxsIGJlIGJldHdlZW4gdHdvIGludGVnZXJzIHByb3ZpZGVkIGFzIHBhcmFtZXRlcnMgdG8gc2V0IHRoZSBsaW1pdHMgZm9yIFJORy48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBsX3B0cjwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmZ3Q7IC0gdGVzdCBzdGVwIGFyZ3M8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5jb250ZXh0QXJncy52YXJOYW1lc1swXTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluIGludGVnZXIgdmFyaWFibGU8L2I+IC0gbWluIHZhbHVlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+Y29udGV4dEFyZ3MudmFyTmFtZXNbMV08L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbiBpbnRlZ2VyIHZhcmlhYmxlPC9iPiAtIG1heCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PmNvbnRleHRBcmdzLnZhck5hbWVzWzJdPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+b3V0IGludGVnZXIgdmFyaWFibGU8L2I+IC0gZ2VuZXJhdGVkIHZhbHVlPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgQ29uc3RhbnRzPC9oND48dWw+PGxpPiZsdDtjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2dlblJuZFZhbHVlX3ZhclBhcmFtcyZndDs8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzwvZGl2PjwhLS1Db250ZW50LS0+CisKKworCis8IS0tU1RBUlRfTkRfVE9PTFRJUFMtLT4KKzxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IDo9ICZxdW90O0lPVCBBcHA6IHRjRmluaXNoZWRfd2l0aFZlcmRpY3QmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgdGVzdCBjYXNlIGZpbmlzaGVkIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MiI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9wcmludF9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwOiBwcmludF9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgUklvVCBwcmludCBzdHJpbmcgdGVzdCBzdGVwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyA6PSAmcXVvdDtJT1QgQXBwOiBnZW5SbmRWYWx1ZV92YXJQYXJhbXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdGVzdCBzdGVwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIENPQVA6IHNldExvY2FsQWRkcmVzc19ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3Igc2V0dGluZyB0aGUgQ09BUCBsb2NhbCBhZGRyZXNzIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMgOj0gJnF1b3Q7SU9UIEFwcCBNUVRUOiBzZXRMb2NhbEFkZHJlc3NfYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHNldHRpbmcgdGhlIE1RVFQgbG9jYWwgYWRkcmVzcyB0ZXN0IHN0ZXA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDYiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIE1RVFQ6IHNldENsaWVudElkX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBNUVRUIGNsaWVudCBpZDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciA6PSAmcXVvdDtJT1QgQXBwIEx3TTJNOiBzZXRDbGllbnROYW1lSW5SZWdpc3RlciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgTHdNMk0gZW5kcG9pbnQgbmFtZSBpbiB0aGUgUmVnaXN0ZXIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0OCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIgOj0gJnF1b3Q7SU9UIEFwcCBMd00yTTogc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBMd00yTSBlbmRwb2ludCBuYW1lIGluIHRoZSBSZWdpc3RlciBtZXNzYWdlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ5Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBpbml0RW50aXR5Q29udGV4dCZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdGlhbGl6ZXMgdGhlIEhUVFAgZW50aXR5IGNvbnRleHQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEwIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogb3BlbkNvbm5lY3Rpb25fYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBvcGVucyBhbiBIVFRQIGNvbm5lY3Rpb248L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDExIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogY2xvc2VDb25uZWN0aW9uJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjbG9zZXMgdGhlIG9wZW5lZCBIVFRQIGNvbm5lY3Rpb248L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEyIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogc2V0TWV0aG9kX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBIVFRQIG1ldGhvZCBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IHNldFVyaV9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgSFRUUCByZXF1ZXN0IFVSSSBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxNCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogYWRkVG9Vcmlfc3RyaW5nUGFyYW0mcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNvbmNhdGVuYXRlcyBhIHN0cmluZyB0byB0aGUgSFRUUCByZXF1ZXN0IFVSSSBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxNSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGFkZFRvVXJpX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY29uY2F0ZW5hdGVzIGEgc3RyaW5nIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE2Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBhZGRIb3N0SGVhZGVyX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgYWRkcyBhIEhvc3QgaGVhZGVyIHRvIHRoZSBIVFRQIG1lc3NhZ2UgdG8gYmUgc2VudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTciPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIDo9ICZxdW90O0lPVCBBcHAgTGVzaGFuOiBnZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgbG9hZHMgdGhlIGNsaWVudCBuYW1lIGludG8gYSB2YXJpYWJsZSBmcm9tIGFuIEhUVFAgcmVzcG9uc2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE4Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9SZWdEZXJlZzogaW5pdFJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0cyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBSZWdEZXJlZyBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE5Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiBjcmVhdGVSZXNvdXJjZXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNyZWF0ZXMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjAiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IGluaXRSZXNvdXJjZVZhbHVlcyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjEiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IGluaXRUcmFuc3BvcnRfYm9vbFZhciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHRyYW5zcG9ydCAoVURQLCBvciBEVExTLVBTSykgZm9yIHRoZSBTaW1EZXYgRlNNJnJzcXVvO3MgTHdNMk0gcHJvdG9jb2w8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIyIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IHVwZGF0ZVJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCB1cGRhdGVzIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIzIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogaGFuZGxlRXhlY3V0ZSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaGFuZGxlcyBMd00yTSBFWEVDVVRFIHJlcXVlc3RzIG9uIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyNCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMoKSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkZ1bmN0aW9uIHRvIGRlY2xhcmUgYWxsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIHJlbGF0ZWQgdGVzdCBzdGVwczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjUiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVCByZXR1cm4gaW50ZWdlcjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DYWxjdWxhdGVzIHRoZSBpbmRleCBvZiB0aGUgZW50aXR5IGluc2lkZSBpdHMgZW50aXR5IGdyb3VwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyNiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBsb2NhbCBhZGRyZXNzIGluIHRoZSBDT0FQIGVudGl0eSBjb250ZXh0IENPQVBfRW50aXR5Q3R4LiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGxvY2FsIGFkZHJlc3MgaW4gdGhlIE1RVFQgZW50aXR5IGNvbnRleHQuIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGNsaWVudCBpZCB0aGUgTVFUVCBlbnRpdHkgY29udGV4dC4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyOSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGVuZHBvaW50IGNsaWVudCBuYW1lIGluIHRoZSBMV00yTSBSZWdpc3RlciBtZXNzYWdlIHRoYXQgbXVzdCBiZSBwcmV2aW91c2x5IGxvYWRlZCBpbnRvIDxiPnZfTHdNMk1fbXNnVG9TZW5kPC9iPi4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzMCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1Zhcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBlbmRwb2ludCBjbGllbnQgbmFtZSBpbiB0aGUgTFdNMk0gUmVnaXN0ZXIgbWVzc2FnZSB0aGF0IG11c3QgYmUgcHJldmlvdXNseSBsb2FkZWQgaW50byA8Yj52X0x3TTJNX21zZ1RvU2VuZDwvYj4uIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2luaXRFbnRpdHlDb250ZXh0KDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBpbml0aWFsaXplIHRoZSBIVFRQIGVudGl0eSBjb250ZXh0IGJ5IGNhbGxpbmcgZl9FUFRGX0hUVFBfc2V0RW50aXR5Q29udGV4dC48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIG9wZW4gYSBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUC4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzMyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfY2xvc2VDb25uZWN0aW9uKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBjbG9zZSBhbiBhbHJlYWR5IG9wZW5lZCBUQ1AgY29ubmVjdGlvbiBmb3IgSFRUUDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzQiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDM1Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDM2Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzNyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBhZGQgYSBIb3N0IGhlYWRlciB0byB0aGUgSFRUUCBtZXNzYWdlciB0byBiZSBzZW50LiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDM5Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBmZXRjaCB0aGUgY2xpZW50IG5hbWUgb2YgYW4gSFRUUCByZXNwb25zZSBzZW50IGJ5IExlc2hhbiBpbnRvIGEgdmFyaWFibGU8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfdGNGaW5pc2hlZF93aXRoVmVyZGljdCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBmaW5hbCB2ZXJkaWN0IHJlcG9ydGVkIGJ5IHRoZSBGU00gdXNpbmcgYSB2ZXJkaWN0IHZhcmlhYmxlIGFzIHBhcmFtZXRlci48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQxIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHByaW50IGEgc3RyaW5nIHBhcmFtZXRlciBhcyBhIFRUQ04tMyBhY3Rpb24oKSBzdGF0ZW1lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdCByZXNvdXJjZXMgb2YgdGhlIFJlZ0RlcmVnIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDMiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gY3JlYXRlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDQiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdGlhbGl6ZSB0aGUgQ09BUCB0cmFuc3BvcnQgKGVpdGhlciBVRFAsIG9yIERUTFMtUFNLKSBvZiB0aGUgU2ltRGV2aWNlIEZTTS4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBpbml0IHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQ2Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gdXBkYXRlIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQ3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBoYW5kbGUgaW5jb21pbmcgTHdNMk0gRVhFQ1VURSByZXF1ZXN0IGluIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0OCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gZ2VuZXJhdGUgYSByYW5kb20gbnVtYmVyIGFuZCBsb2FkIGl0IGludG8gYW4gaW50ZWdlciB2YXJpYWJsZS4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0OSI+PGRpdiBjbGFzcz1DRmlsZT5UaGlzIG1vZHVsZSBjb250YWlucyB0aGUgZGVmaW5pdGlvbnMgZm9yIGFuIElvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDUwIj48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwgYi9hcGlkb2MvaHRtbC9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ1NDQ4NAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL2ZpbGVzL0luZmx1eERCX0RlZmluaXRpb25zLXR0Y24uaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPi9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbiAtIElvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrPC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9wcmV0dGlmeS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRDb250ZW50UGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpO3ByZXR0eVByaW50KCk7Ij48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUNvbnRlbnQ+PGRpdiBjbGFzcz0iQ0ZpbGUiPjxkaXYgY2xhc3M9Q1RvcGljIGlkPU1haW5Ub3BpYz48aDEgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9IkluZmx1eERCX0RlZmluaXRpb25zLnR0Y24iPjwvYT5JbmZsdXhEQl9EZWZpbml0aW9ucy50dGNuPC9oMT48ZGl2IGNsYXNzPUNCb2R5PjwhLS1TVEFSVF9ORF9TVU1NQVJZLS0+PGRpdiBjbGFzcz1TdW1tYXJ5PjxkaXYgY2xhc3M9U1RpdGxlPlN1bW1hcnk8L2Rpdj48ZGl2IGNsYXNzPVNCb3JkZXI+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1TVGFibGU+PHRyIGNsYXNzPSJTTWFpbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbiIgPkluZmx1eERCX0RlZmluaXRpb25zLnR0Y248L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPjwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0luZmx1eERCX2RlYnVnIiA+dHNwX0luZmx1eERCX2RlYnVnPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5FbmFibGUvZGlzYWJsZSBkZWJ1ZyBsb2dnaW5nPC90ZD48L3RyPjx0ciBjbGFzcz0iU01vZHVsZVBhcmFtZXRlciI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydCIgPnRzcF9JbmZsdXhEQl9jbGllbnRfYmFzZVBvcnQ8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkxvY2FsIHBvcnQgbnVtYmVyIHVzZWQgZm9yIHRoZSBVRFAgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQjwvdGQ+PC90cj48dHIgY2xhc3M9IlNNb2R1bGVQYXJhbWV0ZXIgU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjdHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZCIgPnRzcF9JbmZsdXhEQl9yZXBvcnRQZXJpb2Q8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkluZmx1eERCIGV2ZW50IGhhbmRsZXIgcmVwb3J0aW5nIHBlcmlvZDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfU1VNTUFSWS0tPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDTW9kdWxlUGFyYW1ldGVyIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9InRzcF9JbmZsdXhEQl9kZWJ1ZyI+PC9hPnRzcF9JbmZsdXhEQl9kZWJ1ZzwvaDM+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+RW5hYmxlL2Rpc2FibGUgZGVidWcgbG9nZ2luZzwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+VHlwZTwvaDQ+PHA+PGI+Ym9vbGVhbjwvYj48L3A+PGg0IGNsYXNzPUNIZWFkaW5nPkRlZmF1bHQgdmFsdWU8L2g0PjxwPjxiPmZhbHNlPC9iPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ01vZHVsZVBhcmFtZXRlciI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJ0c3BfSW5mbHV4REJfY2xpZW50X2Jhc2VQb3J0Ij48L2E+dHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydDwvaDM+PGRpdiBjbGFzcz1DQm9keT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+TG9jYWwgcG9ydCBudW1iZXIgdXNlZCBmb3IgdGhlIFVEUCBjb25uZWN0aW9uIHdpdGggdGhlIEluZmx1eERCPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5UeXBlPC9oND48cD48Yj5pbnRlZ2VyPC9iPjwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+RGVmYXVsdCB2YWx1ZTwvaDQ+PHA+PGI+OTAwMDwvYj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNNb2R1bGVQYXJhbWV0ZXIiPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0idHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZCI+PC9hPnRzcF9JbmZsdXhEQl9yZXBvcnRQZXJpb2Q8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkluZmx1eERCIGV2ZW50IGhhbmRsZXIgcmVwb3J0aW5nIHBlcmlvZDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+VHlwZTwvaDQ+PHA+PGI+ZmxvYXQ8L2I+PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5EZWZhdWx0IHZhbHVlPC9oND48cD48Yj4zLjA8L2I+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8L2Rpdj48IS0tQ29udGVudC0tPgorCisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sIGIvYXBpZG9jL2h0bWwvZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDEyNjlkCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbApAQCAtMCwwICsxLDQyIEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPi9ob21lL0VUSEdSWS9UaXRhbl9GT1NTL0FwcGxpY2F0aW9uTGlicmFyaWVzL0lvVF9Mb2FkdGVzdF9GcmFtZXdvcmsvSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24gLSBJb1RfTG9hZF9UZXN0X0ZyYW1ld29yazwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvcHJldHRpZnkuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkQ29udGVudFBhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKTtwcmV0dHlQcmludCgpOyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1Db250ZW50PjxkaXYgY2xhc3M9IkNGaWxlIj48ZGl2IGNsYXNzPUNUb3BpYyBpZD1NYWluVG9waWM+PGgxIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJJbmZsdXhEQl9GdW5jdGlvbnMudHRjbiI+PC9hPkluZmx1eERCX0Z1bmN0aW9ucy50dGNuPC9oMT48ZGl2IGNsYXNzPUNCb2R5PjwhLS1TVEFSVF9ORF9TVU1NQVJZLS0+PGRpdiBjbGFzcz1TdW1tYXJ5PjxkaXYgY2xhc3M9U1RpdGxlPlN1bW1hcnk8L2Rpdj48ZGl2IGNsYXNzPVNCb3JkZXI+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1TVGFibGU+PHRyIGNsYXNzPSJTTWFpbiI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24iID5JbmZsdXhEQl9GdW5jdGlvbnMudHRjbjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+PC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSU9UX0xHZW5fYmVoYXZpb3IiID5mX0lPVF9MR2VuX2JlaGF2aW9yPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5UaGUgbWFpbiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlICZsdDtJbmZsdXhEQl9DVCZndDsgY29tcG9uZW50IHR5cGU8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSW5mbHV4REJfY29ubmVjdCIgaWQ9bGluazEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxJykiPmZfSW5mbHV4REJfY29ubmVjdDwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+U2V0dXAgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JbmZsdXhEQl9zZW5kIiBpZD1saW5rMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSI+Zl9JbmZsdXhEQl9zZW5kPC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5TZW5kcyBhIHJlcG9ydCB0byB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSW5mbHV4REJfZW5jb2RlIiBpZD1saW5rMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MycsICdsaW5rMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMnKSI+Zl9JbmZsdXhEQl9lbmNvZGU8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkNvbnZlcnRzIGEgcmVwb3J0IHRvIGNoYXJzdHJpbmcgZm9ybWF0PC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIFNNYXJrZWQiPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQiIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NCcpIj5mX0luZmx1eERCX3NldE1lYXN1cmVtZW50PC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5TZXRzIHRoZSBtZWFzdXJlbWVudCBmaWVsZCBvZiBhbiBJbmZsdXhEQiByZXBvcnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2ZfSW5mbHV4REJfYWRkVGFnIiBpZD1saW5rNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NScsICdsaW5rNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUnKSI+Zl9JbmZsdXhEQl9hZGRUYWc8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkFkZHMgYSB0YWcgdG8gdGhlIHRhZy1saXN0IG9mIGFuIEluZmx1eERCIG1lc3NhZ2U8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JbmZsdXhEQl9hZGRGaWVsZCIgaWQ9bGluazYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDYnLCAnbGluazYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2JykiPmZfSW5mbHV4REJfYWRkRmllbGQ8L2E+PC90ZD48dGQgY2xhc3M9U0Rlc2NyaXB0aW9uPkFkZHMgYSBmaWVsZCB0byB0aGUgZmllbGQtbGlzdCBvZiBhbiBJbmZsdXhEQiBtZXNzYWdlPC90ZD48L3RyPjx0ciBjbGFzcz0iU0Z1bmN0aW9uIj48dGQgY2xhc3M9U0VudHJ5PjxhIGhyZWY9IiNmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydCIgaWQ9bGluazcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcnLCAnbGluazcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3JykiPmZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0PC9hPjwvdGQ+PHRkIGNsYXNzPVNEZXNjcmlwdGlvbj5TZXRzIHRoZSB0YXJnZXQgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24gU01hcmtlZCI+PHRkIGNsYXNzPVNFbnRyeT48YSBocmVmPSIjZl9JbmxmdXhEQl9sb2dfZGVidWciIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ4JywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OCcpIj5mX0lubGZ1eERCX2xvZ19kZWJ1ZzwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+SWYgZGVidWcgbG9nIGlzIHNldCwgd3JpdGUgdGhlIHBhcmFtZXRlciB0byB0aGUgbG9nIGZpbGU8L3RkPjwvdHI+PHRyIGNsYXNzPSJTRnVuY3Rpb24iPjx0ZCBjbGFzcz1TRW50cnk+PGEgaHJlZj0iI2FzX0luZmx1eERCX2V2ZW50SGFuZGxlciIgaWQ9bGluazkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDknLCAnbGluazknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ5JykiPmFzX0luZmx1eERCX2V2ZW50SGFuZGxlcjwvYT48L3RkPjx0ZCBjbGFzcz1TRGVzY3JpcHRpb24+V2hlbiByZXBvcnQgcGVyaW9kIGV4cGlyZWQsIHJlc3RhcnRzIHRoZSBJbmZsdXhEQiBldmVudCBoYW5kbGVyIGFuZCBzZXRzIHRoZSB0aW1lIG9mIHRoZSBuZXh0IHJlcG9ydDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfU1VNTUFSWS0tPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JT1RfTEdlbl9iZWhhdmlvciI+PC9hPmZfSU9UX0xHZW5fYmVoYXZpb3I8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlRoZSBtYWluIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgJmx0O0luZmx1eERCX0NUJmd0OyBjb21wb25lbnQgdHlwZTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cF9sZ2VuSWR4PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+IDxiPmludGVnZXI8L2I+IC0gdGhlIGluZGV4IG9mIHRoZSBjb21wb25lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48cD4mbHQ7SW5mbHV4REJfQ1QmZ3Q7PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JbmZsdXhEQl9jb25uZWN0Ij48L2E+Zl9JbmZsdXhEQl9jb25uZWN0PC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmZ1bmN0aW9uIGZfSW5mbHV4REJfY29ubmVjdCgpIHJ1bnMgb24gSW5mbHV4REJfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPlNldHVwIHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIEluZmx1eERCIGRhdGFiYXNlPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48cD4mbHQ7SW5mbHV4REJfQ1QmZ3Q7PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JbmZsdXhEQl9zZW5kIj48L2E+Zl9JbmZsdXhEQl9zZW5kPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5mbHV4REJfc2VuZCg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhMaW5lUHJvdG9jb2wmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9kYXRhPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5TZW5kcyBhIHJlcG9ydCB0byB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBfZGF0YTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmluPC9iPiAmbHQ7SW5mbHV4TGluZVByb3RvY29sJmd0OyAtIFJlcG9ydCB0byBzZW5kPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZTwvaDQ+PHA+Jmx0O0luZmx1eERCX0NUJmd0OzwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSW5mbHV4REJfZW5jb2RlIj48L2E+Zl9JbmZsdXhEQl9lbmNvZGU8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9lbmNvZGUoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcHJvdCw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX2VuY29kZWQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5Db252ZXJ0cyBhIHJlcG9ydCB0byBjaGFyc3RyaW5nIGZvcm1hdDwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cF9wcm90PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtJbmZsdXhMaW5lUHJvdG9jb2wmZ3Q7LCBNZXNzYWdlIHRvIHNlbmQ8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wX2VuY29kZWQ8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5vdXQ8L2I+IDxiPmNoYXJzdHJpbmc8L2I+IC0gT3V0cHV0IHN0cmluZzwvdGQ+PC90cj48L3RhYmxlPjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIFR5cGU8L2g0PjwvZGl2PjwvZGl2PjwvZGl2PgorCis8ZGl2IGNsYXNzPSJDRnVuY3Rpb24iPjxkaXYgY2xhc3M9Q1RvcGljPjxoMyBjbGFzcz1DVGl0bGU+PGEgbmFtZT0iZl9JbmZsdXhEQl9zZXRNZWFzdXJlbWVudCI+PC9hPmZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQ8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9zZXRNZWFzdXJlbWVudCg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmlub3V0Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhMaW5lUHJvdG9jb2wmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9wZHUsPC90ZD48L3RyPjx0cj48dGQ+PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX21lYXN1cmVtZW50PC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48aDQgY2xhc3M9Q0hlYWRpbmc+UHVycG9zZTwvaDQ+PHA+U2V0cyB0aGUgbWVhc3VyZW1lbnQgZmllbGQgb2YgYW4gSW5mbHV4REIgcmVwb3J0PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wX3BkdTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmlub3V0PC9iPiAmbHQ7SW5mbHV4TGluZVByb3RvY29sJmd0OywgSW5mbHV4IG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wX21lYXN1cmVtZW50PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+IDxiPmNoYXJzdHJpbmc8L2I+IC0gbWVhc3VyZW1lbnQgdmFsdWU8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSW5mbHV4REJfYWRkVGFnIj48L2E+Zl9JbmZsdXhEQl9hZGRUYWc8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9hZGRUYWcoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcGR1LDwvdGQ+PC90cj48dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eEF0dHJWYWx1ZSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3RhZzwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkFkZHMgYSB0YWcgdG8gdGhlIHRhZy1saXN0IG9mIGFuIEluZmx1eERCIG1lc3NhZ2U8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9Q0Rlc2NyaXB0aW9uTGlzdD48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBfcGR1PC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW5vdXQ8L2I+ICZsdDtJbmZsdXhMaW5lUHJvdG9jb2wmZ3Q7LCBJbmZsdXggbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUNETEVudHJ5PnBfdGFnPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtJbmZsdXhBdHRyVmFsdWUmZ3Q7IC0gdGFnIHZhbHVlIHRvIGJlIGFkZGVkPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZTwvaDQ+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0luZmx1eERCX2FkZEZpZWxkIj48L2E+Zl9JbmZsdXhEQl9hZGRGaWVsZDwvaDM+PGRpdiBjbGFzcz1DQm9keT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX2FkZEZpZWxkKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW5vdXQmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eExpbmVQcm90b2NvbCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3BkdSw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhBdHRyVmFsdWUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9maWVsZDwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PGg0IGNsYXNzPUNIZWFkaW5nPlB1cnBvc2U8L2g0PjxwPkFkZHMgYSBmaWVsZCB0byB0aGUgZmllbGQtbGlzdCBvZiBhbiBJbmZsdXhEQiBtZXNzYWdlPC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPUNEZXNjcmlwdGlvbkxpc3Q+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wX3BkdTwvdGQ+PHRkIGNsYXNzPUNETERlc2NyaXB0aW9uPjxiPmlub3V0PC9iPiAmbHQ7SW5mbHV4TGluZVByb3RvY29sJmd0OywgSW5mbHV4IG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1DRExFbnRyeT5wX2ZpZWxkPC90ZD48dGQgY2xhc3M9Q0RMRGVzY3JpcHRpb24+PGI+aW48L2I+ICZsdDtJbmZsdXhBdHRyVmFsdWUmZ3Q7IC0gZmllbGQgdmFsdWUgdG8gYmUgYWRkZWQ8L3RkPjwvdHI+PC90YWJsZT48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48L2Rpdj48L2Rpdj48L2Rpdj4KKworPGRpdiBjbGFzcz0iQ0Z1bmN0aW9uIj48ZGl2IGNsYXNzPUNUb3BpYz48aDMgY2xhc3M9Q1RpdGxlPjxhIG5hbWU9ImZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0Ij48L2E+Zl9JbmZsdXhEQl9zY2hlZHVsZU5leHRSZXBvcnQ8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JbmZsdXhEQl9zY2hlZHVsZU5leHRSZXBvcnQoKSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5TZXRzIHRoZSB0YXJnZXQgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L3A+PGg0IGNsYXNzPUNIZWFkaW5nPlBhcmFtZXRlcnM8L2g0PjxoNCBjbGFzcz1DSGVhZGluZz5SZWxhdGVkIFR5cGU8L2g0PjxwPiZsdDtJbmZsdXhEQl9DVCZndDs8L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJmX0lubGZ1eERCX2xvZ19kZWJ1ZyI+PC9hPmZfSW5sZnV4REJfbG9nX2RlYnVnPC9oMz48ZGl2IGNsYXNzPUNCb2R5PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5sZnV4REJfbG9nX2RlYnVnKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9sb2c8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5JZiBkZWJ1ZyBsb2cgaXMgc2V0LCB3cml0ZSB0aGUgcGFyYW1ldGVyIHRvIHRoZSBsb2cgZmlsZTwvcD48aDQgY2xhc3M9Q0hlYWRpbmc+UGFyYW1ldGVyczwvaDQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz1DRGVzY3JpcHRpb25MaXN0Pjx0cj48dGQgY2xhc3M9Q0RMRW50cnk+cF9sb2c8L3RkPjx0ZCBjbGFzcz1DRExEZXNjcmlwdGlvbj48Yj5pbjwvYj4gPGI+Y2hhcnN0cmluZzwvYj4gLSBzdHJpbmcgdG8gbG9nPC90ZD48L3RyPjwvdGFibGU+PGg0IGNsYXNzPUNIZWFkaW5nPlJlbGF0ZWQgVHlwZTwvaDQ+PC9kaXY+PC9kaXY+PC9kaXY+CisKKzxkaXYgY2xhc3M9IkNGdW5jdGlvbiI+PGRpdiBjbGFzcz1DVG9waWM+PGgzIGNsYXNzPUNUaXRsZT48YSBuYW1lPSJhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIiPjwvYT5hc19JbmZsdXhEQl9ldmVudEhhbmRsZXI8L2gzPjxkaXYgY2xhc3M9Q0JvZHk+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+YWx0c3RlcCBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIoKSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjxoNCBjbGFzcz1DSGVhZGluZz5QdXJwb3NlPC9oND48cD5XaGVuIHJlcG9ydCBwZXJpb2QgZXhwaXJlZCwgcmVzdGFydHMgdGhlIEluZmx1eERCIGV2ZW50IGhhbmRsZXIgYW5kIHNldHMgdGhlIHRpbWUgb2YgdGhlIG5leHQgcmVwb3J0PC9wPjxoNCBjbGFzcz1DSGVhZGluZz5QYXJhbWV0ZXJzPC9oND48aDQgY2xhc3M9Q0hlYWRpbmc+UmVsYXRlZCBUeXBlPC9oND48cD4mbHQ7SW5mbHV4REJfQ1QmZ3Q7PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorCis8L2Rpdj48IS0tQ29udGVudC0tPgorCisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmZ1bmN0aW9uIGZfSW5mbHV4REJfY29ubmVjdCgpIHJ1bnMgb24gSW5mbHV4REJfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U2V0dXAgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5mbHV4REJfc2VuZCg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhMaW5lUHJvdG9jb2wmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9kYXRhPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlNlbmRzIGEgcmVwb3J0IHRvIHRoZSBJbmZsdXhEQiBkYXRhYmFzZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9lbmNvZGUoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcHJvdCw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX2VuY29kZWQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNvbnZlcnRzIGEgcmVwb3J0IHRvIGNoYXJzdHJpbmcgZm9ybWF0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX3NldE1lYXN1cmVtZW50KDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW5vdXQmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eExpbmVQcm90b2NvbCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3BkdSw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfbWVhc3VyZW1lbnQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlNldHMgdGhlIG1lYXN1cmVtZW50IGZpZWxkIG9mIGFuIEluZmx1eERCIHJlcG9ydDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9hZGRUYWcoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcGR1LDwvdGQ+PC90cj48dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eEF0dHJWYWx1ZSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3RhZzwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+QWRkcyBhIHRhZyB0byB0aGUgdGFnLWxpc3Qgb2YgYW4gSW5mbHV4REIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9hZGRGaWVsZCg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmlub3V0Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhMaW5lUHJvdG9jb2wmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9wZHUsPC90ZD48L3RyPjx0cj48dGQ+PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4QXR0clZhbHVlJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfZmllbGQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkFkZHMgYSBmaWVsZCB0byB0aGUgZmllbGQtbGlzdCBvZiBhbiBJbmZsdXhEQiBtZXNzYWdlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5mdW5jdGlvbiBmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydCgpIHJ1bnMgb24gSW5mbHV4REJfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U2V0cyB0aGUgdGFyZ2V0IHRpbWUgb2YgdGhlIG5leHQgcmVwb3J0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0lubGZ1eERCX2xvZ19kZWJ1Zyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfbG9nPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5JZiBkZWJ1ZyBsb2cgaXMgc2V0LCB3cml0ZSB0aGUgcGFyYW1ldGVyIHRvIHRoZSBsb2cgZmlsZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0OSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+YWx0c3RlcCBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIoKSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldoZW4gcmVwb3J0IHBlcmlvZCBleHBpcmVkLCByZXN0YXJ0cyB0aGUgSW5mbHV4REIgZXZlbnQgaGFuZGxlciBhbmQgc2V0cyB0aGUgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9pbmRleC5odG1sIGIvYXBpZG9jL2h0bWwvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzE5ODNhCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvaW5kZXguaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIEZyYW1lc2V0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvZnJhbWVzZXQuZHRkIj48aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrPC90aXRsZT48L2hlYWQ+CisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworPGZyYW1lc2V0IGNvbHM9IjE4NSwqIj48ZnJhbWUgbmFtZT1NZW51IHNyYz0ibWVudS5odG1sIj48ZnJhbWUgbmFtZT1Db250ZW50IHNyYz0iZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sIj48L2ZyYW1lc2V0Pjxub2ZyYW1lcz5UaGlzIGRvY3VtZW50YXRpb24gd2FzIGRlc2lnbmVkIGZvciB1c2Ugd2l0aCBmcmFtZXMuICBIb3dldmVyLCB5b3UgY2FuIHN0aWxsIHVzZSBpdCBieSA8YSBocmVmPSJtZW51Lmh0bWwiPnN0YXJ0aW5nIGZyb20gdGhlIG1lbnUgcGFnZTwvYT4uPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2xvY2F0aW9uLmhyZWY9Im1lbnUuaHRtbCI7CisvLyAtLT48L3NjcmlwdD48L25vZnJhbWVzPjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9pbmRleC9Db25zdGFudHMuaHRtbCBiL2FwaWRvYy9odG1sL2luZGV4L0NvbnN0YW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3Nzc4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9pbmRleC9Db25zdGFudHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+SW9UX0xvYWRfVGVzdF9GcmFtZXdvcmsgLSBDb25zdGFudCBJbmRleDwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkSW5kZXhQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPkNvbnN0YW50IEluZGV4PC9kaXY+PGRpdiBjbGFzcz1JTmF2aWdhdGlvbkJhcj4kIyEgJm1pZGRvdDsgMC05ICZtaWRkb3Q7IEEgJm1pZGRvdDsgQiAmbWlkZG90OyA8YSBocmVmPSIjQyI+QzwvYT4gJm1pZGRvdDsgRCAmbWlkZG90OyBFICZtaWRkb3Q7IEYgJm1pZGRvdDsgRyAmbWlkZG90OyBIICZtaWRkb3Q7IEkgJm1pZGRvdDsgSiAmbWlkZG90OyBLICZtaWRkb3Q7IEwgJm1pZGRvdDsgTSAmbWlkZG90OyBOICZtaWRkb3Q7IE8gJm1pZGRvdDsgUCAmbWlkZG90OyBRICZtaWRkb3Q7IFIgJm1pZGRvdDsgUyAmbWlkZG90OyBUICZtaWRkb3Q7IFUgJm1pZGRvdDsgViAmbWlkZG90OyBXICZtaWRkb3Q7IFggJm1pZGRvdDsgWSAmbWlkZG90OyBaPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPUlIZWFkaW5nIGlkPUlGaXJzdEhlYWRpbmc+PGEgbmFtZT0iQyI+PC9hPkM8L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlGaXJzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI2NfSU9UX2JlaGF2aW9yVHlwZSIgaWQ9bGluazEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxJykiIGNsYXNzPUlTeW1ib2w+Y19JT1RfYmVoYXZpb3JUeXBlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNjX0lPVF9lbnRpdHlUeXBlIiBpZD1saW5rMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9lbnRpdHlUeXBlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbmszIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzJywgJ2xpbmszJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MycpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyIgaWQ9bGluazQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGlkPWxpbms1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbms1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NScpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUiIGlkPWxpbms2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2JywgJ2xpbms2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NicpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMiIGlkPWxpbms3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3JywgJ2xpbms3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NycpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciIgaWQ9bGluazggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgnLCAnbGluazgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ4JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMiIGlkPWxpbms5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbms5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OScpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyIgaWQ9bGluazEwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMCcsICdsaW5rMTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgaWQ9bGluazExIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMScsICdsaW5rMTEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMScpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBpZD1saW5rMTIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEyJywgJ2xpbmsxMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEyJykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0iIGlkPWxpbmsxMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTMnLCAnbGluazEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTMnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgaWQ9bGluazE0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNCcsICdsaW5rMTQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0IiBpZD1saW5rMTUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE1JywgJ2xpbmsxNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE1JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9pbml0RW50aXR5Q29udGV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMiIGlkPWxpbmsxNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTYnLCAnbGluazE2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTYnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGlkPWxpbmsxNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTcnLCAnbGluazE3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTcnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW0iIGlkPWxpbmsxOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTgnLCAnbGluazE4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTgnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIiBpZD1saW5rMTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE5JywgJ2xpbmsxOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE5JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgaWQ9bGluazIwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMCcsICdsaW5rMjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGlkPWxpbmsyMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjEnLCAnbGluazIxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjEnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW0iIGlkPWxpbmsyMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjInLCAnbGluazIyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjInKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbmsyMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjMnLCAnbGluazIzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjMnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtIiBpZD1saW5rMjQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI0JywgJ2xpbmsyNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI0JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JTGFzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGlkPWxpbmsyNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjUnLCAnbGluazI1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjUnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPjwvdGQ+PC90cj48L3RhYmxlPgorPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1RfYmVoYXZpb3JUeXBlIDo9ICZxdW90O0lPVF9CZWhhdmlvciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Db25zdGFudCBmb3IgdGhlIHNpbXVsYXRlZCBJb1QgYmVoYXZpb3IgdHlwZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MiI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9lbnRpdHlUeXBlIDo9ICZxdW90O0lPVF9FbnRpdHkmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGVudGl0eSB0eXBlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIENPQVA6IHNldExvY2FsQWRkcmVzc19ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3Igc2V0dGluZyB0aGUgQ09BUCBsb2NhbCBhZGRyZXNzIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fUmVnRGVyZWc6IGluaXRSZXNvdXJjZVZhbHVlcyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHJlc291cmNlcyBvZiB0aGUgUmVnRGVyZWcgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiBjcmVhdGVSZXNvdXJjZXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNyZWF0ZXMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NiI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IGhhbmRsZUV4ZWN1dGUmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGhhbmRsZXMgTHdNMk0gRVhFQ1VURSByZXF1ZXN0cyBvbiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogaW5pdFJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0cyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiBpbml0VHJhbnNwb3J0X2Jvb2xWYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGluaXRzIHRoZSB0cmFuc3BvcnQgKFVEUCwgb3IgRFRMUy1QU0spIGZvciB0aGUgU2ltRGV2IEZTTSZyc3F1bztzIEx3TTJNIHByb3RvY29sPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ5Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IHVwZGF0ZVJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCB1cGRhdGVzIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEwIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyA6PSAmcXVvdDtJT1QgQXBwOiBnZW5SbmRWYWx1ZV92YXJQYXJhbXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdGVzdCBzdGVwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogYWRkSG9zdEhlYWRlcl9ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGFkZHMgYSBIb3N0IGhlYWRlciB0byB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEyIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogYWRkVG9VcmlfYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjb25jYXRlbmF0ZXMgYSBzdHJpbmcgdG8gdGhlIEhUVFAgcmVxdWVzdCBVUkkgZm9yIHRoZSBIVFRQIG1lc3NhZ2UgdG8gYmUgc2VudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTMiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGFkZFRvVXJpX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjb25jYXRlbmF0ZXMgYSBzdHJpbmcgdG8gdGhlIEhUVFAgcmVxdWVzdCBVUkkgZm9yIHRoZSBIVFRQIG1lc3NhZ2UgdG8gYmUgc2VudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTQiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb24gOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBjbG9zZUNvbm5lY3Rpb24mcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNsb3NlcyB0aGUgb3BlbmVkIEhUVFAgY29ubmVjdGlvbjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTUiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9pbml0RW50aXR5Q29udGV4dCA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGluaXRFbnRpdHlDb250ZXh0JnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0aWFsaXplcyB0aGUgSFRUUCBlbnRpdHkgY29udGV4dDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTYiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBvcGVuQ29ubmVjdGlvbl9ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IG9wZW5zIGFuIEhUVFAgY29ubmVjdGlvbjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTciPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBzZXRNZXRob2Rfc3RyaW5nUGFyYW0mcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIEhUVFAgbWV0aG9kIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE4Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogc2V0VXJpX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE5Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciA6PSAmcXVvdDtJT1QgQXBwIExlc2hhbjogZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGxvYWRzIHRoZSBjbGllbnQgbmFtZSBpbnRvIGEgdmFyaWFibGUgZnJvbSBhbiBIVFRQIHJlc3BvbnNlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyMCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciA6PSAmcXVvdDtJT1QgQXBwIEx3TTJNOiBzZXRDbGllbnROYW1lSW5SZWdpc3RlciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgTHdNMk0gZW5kcG9pbnQgbmFtZSBpbiB0aGUgUmVnaXN0ZXIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjEiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyIDo9ICZxdW90O0lPVCBBcHAgTHdNMk06IHNldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgTHdNMk0gZW5kcG9pbnQgbmFtZSBpbiB0aGUgUmVnaXN0ZXIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjIiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIE1RVFQ6IHNldENsaWVudElkX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBNUVRUIGNsaWVudCBpZDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjMiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgTVFUVDogc2V0TG9jYWxBZGRyZXNzX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciBzZXR0aW5nIHRoZSBNUVRUIGxvY2FsIGFkZHJlc3MgdGVzdCBzdGVwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyNCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9wcmludF9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwOiBwcmludF9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgUklvVCBwcmludCBzdHJpbmcgdGVzdCBzdGVwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyNSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IDo9ICZxdW90O0lPVCBBcHA6IHRjRmluaXNoZWRfd2l0aFZlcmRpY3QmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgdGVzdCBjYXNlIGZpbmlzaGVkIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfVE9PTFRJUFMtLT4KKworPC9kaXY+PCEtLUluZGV4LS0+CisKKworPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOyB9ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpO30vLyAtLT48L3NjcmlwdD48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL2luZGV4L0ZpbGVzLmh0bWwgYi9hcGlkb2MvaHRtbC9pbmRleC9GaWxlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMzRkODkKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9pbmRleC9GaWxlcy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKworPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjx0aXRsZT5Jb1RfTG9hZF9UZXN0X0ZyYW1ld29yayAtIEZpbGUgSW5kZXg8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZEluZGV4UGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5GaWxlIEluZGV4PC9kaXY+PGRpdiBjbGFzcz1JTmF2aWdhdGlvbkJhcj4kIyEgJm1pZGRvdDsgMC05ICZtaWRkb3Q7IEEgJm1pZGRvdDsgQiAmbWlkZG90OyBDICZtaWRkb3Q7IEQgJm1pZGRvdDsgRSAmbWlkZG90OyBGICZtaWRkb3Q7IEcgJm1pZGRvdDsgSCAmbWlkZG90OyA8YSBocmVmPSIjSSI+STwvYT4gJm1pZGRvdDsgSiAmbWlkZG90OyBLICZtaWRkb3Q7IEwgJm1pZGRvdDsgTSAmbWlkZG90OyBOICZtaWRkb3Q7IE8gJm1pZGRvdDsgUCAmbWlkZG90OyBRICZtaWRkb3Q7IFIgJm1pZGRvdDsgUyAmbWlkZG90OyBUICZtaWRkb3Q7IFUgJm1pZGRvdDsgViAmbWlkZG90OyBXICZtaWRkb3Q7IFggJm1pZGRvdDsgWSAmbWlkZG90OyBaPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPUlIZWFkaW5nIGlkPUlGaXJzdEhlYWRpbmc+PGEgbmFtZT0iSSI+PC9hPkk8L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlGaXJzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0luZmx1eERCX0RlZmluaXRpb25zLnR0Y24iICBjbGFzcz1JU3ltYm9sPkluZmx1eERCX0RlZmluaXRpb25zLnR0Y248L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNJbmZsdXhEQl9GdW5jdGlvbnMudHRjbiIgIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0FwcF9EZWZpbml0aW9ucyIgaWQ9bGluazEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxJykiIGNsYXNzPUlTeW1ib2w+SU9UX0FwcF9EZWZpbml0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwjSU9UX0FwcF9GdW5jdGlvbnMiIGlkPWxpbmsyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyJywgJ2xpbmsyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MicpIiBjbGFzcz1JU3ltYm9sPklPVF9BcHBfRnVuY3Rpb25zPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgaWQ9bGluazMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMnLCAnbGluazMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzJykiIGNsYXNzPUlTeW1ib2w+SU9UX0xHZW5fRGVmaW5pdGlvbnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9GdW5jdGlvbnMiIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NCcpIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX0Z1bmN0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlMYXN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjSU9UX0xHZW5fU3RlcHMiIGlkPWxpbms1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbms1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NScpIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX1N0ZXBzPC9hPjwvdGQ+PC90cj48L3RhYmxlPgorPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGRlZmluaXRpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0Ij48ZGl2IGNsYXNzPUNGaWxlPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBmdW5jdGlvbnMgb2YgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DRmlsZT5UaGlzIG1vZHVsZSBjb250YWlucyB0ZXN0IHN0ZXAgZnVuY3Rpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC9kaXY+PC9kaXY+PCEtLUVORF9ORF9UT09MVElQUy0tPgorCis8L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvaW5kZXgvRnVuY3Rpb25zLmh0bWwgYi9hcGlkb2MvaHRtbC9pbmRleC9GdW5jdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQxNTg4Ci0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvaW5kZXgvRnVuY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrIC0gRnVuY3Rpb24gSW5kZXg8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZEluZGV4UGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5GdW5jdGlvbiBJbmRleDwvZGl2PjxkaXYgY2xhc3M9SU5hdmlnYXRpb25CYXI+JCMhICZtaWRkb3Q7IDAtOSAmbWlkZG90OyA8YSBocmVmPSIjQSI+QTwvYT4gJm1pZGRvdDsgQiAmbWlkZG90OyBDICZtaWRkb3Q7IEQgJm1pZGRvdDsgRSAmbWlkZG90OyA8YSBocmVmPSIjRiI+RjwvYT4gJm1pZGRvdDsgRyAmbWlkZG90OyBIICZtaWRkb3Q7IEkgJm1pZGRvdDsgSiAmbWlkZG90OyBLICZtaWRkb3Q7IEwgJm1pZGRvdDsgTSAmbWlkZG90OyBOICZtaWRkb3Q7IE8gJm1pZGRvdDsgUCAmbWlkZG90OyBRICZtaWRkb3Q7IFIgJm1pZGRvdDsgUyAmbWlkZG90OyBUICZtaWRkb3Q7IFUgJm1pZGRvdDsgViAmbWlkZG90OyBXICZtaWRkb3Q7IFggJm1pZGRvdDsgWSAmbWlkZG90OyBaPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPUlIZWFkaW5nIGlkPUlGaXJzdEhlYWRpbmc+PGEgbmFtZT0iQSI+PC9hPkE8L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlPbmx5U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2FzX0luZmx1eERCX2V2ZW50SGFuZGxlciIgaWQ9bGluazEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEnLCAnbGluazEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxJykiIGNsYXNzPUlTeW1ib2w+YXNfSW5mbHV4REJfZXZlbnRIYW5kbGVyPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlIZWFkaW5nPjxhIG5hbWU9IkYiPjwvYT5GPC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JRmlyc3RTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9hZGRGaWVsZCIgaWQ9bGluazIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiIGNsYXNzPUlTeW1ib2w+Zl9JbmZsdXhEQl9hZGRGaWVsZDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfYWRkVGFnIiBpZD1saW5rMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MycsICdsaW5rMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMnKSIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2FkZFRhZzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfY29ubmVjdCIgaWQ9bGluazQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiIGNsYXNzPUlTeW1ib2w+Zl9JbmZsdXhEQl9jb25uZWN0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9lbmNvZGUiIGlkPWxpbms1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1JywgJ2xpbms1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NScpIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfZW5jb2RlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zY2hlZHVsZU5leHRSZXBvcnQiIGlkPWxpbms2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2JywgJ2xpbms2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NicpIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zZW5kIiBpZD1saW5rNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NycsICdsaW5rNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcnKSIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX3NlbmQ8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX3NldE1lYXN1cmVtZW50IiBpZD1saW5rOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0OCcsICdsaW5rOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgnKSIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX3NldE1lYXN1cmVtZW50PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmxmdXhEQl9sb2dfZGVidWciIGlkPWxpbms5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbms5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OScpIiBjbGFzcz1JU3ltYm9sPmZfSW5sZnV4REJfbG9nX2RlYnVnPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9BcHBfc3RhcnRFeGVjQ3RybCIgaWQ9bGluazEwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMCcsICdsaW5rMTAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlIiBpZD1saW5rMTEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDExJywgJ2xpbmsxMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDExJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kIiBpZD1saW5rMTIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEyJywgJ2xpbmsxMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEyJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxzcGFuIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9iZWhhdmlvcjwvc3Bhbj48ZGl2IGNsYXNzPUlTdWJJbmRleD48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fYmVoYXZpb3IiIGlkPWxpbmsxMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTMnLCAnbGluazEzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTMnKSIgY2xhc3M9SUZpbGU+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2JlaGF2aW9yIiBpZD1saW5rMTQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDEzJywgJ2xpbmsxNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEzJykiIGNsYXNzPUlGaWxlPklPVF9MR2VuX0Z1bmN0aW9ucy50dGNuPC9hPjwvZGl2PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2NyZWF0ZSIgaWQ9bGluazE1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNCcsICdsaW5rMTUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fY3JlYXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2RlY2xhcmVTdGVwcyIgaWQ9bGluazE2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNScsICdsaW5rMTYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXAiIGlkPWxpbmsxNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTYnLCAnbGluazE3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTYnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXA8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXQiIGlkPWxpbmsxOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTcnLCAnbGluazE4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTcnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2luaXQ8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXRTYW1wbGVzIiBpZD1saW5rMTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE4JywgJ2xpbmsxOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE4JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9pbml0U2FtcGxlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRyIgaWQ9bGluazIwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxOScsICdsaW5rMjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxOScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUiIgaWQ9bGluazIxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMCcsICdsaW5rMjEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFIiBpZD1saW5rMjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIxJywgJ2xpbmsyMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIxJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0U8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyIgaWQ9bGluazIzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMicsICdsaW5rMjMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMicpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19XQVJOSU5HPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBpZD1saW5rMjQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIzJywgJ2xpbmsyNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIzJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMiIGlkPWxpbmsyNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjQnLCAnbGluazI1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjQnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIiBpZD1saW5rMjYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI1JywgJ2xpbmsyNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI1JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlIiBpZD1saW5rMjcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI2JywgJ2xpbmsyNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI2JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBpZD1saW5rMjggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI3JywgJ2xpbmsyOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI3JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGlkPWxpbmsyOSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjgnLCAnbGluazI5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjgnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBpZD1saW5rMzAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI5JywgJ2xpbmszMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI5JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9nZW5SbmRWYWx1ZV92YXJQYXJhbXMiIGlkPWxpbmszMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzAnLCAnbGluazMxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzAnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgaWQ9bGluazMyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMScsICdsaW5rMzInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzMScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnMiIGlkPWxpbmszMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzInLCAnbGluazMzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzInKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rMzQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMzJywgJ2xpbmszNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMzJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgaWQ9bGluazM1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNCcsICdsaW5rMzUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGlkPWxpbmszNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzUnLCAnbGluazM2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzUnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBpZD1saW5rMzcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM2JywgJ2xpbmszNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM2JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGlkPWxpbmszOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzcnLCAnbGluazM4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzcnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSIgaWQ9bGluazM5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzOCcsICdsaW5rMzknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzOCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciIgaWQ9bGluazQwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzOScsICdsaW5rNDAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzOScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgaWQ9bGluazQxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MCcsICdsaW5rNDEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciIgaWQ9bGluazQyIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MScsICdsaW5rNDInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBpZD1saW5rNDMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQyJywgJ2xpbms0MycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQyJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbms0NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDMnLCAnbGluazQ0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDMnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0iIGlkPWxpbms0NSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDQnLCAnbGluazQ1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDQnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JTGFzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IiBpZD1saW5rNDYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ1JywgJ2xpbms0NicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ1JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3Q8L2E+PC90ZD48L3RyPjwvdGFibGU+Cis8IS0tU1RBUlRfTkRfVE9PTFRJUFMtLT4KKzxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+YWx0c3RlcCBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIoKSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldoZW4gcmVwb3J0IHBlcmlvZCBleHBpcmVkLCByZXN0YXJ0cyB0aGUgSW5mbHV4REIgZXZlbnQgaGFuZGxlciBhbmQgc2V0cyB0aGUgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5mbHV4REJfYWRkRmllbGQoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcGR1LDwvdGQ+PC90cj48dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eEF0dHJWYWx1ZSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX2ZpZWxkPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5BZGRzIGEgZmllbGQgdG8gdGhlIGZpZWxkLWxpc3Qgb2YgYW4gSW5mbHV4REIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9hZGRUYWcoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcGR1LDwvdGQ+PC90cj48dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eEF0dHJWYWx1ZSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3RhZzwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+QWRkcyBhIHRhZyB0byB0aGUgdGFnLWxpc3Qgb2YgYW4gSW5mbHV4REIgbWVzc2FnZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JbmZsdXhEQl9jb25uZWN0KCkgcnVucyBvbiBJbmZsdXhEQl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TZXR1cCB0aGUgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQiBkYXRhYmFzZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JbmZsdXhEQl9lbmNvZGUoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcHJvdCw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX2VuY29kZWQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNvbnZlcnRzIGEgcmVwb3J0IHRvIGNoYXJzdHJpbmcgZm9ybWF0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5mdW5jdGlvbiBmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydCgpIHJ1bnMgb24gSW5mbHV4REJfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U2V0cyB0aGUgdGFyZ2V0IHRpbWUgb2YgdGhlIG5leHQgcmVwb3J0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX3NlbmQoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfZGF0YTwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPikgcnVucyBvbiBJbmZsdXhEQl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TZW5kcyBhIHJlcG9ydCB0byB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbm91dCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfcGR1LDwvdGQ+PC90cj48dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9tZWFzdXJlbWVudDwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U2V0cyB0aGUgbWVhc3VyZW1lbnQgZmllbGQgb2YgYW4gSW5mbHV4REIgcmVwb3J0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ5Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0lubGZ1eERCX2xvZ19kZWJ1Zyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfbG9nPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5JZiBkZWJ1ZyBsb2cgaXMgc2V0LCB3cml0ZSB0aGUgcGFyYW1ldGVyIHRvIHRoZSBsb2cgZmlsZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTAiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9zZWxmTmFtZSw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbnRlZ2VyJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbnJPZkNsaWVudHMsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9EYXRhU291cmNlX0NUJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfZGF0YXNvdXJjZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBFUFRGX0V4ZWNDdHJsX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlN0YXJ0aW5nIHVwIHRoZSBFeGVjdXRpb24gQ29udHJvbCBjb21wb25lbnQgdGhhdCB3aWxsIG9yY2hlc3RyYXRlIHRoZSBsb2FkIGdlbmVyYXRvciBJT1RfTEdlbl9DVCwmbHQ7RVBURl9FeGVjQ3RybENsaWVudF9DVCZndDsgY29tcG9uZW50IGluc3RhbmNlczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0NPQVBfUERVJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5XcmFwcGVyIG9mIGZfRVBURl9DT0FQX0xHZW5fcmVjZWl2ZU1lc3NhZ2UsIHVzZWQgZm9yIGNhdGNoaW5nIGFuZCBpbmNvbWluZyBDT0FQIG1lc3NhZ2VzLjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0NPQVBfUERVJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbXNnPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldyYXBwZXIgb2YgZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kLCB1c2VkIGZvciBjYXRjaGluZyBvdXRnb2luZyBDT0FQIG1lc3NhZ2VzLjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTMiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPlRoZSBtYWluIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgSW5mbHV4REJfQ1QgY29tcG9uZW50IHR5cGU8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE0Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX2NyZWF0ZSAoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX2hvc3RuYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9jb21wb25lbnROYW1lPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIEVQVEZfRXhlY0N0cmxfQ1QgcmV0dXJuIEVQVEZfRXhlY0N0cmxDbGllbnRfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U3RhcnRpbmcgdXAgYSBsb2FkIGdlbmVyYXRvciBJT1RfTEdlbl9DVCBjb21wb25lbnQgaW5zdGFuY2VzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxNSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMoKSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkZ1bmN0aW9uIHRvIGRlY2xhcmUgYWxsIHRoZSBSSW9UIGFwcGxpY2F0aW9uIHJlbGF0ZWQgdGVzdCBzdGVwczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTYiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVCByZXR1cm4gaW50ZWdlcjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DYWxjdWxhdGVzIHRoZSBpbmRleCBvZiB0aGUgZW50aXR5IGluc2lkZSBpdHMgZW50aXR5IGdyb3VwPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxNyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9pbml0KDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9zZWxmTmFtZSw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbnRlZ2VyJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cF9pZHgsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9FeGVjQ3RybF9DVCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX0V4ZWNDdHJsUmVmPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRoZSBtYWluIGluaXQgZnVuY3Rpb24gb2YgdGhlIElPVF9MR2VuX0NUIGNvbXBvbmVudCB0eXBlIEl0IGluaXRpYWxpemVzIHRoZSBpbnRlZ3JhdGVkIGFwcGxpY2F0aW9uIGxpYnJhcmllcyBhbmQgZGVmaW5lcyBpdHMgb3duIGNfSU9UX2JlaGF2aW9yVHlwZSBhbmQgdGVzdCBzdGVwcyBmX0lPVF9MR2VuX2RlY2xhcmVTdGVwcyBUaGUgc2FtcGxlIGRhdGFiYXNlIG9mIHRoZSBzbWFydCBvYmplY3RzIGFyZSBhbHNvIGZpbGxlZCBpbiBoZXJlIGJ5IGNhbGxpbmcgZl9JT1RfTEdlbl9pbml0U2FtcGxlczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSU9UX0xHZW5faW5pdFNhbXBsZXMoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3NlbGZOYW1lPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkluaXRpYWxpemVzIHRoZSA8Yj52X0lPVF9MR2VuX0RhdGFTYW1wbGVzX0RCPC9iPiBkYXRhYmFzZSBieSBsb2FkaW5nIGEgc2V0IG9mIGRhdGEgc2FtcGxlczwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIERFQlVHIGxvZyBsZXZlbDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjAiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIEVSUk9SIGxvZyBsZXZlbDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgVkVSQk9TRSBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluIEBsYXp5Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Mb2dnaW5nIGZ1bmN0aW9ucyBmb3IgdGhlIFdBUk5JTkcgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyMyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBsb2NhbCBhZGRyZXNzIGluIHRoZSBDT0FQIGVudGl0eSBjb250ZXh0IENPQVBfRW50aXR5Q3R4LiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI0Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdCByZXNvdXJjZXMgb2YgdGhlIFJlZ0RlcmVnIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjUiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gY3JlYXRlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjYiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGhhbmRsZSBpbmNvbWluZyBMd00yTSBFWEVDVVRFIHJlcXVlc3QgaW4gdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGluaXQgdGhlIHJlc291cmNlIHZhbHVlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdGlhbGl6ZSB0aGUgQ09BUCB0cmFuc3BvcnQgKGVpdGhlciBVRFAsIG9yIERUTFMtUFNLKSBvZiB0aGUgU2ltRGV2aWNlIEZTTS4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyOSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHVwZGF0ZSB0aGUgcmVzb3VyY2UgdmFsdWVzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzMCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gZ2VuZXJhdGUgYSByYW5kb20gbnVtYmVyIGFuZCBsb2FkIGl0IGludG8gYW4gaW50ZWdlciB2YXJpYWJsZS4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzMSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGFkZCBhIEhvc3QgaGVhZGVyIHRvIHRoZSBIVFRQIG1lc3NhZ2VyIHRvIGJlIHNlbnQuIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMzIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDM0Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9jbG9zZUNvbm5lY3Rpb24oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGNsb3NlIGFuIGFscmVhZHkgb3BlbmVkIFRDUCBjb25uZWN0aW9uIGZvciBIVFRQPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzNSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGluaXRpYWxpemUgdGhlIEhUVFAgZW50aXR5IGNvbnRleHQgYnkgY2FsbGluZyBmX0VQVEZfSFRUUF9zZXRFbnRpdHlDb250ZXh0LjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzYiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gb3BlbiBhIFRDUCBjb25uZWN0aW9uIGZvciBIVFRQLiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDM3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzOCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIGZldGNoIHRoZSBjbGllbnQgbmFtZSBvZiBhbiBIVFRQIHJlc3BvbnNlIHNlbnQgYnkgTGVzaGFuIGludG8gYSB2YXJpYWJsZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDAiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBlbmRwb2ludCBjbGllbnQgbmFtZSBpbiB0aGUgTFdNMk0gUmVnaXN0ZXIgbWVzc2FnZSB0aGF0IG11c3QgYmUgcHJldmlvdXNseSBsb2FkZWQgaW50byA8Yj52X0x3TTJNX21zZ1RvU2VuZDwvYj4uIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHNldCB0aGUgZW5kcG9pbnQgY2xpZW50IG5hbWUgaW4gdGhlIExXTTJNIFJlZ2lzdGVyIG1lc3NhZ2UgdGhhdCBtdXN0IGJlIHByZXZpb3VzbHkgbG9hZGVkIGludG8gPGI+dl9Md00yTV9tc2dUb1NlbmQ8L2I+LiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBjbGllbnQgaWQgdGhlIE1RVFQgZW50aXR5IGNvbnRleHQuIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDMiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHNldCB0aGUgbG9jYWwgYWRkcmVzcyBpbiB0aGUgTVFUVCBlbnRpdHkgY29udGV4dC4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBwcmludCBhIHN0cmluZyBwYXJhbWV0ZXIgYXMgYSBUVENOLTMgYWN0aW9uKCkgc3RhdGVtZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHNldCB0aGUgZmluYWwgdmVyZGljdCByZXBvcnRlZCBieSB0aGUgRlNNIHVzaW5nIGEgdmVyZGljdCB2YXJpYWJsZSBhcyBwYXJhbWV0ZXIuPC9kaXY+PC9kaXY+PCEtLUVORF9ORF9UT09MVElQUy0tPgorCis8L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvaW5kZXgvR2VuZXJhbC5odG1sIGIvYXBpZG9jL2h0bWwvaW5kZXgvR2VuZXJhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3M2ZiNTcKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9pbmRleC9HZW5lcmFsLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPklvVF9Mb2FkX1Rlc3RfRnJhbWV3b3JrIC0gSW5kZXg8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZEluZGV4UGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5JbmRleDwvZGl2PjxkaXYgY2xhc3M9SU5hdmlnYXRpb25CYXI+JCMhICZtaWRkb3Q7IDAtOSAmbWlkZG90OyA8YSBocmVmPSIjQSI+QTwvYT4gJm1pZGRvdDsgQiAmbWlkZG90OyA8YSBocmVmPSIjQyI+QzwvYT4gJm1pZGRvdDsgRCAmbWlkZG90OyBFICZtaWRkb3Q7IDxhIGhyZWY9IiNGIj5GPC9hPiAmbWlkZG90OyBHICZtaWRkb3Q7IEggJm1pZGRvdDsgPGEgaHJlZj0iR2VuZXJhbDIuaHRtbCNJIj5JPC9hPiAmbWlkZG90OyBKICZtaWRkb3Q7IEsgJm1pZGRvdDsgTCAmbWlkZG90OyBNICZtaWRkb3Q7IE4gJm1pZGRvdDsgTyAmbWlkZG90OyBQICZtaWRkb3Q7IFEgJm1pZGRvdDsgUiAmbWlkZG90OyBTICZtaWRkb3Q7IDxhIGhyZWY9IkdlbmVyYWwyLmh0bWwjVCI+VDwvYT4gJm1pZGRvdDsgVSAmbWlkZG90OyBWICZtaWRkb3Q7IFcgJm1pZGRvdDsgWCAmbWlkZG90OyBZICZtaWRkb3Q7IFo8L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9SUhlYWRpbmcgaWQ9SUZpcnN0SGVhZGluZz48YSBuYW1lPSJBIj48L2E+QTwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXggaWQ9SU9ubHlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjYXNfSW5mbHV4REJfZXZlbnRIYW5kbGVyIiBpZD1saW5rMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MScsICdsaW5rMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSIgY2xhc3M9SVN5bWJvbD5hc19JbmZsdXhEQl9ldmVudEhhbmRsZXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SUhlYWRpbmc+PGEgbmFtZT0iQyI+PC9hPkM8L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlGaXJzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI2NfSU9UX2JlaGF2aW9yVHlwZSIgaWQ9bGluazIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiIGNsYXNzPUlTeW1ib2w+Y19JT1RfYmVoYXZpb3JUeXBlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNjX0lPVF9lbnRpdHlUeXBlIiBpZD1saW5rMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MycsICdsaW5rMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9lbnRpdHlUeXBlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbms0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0JywgJ2xpbms0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyIgaWQ9bGluazUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUnLCAnbGluazUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGlkPWxpbms2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2JywgJ2xpbms2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NicpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUiIGlkPWxpbms3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3JywgJ2xpbms3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NycpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMiIGlkPWxpbms4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ4JywgJ2xpbms4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciIgaWQ9bGluazkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDknLCAnbGluazknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ5JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMiIGlkPWxpbmsxMCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTAnLCAnbGluazEwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTAnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9nZW5SbmRWYWx1ZV92YXJQYXJhbXMiIGlkPWxpbmsxMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTEnLCAnbGluazExJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTEnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9nZW5SbmRWYWx1ZV92YXJQYXJhbXM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMiIGlkPWxpbmsxMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTInLCAnbGluazEyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTInKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX2J5VmFycyIgaWQ9bGluazEzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxMycsICdsaW5rMTMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxMycpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rMTQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE0JywgJ2xpbmsxNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE0JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb24iIGlkPWxpbmsxNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MTUnLCAnbGluazE1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MTUnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9pbml0RW50aXR5Q29udGV4dCIgaWQ9bGluazE2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxNicsICdsaW5rMTYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQxNicpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBpZD1saW5rMTcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE3JywgJ2xpbmsxNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE3JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIiBpZD1saW5rMTggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE4JywgJ2xpbmsxOCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE4JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rMTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDE5JywgJ2xpbmsxOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDE5JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciIgaWQ9bGluazIwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyMCcsICdsaW5rMjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyMCcpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIiIGlkPWxpbmsyMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjEnLCAnbGluazIxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjEnKSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyIiBpZD1saW5rMjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIyJywgJ2xpbmsyMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIyJykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBpZD1saW5rMjMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDIzJywgJ2xpbmsyMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDIzJykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBpZD1saW5rMjQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI0JywgJ2xpbmsyNCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI0JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9wcmludF9zdHJpbmdQYXJhbSIgaWQ9bGluazI1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyNScsICdsaW5rMjUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyNScpIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXggaWQ9SUxhc3RTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IiBpZD1saW5rMjYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDI2JywgJ2xpbmsyNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDI2JykiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JSGVhZGluZz48YSBuYW1lPSJGIj48L2E+RjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXggaWQ9SUZpcnN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfYWRkRmllbGQiIGlkPWxpbmsyNyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjcnLCAnbGluazI3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjcnKSIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2FkZEZpZWxkPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9hZGRUYWciIGlkPWxpbmsyOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MjgnLCAnbGluazI4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MjgnKSIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2FkZFRhZzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfY29ubmVjdCIgaWQ9bGluazI5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQyOScsICdsaW5rMjknKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyOScpIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfY29ubmVjdDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfZW5jb2RlIiBpZD1saW5rMzAgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMwJywgJ2xpbmszMCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMwJykiIGNsYXNzPUlTeW1ib2w+Zl9JbmZsdXhEQl9lbmNvZGU8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydCIgaWQ9bGluazMxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMScsICdsaW5rMzEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzMScpIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zZW5kIiBpZD1saW5rMzIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDMyJywgJ2xpbmszMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMyJykiIGNsYXNzPUlTeW1ib2w+Zl9JbmZsdXhEQl9zZW5kPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zZXRNZWFzdXJlbWVudCIgaWQ9bGluazMzIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzMycsICdsaW5rMzMnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzMycpIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQ8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lubGZ1eERCX2xvZ19kZWJ1ZyIgaWQ9bGluazM0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNCcsICdsaW5rMzQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNCcpIiBjbGFzcz1JU3ltYm9sPmZfSW5sZnV4REJfbG9nX2RlYnVnPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9BcHBfc3RhcnRFeGVjQ3RybCIgaWQ9bGluazM1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzNScsICdsaW5rMzUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzNScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlIiBpZD1saW5rMzYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM2JywgJ2xpbmszNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM2JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kIiBpZD1saW5rMzcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM3JywgJ2xpbmszNycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM3JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxzcGFuIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9iZWhhdmlvcjwvc3Bhbj48ZGl2IGNsYXNzPUlTdWJJbmRleD48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fYmVoYXZpb3IiIGlkPWxpbmszOCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MzgnLCAnbGluazM4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MzgnKSIgY2xhc3M9SUZpbGU+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2JlaGF2aW9yIiBpZD1saW5rMzkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDM4JywgJ2xpbmszOScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDM4JykiIGNsYXNzPUlGaWxlPklPVF9MR2VuX0Z1bmN0aW9ucy50dGNuPC9hPjwvZGl2PjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2NyZWF0ZSIgaWQ9bGluazQwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQzOScsICdsaW5rNDAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQzOScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fY3JlYXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2RlY2xhcmVTdGVwcyIgaWQ9bGluazQxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0MCcsICdsaW5rNDEnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0MCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXAiIGlkPWxpbms0MiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDEnLCAnbGluazQyJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDEnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXA8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXQiIGlkPWxpbms0MyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDInLCAnbGluazQzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDInKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2luaXQ8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXRTYW1wbGVzIiBpZD1saW5rNDQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQzJywgJ2xpbms0NCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQzJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9pbml0U2FtcGxlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRyIgaWQ9bGluazQ1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NCcsICdsaW5rNDUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUiIgaWQ9bGluazQ2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NScsICdsaW5rNDYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFIiBpZD1saW5rNDcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ2JywgJ2xpbms0NycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ2JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0U8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyIgaWQ9bGluazQ4IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ0NycsICdsaW5rNDgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0NycpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19XQVJOSU5HPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBpZD1saW5rNDkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQ4JywgJ2xpbms0OScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDQ4JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMiIGlkPWxpbms1MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NDknLCAnbGluazUwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NDknKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIiBpZD1saW5rNTEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUwJywgJ2xpbms1MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUwJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlIiBpZD1saW5rNTIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUxJywgJ2xpbms1MicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUxJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBpZD1saW5rNTMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDUyJywgJ2xpbms1MycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUyJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGlkPWxpbms1NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NTMnLCAnbGluazU0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NTMnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBpZD1saW5rNTUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDU0JywgJ2xpbms1NScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDU0JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9nZW5SbmRWYWx1ZV92YXJQYXJhbXMiIGlkPWxpbms1NiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NTUnLCAnbGluazU2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NTUnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgaWQ9bGluazU3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1NicsICdsaW5rNTcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1NicpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnMiIGlkPWxpbms1OCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NTcnLCAnbGluazU4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NTcnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIiBpZD1saW5rNTkgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDU4JywgJ2xpbms1OScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDU4JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgaWQ9bGluazYwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ1OScsICdsaW5rNjAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ1OScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGlkPWxpbms2MSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NjAnLCAnbGluazYxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NjAnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBpZD1saW5rNjIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDYxJywgJ2xpbms2MicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYxJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGlkPWxpbms2MyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NjInLCAnbGluazYzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NjInKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSIgaWQ9bGluazY0IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2MycsICdsaW5rNjQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2MycpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciIgaWQ9bGluazY1IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2NCcsICdsaW5rNjUnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2NCcpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgaWQ9bGluazY2IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2NScsICdsaW5rNjYnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2NScpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciIgaWQ9bGluazY3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ2NicsICdsaW5rNjcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ2NicpIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBpZD1saW5rNjggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDY3JywgJ2xpbms2OCcpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDY3JykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGlkPWxpbms2OSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NjgnLCAnbGluazY5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NjgnKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0iIGlkPWxpbms3MCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NjknLCAnbGluazcwJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NjknKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JTGFzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IiBpZD1saW5rNzEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcwJywgJ2xpbms3MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcwJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3Q8L2E+PC90ZD48L3RyPjwvdGFibGU+Cis8IS0tU1RBUlRfTkRfVE9PTFRJUFMtLT4KKzxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+YWx0c3RlcCBhc19JbmZsdXhEQl9ldmVudEhhbmRsZXIoKSBydW5zIG9uIEluZmx1eERCX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldoZW4gcmVwb3J0IHBlcmlvZCBleHBpcmVkLCByZXN0YXJ0cyB0aGUgSW5mbHV4REIgZXZlbnQgaGFuZGxlciBhbmQgc2V0cyB0aGUgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1RfYmVoYXZpb3JUeXBlIDo9ICZxdW90O0lPVF9CZWhhdmlvciZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Db25zdGFudCBmb3IgdGhlIHNpbXVsYXRlZCBJb1QgYmVoYXZpb3IgdHlwZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9lbnRpdHlUeXBlIDo9ICZxdW90O0lPVF9FbnRpdHkmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q29uc3RhbnQgZm9yIHRoZSBzaW11bGF0ZWQgSW9UIGVudGl0eSB0eXBlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIENPQVA6IHNldExvY2FsQWRkcmVzc19ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3Igc2V0dGluZyB0aGUgQ09BUCBsb2NhbCBhZGRyZXNzIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fUmVnRGVyZWc6IGluaXRSZXNvdXJjZVZhbHVlcyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdHMgdGhlIHJlc291cmNlcyBvZiB0aGUgUmVnRGVyZWcgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiBjcmVhdGVSZXNvdXJjZXMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGNyZWF0ZXMgdGhlIHJlc291cmNlcyBvZiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUgOj0gJnF1b3Q7SU9UIEZzbSBMV00yTV9TaW1EZXZpY2U6IGhhbmRsZUV4ZWN1dGUmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGhhbmRsZXMgTHdNMk0gRVhFQ1VURSByZXF1ZXN0cyBvbiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0OCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyA6PSAmcXVvdDtJT1QgRnNtIExXTTJNX1NpbURldmljZTogaW5pdFJlc291cmNlVmFsdWVzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBpbml0cyB0aGUgcmVzb3VyY2VzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ5Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiBpbml0VHJhbnNwb3J0X2Jvb2xWYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IGluaXRzIHRoZSB0cmFuc3BvcnQgKFVEUCwgb3IgRFRMUy1QU0spIGZvciB0aGUgU2ltRGV2IEZTTSZyc3F1bztzIEx3TTJNIHByb3RvY29sPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIDo9ICZxdW90O0lPVCBGc20gTFdNMk1fU2ltRGV2aWNlOiB1cGRhdGVSZXNvdXJjZVZhbHVlcyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgdXBkYXRlcyB0aGUgcmVzb3VyY2UgdmFsdWVzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9nZW5SbmRWYWx1ZV92YXJQYXJhbXMgOj0gJnF1b3Q7SU9UIEFwcDogZ2VuUm5kVmFsdWVfdmFyUGFyYW1zJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSBSSW9UIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MTIiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGFkZEhvc3RIZWFkZXJfYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBhZGRzIGEgSG9zdCBoZWFkZXIgdG8gdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxMyI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IGFkZFRvVXJpX2J5VmFycyZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY29uY2F0ZW5hdGVzIGEgc3RyaW5nIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE0Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBhZGRUb1VyaV9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgY29uY2F0ZW5hdGVzIGEgc3RyaW5nIHRvIHRoZSBIVFRQIHJlcXVlc3QgVVJJIGZvciB0aGUgSFRUUCBtZXNzYWdlIHRvIGJlIHNlbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE1Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogY2xvc2VDb25uZWN0aW9uJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBjbG9zZXMgdGhlIG9wZW5lZCBIVFRQIGNvbm5lY3Rpb248L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE2Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQgOj0gJnF1b3Q7SU9UIEFwcCBIVFRQOiBpbml0RW50aXR5Q29udGV4dCZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgaW5pdGlhbGl6ZXMgdGhlIEhUVFAgZW50aXR5IGNvbnRleHQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE3Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogb3BlbkNvbm5lY3Rpb25fYnlWYXJzJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBvcGVucyBhbiBIVFRQIGNvbm5lY3Rpb248L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDE4Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIDo9ICZxdW90O0lPVCBBcHAgSFRUUDogc2V0TWV0aG9kX3N0cmluZ1BhcmFtJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBzZXRzIHRoZSBIVFRQIG1ldGhvZCBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxOSI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSA6PSAmcXVvdDtJT1QgQXBwIEhUVFA6IHNldFVyaV9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgSFRUUCByZXF1ZXN0IFVSSSBmb3IgdGhlIEhUVFAgbWVzc2FnZSB0byBiZSBzZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyMCI+PGRpdiBjbGFzcz1DQ29uc3RhbnQ+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+Y29uc3QgY2hhcnN0cmluZyBjX0lPVF9zdGVwTmFtZV9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIgOj0gJnF1b3Q7SU9UIEFwcCBMZXNoYW46IGdldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyJnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSB0ZXN0IHN0ZXAgdGhhdCBsb2FkcyB0aGUgY2xpZW50IG5hbWUgaW50byBhIHZhcmlhYmxlIGZyb20gYW4gSFRUUCByZXNwb25zZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjEiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIgOj0gJnF1b3Q7SU9UIEFwcCBMd00yTTogc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIEx3TTJNIGVuZHBvaW50IG5hbWUgaW4gdGhlIFJlZ2lzdGVyIG1lc3NhZ2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIyIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciA6PSAmcXVvdDtJT1QgQXBwIEx3TTJNOiBzZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXImcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIHRlc3Qgc3RlcCB0aGF0IHNldHMgdGhlIEx3TTJNIGVuZHBvaW50IG5hbWUgaW4gdGhlIFJlZ2lzdGVyIG1lc3NhZ2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIzIj48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcCBNUVRUOiBzZXRDbGllbnRJZF9zdHJpbmdQYXJhbSZxdW90OzwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5DaGFyc3RyaW5nIGNvbnN0YW50IGZvciB0aGUgdGVzdCBzdGVwIHRoYXQgc2V0cyB0aGUgTVFUVCBjbGllbnQgaWQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI0Ij48ZGl2IGNsYXNzPUNDb25zdGFudD48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5jb25zdCBjaGFyc3RyaW5nIGNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyA6PSAmcXVvdDtJT1QgQXBwIE1RVFQ6IHNldExvY2FsQWRkcmVzc19ieVZhcnMmcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3Igc2V0dGluZyB0aGUgTVFUVCBsb2NhbCBhZGRyZXNzIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjUiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW0gOj0gJnF1b3Q7SU9UIEFwcDogcHJpbnRfc3RyaW5nUGFyYW0mcXVvdDs8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+Q2hhcnN0cmluZyBjb25zdGFudCBmb3IgdGhlIFJJb1QgcHJpbnQgc3RyaW5nIHRlc3Qgc3RlcDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MjYiPjxkaXYgY2xhc3M9Q0NvbnN0YW50PjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmNvbnN0IGNoYXJzdHJpbmcgY19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdCA6PSAmcXVvdDtJT1QgQXBwOiB0Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0JnF1b3Q7PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNoYXJzdHJpbmcgY29uc3RhbnQgZm9yIHRoZSBSSW9UIHRlc3QgY2FzZSBmaW5pc2hlZCB0ZXN0IHN0ZXA8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKworPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI3Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX2FkZEZpZWxkKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW5vdXQmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eExpbmVQcm90b2NvbCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3BkdSw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhBdHRyVmFsdWUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9maWVsZDwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPik8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+QWRkcyBhIGZpZWxkIHRvIHRoZSBmaWVsZC1saXN0IG9mIGFuIEluZmx1eERCIG1lc3NhZ2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDI4Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX2FkZFRhZyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmlub3V0Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5JbmZsdXhMaW5lUHJvdG9jb2wmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9wZHUsPC90ZD48L3RyPjx0cj48dGQ+PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4QXR0clZhbHVlJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfdGFnPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5BZGRzIGEgdGFnIHRvIHRoZSB0YWctbGlzdCBvZiBhbiBJbmZsdXhEQiBtZXNzYWdlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyOSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+ZnVuY3Rpb24gZl9JbmZsdXhEQl9jb25uZWN0KCkgcnVucyBvbiBJbmZsdXhEQl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TZXR1cCB0aGUgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQiBkYXRhYmFzZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzAiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5mbHV4REJfZW5jb2RlKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eExpbmVQcm90b2NvbCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3Byb3QsPC90ZD48L3RyPjx0cj48dGQ+PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5vdXQmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9lbmNvZGVkPC90ZD48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+KTwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5Db252ZXJ0cyBhIHJlcG9ydCB0byBjaGFyc3RyaW5nIGZvcm1hdDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzEiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPmZ1bmN0aW9uIGZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0KCkgcnVucyBvbiBJbmZsdXhEQl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TZXRzIHRoZSB0YXJnZXQgdGltZSBvZiB0aGUgbmV4dCByZXBvcnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX3NlbmQoPC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+SW5mbHV4TGluZVByb3RvY29sJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfZGF0YTwvdGQ+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPikgcnVucyBvbiBJbmZsdXhEQl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TZW5kcyBhIHJlcG9ydCB0byB0aGUgSW5mbHV4REIgZGF0YWJhc2U8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDMzIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD5mdW5jdGlvbiBmX0luZmx1eERCX3NldE1lYXN1cmVtZW50KDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW5vdXQmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkluZmx1eExpbmVQcm90b2NvbCZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcD5wX3BkdSw8L3RkPjwvdHI+PHRyPjx0ZD48L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfbWVhc3VyZW1lbnQ8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlNldHMgdGhlIG1lYXN1cmVtZW50IGZpZWxkIG9mIGFuIEluZmx1eERCIHJlcG9ydDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzQiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAibm93cmFwPmZ1bmN0aW9uIGZfSW5sZnV4REJfbG9nX2RlYnVnKDwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXA+cF9sb2c8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklmIGRlYnVnIGxvZyBpcyBzZXQsIHdyaXRlIHRoZSBwYXJhbWV0ZXIgdG8gdGhlIGxvZyBmaWxlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzNSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQXBwX3N0YXJ0RXhlY0N0cmwoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3NlbGZOYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmludGVnZXImbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9uck9mQ2xpZW50cyw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0RhdGFTb3VyY2VfQ1QmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9kYXRhc291cmNlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIEVQVEZfRXhlY0N0cmxfQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+U3RhcnRpbmcgdXAgdGhlIEV4ZWN1dGlvbiBDb250cm9sIGNvbXBvbmVudCB0aGF0IHdpbGwgb3JjaGVzdHJhdGUgdGhlIGxvYWQgZ2VuZXJhdG9yIElPVF9MR2VuX0NULCZsdDtFUFRGX0V4ZWNDdHJsQ2xpZW50X0NUJmd0OyBjb21wb25lbnQgaW5zdGFuY2VzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzNiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfQ09BUF9QRFUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPldyYXBwZXIgb2YgZl9FUFRGX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSwgdXNlZCBmb3IgY2F0Y2hpbmcgYW5kIGluY29taW5nIENPQVAgbWVzc2FnZXMuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzNyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfQ09BUF9QRFUmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tc2c8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+V3JhcHBlciBvZiBmX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQsIHVzZWQgZm9yIGNhdGNoaW5nIG91dGdvaW5nIENPQVAgbWVzc2FnZXMuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQzOCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+VGhlIG1haW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBJbmZsdXhEQl9DVCBjb21wb25lbnQgdHlwZTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MzkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fY3JlYXRlICg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfaG9zdG5hbWUsPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX2NvbXBvbmVudE5hbWU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gRVBURl9FeGVjQ3RybF9DVCByZXR1cm4gRVBURl9FeGVjQ3RybENsaWVudF9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5TdGFydGluZyB1cCBhIGxvYWQgZ2VuZXJhdG9yIElPVF9MR2VuX0NUIGNvbXBvbmVudCBpbnN0YW5jZXM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij5mdW5jdGlvbiBmX0lPVF9MR2VuX2RlY2xhcmVTdGVwcygpIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+RnVuY3Rpb24gdG8gZGVjbGFyZSBhbGwgdGhlIFJJb1QgYXBwbGljYXRpb24gcmVsYXRlZCB0ZXN0IHN0ZXBzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9nZXRFbnRpdHlJZHhpbkVudGl0eUdyb3VwKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUIHJldHVybiBpbnRlZ2VyPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkNhbGN1bGF0ZXMgdGhlIGluZGV4IG9mIHRoZSBlbnRpdHkgaW5zaWRlIGl0cyBlbnRpdHkgZ3JvdXA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQyIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX2luaXQoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3NlbGZOYW1lLDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmludGVnZXImbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wX2lkeCw8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0V4ZWNDdHJsX0NUJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfRXhlY0N0cmxSZWY8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGhlIG1haW4gaW5pdCBmdW5jdGlvbiBvZiB0aGUgSU9UX0xHZW5fQ1QgY29tcG9uZW50IHR5cGUgSXQgaW5pdGlhbGl6ZXMgdGhlIGludGVncmF0ZWQgYXBwbGljYXRpb24gbGlicmFyaWVzIGFuZCBkZWZpbmVzIGl0cyBvd24gY19JT1RfYmVoYXZpb3JUeXBlIGFuZCB0ZXN0IHN0ZXBzIGZfSU9UX0xHZW5fZGVjbGFyZVN0ZXBzIFRoZSBzYW1wbGUgZGF0YWJhc2Ugb2YgdGhlIHNtYXJ0IG9iamVjdHMgYXJlIGFsc28gZmlsbGVkIGluIGhlcmUgYnkgY2FsbGluZyBmX0lPVF9MR2VuX2luaXRTYW1wbGVzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0MyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJub3dyYXA+ZnVuY3Rpb24gZl9JT1RfTEdlbl9pbml0U2FtcGxlcyg8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5jaGFyc3RyaW5nJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwPnBfc2VsZk5hbWU8L3RkPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgIm5vd3JhcD4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+SW5pdGlhbGl6ZXMgdGhlIDxiPnZfSU9UX0xHZW5fRGF0YVNhbXBsZXNfREI8L2I+IGRhdGFiYXNlIGJ5IGxvYWRpbmcgYSBzZXQgb2YgZGF0YSBzYW1wbGVzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgREVCVUcgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX0VSUk9SKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgRVJST1IgbG9nIGxldmVsPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0NiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9Mb2dnaW5nX1ZFUkJPU0UoPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiBAbGF6eSZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+Y2hhcnN0cmluZyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX21lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+TG9nZ2luZyBmdW5jdGlvbnMgZm9yIHRoZSBWRVJCT1NFIGxvZyBsZXZlbDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDciPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fTG9nZ2luZ19XQVJOSU5HKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4gQGxhenkmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPmNoYXJzdHJpbmcmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9tZXNzYWdlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPkxvZ2dpbmcgZnVuY3Rpb25zIGZvciB0aGUgV0FSTklORyBsb2cgbGV2ZWw8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDQ4Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGxvY2FsIGFkZHJlc3MgaW4gdGhlIENPQVAgZW50aXR5IGNvbnRleHQgQ09BUF9FbnRpdHlDdHguIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NDkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBpbml0IHJlc291cmNlcyBvZiB0aGUgUmVnRGVyZWcgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1MCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBjcmVhdGUgcmVzb3VyY2VzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaGFuZGxlIGluY29taW5nIEx3TTJNIEVYRUNVVEUgcmVxdWVzdCBpbiB0aGUgU2ltRGV2aWNlIEZTTTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NTIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdCB0aGUgcmVzb3VyY2UgdmFsdWVzIG9mIHRoZSBTaW1EZXZpY2UgRlNNPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1MyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBpbml0aWFsaXplIHRoZSBDT0FQIHRyYW5zcG9ydCAoZWl0aGVyIFVEUCwgb3IgRFRMUy1QU0spIG9mIHRoZSBTaW1EZXZpY2UgRlNNLiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDU0Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gdXBkYXRlIHRoZSByZXNvdXJjZSB2YWx1ZXMgb2YgdGhlIFNpbURldmljZSBGU008L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDU1Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBnZW5lcmF0ZSBhIHJhbmRvbSBudW1iZXIgYW5kIGxvYWQgaXQgaW50byBhbiBpbnRlZ2VyIHZhcmlhYmxlLiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDU2Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gYWRkIGEgSG9zdCBoZWFkZXIgdG8gdGhlIEhUVFAgbWVzc2FnZXIgdG8gYmUgc2VudC4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1NyI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9VcmlfYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NTgiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NTkiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gY2xvc2UgYW4gYWxyZWFkeSBvcGVuZWQgVENQIGNvbm5lY3Rpb24gZm9yIEhUVFA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDYwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gaW5pdGlhbGl6ZSB0aGUgSFRUUCBlbnRpdHkgY29udGV4dCBieSBjYWxsaW5nIGZfRVBURl9IVFRQX3NldEVudGl0eUNvbnRleHQuPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2MSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBvcGVuIGEgVENQIGNvbm5lY3Rpb24gZm9yIEhUVFAuIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NjIiPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDYzIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW0oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2NCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1Zhcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gZmV0Y2ggdGhlIGNsaWVudCBuYW1lIG9mIGFuIEhUVFAgcmVzcG9uc2Ugc2VudCBieSBMZXNoYW4gaW50byBhIHZhcmlhYmxlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2NSI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGVuZHBvaW50IGNsaWVudCBuYW1lIGluIHRoZSBMV00yTSBSZWdpc3RlciBtZXNzYWdlIHRoYXQgbXVzdCBiZSBwcmV2aW91c2x5IGxvYWRlZCBpbnRvIDxiPnZfTHdNMk1fbXNnVG9TZW5kPC9iPi4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2NiI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1Zhcig8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBlbmRwb2ludCBjbGllbnQgbmFtZSBpbiB0aGUgTFdNMk0gUmVnaXN0ZXIgbWVzc2FnZSB0aGF0IG11c3QgYmUgcHJldmlvdXNseSBsb2FkZWQgaW50byA8Yj52X0x3TTJNX21zZ1RvU2VuZDwvYj4uIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NjciPjxkaXYgY2xhc3M9Q0Z1bmN0aW9uPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9IlBCZWZvcmVQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PmZ1bmN0aW9uIGZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtKDwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZVByZWZpeCAgcHJldHR5cHJpbnQgIiBub3dyYXA+aW4mbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGUgIHByZXR0eXByaW50ICIgbm93cmFwPkVQVEZfTEdlbkJhc2VfVGVzdFN0ZXBBcmdzJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBQYXJhbWV0ZXIgIHByZXR0eXByaW50ICIgbm93cmFwIHdpZHRoPTEwMCU+cGxfcHRyPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IlBBZnRlclBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+KSBydW5zIG9uIElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlRlc3Qgc3RlcCB0byBzZXQgdGhlIGNsaWVudCBpZCB0aGUgTVFUVCBlbnRpdHkgY29udGV4dC4gPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ2OCI+PGRpdiBjbGFzcz1DRnVuY3Rpb24+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz0iUEJlZm9yZVBhcmFtZXRlcnMgIHByZXR0eXByaW50ICJjb2xzcGFuPTQ+ZnVuY3Rpb24gZl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBsb2NhbCBhZGRyZXNzIGluIHRoZSBNUVRUIGVudGl0eSBjb250ZXh0LiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDY5Ij48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW0oPC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlUHJlZml4ICBwcmV0dHlwcmludCAiIG5vd3JhcD5pbiZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQVHlwZSAgcHJldHR5cHJpbnQgIiBub3dyYXA+RVBURl9MR2VuQmFzZV9UZXN0U3RlcEFyZ3MmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFBhcmFtZXRlciAgcHJldHR5cHJpbnQgIiBub3dyYXAgd2lkdGg9MTAwJT5wbF9wdHI8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iUEFmdGVyUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND4pIHJ1bnMgb24gSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+VGVzdCBzdGVwIHRvIHByaW50IGEgc3RyaW5nIHBhcmFtZXRlciBhcyBhIFRUQ04tMyBhY3Rpb24oKSBzdGF0ZW1lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDcwIj48ZGl2IGNsYXNzPUNGdW5jdGlvbj48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48dHI+PHRkIGNsYXNzPSJQQmVmb3JlUGFyYW1ldGVycyAgcHJldHR5cHJpbnQgImNvbHNwYW49ND5mdW5jdGlvbiBmX0lPVF9MR2VuX3N0ZXBfdGNGaW5pc2hlZF93aXRoVmVyZGljdCg8L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDs8L3RkPjx0ZCBjbGFzcz0iUFR5cGVQcmVmaXggIHByZXR0eXByaW50ICIgbm93cmFwPmluJm5ic3A7PC90ZD48dGQgY2xhc3M9IlBUeXBlICBwcmV0dHlwcmludCAiIG5vd3JhcD5FUFRGX0xHZW5CYXNlX1Rlc3RTdGVwQXJncyZuYnNwOzwvdGQ+PHRkIGNsYXNzPSJQUGFyYW1ldGVyICBwcmV0dHlwcmludCAiIG5vd3JhcCB3aWR0aD0xMDAlPnBsX3B0cjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSJQQWZ0ZXJQYXJhbWV0ZXJzICBwcmV0dHlwcmludCAiY29sc3Bhbj00PikgcnVucyBvbiBJT1RfTEdlbl9DVDwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5UZXN0IHN0ZXAgdG8gc2V0IHRoZSBmaW5hbCB2ZXJkaWN0IHJlcG9ydGVkIGJ5IHRoZSBGU00gdXNpbmcgYSB2ZXJkaWN0IHZhcmlhYmxlIGFzIHBhcmFtZXRlci48L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9pbmRleC9HZW5lcmFsMi5odG1sIGIvYXBpZG9jL2h0bWwvaW5kZXgvR2VuZXJhbDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODZiNGU5Ci0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvaW5kZXgvR2VuZXJhbDIuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+SW9UX0xvYWRfVGVzdF9GcmFtZXdvcmsgLSBJbmRleDwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkSW5kZXhQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPkluZGV4PC9kaXY+PGRpdiBjbGFzcz1JTmF2aWdhdGlvbkJhcj4kIyEgJm1pZGRvdDsgMC05ICZtaWRkb3Q7IDxhIGhyZWY9IkdlbmVyYWwuaHRtbCNBIj5BPC9hPiAmbWlkZG90OyBCICZtaWRkb3Q7IDxhIGhyZWY9IkdlbmVyYWwuaHRtbCNDIj5DPC9hPiAmbWlkZG90OyBEICZtaWRkb3Q7IEUgJm1pZGRvdDsgPGEgaHJlZj0iR2VuZXJhbC5odG1sI0YiPkY8L2E+ICZtaWRkb3Q7IEcgJm1pZGRvdDsgSCAmbWlkZG90OyA8YSBocmVmPSIjSSI+STwvYT4gJm1pZGRvdDsgSiAmbWlkZG90OyBLICZtaWRkb3Q7IEwgJm1pZGRvdDsgTSAmbWlkZG90OyBOICZtaWRkb3Q7IE8gJm1pZGRvdDsgUCAmbWlkZG90OyBRICZtaWRkb3Q7IFIgJm1pZGRvdDsgUyAmbWlkZG90OyA8YSBocmVmPSIjVCI+VDwvYT4gJm1pZGRvdDsgVSAmbWlkZG90OyBWICZtaWRkb3Q7IFcgJm1pZGRvdDsgWCAmbWlkZG90OyBZICZtaWRkb3Q7IFo8L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjx0cj48dGQgY2xhc3M9SUhlYWRpbmcgaWQ9SUZpcnN0SGVhZGluZz48YSBuYW1lPSJJIj48L2E+STwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXggaWQ9SUZpcnN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbiIgIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI0luZmx1eERCX0Z1bmN0aW9ucy50dGNuIiAgY2xhc3M9SVN5bWJvbD5JbmZsdXhEQl9GdW5jdGlvbnMudHRjbjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfQXBwX0NUIiBpZD1saW5rNzIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcxJywgJ2xpbms3MicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcxJykiIGNsYXNzPUlTeW1ib2w+SU9UX0FwcF9DVDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfQXBwX0RlZmluaXRpb25zIiBpZD1saW5rNzMgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDcyJywgJ2xpbms3MycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDcyJykiIGNsYXNzPUlTeW1ib2w+SU9UX0FwcF9EZWZpbml0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwjSU9UX0FwcF9GdW5jdGlvbnMiIGlkPWxpbms3NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NzMnLCAnbGluazc0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NzMnKSIgY2xhc3M9SVN5bWJvbD5JT1RfQXBwX0Z1bmN0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGlkPWxpbms3NSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NzQnLCAnbGluazc1JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NzQnKSIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9DVDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fRGVmaW5pdGlvbnMiIGlkPWxpbms3NiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NzUnLCAnbGluazc2JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NzUnKSIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0Z1bmN0aW9ucyIgaWQ9bGluazc3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3NicsICdsaW5rNzcnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3NicpIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX0Z1bmN0aW9uczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlMYXN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjSU9UX0xHZW5fU3RlcHMiIGlkPWxpbms3OCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NzcnLCAnbGluazc4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NzcnKSIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9TdGVwczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JSGVhZGluZz48YSBuYW1lPSJUIj48L2E+VDwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXggaWQ9SUZpcnN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwjVEMiIGlkPWxpbms3OSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NzgnLCAnbGluazc5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NzgnKSIgY2xhc3M9SVN5bWJvbD5UQzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfQVBJX2RpcmVjdG9yeSIgaWQ9bGluazgwIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3OScsICdsaW5rODAnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ3OScpIiBjbGFzcz1JU3ltYm9sPnRzcF9FUFRGX0RzUmVzdEFQSV9BUElfZGlyZWN0b3J5PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9jdXN0b21pemFibGVBcHBfZGlyZWN0b3J5IiBpZD1saW5rODEgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgwJywgJ2xpbms4MScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgwJykiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX2N1c3RvbWl6YWJsZUFwcF9kaXJlY3Rvcnk8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfZGlyZWN0b3J5IiBpZD1saW5rODIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgxJywgJ2xpbms4MicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDgxJykiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfZGlyZWN0b3J5PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3MiIGlkPWxpbms4MyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0ODInLCAnbGluazgzJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0ODInKSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVBZGRyZXNzPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQiIGlkPWxpbms4NCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0ODMnLCAnbGluazg0JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0ODMnKSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVQb3J0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSW5mbHV4REJfY2xpZW50X2Jhc2VQb3J0IiBpZD1saW5rODUgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDg0JywgJ2xpbms4NScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDg0JykiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0luZmx1eERCX2RlYnVnIiBpZD1saW5rODYgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDg1JywgJ2xpbms4NicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDg1JykiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX2RlYnVnPC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSW5mbHV4REJfcmVwb3J0UGVyaW9kIiBpZD1saW5rODcgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDg2JywgJ2xpbms4NycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDg2JykiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlMYXN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0lPVF9MR2VuX0ZTTXMiIGlkPWxpbms4OCBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0ODcnLCAnbGluazg4JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0ODcnKSIgY2xhc3M9SVN5bWJvbD50c3BfSU9UX0xHZW5fRlNNczwvYT48L3RkPjwvdHI+PC90YWJsZT4KKzwhLS1TVEFSVF9ORF9UT09MVElQUy0tPgorPGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3MSI+PGRpdiBjbGFzcz1DVHlwZT48YmxvY2txdW90ZT48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGNsYXNzPSJQcm90b3R5cGUiPjx0cj48dGQgY2xhc3M9InByZXR0eXByaW50Ij50eXBlIGNvbXBvbmVudCBJT1RfQXBwX0NUIGV4dGVuZHMgRVBURl9CYXNlX0NULCBFUFRGX0RzUmVzdEFQSV9DVDwvdGQ+PC90cj48L3RhYmxlPjwvYmxvY2txdW90ZT5SSW9UIGFwcGxpY2F0aW9uJnJzcXVvO3MgbWFpbiBjb21wb25lbnQgcHJvdmlkaW5nIGEgUkVTVCBBUEkgdG8gdGhlIGVudmlyb25tZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3MiI+PGRpdiBjbGFzcz1DRmlsZT5UaGlzIG1vZHVsZSBjb250YWlucyB0aGUgZGVmaW5pdGlvbnMgZm9yIFJJb1QmcnNxdW87cyBtYWluIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NzMiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBSSW9UJnJzcXVvO3MgbWFpbiBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDc0Ij48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9MR2VuX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPklvVCBsb2FkIGdlbmVyYXRvciBjb21wb25lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDc1Ij48ZGl2IGNsYXNzPUNGaWxlPlRoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9ucyBmb3IgYW4gSW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NzYiPjxkaXYgY2xhc3M9Q0ZpbGU+VGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGZ1bmN0aW9ucyBvZiBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3NyI+PGRpdiBjbGFzcz1DRmlsZT5UaGlzIG1vZHVsZSBjb250YWlucyB0ZXN0IHN0ZXAgZnVuY3Rpb25zIGZvciBhbiBJb1QgbG9hZCBnZW5lcmF0b3IgY29tcG9uZW50PC9kaXY+PC9kaXY+PCEtLUVORF9ORF9UT09MVElQUy0tPgorCisKKzwhLS1TVEFSVF9ORF9UT09MVElQUy0tPgorPGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ3OCI+PGRpdiBjbGFzcz1DVGVzdGNhc2U+VGhlIG1haW4gZW50cnkgcG9pbnQgb2YgdGhlIFJJb1QgYXBwbGljYXRpb248L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDc5Ij48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+UGF0aCBvZiBEc1Jlc3RBUEkgQVBJIGRpcmVjdG9yeTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0ODAiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5QYXRoIG9mIHRoZSBSRVNUIEFQSSBjdXN0b21pemFibGVBcHAgZGlyZWN0b3J5PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4MSI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPlBhdGggb2YgUkVTVCBBUEkgSFRUUCBzZXJ2ZXIgZGlyZWN0b3J5PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4MiI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPklQIGFkZHJlc3Mgb2YgdGhlIFJFU1QgQVBJIHNlcnZlcjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0ODMiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5Qb3J0IG51bWJlciBvZiB0aGUgUkVTVCBBUEkgc2VydmVyPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4NCI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPkxvY2FsIHBvcnQgbnVtYmVyIHVzZWQgZm9yIHRoZSBVRFAgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0ODUiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5FbmFibGUvZGlzYWJsZSBkZWJ1ZyBsb2dnaW5nPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ4NiI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPkluZmx1eERCIGV2ZW50IGhhbmRsZXIgcmVwb3J0aW5nIHBlcmlvZDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0ODciPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5GU00gZGVjbGFyYXRpb25zIHRoYXQgY2FuIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIHRyYWZmaWMgY2FzZXM8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9pbmRleC9Nb2R1bGVQYXJhbWV0ZXJzLmh0bWwgYi9hcGlkb2MvaHRtbC9pbmRleC9Nb2R1bGVQYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U5YWJiMAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL2luZGV4L01vZHVsZVBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+SW9UX0xvYWRfVGVzdF9GcmFtZXdvcmsgLSBNb2R1bGUgUGFyYW1ldGVyIEluZGV4PC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRJbmRleFBhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKSI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKworCisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1JbmRleD48ZGl2IGNsYXNzPUlQYWdlVGl0bGU+TW9kdWxlIFBhcmFtZXRlciBJbmRleDwvZGl2PjxkaXYgY2xhc3M9SU5hdmlnYXRpb25CYXI+JCMhICZtaWRkb3Q7IDAtOSAmbWlkZG90OyBBICZtaWRkb3Q7IEIgJm1pZGRvdDsgQyAmbWlkZG90OyBEICZtaWRkb3Q7IEUgJm1pZGRvdDsgRiAmbWlkZG90OyBHICZtaWRkb3Q7IEggJm1pZGRvdDsgSSAmbWlkZG90OyBKICZtaWRkb3Q7IEsgJm1pZGRvdDsgTCAmbWlkZG90OyBNICZtaWRkb3Q7IE4gJm1pZGRvdDsgTyAmbWlkZG90OyBQICZtaWRkb3Q7IFEgJm1pZGRvdDsgUiAmbWlkZG90OyBTICZtaWRkb3Q7IDxhIGhyZWY9IiNUIj5UPC9hPiAmbWlkZG90OyBVICZtaWRkb3Q7IFYgJm1pZGRvdDsgVyAmbWlkZG90OyBYICZtaWRkb3Q7IFkgJm1pZGRvdDsgWjwvZGl2Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz1JSGVhZGluZyBpZD1JRmlyc3RIZWFkaW5nPjxhIG5hbWU9IlQiPjwvYT5UPC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JRmlyc3RTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9BUElfZGlyZWN0b3J5IiBpZD1saW5rMSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MScsICdsaW5rMScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDEnKSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfQVBJX2RpcmVjdG9yeTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeSIgaWQ9bGluazIgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDInLCAnbGluazInKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQyJykiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX2N1c3RvbWl6YWJsZUFwcF9kaXJlY3Rvcnk8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfZGlyZWN0b3J5IiBpZD1saW5rMyBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MycsICdsaW5rMycpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDMnKSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3Rvcnk8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlQWRkcmVzcyIgaWQ9bGluazQgb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDQnLCAnbGluazQnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ0JykiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlQWRkcmVzczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVQb3J0IiBpZD1saW5rNSBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NScsICdsaW5rNScpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDUnKSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVQb3J0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSW5mbHV4REJfY2xpZW50X2Jhc2VQb3J0IiBpZD1saW5rNiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0NicsICdsaW5rNicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDYnKSIgY2xhc3M9SVN5bWJvbD50c3BfSW5mbHV4REJfY2xpZW50X2Jhc2VQb3J0PC9hPjwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPUlTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSW5mbHV4REJfZGVidWciIGlkPWxpbms3IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ3JywgJ2xpbms3JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0NycpIiBjbGFzcz1JU3ltYm9sPnRzcF9JbmZsdXhEQl9kZWJ1ZzwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZCIgaWQ9bGluazggb25Nb3VzZU92ZXI9IlNob3dUaXAoZXZlbnQsICd0dDgnLCAnbGluazgnKSIgb25Nb3VzZU91dD0iSGlkZVRpcCgndHQ4JykiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZDwvYT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1JU3ltYm9sUHJlZml4IGlkPUlMYXN0U3ltYm9sUHJlZml4PiZuYnNwOzwvdGQ+PHRkIGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0lPVF9MR2VuX0ZTTXMiIGlkPWxpbms5IG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQ5JywgJ2xpbms5JykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0OScpIiBjbGFzcz1JU3ltYm9sPnRzcF9JT1RfTEdlbl9GU01zPC9hPjwvdGQ+PC90cj48L3RhYmxlPgorPCEtLVNUQVJUX05EX1RPT0xUSVBTLS0+Cis8ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDEiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5QYXRoIG9mIERzUmVzdEFQSSBBUEkgZGlyZWN0b3J5PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQyIj48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+UGF0aCBvZiB0aGUgUkVTVCBBUEkgY3VzdG9taXphYmxlQXBwIGRpcmVjdG9yeTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0MyI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPlBhdGggb2YgUkVTVCBBUEkgSFRUUCBzZXJ2ZXIgZGlyZWN0b3J5PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ0Ij48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+SVAgYWRkcmVzcyBvZiB0aGUgUkVTVCBBUEkgc2VydmVyPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQ1Ij48ZGl2IGNsYXNzPUNNb2R1bGVQYXJhbWV0ZXI+UG9ydCBudW1iZXIgb2YgdGhlIFJFU1QgQVBJIHNlcnZlcjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NiI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPkxvY2FsIHBvcnQgbnVtYmVyIHVzZWQgZm9yIHRoZSBVRFAgY29ubmVjdGlvbiB3aXRoIHRoZSBJbmZsdXhEQjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Q1Rvb2xUaXAgaWQ9InR0NyI+PGRpdiBjbGFzcz1DTW9kdWxlUGFyYW1ldGVyPkVuYWJsZS9kaXNhYmxlIGRlYnVnIGxvZ2dpbmc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDgiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5JbmZsdXhEQiBldmVudCBoYW5kbGVyIHJlcG9ydGluZyBwZXJpb2Q8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDkiPjxkaXYgY2xhc3M9Q01vZHVsZVBhcmFtZXRlcj5GU00gZGVjbGFyYXRpb25zIHRoYXQgY2FuIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIHRyYWZmaWMgY2FzZXM8L2Rpdj48L2Rpdj48IS0tRU5EX05EX1RPT0xUSVBTLS0+CisKKzwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9pbmRleC9UeXBlcy5odG1sIGIvYXBpZG9jL2h0bWwvaW5kZXgvVHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTkwYzNiCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvaW5kZXgvVHlwZXMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48dGl0bGU+SW9UX0xvYWRfVGVzdF9GcmFtZXdvcmsgLSBUeXBlIEluZGV4PC90aXRsZT48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRJbmRleFBhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKSI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKworCisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1JbmRleD48ZGl2IGNsYXNzPUlQYWdlVGl0bGU+VHlwZSBJbmRleDwvZGl2PjxkaXYgY2xhc3M9SU5hdmlnYXRpb25CYXI+JCMhICZtaWRkb3Q7IDAtOSAmbWlkZG90OyBBICZtaWRkb3Q7IEIgJm1pZGRvdDsgQyAmbWlkZG90OyBEICZtaWRkb3Q7IEUgJm1pZGRvdDsgRiAmbWlkZG90OyBHICZtaWRkb3Q7IEggJm1pZGRvdDsgPGEgaHJlZj0iI0kiPkk8L2E+ICZtaWRkb3Q7IEogJm1pZGRvdDsgSyAmbWlkZG90OyBMICZtaWRkb3Q7IE0gJm1pZGRvdDsgTiAmbWlkZG90OyBPICZtaWRkb3Q7IFAgJm1pZGRvdDsgUSAmbWlkZG90OyBSICZtaWRkb3Q7IFMgJm1pZGRvdDsgVCAmbWlkZG90OyBVICZtaWRkb3Q7IFYgJm1pZGRvdDsgVyAmbWlkZG90OyBYICZtaWRkb3Q7IFkgJm1pZGRvdDsgWjwvZGl2Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PHRyPjx0ZCBjbGFzcz1JSGVhZGluZyBpZD1JRmlyc3RIZWFkaW5nPjxhIG5hbWU9IkkiPjwvYT5JPC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JRmlyc3RTeW1ib2xQcmVmaXg+Jm5ic3A7PC90ZD48dGQgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfQ1QiIGlkPWxpbmsxIG9uTW91c2VPdmVyPSJTaG93VGlwKGV2ZW50LCAndHQxJywgJ2xpbmsxJykiIG9uTW91c2VPdXQ9IkhpZGVUaXAoJ3R0MScpIiBjbGFzcz1JU3ltYm9sPklPVF9BcHBfQ1Q8L2E+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9SVN5bWJvbFByZWZpeCBpZD1JTGFzdFN5bWJvbFByZWZpeD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBpZD1saW5rMiBvbk1vdXNlT3Zlcj0iU2hvd1RpcChldmVudCwgJ3R0MicsICdsaW5rMicpIiBvbk1vdXNlT3V0PSJIaWRlVGlwKCd0dDInKSIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9DVDwvYT48L3RkPjwvdHI+PC90YWJsZT4KKzwhLS1TVEFSVF9ORF9UT09MVElQUy0tPgorPGRpdiBjbGFzcz1DVG9vbFRpcCBpZD0idHQxIj48ZGl2IGNsYXNzPUNUeXBlPjxibG9ja3F1b3RlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgY2xhc3M9IlByb3RvdHlwZSI+PHRyPjx0ZCBjbGFzcz0icHJldHR5cHJpbnQiPnR5cGUgY29tcG9uZW50IElPVF9BcHBfQ1QgZXh0ZW5kcyBFUFRGX0Jhc2VfQ1QsIEVQVEZfRHNSZXN0QVBJX0NUPC90ZD48L3RyPjwvdGFibGU+PC9ibG9ja3F1b3RlPlJJb1QgYXBwbGljYXRpb24mcnNxdW87cyBtYWluIGNvbXBvbmVudCBwcm92aWRpbmcgYSBSRVNUIEFQSSB0byB0aGUgZW52aXJvbm1lbnQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNUb29sVGlwIGlkPSJ0dDIiPjxkaXYgY2xhc3M9Q1R5cGU+PGJsb2NrcXVvdGU+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBjbGFzcz0iUHJvdG90eXBlIj48dHI+PHRkIGNsYXNzPSJwcmV0dHlwcmludCI+dHlwZSBjb21wb25lbnQgSU9UX0xHZW5fQ1Q8L3RkPjwvdHI+PC90YWJsZT48L2Jsb2NrcXVvdGU+SW9UIGxvYWQgZ2VuZXJhdG9yIGNvbXBvbmVudDwvZGl2PjwvZGl2PjwhLS1FTkRfTkRfVE9PTFRJUFMtLT4KKworPC9kaXY+PCEtLUluZGV4LS0+CisKKworPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOyB9ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpO30vLyAtLT48L3NjcmlwdD48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL2phdmFzY3JpcHQvbWFpbi5qcyBiL2FwaWRvYy9odG1sL2phdmFzY3JpcHQvbWFpbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjQyYWNkCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvamF2YXNjcmlwdC9tYWluLmpzCkBAIC0wLDAgKzEsODQxIEBACisvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiBOYXR1cmFsIERvY3MsIHdoaWNoIGlzIENvcHlyaWdodCCpIDIwMDMtMjAxMCBHcmVnIFZhbHVyZQ0KKy8vIE5hdHVyYWwgRG9jcyBpcyBsaWNlbnNlZCB1bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoQUdQTCkNCisvLyBSZWZlciB0byBMaWNlbnNlLnR4dCBmb3IgdGhlIGNvbXBsZXRlIGRldGFpbHMNCisNCisvLyBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHdpdGggZG9jdW1lbnRhdGlvbiBmaWxlcyBnZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLg0KKy8vIFN1Y2ggZG9jdW1lbnRhdGlvbiBpcyBub3QgY292ZXJlZCBieSBOYXR1cmFsIERvY3MnIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nLA0KKy8vIGFuZCBtYXkgaGF2ZSBpdHMgb3duIGNvcHlyaWdodCBhbmQgZGlzdHJpYnV0aW9uIHRlcm1zIGFzIGRlY2lkZWQgYnkgaXRzIGF1dGhvci4NCisNCisNCisvLw0KKy8vICBCcm93c2VyIFN0eWxlcw0KKy8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCit2YXIgYWd0PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsNCit2YXIgYnJvd3NlclR5cGU7DQordmFyIGJyb3dzZXJWZXI7DQorDQoraWYgKGFndC5pbmRleE9mKCJvcGVyYSIpICE9IC0xKQ0KKyAgICB7DQorICAgIGJyb3dzZXJUeXBlID0gIk9wZXJhIjsNCisNCisgICAgaWYgKGFndC5pbmRleE9mKCJvcGVyYSA3IikgIT0gLTEgfHwgYWd0LmluZGV4T2YoIm9wZXJhLzciKSAhPSAtMSkNCisgICAgICAgIHsgIGJyb3dzZXJWZXIgPSAiT3BlcmE3IjsgIH0NCisgICAgZWxzZSBpZiAoYWd0LmluZGV4T2YoIm9wZXJhIDgiKSAhPSAtMSB8fCBhZ3QuaW5kZXhPZigib3BlcmEvOCIpICE9IC0xKQ0KKyAgICAgICAgeyAgYnJvd3NlclZlciA9ICJPcGVyYTgiOyAgfQ0KKyAgICBlbHNlIGlmIChhZ3QuaW5kZXhPZigib3BlcmEgOSIpICE9IC0xIHx8IGFndC5pbmRleE9mKCJvcGVyYS85IikgIT0gLTEpDQorICAgICAgICB7ICBicm93c2VyVmVyID0gIk9wZXJhOSI7ICB9DQorICAgIH0NCisNCitlbHNlIGlmIChhZ3QuaW5kZXhPZigiYXBwbGV3ZWJraXQiKSAhPSAtMSkNCisgICAgew0KKyAgICBicm93c2VyVHlwZSA9ICJTYWZhcmkiOw0KKw0KKyAgICBpZiAoYWd0LmluZGV4T2YoInZlcnNpb24vMyIpICE9IC0xKQ0KKyAgICAgICAgeyAgYnJvd3NlclZlciA9ICJTYWZhcmkzIjsgIH0NCisgICAgZWxzZSBpZiAoYWd0LmluZGV4T2YoInNhZmFyaS80IikgIT0gLTEpDQorICAgICAgICB7ICBicm93c2VyVmVyID0gIlNhZmFyaTIiOyAgfQ0KKyAgICB9DQorDQorZWxzZSBpZiAoYWd0LmluZGV4T2YoImtodG1sIikgIT0gLTEpDQorICAgIHsNCisgICAgYnJvd3NlclR5cGUgPSAiS29ucXVlcm9yIjsNCisgICAgfQ0KKw0KK2Vsc2UgaWYgKGFndC5pbmRleE9mKCJtc2llIikgIT0gLTEpDQorICAgIHsNCisgICAgYnJvd3NlclR5cGUgPSAiSUUiOw0KKw0KKyAgICBpZiAoYWd0LmluZGV4T2YoIm1zaWUgNiIpICE9IC0xKQ0KKyAgICAgICAgeyAgYnJvd3NlclZlciA9ICJJRTYiOyAgfQ0KKyAgICBlbHNlIGlmIChhZ3QuaW5kZXhPZigibXNpZSA3IikgIT0gLTEpDQorICAgICAgICB7ICBicm93c2VyVmVyID0gIklFNyI7ICB9DQorICAgIH0NCisNCitlbHNlIGlmIChhZ3QuaW5kZXhPZigiZ2Vja28iKSAhPSAtMSkNCisgICAgew0KKyAgICBicm93c2VyVHlwZSA9ICJGaXJlZm94IjsNCisNCisgICAgaWYgKGFndC5pbmRleE9mKCJydjoxLjciKSAhPSAtMSkNCisgICAgICAgIHsgIGJyb3dzZXJWZXIgPSAiRmlyZWZveDEiOyAgfQ0KKyAgICBlbHNlIGlmIChhZ3QuaW5kZXhPZigicnY6MS44KSIpICE9IC0xIHx8IGFndC5pbmRleE9mKCJydjoxLjguMCIpICE9IC0xKQ0KKyAgICAgICAgeyAgYnJvd3NlclZlciA9ICJGaXJlZm94MTUiOyAgfQ0KKyAgICBlbHNlIGlmIChhZ3QuaW5kZXhPZigicnY6MS44LjEiKSAhPSAtMSkNCisgICAgICAgIHsgIGJyb3dzZXJWZXIgPSAiRmlyZWZveDIiOyAgfQ0KKyAgICB9DQorDQorDQorLy8NCisvLyAgU3VwcG9ydCBGdW5jdGlvbnMNCisvLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQorDQorDQorZnVuY3Rpb24gR2V0WFBvc2l0aW9uKGl0ZW0pDQorICAgIHsNCisgICAgdmFyIHBvc2l0aW9uID0gMDsNCisNCisgICAgaWYgKGl0ZW0ub2Zmc2V0V2lkdGggIT0gbnVsbCkNCisgICAgICAgIHsNCisgICAgICAgIHdoaWxlIChpdGVtICE9IGRvY3VtZW50LmJvZHkgJiYgaXRlbSAhPSBudWxsKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICBwb3NpdGlvbiArPSBpdGVtLm9mZnNldExlZnQ7DQorICAgICAgICAgICAgaXRlbSA9IGl0ZW0ub2Zmc2V0UGFyZW50Ow0KKyAgICAgICAgICAgIH07DQorICAgICAgICB9Ow0KKw0KKyAgICByZXR1cm4gcG9zaXRpb247DQorICAgIH07DQorDQorDQorZnVuY3Rpb24gR2V0WVBvc2l0aW9uKGl0ZW0pDQorICAgIHsNCisgICAgdmFyIHBvc2l0aW9uID0gMDsNCisNCisgICAgaWYgKGl0ZW0ub2Zmc2V0V2lkdGggIT0gbnVsbCkNCisgICAgICAgIHsNCisgICAgICAgIHdoaWxlIChpdGVtICE9IGRvY3VtZW50LmJvZHkgJiYgaXRlbSAhPSBudWxsKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICBwb3NpdGlvbiArPSBpdGVtLm9mZnNldFRvcDsNCisgICAgICAgICAgICBpdGVtID0gaXRlbS5vZmZzZXRQYXJlbnQ7DQorICAgICAgICAgICAgfTsNCisgICAgICAgIH07DQorDQorICAgIHJldHVybiBwb3NpdGlvbjsNCisgICAgfTsNCisNCisNCitmdW5jdGlvbiBNb3ZlVG9Qb3NpdGlvbihpdGVtLCB4LCB5KQ0KKyAgICB7DQorICAgIC8vIE9wZXJhIDUgY2hva2VzIG9uIHRoZSBweCBleHRlbnNpb24sIHNvIGl0IGNhbiB1c2UgdGhlIE1pY3Jvc29mdCBvbmUgaW5zdGVhZC4NCisNCisgICAgaWYgKGl0ZW0uc3R5bGUubGVmdCAhPSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgaXRlbS5zdHlsZS5sZWZ0ID0geCArICJweCI7DQorICAgICAgICBpdGVtLnN0eWxlLnRvcCA9IHkgKyAicHgiOw0KKyAgICAgICAgfQ0KKyAgICBlbHNlIGlmIChpdGVtLnN0eWxlLnBpeGVsTGVmdCAhPSBudWxsKQ0KKyAgICAgICAgew0KKyAgICAgICAgaXRlbS5zdHlsZS5waXhlbExlZnQgPSB4Ow0KKyAgICAgICAgaXRlbS5zdHlsZS5waXhlbFRvcCA9IHk7DQorICAgICAgICB9Ow0KKyAgICB9Ow0KKw0KKw0KKy8vDQorLy8gIE1lbnUNCisvLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQorDQorDQorZnVuY3Rpb24gVG9nZ2xlTWVudShpZCkNCisgICAgew0KKyAgICBpZiAoIXdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCkNCisgICAgICAgIHsgIHJldHVybjsgIH07DQorDQorICAgIHZhciBkaXNwbGF5ID0gd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5zdHlsZS5kaXNwbGF5Ow0KKw0KKyAgICBpZiAoZGlzcGxheSA9PSAibm9uZSIpDQorICAgICAgICB7ICBkaXNwbGF5ID0gImJsb2NrIjsgIH0NCisgICAgZWxzZQ0KKyAgICAgICAgeyAgZGlzcGxheSA9ICJub25lIjsgIH0NCisNCisgICAgd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheTsNCisgICAgfQ0KKw0KK2Z1bmN0aW9uIEhpZGVBbGxCdXQoaWRzLCBtYXgpDQorICAgIHsNCisgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKQ0KKyAgICAgICAgew0KKyAgICAgICAgaWRzLnNvcnQoIGZ1bmN0aW9uKGEsYikgeyByZXR1cm4gYSAtIGI7IH0gKTsNCisgICAgICAgIHZhciBudW1iZXIgPSAxOw0KKw0KKyAgICAgICAgd2hpbGUgKG51bWJlciA8IG1heCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgaWYgKGlkcy5sZW5ndGggPiAwICYmIG51bWJlciA9PSBpZHNbMF0pDQorICAgICAgICAgICAgICAgIHsgIGlkcy5zaGlmdCgpOyAgfQ0KKyAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTUdyb3VwQ29udGVudCIgKyBudW1iZXIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQorICAgICAgICAgICAgICAgIH07DQorDQorICAgICAgICAgICAgbnVtYmVyKys7DQorICAgICAgICAgICAgfTsNCisgICAgICAgIH07DQorICAgIH0NCisNCisNCisvLw0KKy8vICBUb29sdGlwcw0KKy8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCisNCit2YXIgdG9vbHRpcFRpbWVyID0gMDsNCisNCitmdW5jdGlvbiBTaG93VGlwKGV2ZW50LCB0b29sdGlwSUQsIGxpbmtJRCkNCisgICAgew0KKyAgICBpZiAodG9vbHRpcFRpbWVyKQ0KKyAgICAgICAgeyAgY2xlYXJUaW1lb3V0KHRvb2x0aXBUaW1lcik7ICB9Ow0KKw0KKyAgICB2YXIgZG9jWCA9IGV2ZW50LmNsaWVudFggKyB3aW5kb3cucGFnZVhPZmZzZXQ7DQorICAgIHZhciBkb2NZID0gZXZlbnQuY2xpZW50WSArIHdpbmRvdy5wYWdlWU9mZnNldDsNCisNCisgICAgdmFyIHNob3dDb21tYW5kID0gIlJlYWxseVNob3dUaXAoJyIgKyB0b29sdGlwSUQgKyAiJywgJyIgKyBsaW5rSUQgKyAiJywgIiArIGRvY1ggKyAiLCAiICsgZG9jWSArICIpIjsNCisNCisgICAgdG9vbHRpcFRpbWVyID0gc2V0VGltZW91dChzaG93Q29tbWFuZCwgMTAwMCk7DQorICAgIH0NCisNCitmdW5jdGlvbiBSZWFsbHlTaG93VGlwKHRvb2x0aXBJRCwgbGlua0lELCBkb2NYLCBkb2NZKQ0KKyAgICB7DQorICAgIHRvb2x0aXBUaW1lciA9IDA7DQorDQorICAgIHZhciB0b29sdGlwOw0KKyAgICB2YXIgbGluazsNCisNCisgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKQ0KKyAgICAgICAgew0KKyAgICAgICAgdG9vbHRpcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRvb2x0aXBJRCk7DQorICAgICAgICBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobGlua0lEKTsNCisgICAgICAgIH0NCisvKiAgICBlbHNlIGlmIChkb2N1bWVudC5hbGwpDQorICAgICAgICB7DQorICAgICAgICB0b29sdGlwID0gZXZhbCgiZG9jdW1lbnQuYWxsWyciICsgdG9vbHRpcElEICsgIiddIik7DQorICAgICAgICBsaW5rID0gZXZhbCgiZG9jdW1lbnQuYWxsWyciICsgbGlua0lEICsgIiddIik7DQorICAgICAgICB9DQorKi8NCisgICAgaWYgKHRvb2x0aXApDQorICAgICAgICB7DQorICAgICAgICB2YXIgbGVmdCA9IEdldFhQb3NpdGlvbihsaW5rKTsNCisgICAgICAgIHZhciB0b3AgPSBHZXRZUG9zaXRpb24obGluayk7DQorICAgICAgICB0b3AgKz0gbGluay5vZmZzZXRIZWlnaHQ7DQorDQorDQorICAgICAgICAvLyBUaGUgZmFsbGJhY2sgbWV0aG9kIGlzIHRvIHVzZSB0aGUgbW91c2UgWCBhbmQgWSByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnQuICBXZSB1c2UgYSBzZXBhcmF0ZSBpZiBhbmQgdGVzdCBpZiBpdHMgYSBudW1iZXINCisgICAgICAgIC8vIGluIGNhc2Ugc29tZSBicm93c2VyIHNudWNrIHRocm91Z2ggdGhlIGFib3ZlIGlmIHN0YXRlbWVudCBidXQgZGlkbid0IHN1cHBvcnQgZXZlcnl0aGluZy4NCisNCisgICAgICAgIGlmICghaXNGaW5pdGUodG9wKSB8fCB0b3AgPT0gMCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgbGVmdCA9IGRvY1g7DQorICAgICAgICAgICAgdG9wID0gZG9jWTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAvLyBTb21lIHNwYWNpbmcgdG8gZ2V0IGl0IG91dCBmcm9tIHVuZGVyIHRoZSBjdXJzb3IuDQorDQorICAgICAgICB0b3AgKz0gMTA7DQorDQorICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHRvb2x0aXAgZG9lc250IGdldCBzbXVzaGVkIGJ5IGJlaW5nIHRvbyBjbG9zZSB0byB0aGUgZWRnZSwgb3IgaW4gc29tZSBicm93c2VycywgZ28gb2ZmIHRoZSBlZGdlIG9mIHRoZQ0KKyAgICAgICAgLy8gcGFnZS4gIFdlIGRvIGl0IGhlcmUgYmVjYXVzZSBLb25xdWVyb3IgZG9lcyBnZXQgb2Zmc2V0V2lkdGggcmlnaHQgZXZlbiBpZiBpdCBkb2VzbnQgZ2V0IHRoZSBwb3NpdGlvbmluZyByaWdodC4NCisNCisgICAgICAgIGlmICh0b29sdGlwLm9mZnNldFdpZHRoICE9IG51bGwpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIHZhciB3aWR0aCA9IHRvb2x0aXAub2Zmc2V0V2lkdGg7DQorICAgICAgICAgICAgdmFyIGRvY1dpZHRoID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsNCisNCisgICAgICAgICAgICBpZiAobGVmdCArIHdpZHRoID4gZG9jV2lkdGgpDQorICAgICAgICAgICAgICAgIHsgIGxlZnQgPSBkb2NXaWR0aCAtIHdpZHRoIC0gMTsgIH0NCisNCisgICAgICAgICAgICAvLyBJZiB0aGVyZSdzIGEgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIHdlIGNvdWxkIGdvIHBhc3QgemVybyBiZWNhdXNlIGl0J3MgdXNpbmcgdGhlIHBhZ2Ugd2lkdGgsIG5vdCB0aGUgd2luZG93IHdpZHRoLg0KKyAgICAgICAgICAgIGlmIChsZWZ0IDwgMCkNCisgICAgICAgICAgICAgICAgeyAgbGVmdCA9IDA7ICB9Ow0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgIE1vdmVUb1Bvc2l0aW9uKHRvb2x0aXAsIGxlZnQsIHRvcCk7DQorICAgICAgICB0b29sdGlwLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7DQorICAgICAgICB9DQorICAgIH0NCisNCitmdW5jdGlvbiBIaWRlVGlwKHRvb2x0aXBJRCkNCisgICAgew0KKyAgICBpZiAodG9vbHRpcFRpbWVyKQ0KKyAgICAgICAgew0KKyAgICAgICAgY2xlYXJUaW1lb3V0KHRvb2x0aXBUaW1lcik7DQorICAgICAgICB0b29sdGlwVGltZXIgPSAwOw0KKyAgICAgICAgfQ0KKw0KKyAgICB2YXIgdG9vbHRpcDsNCisNCisgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKQ0KKyAgICAgICAgeyAgdG9vbHRpcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRvb2x0aXBJRCk7IH0NCisgICAgZWxzZSBpZiAoZG9jdW1lbnQuYWxsKQ0KKyAgICAgICAgeyAgdG9vbHRpcCA9IGV2YWwoImRvY3VtZW50LmFsbFsnIiArIHRvb2x0aXBJRCArICInXSIpOyAgfQ0KKw0KKyAgICBpZiAodG9vbHRpcCkNCisgICAgICAgIHsgIHRvb2x0aXAuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOyAgfQ0KKyAgICB9DQorDQorDQorLy8NCisvLyAgQmxvY2txdW90ZSBmaXggZm9yIElFDQorLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KKw0KKw0KK2Z1bmN0aW9uIE5ET25Mb2FkKCkNCisgICAgew0KKyAgICBpZiAoYnJvd3NlclZlciA9PSAiSUU2IikNCisgICAgICAgIHsNCisgICAgICAgIHZhciBzY3JvbGxib3hlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdibG9ja3F1b3RlJyk7DQorDQorICAgICAgICBpZiAoc2Nyb2xsYm94ZXMuaXRlbSgwKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgTkREb1Jlc2l6ZSgpOw0KKyAgICAgICAgICAgIHdpbmRvdy5vbnJlc2l6ZT1ORE9uUmVzaXplOw0KKyAgICAgICAgICAgIH07DQorICAgICAgICB9Ow0KKyAgICB9Ow0KKw0KKw0KK3ZhciByZXNpemVUaW1lciA9IDA7DQorDQorZnVuY3Rpb24gTkRPblJlc2l6ZSgpDQorICAgIHsNCisgICAgaWYgKHJlc2l6ZVRpbWVyICE9IDApDQorICAgICAgICB7ICBjbGVhclRpbWVvdXQocmVzaXplVGltZXIpOyAgfTsNCisNCisgICAgcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KE5ERG9SZXNpemUsIDI1MCk7DQorICAgIH07DQorDQorDQorZnVuY3Rpb24gTkREb1Jlc2l6ZSgpDQorICAgIHsNCisgICAgdmFyIHNjcm9sbGJveGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Jsb2NrcXVvdGUnKTsNCisNCisgICAgdmFyIGk7DQorICAgIHZhciBpdGVtOw0KKw0KKyAgICBpID0gMDsNCisgICAgd2hpbGUgKGl0ZW0gPSBzY3JvbGxib3hlcy5pdGVtKGkpKQ0KKyAgICAgICAgew0KKyAgICAgICAgaXRlbS5zdHlsZS53aWR0aCA9IDEwMDsNCisgICAgICAgIGkrKzsNCisgICAgICAgIH07DQorDQorICAgIGkgPSAwOw0KKyAgICB3aGlsZSAoaXRlbSA9IHNjcm9sbGJveGVzLml0ZW0oaSkpDQorICAgICAgICB7DQorICAgICAgICBpdGVtLnN0eWxlLndpZHRoID0gaXRlbS5wYXJlbnROb2RlLm9mZnNldFdpZHRoOw0KKyAgICAgICAgaSsrOw0KKyAgICAgICAgfTsNCisNCisgICAgY2xlYXJUaW1lb3V0KHJlc2l6ZVRpbWVyKTsNCisgICAgcmVzaXplVGltZXIgPSAwOw0KKyAgICB9DQorDQorDQorDQorLyogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCisgICAgQ2xhc3M6IFNlYXJjaFBhbmVsDQorICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQorDQorICAgIEEgY2xhc3MgaGFuZGxpbmcgZXZlcnl0aGluZyBhc3NvY2lhdGVkIHdpdGggdGhlIHNlYXJjaCBwYW5lbC4NCisNCisgICAgUGFyYW1ldGVyczoNCisNCisgICAgICAgIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZ2xvYmFsIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSBzdG9yaW5nIHRoaXMgaW5zdGFuY2UuICBJcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBzZXQgdGltZW91dHMuDQorICAgICAgICBtb2RlIC0gVGhlIG1vZGUgdGhlIHNlYXJjaCBpcyBnb2luZyB0byB3b3JrIGluLiAgUGFzcyA8TmF0dXJhbERvY3M6OkJ1aWxkZXI6OkJhc2UtPkNvbW1hbmRMaW5lT3B0aW9uKCk+LCBzbyB0aGUNCisgICAgICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzb21ldGhpbmcgbGlrZSAiSFRNTCIgb3IgIkZyYW1lZEhUTUwiLg0KKw0KKyAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KKyovDQorDQorDQorZnVuY3Rpb24gU2VhcmNoUGFuZWwobmFtZSwgbW9kZSwgcmVzdWx0c1BhdGgpDQorICAgIHsNCisgICAgaWYgKCFuYW1lIHx8ICFtb2RlIHx8ICFyZXN1bHRzUGF0aCkNCisgICAgICAgIHsgIGFsZXJ0KCJJbmNvcnJlY3QgcGFyYW1ldGVycyB0byBTZWFyY2hQYW5lbC4iKTsgIH07DQorDQorDQorICAgIC8vIEdyb3VwOiBWYXJpYWJsZXMNCisgICAgLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQorDQorICAgIC8qDQorICAgICAgICB2YXI6IG5hbWUNCisgICAgICAgIFRoZSBuYW1lIG9mIHRoZSBnbG9iYWwgdmFyaWFibGUgdGhhdCB3aWxsIGJlIHN0b3JpbmcgdGhpcyBpbnN0YW5jZSBvZiB0aGUgY2xhc3MuDQorICAgICovDQorICAgIHRoaXMubmFtZSA9IG5hbWU7DQorDQorICAgIC8qDQorICAgICAgICB2YXI6IG1vZGUNCisgICAgICAgIFRoZSBtb2RlIHRoZSBzZWFyY2ggaXMgZ29pbmcgdG8gd29yayBpbiwgc3VjaCBhcyAiSFRNTCIgb3IgIkZyYW1lZEhUTUwiLg0KKyAgICAqLw0KKyAgICB0aGlzLm1vZGUgPSBtb2RlOw0KKw0KKyAgICAvKg0KKyAgICAgICAgdmFyOiByZXN1bHRzUGF0aA0KKyAgICAgICAgVGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgY3VycmVudCBIVE1MIHBhZ2UgdG8gdGhlIHJlc3VsdHMgcGFnZSBkaXJlY3RvcnkuDQorICAgICovDQorICAgIHRoaXMucmVzdWx0c1BhdGggPSByZXN1bHRzUGF0aDsNCisNCisgICAgLyoNCisgICAgICAgIHZhcjoga2V5VGltZW91dA0KKyAgICAgICAgVGhlIHRpbWVvdXQgdXNlZCBiZXR3ZWVuIGEga2V5c3Ryb2tlIGFuZCB3aGVuIGEgc2VhcmNoIGlzIHBlcmZvcm1lZC4NCisgICAgKi8NCisgICAgdGhpcy5rZXlUaW1lb3V0ID0gMDsNCisNCisgICAgLyoNCisgICAgICAgIHZhcjoga2V5VGltZW91dExlbmd0aA0KKyAgICAgICAgVGhlIGxlbmd0aCBvZiA8a2V5VGltZW91dD4gaW4gdGhvdXNhbmR0aHMgb2YgYSBzZWNvbmQuDQorICAgICovDQorICAgIHRoaXMua2V5VGltZW91dExlbmd0aCA9IDUwMDsNCisNCisgICAgLyoNCisgICAgICAgIHZhcjogbGFzdFNlYXJjaFZhbHVlDQorICAgICAgICBUaGUgbGFzdCBzZWFyY2ggc3RyaW5nIGV4ZWN1dGVkLCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgbm9uZS4NCisgICAgKi8NCisgICAgdGhpcy5sYXN0U2VhcmNoVmFsdWUgPSAiIjsNCisNCisgICAgLyoNCisgICAgICAgIHZhcjogbGFzdFJlc3VsdHNQYWdlDQorICAgICAgICBUaGUgbGFzdCByZXN1bHRzIHBhZ2UuICBUaGUgdmFsdWUgaXMgb25seSByZWxldmFudCBpZiA8bGFzdFNlYXJjaFZhbHVlPiBpcyBzZXQuDQorICAgICovDQorICAgIHRoaXMubGFzdFJlc3VsdHNQYWdlID0gIiI7DQorDQorICAgIC8qDQorICAgICAgICB2YXI6IGRlYWN0aXZhdGVUaW1lb3V0DQorDQorICAgICAgICBUaGUgdGltZW91dCB1c2VkIGJldHdlZW4gd2hlbiBhIGNvbnRyb2wgaXMgZGVhY3RpdmF0ZWQgYW5kIHdoZW4gdGhlIGVudGlyZSBwYW5lbCBpcyBkZWFjdGl2YXRlZC4gIElzIG5lY2Vzc2FyeQ0KKyAgICAgICAgYmVjYXVzZSBhIGNvbnRyb2wgbWF5IGJlIGRlYWN0aXZhdGVkIGluIGZhdm9yIG9mIGFub3RoZXIgY29udHJvbCBpbiB0aGUgc2FtZSBwYW5lbCwgaW4gd2hpY2ggY2FzZSBpdCBzaG91bGQgc3RheQ0KKyAgICAgICAgYWN0aXZlLg0KKyAgICAqLw0KKyAgICB0aGlzLmRlYWN0aXZhdGVUaW1vdXQgPSAwOw0KKw0KKyAgICAvKg0KKyAgICAgICAgdmFyOiBkZWFjdGl2YXRlVGltZW91dExlbmd0aA0KKyAgICAgICAgVGhlIGxlbmd0aCBvZiA8ZGVhY3RpdmF0ZVRpbWVvdXQ+IGluIHRob3VzYW5kdGhzIG9mIGEgc2Vjb25kLg0KKyAgICAqLw0KKyAgICB0aGlzLmRlYWN0aXZhdGVUaW1lb3V0TGVuZ3RoID0gMjAwOw0KKw0KKw0KKw0KKw0KKyAgICAvLyBHcm91cDogRE9NIEVsZW1lbnRzDQorICAgIC8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KKw0KKw0KKyAgICAvLyBGdW5jdGlvbjogRE9NU2VhcmNoRmllbGQNCisgICAgdGhpcy5ET01TZWFyY2hGaWVsZCA9IGZ1bmN0aW9uKCkNCisgICAgICAgIHsgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaEZpZWxkIik7ICB9Ow0KKw0KKyAgICAvLyBGdW5jdGlvbjogRE9NU2VhcmNoVHlwZQ0KKyAgICB0aGlzLkRPTVNlYXJjaFR5cGUgPSBmdW5jdGlvbigpDQorICAgICAgICB7ICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1TZWFyY2hUeXBlIik7ICB9Ow0KKw0KKyAgICAvLyBGdW5jdGlvbjogRE9NUG9wdXBTZWFyY2hSZXN1bHRzDQorICAgIHRoaXMuRE9NUG9wdXBTZWFyY2hSZXN1bHRzID0gZnVuY3Rpb24oKQ0KKyAgICAgICAgeyAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNU2VhcmNoUmVzdWx0cyIpOyAgfTsNCisNCisgICAgLy8gRnVuY3Rpb246IERPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdw0KKyAgICB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdyA9IGZ1bmN0aW9uKCkNCisgICAgICAgIHsgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTVNlYXJjaFJlc3VsdHNXaW5kb3ciKTsgIH07DQorDQorICAgIC8vIEZ1bmN0aW9uOiBET01TZWFyY2hQYW5lbA0KKyAgICB0aGlzLkRPTVNlYXJjaFBhbmVsID0gZnVuY3Rpb24oKQ0KKyAgICAgICAgeyAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNU2VhcmNoUGFuZWwiKTsgIH07DQorDQorDQorDQorDQorICAgIC8vIEdyb3VwOiBFdmVudCBIYW5kbGVycw0KKyAgICAvLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCisNCisgICAgLyoNCisgICAgICAgIEZ1bmN0aW9uOiBPblNlYXJjaEZpZWxkRm9jdXMNCisgICAgICAgIENhbGxlZCB3aGVuIGZvY3VzIGlzIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgc2VhcmNoIGZpZWxkLg0KKyAgICAqLw0KKyAgICB0aGlzLk9uU2VhcmNoRmllbGRGb2N1cyA9IGZ1bmN0aW9uKGlzQWN0aXZlKQ0KKyAgICAgICAgew0KKyAgICAgICAgdGhpcy5BY3RpdmF0ZShpc0FjdGl2ZSk7DQorICAgICAgICB9Ow0KKw0KKw0KKyAgICAvKg0KKyAgICAgICAgRnVuY3Rpb246IE9uU2VhcmNoRmllbGRDaGFuZ2UNCisgICAgICAgIENhbGxlZCB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBzZWFyY2ggZmllbGQgaXMgY2hhbmdlZC4NCisgICAgKi8NCisgICAgdGhpcy5PblNlYXJjaEZpZWxkQ2hhbmdlID0gZnVuY3Rpb24oKQ0KKyAgICAgICAgew0KKyAgICAgICAgaWYgKHRoaXMua2V5VGltZW91dCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMua2V5VGltZW91dCk7DQorICAgICAgICAgICAgdGhpcy5rZXlUaW1lb3V0ID0gMDsNCisgICAgICAgICAgICB9Ow0KKw0KKyAgICAgICAgdmFyIHNlYXJjaFZhbHVlID0gdGhpcy5ET01TZWFyY2hGaWVsZCgpLnZhbHVlLnJlcGxhY2UoLyArL2csICIiKTsNCisNCisgICAgICAgIGlmIChzZWFyY2hWYWx1ZSAhPSB0aGlzLmxhc3RTZWFyY2hWYWx1ZSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgaWYgKHNlYXJjaFZhbHVlICE9ICIiKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHRoaXMua2V5VGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5uYW1lICsgIi5TZWFyY2goKSIsIHRoaXMua2V5VGltZW91dExlbmd0aCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PSAiSFRNTCIpDQorICAgICAgICAgICAgICAgICAgICB7ICB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdygpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7ICB9Ow0KKyAgICAgICAgICAgICAgICB0aGlzLmxhc3RTZWFyY2hWYWx1ZSA9ICIiOw0KKyAgICAgICAgICAgICAgICB9Ow0KKyAgICAgICAgICAgIH07DQorICAgICAgICB9Ow0KKw0KKw0KKyAgICAvKg0KKyAgICAgICAgRnVuY3Rpb246IE9uU2VhcmNoVHlwZUZvY3VzDQorICAgICAgICBDYWxsZWQgd2hlbiBmb2N1cyBpcyBhZGRlZCBvciByZW1vdmVkIGZyb20gdGhlIHNlYXJjaCB0eXBlLg0KKyAgICAqLw0KKyAgICB0aGlzLk9uU2VhcmNoVHlwZUZvY3VzID0gZnVuY3Rpb24oaXNBY3RpdmUpDQorICAgICAgICB7DQorICAgICAgICB0aGlzLkFjdGl2YXRlKGlzQWN0aXZlKTsNCisgICAgICAgIH07DQorDQorDQorICAgIC8qDQorICAgICAgICBGdW5jdGlvbjogT25TZWFyY2hUeXBlQ2hhbmdlDQorICAgICAgICBDYWxsZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgaXMgY2hhbmdlZC4NCisgICAgKi8NCisgICAgdGhpcy5PblNlYXJjaFR5cGVDaGFuZ2UgPSBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICB2YXIgc2VhcmNoVmFsdWUgPSB0aGlzLkRPTVNlYXJjaEZpZWxkKCkudmFsdWUucmVwbGFjZSgvICsvZywgIiIpOw0KKw0KKyAgICAgICAgaWYgKHNlYXJjaFZhbHVlICE9ICIiKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLlNlYXJjaCgpOw0KKyAgICAgICAgICAgIH07DQorICAgICAgICB9Ow0KKw0KKw0KKw0KKyAgICAvLyBHcm91cDogQWN0aW9uIEZ1bmN0aW9ucw0KKyAgICAvLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCisNCisgICAgLyoNCisgICAgICAgIEZ1bmN0aW9uOiBDbG9zZVJlc3VsdHNXaW5kb3cNCisgICAgICAgIENsb3NlcyB0aGUgcmVzdWx0cyB3aW5kb3cuDQorICAgICovDQorICAgIHRoaXMuQ2xvc2VSZXN1bHRzV2luZG93ID0gZnVuY3Rpb24oKQ0KKyAgICAgICAgew0KKyAgICAgICAgdGhpcy5ET01Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3coKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KKyAgICAgICAgdGhpcy5BY3RpdmF0ZShmYWxzZSwgdHJ1ZSk7DQorICAgICAgICB9Ow0KKw0KKw0KKyAgICAvKg0KKyAgICAgICAgRnVuY3Rpb246IFNlYXJjaA0KKyAgICAgICAgUGVyZm9ybXMgYSBzZWFyY2guDQorICAgICovDQorICAgIHRoaXMuU2VhcmNoID0gZnVuY3Rpb24oKQ0KKyAgICAgICAgew0KKyAgICAgICAgdGhpcy5rZXlUaW1lb3V0ID0gMDsNCisNCisgICAgICAgIHZhciBzZWFyY2hWYWx1ZSA9IHRoaXMuRE9NU2VhcmNoRmllbGQoKS52YWx1ZS5yZXBsYWNlKC9eICsvLCAiIik7DQorICAgICAgICB2YXIgc2VhcmNoVG9waWMgPSB0aGlzLkRPTVNlYXJjaFR5cGUoKS52YWx1ZTsNCisNCisgICAgICAgIHZhciBwYWdlRXh0ZW5zaW9uID0gc2VhcmNoVmFsdWUuc3Vic3RyKDAsMSk7DQorDQorICAgICAgICBpZiAocGFnZUV4dGVuc2lvbi5tYXRjaCgvXlthLXpdL2kpKQ0KKyAgICAgICAgICAgIHsgIHBhZ2VFeHRlbnNpb24gPSBwYWdlRXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCk7ICB9DQorICAgICAgICBlbHNlIGlmIChwYWdlRXh0ZW5zaW9uLm1hdGNoKC9eWzAtOV0vKSkNCisgICAgICAgICAgICB7ICBwYWdlRXh0ZW5zaW9uID0gJ051bWJlcnMnOyAgfQ0KKyAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgIHsgIHBhZ2VFeHRlbnNpb24gPSAiU3ltYm9scyI7ICB9Ow0KKw0KKyAgICAgICAgdmFyIHJlc3VsdHNQYWdlOw0KKyAgICAgICAgdmFyIHJlc3VsdHNQYWdlV2l0aFNlYXJjaDsNCisgICAgICAgIHZhciBoYXNSZXN1bHRzUGFnZTsNCisNCisgICAgICAgIC8vIGluZGV4U2VjdGlvbnNXaXRoQ29udGVudCBpcyBkZWZpbmVkIGluIHNlYXJjaGRhdGEuanMNCisgICAgICAgIGlmIChpbmRleFNlY3Rpb25zV2l0aENvbnRlbnRbc2VhcmNoVG9waWNdW3BhZ2VFeHRlbnNpb25dID09IHRydWUpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIHJlc3VsdHNQYWdlID0gdGhpcy5yZXN1bHRzUGF0aCArICcvJyArIHNlYXJjaFRvcGljICsgcGFnZUV4dGVuc2lvbiArICcuaHRtbCc7DQorICAgICAgICAgICAgcmVzdWx0c1BhZ2VXaXRoU2VhcmNoID0gcmVzdWx0c1BhZ2UrJz8nK2VzY2FwZShzZWFyY2hWYWx1ZSk7DQorICAgICAgICAgICAgaGFzUmVzdWx0c1BhZ2UgPSB0cnVlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIGVsc2UNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgcmVzdWx0c1BhZ2UgPSB0aGlzLnJlc3VsdHNQYXRoICsgJy9Ob1Jlc3VsdHMuaHRtbCc7DQorICAgICAgICAgICAgcmVzdWx0c1BhZ2VXaXRoU2VhcmNoID0gcmVzdWx0c1BhZ2U7DQorICAgICAgICAgICAgaGFzUmVzdWx0c1BhZ2UgPSBmYWxzZTsNCisgICAgICAgICAgICB9Ow0KKw0KKyAgICAgICAgdmFyIHJlc3VsdHNGcmFtZTsNCisgICAgICAgIGlmICh0aGlzLm1vZGUgPT0gIkhUTUwiKQ0KKyAgICAgICAgICAgIHsgIHJlc3VsdHNGcmFtZSA9IHdpbmRvdy5mcmFtZXMuTVNlYXJjaFJlc3VsdHM7ICB9DQorICAgICAgICBlbHNlIGlmICh0aGlzLm1vZGUgPT0gIkZyYW1lZEhUTUwiKQ0KKyAgICAgICAgICAgIHsgIHJlc3VsdHNGcmFtZSA9IHdpbmRvdy50b3AuZnJhbWVzWydDb250ZW50J107ICB9Ow0KKw0KKw0KKyAgICAgICAgaWYgKHJlc3VsdHNQYWdlICE9IHRoaXMubGFzdFJlc3VsdHNQYWdlIHx8DQorDQorICAgICAgICAgICAgLy8gQnVnIGluIElFLiAgSWYgZXZlcnl0aGluZyBiZWNvbWVzIGhpZGRlbiBpbiBhIHJ1biwgbm9uZSBvZiB0aGVtIHdpbGwgYmUgYWJsZSB0byBiZSByZXNob3duIGluIHRoZSBuZXh0IGZvciBzb21lDQorICAgICAgICAgICAgLy8gcmVhc29uLiAgSXQgY291bnRzIHRoZSByaWdodCBudW1iZXIgb2YgcmVzdWx0cywgYW5kIHlvdSBjYW4gZXZlbiByZWFkIHRoZSBkaXNwbGF5IGFzICJibG9jayIgYWZ0ZXIgc2V0dGluZyBpdCwgYnV0IGl0DQorICAgICAgICAgICAgLy8ganVzdCBkb2Vzbid0IHdvcmsgaW4gSUUgNiBvciBJRSA3LiAgU28gaWYgd2UncmUgb24gdGhlIHJpZ2h0IHBhZ2UgYnV0IHRoZSBwcmV2aW91cyBzZWFyY2ggaGFkIG5vIHJlc3VsdHMsIHJlbG9hZCB0aGUNCisgICAgICAgICAgICAvLyBwYWdlIGFueXdheSB0byBnZXQgYXJvdW5kIHRoZSBidWcuDQorICAgICAgICAgICAgKGJyb3dzZXJUeXBlID09ICJJRSIgJiYgaGFzUmVzdWx0c1BhZ2UgJiYNCisgICAgICAgICAgICAJKCFyZXN1bHRzRnJhbWUuc2VhcmNoUmVzdWx0cyB8fCByZXN1bHRzRnJhbWUuc2VhcmNoUmVzdWx0cy5sYXN0TWF0Y2hDb3VudCA9PSAwKSkgKQ0KKw0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICByZXN1bHRzRnJhbWUubG9jYXRpb24uaHJlZiA9IHJlc3VsdHNQYWdlV2l0aFNlYXJjaDsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICAvLyBTbyBpZiB0aGUgcmVzdWx0cyBwYWdlIGlzIHJpZ2h0IGFuZCB0aGVyZSdzIG5vIElFIGJ1ZywgcmVwZXJmb3JtIHRoZSBzZWFyY2ggb24gdGhlIGV4aXN0aW5nIHBhZ2UuICBXZSBoYXZlIHRvIGNoZWNrIGlmIHRoZXJlDQorICAgICAgICAvLyBhcmUgcmVzdWx0cyBiZWNhdXNlIE5vUmVzdWx0cy5odG1sIGRvZXNuJ3QgaGF2ZSBhbnkgSmF2YVNjcmlwdCwgYW5kIGl0IHdvdWxkIGJlIHVzZWxlc3MgdG8gZG8gYW55dGhpbmcgb24gdGhhdCBwYWdlIGV2ZW4NCisgICAgICAgIC8vIGlmIGl0IGRpZC4NCisgICAgICAgIGVsc2UgaWYgKGhhc1Jlc3VsdHNQYWdlKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIGlmIHRoaXMgZXhpc3RzIGluIGNhc2UgdGhlIGZyYW1lIGlzIHByZXNlbnQgYnV0IGRpZG4ndCBmaW5pc2ggbG9hZGluZy4NCisgICAgICAgICAgICBpZiAocmVzdWx0c0ZyYW1lLnNlYXJjaFJlc3VsdHMpDQorICAgICAgICAgICAgICAgIHsgIHJlc3VsdHNGcmFtZS5zZWFyY2hSZXN1bHRzLlNlYXJjaChzZWFyY2hWYWx1ZSk7ICB9DQorDQorICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGp1c3QgcmVsb2FkIGluc3RlYWQgb2Ygd2FpdGluZy4NCisgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgIHsgIHJlc3VsdHNGcmFtZS5sb2NhdGlvbi5ocmVmID0gcmVzdWx0c1BhZ2VXaXRoU2VhcmNoOyAgfTsNCisgICAgICAgICAgICB9Ow0KKw0KKw0KKyAgICAgICAgdmFyIGRvbVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdyA9IHRoaXMuRE9NUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93KCk7DQorDQorICAgICAgICBpZiAodGhpcy5tb2RlID09ICJIVE1MIiAmJiBkb21Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3cuc3R5bGUuZGlzcGxheSAhPSAiYmxvY2siKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICB2YXIgZG9tU2VhcmNoVHlwZSA9IHRoaXMuRE9NU2VhcmNoVHlwZSgpOw0KKw0KKyAgICAgICAgICAgIHZhciBsZWZ0ID0gR2V0WFBvc2l0aW9uKGRvbVNlYXJjaFR5cGUpOw0KKyAgICAgICAgICAgIHZhciB0b3AgPSBHZXRZUG9zaXRpb24oZG9tU2VhcmNoVHlwZSkgKyBkb21TZWFyY2hUeXBlLm9mZnNldEhlaWdodDsNCisNCisgICAgICAgICAgICBNb3ZlVG9Qb3NpdGlvbihkb21Qb3B1cFNlYXJjaFJlc3VsdHNXaW5kb3csIGxlZnQsIHRvcCk7DQorICAgICAgICAgICAgZG9tUG9wdXBTZWFyY2hSZXN1bHRzV2luZG93LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KKyAgICAgICAgICAgIH07DQorDQorDQorICAgICAgICB0aGlzLmxhc3RTZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlOw0KKyAgICAgICAgdGhpcy5sYXN0UmVzdWx0c1BhZ2UgPSByZXN1bHRzUGFnZTsNCisgICAgICAgIH07DQorDQorDQorDQorICAgIC8vIEdyb3VwOiBBY3RpdmF0aW9uIEZ1bmN0aW9ucw0KKyAgICAvLyBGdW5jdGlvbnMgdGhhdCBoYW5kbGUgd2hldGhlciB0aGUgZW50aXJlIHBhbmVsIGlzIGFjdGl2ZSBvciBub3QuDQorICAgIC8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KKw0KKw0KKyAgICAvKg0KKyAgICAgICAgRnVuY3Rpb246IEFjdGl2YXRlDQorDQorICAgICAgICBBY3RpdmF0ZXMgb3IgZGVhY3RpdmF0ZXMgdGhlIHNlYXJjaCBwYW5lbCwgcmVzZXR0aW5nIHRoaW5ncyB0byB0aGVpciBkZWZhdWx0IHZhbHVlcyBpZiBuZWNlc3NhcnkuICBZb3UgY2FuIGNhbGwgdGhpcyBvbiBldmVyeQ0KKyAgICAgICAgY29udHJvbCdzIE9uQmx1cigpIGFuZCBpdCB3aWxsIGhhbmRsZSBub3QgZGVhY3RpdmF0aW5nIHRoZSBlbnRpcmUgcGFuZWwgd2hlbiBmb2N1cyBpcyBqdXN0IHN3aXRjaGluZyBiZXR3ZWVuIHRoZW0gdHJhbnNwYXJlbnRseS4NCisNCisgICAgICAgIFBhcmFtZXRlcnM6DQorDQorICAgICAgICAgICAgaXNBY3RpdmUgLSBXaGV0aGVyIHlvdSdyZSBhY3RpdmF0aW5nIG9yIGRlYWN0aXZhdGluZyB0aGUgcGFuZWwuDQorICAgICAgICAgICAgaWdub3JlRGVhY3RpdmF0ZURlbGF5IC0gU2V0IGlmIHlvdSdyZSBwb3NpdGl2ZSB0aGUgYWN0aW9uIHdpbGwgZGVhY3RpdmF0ZSB0aGUgcGFuZWwgYW5kIHRodXMgd2FudCB0byBza2lwIHRoZSBkZWxheS4NCisgICAgKi8NCisgICAgdGhpcy5BY3RpdmF0ZSA9IGZ1bmN0aW9uKGlzQWN0aXZlLCBpZ25vcmVEZWFjdGl2YXRlRGVsYXkpDQorICAgICAgICB7DQorICAgICAgICAvLyBXZSB3YW50IHRvIGlnbm9yZSBpc0FjdGl2ZSBiZWluZyBmYWxzZSB3aGlsZSB0aGUgcmVzdWx0cyB3aW5kb3cgaXMgb3Blbi4NCisgICAgICAgIGlmIChpc0FjdGl2ZSB8fCAodGhpcy5tb2RlID09ICJIVE1MIiAmJiB0aGlzLkRPTVBvcHVwU2VhcmNoUmVzdWx0c1dpbmRvdygpLnN0eWxlLmRpc3BsYXkgPT0gImJsb2NrIikpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIGlmICh0aGlzLmluYWN0aXZhdGVUaW1lb3V0KQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmluYWN0aXZhdGVUaW1lb3V0KTsNCisgICAgICAgICAgICAgICAgdGhpcy5pbmFjdGl2YXRlVGltZW91dCA9IDA7DQorICAgICAgICAgICAgICAgIH07DQorDQorICAgICAgICAgICAgdGhpcy5ET01TZWFyY2hQYW5lbCgpLmNsYXNzTmFtZSA9ICdNU2VhcmNoUGFuZWxBY3RpdmUnOw0KKw0KKyAgICAgICAgICAgIHZhciBzZWFyY2hGaWVsZCA9IHRoaXMuRE9NU2VhcmNoRmllbGQoKTsNCisNCisgICAgICAgICAgICBpZiAoc2VhcmNoRmllbGQudmFsdWUgPT0gJ1NlYXJjaCcpDQorICAgICAgICAgICAgICAgICB7ICBzZWFyY2hGaWVsZC52YWx1ZSA9ICIiOyAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgIGVsc2UgaWYgKCFpZ25vcmVEZWFjdGl2YXRlRGVsYXkpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIHRoaXMuaW5hY3RpdmF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMubmFtZSArICIuSW5hY3RpdmF0ZUFmdGVyVGltZW91dCgpIiwgdGhpcy5pbmFjdGl2YXRlVGltZW91dExlbmd0aCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICB0aGlzLkluYWN0aXZhdGVBZnRlclRpbWVvdXQoKTsNCisgICAgICAgICAgICB9Ow0KKyAgICAgICAgfTsNCisNCisNCisgICAgLyoNCisgICAgICAgIEZ1bmN0aW9uOiBJbmFjdGl2YXRlQWZ0ZXJUaW1lb3V0DQorDQorICAgICAgICBDYWxsZWQgYnkgPGluYWN0aXZhdGVUaW1lb3V0Piwgd2hpY2ggaXMgc2V0IGJ5IDxBY3RpdmF0ZSgpPi4gIEluYWN0aXZhdGlvbiBvY2N1cnMgb24gYSB0aW1lb3V0IGJlY2F1c2UgYSBjb250cm9sIG1heQ0KKyAgICAgICAgcmVjZWl2ZSBPbkJsdXIoKSB3aGVuIGZvY3VzIGlzIHJlYWxseSB0cmFuc2ZlcnJpbmcgdG8gYW5vdGhlciBjb250cm9sIGluIHRoZSBzZWFyY2ggcGFuZWwuICBJbiB0aGlzIGNhc2Ugd2UgZG9uJ3Qgd2FudCB0bw0KKyAgICAgICAgYWN0dWFsbHkgZGVhY3RpdmF0ZSB0aGUgcGFuZWwgYmVjYXVzZSBub3Qgb25seSB3b3VsZCB0aGF0IGNhdXNlIGEgdmlzaWJsZSBmbGlja2VyIGJ1dCBpdCBjb3VsZCBhbHNvIHJlc2V0IHRoZSBzZWFyY2ggdmFsdWUuDQorICAgICAgICBTbyBieSBkb2luZyBpdCBvbiBhIHRpbWVvdXQgaW5zdGVhZCwgdGhlcmUncyBhIHNob3J0IHBlcmlvZCB3aGVyZSB0aGUgc2Vjb25kIGNvbnRyb2wncyBPbkZvY3VzKCkgY2FuIGNhbmNlbCB0aGUgZGVhY3RpdmF0aW9uLg0KKyAgICAqLw0KKyAgICB0aGlzLkluYWN0aXZhdGVBZnRlclRpbWVvdXQgPSBmdW5jdGlvbigpDQorICAgICAgICB7DQorICAgICAgICB0aGlzLmluYWN0aXZhdGVUaW1lb3V0ID0gMDsNCisNCisgICAgICAgIHRoaXMuRE9NU2VhcmNoUGFuZWwoKS5jbGFzc05hbWUgPSAnTVNlYXJjaFBhbmVsSW5hY3RpdmUnOw0KKyAgICAgICAgdGhpcy5ET01TZWFyY2hGaWVsZCgpLnZhbHVlID0gIlNlYXJjaCI7DQorDQorCSAgICB0aGlzLmxhc3RTZWFyY2hWYWx1ZSA9ICIiOw0KKwkgICAgdGhpcy5sYXN0UmVzdWx0c1BhZ2UgPSAiIjsNCisgICAgICAgIH07DQorICAgIH07DQorDQorDQorDQorDQorLyogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisNCisgICBDbGFzczogU2VhcmNoUmVzdWx0cw0KKyAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KKw0KKyAgIFRoZSBjbGFzcyB0aGF0IGhhbmRsZXMgZXZlcnl0aGluZyBvbiB0aGUgc2VhcmNoIHJlc3VsdHMgcGFnZS4NCisgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCisqLw0KKw0KKw0KK2Z1bmN0aW9uIFNlYXJjaFJlc3VsdHMobmFtZSwgbW9kZSkNCisgICAgew0KKyAgICAvKg0KKyAgICAgICAgdmFyOiBtb2RlDQorICAgICAgICBUaGUgbW9kZSB0aGUgc2VhcmNoIGlzIGdvaW5nIHRvIHdvcmsgaW4sIHN1Y2ggYXMgIkhUTUwiIG9yICJGcmFtZWRIVE1MIi4NCisgICAgKi8NCisgICAgdGhpcy5tb2RlID0gbW9kZTsNCisNCisgICAgLyoNCisgICAgICAgIHZhcjogbGFzdE1hdGNoQ291bnQNCisgICAgICAgIFRoZSBudW1iZXIgb2YgbWF0Y2hlcyBmcm9tIHRoZSBsYXN0IHJ1biBvZiA8U2VhcmNoKCk+Lg0KKyAgICAqLw0KKyAgICB0aGlzLmxhc3RNYXRjaENvdW50ID0gMDsNCisNCisNCisgICAgLyoNCisgICAgICAgIEZ1bmN0aW9uOiBUb2dnbGUNCisgICAgICAgIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHBhc3NlZCBlbGVtZW50IElELg0KKyAgICAqLw0KKyAgICB0aGlzLlRvZ2dsZSA9IGZ1bmN0aW9uKGlkKQ0KKyAgICAgICAgew0KKyAgICAgICAgaWYgKHRoaXMubW9kZSA9PSAiRnJhbWVkSFRNTCIpDQorICAgICAgICAgICAgeyAgcmV0dXJuOyAgfTsNCisNCisgICAgICAgIHZhciBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOw0KKw0KKyAgICAgICAgdmFyIGVsZW1lbnQgPSBwYXJlbnRFbGVtZW50LmZpcnN0Q2hpbGQ7DQorDQorICAgICAgICB3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50ICE9IHBhcmVudEVsZW1lbnQpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lID09ICdESVYnICYmIGVsZW1lbnQuY2xhc3NOYW1lID09ICdJU3ViSW5kZXgnKQ0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnN0eWxlLmRpc3BsYXkgPT0gJ2Jsb2NrJykNCisgICAgICAgICAgICAgICAgICAgIHsgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICJub25lIjsgIH0NCisgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgeyAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsgIH0NCisgICAgICAgICAgICAgICAgfTsNCisNCisgICAgICAgICAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PSAnRElWJyAmJiBlbGVtZW50Lmhhc0NoaWxkTm9kZXMoKSkNCisgICAgICAgICAgICAgICAgeyAgZWxlbWVudCA9IGVsZW1lbnQuZmlyc3RDaGlsZDsgIH0NCisgICAgICAgICAgICBlbHNlIGlmIChlbGVtZW50Lm5leHRTaWJsaW5nKQ0KKyAgICAgICAgICAgICAgICB7ICBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsgIH0NCisgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgZG8NCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIHdoaWxlIChlbGVtZW50ICYmIGVsZW1lbnQgIT0gcGFyZW50RWxlbWVudCAmJiAhZWxlbWVudC5uZXh0U2libGluZyk7DQorDQorICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQgIT0gcGFyZW50RWxlbWVudCkNCisgICAgICAgICAgICAgICAgICAgIHsgIGVsZW1lbnQgPSBlbGVtZW50Lm5leHRTaWJsaW5nOyAgfTsNCisgICAgICAgICAgICAgICAgfTsNCisgICAgICAgICAgICB9Ow0KKyAgICAgICAgfTsNCisNCisNCisgICAgLyoNCisgICAgICAgIEZ1bmN0aW9uOiBTZWFyY2gNCisNCisgICAgICAgIFNlYXJjaGVzIGZvciB0aGUgcGFzc2VkIHN0cmluZy4gIElmIHRoZXJlIGlzIG5vIHBhcmFtZXRlciwgaXQgdGFrZXMgaXQgZnJvbSB0aGUgVVJMIHF1ZXJ5Lg0KKw0KKyAgICAgICAgQWx3YXlzIHJldHVybnMgdHJ1ZSwgc2luY2Ugb3RoZXIgZG9jdW1lbnRzIG1heSB0cnkgdG8gY2FsbCBpdCBhbmQgdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBwb3NzaWJsZS4NCisgICAgKi8NCisgICAgdGhpcy5TZWFyY2ggPSBmdW5jdGlvbihzZWFyY2gpDQorICAgICAgICB7DQorICAgICAgICBpZiAoIXNlYXJjaCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgc2VhcmNoID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2guc3Vic3RyaW5nKDEpOyAgLy8gUmVtb3ZlIHRoZSBsZWFkaW5nID8NCisgICAgICAgICAgICBzZWFyY2ggPSB1bmVzY2FwZShzZWFyY2gpOw0KKyAgICAgICAgICAgIH07DQorDQorICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXiArLywgIiIpOw0KKyAgICAgICAgc2VhcmNoID0gc2VhcmNoLnJlcGxhY2UoLyArJC8sICIiKTsNCisgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpOw0KKw0KKyAgICAgICAgaWYgKHNlYXJjaC5tYXRjaCgvW15hLXowLTldLykpIC8vIEp1c3QgYSBsaXR0bGUgc3BlZWR1cCBzbyBpdCBkb2Vzbid0IGhhdmUgdG8gZ28gdGhyb3VnaCB0aGUgYmVsb3cgdW5uZWNlc3NhcmlseS4NCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgc2VhcmNoID0gc2VhcmNoLnJlcGxhY2UoL1xfL2csICJfdW5kIik7DQorICAgICAgICAgICAgc2VhcmNoID0gc2VhcmNoLnJlcGxhY2UoL1wgKy9naSwgIl9zcGMiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXH4vZywgIl90aWwiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCEvZywgIl9leGMiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXEAvZywgIl9hdHQiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCMvZywgIl9udW0iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCQvZywgIl9kb2wiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCUvZywgIl9wY3QiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXF4vZywgIl9jYXIiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCYvZywgIl9hbXAiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCovZywgIl9hc3QiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCgvZywgIl9scGEiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCkvZywgIl9ycGEiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXC0vZywgIl9taW4iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCsvZywgIl9wbHUiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXD0vZywgIl9lcXUiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXHsvZywgIl9sYmMiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXH0vZywgIl9yYmMiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXFsvZywgIl9sYmsiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXF0vZywgIl9yYmsiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXDovZywgIl9jb2wiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXDsvZywgIl9zY28iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCIvZywgIl9xdW8iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCcvZywgIl9hcG8iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXDwvZywgIl9sYW4iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXD4vZywgIl9yYW4iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXCwvZywgIl9jb20iKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXC4vZywgIl9wZXIiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXD8vZywgIl9xdWUiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvXC8vZywgIl9zbGEiKTsNCisgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgvW15hLXowLTlcX11pL2dpLCAiX3p6eiIpOw0KKyAgICAgICAgICAgIH07DQorDQorICAgICAgICB2YXIgcmVzdWx0Um93cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsNCisgICAgICAgIHZhciBtYXRjaGVzID0gMDsNCisNCisgICAgICAgIHZhciBpID0gMDsNCisgICAgICAgIHdoaWxlIChpIDwgcmVzdWx0Um93cy5sZW5ndGgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgIHZhciByb3cgPSByZXN1bHRSb3dzLml0ZW0oaSk7DQorDQorICAgICAgICAgICAgaWYgKHJvdy5jbGFzc05hbWUgPT0gIlNSUmVzdWx0IikNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICB2YXIgcm93TWF0Y2hOYW1lID0gcm93LmlkLnRvTG93ZXJDYXNlKCk7DQorICAgICAgICAgICAgICAgIHJvd01hdGNoTmFtZSA9IHJvd01hdGNoTmFtZS5yZXBsYWNlKC9ec3JcZCpfLywgJycpOw0KKw0KKyAgICAgICAgICAgICAgICBpZiAoc2VhcmNoLmxlbmd0aCA8PSByb3dNYXRjaE5hbWUubGVuZ3RoICYmIHJvd01hdGNoTmFtZS5zdWJzdHIoMCwgc2VhcmNoLmxlbmd0aCkgPT0gc2VhcmNoKQ0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgcm93LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KKyAgICAgICAgICAgICAgICAgICAgbWF0Y2hlcysrOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICB7ICByb3cuc3R5bGUuZGlzcGxheSA9ICJub25lIjsgIH07DQorICAgICAgICAgICAgICAgIH07DQorDQorICAgICAgICAgICAgaSsrOw0KKyAgICAgICAgICAgIH07DQorDQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiU2VhcmNoaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7DQorDQorICAgICAgICBpZiAobWF0Y2hlcyA9PSAwKQ0KKyAgICAgICAgICAgIHsgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7ICB9DQorICAgICAgICBlbHNlDQorICAgICAgICAgICAgeyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOyAgfQ0KKw0KKyAgICAgICAgdGhpcy5sYXN0TWF0Y2hDb3VudCA9IG1hdGNoZXM7DQorDQorICAgICAgICByZXR1cm4gdHJ1ZTsNCisgICAgICAgIH07DQorICAgIH07DQorDQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvamF2YXNjcmlwdC9wcmV0dGlmeS5qcyBiL2FwaWRvYy9odG1sL2phdmFzY3JpcHQvcHJldHRpZnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRhNGJmMQotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL2phdmFzY3JpcHQvcHJldHRpZnkuanMKQEAgLTAsMCArMSwxNTI2IEBACisKKy8vIFRoaXMgY29kZSBjb21lcyBmcm9tIHRoZSBEZWNlbWJlciAyMDA5IHJlbGVhc2Ugb2YgR29vZ2xlIFByZXR0aWZ5LCB3aGljaCBpcyBDb3B5cmlnaHQgqSAyMDA2IEdvb2dsZSBJbmMuCisvLyBNaW5vciBtb2RpZmljYXRpb25zIGFyZSBtYXJrZWQgd2l0aCAiTkQgQ2hhbmdlIiBjb21tZW50cy4KKy8vIEFzIHBhcnQgb2YgTmF0dXJhbCBEb2NzLCB0aGlzIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEFHUEwuKQorLy8gSG93ZXZlciwgaXQgbWF5IGFsc28gYmUgb2J0YWluZWQgc2VwYXJhdGVseSB1bmRlciB2ZXJzaW9uIDIuMCBvZiB0aGUgQXBhY2hlIExpY2Vuc2UuCisvLyBSZWZlciB0byBMaWNlbnNlLnR4dCBmb3IgdGhlIGNvbXBsZXRlIGRldGFpbHMKKworCisvLyBNYWluIGNvZGUKKy8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KKworLy8gQ29weXJpZ2h0IChDKSAyMDA2IEdvb2dsZSBJbmMuCisvLworLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisvLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisvLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKy8vCisvLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorLy8KKy8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisvLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKKy8qKgorICogQGZpbGVvdmVydmlldworICogc29tZSBmdW5jdGlvbnMgZm9yIGJyb3dzZXItc2lkZSBwcmV0dHkgcHJpbnRpbmcgb2YgY29kZSBjb250YWluZWQgaW4gaHRtbC4KKyAqIDxwPgorICoKKyAqIEZvciBhIGZhaXJseSBjb21wcmVoZW5zaXZlIHNldCBvZiBsYW5ndWFnZXMgc2VlIHRoZQorICogPGEgaHJlZj0iaHR0cDovL2dvb2dsZS1jb2RlLXByZXR0aWZ5Lmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9SRUFETUUuaHRtbCNsYW5ncyI+UkVBRE1FPC9hPgorICogZmlsZSB0aGF0IGNhbWUgd2l0aCB0aGlzIHNvdXJjZS4gIEF0IGEgbWluaW11bSwgdGhlIGxleGVyIHNob3VsZCB3b3JrIG9uIGEKKyAqIG51bWJlciBvZiBsYW5ndWFnZXMgaW5jbHVkaW5nIEMgYW5kIGZyaWVuZHMsIEphdmEsIFB5dGhvbiwgQmFzaCwgU1FMLCBIVE1MLAorICogWE1MLCBDU1MsIEphdmFzY3JpcHQsIGFuZCBNYWtlZmlsZXMuICBJdCB3b3JrcyBwYXNzYWJseSBvbiBSdWJ5LCBQSFAgYW5kIEF3aworICogYW5kIGEgc3Vic2V0IG9mIFBlcmwsIGJ1dCwgYmVjYXVzZSBvZiBjb21tZW50aW5nIGNvbnZlbnRpb25zLCBkb2Vzbid0IHdvcmsgb24KKyAqIFNtYWxsdGFsaywgTGlzcC1saWtlLCBvciBDQU1MLWxpa2UgbGFuZ3VhZ2VzIHdpdGhvdXQgYW4gZXhwbGljaXQgbGFuZyBjbGFzcy4KKyAqIDxwPgorICogVXNhZ2U6IDxvbD4KKyAqIDxsaT4gaW5jbHVkZSB0aGlzIHNvdXJjZSBmaWxlIGluIGFuIGh0bWwgcGFnZSB2aWEKKyAqICAge0Bjb2RlIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9wYXRoL3RvL3ByZXR0aWZ5LmpzIj48L3NjcmlwdD59CisgKiA8bGk+IGRlZmluZSBzdHlsZSBydWxlcy4gIFNlZSB0aGUgZXhhbXBsZSBwYWdlIGZvciBleGFtcGxlcy4KKyAqIDxsaT4gbWFyayB0aGUge0Bjb2RlIDxwcmU+fSBhbmQge0Bjb2RlIDxjb2RlPn0gdGFncyBpbiB5b3VyIHNvdXJjZSB3aXRoCisgKiAgICB7QGNvZGUgY2xhc3M9cHJldHR5cHJpbnQufQorICogICAgWW91IGNhbiBhbHNvIHVzZSB0aGUgKGh0bWwgZGVwcmVjYXRlZCkge0Bjb2RlIDx4bXA+fSB0YWcsIGJ1dCB0aGUgcHJldHR5CisgKiAgICBwcmludGVyIG5lZWRzIHRvIGRvIG1vcmUgc3Vic3RhbnRpYWwgRE9NIG1hbmlwdWxhdGlvbnMgdG8gc3VwcG9ydCB0aGF0LCBzbworICogICAgc29tZSBjc3Mgc3R5bGVzIG1heSBub3QgYmUgcHJlc2VydmVkLgorICogPC9vbD4KKyAqIFRoYXQncyBpdC4gIEkgd2FudGVkIHRvIGtlZXAgdGhlIEFQSSBhcyBzaW1wbGUgYXMgcG9zc2libGUsIHNvIHRoZXJlJ3Mgbm8KKyAqIG5lZWQgdG8gc3BlY2lmeSB3aGljaCBsYW5ndWFnZSB0aGUgY29kZSBpcyBpbiwgYnV0IGlmIHlvdSB3aXNoLCB5b3UgY2FuIGFkZAorICogYW5vdGhlciBjbGFzcyB0byB0aGUge0Bjb2RlIDxwcmU+fSBvciB7QGNvZGUgPGNvZGU+fSBlbGVtZW50IHRvIHNwZWNpZnkgdGhlCisgKiBsYW5ndWFnZSwgYXMgaW4ge0Bjb2RlIDxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctamF2YSI+fS4gIEFueSBjbGFzcyB0aGF0CisgKiBzdGFydHMgd2l0aCAibGFuZy0iIGZvbGxvd2VkIGJ5IGEgZmlsZSBleHRlbnNpb24sIHNwZWNpZmllcyB0aGUgZmlsZSB0eXBlLgorICogU2VlIHRoZSAibGFuZy0qLmpzIiBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBmb3IgY29kZSB0aGF0IGltcGxlbWVudHMKKyAqIHBlci1sYW5ndWFnZSBmaWxlIGhhbmRsZXJzLgorICogPHA+CisgKiBDaGFuZ2UgbG9nOjxicj4KKyAqIGNiZXVzdCwgMjAwNi8wOC8yMgorICogPGJsb2NrcXVvdGU+CisgKiAgIEphdmEgYW5ub3RhdGlvbnMgKHN0YXJ0IHdpdGggIkAiKSBhcmUgbm93IGNhcHR1cmVkIGFzIGxpdGVyYWxzICgibGl0IikKKyAqIDwvYmxvY2txdW90ZT4KKyAqIEByZXF1aXJlcyBjb25zb2xlCisgKiBAb3ZlcnJpZGVzIHdpbmRvdworICovCisKKy8vIEpTTGludCBkZWNsYXJhdGlvbnMKKy8qZ2xvYmFsIGNvbnNvbGUsIGRvY3VtZW50LCBuYXZpZ2F0b3IsIHNldFRpbWVvdXQsIHdpbmRvdyAqLworCisvKioKKyAqIFNwbGl0IHtAY29kZSBwcmV0dHlQcmludH0gaW50byBtdWx0aXBsZSB0aW1lb3V0cyBzbyBhcyBub3QgdG8gaW50ZXJmZXJlIHdpdGgKKyAqIFVJIGV2ZW50cy4KKyAqIElmIHNldCB0byB7QGNvZGUgZmFsc2V9LCB7QGNvZGUgcHJldHR5UHJpbnQoKX0gaXMgc3luY2hyb25vdXMuCisgKi8KK3dpbmRvd1snUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT04nXSA9IHRydWU7CisKKy8qKiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgYmV0d2VlbiB0YWIgY29sdW1ucyAqLword2luZG93WydQUl9UQUJfV0lEVEgnXSA9IDg7CisKKy8qKiBXYWxrcyB0aGUgRE9NIHJldHVybmluZyBhIHByb3Blcmx5IGVzY2FwZWQgdmVyc2lvbiBvZiBpbm5lckhUTUwuCisgICogQHBhcmFtIHtOb2RlfSBub2RlCisgICogQHBhcmFtIHtBcnJheS48c3RyaW5nPn0gb3V0IG91dHB1dCBidWZmZXIgdGhhdCByZWNlaXZlcyBjaHVua3Mgb2YgSFRNTC4KKyAgKi8KK3dpbmRvd1snUFJfbm9ybWFsaXplZEh0bWwnXQorCisvKiogQ29udGFpbnMgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBhbmQgcmVnaXN0ZXJpbmcgbmV3IGxhbmd1YWdlIGhhbmRsZXJzLgorICAqIEB0eXBlIHtPYmplY3R9CisgICovCisgID0gd2luZG93WydQUiddCisKKy8qKiBQcmV0dHkgcHJpbnQgYSBjaHVuayBvZiBjb2RlLgorICAqCisgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZUNvZGVIdG1sIGNvZGUgYXMgaHRtbAorICAqIEByZXR1cm4ge3N0cmluZ30gY29kZSBhcyBodG1sLCBidXQgcHJldHRpZXIKKyAgKi8KKyAgPSB3aW5kb3dbJ3ByZXR0eVByaW50T25lJ10KKy8qKiBGaW5kIGFsbCB0aGUge0Bjb2RlIDxwcmU+fSBhbmQge0Bjb2RlIDxjb2RlPn0gdGFncyBpbiB0aGUgRE9NIHdpdGgKKyAgKiB7QGNvZGUgY2xhc3M9cHJldHR5cHJpbnR9IGFuZCBwcmV0dGlmeSB0aGVtLgorICAqIEBwYXJhbSB7RnVuY3Rpb24/fSBvcHRfd2hlbkRvbmUgaWYgc3BlY2lmaWVkLCBjYWxsZWQgd2hlbiB0aGUgbGFzdCBlbnRyeQorICAqICAgICBoYXMgYmVlbiBmaW5pc2hlZC4KKyAgKi8KKyAgPSB3aW5kb3dbJ3ByZXR0eVByaW50J10gPSB2b2lkIDA7CisKKy8qKiBicm93c2VyIGRldGVjdGlvbi4gQGV4dGVybiBAcmV0dXJucyBmYWxzZSBpZiBub3QgSUUsIG90aGVyd2lzZSB0aGUgbWFqb3IgdmVyc2lvbi4gKi8KK3dpbmRvd1snX3ByX2lzSUU2J10gPSBmdW5jdGlvbiAoKSB7CisgIHZhciBpZVZlcnNpb24gPSBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJgorICAgICAgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvXGJNU0lFIChbNjc4XSlcLi8pOworICBpZVZlcnNpb24gPSBpZVZlcnNpb24gPyAraWVWZXJzaW9uWzFdIDogZmFsc2U7CisgIHdpbmRvd1snX3ByX2lzSUU2J10gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBpZVZlcnNpb247IH07CisgIHJldHVybiBpZVZlcnNpb247Cit9OworCisKKyhmdW5jdGlvbiAoKSB7CisgIC8vIEtleXdvcmQgbGlzdHMgZm9yIHZhcmlvdXMgbGFuZ3VhZ2VzLgorICB2YXIgRkxPV19DT05UUk9MX0tFWVdPUkRTID0KKyAgICAgICJicmVhayBjb250aW51ZSBkbyBlbHNlIGZvciBpZiByZXR1cm4gd2hpbGUgIjsKKyAgdmFyIENfS0VZV09SRFMgPSBGTE9XX0NPTlRST0xfS0VZV09SRFMgKyAiYXV0byBjYXNlIGNoYXIgY29uc3QgZGVmYXVsdCAiICsKKyAgICAgICJkb3VibGUgZW51bSBleHRlcm4gZmxvYXQgZ290byBpbnQgbG9uZyByZWdpc3RlciBzaG9ydCBzaWduZWQgc2l6ZW9mICIgKworICAgICAgInN0YXRpYyBzdHJ1Y3Qgc3dpdGNoIHR5cGVkZWYgdW5pb24gdW5zaWduZWQgdm9pZCB2b2xhdGlsZSAiOworICB2YXIgQ09NTU9OX0tFWVdPUkRTID0gQ19LRVlXT1JEUyArICJjYXRjaCBjbGFzcyBkZWxldGUgZmFsc2UgaW1wb3J0ICIgKworICAgICAgIm5ldyBvcGVyYXRvciBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgdGhpcyB0aHJvdyB0cnVlIHRyeSB0eXBlb2YgIjsKKyAgdmFyIENQUF9LRVlXT1JEUyA9IENPTU1PTl9LRVlXT1JEUyArICJhbGlnbm9mIGFsaWduX3VuaW9uIGFzbSBheGlvbSBib29sICIgKworICAgICAgImNvbmNlcHQgY29uY2VwdF9tYXAgY29uc3RfY2FzdCBjb25zdGV4cHIgZGVjbHR5cGUgIiArCisgICAgICAiZHluYW1pY19jYXN0IGV4cGxpY2l0IGV4cG9ydCBmcmllbmQgaW5saW5lIGxhdGVfY2hlY2sgIiArCisgICAgICAibXV0YWJsZSBuYW1lc3BhY2UgbnVsbHB0ciByZWludGVycHJldF9jYXN0IHN0YXRpY19hc3NlcnQgc3RhdGljX2Nhc3QgIiArCisgICAgICAidGVtcGxhdGUgdHlwZWlkIHR5cGVuYW1lIHVzaW5nIHZpcnR1YWwgd2NoYXJfdCB3aGVyZSAiOworICB2YXIgSkFWQV9LRVlXT1JEUyA9IENPTU1PTl9LRVlXT1JEUyArCisgICAgICAiYWJzdHJhY3QgYm9vbGVhbiBieXRlIGV4dGVuZHMgZmluYWwgZmluYWxseSBpbXBsZW1lbnRzIGltcG9ydCAiICsKKyAgICAgICJpbnN0YW5jZW9mIG51bGwgbmF0aXZlIHBhY2thZ2Ugc3RyaWN0ZnAgc3VwZXIgc3luY2hyb25pemVkIHRocm93cyAiICsKKyAgICAgICJ0cmFuc2llbnQgIjsKKyAgdmFyIENTSEFSUF9LRVlXT1JEUyA9IEpBVkFfS0VZV09SRFMgKworICAgICAgImFzIGJhc2UgYnkgY2hlY2tlZCBkZWNpbWFsIGRlbGVnYXRlIGRlc2NlbmRpbmcgZXZlbnQgIiArCisgICAgICAiZml4ZWQgZm9yZWFjaCBmcm9tIGdyb3VwIGltcGxpY2l0IGluIGludGVyZmFjZSBpbnRlcm5hbCBpbnRvIGlzIGxvY2sgIiArCisgICAgICAib2JqZWN0IG91dCBvdmVycmlkZSBvcmRlcmJ5IHBhcmFtcyBwYXJ0aWFsIHJlYWRvbmx5IHJlZiBzYnl0ZSBzZWFsZWQgIiArCisgICAgICAic3RhY2thbGxvYyBzdHJpbmcgc2VsZWN0IHVpbnQgdWxvbmcgdW5jaGVja2VkIHVuc2FmZSB1c2hvcnQgdmFyICI7CisgIHZhciBKU0NSSVBUX0tFWVdPUkRTID0gQ09NTU9OX0tFWVdPUkRTICsKKyAgICAgICJkZWJ1Z2dlciBldmFsIGV4cG9ydCBmdW5jdGlvbiBnZXQgbnVsbCBzZXQgdW5kZWZpbmVkIHZhciB3aXRoICIgKworICAgICAgIkluZmluaXR5IE5hTiAiOworICB2YXIgUEVSTF9LRVlXT1JEUyA9ICJjYWxsZXIgZGVsZXRlIGRpZSBkbyBkdW1wIGVsc2lmIGV2YWwgZXhpdCBmb3JlYWNoIGZvciAiICsKKyAgICAgICJnb3RvIGlmIGltcG9ydCBsYXN0IGxvY2FsIG15IG5leHQgbm8gb3VyIHByaW50IHBhY2thZ2UgcmVkbyByZXF1aXJlICIgKworICAgICAgInN1YiB1bmRlZiB1bmxlc3MgdW50aWwgdXNlIHdhbnRhcnJheSB3aGlsZSBCRUdJTiBFTkQgIjsKKyAgdmFyIFBZVEhPTl9LRVlXT1JEUyA9IEZMT1dfQ09OVFJPTF9LRVlXT1JEUyArICJhbmQgYXMgYXNzZXJ0IGNsYXNzIGRlZiBkZWwgIiArCisgICAgICAiZWxpZiBleGNlcHQgZXhlYyBmaW5hbGx5IGZyb20gZ2xvYmFsIGltcG9ydCBpbiBpcyBsYW1iZGEgIiArCisgICAgICAibm9ubG9jYWwgbm90IG9yIHBhc3MgcHJpbnQgcmFpc2UgdHJ5IHdpdGggeWllbGQgIiArCisgICAgICAiRmFsc2UgVHJ1ZSBOb25lICI7CisgIHZhciBSVUJZX0tFWVdPUkRTID0gRkxPV19DT05UUk9MX0tFWVdPUkRTICsgImFsaWFzIGFuZCBiZWdpbiBjYXNlIGNsYXNzIGRlZiIgKworICAgICAgIiBkZWZpbmVkIGVsc2lmIGVuZCBlbnN1cmUgZmFsc2UgaW4gbW9kdWxlIG5leHQgbmlsIG5vdCBvciByZWRvIHJlc2N1ZSAiICsKKyAgICAgICJyZXRyeSBzZWxmIHN1cGVyIHRoZW4gdHJ1ZSB1bmRlZiB1bmxlc3MgdW50aWwgd2hlbiB5aWVsZCBCRUdJTiBFTkQgIjsKKyAgdmFyIFNIX0tFWVdPUkRTID0gRkxPV19DT05UUk9MX0tFWVdPUkRTICsgImNhc2UgZG9uZSBlbGlmIGVzYWMgZXZhbCBmaSAiICsKKyAgICAgICJmdW5jdGlvbiBpbiBsb2NhbCBzZXQgdGhlbiB1bnRpbCAiOworICB2YXIgQUxMX0tFWVdPUkRTID0gKAorICAgICAgQ1BQX0tFWVdPUkRTICsgQ1NIQVJQX0tFWVdPUkRTICsgSlNDUklQVF9LRVlXT1JEUyArIFBFUkxfS0VZV09SRFMgKworICAgICAgUFlUSE9OX0tFWVdPUkRTICsgUlVCWV9LRVlXT1JEUyArIFNIX0tFWVdPUkRTKTsKKworICAvLyB0b2tlbiBzdHlsZSBuYW1lcy4gIGNvcnJlc3BvbmQgdG8gY3NzIGNsYXNzZXMKKyAgLyoqIHRva2VuIHN0eWxlIGZvciBhIHN0cmluZyBsaXRlcmFsICovCisgIHZhciBQUl9TVFJJTkcgPSAnc3RyJzsKKyAgLyoqIHRva2VuIHN0eWxlIGZvciBhIGtleXdvcmQgKi8KKyAgdmFyIFBSX0tFWVdPUkQgPSAna3dkJzsKKyAgLyoqIHRva2VuIHN0eWxlIGZvciBhIGNvbW1lbnQgKi8KKyAgdmFyIFBSX0NPTU1FTlQgPSAnY29tJzsKKyAgLyoqIHRva2VuIHN0eWxlIGZvciBhIHR5cGUgKi8KKyAgdmFyIFBSX1RZUEUgPSAndHlwJzsKKyAgLyoqIHRva2VuIHN0eWxlIGZvciBhIGxpdGVyYWwgdmFsdWUuICBlLmcuIDEsIG51bGwsIHRydWUuICovCisgIHZhciBQUl9MSVRFUkFMID0gJ2xpdCc7CisgIC8qKiB0b2tlbiBzdHlsZSBmb3IgYSBwdW5jdHVhdGlvbiBzdHJpbmcuICovCisgIHZhciBQUl9QVU5DVFVBVElPTiA9ICdwdW4nOworICAvKiogdG9rZW4gc3R5bGUgZm9yIGEgcHVuY3R1YXRpb24gc3RyaW5nLiAqLworICB2YXIgUFJfUExBSU4gPSAncGxuJzsKKworICAvKiogdG9rZW4gc3R5bGUgZm9yIGFuIHNnbWwgdGFnLiAqLworICB2YXIgUFJfVEFHID0gJ3RhZyc7CisgIC8qKiB0b2tlbiBzdHlsZSBmb3IgYSBtYXJrdXAgZGVjbGFyYXRpb24gc3VjaCBhcyBhIERPQ1RZUEUuICovCisgIHZhciBQUl9ERUNMQVJBVElPTiA9ICdkZWMnOworICAvKiogdG9rZW4gc3R5bGUgZm9yIGVtYmVkZGVkIHNvdXJjZS4gKi8KKyAgdmFyIFBSX1NPVVJDRSA9ICdzcmMnOworICAvKiogdG9rZW4gc3R5bGUgZm9yIGFuIHNnbWwgYXR0cmlidXRlIG5hbWUuICovCisgIHZhciBQUl9BVFRSSUJfTkFNRSA9ICdhdG4nOworICAvKiogdG9rZW4gc3R5bGUgZm9yIGFuIHNnbWwgYXR0cmlidXRlIHZhbHVlLiAqLworICB2YXIgUFJfQVRUUklCX1ZBTFVFID0gJ2F0dic7CisKKyAgLyoqCisgICAqIEEgY2xhc3MgdGhhdCBpbmRpY2F0ZXMgYSBzZWN0aW9uIG9mIG1hcmt1cCB0aGF0IGlzIG5vdCBjb2RlLCBlLmcuIHRvIGFsbG93CisgICAqIGVtYmVkZGluZyBvZiBsaW5lIG51bWJlcnMgd2l0aGluIGNvZGUgbGlzdGluZ3MuCisgICAqLworICB2YXIgUFJfTk9DT0RFID0gJ25vY29kZSc7CisKKyAgLyoqIEEgc2V0IG9mIHRva2VucyB0aGF0IGNhbiBwcmVjZWRlIGEgcmVndWxhciBleHByZXNzaW9uIGxpdGVyYWwgaW4KKyAgICAqIGphdmFzY3JpcHQuCisgICAgKiBodHRwOi8vd3d3Lm1vemlsbGEub3JnL2pzL2xhbmd1YWdlL2pzMjAvcmF0aW9uYWxlL3N5bnRheC5odG1sIGhhcyB0aGUgZnVsbAorICAgICogbGlzdCwgYnV0IEkndmUgcmVtb3ZlZCBvbmVzIHRoYXQgbWlnaHQgYmUgcHJvYmxlbWF0aWMgd2hlbiBzZWVuIGluCisgICAgKiBsYW5ndWFnZXMgdGhhdCBkb24ndCBzdXBwb3J0IHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscy4KKyAgICAqCisgICAgKiA8cD5TcGVjaWZpY2FsbHksIEkndmUgcmVtb3ZlZCBhbnkga2V5d29yZHMgdGhhdCBjYW4ndCBwcmVjZWRlIGEgcmVnZXhwCisgICAgKiBsaXRlcmFsIGluIGEgc3ludGFjdGljYWxseSBsZWdhbCBqYXZhc2NyaXB0IHByb2dyYW0sIGFuZCBJJ3ZlIHJlbW92ZWQgdGhlCisgICAgKiAiaW4iIGtleXdvcmQgc2luY2UgaXQncyBub3QgYSBrZXl3b3JkIGluIG1hbnkgbGFuZ3VhZ2VzLCBhbmQgbWlnaHQgYmUgdXNlZAorICAgICogYXMgYSBjb3VudCBvZiBpbmNoZXMuCisgICAgKgorICAgICogPHA+VGhlIGxpbmsgYSBhYm92ZSBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRlc2NyaWJlIEVjbWFTY3JpcHQgcnVsZXMgc2luY2UKKyAgICAqIGl0IGZhaWxzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gKGE9KysvYi9pKSBhbmQgKGErKy9iL2kpIGJ1dCBpdCB3b3JrcworICAgICogdmVyeSB3ZWxsIGluIHByYWN0aWNlLgorICAgICoKKyAgICAqIEBwcml2YXRlCisgICAgKi8KKyAgdmFyIFJFR0VYUF9QUkVDRURFUl9QQVRURVJOID0gZnVuY3Rpb24gKCkgeworICAgICAgdmFyIHByZWNlZGVycyA9IFsKKyAgICAgICAgICAiISIsICIhPSIsICIhPT0iLCAiIyIsICIlIiwgIiU9IiwgIiYiLCAiJiYiLCAiJiY9IiwKKyAgICAgICAgICAiJj0iLCAiKCIsICIqIiwgIio9IiwgLyogIisiLCAqLyAiKz0iLCAiLCIsIC8qICItIiwgKi8gIi09IiwKKyAgICAgICAgICAiLT4iLCAvKiIuIiwgIi4uIiwgIi4uLiIsIGhhbmRsZWQgYmVsb3cgKi8gIi8iLCAiLz0iLCAiOiIsICI6OiIsICI7IiwKKyAgICAgICAgICAiPCIsICI8PCIsICI8PD0iLCAiPD0iLCAiPSIsICI9PSIsICI9PT0iLCAiPiIsCisgICAgICAgICAgIj49IiwgIj4+IiwgIj4+PSIsICI+Pj4iLCAiPj4+PSIsICI/IiwgIkAiLCAiWyIsCisgICAgICAgICAgIl4iLCAiXj0iLCAiXl4iLCAiXl49IiwgInsiLCAifCIsICJ8PSIsICJ8fCIsCisgICAgICAgICAgInx8PSIsICJ+IiAvKiBoYW5kbGVzID1+IGFuZCAhfiAqLywKKyAgICAgICAgICAiYnJlYWsiLCAiY2FzZSIsICJjb250aW51ZSIsICJkZWxldGUiLAorICAgICAgICAgICJkbyIsICJlbHNlIiwgImZpbmFsbHkiLCAiaW5zdGFuY2VvZiIsCisgICAgICAgICAgInJldHVybiIsICJ0aHJvdyIsICJ0cnkiLCAidHlwZW9mIgorICAgICAgICAgIF07CisgICAgICB2YXIgcGF0dGVybiA9ICcoPzpeXnxbKy1dJzsKKyAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlY2VkZXJzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHBhdHRlcm4gKz0gJ3wnICsgcHJlY2VkZXJzW2ldLnJlcGxhY2UoLyhbXj08PjomYS16XSkvZywgJ1xcJDEnKTsKKyAgICAgIH0KKyAgICAgIHBhdHRlcm4gKz0gJylcXHMqJzsgIC8vIG1hdGNoZXMgYXQgZW5kLCBhbmQgbWF0Y2hlcyBlbXB0eSBzdHJpbmcKKyAgICAgIHJldHVybiBwYXR0ZXJuOworICAgICAgLy8gQ0FWRUFUOiB0aGlzIGRvZXMgbm90IHByb3Blcmx5IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIHJlZ3VsYXIKKyAgICAgIC8vIGV4cHJlc3Npb24gaW1tZWRpYXRlbHkgZm9sbG93cyBhbm90aGVyIHNpbmNlIGEgcmVndWxhciBleHByZXNzaW9uIG1heQorICAgICAgLy8gaGF2ZSBmbGFncyBmb3IgY2FzZS1zZW5zaXRpdml0eSBhbmQgdGhlIGxpa2UuICBIYXZpbmcgcmVnZXhwIHRva2VucworICAgICAgLy8gYWRqYWNlbnQgaXMgbm90IHZhbGlkIGluIGFueSBsYW5ndWFnZSBJJ20gYXdhcmUgb2YsIHNvIEknbSBwdW50aW5nLgorICAgICAgLy8gVE9ETzogbWF5YmUgc3R5bGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGluc2lkZSBhIHJlZ2V4cCBhcyBwdW5jdHVhdGlvbi4KKyAgICB9KCk7CisKKyAgLy8gRGVmaW5lIHJlZ2V4cHMgaGVyZSBzbyB0aGF0IHRoZSBpbnRlcnByZXRlciBkb2Vzbid0IGhhdmUgdG8gY3JlYXRlIGFuCisgIC8vIG9iamVjdCBlYWNoIHRpbWUgdGhlIGZ1bmN0aW9uIGNvbnRhaW5pbmcgdGhlbSBpcyBjYWxsZWQuCisgIC8vIFRoZSBsYW5ndWFnZSBzcGVjIHJlcXVpcmVzIGEgbmV3IG9iamVjdCBjcmVhdGVkIGV2ZW4gaWYgeW91IGRvbid0IGFjY2VzcworICAvLyB0aGUgJDEgbWVtYmVycy4KKyAgdmFyIHByX2FtcCA9IC8mL2c7CisgIHZhciBwcl9sdCA9IC88L2c7CisgIHZhciBwcl9ndCA9IC8+L2c7CisgIHZhciBwcl9xdW90ID0gL1wiL2c7CisgIC8qKiBsaWtlIHRleHRUb0h0bWwgYnV0IGVzY2FwZXMgZG91YmxlIHF1b3RlcyB0byBiZSBhdHRyaWJ1dGUgc2FmZS4gKi8KKyAgZnVuY3Rpb24gYXR0cmliVG9IdG1sKHN0cikgeworICAgIHJldHVybiBzdHIucmVwbGFjZShwcl9hbXAsICcmYW1wOycpCisgICAgICAgIC5yZXBsYWNlKHByX2x0LCAnJmx0OycpCisgICAgICAgIC5yZXBsYWNlKHByX2d0LCAnJmd0OycpCisgICAgICAgIC5yZXBsYWNlKHByX3F1b3QsICcmcXVvdDsnKTsKKyAgfQorCisgIC8qKiBlc2NhcGVzdCBodG1sIHNwZWNpYWwgY2hhcmFjdGVycyB0byBodG1sLiAqLworICBmdW5jdGlvbiB0ZXh0VG9IdG1sKHN0cikgeworICAgIHJldHVybiBzdHIucmVwbGFjZShwcl9hbXAsICcmYW1wOycpCisgICAgICAgIC5yZXBsYWNlKHByX2x0LCAnJmx0OycpCisgICAgICAgIC5yZXBsYWNlKHByX2d0LCAnJmd0OycpOworICB9CisKKworICB2YXIgcHJfbHRFbnQgPSAvJmx0Oy9nOworICB2YXIgcHJfZ3RFbnQgPSAvJmd0Oy9nOworICB2YXIgcHJfYXBvc0VudCA9IC8mYXBvczsvZzsKKyAgdmFyIHByX3F1b3RFbnQgPSAvJnF1b3Q7L2c7CisgIHZhciBwcl9hbXBFbnQgPSAvJmFtcDsvZzsKKyAgdmFyIHByX25ic3BFbnQgPSAvJm5ic3A7L2c7CisgIC8qKiB1bmVzY2FwZXMgaHRtbCB0byBwbGFpbiB0ZXh0LiAqLworICBmdW5jdGlvbiBodG1sVG9UZXh0KGh0bWwpIHsKKyAgICB2YXIgcG9zID0gaHRtbC5pbmRleE9mKCcmJyk7CisgICAgaWYgKHBvcyA8IDApIHsgcmV0dXJuIGh0bWw7IH0KKyAgICAvLyBIYW5kbGUgbnVtZXJpYyBlbnRpdGllcyBzcGVjaWFsbHkuICBXZSBjYW4ndCB1c2UgZnVuY3Rpb25hbCBzdWJzdGl0dXRpb24KKyAgICAvLyBzaW5jZSB0aGF0IGRvZXNuJ3Qgd29yayBpbiBvbGRlciB2ZXJzaW9ucyBvZiBTYWZhcmkuCisgICAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJhcmUgc2luY2UgbW9zdCBicm93c2VycyBjb252ZXJ0IHRoZW0gdG8gbm9ybWFsIGNoYXJzLgorICAgIGZvciAoLS1wb3M7IChwb3MgPSBodG1sLmluZGV4T2YoJyYjJywgcG9zICsgMSkpID49IDA7KSB7CisgICAgICB2YXIgZW5kID0gaHRtbC5pbmRleE9mKCc7JywgcG9zKTsKKyAgICAgIGlmIChlbmQgPj0gMCkgeworICAgICAgICB2YXIgbnVtID0gaHRtbC5zdWJzdHJpbmcocG9zICsgMywgZW5kKTsKKyAgICAgICAgdmFyIHJhZGl4ID0gMTA7CisgICAgICAgIGlmIChudW0gJiYgbnVtLmNoYXJBdCgwKSA9PT0gJ3gnKSB7CisgICAgICAgICAgbnVtID0gbnVtLnN1YnN0cmluZygxKTsKKyAgICAgICAgICByYWRpeCA9IDE2OworICAgICAgICB9CisgICAgICAgIHZhciBjb2RlUG9pbnQgPSBwYXJzZUludChudW0sIHJhZGl4KTsKKyAgICAgICAgaWYgKCFpc05hTihjb2RlUG9pbnQpKSB7CisgICAgICAgICAgaHRtbCA9IChodG1sLnN1YnN0cmluZygwLCBwb3MpICsgU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlUG9pbnQpICsKKyAgICAgICAgICAgICAgICAgIGh0bWwuc3Vic3RyaW5nKGVuZCArIDEpKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBodG1sLnJlcGxhY2UocHJfbHRFbnQsICc8JykKKyAgICAgICAgLnJlcGxhY2UocHJfZ3RFbnQsICc+JykKKyAgICAgICAgLnJlcGxhY2UocHJfYXBvc0VudCwgIiciKQorICAgICAgICAucmVwbGFjZShwcl9xdW90RW50LCAnIicpCisgICAgICAgIC5yZXBsYWNlKHByX25ic3BFbnQsICcgJykKKyAgICAgICAgLnJlcGxhY2UocHJfYW1wRW50LCAnJicpOworICB9CisKKyAgLyoqIGlzIHRoZSBnaXZlbiBub2RlJ3MgaW5uZXJIVE1MIG5vcm1hbGx5IHVuZXNjYXBlZD8gKi8KKyAgZnVuY3Rpb24gaXNSYXdDb250ZW50KG5vZGUpIHsKKyAgICByZXR1cm4gJ1hNUCcgPT09IG5vZGUudGFnTmFtZTsKKyAgfQorCisgIHZhciBuZXdsaW5lUmUgPSAvW1xyXG5dL2c7CisgIC8qKgorICAgKiBBcmUgbmV3bGluZXMgYW5kIGFkamFjZW50IHNwYWNlcyBzaWduaWZpY2FudCBpbiB0aGUgZ2l2ZW4gbm9kZSdzIGlubmVySFRNTD8KKyAgICovCisgIGZ1bmN0aW9uIGlzUHJlZm9ybWF0dGVkKG5vZGUsIGNvbnRlbnQpIHsKKyAgICAvLyBQUkUgbWVhbnMgcHJlZm9ybWF0dGVkLCBhbmQgaXMgYSB2ZXJ5IGNvbW1vbiBjYXNlLCBzbyBkb24ndCBjcmVhdGUKKyAgICAvLyB1bm5lY2Vzc2FyeSBjb21wdXRlZCBzdHlsZSBvYmplY3RzLgorICAgIGlmICgnUFJFJyA9PT0gbm9kZS50YWdOYW1lKSB7IHJldHVybiB0cnVlOyB9CisgICAgaWYgKCFuZXdsaW5lUmUudGVzdChjb250ZW50KSkgeyByZXR1cm4gdHJ1ZTsgfSAgLy8gRG9uJ3QgY2FyZQorICAgIHZhciB3aGl0ZXNwYWNlID0gJyc7CisgICAgLy8gRm9yIGRpc2Nvbm5lY3RlZCBub2RlcywgSUUgaGFzIG5vIGN1cnJlbnRTdHlsZS4KKyAgICBpZiAobm9kZS5jdXJyZW50U3R5bGUpIHsKKyAgICAgIHdoaXRlc3BhY2UgPSBub2RlLmN1cnJlbnRTdHlsZS53aGl0ZVNwYWNlOworICAgIH0gZWxzZSBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUpIHsKKyAgICAgIC8vIEZpcmVmb3ggbWFrZXMgYSBiZXN0IGd1ZXNzIGlmIG5vZGUgaXMgZGlzY29ubmVjdGVkIHdoZXJlYXMgU2FmYXJpCisgICAgICAvLyByZXR1cm5zIHRoZSBlbXB0eSBzdHJpbmcuCisgICAgICB3aGl0ZXNwYWNlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSwgbnVsbCkud2hpdGVTcGFjZTsKKyAgICB9CisgICAgcmV0dXJuICF3aGl0ZXNwYWNlIHx8IHdoaXRlc3BhY2UgPT09ICdwcmUnOworICB9CisKKyAgZnVuY3Rpb24gbm9ybWFsaXplZEh0bWwobm9kZSwgb3V0KSB7CisgICAgc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7CisgICAgICBjYXNlIDE6ICAvLyBhbiBlbGVtZW50CisgICAgICAgIHZhciBuYW1lID0gbm9kZS50YWdOYW1lLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIG91dC5wdXNoKCc8JywgbmFtZSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5hdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgdmFyIGF0dHIgPSBub2RlLmF0dHJpYnV0ZXNbaV07CisgICAgICAgICAgaWYgKCFhdHRyLnNwZWNpZmllZCkgeyBjb250aW51ZTsgfQorICAgICAgICAgIG91dC5wdXNoKCcgJyk7CisgICAgICAgICAgbm9ybWFsaXplZEh0bWwoYXR0ciwgb3V0KTsKKyAgICAgICAgfQorICAgICAgICBvdXQucHVzaCgnPicpOworICAgICAgICBmb3IgKHZhciBjaGlsZCA9IG5vZGUuZmlyc3RDaGlsZDsgY2hpbGQ7IGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgICBub3JtYWxpemVkSHRtbChjaGlsZCwgb3V0KTsKKyAgICAgICAgfQorICAgICAgICBpZiAobm9kZS5maXJzdENoaWxkIHx8ICEvXig/OmJyfGxpbmt8aW1nKSQvLnRlc3QobmFtZSkpIHsKKyAgICAgICAgICBvdXQucHVzaCgnPFwvJywgbmFtZSwgJz4nKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgMjogLy8gYW4gYXR0cmlidXRlCisgICAgICAgIG91dC5wdXNoKG5vZGUubmFtZS50b0xvd2VyQ2FzZSgpLCAnPSInLCBhdHRyaWJUb0h0bWwobm9kZS52YWx1ZSksICciJyk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAzOiBjYXNlIDQ6IC8vIHRleHQKKyAgICAgICAgb3V0LnB1c2godGV4dFRvSHRtbChub2RlLm5vZGVWYWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICAvKioKKyAgICogR2l2ZW4gYSBncm91cCBvZiB7QGxpbmsgUmVnRXhwfXMsIHJldHVybnMgYSB7QGNvZGUgUmVnRXhwfSB0aGF0IGdsb2JhbGx5CisgICAqIG1hdGNoZXMgdGhlIHVuaW9uIG8gdGhlIHNldHMgbyBzdHJpbmdzIG1hdGNoZWQgZCBieSB0aGUgaW5wdXQgUmVnRXhwLgorICAgKiBTaW5jZSBpdCBtYXRjaGVzIGdsb2JhbGx5LCBpZiB0aGUgaW5wdXQgc3RyaW5ncyBoYXZlIGEgc3RhcnQtb2YtaW5wdXQKKyAgICogYW5jaG9yICgvXi4uLi8pLCBpdCBpcyBpZ25vcmVkIGZvciB0aGUgcHVycG9zZXMgb2YgdW5pb25pbmcuCisgICAqIEBwYXJhbSB7QXJyYXkuPFJlZ0V4cD59IHJlZ2V4cyBub24gbXVsdGlsaW5lLCBub24tZ2xvYmFsIHJlZ2V4cy4KKyAgICogQHJldHVybiB7UmVnRXhwfSBhIGdsb2JhbCByZWdleC4KKyAgICovCisgIGZ1bmN0aW9uIGNvbWJpbmVQcmVmaXhQYXR0ZXJucyhyZWdleHMpIHsKKyAgICB2YXIgY2FwdHVyZWRHcm91cEluZGV4ID0gMDsKKworICAgIHZhciBuZWVkVG9Gb2xkQ2FzZSA9IGZhbHNlOworICAgIHZhciBpZ25vcmVDYXNlID0gZmFsc2U7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSByZWdleHMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICB2YXIgcmVnZXggPSByZWdleHNbaV07CisgICAgICBpZiAocmVnZXguaWdub3JlQ2FzZSkgeworICAgICAgICBpZ25vcmVDYXNlID0gdHJ1ZTsKKyAgICAgIH0gZWxzZSBpZiAoL1thLXpdL2kudGVzdChyZWdleC5zb3VyY2UucmVwbGFjZSgKKyAgICAgICAgICAgICAgICAgICAgIC9cXHVbMC05YS1mXXs0fXxcXHhbMC05YS1mXXsyfXxcXFtedXhdL2dpLCAnJykpKSB7CisgICAgICAgIG5lZWRUb0ZvbGRDYXNlID0gdHJ1ZTsKKyAgICAgICAgaWdub3JlQ2FzZSA9IGZhbHNlOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBkZWNvZGVFc2NhcGUoY2hhcnNldFBhcnQpIHsKKyAgICAgIGlmIChjaGFyc2V0UGFydC5jaGFyQXQoMCkgIT09ICdcXCcpIHsgcmV0dXJuIGNoYXJzZXRQYXJ0LmNoYXJDb2RlQXQoMCk7IH0KKyAgICAgIHN3aXRjaCAoY2hhcnNldFBhcnQuY2hhckF0KDEpKSB7CisgICAgICAgIGNhc2UgJ2InOiByZXR1cm4gODsKKyAgICAgICAgY2FzZSAndCc6IHJldHVybiA5OworICAgICAgICBjYXNlICduJzogcmV0dXJuIDB4YTsKKyAgICAgICAgY2FzZSAndic6IHJldHVybiAweGI7CisgICAgICAgIGNhc2UgJ2YnOiByZXR1cm4gMHhjOworICAgICAgICBjYXNlICdyJzogcmV0dXJuIDB4ZDsKKyAgICAgICAgY2FzZSAndSc6IGNhc2UgJ3gnOgorICAgICAgICAgIHJldHVybiBwYXJzZUludChjaGFyc2V0UGFydC5zdWJzdHJpbmcoMiksIDE2KQorICAgICAgICAgICAgICB8fCBjaGFyc2V0UGFydC5jaGFyQ29kZUF0KDEpOworICAgICAgICBjYXNlICcwJzogY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogY2FzZSAnNCc6CisgICAgICAgIGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6CisgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGNoYXJzZXRQYXJ0LnN1YnN0cmluZygxKSwgOCk7CisgICAgICAgIGRlZmF1bHQ6IHJldHVybiBjaGFyc2V0UGFydC5jaGFyQ29kZUF0KDEpOworICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGVuY29kZUVzY2FwZShjaGFyQ29kZSkgeworICAgICAgaWYgKGNoYXJDb2RlIDwgMHgyMCkgeworICAgICAgICByZXR1cm4gKGNoYXJDb2RlIDwgMHgxMCA/ICdcXHgwJyA6ICdcXHgnKSArIGNoYXJDb2RlLnRvU3RyaW5nKDE2KTsKKyAgICAgIH0KKyAgICAgIHZhciBjaCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUpOworICAgICAgaWYgKGNoID09PSAnXFwnIHx8IGNoID09PSAnLScgfHwgY2ggPT09ICdbJyB8fCBjaCA9PT0gJ10nKSB7CisgICAgICAgIGNoID0gJ1xcJyArIGNoOworICAgICAgfQorICAgICAgcmV0dXJuIGNoOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhc2VGb2xkQ2hhcnNldChjaGFyU2V0KSB7CisgICAgICB2YXIgY2hhcnNldFBhcnRzID0gY2hhclNldC5zdWJzdHJpbmcoMSwgY2hhclNldC5sZW5ndGggLSAxKS5tYXRjaCgKKyAgICAgICAgICBuZXcgUmVnRXhwKAorICAgICAgICAgICAgICAnXFxcXHVbMC05QS1GYS1mXXs0fScKKyAgICAgICAgICAgICAgKyAnfFxcXFx4WzAtOUEtRmEtZl17Mn0nCisgICAgICAgICAgICAgICsgJ3xcXFxcWzAtM11bMC03XXswLDJ9JworICAgICAgICAgICAgICArICd8XFxcXFswLTddezEsMn0nCisgICAgICAgICAgICAgICsgJ3xcXFxcW1xcc1xcU10nCisgICAgICAgICAgICAgICsgJ3wtJworICAgICAgICAgICAgICArICd8W14tXFxcXF0nLAorICAgICAgICAgICAgICAnZycpKTsKKyAgICAgIHZhciBncm91cHMgPSBbXTsKKyAgICAgIHZhciByYW5nZXMgPSBbXTsKKyAgICAgIHZhciBpbnZlcnNlID0gY2hhcnNldFBhcnRzWzBdID09PSAnXic7CisgICAgICBmb3IgKHZhciBpID0gaW52ZXJzZSA/IDEgOiAwLCBuID0gY2hhcnNldFBhcnRzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcCA9IGNoYXJzZXRQYXJ0c1tpXTsKKyAgICAgICAgc3dpdGNoIChwKSB7CisgICAgICAgICAgY2FzZSAnXFxCJzogY2FzZSAnXFxiJzoKKyAgICAgICAgICBjYXNlICdcXEQnOiBjYXNlICdcXGQnOgorICAgICAgICAgIGNhc2UgJ1xcUyc6IGNhc2UgJ1xccyc6CisgICAgICAgICAgY2FzZSAnXFxXJzogY2FzZSAnXFx3JzoKKyAgICAgICAgICAgIGdyb3Vwcy5wdXNoKHApOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHN0YXJ0ID0gZGVjb2RlRXNjYXBlKHApOworICAgICAgICB2YXIgZW5kOworICAgICAgICBpZiAoaSArIDIgPCBuICYmICctJyA9PT0gY2hhcnNldFBhcnRzW2kgKyAxXSkgeworICAgICAgICAgIGVuZCA9IGRlY29kZUVzY2FwZShjaGFyc2V0UGFydHNbaSArIDJdKTsKKyAgICAgICAgICBpICs9IDI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgZW5kID0gc3RhcnQ7CisgICAgICAgIH0KKyAgICAgICAgcmFuZ2VzLnB1c2goW3N0YXJ0LCBlbmRdKTsKKyAgICAgICAgLy8gSWYgdGhlIHJhbmdlIG1pZ2h0IGludGVyc2VjdCBsZXR0ZXJzLCB0aGVuIGV4cGFuZCBpdC4KKyAgICAgICAgaWYgKCEoZW5kIDwgNjUgfHwgc3RhcnQgPiAxMjIpKSB7CisgICAgICAgICAgaWYgKCEoZW5kIDwgNjUgfHwgc3RhcnQgPiA5MCkpIHsKKyAgICAgICAgICAgIHJhbmdlcy5wdXNoKFtNYXRoLm1heCg2NSwgc3RhcnQpIHwgMzIsIE1hdGgubWluKGVuZCwgOTApIHwgMzJdKTsKKyAgICAgICAgICB9CisgICAgICAgICAgaWYgKCEoZW5kIDwgOTcgfHwgc3RhcnQgPiAxMjIpKSB7CisgICAgICAgICAgICByYW5nZXMucHVzaChbTWF0aC5tYXgoOTcsIHN0YXJ0KSAmIH4zMiwgTWF0aC5taW4oZW5kLCAxMjIpICYgfjMyXSk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIFtbMSwgMTBdLCBbMywgNF0sIFs4LCAxMl0sIFsxNCwgMTRdLCBbMTYsIDE2XSwgWzE3LCAxN11dCisgICAgICAvLyAtPiBbWzEsIDEyXSwgWzE0LCAxNF0sIFsxNiwgMTddXQorICAgICAgcmFuZ2VzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIChhWzBdIC0gYlswXSkgfHwgKGJbMV0gIC0gYVsxXSk7IH0pOworICAgICAgdmFyIGNvbnNvbGlkYXRlZFJhbmdlcyA9IFtdOworICAgICAgdmFyIGxhc3RSYW5nZSA9IFtOYU4sIE5hTl07CisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgcmFuZ2UgPSByYW5nZXNbaV07CisgICAgICAgIGlmIChyYW5nZVswXSA8PSBsYXN0UmFuZ2VbMV0gKyAxKSB7CisgICAgICAgICAgbGFzdFJhbmdlWzFdID0gTWF0aC5tYXgobGFzdFJhbmdlWzFdLCByYW5nZVsxXSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgY29uc29saWRhdGVkUmFuZ2VzLnB1c2gobGFzdFJhbmdlID0gcmFuZ2UpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHZhciBvdXQgPSBbJ1snXTsKKyAgICAgIGlmIChpbnZlcnNlKSB7IG91dC5wdXNoKCdeJyk7IH0KKyAgICAgIG91dC5wdXNoLmFwcGx5KG91dCwgZ3JvdXBzKTsKKyAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uc29saWRhdGVkUmFuZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciByYW5nZSA9IGNvbnNvbGlkYXRlZFJhbmdlc1tpXTsKKyAgICAgICAgb3V0LnB1c2goZW5jb2RlRXNjYXBlKHJhbmdlWzBdKSk7CisgICAgICAgIGlmIChyYW5nZVsxXSA+IHJhbmdlWzBdKSB7CisgICAgICAgICAgaWYgKHJhbmdlWzFdICsgMSA+IHJhbmdlWzBdKSB7IG91dC5wdXNoKCctJyk7IH0KKyAgICAgICAgICBvdXQucHVzaChlbmNvZGVFc2NhcGUocmFuZ2VbMV0pKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgb3V0LnB1c2goJ10nKTsKKyAgICAgIHJldHVybiBvdXQuam9pbignJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYWxsb3dBbnl3aGVyZUZvbGRDYXNlQW5kUmVudW1iZXJHcm91cHMocmVnZXgpIHsKKyAgICAgIC8vIFNwbGl0IGludG8gY2hhcmFjdGVyIHNldHMsIGVzY2FwZSBzZXF1ZW5jZXMsIHB1bmN0dWF0aW9uIHN0cmluZ3MKKyAgICAgIC8vIGxpa2UgKCcoJywgJyg/OicsICcpJywgJ14nKSwgYW5kIHJ1bnMgb2YgY2hhcmFjdGVycyB0aGF0IGRvIG5vdAorICAgICAgLy8gaW5jbHVkZSBhbnkgb2YgdGhlIGFib3ZlLgorICAgICAgdmFyIHBhcnRzID0gcmVnZXguc291cmNlLm1hdGNoKAorICAgICAgICAgIG5ldyBSZWdFeHAoCisgICAgICAgICAgICAgICcoPzonCisgICAgICAgICAgICAgICsgJ1xcWyg/OlteXFx4NUNcXHg1RF18XFxcXFtcXHNcXFNdKSpcXF0nICAvLyBhIGNoYXJhY3RlciBzZXQKKyAgICAgICAgICAgICAgKyAnfFxcXFx1W0EtRmEtZjAtOV17NH0nICAvLyBhIHVuaWNvZGUgZXNjYXBlCisgICAgICAgICAgICAgICsgJ3xcXFxceFtBLUZhLWYwLTldezJ9JyAgLy8gYSBoZXggZXNjYXBlCisgICAgICAgICAgICAgICsgJ3xcXFxcWzAtOV0rJyAgLy8gYSBiYWNrLXJlZmVyZW5jZSBvciBvY3RhbCBlc2NhcGUKKyAgICAgICAgICAgICAgKyAnfFxcXFxbXnV4MC05XScgIC8vIG90aGVyIGVzY2FwZSBzZXF1ZW5jZQorICAgICAgICAgICAgICArICd8XFwoXFw/WzohPV0nICAvLyBzdGFydCBvZiBhIG5vbi1jYXB0dXJpbmcgZ3JvdXAKKyAgICAgICAgICAgICAgKyAnfFtcXChcXClcXF5dJyAgLy8gc3RhcnQvZW1kIG9mIGEgZ3JvdXAsIG9yIGxpbmUgc3RhcnQKKyAgICAgICAgICAgICAgKyAnfFteXFx4NUJcXHg1Q1xcKFxcKVxcXl0rJyAgLy8gcnVuIG9mIG90aGVyIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgKyAnKScsCisgICAgICAgICAgICAgICdnJykpOworICAgICAgdmFyIG4gPSBwYXJ0cy5sZW5ndGg7CisKKyAgICAgIC8vIE1hcHMgY2FwdHVyZWQgZ3JvdXAgbnVtYmVycyB0byB0aGUgbnVtYmVyIHRoZXkgd2lsbCBvY2N1cHkgaW4KKyAgICAgIC8vIHRoZSBvdXRwdXQgb3IgdG8gLTEgaWYgdGhhdCBoYXMgbm90IGJlZW4gZGV0ZXJtaW5lZCwgb3IgdG8KKyAgICAgIC8vIHVuZGVmaW5lZCBpZiB0aGV5IG5lZWQgbm90IGJlIGNhcHR1cmluZyBpbiB0aGUgb3V0cHV0LgorICAgICAgdmFyIGNhcHR1cmVkR3JvdXBzID0gW107CisKKyAgICAgIC8vIFdhbGsgb3ZlciBhbmQgaWRlbnRpZnkgYmFjayByZWZlcmVuY2VzIHRvIGJ1aWxkIHRoZSBjYXB0dXJlZEdyb3VwcworICAgICAgLy8gbWFwcGluZy4KKyAgICAgIGZvciAodmFyIGkgPSAwLCBncm91cEluZGV4ID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICB2YXIgcCA9IHBhcnRzW2ldOworICAgICAgICBpZiAocCA9PT0gJygnKSB7CisgICAgICAgICAgLy8gZ3JvdXBzIGFyZSAxLWluZGV4ZWQsIHNvIG1heCBncm91cCBpbmRleCBpcyBjb3VudCBvZiAnKCcKKyAgICAgICAgICArK2dyb3VwSW5kZXg7CisgICAgICAgIH0gZWxzZSBpZiAoJ1xcJyA9PT0gcC5jaGFyQXQoMCkpIHsKKyAgICAgICAgICB2YXIgZGVjaW1hbFZhbHVlID0gK3Auc3Vic3RyaW5nKDEpOworICAgICAgICAgIGlmIChkZWNpbWFsVmFsdWUgJiYgZGVjaW1hbFZhbHVlIDw9IGdyb3VwSW5kZXgpIHsKKyAgICAgICAgICAgIGNhcHR1cmVkR3JvdXBzW2RlY2ltYWxWYWx1ZV0gPSAtMTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gUmVudW1iZXIgZ3JvdXBzIGFuZCByZWR1Y2UgY2FwdHVyaW5nIGdyb3VwcyB0byBub24tY2FwdHVyaW5nIGdyb3VwcworICAgICAgLy8gd2hlcmUgcG9zc2libGUuCisgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGNhcHR1cmVkR3JvdXBzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmICgtMSA9PT0gY2FwdHVyZWRHcm91cHNbaV0pIHsKKyAgICAgICAgICBjYXB0dXJlZEdyb3Vwc1tpXSA9ICsrY2FwdHVyZWRHcm91cEluZGV4OworICAgICAgICB9CisgICAgICB9CisgICAgICBmb3IgKHZhciBpID0gMCwgZ3JvdXBJbmRleCA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgdmFyIHAgPSBwYXJ0c1tpXTsKKyAgICAgICAgaWYgKHAgPT09ICcoJykgeworICAgICAgICAgICsrZ3JvdXBJbmRleDsKKyAgICAgICAgICBpZiAoY2FwdHVyZWRHcm91cHNbZ3JvdXBJbmRleF0gPT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgcGFydHNbaV0gPSAnKD86JzsKKyAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoJ1xcJyA9PT0gcC5jaGFyQXQoMCkpIHsKKyAgICAgICAgICB2YXIgZGVjaW1hbFZhbHVlID0gK3Auc3Vic3RyaW5nKDEpOworICAgICAgICAgIGlmIChkZWNpbWFsVmFsdWUgJiYgZGVjaW1hbFZhbHVlIDw9IGdyb3VwSW5kZXgpIHsKKyAgICAgICAgICAgIHBhcnRzW2ldID0gJ1xcJyArIGNhcHR1cmVkR3JvdXBzW2dyb3VwSW5kZXhdOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBSZW1vdmUgYW55IHByZWZpeCBhbmNob3JzIHNvIHRoYXQgdGhlIG91dHB1dCB3aWxsIG1hdGNoIGFueXdoZXJlLgorICAgICAgLy8gXl4gcmVhbGx5IGRvZXMgbWVhbiBhbiBhbmNob3JlZCBtYXRjaCB0aG91Z2guCisgICAgICBmb3IgKHZhciBpID0gMCwgZ3JvdXBJbmRleCA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKCdeJyA9PT0gcGFydHNbaV0gJiYgJ14nICE9PSBwYXJ0c1tpICsgMV0pIHsgcGFydHNbaV0gPSAnJzsgfQorICAgICAgfQorCisgICAgICAvLyBFeHBhbmQgbGV0dGVycyB0byBncm91cHRzIHRvIGhhbmRsZSBtaXhpbmcgb2YgY2FzZS1zZW5zaXRpdmUgYW5kCisgICAgICAvLyBjYXNlLWluc2Vuc2l0aXZlIHBhdHRlcm5zIGlmIG5lY2Vzc2FyeS4KKyAgICAgIGlmIChyZWdleC5pZ25vcmVDYXNlICYmIG5lZWRUb0ZvbGRDYXNlKSB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgICAgdmFyIHAgPSBwYXJ0c1tpXTsKKyAgICAgICAgICB2YXIgY2gwID0gcC5jaGFyQXQoMCk7CisgICAgICAgICAgaWYgKHAubGVuZ3RoID49IDIgJiYgY2gwID09PSAnWycpIHsKKyAgICAgICAgICAgIHBhcnRzW2ldID0gY2FzZUZvbGRDaGFyc2V0KHApOworICAgICAgICAgIH0gZWxzZSBpZiAoY2gwICE9PSAnXFwnKSB7CisgICAgICAgICAgICAvLyBUT0RPOiBoYW5kbGUgbGV0dGVycyBpbiBudW1lcmljIGVzY2FwZXMuCisgICAgICAgICAgICBwYXJ0c1tpXSA9IHAucmVwbGFjZSgKKyAgICAgICAgICAgICAgICAvW2EtekEtWl0vZywKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiAoY2gpIHsKKyAgICAgICAgICAgICAgICAgIHZhciBjYyA9IGNoLmNoYXJDb2RlQXQoMCk7CisgICAgICAgICAgICAgICAgICByZXR1cm4gJ1snICsgU3RyaW5nLmZyb21DaGFyQ29kZShjYyAmIH4zMiwgY2MgfCAzMikgKyAnXSc7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHJldHVybiBwYXJ0cy5qb2luKCcnKTsKKyAgICB9CisKKyAgICB2YXIgcmV3cml0dGVuID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSByZWdleHMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICB2YXIgcmVnZXggPSByZWdleHNbaV07CisgICAgICBpZiAocmVnZXguZ2xvYmFsIHx8IHJlZ2V4Lm11bHRpbGluZSkgeyB0aHJvdyBuZXcgRXJyb3IoJycgKyByZWdleCk7IH0KKyAgICAgIHJld3JpdHRlbi5wdXNoKAorICAgICAgICAgICcoPzonICsgYWxsb3dBbnl3aGVyZUZvbGRDYXNlQW5kUmVudW1iZXJHcm91cHMocmVnZXgpICsgJyknKTsKKyAgICB9CisKKyAgICByZXR1cm4gbmV3IFJlZ0V4cChyZXdyaXR0ZW4uam9pbignfCcpLCBpZ25vcmVDYXNlID8gJ2dpJyA6ICdnJyk7CisgIH0KKworICB2YXIgUFJfaW5uZXJIdG1sV29ya3MgPSBudWxsOworICBmdW5jdGlvbiBnZXRJbm5lckh0bWwobm9kZSkgeworICAgIC8vIGlubmVyIGh0bWwgaXMgaG9wZWxlc3NseSBicm9rZW4gaW4gU2FmYXJpIDIuMC40IHdoZW4gdGhlIGNvbnRlbnQgaXMKKyAgICAvLyBhbiBodG1sIGRlc2NyaXB0aW9uIG9mIHdlbGwgZm9ybWVkIFhNTCBhbmQgdGhlIGNvbnRhaW5pbmcgdGFnIGlzIGEgUFJFCisgICAgLy8gdGFnLCBzbyB3ZSBkZXRlY3QgdGhhdCBjYXNlIGFuZCBlbXVsYXRlIGlubmVySFRNTC4KKyAgICBpZiAobnVsbCA9PT0gUFJfaW5uZXJIdG1sV29ya3MpIHsKKyAgICAgIHZhciB0ZXN0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ1BSRScpOworICAgICAgdGVzdE5vZGUuYXBwZW5kQ2hpbGQoCisgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJzwhRE9DVFlQRSBmb28gUFVCTElDICJmb28gYmFyIj5cbjxmb28gLz4nKSk7CisgICAgICBQUl9pbm5lckh0bWxXb3JrcyA9ICEvPC8udGVzdCh0ZXN0Tm9kZS5pbm5lckhUTUwpOworICAgIH0KKworICAgIGlmIChQUl9pbm5lckh0bWxXb3JrcykgeworICAgICAgdmFyIGNvbnRlbnQgPSBub2RlLmlubmVySFRNTDsKKyAgICAgIC8vIFhNUCB0YWdzIGNvbnRhaW4gdW5lc2NhcGVkIGVudGl0aWVzIHNvIHJlcXVpcmUgc3BlY2lhbCBoYW5kbGluZy4KKyAgICAgIGlmIChpc1Jhd0NvbnRlbnQobm9kZSkpIHsKKyAgICAgICAgY29udGVudCA9IHRleHRUb0h0bWwoY29udGVudCk7CisgICAgICB9IGVsc2UgaWYgKCFpc1ByZWZvcm1hdHRlZChub2RlLCBjb250ZW50KSkgeworICAgICAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC8oPGJyXHMqXC8/PilbXHJcbl0rL2csICckMScpCisgICAgICAgICAgICAucmVwbGFjZSgvKD86W1xyXG5dK1sgXHRdKikrL2csICcgJyk7CisgICAgICB9CisgICAgICByZXR1cm4gY29udGVudDsKKyAgICB9CisKKyAgICB2YXIgb3V0ID0gW107CisgICAgZm9yICh2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKSB7CisgICAgICBub3JtYWxpemVkSHRtbChjaGlsZCwgb3V0KTsKKyAgICB9CisgICAgcmV0dXJuIG91dC5qb2luKCcnKTsKKyAgfQorCisgIC8qKiByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBleHBhbmQgdGFicyB0byBzcGFjZXMuICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBmZWQKKyAgICAqIHN1Y2Nlc3NpdmUgY2h1bmtzIG9mIHRleHQsIGFuZCB3aWxsIG1haW50YWluIGl0cyBvd24gaW50ZXJuYWwgc3RhdGUgdG8KKyAgICAqIGtlZXAgdHJhY2sgb2YgaG93IHRhYnMgYXJlIGV4cGFuZGVkLgorICAgICogQHJldHVybiB7ZnVuY3Rpb24gKHN0cmluZykgOiBzdHJpbmd9IGEgZnVuY3Rpb24gdGhhdCB0YWtlcworICAgICogICBwbGFpbiB0ZXh0IGFuZCByZXR1cm4gdGhlIHRleHQgd2l0aCB0YWJzIGV4cGFuZGVkLgorICAgICogQHByaXZhdGUKKyAgICAqLworICBmdW5jdGlvbiBtYWtlVGFiRXhwYW5kZXIodGFiV2lkdGgpIHsKKyAgICB2YXIgU1BBQ0VTID0gJyAgICAgICAgICAgICAgICAnOworICAgIHZhciBjaGFySW5MaW5lID0gMDsKKworICAgIHJldHVybiBmdW5jdGlvbiAocGxhaW5UZXh0KSB7CisgICAgICAvLyB3YWxrIG92ZXIgZWFjaCBjaGFyYWN0ZXIgbG9va2luZyBmb3IgdGFicyBhbmQgbmV3bGluZXMuCisgICAgICAvLyBPbiB0YWJzLCBleHBhbmQgdGhlbS4gIE9uIG5ld2xpbmVzLCByZXNldCBjaGFySW5MaW5lLgorICAgICAgLy8gT3RoZXJ3aXNlIGluY3JlbWVudCBjaGFySW5MaW5lCisgICAgICB2YXIgb3V0ID0gbnVsbDsKKyAgICAgIHZhciBwb3MgPSAwOworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBwbGFpblRleHQubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBjaCA9IHBsYWluVGV4dC5jaGFyQXQoaSk7CisKKyAgICAgICAgc3dpdGNoIChjaCkgeworICAgICAgICAgIGNhc2UgJ1x0JzoKKyAgICAgICAgICAgIGlmICghb3V0KSB7IG91dCA9IFtdOyB9CisgICAgICAgICAgICBvdXQucHVzaChwbGFpblRleHQuc3Vic3RyaW5nKHBvcywgaSkpOworICAgICAgICAgICAgLy8gY2FsY3VsYXRlIGhvdyBtdWNoIHNwYWNlIHdlIG5lZWQgaW4gZnJvbnQgb2YgdGhpcyBwYXJ0CisgICAgICAgICAgICAvLyBuU3BhY2VzIGlzIHRoZSBhbW91bnQgb2YgcGFkZGluZyAtLSB0aGUgbnVtYmVyIG9mIHNwYWNlcyBuZWVkZWQKKyAgICAgICAgICAgIC8vIHRvIG1vdmUgdXMgdG8gdGhlIG5leHQgY29sdW1uLCB3aGVyZSBjb2x1bW5zIG9jY3VyIGF0IGZhY3RvcnMgb2YKKyAgICAgICAgICAgIC8vIHRhYldpZHRoLgorICAgICAgICAgICAgdmFyIG5TcGFjZXMgPSB0YWJXaWR0aCAtIChjaGFySW5MaW5lICUgdGFiV2lkdGgpOworICAgICAgICAgICAgY2hhckluTGluZSArPSBuU3BhY2VzOworICAgICAgICAgICAgZm9yICg7IG5TcGFjZXMgPj0gMDsgblNwYWNlcyAtPSBTUEFDRVMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIG91dC5wdXNoKFNQQUNFUy5zdWJzdHJpbmcoMCwgblNwYWNlcykpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcG9zID0gaSArIDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlICdcbic6CisgICAgICAgICAgICBjaGFySW5MaW5lID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICArK2NoYXJJbkxpbmU7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGlmICghb3V0KSB7IHJldHVybiBwbGFpblRleHQ7IH0KKyAgICAgIG91dC5wdXNoKHBsYWluVGV4dC5zdWJzdHJpbmcocG9zKSk7CisgICAgICByZXR1cm4gb3V0LmpvaW4oJycpOworICAgIH07CisgIH0KKworICB2YXIgcHJfY2h1bmtQYXR0ZXJuID0gbmV3IFJlZ0V4cCgKKyAgICAgICdbXjxdKycgIC8vIEEgcnVuIG9mIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiAnPCcKKyAgICAgICsgJ3w8XCEtLVtcXHNcXFNdKj8tLVw+JyAgLy8gYW4gSFRNTCBjb21tZW50CisgICAgICArICd8PCFcXFtDREFUQVxcW1tcXHNcXFNdKj9cXF1cXF0+JyAgLy8gYSBDREFUQSBzZWN0aW9uCisgICAgICAvLyBhIHByb2JhYmxlIHRhZyB0aGF0IHNob3VsZCBub3QgYmUgaGlnaGxpZ2h0ZWQKKyAgICAgICsgJ3w8XC8/W2EtekEtWl0oPzpbXj5cIlwnXXxcJ1teXCddKlwnfFwiW15cIl0qXCIpKj4nCisgICAgICArICd8PCcsICAvLyBBICc8JyB0aGF0IGRvZXMgbm90IGJlZ2luIGEgbGFyZ2VyIGNodW5rCisgICAgICAnZycpOworICB2YXIgcHJfY29tbWVudFByZWZpeCA9IC9ePFwhLS0vOworICB2YXIgcHJfY2RhdGFQcmVmaXggPSAvXjwhXFtDREFUQVxbLzsKKyAgdmFyIHByX2JyUHJlZml4ID0gL148YnJcYi9pOworICB2YXIgcHJfdGFnTmFtZVJlID0gL148KFwvPykoW2EtekEtWl1bYS16QS1aMC05XSopLzsKKworICAvKiogc3BsaXQgbWFya3VwIGludG8gY2h1bmtzIG9mIGh0bWwgdGFncyAoc3R5bGUgbnVsbCkgYW5kCisgICAgKiBwbGFpbiB0ZXh0IChzdHlsZSB7QGxpbmsgI1BSX1BMQUlOfSksIGNvbnZlcnRpbmcgdGFncyB3aGljaCBhcmUKKyAgICAqIHNpZ25pZmljYW50IGZvciB0b2tlbml6YXRpb24gKDxicj4pIGludG8gdGhlaXIgdGV4dHVhbCBlcXVpdmFsZW50LgorICAgICoKKyAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIGh0bWwgd2hlcmUgd2hpdGVzcGFjZSBpcyBjb25zaWRlcmVkIHNpZ25pZmljYW50LgorICAgICogQHJldHVybiB7T2JqZWN0fSBzb3VyY2UgY29kZSBhbmQgZXh0cmFjdGVkIHRhZ3MuCisgICAgKiBAcHJpdmF0ZQorICAgICovCisgIGZ1bmN0aW9uIGV4dHJhY3RUYWdzKHMpIHsKKyAgICAvLyBzaW5jZSB0aGUgcGF0dGVybiBoYXMgdGhlICdnJyBtb2RpZmllciBhbmQgZGVmaW5lcyBubyBjYXB0dXJpbmcgZ3JvdXBzLAorICAgIC8vIHRoaXMgd2lsbCByZXR1cm4gYSBsaXN0IG9mIGFsbCBjaHVua3Mgd2hpY2ggd2UgdGhlbiBjbGFzc2lmeSBhbmQgd3JhcCBhcworICAgIC8vIFBSX1Rva2VucworICAgIHZhciBtYXRjaGVzID0gcy5tYXRjaChwcl9jaHVua1BhdHRlcm4pOworICAgIHZhciBzb3VyY2VCdWYgPSBbXTsKKyAgICB2YXIgc291cmNlQnVmTGVuID0gMDsKKyAgICB2YXIgZXh0cmFjdGVkVGFncyA9IFtdOworICAgIGlmIChtYXRjaGVzKSB7CisgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IG1hdGNoZXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBtYXRjaCA9IG1hdGNoZXNbaV07CisgICAgICAgIGlmIChtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoLmNoYXJBdCgwKSA9PT0gJzwnKSB7CisgICAgICAgICAgaWYgKHByX2NvbW1lbnRQcmVmaXgudGVzdChtYXRjaCkpIHsgY29udGludWU7IH0KKyAgICAgICAgICBpZiAocHJfY2RhdGFQcmVmaXgudGVzdChtYXRjaCkpIHsKKyAgICAgICAgICAgIC8vIHN0cmlwIENEQVRBIHByZWZpeCBhbmQgc3VmZml4LiAgRG9uJ3QgdW5lc2NhcGUgc2luY2UgaXQncyBDREFUQQorICAgICAgICAgICAgc291cmNlQnVmLnB1c2gobWF0Y2guc3Vic3RyaW5nKDksIG1hdGNoLmxlbmd0aCAtIDMpKTsKKyAgICAgICAgICAgIHNvdXJjZUJ1ZkxlbiArPSBtYXRjaC5sZW5ndGggLSAxMjsKKyAgICAgICAgICB9IGVsc2UgaWYgKHByX2JyUHJlZml4LnRlc3QobWF0Y2gpKSB7CisgICAgICAgICAgICAvLyA8YnI+IHRhZ3MgYXJlIGxleGljYWxseSBzaWduaWZpY2FudCBzbyBjb252ZXJ0IHRoZW0gdG8gdGV4dC4KKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdW5kb25lIGxhdGVyLgorICAgICAgICAgICAgc291cmNlQnVmLnB1c2goJ1xuJyk7CisgICAgICAgICAgICArK3NvdXJjZUJ1ZkxlbjsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKG1hdGNoLmluZGV4T2YoUFJfTk9DT0RFKSA+PSAwICYmIGlzTm9Db2RlVGFnKG1hdGNoKSkgeworICAgICAgICAgICAgICAvLyBBIDxzcGFuIGNsYXNzPSJub2NvZGUiPiB3aWxsIHN0YXJ0IGEgc2VjdGlvbiB0aGF0IHNob3VsZCBiZQorICAgICAgICAgICAgICAvLyBpZ25vcmVkLiAgQ29udGludWUgd2Fsa2luZyB0aGUgbGlzdCB1bnRpbCB3ZSBzZWUgYSBtYXRjaGluZyBlbmQKKyAgICAgICAgICAgICAgLy8gdGFnLgorICAgICAgICAgICAgICB2YXIgbmFtZSA9IG1hdGNoLm1hdGNoKHByX3RhZ05hbWVSZSlbMl07CisgICAgICAgICAgICAgIHZhciBkZXB0aCA9IDE7CisgICAgICAgICAgICAgIHZhciBqOworICAgICAgICAgICAgICBlbmRfdGFnX2xvb3A6CisgICAgICAgICAgICAgIGZvciAoaiA9IGkgKyAxOyBqIDwgbjsgKytqKSB7CisgICAgICAgICAgICAgICAgdmFyIG5hbWUyID0gbWF0Y2hlc1tqXS5tYXRjaChwcl90YWdOYW1lUmUpOworICAgICAgICAgICAgICAgIGlmIChuYW1lMiAmJiBuYW1lMlsyXSA9PT0gbmFtZSkgeworICAgICAgICAgICAgICAgICAgaWYgKG5hbWUyWzFdID09PSAnLycpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKC0tZGVwdGggPT09IDApIHsgYnJlYWsgZW5kX3RhZ19sb29wOyB9CisgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICArK2RlcHRoOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBpZiAoaiA8IG4pIHsKKyAgICAgICAgICAgICAgICBleHRyYWN0ZWRUYWdzLnB1c2goCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJ1ZkxlbiwgbWF0Y2hlcy5zbGljZShpLCBqICsgMSkuam9pbignJykpOworICAgICAgICAgICAgICAgIGkgPSBqOworICAgICAgICAgICAgICB9IGVsc2UgeyAgLy8gSWdub3JlIHVuY2xvc2VkIHNlY3Rpb25zLgorICAgICAgICAgICAgICAgIGV4dHJhY3RlZFRhZ3MucHVzaChzb3VyY2VCdWZMZW4sIG1hdGNoKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgZXh0cmFjdGVkVGFncy5wdXNoKHNvdXJjZUJ1ZkxlbiwgbWF0Y2gpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB2YXIgbGl0ZXJhbFRleHQgPSBodG1sVG9UZXh0KG1hdGNoKTsKKyAgICAgICAgICBzb3VyY2VCdWYucHVzaChsaXRlcmFsVGV4dCk7CisgICAgICAgICAgc291cmNlQnVmTGVuICs9IGxpdGVyYWxUZXh0Lmxlbmd0aDsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgICByZXR1cm4geyBzb3VyY2U6IHNvdXJjZUJ1Zi5qb2luKCcnKSwgdGFnczogZXh0cmFjdGVkVGFncyB9OworICB9CisKKyAgLyoqIFRydWUgaWYgdGhlIGdpdmVuIHRhZyBjb250YWlucyBhIGNsYXNzIGF0dHJpYnV0ZSB3aXRoIHRoZSBub2NvZGUgY2xhc3MuICovCisgIGZ1bmN0aW9uIGlzTm9Db2RlVGFnKHRhZykgeworICAgIHJldHVybiAhIXRhZworICAgICAgICAvLyBGaXJzdCBjYW5vbmljYWxpemUgdGhlIHJlcHJlc2VudGF0aW9uIG9mIGF0dHJpYnV0ZXMKKyAgICAgICAgLnJlcGxhY2UoL1xzKFx3Kylccyo9XHMqKD86XCIoW15cIl0qKVwifCcoW15cJ10qKSd8KFxTKykpL2csCisgICAgICAgICAgICAgICAgICcgJDE9IiQyJDMkNCInKQorICAgICAgICAvLyBUaGVuIGxvb2sgZm9yIHRoZSBhdHRyaWJ1dGUgd2Ugd2FudC4KKyAgICAgICAgLm1hdGNoKC9bY0NdW2xMXVthQV1bc1NdW3NTXT1cIlteXCJdKlxibm9jb2RlXGIvKTsKKyAgfQorCisgIC8qKgorICAgKiBBcHBseSB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgaGFuZGxlciB0byBzb3VyY2VDb2RlIGFuZCBhZGQgdGhlIHJlc3VsdGluZworICAgKiBkZWNvcmF0aW9ucyB0byBvdXQuCisgICAqIEBwYXJhbSB7bnVtYmVyfSBiYXNlUG9zIHRoZSBpbmRleCBvZiBzb3VyY2VDb2RlIHdpdGhpbiB0aGUgY2h1bmsgb2Ygc291cmNlCisgICAqICAgIHdob3NlIGRlY29yYXRpb25zIGFyZSBhbHJlYWR5IHByZXNlbnQgb24gb3V0LgorICAgKi8KKyAgZnVuY3Rpb24gYXBwZW5kRGVjb3JhdGlvbnMoYmFzZVBvcywgc291cmNlQ29kZSwgbGFuZ0hhbmRsZXIsIG91dCkgeworICAgIGlmICghc291cmNlQ29kZSkgeyByZXR1cm47IH0KKyAgICB2YXIgam9iID0geworICAgICAgc291cmNlOiBzb3VyY2VDb2RlLAorICAgICAgYmFzZVBvczogYmFzZVBvcworICAgIH07CisgICAgbGFuZ0hhbmRsZXIoam9iKTsKKyAgICBvdXQucHVzaC5hcHBseShvdXQsIGpvYi5kZWNvcmF0aW9ucyk7CisgIH0KKworICAvKiogR2l2ZW4gdHJpcGxlcyBvZiBbc3R5bGUsIHBhdHRlcm4sIGNvbnRleHRdIHJldHVybnMgYSBsZXhpbmcgZnVuY3Rpb24sCisgICAgKiBUaGUgbGV4aW5nIGZ1bmN0aW9uIGludGVycHJldHMgdGhlIHBhdHRlcm5zIHRvIGZpbmQgdG9rZW4gYm91bmRhcmllcyBhbmQKKyAgICAqIHJldHVybnMgYSBkZWNvcmF0aW9uIGxpc3Qgb2YgdGhlIGZvcm0KKyAgICAqIFtpbmRleF8wLCBzdHlsZV8wLCBpbmRleF8xLCBzdHlsZV8xLCAuLi4sIGluZGV4X24sIHN0eWxlX25dCisgICAgKiB3aGVyZSBpbmRleF9uIGlzIGFuIGluZGV4IGludG8gdGhlIHNvdXJjZUNvZGUsIGFuZCBzdHlsZV9uIGlzIGEgc3R5bGUKKyAgICAqIGNvbnN0YW50IGxpa2UgUFJfUExBSU4uICBpbmRleF9uLTEgPD0gaW5kZXhfbiwgYW5kIHN0eWxlX24tMSBhcHBsaWVzIHRvCisgICAgKiBhbGwgY2hhcmFjdGVycyBpbiBzb3VyY2VDb2RlW2luZGV4X24tMTppbmRleF9uXS4KKyAgICAqCisgICAgKiBUaGUgc3R5bGVQYXR0ZXJucyBpcyBhIGxpc3Qgd2hvc2UgZWxlbWVudHMgaGF2ZSB0aGUgZm9ybQorICAgICogW3N0eWxlIDogc3RyaW5nLCBwYXR0ZXJuIDogUmVnRXhwLCBERVBSRUNBVEVELCBzaG9ydGN1dCA6IHN0cmluZ10uCisgICAgKgorICAgICogU3R5bGUgaXMgYSBzdHlsZSBjb25zdGFudCBsaWtlIFBSX1BMQUlOLCBvciBjYW4gYmUgYSBzdHJpbmcgb2YgdGhlCisgICAgKiBmb3JtICdsYW5nLUZPTycsIHdoZXJlIEZPTyBpcyBhIGxhbmd1YWdlIGV4dGVuc2lvbiBkZXNjcmliaW5nIHRoZQorICAgICogbGFuZ3VhZ2Ugb2YgdGhlIHBvcnRpb24gb2YgdGhlIHRva2VuIGluICQxIGFmdGVyIHBhdHRlcm4gZXhlY3V0ZXMuCisgICAgKiBFLmcuLCBpZiBzdHlsZSBpcyAnbGFuZy1saXNwJywgYW5kIGdyb3VwIDEgY29udGFpbnMgdGhlIHRleHQKKyAgICAqICcoaGVsbG8gKHdvcmxkKSknLCB0aGVuIHRoYXQgcG9ydGlvbiBvZiB0aGUgdG9rZW4gd2lsbCBiZSBwYXNzZWQgdG8gdGhlCisgICAgKiByZWdpc3RlcmVkIGxpc3AgaGFuZGxlciBmb3IgZm9ybWF0dGluZy4KKyAgICAqIFRoZSB0ZXh0IGJlZm9yZSBhbmQgYWZ0ZXIgZ3JvdXAgMSB3aWxsIGJlIHJlc3R5bGVkIHVzaW5nIHRoaXMgZGVjb3JhdG9yCisgICAgKiBzbyBkZWNvcmF0b3JzIHNob3VsZCB0YWtlIGNhcmUgdGhhdCB0aGlzIGRvZXNuJ3QgcmVzdWx0IGluIGluZmluaXRlCisgICAgKiByZWN1cnNpb24uICBGb3IgZXhhbXBsZSwgdGhlIEhUTUwgbGV4ZXIgcnVsZSBmb3IgU0NSSVBUIGVsZW1lbnRzIGxvb2tzCisgICAgKiBzb21ldGhpbmcgbGlrZSBbJ2xhbmctanMnLCAvPFtzXWNyaXB0PiguKz8pPFwvc2NyaXB0Pi9dLiAgVGhpcyBtYXkgbWF0Y2gKKyAgICAqICc8c2NyaXB0PmZvbygpPFwvc2NyaXB0PicsIHdoaWNoIHdvdWxkIGNhdXNlIHRoZSBjdXJyZW50IGRlY29yYXRvciB0bworICAgICogYmUgY2FsbGVkIHdpdGggJzxzY3JpcHQ+JyB3aGljaCB3b3VsZCBub3QgbWF0Y2ggdGhlIHNhbWUgcnVsZSBzaW5jZQorICAgICogZ3JvdXAgMSBtdXN0IG5vdCBiZSBlbXB0eSwgc28gaXQgd291bGQgYmUgaW5zdGVhZCBzdHlsZWQgYXMgUFJfVEFHIGJ5CisgICAgKiB0aGUgZ2VuZXJpYyB0YWcgcnVsZS4gIFRoZSBoYW5kbGVyIHJlZ2lzdGVyZWQgZm9yIHRoZSAnanMnIGV4dGVuc2lvbiB3b3VsZAorICAgICogdGhlbiBiZSBjYWxsZWQgd2l0aCAnZm9vKCknLCBhbmQgZmluYWxseSwgdGhlIGN1cnJlbnQgZGVjb3JhdG9yIHdvdWxkCisgICAgKiBiZSBjYWxsZWQgd2l0aCAnPFwvc2NyaXB0Picgd2hpY2ggd291bGQgbm90IG1hdGNoIHRoZSBvcmlnaW5hbCBydWxlIGFuZAorICAgICogc28gdGhlIGdlbmVyaWMgdGFnIHJ1bGUgd291bGQgaWRlbnRpZnkgaXQgYXMgYSB0YWcuCisgICAgKgorICAgICogUGF0dGVybiBtdXN0IG9ubHkgbWF0Y2ggcHJlZml4ZXMsIGFuZCBpZiBpdCBtYXRjaGVzIGEgcHJlZml4LCB0aGVuIHRoYXQKKyAgICAqIG1hdGNoIGlzIGNvbnNpZGVyZWQgYSB0b2tlbiB3aXRoIHRoZSBzYW1lIHN0eWxlLgorICAgICoKKyAgICAqIENvbnRleHQgaXMgYXBwbGllZCB0byB0aGUgbGFzdCBub24td2hpdGVzcGFjZSwgbm9uLWNvbW1lbnQgdG9rZW4KKyAgICAqIHJlY29nbml6ZWQuCisgICAgKgorICAgICogU2hvcnRjdXQgaXMgYW4gb3B0aW9uYWwgc3RyaW5nIG9mIGNoYXJhY3RlcnMsIGFueSBvZiB3aGljaCwgaWYgdGhlIGZpcnN0CisgICAgKiBjaGFyYWN0ZXIsIGd1cmFudGVlIHRoYXQgdGhpcyBwYXR0ZXJuIGFuZCBvbmx5IHRoaXMgcGF0dGVybiBtYXRjaGVzLgorICAgICoKKyAgICAqIEBwYXJhbSB7QXJyYXl9IHNob3J0Y3V0U3R5bGVQYXR0ZXJucyBwYXR0ZXJucyB0aGF0IGFsd2F5cyBzdGFydCB3aXRoCisgICAgKiAgIGEga25vd24gY2hhcmFjdGVyLiAgTXVzdCBoYXZlIGEgc2hvcnRjdXQgc3RyaW5nLgorICAgICogQHBhcmFtIHtBcnJheX0gZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zIHBhdHRlcm5zIHRoYXQgd2lsbCBiZSB0cmllZCBpbgorICAgICogICBvcmRlciBpZiB0aGUgc2hvcnRjdXQgb25lcyBmYWlsLiAgTWF5IGhhdmUgc2hvcnRjdXRzLgorICAgICoKKyAgICAqIEByZXR1cm4ge2Z1bmN0aW9uIChPYmplY3QpfSBhCisgICAgKiAgIGZ1bmN0aW9uIHRoYXQgdGFrZXMgc291cmNlIGNvZGUgYW5kIHJldHVybnMgYSBsaXN0IG9mIGRlY29yYXRpb25zLgorICAgICovCisgIGZ1bmN0aW9uIGNyZWF0ZVNpbXBsZUxleGVyKHNob3J0Y3V0U3R5bGVQYXR0ZXJucywgZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zKSB7CisgICAgdmFyIHNob3J0Y3V0cyA9IHt9OworICAgIHZhciB0b2tlbml6ZXI7CisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgIHZhciBhbGxQYXR0ZXJucyA9IHNob3J0Y3V0U3R5bGVQYXR0ZXJucy5jb25jYXQoZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zKTsKKyAgICAgIHZhciBhbGxSZWdleHMgPSBbXTsKKyAgICAgIHZhciByZWdleEtleXMgPSB7fTsKKyAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gYWxsUGF0dGVybnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBwYXR0ZXJuUGFydHMgPSBhbGxQYXR0ZXJuc1tpXTsKKyAgICAgICAgdmFyIHNob3J0Y3V0Q2hhcnMgPSBwYXR0ZXJuUGFydHNbM107CisgICAgICAgIGlmIChzaG9ydGN1dENoYXJzKSB7CisgICAgICAgICAgZm9yICh2YXIgYyA9IHNob3J0Y3V0Q2hhcnMubGVuZ3RoOyAtLWMgPj0gMDspIHsKKyAgICAgICAgICAgIHNob3J0Y3V0c1tzaG9ydGN1dENoYXJzLmNoYXJBdChjKV0gPSBwYXR0ZXJuUGFydHM7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHZhciByZWdleCA9IHBhdHRlcm5QYXJ0c1sxXTsKKyAgICAgICAgdmFyIGsgPSAnJyArIHJlZ2V4OworICAgICAgICBpZiAoIXJlZ2V4S2V5cy5oYXNPd25Qcm9wZXJ0eShrKSkgeworICAgICAgICAgIGFsbFJlZ2V4cy5wdXNoKHJlZ2V4KTsKKyAgICAgICAgICByZWdleEtleXNba10gPSBudWxsOworICAgICAgICB9CisgICAgICB9CisgICAgICBhbGxSZWdleHMucHVzaCgvW1wwLVx1ZmZmZl0vKTsKKyAgICAgIHRva2VuaXplciA9IGNvbWJpbmVQcmVmaXhQYXR0ZXJucyhhbGxSZWdleHMpOworICAgIH0pKCk7CisKKyAgICB2YXIgblBhdHRlcm5zID0gZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zLmxlbmd0aDsKKyAgICB2YXIgbm90V3MgPSAvXFMvOworCisgICAgLyoqCisgICAgICogTGV4ZXMgam9iLnNvdXJjZSBhbmQgcHJvZHVjZXMgYW4gb3V0cHV0IGFycmF5IGpvYi5kZWNvcmF0aW9ucyBvZiBzdHlsZQorICAgICAqIGNsYXNzZXMgcHJlY2VkZWQgYnkgdGhlIHBvc2l0aW9uIGF0IHdoaWNoIHRoZXkgc3RhcnQgaW4gam9iLnNvdXJjZSBpbgorICAgICAqIG9yZGVyLgorICAgICAqCisgICAgICogQHBhcmFtIHtPYmplY3R9IGpvYiBhbiBvYmplY3QgbGlrZSB7QGNvZGUKKyAgICAgKiAgICBzb3VyY2U6IHtzdHJpbmd9IHNvdXJjZVRleHQgcGxhaW4gdGV4dCwKKyAgICAgKiAgICBiYXNlUG9zOiB7aW50fSBwb3NpdGlvbiBvZiBqb2Iuc291cmNlIGluIHRoZSBsYXJnZXIgY2h1bmsgb2YKKyAgICAgKiAgICAgICAgc291cmNlQ29kZS4KKyAgICAgKiB9CisgICAgICovCisgICAgdmFyIGRlY29yYXRlID0gZnVuY3Rpb24gKGpvYikgeworICAgICAgdmFyIHNvdXJjZUNvZGUgPSBqb2Iuc291cmNlLCBiYXNlUG9zID0gam9iLmJhc2VQb3M7CisgICAgICAvKiogRXZlbiBlbnRyaWVzIGFyZSBwb3NpdGlvbnMgaW4gc291cmNlIGluIGFzY2VuZGluZyBvcmRlci4gIE9kZCBlbnRpZXMKKyAgICAgICAgKiBhcmUgc3R5bGUgbWFya2VycyAoZS5nLiwgUFJfQ09NTUVOVCkgdGhhdCBydW4gZnJvbSB0aGF0IHBvc2l0aW9uIHVudGlsCisgICAgICAgICogdGhlIGVuZC4KKyAgICAgICAgKiBAdHlwZSB7QXJyYXkuPG51bWJlcnxzdHJpbmc+fQorICAgICAgICAqLworICAgICAgdmFyIGRlY29yYXRpb25zID0gW2Jhc2VQb3MsIFBSX1BMQUlOXTsKKyAgICAgIHZhciBwb3MgPSAwOyAgLy8gaW5kZXggaW50byBzb3VyY2VDb2RlCisgICAgICB2YXIgdG9rZW5zID0gc291cmNlQ29kZS5tYXRjaCh0b2tlbml6ZXIpIHx8IFtdOworICAgICAgdmFyIHN0eWxlQ2FjaGUgPSB7fTsKKworICAgICAgZm9yICh2YXIgdGkgPSAwLCBuVG9rZW5zID0gdG9rZW5zLmxlbmd0aDsgdGkgPCBuVG9rZW5zOyArK3RpKSB7CisgICAgICAgIHZhciB0b2tlbiA9IHRva2Vuc1t0aV07CisgICAgICAgIHZhciBzdHlsZSA9IHN0eWxlQ2FjaGVbdG9rZW5dOworICAgICAgICB2YXIgbWF0Y2ggPSB2b2lkIDA7CisKKyAgICAgICAgdmFyIGlzRW1iZWRkZWQ7CisgICAgICAgIGlmICh0eXBlb2Ygc3R5bGUgPT09ICdzdHJpbmcnKSB7CisgICAgICAgICAgaXNFbWJlZGRlZCA9IGZhbHNlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciBwYXR0ZXJuUGFydHMgPSBzaG9ydGN1dHNbdG9rZW4uY2hhckF0KDApXTsKKyAgICAgICAgICBpZiAocGF0dGVyblBhcnRzKSB7CisgICAgICAgICAgICBtYXRjaCA9IHRva2VuLm1hdGNoKHBhdHRlcm5QYXJ0c1sxXSk7CisgICAgICAgICAgICBzdHlsZSA9IHBhdHRlcm5QYXJ0c1swXTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuUGF0dGVybnM7ICsraSkgeworICAgICAgICAgICAgICBwYXR0ZXJuUGFydHMgPSBmYWxsdGhyb3VnaFN0eWxlUGF0dGVybnNbaV07CisgICAgICAgICAgICAgIG1hdGNoID0gdG9rZW4ubWF0Y2gocGF0dGVyblBhcnRzWzFdKTsKKyAgICAgICAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICAgICAgc3R5bGUgPSBwYXR0ZXJuUGFydHNbMF07CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFtYXRjaCkgeyAgLy8gbWFrZSBzdXJlIHRoYXQgd2UgbWFrZSBwcm9ncmVzcworICAgICAgICAgICAgICBzdHlsZSA9IFBSX1BMQUlOOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKworICAgICAgICAgIGlzRW1iZWRkZWQgPSBzdHlsZS5sZW5ndGggPj0gNSAmJiAnbGFuZy0nID09PSBzdHlsZS5zdWJzdHJpbmcoMCwgNSk7CisgICAgICAgICAgaWYgKGlzRW1iZWRkZWQgJiYgIShtYXRjaCAmJiB0eXBlb2YgbWF0Y2hbMV0gPT09ICdzdHJpbmcnKSkgeworICAgICAgICAgICAgaXNFbWJlZGRlZCA9IGZhbHNlOworICAgICAgICAgICAgc3R5bGUgPSBQUl9TT1VSQ0U7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKCFpc0VtYmVkZGVkKSB7IHN0eWxlQ2FjaGVbdG9rZW5dID0gc3R5bGU7IH0KKyAgICAgICAgfQorCisgICAgICAgIHZhciB0b2tlblN0YXJ0ID0gcG9zOworICAgICAgICBwb3MgKz0gdG9rZW4ubGVuZ3RoOworCisgICAgICAgIGlmICghaXNFbWJlZGRlZCkgeworICAgICAgICAgIGRlY29yYXRpb25zLnB1c2goYmFzZVBvcyArIHRva2VuU3RhcnQsIHN0eWxlKTsKKyAgICAgICAgfSBlbHNlIHsgIC8vIFRyZWF0IGdyb3VwIDEgYXMgYW4gZW1iZWRkZWQgYmxvY2sgb2Ygc291cmNlIGNvZGUuCisgICAgICAgICAgdmFyIGVtYmVkZGVkU291cmNlID0gbWF0Y2hbMV07CisgICAgICAgICAgdmFyIGVtYmVkZGVkU291cmNlU3RhcnQgPSB0b2tlbi5pbmRleE9mKGVtYmVkZGVkU291cmNlKTsKKyAgICAgICAgICB2YXIgZW1iZWRkZWRTb3VyY2VFbmQgPSBlbWJlZGRlZFNvdXJjZVN0YXJ0ICsgZW1iZWRkZWRTb3VyY2UubGVuZ3RoOworICAgICAgICAgIGlmIChtYXRjaFsyXSkgeworICAgICAgICAgICAgLy8gSWYgZW1iZWRkZWRTb3VyY2UgY2FuIGJlIGJsYW5rLCB0aGVuIGl0IHdvdWxkIG1hdGNoIGF0IHRoZQorICAgICAgICAgICAgLy8gYmVnaW5uaW5nIHdoaWNoIHdvdWxkIGNhdXNlIHVzIHRvIGluZmluaXRlbHkgcmVjdXJzZSBvbiB0aGUKKyAgICAgICAgICAgIC8vIGVudGlyZSB0b2tlbiwgc28gd2UgY2F0Y2ggdGhlIHJpZ2h0IGNvbnRleHQgaW4gbWF0Y2hbMl0uCisgICAgICAgICAgICBlbWJlZGRlZFNvdXJjZUVuZCA9IHRva2VuLmxlbmd0aCAtIG1hdGNoWzJdLmxlbmd0aDsKKyAgICAgICAgICAgIGVtYmVkZGVkU291cmNlU3RhcnQgPSBlbWJlZGRlZFNvdXJjZUVuZCAtIGVtYmVkZGVkU291cmNlLmxlbmd0aDsKKyAgICAgICAgICB9CisgICAgICAgICAgdmFyIGxhbmcgPSBzdHlsZS5zdWJzdHJpbmcoNSk7CisgICAgICAgICAgLy8gRGVjb3JhdGUgdGhlIGxlZnQgb2YgdGhlIGVtYmVkZGVkIHNvdXJjZQorICAgICAgICAgIGFwcGVuZERlY29yYXRpb25zKAorICAgICAgICAgICAgICBiYXNlUG9zICsgdG9rZW5TdGFydCwKKyAgICAgICAgICAgICAgdG9rZW4uc3Vic3RyaW5nKDAsIGVtYmVkZGVkU291cmNlU3RhcnQpLAorICAgICAgICAgICAgICBkZWNvcmF0ZSwgZGVjb3JhdGlvbnMpOworICAgICAgICAgIC8vIERlY29yYXRlIHRoZSBlbWJlZGRlZCBzb3VyY2UKKyAgICAgICAgICBhcHBlbmREZWNvcmF0aW9ucygKKyAgICAgICAgICAgICAgYmFzZVBvcyArIHRva2VuU3RhcnQgKyBlbWJlZGRlZFNvdXJjZVN0YXJ0LAorICAgICAgICAgICAgICBlbWJlZGRlZFNvdXJjZSwKKyAgICAgICAgICAgICAgbGFuZ0hhbmRsZXJGb3JFeHRlbnNpb24obGFuZywgZW1iZWRkZWRTb3VyY2UpLAorICAgICAgICAgICAgICBkZWNvcmF0aW9ucyk7CisgICAgICAgICAgLy8gRGVjb3JhdGUgdGhlIHJpZ2h0IG9mIHRoZSBlbWJlZGRlZCBzZWN0aW9uCisgICAgICAgICAgYXBwZW5kRGVjb3JhdGlvbnMoCisgICAgICAgICAgICAgIGJhc2VQb3MgKyB0b2tlblN0YXJ0ICsgZW1iZWRkZWRTb3VyY2VFbmQsCisgICAgICAgICAgICAgIHRva2VuLnN1YnN0cmluZyhlbWJlZGRlZFNvdXJjZUVuZCksCisgICAgICAgICAgICAgIGRlY29yYXRlLCBkZWNvcmF0aW9ucyk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGpvYi5kZWNvcmF0aW9ucyA9IGRlY29yYXRpb25zOworICAgIH07CisgICAgcmV0dXJuIGRlY29yYXRlOworICB9CisKKyAgLyoqIHJldHVybnMgYSBmdW5jdGlvbiB0aGF0IHByb2R1Y2VzIGEgbGlzdCBvZiBkZWNvcmF0aW9ucyBmcm9tIHNvdXJjZSB0ZXh0LgorICAgICoKKyAgICAqIFRoaXMgY29kZSB0cmVhdHMgIiwgJywgYW5kIGAgYXMgc3RyaW5nIGRlbGltaXRlcnMsIGFuZCBcIGFzIGEgc3RyaW5nCisgICAgKiBlc2NhcGUuICBJdCBkb2VzIG5vdCByZWNvZ25pemUgcGVybCdzIHFxKCkgc3R5bGUgc3RyaW5ncy4KKyAgICAqIEl0IGhhcyBubyBzcGVjaWFsIGhhbmRsaW5nIGZvciBkb3VibGUgZGVsaW1pdGVyIGVzY2FwZXMgYXMgaW4gYmFzaWMsIG9yCisgICAgKiB0aGUgdHJpcGxlZCBkZWxpbWl0ZXJzIHVzZWQgaW4gcHl0aG9uLCBidXQgc2hvdWxkIHdvcmsgb24gdGhvc2UgcmVnYXJkbGVzcworICAgICogYWx0aG91Z2ggaW4gdGhvc2UgY2FzZXMgYSBzaW5nbGUgc3RyaW5nIGxpdGVyYWwgbWF5IGJlIGJyb2tlbiB1cCBpbnRvCisgICAgKiBtdWx0aXBsZSBhZGphY2VudCBzdHJpbmcgbGl0ZXJhbHMuCisgICAgKgorICAgICogSXQgcmVjb2duaXplcyBDLCBDKyssIGFuZCBzaGVsbCBzdHlsZSBjb21tZW50cy4KKyAgICAqCisgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBhIHNldCBvZiBvcHRpb25hbCBwYXJhbWV0ZXJzLgorICAgICogQHJldHVybiB7ZnVuY3Rpb24gKE9iamVjdCl9IGEgZnVuY3Rpb24gdGhhdCBleGFtaW5lcyB0aGUgc291cmNlIGNvZGUKKyAgICAqICAgICBpbiB0aGUgaW5wdXQgam9iIGFuZCBidWlsZHMgdGhlIGRlY29yYXRpb24gbGlzdC4KKyAgICAqLworICBmdW5jdGlvbiBzb3VyY2VEZWNvcmF0b3Iob3B0aW9ucykgeworICAgIHZhciBzaG9ydGN1dFN0eWxlUGF0dGVybnMgPSBbXSwgZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zID0gW107CisgICAgaWYgKG9wdGlvbnNbJ3RyaXBsZVF1b3RlZFN0cmluZ3MnXSkgeworICAgICAgLy8gJycnbXVsdGktbGluZS1zdHJpbmcnJycsICdzaW5nbGUtbGluZS1zdHJpbmcnLCBhbmQgZG91YmxlLXF1b3RlZAorICAgICAgc2hvcnRjdXRTdHlsZVBhdHRlcm5zLnB1c2goCisgICAgICAgICAgW1BSX1NUUklORywgIC9eKD86XCdcJ1wnKD86W15cJ1xcXXxcXFtcc1xTXXxcJ3sxLDJ9KD89W15cJ10pKSooPzpcJ1wnXCd8JCl8XCJcIlwiKD86W15cIlxcXXxcXFtcc1xTXXxcInsxLDJ9KD89W15cIl0pKSooPzpcIlwiXCJ8JCl8XCcoPzpbXlxcXCddfFxcW1xzXFNdKSooPzpcJ3wkKXxcIig/OlteXFxcIl18XFxbXHNcU10pKig/OlwifCQpKS8sCisgICAgICAgICAgIG51bGwsICdcJyInXSk7CisgICAgfSBlbHNlIGlmIChvcHRpb25zWydtdWx0aUxpbmVTdHJpbmdzJ10pIHsKKyAgICAgIC8vICdtdWx0aS1saW5lLXN0cmluZycsICJtdWx0aS1saW5lLXN0cmluZyIKKyAgICAgIHNob3J0Y3V0U3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAgIFtQUl9TVFJJTkcsICAvXig/OlwnKD86W15cXFwnXXxcXFtcc1xTXSkqKD86XCd8JCl8XCIoPzpbXlxcXCJdfFxcW1xzXFNdKSooPzpcInwkKXxcYCg/OlteXFxcYF18XFxbXHNcU10pKig/OlxgfCQpKS8sCisgICAgICAgICAgIG51bGwsICdcJyJgJ10pOworICAgIH0gZWxzZSB7CisgICAgICAvLyAnc2luZ2xlLWxpbmUtc3RyaW5nJywgInNpbmdsZS1saW5lLXN0cmluZyIKKyAgICAgIHNob3J0Y3V0U3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAgIFtQUl9TVFJJTkcsCisgICAgICAgICAgIC9eKD86XCcoPzpbXlxcXCdcclxuXXxcXC4pKig/OlwnfCQpfFwiKD86W15cXFwiXHJcbl18XFwuKSooPzpcInwkKSkvLAorICAgICAgICAgICBudWxsLCAnIlwnJ10pOworICAgIH0KKyAgICBpZiAob3B0aW9uc1sndmVyYmF0aW1TdHJpbmdzJ10pIHsKKyAgICAgIC8vIHZlcmJhdGltLXN0cmluZy1saXRlcmFsIHByb2R1Y3Rpb24gZnJvbSB0aGUgQyMgZ3JhbW1hci4gIFNlZSBpc3N1ZSA5My4KKyAgICAgIGZhbGx0aHJvdWdoU3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAgIFtQUl9TVFJJTkcsIC9eQFwiKD86W15cIl18XCJcIikqKD86XCJ8JCkvLCBudWxsXSk7CisgICAgfQorICAgIGlmIChvcHRpb25zWydoYXNoQ29tbWVudHMnXSkgeworICAgICAgaWYgKG9wdGlvbnNbJ2NTdHlsZUNvbW1lbnRzJ10pIHsKKyAgICAgICAgLy8gU3RvcCBDIHByZXByb2Nlc3NvciBkZWNsYXJhdGlvbnMgYXQgYW4gdW5jbG9zZWQgb3BlbiBjb21tZW50CisgICAgICAgIHNob3J0Y3V0U3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAgICAgW1BSX0NPTU1FTlQsIC9eIyg/Oig/OmRlZmluZXxlbGlmfGVsc2V8ZW5kaWZ8ZXJyb3J8aWZkZWZ8aW5jbHVkZXxpZm5kZWZ8bGluZXxwcmFnbWF8dW5kZWZ8d2FybmluZylcYnxbXlxyXG5dKikvLAorICAgICAgICAgICAgIG51bGwsICcjJ10pOworICAgICAgICBmYWxsdGhyb3VnaFN0eWxlUGF0dGVybnMucHVzaCgKKyAgICAgICAgICAgIFtQUl9TVFJJTkcsCisgICAgICAgICAgICAgL148KD86KD86KD86XC5cLlwvKSp8XC8/KSg/Oltcdy1dKyg/OlwvW1x3LV0rKSspP1tcdy1dK1wuaHxbYS16XVx3Kik+LywKKyAgICAgICAgICAgICBudWxsXSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBzaG9ydGN1dFN0eWxlUGF0dGVybnMucHVzaChbUFJfQ09NTUVOVCwgL14jW15cclxuXSovLCBudWxsLCAnIyddKTsKKyAgICAgIH0KKyAgICB9CisgICAgaWYgKG9wdGlvbnNbJ2NTdHlsZUNvbW1lbnRzJ10pIHsKKyAgICAgIGZhbGx0aHJvdWdoU3R5bGVQYXR0ZXJucy5wdXNoKFtQUl9DT01NRU5ULCAvXlwvXC9bXlxyXG5dKi8sIG51bGxdKTsKKyAgICAgIGZhbGx0aHJvdWdoU3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAgIFtQUl9DT01NRU5ULCAvXlwvXCpbXHNcU10qPyg/OlwqXC98JCkvLCBudWxsXSk7CisgICAgfQorICAgIGlmIChvcHRpb25zWydyZWdleExpdGVyYWxzJ10pIHsKKyAgICAgIHZhciBSRUdFWF9MSVRFUkFMID0gKAorICAgICAgICAgIC8vIEEgcmVndWxhciBleHByZXNzaW9uIGxpdGVyYWwgc3RhcnRzIHdpdGggYSBzbGFzaCB0aGF0IGlzCisgICAgICAgICAgLy8gbm90IGZvbGxvd2VkIGJ5ICogb3IgLyBzbyB0aGF0IGl0IGlzIG5vdCBjb25mdXNlZCB3aXRoCisgICAgICAgICAgLy8gY29tbWVudHMuCisgICAgICAgICAgJy8oPz1bXi8qXSknCisgICAgICAgICAgLy8gYW5kIHRoZW4gY29udGFpbnMgYW55IG51bWJlciBvZiByYXcgY2hhcmFjdGVycywKKyAgICAgICAgICArICcoPzpbXi9cXHg1QlxceDVDXScKKyAgICAgICAgICAvLyBlc2NhcGUgc2VxdWVuY2VzIChceDVDKSwKKyAgICAgICAgICArICAgICd8XFx4NUNbXFxzXFxTXScKKyAgICAgICAgICAvLyBvciBub24tbmVzdGluZyBjaGFyYWN0ZXIgc2V0cyAoXHg1Qlx4NUQpOworICAgICAgICAgICsgICAgJ3xcXHg1Qig/OlteXFx4NUNcXHg1RF18XFx4NUNbXFxzXFxTXSkqKD86XFx4NUR8JCkpKycKKyAgICAgICAgICAvLyBmaW5hbGx5IGNsb3NlZCBieSBhIC8uCisgICAgICAgICAgKyAnLycpOworICAgICAgZmFsbHRocm91Z2hTdHlsZVBhdHRlcm5zLnB1c2goCisgICAgICAgICAgWydsYW5nLXJlZ2V4JywKKyAgICAgICAgICAgbmV3IFJlZ0V4cCgnXicgKyBSRUdFWFBfUFJFQ0VERVJfUEFUVEVSTiArICcoJyArIFJFR0VYX0xJVEVSQUwgKyAnKScpCisgICAgICAgICAgIF0pOworICAgIH0KKworICAgIHZhciBrZXl3b3JkcyA9IG9wdGlvbnNbJ2tleXdvcmRzJ10ucmVwbGFjZSgvXlxzK3xccyskL2csICcnKTsKKyAgICBpZiAoa2V5d29yZHMubGVuZ3RoKSB7CisgICAgICBmYWxsdGhyb3VnaFN0eWxlUGF0dGVybnMucHVzaCgKKyAgICAgICAgICBbUFJfS0VZV09SRCwKKyAgICAgICAgICAgbmV3IFJlZ0V4cCgnXig/OicgKyBrZXl3b3Jkcy5yZXBsYWNlKC9ccysvZywgJ3wnKSArICcpXFxiJyksIG51bGxdKTsKKyAgICB9CisKKyAgICBzaG9ydGN1dFN0eWxlUGF0dGVybnMucHVzaChbUFJfUExBSU4sICAgICAgIC9eXHMrLywgbnVsbCwgJyBcclxuXHRceEEwJ10pOworICAgIGZhbGx0aHJvdWdoU3R5bGVQYXR0ZXJucy5wdXNoKAorICAgICAgICAvLyBUT0RPKG1pa2VzYW11ZWwpOiByZWNvZ25pemUgbm9uLWxhdGluIGxldHRlcnMgYW5kIG51bWVyYWxzIGluIGlkZW50cworICAgICAgICBbUFJfTElURVJBTCwgICAgIC9eQFthLXpfJF1bYS16XyRAMC05XSovaSwgbnVsbF0sCisgICAgICAgIFtQUl9UWVBFLCAgICAgICAgL15AP1tBLVpdK1thLXpdW0EtWmEtel8kQDAtOV0qLywgbnVsbF0sCisgICAgICAgIFtQUl9QTEFJTiwgICAgICAgL15bYS16XyRdW2Etel8kQDAtOV0qL2ksIG51bGxdLAorICAgICAgICBbUFJfTElURVJBTCwKKyAgICAgICAgIG5ldyBSZWdFeHAoCisgICAgICAgICAgICAgJ14oPzonCisgICAgICAgICAgICAgLy8gQSBoZXggbnVtYmVyCisgICAgICAgICAgICAgKyAnMHhbYS1mMC05XSsnCisgICAgICAgICAgICAgLy8gb3IgYW4gb2N0YWwgb3IgZGVjaW1hbCBudW1iZXIsCisgICAgICAgICAgICAgKyAnfCg/OlxcZCg/Ol9cXGQrKSpcXGQqKD86XFwuXFxkKik/fFxcLlxcZFxcKyknCisgICAgICAgICAgICAgLy8gcG9zc2libHkgaW4gc2NpZW50aWZpYyBub3RhdGlvbgorICAgICAgICAgICAgICsgJyg/OmVbK1xcLV0/XFxkKyk/JworICAgICAgICAgICAgICsgJyknCisgICAgICAgICAgICAgLy8gd2l0aCBhbiBvcHRpb25hbCBtb2RpZmllciBsaWtlIFVMIGZvciB1bnNpZ25lZCBsb25nCisgICAgICAgICAgICAgKyAnW2Etel0qJywgJ2knKSwKKyAgICAgICAgIG51bGwsICcwMTIzNDU2Nzg5J10sCisgICAgICAgIFtQUl9QVU5DVFVBVElPTiwgL14uW15cc1x3XC4kQFwnXCJcYFwvXCNdKi8sIG51bGxdKTsKKworICAgIHJldHVybiBjcmVhdGVTaW1wbGVMZXhlcihzaG9ydGN1dFN0eWxlUGF0dGVybnMsIGZhbGx0aHJvdWdoU3R5bGVQYXR0ZXJucyk7CisgIH0KKworICB2YXIgZGVjb3JhdGVTb3VyY2UgPSBzb3VyY2VEZWNvcmF0b3IoeworICAgICAgICAna2V5d29yZHMnOiBBTExfS0VZV09SRFMsCisgICAgICAgICdoYXNoQ29tbWVudHMnOiB0cnVlLAorICAgICAgICAnY1N0eWxlQ29tbWVudHMnOiB0cnVlLAorICAgICAgICAnbXVsdGlMaW5lU3RyaW5ncyc6IHRydWUsCisgICAgICAgICdyZWdleExpdGVyYWxzJzogdHJ1ZQorICAgICAgfSk7CisKKyAgLyoqIEJyZWFrcyB7QGNvZGUgam9iLnNvdXJjZX0gYXJvdW5kIHN0eWxlIGJvdW5kYXJpZXMgaW4KKyAgICAqIHtAY29kZSBqb2IuZGVjb3JhdGlvbnN9IHdoaWxlIHJlLWludGVybGVhdmluZyB7QGNvZGUgam9iLmV4dHJhY3RlZFRhZ3N9LAorICAgICogYW5kIGxlYXZlcyB0aGUgcmVzdWx0IGluIHtAY29kZSBqb2IucHJldHR5UHJpbnRlZEh0bWx9LgorICAgICogQHBhcmFtIHtPYmplY3R9IGpvYiBsaWtlIHsKKyAgICAqICAgIHNvdXJjZToge3N0cmluZ30gc291cmNlIGFzIHBsYWluIHRleHQsCisgICAgKiAgICBleHRyYWN0ZWRUYWdzOiB7QXJyYXkuPG51bWJlcnxzdHJpbmc+fSBleHRyYWN0ZWRUYWdzIGNodW5rcyBvZiByYXcKKyAgICAqICAgICAgICAgICAgICAgICAgIGh0bWwgcHJlY2VkZWQgYnkgdGhlaXIgcG9zaXRpb24gaW4ge0Bjb2RlIGpvYi5zb3VyY2V9CisgICAgKiAgICAgICAgICAgICAgICAgICBpbiBvcmRlcgorICAgICogICAgZGVjb3JhdGlvbnM6IHtBcnJheS48bnVtYmVyfHN0cmluZ30gYW4gYXJyYXkgb2Ygc3R5bGUgY2xhc3NlcyBwcmVjZWRlZAorICAgICogICAgICAgICAgICAgICAgIGJ5IHRoZSBwb3NpdGlvbiBhdCB3aGljaCB0aGV5IHN0YXJ0IGluIGpvYi5zb3VyY2UgaW4gb3JkZXIKKyAgICAqIH0KKyAgICAqIEBwcml2YXRlCisgICAgKi8KKyAgZnVuY3Rpb24gcmVjb21iaW5lVGFnc0FuZERlY29yYXRpb25zKGpvYikgeworICAgIHZhciBzb3VyY2VUZXh0ID0gam9iLnNvdXJjZTsKKyAgICB2YXIgZXh0cmFjdGVkVGFncyA9IGpvYi5leHRyYWN0ZWRUYWdzOworICAgIHZhciBkZWNvcmF0aW9ucyA9IGpvYi5kZWNvcmF0aW9uczsKKworICAgIHZhciBodG1sID0gW107CisgICAgLy8gaW5kZXggcGFzdCB0aGUgbGFzdCBjaGFyIGluIHNvdXJjZVRleHQgd3JpdHRlbiB0byBodG1sCisgICAgdmFyIG91dHB1dElkeCA9IDA7CisKKyAgICB2YXIgb3BlbkRlY29yYXRpb24gPSBudWxsOworICAgIHZhciBjdXJyZW50RGVjb3JhdGlvbiA9IG51bGw7CisgICAgdmFyIHRhZ1BvcyA9IDA7ICAvLyBpbmRleCBpbnRvIGV4dHJhY3RlZFRhZ3MKKyAgICB2YXIgZGVjUG9zID0gMDsgIC8vIGluZGV4IGludG8gZGVjb3JhdGlvbnMKKyAgICB2YXIgdGFiRXhwYW5kZXIgPSBtYWtlVGFiRXhwYW5kZXIod2luZG93WydQUl9UQUJfV0lEVEgnXSk7CisKKyAgICB2YXIgYWRqYWNlbnRTcGFjZVJlID0gLyhbXHJcbiBdKSAvZzsKKyAgICB2YXIgc3RhcnRPclNwYWNlUmUgPSAvKF58ICkgL2dtOworICAgIHZhciBuZXdsaW5lUmUgPSAvXHJcbj98XG4vZzsKKyAgICB2YXIgdHJhaWxpbmdTcGFjZVJlID0gL1sgXHJcbl0kLzsKKyAgICB2YXIgbGFzdFdhc1NwYWNlID0gdHJ1ZTsgIC8vIHRoZSBsYXN0IHRleHQgY2h1bmsgZW1pdHRlZCBlbmRlZCB3aXRoIGEgc3BhY2UuCisKKyAgICAvLyBBIGhlbHBlciBmdW5jdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBvcGVuaW5nIHNlY3Rpb25zIG9mIGRlY29yYXRpb24KKyAgICAvLyBhbmQgb3V0cHV0aW5nIHByb3Blcmx5IGVzY2FwZWQgY2h1bmtzIG9mIHNvdXJjZQorICAgIGZ1bmN0aW9uIGVtaXRUZXh0VXBUbyhzb3VyY2VJZHgpIHsKKyAgICAgIGlmIChzb3VyY2VJZHggPiBvdXRwdXRJZHgpIHsKKyAgICAgICAgaWYgKG9wZW5EZWNvcmF0aW9uICYmIG9wZW5EZWNvcmF0aW9uICE9PSBjdXJyZW50RGVjb3JhdGlvbikgeworICAgICAgICAgIC8vIENsb3NlIHRoZSBjdXJyZW50IGRlY29yYXRpb24KKyAgICAgICAgICBodG1sLnB1c2goJzwvc3Bhbj4nKTsKKyAgICAgICAgICBvcGVuRGVjb3JhdGlvbiA9IG51bGw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFvcGVuRGVjb3JhdGlvbiAmJiBjdXJyZW50RGVjb3JhdGlvbikgeworICAgICAgICAgIG9wZW5EZWNvcmF0aW9uID0gY3VycmVudERlY29yYXRpb247CisgICAgICAgICAgaHRtbC5wdXNoKCc8c3BhbiBjbGFzcz0iJywgb3BlbkRlY29yYXRpb24sICciPicpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgaW50ZXJhY3RzIGJhZGx5IHdpdGggc29tZSB3aWtpcyB3aGljaCBpbnRyb2R1Y2VzIHBhcmFncmFwaCB0YWdzCisgICAgICAgIC8vIGludG8gcHJlIGJsb2NrcyBmb3Igc29tZSBzdHJhbmdlIHJlYXNvbi4KKyAgICAgICAgLy8gSXQncyBuZWNlc3NhcnkgZm9yIElFIHRob3VnaCB3aGljaCBzZWVtcyB0byBsb3NlIHRoZSBwcmVmb3JtYXR0ZWRuZXNzCisgICAgICAgIC8vIG9mIDxwcmU+IHRhZ3Mgd2hlbiB0aGVpciBpbm5lckhUTUwgaXMgYXNzaWduZWQuCisgICAgICAgIC8vIGh0dHA6Ly9zdHVkMy50dXdpZW4uYWMuYXQvfmUwMjI2NDMwL2lubmVySHRtbFF1aXJrLmh0bWwKKyAgICAgICAgLy8gYW5kIGl0IHNlcnZlcyB0byB1bmRvIHRoZSBjb252ZXJzaW9uIG9mIDxicj5zIHRvIG5ld2xpbmVzIGRvbmUgaW4KKyAgICAgICAgLy8gY2h1bmtpZnkuCisgICAgICAgIHZhciBodG1sQ2h1bmsgPSB0ZXh0VG9IdG1sKAorICAgICAgICAgICAgdGFiRXhwYW5kZXIoc291cmNlVGV4dC5zdWJzdHJpbmcob3V0cHV0SWR4LCBzb3VyY2VJZHgpKSkKKyAgICAgICAgICAgIC5yZXBsYWNlKGxhc3RXYXNTcGFjZQorICAgICAgICAgICAgICAgICAgICAgPyBzdGFydE9yU3BhY2VSZQorICAgICAgICAgICAgICAgICAgICAgOiBhZGphY2VudFNwYWNlUmUsICckMSZuYnNwOycpOworICAgICAgICAvLyBLZWVwIHRyYWNrIG9mIHdoZXRoZXIgd2UgbmVlZCB0byBlc2NhcGUgc3BhY2UgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAgICAgICAgLy8gbmV4dCBjaHVuay4KKyAgICAgICAgbGFzdFdhc1NwYWNlID0gdHJhaWxpbmdTcGFjZVJlLnRlc3QoaHRtbENodW5rKTsKKyAgICAgICAgLy8gSUUgY29sbGFwc2VzIG11bHRpcGxlIGFkamFjaWVudCA8YnI+cyBpbnRvIDEgbGluZSBicmVhay4KKyAgICAgICAgLy8gUHJlZml4IGV2ZXJ5IDxicj4gd2l0aCAnJm5ic3A7JyBjYW4gcHJldmVudCBzdWNoIElFJ3MgYmVoYXZpb3IuCisgICAgICAgIHZhciBsaW5lQnJlYWtIdG1sID0gd2luZG93WydfcHJfaXNJRTYnXSgpID8gJyZuYnNwOzxiciAvPicgOiAnPGJyIC8+JzsKKyAgICAgICAgaHRtbC5wdXNoKGh0bWxDaHVuay5yZXBsYWNlKG5ld2xpbmVSZSwgbGluZUJyZWFrSHRtbCkpOworICAgICAgICBvdXRwdXRJZHggPSBzb3VyY2VJZHg7CisgICAgICB9CisgICAgfQorCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgIC8vIERldGVybWluZSBpZiB3ZSdyZSBnb2luZyB0byBjb25zdW1lIGEgdGFnIHRoaXMgdGltZSBhcm91bmQuICBPdGhlcndpc2UKKyAgICAgIC8vIHdlIGNvbnN1bWUgYSBkZWNvcmF0aW9uIG9yIGV4aXQuCisgICAgICB2YXIgb3V0cHV0VGFnOworICAgICAgaWYgKHRhZ1BvcyA8IGV4dHJhY3RlZFRhZ3MubGVuZ3RoKSB7CisgICAgICAgIGlmIChkZWNQb3MgPCBkZWNvcmF0aW9ucy5sZW5ndGgpIHsKKyAgICAgICAgICAvLyBQaWNrIG9uZSBnaXZpbmcgcHJlZmVyZW5jZSB0byBleHRyYWN0ZWRUYWdzIHNpbmNlIHdlIHNob3VsZG4ndCBvcGVuCisgICAgICAgICAgLy8gYSBuZXcgc3R5bGUgdGhhdCB3ZSdyZSBnb2luZyB0byBoYXZlIHRvIGltbWVkaWF0ZWx5IGNsb3NlIGluIG9yZGVyCisgICAgICAgICAgLy8gdG8gb3V0cHV0IGEgdGFnLgorICAgICAgICAgIG91dHB1dFRhZyA9IGV4dHJhY3RlZFRhZ3NbdGFnUG9zXSA8PSBkZWNvcmF0aW9uc1tkZWNQb3NdOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIG91dHB1dFRhZyA9IHRydWU7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG91dHB1dFRhZyA9IGZhbHNlOworICAgICAgfQorICAgICAgLy8gQ29uc3VtZSBlaXRoZXIgYSBkZWNvcmF0aW9uIG9yIGEgdGFnIG9yIGV4aXQuCisgICAgICBpZiAob3V0cHV0VGFnKSB7CisgICAgICAgIGVtaXRUZXh0VXBUbyhleHRyYWN0ZWRUYWdzW3RhZ1Bvc10pOworICAgICAgICBpZiAob3BlbkRlY29yYXRpb24pIHsKKyAgICAgICAgICAvLyBDbG9zZSB0aGUgY3VycmVudCBkZWNvcmF0aW9uCisgICAgICAgICAgaHRtbC5wdXNoKCc8L3NwYW4+Jyk7CisgICAgICAgICAgb3BlbkRlY29yYXRpb24gPSBudWxsOworICAgICAgICB9CisgICAgICAgIGh0bWwucHVzaChleHRyYWN0ZWRUYWdzW3RhZ1BvcyArIDFdKTsKKyAgICAgICAgdGFnUG9zICs9IDI7CisgICAgICB9IGVsc2UgaWYgKGRlY1BvcyA8IGRlY29yYXRpb25zLmxlbmd0aCkgeworICAgICAgICBlbWl0VGV4dFVwVG8oZGVjb3JhdGlvbnNbZGVjUG9zXSk7CisgICAgICAgIGN1cnJlbnREZWNvcmF0aW9uID0gZGVjb3JhdGlvbnNbZGVjUG9zICsgMV07CisgICAgICAgIGRlY1BvcyArPSAyOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICAgIGVtaXRUZXh0VXBUbyhzb3VyY2VUZXh0Lmxlbmd0aCk7CisgICAgaWYgKG9wZW5EZWNvcmF0aW9uKSB7CisgICAgICBodG1sLnB1c2goJzwvc3Bhbj4nKTsKKyAgICB9CisgICAgam9iLnByZXR0eVByaW50ZWRIdG1sID0gaHRtbC5qb2luKCcnKTsKKyAgfQorCisgIC8qKiBNYXBzIGxhbmd1YWdlLXNwZWNpZmljIGZpbGUgZXh0ZW5zaW9ucyB0byBoYW5kbGVycy4gKi8KKyAgdmFyIGxhbmdIYW5kbGVyUmVnaXN0cnkgPSB7fTsKKyAgLyoqIFJlZ2lzdGVyIGEgbGFuZ3VhZ2UgaGFuZGxlciBmb3IgdGhlIGdpdmVuIGZpbGUgZXh0ZW5zaW9ucy4KKyAgICAqIEBwYXJhbSB7ZnVuY3Rpb24gKE9iamVjdCl9IGhhbmRsZXIgYSBmdW5jdGlvbiBmcm9tIHNvdXJjZSBjb2RlIHRvIGEgbGlzdAorICAgICogICAgICBvZiBkZWNvcmF0aW9ucy4gIFRha2VzIGEgc2luZ2xlIGFyZ3VtZW50IGpvYiB3aGljaCBkZXNjcmliZXMgdGhlCisgICAgKiAgICAgIHN0YXRlIG9mIHRoZSBjb21wdXRhdGlvbi4gICBUaGUgc2luZ2xlIHBhcmFtZXRlciBoYXMgdGhlIGZvcm0KKyAgICAqICAgICAge0Bjb2RlIHsKKyAgICAqICAgICAgICBzb3VyY2U6IHtzdHJpbmd9IGFzIHBsYWluIHRleHQuCisgICAgKiAgICAgICAgZGVjb3JhdGlvbnM6IHtBcnJheS48bnVtYmVyfHN0cmluZz59IGFuIGFycmF5IG9mIHN0eWxlIGNsYXNzZXMKKyAgICAqICAgICAgICAgICAgICAgICAgICAgcHJlY2VkZWQgYnkgdGhlIHBvc2l0aW9uIGF0IHdoaWNoIHRoZXkgc3RhcnQgaW4KKyAgICAqICAgICAgICAgICAgICAgICAgICAgam9iLnNvdXJjZSBpbiBvcmRlci4KKyAgICAqICAgICAgICAgICAgICAgICAgICAgVGhlIGxhbmd1YWdlIGhhbmRsZXIgc2hvdWxkIGFzc2lnbmVkIHRoaXMgZmllbGQuCisgICAgKiAgICAgICAgYmFzZVBvczoge2ludH0gdGhlIHBvc2l0aW9uIG9mIHNvdXJjZSBpbiB0aGUgbGFyZ2VyIHNvdXJjZSBjaHVuay4KKyAgICAqICAgICAgICAgICAgICAgICBBbGwgcG9zaXRpb25zIGluIHRoZSBvdXRwdXQgZGVjb3JhdGlvbnMgYXJyYXkgYXJlIHJlbGF0aXZlCisgICAgKiAgICAgICAgICAgICAgICAgdG8gdGhlIGxhcmdlciBzb3VyY2UgY2h1bmsuCisgICAgKiAgICAgIH0gfQorICAgICogQHBhcmFtIHtBcnJheS48c3RyaW5nPn0gZmlsZUV4dGVuc2lvbnMKKyAgICAqLworICBmdW5jdGlvbiByZWdpc3RlckxhbmdIYW5kbGVyKGhhbmRsZXIsIGZpbGVFeHRlbnNpb25zKSB7CisgICAgZm9yICh2YXIgaSA9IGZpbGVFeHRlbnNpb25zLmxlbmd0aDsgLS1pID49IDA7KSB7CisgICAgICB2YXIgZXh0ID0gZmlsZUV4dGVuc2lvbnNbaV07CisgICAgICBpZiAoIWxhbmdIYW5kbGVyUmVnaXN0cnkuaGFzT3duUHJvcGVydHkoZXh0KSkgeworICAgICAgICBsYW5nSGFuZGxlclJlZ2lzdHJ5W2V4dF0gPSBoYW5kbGVyOworICAgICAgfSBlbHNlIGlmICgnY29uc29sZScgaW4gd2luZG93KSB7CisgICAgICAgIGNvbnNvbGUud2FybignY2Fubm90IG92ZXJyaWRlIGxhbmd1YWdlIGhhbmRsZXIgJXMnLCBleHQpOworICAgICAgfQorICAgIH0KKyAgfQorICBmdW5jdGlvbiBsYW5nSGFuZGxlckZvckV4dGVuc2lvbihleHRlbnNpb24sIHNvdXJjZSkgeworICAgIGlmICghKGV4dGVuc2lvbiAmJiBsYW5nSGFuZGxlclJlZ2lzdHJ5Lmhhc093blByb3BlcnR5KGV4dGVuc2lvbikpKSB7CisgICAgICAvLyBUcmVhdCBpdCBhcyBtYXJrdXAgaWYgdGhlIGZpcnN0IG5vbiB3aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBhIDwgYW5kCisgICAgICAvLyB0aGUgbGFzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgYSA+LgorICAgICAgZXh0ZW5zaW9uID0gL15ccyo8Ly50ZXN0KHNvdXJjZSkKKyAgICAgICAgICA/ICdkZWZhdWx0LW1hcmt1cCcKKyAgICAgICAgICA6ICdkZWZhdWx0LWNvZGUnOworICAgIH0KKyAgICByZXR1cm4gbGFuZ0hhbmRsZXJSZWdpc3RyeVtleHRlbnNpb25dOworICB9CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoZGVjb3JhdGVTb3VyY2UsIFsnZGVmYXVsdC1jb2RlJ10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKAorICAgICAgY3JlYXRlU2ltcGxlTGV4ZXIoCisgICAgICAgICAgW10sCisgICAgICAgICAgWworICAgICAgICAgICBbUFJfUExBSU4sICAgICAgIC9eW148P10rL10sCisgICAgICAgICAgIFtQUl9ERUNMQVJBVElPTiwgL148IVx3W14+XSooPzo+fCQpL10sCisgICAgICAgICAgIFtQUl9DT01NRU5ULCAgICAgL148XCEtLVtcc1xTXSo/KD86LVwtPnwkKS9dLAorICAgICAgICAgICAvLyBVbmVzY2FwZWQgY29udGVudCBpbiBhbiB1bmtub3duIGxhbmd1YWdlCisgICAgICAgICAgIFsnbGFuZy0nLCAgICAgICAgL148XD8oW1xzXFNdKz8pKD86XD8+fCQpL10sCisgICAgICAgICAgIFsnbGFuZy0nLCAgICAgICAgL148JShbXHNcU10rPykoPzolPnwkKS9dLAorICAgICAgICAgICBbUFJfUFVOQ1RVQVRJT04sIC9eKD86PFslP118WyU/XT4pL10sCisgICAgICAgICAgIFsnbGFuZy0nLCAgICAgICAgL148eG1wXGJbXj5dKj4oW1xzXFNdKz8pPFwveG1wXGJbXj5dKj4vaV0sCisgICAgICAgICAgIC8vIFVuZXNjYXBlZCBjb250ZW50IGluIGphdmFzY3JpcHQuICAoT3IgcG9zc2libHkgdmJzY3JpcHQpLgorICAgICAgICAgICBbJ2xhbmctanMnLCAgICAgIC9ePHNjcmlwdFxiW14+XSo+KFtcc1xTXSo/KSg8XC9zY3JpcHRcYltePl0qPikvaV0sCisgICAgICAgICAgIC8vIENvbnRhaW5zIHVuZXNjYXBlZCBzdHlsZXNoZWV0IGNvbnRlbnQKKyAgICAgICAgICAgWydsYW5nLWNzcycsICAgICAvXjxzdHlsZVxiW14+XSo+KFtcc1xTXSo/KSg8XC9zdHlsZVxiW14+XSo+KS9pXSwKKyAgICAgICAgICAgWydsYW5nLWluLnRhZycsICAvXig8XC8/W2Etel1bXjw+XSo+KS9pXQorICAgICAgICAgIF0pLAorICAgICAgWydkZWZhdWx0LW1hcmt1cCcsICdodG0nLCAnaHRtbCcsICdteG1sJywgJ3hodG1sJywgJ3htbCcsICd4c2wnXSk7CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoCisgICAgICBjcmVhdGVTaW1wbGVMZXhlcigKKyAgICAgICAgICBbCisgICAgICAgICAgIFtQUl9QTEFJTiwgICAgICAgIC9eW1xzXSsvLCBudWxsLCAnIFx0XHJcbiddLAorICAgICAgICAgICBbUFJfQVRUUklCX1ZBTFVFLCAvXig/OlwiW15cIl0qXCI/fFwnW15cJ10qXCc/KS8sIG51bGwsICdcIlwnJ10KKyAgICAgICAgICAgXSwKKyAgICAgICAgICBbCisgICAgICAgICAgIFtQUl9UQUcsICAgICAgICAgIC9eXjxcLz9bYS16XSg/Oltcdy46LV0qXHcpP3xcLz8+JC9pXSwKKyAgICAgICAgICAgW1BSX0FUVFJJQl9OQU1FLCAgL14oPyFzdHlsZVtccz1dfG9uKVthLXpdKD86W1x3Oi1dKlx3KT8vaV0sCisgICAgICAgICAgIFsnbGFuZy11cS52YWwnLCAgIC9ePVxzKihbXj5cJ1wiXHNdKig/OltePlwnXCJcc1wvXXxcLyg/PVxzKSkpL10sCisgICAgICAgICAgIFtQUl9QVU5DVFVBVElPTiwgIC9eWz08PlwvXSsvXSwKKyAgICAgICAgICAgWydsYW5nLWpzJywgICAgICAgL15vblx3K1xzKj1ccypcIihbXlwiXSspXCIvaV0sCisgICAgICAgICAgIFsnbGFuZy1qcycsICAgICAgIC9eb25cdytccyo9XHMqXCcoW15cJ10rKVwnL2ldLAorICAgICAgICAgICBbJ2xhbmctanMnLCAgICAgICAvXm9uXHcrXHMqPVxzKihbXlwiXCc+XHNdKykvaV0sCisgICAgICAgICAgIFsnbGFuZy1jc3MnLCAgICAgIC9ec3R5bGVccyo9XHMqXCIoW15cIl0rKVwiL2ldLAorICAgICAgICAgICBbJ2xhbmctY3NzJywgICAgICAvXnN0eWxlXHMqPVxzKlwnKFteXCddKylcJy9pXSwKKyAgICAgICAgICAgWydsYW5nLWNzcycsICAgICAgL15zdHlsZVxzKj1ccyooW15cIlwnPlxzXSspL2ldCisgICAgICAgICAgIF0pLAorICAgICAgWydpbi50YWcnXSk7CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoCisgICAgICBjcmVhdGVTaW1wbGVMZXhlcihbXSwgW1tQUl9BVFRSSUJfVkFMVUUsIC9eW1xzXFNdKy9dXSksIFsndXEudmFsJ10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKHNvdXJjZURlY29yYXRvcih7CisgICAgICAgICAgJ2tleXdvcmRzJzogQ1BQX0tFWVdPUkRTLAorICAgICAgICAgICdoYXNoQ29tbWVudHMnOiB0cnVlLAorICAgICAgICAgICdjU3R5bGVDb21tZW50cyc6IHRydWUKKyAgICAgICAgfSksIFsnYycsICdjYycsICdjcHAnLCAnY3h4JywgJ2N5YycsICdtJ10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKHNvdXJjZURlY29yYXRvcih7CisgICAgICAgICAgJ2tleXdvcmRzJzogJ251bGwgdHJ1ZSBmYWxzZScKKyAgICAgICAgfSksIFsnanNvbiddKTsKKyAgcmVnaXN0ZXJMYW5nSGFuZGxlcihzb3VyY2VEZWNvcmF0b3IoeworICAgICAgICAgICdrZXl3b3Jkcyc6IENTSEFSUF9LRVlXT1JEUywKKyAgICAgICAgICAnaGFzaENvbW1lbnRzJzogdHJ1ZSwKKyAgICAgICAgICAnY1N0eWxlQ29tbWVudHMnOiB0cnVlLAorICAgICAgICAgICd2ZXJiYXRpbVN0cmluZ3MnOiB0cnVlCisgICAgICAgIH0pLCBbJ2NzJ10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKHNvdXJjZURlY29yYXRvcih7CisgICAgICAgICAgJ2tleXdvcmRzJzogSkFWQV9LRVlXT1JEUywKKyAgICAgICAgICAnY1N0eWxlQ29tbWVudHMnOiB0cnVlCisgICAgICAgIH0pLCBbJ2phdmEnXSk7CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoc291cmNlRGVjb3JhdG9yKHsKKyAgICAgICAgICAna2V5d29yZHMnOiBTSF9LRVlXT1JEUywKKyAgICAgICAgICAnaGFzaENvbW1lbnRzJzogdHJ1ZSwKKyAgICAgICAgICAnbXVsdGlMaW5lU3RyaW5ncyc6IHRydWUKKyAgICAgICAgfSksIFsnYnNoJywgJ2NzaCcsICdzaCddKTsKKyAgcmVnaXN0ZXJMYW5nSGFuZGxlcihzb3VyY2VEZWNvcmF0b3IoeworICAgICAgICAgICdrZXl3b3Jkcyc6IFBZVEhPTl9LRVlXT1JEUywKKyAgICAgICAgICAnaGFzaENvbW1lbnRzJzogdHJ1ZSwKKyAgICAgICAgICAnbXVsdGlMaW5lU3RyaW5ncyc6IHRydWUsCisgICAgICAgICAgJ3RyaXBsZVF1b3RlZFN0cmluZ3MnOiB0cnVlCisgICAgICAgIH0pLCBbJ2N2JywgJ3B5J10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKHNvdXJjZURlY29yYXRvcih7CisgICAgICAgICAgJ2tleXdvcmRzJzogUEVSTF9LRVlXT1JEUywKKyAgICAgICAgICAnaGFzaENvbW1lbnRzJzogdHJ1ZSwKKyAgICAgICAgICAnbXVsdGlMaW5lU3RyaW5ncyc6IHRydWUsCisgICAgICAgICAgJ3JlZ2V4TGl0ZXJhbHMnOiB0cnVlCisgICAgICAgIH0pLCBbJ3BlcmwnLCAncGwnLCAncG0nXSk7CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoc291cmNlRGVjb3JhdG9yKHsKKyAgICAgICAgICAna2V5d29yZHMnOiBSVUJZX0tFWVdPUkRTLAorICAgICAgICAgICdoYXNoQ29tbWVudHMnOiB0cnVlLAorICAgICAgICAgICdtdWx0aUxpbmVTdHJpbmdzJzogdHJ1ZSwKKyAgICAgICAgICAncmVnZXhMaXRlcmFscyc6IHRydWUKKyAgICAgICAgfSksIFsncmInXSk7CisgIHJlZ2lzdGVyTGFuZ0hhbmRsZXIoc291cmNlRGVjb3JhdG9yKHsKKyAgICAgICAgICAna2V5d29yZHMnOiBKU0NSSVBUX0tFWVdPUkRTLAorICAgICAgICAgICdjU3R5bGVDb21tZW50cyc6IHRydWUsCisgICAgICAgICAgJ3JlZ2V4TGl0ZXJhbHMnOiB0cnVlCisgICAgICAgIH0pLCBbJ2pzJ10pOworICByZWdpc3RlckxhbmdIYW5kbGVyKAorICAgICAgY3JlYXRlU2ltcGxlTGV4ZXIoW10sIFtbUFJfU1RSSU5HLCAvXltcc1xTXSsvXV0pLCBbJ3JlZ2V4J10pOworCisgIGZ1bmN0aW9uIGFwcGx5RGVjb3JhdG9yKGpvYikgeworICAgIHZhciBzb3VyY2VDb2RlSHRtbCA9IGpvYi5zb3VyY2VDb2RlSHRtbDsKKyAgICB2YXIgb3B0X2xhbmdFeHRlbnNpb24gPSBqb2IubGFuZ0V4dGVuc2lvbjsKKworICAgIC8vIFByZXBvcHVsYXRlIG91dHB1dCBpbiBjYXNlIHByb2Nlc3NpbmcgZmFpbHMgd2l0aCBhbiBleGNlcHRpb24uCisgICAgam9iLnByZXR0eVByaW50ZWRIdG1sID0gc291cmNlQ29kZUh0bWw7CisKKyAgICB0cnkgeworICAgICAgLy8gRXh0cmFjdCB0YWdzLCBhbmQgY29udmVydCB0aGUgc291cmNlIGNvZGUgdG8gcGxhaW4gdGV4dC4KKyAgICAgIHZhciBzb3VyY2VBbmRFeHRyYWN0ZWRUYWdzID0gZXh0cmFjdFRhZ3Moc291cmNlQ29kZUh0bWwpOworICAgICAgLyoqIFBsYWluIHRleHQuIEB0eXBlIHtzdHJpbmd9ICovCisgICAgICB2YXIgc291cmNlID0gc291cmNlQW5kRXh0cmFjdGVkVGFncy5zb3VyY2U7CisgICAgICBqb2Iuc291cmNlID0gc291cmNlOworICAgICAgam9iLmJhc2VQb3MgPSAwOworCisgICAgICAvKiogRXZlbiBlbnRyaWVzIGFyZSBwb3NpdGlvbnMgaW4gc291cmNlIGluIGFzY2VuZGluZyBvcmRlci4gIE9kZCBlbnRyaWVzCisgICAgICAgICogYXJlIHRhZ3MgdGhhdCB3ZXJlIGV4dHJhY3RlZCBhdCB0aGF0IHBvc2l0aW9uLgorICAgICAgICAqIEB0eXBlIHtBcnJheS48bnVtYmVyfHN0cmluZz59CisgICAgICAgICovCisgICAgICBqb2IuZXh0cmFjdGVkVGFncyA9IHNvdXJjZUFuZEV4dHJhY3RlZFRhZ3MudGFnczsKKworICAgICAgLy8gQXBwbHkgdGhlIGFwcHJvcHJpYXRlIGxhbmd1YWdlIGhhbmRsZXIKKyAgICAgIGxhbmdIYW5kbGVyRm9yRXh0ZW5zaW9uKG9wdF9sYW5nRXh0ZW5zaW9uLCBzb3VyY2UpKGpvYik7CisgICAgICAvLyBJbnRlZ3JhdGUgdGhlIGRlY29yYXRpb25zIGFuZCB0YWdzIGJhY2sgaW50byB0aGUgc291cmNlIGNvZGUgdG8gcHJvZHVjZQorICAgICAgLy8gYSBkZWNvcmF0ZWQgaHRtbCBzdHJpbmcgd2hpY2ggaXMgbGVmdCBpbiBqb2IucHJldHR5UHJpbnRlZEh0bWwuCisgICAgICByZWNvbWJpbmVUYWdzQW5kRGVjb3JhdGlvbnMoam9iKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBpZiAoJ2NvbnNvbGUnIGluIHdpbmRvdykgeworICAgICAgICBjb25zb2xlLmxvZyhlKTsKKyAgICAgICAgY29uc29sZS50cmFjZSgpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHByZXR0eVByaW50T25lKHNvdXJjZUNvZGVIdG1sLCBvcHRfbGFuZ0V4dGVuc2lvbikgeworICAgIHZhciBqb2IgPSB7CisgICAgICBzb3VyY2VDb2RlSHRtbDogc291cmNlQ29kZUh0bWwsCisgICAgICBsYW5nRXh0ZW5zaW9uOiBvcHRfbGFuZ0V4dGVuc2lvbgorICAgIH07CisgICAgYXBwbHlEZWNvcmF0b3Ioam9iKTsKKyAgICByZXR1cm4gam9iLnByZXR0eVByaW50ZWRIdG1sOworICB9CisKKyAgZnVuY3Rpb24gcHJldHR5UHJpbnQob3B0X3doZW5Eb25lKSB7CisgICAgdmFyIGlzSUU2NzggPSB3aW5kb3dbJ19wcl9pc0lFNiddKCk7CisgICAgdmFyIGllTmV3bGluZSA9IGlzSUU2NzggPT09IDYgPyAnXHJcbicgOiAnXHInOworICAgIC8vIFNlZSBidWcgNzEgYW5kIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTM2NDQzL3doeS1kb2VzbnQtaWU3LQorCisgICAgLy8gZmV0Y2ggYSBsaXN0IG9mIG5vZGVzIHRvIHJld3JpdGUKKyAgICB2YXIgY29kZVNlZ21lbnRzID0gWworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgncHJlJyksCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjb2RlJyksCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZCcpLCAgLyogTkQgQ2hhbmdlOiBBZGQgdGFibGVzIHRvIHN1cHBvcnQgcHJvdG90eXBlcy4gKi8KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3htcCcpIF07CisgICAgdmFyIGVsZW1lbnRzID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb2RlU2VnbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgIGZvciAodmFyIGogPSAwLCBuID0gY29kZVNlZ21lbnRzW2ldLmxlbmd0aDsgaiA8IG47ICsraikgeworICAgICAgICBlbGVtZW50cy5wdXNoKGNvZGVTZWdtZW50c1tpXVtqXSk7CisgICAgICB9CisgICAgfQorICAgIGNvZGVTZWdtZW50cyA9IG51bGw7CisKKyAgICB2YXIgY2xvY2sgPSBEYXRlOworICAgIGlmICghY2xvY2tbJ25vdyddKSB7CisgICAgICBjbG9jayA9IHsgJ25vdyc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIChuZXcgRGF0ZSkuZ2V0VGltZSgpOyB9IH07CisgICAgfQorCisgICAgLy8gVGhlIGxvb3AgaXMgYnJva2VuIGludG8gYSBzZXJpZXMgb2YgY29udGludWF0aW9ucyB0byBtYWtlIHN1cmUgdGhhdCB3ZQorICAgIC8vIGRvbid0IG1ha2UgdGhlIGJyb3dzZXIgdW5yZXNwb25zaXZlIHdoZW4gcmV3cml0aW5nIGEgbGFyZ2UgcGFnZS4KKyAgICB2YXIgayA9IDA7CisgICAgdmFyIHByZXR0eVByaW50aW5nSm9iOworCisgICAgZnVuY3Rpb24gZG9Xb3JrKCkgeworICAgICAgdmFyIGVuZFRpbWUgPSAod2luZG93WydQUl9TSE9VTERfVVNFX0NPTlRJTlVBVElPTiddID8KKyAgICAgICAgICAgICAgICAgICAgIGNsb2NrLm5vdygpICsgMjUwIC8qIG1zICovIDoKKyAgICAgICAgICAgICAgICAgICAgIEluZmluaXR5KTsKKyAgICAgIGZvciAoOyBrIDwgZWxlbWVudHMubGVuZ3RoICYmIGNsb2NrLm5vdygpIDwgZW5kVGltZTsgaysrKSB7CisgICAgICAgIHZhciBjcyA9IGVsZW1lbnRzW2tdOworICAgICAgICBpZiAoY3MuY2xhc3NOYW1lICYmIGNzLmNsYXNzTmFtZS5pbmRleE9mKCdwcmV0dHlwcmludCcpID49IDApIHsKKyAgICAgICAgICAvLyBJZiB0aGUgY2xhc3NlcyBpbmNsdWRlcyBhIGxhbmd1YWdlIGV4dGVuc2lvbnMsIHVzZSBpdC4KKyAgICAgICAgICAvLyBMYW5ndWFnZSBleHRlbnNpb25zIGNhbiBiZSBzcGVjaWZpZWQgbGlrZQorICAgICAgICAgIC8vICAgICA8cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNwcCI+CisgICAgICAgICAgLy8gdGhlIGxhbmd1YWdlIGV4dGVuc2lvbiAiY3BwIiBpcyB1c2VkIHRvIGZpbmQgYSBsYW5ndWFnZSBoYW5kbGVyIGFzCisgICAgICAgICAgLy8gcGFzc2VkIHRvIFBSX3JlZ2lzdGVyTGFuZ0hhbmRsZXIuCisgICAgICAgICAgdmFyIGxhbmdFeHRlbnNpb24gPSBjcy5jbGFzc05hbWUubWF0Y2goL1xibGFuZy0oXHcrKVxiLyk7CisgICAgICAgICAgaWYgKGxhbmdFeHRlbnNpb24pIHsgbGFuZ0V4dGVuc2lvbiA9IGxhbmdFeHRlbnNpb25bMV07IH0KKworICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGlzIGlzIG5vdCBuZXN0ZWQgaW4gYW4gYWxyZWFkeSBwcmV0dGlmaWVkIGVsZW1lbnQKKyAgICAgICAgICB2YXIgbmVzdGVkID0gZmFsc2U7CisgICAgICAgICAgZm9yICh2YXIgcCA9IGNzLnBhcmVudE5vZGU7IHA7IHAgPSBwLnBhcmVudE5vZGUpIHsKKyAgICAgICAgICAgIGlmICgocC50YWdOYW1lID09PSAncHJlJyB8fCBwLnRhZ05hbWUgPT09ICdjb2RlJyB8fAorICAgICAgICAgICAgICAgICBwLnRhZ05hbWUgPT09ICd4bXAnIHx8IHAudGFnTmFtZSA9PT0gJ3RkJykgJiYgIC8qIE5EIENoYW5nZTogQWRkIHRhYmxlcyB0byBzdXBwb3J0IHByb3RvdHlwZXMgKi8KKyAgICAgICAgICAgICAgICBwLmNsYXNzTmFtZSAmJiBwLmNsYXNzTmFtZS5pbmRleE9mKCdwcmV0dHlwcmludCcpID49IDApIHsKKyAgICAgICAgICAgICAgbmVzdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIGlmICghbmVzdGVkKSB7CisgICAgICAgICAgICAvLyBmZXRjaCB0aGUgY29udGVudCBhcyBhIHNuaXBwZXQgb2YgcHJvcGVybHkgZXNjYXBlZCBIVE1MLgorICAgICAgICAgICAgLy8gRmlyZWZveCBhZGRzIG5ld2xpbmVzIGF0IHRoZSBlbmQuCisgICAgICAgICAgICB2YXIgY29udGVudCA9IGdldElubmVySHRtbChjcyk7CisgICAgICAgICAgICBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC8oPzpcclxuP3xcbikkLywgJycpOworCisJICAJCS8qIE5EIENoYW5nZTogd2UgbmVlZCB0byBwcmVzZXJ2ZSAmbmJzcDtzIHNvIGNoYW5nZSB0aGVtIHRvIGEgc3BlY2lhbCBjaGFyYWN0ZXIgaW5zdGVhZCBvZiBhIHNwYWNlLiAqLworCQkJY29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgvJm5ic3A7L2csICdceDExJyk7CisKKyAgICAgICAgICAgIC8vIGRvIHRoZSBwcmV0dHkgcHJpbnRpbmcKKyAgICAgICAgICAgIHByZXR0eVByaW50aW5nSm9iID0geworICAgICAgICAgICAgICBzb3VyY2VDb2RlSHRtbDogY29udGVudCwKKyAgICAgICAgICAgICAgbGFuZ0V4dGVuc2lvbjogbGFuZ0V4dGVuc2lvbiwKKyAgICAgICAgICAgICAgc291cmNlTm9kZTogY3MKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhcHBseURlY29yYXRvcihwcmV0dHlQcmludGluZ0pvYik7CisgICAgICAgICAgICByZXBsYWNlV2l0aFByZXR0eVByaW50ZWRIdG1sKCk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgICBpZiAoayA8IGVsZW1lbnRzLmxlbmd0aCkgeworICAgICAgICAvLyBmaW5pc2ggdXAgaW4gYSBjb250aW51YXRpb24KKyAgICAgICAgc2V0VGltZW91dChkb1dvcmssIDI1MCk7CisgICAgICB9IGVsc2UgaWYgKG9wdF93aGVuRG9uZSkgeworICAgICAgICBvcHRfd2hlbkRvbmUoKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiByZXBsYWNlV2l0aFByZXR0eVByaW50ZWRIdG1sKCkgeworICAgICAgdmFyIG5ld0NvbnRlbnQgPSBwcmV0dHlQcmludGluZ0pvYi5wcmV0dHlQcmludGVkSHRtbDsKKyAgICAgIGlmICghbmV3Q29udGVudCkgeyByZXR1cm47IH0KKworICAgICAgLyogTkQgQ2hhbmdlOiBSZXN0b3JlIHRoZSBwcmVzZXJ2ZWQgJm5ic3A7cy4gICovCisJICBuZXdDb250ZW50ID0gbmV3Q29udGVudC5yZXBsYWNlKC9ceDExL2csICcmbmJzcDsnKTsKKworICAgICAgdmFyIGNzID0gcHJldHR5UHJpbnRpbmdKb2Iuc291cmNlTm9kZTsKKworICAgICAgLy8gcHVzaCB0aGUgcHJldHRpZmllZCBodG1sIGJhY2sgaW50byB0aGUgdGFnLgorICAgICAgaWYgKCFpc1Jhd0NvbnRlbnQoY3MpKSB7CisgICAgICAgIC8vIGp1c3QgcmVwbGFjZSB0aGUgb2xkIGh0bWwgd2l0aCB0aGUgbmV3CisgICAgICAgIGNzLmlubmVySFRNTCA9IG5ld0NvbnRlbnQ7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgdGFnIHRvIGEgPHByZT4gc2luY2UgPHhtcD5zIGRvIG5vdCBhbGxvdworICAgICAgICAvLyBlbWJlZGRlZCB0YWdzIHN1Y2ggYXMgdGhlIHNwYW4gdGFncyB1c2VkIHRvIGF0dGFjaCBzdHlsZXMgdG8KKyAgICAgICAgLy8gc2VjdGlvbnMgb2Ygc291cmNlIGNvZGUuCisgICAgICAgIHZhciBwcmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdQUkUnKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjcy5hdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgdmFyIGEgPSBjcy5hdHRyaWJ1dGVzW2ldOworICAgICAgICAgIGlmIChhLnNwZWNpZmllZCkgeworICAgICAgICAgICAgdmFyIGFuYW1lID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICBpZiAoYW5hbWUgPT09ICdjbGFzcycpIHsKKyAgICAgICAgICAgICAgcHJlLmNsYXNzTmFtZSA9IGEudmFsdWU7ICAvLyBGb3IgSUUgNgorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgcHJlLnNldEF0dHJpYnV0ZShhLm5hbWUsIGEudmFsdWUpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBwcmUuaW5uZXJIVE1MID0gbmV3Q29udGVudDsKKworICAgICAgICAvLyByZW1vdmUgdGhlIG9sZAorICAgICAgICBjcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChwcmUsIGNzKTsKKyAgICAgICAgY3MgPSBwcmU7CisgICAgICB9CisKKyAgICAgIC8vIFJlcGxhY2UgPGJyPnMgd2l0aCBsaW5lLWZlZWRzIHNvIHRoYXQgY29weWluZyBhbmQgcGFzdGluZyB3b3JrcworICAgICAgLy8gb24gSUUgNi4KKyAgICAgIC8vIERvaW5nIHRoaXMgb24gb3RoZXIgYnJvd3NlcnMgYnJlYWtzIGxvdHMgb2Ygc3R1ZmYgc2luY2UgXHJcbiBpcworICAgICAgLy8gdHJlYXRlZCBhcyB0d28gbmV3bGluZXMgb24gRmlyZWZveCwgYW5kIGRvaW5nIHRoaXMgYWxzbyBzbG93cworICAgICAgLy8gZG93biByZW5kZXJpbmcuCisgICAgICBpZiAoaXNJRTY3OCAmJiBjcy50YWdOYW1lID09PSAnUFJFJykgeworICAgICAgICB2YXIgbGluZUJyZWFrcyA9IGNzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdicicpOworICAgICAgICBmb3IgKHZhciBqID0gbGluZUJyZWFrcy5sZW5ndGg7IC0taiA+PSAwOykgeworICAgICAgICAgIHZhciBsaW5lQnJlYWsgPSBsaW5lQnJlYWtzW2pdOworICAgICAgICAgIGxpbmVCcmVhay5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCgKKyAgICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaWVOZXdsaW5lKSwgbGluZUJyZWFrKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIGRvV29yaygpOworICB9CisKKyAgd2luZG93WydQUl9ub3JtYWxpemVkSHRtbCddID0gbm9ybWFsaXplZEh0bWw7CisgIHdpbmRvd1sncHJldHR5UHJpbnRPbmUnXSA9IHByZXR0eVByaW50T25lOworICB3aW5kb3dbJ3ByZXR0eVByaW50J10gPSBwcmV0dHlQcmludDsKKyAgd2luZG93WydQUiddID0geworICAgICAgICAnY29tYmluZVByZWZpeFBhdHRlcm5zJzogY29tYmluZVByZWZpeFBhdHRlcm5zLAorICAgICAgICAnY3JlYXRlU2ltcGxlTGV4ZXInOiBjcmVhdGVTaW1wbGVMZXhlciwKKyAgICAgICAgJ3JlZ2lzdGVyTGFuZ0hhbmRsZXInOiByZWdpc3RlckxhbmdIYW5kbGVyLAorICAgICAgICAnc291cmNlRGVjb3JhdG9yJzogc291cmNlRGVjb3JhdG9yLAorICAgICAgICAnUFJfQVRUUklCX05BTUUnOiBQUl9BVFRSSUJfTkFNRSwKKyAgICAgICAgJ1BSX0FUVFJJQl9WQUxVRSc6IFBSX0FUVFJJQl9WQUxVRSwKKyAgICAgICAgJ1BSX0NPTU1FTlQnOiBQUl9DT01NRU5ULAorICAgICAgICAnUFJfREVDTEFSQVRJT04nOiBQUl9ERUNMQVJBVElPTiwKKyAgICAgICAgJ1BSX0tFWVdPUkQnOiBQUl9LRVlXT1JELAorICAgICAgICAnUFJfTElURVJBTCc6IFBSX0xJVEVSQUwsCisgICAgICAgICdQUl9OT0NPREUnOiBQUl9OT0NPREUsCisgICAgICAgICdQUl9QTEFJTic6IFBSX1BMQUlOLAorICAgICAgICAnUFJfUFVOQ1RVQVRJT04nOiBQUl9QVU5DVFVBVElPTiwKKyAgICAgICAgJ1BSX1NPVVJDRSc6IFBSX1NPVVJDRSwKKyAgICAgICAgJ1BSX1NUUklORyc6IFBSX1NUUklORywKKyAgICAgICAgJ1BSX1RBRyc6IFBSX1RBRywKKyAgICAgICAgJ1BSX1RZUEUnOiBQUl9UWVBFCisgICAgICB9OworfSkoKTsKKworCisvLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCisKKworCisvLyBMdWEgZXh0ZW5zaW9uCisKK1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW1tQUi5QUl9QTEFJTiwvXltcdFxuXHIgXHhBMF0rLyxudWxsLCcJXG5cciBceGEwJ10sW1BSLlBSX1NUUklORywvXig/OlwiKD86W15cIlxcXXxcXFtcc1xTXSkqKD86XCJ8JCl8XCcoPzpbXlwnXFxdfFxcW1xzXFNdKSooPzpcJ3wkKSkvLG51bGwsJ1wiXCcnXV0sW1tQUi5QUl9DT01NRU5ULC9eLS0oPzpcWyg9KilcW1tcc1xTXSo/KD86XF1cMVxdfCQpfFteXHJcbl0qKS9dLFtQUi5QUl9TVFJJTkcsL15cWyg9KilcW1tcc1xTXSo/KD86XF1cMVxdfCQpL10sW1BSLlBSX0tFWVdPUkQsL14oPzphbmR8YnJlYWt8ZG98ZWxzZXxlbHNlaWZ8ZW5kfGZhbHNlfGZvcnxmdW5jdGlvbnxpZnxpbnxsb2NhbHxuaWx8bm90fG9yfHJlcGVhdHxyZXR1cm58dGhlbnx0cnVlfHVudGlsfHdoaWxlKVxiLyxudWxsXSxbUFIuUFJfTElURVJBTCwvXlsrLV0/KD86MHhbXGRhLWZdK3woPzooPzpcLlxkK3xcZCsoPzpcLlxkKik/KSg/OmVbK1wtXT9cZCspPykpL2ldLFtQUi5QUl9QTEFJTiwvXlthLXpfXVx3Ki9pXSxbUFIuUFJfUFVOQ1RVQVRJT04sL15bXlx3XHRcblxyIFx4QTBdW15cd1x0XG5cciBceEEwXCJcJ1wtXCs9XSovXV0pLFsnbHVhJ10pCisKKworLy8gSGFza2VsbCBleHRlbnNpb24KKworUFIucmVnaXN0ZXJMYW5nSGFuZGxlcihQUi5jcmVhdGVTaW1wbGVMZXhlcihbW1BSLlBSX1BMQUlOLC9eW1x0XG5ceDBCXHgwQ1xyIF0rLyxudWxsLCcJXG4LDFxyICddLFtQUi5QUl9TVFJJTkcsL15cIig/OlteXCJcXFxuXHgwQ1xyXXxcXFtcc1xTXSkqKD86XCJ8JCkvLG51bGwsJ1wiJ10sW1BSLlBSX1NUUklORywvXlwnKD86W15cJ1xcXG5ceDBDXHJdfFxcW14mXSlcJz8vLG51bGwsJ1wnJ10sW1BSLlBSX0xJVEVSQUwsL14oPzowb1swLTddK3wweFtcZGEtZl0rfFxkKyg/OlwuXGQrKT8oPzplWytcLV0/XGQrKT8pL2ksbnVsbCwnMDEyMzQ1Njc4OSddXSxbW1BSLlBSX0NPTU1FTlQsL14oPzooPzotLSsoPzpbXlxyXG5ceDBDXSopPyl8KD86XHstKD86W14tXXwtK1teLVx9XSkqLVx9KSkvXSxbUFIuUFJfS0VZV09SRCwvXig/OmNhc2V8Y2xhc3N8ZGF0YXxkZWZhdWx0fGRlcml2aW5nfGRvfGVsc2V8aWZ8aW1wb3J0fGlufGluZml4fGluZml4bHxpbmZpeHJ8aW5zdGFuY2V8bGV0fG1vZHVsZXxuZXd0eXBlfG9mfHRoZW58dHlwZXx3aGVyZXxfKSg/PVteYS16QS1aMC05XCddfCQpLyxudWxsXSxbUFIuUFJfUExBSU4sL14oPzpbQS1aXVtcd1wnXSpcLikqW2EtekEtWl1bXHdcJ10qL10sW1BSLlBSX1BVTkNUVUFUSU9OLC9eW15cdFxuXHgwQlx4MENcciBhLXpBLVowLTlcJ1wiXSsvXV0pLFsnaHMnXSkKKworCisvLyBNTCBleHRlbnNpb24KKworUFIucmVnaXN0ZXJMYW5nSGFuZGxlcihQUi5jcmVhdGVTaW1wbGVMZXhlcihbW1BSLlBSX1BMQUlOLC9eW1x0XG5cciBceEEwXSsvLG51bGwsJwlcblxyIFx4YTAnXSxbUFIuUFJfQ09NTUVOVCwvXiMoPzppZltcdFxuXHIgXHhBMF0rKD86W2Etel8kXVtcd1wnXSp8YGBbXlxyXG5cdGBdKig/OmBgfCQpKXxlbHNlfGVuZGlmfGxpZ2h0KS9pLG51bGwsJyMnXSxbUFIuUFJfU1RSSU5HLC9eKD86XCIoPzpbXlwiXFxdfFxcW1xzXFNdKSooPzpcInwkKXxcJyg/OlteXCdcXF18XFxbXHNcU10pKig/OlwnfCQpKS8sbnVsbCwnXCJcJyddXSxbW1BSLlBSX0NPTU1FTlQsL14oPzpcL1wvW15cclxuXSp8XChcKltcc1xTXSo/XCpcKSkvXSxbUFIuUFJfS0VZV09SRCwvXig/OmFic3RyYWN0fGFuZHxhc3xhc3NlcnR8YmVnaW58Y2xhc3N8ZGVmYXVsdHxkZWxlZ2F0ZXxkb3xkb25lfGRvd25jYXN0fGRvd250b3xlbGlmfGVsc2V8ZW5kfGV4Y2VwdGlvbnxleHRlcm58ZmFsc2V8ZmluYWxseXxmb3J8ZnVufGZ1bmN0aW9ufGlmfGlufGluaGVyaXR8aW5saW5lfGludGVyZmFjZXxpbnRlcm5hbHxsYXp5fGxldHxtYXRjaHxtZW1iZXJ8bW9kdWxlfG11dGFibGV8bmFtZXNwYWNlfG5ld3xudWxsfG9mfG9wZW58b3J8b3ZlcnJpZGV8cHJpdmF0ZXxwdWJsaWN8cmVjfHJldHVybnxzdGF0aWN8c3RydWN0fHRoZW58dG98dHJ1ZXx0cnl8dHlwZXx1cGNhc3R8dXNlfHZhbHx2b2lkfHdoZW58d2hpbGV8d2l0aHx5aWVsZHxhc3J8bGFuZHxsb3J8bHNsfGxzcnxseG9yfG1vZHxzaWd8YXRvbWljfGJyZWFrfGNoZWNrZWR8Y29tcG9uZW50fGNvbnN0fGNvbnN0cmFpbnR8Y29uc3RydWN0b3J8Y29udGludWV8ZWFnZXJ8ZXZlbnR8ZXh0ZXJuYWx8Zml4ZWR8ZnVuY3RvcnxnbG9iYWx8aW5jbHVkZXxtZXRob2R8bWl4aW58b2JqZWN0fHBhcmFsbGVsfHByb2Nlc3N8cHJvdGVjdGVkfHB1cmV8c2VhbGVkfHRyYWl0fHZpcnR1YWx8dm9sYXRpbGUpXGIvXSxbUFIuUFJfTElURVJBTCwvXlsrXC1dPyg/OjB4W1xkYS1mXSt8KD86KD86XC5cZCt8XGQrKD86XC5cZCopPykoPzplWytcLV0/XGQrKT8pKS9pXSxbUFIuUFJfUExBSU4sL14oPzpbYS16X11cdypbIT8jXT98YGBbXlxyXG5cdGBdKig/OmBgfCQpKS9pXSxbUFIuUFJfUFVOQ1RVQVRJT04sL15bXlx0XG5cciBceEEwXCJcJ1x3XSsvXV0pLFsnZnMnLCdtbCddKQorCisKKy8vIFNRTCBleHRlbnNpb24KKworUFIucmVnaXN0ZXJMYW5nSGFuZGxlcihQUi5jcmVhdGVTaW1wbGVMZXhlcihbW1BSLlBSX1BMQUlOLC9eW1x0XG5cciBceEEwXSsvLG51bGwsJwlcblxyIFx4YTAnXSxbUFIuUFJfU1RSSU5HLC9eKD86Iig/OlteXCJcXF18XFwuKSoifCcoPzpbXlwnXFxdfFxcLikqJykvLG51bGwsJ1wiXCcnXV0sW1tQUi5QUl9DT01NRU5ULC9eKD86LS1bXlxyXG5dKnxcL1wqW1xzXFNdKj8oPzpcKlwvfCQpKS9dLFtQUi5QUl9LRVlXT1JELC9eKD86QUREfEFMTHxBTFRFUnxBTkR8QU5ZfEFTfEFTQ3xBVVRIT1JJWkFUSU9OfEJBQ0tVUHxCRUdJTnxCRVRXRUVOfEJSRUFLfEJST1dTRXxCVUxLfEJZfENBU0NBREV8Q0FTRXxDSEVDS3xDSEVDS1BPSU5UfENMT1NFfENMVVNURVJFRHxDT0FMRVNDRXxDT0xMQVRFfENPTFVNTnxDT01NSVR8Q09NUFVURXxDT05TVFJBSU5UfENPTlRBSU5TfENPTlRBSU5TVEFCTEV8Q09OVElOVUV8Q09OVkVSVHxDUkVBVEV8Q1JPU1N8Q1VSUkVOVHxDVVJSRU5UX0RBVEV8Q1VSUkVOVF9USU1FfENVUlJFTlRfVElNRVNUQU1QfENVUlJFTlRfVVNFUnxDVVJTT1J8REFUQUJBU0V8REJDQ3xERUFMTE9DQVRFfERFQ0xBUkV8REVGQVVMVHxERUxFVEV8REVOWXxERVNDfERJU0t8RElTVElOQ1R8RElTVFJJQlVURUR8RE9VQkxFfERST1B8RFVNTVl8RFVNUHxFTFNFfEVORHxFUlJMVkx8RVNDQVBFfEVYQ0VQVHxFWEVDfEVYRUNVVEV8RVhJU1RTfEVYSVR8RkVUQ0h8RklMRXxGSUxMRkFDVE9SfEZPUnxGT1JFSUdOfEZSRUVURVhUfEZSRUVURVhUVEFCTEV8RlJPTXxGVUxMfEZVTkNUSU9OfEdPVE98R1JBTlR8R1JPVVB8SEFWSU5HfEhPTERMT0NLfElERU5USVRZfElERU5USVRZQ09MfElERU5USVRZX0lOU0VSVHxJRnxJTnxJTkRFWHxJTk5FUnxJTlNFUlR8SU5URVJTRUNUfElOVE98SVN8Sk9JTnxLRVl8S0lMTHxMRUZUfExJS0V8TElORU5PfExPQUR8TkFUSU9OQUx8Tk9DSEVDS3xOT05DTFVTVEVSRUR8Tk9UfE5VTEx8TlVMTElGfE9GfE9GRnxPRkZTRVRTfE9OfE9QRU58T1BFTkRBVEFTT1VSQ0V8T1BFTlFVRVJZfE9QRU5ST1dTRVR8T1BFTlhNTHxPUFRJT058T1J8T1JERVJ8T1VURVJ8T1ZFUnxQRVJDRU5UfFBMQU58UFJFQ0lTSU9OfFBSSU1BUll8UFJJTlR8UFJPQ3xQUk9DRURVUkV8UFVCTElDfFJBSVNFUlJPUnxSRUFEfFJFQURURVhUfFJFQ09ORklHVVJFfFJFRkVSRU5DRVN8UkVQTElDQVRJT058UkVTVE9SRXxSRVNUUklDVHxSRVRVUk58UkVWT0tFfFJJR0hUfFJPTExCQUNLfFJPV0NPVU5UfFJPV0dVSURDT0x8UlVMRXxTQVZFfFNDSEVNQXxTRUxFQ1R8U0VTU0lPTl9VU0VSfFNFVHxTRVRVU0VSfFNIVVRET1dOfFNPTUV8U1RBVElTVElDU3xTWVNURU1fVVNFUnxUQUJMRXxURVhUU0laRXxUSEVOfFRPfFRPUHxUUkFOfFRSQU5TQUNUSU9OfFRSSUdHRVJ8VFJVTkNBVEV8VFNFUVVBTHxVTklPTnxVTklRVUV8VVBEQVRFfFVQREFURVRFWFR8VVNFfFVTRVJ8VkFMVUVTfFZBUllJTkd8VklFV3xXQUlURk9SfFdIRU58V0hFUkV8V0hJTEV8V0lUSHxXUklURVRFWFQpKD89W15cdy1dfCQpL2ksbnVsbF0sW1BSLlBSX0xJVEVSQUwsL15bKy1dPyg/OjB4W1xkYS1mXSt8KD86KD86XC5cZCt8XGQrKD86XC5cZCopPykoPzplWytcLV0/XGQrKT8pKS9pXSxbUFIuUFJfUExBSU4sL15bYS16X11bXHctXSovaV0sW1BSLlBSX1BVTkNUVUFUSU9OLC9eW15cd1x0XG5cciBceEEwXCJcJ11bXlx3XHRcblxyIFx4QTArXC1cIlwnXSovXV0pLFsnc3FsJ10pCisKKworLy8gVkIgZXh0ZW5zaW9uCisKK1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW1tQUi5QUl9QTEFJTiwvXltcdFxuXHIgXHhBMFx1MjAyOFx1MjAyOV0rLyxudWxsLCcJXG5cciBceGEwXHUyMDI4XHUyMDI5J10sW1BSLlBSX1NUUklORywvXig/OltcIlx1MjAxQ1x1MjAxRF0oPzpbXlwiXHUyMDFDXHUyMDFEXXxbXCJcdTIwMUNcdTIwMURdezJ9KSg/OltcIlx1MjAxQ1x1MjAxRF1jfCQpfFtcIlx1MjAxQ1x1MjAxRF0oPzpbXlwiXHUyMDFDXHUyMDFEXXxbXCJcdTIwMUNcdTIwMURdezJ9KSooPzpbXCJcdTIwMUNcdTIwMURdfCQpKS9pLG51bGwsJ1wiXHUyMDFjXHUyMDFkJ10sW1BSLlBSX0NPTU1FTlQsL15bXCdcdTIwMThcdTIwMTldW15cclxuXHUyMDI4XHUyMDI5XSovLG51bGwsJ1wnXHUyMDE4XHUyMDE5J11dLFtbUFIuUFJfS0VZV09SRCwvXig/OkFkZEhhbmRsZXJ8QWRkcmVzc09mfEFsaWFzfEFuZHxBbmRBbHNvfEFuc2l8QXN8QXNzZW1ibHl8QXV0b3xCb29sZWFufEJ5UmVmfEJ5dGV8QnlWYWx8Q2FsbHxDYXNlfENhdGNofENCb29sfENCeXRlfENDaGFyfENEYXRlfENEYmx8Q0RlY3xDaGFyfENJbnR8Q2xhc3N8Q0xuZ3xDT2JqfENvbnN0fENTaG9ydHxDU25nfENTdHJ8Q1R5cGV8RGF0ZXxEZWNpbWFsfERlY2xhcmV8RGVmYXVsdHxEZWxlZ2F0ZXxEaW18RGlyZWN0Q2FzdHxEb3xEb3VibGV8RWFjaHxFbHNlfEVsc2VJZnxFbmR8RW5kSWZ8RW51bXxFcmFzZXxFcnJvcnxFdmVudHxFeGl0fEZpbmFsbHl8Rm9yfEZyaWVuZHxGdW5jdGlvbnxHZXR8R2V0VHlwZXxHb1N1YnxHb1RvfEhhbmRsZXN8SWZ8SW1wbGVtZW50c3xJbXBvcnRzfElufEluaGVyaXRzfEludGVnZXJ8SW50ZXJmYWNlfElzfExldHxMaWJ8TGlrZXxMb25nfExvb3B8TWV8TW9kfE1vZHVsZXxNdXN0SW5oZXJpdHxNdXN0T3ZlcnJpZGV8TXlCYXNlfE15Q2xhc3N8TmFtZXNwYWNlfE5ld3xOZXh0fE5vdHxOb3RJbmhlcml0YWJsZXxOb3RPdmVycmlkYWJsZXxPYmplY3R8T258T3B0aW9ufE9wdGlvbmFsfE9yfE9yRWxzZXxPdmVybG9hZHN8T3ZlcnJpZGFibGV8T3ZlcnJpZGVzfFBhcmFtQXJyYXl8UHJlc2VydmV8UHJpdmF0ZXxQcm9wZXJ0eXxQcm90ZWN0ZWR8UHVibGljfFJhaXNlRXZlbnR8UmVhZE9ubHl8UmVEaW18UmVtb3ZlSGFuZGxlcnxSZXN1bWV8UmV0dXJufFNlbGVjdHxTZXR8U2hhZG93c3xTaGFyZWR8U2hvcnR8U2luZ2xlfFN0YXRpY3xTdGVwfFN0b3B8U3RyaW5nfFN0cnVjdHVyZXxTdWJ8U3luY0xvY2t8VGhlbnxUaHJvd3xUb3xUcnl8VHlwZU9mfFVuaWNvZGV8VW50aWx8VmFyaWFudHxXZW5kfFdoZW58V2hpbGV8V2l0aHxXaXRoRXZlbnRzfFdyaXRlT25seXxYb3J8RW5kSWZ8R29TdWJ8TGV0fFZhcmlhbnR8V2VuZClcYi9pLG51bGxdLFtQUi5QUl9DT01NRU5ULC9eUkVNW15cclxuXHUyMDI4XHUyMDI5XSovaV0sW1BSLlBSX0xJVEVSQUwsL14oPzpUcnVlXGJ8RmFsc2VcYnxOb3RoaW5nXGJ8XGQrKD86RVsrXC1dP1xkK1tGUkRdP3xbRlJEU0lMXSk/fCg/OiZIWzAtOUEtRl0rfCZPWzAtN10rKVtTSUxdP3xcZCpcLlxkKyg/OkVbK1wtXT9cZCspP1tGUkRdP3wjXHMrKD86XGQrW1wtXC9dXGQrW1wtXC9dXGQrKD86XHMrXGQrOlxkKyg/OjpcZCspPyhccyooPzpBTXxQTSkpPyk/fFxkKzpcZCsoPzo6XGQrKT8oXHMqKD86QU18UE0pKT8pXHMrIykvaV0sW1BSLlBSX1BMQUlOLC9eKD86KD86W2Etel18X1x3KVx3KnxcWyg/OlthLXpdfF9cdylcdypcXSkvaV0sW1BSLlBSX1BVTkNUVUFUSU9OLC9eW15cd1x0XG5cciBcIlwnXFtcXVx4QTBcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjhcdTIwMjldKy9dLFtQUi5QUl9QVU5DVFVBVElPTiwvXig/OlxbfFxdKS9dXSksWyd2YicsJ3ZicyddKQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIGIvYXBpZG9jL2h0bWwvamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkYjI0NjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9qYXZhc2NyaXB0L3NlYXJjaGRhdGEuanMKQEAgLTAsMCArMSwxODIgQEAKK3ZhciBpbmRleFNlY3Rpb25zV2l0aENvbnRlbnQgPSB7CisgICAiRnVuY3Rpb25zIjogeworICAgICAgIlN5bWJvbHMiOiBmYWxzZSwKKyAgICAgICJOdW1iZXJzIjogZmFsc2UsCisgICAgICAiQSI6IHRydWUsCisgICAgICAiQiI6IGZhbHNlLAorICAgICAgIkMiOiBmYWxzZSwKKyAgICAgICJEIjogZmFsc2UsCisgICAgICAiRSI6IGZhbHNlLAorICAgICAgIkYiOiB0cnVlLAorICAgICAgIkciOiBmYWxzZSwKKyAgICAgICJIIjogZmFsc2UsCisgICAgICAiSSI6IGZhbHNlLAorICAgICAgIkoiOiBmYWxzZSwKKyAgICAgICJLIjogZmFsc2UsCisgICAgICAiTCI6IGZhbHNlLAorICAgICAgIk0iOiBmYWxzZSwKKyAgICAgICJOIjogZmFsc2UsCisgICAgICAiTyI6IGZhbHNlLAorICAgICAgIlAiOiBmYWxzZSwKKyAgICAgICJRIjogZmFsc2UsCisgICAgICAiUiI6IGZhbHNlLAorICAgICAgIlMiOiBmYWxzZSwKKyAgICAgICJUIjogZmFsc2UsCisgICAgICAiVSI6IGZhbHNlLAorICAgICAgIlYiOiBmYWxzZSwKKyAgICAgICJXIjogZmFsc2UsCisgICAgICAiWCI6IGZhbHNlLAorICAgICAgIlkiOiBmYWxzZSwKKyAgICAgICJaIjogZmFsc2UKKyAgICAgIH0sCisgICAiVHlwZXMiOiB7CisgICAgICAiU3ltYm9scyI6IGZhbHNlLAorICAgICAgIk51bWJlcnMiOiBmYWxzZSwKKyAgICAgICJBIjogZmFsc2UsCisgICAgICAiQiI6IGZhbHNlLAorICAgICAgIkMiOiBmYWxzZSwKKyAgICAgICJEIjogZmFsc2UsCisgICAgICAiRSI6IGZhbHNlLAorICAgICAgIkYiOiBmYWxzZSwKKyAgICAgICJHIjogZmFsc2UsCisgICAgICAiSCI6IGZhbHNlLAorICAgICAgIkkiOiB0cnVlLAorICAgICAgIkoiOiBmYWxzZSwKKyAgICAgICJLIjogZmFsc2UsCisgICAgICAiTCI6IGZhbHNlLAorICAgICAgIk0iOiBmYWxzZSwKKyAgICAgICJOIjogZmFsc2UsCisgICAgICAiTyI6IGZhbHNlLAorICAgICAgIlAiOiBmYWxzZSwKKyAgICAgICJRIjogZmFsc2UsCisgICAgICAiUiI6IGZhbHNlLAorICAgICAgIlMiOiBmYWxzZSwKKyAgICAgICJUIjogZmFsc2UsCisgICAgICAiVSI6IGZhbHNlLAorICAgICAgIlYiOiBmYWxzZSwKKyAgICAgICJXIjogZmFsc2UsCisgICAgICAiWCI6IGZhbHNlLAorICAgICAgIlkiOiBmYWxzZSwKKyAgICAgICJaIjogZmFsc2UKKyAgICAgIH0sCisgICAiRmlsZXMiOiB7CisgICAgICAiU3ltYm9scyI6IGZhbHNlLAorICAgICAgIk51bWJlcnMiOiBmYWxzZSwKKyAgICAgICJBIjogZmFsc2UsCisgICAgICAiQiI6IGZhbHNlLAorICAgICAgIkMiOiBmYWxzZSwKKyAgICAgICJEIjogZmFsc2UsCisgICAgICAiRSI6IGZhbHNlLAorICAgICAgIkYiOiBmYWxzZSwKKyAgICAgICJHIjogZmFsc2UsCisgICAgICAiSCI6IGZhbHNlLAorICAgICAgIkkiOiB0cnVlLAorICAgICAgIkoiOiBmYWxzZSwKKyAgICAgICJLIjogZmFsc2UsCisgICAgICAiTCI6IGZhbHNlLAorICAgICAgIk0iOiBmYWxzZSwKKyAgICAgICJOIjogZmFsc2UsCisgICAgICAiTyI6IGZhbHNlLAorICAgICAgIlAiOiBmYWxzZSwKKyAgICAgICJRIjogZmFsc2UsCisgICAgICAiUiI6IGZhbHNlLAorICAgICAgIlMiOiBmYWxzZSwKKyAgICAgICJUIjogZmFsc2UsCisgICAgICAiVSI6IGZhbHNlLAorICAgICAgIlYiOiBmYWxzZSwKKyAgICAgICJXIjogZmFsc2UsCisgICAgICAiWCI6IGZhbHNlLAorICAgICAgIlkiOiBmYWxzZSwKKyAgICAgICJaIjogZmFsc2UKKyAgICAgIH0sCisgICAiR2VuZXJhbCI6IHsKKyAgICAgICJTeW1ib2xzIjogZmFsc2UsCisgICAgICAiTnVtYmVycyI6IGZhbHNlLAorICAgICAgIkEiOiB0cnVlLAorICAgICAgIkIiOiBmYWxzZSwKKyAgICAgICJDIjogdHJ1ZSwKKyAgICAgICJEIjogZmFsc2UsCisgICAgICAiRSI6IGZhbHNlLAorICAgICAgIkYiOiB0cnVlLAorICAgICAgIkciOiBmYWxzZSwKKyAgICAgICJIIjogZmFsc2UsCisgICAgICAiSSI6IHRydWUsCisgICAgICAiSiI6IGZhbHNlLAorICAgICAgIksiOiBmYWxzZSwKKyAgICAgICJMIjogZmFsc2UsCisgICAgICAiTSI6IGZhbHNlLAorICAgICAgIk4iOiBmYWxzZSwKKyAgICAgICJPIjogZmFsc2UsCisgICAgICAiUCI6IGZhbHNlLAorICAgICAgIlEiOiBmYWxzZSwKKyAgICAgICJSIjogZmFsc2UsCisgICAgICAiUyI6IGZhbHNlLAorICAgICAgIlQiOiB0cnVlLAorICAgICAgIlUiOiBmYWxzZSwKKyAgICAgICJWIjogZmFsc2UsCisgICAgICAiVyI6IGZhbHNlLAorICAgICAgIlgiOiBmYWxzZSwKKyAgICAgICJZIjogZmFsc2UsCisgICAgICAiWiI6IGZhbHNlCisgICAgICB9LAorICAgIkNvbnN0YW50cyI6IHsKKyAgICAgICJTeW1ib2xzIjogZmFsc2UsCisgICAgICAiTnVtYmVycyI6IGZhbHNlLAorICAgICAgIkEiOiBmYWxzZSwKKyAgICAgICJCIjogZmFsc2UsCisgICAgICAiQyI6IHRydWUsCisgICAgICAiRCI6IGZhbHNlLAorICAgICAgIkUiOiBmYWxzZSwKKyAgICAgICJGIjogZmFsc2UsCisgICAgICAiRyI6IGZhbHNlLAorICAgICAgIkgiOiBmYWxzZSwKKyAgICAgICJJIjogZmFsc2UsCisgICAgICAiSiI6IGZhbHNlLAorICAgICAgIksiOiBmYWxzZSwKKyAgICAgICJMIjogZmFsc2UsCisgICAgICAiTSI6IGZhbHNlLAorICAgICAgIk4iOiBmYWxzZSwKKyAgICAgICJPIjogZmFsc2UsCisgICAgICAiUCI6IGZhbHNlLAorICAgICAgIlEiOiBmYWxzZSwKKyAgICAgICJSIjogZmFsc2UsCisgICAgICAiUyI6IGZhbHNlLAorICAgICAgIlQiOiBmYWxzZSwKKyAgICAgICJVIjogZmFsc2UsCisgICAgICAiViI6IGZhbHNlLAorICAgICAgIlciOiBmYWxzZSwKKyAgICAgICJYIjogZmFsc2UsCisgICAgICAiWSI6IGZhbHNlLAorICAgICAgIloiOiBmYWxzZQorICAgICAgfSwKKyAgICJNb2R1bGVQYXJhbWV0ZXJzIjogeworICAgICAgIlN5bWJvbHMiOiBmYWxzZSwKKyAgICAgICJOdW1iZXJzIjogZmFsc2UsCisgICAgICAiQSI6IGZhbHNlLAorICAgICAgIkIiOiBmYWxzZSwKKyAgICAgICJDIjogZmFsc2UsCisgICAgICAiRCI6IGZhbHNlLAorICAgICAgIkUiOiBmYWxzZSwKKyAgICAgICJGIjogZmFsc2UsCisgICAgICAiRyI6IGZhbHNlLAorICAgICAgIkgiOiBmYWxzZSwKKyAgICAgICJJIjogZmFsc2UsCisgICAgICAiSiI6IGZhbHNlLAorICAgICAgIksiOiBmYWxzZSwKKyAgICAgICJMIjogZmFsc2UsCisgICAgICAiTSI6IGZhbHNlLAorICAgICAgIk4iOiBmYWxzZSwKKyAgICAgICJPIjogZmFsc2UsCisgICAgICAiUCI6IGZhbHNlLAorICAgICAgIlEiOiBmYWxzZSwKKyAgICAgICJSIjogZmFsc2UsCisgICAgICAiUyI6IGZhbHNlLAorICAgICAgIlQiOiB0cnVlLAorICAgICAgIlUiOiBmYWxzZSwKKyAgICAgICJWIjogZmFsc2UsCisgICAgICAiVyI6IGZhbHNlLAorICAgICAgIlgiOiBmYWxzZSwKKyAgICAgICJZIjogZmFsc2UsCisgICAgICAiWiI6IGZhbHNlCisgICAgICB9CisgICB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvbWVudS5odG1sIGIvYXBpZG9jL2h0bWwvbWVudS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1YjM2NWMKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9tZW51Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PHRpdGxlPk1lbnUgLSBJb1RfTG9hZF9UZXN0X0ZyYW1ld29yazwvdGl0bGU+PGJhc2UgdGFyZ2V0PSJDb250ZW50Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9ImphdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZE1lbnVQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9TWVudT48ZGl2IGNsYXNzPU1UaXRsZT5Jb1RfTG9hZF9UZXN0X0ZyYW1ld29yazxkaXYgY2xhc3M9TVN1YlRpdGxlPkFQSSBEb2N1bWVudGF0aW9uPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NRmlsZT48YSBocmVmPSJmaWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwiPkluZmx1eERCX0RlZmluaXRpb25zLnR0Y248L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NRmlsZT48YSBocmVmPSJmaWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sIj5JbmZsdXhEQl9GdW5jdGlvbnMudHRjbjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPU1FbnRyeT48ZGl2IGNsYXNzPU1GaWxlPjxhIGhyZWY9ImZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sIj5JT1RfQXBwX0RlZmluaXRpb25zPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9TUVudHJ5PjxkaXYgY2xhc3M9TUZpbGU+PGEgaHJlZj0iZmlsZXMvSU9UX0FwcF9GdW5jdGlvbnMtdHRjbi5odG1sIj5JT1RfQXBwX0Z1bmN0aW9uczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPU1FbnRyeT48ZGl2IGNsYXNzPU1GaWxlPjxhIGhyZWY9ImZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCI+SU9UX0xHZW5fRGVmaW5pdGlvbnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NRmlsZT48YSBocmVmPSJmaWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sIj5JT1RfTEdlbl9GdW5jdGlvbnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NRmlsZT48YSBocmVmPSJmaWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwiPklPVF9MR2VuX1N0ZXBzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9TUVudHJ5PjxkaXYgY2xhc3M9TUdyb3VwPjxhIGhyZWY9ImphdmFzY3JpcHQ6VG9nZ2xlTWVudSgnTUdyb3VwQ29udGVudDEnKSIgdGFyZ2V0PSJfc2VsZiI+SW5kZXg8L2E+PGRpdiBjbGFzcz1NR3JvdXBDb250ZW50IGlkPU1Hcm91cENvbnRlbnQxPjxkaXYgY2xhc3M9TUVudHJ5PjxkaXYgY2xhc3M9TUluZGV4PjxhIGhyZWY9ImluZGV4L0NvbnN0YW50cy5odG1sIj5Db25zdGFudHM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NSW5kZXg+PGEgaHJlZj0iaW5kZXgvR2VuZXJhbC5odG1sIj5FdmVyeXRoaW5nPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9TUVudHJ5PjxkaXYgY2xhc3M9TUluZGV4PjxhIGhyZWY9ImluZGV4L0ZpbGVzLmh0bWwiPkZpbGVzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9TUVudHJ5PjxkaXYgY2xhc3M9TUluZGV4PjxhIGhyZWY9ImluZGV4L0Z1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1NRW50cnk+PGRpdiBjbGFzcz1NSW5kZXg+PGEgaHJlZj0iaW5kZXgvTW9kdWxlUGFyYW1ldGVycy5odG1sIj5Nb2R1bGUgUGFyYW1ldGVyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPU1FbnRyeT48ZGl2IGNsYXNzPU1JbmRleD48YSBocmVmPSJpbmRleC9UeXBlcy5odG1sIj5UeXBlczwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQordmFyIHNlYXJjaFBhbmVsID0gbmV3IFNlYXJjaFBhbmVsKCJzZWFyY2hQYW5lbCIsICJGcmFtZWRIVE1MIiwgInNlYXJjaCIpOworLS0+PC9zY3JpcHQ+PGRpdiBpZD1NU2VhcmNoUGFuZWwgY2xhc3M9TVNlYXJjaFBhbmVsSW5hY3RpdmU+PGlucHV0IHR5cGU9dGV4dCBpZD1NU2VhcmNoRmllbGQgdmFsdWU9U2VhcmNoIG9uRm9jdXM9InNlYXJjaFBhbmVsLk9uU2VhcmNoRmllbGRGb2N1cyh0cnVlKSIgb25CbHVyPSJzZWFyY2hQYW5lbC5PblNlYXJjaEZpZWxkRm9jdXMoZmFsc2UpIiBvbktleVVwPSJzZWFyY2hQYW5lbC5PblNlYXJjaEZpZWxkQ2hhbmdlKCkiPjxzZWxlY3QgaWQ9TVNlYXJjaFR5cGUgb25Gb2N1cz0ic2VhcmNoUGFuZWwuT25TZWFyY2hUeXBlRm9jdXModHJ1ZSkiIG9uQmx1cj0ic2VhcmNoUGFuZWwuT25TZWFyY2hUeXBlRm9jdXMoZmFsc2UpIiBvbkNoYW5nZT0ic2VhcmNoUGFuZWwuT25TZWFyY2hUeXBlQ2hhbmdlKCkiPjxvcHRpb24gIGlkPU1TZWFyY2hFdmVyeXRoaW5nIHNlbGVjdGVkIHZhbHVlPSJHZW5lcmFsIj5FdmVyeXRoaW5nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iQ29uc3RhbnRzIj5Db25zdGFudHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJGaWxlcyI+RmlsZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJGdW5jdGlvbnMiPkZ1bmN0aW9uczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ik1vZHVsZVBhcmFtZXRlcnMiPk1vZHVsZSBQYXJhbWV0ZXJzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iVHlwZXMiPlR5cGVzPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PCEtLU1lbnUtLT4KKworCis8ZGl2IGlkPUZvb3Rlcj48cD5Db3B5cmlnaHQgMjAyMCBUZXN0IENvbXBldGVuY2UgQ2VudGVyPC9wPjxwPkdlbmVyYXRlZCBvbiAyMDIwLTAyLTA3PC9wPjxwPjxhIGhyZWY9Imh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIj5HZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzPC9hPjwvcD48L2Rpdj48IS0tRm9vdGVyLS0+CisKKworPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOyB9ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpO30vLyAtLT48L3NjcmlwdD48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL3NlYXJjaC9Db25zdGFudHNDLmh0bWwgYi9hcGlkb2MvaHRtbC9zZWFyY2gvQ29uc3RhbnRzQy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NDUwZGUKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvQ29uc3RhbnRzQy5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKworPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkU2VhcmNoUmVzdWx0c1BhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKSI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKworCisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1JbmRleD48ZGl2IGNsYXNzPUlQYWdlVGl0bGU+U2VhcmNoIFJlc3VsdHM8L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPUxvYWRpbmc+TG9hZGluZy4uLjwvZGl2Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRiZWhhdmlvclR5cGU+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI2NfSU9UX2JlaGF2aW9yVHlwZSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9iZWhhdmlvclR5cGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRlbnRpdHlUeXBlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNjX0lPVF9lbnRpdHlUeXBlIiBjbGFzcz1JU3ltYm9sPmNfSU9UX2VudGl0eVR5cGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRDT0FQX3VuZHNldExvY2FsQWRkcmVzc191bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kUmVnRGVyZWdfdW5kaW5pdFJlc291cmNlVmFsdWVzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGNyZWF0ZVJlc291cmNlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGhhbmRsZUV4ZWN1dGU+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGluaXRSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGluaXRUcmFuc3BvcnRfdW5kYm9vbFZhcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXIiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRGU01fdW5kU2ltRGV2aWNlX3VuZHVwZGF0ZVJlc291cmNlVmFsdWVzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRnZW5SbmRWYWx1ZV91bmR2YXJQYXJhbXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX2dlblJuZFZhbHVlX3ZhclBhcmFtcyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9nZW5SbmRWYWx1ZV92YXJQYXJhbXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZGFkZEhvc3RIZWFkZXJfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZGFkZFRvVXJpX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZGFkZFRvVXJpX3VuZHN0cmluZ1BhcmFtPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZGNsb3NlQ29ubmVjdGlvbj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb24iIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZGluaXRFbnRpdHlDb250ZXh0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0IiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZG9wZW5Db25uZWN0aW9uX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZHNldE1ldGhvZF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW0iIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRIVFRQX3VuZHNldFVyaV91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW0iIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRMZXNoYW5fdW5kZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX3VuZGludG9WYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhciIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRMd00yTV91bmRzZXRDbGllbnROYW1lSW5SZWdpc3Rlcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXIiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRMd00yTV91bmRzZXRDbGllbnROYW1lSW5SZWdpc3Rlcl91bmRzdHJpbmdWYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhciIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRNUVRUX3VuZHNldENsaWVudElkX3VuZHN0cmluZ1BhcmFtPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRNUVRUX3VuZHNldExvY2FsQWRkcmVzc191bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmRwcmludF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW0iIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9jX3VuZElPVF91bmRzdGVwTmFtZV91bmR0Y0ZpbmlzaGVkX3VuZHdpdGhWZXJkaWN0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0IiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX3RjRmluaXNoZWRfd2l0aFZlcmRpY3Q8L2E+PC9kaXY+PC9kaXY+PC90YWJsZT48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPVNlYXJjaGluZz5TZWFyY2hpbmcuLi48L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPU5vTWF0Y2hlcz5ObyBNYXRjaGVzPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIiwgIkZyYW1lZEhUTUwiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD48L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvc2VhcmNoL0ZpbGVzSS5odG1sIGIvYXBpZG9jL2h0bWwvc2VhcmNoL0ZpbGVzSS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNWVjYzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvRmlsZXNJLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5TZWFyY2ggUmVzdWx0czwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9TG9hZGluZz5Mb2FkaW5nLi4uPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0luZmx1eERCX3VuZERlZmluaXRpb25zX3BlcnR0Y24+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0luZmx1eERCX0RlZmluaXRpb25zLnR0Y24iIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0luZmx1eERCX3VuZEZ1bmN0aW9uc19wZXJ0dGNuPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24iIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9JT1RfdW5kQXBwX3VuZERlZmluaXRpb25zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfRGVmaW5pdGlvbnMiIGNsYXNzPUlTeW1ib2w+SU9UX0FwcF9EZWZpbml0aW9uczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0lPVF91bmRBcHBfdW5kRnVuY3Rpb25zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNJT1RfQXBwX0Z1bmN0aW9ucyIgY2xhc3M9SVN5bWJvbD5JT1RfQXBwX0Z1bmN0aW9uczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0lPVF91bmRMR2VuX3VuZERlZmluaXRpb25zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfTEdlbl9EZWZpbml0aW9ucyIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9EZWZpbml0aW9uczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0lPVF91bmRMR2VuX3VuZEZ1bmN0aW9ucz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0Z1bmN0aW9ucyIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9GdW5jdGlvbnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9JT1RfdW5kTEdlbl91bmRTdGVwcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjSU9UX0xHZW5fU3RlcHMiIGNsYXNzPUlTeW1ib2w+SU9UX0xHZW5fU3RlcHM8L2E+PC9kaXY+PC9kaXY+PC90YWJsZT48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPVNlYXJjaGluZz5TZWFyY2hpbmcuLi48L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPU5vTWF0Y2hlcz5ObyBNYXRjaGVzPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIiwgIkZyYW1lZEhUTUwiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD48L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvc2VhcmNoL0Z1bmN0aW9uc0EuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9GdW5jdGlvbnNBLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzczMDVjNgotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3NlYXJjaC9GdW5jdGlvbnNBLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5TZWFyY2ggUmVzdWx0czwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9TG9hZGluZz5Mb2FkaW5nLi4uPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2FzX3VuZEluZmx1eERCX3VuZGV2ZW50SGFuZGxlcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2FzX0luZmx1eERCX2V2ZW50SGFuZGxlciIgY2xhc3M9SVN5bWJvbD5hc19JbmZsdXhEQl9ldmVudEhhbmRsZXI8L2E+PC9kaXY+PC9kaXY+PC90YWJsZT48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPVNlYXJjaGluZz5TZWFyY2hpbmcuLi48L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPU5vTWF0Y2hlcz5ObyBNYXRjaGVzPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIiwgIkZyYW1lZEhUTUwiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD48L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvc2VhcmNoL0Z1bmN0aW9uc0YuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9GdW5jdGlvbnNGLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY5YTg0NAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3NlYXJjaC9GdW5jdGlvbnNGLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5TZWFyY2ggUmVzdWx0czwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9TG9hZGluZz5Mb2FkaW5nLi4uPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSW5mbHV4REJfdW5kYWRkRmllbGQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX2FkZEZpZWxkIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfYWRkRmllbGQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZEluZmx1eERCX3VuZGFkZFRhZz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfYWRkVGFnIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfYWRkVGFnPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJbmZsdXhEQl91bmRjb25uZWN0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9jb25uZWN0IiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfY29ubmVjdDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSW5mbHV4REJfdW5kZW5jb2RlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9lbmNvZGUiIGNsYXNzPUlTeW1ib2w+Zl9JbmZsdXhEQl9lbmNvZGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZEluZmx1eERCX3VuZHNjaGVkdWxlTmV4dFJlcG9ydD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0IiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2NoZWR1bGVOZXh0UmVwb3J0PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJbmZsdXhEQl91bmRzZW5kPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zZW5kIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2VuZDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSW5mbHV4REJfdW5kc2V0TWVhc3VyZW1lbnQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX3NldE1lYXN1cmVtZW50IiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfc2V0TWVhc3VyZW1lbnQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElubGZ1eERCX3VuZGxvZ191bmRkZWJ1Zz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5sZnV4REJfbG9nX2RlYnVnIiBjbGFzcz1JU3ltYm9sPmZfSW5sZnV4REJfbG9nX2RlYnVnPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kQXBwX3VuZHN0YXJ0RXhlY0N0cmw+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0FwcF9zdGFydEV4ZWNDdHJsPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kQ09BUF91bmRMR2VuX3VuZHJlY2VpdmVNZXNzYWdlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfQ09BUF9MR2VuX3JlY2VpdmVNZXNzYWdlIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZENPQVBfdW5kTG9jYWxUcmFuc3BvcnRfdW5kc2VuZD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0NPQVBfTG9jYWxUcmFuc3BvcnRfc2VuZCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGJlaGF2aW9yPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9ImphdmFzY3JpcHQ6c2VhcmNoUmVzdWx0cy5Ub2dnbGUoJ1NSX2ZfdW5kSU9UX3VuZExHZW5fdW5kYmVoYXZpb3InKSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2JlaGF2aW9yPC9hPjxkaXYgY2xhc3M9SVN1YkluZGV4PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9iZWhhdmlvciIgY2xhc3M9SUZpbGU+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2JlaGF2aW9yIiBjbGFzcz1JRmlsZT5JT1RfTEdlbl9GdW5jdGlvbnMudHRjbjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kY3JlYXRlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2NyZWF0ZSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2NyZWF0ZTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kZGVjbGFyZVN0ZXBzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2RlY2xhcmVTdGVwcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2RlY2xhcmVTdGVwczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9nZXRFbnRpdHlJZHhpbkVudGl0eUdyb3VwIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kaW5pdD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5faW5pdCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2luaXQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGluaXRTYW1wbGVzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9pbml0U2FtcGxlcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2luaXRTYW1wbGVzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kTEdlbl91bmRMb2dnaW5nX3VuZERFQlVHPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9Mb2dnaW5nX0RFQlVHIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kTG9nZ2luZ191bmRFUlJPUj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19FUlJPUiIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1I8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZExvZ2dpbmdfdW5kVkVSQk9TRT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fTG9nZ2luZ19WRVJCT1NFPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kTEdlbl91bmRMb2dnaW5nX3VuZFdBUk5JTkc+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX0xvZ2dpbmdfV0FSTklORzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRDT0FQX3VuZHNldExvY2FsQWRkcmVzc191bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0NPQVBfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kUmVnRGVyZWdfdW5kaW5pdFJlc291cmNlVmFsdWVzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGNyZWF0ZVJlc291cmNlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGhhbmRsZUV4ZWN1dGU+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaGFuZGxlRXhlY3V0ZTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGluaXRSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kU2ltRGV2aWNlX3VuZGluaXRUcmFuc3BvcnRfdW5kYm9vbFZhcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhcjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRGU01fdW5kU2ltRGV2aWNlX3VuZHVwZGF0ZVJlc291cmNlVmFsdWVzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRnZW5SbmRWYWx1ZV91bmR2YXJQYXJhbXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9nZW5SbmRWYWx1ZV92YXJQYXJhbXMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX2dlblJuZFZhbHVlX3ZhclBhcmFtczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZGFkZEhvc3RIZWFkZXJfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZGFkZFRvVXJpX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZGFkZFRvVXJpX3VuZHN0cmluZ1BhcmFtPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZGNsb3NlQ29ubmVjdGlvbj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfY2xvc2VDb25uZWN0aW9uIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZGluaXRFbnRpdHlDb250ZXh0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9pbml0RW50aXR5Q29udGV4dDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZG9wZW5Db25uZWN0aW9uX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZHNldE1ldGhvZF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRIVFRQX3VuZHNldFVyaV91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRMZXNoYW5fdW5kZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX3VuZGludG9WYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0xlc2hhbl9nZXRDbGllbnRGcm9tUmVzcG9uc2VfaW50b1ZhcjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRMd00yTV91bmRzZXRDbGllbnROYW1lSW5SZWdpc3Rlcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlcjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRMd00yTV91bmRzZXRDbGllbnROYW1lSW5SZWdpc3Rlcl91bmRzdHJpbmdWYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyX3N0cmluZ1ZhcjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRNUVRUX3VuZHNldENsaWVudElkX3VuZHN0cmluZ1BhcmFtPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRNUVRUX3VuZHNldExvY2FsQWRkcmVzc191bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0TG9jYWxBZGRyZXNzX2J5VmFyczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmRwcmludF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX3ByaW50X3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9wcmludF9zdHJpbmdQYXJhbTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kc3RlcF91bmR0Y0ZpbmlzaGVkX3VuZHdpdGhWZXJkaWN0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfdGNGaW5pc2hlZF93aXRoVmVyZGljdCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfdGNGaW5pc2hlZF93aXRoVmVyZGljdDwvYT48L2Rpdj48L2Rpdj48L3RhYmxlPjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9U2VhcmNoaW5nPlNlYXJjaGluZy4uLjwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9Tm9NYXRjaGVzPk5vIE1hdGNoZXM8L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiLCAiRnJhbWVkSFRNTCIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbEEuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9HZW5lcmFsQS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3MzA1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbEEuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Mb2FkaW5nPkxvYWRpbmcuLi48L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfYXNfdW5kSW5mbHV4REJfdW5kZXZlbnRIYW5kbGVyPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjYXNfSW5mbHV4REJfZXZlbnRIYW5kbGVyIiBjbGFzcz1JU3ltYm9sPmFzX0luZmx1eERCX2V2ZW50SGFuZGxlcjwvYT48L2Rpdj48L2Rpdj48L3RhYmxlPjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9U2VhcmNoaW5nPlNlYXJjaGluZy4uLjwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9Tm9NYXRjaGVzPk5vIE1hdGNoZXM8L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiLCAiRnJhbWVkSFRNTCIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbEMuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9HZW5lcmFsQy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NDUwZGUKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbEMuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Mb2FkaW5nPkxvYWRpbmcuLi48L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kYmVoYXZpb3JUeXBlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCNjX0lPVF9iZWhhdmlvclR5cGUiIGNsYXNzPUlTeW1ib2w+Y19JT1RfYmVoYXZpb3JUeXBlPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kZW50aXR5VHlwZT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjY19JT1RfZW50aXR5VHlwZSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9lbnRpdHlUeXBlPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kQ09BUF91bmRzZXRMb2NhbEFkZHJlc3NfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFJlZ0RlcmVnX3VuZGluaXRSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1JlZ0RlcmVnX2luaXRSZXNvdXJjZVZhbHVlcyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9GU01fUmVnRGVyZWdfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFNpbURldmljZV91bmRjcmVhdGVSZXNvdXJjZXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfY3JlYXRlUmVzb3VyY2VzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFNpbURldmljZV91bmRoYW5kbGVFeGVjdXRlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGUiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFNpbURldmljZV91bmRpbml0UmVzb3VyY2VWYWx1ZXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFJlc291cmNlVmFsdWVzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFNpbURldmljZV91bmRpbml0VHJhbnNwb3J0X3VuZGJvb2xWYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0ZTTV9TaW1EZXZpY2VfaW5pdFRyYW5zcG9ydF9ib29sVmFyPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kRlNNX3VuZFNpbURldmljZV91bmR1cGRhdGVSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfRlNNX1NpbURldmljZV91cGRhdGVSZXNvdXJjZVZhbHVlcyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9GU01fU2ltRGV2aWNlX3VwZGF0ZVJlc291cmNlVmFsdWVzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kZ2VuUm5kVmFsdWVfdW5kdmFyUGFyYW1zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9nZW5SbmRWYWx1ZV92YXJQYXJhbXMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRhZGRIb3N0SGVhZGVyX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRIb3N0SGVhZGVyX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZEhvc3RIZWFkZXJfYnlWYXJzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRhZGRUb1VyaV91bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfYWRkVG9VcmlfYnlWYXJzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRhZGRUb1VyaV91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9hZGRUb1VyaV9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2FkZFRvVXJpX3N0cmluZ1BhcmFtPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRjbG9zZUNvbm5lY3Rpb24+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfY2xvc2VDb25uZWN0aW9uPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRpbml0RW50aXR5Q29udGV4dD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfSFRUUF9pbml0RW50aXR5Q29udGV4dCIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9IVFRQX2luaXRFbnRpdHlDb250ZXh0PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRvcGVuQ29ubmVjdGlvbl91bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfb3BlbkNvbm5lY3Rpb25fYnlWYXJzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRzZXRNZXRob2RfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0TWV0aG9kX3N0cmluZ1BhcmFtPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kSFRUUF91bmRzZXRVcmlfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0hUVFBfc2V0VXJpX3N0cmluZ1BhcmFtPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kTGVzaGFuX3VuZGdldENsaWVudEZyb21SZXNwb25zZV91bmRpbnRvVmFyPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXIiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kTHdNMk1fdW5kc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX0x3TTJNX3NldENsaWVudE5hbWVJblJlZ2lzdGVyPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kTHdNMk1fdW5kc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfdW5kc3RyaW5nVmFyPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXIiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kTVFUVF91bmRzZXRDbGllbnRJZF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRDbGllbnRJZF9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV9NUVRUX3NldENsaWVudElkX3N0cmluZ1BhcmFtPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kTVFUVF91bmRzZXRMb2NhbEFkZHJlc3NfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNjX0lPVF9zdGVwTmFtZV9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Y19JT1Rfc3RlcE5hbWVfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kcHJpbnRfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2NfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtIiBjbGFzcz1JU3ltYm9sPmNfSU9UX3N0ZXBOYW1lX3ByaW50X3N0cmluZ1BhcmFtPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfY191bmRJT1RfdW5kc3RlcE5hbWVfdW5kdGNGaW5pc2hlZF91bmR3aXRoVmVyZGljdD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjY19JT1Rfc3RlcE5hbWVfdGNGaW5pc2hlZF93aXRoVmVyZGljdCIgY2xhc3M9SVN5bWJvbD5jX0lPVF9zdGVwTmFtZV90Y0ZpbmlzaGVkX3dpdGhWZXJkaWN0PC9hPjwvZGl2PjwvZGl2PjwvdGFibGU+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1TZWFyY2hpbmc+U2VhcmNoaW5nLi4uPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Ob01hdGNoZXM+Tm8gTWF0Y2hlczwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTG9hZGluZyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk5vTWF0Y2hlcyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwordmFyIHNlYXJjaFJlc3VsdHMgPSBuZXcgU2VhcmNoUmVzdWx0cygic2VhcmNoUmVzdWx0cyIsICJGcmFtZWRIVE1MIik7CitzZWFyY2hSZXN1bHRzLlNlYXJjaCgpOworLS0+PC9zY3JpcHQ+PC9kaXY+PCEtLUluZGV4LS0+CisKKworPHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpOyB9ZG9jdW1lbnQud3JpdGUoIjwvZGl2PiIpO30vLyAtLT48L3NjcmlwdD48L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL3NlYXJjaC9HZW5lcmFsRi5odG1sIGIvYXBpZG9jL2h0bWwvc2VhcmNoL0dlbmVyYWxGLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY5YTg0NAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3NlYXJjaC9HZW5lcmFsRi5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKworPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy9tYWluLmNzcyI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9tYWluLmpzIj48L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L3NlYXJjaGRhdGEuanMiPjwvc2NyaXB0PjwvaGVhZD48Ym9keSBjbGFzcz0iRnJhbWVkU2VhcmNoUmVzdWx0c1BhZ2UiIG9uTG9hZD0iTkRPbkxvYWQoKSI+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0PjwhLS0KK2lmIChicm93c2VyVHlwZSkge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVHlwZSArICI+Iik7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclZlciArICI+Iik7IH19Ly8gLS0+PC9zY3JpcHQ+CisKKworCisKKzwhLS0gIEdlbmVyYXRlZCBieSBOYXR1cmFsIERvY3MsIHZlcnNpb24gMS41MiAtLT4KKzwhLS0gIGh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnICAtLT4KKworPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNilodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAtLT4KKworCisKKworPGRpdiBpZD1JbmRleD48ZGl2IGNsYXNzPUlQYWdlVGl0bGU+U2VhcmNoIFJlc3VsdHM8L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPUxvYWRpbmc+TG9hZGluZy4uLjwvZGl2Pjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZEluZmx1eERCX3VuZGFkZEZpZWxkPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9hZGRGaWVsZCIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2FkZEZpZWxkPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJbmZsdXhEQl91bmRhZGRUYWc+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX2FkZFRhZyIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2FkZFRhZzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSW5mbHV4REJfdW5kY29ubmVjdD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfY29ubmVjdCIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX2Nvbm5lY3Q8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZEluZmx1eERCX3VuZGVuY29kZT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfZW5jb2RlIiBjbGFzcz1JU3ltYm9sPmZfSW5mbHV4REJfZW5jb2RlPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJbmZsdXhEQl91bmRzY2hlZHVsZU5leHRSZXBvcnQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydCIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX3NjaGVkdWxlTmV4dFJlcG9ydDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSW5mbHV4REJfdW5kc2VuZD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSW5mbHV4REJfc2VuZCIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX3NlbmQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZEluZmx1eERCX3VuZHNldE1lYXN1cmVtZW50PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JbmZsdXhEQl9zZXRNZWFzdXJlbWVudCIgY2xhc3M9SVN5bWJvbD5mX0luZmx1eERCX3NldE1lYXN1cmVtZW50PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJbmxmdXhEQl91bmRsb2dfdW5kZGVidWc+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lubGZ1eERCX2xvZ19kZWJ1ZyIgY2xhc3M9SVN5bWJvbD5mX0lubGZ1eERCX2xvZ19kZWJ1ZzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZEFwcF91bmRzdGFydEV4ZWNDdHJsPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9BcHBfc3RhcnRFeGVjQ3RybCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9BcHBfc3RhcnRFeGVjQ3RybDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZENPQVBfdW5kTEdlbl91bmRyZWNlaXZlTWVzc2FnZT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0NPQVBfTEdlbl9yZWNlaXZlTWVzc2FnZSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9DT0FQX0xHZW5fcmVjZWl2ZU1lc3NhZ2U8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRDT0FQX3VuZExvY2FsVHJhbnNwb3J0X3VuZHNlbmQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9DT0FQX0xvY2FsVHJhbnNwb3J0X3NlbmQiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfQ09BUF9Mb2NhbFRyYW5zcG9ydF9zZW5kPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kTEdlbl91bmRiZWhhdmlvcj48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSJqYXZhc2NyaXB0OnNlYXJjaFJlc3VsdHMuVG9nZ2xlKCdTUl9mX3VuZElPVF91bmRMR2VuX3VuZGJlaGF2aW9yJykiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9iZWhhdmlvcjwvYT48ZGl2IGNsYXNzPUlTdWJJbmRleD48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fYmVoYXZpb3IiIGNsYXNzPUlGaWxlPkluZmx1eERCX0Z1bmN0aW9ucy50dGNuPC9hPjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9iZWhhdmlvciIgY2xhc3M9SUZpbGU+SU9UX0xHZW5fRnVuY3Rpb25zLnR0Y248L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGNyZWF0ZT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9jcmVhdGUiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9jcmVhdGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGRlY2xhcmVTdGVwcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9kZWNsYXJlU3RlcHMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9kZWNsYXJlU3RlcHM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGdldEVudGl0eUlkeGluRW50aXR5R3JvdXA+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fZ2V0RW50aXR5SWR4aW5FbnRpdHlHcm91cCIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX2dldEVudGl0eUlkeGluRW50aXR5R3JvdXA8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZGluaXQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX2luaXQiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9pbml0PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kTEdlbl91bmRpbml0U2FtcGxlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5faW5pdFNhbXBsZXMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9pbml0U2FtcGxlczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kTG9nZ2luZ191bmRERUJVRz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9GdW5jdGlvbnMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fTG9nZ2luZ19ERUJVRyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX0xvZ2dpbmdfREVCVUc8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZExvZ2dpbmdfdW5kRVJST1I+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX0xvZ2dpbmdfRVJST1IiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9Mb2dnaW5nX0VSUk9SPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfZl91bmRJT1RfdW5kTEdlbl91bmRMb2dnaW5nX3VuZFZFUkJPU0U+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRnVuY3Rpb25zLXR0Y24uaHRtbCNmX0lPVF9MR2VuX0xvZ2dpbmdfVkVSQk9TRSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX0xvZ2dpbmdfVkVSQk9TRTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX2ZfdW5kSU9UX3VuZExHZW5fdW5kTG9nZ2luZ191bmRXQVJOSU5HPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjZl9JT1RfTEdlbl9Mb2dnaW5nX1dBUk5JTkciIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9Mb2dnaW5nX1dBUk5JTkc8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kQ09BUF91bmRzZXRMb2NhbEFkZHJlc3NfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfQ09BUF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9DT0FQX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFJlZ0RlcmVnX3VuZGluaXRSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9SZWdEZXJlZ19pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFNpbURldmljZV91bmRjcmVhdGVSZXNvdXJjZXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2NyZWF0ZVJlc291cmNlcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9jcmVhdGVSZXNvdXJjZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFNpbURldmljZV91bmRoYW5kbGVFeGVjdXRlPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9oYW5kbGVFeGVjdXRlIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2hhbmRsZUV4ZWN1dGU8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFNpbURldmljZV91bmRpbml0UmVzb3VyY2VWYWx1ZXM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRSZXNvdXJjZVZhbHVlcyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0UmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFNpbURldmljZV91bmRpbml0VHJhbnNwb3J0X3VuZGJvb2xWYXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9GU01fU2ltRGV2aWNlX2luaXRUcmFuc3BvcnRfYm9vbFZhciIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfRlNNX1NpbURldmljZV9pbml0VHJhbnNwb3J0X2Jvb2xWYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kRlNNX3VuZFNpbURldmljZV91bmR1cGRhdGVSZXNvdXJjZVZhbHVlcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0ZTTV9TaW1EZXZpY2VfdXBkYXRlUmVzb3VyY2VWYWx1ZXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kZ2VuUm5kVmFsdWVfdW5kdmFyUGFyYW1zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfZ2VuUm5kVmFsdWVfdmFyUGFyYW1zIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9nZW5SbmRWYWx1ZV92YXJQYXJhbXM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRhZGRIb3N0SGVhZGVyX3VuZGJ5VmFycz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnMiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkSG9zdEhlYWRlcl9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRhZGRUb1VyaV91bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2FkZFRvVXJpX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9hZGRUb1VyaV9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRhZGRUb1VyaV91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW0iIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfYWRkVG9Vcmlfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRjbG9zZUNvbm5lY3Rpb24+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX2Nsb3NlQ29ubmVjdGlvbiIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9jbG9zZUNvbm5lY3Rpb248L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRpbml0RW50aXR5Q29udGV4dD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX0hUVFBfaW5pdEVudGl0eUNvbnRleHQ8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRvcGVuQ29ubmVjdGlvbl91bmRieVZhcnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX29wZW5Db25uZWN0aW9uX2J5VmFycyIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9vcGVuQ29ubmVjdGlvbl9ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRzZXRNZXRob2RfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldE1ldGhvZF9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRNZXRob2Rfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kSFRUUF91bmRzZXRVcmlfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9IVFRQX3NldFVyaV9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfSFRUUF9zZXRVcmlfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kTGVzaGFuX3VuZGdldENsaWVudEZyb21SZXNwb25zZV91bmRpbnRvVmFyPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfTGVzaGFuX2dldENsaWVudEZyb21SZXNwb25zZV9pbnRvVmFyIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9MZXNoYW5fZ2V0Q2xpZW50RnJvbVJlc3BvbnNlX2ludG9WYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kTHdNMk1fdW5kc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3RlciIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kTHdNMk1fdW5kc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfdW5kc3RyaW5nVmFyPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfTHdNMk1fc2V0Q2xpZW50TmFtZUluUmVnaXN0ZXJfc3RyaW5nVmFyIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9Md00yTV9zZXRDbGllbnROYW1lSW5SZWdpc3Rlcl9zdHJpbmdWYXI8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kTVFUVF91bmRzZXRDbGllbnRJZF91bmRzdHJpbmdQYXJhbT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW0iIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX01RVFRfc2V0Q2xpZW50SWRfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kTVFUVF91bmRzZXRMb2NhbEFkZHJlc3NfdW5kYnlWYXJzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNmX0lPVF9MR2VuX3N0ZXBfTVFUVF9zZXRMb2NhbEFkZHJlc3NfYnlWYXJzIiBjbGFzcz1JU3ltYm9sPmZfSU9UX0xHZW5fc3RlcF9NUVRUX3NldExvY2FsQWRkcmVzc19ieVZhcnM8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kcHJpbnRfdW5kc3RyaW5nUGFyYW0+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fU3RlcHMtdHRjbi5odG1sI2ZfSU9UX0xHZW5fc3RlcF9wcmludF9zdHJpbmdQYXJhbSIgY2xhc3M9SVN5bWJvbD5mX0lPVF9MR2VuX3N0ZXBfcHJpbnRfc3RyaW5nUGFyYW08L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9mX3VuZElPVF91bmRMR2VuX3VuZHN0ZXBfdW5kdGNGaW5pc2hlZF91bmR3aXRoVmVyZGljdD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9TdGVwcy10dGNuLmh0bWwjZl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3QiIGNsYXNzPUlTeW1ib2w+Zl9JT1RfTEdlbl9zdGVwX3RjRmluaXNoZWRfd2l0aFZlcmRpY3Q8L2E+PC9kaXY+PC9kaXY+PC90YWJsZT48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPVNlYXJjaGluZz5TZWFyY2hpbmcuLi48L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPU5vTWF0Y2hlcz5ObyBNYXRjaGVzPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIiwgIkZyYW1lZEhUTUwiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD48L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvc2VhcmNoL0dlbmVyYWxJLmh0bWwgYi9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbEkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmQwMGJhCi0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvc2VhcmNoL0dlbmVyYWxJLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorCis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzL21haW4uY3NzIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQgc3JjPSIuLi9qYXZhc2NyaXB0L21haW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvc2VhcmNoZGF0YS5qcyI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJGcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSIgb25Mb2FkPSJORE9uTG9hZCgpIj48c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJUeXBlICsgIj4iKTtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8ZGl2IGNsYXNzPSIgKyBicm93c2VyVmVyICsgIj4iKTsgfX0vLyAtLT48L3NjcmlwdD4KKworCisKKworPCEtLSAgR2VuZXJhdGVkIGJ5IE5hdHVyYWwgRG9jcywgdmVyc2lvbiAxLjUyIC0tPgorPCEtLSAgaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgIC0tPgorCis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI2KWh0dHA6Ly93d3cubmF0dXJhbGRvY3Mub3JnIC0tPgorCisKKworCis8ZGl2IGlkPUluZGV4PjxkaXYgY2xhc3M9SVBhZ2VUaXRsZT5TZWFyY2ggUmVzdWx0czwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9TG9hZGluZz5Mb2FkaW5nLi4uPC9kaXY+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MD48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0luZmx1eERCX3VuZERlZmluaXRpb25zX3BlcnR0Y24+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0luZmx1eERCX0RlZmluaXRpb25zLnR0Y24iIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRGVmaW5pdGlvbnMudHRjbjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0luZmx1eERCX3VuZEZ1bmN0aW9uc19wZXJ0dGNuPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0luZmx1eERCX0Z1bmN0aW9ucy10dGNuLmh0bWwjSW5mbHV4REJfRnVuY3Rpb25zLnR0Y24iIGNsYXNzPUlTeW1ib2w+SW5mbHV4REJfRnVuY3Rpb25zLnR0Y248L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9JT1RfdW5kQXBwX3VuZENUPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfQ1QiIGNsYXNzPUlTeW1ib2w+SU9UX0FwcF9DVDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0lPVF91bmRBcHBfdW5kRGVmaW5pdGlvbnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0FwcF9EZWZpbml0aW9ucyIgY2xhc3M9SVN5bWJvbD5JT1RfQXBwX0RlZmluaXRpb25zPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfSU9UX3VuZEFwcF91bmRGdW5jdGlvbnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9GdW5jdGlvbnMtdHRjbi5odG1sI0lPVF9BcHBfRnVuY3Rpb25zIiBjbGFzcz1JU3ltYm9sPklPVF9BcHBfRnVuY3Rpb25zPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfSU9UX3VuZExHZW5fdW5kQ1Q+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0NUIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX0NUPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfSU9UX3VuZExHZW5fdW5kRGVmaW5pdGlvbnM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0xHZW5fRGVmaW5pdGlvbnMtdHRjbi5odG1sI0lPVF9MR2VuX0RlZmluaXRpb25zIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX0RlZmluaXRpb25zPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfSU9UX3VuZExHZW5fdW5kRnVuY3Rpb25zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0Z1bmN0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fRnVuY3Rpb25zIiBjbGFzcz1JU3ltYm9sPklPVF9MR2VuX0Z1bmN0aW9uczwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX0lPVF91bmRMR2VuX3VuZFN0ZXBzPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX1N0ZXBzLXR0Y24uaHRtbCNJT1RfTEdlbl9TdGVwcyIgY2xhc3M9SVN5bWJvbD5JT1RfTEdlbl9TdGVwczwvYT48L2Rpdj48L2Rpdj48L3RhYmxlPjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9U2VhcmNoaW5nPlNlYXJjaGluZy4uLjwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9Tm9NYXRjaGVzPk5vIE1hdGNoZXM8L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiLCAiRnJhbWVkSFRNTCIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbFQuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9HZW5lcmFsVC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZTdkMTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvR2VuZXJhbFQuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Mb2FkaW5nPkxvYWRpbmcuLi48L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfVEM+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9GdW5jdGlvbnMtdHRjbi5odG1sI1RDIiBjbGFzcz1JU3ltYm9sPlRDPC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfdHNwX3VuZEVQVEZfdW5kRHNSZXN0QVBJX3VuZEFQSV91bmRkaXJlY3Rvcnk+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3RvcnkiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3Rvcnk8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl90c3BfdW5kRVBURl91bmREc1Jlc3RBUElfdW5kY3VzdG9taXphYmxlQXBwX3VuZGRpcmVjdG9yeT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRFUFRGX3VuZERzUmVzdEFQSV91bmRIVFRQU2VydmVyX3VuZGRpcmVjdG9yeT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3RvcnkiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfZGlyZWN0b3J5PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfdHNwX3VuZEVQVEZfdW5kRHNSZXN0QVBJX3VuZEhUVFBTZXJ2ZXJfdW5kUmVtb3RlQWRkcmVzcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVBZGRyZXNzIiBjbGFzcz1JU3ltYm9sPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3M8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl90c3BfdW5kRVBURl91bmREc1Jlc3RBUElfdW5kSFRUUFNlcnZlcl91bmRSZW1vdGVQb3J0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlUG9ydDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRjbGllbnRfdW5kYmFzZVBvcnQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9JbmZsdXhEQl9jbGllbnRfYmFzZVBvcnQiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRkZWJ1Zz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0luZmx1eERCX2RlYnVnIiBjbGFzcz1JU3ltYm9sPnRzcF9JbmZsdXhEQl9kZWJ1ZzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRyZXBvcnRQZXJpb2Q+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9JbmZsdXhEQl9yZXBvcnRQZXJpb2QiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJT1RfdW5kTEdlbl91bmRGU01zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSU9UX0xHZW5fRlNNcyIgY2xhc3M9SVN5bWJvbD50c3BfSU9UX0xHZW5fRlNNczwvYT48L2Rpdj48L2Rpdj48L3RhYmxlPjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9U2VhcmNoaW5nPlNlYXJjaGluZy4uLjwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9Tm9NYXRjaGVzPk5vIE1hdGNoZXM8L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiLCAiRnJhbWVkSFRNTCIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvTW9kdWxlUGFyYW1ldGVyc1QuaHRtbCBiL2FwaWRvYy9odG1sL3NlYXJjaC9Nb2R1bGVQYXJhbWV0ZXJzVC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MjZlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zZWFyY2gvTW9kdWxlUGFyYW1ldGVyc1QuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Mb2FkaW5nPkxvYWRpbmcuLi48L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfdHNwX3VuZEVQVEZfdW5kRHNSZXN0QVBJX3VuZEFQSV91bmRkaXJlY3Rvcnk+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSU9UX0FwcF9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3RvcnkiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0FQSV9kaXJlY3Rvcnk8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl90c3BfdW5kRVBURl91bmREc1Jlc3RBUElfdW5kY3VzdG9taXphYmxlQXBwX3VuZGRpcmVjdG9yeT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeSIgY2xhc3M9SVN5bWJvbD50c3BfRVBURl9Ec1Jlc3RBUElfY3VzdG9taXphYmxlQXBwX2RpcmVjdG9yeTwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRFUFRGX3VuZERzUmVzdEFQSV91bmRIVFRQU2VydmVyX3VuZGRpcmVjdG9yeT48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9kaXJlY3RvcnkiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfZGlyZWN0b3J5PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfdHNwX3VuZEVQVEZfdW5kRHNSZXN0QVBJX3VuZEhUVFBTZXJ2ZXJfdW5kUmVtb3RlQWRkcmVzcz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfRVBURl9Ec1Jlc3RBUElfSFRUUFNlcnZlcl9SZW1vdGVBZGRyZXNzIiBjbGFzcz1JU3ltYm9sPnRzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZUFkZHJlc3M8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl90c3BfdW5kRVBURl91bmREc1Jlc3RBUElfdW5kSFRUUFNlcnZlcl91bmRSZW1vdGVQb3J0PjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9BcHBfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9FUFRGX0RzUmVzdEFQSV9IVFRQU2VydmVyX1JlbW90ZVBvcnQiIGNsYXNzPUlTeW1ib2w+dHNwX0VQVEZfRHNSZXN0QVBJX0hUVFBTZXJ2ZXJfUmVtb3RlUG9ydDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRjbGllbnRfdW5kYmFzZVBvcnQ+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9JbmZsdXhEQl9jbGllbnRfYmFzZVBvcnQiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX2NsaWVudF9iYXNlUG9ydDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRkZWJ1Zz48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JbmZsdXhEQl9EZWZpbml0aW9ucy10dGNuLmh0bWwjdHNwX0luZmx1eERCX2RlYnVnIiBjbGFzcz1JU3ltYm9sPnRzcF9JbmZsdXhEQl9kZWJ1ZzwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJbmZsdXhEQl91bmRyZXBvcnRQZXJpb2Q+PGRpdiBjbGFzcz1JRW50cnk+PGEgaHJlZj0iLi4vZmlsZXMvSW5mbHV4REJfRGVmaW5pdGlvbnMtdHRjbi5odG1sI3RzcF9JbmZsdXhEQl9yZXBvcnRQZXJpb2QiIGNsYXNzPUlTeW1ib2w+dHNwX0luZmx1eERCX3JlcG9ydFBlcmlvZDwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVNSUmVzdWx0IGlkPVNSX3RzcF91bmRJT1RfdW5kTEdlbl91bmRGU01zPjxkaXYgY2xhc3M9SUVudHJ5PjxhIGhyZWY9Ii4uL2ZpbGVzL0lPVF9MR2VuX0RlZmluaXRpb25zLXR0Y24uaHRtbCN0c3BfSU9UX0xHZW5fRlNNcyIgY2xhc3M9SVN5bWJvbD50c3BfSU9UX0xHZW5fRlNNczwvYT48L2Rpdj48L2Rpdj48L3RhYmxlPjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9U2VhcmNoaW5nPlNlYXJjaGluZy4uLjwvZGl2PjxkaXYgY2xhc3M9U1JTdGF0dXMgaWQ9Tm9NYXRjaGVzPk5vIE1hdGNoZXM8L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkxvYWRpbmciKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJOb01hdGNoZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIjsKK3ZhciBzZWFyY2hSZXN1bHRzID0gbmV3IFNlYXJjaFJlc3VsdHMoInNlYXJjaFJlc3VsdHMiLCAiRnJhbWVkSFRNTCIpOworc2VhcmNoUmVzdWx0cy5TZWFyY2goKTsKKy0tPjwvc2NyaXB0PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvTm9SZXN1bHRzLmh0bWwgYi9hcGlkb2MvaHRtbC9zZWFyY2gvTm9SZXN1bHRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE1YTYwZAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3NlYXJjaC9Ob1Jlc3VsdHMuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Ob01hdGNoZXM+Tm8gTWF0Y2hlczwvZGl2PjwvZGl2PjwhLS1JbmRleC0tPgorCisKKzxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtpZiAoYnJvd3NlclZlcikge2RvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTsgfWRvY3VtZW50LndyaXRlKCI8L2Rpdj4iKTt9Ly8gLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zZWFyY2gvVHlwZXNJLmh0bWwgYi9hcGlkb2MvaHRtbC9zZWFyY2gvVHlwZXNJLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU0N2JiZAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3NlYXJjaC9UeXBlc0kuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CisKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMvbWFpbi5jc3MiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdCBzcmM9Ii4uL2phdmFzY3JpcHQvbWFpbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT1KYXZhU2NyaXB0IHNyYz0iLi4vamF2YXNjcmlwdC9zZWFyY2hkYXRhLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHkgY2xhc3M9IkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIiBvbkxvYWQ9Ik5ET25Mb2FkKCkiPjxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD48IS0tCitpZiAoYnJvd3NlclR5cGUpIHtkb2N1bWVudC53cml0ZSgiPGRpdiBjbGFzcz0iICsgYnJvd3NlclR5cGUgKyAiPiIpO2lmIChicm93c2VyVmVyKSB7ZG9jdW1lbnQud3JpdGUoIjxkaXYgY2xhc3M9IiArIGJyb3dzZXJWZXIgKyAiPiIpOyB9fS8vIC0tPjwvc2NyaXB0PgorCisKKworCis8IS0tICBHZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLCB2ZXJzaW9uIDEuNTIgLS0+Cis8IS0tICBodHRwOi8vd3d3Lm5hdHVyYWxkb2NzLm9yZyAgLS0+CisKKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjYpaHR0cDovL3d3dy5uYXR1cmFsZG9jcy5vcmcgLS0+CisKKworCisKKzxkaXYgaWQ9SW5kZXg+PGRpdiBjbGFzcz1JUGFnZVRpdGxlPlNlYXJjaCBSZXN1bHRzPC9kaXY+PGRpdiBjbGFzcz1TUlN0YXR1cyBpZD1Mb2FkaW5nPkxvYWRpbmcuLi48L2Rpdj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPjxkaXYgY2xhc3M9U1JSZXN1bHQgaWQ9U1JfSU9UX3VuZEFwcF91bmRDVD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfQXBwX0RlZmluaXRpb25zLXR0Y24uaHRtbCNJT1RfQXBwX0NUIiBjbGFzcz1JU3ltYm9sPklPVF9BcHBfQ1Q8L2E+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1TUlJlc3VsdCBpZD1TUl9JT1RfdW5kTEdlbl91bmRDVD48ZGl2IGNsYXNzPUlFbnRyeT48YSBocmVmPSIuLi9maWxlcy9JT1RfTEdlbl9EZWZpbml0aW9ucy10dGNuLmh0bWwjSU9UX0xHZW5fQ1QiIGNsYXNzPUlTeW1ib2w+SU9UX0xHZW5fQ1Q8L2E+PC9kaXY+PC9kaXY+PC90YWJsZT48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPVNlYXJjaGluZz5TZWFyY2hpbmcuLi48L2Rpdj48ZGl2IGNsYXNzPVNSU3RhdHVzIGlkPU5vTWF0Y2hlcz5ObyBNYXRjaGVzPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJMb2FkaW5nIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTm9NYXRjaGVzIikuc3R5bGUuZGlzcGxheT0ibm9uZSI7Cit2YXIgc2VhcmNoUmVzdWx0cyA9IG5ldyBTZWFyY2hSZXN1bHRzKCJzZWFyY2hSZXN1bHRzIiwgIkZyYW1lZEhUTUwiKTsKK3NlYXJjaFJlc3VsdHMuU2VhcmNoKCk7CistLT48L3NjcmlwdD48L2Rpdj48IS0tSW5kZXgtLT4KKworCis8c2NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+PCEtLQoraWYgKGJyb3dzZXJUeXBlKSB7aWYgKGJyb3dzZXJWZXIpIHtkb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7IH1kb2N1bWVudC53cml0ZSgiPC9kaXY+Iik7fS8vIC0tPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXBpZG9jL2h0bWwvc3R5bGVzLzEuY3NzIGIvYXBpZG9jL2h0bWwvc3R5bGVzLzEuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMTcwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcGlkb2MvaHRtbC9zdHlsZXMvMS5jc3MKQEAgLTAsMCArMSw4MjggQEAKKy8qDQorICAgSU1QT1JUQU5UOiBJZiB5b3UncmUgZWRpdGluZyB0aGlzIGZpbGUgaW4gdGhlIG91dHB1dCBkaXJlY3Rvcnkgb2Ygb25lIG9mDQorICAgeW91ciBwcm9qZWN0cywgeW91ciBjaGFuZ2VzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gdGhlIG5leHQgdGltZSB5b3UgcnVuDQorICAgTmF0dXJhbCBEb2NzLiAgSW5zdGVhZCwgY29weSB0aGlzIGZpbGUgdG8geW91ciBwcm9qZWN0IGRpcmVjdG9yeSwgbWFrZSB5b3VyDQorICAgY2hhbmdlcywgYW5kIHlvdSBjYW4gdXNlIGl0IHdpdGggLXMuICBFdmVuIGJldHRlciB3b3VsZCBiZSB0byBtYWtlIGEgQ1NTDQorICAgZmlsZSBpbiB5b3VyIHByb2plY3QgZGlyZWN0b3J5IHdpdGggb25seSB5b3VyIGNoYW5nZXMsIHdoaWNoIHlvdSBjYW4gdGhlbg0KKyAgIHVzZSB3aXRoIC1zIFtvcmlnaW5hbCBzdHlsZV0gW3lvdXIgY2hhbmdlc10uDQorDQorICAgT24gdGhlIG90aGVyIGhhbmQsIGlmIHlvdSdyZSBlZGl0aW5nIHRoaXMgZmlsZSBpbiB0aGUgTmF0dXJhbCBEb2NzIHN0eWxlcw0KKyAgIGRpcmVjdG9yeSwgdGhlIGNoYW5nZXMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFwcGxpZWQgdG8gYWxsIHlvdXIgcHJvamVjdHMNCisgICB0aGF0IHVzZSB0aGlzIHN0eWxlIHRoZSBuZXh0IHRpbWUgTmF0dXJhbCBEb2NzIGlzIHJ1biBvbiB0aGVtLg0KKw0KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5hdHVyYWwgRG9jcywgd2hpY2ggaXMgQ29weXJpZ2h0IKkgMjAwMy0yMDEwIEdyZWcgVmFsdXJlLg0KKyAgIE5hdHVyYWwgRG9jcyBpcyBsaWNlbnNlZCB1bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMNCisgICBMaWNlbnNlIChBR1BMKS4gIFJlZmVyIHRvIExpY2Vuc2UudHh0IGZvciB0aGUgY29tcGxldGUgZGV0YWlscy4NCisNCisgICBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHdpdGggZG9jdW1lbnRhdGlvbiBmaWxlcyBnZW5lcmF0ZWQgYnkgTmF0dXJhbCBEb2NzLg0KKyAgIFN1Y2ggZG9jdW1lbnRhdGlvbiBpcyBub3QgY292ZXJlZCBieSBOYXR1cmFsIERvY3MnIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nLA0KKyAgIGFuZCBtYXkgaGF2ZSBpdHMgb3duIGNvcHlyaWdodCBhbmQgZGlzdHJpYnV0aW9uIHRlcm1zIGFzIGRlY2lkZWQgYnkgaXRzIGF1dGhvci4NCisqLw0KKw0KK2JvZHkgew0KKyAgICBmb250OiAxMHB0IFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOw0KKyAgICBjb2xvcjogIzAwMDAwMDsNCisgICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOw0KKyAgICB9DQorDQorLkNvbnRlbnRQYWdlLA0KKy5JbmRleFBhZ2UsDQorLkZyYW1lZE1lbnVQYWdlIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODsNCisgICAgfQ0KKy5GcmFtZWRDb250ZW50UGFnZSwNCisuRnJhbWVkSW5kZXhQYWdlLA0KKy5GcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSwNCisuUG9wdXBTZWFyY2hSZXN1bHRzUGFnZSB7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQorICAgIH0NCisNCisNCithOmxpbmssDQorYTp2aXNpdGVkIHsgY29sb3I6ICM5MDAwMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZSB9DQorYTpob3ZlciB7IGNvbG9yOiAjOTAwMDAwOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9DQorYTphY3RpdmUgeyBjb2xvcjogI0ZGMDAwMDsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQ0KKw0KK3RkIHsNCisgICAgdmVydGljYWwtYWxpZ246IHRvcCB9DQorDQoraW1nIHsgYm9yZGVyOiAwOyAgfQ0KKw0KKw0KKy8qDQorICAgIENvbW1lbnQgb3V0IHRoaXMgbGluZSB0byB1c2Ugd2ViLXN0eWxlIHBhcmFncmFwaHMgKGJsYW5rIGxpbmUgYmV0d2Vlbg0KKyAgICBwYXJhZ3JhcGhzLCBubyBpbmRlbnQpIGluc3RlYWQgb2YgcHJpbnQtc3R5bGUgcGFyYWdyYXBocyAobm8gYmxhbmsgbGluZSwNCisgICAgaW5kZW50ZWQuKQ0KKyovDQorcCB7DQorICAgIHRleHQtaW5kZW50OiA1ZXg7IG1hcmdpbjogMCB9DQorDQorDQorLyogIE9wZXJhIGRvZXNuJ3QgYnJlYWsgd2l0aCBqdXN0IHdiciwgYnV0IHdpbGwgaWYgeW91IGFkZCB0aGlzLiAgKi8NCisuT3BlcmEgd2JyOmFmdGVyIHsNCisJY29udGVudDogIlwwMDIwMEIiOw0KKwl9DQorDQorDQorLyogIEJsb2NrcXVvdGVzIGFyZSB1c2VkIGFzIGNvbnRhaW5lcnMgZm9yIHRoaW5ncyB0aGF0IG1heSBuZWVkIHRvIHNjcm9sbC4gICovDQorYmxvY2txdW90ZSB7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCisgICAgb3ZlcmZsb3c6IGF1dG87DQorICAgIH0NCisNCisNCisuRmlyZWZveDEgYmxvY2txdW90ZSB7DQorICAgIHBhZGRpbmctYm90dG9tOiAuNWVtOw0KKyAgICB9DQorDQorLyogIFR1cm4gb2ZmIHNjcm9sbGluZyB3aGVuIHByaW50aW5nLiAgKi8NCitAbWVkaWEgcHJpbnQgew0KKyAgICBibG9ja3F1b3RlIHsNCisgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAgICAuSUUgYmxvY2txdW90ZSB7DQorICAgICAgICB3aWR0aDogYXV0bzsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKw0KKw0KKyNNZW51IHsNCisgICAgZm9udC1zaXplOiA5cHQ7DQorICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7DQorICAgIH0NCisuQ29udGVudFBhZ2UgI01lbnUsDQorLkluZGV4UGFnZSAjTWVudSB7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgdG9wOiAwOw0KKyAgICBsZWZ0OiAwOw0KKyAgICB3aWR0aDogMzFleDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgfQ0KKy5Db250ZW50UGFnZSAuRmlyZWZveCAjTWVudSwNCisuSW5kZXhQYWdlIC5GaXJlZm94ICNNZW51IHsNCisgICAgd2lkdGg6IDI3ZXg7DQorICAgIH0NCisNCisNCisgICAgLk1UaXRsZSB7DQorICAgICAgICBmb250LXNpemU6IDE2cHQ7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7DQorICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgICAgICBwYWRkaW5nOiA1cHggMTBweCAxNXB4IDEwcHg7DQorICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7DQorICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4IH0NCisNCisgICAgLk1TdWJUaXRsZSB7DQorICAgICAgICBmb250LXNpemU6IDlwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7DQorICAgICAgICBtYXJnaW4tdG9wOiAxZXg7IG1hcmdpbi1ib3R0b206IDVweCB9DQorDQorDQorICAgIC5NRW50cnkgYTpsaW5rLA0KKyAgICAuTUVudHJ5IGE6aG92ZXIsDQorICAgIC5NRW50cnkgYTp2aXNpdGVkIHsgY29sb3I6ICM2MDYwNjA7IG1hcmdpbi1yaWdodDogMCB9DQorICAgIC5NRW50cnkgYTphY3RpdmUgeyBjb2xvcjogI0EwMDAwMDsgbWFyZ2luLXJpZ2h0OiAwIH0NCisNCisNCisgICAgLk1Hcm91cCB7DQorICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7IGZvbnQtd2VpZ2h0OiBib2xkOw0KKyAgICAgICAgbWFyZ2luOiAxZW0gMCAxZW0gMTBweDsNCisgICAgICAgIH0NCisNCisgICAgLk1Hcm91cENvbnRlbnQgew0KKyAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWwgfQ0KKw0KKyAgICAuTUdyb3VwIGE6bGluaywNCisgICAgLk1Hcm91cCBhOmhvdmVyLA0KKyAgICAuTUdyb3VwIGE6dmlzaXRlZCB7IGNvbG9yOiAjNTQ1NDU0OyBtYXJnaW4tcmlnaHQ6IDEwcHggfQ0KKyAgICAuTUdyb3VwIGE6YWN0aXZlIHsgY29sb3I6ICNBMDAwMDA7IG1hcmdpbi1yaWdodDogMTBweCB9DQorDQorDQorICAgIC5NRmlsZSwNCisgICAgLk1UZXh0LA0KKyAgICAuTUxpbmssDQorICAgIC5NSW5kZXggew0KKyAgICAgICAgcGFkZGluZzogMXB4IDE3cHggMnB4IDEwcHg7DQorICAgICAgICBtYXJnaW46IC4yNWVtIDAgLjI1ZW0gMDsNCisgICAgICAgIH0NCisNCisgICAgLk1UZXh0IHsNCisgICAgICAgIGZvbnQtc2l6ZTogOHB0OyBmb250LXN0eWxlOiBpdGFsaWMgfQ0KKw0KKyAgICAuTUxpbmsgew0KKyAgICAgICAgZm9udC1zdHlsZTogaXRhbGljIH0NCisNCisgICAgI01TZWxlY3RlZCB7DQorICAgICAgICBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCisgICAgICAgIC8qICBSZXBsYWNlIHBhZGRpbmcgd2l0aCBib3JkZXIuICAqLw0KKyAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDsNCisgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAycHggMDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOw0KKyAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7DQorICAgICAgICB9DQorDQorICAgIC8qICBDbG9zZSBvZmYgdGhlIGxlZnQgc2lkZSB3aGVuIGl0cyBpbiBhIGdyb3VwLiAgKi8NCisgICAgLk1Hcm91cCAjTVNlbGVjdGVkIHsNCisgICAgICAgIHBhZGRpbmctbGVmdDogOXB4OyBib3JkZXItbGVmdC13aWR0aDogMXB4IH0NCisNCisgICAgLyogIEEgdHJlYXQgZm9yIE1vemlsbGEgdXNlcnMuICBCbGF0YW50bHkgbm9uLXN0YW5kYXJkLiAgV2lsbCBiZSByZXBsYWNlZCB3aXRoIENTUyAzIGF0dHJpYnV0ZXMgd2hlbiBmaW5hbGl6ZWQvc3VwcG9ydGVkLiAgKi8NCisgICAgLkZpcmVmb3ggI01TZWxlY3RlZCB7DQorICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDEwcHg7DQorICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDEwcHggfQ0KKyAgICAuRmlyZWZveCAuTUdyb3VwICNNU2VsZWN0ZWQgew0KKyAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDEwcHg7DQorICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMTBweCB9DQorDQorDQorICAgICNNU2VhcmNoUGFuZWwgew0KKyAgICAgICAgcGFkZGluZzogMHB4IDZweDsNCisgICAgICAgIG1hcmdpbjogLjI1ZW0gMDsNCisgICAgICAgIH0NCisNCisNCisgICAgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICBmb250OiBpdGFsaWMgOXB0IFZlcmRhbmEsIHNhbnMtc2VyaWY7DQorICAgICAgICBjb2xvcjogIzYwNjA2MDsNCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7DQorICAgICAgICBib3JkZXI6IG5vbmU7DQorICAgICAgICBwYWRkaW5nOiAycHggNHB4Ow0KKyAgICAgICAgd2lkdGg6IDEwMCU7DQorICAgICAgICB9DQorICAgIC8qIE9ubHkgT3BlcmEgZ2V0cyBpdCByaWdodC4gKi8NCisgICAgLkZpcmVmb3ggI01TZWFyY2hGaWVsZCwNCisgICAgLklFICNNU2VhcmNoRmllbGQsDQorICAgIC5TYWZhcmkgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICB3aWR0aDogOTQlOw0KKyAgICAgICAgfQ0KKyAgICAuT3BlcmE5ICNNU2VhcmNoRmllbGQsDQorICAgIC5Lb25xdWVyb3IgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICB3aWR0aDogOTclOw0KKyAgICAgICAgfQ0KKyAgICAuRnJhbWVkTWVudVBhZ2UgLkZpcmVmb3ggI01TZWFyY2hGaWVsZCwNCisgICAgLkZyYW1lZE1lbnVQYWdlIC5TYWZhcmkgI01TZWFyY2hGaWVsZCwNCisgICAgLkZyYW1lZE1lbnVQYWdlIC5Lb25xdWVyb3IgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICB3aWR0aDogOTglOw0KKyAgICAgICAgfQ0KKw0KKyAgICAvKiBGaXJlZm94IGRvZXNuJ3QgZG8gdGhpcyByaWdodCBpbiBmcmFtZXMgd2l0aG91dCAjTVNlYXJjaFBhbmVsIGFkZGVkIG9uLg0KKyAgICAgICAgSXQncyBwcmVzZW5jZSBkb2Vzbid0IGh1cnQgYW55dGhpbmcgb3RoZXIgYnJvd3NlcnMuICovDQorICAgICNNU2VhcmNoUGFuZWwuTVNlYXJjaFBhbmVsSW5hY3RpdmU6aG92ZXIgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDsNCisgICAgICAgIHBhZGRpbmc6IDFweCAzcHg7DQorICAgICAgICB9DQorICAgIC5NU2VhcmNoUGFuZWxBY3RpdmUgI01TZWFyY2hGaWVsZCB7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDsNCisgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCisgICAgICAgIHBhZGRpbmc6IDFweCAzcHg7DQorICAgICAgICB9DQorDQorICAgICNNU2VhcmNoVHlwZSB7DQorICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICBmb250OiA4cHQgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCisgICAgICAgIHdpZHRoOiA5OCU7DQorICAgICAgICBwYWRkaW5nOiAwOw0KKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDsNCisgICAgICAgIH0NCisgICAgLk1TZWFyY2hQYW5lbEFjdGl2ZSAjTVNlYXJjaFR5cGUsDQorICAgIC8qICBBcyBtZW50aW9uZWQgYWJvdmUsIEZpcmVmb3ggZG9lc24ndCBkbyB0aGlzIHJpZ2h0IGluIGZyYW1lcyB3aXRob3V0ICNNU2VhcmNoUGFuZWwgYWRkZWQgb24uICovDQorICAgICNNU2VhcmNoUGFuZWwuTVNlYXJjaFBhbmVsSW5hY3RpdmU6aG92ZXIgI01TZWFyY2hUeXBlLA0KKyAgICAjTVNlYXJjaFR5cGU6Zm9jdXMgew0KKyAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCisgICAgICAgIGNvbG9yOiAjNjA2MDYwOw0KKyAgICAgICAgfQ0KKyAgICAjTVNlYXJjaFR5cGUgb3B0aW9uI01TZWFyY2hFdmVyeXRoaW5nIHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KKyAgICAgICAgfQ0KKw0KKyAgICAuT3BlcmE4IC5NU2VhcmNoUGFuZWxJbmFjdGl2ZTpob3ZlciwNCisgICAgLk9wZXJhOCAuTVNlYXJjaFBhbmVsQWN0aXZlIHsNCisgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KKyAgICAgICAgfQ0KKw0KKw0KKyAgICBpZnJhbWUjTVNlYXJjaFJlc3VsdHMgew0KKyAgICAgICAgd2lkdGg6IDYwZXg7DQorICAgICAgICBoZWlnaHQ6IDE1ZW07DQorICAgICAgICB9DQorICAgICNNU2VhcmNoUmVzdWx0c1dpbmRvdyB7DQorICAgICAgICBkaXNwbGF5OiBub25lOw0KKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICAgICAgbGVmdDogMDsgdG9wOiAwOw0KKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsNCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7DQorICAgICAgICB9DQorICAgICNNU2VhcmNoUmVzdWx0c1dpbmRvd0Nsb3NlIHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KKyAgICAgICAgZm9udC1zaXplOiA4cHQ7DQorICAgICAgICBkaXNwbGF5OiBibG9jazsNCisgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7DQorICAgICAgICB9DQorICAgICNNU2VhcmNoUmVzdWx0c1dpbmRvd0Nsb3NlOmxpbmssDQorICAgICNNU2VhcmNoUmVzdWx0c1dpbmRvd0Nsb3NlOnZpc2l0ZWQgew0KKyAgICAgICAgY29sb3I6ICMwMDAwMDA7DQorICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQorICAgICAgICB9DQorICAgICNNU2VhcmNoUmVzdWx0c1dpbmRvd0Nsb3NlOmFjdGl2ZSwNCisgICAgI01TZWFyY2hSZXN1bHRzV2luZG93Q2xvc2U6aG92ZXIgew0KKyAgICAgICAgY29sb3I6ICM4MDAwMDA7DQorICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0Ow0KKyAgICAgICAgfQ0KKw0KKw0KKw0KKw0KKyNDb250ZW50IHsNCisgICAgcGFkZGluZy1ib3R0b206IDE1cHg7DQorICAgIH0NCisNCisuQ29udGVudFBhZ2UgI0NvbnRlbnQgew0KKyAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4Ow0KKyAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KKyAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQorICAgIGZvbnQtc2l6ZTogOXB0OyAgLyogVG8gbWFrZSAzMWV4IG1hdGNoIHRoZSBtZW51J3MgMzFleC4gKi8NCisgICAgbWFyZ2luLWxlZnQ6IDMxZXg7DQorICAgIH0NCisuQ29udGVudFBhZ2UgLkZpcmVmb3ggI0NvbnRlbnQgew0KKyAgICBtYXJnaW4tbGVmdDogMjdleDsNCisgICAgfQ0KKw0KKw0KKw0KKyAgICAuQ1RvcGljIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTBwdDsNCisgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTsNCisgICAgICAgIH0NCisNCisNCisgICAgLkNUaXRsZSB7DQorICAgICAgICBmb250LXNpemU6IDEycHQ7IGZvbnQtd2VpZ2h0OiBib2xkOw0KKyAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI0EwQTBBMDsNCisgICAgICAgIG1hcmdpbjogMCAxNXB4IC41ZW0gMTVweCB9DQorDQorICAgIC5DR3JvdXAgLkNUaXRsZSB7DQorICAgICAgICBmb250LXNpemU6IDE2cHQ7IGZvbnQtdmFyaWFudDogc21hbGwtY2FwczsNCisgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgcGFkZGluZy1yaWdodDogMTVweDsNCisgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDJweCAwOyBib3JkZXItY29sb3I6ICMwMDAwMDA7DQorICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwIH0NCisNCisgICAgLkNDbGFzcyAuQ1RpdGxlLA0KKyAgICAuQ0ludGVyZmFjZSAuQ1RpdGxlLA0KKyAgICAuQ0RhdGFiYXNlIC5DVGl0bGUsDQorICAgIC5DRGF0YWJhc2VUYWJsZSAuQ1RpdGxlLA0KKyAgICAuQ1NlY3Rpb24gLkNUaXRsZSB7DQorICAgICAgICBmb250LXNpemU6IDE4cHQ7DQorICAgICAgICBjb2xvcjogI0ZGRkZGRjsgYmFja2dyb3VuZC1jb2xvcjogI0EwQTBBMDsNCisgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7DQorICAgICAgICBib3JkZXItd2lkdGg6IDJweCAwOyBib3JkZXItY29sb3I6ICMwMDAwMDA7DQorICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwIH0NCisNCisgICAgI01haW5Ub3BpYyAuQ1RpdGxlIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMjBwdDsNCisgICAgICAgIGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MEMwOw0KKyAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDsNCisgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAwOyBib3JkZXItY29sb3I6ICMwMDAwMDA7DQorICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwIH0NCisNCisgICAgLkNCb2R5IHsNCisgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyBtYXJnaW4tcmlnaHQ6IDE1cHggfQ0KKw0KKw0KKyAgICAuQ1Rvb2xUaXAgew0KKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkUwOw0KKyAgICAgICAgcGFkZGluZzogNXB4Ow0KKyAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMnB4IDJweCAxcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogIzAwMDAwMDsNCisgICAgICAgIGZvbnQtc2l6ZTogOHB0Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAuT3BlcmEgLkNUb29sVGlwIHsNCisgICAgICAgIG1heC13aWR0aDogOTglOw0KKyAgICAgICAgfQ0KKw0KKyAgICAvKiAgU2Nyb2xsYmFycyB3b3VsZCBiZSB1c2VsZXNzLiAgKi8NCisgICAgLkNUb29sVGlwIGJsb2NrcXVvdGUgew0KKyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgLklFNiAuQ1Rvb2xUaXAgYmxvY2txdW90ZSB7DQorICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsNCisgICAgICAgIH0NCisNCisgICAgLkNIZWFkaW5nIHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDEwcHQ7DQorICAgICAgICBtYXJnaW46IDEuNWVtIDAgLjVlbSAwOw0KKyAgICAgICAgfQ0KKw0KKyAgICAuQ0JvZHkgcHJlIHsNCisgICAgICAgIGZvbnQ6IDEwcHQgIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOw0KKwkgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkNGQzsNCisJICAgIG1hcmdpbjogMWVtIDM1cHg7DQorCSAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxMHB4Ow0KKwkgICAgYm9yZGVyLWNvbG9yOiAjRTBFMEUwICNFMEUwRTAgI0UwRTBFMCAjRTRFNEU0Ow0KKwkgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCA2cHg7DQorCSAgICBib3JkZXItc3R5bGU6IGRhc2hlZCBkYXNoZWQgZGFzaGVkIHNvbGlkOw0KKyAgICAgICAgfQ0KKw0KKyAgICAuQ0JvZHkgdWwgew0KKyAgICAgICAgLyogIEkgZG9uJ3Qga25vdyB3aHkgQ0JvZHkncyBtYXJnaW4gZG9lc24ndCBhcHBseSwgYnV0IGl0J3MgY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnMgc28gd2hhdGV2ZXIuDQorICAgICAgICAgICAgIFJlYXBwbHkgaXQgaGVyZSBhcyBwYWRkaW5nLiAgKi8NCisgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgcGFkZGluZy1yaWdodDogMTVweDsNCisgICAgICAgIG1hcmdpbjogLjVlbSA1ZXggLjVlbSA1ZXg7DQorICAgICAgICB9DQorDQorICAgIC5DRGVzY3JpcHRpb25MaXN0IHsNCisgICAgICAgIG1hcmdpbjogLjVlbSA1ZXggMCA1ZXggfQ0KKw0KKyAgICAgICAgLkNETEVudHJ5IHsNCisgICAgICAgICAgICBmb250OiAxMHB0ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsgY29sb3I6ICM4MDgwODA7DQorICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4yNWVtOw0KKyAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgfQ0KKw0KKyAgICAgICAgLkNETERlc2NyaXB0aW9uIHsNCisgICAgICAgICAgICBmb250LXNpemU6IDEwcHQ7ICAvKiAgRm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3QgaW5oZXJpdCBjb3JyZWN0bHksIGxpa2UgT3BlcmEgNS4gICovDQorICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC41ZW07IHBhZGRpbmctbGVmdDogNWV4IH0NCisNCisNCisgICAgLkNUb3BpYyBpbWcgew0KKyAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICAgICAgZGlzcGxheTogYmxvY2s7DQorICAgICAgICBtYXJnaW46IDFlbSBhdXRvOw0KKyAgICAgICAgfQ0KKyAgICAuQ0ltYWdlQ2FwdGlvbiB7DQorICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7DQorICAgICAgICBmb250LXNpemU6IDhwdDsNCisgICAgICAgIGNvbG9yOiAjODA4MDgwOw0KKyAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICAgICAgdG9wOiAxZW07DQorICAgICAgICB9DQorDQorICAgIC5DSW1hZ2VMaW5rIHsNCisgICAgICAgIGNvbG9yOiAjODA4MDgwOw0KKyAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOw0KKyAgICAgICAgfQ0KKyAgICBhLkNJbWFnZUxpbms6bGluaywNCisgICAgYS5DSW1hZ2VMaW5rOnZpc2l0ZWQsDQorICAgIGEuQ0ltYWdlTGluazpob3ZlciB7IGNvbG9yOiAjODA4MDgwIH0NCisNCisNCisNCisNCisNCisuUHJvdG90eXBlIHsNCisgICAgZm9udDogMTBwdCAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7DQorICAgIHBhZGRpbmc6IDVweCAzZXg7DQorICAgIGJvcmRlci13aWR0aDogMXB4OyBib3JkZXItc3R5bGU6IHNvbGlkOw0KKyAgICBtYXJnaW46IDAgNWV4IDEuNWVtIDVleDsNCisgICAgfQ0KKw0KKyAgICAuUHJvdG90eXBlIHRkIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTBwdDsNCisgICAgICAgIH0NCisNCisgICAgLlBEZWZhdWx0VmFsdWUsDQorICAgIC5QRGVmYXVsdFZhbHVlUHJlZml4LA0KKyAgICAuUFR5cGVQcmVmaXggew0KKyAgICAgICAgY29sb3I6ICM4RjhGOEY7DQorICAgICAgICB9DQorICAgIC5QVHlwZVByZWZpeCB7DQorICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsNCisgICAgICAgIH0NCisgICAgLlBBZnRlclBhcmFtZXRlcnMgew0KKyAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCisgICAgICAgIH0NCisNCisgICAgLklFIC5Qcm90b3R5cGUgdGFibGUgew0KKyAgICAgICAgcGFkZGluZzogMDsNCisgICAgICAgIH0NCisNCisgICAgLkNGdW5jdGlvbiAuUHJvdG90eXBlIHsNCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1jb2xvcjogI0QwRDBEMCB9DQorICAgIC5DUHJvcGVydHkgLlByb3RvdHlwZSB7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEZGOyBib3JkZXItY29sb3I6ICNDMEMwRTggfQ0KKyAgICAuQ1ZhcmlhYmxlIC5Qcm90b3R5cGUgew0KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGMDsgYm9yZGVyLWNvbG9yOiAjRTBFMEEwIH0NCisNCisgICAgLkNDbGFzcyAuUHJvdG90eXBlIHsNCisgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAycHggMXB4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6ICNBMEEwQTA7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0Ow0KKyAgICAgICAgfQ0KKyAgICAuQ0ludGVyZmFjZSAuUHJvdG90eXBlIHsNCisgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAycHggMXB4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6ICNBMEEwRDA7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEZGOw0KKyAgICAgICAgfQ0KKw0KKyAgICAuQ0RhdGFiYXNlSW5kZXggLlByb3RvdHlwZSwNCisgICAgLkNDb25zdGFudCAuUHJvdG90eXBlIHsNCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEMEQwRDA7IGJvcmRlci1jb2xvcjogIzAwMDAwMCB9DQorICAgIC5DVHlwZSAuUHJvdG90eXBlLA0KKyAgICAuQ0VudW1lcmF0aW9uIC5Qcm90b3R5cGUgew0KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRjBGMDsgYm9yZGVyLWNvbG9yOiAjRTBCMEIwOw0KKyAgICAgICAgfQ0KKyAgICAuQ0RhdGFiYXNlVHJpZ2dlciAuUHJvdG90eXBlLA0KKyAgICAuQ0V2ZW50IC5Qcm90b3R5cGUsDQorICAgIC5DRGVsZWdhdGUgLlByb3RvdHlwZSB7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGQ0YwOyBib3JkZXItY29sb3I6ICNCOEU0QjggfQ0KKw0KKyAgICAuQ1Rvb2xUaXAgLlByb3RvdHlwZSB7DQorICAgICAgICBtYXJnaW46IDAgMCAuNWVtIDA7DQorICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICAgICAgfQ0KKw0KKw0KKw0KKw0KKw0KKy5TdW1tYXJ5IHsNCisgICAgbWFyZ2luOiAxLjVlbSA1ZXggMCA1ZXggfQ0KKw0KKyAgICAuU1RpdGxlIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTJwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7DQorICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtIH0NCisNCisNCisgICAgLlNCb3JkZXIgew0KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGMDsNCisgICAgICAgIHBhZGRpbmc6IDE1cHg7DQorICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzBDMDYwIH0NCisNCisgICAgLyogSW4gYSBmcmFtZSBJRSA2IHdpbGwgbWFrZSB0aGVtIHRvbyBsb25nIHVubGVzcyB5b3Ugc2V0IHRoZSB3aWR0aCB0byAxMDAlLiAgV2l0aG91dCBmcmFtZXMgaXQgd2lsbCBiZSBjb3JyZWN0IHdpdGhvdXQgYSB3aWR0aA0KKyAgICAgICAgb3Igc2xpZ2h0bHkgdG9vIGxvbmcgKGJ1dCBub3QgZW5vdWdoIHRvIHNjcm9sbCkgd2l0aCBhIHdpZHRoLiAgVGhpcyBhcmJpdHJhcnkgd2VpcmRuZXNzIHNpbXBseSBhc3RvdW5kcyBtZS4gIElFIDcgaGFzIHRoZSBzYW1lDQorICAgICAgICBwcm9ibGVtIHdpdGggZnJhbWVzLCBoYXZlbid0IHRlc3RlZCBpdCB3aXRob3V0LiAgKi8NCisgICAgLkZyYW1lZENvbnRlbnRQYWdlIC5JRSAuU0JvcmRlciB7DQorICAgICAgICB3aWR0aDogMTAwJSB9DQorDQorICAgIC8qICBBIHRyZWF0IGZvciBNb3ppbGxhIHVzZXJzLiAgQmxhdGFudGx5IG5vbi1zdGFuZGFyZC4gIFdpbGwgYmUgcmVwbGFjZWQgd2l0aCBDU1MgMyBhdHRyaWJ1dGVzIHdoZW4gZmluYWxpemVkL3N1cHBvcnRlZC4gICovDQorICAgIC5GaXJlZm94IC5TQm9yZGVyIHsNCisgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweCB9DQorDQorDQorICAgIC5TVGFibGUgew0KKyAgICAgICAgZm9udC1zaXplOiA5cHQ7IHdpZHRoOiAxMDAlIH0NCisNCisgICAgLlNFbnRyeSB7DQorICAgICAgICB3aWR0aDogMzAlIH0NCisgICAgLlNEZXNjcmlwdGlvbiB7DQorICAgICAgICB3aWR0aDogNzAlIH0NCisNCisNCisgICAgLlNNYXJrZWQgew0KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhEOCB9DQorDQorICAgIC5TRGVzY3JpcHRpb24geyBwYWRkaW5nLWxlZnQ6IDJleCB9DQorICAgIC5TSW5kZW50MSAuU0VudHJ5IHsgcGFkZGluZy1sZWZ0OiAxLjVleCB9ICAgLlNJbmRlbnQxIC5TRGVzY3JpcHRpb24geyBwYWRkaW5nLWxlZnQ6IDMuNWV4IH0NCisgICAgLlNJbmRlbnQyIC5TRW50cnkgeyBwYWRkaW5nLWxlZnQ6IDMuMGV4IH0gICAuU0luZGVudDIgLlNEZXNjcmlwdGlvbiB7IHBhZGRpbmctbGVmdDogNS4wZXggfQ0KKyAgICAuU0luZGVudDMgLlNFbnRyeSB7IHBhZGRpbmctbGVmdDogNC41ZXggfSAgIC5TSW5kZW50MyAuU0Rlc2NyaXB0aW9uIHsgcGFkZGluZy1sZWZ0OiA2LjVleCB9DQorICAgIC5TSW5kZW50NCAuU0VudHJ5IHsgcGFkZGluZy1sZWZ0OiA2LjBleCB9ICAgLlNJbmRlbnQ0IC5TRGVzY3JpcHRpb24geyBwYWRkaW5nLWxlZnQ6IDguMGV4IH0NCisgICAgLlNJbmRlbnQ1IC5TRW50cnkgeyBwYWRkaW5nLWxlZnQ6IDcuNWV4IH0gICAuU0luZGVudDUgLlNEZXNjcmlwdGlvbiB7IHBhZGRpbmctbGVmdDogOS41ZXggfQ0KKw0KKyAgICAuU0Rlc2NyaXB0aW9uIGEgeyBjb2xvcjogIzgwMDAwMH0NCisgICAgLlNEZXNjcmlwdGlvbiBhOmFjdGl2ZSB7IGNvbG9yOiAjQTAwMDAwIH0NCisNCisgICAgLlNHcm91cCB0ZCB7DQorICAgICAgICBwYWRkaW5nLXRvcDogLjVlbTsgcGFkZGluZy1ib3R0b206IC4yNWVtIH0NCisNCisgICAgLlNHcm91cCAuU0VudHJ5IHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHMgfQ0KKw0KKyAgICAuU0dyb3VwIC5TRW50cnkgYSB7IGNvbG9yOiAjODAwMDAwIH0NCisgICAgLlNHcm91cCAuU0VudHJ5IGE6YWN0aXZlIHsgY29sb3I6ICNGMDAwMDAgfQ0KKw0KKw0KKyAgICAuU01haW4gdGQsDQorICAgIC5TQ2xhc3MgdGQsDQorICAgIC5TRGF0YWJhc2UgdGQsDQorICAgIC5TRGF0YWJhc2VUYWJsZSB0ZCwNCisgICAgLlNTZWN0aW9uIHRkIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTBwdDsNCisgICAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVlbSB9DQorDQorICAgIC5TQ2xhc3MgdGQsDQorICAgIC5TRGF0YWJhc2UgdGQsDQorICAgIC5TRGF0YWJhc2VUYWJsZSB0ZCwNCisgICAgLlNTZWN0aW9uIHRkIHsNCisgICAgICAgIHBhZGRpbmctdG9wOiAxZW0gfQ0KKw0KKyAgICAuU01haW4gLlNFbnRyeSwNCisgICAgLlNDbGFzcyAuU0VudHJ5LA0KKyAgICAuU0RhdGFiYXNlIC5TRW50cnksDQorICAgIC5TRGF0YWJhc2VUYWJsZSAuU0VudHJ5LA0KKyAgICAuU1NlY3Rpb24gLlNFbnRyeSB7DQorICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCisgICAgICAgIH0NCisNCisgICAgLlNNYWluIC5TRW50cnkgYSwNCisgICAgLlNDbGFzcyAuU0VudHJ5IGEsDQorICAgIC5TRGF0YWJhc2UgLlNFbnRyeSBhLA0KKyAgICAuU0RhdGFiYXNlVGFibGUgLlNFbnRyeSBhLA0KKyAgICAuU1NlY3Rpb24gLlNFbnRyeSBhIHsgY29sb3I6ICMwMDAwMDAgfQ0KKw0KKyAgICAuU01haW4gLlNFbnRyeSBhOmFjdGl2ZSwNCisgICAgLlNDbGFzcyAuU0VudHJ5IGE6YWN0aXZlLA0KKyAgICAuU0RhdGFiYXNlIC5TRW50cnkgYTphY3RpdmUsDQorICAgIC5TRGF0YWJhc2VUYWJsZSAuU0VudHJ5IGE6YWN0aXZlLA0KKyAgICAuU1NlY3Rpb24gLlNFbnRyeSBhOmFjdGl2ZSB7IGNvbG9yOiAjQTAwMDAwIH0NCisNCisNCisNCisNCisNCisuQ2xhc3NIaWVyYXJjaHkgew0KKyAgICBtYXJnaW46IDAgMTVweCAxZW0gMTVweCB9DQorDQorICAgIC5DSEVudHJ5IHsNCisgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAycHggMXB4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6ICNBMEEwQTA7DQorICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7DQorICAgICAgICBwYWRkaW5nOiAycHggMmV4Ow0KKyAgICAgICAgZm9udC1zaXplOiAxMHB0Ow0KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgY29sb3I6ICM2MDYwNjA7DQorICAgICAgICB9DQorDQorICAgIC5GaXJlZm94IC5DSEVudHJ5IHsNCisgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAuQ0hDdXJyZW50IC5DSEVudHJ5IHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KKyAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOw0KKyAgICAgICAgY29sb3I6ICMwMDAwMDA7DQorICAgICAgICB9DQorDQorICAgIC5DSENoaWxkTm90ZSAuQ0hFbnRyeSB7DQorICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7DQorICAgICAgICBmb250LXNpemU6IDhwdDsNCisgICAgICAgIH0NCisNCisgICAgLkNISW5kZW50IHsNCisgICAgICAgIG1hcmdpbi1sZWZ0OiAzZXg7DQorICAgICAgICB9DQorDQorICAgIC5DSEVudHJ5IGE6bGluaywNCisgICAgLkNIRW50cnkgYTp2aXNpdGVkLA0KKyAgICAuQ0hFbnRyeSBhOmhvdmVyIHsNCisgICAgICAgIGNvbG9yOiAjNjA2MDYwOw0KKyAgICAgICAgfQ0KKyAgICAuQ0hFbnRyeSBhOmFjdGl2ZSB7DQorICAgICAgICBjb2xvcjogIzgwMDAwMDsNCisgICAgICAgIH0NCisNCisNCisNCisNCisNCisjSW5kZXggew0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KKyAgICB9DQorDQorLyogIEFzIG9wcG9zZWQgdG8gLlBvcHVwU2VhcmNoUmVzdWx0c1BhZ2UgI0luZGV4ICAqLw0KKy5JbmRleFBhZ2UgI0luZGV4LA0KKy5GcmFtZWRJbmRleFBhZ2UgI0luZGV4LA0KKy5GcmFtZWRTZWFyY2hSZXN1bHRzUGFnZSAjSW5kZXggew0KKyAgICBwYWRkaW5nOiAxNXB4Ow0KKyAgICB9DQorDQorLkluZGV4UGFnZSAjSW5kZXggew0KKyAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4Ow0KKyAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KKyAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7DQorICAgIGZvbnQtc2l6ZTogOXB0OyAgLyogVG8gbWFrZSAyN2V4IG1hdGNoIHRoZSBtZW51J3MgMjdleC4gKi8NCisgICAgbWFyZ2luLWxlZnQ6IDI3ZXg7DQorICAgIH0NCisNCisNCisgICAgLklQYWdlVGl0bGUgew0KKyAgICAgICAgZm9udC1zaXplOiAyMHB0OyBmb250LXdlaWdodDogYm9sZDsNCisgICAgICAgIGNvbG9yOiAjRkZGRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MEMwOw0KKyAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDsNCisgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAwOyBib3JkZXItY29sb3I6ICMwMDAwMDA7IGJvcmRlci1zdHlsZTogc29saWQ7DQorICAgICAgICBtYXJnaW46IC0xNXB4IC0xNXB4IDAgLTE1cHggfQ0KKw0KKyAgICAuRnJhbWVkU2VhcmNoUmVzdWx0c1BhZ2UgLklQYWdlVGl0bGUgew0KKyAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCisgICAgICAgIH0NCisNCisgICAgLklOYXZpZ2F0aW9uQmFyIHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTBwdDsNCisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRjA7DQorICAgICAgICBwYWRkaW5nOiA1cHg7DQorICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggYmxhY2s7DQorICAgICAgICBtYXJnaW46IDAgLTE1cHggMTVweCAtMTVweDsNCisgICAgICAgIH0NCisNCisgICAgLklOYXZpZ2F0aW9uQmFyIGEgew0KKyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQgfQ0KKw0KKyAgICAuSUhlYWRpbmcgew0KKyAgICAgICAgZm9udC1zaXplOiAxNnB0OyBmb250LXdlaWdodDogYm9sZDsNCisgICAgICAgIHBhZGRpbmc6IDIuNWVtIDAgLjVlbSAwOw0KKyAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICAgICAgd2lkdGg6IDMuNWV4Ow0KKyAgICAgICAgfQ0KKyAgICAjSUZpcnN0SGVhZGluZyB7DQorICAgICAgICBwYWRkaW5nLXRvcDogMDsNCisgICAgICAgIH0NCisNCisgICAgLklFbnRyeSB7DQorICAgICAgICBmb250LXNpemU6IDEwcHQ7DQorICAgICAgICBwYWRkaW5nLWxlZnQ6IDFleDsNCisgICAgICAgIH0NCisgICAgLlBvcHVwU2VhcmNoUmVzdWx0c1BhZ2UgLklFbnRyeSB7DQorICAgICAgICBmb250LXNpemU6IDhwdDsNCisgICAgICAgIHBhZGRpbmc6IDFweCA1cHg7DQorICAgICAgICB9DQorICAgIC5Qb3B1cFNlYXJjaFJlc3VsdHNQYWdlIC5PcGVyYTkgLklFbnRyeSwNCisgICAgLkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIC5PcGVyYTkgLklFbnRyeSB7DQorICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KKyAgICAgICAgfQ0KKyAgICAuRnJhbWVkU2VhcmNoUmVzdWx0c1BhZ2UgLklFbnRyeSB7DQorICAgICAgICBwYWRkaW5nOiAwOw0KKyAgICAgICAgfQ0KKw0KKyAgICAuSVN1YkluZGV4IHsNCisgICAgICAgIHBhZGRpbmctbGVmdDogM2V4OyBwYWRkaW5nLWJvdHRvbTogLjVlbSB9DQorICAgIC5Qb3B1cFNlYXJjaFJlc3VsdHNQYWdlIC5JU3ViSW5kZXggew0KKyAgICAgICAgZGlzcGxheTogbm9uZTsNCisgICAgICAgIH0NCisNCisgICAgLyogIFdoaWxlIGl0IG1heSBjYXVzZSBzb21lIGVudHJpZXMgdG8gbG9vayBsaWtlIGxpbmtzIHdoZW4gdGhleSBhcmVuJ3QsIEkgZm91bmQgaXQncyBtdWNoIGVhc2llciB0byByZWFkIHRoZQ0KKyAgICAgICAgIGluZGV4IGlmIGV2ZXJ5dGhpbmcncyB0aGUgc2FtZSBjb2xvci4gICovDQorICAgIC5JU3ltYm9sIHsNCisgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzkwMDAwMCAgfQ0KKw0KKyAgICAuSW5kZXhQYWdlIC5JU3ltYm9sUHJlZml4LA0KKyAgICAuRnJhbWVkSW5kZXhQYWdlIC5JU3ltYm9sUHJlZml4IHsNCisgICAgICAgIGZvbnQtc2l6ZTogMTBwdDsNCisgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KKyAgICAgICAgY29sb3I6ICNDNDdDN0M7DQorICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4Ow0KKyAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI0UwRTBFMDsNCisgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0UwRTBFMDsNCisgICAgICAgIHBhZGRpbmc6IDAgMXB4IDAgMnB4Ow0KKyAgICAgICAgfQ0KKyAgICAuUG9wdXBTZWFyY2hSZXN1bHRzUGFnZSAuSVN5bWJvbFByZWZpeCwNCisgICAgLkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIC5JU3ltYm9sUHJlZml4IHsNCisgICAgICAgIGNvbG9yOiAjOTAwMDAwOw0KKyAgICAgICAgfQ0KKyAgICAuUG9wdXBTZWFyY2hSZXN1bHRzUGFnZSAuSVN5bWJvbFByZWZpeCB7DQorICAgICAgICBmb250LXNpemU6IDhwdDsNCisgICAgICAgIH0NCisNCisgICAgLkluZGV4UGFnZSAjSUZpcnN0U3ltYm9sUHJlZml4LA0KKyAgICAuRnJhbWVkSW5kZXhQYWdlICNJRmlyc3RTeW1ib2xQcmVmaXggew0KKyAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMEUwRTA7DQorICAgICAgICB9DQorICAgIC5JbmRleFBhZ2UgI0lMYXN0U3ltYm9sUHJlZml4LA0KKyAgICAuRnJhbWVkSW5kZXhQYWdlICNJTGFzdFN5bWJvbFByZWZpeCB7DQorICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwRTBFMDsNCisgICAgICAgIH0NCisgICAgLkluZGV4UGFnZSAjSU9ubHlTeW1ib2xQcmVmaXgsDQorICAgIC5GcmFtZWRJbmRleFBhZ2UgI0lPbmx5U3ltYm9sUHJlZml4IHsNCisgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTBFMEUwOw0KKyAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMEUwRTA7DQorICAgICAgICB9DQorDQorICAgIGEuSVBhcmVudCwNCisgICAgYS5JRmlsZSB7DQorICAgICAgICBkaXNwbGF5OiBibG9jazsNCisgICAgICAgIH0NCisNCisgICAgLlBvcHVwU2VhcmNoUmVzdWx0c1BhZ2UgLlNSU3RhdHVzIHsNCisgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7DQorICAgICAgICBmb250LXNpemU6IDhwdDsNCisgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCisgICAgICAgIH0NCisgICAgLkZyYW1lZFNlYXJjaFJlc3VsdHNQYWdlIC5TUlN0YXR1cyB7DQorICAgICAgICBmb250LXNpemU6IDEwcHQ7DQorICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7DQorICAgICAgICB9DQorDQorICAgIC5TUlJlc3VsdCB7DQorICAgICAgICBkaXNwbGF5OiBub25lOw0KKyAgICAgICAgfQ0KKw0KKw0KKw0KKyNGb290ZXIgew0KKyAgICBmb250LXNpemU6IDhwdDsNCisgICAgY29sb3I6ICM5ODk4OTg7DQorICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KKyAgICB9DQorDQorI0Zvb3RlciBwIHsNCisgICAgdGV4dC1pbmRlbnQ6IDA7DQorICAgIG1hcmdpbi1ib3R0b206IC41ZW07DQorICAgIH0NCisNCisuQ29udGVudFBhZ2UgI0Zvb3RlciwNCisuSW5kZXhQYWdlICNGb290ZXIgew0KKyAgICB0ZXh0LWFsaWduOiByaWdodDsNCisgICAgbWFyZ2luOiAycHg7DQorICAgIH0NCisNCisuRnJhbWVkTWVudVBhZ2UgI0Zvb3RlciB7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgbWFyZ2luOiA1ZW0gMTBweCAxMHB4IDEwcHg7DQorICAgIHBhZGRpbmctdG9wOiAxZW07DQorICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4Ow0KKyAgICB9DQorDQorICAgICNGb290ZXIgYTpsaW5rLA0KKyAgICAjRm9vdGVyIGE6aG92ZXIsDQorICAgICNGb290ZXIgYTp2aXNpdGVkIHsgY29sb3I6ICM5ODk4OTggfQ0KKyAgICAjRm9vdGVyIGE6YWN0aXZlIHsgY29sb3I6ICNBMDAwMDAgfQ0KKw0KKw0KKw0KKy5wcmV0dHlwcmludCAua3dkIHsgY29sb3I6ICM4MDAwMDA7IH0gIC8qIGtleXdvcmRzICovDQorDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlIC5rd2QsDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlUHJlZml4IC5rd2QsDQorICAgIC5wcmV0dHlwcmludC5QVHlwZVByZWZpeCAua3dkIHsNCisgICAgICAgIGNvbG9yOiAjQzg4RjhGOw0KKyAgICAgICAgfQ0KKw0KKy5wcmV0dHlwcmludCAuY29tIHsgY29sb3I6ICMwMDgwMDA7IH0gIC8qIGNvbW1lbnRzICovDQorDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlIC5jb20sDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlUHJlZml4IC5jb20sDQorICAgIC5wcmV0dHlwcmludC5QVHlwZVByZWZpeCAuY29tIHsNCisgICAgICAgIGNvbG9yOiAjOEZDODhGOw0KKyAgICAgICAgfQ0KKw0KKy5wcmV0dHlwcmludCAuc3RyIHsgY29sb3I6ICMwMDAwQjA7IH0gIC8qIHN0cmluZ3MgKi8NCisucHJldHR5cHJpbnQgLmxpdCB7IGNvbG9yOiAjMDAwMEIwOyB9ICAvKiBsaXRlcmFscyAqLw0KKw0KKyAgICAucHJldHR5cHJpbnQuUERlZmF1bHRWYWx1ZSAuc3RyLA0KKyAgICAucHJldHR5cHJpbnQuUERlZmF1bHRWYWx1ZVByZWZpeCAuc3RyLA0KKyAgICAucHJldHR5cHJpbnQuUFR5cGVQcmVmaXggLnN0ciwNCisgICAgLnByZXR0eXByaW50LlBEZWZhdWx0VmFsdWUgLmxpdCwNCisgICAgLnByZXR0eXByaW50LlBEZWZhdWx0VmFsdWVQcmVmaXggLmxpdCwNCisgICAgLnByZXR0eXByaW50LlBUeXBlUHJlZml4IC5saXQgew0KKyAgICAgICAgY29sb3I6ICM4RjhGQzA7DQorICAgICAgICB9DQorDQorLnByZXR0eXByaW50IC50eXAgeyBjb2xvcjogIzAwMDAwMDsgfSAgLyogdHlwZXMgKi8NCisucHJldHR5cHJpbnQgLnB1biB7IGNvbG9yOiAjMDAwMDAwOyB9ICAvKiBwdW5jdHVhdGlvbiAqLw0KKy5wcmV0dHlwcmludCAucGxuIHsgY29sb3I6ICMwMDAwMDA7IH0gIC8qIHB1bmN0dWF0aW9uICovDQorDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlIC50eXAsDQorICAgIC5wcmV0dHlwcmludC5QRGVmYXVsdFZhbHVlUHJlZml4IC50eXAsDQorICAgIC5wcmV0dHlwcmludC5QVHlwZVByZWZpeCAudHlwLA0KKyAgICAucHJldHR5cHJpbnQuUERlZmF1bHRWYWx1ZSAucHVuLA0KKyAgICAucHJldHR5cHJpbnQuUERlZmF1bHRWYWx1ZVByZWZpeCAucHVuLA0KKyAgICAucHJldHR5cHJpbnQuUFR5cGVQcmVmaXggLnB1biwNCisgICAgLnByZXR0eXByaW50LlBEZWZhdWx0VmFsdWUgLnBsbiwNCisgICAgLnByZXR0eXByaW50LlBEZWZhdWx0VmFsdWVQcmVmaXggLnBsbiwNCisgICAgLnByZXR0eXByaW50LlBUeXBlUHJlZml4IC5wbG4gew0KKyAgICAgICAgY29sb3I6ICM4RjhGOEY7DQorICAgICAgICB9DQorDQorLnByZXR0eXByaW50IC50YWcgeyBjb2xvcjogIzAwODsgfQ0KKy5wcmV0dHlwcmludCAuYXRuIHsgY29sb3I6ICM2MDY7IH0NCisucHJldHR5cHJpbnQgLmF0diB7IGNvbG9yOiAjMDgwOyB9DQorLnByZXR0eXByaW50IC5kZWMgeyBjb2xvcjogIzYwNjsgfQ0KKw0KZGlmZiAtLWdpdCBhL2FwaWRvYy9odG1sL3N0eWxlcy8yLmNzcyBiL2FwaWRvYy9odG1sL3N0eWxlcy8yLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDU1MDI0Ci0tLSAvZGV2L251bGwKKysrIGIvYXBpZG9jL2h0bWwvc3R5bGVzLzIuY3NzCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgICBJTVBPUlRBTlQ6IElmIHlvdSdyZSBlZGl0aW5nIHRoaXMgZmlsZSBpbiB0aGUgb3V0cHV0IGRpcmVjdG9yeSBvZiBvbmUgb2YKKyAgIHlvdXIgcHJvamVjdHMsIHlvdXIgY2hhbmdlcyB3aWxsIGJlIG92ZXJ3cml0dGVuIHRoZSBuZXh0IHRpbWUgeW91IHJ1bgorICAgTmF0dXJhbCBEb2NzLiAgSW5zdGVhZCwgY29weSB0aGlzIGZpbGUgdG8geW91ciBwcm9qZWN0IGRpcmVjdG9yeSwgbWFrZSB5b3VyCisgICBjaGFuZ2VzLCBhbmQgeW91IGNhbiB1c2UgaXQgd2l0aCAtcy4gIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIHRvIG1ha2UgYSBDU1MKKyAgIGZpbGUgaW4geW91ciBwcm9qZWN0IGRpcmVjdG9yeSB3aXRoIG9ubHkgeW91ciBjaGFuZ2VzLCB3aGljaCB5b3UgY2FuIHRoZW4KKyAgIHVzZSB3aXRoIC1zIFtvcmlnaW5hbCBzdHlsZV0gW3lvdXIgY2hhbmdlc10uCisKKyAgIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB5b3UncmUgZWRpdGluZyB0aGlzIGZpbGUgaW4gdGhlIE5hdHVyYWwgRG9jcyBzdHlsZXMKKyAgIGRpcmVjdG9yeSwgdGhlIGNoYW5nZXMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFwcGxpZWQgdG8gYWxsIHlvdXIgcHJvamVjdHMKKyAgIHRoYXQgdXNlIHRoaXMgc3R5bGUgdGhlIG5leHQgdGltZSBOYXR1cmFsIERvY3MgaXMgcnVuIG9uIHRoZW0uCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIE5hdHVyYWwgRG9jcywgd2hpY2ggaXMgQ29weXJpZ2h0IKkgMjAwMy0yMDA0IEdyZWcgVmFsdXJlCisgICBOYXR1cmFsIERvY3MgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTAorKi8KKworLyogIE5PIGxvbmdlciBuZWNlc3NhcnkhIQorICAuUHJvdG90eXBlIHRkIHsKKyAgICBmb250LXNpemU6IDhwdDsKKyAgICB9CisqLworCisuQ1JlcXVpcmVtZW50VGVzdGNhc2UgLlByb3RvdHlwZSB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1jb2xvcjogI0QwRDBEMCB9CisuQ1JlcXVpcmVtZW50RnVuY3Rpb24gLlByb3RvdHlwZSB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1jb2xvcjogI0QwRDBEMCB9CisuQ1JlcXVpcmVtZW50UHJvY2VkdXJlIC5Qcm90b3R5cGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItY29sb3I6ICNEMEQwRDAgfQorLkNSZXF1aXJlbWVudFR5cGUgLlByb3RvdHlwZSB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1jb2xvcjogI0QwRDBEMCB9CisKKy5NR3JvdXBDb250ZW50IHsKKyAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDsgCisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICBkaXNwbGF5OiBub25lOworfQorICAgICAgICAKKy8qICBOTyBsb25nZXIgbmVjZXNzYXJ5ISEKK0BtZWRpYSBwcmludCB7CisKKyBibG9ja3F1b3RlIHsKKyAgICAgb3ZlcmZsb3c6IHZpc2libGU7CisgICAgIH0KKworIC5JRSBibG9ja3F1b3RlIHsKKyAgICAgd2lkdGg6IGF1dG87CisgICAgIH0KK30KKyovCmRpZmYgLS1naXQgYS9hcGlkb2MvaHRtbC9zdHlsZXMvbWFpbi5jc3MgYi9hcGlkb2MvaHRtbC9zdHlsZXMvbWFpbi5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY3MmE5NAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9odG1sL3N0eWxlcy9tYWluLmNzcwpAQCAtMCwwICsxLDIgQEAKK0BpbXBvcnQgVVJMKCIxLmNzcyIpOworQGltcG9ydCBVUkwoIjIuY3NzIik7CmRpZmYgLS1naXQgYS9hcGlkb2MvbG9hZC5jc3MgYi9hcGlkb2MvbG9hZC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ1NTAyNAotLS0gL2Rldi9udWxsCisrKyBiL2FwaWRvYy9sb2FkLmNzcwpAQCAtMCwwICsxLDQ1IEBACisvKgorICAgSU1QT1JUQU5UOiBJZiB5b3UncmUgZWRpdGluZyB0aGlzIGZpbGUgaW4gdGhlIG91dHB1dCBkaXJlY3Rvcnkgb2Ygb25lIG9mCisgICB5b3VyIHByb2plY3RzLCB5b3VyIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbiB0aGUgbmV4dCB0aW1lIHlvdSBydW4KKyAgIE5hdHVyYWwgRG9jcy4gIEluc3RlYWQsIGNvcHkgdGhpcyBmaWxlIHRvIHlvdXIgcHJvamVjdCBkaXJlY3RvcnksIG1ha2UgeW91cgorICAgY2hhbmdlcywgYW5kIHlvdSBjYW4gdXNlIGl0IHdpdGggLXMuICBFdmVuIGJldHRlciB3b3VsZCBiZSB0byBtYWtlIGEgQ1NTCisgICBmaWxlIGluIHlvdXIgcHJvamVjdCBkaXJlY3Rvcnkgd2l0aCBvbmx5IHlvdXIgY2hhbmdlcywgd2hpY2ggeW91IGNhbiB0aGVuCisgICB1c2Ugd2l0aCAtcyBbb3JpZ2luYWwgc3R5bGVdIFt5b3VyIGNoYW5nZXNdLgorCisgICBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgeW91J3JlIGVkaXRpbmcgdGhpcyBmaWxlIGluIHRoZSBOYXR1cmFsIERvY3Mgc3R5bGVzCisgICBkaXJlY3RvcnksIHRoZSBjaGFuZ2VzIHdpbGwgYXV0b21hdGljYWxseSBiZSBhcHBsaWVkIHRvIGFsbCB5b3VyIHByb2plY3RzCisgICB0aGF0IHVzZSB0aGlzIHN0eWxlIHRoZSBuZXh0IHRpbWUgTmF0dXJhbCBEb2NzIGlzIHJ1biBvbiB0aGVtLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBOYXR1cmFsIERvY3MsIHdoaWNoIGlzIENvcHlyaWdodCCpIDIwMDMtMjAwNCBHcmVnIFZhbHVyZQorICAgTmF0dXJhbCBEb2NzIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwKKyovCisKKy8qICBOTyBsb25nZXIgbmVjZXNzYXJ5ISEKKyAgLlByb3RvdHlwZSB0ZCB7CisgICAgZm9udC1zaXplOiA4cHQ7CisgICAgfQorKi8KKworLkNSZXF1aXJlbWVudFRlc3RjYXNlIC5Qcm90b3R5cGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItY29sb3I6ICNEMEQwRDAgfQorLkNSZXF1aXJlbWVudEZ1bmN0aW9uIC5Qcm90b3R5cGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItY29sb3I6ICNEMEQwRDAgfQorLkNSZXF1aXJlbWVudFByb2NlZHVyZSAuUHJvdG90eXBlIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgYm9yZGVyLWNvbG9yOiAjRDBEMEQwIH0KKy5DUmVxdWlyZW1lbnRUeXBlIC5Qcm90b3R5cGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItY29sb3I6ICNEMEQwRDAgfQorCisuTUdyb3VwQ29udGVudCB7CisgICAgZm9udC12YXJpYW50OiBub3JtYWw7IAorICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgZGlzcGxheTogbm9uZTsKK30KKyAgICAgICAgCisvKiAgTk8gbG9uZ2VyIG5lY2Vzc2FyeSEhCitAbWVkaWEgcHJpbnQgeworCisgYmxvY2txdW90ZSB7CisgICAgIG92ZXJmbG93OiB2aXNpYmxlOworICAgICB9CisKKyAuSUUgYmxvY2txdW90ZSB7CisgICAgIHdpZHRoOiBhdXRvOworICAgICB9Cit9CisqLwo=