@raycast/api 0.71.6 → 0.71.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -115,7 +115,7 @@ var require_package = __commonJS({
|
|
|
115
115
|
"package.json"(exports2, module2) {
|
|
116
116
|
module2.exports = {
|
|
117
117
|
name: "ray",
|
|
118
|
-
version: "0.71.
|
|
118
|
+
version: "0.71.7",
|
|
119
119
|
private: true,
|
|
120
120
|
description: "Build extensions for Raycast with React and Node.js.",
|
|
121
121
|
license: "MIT",
|
|
@@ -468,4 +468,4 @@ var Version = class _Version extends BaseCommand {
|
|
|
468
468
|
this.log(`${require_package().version}`);
|
|
469
469
|
}
|
|
470
470
|
};
|
|
471
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3lvY3RvY29sb3JzLWNqc0AyLjEuMy9ub2RlX21vZHVsZXMveW9jdG9jb2xvcnMtY2pzL2luZGV4LmpzIiwgIi4uLy4uLy4uL3BhY2thZ2UuanNvbiIsICIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdmVyc2lvbi9pbmRleC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvQmFzZUNvbW1hbmQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL291dHB1dC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvcmF5Y2FzdC1yb3V0ZS50cyIsICIuLi8uLi8uLi9zcmMvY29uZmlnLnRzIiwgIi4uLy4uLy4uL3NyYy91dGlscy9tYWNvcy1hcHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHR0eSA9IHJlcXVpcmUoJ25vZGU6dHR5Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby13YXJuaW5nLWNvbW1lbnRzXG4vLyBUT0RPOiBVc2UgYSBiZXR0ZXIgbWV0aG9kIHdoZW4gaXQncyBhZGRlZCB0byBOb2RlLmpzIChodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC80MDI0MClcbi8vIExvdHMgb2Ygb3B0aW9uYWxzIGhlcmUgdG8gc3VwcG9ydCBEZW5vLlxuY29uc3QgaGFzQ29sb3JzID0gdHR5Py5Xcml0ZVN0cmVhbT8ucHJvdG90eXBlPy5oYXNDb2xvcnM/LigpID8/IGZhbHNlO1xuXG5jb25zdCBmb3JtYXQgPSAob3BlbiwgY2xvc2UpID0+IHtcblx0aWYgKCFoYXNDb2xvcnMpIHtcblx0XHRyZXR1cm4gaW5wdXQgPT4gaW5wdXQ7XG5cdH1cblxuXHRjb25zdCBvcGVuQ29kZSA9IGBcXHUwMDFCWyR7b3Blbn1tYDtcblx0Y29uc3QgY2xvc2VDb2RlID0gYFxcdTAwMUJbJHtjbG9zZX1tYDtcblxuXHRyZXR1cm4gaW5wdXQgPT4ge1xuXHRcdGNvbnN0IHN0cmluZyA9IGlucHV0ICsgJyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8taW1wbGljaXQtY29lcmNpb24gLS0gVGhpcyBpcyBmYXN0ZXIuXG5cdFx0bGV0IGluZGV4ID0gc3RyaW5nLmluZGV4T2YoY2xvc2VDb2RlKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdC8vIE5vdGU6IEludGVudGlvbmFsbHkgbm90IHVzaW5nIHN0cmluZyBpbnRlcnBvbGF0aW9uIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLlxuXHRcdFx0cmV0dXJuIG9wZW5Db2RlICsgc3RyaW5nICsgY2xvc2VDb2RlO1xuXHRcdH1cblxuXHRcdC8vIEhhbmRsZSBuZXN0ZWQgY29sb3JzLlxuXG5cdFx0Ly8gV2UgY291bGQgaGF2ZSBkb25lIHRoaXMsIGJ1dCBpdCdzIHRvbyBzbG93IChhcyBvZiBOb2RlLmpzIDIyKS5cblx0XHQvLyByZXR1cm4gb3BlbkNvZGUgKyBzdHJpbmcucmVwbGFjZUFsbChjbG9zZUNvZGUsIG9wZW5Db2RlKSArIGNsb3NlQ29kZTtcblxuXHRcdGxldCByZXN1bHQgPSBvcGVuQ29kZTtcblx0XHRsZXQgbGFzdEluZGV4ID0gMDtcblxuXHRcdC8vIFNHUiAyMiByZXNldHMgYm90aCBib2xkICgxKSBhbmQgZGltICgyKS4gV2hlbiB3ZSBlbmNvdW50ZXIgYSBuZXN0ZWRcblx0XHQvLyBjbG9zZSBmb3Igc3R5bGVzIHRoYXQgdXNlIDIyLCB3ZSBuZWVkIHRvIHJlLW9wZW4gdGhlIG91dGVyIHN0eWxlLlxuXHRcdGNvbnN0IHJlb3Blbk9uTmVzdGVkQ2xvc2UgPSBjbG9zZSA9PT0gMjI7XG5cdFx0Y29uc3QgcmVwbGFjZUNvZGUgPSAocmVvcGVuT25OZXN0ZWRDbG9zZSA/IGNsb3NlQ29kZSA6ICcnKSArIG9wZW5Db2RlO1xuXG5cdFx0d2hpbGUgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgsIGluZGV4KSArIHJlcGxhY2VDb2RlO1xuXHRcdFx0bGFzdEluZGV4ID0gaW5kZXggKyBjbG9zZUNvZGUubGVuZ3RoO1xuXHRcdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZihjbG9zZUNvZGUsIGxhc3RJbmRleCk7XG5cdFx0fVxuXG5cdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgpICsgY2xvc2VDb2RlO1xuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHt9O1xuXG5jb2xvcnMucmVzZXQgPSBmb3JtYXQoMCwgMCk7XG5jb2xvcnMuYm9sZCA9IGZvcm1hdCgxLCAyMik7XG5jb2xvcnMuZGltID0gZm9ybWF0KDIsIDIyKTtcbmNvbG9ycy5pdGFsaWMgPSBmb3JtYXQoMywgMjMpO1xuY29sb3JzLnVuZGVybGluZSA9IGZvcm1hdCg0LCAyNCk7XG5jb2xvcnMub3ZlcmxpbmUgPSBmb3JtYXQoNTMsIDU1KTtcbmNvbG9ycy5pbnZlcnNlID0gZm9ybWF0KDcsIDI3KTtcbmNvbG9ycy5oaWRkZW4gPSBmb3JtYXQoOCwgMjgpO1xuY29sb3JzLnN0cmlrZXRocm91Z2ggPSBmb3JtYXQoOSwgMjkpO1xuXG5jb2xvcnMuYmxhY2sgPSBmb3JtYXQoMzAsIDM5KTtcbmNvbG9ycy5yZWQgPSBmb3JtYXQoMzEsIDM5KTtcbmNvbG9ycy5ncmVlbiA9IGZvcm1hdCgzMiwgMzkpO1xuY29sb3JzLnllbGxvdyA9IGZvcm1hdCgzMywgMzkpO1xuY29sb3JzLmJsdWUgPSBmb3JtYXQoMzQsIDM5KTtcbmNvbG9ycy5tYWdlbnRhID0gZm9ybWF0KDM1LCAzOSk7XG5jb2xvcnMuY3lhbiA9IGZvcm1hdCgzNiwgMzkpO1xuY29sb3JzLndoaXRlID0gZm9ybWF0KDM3LCAzOSk7XG5jb2xvcnMuZ3JheSA9IGZvcm1hdCg5MCwgMzkpO1xuXG5jb2xvcnMuYmdCbGFjayA9IGZvcm1hdCg0MCwgNDkpO1xuY29sb3JzLmJnUmVkID0gZm9ybWF0KDQxLCA0OSk7XG5jb2xvcnMuYmdHcmVlbiA9IGZvcm1hdCg0MiwgNDkpO1xuY29sb3JzLmJnWWVsbG93ID0gZm9ybWF0KDQzLCA0OSk7XG5jb2xvcnMuYmdCbHVlID0gZm9ybWF0KDQ0LCA0OSk7XG5jb2xvcnMuYmdNYWdlbnRhID0gZm9ybWF0KDQ1LCA0OSk7XG5jb2xvcnMuYmdDeWFuID0gZm9ybWF0KDQ2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZSA9IGZvcm1hdCg0NywgNDkpO1xuY29sb3JzLmJnR3JheSA9IGZvcm1hdCgxMDAsIDQ5KTtcblxuY29sb3JzLnJlZEJyaWdodCA9IGZvcm1hdCg5MSwgMzkpO1xuY29sb3JzLmdyZWVuQnJpZ2h0ID0gZm9ybWF0KDkyLCAzOSk7XG5jb2xvcnMueWVsbG93QnJpZ2h0ID0gZm9ybWF0KDkzLCAzOSk7XG5jb2xvcnMuYmx1ZUJyaWdodCA9IGZvcm1hdCg5NCwgMzkpO1xuY29sb3JzLm1hZ2VudGFCcmlnaHQgPSBmb3JtYXQoOTUsIDM5KTtcbmNvbG9ycy5jeWFuQnJpZ2h0ID0gZm9ybWF0KDk2LCAzOSk7XG5jb2xvcnMud2hpdGVCcmlnaHQgPSBmb3JtYXQoOTcsIDM5KTtcblxuY29sb3JzLmJnUmVkQnJpZ2h0ID0gZm9ybWF0KDEwMSwgNDkpO1xuY29sb3JzLmJnR3JlZW5CcmlnaHQgPSBmb3JtYXQoMTAyLCA0OSk7XG5jb2xvcnMuYmdZZWxsb3dCcmlnaHQgPSBmb3JtYXQoMTAzLCA0OSk7XG5jb2xvcnMuYmdCbHVlQnJpZ2h0ID0gZm9ybWF0KDEwNCwgNDkpO1xuY29sb3JzLmJnTWFnZW50YUJyaWdodCA9IGZvcm1hdCgxMDUsIDQ5KTtcbmNvbG9ycy5iZ0N5YW5CcmlnaHQgPSBmb3JtYXQoMTA2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZUJyaWdodCA9IGZvcm1hdCgxMDcsIDQ5KTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb2xvcnM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG4iLCAie1xuICBcIm5hbWVcIjogXCJyYXlcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC43MS42XCIsXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxuICBcImRlc2NyaXB0aW9uXCI6IFwiQnVpbGQgZXh0ZW5zaW9ucyBmb3IgUmF5Y2FzdCB3aXRoIFJlYWN0IGFuZCBOb2RlLmpzLlwiLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJhdXRob3JcIjogXCJtYXRoaWV1ZHV0b3VyXCIsXG4gIFwiYmluXCI6IHtcbiAgICBcInJheVwiOiBcIi4vYmluL3J1bi5qc1wiXG4gIH0sXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiL2JpblwiLFxuICAgIFwiL2Rpc3RcIixcbiAgICBcIi9vY2xpZi5tYW5pZmVzdC5qc29uXCJcbiAgXSxcbiAgXCJtYWluXCI6IFwiZGlzdC9pbmRleC5qc1wiLFxuICBcInR5cGVzXCI6IFwiZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2NyaXB0c1wiOiB7XG4gICAgXCJqc29uLXNjaGVtYS10by10c1wiOiBcImpzb24ydHMgLi4vLi4vc2NoZW1hLmpzb24gLXkgPiBzcmMvdHlwZXMvbWFuaWZlc3Qtc2NoZW1hLmQudHNcIixcbiAgICBcImJ1aWxkLXNjcmlwdHNcIjogXCJ0c2MgLS1vdXREaXIgLi9zY3JpcHRzL2Rpc3QgLS1wcm9qZWN0IC4vdHNjb25maWcuc2NyaXB0cy5qc29uXCIsXG4gICAgXCJwcmVidWlsZFwiOiBcInBucG0ganNvbi1zY2hlbWEtdG8tdHMgJiYgcG5wbSBydW4gYnVpbGQtc2NyaXB0c1wiLFxuICAgIFwiYnVpbGRcIjogXCJub2RlIC4vc2NyaXB0cy9kaXN0L2J1aWxkLWNvbW1hbmQuanNcIixcbiAgICBcInByZWRldlwiOiBcInBucG0gcnVuIGpzb24tc2NoZW1hLXRvLXRzICYmIHBucG0gcnVuIGJ1aWxkLXNjcmlwdHNcIixcbiAgICBcImRldlwiOiBcIm5vZGUgLi9zY3JpcHRzL2Rpc3QvZGV2LWNvbW1hbmQuanNcIixcbiAgICBcImxpbnRcIjogXCJlc2xpbnQgLiAtLWV4dCAudHNcIixcbiAgICBcInRlc3RcIjogXCJub2RlIC0tZXhwZXJpbWVudGFsLXN0cmlwLXR5cGVzIC0tdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBvY2xpZi9jb3JlXCI6IFwiXjQuMTEuNFwiLFxuICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIjogXCJeMy4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIjogXCJeNi4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLW5vdC1mb3VuZFwiOiBcIl4zLjIuODdcIixcbiAgICBcIkByYXljYXN0L2VzbGludC1wbHVnaW5cIjogXCJeMi4xLjFcIixcbiAgICBcImFqdlwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJhcmNoaXZlclwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJjYW1lbGNhc2VcIjogXCJeOC4wLjBcIixcbiAgICBcImNoYWxrXCI6IFwiXjUuNi4yXCIsXG4gICAgXCJjaG9raWRhclwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJjbGktcHJvZ3Jlc3NcIjogXCJeMy4xMi4wXCIsXG4gICAgXCJjbGlwYm9hcmR5XCI6IFwiXjIuMy4wXCIsXG4gICAgXCJleGVjYVwiOiBcIl45LjYuMVwiLFxuICAgIFwianNvbi1zb3VyY2UtbWFwXCI6IFwiXjAuNi4xXCIsXG4gICAgXCJqc29uNVwiOiBcIl4yLjIuM1wiLFxuICAgIFwibm9kZS1mZXRjaC1janNcIjogXCJeMy4zLjJcIixcbiAgICBcIm9wZW5cIjogXCJeOC40LjJcIixcbiAgICBcIm9yYVwiOiBcIl44LjIuMFwiLFxuICAgIFwidGFpbFwiOiBcIl4yLjIuNlwiLFxuICAgIFwidGVybWluYWwtbGlua1wiOiBcIl4zLjAuMFwiLFxuICAgIFwieWFtbFwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJ5b2N0b2NvbG9ycy1janNcIjogXCJeMi4xLjNcIlxuICB9LFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAdHlwZXMvYXJjaGl2ZXJcIjogXCJjYXRhbG9nOlwiLFxuICAgIFwiQHR5cGVzL2NsaS1wcm9ncmVzc1wiOiBcIl4zLjExLjZcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcIkB0eXBlcy90YWlsXCI6IFwiXjIuMi4zXCIsXG4gICAgXCJlc2J1aWxkXCI6IFwiXjAuMjguMFwiLFxuICAgIFwiZXNsaW50XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1jb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZXNsaW50LWZvcm1hdHRlci11bml4XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1wbHVnaW4tblwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJlc2xpbnQtcGx1Z2luLW5vLXByb2Nlc3MtcGxhdGZvcm1cIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZ2xvYmFsc1wiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJqc29uLXNjaGVtYS10by10eXBlc2NyaXB0XCI6IFwiXjE1LjAuNFwiLFxuICAgIFwib2NsaWZcIjogXCJeNC4yMy4xMFwiLFxuICAgIFwiQHJheWNhc3QvdHNjLW5hdGl2ZVwiOiBcIndvcmtzcGFjZToqXCJcbiAgfSxcbiAgXCJvY2xpZlwiOiB7XG4gICAgXCJiaW5cIjogXCJyYXlcIixcbiAgICBcImNvbW1hbmRzXCI6IFwiLi9kaXN0L2NvbW1hbmRzXCIsXG4gICAgXCJkaXJuYW1lXCI6IFwicmF5XCIsXG4gICAgXCJwbHVnaW5zXCI6IFtcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIixcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1oZWxwXCIsXG4gICAgICBcIkBvY2xpZi9wbHVnaW4tbm90LWZvdW5kXCJcbiAgICBdXG4gIH1cbn1cbiIsICJpbXBvcnQgeyBCYXNlQ29tbWFuZCB9IGZyb20gXCIuLi8uLi91dGlscy9CYXNlQ29tbWFuZFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWRlZmF1bHQtZXhwb3J0XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJzaW9uIGV4dGVuZHMgQmFzZUNvbW1hbmQ8dHlwZW9mIFZlcnNpb24+IHtcbiAgcHVibGljIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyXCI7XG5cbiAgcHVibGljIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhcnNlKFZlcnNpb24pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgdGhpcy5sb2coYCR7cmVxdWlyZShcIi4uLy4uLy4uL3BhY2thZ2UuanNvblwiKS52ZXJzaW9ufWApO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgQ29tbWFuZCwgRmxhZ3MsIEludGVyZmFjZXMgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcblxuaW1wb3J0IHsgaW5pdExvZ2dlciB9IGZyb20gXCIuL291dHB1dFwiO1xuaW1wb3J0IHsgUmF5Y2FzdFRhcmdldCwgcmF5Y2FzdFRhcmdldHMgfSBmcm9tIFwiLi9yYXljYXN0LXJvdXRlXCI7XG5cbmltcG9ydCB7IGluaXRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5cbmV4cG9ydCB0eXBlIEZsYWdzPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gPSBJbnRlcmZhY2VzLkluZmVycmVkRmxhZ3M8XG4gIE9taXQ8KHR5cGVvZiBCYXNlQ29tbWFuZClbXCJiYXNlRmxhZ3NcIl0sIFwidGFyZ2V0XCI+ICYgVFtcImZsYWdzXCJdXG4+ICYgeyB0YXJnZXQ/OiBSYXljYXN0VGFyZ2V0IH07XG5leHBvcnQgdHlwZSBBcmdzPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gPSBJbnRlcmZhY2VzLkluZmVycmVkQXJnczxUW1wiYXJnc1wiXT47XG5leHBvcnQgdHlwZSBQcmV0dHlQcmludGFibGVFcnJvciA9IHtcbiAgLyoqXG4gICAqIGEgdW5pcXVlIGVycm9yIGNvZGUgZm9yIHRoaXMgZXJyb3IgY2xhc3NcbiAgICovXG4gIGNvZGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBtZXNzYWdlIHRvIGRpc3BsYXkgcmVsYXRlZCB0byB0aGUgZXJyb3JcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBhIHVybCB0byBmaW5kIG91dCBtb3JlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhpcyBlcnJvclxuICAgKiBvciBmaXhpbmcgdGhlIGVycm9yXG4gICAqL1xuICByZWY/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBhIHN1Z2dlc3Rpb24gdGhhdCBtYXkgYmUgdXNlZnVsIG9yIHByb3ZpZGUgYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21tYW5kPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gZXh0ZW5kcyBDb21tYW5kIHtcbiAgLy8gZGVmaW5lIGZsYWdzIHRoYXQgY2FuIGJlIGluaGVyaXRlZCBieSBhbnkgY29tbWFuZCB0aGF0IGV4dGVuZHMgQmFzZUNvbW1hbmRcbiAgcHVibGljIHN0YXRpYyBiYXNlRmxhZ3MgPSB7XG4gICAgXCJleGl0LW9uLWVycm9yXCI6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIGFsaWFzZXM6IFtcImV4aXRPbkVycm9yXCJdLFxuICAgICAgZGVwcmVjYXRlQWxpYXNlczogdHJ1ZSxcbiAgICAgIHN1bW1hcnk6IFwiQWx3YXlzIGV4aXQgd2l0aCBub24temVybyBjb2RlIG9uIGVycm9yXCIsXG4gICAgICBhbGxvd05vOiB0cnVlLFxuICAgIH0pLFxuICAgIGVtb2ppOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgaGVscEdyb3VwOiBcIkdMT0JBTFwiLFxuICAgICAgc3VtbWFyeTogXCJQcmVmaXggb3V0cHV0IHdpdGggZW1vamlzIFx1RDgzQ1x1REYwOFwiLFxuICAgIH0pLFxuICAgIGhlbHA6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIlNob3cgdGhlIGhlbHAgbWVzc2FnZSBmb3IgdGhlIGNvbW1hbmRcIixcbiAgICB9KSxcbiAgICBcIm5vbi1pbnRlcmFjdGl2ZVwiOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGNoYXI6IFwiSVwiLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIkRpc2FibGUgaW50ZXJhY3RpdmUgb3V0cHV0cywgdXNlZnVsIGZvciBDSVwiLFxuICAgIH0pLFxuICAgIHRhcmdldDogRmxhZ3Mub3B0aW9uKHtcbiAgICAgIGNoYXI6IFwidFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUmF5Y2FzdCBhcHAgdGFyZ2V0XCIsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBvcHRpb25zOiBbLi4ucmF5Y2FzdFRhcmdldHNdLFxuICAgICAgaGlkZGVuOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIsXG4gICAgfSkoKSxcbiAgfTtcblxuICBwcm90ZWN0ZWQgZmxhZ3MhOiBGbGFnczxUPjtcbiAgcHJvdGVjdGVkIGFyZ3MhOiBBcmdzPFQ+O1xuXG4gIHB1YmxpYyBhc3luYyBpbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmluaXQoKTtcblxuICAgIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgKCkgPT4gcHJvY2Vzcy5leGl0KDEpKTtcblxuICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2Uoe1xuICAgICAgZmxhZ3M6IHRoaXMuY3Rvci5mbGFncyxcbiAgICAgIGJhc2VGbGFnczogKHN1cGVyLmN0b3IgYXMgdHlwZW9mIEJhc2VDb21tYW5kKS5iYXNlRmxhZ3MsXG4gICAgICBlbmFibGVKc29uRmxhZzogdGhpcy5jdG9yLmVuYWJsZUpzb25GbGFnLFxuICAgICAgYXJnczogdGhpcy5jdG9yLmFyZ3MsXG4gICAgICBzdHJpY3Q6IHRoaXMuY3Rvci5zdHJpY3QsXG4gICAgfSk7XG4gICAgdGhpcy5mbGFncyA9IGZsYWdzIGFzIEZsYWdzPFQ+O1xuICAgIHRoaXMuYXJncyA9IGFyZ3MgYXMgQXJnczxUPjtcbiAgICBpbml0Q29uZmlnKHRoaXMuZmxhZ3MudGFyZ2V0KTtcbiAgICBpbml0TG9nZ2VyKHRoaXMuZmxhZ3MuZW1vamksIHRoaXMuZmxhZ3NbXCJub24taW50ZXJhY3RpdmVcIl0pO1xuICB9XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB3ZWlyZFxuICBwdWJsaWMgZXJyb3IoXG4gICAgaW5wdXQ6IEVycm9yIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0OiBmYWxzZTtcbiAgICB9ICYgUHJldHR5UHJpbnRhYmxlRXJyb3IsXG4gICk6IHZvaWQ7XG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0PzogbnVtYmVyO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKTogbmV2ZXI7XG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0PzogbnVtYmVyO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKSB7XG4gICAgaWYgKG9wdGlvbnM/Lm1lc3NhZ2UgJiYgaW5wdXQgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgaW5wdXQubWVzc2FnZSA9IGAke29wdGlvbnMubWVzc2FnZX0gKCR7aW5wdXQubWVzc2FnZX0pYDtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLm1lc3NhZ2U7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5lcnJvcihpbnB1dCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2F0Y2goZXJyOiBFcnJvciAmIHsgZXhpdENvZGU/OiBudW1iZXIgfSk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIC8vIGFkZCBhbnkgY3VzdG9tIGxvZ2ljIHRvIGhhbmRsZSBlcnJvcnMgZnJvbSB0aGUgY29tbWFuZFxuICAgIC8vIG9yIHNpbXBseSByZXR1cm4gdGhlIHBhcmVudCBjbGFzcyBlcnJvciBoYW5kbGluZ1xuICAgIHJldHVybiBzdXBlci5jYXRjaChlcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZpbmFsbHkoXzogRXJyb3IgfCB1bmRlZmluZWQpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICAvLyBjYWxsZWQgYWZ0ZXIgcnVuIGFuZCBjYXRjaCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSBjb21tYW5kIGVycm9yZWRcbiAgICByZXR1cm4gc3VwZXIuZmluYWxseShfKTtcbiAgfVxufVxuIiwgImltcG9ydCBvcmEgZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgYmx1ZSwgY3lhbiwgZGltLCBncmVlbiwgbWFnZW50YSwgcmVkLCB5ZWxsb3csIHllbGxvd0JyaWdodCB9IGZyb20gXCJ5b2N0b2NvbG9ycy1janNcIjtcblxuY29uc3QgcHJlZml4ZXMgPSB7XG4gIHdhaXQ6IGBcdUQ4M0RcdURENTAke2JsdWUoXCJ3YWl0XCIpfSAgLSBgLFxuICBpbmZvOiBgJHtwcm9jZXNzLmVudi5HSVRIVUJfQUNUSU9OUyA9PT0gXCJ0cnVlXCIgPyBcIlx1MjEzOVx1RkUwRlwiIDogXCJcdTIxMzlcdUZFMEYgXCJ9JHtjeWFuKFwiaW5mb1wiKX0gIC0gYCxcbiAgc3VjY2VzczogYFx1MjcwNSR7Z3JlZW4oXCJyZWFkeVwiKX0gIC0gYCxcbiAgd2FybjogYCR7cHJvY2Vzcy5lbnYuR0lUSFVCX0FDVElPTlMgPT09IFwidHJ1ZVwiID8gXCJcdTI2QTBcdUZFMEZcIiA6IFwiXHUyNkEwXHVGRTBGIFwifSR7eWVsbG93KFwid2FyblwiKX0gIC0gYCxcbiAgZXJyb3I6IGBcdUQ4M0RcdURDQTUke3JlZChcImVycm9yXCIpfSAgLSBgLFxuICBldmVudDogYFx1MjZBMVx1RkUwRiR7bWFnZW50YShcImV2ZW50XCIpfSAgLSBgLFxuICBwYXltZW50UHJvbXB0OiBgXHVEODNEXHVEQ0IwJHt5ZWxsb3dCcmlnaHQoXCJwbGFuXCIpfSAgLSBgLFxufTtcbmxldCBpbnRlcmFjdGl2ZSA9IHRydWU7XG5cbmV4cG9ydCBjb25zdCBpbnRlcm5hbE9ubHlIaW50ID0gYmx1ZShkaW0oXCJpbnRlcm5hbCBvbmx5XCIpKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhcbiAgbGV2ZWw6IFwid2FpdFwiIHwgXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJldmVudFwiIHwgXCJwYXltZW50UHJvbXB0XCIsXG4gIG1lc3NhZ2U6IHN0cmluZyxcbiAgb3B0aW9ucz86IHsgZXhpdD86IG51bWJlciB9LFxuKSB7XG4gIGNvbnNvbGUubG9nKHByZWZpeGVzW2xldmVsXSArIG1lc3NhZ2UpO1xuICBpZiAodHlwZW9mIG9wdGlvbnM/LmV4aXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBwcm9jZXNzLmV4aXQob3B0aW9ucy5leGl0KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9nT2JqZWN0KG9iajogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGNvbnNvbGUubG9nKGAke2JsdWUoYC0gJHtrZXl9OiBgKX0ke3ZhbHVlfWApO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXQoXG4gIG1lc3NhZ2U6IHN0cmluZyxcbiAgZm46ICgpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkIHwgdm9pZD4sXG4gIG9wdGlvbnM/OiB7IHByaW50RXJyb3I/OiBib29sZWFuIH0sXG4pOiBQcm9taXNlPEVycm9yIHwgdW5kZWZpbmVkPiB7XG4gIGlmICghaW50ZXJhY3RpdmUpIHtcbiAgICBsb2coXCJ3YWl0XCIsIG1lc3NhZ2UpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZuKCk7XG4gICAgICBpZiAob3V0cHV0KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG91dHB1dCk7XG4gICAgICB9XG4gICAgICBsb2coXCJzdWNjZXNzXCIsIG1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZyhcImVycm9yXCIsIG1lc3NhZ2UpO1xuICAgICAgaWYgKG9wdGlvbnM/LnByaW50RXJyb3IgIT09IGZhbHNlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlZCgoZXJyIGFzIEVycm9yKS5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXJyIGFzIEVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNwaW5uZXIgPSBvcmEoeyBzcGlubmVyOiBcInNpbXBsZURvdHNcIiwgcHJlZml4VGV4dDogcHJlZml4ZXMud2FpdCArIG1lc3NhZ2UgfSkuc3RhcnQoKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmbigpO1xuICAgIHNwaW5uZXIuc3RvcCgpO1xuICAgIGxvZyhcInN1Y2Nlc3NcIiwgbWVzc2FnZSk7XG4gICAgaWYgKG91dHB1dCkge1xuICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHNwaW5uZXIuc3RvcCgpO1xuICAgIGxvZyhcImVycm9yXCIsIG1lc3NhZ2UpO1xuICAgIGlmIChvcHRpb25zPy5wcmludEVycm9yICE9PSBmYWxzZSkge1xuICAgICAgY29uc29sZS5lcnJvcigoZXJyIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIGVyciBhcyBFcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdExvZ2dlcihwcmVmaXhFbW9qaTogYm9vbGVhbiwgbm9uSW50ZXJhY3RpdmU6IGJvb2xlYW4pIHtcbiAgaWYgKCFwcmVmaXhFbW9qaSkge1xuICAgIHByZWZpeGVzLndhaXQgPSBgJHtibHVlKFwid2FpdFwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5pbmZvID0gYCR7Y3lhbihcImluZm9cIil9ICAtIGA7XG4gICAgcHJlZml4ZXMuc3VjY2VzcyA9IGAke2dyZWVuKFwicmVhZHlcIil9ICAtIGA7XG4gICAgcHJlZml4ZXMud2FybiA9IGAke3llbGxvdyhcIndhcm5cIil9ICAtIGA7XG4gICAgcHJlZml4ZXMuZXJyb3IgPSBgJHtyZWQoXCJlcnJvclwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5ldmVudCA9IGAke21hZ2VudGEoXCJldmVudFwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5wYXltZW50UHJvbXB0ID0gYCR7eWVsbG93QnJpZ2h0KFwicGxhblwiKX0gIC0gYDtcbiAgfVxuXG4gIGlmIChub25JbnRlcmFjdGl2ZSkge1xuICAgIGludGVyYWN0aXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsICJleHBvcnQgY29uc3QgUmF5Y2FzdFRhcmdldCA9IHtcbiAgZGVidWc6IFwiZGVidWdcIixcbiAgaW50ZXJuYWw6IFwiaW50ZXJuYWxcIixcbiAgcmVsZWFzZTogXCJyZWxlYXNlXCIsXG4gIHg6IFwieFwiLFxuICB4RGV2ZWxvcG1lbnQ6IFwieC1kZXZlbG9wbWVudFwiLFxuICB4SW50ZXJuYWw6IFwieC1pbnRlcm5hbFwiLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUmF5Y2FzdFRhcmdldCA9ICh0eXBlb2YgUmF5Y2FzdFRhcmdldClba2V5b2YgdHlwZW9mIFJheWNhc3RUYXJnZXRdO1xuZXhwb3J0IGNvbnN0IHJheWNhc3RUYXJnZXRzID0gT2JqZWN0LnZhbHVlcyhSYXljYXN0VGFyZ2V0KSBhcyBSYXljYXN0VGFyZ2V0W107XG5leHBvcnQgdHlwZSBSYXljYXN0Um91dGUgPSB7XG4gIGJ1bmRsZUlEOiBzdHJpbmc7XG4gIHNjaGVtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZTogc3RyaW5nKTogUmF5Y2FzdFJvdXRlIHtcbiAgaWYgKGZsYXZvck5hbWUgPT09IFwieFwiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1bmRsZUlEOiBcImNvbS5yYXljYXN0LXgubWFjb3NcIixcbiAgICAgIHNjaGVtZTogcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJkYXJ3aW5cIiA/IFwicmF5Y2FzdC14XCIgOiBcInJheWNhc3RcIixcbiAgICB9O1xuICB9XG5cbiAgaWYgKGZsYXZvck5hbWUuc3RhcnRzV2l0aChcIngtXCIpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1bmRsZUlEOiBgY29tLnJheWNhc3QteC5tYWNvcy4ke2ZsYXZvck5hbWUucmVwbGFjZShcIngtXCIsIFwiXCIpfWAsXG4gICAgICBzY2hlbWU6IGByYXljYXN0LSR7Zmxhdm9yTmFtZX1gLFxuICAgIH07XG4gIH1cblxuICBpZiAoIWZsYXZvck5hbWUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IFwiY29tLnJheWNhc3QubWFjb3NcIixcbiAgICAgIHNjaGVtZTogXCJyYXljYXN0XCIsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVuZGxlSUQ6IGBjb20ucmF5Y2FzdC5tYWNvcy4ke2ZsYXZvck5hbWV9YCxcbiAgICBzY2hlbWU6IGByYXljYXN0JHtmbGF2b3JOYW1lfWAsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0Um91dGVGb3JUYXJnZXQocm91dGVUYXJnZXQ6IFJheWNhc3RUYXJnZXQpOiBSYXljYXN0Um91dGUge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShyYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChyb3V0ZVRhcmdldCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQodGFyZ2V0OiBSYXljYXN0VGFyZ2V0KTogc3RyaW5nIHtcbiAgcmV0dXJuIHRhcmdldCA9PT0gUmF5Y2FzdFRhcmdldC5yZWxlYXNlID8gXCJcIiA6IHRhcmdldDtcbn1cblxuY29uc3QgcHJlZmVycmVkWFRhcmdldHNCeUNsYXNzaWNUYXJnZXQ6IEFycmF5PFtSYXljYXN0VGFyZ2V0LCBSYXljYXN0VGFyZ2V0XT4gPSBbXG4gIFtSYXljYXN0VGFyZ2V0LnJlbGVhc2UsIFJheWNhc3RUYXJnZXQueF0sXG4gIFtSYXljYXN0VGFyZ2V0LmludGVybmFsLCBSYXljYXN0VGFyZ2V0LnhJbnRlcm5hbF0sXG4gIFtSYXljYXN0VGFyZ2V0LmRlYnVnLCBSYXljYXN0VGFyZ2V0LnhEZXZlbG9wbWVudF0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKFxuICByZXF1ZXN0ZWRGbGF2b3JOYW1lOiBzdHJpbmcsXG4gIGlzQnVuZGxlSURSdW5uaW5nOiAoYnVuZGxlSUQ6IHN0cmluZykgPT4gYm9vbGVhbixcbik6IHN0cmluZyB7XG4gIGZvciAoY29uc3QgW2NsYXNzaWNUYXJnZXQsIHByZWZlcnJlZFhUYXJnZXRdIG9mIHByZWZlcnJlZFhUYXJnZXRzQnlDbGFzc2ljVGFyZ2V0KSB7XG4gICAgY29uc3QgY2xhc3NpY0ZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChjbGFzc2ljVGFyZ2V0KTtcbiAgICBpZiAocmVxdWVzdGVkRmxhdm9yTmFtZSAhPT0gY2xhc3NpY0ZsYXZvck5hbWUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZlcnJlZFhGbGF2b3JOYW1lID0gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQocHJlZmVycmVkWFRhcmdldCk7XG4gICAgaWYgKGlzQnVuZGxlSURSdW5uaW5nKHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUocHJlZmVycmVkWEZsYXZvck5hbWUpLmJ1bmRsZUlEKSkge1xuICAgICAgcmV0dXJuIHByZWZlcnJlZFhGbGF2b3JOYW1lO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0ZWRGbGF2b3JOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3RlZEZsYXZvck5hbWU7XG59XG4iLCAiaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBvcyBmcm9tIFwibm9kZTpvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB7IHJlYWRNYW5pZmVzdCB9IGZyb20gXCIuL21hbmlmZXN0XCI7XG5pbXBvcnQgeyBpc01hY09TQXBwUnVubmluZyB9IGZyb20gXCIuL3V0aWxzL21hY29zLWFwcFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBSYXljYXN0Um91dGUsXG4gIFJheWNhc3RUYXJnZXQsXG4gIHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0LFxuICByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lLFxuICByZXNvbHZlUHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUsXG59IGZyb20gXCIuL3V0aWxzL3JheWNhc3Qtcm91dGVcIjtcblxuZXhwb3J0IGNvbnN0IEFQSV9FTlYgPSB7XG4gIHByb2R1Y3Rpb246IHtcbiAgICB1cmw6IFwiaHR0cHM6Ly93d3cucmF5Y2FzdC5jb21cIixcbiAgICBjbGllbnRJRDogXCJLcUFkY0doTmZCS2lVcGZqRDNuVTNWTmdoMXQwaU1Qb1gyaFlFa045ZDRJXCIsXG4gIH0sXG4gIHN0YWdpbmc6IHtcbiAgICB1cmw6IFwiaHR0cHM6Ly93d3cucmF5Y2Euc3RcIixcbiAgICBjbGllbnRJRDogXCJLcUFkY0doTmZCS2lVcGZqRDNuVTNWTmdoMXQwaU1Qb1gyaFlFa045ZDRJXCIsXG4gIH0sXG4gIGRldmVsb3BtZW50OiB7XG4gICAgdXJsOiBcImh0dHA6Ly9sb2NhbGhvc3Q6MzAwMFwiLFxuICAgIGNsaWVudElEOiBcInJPQ0RfTGhuWEZPYlNMdTl2Nzc4OHFPR3UyNUZaRHFFekdqZXQ0UTQ1WllcIixcbiAgfSxcbn1bcHJvY2Vzcy5lbnYuQVBJX0VOViB8fCBcInByb2R1Y3Rpb25cIl0gYXMgeyB1cmw6IHN0cmluZzsgY2xpZW50SUQ6IHN0cmluZyB9O1xuXG5jb25zdCBkZWZhdWx0R2l0aHViQ2xpZW50SWQgPSBcImU2OWJhZTBlYzkwZjVlODM4NTU1XCI7XG5cbmxldCBjb25maWc6IHtcbiAgQVBJVVJMPzogc3RyaW5nO1xuICBUb2tlbj86IHN0cmluZztcbiAgLy8gZGVwcmVjYXRlZFxuICBBY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgQ2xpZW50SUQ/OiBzdHJpbmc7XG4gIEdpdGh1YkFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBHaXRodWJDbGllbnRJRD86IHN0cmluZztcbiAgVGFyZ2V0Pzogc3RyaW5nO1xufSA9IHt9O1xubGV0IHRhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZDtcbmxldCBwcmVmZXJyZWRGbGF2b3JOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpb25CdWlsZERpcmVjdG9yeSgpOiBzdHJpbmcge1xuICBjb25zdCBtYW5pZmVzdCA9IHJlYWRNYW5pZmVzdCgpO1xuXG4gIGlmICghbWFuaWZlc3QubmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImV4dGVuc2lvbiBuYW1lIGluIG1hbmlmZXN0IGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgfVxuICByZXR1cm4gcGF0aC5qb2luKHJheWNhc3RFeHRlbnNpb25EaXJlY3RvcnkoKSwgXCJleHRlbnNpb25zXCIsIG1hbmlmZXN0Lm5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEJ1bmRsZUlEKCk6IHN0cmluZyB7XG4gIHJldHVybiByYXljYXN0Um91dGUoKS5idW5kbGVJRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RBcHBTY2hlbWUoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZSgpLnNjaGVtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb25maWcoX3RhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZCkge1xuICB0YXJnZXQgPSBfdGFyZ2V0O1xuICB0cnkge1xuICAgIGNvbmZpZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihyYXljYXN0Q29uZmlnRGlyZWN0b3J5KCksIFwiY29uZmlnLmpzb25cIiksIFwidXRmOFwiKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgfHwgKGVycm9yIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gXCJFTk9FTlRcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmVhZCBjb25maWcgZmlsZTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cbiAgcHJlZmVycmVkRmxhdm9yTmFtZSA9IHJlc29sdmVQcmVmZXJyZWRGbGF2b3JOYW1lKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVmZXJyZWRSYXljYXN0Um91dGUoKTogUmF5Y2FzdFJvdXRlIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUocHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoXG4gIGZpZWxkOlxuICAgIHwgXCJyYXljYXN0QXBpVVJMXCJcbiAgICB8IFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCJcbiAgICB8IFwicmF5Y2FzdENsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQ2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJBY2Nlc3NUb2tlblwiXG4gICAgfCBcImZsYXZvck5hbWVcIixcbik6IHN0cmluZyB7XG4gIHN3aXRjaCAoZmllbGQpIHtcbiAgICBjYXNlIFwicmF5Y2FzdEFwaVVSTFwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LlJBWV9BUElVUkwgfHwgY29uZmlnLkFQSVVSTCB8fCBBUElfRU5WLnVybDtcbiAgICBjYXNlIFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX1RPS0VOIHx8IGNvbmZpZy5Ub2tlbiB8fCBjb25maWcuQWNjZXNzVG9rZW4gfHwgXCJcIjtcbiAgICBjYXNlIFwicmF5Y2FzdENsaWVudElkXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX0NMSUVOVF9JRCB8fCBjb25maWcuQ2xpZW50SUQgfHwgQVBJX0VOVi5jbGllbnRJRDtcbiAgICBjYXNlIFwiZ2l0aHViQ2xpZW50SWRcIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfR2l0aHViQ2xpZW50SUQgfHwgY29uZmlnLkdpdGh1YkNsaWVudElEIHx8IGRlZmF1bHRHaXRodWJDbGllbnRJZDtcbiAgICBjYXNlIFwiZ2l0aHViQWNjZXNzVG9rZW5cIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5HSVRIVUJfQUNDRVNTX1RPS0VOIHx8IGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbiB8fCBcIlwiO1xuICAgIGNhc2UgXCJmbGF2b3JOYW1lXCI6XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuUkFZX1RhcmdldCkge1xuICAgICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX1RhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLlRhcmdldCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gY29uZmlnLlRhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHJheWNhc3RGbGF2b3JOYW1lKHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIiA/IFJheWNhc3RUYXJnZXQueCA6IFJheWNhc3RUYXJnZXQucmVsZWFzZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWUocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gUmF5Y2FzdFRhcmdldC54RGV2ZWxvcG1lbnQgOiBSYXljYXN0VGFyZ2V0LmRlYnVnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q29uZmlnKFxuICBmaWVsZDpcbiAgICB8IFwicmF5Y2FzdEFwaVVSTFwiXG4gICAgfCBcInJheWNhc3RBY2Nlc3NUb2tlblwiXG4gICAgfCBcInJheWNhc3RDbGllbnRJZFwiXG4gICAgfCBcImdpdGh1YkNsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQWNjZXNzVG9rZW5cIlxuICAgIHwgXCJmbGF2b3JOYW1lXCIsXG4gIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4pIHtcbiAgc3dpdGNoIChmaWVsZCkge1xuICAgIGNhc2UgXCJyYXljYXN0QXBpVVJMXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLkFQSVVSTDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5BUElVUkwgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJyYXljYXN0QWNjZXNzVG9rZW5cIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuVG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuVG9rZW4gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBjb25maWcuQWNjZXNzVG9rZW47XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwicmF5Y2FzdENsaWVudElkXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLkNsaWVudElEO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLkNsaWVudElEID0gdmFsdWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiZ2l0aHViQWNjZXNzVG9rZW5cIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuR2l0aHViQWNjZXNzVG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuR2l0aHViQWNjZXNzVG9rZW4gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJmbGF2b3JOYW1lXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLlRhcmdldDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5UYXJnZXQgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG4gIGNvbnN0IGRpcmVjdG9yeU5hbWUgPSByYXljYXN0Q29uZmlnRGlyZWN0b3J5KCk7XG4gIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGRpcmVjdG9yeU5hbWUsIFwiY29uZmlnLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KGNvbmZpZywgbnVsbCwgXCIgIFwiKSwgXCJ1dGY4XCIpO1xufVxuXG5mdW5jdGlvbiByYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQ6IFJheWNhc3RUYXJnZXQgfCB1bmRlZmluZWQpIHtcbiAgaWYgKHR5cGVvZiB0YXJnZXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQodGFyZ2V0KTtcbiAgfVxuXG4gIHJldHVybiBnZXRDb25maWcoXCJmbGF2b3JOYW1lXCIpO1xufVxuXG5mdW5jdGlvbiBwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpIHtcbiAgcmV0dXJuIHByZWZlcnJlZEZsYXZvck5hbWUgPz8gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKSB7XG4gIGNvbnN0IGZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQpO1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gXCJkYXJ3aW5cIikge1xuICAgIHJldHVybiBmbGF2b3JOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVQcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZShmbGF2b3JOYW1lLCBpc01hY09TQXBwUnVubmluZyk7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RSb3V0ZSgpOiB7IGJ1bmRsZUlEOiBzdHJpbmc7IHNjaGVtZTogc3RyaW5nIH0ge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShyYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQpKTtcbn1cblxuZnVuY3Rpb24gcmF5Y2FzdERpcmVjdG9yeU5hbWVGb3JGbGF2b3JOYW1lKGZsYXZvck5hbWU6IHN0cmluZykge1xuICBpZiAoZmxhdm9yTmFtZSA9PSBcIlwiKSB7XG4gICAgcmV0dXJuIFwicmF5Y2FzdFwiO1xuICB9XG4gIHJldHVybiBgcmF5Y2FzdC0ke2ZsYXZvck5hbWV9YDtcbn1cblxuZnVuY3Rpb24gY29uZmlnRGlyZWN0b3J5Rm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgY29uZmlnUGF0aCA9IHBhdGguam9pbihvcy5ob21lZGlyKCksIFwiLmNvbmZpZ1wiLCByYXljYXN0RGlyZWN0b3J5TmFtZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZSkpO1xuICBmcy5ta2RpclN5bmMoY29uZmlnUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIHJldHVybiBjb25maWdQYXRoO1xufVxuXG5mdW5jdGlvbiByYXljYXN0RXh0ZW5zaW9uRGlyZWN0b3J5KCkge1xuICByZXR1cm4gY29uZmlnRGlyZWN0b3J5Rm9yRmxhdm9yTmFtZShwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RDb25maWdEaXJlY3RvcnkoKSB7XG4gIHJldHVybiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCkpO1xufVxuIiwgImltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFjT1NBcHBSdW5uaW5nKGJ1bmRsZUlEOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvdXRwdXQgPSBleGVjRmlsZVN5bmMoXCIvdXNyL2Jpbi9sc2FwcGluZm9cIiwgW1wiZmluZFwiLCBgYnVuZGxlaWQ9JHtidW5kbGVJRH1gXSwge1xuICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl0sXG4gICAgfSk7XG4gICAgcmV0dXJuIG91dHB1dC50cmltKCkubGVuZ3RoID4gMDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQSxxR0FBQUEsVUFBQUMsU0FBQTtBQUFBLFFBQU0sTUFBTSxRQUFRLFVBQVU7QUFLOUIsUUFBTSxZQUFZLEtBQUssYUFBYSxXQUFXLFlBQVksS0FBSztBQUVoRSxRQUFNLFNBQVMsQ0FBQyxNQUFNLFVBQVU7QUFDL0IsVUFBSSxDQUFDLFdBQVc7QUFDZixlQUFPLFdBQVM7QUFBQSxNQUNqQjtBQUVBLFlBQU0sV0FBVyxRQUFVLElB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QUEsTUFDTixTQUFTO0FBQUEsTUFDVCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWCxDQUFDO0FBQUEsSUFDRCxRQUFRLGtCQUFNLE9BQU87QUFBQSxNQUNuQixNQUFNO0FBQUEsTUFDTixhQUFhO0FBQUEsTUFDYixXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixTQUFTLENBQUMsR0FBRyxjQUFjO0FBQUEsTUFDM0IsUUFBUTtBQUFBLElBQ1YsQ0FBQyxFQUFFO0FBQUEsRUFDTDtBQUFBLEVBRVU7QUFBQSxFQUNBO0FBQUEsRUFFVixNQUFhLE9BQXNCO0FBQ2pDLFVBQU0sTUFBTSxLQUFLO0FBRWpCLFlBQVEsR0FBRyxVQUFVLE1BQU0sUUFBUSxLQUFLLENBQUMsQ0FBQztBQUUxQyxVQUFNLEVBQUUsTUFBTSxNQUFNLElBQUksTUFBTSxLQUFLLE1BQU07QUFBQSxNQUN2QyxPQUFPLEtBQUssS0FBSztBQUFBLE1BQ2pCLFdBQVksTUFBTSxLQUE0QjtBQUFBLE1BQzlDLGdCQUFnQixLQUFLLEtBQUs7QUFBQSxNQUMxQixNQUFNLEtBQUssS0FBSztBQUFBLE1BQ2hCLFFBQVEsS0FBSyxLQUFLO0FBQUEsSUFDcEIsQ0FBQztBQUNELFNBQUssUUFBUTtBQUNiLFNBQUssT0FBTztBQUNaLGVBQVcsS0FBSyxNQUFNLE1BQU07QUFDNUIsZUFBVyxLQUFLLE1BQU0sT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFBQSxFQUM1RDtBQUFBLEVBaUJPLE1BQ0wsT0FDQSxTQUlBO0FBQ0EsUUFBSSxTQUFTLFdBQVcsaUJBQWlCLE9BQU87QUFDOUMsWUFBTSxVQUFVLEdBQUcsUUFBUSxPQUFPLEtBQUssTUFBTSxPQUFPO0FBQ3BELGFBQU8sUUFBUTtBQUFBLElBQ2pCO0FBQ0EsV0FBTyxNQUFNLE1BQU0sT0FBTyxPQUFPO0FBQUEsRUFDbkM7QUFBQSxFQUVBLE1BQWdCLE1BQU0sS0FBc0Q7QUFHMUUsV0FBTyxNQUFNLE1BQU0sR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFQSxNQUFnQixRQUFRLEdBQXdDO0FBRTlELFdBQU8sTUFBTSxRQUFRLENBQUM7QUFBQSxFQUN4QjtBQUNGOzs7QUQ3SEEsSUFBcUIsVUFBckIsTUFBcUIsaUJBQWdCLFlBQTRCO0FBQUEsRUFDL0QsT0FBYyxjQUFjO0FBQUEsRUFFNUIsTUFBYSxNQUFxQjtBQUNoQyxVQUFNLEtBQUssTUFBTSxRQUFPO0FBRXhCLFNBQUssSUFBSSxHQUFHLGtCQUFpQyxPQUFPLEVBQUU7QUFBQSxFQUN4RDtBQUNGOyIsCiAgIm5hbWVzIjogWyJleHBvcnRzIiwgIm1vZHVsZSIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0YXJnZXQiLCAidGFyZ2V0IiwgIm9zIl0KfQo=
|
|
471
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3lvY3RvY29sb3JzLWNqc0AyLjEuMy9ub2RlX21vZHVsZXMveW9jdG9jb2xvcnMtY2pzL2luZGV4LmpzIiwgIi4uLy4uLy4uL3BhY2thZ2UuanNvbiIsICIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdmVyc2lvbi9pbmRleC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvQmFzZUNvbW1hbmQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL291dHB1dC50cyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvcmF5Y2FzdC1yb3V0ZS50cyIsICIuLi8uLi8uLi9zcmMvY29uZmlnLnRzIiwgIi4uLy4uLy4uL3NyYy91dGlscy9tYWNvcy1hcHAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHR0eSA9IHJlcXVpcmUoJ25vZGU6dHR5Jyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby13YXJuaW5nLWNvbW1lbnRzXG4vLyBUT0RPOiBVc2UgYSBiZXR0ZXIgbWV0aG9kIHdoZW4gaXQncyBhZGRlZCB0byBOb2RlLmpzIChodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC80MDI0MClcbi8vIExvdHMgb2Ygb3B0aW9uYWxzIGhlcmUgdG8gc3VwcG9ydCBEZW5vLlxuY29uc3QgaGFzQ29sb3JzID0gdHR5Py5Xcml0ZVN0cmVhbT8ucHJvdG90eXBlPy5oYXNDb2xvcnM/LigpID8/IGZhbHNlO1xuXG5jb25zdCBmb3JtYXQgPSAob3BlbiwgY2xvc2UpID0+IHtcblx0aWYgKCFoYXNDb2xvcnMpIHtcblx0XHRyZXR1cm4gaW5wdXQgPT4gaW5wdXQ7XG5cdH1cblxuXHRjb25zdCBvcGVuQ29kZSA9IGBcXHUwMDFCWyR7b3Blbn1tYDtcblx0Y29uc3QgY2xvc2VDb2RlID0gYFxcdTAwMUJbJHtjbG9zZX1tYDtcblxuXHRyZXR1cm4gaW5wdXQgPT4ge1xuXHRcdGNvbnN0IHN0cmluZyA9IGlucHV0ICsgJyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8taW1wbGljaXQtY29lcmNpb24gLS0gVGhpcyBpcyBmYXN0ZXIuXG5cdFx0bGV0IGluZGV4ID0gc3RyaW5nLmluZGV4T2YoY2xvc2VDb2RlKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdC8vIE5vdGU6IEludGVudGlvbmFsbHkgbm90IHVzaW5nIHN0cmluZyBpbnRlcnBvbGF0aW9uIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLlxuXHRcdFx0cmV0dXJuIG9wZW5Db2RlICsgc3RyaW5nICsgY2xvc2VDb2RlO1xuXHRcdH1cblxuXHRcdC8vIEhhbmRsZSBuZXN0ZWQgY29sb3JzLlxuXG5cdFx0Ly8gV2UgY291bGQgaGF2ZSBkb25lIHRoaXMsIGJ1dCBpdCdzIHRvbyBzbG93IChhcyBvZiBOb2RlLmpzIDIyKS5cblx0XHQvLyByZXR1cm4gb3BlbkNvZGUgKyBzdHJpbmcucmVwbGFjZUFsbChjbG9zZUNvZGUsIG9wZW5Db2RlKSArIGNsb3NlQ29kZTtcblxuXHRcdGxldCByZXN1bHQgPSBvcGVuQ29kZTtcblx0XHRsZXQgbGFzdEluZGV4ID0gMDtcblxuXHRcdC8vIFNHUiAyMiByZXNldHMgYm90aCBib2xkICgxKSBhbmQgZGltICgyKS4gV2hlbiB3ZSBlbmNvdW50ZXIgYSBuZXN0ZWRcblx0XHQvLyBjbG9zZSBmb3Igc3R5bGVzIHRoYXQgdXNlIDIyLCB3ZSBuZWVkIHRvIHJlLW9wZW4gdGhlIG91dGVyIHN0eWxlLlxuXHRcdGNvbnN0IHJlb3Blbk9uTmVzdGVkQ2xvc2UgPSBjbG9zZSA9PT0gMjI7XG5cdFx0Y29uc3QgcmVwbGFjZUNvZGUgPSAocmVvcGVuT25OZXN0ZWRDbG9zZSA/IGNsb3NlQ29kZSA6ICcnKSArIG9wZW5Db2RlO1xuXG5cdFx0d2hpbGUgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgsIGluZGV4KSArIHJlcGxhY2VDb2RlO1xuXHRcdFx0bGFzdEluZGV4ID0gaW5kZXggKyBjbG9zZUNvZGUubGVuZ3RoO1xuXHRcdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZihjbG9zZUNvZGUsIGxhc3RJbmRleCk7XG5cdFx0fVxuXG5cdFx0cmVzdWx0ICs9IHN0cmluZy5zbGljZShsYXN0SW5kZXgpICsgY2xvc2VDb2RlO1xuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHt9O1xuXG5jb2xvcnMucmVzZXQgPSBmb3JtYXQoMCwgMCk7XG5jb2xvcnMuYm9sZCA9IGZvcm1hdCgxLCAyMik7XG5jb2xvcnMuZGltID0gZm9ybWF0KDIsIDIyKTtcbmNvbG9ycy5pdGFsaWMgPSBmb3JtYXQoMywgMjMpO1xuY29sb3JzLnVuZGVybGluZSA9IGZvcm1hdCg0LCAyNCk7XG5jb2xvcnMub3ZlcmxpbmUgPSBmb3JtYXQoNTMsIDU1KTtcbmNvbG9ycy5pbnZlcnNlID0gZm9ybWF0KDcsIDI3KTtcbmNvbG9ycy5oaWRkZW4gPSBmb3JtYXQoOCwgMjgpO1xuY29sb3JzLnN0cmlrZXRocm91Z2ggPSBmb3JtYXQoOSwgMjkpO1xuXG5jb2xvcnMuYmxhY2sgPSBmb3JtYXQoMzAsIDM5KTtcbmNvbG9ycy5yZWQgPSBmb3JtYXQoMzEsIDM5KTtcbmNvbG9ycy5ncmVlbiA9IGZvcm1hdCgzMiwgMzkpO1xuY29sb3JzLnllbGxvdyA9IGZvcm1hdCgzMywgMzkpO1xuY29sb3JzLmJsdWUgPSBmb3JtYXQoMzQsIDM5KTtcbmNvbG9ycy5tYWdlbnRhID0gZm9ybWF0KDM1LCAzOSk7XG5jb2xvcnMuY3lhbiA9IGZvcm1hdCgzNiwgMzkpO1xuY29sb3JzLndoaXRlID0gZm9ybWF0KDM3LCAzOSk7XG5jb2xvcnMuZ3JheSA9IGZvcm1hdCg5MCwgMzkpO1xuXG5jb2xvcnMuYmdCbGFjayA9IGZvcm1hdCg0MCwgNDkpO1xuY29sb3JzLmJnUmVkID0gZm9ybWF0KDQxLCA0OSk7XG5jb2xvcnMuYmdHcmVlbiA9IGZvcm1hdCg0MiwgNDkpO1xuY29sb3JzLmJnWWVsbG93ID0gZm9ybWF0KDQzLCA0OSk7XG5jb2xvcnMuYmdCbHVlID0gZm9ybWF0KDQ0LCA0OSk7XG5jb2xvcnMuYmdNYWdlbnRhID0gZm9ybWF0KDQ1LCA0OSk7XG5jb2xvcnMuYmdDeWFuID0gZm9ybWF0KDQ2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZSA9IGZvcm1hdCg0NywgNDkpO1xuY29sb3JzLmJnR3JheSA9IGZvcm1hdCgxMDAsIDQ5KTtcblxuY29sb3JzLnJlZEJyaWdodCA9IGZvcm1hdCg5MSwgMzkpO1xuY29sb3JzLmdyZWVuQnJpZ2h0ID0gZm9ybWF0KDkyLCAzOSk7XG5jb2xvcnMueWVsbG93QnJpZ2h0ID0gZm9ybWF0KDkzLCAzOSk7XG5jb2xvcnMuYmx1ZUJyaWdodCA9IGZvcm1hdCg5NCwgMzkpO1xuY29sb3JzLm1hZ2VudGFCcmlnaHQgPSBmb3JtYXQoOTUsIDM5KTtcbmNvbG9ycy5jeWFuQnJpZ2h0ID0gZm9ybWF0KDk2LCAzOSk7XG5jb2xvcnMud2hpdGVCcmlnaHQgPSBmb3JtYXQoOTcsIDM5KTtcblxuY29sb3JzLmJnUmVkQnJpZ2h0ID0gZm9ybWF0KDEwMSwgNDkpO1xuY29sb3JzLmJnR3JlZW5CcmlnaHQgPSBmb3JtYXQoMTAyLCA0OSk7XG5jb2xvcnMuYmdZZWxsb3dCcmlnaHQgPSBmb3JtYXQoMTAzLCA0OSk7XG5jb2xvcnMuYmdCbHVlQnJpZ2h0ID0gZm9ybWF0KDEwNCwgNDkpO1xuY29sb3JzLmJnTWFnZW50YUJyaWdodCA9IGZvcm1hdCgxMDUsIDQ5KTtcbmNvbG9ycy5iZ0N5YW5CcmlnaHQgPSBmb3JtYXQoMTA2LCA0OSk7XG5jb2xvcnMuYmdXaGl0ZUJyaWdodCA9IGZvcm1hdCgxMDcsIDQ5KTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb2xvcnM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgdW5pY29ybi9wcmVmZXItbW9kdWxlXG4iLCAie1xuICBcIm5hbWVcIjogXCJyYXlcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC43MS43XCIsXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxuICBcImRlc2NyaXB0aW9uXCI6IFwiQnVpbGQgZXh0ZW5zaW9ucyBmb3IgUmF5Y2FzdCB3aXRoIFJlYWN0IGFuZCBOb2RlLmpzLlwiLFxuICBcImxpY2Vuc2VcIjogXCJNSVRcIixcbiAgXCJhdXRob3JcIjogXCJtYXRoaWV1ZHV0b3VyXCIsXG4gIFwiYmluXCI6IHtcbiAgICBcInJheVwiOiBcIi4vYmluL3J1bi5qc1wiXG4gIH0sXG4gIFwiZmlsZXNcIjogW1xuICAgIFwiL2JpblwiLFxuICAgIFwiL2Rpc3RcIixcbiAgICBcIi9vY2xpZi5tYW5pZmVzdC5qc29uXCJcbiAgXSxcbiAgXCJtYWluXCI6IFwiZGlzdC9pbmRleC5qc1wiLFxuICBcInR5cGVzXCI6IFwiZGlzdC9pbmRleC5kLnRzXCIsXG4gIFwic2NyaXB0c1wiOiB7XG4gICAgXCJqc29uLXNjaGVtYS10by10c1wiOiBcImpzb24ydHMgLi4vLi4vc2NoZW1hLmpzb24gLXkgPiBzcmMvdHlwZXMvbWFuaWZlc3Qtc2NoZW1hLmQudHNcIixcbiAgICBcImJ1aWxkLXNjcmlwdHNcIjogXCJ0c2MgLS1vdXREaXIgLi9zY3JpcHRzL2Rpc3QgLS1wcm9qZWN0IC4vdHNjb25maWcuc2NyaXB0cy5qc29uXCIsXG4gICAgXCJwcmVidWlsZFwiOiBcInBucG0ganNvbi1zY2hlbWEtdG8tdHMgJiYgcG5wbSBydW4gYnVpbGQtc2NyaXB0c1wiLFxuICAgIFwiYnVpbGRcIjogXCJub2RlIC4vc2NyaXB0cy9kaXN0L2J1aWxkLWNvbW1hbmQuanNcIixcbiAgICBcInByZWRldlwiOiBcInBucG0gcnVuIGpzb24tc2NoZW1hLXRvLXRzICYmIHBucG0gcnVuIGJ1aWxkLXNjcmlwdHNcIixcbiAgICBcImRldlwiOiBcIm5vZGUgLi9zY3JpcHRzL2Rpc3QvZGV2LWNvbW1hbmQuanNcIixcbiAgICBcImxpbnRcIjogXCJlc2xpbnQgLiAtLWV4dCAudHNcIixcbiAgICBcInRlc3RcIjogXCJub2RlIC0tZXhwZXJpbWVudGFsLXN0cmlwLXR5cGVzIC0tdGVzdFwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBvY2xpZi9jb3JlXCI6IFwiXjQuMTEuNFwiLFxuICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIjogXCJeMy4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLWhlbHBcIjogXCJeNi4yLjUwXCIsXG4gICAgXCJAb2NsaWYvcGx1Z2luLW5vdC1mb3VuZFwiOiBcIl4zLjIuODdcIixcbiAgICBcIkByYXljYXN0L2VzbGludC1wbHVnaW5cIjogXCJeMi4xLjFcIixcbiAgICBcImFqdlwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJhcmNoaXZlclwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJjYW1lbGNhc2VcIjogXCJeOC4wLjBcIixcbiAgICBcImNoYWxrXCI6IFwiXjUuNi4yXCIsXG4gICAgXCJjaG9raWRhclwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJjbGktcHJvZ3Jlc3NcIjogXCJeMy4xMi4wXCIsXG4gICAgXCJjbGlwYm9hcmR5XCI6IFwiXjIuMy4wXCIsXG4gICAgXCJleGVjYVwiOiBcIl45LjYuMVwiLFxuICAgIFwianNvbi1zb3VyY2UtbWFwXCI6IFwiXjAuNi4xXCIsXG4gICAgXCJqc29uNVwiOiBcIl4yLjIuM1wiLFxuICAgIFwibm9kZS1mZXRjaC1janNcIjogXCJeMy4zLjJcIixcbiAgICBcIm9wZW5cIjogXCJeOC40LjJcIixcbiAgICBcIm9yYVwiOiBcIl44LjIuMFwiLFxuICAgIFwidGFpbFwiOiBcIl4yLjIuNlwiLFxuICAgIFwidGVybWluYWwtbGlua1wiOiBcIl4zLjAuMFwiLFxuICAgIFwieWFtbFwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJ5b2N0b2NvbG9ycy1janNcIjogXCJeMi4xLjNcIlxuICB9LFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAdHlwZXMvYXJjaGl2ZXJcIjogXCJjYXRhbG9nOlwiLFxuICAgIFwiQHR5cGVzL2NsaS1wcm9ncmVzc1wiOiBcIl4zLjExLjZcIixcbiAgICBcIkB0eXBlcy9ub2RlXCI6IFwiY2F0YWxvZzpcIixcbiAgICBcIkB0eXBlcy90YWlsXCI6IFwiXjIuMi4zXCIsXG4gICAgXCJlc2J1aWxkXCI6IFwiXjAuMjguMFwiLFxuICAgIFwiZXNsaW50XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1jb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZXNsaW50LWZvcm1hdHRlci11bml4XCI6IFwiY2F0YWxvZzpcIixcbiAgICBcImVzbGludC1wbHVnaW4tblwiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJlc2xpbnQtcGx1Z2luLW5vLXByb2Nlc3MtcGxhdGZvcm1cIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiZ2xvYmFsc1wiOiBcImNhdGFsb2c6XCIsXG4gICAgXCJqc29uLXNjaGVtYS10by10eXBlc2NyaXB0XCI6IFwiXjE1LjAuNFwiLFxuICAgIFwib2NsaWZcIjogXCJeNC4yMy4xMFwiLFxuICAgIFwiQHJheWNhc3QvdHNjLW5hdGl2ZVwiOiBcIndvcmtzcGFjZToqXCJcbiAgfSxcbiAgXCJvY2xpZlwiOiB7XG4gICAgXCJiaW5cIjogXCJyYXlcIixcbiAgICBcImNvbW1hbmRzXCI6IFwiLi9kaXN0L2NvbW1hbmRzXCIsXG4gICAgXCJkaXJuYW1lXCI6IFwicmF5XCIsXG4gICAgXCJwbHVnaW5zXCI6IFtcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1hdXRvY29tcGxldGVcIixcbiAgICAgIFwiQG9jbGlmL3BsdWdpbi1oZWxwXCIsXG4gICAgICBcIkBvY2xpZi9wbHVnaW4tbm90LWZvdW5kXCJcbiAgICBdXG4gIH1cbn1cbiIsICJpbXBvcnQgeyBCYXNlQ29tbWFuZCB9IGZyb20gXCIuLi8uLi91dGlscy9CYXNlQ29tbWFuZFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWRlZmF1bHQtZXhwb3J0XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJzaW9uIGV4dGVuZHMgQmFzZUNvbW1hbmQ8dHlwZW9mIFZlcnNpb24+IHtcbiAgcHVibGljIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyXCI7XG5cbiAgcHVibGljIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhcnNlKFZlcnNpb24pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgdGhpcy5sb2coYCR7cmVxdWlyZShcIi4uLy4uLy4uL3BhY2thZ2UuanNvblwiKS52ZXJzaW9ufWApO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgQ29tbWFuZCwgRmxhZ3MsIEludGVyZmFjZXMgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcblxuaW1wb3J0IHsgaW5pdExvZ2dlciB9IGZyb20gXCIuL291dHB1dFwiO1xuaW1wb3J0IHsgUmF5Y2FzdFRhcmdldCwgcmF5Y2FzdFRhcmdldHMgfSBmcm9tIFwiLi9yYXljYXN0LXJvdXRlXCI7XG5cbmltcG9ydCB7IGluaXRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5cbmV4cG9ydCB0eXBlIEZsYWdzPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gPSBJbnRlcmZhY2VzLkluZmVycmVkRmxhZ3M8XG4gIE9taXQ8KHR5cGVvZiBCYXNlQ29tbWFuZClbXCJiYXNlRmxhZ3NcIl0sIFwidGFyZ2V0XCI+ICYgVFtcImZsYWdzXCJdXG4+ICYgeyB0YXJnZXQ/OiBSYXljYXN0VGFyZ2V0IH07XG5leHBvcnQgdHlwZSBBcmdzPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gPSBJbnRlcmZhY2VzLkluZmVycmVkQXJnczxUW1wiYXJnc1wiXT47XG5leHBvcnQgdHlwZSBQcmV0dHlQcmludGFibGVFcnJvciA9IHtcbiAgLyoqXG4gICAqIGEgdW5pcXVlIGVycm9yIGNvZGUgZm9yIHRoaXMgZXJyb3IgY2xhc3NcbiAgICovXG4gIGNvZGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBtZXNzYWdlIHRvIGRpc3BsYXkgcmVsYXRlZCB0byB0aGUgZXJyb3JcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBhIHVybCB0byBmaW5kIG91dCBtb3JlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhpcyBlcnJvclxuICAgKiBvciBmaXhpbmcgdGhlIGVycm9yXG4gICAqL1xuICByZWY/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBhIHN1Z2dlc3Rpb24gdGhhdCBtYXkgYmUgdXNlZnVsIG9yIHByb3ZpZGUgYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21tYW5kPFQgZXh0ZW5kcyB0eXBlb2YgQ29tbWFuZD4gZXh0ZW5kcyBDb21tYW5kIHtcbiAgLy8gZGVmaW5lIGZsYWdzIHRoYXQgY2FuIGJlIGluaGVyaXRlZCBieSBhbnkgY29tbWFuZCB0aGF0IGV4dGVuZHMgQmFzZUNvbW1hbmRcbiAgcHVibGljIHN0YXRpYyBiYXNlRmxhZ3MgPSB7XG4gICAgXCJleGl0LW9uLWVycm9yXCI6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIGhlbHBHcm91cDogXCJHTE9CQUxcIixcbiAgICAgIGFsaWFzZXM6IFtcImV4aXRPbkVycm9yXCJdLFxuICAgICAgZGVwcmVjYXRlQWxpYXNlczogdHJ1ZSxcbiAgICAgIHN1bW1hcnk6IFwiQWx3YXlzIGV4aXQgd2l0aCBub24temVybyBjb2RlIG9uIGVycm9yXCIsXG4gICAgICBhbGxvd05vOiB0cnVlLFxuICAgIH0pLFxuICAgIGVtb2ppOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgaGVscEdyb3VwOiBcIkdMT0JBTFwiLFxuICAgICAgc3VtbWFyeTogXCJQcmVmaXggb3V0cHV0IHdpdGggZW1vamlzIFx1RDgzQ1x1REYwOFwiLFxuICAgIH0pLFxuICAgIGhlbHA6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIlNob3cgdGhlIGhlbHAgbWVzc2FnZSBmb3IgdGhlIGNvbW1hbmRcIixcbiAgICB9KSxcbiAgICBcIm5vbi1pbnRlcmFjdGl2ZVwiOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGNoYXI6IFwiSVwiLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBzdW1tYXJ5OiBcIkRpc2FibGUgaW50ZXJhY3RpdmUgb3V0cHV0cywgdXNlZnVsIGZvciBDSVwiLFxuICAgIH0pLFxuICAgIHRhcmdldDogRmxhZ3Mub3B0aW9uKHtcbiAgICAgIGNoYXI6IFwidFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUmF5Y2FzdCBhcHAgdGFyZ2V0XCIsXG4gICAgICBoZWxwR3JvdXA6IFwiR0xPQkFMXCIsXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBvcHRpb25zOiBbLi4ucmF5Y2FzdFRhcmdldHNdLFxuICAgICAgaGlkZGVuOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIsXG4gICAgfSkoKSxcbiAgfTtcblxuICBwcm90ZWN0ZWQgZmxhZ3MhOiBGbGFnczxUPjtcbiAgcHJvdGVjdGVkIGFyZ3MhOiBBcmdzPFQ+O1xuXG4gIHB1YmxpYyBhc3luYyBpbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmluaXQoKTtcblxuICAgIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgKCkgPT4gcHJvY2Vzcy5leGl0KDEpKTtcblxuICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2Uoe1xuICAgICAgZmxhZ3M6IHRoaXMuY3Rvci5mbGFncyxcbiAgICAgIGJhc2VGbGFnczogKHN1cGVyLmN0b3IgYXMgdHlwZW9mIEJhc2VDb21tYW5kKS5iYXNlRmxhZ3MsXG4gICAgICBlbmFibGVKc29uRmxhZzogdGhpcy5jdG9yLmVuYWJsZUpzb25GbGFnLFxuICAgICAgYXJnczogdGhpcy5jdG9yLmFyZ3MsXG4gICAgICBzdHJpY3Q6IHRoaXMuY3Rvci5zdHJpY3QsXG4gICAgfSk7XG4gICAgdGhpcy5mbGFncyA9IGZsYWdzIGFzIEZsYWdzPFQ+O1xuICAgIHRoaXMuYXJncyA9IGFyZ3MgYXMgQXJnczxUPjtcbiAgICBpbml0Q29uZmlnKHRoaXMuZmxhZ3MudGFyZ2V0KTtcbiAgICBpbml0TG9nZ2VyKHRoaXMuZmxhZ3MuZW1vamksIHRoaXMuZmxhZ3NbXCJub24taW50ZXJhY3RpdmVcIl0pO1xuICB9XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB3ZWlyZFxuICBwdWJsaWMgZXJyb3IoXG4gICAgaW5wdXQ6IEVycm9yIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0OiBmYWxzZTtcbiAgICB9ICYgUHJldHR5UHJpbnRhYmxlRXJyb3IsXG4gICk6IHZvaWQ7XG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0PzogbnVtYmVyO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKTogbmV2ZXI7XG4gIHB1YmxpYyBlcnJvcihcbiAgICBpbnB1dDogRXJyb3IgfCBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgICBleGl0PzogbnVtYmVyO1xuICAgIH0gJiBQcmV0dHlQcmludGFibGVFcnJvcixcbiAgKSB7XG4gICAgaWYgKG9wdGlvbnM/Lm1lc3NhZ2UgJiYgaW5wdXQgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgaW5wdXQubWVzc2FnZSA9IGAke29wdGlvbnMubWVzc2FnZX0gKCR7aW5wdXQubWVzc2FnZX0pYDtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLm1lc3NhZ2U7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5lcnJvcihpbnB1dCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2F0Y2goZXJyOiBFcnJvciAmIHsgZXhpdENvZGU/OiBudW1iZXIgfSk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIC8vIGFkZCBhbnkgY3VzdG9tIGxvZ2ljIHRvIGhhbmRsZSBlcnJvcnMgZnJvbSB0aGUgY29tbWFuZFxuICAgIC8vIG9yIHNpbXBseSByZXR1cm4gdGhlIHBhcmVudCBjbGFzcyBlcnJvciBoYW5kbGluZ1xuICAgIHJldHVybiBzdXBlci5jYXRjaChlcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGZpbmFsbHkoXzogRXJyb3IgfCB1bmRlZmluZWQpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICAvLyBjYWxsZWQgYWZ0ZXIgcnVuIGFuZCBjYXRjaCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSBjb21tYW5kIGVycm9yZWRcbiAgICByZXR1cm4gc3VwZXIuZmluYWxseShfKTtcbiAgfVxufVxuIiwgImltcG9ydCBvcmEgZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgYmx1ZSwgY3lhbiwgZGltLCBncmVlbiwgbWFnZW50YSwgcmVkLCB5ZWxsb3csIHllbGxvd0JyaWdodCB9IGZyb20gXCJ5b2N0b2NvbG9ycy1janNcIjtcblxuY29uc3QgcHJlZml4ZXMgPSB7XG4gIHdhaXQ6IGBcdUQ4M0RcdURENTAke2JsdWUoXCJ3YWl0XCIpfSAgLSBgLFxuICBpbmZvOiBgJHtwcm9jZXNzLmVudi5HSVRIVUJfQUNUSU9OUyA9PT0gXCJ0cnVlXCIgPyBcIlx1MjEzOVx1RkUwRlwiIDogXCJcdTIxMzlcdUZFMEYgXCJ9JHtjeWFuKFwiaW5mb1wiKX0gIC0gYCxcbiAgc3VjY2VzczogYFx1MjcwNSR7Z3JlZW4oXCJyZWFkeVwiKX0gIC0gYCxcbiAgd2FybjogYCR7cHJvY2Vzcy5lbnYuR0lUSFVCX0FDVElPTlMgPT09IFwidHJ1ZVwiID8gXCJcdTI2QTBcdUZFMEZcIiA6IFwiXHUyNkEwXHVGRTBGIFwifSR7eWVsbG93KFwid2FyblwiKX0gIC0gYCxcbiAgZXJyb3I6IGBcdUQ4M0RcdURDQTUke3JlZChcImVycm9yXCIpfSAgLSBgLFxuICBldmVudDogYFx1MjZBMVx1RkUwRiR7bWFnZW50YShcImV2ZW50XCIpfSAgLSBgLFxuICBwYXltZW50UHJvbXB0OiBgXHVEODNEXHVEQ0IwJHt5ZWxsb3dCcmlnaHQoXCJwbGFuXCIpfSAgLSBgLFxufTtcbmxldCBpbnRlcmFjdGl2ZSA9IHRydWU7XG5cbmV4cG9ydCBjb25zdCBpbnRlcm5hbE9ubHlIaW50ID0gYmx1ZShkaW0oXCJpbnRlcm5hbCBvbmx5XCIpKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhcbiAgbGV2ZWw6IFwid2FpdFwiIHwgXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJldmVudFwiIHwgXCJwYXltZW50UHJvbXB0XCIsXG4gIG1lc3NhZ2U6IHN0cmluZyxcbiAgb3B0aW9ucz86IHsgZXhpdD86IG51bWJlciB9LFxuKSB7XG4gIGNvbnNvbGUubG9nKHByZWZpeGVzW2xldmVsXSArIG1lc3NhZ2UpO1xuICBpZiAodHlwZW9mIG9wdGlvbnM/LmV4aXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBwcm9jZXNzLmV4aXQob3B0aW9ucy5leGl0KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9nT2JqZWN0KG9iajogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGNvbnNvbGUubG9nKGAke2JsdWUoYC0gJHtrZXl9OiBgKX0ke3ZhbHVlfWApO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXQoXG4gIG1lc3NhZ2U6IHN0cmluZyxcbiAgZm46ICgpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkIHwgdm9pZD4sXG4gIG9wdGlvbnM/OiB7IHByaW50RXJyb3I/OiBib29sZWFuIH0sXG4pOiBQcm9taXNlPEVycm9yIHwgdW5kZWZpbmVkPiB7XG4gIGlmICghaW50ZXJhY3RpdmUpIHtcbiAgICBsb2coXCJ3YWl0XCIsIG1lc3NhZ2UpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZuKCk7XG4gICAgICBpZiAob3V0cHV0KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG91dHB1dCk7XG4gICAgICB9XG4gICAgICBsb2coXCJzdWNjZXNzXCIsIG1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZyhcImVycm9yXCIsIG1lc3NhZ2UpO1xuICAgICAgaWYgKG9wdGlvbnM/LnByaW50RXJyb3IgIT09IGZhbHNlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlZCgoZXJyIGFzIEVycm9yKS5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXJyIGFzIEVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNwaW5uZXIgPSBvcmEoeyBzcGlubmVyOiBcInNpbXBsZURvdHNcIiwgcHJlZml4VGV4dDogcHJlZml4ZXMud2FpdCArIG1lc3NhZ2UgfSkuc3RhcnQoKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBmbigpO1xuICAgIHNwaW5uZXIuc3RvcCgpO1xuICAgIGxvZyhcInN1Y2Nlc3NcIiwgbWVzc2FnZSk7XG4gICAgaWYgKG91dHB1dCkge1xuICAgICAgY29uc29sZS5sb2cob3V0cHV0KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHNwaW5uZXIuc3RvcCgpO1xuICAgIGxvZyhcImVycm9yXCIsIG1lc3NhZ2UpO1xuICAgIGlmIChvcHRpb25zPy5wcmludEVycm9yICE9PSBmYWxzZSkge1xuICAgICAgY29uc29sZS5lcnJvcigoZXJyIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIGVyciBhcyBFcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdExvZ2dlcihwcmVmaXhFbW9qaTogYm9vbGVhbiwgbm9uSW50ZXJhY3RpdmU6IGJvb2xlYW4pIHtcbiAgaWYgKCFwcmVmaXhFbW9qaSkge1xuICAgIHByZWZpeGVzLndhaXQgPSBgJHtibHVlKFwid2FpdFwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5pbmZvID0gYCR7Y3lhbihcImluZm9cIil9ICAtIGA7XG4gICAgcHJlZml4ZXMuc3VjY2VzcyA9IGAke2dyZWVuKFwicmVhZHlcIil9ICAtIGA7XG4gICAgcHJlZml4ZXMud2FybiA9IGAke3llbGxvdyhcIndhcm5cIil9ICAtIGA7XG4gICAgcHJlZml4ZXMuZXJyb3IgPSBgJHtyZWQoXCJlcnJvclwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5ldmVudCA9IGAke21hZ2VudGEoXCJldmVudFwiKX0gIC0gYDtcbiAgICBwcmVmaXhlcy5wYXltZW50UHJvbXB0ID0gYCR7eWVsbG93QnJpZ2h0KFwicGxhblwiKX0gIC0gYDtcbiAgfVxuXG4gIGlmIChub25JbnRlcmFjdGl2ZSkge1xuICAgIGludGVyYWN0aXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsICJleHBvcnQgY29uc3QgUmF5Y2FzdFRhcmdldCA9IHtcbiAgZGVidWc6IFwiZGVidWdcIixcbiAgaW50ZXJuYWw6IFwiaW50ZXJuYWxcIixcbiAgcmVsZWFzZTogXCJyZWxlYXNlXCIsXG4gIHg6IFwieFwiLFxuICB4RGV2ZWxvcG1lbnQ6IFwieC1kZXZlbG9wbWVudFwiLFxuICB4SW50ZXJuYWw6IFwieC1pbnRlcm5hbFwiLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUmF5Y2FzdFRhcmdldCA9ICh0eXBlb2YgUmF5Y2FzdFRhcmdldClba2V5b2YgdHlwZW9mIFJheWNhc3RUYXJnZXRdO1xuZXhwb3J0IGNvbnN0IHJheWNhc3RUYXJnZXRzID0gT2JqZWN0LnZhbHVlcyhSYXljYXN0VGFyZ2V0KSBhcyBSYXljYXN0VGFyZ2V0W107XG5leHBvcnQgdHlwZSBSYXljYXN0Um91dGUgPSB7XG4gIGJ1bmRsZUlEOiBzdHJpbmc7XG4gIHNjaGVtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZTogc3RyaW5nKTogUmF5Y2FzdFJvdXRlIHtcbiAgaWYgKGZsYXZvck5hbWUgPT09IFwieFwiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1bmRsZUlEOiBcImNvbS5yYXljYXN0LXgubWFjb3NcIixcbiAgICAgIHNjaGVtZTogcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJkYXJ3aW5cIiA/IFwicmF5Y2FzdC14XCIgOiBcInJheWNhc3RcIixcbiAgICB9O1xuICB9XG5cbiAgaWYgKGZsYXZvck5hbWUuc3RhcnRzV2l0aChcIngtXCIpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1bmRsZUlEOiBgY29tLnJheWNhc3QteC5tYWNvcy4ke2ZsYXZvck5hbWUucmVwbGFjZShcIngtXCIsIFwiXCIpfWAsXG4gICAgICBzY2hlbWU6IGByYXljYXN0LSR7Zmxhdm9yTmFtZX1gLFxuICAgIH07XG4gIH1cblxuICBpZiAoIWZsYXZvck5hbWUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVuZGxlSUQ6IFwiY29tLnJheWNhc3QubWFjb3NcIixcbiAgICAgIHNjaGVtZTogXCJyYXljYXN0XCIsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVuZGxlSUQ6IGBjb20ucmF5Y2FzdC5tYWNvcy4ke2ZsYXZvck5hbWV9YCxcbiAgICBzY2hlbWU6IGByYXljYXN0JHtmbGF2b3JOYW1lfWAsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXljYXN0Um91dGVGb3JUYXJnZXQocm91dGVUYXJnZXQ6IFJheWNhc3RUYXJnZXQpOiBSYXljYXN0Um91dGUge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShyYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChyb3V0ZVRhcmdldCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQodGFyZ2V0OiBSYXljYXN0VGFyZ2V0KTogc3RyaW5nIHtcbiAgcmV0dXJuIHRhcmdldCA9PT0gUmF5Y2FzdFRhcmdldC5yZWxlYXNlID8gXCJcIiA6IHRhcmdldDtcbn1cblxuY29uc3QgcHJlZmVycmVkWFRhcmdldHNCeUNsYXNzaWNUYXJnZXQ6IEFycmF5PFtSYXljYXN0VGFyZ2V0LCBSYXljYXN0VGFyZ2V0XT4gPSBbXG4gIFtSYXljYXN0VGFyZ2V0LnJlbGVhc2UsIFJheWNhc3RUYXJnZXQueF0sXG4gIFtSYXljYXN0VGFyZ2V0LmludGVybmFsLCBSYXljYXN0VGFyZ2V0LnhJbnRlcm5hbF0sXG4gIFtSYXljYXN0VGFyZ2V0LmRlYnVnLCBSYXljYXN0VGFyZ2V0LnhEZXZlbG9wbWVudF0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVByZWZlcnJlZFJheWNhc3RGbGF2b3JOYW1lKFxuICByZXF1ZXN0ZWRGbGF2b3JOYW1lOiBzdHJpbmcsXG4gIGlzQnVuZGxlSURSdW5uaW5nOiAoYnVuZGxlSUQ6IHN0cmluZykgPT4gYm9vbGVhbixcbik6IHN0cmluZyB7XG4gIGZvciAoY29uc3QgW2NsYXNzaWNUYXJnZXQsIHByZWZlcnJlZFhUYXJnZXRdIG9mIHByZWZlcnJlZFhUYXJnZXRzQnlDbGFzc2ljVGFyZ2V0KSB7XG4gICAgY29uc3QgY2xhc3NpY0ZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZUZvclRhcmdldChjbGFzc2ljVGFyZ2V0KTtcbiAgICBpZiAocmVxdWVzdGVkRmxhdm9yTmFtZSAhPT0gY2xhc3NpY0ZsYXZvck5hbWUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZlcnJlZFhGbGF2b3JOYW1lID0gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQocHJlZmVycmVkWFRhcmdldCk7XG4gICAgaWYgKGlzQnVuZGxlSURSdW5uaW5nKHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUocHJlZmVycmVkWEZsYXZvck5hbWUpLmJ1bmRsZUlEKSkge1xuICAgICAgcmV0dXJuIHByZWZlcnJlZFhGbGF2b3JOYW1lO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0ZWRGbGF2b3JOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3RlZEZsYXZvck5hbWU7XG59XG4iLCAiaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBvcyBmcm9tIFwibm9kZTpvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB7IHJlYWRNYW5pZmVzdCB9IGZyb20gXCIuL21hbmlmZXN0XCI7XG5pbXBvcnQgeyBpc01hY09TQXBwUnVubmluZyB9IGZyb20gXCIuL3V0aWxzL21hY29zLWFwcFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBSYXljYXN0Um91dGUsXG4gIFJheWNhc3RUYXJnZXQsXG4gIHJheWNhc3RGbGF2b3JOYW1lRm9yVGFyZ2V0LFxuICByYXljYXN0Um91dGVGb3JGbGF2b3JOYW1lLFxuICByZXNvbHZlUHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUsXG59IGZyb20gXCIuL3V0aWxzL3JheWNhc3Qtcm91dGVcIjtcblxuZXhwb3J0IGNvbnN0IEFQSV9FTlYgPSB7XG4gIHByb2R1Y3Rpb246IHtcbiAgICB1cmw6IFwiaHR0cHM6Ly93d3cucmF5Y2FzdC5jb21cIixcbiAgICBjbGllbnRJRDogXCJLcUFkY0doTmZCS2lVcGZqRDNuVTNWTmdoMXQwaU1Qb1gyaFlFa045ZDRJXCIsXG4gIH0sXG4gIHN0YWdpbmc6IHtcbiAgICB1cmw6IFwiaHR0cHM6Ly93d3cucmF5Y2Euc3RcIixcbiAgICBjbGllbnRJRDogXCJLcUFkY0doTmZCS2lVcGZqRDNuVTNWTmdoMXQwaU1Qb1gyaFlFa045ZDRJXCIsXG4gIH0sXG4gIGRldmVsb3BtZW50OiB7XG4gICAgdXJsOiBcImh0dHA6Ly9sb2NhbGhvc3Q6MzAwMFwiLFxuICAgIGNsaWVudElEOiBcInJPQ0RfTGhuWEZPYlNMdTl2Nzc4OHFPR3UyNUZaRHFFekdqZXQ0UTQ1WllcIixcbiAgfSxcbn1bcHJvY2Vzcy5lbnYuQVBJX0VOViB8fCBcInByb2R1Y3Rpb25cIl0gYXMgeyB1cmw6IHN0cmluZzsgY2xpZW50SUQ6IHN0cmluZyB9O1xuXG5jb25zdCBkZWZhdWx0R2l0aHViQ2xpZW50SWQgPSBcImU2OWJhZTBlYzkwZjVlODM4NTU1XCI7XG5cbmxldCBjb25maWc6IHtcbiAgQVBJVVJMPzogc3RyaW5nO1xuICBUb2tlbj86IHN0cmluZztcbiAgLy8gZGVwcmVjYXRlZFxuICBBY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgQ2xpZW50SUQ/OiBzdHJpbmc7XG4gIEdpdGh1YkFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBHaXRodWJDbGllbnRJRD86IHN0cmluZztcbiAgVGFyZ2V0Pzogc3RyaW5nO1xufSA9IHt9O1xubGV0IHRhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZDtcbmxldCBwcmVmZXJyZWRGbGF2b3JOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpb25CdWlsZERpcmVjdG9yeSgpOiBzdHJpbmcge1xuICBjb25zdCBtYW5pZmVzdCA9IHJlYWRNYW5pZmVzdCgpO1xuXG4gIGlmICghbWFuaWZlc3QubmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImV4dGVuc2lvbiBuYW1lIGluIG1hbmlmZXN0IGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgfVxuICByZXR1cm4gcGF0aC5qb2luKHJheWNhc3RFeHRlbnNpb25EaXJlY3RvcnkoKSwgXCJleHRlbnNpb25zXCIsIG1hbmlmZXN0Lm5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmF5Y2FzdEJ1bmRsZUlEKCk6IHN0cmluZyB7XG4gIHJldHVybiByYXljYXN0Um91dGUoKS5idW5kbGVJRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RBcHBTY2hlbWUoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZSgpLnNjaGVtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb25maWcoX3RhcmdldDogUmF5Y2FzdFRhcmdldCB8IHVuZGVmaW5lZCkge1xuICB0YXJnZXQgPSBfdGFyZ2V0O1xuICB0cnkge1xuICAgIGNvbmZpZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihyYXljYXN0Q29uZmlnRGlyZWN0b3J5KCksIFwiY29uZmlnLmpzb25cIiksIFwidXRmOFwiKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgfHwgKGVycm9yIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSAhPT0gXCJFTk9FTlRcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmVhZCBjb25maWcgZmlsZTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cbiAgcHJlZmVycmVkRmxhdm9yTmFtZSA9IHJlc29sdmVQcmVmZXJyZWRGbGF2b3JOYW1lKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVmZXJyZWRSYXljYXN0Um91dGUoKTogUmF5Y2FzdFJvdXRlIHtcbiAgcmV0dXJuIHJheWNhc3RSb3V0ZUZvckZsYXZvck5hbWUocHJlZmVycmVkUmF5Y2FzdEZsYXZvck5hbWUoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoXG4gIGZpZWxkOlxuICAgIHwgXCJyYXljYXN0QXBpVVJMXCJcbiAgICB8IFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCJcbiAgICB8IFwicmF5Y2FzdENsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQ2xpZW50SWRcIlxuICAgIHwgXCJnaXRodWJBY2Nlc3NUb2tlblwiXG4gICAgfCBcImZsYXZvck5hbWVcIixcbik6IHN0cmluZyB7XG4gIHN3aXRjaCAoZmllbGQpIHtcbiAgICBjYXNlIFwicmF5Y2FzdEFwaVVSTFwiOlxuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LlJBWV9BUElVUkwgfHwgY29uZmlnLkFQSVVSTCB8fCBBUElfRU5WLnVybDtcbiAgICBjYXNlIFwicmF5Y2FzdEFjY2Vzc1Rva2VuXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX1RPS0VOIHx8IGNvbmZpZy5Ub2tlbiB8fCBjb25maWcuQWNjZXNzVG9rZW4gfHwgXCJcIjtcbiAgICBjYXNlIFwicmF5Y2FzdENsaWVudElkXCI6XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX0NMSUVOVF9JRCB8fCBjb25maWcuQ2xpZW50SUQgfHwgQVBJX0VOVi5jbGllbnRJRDtcbiAgICBjYXNlIFwiZ2l0aHViQ2xpZW50SWRcIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5SQVlfR2l0aHViQ2xpZW50SUQgfHwgY29uZmlnLkdpdGh1YkNsaWVudElEIHx8IGRlZmF1bHRHaXRodWJDbGllbnRJZDtcbiAgICBjYXNlIFwiZ2l0aHViQWNjZXNzVG9rZW5cIjpcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudi5HSVRIVUJfQUNDRVNTX1RPS0VOIHx8IGNvbmZpZy5HaXRodWJBY2Nlc3NUb2tlbiB8fCBcIlwiO1xuICAgIGNhc2UgXCJmbGF2b3JOYW1lXCI6XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuUkFZX1RhcmdldCkge1xuICAgICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUkFZX1RhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLlRhcmdldCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gY29uZmlnLlRhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHJheWNhc3RGbGF2b3JOYW1lKHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIiA/IFJheWNhc3RUYXJnZXQueCA6IFJheWNhc3RUYXJnZXQucmVsZWFzZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWUocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gUmF5Y2FzdFRhcmdldC54RGV2ZWxvcG1lbnQgOiBSYXljYXN0VGFyZ2V0LmRlYnVnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q29uZmlnKFxuICBmaWVsZDpcbiAgICB8IFwicmF5Y2FzdEFwaVVSTFwiXG4gICAgfCBcInJheWNhc3RBY2Nlc3NUb2tlblwiXG4gICAgfCBcInJheWNhc3RDbGllbnRJZFwiXG4gICAgfCBcImdpdGh1YkNsaWVudElkXCJcbiAgICB8IFwiZ2l0aHViQWNjZXNzVG9rZW5cIlxuICAgIHwgXCJmbGF2b3JOYW1lXCIsXG4gIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4pIHtcbiAgc3dpdGNoIChmaWVsZCkge1xuICAgIGNhc2UgXCJyYXljYXN0QXBpVVJMXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLkFQSVVSTDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5BUElVUkwgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJyYXljYXN0QWNjZXNzVG9rZW5cIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuVG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuVG9rZW4gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBjb25maWcuQWNjZXNzVG9rZW47XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwicmF5Y2FzdENsaWVudElkXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLkNsaWVudElEO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZmlnLkNsaWVudElEID0gdmFsdWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiZ2l0aHViQWNjZXNzVG9rZW5cIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBjb25maWcuR2l0aHViQWNjZXNzVG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcuR2l0aHViQWNjZXNzVG9rZW4gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJmbGF2b3JOYW1lXCI6XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgY29uZmlnLlRhcmdldDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5UYXJnZXQgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG4gIGNvbnN0IGRpcmVjdG9yeU5hbWUgPSByYXljYXN0Q29uZmlnRGlyZWN0b3J5KCk7XG4gIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKGRpcmVjdG9yeU5hbWUsIFwiY29uZmlnLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KGNvbmZpZywgbnVsbCwgXCIgIFwiKSwgXCJ1dGY4XCIpO1xufVxuXG5mdW5jdGlvbiByYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQ6IFJheWNhc3RUYXJnZXQgfCB1bmRlZmluZWQpIHtcbiAgaWYgKHR5cGVvZiB0YXJnZXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gcmF5Y2FzdEZsYXZvck5hbWVGb3JUYXJnZXQodGFyZ2V0KTtcbiAgfVxuXG4gIHJldHVybiBnZXRDb25maWcoXCJmbGF2b3JOYW1lXCIpO1xufVxuXG5mdW5jdGlvbiBwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpIHtcbiAgcmV0dXJuIHByZWZlcnJlZEZsYXZvck5hbWUgPz8gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVByZWZlcnJlZEZsYXZvck5hbWUoKSB7XG4gIGNvbnN0IGZsYXZvck5hbWUgPSByYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQpO1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gXCJkYXJ3aW5cIikge1xuICAgIHJldHVybiBmbGF2b3JOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVQcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZShmbGF2b3JOYW1lLCBpc01hY09TQXBwUnVubmluZyk7XG59XG5cbmZ1bmN0aW9uIHJheWNhc3RSb3V0ZSgpOiB7IGJ1bmRsZUlEOiBzdHJpbmc7IHNjaGVtZTogc3RyaW5nIH0ge1xuICByZXR1cm4gcmF5Y2FzdFJvdXRlRm9yRmxhdm9yTmFtZShyYXljYXN0Rmxhdm9yTmFtZSh0YXJnZXQpKTtcbn1cblxuZnVuY3Rpb24gcmF5Y2FzdERpcmVjdG9yeU5hbWVGb3JGbGF2b3JOYW1lKGZsYXZvck5hbWU6IHN0cmluZykge1xuICBpZiAoZmxhdm9yTmFtZSA9PSBcIlwiKSB7XG4gICAgcmV0dXJuIFwicmF5Y2FzdFwiO1xuICB9XG4gIHJldHVybiBgcmF5Y2FzdC0ke2ZsYXZvck5hbWV9YDtcbn1cblxuZnVuY3Rpb24gY29uZmlnRGlyZWN0b3J5Rm9yRmxhdm9yTmFtZShmbGF2b3JOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgY29uZmlnUGF0aCA9IHBhdGguam9pbihvcy5ob21lZGlyKCksIFwiLmNvbmZpZ1wiLCByYXljYXN0RGlyZWN0b3J5TmFtZUZvckZsYXZvck5hbWUoZmxhdm9yTmFtZSkpO1xuICBmcy5ta2RpclN5bmMoY29uZmlnUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIHJldHVybiBjb25maWdQYXRoO1xufVxuXG5mdW5jdGlvbiByYXljYXN0RXh0ZW5zaW9uRGlyZWN0b3J5KCkge1xuICByZXR1cm4gY29uZmlnRGlyZWN0b3J5Rm9yRmxhdm9yTmFtZShwcmVmZXJyZWRSYXljYXN0Rmxhdm9yTmFtZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJheWNhc3RDb25maWdEaXJlY3RvcnkoKSB7XG4gIHJldHVybiBjb25maWdEaXJlY3RvcnlGb3JGbGF2b3JOYW1lKHJheWNhc3RGbGF2b3JOYW1lKHRhcmdldCkpO1xufVxuIiwgImltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFjT1NBcHBSdW5uaW5nKGJ1bmRsZUlEOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvdXRwdXQgPSBleGVjRmlsZVN5bmMoXCIvdXNyL2Jpbi9sc2FwcGluZm9cIiwgW1wiZmluZFwiLCBgYnVuZGxlaWQ9JHtidW5kbGVJRH1gXSwge1xuICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl0sXG4gICAgfSk7XG4gICAgcmV0dXJuIG91dHB1dC50cmltKCkubGVuZ3RoID4gMDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQSxxR0FBQUEsVUFBQUMsU0FBQTtBQUFBLFFBQU0sTUFBTSxRQUFRLFVBQVU7QUFLOUIsUUFBTSxZQUFZLEtBQUssYUFBYSxXQUFXLFlBQVksS0FBSztBQUVoRSxRQUFNLFNBQVMsQ0FBQyxNQUFNLFVBQVU7QUFDL0IsVUFBSSxDQUFDLFdBQVc7QUFDZixlQUFPLFdBQVM7QUFBQSxNQUNqQjtBQUVBLFlBQU0sV0FBVyxRQUFVLElB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QUEsTUFDTixTQUFTO0FBQUEsTUFDVCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWCxDQUFDO0FBQUEsSUFDRCxRQUFRLGtCQUFNLE9BQU87QUFBQSxNQUNuQixNQUFNO0FBQUEsTUFDTixhQUFhO0FBQUEsTUFDYixXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixTQUFTLENBQUMsR0FBRyxjQUFjO0FBQUEsTUFDM0IsUUFBUTtBQUFBLElBQ1YsQ0FBQyxFQUFFO0FBQUEsRUFDTDtBQUFBLEVBRVU7QUFBQSxFQUNBO0FBQUEsRUFFVixNQUFhLE9BQXNCO0FBQ2pDLFVBQU0sTUFBTSxLQUFLO0FBRWpCLFlBQVEsR0FBRyxVQUFVLE1BQU0sUUFBUSxLQUFLLENBQUMsQ0FBQztBQUUxQyxVQUFNLEVBQUUsTUFBTSxNQUFNLElBQUksTUFBTSxLQUFLLE1BQU07QUFBQSxNQUN2QyxPQUFPLEtBQUssS0FBSztBQUFBLE1BQ2pCLFdBQVksTUFBTSxLQUE0QjtBQUFBLE1BQzlDLGdCQUFnQixLQUFLLEtBQUs7QUFBQSxNQUMxQixNQUFNLEtBQUssS0FBSztBQUFBLE1BQ2hCLFFBQVEsS0FBSyxLQUFLO0FBQUEsSUFDcEIsQ0FBQztBQUNELFNBQUssUUFBUTtBQUNiLFNBQUssT0FBTztBQUNaLGVBQVcsS0FBSyxNQUFNLE1BQU07QUFDNUIsZUFBVyxLQUFLLE1BQU0sT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFBQSxFQUM1RDtBQUFBLEVBaUJPLE1BQ0wsT0FDQSxTQUlBO0FBQ0EsUUFBSSxTQUFTLFdBQVcsaUJBQWlCLE9BQU87QUFDOUMsWUFBTSxVQUFVLEdBQUcsUUFBUSxPQUFPLEtBQUssTUFBTSxPQUFPO0FBQ3BELGFBQU8sUUFBUTtBQUFBLElBQ2pCO0FBQ0EsV0FBTyxNQUFNLE1BQU0sT0FBTyxPQUFPO0FBQUEsRUFDbkM7QUFBQSxFQUVBLE1BQWdCLE1BQU0sS0FBc0Q7QUFHMUUsV0FBTyxNQUFNLE1BQU0sR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFQSxNQUFnQixRQUFRLEdBQXdDO0FBRTlELFdBQU8sTUFBTSxRQUFRLENBQUM7QUFBQSxFQUN4QjtBQUNGOzs7QUQ3SEEsSUFBcUIsVUFBckIsTUFBcUIsaUJBQWdCLFlBQTRCO0FBQUEsRUFDL0QsT0FBYyxjQUFjO0FBQUEsRUFFNUIsTUFBYSxNQUFxQjtBQUNoQyxVQUFNLEtBQUssTUFBTSxRQUFPO0FBRXhCLFNBQUssSUFBSSxHQUFHLGtCQUFpQyxPQUFPLEVBQUU7QUFBQSxFQUN4RDtBQUNGOyIsCiAgIm5hbWVzIjogWyJleHBvcnRzIiwgIm1vZHVsZSIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0YXJnZXQiLCAidGFyZ2V0IiwgIm9zIl0KfQo=
|
package/oclif.manifest.json
CHANGED