ZGlmZiAtLWdpdCBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5jb3JlLnByZWZzIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnMKaW5kZXggYTljOGEwOS4uMTljN2RkMyAxMDA2NDQKLS0tIGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnMKKysrIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnMKQEAgLTEsNyArMSw3NCBAQAotI01vbiBTZXAgMDEgMTQ6NDY6MTQgRUVTVCAyMDA4CisjV2VkIE1heSAyNiAxNDo0MjowOSBFRVNUIDIwMTAKIGVjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb2RlZ2VuLmlubGluZUpzckJ5dGVjb2RlPWVuYWJsZWQKIG9yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNvZGVnZW4udGFyZ2V0UGxhdGZvcm09MS41CitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb2RlZ2VuLnVudXNlZExvY2FsPXByZXNlcnZlCiBvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb21wbGlhbmNlPTEuNQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcubGluZU51bWJlcj1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcubG9jYWxWYXJpYWJsZT1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcuc291cmNlRmlsZT1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5hbm5vdGF0aW9uU3VwZXJJbnRlcmZhY2U9d2FybmluZwogb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5hc3NlcnRJZGVudGlmaWVyPWVycm9yCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmF1dG9ib3hpbmc9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmNvbXBhcmluZ0lkZW50aWNhbD13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmRlYWRDb2RlPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZGVwcmVjYXRpb249d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5kZXByZWNhdGlvbkluRGVwcmVjYXRlZENvZGU9ZGlzYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZGVwcmVjYXRpb25XaGVuT3ZlcnJpZGluZ0RlcHJlY2F0ZWRNZXRob2Q9ZGlzYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZGlzY291cmFnZWRSZWZlcmVuY2U9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5lbXB0eVN0YXRlbWVudD1pZ25vcmUKIG9yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZW51bUlkZW50aWZpZXI9ZXJyb3IKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZmFsbHRocm91Z2hDYXNlPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5mYXRhbE9wdGlvbmFsRXJyb3I9ZW5hYmxlZAorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5maWVsZEhpZGluZz1pZ25vcmUKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZmluYWxQYXJhbWV0ZXJCb3VuZD13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmZpbmFsbHlCbG9ja05vdENvbXBsZXRpbmdOb3JtYWxseT13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmZvcmJpZGRlblJlZmVyZW5jZT1lcnJvcgorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5oaWRkZW5DYXRjaEJsb2NrPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uaW5jb21wYXRpYmxlTm9uSW5oZXJpdGVkSW50ZXJmYWNlTWV0aG9kPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uaW5jb21wbGV0ZUVudW1Td2l0Y2g9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmluZGlyZWN0U3RhdGljQWNjZXNzPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5sb2NhbFZhcmlhYmxlSGlkaW5nPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5tZXRob2RXaXRoQ29uc3RydWN0b3JOYW1lPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0ubWlzc2luZ0RlcHJlY2F0ZWRBbm5vdGF0aW9uPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5taXNzaW5nSGFzaENvZGVNZXRob2Q9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLm1pc3NpbmdPdmVycmlkZUFubm90YXRpb249aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLm1pc3NpbmdTZXJpYWxWZXJzaW9uPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0ubWlzc2luZ1N5bmNocm9uaXplZE9uSW5oZXJpdGVkTWV0aG9kPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5ub0VmZmVjdEFzc2lnbm1lbnQ9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5ub0ltcGxpY2l0U3RyaW5nQ29udmVyc2lvbj13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLm5vbkV4dGVybmFsaXplZFN0cmluZ0xpdGVyYWw9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5udWxsUmVmZXJlbmNlPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0ub3ZlcnJpZGluZ1BhY2thZ2VEZWZhdWx0TWV0aG9kPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0ucGFyYW1ldGVyQXNzaWdubWVudD1pZ25vcmUKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0ucG9zc2libGVBY2NpZGVudGFsQm9vbGVhbkFzc2lnbm1lbnQ9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnBvdGVudGlhbE51bGxSZWZlcmVuY2U9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnJhd1R5cGVSZWZlcmVuY2U9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5yZWR1bmRhbnROdWxsQ2hlY2s9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnJlZHVuZGFudFN1cGVyaW50ZXJmYWNlPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5zcGVjaWFsUGFyYW1ldGVySGlkaW5nRmllbGQ9ZGlzYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uc3RhdGljQWNjZXNzUmVjZWl2ZXI9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5zdXBwcmVzc1dhcm5pbmdzPWVuYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uc3ludGhldGljQWNjZXNzRW11bGF0aW9uPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS50eXBlUGFyYW1ldGVySGlkaW5nPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0udW5jaGVja2VkVHlwZU9wZXJhdGlvbj13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVuZG9jdW1lbnRlZEVtcHR5QmxvY2s9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVuaGFuZGxlZFdhcm5pbmdUb2tlbj13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVubmVjZXNzYXJ5RWxzZT1pZ25vcmUKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0udW5uZWNlc3NhcnlUeXBlQ2hlY2s9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVucXVhbGlmaWVkRmllbGRBY2Nlc3M9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZERlY2xhcmVkVGhyb3duRXhjZXB0aW9uPWlnbm9yZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS51bnVzZWREZWNsYXJlZFRocm93bkV4Y2VwdGlvbkV4ZW1wdEV4Y2VwdGlvbkFuZFRocm93YWJsZT1lbmFibGVkCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZERlY2xhcmVkVGhyb3duRXhjZXB0aW9uSW5jbHVkZURvY0NvbW1lbnRSZWZlcmVuY2U9ZW5hYmxlZAorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS51bnVzZWREZWNsYXJlZFRocm93bkV4Y2VwdGlvbldoZW5PdmVycmlkaW5nPWRpc2FibGVkCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZEltcG9ydD13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZExhYmVsPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0udW51c2VkTG9jYWw9d2FybmluZworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS51bnVzZWRQYXJhbWV0ZXI9aWdub3JlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZFBhcmFtZXRlckluY2x1ZGVEb2NDb21tZW50UmVmZXJlbmNlPWVuYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0udW51c2VkUGFyYW1ldGVyV2hlbkltcGxlbWVudGluZ0Fic3RyYWN0PWRpc2FibGVkCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZFBhcmFtZXRlcldoZW5PdmVycmlkaW5nQ29uY3JldGU9ZGlzYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0udW51c2VkUHJpdmF0ZU1lbWJlcj13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnVudXNlZFdhcm5pbmdUb2tlbj13YXJuaW5nCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLnZhcmFyZ3NBcmd1bWVudE5lZWRDYXN0PXdhcm5pbmcKIG9yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnNvdXJjZT0xLjUKZGlmZiAtLWdpdCBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvTUVUQS1JTkYvTUFOSUZFU1QuTUYgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL01FVEEtSU5GL01BTklGRVNULk1GCmluZGV4IDA4ZDIxNjYuLjMzYjQ2NjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvTUVUQS1JTkYvTUFOSUZFU1QuTUYKKysrIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9NRVRBLUlORi9NQU5JRkVTVC5NRgpAQCAtMSw4ICsxLDggQEAKIE1hbmlmZXN0LVZlcnNpb246IDEuMAogQnVuZGxlLU1hbmlmZXN0VmVyc2lvbjogMgotQnVuZGxlLU5hbWU6IEpTVCBFSkIgVUkgdGVzdHMgcGx1Z2luCitCdW5kbGUtTmFtZTogJUJ1bmRsZS1OYW1lLjAKIEJ1bmRsZS1TeW1ib2xpY05hbWU6IG9yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMKLUJ1bmRsZS1WZXJzaW9uOiAxLjAuMAorQnVuZGxlLVZlcnNpb246IDEuMC4wLnF1YWxpZmllcgogQnVuZGxlLUFjdGl2YXRvcjogb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy5BY3RpdmF0b3IKIFJlcXVpcmUtQnVuZGxlOiBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUsCiAgb3JnLmVjbGlwc2UuanN0LmVqYi51aTtidW5kbGUtdmVyc2lvbj0iWzEuMS4yMDEsMS4yLjApIiwKQEAgLTEwLDMgKzEwLDQgQEAKICBvcmcuZWNsaXBzZS5qZHQudWk7YnVuZGxlLXZlcnNpb249IlszLjIuMCw0LjAuMCkiCiBCdW5kbGUtQWN0aXZhdGlvblBvbGljeTogbGF6eQogQnVuZGxlLVJlcXVpcmVkRXhlY3V0aW9uRW52aXJvbm1lbnQ6IEoyU0UtMS41CitCdW5kbGUtVmVuZG9yOiAlQnVuZGxlLVZlbmRvci4wCmRpZmYgLS1naXQgYS90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL2Fib3V0Lmh0bWwgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE5OWRmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvYWJvdXQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wLy9FTiI+Cis8SFRNTD4KKworPGhlYWQ+Cis8dGl0bGU+QWJvdXQ8L3RpdGxlPgorPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgorPC9oZWFkPgorCis8Qk9EWSBsYW5nPSJFTi1VUyI+CisKKzxIMz5BYm91dCBUaGlzIENvbnRlbnQ8L0gzPgorCis8UD5KdW5lLCAyMDA4PC9QPgorCis8SDM+TGljZW5zZTwvSDM+CisKKzxQPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAKKygiQ29udGVudCIpLiBVbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBiZWxvdywgdGhlIENvbnRlbnQgaXMgcHJvdmlkZWQgdG8geW91IAordW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wIAorKCJFUEwiKS4gQSBjb3B5IG9mIHRoZSBFUEwgaXMgYXZhaWxhYmxlIGF0Cis8QSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZXBsLXYxMC5waHAiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9lcGwtdjEwLnBocDwvQT4uIAorRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICJQcm9ncmFtIiB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9QPgorCis8UD5JZiB5b3UgZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSAKK0NvbnRlbnQgaXMgYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgiUmVkaXN0cmlidXRvciIpIGFuZCBkaWZmZXJlbnQgCit0ZXJtcyBhbmQgY29uZGl0aW9ucyBtYXkgYXBwbHkgdG8geW91ciB1c2Ugb2YgYW55IG9iamVjdCBjb2RlIGluIHRoZSBDb250ZW50LiAKK0NoZWNrIHRoZSBSZWRpc3RyaWJ1dG9yknMgbGljZW5zZSB0aGF0IHdhcyBwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiBJZiBubyBzdWNoIAorbGljZW5zZSBleGlzdHMsIGNvbnRhY3QgdGhlIFJlZGlzdHJpYnV0b3IuIFVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkIGJlbG93LCB0aGUgCit0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIHN0aWxsIGFwcGx5IHRvIGFueSBzb3VyY2UgY29kZSBpbiB0aGUgQ29udGVudCAKK2FuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdAorPEEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvPC9BPi48L1A+CisKKzwvQk9EWT4KKzwvSFRNTD4KZGlmZiAtLWdpdCBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvYnVpbGQucHJvcGVydGllcyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvYnVpbGQucHJvcGVydGllcwppbmRleCBkMTQ0NGZlLi4yNDM3ZTEyIDEwMDY0NAotLS0gYS90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL2J1aWxkLnByb3BlcnRpZXMKKysrIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9idWlsZC5wcm9wZXJ0aWVzCkBAIC0yLDQgKzIsNiBAQAogb3V0cHV0Li4gPSBiaW4vCiBiaW4uaW5jbHVkZXMgPSBNRVRBLUlORi8sXAogICAgICAgICAgICAgICAgLixcCi0gICAgICAgICAgICAgICB0ZXN0LnhtbAorICAgICAgICAgICAgICAgdGVzdC54bWwsXAorICAgICAgICAgICAgICAgcGx1Z2luLnByb3BlcnRpZXMsXAorICAgICAgICAgICAgICAgYWJvdXQuaHRtbApkaWZmIC0tZ2l0IGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9wbHVnaW4ucHJvcGVydGllcyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvcGx1Z2luLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIzNGVkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvcGx1Z2luLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxMyBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisjIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBwcm9wZXJ0aWVzIGZpbGUgZm9yIG9yZy5lY2xpcHNlLndzdC5zc2UuY29yZS50ZXN0cworQnVuZGxlLVZlbmRvci4wID0gRWNsaXBzZSBXZWIgVG9vbHMgUGxhdGZvcm0KK0J1bmRsZS1OYW1lLjAgPSBKU1QgRUpCIFVJIHRlc3RzIHBsdWdpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvQnVzaW5lc3NJbnRlcmZhY2VTZWxlY3Rpb25FeHRlbnNpb25UZXN0LmphdmEgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3NyYy9vcmcvZWNsaXBzZS9qc3QvZWpiL3VpL0J1c2luZXNzSW50ZXJmYWNlU2VsZWN0aW9uRXh0ZW5zaW9uVGVzdC5qYXZhCmluZGV4IDIzMWNmZmYuLjBmYWEyNDggMTAwNjQ0Ci0tLSBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvQnVzaW5lc3NJbnRlcmZhY2VTZWxlY3Rpb25FeHRlbnNpb25UZXN0LmphdmEKKysrIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS9CdXNpbmVzc0ludGVyZmFjZVNlbGVjdGlvbkV4dGVuc2lvblRlc3QuamF2YQpAQCAtNjEsMjMgKzYxLDIzIEBACiAKIAlwdWJsaWMgdm9pZCB0ZXN0U2VsZWN0SmF2YXhFamJQYWNrYWdlKCkgewogCQlNb2NrVHlwZUluZm9SZXF1ZXN0b3IgcmVxdWVzdG9yID0gbmV3IE1vY2tUeXBlSW5mb1JlcXVlc3RvcigpOwotCQlyZXF1ZXN0b3Iuc2V0UGFja2FnZU5hbWUoImphdmF4LmVqYiIpOworCQlyZXF1ZXN0b3Iuc2V0UGFja2FnZU5hbWUoImphdmF4LmVqYiIpOyAvLyROT04tTkxTLTEkCiAJCUlUeXBlSW5mb0ZpbHRlckV4dGVuc2lvbiBmaWx0ZXIgPSBmaXh0dXJlLmdldEZpbHRlckV4dGVuc2lvbigpOwogCQlhc3NlcnRGYWxzZShmaWx0ZXIuc2VsZWN0KHJlcXVlc3RvcikpOwogCX0KIAogCXB1YmxpYyB2b2lkIHRlc3RTZWxlY3RKYXZhSU9TZXJpemxpemFibGVQYWNrYWdlKCkgewogCQlNb2NrVHlwZUluZm9SZXF1ZXN0b3IgcmVxdWVzdG9yID0gbmV3IE1vY2tUeXBlSW5mb1JlcXVlc3RvcigpOwotCQlyZXF1ZXN0b3Iuc2V0UGFja2FnZU5hbWUoImphdmEuaW8iKTsKLQkJcmVxdWVzdG9yLnNldFR5cGVOYW1lKCJTZXJpYWxpemFibGUiKTsKKwkJcmVxdWVzdG9yLnNldFBhY2thZ2VOYW1lKCJqYXZhLmlvIik7IC8vJE5PTi1OTFMtMSQKKwkJcmVxdWVzdG9yLnNldFR5cGVOYW1lKCJTZXJpYWxpemFibGUiKTsgLy8kTk9OLU5MUy0xJAogCQlJVHlwZUluZm9GaWx0ZXJFeHRlbnNpb24gZmlsdGVyID0gZml4dHVyZS5nZXRGaWx0ZXJFeHRlbnNpb24oKTsKIAkJYXNzZXJ0RmFsc2UoZmlsdGVyLnNlbGVjdChyZXF1ZXN0b3IpKTsKIAl9CiAKIAlwdWJsaWMgdm9pZCB0ZXN0U2VsZWN0SmF2YUlPRXh0ZXJuYWxpemFibGVQYWNrYWdlKCkgewogCQlNb2NrVHlwZUluZm9SZXF1ZXN0b3IgcmVxdWVzdG9yID0gbmV3IE1vY2tUeXBlSW5mb1JlcXVlc3RvcigpOwotCQlyZXF1ZXN0b3Iuc2V0UGFja2FnZU5hbWUoImphdmEuaW8iKTsKLQkJcmVxdWVzdG9yLnNldFR5cGVOYW1lKCJFeHRlcm5hbGl6YWJsZSIpOworCQlyZXF1ZXN0b3Iuc2V0UGFja2FnZU5hbWUoImphdmEuaW8iKTsgLy8kTk9OLU5MUy0xJAorCQlyZXF1ZXN0b3Iuc2V0VHlwZU5hbWUoIkV4dGVybmFsaXphYmxlIik7IC8vJE5PTi1OTFMtMSQKIAkJSVR5cGVJbmZvRmlsdGVyRXh0ZW5zaW9uIGZpbHRlciA9IGZpeHR1cmUuZ2V0RmlsdGVyRXh0ZW5zaW9uKCk7CiAJCWFzc2VydEZhbHNlKGZpbHRlci5zZWxlY3QocmVxdWVzdG9yKSk7CiAJfQpkaWZmIC0tZ2l0IGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9BY3RpdmF0b3IuamF2YSBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvdGVzdHMvQWN0aXZhdG9yLmphdmEKaW5kZXggN2YzYmZlMS4uNWFlZDU3NyAxMDA2NDQKLS0tIGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9BY3RpdmF0b3IuamF2YQorKysgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3NyYy9vcmcvZWNsaXBzZS9qc3QvZWpiL3VpL3Rlc3RzL0FjdGl2YXRvci5qYXZhCkBAIC0xOSw3ICsxOSw3IEBACiBwdWJsaWMgY2xhc3MgQWN0aXZhdG9yIGV4dGVuZHMgUGx1Z2luIHsKIAogCS8vIFRoZSBwbHVnLWluIElECi0JcHVibGljIHN0YXRpYyBmaW5hbCBTdHJpbmcgUExVR0lOX0lEID0gIm9yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMiOworCXB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIFBMVUdJTl9JRCA9ICJvcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzIjsgLy8kTk9OLU5MUy0xJAogCiAJLy8gVGhlIHNoYXJlZCBpbnN0YW5jZQogCXByaXZhdGUgc3RhdGljIEFjdGl2YXRvciBwbHVnaW47CmRpZmYgLS1naXQgYS90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3NyYy9vcmcvZWNsaXBzZS9qc3QvZWpiL3VpL3Rlc3RzL0FsbFRlc3RzLmphdmEgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3NyYy9vcmcvZWNsaXBzZS9qc3QvZWpiL3VpL3Rlc3RzL0FsbFRlc3RzLmphdmEKaW5kZXggMjE4YmQ5Yy4uNTBmYzJlNiAxMDA2NDQKLS0tIGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9BbGxUZXN0cy5qYXZhCisrKyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvdGVzdHMvQWxsVGVzdHMuamF2YQpAQCAtMTAsNiArMTAsOCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogcGFja2FnZSBvcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzOwogCitpbXBvcnQgb3JnLmVjbGlwc2Uub3NnaS51dGlsLk5MUzsKKwogaW1wb3J0IGp1bml0LmZyYW1ld29yay5UZXN0OwogaW1wb3J0IGp1bml0LmZyYW1ld29yay5UZXN0U3VpdGU7CiAKQEAgLTIwLDcgKzIyLDcgQEAKIHB1YmxpYyBjbGFzcyBBbGxUZXN0cyB7CiAKIAlwdWJsaWMgc3RhdGljIFRlc3Qgc3VpdGUoKSB7Ci0JCVRlc3RTdWl0ZSBzdWl0ZSA9IG5ldyBUZXN0U3VpdGUoIlRlc3QgZm9yIG9yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMiKTsKKwkJVGVzdFN1aXRlIHN1aXRlID0gbmV3IFRlc3RTdWl0ZShOTFMuYmluZChNZXNzYWdlcy5UZXN0U3VpdGVUaXRsZSwgQWN0aXZhdG9yLlBMVUdJTl9JRCkpOwogCQkvLyRKVW5pdC1CRUdJTiQKIAkJc3VpdGUuYWRkVGVzdFN1aXRlKG9yZy5lY2xpcHNlLmpzdC5lamIudWkuQnVzaW5lc3NJbnRlcmZhY2VTZWxlY3Rpb25FeHRlbnNpb25UZXN0LmNsYXNzKTsKIAkJLy8kSlVuaXQtRU5EJApkaWZmIC0tZ2l0IGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9NZXNzYWdlcy5qYXZhIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9NZXNzYWdlcy5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MTc5YTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3NyYy9vcmcvZWNsaXBzZS9qc3QvZWpiL3VpL3Rlc3RzL01lc3NhZ2VzLmphdmEKQEAgLTAsMCArMSwxNiBAQAorcGFja2FnZSBvcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzOworCitpbXBvcnQgb3JnLmVjbGlwc2Uub3NnaS51dGlsLk5MUzsKKworcHVibGljIGNsYXNzIE1lc3NhZ2VzIGV4dGVuZHMgTkxTIHsKKwlwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgQlVORExFX05BTUUgPSAib3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy5tZXNzYWdlcyI7IC8vJE5PTi1OTFMtMSQKKwlzdGF0aWMgeworCQkvLyBpbml0aWFsaXplIHJlc291cmNlIGJ1bmRsZQorCQlOTFMuaW5pdGlhbGl6ZU1lc3NhZ2VzKEJVTkRMRV9OQU1FLCBNZXNzYWdlcy5jbGFzcyk7CisJfQorCisJcHJpdmF0ZSBNZXNzYWdlcygpIHsKKwl9CisKKwlwdWJsaWMgc3RhdGljIFN0cmluZyBUZXN0U3VpdGVUaXRsZTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvdGVzdHMvbWVzc2FnZXMucHJvcGVydGllcyBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvc3JjL29yZy9lY2xpcHNlL2pzdC9lamIvdWkvdGVzdHMvbWVzc2FnZXMucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzViY2FlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy9zcmMvb3JnL2VjbGlwc2UvanN0L2VqYi91aS90ZXN0cy9tZXNzYWdlcy5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEgQEAKK1Rlc3RTdWl0ZVRpdGxlPVRlc3QgZm9yIHswfQpkaWZmIC0tZ2l0IGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy90ZXN0LnhtbCBiL3Rlc3RzL29yZy5lY2xpcHNlLmpzdC5lamIudWkudGVzdHMvdGVzdC54bWwKaW5kZXggYzc2M2UzOC4uZjExYWVjMCAxMDA2NDQKLS0tIGEvdGVzdHMvb3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy90ZXN0LnhtbAorKysgYi90ZXN0cy9vcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzL3Rlc3QueG1sCkBAIC0xLDY2ICsxLDExMiBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLQogPHByb2plY3QKICAgICBuYW1lPSJ0ZXN0c3VpdGUiCiAgICAgZGVmYXVsdD0icnVuIgogICAgIGJhc2VkaXI9Ii4iPgotICAgIAotICAgIDwhLS0gVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBwYXNzZWQgaW50byB0aGlzIHNjcmlwdCAtLT4KLSAgICA8IS0tICR7ZWNsaXBzZS1ob21lfSAgIC0tPgotICAgIDwhLS0gJHtidWlsZERpcmVjdG9yeX0gIC0tPgotICAgIDwhLS0gJHtidWlsZExhYmVsfSAgICAgICAgLS0+CiAKLSAgICA8IS0tIHNob3VsZCBiZSBsaXR0bGUgbmVlZCB0byBjaGFuZ2Ugd2hhdCdzIGFib3ZlICAtLT4KKyAgICA8IS0tIAorICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gCisgICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gbmVlZCB0byBjaGFuZ2Ugd2hhdCdzIGFib3ZlLgorICAgICAgICAgKGlmIHRoZXJlIGlzLCBsZXQgdXMga25vdyBpZiB0aGUgc2NyaXB0IGNhbiBiZSBpbXByb3ZlZC4pCisgICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKKyAgICAtLT4KICAgICAKLQk8cHJvcGVydHkKLQkJbmFtZT0icGx1Z2luLW5hbWUiCi0JCXZhbHVlPSJvcmcuZWNsaXBzZS5qc3QuZWpiLnVpLnRlc3RzIiAvPgorICAgIDwhLS0gCisgICAgICAgICBFdmVyeSBzdWl0ZSBuZWVkcyB0byBzcGVjaWZ5IHRocmVlIHRoaW5nOiAKKyAgICAgICAgICAgICBwbHVnaW4tbmFtZSwgCisgICAgICAgICAgICAgY2xhc3NuYW1lIC0gdGhhdCBwcm92aWRlcyB0aGUgc3VpdGUgdG8gdGVzdCwgYW5kIAorICAgICAgICAgICAgIHRlc3RUeXBlIC0gZWl0aGVyIGNvcmUtdGVzdCwgb3IgdWktdGVzdC4gCisgICAgICAgICBUaGVyZSBpcyBhbiBvcHRpb25hbCBleHRyYVZNYXJncyBwcm9wZXJ0eSB0aGF0IHNvbWUgdGVzdHMgbmVlZCB0byB1c2UgaW4gb3JkZXIgdG8gc3BlY2lmeSAgCisgICAgICAgICBleHRyYSwgbm9uLXN0YW5kYXJkIHByb3BlcnRpZXMgdG8gdGhlIFZNIHdoZW4gaXQgcnVucy4gSWYgbm90IG5lZWQsIG5vIG5lZWQgdG8gc3BlY2lmeSBpdC4gCisgICAgLS0+CisgICAgPHByb3BlcnR5CisgICAgICAgIG5hbWU9InBsdWdpbi1uYW1lIgorICAgICAgICB2YWx1ZT0ib3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cyIgLz4KICAgICA8cHJvcGVydHkKICAgICAgICAgbmFtZT0iY2xhc3NuYW1lIgogICAgICAgICB2YWx1ZT0ib3JnLmVjbGlwc2UuanN0LmVqYi51aS50ZXN0cy5BbGxUZXN0cyIgLz4KICAgICA8cHJvcGVydHkKICAgICAgICAgbmFtZT0idGVzdFR5cGUiCiAgICAgICAgIHZhbHVlPSJ1aS10ZXN0IiAvPgorICAgIAorICAgIDwhLS0gc29tZSB0ZXN0IHN1aXRlcyBuZWVkIHRvIGFkZCBzcGVjaWFsIHZtIGFyZ3VtZW50cyB3aGVuIHRoZXkgcnVuLiBUaGlzIGlzIGp1c3QgYW4gZXhhbXBsZS4KKyAgICA8cHJvcGVydHkKKyAgICAgICAgbmFtZT0iZXh0cmFWTWFyZ3MiCisgICAgICAgIHZhbHVlPSItRGpzZlJ1bnRpbWVKYXJzRGlyZWN0b3J5VjEuMT0ke3Rlc3REaXJ9LyR7anNmMS4xRGlyfSIgLz4KKyAgICA8ZWNobworICAgICAgICBtZXNzYWdlPSJleHRyYVZNYXJncyAke2V4dHJhVk1hcmdzfSIgLz4KKyAgICAtLT4KIAotICAgIDwhLS0gc2hvdWxkIGJlIGxpdHRsZSBuZWVkIHRvIGNoYW5nZSB3aGF0J3MgYmVsb3cgLS0+Ci0KLSAgICA8ZWNobyBtZXNzYWdlPSJiYXNlZGlyOiAke2Jhc2VkaXJ9IiAvPgotICAgIDxlY2hvIG1lc3NhZ2U9ImVjbGlwc2UtaG9tZTogJHtlY2xpcHNlLWhvbWV9IiAvPgotICAgIDxlY2hvIG1lc3NhZ2U9ImJ1aWxkRGlyZWN0b3J5OiAke2J1aWxkRGlyZWN0b3J5fSIgLz4KLSAgICA8ZWNobyBtZXNzYWdlPSJwbHVnaW4tbmFtZTogJHtwbHVnaW4tbmFtZX0iIC8+Ci0gICAgPGVjaG8gbWVzc2FnZT0iY2xhc3NuYW1lOiAke2NsYXNzbmFtZX0iIC8+Ci0gICAgPGVjaG8gbWVzc2FnZT0idGVzdFR5cGUgJHt0ZXN0VHlwZX0iIC8+Ci0KLQorICAgIDwhLS0gCisgICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKKyAgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBuZWVkIHRvIGNoYW5nZSB3aGF0J3MgYmVsb3cuCisgICAgICAgICAoaWYgdGhlcmUgaXMsIGxldCB1cyBrbm93IGlmIHRoZSBzY3JpcHQgY2FuIGJlIGltcHJvdmVkLikKKyAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IAorICAgIC0tPgorICAgIAorICAgIDwhLS0gCisgICAgICAgICBUaGVyZSBhcmUgc29tZSBwcm9wZXJ0aWVzIHRoYXQgbXVzdCBiZSBwcm92aWRlZCBieSBjYWxsZXIuIAorICAgIC0tPgorICAgIDxmYWlsCisgICAgICAgIG1lc3NhZ2U9IkVycm9yOiBtaXNzaW5nIHByb3BlcnR5LiBlY2xpcHNlLWhvbWUgbXVzdCBiZSBwcm92aWRlZCIKKyAgICAgICAgdW5sZXNzPSJlY2xpcHNlLWhvbWUiIC8+CisgICAgPGZhaWwKKyAgICAgICAgbWVzc2FnZT0iRXJyb3I6IG1pc3NpbmcgcHJvcGVydHkuIGJ1aWxkRGlyZWN0b3J5IG11c3QgYmUgcHJvdmlkZWQiCisgICAgICAgIHVubGVzcz0iYnVpbGREaXJlY3RvcnkiIC8+CisgICAgPGZhaWwKKyAgICAgICAgbWVzc2FnZT0iRXJyb3I6IG1pc3NpbmcgcHJvcGVydHkuIGJ1aWxkTGFiZWwgbXVzdCBiZSBwcm92aWRlZCIKKyAgICAgICAgdW5sZXNzPSJidWlsZExhYmVsIiAvPgorICAgIDxlY2hvCisgICAgICAgIG1lc3NhZ2U9ImJhc2VkaXI6ICR7YmFzZWRpcn0iIC8+CisgICAgPGVjaG8KKyAgICAgICAgbWVzc2FnZT0iZWNsaXBzZS1ob21lOiAke2VjbGlwc2UtaG9tZX0iIC8+CisgICAgPGVjaG8KKyAgICAgICAgbWVzc2FnZT0iYnVpbGREaXJlY3Rvcnk6ICR7YnVpbGREaXJlY3Rvcnl9IiAvPgorICAgIDxlY2hvCisgICAgICAgIG1lc3NhZ2U9InBsdWdpbi1uYW1lOiAke3BsdWdpbi1uYW1lfSIgLz4KKyAgICA8ZWNobworICAgICAgICBtZXNzYWdlPSJjbGFzc25hbWU6ICR7Y2xhc3NuYW1lfSIgLz4KKyAgICA8ZWNobworICAgICAgICBtZXNzYWdlPSJ0ZXN0VHlwZSAke3Rlc3RUeXBlfSIgLz4KICAgICA8cHJvcGVydHkKICAgICAgICAgbmFtZT0ibGlicmFyeS1maWxlIgogICAgICAgICB2YWx1ZT0iJHtlY2xpcHNlLWhvbWV9L3BsdWdpbnMvb3JnLmVjbGlwc2UudGVzdF8zLjEuMC9saWJyYXJ5LnhtbCIgLz4KICAgICA8cHJvcGVydHkKICAgICAgICAgbmFtZT0id29ya3NwYWNlIgogICAgICAgICB2YWx1ZT0iJHtlY2xpcHNlLWhvbWV9L2p1bml0d29ya3NwYWNlcy8ke3BsdWdpbi1uYW1lfSIgLz4KLSAgICAgICAgCi0gICAgPCEtLSBUaGlzIHRhcmdldCBob2xkcyBhbGwgaW5pdGlhbGl6YXRpb24gY29kZSB0aGF0IG5lZWRzIHRvIGJlIGRvbmUgZm9yIC0tPgotICAgIDwhLS0gYWxsIHRlc3RzIHRoYXQgYXJlIHRvIGJlIHJ1bi4gSW5pdGlhbGl6YXRpb24gZm9yIGluZGl2aWR1YWwgdGVzdHMgLS0+Ci0gICAgPCEtLSBzaG91bGQgYmUgZG9uZSB3aXRoaW4gdGhlIGJvZHkgb2YgdGhlIHN1aXRlIHRhcmdldC4gLS0+Ci0gICAgPHRhcmdldCBuYW1lPSJpbml0Ij4KKworICAgICAgPCEtLSAKKyAgICBUaGlzIGluaXQgdGFyZ2V0IGhvbGRzIGFsbCBpbml0aWFsaXphdGlvbiBjb2RlIHRoYXQgbmVlZHMgdG8gYmUgZG9uZSBmb3IKKyAgICAgIGFsbCB0ZXN0cyB0aGF0IGFyZSB0byBiZSBydW4uIEluaXRpYWxpemF0aW9uIGZvciBpbmRpdmlkdWFsIHRlc3RzCisgICAgICBzaG91bGQgYmUgZG9uZSB3aXRoaW4gdGhlIGJvZHkgb2YgdGhlIHN1aXRlIHRhcmdldC4gSGVyZSBpdCdzIGEgZ29vZCBpZGVhIAorICAgIHRvIGRlbGV0ZSB0aGluZ3MgdGhhdCBtaWdodCBoYXZlIGJlZW4gY3JlYXRlZCBpZiB0aGUgdGVzdCBoYXMgYWxyZWFkeSBiZWVuIAorICAgIHJhbiwganVzdCBpbiBjYXNlIHRoZSB0ZXN0IGlzIGJlaW5nIHJlLXJhbi4gCisgICAgLS0+CisgICAgPHRhcmdldAorICAgICAgICBuYW1lPSJpbml0Ij4KICAgICAgICAgPHRzdGFtcCAvPgogICAgICAgICA8ZGVsZXRlPgogICAgICAgICAgICAgPGZpbGVzZXQKICAgICAgICAgICAgICAgICBkaXI9IiR7ZWNsaXBzZS1ob21lfSIKICAgICAgICAgICAgICAgICBpbmNsdWRlcz0iJHtwbHVnaW4tbmFtZX0uKnhtbCIgLz4KICAgICAgICAgPC9kZWxldGU+Ci0gICAgICAgIDwhLS0gbWFrZSBkaXJlY3RvcnksIGluIGNhc2UgcGF0aCBkb2Vzbid0IGV4aXN0IHlldCAtLT4KLSAgICAgICAgPG1rZGlyIGRpcj0iJHt3b3Jrc3BhY2V9IiAvPgotICAgICAgICA8IS0tICBidXQgZGVsZXRlIHRvIG1ha2Ugc3VyZSBmcmVzaCBjb250ZW50cy0tPgorICAgICAgICAKKyAgICAgICAgICAgIDwhLS0gCisgICAgICAgICBtYWtlIHRoZSB3b3Jrc3BhY2UgZGlyZWN0b3J5LCBpbiBjYXNlIHBhdGggZG9lc24ndCBleGlzdCB5ZXQKKyAgICAgICAgIGJ1dCBkZWxldGUgdG8gbWFrZSBzdXJlIGZyZXNoIGNvbnRlbnRzLCBpZiBpdCBkb2VzIGV4aXN0CisgICAgICAgIC0tPgogICAgICAgICA8ZGVsZXRlCiAgICAgICAgICAgICBkaXI9IiR7d29ya3NwYWNlfSIKICAgICAgICAgICAgIHF1aWV0PSJ0cnVlIiAvPgotCisgICAgICAgIDxta2RpcgorICAgICAgICAgICAgZGlyPSIke3dvcmtzcGFjZX0iIC8+CiAgICAgPC90YXJnZXQ+CiAKLSAgICA8IS0tIFRoaXMgdGFyZ2V0IGRlZmluZXMgdGhlIHRlc3RzIHRoYXQgbmVlZCB0byBiZSBydW4uIC0tPgotICAgIDx0YXJnZXQgbmFtZT0ic3VpdGUiPgotCisgICAgPCEtLSAKKyAgICAgIFRoaXMgc3VpdGUgdGFyZ2V0IGRlZmluZXMgdGhlIHRlc3RzIHRoYXQgbmVlZCB0byBiZSBydW4uCisgICAgLS0+CisgICAgPHRhcmdldAorICAgICAgICBuYW1lPSJzdWl0ZSI+CiAgICAgICAgIDxhbnQKICAgICAgICAgICAgIHRhcmdldD0iJHt0ZXN0VHlwZX0iCiAgICAgICAgICAgICBhbnRmaWxlPSIke2xpYnJhcnktZmlsZX0iCkBAIC03OCwyNCArMTI0LDMxIEBACiAgICAgICAgICAgICAgICAgbmFtZT0icGx1Z2luLXBhdGgiCiAgICAgICAgICAgICAgICAgdmFsdWU9IiR7ZWNsaXBzZS1ob21lfS9wbHVnaW5zLyR7cGx1Z2luLW5hbWV9IiAvPgogICAgICAgICA8L2FudD4KLQogICAgICAgICA8Y29weQogICAgICAgICAgICAgZmFpbG9uZXJyb3I9ImZhbHNlIgogICAgICAgICAgICAgZmlsZT0iJHt3b3Jrc3BhY2V9Ly5tZXRhZGF0YS8ubG9nIgogICAgICAgICAgICAgdG9maWxlPSIke2J1aWxkRGlyZWN0b3J5fS8ke2J1aWxkTGFiZWx9L3Rlc3RSZXN1bHRzL2NvbnNvbGVsb2dzLyR7cGx1Z2luLW5hbWV9LmNvbnNvbGVsb2cudHh0IiAvPgorICAgIDwvdGFyZ2V0PgorCisgICAgIDwhLS0gCisgICAgIFRoaXMgY2xlYW4gdGFyZ2V0IGhvbGRzIGNvZGUgdG8gY2xlYW51cCB0aGUgdGVzdGluZyBlbnZpcm9ubWVudCBhZnRlcgorICAgICBhZnRlciBhbGwgb2YgdGhlIHRlc3RzIGhhdmUgYmVlbiBydW4uIFlvdSBjYW4gdXNlIHRoaXMgdGFyZ2V0IHRvIAorICAgICBkZWxldGUgdGVtcG9yYXJ5IGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQsIGlmIHJlcXVpcmVkLiBCdXQsIAorICAgICBpdCdzIHVzdWFsbHkgYmVzdCB0byBsZWF2ZSBpdCBhbGwsIGluIGNhc2UgeW91J2QgbGlrZSB0byBpbnNwZWN0IGl0IAorICAgICBhZnRlciBhIGZhaWxlZCBydW4uIEl0IHdpbGwgYmUgZGVsZXRlZCBldmVudHVhbGx5IGJ5IHRoZSBuZXh0IGNsZWFuIGJ1aWxkLiAKKyAgICAtLT4KKyAgICA8dGFyZ2V0CisgICAgICAgIG5hbWU9ImNsZWFudXAiPgogCiAgICAgPC90YXJnZXQ+CiAKLSAgICA8IS0tIFRoaXMgdGFyZ2V0IGhvbGRzIGNvZGUgdG8gY2xlYW51cCB0aGUgdGVzdGluZyBlbnZpcm9ubWVudCBhZnRlciAtLT4KLSAgICA8IS0tIGFmdGVyIGFsbCBvZiB0aGUgdGVzdHMgaGF2ZSBiZWVuIHJ1bi4gWW91IGNhbiB1c2UgdGhpcyB0YXJnZXQgdG8gLS0+Ci0gICAgPCEtLSBkZWxldGUgdGVtcG9yYXJ5IGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQuIC0tPgotICAgIDx0YXJnZXQgbmFtZT0iY2xlYW51cCI+Ci0gICAgICAgIDwhLS0gdXN1YWxseSBubyBuZWVkIHRvIGRlbGV0ZSB3b3Jrc3BhY2UgdW50aWwgbmV4dCBydW4sIGFuZCBsZWF2aW5nIGl0IGFsbG93cyBpbnNwZWN0aW9uIC0tPgotICAgICAgICA8IS0tIDxkZWxldGUgZGlyPSIke3dvcmtzcGFjZX0iIHF1aWV0PSJ0cnVlIiAvPiAtLT4KLSAgICA8L3RhcmdldD4KLQotICAgIDwhLS0gVGhpcyB0YXJnZXQgcnVucyB0aGUgdGVzdCBzdWl0ZS4gQW55IGFjdGlvbnMgdGhhdCBuZWVkIHRvIGhhcHBlbiAtLT4KLSAgICA8IS0tIGFmdGVyIGFsbCB0aGUgdGVzdHMgaGF2ZSBiZWVuIHJ1biBzaG91bGQgZ28gaGVyZS4gLS0+CisgICAgPCEtLSAKKyAgICAgICBUaGlzIHJ1biB0YXJnZXQgaXMgdGhlIG1hc3RlciB0YXJnZXQgdGhhdCBnZXQncyBhbGwgdGhlIHdvcmsgZG9uZS4gCisgICAgICAgTW9zdCBhY3Rpdml0eSBpcyBhY3R1YWxseSBkb25lIGluIHRoZSAnZGVwZW5kcycgdGFza3MsIGJ1dCBhbnkgCisgICAgICAgYWN0aW9ucyB0aGF0IG5lZWQgdG8gaGFwcGVuIGFmdGVyIGFsbCB0aGUgdGVzdHMgaGF2ZSBiZWVuIHJ1biAKKyAgICAgICBzaG91bGQgZ28gaGVyZSwgc3VjaCBhcyBjb3B5aW5nIHRoZSByZXN1bHRzIHRvIGEgY29tbW9uICdzYXZlJyAKKyAgICAgICBkaXJlY3RvcnkuIAorICAgIC0tPgogICAgIDx0YXJnZXQKICAgICAgICAgbmFtZT0icnVuIgogICAgICAgICBkZXBlbmRzPSJpbml0LHN1aXRlLGNsZWFudXAiPgpAQCAtMTExLDUgKzE2NCw0IEBACiAgICAgICAgICAgICAgICAgdmFsdWU9IiR7cGx1Z2luLW5hbWV9LnhtbCIgLz4KICAgICAgICAgPC9hbnQ+CiAgICAgPC90YXJnZXQ+Ci0KIDwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==