ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Bhc2NhbC52aW0gYi9ydW50aW1lL3N5bnRheC9wYXNjYWwudmltCmluZGV4IGJiYTE5OGYuLmQyYjYwNjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Bhc2NhbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGFzY2FsLnZpbQpAQCAtMSwxMyArMSwxNiBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CVBhc2NhbAotIiBWZXJzaW9uOiAyLjcKLSIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCisiIFZlcnNpb246IDIuOAorIiBMYXN0IENoYW5nZToJMjAwNC8xMC8xNyAxNzo0NzozMAogIiBNYWludGFpbmVyOiAgWGF2aWVyIENy6Wd1dCA8eGF2aWVyLmNyZWd1dEBlbnNlZWlodC5mcj4KICIgUHJldmlvdXMgTWFpbnRhaW5lcjoJTWFyaW8gRXVzZWJpbyA8YmlvQGRxLmZjdC51bmwucHQ+CiAKLSIgQ29udHJpYnV0b3JzOiBUaW0gQ2hhc2UgPHRjaGFzZUBjc2MuY29tPiwgU3RhcyBHcmFib2lzIDxzdHNpQHZ0cmFpbHMuY29tPiwKKyIgQ29udHJpYnV0b3JzOiBUaW0gQ2hhc2UgPHRjaGFzZUBjc2MuY29tPiwKKyIJU3RhcyBHcmFib2lzIDxzdHNpQHZ0cmFpbHMuY29tPiwKICIJTWF6ZW4gTkVJRkVSIDxtYXplbi5uZWlmZXIuMjAwMUBzdXBhZXJvLmZyPiwKLSIJS2xhdXMgSGFzdCA8S2xhdXMuSGFzdEBhcmNvci5uZXQ+CisiCUtsYXVzIEhhc3QgPEtsYXVzLkhhc3RAYXJjb3IubmV0PiwKKyIJQXVzdGluIFppZWdsZXIgPGF1c3RpbkBoYWxvc3RhdHVlLmNhPiwKKyIJTWFya3VzIEtvZW5pZyA8bWFya3VzQHN0YmVyLWtvZW5pZy5kZT4KIAogIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKICIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKQEAgLTM0LDcgKzM3LDIwIEBACiBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCQlzdHJpbmcgdGV4dCB2YXJpYW50CiAKIAotc3luIGtleXdvcmQgcGFzY2FsVG9kbyBjb250YWluZWQJVE9ETworICAgICIgMjAwMTEyMjJhejogQWRkZWQgbmV3IGl0ZW1zLgorc3luIGtleXdvcmQgcGFzY2FsVG9kbyBjb250YWluZWQJVE9ETyBGSVhNRSBYWFggREVCVUcgTk9URQorCisgICAgIiAyMDAxMDcyM2F6OiBXaGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRoZSB0cmFpbGluZyB3aGl0ZXNwYWNlIC0tIHRoaXMgaXMKKyAgICAiIGJhc2VkIG9uIGNfc3BhY2VfZXJyb3JzOyB0byBlbmFibGUsIHVzZSAicGFzY2FsX3NwYWNlX2Vycm9ycyIuCitpZiBleGlzdHMoInBhc2NhbF9zcGFjZV9lcnJvcnMiKQorICAgIGlmICFleGlzdHMoInBhc2NhbF9ub190cmFpbF9zcGFjZV9lcnJvciIpCisgICAgICAgIHN5biBtYXRjaCBwYXNjYWxTcGFjZUVycm9yICJcc1wrJCIKKyAgICBlbmRpZgorICAgIGlmICFleGlzdHMoInBhc2NhbF9ub190YWJfc3BhY2VfZXJyb3IiKQorICAgICAgICBzeW4gbWF0Y2ggcGFzY2FsU3BhY2VFcnJvciAiIFwrXHQibWU9ZS0xCisgICAgZW5kaWYKK2VuZGlmCisKIAogCiAiIFN0cmluZwpAQCAtOTMsOCArMTA5LDcgQEAKICAgc3luIG1hdGNoIHBhc2NhbFNob3dUYWIgIlx0IgogZW5kaWYKIAotc3luIHJlZ2lvbiBwYXNjYWxDb21tZW50CXN0YXJ0PSIoXCoiICBlbmQ9IlwqKSIgY29udGFpbnM9cGFzY2FsVG9kbwotc3luIHJlZ2lvbiBwYXNjYWxDb21tZW50CXN0YXJ0PSJ7IiAgZW5kPSJ9IiBjb250YWlucz1wYXNjYWxUb2RvCitzeW4gcmVnaW9uIHBhc2NhbENvbW1lbnQJc3RhcnQ9IihcKlx8eyIgIGVuZD0iXCopXHx9IiBjb250YWlucz1wYXNjYWxUb2RvLHBhc2NhbFNwYWNlRXJyb3IKIAogCiBpZiAhZXhpc3RzKCJwYXNjYWxfbm9fZnVuY3Rpb25zIikKQEAgLTExMyw3ICsxMjgsNyBAQAogCiAgIGlmIGV4aXN0cygicGFzY2FsX3RyYWRpdGlvbmFsIikKICAgICAiIFRoZXNlIGZ1bmN0aW9ucyBkbyBub3Qgc2VlbSB0byBiZSBkZWZpbmVkIGluIFR1cmJvIFBhc2NhbAotICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUdldCBQYWdlIFB1dAorICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUdldCBQYWdlIFB1dCAKICAgZW5kaWYKIAogICAiIG9yZGluYWwgZnVuY3Rpb25zCkBAIC0xMjksOSArMTQ0LDkgQEAKICAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWNvbnN0cnVjdG9yIGRlc3RydWN0b3IgaW1wbGVtZW50YXRpb24gaW5oZXJpdGVkCiAgIHN5biBrZXl3b3JkIHBhc2NhbFN0YXRlbWVudAlpbnRlcmZhY2UgdW5pdCB1c2VzCiAgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCWFic29sdXRlIGFzc2VtYmxlciBleHRlcm5hbCBmYXIgZm9yd2FyZCBpbmxpbmUKLSAgc3luIGtleXdvcmQgcGFzY2FsTW9kaWZpZXIJaW50ZXJydXB0IG5lYXIgdmlydHVhbAotICBzeW4ga2V5d29yZCBwYXNjYWxBY2Nlcwlwcml2YXRlIHB1YmxpYwotICBzeW4ga2V5d29yZCBwYXNjYWxTdHJ1Y3QJb2JqZWN0CisgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCWludGVycnVwdCBuZWFyIHZpcnR1YWwgCisgIHN5biBrZXl3b3JkIHBhc2NhbEFjY2VzCXByaXZhdGUgcHVibGljIAorICBzeW4ga2V5d29yZCBwYXNjYWxTdHJ1Y3QJb2JqZWN0IAogICBzeW4ga2V5d29yZCBwYXNjYWxPcGVyYXRvcglzaGwgc2hyIHhvcgogCiAgIHN5biByZWdpb24gcGFzY2FsUHJlUHJvYwlzdGFydD0iKFwqXCQiICBlbmQ9IlwqKSIgY29udGFpbnM9cGFzY2FsVG9kbwpAQCAtMTUxLDcgKzE2Niw3IEBACiAgIGVuZGlmCiAKICAgaWYgZXhpc3RzKCJwYXNjYWxfZnBjIikKLSAgICBzeW4gcmVnaW9uIHBhc2NhbENvbW1lbnQJc3RhcnQ9Ii8vIiBlbmQ9IiQiCisgICAgc3luIHJlZ2lvbiBwYXNjYWxDb21tZW50ICAgICAgICBzdGFydD0iLy8iIGVuZD0iJCIgY29udGFpbnM9cGFzY2FsVG9kbyxwYXNjYWxTcGFjZUVycm9yCiAgICAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWZhaWwgb3RoZXJ3aXNlIG9wZXJhdG9yCiAgICAgc3luIGtleXdvcmQgcGFzY2FsRGlyZWN0aXZlCXBvcHN0YWNrCiAgICAgc3luIGtleXdvcmQgcGFzY2FsUHJlZGVmaW5lZCBzZWxmCkBAIC0xNjUsNyArMTgwLDcgQEAKICAgZW5kaWYKIAogICBpZiBleGlzdHMoInBhc2NhbF9kZWxwaGkiKQotICAgIHN5biByZWdpb24gcGFzY2FsQ29tbWVudAlzdGFydD0iLy8iICBlbmQ9IiQiIGNvbnRhaW5zPXBhc2NhbFRvZG8KKyAgICBzeW4gcmVnaW9uIHBhc2NhbENvbW1lbnQJc3RhcnQ9Ii8vIiAgZW5kPSIkIiBjb250YWlucz1wYXNjYWxUb2RvLHBhc2NhbFNwYWNlRXJyb3IKICAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCVNtYWxsSW50IEludDY0CiAgICAgc3luIGtleXdvcmQgcGFzY2FsVHlwZQlSZWFsNDggQ3VycmVuY3kKICAgICBzeW4ga2V5d29yZCBwYXNjYWxUeXBlCUFuc2lDaGFyIFdpZGVDaGFyCkBAIC0xNzYsNyArMTkxLDcgQEAKICAgICBzeW4ga2V5d29yZCBwYXNjYWxTdHJ1Y3QJY2xhc3MgZGlzcGludGVyZmFjZQogICAgIHN5biBrZXl3b3JkIHBhc2NhbEV4Y2VwdGlvbgl0cnkgZXhjZXB0IHJhaXNlIGF0IG9uIGZpbmFsbHkKICAgICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJb3V0Ci0gICAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWxpYnJhcnkgcGFja2FnZQorICAgIHN5biBrZXl3b3JkIHBhc2NhbFN0YXRlbWVudAlsaWJyYXJ5IHBhY2thZ2UgCiAgICAgc3luIGtleXdvcmQgcGFzY2FsU3RhdGVtZW50CWluaXRpYWxpemF0aW9uIGZpbmFsaXphdGlvbiB1c2VzIGV4cG9ydHMKICAgICBzeW4ga2V5d29yZCBwYXNjYWxTdGF0ZW1lbnQJcHJvcGVydHkgb3V0IHJlc291cmNlc3RyaW5nIHRocmVhZHZhcgogICAgIHN5biBrZXl3b3JkIHBhc2NhbE1vZGlmaWVyCWNvbnRhaW5zCkBAIC0yNDgsNyArMjYzLDcgQEAKICAgICBzeW4ga2V5d29yZCBwYXNjYWxDb25zdGFudCBMaWdodEN5YW4gTGlnaHRSZWQgTGlnaHRNYWdlbnRhIFllbGxvdyBXaGl0ZQogICAgIHN5biBrZXl3b3JkIHBhc2NhbENvbnN0YW50IEJsaW5rIFNjcmVlbldpZHRoIFNjcmVlbkhlaWdodCBidzQwCiAgICAgc3luIGtleXdvcmQgcGFzY2FsQ29uc3RhbnQgY280MCBidzgwIGNvODAgbW9ubwotICAgIHN5biBrZXl3b3JkIHBhc2NhbFByZWRlZmluZWQgVGV4dENoYXIKKyAgICBzeW4ga2V5d29yZCBwYXNjYWxQcmVkZWZpbmVkIFRleHRDaGFyIAogCiAgICAgIiBET1MgdW5pdAogICAgIHN5biBrZXl3b3JkIHBhc2NhbEZ1bmN0aW9uCUFkZERpc2sgRGlza0ZyZWUgRGlza1NpemUgRG9zRXhpdENvZGUgRG9zVmVyc2lvbgpAQCAtMzMzLDYgKzM0OCw3IEBACiAgIEhpTGluayBwYXNjYWxQcmVkZWZpbmVkCXBhc2NhbFN0YXRlbWVudAogICBIaUxpbmsgcGFzY2FsUHJlUHJvYwkJUHJlUHJvYwogICBIaUxpbmsgcGFzY2FsUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIHBhc2NhbFNwYWNlRXJyb3IJRXJyb3IKICAgSGlMaW5rIHBhc2NhbFN0YXRlbWVudAlTdGF0ZW1lbnQKICAgSGlMaW5rIHBhc2NhbFN0cmluZwkJU3RyaW5nCiAgIEhpTGluayBwYXNjYWxTdHJpbmdFc2NhcGUJU3BlY2lhbApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdHBwLnZpbSBiL3J1bnRpbWUvc3ludGF4L3RwcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhhMmM2YgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3RwcC52aW0KQEAgLTAsMCArMSw5MSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6CXRwcCAtIFRleHQgUHJlc2VudGF0aW9uIFByb2dyYW0KKyIgTWFpbnRhaW5lcjoJR2VyZnJpZWQgRnVjaHMgPGFsZmllQGlzdC5vcmc+CisiIEZpbGVuYW1lczoJKi50cHAKKyIgTGFzdCBDaGFuZ2U6CTEzLiBPY3RvYmVyIDIwMDQKKyIgVVJMOgkJaHR0cDovL2FsZmllLmlzdC5vcmcvcHJvamVjdHMvdmltL3N5bnRheC90cHAudmltCisiIExpY2Vuc2U6CUJTRAorIgorIiBDb21tZW50cyBhcmUgdmVyeSB3ZWxjb21lIC0gYnV0IHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB5b3UgYXJlIGNvbW1lbnRpbmcgb24KKyIgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgZmlsZS4KKyIgU1BBTSBpcyBfTk9UXyB3ZWxjb21lIC0gYmUgcmVhZHkgdG8gYmUgcmVwb3J0ZWQhCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQorICBsZXQgbWFpbl9zeW50YXggPSAndHBwJworZW5kaWYKKworCisiIiBsaXN0IG9mIHRoZSBsZWdhbCBzd2l0Y2hlcy9vcHRpb25zCitzeW4gbWF0Y2ggdHBwQWJzdHJhY3RPcHRpb25LZXkgY29udGFpbmVkICJeLS1cJShhdXRob3JcfHRpdGxlXHxkYXRlXCkgKiIgbmV4dGdyb3VwPXRwcFZhbHVlCitzeW4gbWF0Y2ggdHBwUGFnZUxvY2FsT3B0aW9uS2V5IGNvbnRhaW5lZCAiXi0tXCUoaGVhZGluZ1x8Y2VudGVyXHxyaWdodFx8c2xlZXBcfGh1Z2VcfGV4ZWNcKSAqIiBuZXh0Z3JvdXA9dHBwVmFsdWUKK3N5biBtYXRjaCB0cHBQYWdlTG9jYWxTd2l0Y2hLZXkgY29udGFpbmVkICJeLS1cJShob3JsaW5lXHwtXHxcJShiZWdpblx8ZW5kXClcJShcJShzaGVsbFwpXD9vdXRwdXRcfHNsaWRlXCUobGVmdFx8cmlnaHRcfHRvcFx8Ym90dG9tXClcKVx8XCUoYm9sZFx8cmV2XHx1bFwpXCUob25cfG9mZlwpXHx3aXRoYm9yZGVyXCkiCitzeW4gbWF0Y2ggdHBwTmV3UGFnZU9wdGlvbktleSBjb250YWluZWQgIl4tLW5ld3BhZ2UgKiIgbmV4dGdyb3VwPXRwcFZhbHVlCitzeW4gbWF0Y2ggdHBwQ29sb3JPcHRpb25LZXkgY29udGFpbmVkICJeLS1cJShcJShiZ1x8ZmdcKVw/Y29sb3JcKSAqIgorc3luIG1hdGNoIHRwcFRpbWVPcHRpb25LZXkgY29udGFpbmVkICJeLS1zbGVlcCAqIgorCitzeW4gbWF0Y2ggdHBwVmFsdWUgY29udGFpbmVkICIuKiIKK3N5biBtYXRjaCB0cHBDb2xvciBjb250YWluZWQgIlwlKHdoaXRlXHx5ZWxsb3dcfHJlZFx8Z3JlZW5cfGJsdWVcfGN5YW5cfG1hZ2VudGFcfGJsYWNrXCkiCitzeW4gbWF0Y2ggdHBwVGltZSBjb250YWluZWQgIlxkXCsiCisKK3N5biByZWdpb24gdHBwUGFnZUxvY2FsU3dpdGNoIHN0YXJ0PSJeLS0iIGVuZD0iJCIgY29udGFpbnM9dHBwUGFnZUxvY2FsU3dpdGNoS2V5IG9uZWxpbmUKK3N5biByZWdpb24gdHBwQ29sb3JPcHRpb24gc3RhcnQ9Il4tLVwlKFwlKGJnXHxmZ1wpXD9jb2xvclwpIiBlbmQ9IiQiIGNvbnRhaW5zPXRwcENvbG9yT3B0aW9uS2V5LHRwcENvbG9yIG9uZWxpbmUKK3N5biByZWdpb24gdHBwVGltZU9wdGlvbiBzdGFydD0iXi0tc2xlZXAiIGVuZD0iJCIgY29udGFpbnM9dHBwVGltZU9wdGlvbktleSx0cHBUaW1lIG9uZWxpbmUKK3N5biByZWdpb24gdHBwTmV3UGFnZU9wdGlvbiBzdGFydD0iXi0tbmV3cGFnZSIgZW5kPSIkIiBjb250YWlucz10cHBOZXdQYWdlT3B0aW9uS2V5IG9uZWxpbmUKK3N5biByZWdpb24gdHBwUGFnZUxvY2FsT3B0aW9uIHN0YXJ0PSJeLS1cJShoZWFkaW5nXHxjZW50ZXJcfHJpZ2h0XHxzbGVlcFx8aHVnZVx8ZXhlY1wpIiBlbmQ9IiQiIGNvbnRhaW5zPXRwcFBhZ2VMb2NhbE9wdGlvbktleSBvbmVsaW5lCitzeW4gcmVnaW9uIHRwcEFic3RyYWN0T3B0aW9uIHN0YXJ0PSJeLS1cJShhdXRob3JcfHRpdGxlXHxkYXRlXCkiIGVuZD0iJCIgY29udGFpbnM9dHBwQWJzdHJhY3RPcHRpb25LZXkgb25lbGluZQorCitpZiBtYWluX3N5bnRheCAhPSAnc2gnCisgICIgc2hlbGwgY29tbWFuZAorICBpZiB2ZXJzaW9uIDwgNjAwCisgICAgc3luIGluY2x1ZGUgQHRwcFNoRXhlYyA8c2ZpbGU+OnA6aC9zaC52aW0KKyAgZWxzZQorICAgIHN5biBpbmNsdWRlIEB0cHBTaEV4ZWMgc3ludGF4L3NoLnZpbQorICBlbmRpZgorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKKyAgc3luIHJlZ2lvbiBzaEV4ZWMgbWF0Y2hncm91cD10cHBQYWdlTG9jYWxPcHRpb25LZXkgc3RhcnQ9J14tLWV4ZWMgKicga2VlcGVuZCBlbmQ9JyQnIGNvbnRhaW5zPUB0cHBTaEV4ZWMKKworZW5kaWYKKworCisiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKKyIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2lmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90cHBfc3luX2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfdHBwX3N5bl9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHRwcEFic3RyYWN0T3B0aW9uS2V5CQlTcGVjaWFsCisgIEhpTGluayB0cHBQYWdlTG9jYWxPcHRpb25LZXkJCUtleXdvcmQKKyAgSGlMaW5rIHRwcFBhZ2VMb2NhbFN3aXRjaEtleQkJS2V5d29yZAorICBIaUxpbmsgdHBwQ29sb3JPcHRpb25LZXkJCUtleXdvcmQKKyAgSGlMaW5rIHRwcFRpbWVPcHRpb25LZXkJCUNvbW1lbnQKKyAgSGlMaW5rIHRwcE5ld1BhZ2VPcHRpb25LZXkJCVByZVByb2MKKyAgSGlMaW5rIHRwcFZhbHVlCQkJU3RyaW5nCisgIEhpTGluayB0cHBDb2xvcgkJCVN0cmluZworICBIaUxpbmsgdHBwVGltZQkJCU51bWJlcgorICBIaUxpbmsgdHBwQWJzdHJhY3RPcHRpb24JCUVycm9yCisgIEhpTGluayB0cHBQYWdlTG9jYWxPcHRpb24JCUVycm9yCisgIEhpTGluayB0cHBQYWdlTG9jYWxTd2l0Y2gJCUVycm9yCisgIEhpTGluayB0cHBDb2xvck9wdGlvbgkJCUVycm9yCisgIEhpTGluayB0cHBOZXdQYWdlT3B0aW9uCQlFcnJvcgorICBIaUxpbmsgdHBwVGltZU9wdGlvbgkJCUVycm9yCisKKyAgZGVsY29tbWFuZCBIaUxpbmsKK2VuZGlmCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInRwcCIKKworIiB2aW06IHRzPTggc3c9Mgo=