ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VybGFuZy52aW0gYi9ydW50aW1lL3N5bnRheC9lcmxhbmcudmltCmluZGV4IGE4ZmZiMzkuLmUzZDY4MzYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VybGFuZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXJsYW5nLnZpbQpAQCAtMSwxMSArMSwxMSBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgIGVybGFuZyAoRVJpY3Nzb24gTEFOR3VhZ2UpCi0iCSAgICAgICBodHRwOi8vd3d3LmVybGFuZy5zZQotIgkgICAgICAgaHR0cDovL3d3dy5lcmxhbmcub3JnCi0iIE1haW50YWluZXI6ICBLcmW5aW1pciBNYXK+aeYgKEtyZXNpbWlyIE1hcnppYykgPGttYXJ6aWNAZmx5LnNyay5mZXIuaHI+Ci0iIExhc3QgdXBkYXRlOiBGcmksIDE1LUZlYi0yMDAyCisiICAgICAgICAgICAgICBodHRwOi8vd3d3LmVybGFuZy5zZQorIiAgICAgICAgICAgICAgaHR0cDovL3d3dy5lcmxhbmcub3JnCisiIE1haW50YWluZXI6ICBDc2FiYSBIb2NoIDxjc2FiYS5ob2NoQGdtYWlsLmNvbT4KKyIgRm9ybWVyIE1haW50YWluZXI6ICBLcmXEhWltaXIgTWFyxL5pxIcgKEtyZXNpbWlyIE1hcnppYykgPGttYXJ6aWNAZmx5LnNyay5mZXIuaHI+CisiIExhc3QgdXBkYXRlOiAxMi1NYXItMjAwOAogIiBGaWxlbmFtZXM6ICAgLmVybAotIiBVUkw6CSAgICAgICBodHRwOi8vd3d3LnNyay5mZXIuaHIvfmttYXJ6aWMvdmltL3N5bnRheC9lcmxhbmcudmltCiAKIAogIiBUaGVyZSBhcmUgdGhyZWUgc2V0cyBvZiBoaWdobGlnaHRpbmcgaW4gaGVyZToKQEAgLTI0LDkgKzI0LDkgQEAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCisgICAgc3ludGF4IGNsZWFyCiBlbHNlaWYgZXhpc3RzICgiYjpjdXJyZW50X3N5bnRheCIpCi0JZmluaXNoCisgICAgZmluaXNoCiBlbmRpZgogCiAKQEAgLTM1LDEzNiArMzUsMTQwIEBACiAKIAogaWYgISBleGlzdHMgKCJlcmxhbmdfY2hhcmFjdGVycyIpCi0JIiBCYXNpYyBlbGVtZW50cwotCXN5biBtYXRjaCAgIGVybGFuZ0NvbW1lbnQJICAgKyUuKiQrCi0Jc3luIG1hdGNoICAgZXJsYW5nTW9kaWZpZXIJICAgIlx+XGFcfFxcXGEiIGNvbnRhaW5lZAotCXN5biBtYXRjaCAgIGVybGFuZ1NwZWNpYWxDaGFyYWN0ZXIgIjpcfF9cfEBcfFxcXHxcIlx8XC4iCi0Jc3luIG1hdGNoICAgZXJsYW5nU2VwYXJhdG9yCSAgICIoXHwpXHx7XHx9XHxcW1x8XVx8fFx8fHxcfDtcfCxcfD9cfC0+XHwjIiBjb250YWluZWQKLQlzeW4gcmVnaW9uICBlcmxhbmdTdHJpbmcJICAgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1lcmxhbmdNb2RpZmllcgotCXN5biByZWdpb24gIGVybGFuZ0F0b20JCSAgIHN0YXJ0PSsnKyBza2lwPStcXCcrIGVuZD0rJysKIAotCSIgT3BlcmF0b3JzCi0Jc3luIG1hdGNoICAgZXJsYW5nT3BlcmF0b3IJICAgIitcfC1cfFwqXHxcLyIKLQlzeW4ga2V5d29yZCBlcmxhbmdPcGVyYXRvcgkgICBkaXYgcmVtIG9yIHhvciBib3IgYnhvciBic2wgYnNyCi0Jc3luIGtleXdvcmQgZXJsYW5nT3BlcmF0b3IJICAgYW5kIGJhbmQgbm90IGJub3QKLQlzeW4gbWF0Y2ggICBlcmxhbmdPcGVyYXRvcgkgICAiPT1cfC89XHw9Oj1cfD0vPVx8PFx8PTxcfD5cfD49IgotCXN5biBtYXRjaCAgIGVybGFuZ09wZXJhdG9yCSAgICIrK1x8LS1cfD1cfCFcfDwtIgorICAgICIgQmFzaWMgZWxlbWVudHMKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdDb21tZW50ICAgICAgICAgICIlLiokIiBjb250YWlucz1lcmxhbmdBbm5vdGF0aW9uLGVybGFuZ1RvZG8KKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdBbm5vdGF0aW9uICAgICAgICIgXEA8PUBcJShjbGVhclx8ZG9jZmlsZVx8ZW5kXHxoZWFkZXJmaWxlXHx0b2RvXHxUT0RPXHx0eXBlXHxhdXRob3JcfGNvcHlyaWdodFx8ZG9jXHxyZWZlcmVuY2VcfHNlZVx8c2luY2VcfHRpdGxlXHx2ZXJzaW9uXHxkZXByZWNhdGVkXHxoaWRkZW5cfHByaXZhdGVcfGVxdWl2XHxzcGVjXHx0aHJvd3NcKSIgY29udGFpbmVkCisgICAgc3luIG1hdGNoICAgZXJsYW5nQW5ub3RhdGlvbiAgICAgICAiYFteJ10qJyIgY29udGFpbmVkCisgICAgc3luIGtleXdvcmQgZXJsYW5nVG9kbyAgICAgICAgICAgICBUT0RPIEZJWE1FIFhYWCBjb250YWluZWQKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdNb2RpZmllciAgICAgICAgICJcflxhXHxcXFxhXHxcXFxcIiBjb250YWluZWQKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdTcGVjaWFsQ2hhcmFjdGVyICI6XHxfXHxAXHxcXFx8XCJcfFwuIgorICAgIHN5biBtYXRjaCAgIGVybGFuZ1NlcGFyYXRvciAgICAgICAgIihcfClcfHtcfH1cfFxbXHxdXHx8XHx8fFx8O1x8LFx8P1x8LT5cfCMiIGNvbnRhaW5lZAorICAgIHN5biByZWdpb24gIGVybGFuZ1N0cmluZyAgICAgICAgICAgc3RhcnQ9KyIrIHNraXA9K1xcLisgZW5kPSsiKyBjb250YWlucz1lcmxhbmdNb2RpZmllcgorICAgIHN5biByZWdpb24gIGVybGFuZ0F0b20gICAgICAgICAgICAgc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnKwogCi0JIiBOdW1iZXJzCi0Jc3luIG1hdGNoICAgZXJsYW5nTnVtYmVySW50ZWdlciAgICAiWystXVw9XGRcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCi0Jc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQxCSAgICJbKy1dXD1cZFwrLlxkXCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgotCXN5biBtYXRjaCAgIGVybGFuZ051bWJlckZsb2F0MgkgICAiWystXVw9XGRcK1woLlxkXCtcKVw9W2VFXVsrLV1cPVxkXCtcKC5cZFwrXClcPSIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCi0Jc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQzCSAgICJbKy1dXD1cZFwrWyNdXHhcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCi0Jc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQ0CSAgICJbKy1dXD1bZUVdWystXVw9XGRcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCi0Jc3luIG1hdGNoICAgZXJsYW5nTnVtYmVySGV4CSAgICIkXHhcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCisgICAgIiBPcGVyYXRvcnMKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdPcGVyYXRvciAgICAgICAgICIrXHwtXHxcKlx8XC8iCisgICAgc3luIGtleXdvcmQgZXJsYW5nT3BlcmF0b3IgICAgICAgICBkaXYgcmVtIG9yIHhvciBib3IgYnhvciBic2wgYnNyCisgICAgc3luIGtleXdvcmQgZXJsYW5nT3BlcmF0b3IgICAgICAgICBhbmQgYmFuZCBub3QgYm5vdAorICAgIHN5biBtYXRjaCAgIGVybGFuZ09wZXJhdG9yICAgICAgICAgIj09XHwvPVx8PTo9XHw9Lz1cfDxcfD08XHw+XHw+PSIKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdPcGVyYXRvciAgICAgICAgICIrK1x8LS1cfD1cfCFcfDwtIgogCi0JIiBJZ25vcmUgJ18nIGFuZCAnLScgaW4gd29yZHMKLQlzeW4gbWF0Y2ggICBlcmxhbmdXb3JkCQkgICAiXHdcK1tfLV1cK1x3XCsiCisgICAgIiBOdW1iZXJzCisgICAgc3luIG1hdGNoICAgZXJsYW5nTnVtYmVySW50ZWdlciAgICAiXGRcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCisgICAgc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQxICAgICAiXGRcK1wuXGRcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCisgICAgc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQyICAgICAiXGRcK1woXC5cZFwrXClcPVtlRV1bKy1dXD1cZFwrXChcLlxkXCtcKVw9IiBjb250YWlucz1lcmxhbmdTZXBhcmF0b3IKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdOdW1iZXJGbG9hdDMgICAgICJcZFwrWyNdXHhcKyIgY29udGFpbnM9ZXJsYW5nU2VwYXJhdG9yCisgICAgc3luIG1hdGNoICAgZXJsYW5nTnVtYmVySGV4ICAgICAgICAiJFx4XCsiIGNvbnRhaW5zPWVybGFuZ1NlcGFyYXRvcgogCi0JIiBJZ25vcmUgbnVtYmVycyBpbiB3b3JkcwotCXN5biBtYXRjaCAgIGVybGFuZ1dvcmQJCSAgICJcd1wrXGRcK1woXCguXGRcK1wpXD1cKFx3XCtcKVw9XClcPSIKKyAgICAiIElnbm9yZSAnXycgYW5kICctJyBpbiB3b3JkcworICAgIHN5biBtYXRjaCAgIGVybGFuZ1dvcmQgICAgICAgICAgICAgIlxoXCtcdyoiCisKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdDaGFyICAgICAgICAgICAgIC9cJC4vCiBlbmRpZgogCiBpZiAhIGV4aXN0cyAoImVybGFuZ19mdW5jdGlvbnMiKQotCSIgRnVuY3Rpb25zIGNhbGwKLQlzeW4gbWF0Y2ggICBlcmxhbmdGQ2FsbCAgICAgICJcd1wrXChcc1wrXClcPVs6QF1cKFxzXCtcKVw9XHdcKyIgY29udGFpbnM9QUxMQlVULGVybGFuZ0Z1bmN0aW9uLGVybGFuZ0JJRixlcmxhbmdXb3JkCisgICAgIiBGdW5jdGlvbnMgY2FsbAorICAgIHN5biBtYXRjaCAgIGVybGFuZ0ZDYWxsICAgICAgIlwlKFx3XCtccypcLlxzKlwpKlx3XCtccypbOkBdXHMqXHdcKyIKIAotCSIgYnVpbGQtaW4tZnVuY3Rpb25zIChCSUZzKQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGFicyBhbGl2ZSBhcHBseSBhdG9tX3RvX2xpc3QKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBiaW5hcnlfdG9fbGlzdCBiaW5hcnlfdG9fdGVybQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGNvbmNhdF9iaW5hcnkKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBkYXRlIGRpc2Nvbm5lY3Rfbm9kZQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGVsZW1lbnQgZXJhc2UgZXhpdAotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGZsb2F0IGZsb2F0X3RvX2xpc3QKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBnZXQgZ2V0X2tleXMgZ3JvdXBfbGVhZGVyCi0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgaGFsdCBoZAotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGludGVnZXJfdG9fbGlzdCBpc19hbGl2ZQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGxlbmd0aCBsaW5rIGxpc3RfdG9fYXRvbSBsaXN0X3RvX2JpbmFyeQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGxpc3RfdG9fZmxvYXQgbGlzdF90b19pbnRlZ2VyIGxpc3RfdG9fcGlkCi0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgbGlzdF90b190dXBsZSBsb2FkX21vZHVsZQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIG1ha2VfcmVmIG1vbml0b3Jfbm9kZQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIG5vZGUgbm9kZXMgbm93Ci0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgb3Blbl9wb3J0Ci0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgcGlkX3RvX2xpc3QgcHJvY2Vzc19mbGFnCi0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgcHJvY2Vzc19pbmZvIHByb2Nlc3MgcHV0Ci0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgcmVnaXN0ZXIgcmVnaXN0ZXJlZCByb3VuZAotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIHNlbGYgc2V0ZWxlbWVudCBzaXplIHNwYXduCi0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgc3Bhd25fbGluayBzcGxpdF9iaW5hcnkgc3RhdGlzdGljcwotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIHRlcm1fdG9fYmluYXJ5IHRocm93IHRpbWUgdGwgdHJ1bmMKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICB0dXBsZV90b19saXN0Ci0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgdW5saW5rIHVucmVnaXN0ZXIKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICB3aGVyZWlzCisgICAgIiBidWlsZC1pbi1mdW5jdGlvbnMgKEJJRnMpCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBhYnMgYWxpdmUgYXBwbHkgYXRvbV90b19saXN0CisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBiaW5hcnlfdG9fbGlzdCBiaW5hcnlfdG9fdGVybQorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgY29uY2F0X2JpbmFyeQorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgZGF0ZSBkaXNjb25uZWN0X25vZGUKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIGVsZW1lbnQgZXJhc2UgZXhpdAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgZmxvYXQgZmxvYXRfdG9fbGlzdAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgZ2V0IGdldF9rZXlzIGdyb3VwX2xlYWRlcgorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgaGFsdCBoZAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgaW50ZWdlcl90b19saXN0IGlzX2FsaXZlCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBsZW5ndGggbGluayBsaXN0X3RvX2F0b20gbGlzdF90b19iaW5hcnkKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIGxpc3RfdG9fZmxvYXQgbGlzdF90b19pbnRlZ2VyIGxpc3RfdG9fcGlkCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBsaXN0X3RvX3R1cGxlIGxvYWRfbW9kdWxlCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBtYWtlX3JlZiBtb25pdG9yX25vZGUKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIG5vZGUgbm9kZXMgbm93CisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBvcGVuX3BvcnQKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIHBpZF90b19saXN0IHByb2Nlc3NfZmxhZworICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgcHJvY2Vzc19pbmZvIHByb2Nlc3MgcHV0CisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICByZWdpc3RlciByZWdpc3RlcmVkIHJvdW5kCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBzZWxmIHNldGVsZW1lbnQgc2l6ZSBzcGF3bgorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgc3Bhd25fbGluayBzcGxpdF9iaW5hcnkgc3RhdGlzdGljcworICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgdGVybV90b19iaW5hcnkgdGhyb3cgdGltZSB0bCB0cnVuYworICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgdHVwbGVfdG9fbGlzdAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgdW5saW5rIHVucmVnaXN0ZXIKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIHdoZXJlaXMKIAotCSIgT3RoZXIgQklGcwotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGF0b20gYmluYXJ5IGNvbnN0YW50IGZ1bmN0aW9uIGludGVnZXIKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBsaXN0IG51bWJlciBwaWQgcG9ydHMgcG9ydF9jbG9zZSBwb3J0X2luZm8KLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICByZWZlcmVuY2UgcmVjb3JkCisgICAgIiBPdGhlciBCSUZzCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBhdG9tIGJpbmFyeSBjb25zdGFudCBmdW5jdGlvbiBpbnRlZ2VyCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBsaXN0IG51bWJlciBwaWQgcG9ydHMgcG9ydF9jbG9zZSBwb3J0X2luZm8KKyAgICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIHJlZmVyZW5jZSByZWNvcmQKIAotCSIgZXJsYW5nOkJJRnMKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBjaGVja19wcm9jZXNzX2NvZGUgZGVsZXRlX21vZHVsZQotCXN5biBrZXl3b3JkIGVybGFuZ0JJRgkgICAgIGdldF9jb29raWUgaGFzaCBtYXRoIG1vZHVsZV9sb2FkZWQKLQlzeW4ga2V5d29yZCBlcmxhbmdCSUYJICAgICBwcmVsb2FkZWQgcHJvY2Vzc2VzIHB1cmdlX21vZHVsZSBzZXRfY29va2llCi0Jc3luIGtleXdvcmQgZXJsYW5nQklGCSAgICAgc2V0X25vZGUKKyAgICAiIGVybGFuZzpCSUZzCisgICAgc3luIGtleXdvcmQgZXJsYW5nQklGICAgICAgICBjaGVja19wcm9jZXNzX2NvZGUgZGVsZXRlX21vZHVsZQorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgZ2V0X2Nvb2tpZSBoYXNoIG1hdGggbW9kdWxlX2xvYWRlZAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgcHJlbG9hZGVkIHByb2Nlc3NlcyBwdXJnZV9tb2R1bGUgc2V0X2Nvb2tpZQorICAgIHN5biBrZXl3b3JkIGVybGFuZ0JJRiAgICAgICAgc2V0X25vZGUKIAotCSIgZnVuY3Rpb25zIG9mIG1hdGggbGlicmFyeQotCXN5biBrZXl3b3JkIGVybGFuZ0Z1bmN0aW9uICAgYWNvcyBhc2luIGF0YW4gYXRhbjIgY29zIGNvc2ggZXhwCi0Jc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICBsb2cgbG9nMTAgcGkgcG93IHBvd2VyIHNpbiBzaW5oIHNxcnQKLQlzeW4ga2V5d29yZCBlcmxhbmdGdW5jdGlvbiAgIHRhbiB0YW5oCisgICAgIiBmdW5jdGlvbnMgb2YgbWF0aCBsaWJyYXJ5CisgICAgc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICBhY29zIGFzaW4gYXRhbiBhdGFuMiBjb3MgY29zaCBleHAKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdGdW5jdGlvbiAgIGxvZyBsb2cxMCBwaSBwb3cgcG93ZXIgc2luIHNpbmggc3FydAorICAgIHN5biBrZXl3b3JkIGVybGFuZ0Z1bmN0aW9uICAgdGFuIHRhbmgKIAotCSIgT3RoZXIgZnVuY3Rpb25zCi0Jc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICBjYWxsIG1vZHVsZV9pbmZvIHBhcnNlX3RyYW5zZm9ybQotCXN5biBrZXl3b3JkIGVybGFuZ0Z1bmN0aW9uICAgdW5kZWZpbmVkX2Z1bmN0aW9uCisgICAgIiBPdGhlciBmdW5jdGlvbnMKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdGdW5jdGlvbiAgIGNhbGwgbW9kdWxlX2luZm8gcGFyc2VfdHJhbnNmb3JtCisgICAgc3luIGtleXdvcmQgZXJsYW5nRnVuY3Rpb24gICB1bmRlZmluZWRfZnVuY3Rpb24KIAotCSIgTW9kdWxlcwotCXN5biBrZXl3b3JkIGVybGFuZ01vZHVsZSAgICAgZXJyb3JfaGFuZGxlcgorICAgICIgTW9kdWxlcworICAgIHN5biBrZXl3b3JkIGVybGFuZ01vZHVsZSAgICAgZXJyb3JfaGFuZGxlcgogZW5kaWYKIAogaWYgISBleGlzdHMgKCJlcmxhbmdfa2V5d29yZHMiKQotCSIgQ29uc3RhbnRzIGFuZCBEaXJlY3RpdmVzCi0Jc3luIG1hdGNoICAgZXJsYW5nRGlyZWN0aXZlICAiLWNvbXBpbGVcfC1kZWZpbmVcfC1lbHNlXHwtZW5kaWZcfC1leHBvcnRcfC1maWxlIgotCXN5biBtYXRjaCAgIGVybGFuZ0RpcmVjdGl2ZSAgIi1pZmRlZlx8LWlmbmRlZlx8LWltcG9ydFx8LWluY2x1ZGVcfC1pbmNsdWRlX2xpYiIKLQlzeW4gbWF0Y2ggICBlcmxhbmdEaXJlY3RpdmUgICItbW9kdWxlXHwtcmVjb3JkXHwtdW5kZWYiCisgICAgIiBDb25zdGFudHMgYW5kIERpcmVjdGl2ZXMKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdEaXJlY3RpdmUgICItYmVoYXZpb3VyXHwtYmVoYXZpb3VyIgorICAgIHN5biBtYXRjaCAgIGVybGFuZ0RpcmVjdGl2ZSAgIi1jb21waWxlXHwtZGVmaW5lXHwtZWxzZVx8LWVuZGlmXHwtZXhwb3J0XHwtZmlsZSIKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdEaXJlY3RpdmUgICItaWZkZWZcfC1pZm5kZWZcfC1pbXBvcnRcfC1pbmNsdWRlX2xpYlx8LWluY2x1ZGUiCisgICAgc3luIG1hdGNoICAgZXJsYW5nRGlyZWN0aXZlICAiLW1vZHVsZVx8LXJlY29yZFx8LXVuZGVmIgogCi0Jc3luIG1hdGNoICAgZXJsYW5nQ29uc3RhbnQgICAiLWF1dGhvclx8LWNvcHlyaWdodFx8LWRvYyIKKyAgICBzeW4gbWF0Y2ggICBlcmxhbmdDb25zdGFudCAgICItYXV0aG9yXHwtY29weXJpZ2h0XHwtZG9jXHwtdnNuIgogCi0JIiBLZXl3b3JkcwotCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgYWZ0ZXIgYmVnaW4gY2FzZSBjYXRjaAotCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgY29uZCBlbmQgZnVuIGlmCi0Jc3luIGtleXdvcmQgZXJsYW5nS2V5d29yZCAgICBsZXQgb2YgcXVlcnkgcmVjZWl2ZQotCXN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgd2hlbgorICAgICIgS2V5d29yZHMKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdLZXl3b3JkICAgIGFmdGVyIGJlZ2luIGNhc2UgY2F0Y2gKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdLZXl3b3JkICAgIGNvbmQgZW5kIGZ1biBpZgorICAgIHN5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgICAgbGV0IG9mIHF1ZXJ5IHJlY2VpdmUKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdLZXl3b3JkICAgIHdoZW4KKyAgICBzeW4ga2V5d29yZCBlcmxhbmdLZXl3b3JkICAgIHRyeQogCi0JIiBQcm9jZXNzZXMKLQlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIGNyZWF0aW9uIGN1cnJlbnRfZnVuY3Rpb24gZGljdGlvbmFyeQotCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgZ3JvdXBfbGVhZGVyIGhlYXBfc2l6ZSBoaWdoIGluaXRpYWxfY2FsbAotCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgbGlua2VkIGxvdyBtZW1vcnlfaW5fdXNlIG1lc3NhZ2VfcXVldWUKLQlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIG5ldF9rZXJuZWwgbm9kZSBub3JtYWwgcHJpb3JpdHkKLQlzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIHJlZHVjdGlvbnMgcmVnaXN0ZXJlZF9uYW1lIHJ1bm5hYmxlCi0Jc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICBydW5uaW5nIHN0YWNrX3RyYWNlIHN0YXR1cyB0aW1lcgotCXN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgdHJhcF9leGl0IHdhaXRpbmcKKyAgICAiIFByb2Nlc3NlcworICAgIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgY3JlYXRpb24gY3VycmVudF9mdW5jdGlvbiBkaWN0aW9uYXJ5CisgICAgc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICBncm91cF9sZWFkZXIgaGVhcF9zaXplIGhpZ2ggaW5pdGlhbF9jYWxsCisgICAgc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICBsaW5rZWQgbG93IG1lbW9yeV9pbl91c2UgbWVzc2FnZV9xdWV1ZQorICAgIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgbmV0X2tlcm5lbCBub2RlIG5vcm1hbCBwcmlvcml0eQorICAgIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgcmVkdWN0aW9ucyByZWdpc3RlcmVkX25hbWUgcnVubmFibGUKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIHJ1bm5pbmcgc3RhY2tfdHJhY2Ugc3RhdHVzIHRpbWVyCisgICAgc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICB0cmFwX2V4aXQgd2FpdGluZwogCi0JIiBQb3J0cwotCXN5biBrZXl3b3JkIGVybGFuZ1BvcnQgICAgICAgY29tbWFuZCBjb3VudF9pbiBjb3VudF9vdXQgY3JlYXRpb24gaW4KLQlzeW4ga2V5d29yZCBlcmxhbmdQb3J0ICAgICAgIGluX2Zvcm1hdCBsaW5rZWQgbm9kZSBvdXQgb3duZXIgcGFja2V0aW5nCisgICAgIiBQb3J0cworICAgIHN5biBrZXl3b3JkIGVybGFuZ1BvcnQgICAgICAgY29tbWFuZCBjb3VudF9pbiBjb3VudF9vdXQgY3JlYXRpb24gaW4KKyAgICBzeW4ga2V5d29yZCBlcmxhbmdQb3J0ICAgICAgIGluX2Zvcm1hdCBsaW5rZWQgbm9kZSBvdXQgb3duZXIgcGFja2V0aW5nCiAKLQkiIE5vZGVzCi0Jc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBhdG9tX3RhYmxlcyBjb21tdW5pY2F0aW5nIGNyZWF0aW9uCi0Jc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBjdXJyZW50X2djIGN1cnJlbnRfcmVkdWN0aW9ucyBjdXJyZW50X3J1bnRpbWUKLQlzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGN1cnJlbnRfd2FsbF9jbG9jayBkaXN0cmlidXRpb25fcG9ydAotCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgZW50cnlfcG9pbnRzIGVycm9yX2hhbmRsZXIgZnJpZW5kcwotCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgZ2FyYmFnZV9jb2xsZWN0aW9uIG1hZ2ljX2Nvb2tpZSBtYWdpY19jb29raWVzCi0Jc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBtb2R1bGVfdGFibGUgbW9uaXRvcmVkX25vZGVzIG5hbWUgbmV4dF9yZWYKLQlzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIHBvcnRzIHByZWxvYWRlZCBwcm9jZXNzZXMgcmVkdWN0aW9ucwotCXN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgcmVmX3N0YXRlIHJlZ2lzdHJ5IHJ1bnRpbWUgd2FsbF9jbG9jaworICAgICIgTm9kZXMKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGF0b21fdGFibGVzIGNvbW11bmljYXRpbmcgY3JlYXRpb24KKyAgICBzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGN1cnJlbnRfZ2MgY3VycmVudF9yZWR1Y3Rpb25zIGN1cnJlbnRfcnVudGltZQorICAgIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgY3VycmVudF93YWxsX2Nsb2NrIGRpc3RyaWJ1dGlvbl9wb3J0CisgICAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBlbnRyeV9wb2ludHMgZXJyb3JfaGFuZGxlciBmcmllbmRzCisgICAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBnYXJiYWdlX2NvbGxlY3Rpb24gbWFnaWNfY29va2llIG1hZ2ljX2Nvb2tpZXMKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIG1vZHVsZV90YWJsZSBtb25pdG9yZWRfbm9kZXMgbmFtZSBuZXh0X3JlZgorICAgIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgcG9ydHMgcHJlbG9hZGVkIHByb2Nlc3NlcyByZWR1Y3Rpb25zCisgICAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICByZWZfc3RhdGUgcmVnaXN0cnkgcnVudGltZSB3YWxsX2Nsb2NrCiAKLQkiIFJlc2VydmVkCi0Jc3luIGtleXdvcmQgZXJsYW5nUmVzZXJ2ZWQgICBhcHBseV9sYW1iZGEgbW9kdWxlX2luZm8gbW9kdWxlX2xhbWJkYXMKLQlzeW4ga2V5d29yZCBlcmxhbmdSZXNlcnZlZCAgIHJlY29yZCByZWNvcmRfaW5kZXggcmVjb3JkX2luZm8KKyAgICAiIFJlc2VydmVkCisgICAgc3luIGtleXdvcmQgZXJsYW5nUmVzZXJ2ZWQgICBhcHBseV9sYW1iZGEgbW9kdWxlX2luZm8gbW9kdWxlX2xhbWJkYXMKKyAgICBzeW4ga2V5d29yZCBlcmxhbmdSZXNlcnZlZCAgIHJlY29yZCByZWNvcmRfaW5kZXggcmVjb3JkX2luZm8KIAotCSIgRXh0cmFzCi0Jc3luIGtleXdvcmQgZXJsYW5nRXh0cmEgICAgICBiYWRhcmcgbm9jb29raWUgZmFsc2UgZnVuIHRydWUKKyAgICAiIEV4dHJhcworICAgIHN5biBrZXl3b3JkIGVybGFuZ0V4dHJhICAgICAgYmFkYXJnIG5vY29va2llIGZhbHNlIGZ1biB0cnVlCiAKLQkiIFNpZ25hbHMKLQlzeW4ga2V5d29yZCBlcmxhbmdTaWduYWwgICAgIGJhZHNpZyBraWxsIGtpbGxlZCBleGl0IG5vcm1hbAorICAgICIgU2lnbmFscworICAgIHN5biBrZXl3b3JkIGVybGFuZ1NpZ25hbCAgICAgYmFkc2lnIGtpbGwga2lsbGVkIGV4aXQgbm9ybWFsCiBlbmRpZgogCiAKQEAgLTE3Myw1MiArMTc3LDUzIEBACiAiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKICIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKIGlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMgKCJkaWRfZXJsYW5nX2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfZXJsYW5nX2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKKyAgICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgICAgIGxldCBkaWRfZXJsYW5nX2luaXRzID0gMQorICAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICAgIGVsc2UKKyAgICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgZW5kaWYKIAotCSIgZXJsYW5nX2NoYXJhY3RlcnMKLQlIaUxpbmsgZXJsYW5nQ29tbWVudCBDb21tZW50Ci0JSGlMaW5rIGVybGFuZ1NwZWNpYWxDaGFyYWN0ZXIgU3BlY2lhbAotCUhpTGluayBlcmxhbmdTZXBhcmF0b3IgTm9ybWFsCi0JSGlMaW5rIGVybGFuZ01vZGlmaWVyIFNwZWNpYWwKLQlIaUxpbmsgZXJsYW5nT3BlcmF0b3IgT3BlcmF0b3IKLQlIaUxpbmsgZXJsYW5nU3RyaW5nIFN0cmluZwotCUhpTGluayBlcmxhbmdBdG9tIFR5cGUKKyAgICAiIGVybGFuZ19jaGFyYWN0ZXJzCisgICAgSGlMaW5rIGVybGFuZ0NvbW1lbnQgQ29tbWVudAorICAgIEhpTGluayBlcmxhbmdBbm5vdGF0aW9uIFNwZWNpYWwKKyAgICBIaUxpbmsgZXJsYW5nVG9kbyBUb2RvCisgICAgSGlMaW5rIGVybGFuZ1NwZWNpYWxDaGFyYWN0ZXIgU3BlY2lhbAorICAgIEhpTGluayBlcmxhbmdTZXBhcmF0b3IgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ01vZGlmaWVyIFNwZWNpYWwKKyAgICBIaUxpbmsgZXJsYW5nT3BlcmF0b3IgT3BlcmF0b3IKKyAgICBIaUxpbmsgZXJsYW5nU3RyaW5nIFN0cmluZworICAgIEhpTGluayBlcmxhbmdBdG9tIFR5cGUKIAotCUhpTGluayBlcmxhbmdOdW1iZXJJbnRlZ2VyIE51bWJlcgotCUhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDEgRmxvYXQKLQlIaUxpbmsgZXJsYW5nTnVtYmVyRmxvYXQyIEZsb2F0Ci0JSGlMaW5rIGVybGFuZ051bWJlckZsb2F0MyBGbG9hdAotCUhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDQgRmxvYXQKLQlIaUxpbmsgZXJsYW5nTnVtYmVySGV4IE51bWJlcgorICAgIEhpTGluayBlcmxhbmdOdW1iZXJJbnRlZ2VyIE51bWJlcgorICAgIEhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDEgRmxvYXQKKyAgICBIaUxpbmsgZXJsYW5nTnVtYmVyRmxvYXQyIEZsb2F0CisgICAgSGlMaW5rIGVybGFuZ051bWJlckZsb2F0MyBGbG9hdAorICAgIEhpTGluayBlcmxhbmdOdW1iZXJGbG9hdDQgRmxvYXQKKyAgICBIaUxpbmsgZXJsYW5nTnVtYmVySGV4IE51bWJlcgogCi0JSGlMaW5rIGVybGFuZ1dvcmQgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ1dvcmQgTm9ybWFsCiAKLQkiIGVybGFuZ19mdW5jdGlvbnMKLQlIaUxpbmsgZXJsYW5nRkNhbGwgRnVuY3Rpb24KLQlIaUxpbmsgZXJsYW5nQklGIEZ1bmN0aW9uCi0JSGlMaW5rIGVybGFuZ0Z1bmN0aW9uIEZ1bmN0aW9uCi0JSGlMaW5rIGVybGFuZ01vZHVsZUZ1bmN0aW9uIEZ1bmN0aW9uCisgICAgIiBlcmxhbmdfZnVuY3Rpb25zCisgICAgSGlMaW5rIGVybGFuZ0ZDYWxsIEZ1bmN0aW9uCisgICAgSGlMaW5rIGVybGFuZ0JJRiBGdW5jdGlvbgorICAgIEhpTGluayBlcmxhbmdGdW5jdGlvbiBGdW5jdGlvbgorICAgIEhpTGluayBlcmxhbmdNb2R1bGVGdW5jdGlvbiBGdW5jdGlvbgogCi0JIiBlcmxhbmdfa2V5d29yZHMKLQlIaUxpbmsgZXJsYW5nRGlyZWN0aXZlIFR5cGUKLQlIaUxpbmsgZXJsYW5nQ29uc3RhbnQgVHlwZQotCUhpTGluayBlcmxhbmdLZXl3b3JkIEtleXdvcmQKLQlIaUxpbmsgZXJsYW5nUHJvY2VzcyBTcGVjaWFsCi0JSGlMaW5rIGVybGFuZ1BvcnQgU3BlY2lhbAotCUhpTGluayBlcmxhbmdOb2RlIFNwZWNpYWwKLQlIaUxpbmsgZXJsYW5nUmVzZXJ2ZWQgU3RhdGVtZW50Ci0JSGlMaW5rIGVybGFuZ0V4dHJhIFN0YXRlbWVudAotCUhpTGluayBlcmxhbmdTaWduYWwgU3RhdGVtZW50CisgICAgIiBlcmxhbmdfa2V5d29yZHMKKyAgICBIaUxpbmsgZXJsYW5nRGlyZWN0aXZlIFR5cGUKKyAgICBIaUxpbmsgZXJsYW5nQ29uc3RhbnQgVHlwZQorICAgIEhpTGluayBlcmxhbmdLZXl3b3JkIEtleXdvcmQKKyAgICBIaUxpbmsgZXJsYW5nUHJvY2VzcyBTcGVjaWFsCisgICAgSGlMaW5rIGVybGFuZ1BvcnQgU3BlY2lhbAorICAgIEhpTGluayBlcmxhbmdOb2RlIFNwZWNpYWwKKyAgICBIaUxpbmsgZXJsYW5nUmVzZXJ2ZWQgU3RhdGVtZW50CisgICAgSGlMaW5rIGVybGFuZ0V4dHJhIFN0YXRlbWVudAorICAgIEhpTGluayBlcmxhbmdTaWduYWwgU3RhdGVtZW50CiAKLQlkZWxjb21tYW5kIEhpTGluaworICAgIGRlbGNvbW1hbmQgSGlMaW5rCiBlbmRpZgogCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImVybGFuZyIKIAotIiBlb2YK