vitest 0.0.134 → 0.0.138

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.
@@ -393,4 +393,4 @@ function toFilePath(id, root) {
393
393
  }
394
394
 
395
395
  export { isAbsolute as a, basename as b, c, dirname as d, ensurePackageInstalled as e, getSuites as f, getFullName as g, hasFailed as h, isObject as i, getTests as j, resolve as k, deepMerge as l, toFilePath as m, noop as n, notNullish as o, mergeSlashes as p, join as q, relative as r, slash as s, toArray as t, index as u, getNames as v, partitionSuiteChildren as w, hasTests as x };
396
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtNjRhYWZlNGIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9waWNvY29sb3JzQDEuMC4wL25vZGVfbW9kdWxlcy9waWNvY29sb3JzL3BpY29jb2xvcnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vcGF0aGVAMC4yLjAvbm9kZV9tb2R1bGVzL3BhdGhlL2Rpc3QvaW5kZXgubWpzIiwiLi4vc3JjL3V0aWxzL3Rhc2tzLnRzIiwiLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCB0dHkgPSByZXF1aXJlKFwidHR5XCIpXG5cbmxldCBpc0NvbG9yU3VwcG9ydGVkID1cblx0IShcIk5PX0NPTE9SXCIgaW4gcHJvY2Vzcy5lbnYgfHwgcHJvY2Vzcy5hcmd2LmluY2x1ZGVzKFwiLS1uby1jb2xvclwiKSkgJiZcblx0KFwiRk9SQ0VfQ09MT1JcIiBpbiBwcm9jZXNzLmVudiB8fFxuXHRcdHByb2Nlc3MuYXJndi5pbmNsdWRlcyhcIi0tY29sb3JcIikgfHxcblx0XHRwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIgfHxcblx0XHQodHR5LmlzYXR0eSgxKSAmJiBwcm9jZXNzLmVudi5URVJNICE9PSBcImR1bWJcIikgfHxcblx0XHRcIkNJXCIgaW4gcHJvY2Vzcy5lbnYpXG5cbmxldCBmb3JtYXR0ZXIgPVxuXHQob3BlbiwgY2xvc2UsIHJlcGxhY2UgPSBvcGVuKSA9PlxuXHRpbnB1dCA9PiB7XG5cdFx0bGV0IHN0cmluZyA9IFwiXCIgKyBpbnB1dFxuXHRcdGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBvcGVuLmxlbmd0aClcblx0XHRyZXR1cm4gfmluZGV4XG5cdFx0XHQ/IG9wZW4gKyByZXBsYWNlQ2xvc2Uoc3RyaW5nLCBjbG9zZSwgcmVwbGFjZSwgaW5kZXgpICsgY2xvc2Vcblx0XHRcdDogb3BlbiArIHN0cmluZyArIGNsb3NlXG5cdH1cblxubGV0IHJlcGxhY2VDbG9zZSA9IChzdHJpbmcsIGNsb3NlLCByZXBsYWNlLCBpbmRleCkgPT4ge1xuXHRsZXQgc3RhcnQgPSBzdHJpbmcuc3Vic3RyaW5nKDAsIGluZGV4KSArIHJlcGxhY2Vcblx0bGV0IGVuZCA9IHN0cmluZy5zdWJzdHJpbmcoaW5kZXggKyBjbG9zZS5sZW5ndGgpXG5cdGxldCBuZXh0SW5kZXggPSBlbmQuaW5kZXhPZihjbG9zZSlcblx0cmV0dXJuIH5uZXh0SW5kZXggPyBzdGFydCArIHJlcGxhY2VDbG9zZShlbmQsIGNsb3NlLCByZXBsYWNlLCBuZXh0SW5kZXgpIDogc3RhcnQgKyBlbmRcbn1cblxubGV0IGNyZWF0ZUNvbG9ycyA9IChlbmFibGVkID0gaXNDb2xvclN1cHBvcnRlZCkgPT4gKHtcblx0aXNDb2xvclN1cHBvcnRlZDogZW5hYmxlZCxcblx0cmVzZXQ6IGVuYWJsZWQgPyBzID0+IGBcXHgxYlswbSR7c31cXHgxYlswbWAgOiBTdHJpbmcsXG5cdGJvbGQ6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlsxbVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzFtXCIpIDogU3RyaW5nLFxuXHRkaW06IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlsybVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzJtXCIpIDogU3RyaW5nLFxuXHRpdGFsaWM6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszbVwiLCBcIlxceDFiWzIzbVwiKSA6IFN0cmluZyxcblx0dW5kZXJsaW5lOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNG1cIiwgXCJcXHgxYlsyNG1cIikgOiBTdHJpbmcsXG5cdGludmVyc2U6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls3bVwiLCBcIlxceDFiWzI3bVwiKSA6IFN0cmluZyxcblx0aGlkZGVuOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbOG1cIiwgXCJcXHgxYlsyOG1cIikgOiBTdHJpbmcsXG5cdHN0cmlrZXRocm91Z2g6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls5bVwiLCBcIlxceDFiWzI5bVwiKSA6IFN0cmluZyxcblx0YmxhY2s6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszMG1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdHJlZDogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzMxbVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Z3JlZW46IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszMm1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdHllbGxvdzogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzMzbVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Ymx1ZTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM0bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0bWFnZW50YTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM1bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Y3lhbjogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM2bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0d2hpdGU6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszN21cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdGdyYXk6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls5MG1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdGJnQmxhY2s6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls0MG1cIiwgXCJcXHgxYls0OW1cIikgOiBTdHJpbmcsXG5cdGJnUmVkOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDFtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ0dyZWVuOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDJtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ1llbGxvdzogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQzbVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcblx0YmdCbHVlOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDRtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ01hZ2VudGE6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls0NW1cIiwgXCJcXHgxYls0OW1cIikgOiBTdHJpbmcsXG5cdGJnQ3lhbjogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQ2bVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcblx0YmdXaGl0ZTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQ3bVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcbn0pXG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQ29sb3JzKClcbm1vZHVsZS5leHBvcnRzLmNyZWF0ZUNvbG9ycyA9IGNyZWF0ZUNvbG9yc1xuIiwiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVdpbmRvd3NQYXRoKGlucHV0ID0gXCJcIikge1xuICBpZiAoIWlucHV0LmluY2x1ZGVzKFwiXFxcXFwiKSkge1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuICByZXR1cm4gaW5wdXQucmVwbGFjZSgvXFxcXC9nLCBcIi9cIik7XG59XG5cbmNvbnN0IF9VTkNfUkVHRVggPSAvXlsvXVsvXS87XG5jb25zdCBfVU5DX0RSSVZFX1JFR0VYID0gL15bL11bL10oWy5dezEsMn1bL10pPyhbYS16QS1aXSk6Wy9dLztcbmNvbnN0IF9JU19BQlNPTFVURV9SRSA9IC9eXFwvfF5cXFxcfF5bYS16QS1aXTpbL1xcXFxdLztcbmNvbnN0IHNlcCA9IFwiL1wiO1xuY29uc3QgZGVsaW1pdGVyID0gXCI6XCI7XG5jb25zdCBub3JtYWxpemUgPSBmdW5jdGlvbihwYXRoMikge1xuICBpZiAocGF0aDIubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIHBhdGgyID0gbm9ybWFsaXplV2luZG93c1BhdGgocGF0aDIpO1xuICBjb25zdCBpc1VOQ1BhdGggPSBwYXRoMi5tYXRjaChfVU5DX1JFR0VYKTtcbiAgY29uc3QgaGFzVU5DRHJpdmUgPSBpc1VOQ1BhdGggJiYgcGF0aDIubWF0Y2goX1VOQ19EUklWRV9SRUdFWCk7XG4gIGNvbnN0IGlzUGF0aEFic29sdXRlID0gaXNBYnNvbHV0ZShwYXRoMik7XG4gIGNvbnN0IHRyYWlsaW5nU2VwYXJhdG9yID0gcGF0aDJbcGF0aDIubGVuZ3RoIC0gMV0gPT09IFwiL1wiO1xuICBwYXRoMiA9IG5vcm1hbGl6ZVN0cmluZyhwYXRoMiwgIWlzUGF0aEFic29sdXRlKTtcbiAgaWYgKHBhdGgyLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChpc1BhdGhBYnNvbHV0ZSkge1xuICAgICAgcmV0dXJuIFwiL1wiO1xuICAgIH1cbiAgICByZXR1cm4gdHJhaWxpbmdTZXBhcmF0b3IgPyBcIi4vXCIgOiBcIi5cIjtcbiAgfVxuICBpZiAodHJhaWxpbmdTZXBhcmF0b3IpIHtcbiAgICBwYXRoMiArPSBcIi9cIjtcbiAgfVxuICBpZiAoaXNVTkNQYXRoKSB7XG4gICAgaWYgKGhhc1VOQ0RyaXZlKSB7XG4gICAgICByZXR1cm4gYC8vLi8ke3BhdGgyfWA7XG4gICAgfVxuICAgIHJldHVybiBgLy8ke3BhdGgyfWA7XG4gIH1cbiAgcmV0dXJuIGlzUGF0aEFic29sdXRlICYmICFpc0Fic29sdXRlKHBhdGgyKSA/IGAvJHtwYXRoMn1gIDogcGF0aDI7XG59O1xuY29uc3Qgam9pbiA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIGxldCBqb2luZWQ7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IGFyZyA9IGFyZ3NbaV07XG4gICAgaWYgKGFyZy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoam9pbmVkID09PSB2b2lkIDApIHtcbiAgICAgICAgam9pbmVkID0gYXJnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgam9pbmVkICs9IGAvJHthcmd9YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKGpvaW5lZCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIHJldHVybiBub3JtYWxpemUoam9pbmVkKTtcbn07XG5jb25zdCByZXNvbHZlID0gZnVuY3Rpb24oLi4uYXJncykge1xuICBhcmdzID0gYXJncy5tYXAoKGFyZykgPT4gbm9ybWFsaXplV2luZG93c1BhdGgoYXJnKSk7XG4gIGxldCByZXNvbHZlZFBhdGggPSBcIlwiO1xuICBsZXQgcmVzb2x2ZWRBYnNvbHV0ZSA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gYXJncy5sZW5ndGggLSAxOyBpID49IC0xICYmICFyZXNvbHZlZEFic29sdXRlOyBpLS0pIHtcbiAgICBjb25zdCBwYXRoMiA9IGkgPj0gMCA/IGFyZ3NbaV0gOiBwcm9jZXNzLmN3ZCgpO1xuICAgIGlmIChwYXRoMi5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICByZXNvbHZlZFBhdGggPSBgJHtwYXRoMn0vJHtyZXNvbHZlZFBhdGh9YDtcbiAgICByZXNvbHZlZEFic29sdXRlID0gaXNBYnNvbHV0ZShwYXRoMik7XG4gIH1cbiAgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplU3RyaW5nKHJlc29sdmVkUGF0aCwgIXJlc29sdmVkQWJzb2x1dGUpO1xuICBpZiAocmVzb2x2ZWRBYnNvbHV0ZSAmJiAhaXNBYnNvbHV0ZShyZXNvbHZlZFBhdGgpKSB7XG4gICAgcmV0dXJuIGAvJHtyZXNvbHZlZFBhdGh9YDtcbiAgfVxuICByZXR1cm4gcmVzb2x2ZWRQYXRoLmxlbmd0aCA+IDAgPyByZXNvbHZlZFBhdGggOiBcIi5cIjtcbn07XG5mdW5jdGlvbiBub3JtYWxpemVTdHJpbmcocGF0aDIsIGFsbG93QWJvdmVSb290KSB7XG4gIGxldCByZXMgPSBcIlwiO1xuICBsZXQgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICBsZXQgbGFzdFNsYXNoID0gLTE7XG4gIGxldCBkb3RzID0gMDtcbiAgbGV0IGNoYXIgPSBudWxsO1xuICBmb3IgKGxldCBpID0gMDsgaSA8PSBwYXRoMi5sZW5ndGg7ICsraSkge1xuICAgIGlmIChpIDwgcGF0aDIubGVuZ3RoKSB7XG4gICAgICBjaGFyID0gcGF0aDJbaV07XG4gICAgfSBlbHNlIGlmIChjaGFyID09PSBcIi9cIikge1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYXIgPSBcIi9cIjtcbiAgICB9XG4gICAgaWYgKGNoYXIgPT09IFwiL1wiKSB7XG4gICAgICBpZiAobGFzdFNsYXNoID09PSBpIC0gMSB8fCBkb3RzID09PSAxKSA7IGVsc2UgaWYgKGRvdHMgPT09IDIpIHtcbiAgICAgICAgaWYgKHJlcy5sZW5ndGggPCAyIHx8IGxhc3RTZWdtZW50TGVuZ3RoICE9PSAyIHx8IHJlc1tyZXMubGVuZ3RoIC0gMV0gIT09IFwiLlwiIHx8IHJlc1tyZXMubGVuZ3RoIC0gMl0gIT09IFwiLlwiKSB7XG4gICAgICAgICAgaWYgKHJlcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHJlcy5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHJlcyA9IFwiXCI7XG4gICAgICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcyA9IHJlcy5zbGljZSgwLCBsYXN0U2xhc2hJbmRleCk7XG4gICAgICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gcmVzLmxlbmd0aCAtIDEgLSByZXMubGFzdEluZGV4T2YoXCIvXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFzdFNsYXNoID0gaTtcbiAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICByZXMgPSBcIlwiO1xuICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICAgICAgICAgICAgbGFzdFNsYXNoID0gaTtcbiAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd0Fib3ZlUm9vdCkge1xuICAgICAgICAgIHJlcyArPSByZXMubGVuZ3RoID4gMCA/IFwiLy4uXCIgOiBcIi4uXCI7XG4gICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAyO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXMgKz0gYC8ke3BhdGgyLnNsaWNlKGxhc3RTbGFzaCArIDEsIGkpfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzID0gcGF0aDIuc2xpY2UobGFzdFNsYXNoICsgMSwgaSk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSBpIC0gbGFzdFNsYXNoIC0gMTtcbiAgICAgIH1cbiAgICAgIGxhc3RTbGFzaCA9IGk7XG4gICAgICBkb3RzID0gMDtcbiAgICB9IGVsc2UgaWYgKGNoYXIgPT09IFwiLlwiICYmIGRvdHMgIT09IC0xKSB7XG4gICAgICArK2RvdHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvdHMgPSAtMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmNvbnN0IGlzQWJzb2x1dGUgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBfSVNfQUJTT0xVVEVfUkUudGVzdChwKTtcbn07XG5jb25zdCB0b05hbWVzcGFjZWRQYXRoID0gZnVuY3Rpb24ocCkge1xuICByZXR1cm4gbm9ybWFsaXplV2luZG93c1BhdGgocCk7XG59O1xuY29uc3QgZXh0bmFtZSA9IGZ1bmN0aW9uKHApIHtcbiAgcmV0dXJuIHBhdGgucG9zaXguZXh0bmFtZShub3JtYWxpemVXaW5kb3dzUGF0aChwKSk7XG59O1xuY29uc3QgcmVsYXRpdmUgPSBmdW5jdGlvbihmcm9tLCB0bykge1xuICByZXR1cm4gcGF0aC5wb3NpeC5yZWxhdGl2ZShub3JtYWxpemVXaW5kb3dzUGF0aChmcm9tKSwgbm9ybWFsaXplV2luZG93c1BhdGgodG8pKTtcbn07XG5jb25zdCBkaXJuYW1lID0gZnVuY3Rpb24ocCkge1xuICByZXR1cm4gcGF0aC5wb3NpeC5kaXJuYW1lKG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHApKTtcbn07XG5jb25zdCBmb3JtYXQgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBub3JtYWxpemVXaW5kb3dzUGF0aChwYXRoLnBvc2l4LmZvcm1hdChwKSk7XG59O1xuY29uc3QgYmFzZW5hbWUgPSBmdW5jdGlvbihwLCBleHQpIHtcbiAgcmV0dXJuIHBhdGgucG9zaXguYmFzZW5hbWUobm9ybWFsaXplV2luZG93c1BhdGgocCksIGV4dCk7XG59O1xuY29uc3QgcGFyc2UgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBwYXRoLnBvc2l4LnBhcnNlKG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHApKTtcbn07XG5cbmNvbnN0IF9wYXRoID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xuICBfX3Byb3RvX186IG51bGwsXG4gIHNlcDogc2VwLFxuICBkZWxpbWl0ZXI6IGRlbGltaXRlcixcbiAgbm9ybWFsaXplOiBub3JtYWxpemUsXG4gIGpvaW46IGpvaW4sXG4gIHJlc29sdmU6IHJlc29sdmUsXG4gIG5vcm1hbGl6ZVN0cmluZzogbm9ybWFsaXplU3RyaW5nLFxuICBpc0Fic29sdXRlOiBpc0Fic29sdXRlLFxuICB0b05hbWVzcGFjZWRQYXRoOiB0b05hbWVzcGFjZWRQYXRoLFxuICBleHRuYW1lOiBleHRuYW1lLFxuICByZWxhdGl2ZTogcmVsYXRpdmUsXG4gIGRpcm5hbWU6IGRpcm5hbWUsXG4gIGZvcm1hdDogZm9ybWF0LFxuICBiYXNlbmFtZTogYmFzZW5hbWUsXG4gIHBhcnNlOiBwYXJzZVxufSk7XG5cbmNvbnN0IGluZGV4ID0ge1xuICAuLi5fcGF0aFxufTtcblxuZXhwb3J0IHsgYmFzZW5hbWUsIGluZGV4IGFzIGRlZmF1bHQsIGRlbGltaXRlciwgZGlybmFtZSwgZXh0bmFtZSwgZm9ybWF0LCBpc0Fic29sdXRlLCBqb2luLCBub3JtYWxpemUsIG5vcm1hbGl6ZVN0cmluZywgcGFyc2UsIHJlbGF0aXZlLCByZXNvbHZlLCBzZXAsIHRvTmFtZXNwYWNlZFBhdGggfTtcbiIsImltcG9ydCB0eXBlIHsgQXJyYXlhYmxlLCBOdWxsYWJsZSwgU3VpdGUsIFRhc2ssIFRlc3QgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIG5vdE51bGxpc2g8VD4odjogVCB8IG51bGwgfCB1bmRlZmluZWQpOiB2IGlzIE5vbk51bGxhYmxlPFQ+IHtcbiAgcmV0dXJuIHYgIT0gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2xhc2goc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXFxcL2csICcvJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU2xhc2hlcyhzdHI6IHN0cmluZykge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcL1xcLy9nLCAnLycpXG59XG5cbmV4cG9ydCBjb25zdCBub29wID0gKCkgPT4ge31cblxuLyoqXG4gKiBDb252ZXJ0IGBBcnJheWFibGU8VD5gIHRvIGBBcnJheTxUPmBcbiAqXG4gKiBAY2F0ZWdvcnkgQXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQXJyYXk8VD4oYXJyYXk/OiBOdWxsYWJsZTxBcnJheWFibGU8VD4+KTogQXJyYXk8VD4ge1xuICBhcnJheSA9IGFycmF5IHx8IFtdXG4gIGlmIChBcnJheS5pc0FycmF5KGFycmF5KSlcbiAgICByZXR1cm4gYXJyYXlcbiAgcmV0dXJuIFthcnJheV1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RzKHN1aXRlOiBBcnJheWFibGU8VGFzaz4pOiBUZXN0W10ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuZmxhdE1hcChzID0+IHMudHlwZSA9PT0gJ3Rlc3QnID8gW3NdIDogcy50YXNrcy5mbGF0TWFwKGMgPT4gYy50eXBlID09PSAndGVzdCcgPyBbY10gOiBnZXRUZXN0cyhjKSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXNrcyh0YXNrczogQXJyYXlhYmxlPFRhc2s+KTogVGFza1tdIHtcbiAgcmV0dXJuIHRvQXJyYXkodGFza3MpLmZsYXRNYXAocyA9PiBzLnR5cGUgPT09ICd0ZXN0JyA/IFtzXSA6IFtzLCAuLi5nZXRUYXNrcyhzLnRhc2tzKV0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdWl0ZXMoc3VpdGU6IEFycmF5YWJsZTxUYXNrPik6IFN1aXRlW10ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuZmxhdE1hcChzID0+IHMudHlwZSA9PT0gJ3N1aXRlJyA/IFtzLCAuLi5nZXRTdWl0ZXMocy50YXNrcyldIDogW10pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNUZXN0cyhzdWl0ZTogQXJyYXlhYmxlPFN1aXRlPik6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuc29tZShzID0+IHMudGFza3Muc29tZShjID0+IGMudHlwZSA9PT0gJ3Rlc3QnIHx8IGhhc1Rlc3RzKGMgYXMgU3VpdGUpKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ZhaWxlZChzdWl0ZTogQXJyYXlhYmxlPFRhc2s+KTogYm9vbGVhbiB7XG4gIHJldHVybiB0b0FycmF5KHN1aXRlKS5zb21lKHMgPT4gcy5yZXN1bHQ/LnN0YXRlID09PSAnZmFpbCcgfHwgKHMudHlwZSA9PT0gJ3N1aXRlJyAmJiBoYXNGYWlsZWQocy50YXNrcykpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZXModGFzazogVGFzaykge1xuICBjb25zdCBuYW1lcyA9IFt0YXNrLm5hbWVdXG4gIGxldCBjdXJyZW50OiBUYXNrIHwgdW5kZWZpbmVkID0gdGFza1xuXG4gIHdoaWxlIChjdXJyZW50Py5zdWl0ZSB8fCBjdXJyZW50Py5maWxlKSB7XG4gICAgY3VycmVudCA9IGN1cnJlbnQuc3VpdGUgfHwgY3VycmVudC5maWxlXG4gICAgaWYgKGN1cnJlbnQ/Lm5hbWUpXG4gICAgICBuYW1lcy51bnNoaWZ0KGN1cnJlbnQubmFtZSlcbiAgfVxuXG4gIHJldHVybiBuYW1lc1xufVxuIiwiaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCBjIGZyb20gJ3BpY29jb2xvcnMnXG5pbXBvcnQgeyBpc1BhY2thZ2VFeGlzdHMgfSBmcm9tICdsb2NhbC1wa2cnXG5pbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IFN1aXRlLCBUYXNrIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXROYW1lcywgc2xhc2ggfSBmcm9tICcuL3Rhc2tzJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2tzJ1xuXG5leHBvcnQgY29uc3QgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuXG4vKipcbiAqIFBhcnRpdGlvbiBpbiB0YXNrcyBncm91cHMgYnkgY29uc2VjdXRpdmUgY29uY3VycmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uU3VpdGVDaGlsZHJlbihzdWl0ZTogU3VpdGUpIHtcbiAgbGV0IHRhc2tzR3JvdXA6IFRhc2tbXSA9IFtdXG4gIGNvbnN0IHRhc2tzR3JvdXBzOiBUYXNrW11bXSA9IFtdXG4gIGZvciAoY29uc3QgYyBvZiBzdWl0ZS50YXNrcykge1xuICAgIGlmICh0YXNrc0dyb3VwLmxlbmd0aCA9PT0gMCB8fCBjLmNvbmN1cnJlbnQgPT09IHRhc2tzR3JvdXBbMF0uY29uY3VycmVudCkge1xuICAgICAgdGFza3NHcm91cC5wdXNoKGMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGFza3NHcm91cHMucHVzaCh0YXNrc0dyb3VwKVxuICAgICAgdGFza3NHcm91cCA9IFtjXVxuICAgIH1cbiAgfVxuICBpZiAodGFza3NHcm91cC5sZW5ndGggPiAwKVxuICAgIHRhc2tzR3JvdXBzLnB1c2godGFza3NHcm91cClcblxuICByZXR1cm4gdGFza3NHcm91cHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bGxOYW1lKHRhc2s6IFRhc2spIHtcbiAgcmV0dXJuIGdldE5hbWVzKHRhc2spLmpvaW4oYy5kaW0oJyA+ICcpKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGFja2FnZUluc3RhbGxlZChcbiAgZGVwZW5kZW5jeTogc3RyaW5nLFxuICBwcm9tcHRJbnN0YWxsID0gIXByb2Nlc3MuZW52LkNJICYmIHByb2Nlc3Muc3Rkb3V0LmlzVFRZLFxuKSB7XG4gIGlmIChpc1BhY2thZ2VFeGlzdHMoZGVwZW5kZW5jeSkpXG4gICAgcmV0dXJuIHRydWVcblxuICBwcm9jZXNzLnN0ZGVyci53cml0ZShjLnJlZChgJHtjLmludmVyc2UoYy5yZWQoJyBNSVNTSU5HIERFUCAnKSl9IENhbiBub3QgZmluZCBkZXBlbmRlbmN5ICcke2RlcGVuZGVuY3l9J1xcblxcbmApKVxuXG4gIGlmICghcHJvbXB0SW5zdGFsbClcbiAgICByZXR1cm4gZmFsc2VcblxuICBjb25zdCBwcm9tcHRzID0gYXdhaXQgaW1wb3J0KCdwcm9tcHRzJylcbiAgY29uc3QgeyBpbnN0YWxsIH0gPSBhd2FpdCBwcm9tcHRzLnByb21wdCh7XG4gICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgIG5hbWU6ICdpbnN0YWxsJyxcbiAgICBtZXNzYWdlOiBjLnJlc2V0KGBEbyB5b3Ugd2FudCB0byBpbnN0YWxsICR7Yy5ncmVlbihkZXBlbmRlbmN5KX0/YCksXG4gIH0pXG5cbiAgaWYgKGluc3RhbGwpIHtcbiAgICBhd2FpdCAoYXdhaXQgaW1wb3J0KCdAYW50ZnUvaW5zdGFsbC1wa2cnKSkuaW5zdGFsbFBhY2thZ2UoZGVwZW5kZW5jeSwgeyBkZXY6IHRydWUgfSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChpdGVtOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiBpdGVtICE9IG51bGwgJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGl0ZW0pXG59XG5cbmZ1bmN0aW9uIGRlZXBNZXJnZUFycmF5KHRhcmdldDogYW55W10gPSBbXSwgc291cmNlOiBhbnlbXSA9IFtdKSB7XG4gIGNvbnN0IG1lcmdlZE91dHB1dCA9IEFycmF5LmZyb20odGFyZ2V0KVxuXG4gIHNvdXJjZS5mb3JFYWNoKChzb3VyY2VFbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBtZXJnZWRPdXRwdXRbaW5kZXhdXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXRbaW5kZXhdKSkge1xuICAgICAgbWVyZ2VkT3V0cHV0W2luZGV4XSA9IGRlZXBNZXJnZUFycmF5KHRhcmdldFtpbmRleF0sIHNvdXJjZUVsZW1lbnQpXG4gICAgfVxuICAgIGVsc2UgaWYgKGlzT2JqZWN0KHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICBtZXJnZWRPdXRwdXRbaW5kZXhdID0gZGVlcE1lcmdlKHRhcmdldFtpbmRleF0sIHNvdXJjZUVsZW1lbnQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgLy8gU291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRhcmdldCBvciB0YXJnZXQgaXMgcHJpbWl0aXZlIGFuZCBjYW5ub3QgYmUgZGVlcCBtZXJnZWRcbiAgICAgIG1lcmdlZE91dHB1dFtpbmRleF0gPSBzb3VyY2VFbGVtZW50XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtZXJnZWRPdXRwdXRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBNZXJnZSh0YXJnZXQ6IGFueSwgc291cmNlOiBhbnkpOiBhbnkge1xuICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG4gICAgY29uc3QgbWVyZ2VkT3V0cHV0ID0geyAuLi50YXJnZXQgfVxuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pICYmICFzb3VyY2Vba2V5XS4kJHR5cGVvZikge1xuICAgICAgICBpZiAoIShrZXkgaW4gdGFyZ2V0KSkgT2JqZWN0LmFzc2lnbihtZXJnZWRPdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICAgIGVsc2UgbWVyZ2VkT3V0cHV0W2tleV0gPSBkZWVwTWVyZ2UodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgbWVyZ2VkT3V0cHV0W2tleV0gPSBkZWVwTWVyZ2VBcnJheSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihtZXJnZWRPdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICB9XG4gICAgfSlcblxuICAgIHJldHVybiBtZXJnZWRPdXRwdXRcbiAgfVxuICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkgJiYgQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XG4gICAgcmV0dXJuIGRlZXBNZXJnZUFycmF5KHRhcmdldCwgc291cmNlKVxuICB9XG4gIHJldHVybiB0YXJnZXRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRmlsZVBhdGgoaWQ6IHN0cmluZywgcm9vdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IGFic29sdXRlID0gc2xhc2goaWQpLnN0YXJ0c1dpdGgoJy9AZnMvJylcbiAgICA/IGlkLnNsaWNlKDQpXG4gICAgOiBpZC5zdGFydHNXaXRoKGRpcm5hbWUocm9vdCkpXG4gICAgICA/IGlkXG4gICAgICA6IGlkLnN0YXJ0c1dpdGgoJy8nKVxuICAgICAgICA/IHNsYXNoKHJlc29sdmUocm9vdCwgaWQuc2xpY2UoMSkpKVxuICAgICAgICA6IGlkXG5cbiAgaWYgKGFic29sdXRlLnN0YXJ0c1dpdGgoJy8vJykpXG4gICAgYWJzb2x1dGUgPSBhYnNvbHV0ZS5zbGljZSgxKVxuXG4gIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgcmV0dXJuIGlzV2luZG93cyAmJiBhYnNvbHV0ZS5zdGFydHNXaXRoKCcvJylcbiAgICA/IGZpbGVVUkxUb1BhdGgocGF0aFRvRmlsZVVSTChhYnNvbHV0ZS5zbGljZSgxKSkuaHJlZilcbiAgICA6IGFic29sdXRlXG59XG5cbmV4cG9ydCB7IHJlc29sdmUgYXMgcmVzb2x2ZVBhdGggfVxuIl0sIm5hbWVzIjpbInBpY29jb2xvcnNNb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJLEdBQUcsR0FBRyxXQUFjO0FBQ3hCO0FBQ0EsSUFBSSxnQkFBZ0I7QUFDcEIsQ0FBQyxFQUFFLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BFLEVBQUUsYUFBYSxJQUFJLE9BQU8sQ0FBQyxHQUFHO0FBQzlCLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0FBQ2xDLEVBQUUsT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPO0FBQzlCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7QUFDaEQsRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBQztBQUN0QjtBQUNBLElBQUksU0FBUztBQUNiLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sR0FBRyxJQUFJO0FBQzdCLENBQUMsS0FBSyxJQUFJO0FBQ1YsRUFBRSxJQUFJLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBSztBQUN6QixFQUFFLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUM7QUFDaEQsRUFBRSxPQUFPLENBQUMsS0FBSztBQUNmLEtBQUssSUFBSSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLO0FBQy9ELEtBQUssSUFBSSxHQUFHLE1BQU0sR0FBRyxLQUFLO0FBQzFCLEdBQUU7QUFDRjtBQUNBLElBQUksWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxLQUFLO0FBQ3RELENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsUUFBTztBQUNqRCxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUM7QUFDakQsQ0FBQyxJQUFJLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQztBQUNuQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRztBQUN2RixFQUFDO0FBQ0Q7QUFDQSxJQUFJLFlBQVksR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsTUFBTTtBQUNwRCxDQUFDLGdCQUFnQixFQUFFLE9BQU87QUFDMUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTTtBQUNwRCxDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxNQUFNO0FBQzdFLENBQUMsR0FBRyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLE1BQU07QUFDNUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLFNBQVMsRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQy9ELENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDN0QsQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLGFBQWEsRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQ25FLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDNUQsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUMxRCxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzVELENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDN0QsQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUMzRCxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzlELENBQUMsSUFBSSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDM0QsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzNELENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDOUQsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzlELENBQUMsUUFBUSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDL0QsQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM3RCxDQUFDLFNBQVMsRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQ2hFLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDN0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcs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
396
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtNjRhYWZlNGIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9waWNvY29sb3JzQDEuMC4wL25vZGVfbW9kdWxlcy9waWNvY29sb3JzL3BpY29jb2xvcnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vcGF0aGVAMC4yLjAvbm9kZV9tb2R1bGVzL3BhdGhlL2Rpc3QvaW5kZXgubWpzIiwiLi4vc3JjL3V0aWxzL3Rhc2tzLnRzIiwiLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCB0dHkgPSByZXF1aXJlKFwidHR5XCIpXG5cbmxldCBpc0NvbG9yU3VwcG9ydGVkID1cblx0IShcIk5PX0NPTE9SXCIgaW4gcHJvY2Vzcy5lbnYgfHwgcHJvY2Vzcy5hcmd2LmluY2x1ZGVzKFwiLS1uby1jb2xvclwiKSkgJiZcblx0KFwiRk9SQ0VfQ09MT1JcIiBpbiBwcm9jZXNzLmVudiB8fFxuXHRcdHByb2Nlc3MuYXJndi5pbmNsdWRlcyhcIi0tY29sb3JcIikgfHxcblx0XHRwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIgfHxcblx0XHQodHR5LmlzYXR0eSgxKSAmJiBwcm9jZXNzLmVudi5URVJNICE9PSBcImR1bWJcIikgfHxcblx0XHRcIkNJXCIgaW4gcHJvY2Vzcy5lbnYpXG5cbmxldCBmb3JtYXR0ZXIgPVxuXHQob3BlbiwgY2xvc2UsIHJlcGxhY2UgPSBvcGVuKSA9PlxuXHRpbnB1dCA9PiB7XG5cdFx0bGV0IHN0cmluZyA9IFwiXCIgKyBpbnB1dFxuXHRcdGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBvcGVuLmxlbmd0aClcblx0XHRyZXR1cm4gfmluZGV4XG5cdFx0XHQ/IG9wZW4gKyByZXBsYWNlQ2xvc2Uoc3RyaW5nLCBjbG9zZSwgcmVwbGFjZSwgaW5kZXgpICsgY2xvc2Vcblx0XHRcdDogb3BlbiArIHN0cmluZyArIGNsb3NlXG5cdH1cblxubGV0IHJlcGxhY2VDbG9zZSA9IChzdHJpbmcsIGNsb3NlLCByZXBsYWNlLCBpbmRleCkgPT4ge1xuXHRsZXQgc3RhcnQgPSBzdHJpbmcuc3Vic3RyaW5nKDAsIGluZGV4KSArIHJlcGxhY2Vcblx0bGV0IGVuZCA9IHN0cmluZy5zdWJzdHJpbmcoaW5kZXggKyBjbG9zZS5sZW5ndGgpXG5cdGxldCBuZXh0SW5kZXggPSBlbmQuaW5kZXhPZihjbG9zZSlcblx0cmV0dXJuIH5uZXh0SW5kZXggPyBzdGFydCArIHJlcGxhY2VDbG9zZShlbmQsIGNsb3NlLCByZXBsYWNlLCBuZXh0SW5kZXgpIDogc3RhcnQgKyBlbmRcbn1cblxubGV0IGNyZWF0ZUNvbG9ycyA9IChlbmFibGVkID0gaXNDb2xvclN1cHBvcnRlZCkgPT4gKHtcblx0aXNDb2xvclN1cHBvcnRlZDogZW5hYmxlZCxcblx0cmVzZXQ6IGVuYWJsZWQgPyBzID0+IGBcXHgxYlswbSR7c31cXHgxYlswbWAgOiBTdHJpbmcsXG5cdGJvbGQ6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlsxbVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzFtXCIpIDogU3RyaW5nLFxuXHRkaW06IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlsybVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzJtXCIpIDogU3RyaW5nLFxuXHRpdGFsaWM6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszbVwiLCBcIlxceDFiWzIzbVwiKSA6IFN0cmluZyxcblx0dW5kZXJsaW5lOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNG1cIiwgXCJcXHgxYlsyNG1cIikgOiBTdHJpbmcsXG5cdGludmVyc2U6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls3bVwiLCBcIlxceDFiWzI3bVwiKSA6IFN0cmluZyxcblx0aGlkZGVuOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbOG1cIiwgXCJcXHgxYlsyOG1cIikgOiBTdHJpbmcsXG5cdHN0cmlrZXRocm91Z2g6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls5bVwiLCBcIlxceDFiWzI5bVwiKSA6IFN0cmluZyxcblx0YmxhY2s6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszMG1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdHJlZDogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzMxbVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Z3JlZW46IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszMm1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdHllbGxvdzogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzMzbVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Ymx1ZTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM0bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0bWFnZW50YTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM1bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0Y3lhbjogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzM2bVwiLCBcIlxceDFiWzM5bVwiKSA6IFN0cmluZyxcblx0d2hpdGU6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYlszN21cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdGdyYXk6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls5MG1cIiwgXCJcXHgxYlszOW1cIikgOiBTdHJpbmcsXG5cdGJnQmxhY2s6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls0MG1cIiwgXCJcXHgxYls0OW1cIikgOiBTdHJpbmcsXG5cdGJnUmVkOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDFtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ0dyZWVuOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDJtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ1llbGxvdzogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQzbVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcblx0YmdCbHVlOiBlbmFibGVkID8gZm9ybWF0dGVyKFwiXFx4MWJbNDRtXCIsIFwiXFx4MWJbNDltXCIpIDogU3RyaW5nLFxuXHRiZ01hZ2VudGE6IGVuYWJsZWQgPyBmb3JtYXR0ZXIoXCJcXHgxYls0NW1cIiwgXCJcXHgxYls0OW1cIikgOiBTdHJpbmcsXG5cdGJnQ3lhbjogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQ2bVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcblx0YmdXaGl0ZTogZW5hYmxlZCA/IGZvcm1hdHRlcihcIlxceDFiWzQ3bVwiLCBcIlxceDFiWzQ5bVwiKSA6IFN0cmluZyxcbn0pXG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQ29sb3JzKClcbm1vZHVsZS5leHBvcnRzLmNyZWF0ZUNvbG9ycyA9IGNyZWF0ZUNvbG9yc1xuIiwiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVdpbmRvd3NQYXRoKGlucHV0ID0gXCJcIikge1xuICBpZiAoIWlucHV0LmluY2x1ZGVzKFwiXFxcXFwiKSkge1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuICByZXR1cm4gaW5wdXQucmVwbGFjZSgvXFxcXC9nLCBcIi9cIik7XG59XG5cbmNvbnN0IF9VTkNfUkVHRVggPSAvXlsvXVsvXS87XG5jb25zdCBfVU5DX0RSSVZFX1JFR0VYID0gL15bL11bL10oWy5dezEsMn1bL10pPyhbYS16QS1aXSk6Wy9dLztcbmNvbnN0IF9JU19BQlNPTFVURV9SRSA9IC9eXFwvfF5cXFxcfF5bYS16QS1aXTpbL1xcXFxdLztcbmNvbnN0IHNlcCA9IFwiL1wiO1xuY29uc3QgZGVsaW1pdGVyID0gXCI6XCI7XG5jb25zdCBub3JtYWxpemUgPSBmdW5jdGlvbihwYXRoMikge1xuICBpZiAocGF0aDIubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIHBhdGgyID0gbm9ybWFsaXplV2luZG93c1BhdGgocGF0aDIpO1xuICBjb25zdCBpc1VOQ1BhdGggPSBwYXRoMi5tYXRjaChfVU5DX1JFR0VYKTtcbiAgY29uc3QgaGFzVU5DRHJpdmUgPSBpc1VOQ1BhdGggJiYgcGF0aDIubWF0Y2goX1VOQ19EUklWRV9SRUdFWCk7XG4gIGNvbnN0IGlzUGF0aEFic29sdXRlID0gaXNBYnNvbHV0ZShwYXRoMik7XG4gIGNvbnN0IHRyYWlsaW5nU2VwYXJhdG9yID0gcGF0aDJbcGF0aDIubGVuZ3RoIC0gMV0gPT09IFwiL1wiO1xuICBwYXRoMiA9IG5vcm1hbGl6ZVN0cmluZyhwYXRoMiwgIWlzUGF0aEFic29sdXRlKTtcbiAgaWYgKHBhdGgyLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChpc1BhdGhBYnNvbHV0ZSkge1xuICAgICAgcmV0dXJuIFwiL1wiO1xuICAgIH1cbiAgICByZXR1cm4gdHJhaWxpbmdTZXBhcmF0b3IgPyBcIi4vXCIgOiBcIi5cIjtcbiAgfVxuICBpZiAodHJhaWxpbmdTZXBhcmF0b3IpIHtcbiAgICBwYXRoMiArPSBcIi9cIjtcbiAgfVxuICBpZiAoaXNVTkNQYXRoKSB7XG4gICAgaWYgKGhhc1VOQ0RyaXZlKSB7XG4gICAgICByZXR1cm4gYC8vLi8ke3BhdGgyfWA7XG4gICAgfVxuICAgIHJldHVybiBgLy8ke3BhdGgyfWA7XG4gIH1cbiAgcmV0dXJuIGlzUGF0aEFic29sdXRlICYmICFpc0Fic29sdXRlKHBhdGgyKSA/IGAvJHtwYXRoMn1gIDogcGF0aDI7XG59O1xuY29uc3Qgam9pbiA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIGxldCBqb2luZWQ7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IGFyZyA9IGFyZ3NbaV07XG4gICAgaWYgKGFyZy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoam9pbmVkID09PSB2b2lkIDApIHtcbiAgICAgICAgam9pbmVkID0gYXJnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgam9pbmVkICs9IGAvJHthcmd9YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKGpvaW5lZCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIFwiLlwiO1xuICB9XG4gIHJldHVybiBub3JtYWxpemUoam9pbmVkKTtcbn07XG5jb25zdCByZXNvbHZlID0gZnVuY3Rpb24oLi4uYXJncykge1xuICBhcmdzID0gYXJncy5tYXAoKGFyZykgPT4gbm9ybWFsaXplV2luZG93c1BhdGgoYXJnKSk7XG4gIGxldCByZXNvbHZlZFBhdGggPSBcIlwiO1xuICBsZXQgcmVzb2x2ZWRBYnNvbHV0ZSA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gYXJncy5sZW5ndGggLSAxOyBpID49IC0xICYmICFyZXNvbHZlZEFic29sdXRlOyBpLS0pIHtcbiAgICBjb25zdCBwYXRoMiA9IGkgPj0gMCA/IGFyZ3NbaV0gOiBwcm9jZXNzLmN3ZCgpO1xuICAgIGlmIChwYXRoMi5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICByZXNvbHZlZFBhdGggPSBgJHtwYXRoMn0vJHtyZXNvbHZlZFBhdGh9YDtcbiAgICByZXNvbHZlZEFic29sdXRlID0gaXNBYnNvbHV0ZShwYXRoMik7XG4gIH1cbiAgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplU3RyaW5nKHJlc29sdmVkUGF0aCwgIXJlc29sdmVkQWJzb2x1dGUpO1xuICBpZiAocmVzb2x2ZWRBYnNvbHV0ZSAmJiAhaXNBYnNvbHV0ZShyZXNvbHZlZFBhdGgpKSB7XG4gICAgcmV0dXJuIGAvJHtyZXNvbHZlZFBhdGh9YDtcbiAgfVxuICByZXR1cm4gcmVzb2x2ZWRQYXRoLmxlbmd0aCA+IDAgPyByZXNvbHZlZFBhdGggOiBcIi5cIjtcbn07XG5mdW5jdGlvbiBub3JtYWxpemVTdHJpbmcocGF0aDIsIGFsbG93QWJvdmVSb290KSB7XG4gIGxldCByZXMgPSBcIlwiO1xuICBsZXQgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICBsZXQgbGFzdFNsYXNoID0gLTE7XG4gIGxldCBkb3RzID0gMDtcbiAgbGV0IGNoYXIgPSBudWxsO1xuICBmb3IgKGxldCBpID0gMDsgaSA8PSBwYXRoMi5sZW5ndGg7ICsraSkge1xuICAgIGlmIChpIDwgcGF0aDIubGVuZ3RoKSB7XG4gICAgICBjaGFyID0gcGF0aDJbaV07XG4gICAgfSBlbHNlIGlmIChjaGFyID09PSBcIi9cIikge1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYXIgPSBcIi9cIjtcbiAgICB9XG4gICAgaWYgKGNoYXIgPT09IFwiL1wiKSB7XG4gICAgICBpZiAobGFzdFNsYXNoID09PSBpIC0gMSB8fCBkb3RzID09PSAxKSA7IGVsc2UgaWYgKGRvdHMgPT09IDIpIHtcbiAgICAgICAgaWYgKHJlcy5sZW5ndGggPCAyIHx8IGxhc3RTZWdtZW50TGVuZ3RoICE9PSAyIHx8IHJlc1tyZXMubGVuZ3RoIC0gMV0gIT09IFwiLlwiIHx8IHJlc1tyZXMubGVuZ3RoIC0gMl0gIT09IFwiLlwiKSB7XG4gICAgICAgICAgaWYgKHJlcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHJlcy5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHJlcyA9IFwiXCI7XG4gICAgICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcyA9IHJlcy5zbGljZSgwLCBsYXN0U2xhc2hJbmRleCk7XG4gICAgICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gcmVzLmxlbmd0aCAtIDEgLSByZXMubGFzdEluZGV4T2YoXCIvXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFzdFNsYXNoID0gaTtcbiAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICByZXMgPSBcIlwiO1xuICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICAgICAgICAgICAgbGFzdFNsYXNoID0gaTtcbiAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd0Fib3ZlUm9vdCkge1xuICAgICAgICAgIHJlcyArPSByZXMubGVuZ3RoID4gMCA/IFwiLy4uXCIgOiBcIi4uXCI7XG4gICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAyO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXMgKz0gYC8ke3BhdGgyLnNsaWNlKGxhc3RTbGFzaCArIDEsIGkpfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzID0gcGF0aDIuc2xpY2UobGFzdFNsYXNoICsgMSwgaSk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSBpIC0gbGFzdFNsYXNoIC0gMTtcbiAgICAgIH1cbiAgICAgIGxhc3RTbGFzaCA9IGk7XG4gICAgICBkb3RzID0gMDtcbiAgICB9IGVsc2UgaWYgKGNoYXIgPT09IFwiLlwiICYmIGRvdHMgIT09IC0xKSB7XG4gICAgICArK2RvdHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvdHMgPSAtMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmNvbnN0IGlzQWJzb2x1dGUgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBfSVNfQUJTT0xVVEVfUkUudGVzdChwKTtcbn07XG5jb25zdCB0b05hbWVzcGFjZWRQYXRoID0gZnVuY3Rpb24ocCkge1xuICByZXR1cm4gbm9ybWFsaXplV2luZG93c1BhdGgocCk7XG59O1xuY29uc3QgZXh0bmFtZSA9IGZ1bmN0aW9uKHApIHtcbiAgcmV0dXJuIHBhdGgucG9zaXguZXh0bmFtZShub3JtYWxpemVXaW5kb3dzUGF0aChwKSk7XG59O1xuY29uc3QgcmVsYXRpdmUgPSBmdW5jdGlvbihmcm9tLCB0bykge1xuICByZXR1cm4gcGF0aC5wb3NpeC5yZWxhdGl2ZShub3JtYWxpemVXaW5kb3dzUGF0aChmcm9tKSwgbm9ybWFsaXplV2luZG93c1BhdGgodG8pKTtcbn07XG5jb25zdCBkaXJuYW1lID0gZnVuY3Rpb24ocCkge1xuICByZXR1cm4gcGF0aC5wb3NpeC5kaXJuYW1lKG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHApKTtcbn07XG5jb25zdCBmb3JtYXQgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBub3JtYWxpemVXaW5kb3dzUGF0aChwYXRoLnBvc2l4LmZvcm1hdChwKSk7XG59O1xuY29uc3QgYmFzZW5hbWUgPSBmdW5jdGlvbihwLCBleHQpIHtcbiAgcmV0dXJuIHBhdGgucG9zaXguYmFzZW5hbWUobm9ybWFsaXplV2luZG93c1BhdGgocCksIGV4dCk7XG59O1xuY29uc3QgcGFyc2UgPSBmdW5jdGlvbihwKSB7XG4gIHJldHVybiBwYXRoLnBvc2l4LnBhcnNlKG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHApKTtcbn07XG5cbmNvbnN0IF9wYXRoID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xuICBfX3Byb3RvX186IG51bGwsXG4gIHNlcDogc2VwLFxuICBkZWxpbWl0ZXI6IGRlbGltaXRlcixcbiAgbm9ybWFsaXplOiBub3JtYWxpemUsXG4gIGpvaW46IGpvaW4sXG4gIHJlc29sdmU6IHJlc29sdmUsXG4gIG5vcm1hbGl6ZVN0cmluZzogbm9ybWFsaXplU3RyaW5nLFxuICBpc0Fic29sdXRlOiBpc0Fic29sdXRlLFxuICB0b05hbWVzcGFjZWRQYXRoOiB0b05hbWVzcGFjZWRQYXRoLFxuICBleHRuYW1lOiBleHRuYW1lLFxuICByZWxhdGl2ZTogcmVsYXRpdmUsXG4gIGRpcm5hbWU6IGRpcm5hbWUsXG4gIGZvcm1hdDogZm9ybWF0LFxuICBiYXNlbmFtZTogYmFzZW5hbWUsXG4gIHBhcnNlOiBwYXJzZVxufSk7XG5cbmNvbnN0IGluZGV4ID0ge1xuICAuLi5fcGF0aFxufTtcblxuZXhwb3J0IHsgYmFzZW5hbWUsIGluZGV4IGFzIGRlZmF1bHQsIGRlbGltaXRlciwgZGlybmFtZSwgZXh0bmFtZSwgZm9ybWF0LCBpc0Fic29sdXRlLCBqb2luLCBub3JtYWxpemUsIG5vcm1hbGl6ZVN0cmluZywgcGFyc2UsIHJlbGF0aXZlLCByZXNvbHZlLCBzZXAsIHRvTmFtZXNwYWNlZFBhdGggfTtcbiIsImltcG9ydCB0eXBlIHsgQXJyYXlhYmxlLCBOdWxsYWJsZSwgU3VpdGUsIFRhc2ssIFRlc3QgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIG5vdE51bGxpc2g8VD4odjogVCB8IG51bGwgfCB1bmRlZmluZWQpOiB2IGlzIE5vbk51bGxhYmxlPFQ+IHtcbiAgcmV0dXJuIHYgIT0gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2xhc2goc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXFxcL2csICcvJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU2xhc2hlcyhzdHI6IHN0cmluZykge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcL1xcLy9nLCAnLycpXG59XG5cbmV4cG9ydCBjb25zdCBub29wID0gKCkgPT4ge31cblxuLyoqXG4gKiBDb252ZXJ0IGBBcnJheWFibGU8VD5gIHRvIGBBcnJheTxUPmBcbiAqXG4gKiBAY2F0ZWdvcnkgQXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQXJyYXk8VD4oYXJyYXk/OiBOdWxsYWJsZTxBcnJheWFibGU8VD4+KTogQXJyYXk8VD4ge1xuICBhcnJheSA9IGFycmF5IHx8IFtdXG4gIGlmIChBcnJheS5pc0FycmF5KGFycmF5KSlcbiAgICByZXR1cm4gYXJyYXlcbiAgcmV0dXJuIFthcnJheV1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RzKHN1aXRlOiBBcnJheWFibGU8VGFzaz4pOiBUZXN0W10ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuZmxhdE1hcChzID0+IHMudHlwZSA9PT0gJ3Rlc3QnID8gW3NdIDogcy50YXNrcy5mbGF0TWFwKGMgPT4gYy50eXBlID09PSAndGVzdCcgPyBbY10gOiBnZXRUZXN0cyhjKSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXNrcyh0YXNrczogQXJyYXlhYmxlPFRhc2s+KTogVGFza1tdIHtcbiAgcmV0dXJuIHRvQXJyYXkodGFza3MpLmZsYXRNYXAocyA9PiBzLnR5cGUgPT09ICd0ZXN0JyA/IFtzXSA6IFtzLCAuLi5nZXRUYXNrcyhzLnRhc2tzKV0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdWl0ZXMoc3VpdGU6IEFycmF5YWJsZTxUYXNrPik6IFN1aXRlW10ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuZmxhdE1hcChzID0+IHMudHlwZSA9PT0gJ3N1aXRlJyA/IFtzLCAuLi5nZXRTdWl0ZXMocy50YXNrcyldIDogW10pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNUZXN0cyhzdWl0ZTogQXJyYXlhYmxlPFN1aXRlPik6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9BcnJheShzdWl0ZSkuc29tZShzID0+IHMudGFza3Muc29tZShjID0+IGMudHlwZSA9PT0gJ3Rlc3QnIHx8IGhhc1Rlc3RzKGMgYXMgU3VpdGUpKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ZhaWxlZChzdWl0ZTogQXJyYXlhYmxlPFRhc2s+KTogYm9vbGVhbiB7XG4gIHJldHVybiB0b0FycmF5KHN1aXRlKS5zb21lKHMgPT4gcy5yZXN1bHQ/LnN0YXRlID09PSAnZmFpbCcgfHwgKHMudHlwZSA9PT0gJ3N1aXRlJyAmJiBoYXNGYWlsZWQocy50YXNrcykpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZXModGFzazogVGFzaykge1xuICBjb25zdCBuYW1lcyA9IFt0YXNrLm5hbWVdXG4gIGxldCBjdXJyZW50OiBUYXNrIHwgdW5kZWZpbmVkID0gdGFza1xuXG4gIHdoaWxlIChjdXJyZW50Py5zdWl0ZSB8fCBjdXJyZW50Py5maWxlKSB7XG4gICAgY3VycmVudCA9IGN1cnJlbnQuc3VpdGUgfHwgY3VycmVudC5maWxlXG4gICAgaWYgKGN1cnJlbnQ/Lm5hbWUpXG4gICAgICBuYW1lcy51bnNoaWZ0KGN1cnJlbnQubmFtZSlcbiAgfVxuXG4gIHJldHVybiBuYW1lc1xufVxuIiwiaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCBjIGZyb20gJ3BpY29jb2xvcnMnXG5pbXBvcnQgeyBpc1BhY2thZ2VFeGlzdHMgfSBmcm9tICdsb2NhbC1wa2cnXG5pbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IFN1aXRlLCBUYXNrIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXROYW1lcywgc2xhc2ggfSBmcm9tICcuL3Rhc2tzJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2tzJ1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoJ1xuXG5leHBvcnQgY29uc3QgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuXG4vKipcbiAqIFBhcnRpdGlvbiBpbiB0YXNrcyBncm91cHMgYnkgY29uc2VjdXRpdmUgY29uY3VycmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uU3VpdGVDaGlsZHJlbihzdWl0ZTogU3VpdGUpIHtcbiAgbGV0IHRhc2tzR3JvdXA6IFRhc2tbXSA9IFtdXG4gIGNvbnN0IHRhc2tzR3JvdXBzOiBUYXNrW11bXSA9IFtdXG4gIGZvciAoY29uc3QgYyBvZiBzdWl0ZS50YXNrcykge1xuICAgIGlmICh0YXNrc0dyb3VwLmxlbmd0aCA9PT0gMCB8fCBjLmNvbmN1cnJlbnQgPT09IHRhc2tzR3JvdXBbMF0uY29uY3VycmVudCkge1xuICAgICAgdGFza3NHcm91cC5wdXNoKGMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGFza3NHcm91cHMucHVzaCh0YXNrc0dyb3VwKVxuICAgICAgdGFza3NHcm91cCA9IFtjXVxuICAgIH1cbiAgfVxuICBpZiAodGFza3NHcm91cC5sZW5ndGggPiAwKVxuICAgIHRhc2tzR3JvdXBzLnB1c2godGFza3NHcm91cClcblxuICByZXR1cm4gdGFza3NHcm91cHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bGxOYW1lKHRhc2s6IFRhc2spIHtcbiAgcmV0dXJuIGdldE5hbWVzKHRhc2spLmpvaW4oYy5kaW0oJyA+ICcpKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGFja2FnZUluc3RhbGxlZChcbiAgZGVwZW5kZW5jeTogc3RyaW5nLFxuICBwcm9tcHRJbnN0YWxsID0gIXByb2Nlc3MuZW52LkNJICYmIHByb2Nlc3Muc3Rkb3V0LmlzVFRZLFxuKSB7XG4gIGlmIChpc1BhY2thZ2VFeGlzdHMoZGVwZW5kZW5jeSkpXG4gICAgcmV0dXJuIHRydWVcblxuICBwcm9jZXNzLnN0ZGVyci53cml0ZShjLnJlZChgJHtjLmludmVyc2UoYy5yZWQoJyBNSVNTSU5HIERFUCAnKSl9IENhbiBub3QgZmluZCBkZXBlbmRlbmN5ICcke2RlcGVuZGVuY3l9J1xcblxcbmApKVxuXG4gIGlmICghcHJvbXB0SW5zdGFsbClcbiAgICByZXR1cm4gZmFsc2VcblxuICBjb25zdCBwcm9tcHRzID0gYXdhaXQgaW1wb3J0KCdwcm9tcHRzJylcbiAgY29uc3QgeyBpbnN0YWxsIH0gPSBhd2FpdCBwcm9tcHRzLnByb21wdCh7XG4gICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgIG5hbWU6ICdpbnN0YWxsJyxcbiAgICBtZXNzYWdlOiBjLnJlc2V0KGBEbyB5b3Ugd2FudCB0byBpbnN0YWxsICR7Yy5ncmVlbihkZXBlbmRlbmN5KX0/YCksXG4gIH0pXG5cbiAgaWYgKGluc3RhbGwpIHtcbiAgICBhd2FpdCAoYXdhaXQgaW1wb3J0KCdAYW50ZnUvaW5zdGFsbC1wa2cnKSkuaW5zdGFsbFBhY2thZ2UoZGVwZW5kZW5jeSwgeyBkZXY6IHRydWUgfSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChpdGVtOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiBpdGVtICE9IG51bGwgJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGl0ZW0pXG59XG5cbmZ1bmN0aW9uIGRlZXBNZXJnZUFycmF5KHRhcmdldDogYW55W10gPSBbXSwgc291cmNlOiBhbnlbXSA9IFtdKSB7XG4gIGNvbnN0IG1lcmdlZE91dHB1dCA9IEFycmF5LmZyb20odGFyZ2V0KVxuXG4gIHNvdXJjZS5mb3JFYWNoKChzb3VyY2VFbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBtZXJnZWRPdXRwdXRbaW5kZXhdXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXRbaW5kZXhdKSkge1xuICAgICAgbWVyZ2VkT3V0cHV0W2luZGV4XSA9IGRlZXBNZXJnZUFycmF5KHRhcmdldFtpbmRleF0sIHNvdXJjZUVsZW1lbnQpXG4gICAgfVxuICAgIGVsc2UgaWYgKGlzT2JqZWN0KHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICBtZXJnZWRPdXRwdXRbaW5kZXhdID0gZGVlcE1lcmdlKHRhcmdldFtpbmRleF0sIHNvdXJjZUVsZW1lbnQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgLy8gU291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRhcmdldCBvciB0YXJnZXQgaXMgcHJpbWl0aXZlIGFuZCBjYW5ub3QgYmUgZGVlcCBtZXJnZWRcbiAgICAgIG1lcmdlZE91dHB1dFtpbmRleF0gPSBzb3VyY2VFbGVtZW50XG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtZXJnZWRPdXRwdXRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBNZXJnZSh0YXJnZXQ6IGFueSwgc291cmNlOiBhbnkpOiBhbnkge1xuICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG4gICAgY29uc3QgbWVyZ2VkT3V0cHV0ID0geyAuLi50YXJnZXQgfVxuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pICYmICFzb3VyY2Vba2V5XS4kJHR5cGVvZikge1xuICAgICAgICBpZiAoIShrZXkgaW4gdGFyZ2V0KSkgT2JqZWN0LmFzc2lnbihtZXJnZWRPdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICAgIGVsc2UgbWVyZ2VkT3V0cHV0W2tleV0gPSBkZWVwTWVyZ2UodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgbWVyZ2VkT3V0cHV0W2tleV0gPSBkZWVwTWVyZ2VBcnJheSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihtZXJnZWRPdXRwdXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pXG4gICAgICB9XG4gICAgfSlcblxuICAgIHJldHVybiBtZXJnZWRPdXRwdXRcbiAgfVxuICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkgJiYgQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XG4gICAgcmV0dXJuIGRlZXBNZXJnZUFycmF5KHRhcmdldCwgc291cmNlKVxuICB9XG4gIHJldHVybiB0YXJnZXRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRmlsZVBhdGgoaWQ6IHN0cmluZywgcm9vdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IGFic29sdXRlID0gc2xhc2goaWQpLnN0YXJ0c1dpdGgoJy9AZnMvJylcbiAgICA/IGlkLnNsaWNlKDQpXG4gICAgOiBpZC5zdGFydHNXaXRoKGRpcm5hbWUocm9vdCkpXG4gICAgICA/IGlkXG4gICAgICA6IGlkLnN0YXJ0c1dpdGgoJy8nKVxuICAgICAgICA/IHNsYXNoKHJlc29sdmUocm9vdCwgaWQuc2xpY2UoMSkpKVxuICAgICAgICA6IGlkXG5cbiAgaWYgKGFic29sdXRlLnN0YXJ0c1dpdGgoJy8vJykpXG4gICAgYWJzb2x1dGUgPSBhYnNvbHV0ZS5zbGljZSgxKVxuXG4gIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgcmV0dXJuIGlzV2luZG93cyAmJiBhYnNvbHV0ZS5zdGFydHNXaXRoKCcvJylcbiAgICA/IGZpbGVVUkxUb1BhdGgocGF0aFRvRmlsZVVSTChhYnNvbHV0ZS5zbGljZSgxKSkuaHJlZilcbiAgICA6IGFic29sdXRlXG59XG5cbmV4cG9ydCB7IHJlc29sdmUgYXMgcmVzb2x2ZVBhdGggfVxuIl0sIm5hbWVzIjpbInBpY29jb2xvcnNNb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJLEdBQUcsR0FBRyxXQUFjO0FBQ3hCO0FBQ0EsSUFBSSxnQkFBZ0I7QUFDcEIsQ0FBQyxFQUFFLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BFLEVBQUUsYUFBYSxJQUFJLE9BQU8sQ0FBQyxHQUFHO0FBQzlCLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0FBQ2xDLEVBQUUsT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPO0FBQzlCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENB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LE1BQU07QUFDN0QsQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUMzRCxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzlELENBQUMsSUFBSSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDM0QsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzNELENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDOUQsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM1RCxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQzlELENBQUMsUUFBUSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDL0QsQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTTtBQUM3RCxDQUFDLFNBQVMsRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNO0FBQ2hFLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU07QUFDN0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxV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