@cdktn/cli-core 0.23.2 → 0.23.4

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.
Files changed (43) hide show
  1. package/LICENSE +355 -0
  2. package/build/lib/cdktf-stack.d.ts +6 -1
  3. package/build/lib/cdktf-stack.d.ts.map +1 -1
  4. package/build/lib/cdktf-stack.js +18 -1
  5. package/build/lib/dependencies/dependency-manager.js +2 -2
  6. package/build/lib/dependencies/package-manager.js +27 -13
  7. package/build/lib/init.d.ts +1 -1
  8. package/build/lib/init.d.ts.map +1 -1
  9. package/build/lib/init.js +22 -4
  10. package/build/lib/installed-binary-check.d.ts +12 -0
  11. package/build/lib/installed-binary-check.d.ts.map +1 -0
  12. package/build/lib/installed-binary-check.js +62 -0
  13. package/build/lib/models/deploy-machine.d.ts +10 -0
  14. package/build/lib/models/deploy-machine.d.ts.map +1 -1
  15. package/build/lib/models/deploy-machine.js +42 -7
  16. package/build/lib/models/terraform-cli.d.ts +0 -1
  17. package/build/lib/models/terraform-cli.d.ts.map +1 -1
  18. package/build/lib/models/terraform.d.ts +1 -0
  19. package/build/lib/models/terraform.d.ts.map +1 -1
  20. package/build/lib/models/terraform.js +1 -1
  21. package/build/lib/synth-stack.d.ts +0 -1
  22. package/build/lib/synth-stack.d.ts.map +1 -1
  23. package/build/lib/watch.d.ts +0 -1
  24. package/build/lib/watch.d.ts.map +1 -1
  25. package/package.json +20 -19
  26. package/templates/csharp/TestProgram.cs +1 -1
  27. package/templates/csharp/cdktf.json +4 -0
  28. package/templates/csharp/help +7 -7
  29. package/templates/go/cdktf.json +4 -0
  30. package/templates/go/help +1 -1
  31. package/templates/go/main_test.go +1 -1
  32. package/templates/java/cdktf.json +4 -0
  33. package/templates/java/gradlew +0 -0
  34. package/templates/java/help +2 -2
  35. package/templates/java/src/test/java/com/company/app/MainTest.java +1 -1
  36. package/templates/python/cdktf.json +4 -0
  37. package/templates/python/help +1 -1
  38. package/templates/python/main-test.py +1 -1
  39. package/templates/python-pip/cdktf.json +4 -0
  40. package/templates/python-pip/help +1 -1
  41. package/templates/python-pip/main-test.py +1 -1
  42. package/templates/typescript/__tests__/main-test.ts +1 -1
  43. package/templates/typescript/cdktf.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAgD,CAAC;AAK1E,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAC;AAKtC,wBAAsB,IAAI,CAAC,EACzB,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,MAAM,GACP,EAAE,QAAQ,oBA4BV;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AACD,wBAAsB,aAAa,CACjC,OAAO,GAAE,MAAoB,EAC7B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AACD,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAgD,CAAC;AAK1E,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAC;AAKtC,wBAAsB,IAAI,CAAC,EACzB,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,MAAM,GACP,EAAE,QAAQ,oBAgCV;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAeD,wBAAsB,aAAa,CACjC,OAAO,GAAE,MAAoB,EAC7B,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
package/build/lib/init.js CHANGED
@@ -52,7 +52,7 @@ for (const template of availableTemplates) {
52
52
  exports.templates.push(template);
53
53
  }
54
54
  async function init({ cdktfVersion, destination, dist, projectId, projectInfo, templatePath, sendCrashReports, providers, providersForceLocal, silent, }) {
55
- const deps = await determineDeps(cdktfVersion, dist);
55
+ const deps = await determineDeps(cdktfVersion, dist, path.basename(templatePath));
56
56
  const futureFlags = Object.entries(features_1.FUTURE_FLAGS)
57
57
  .map(([key, value]) => ` "${key}": "${value}"`)
58
58
  .join(`,\n`);
@@ -78,7 +78,18 @@ async function init({ cdktfVersion, destination, dist, projectId, projectInfo, t
78
78
  return needsGet;
79
79
  }
80
80
  exports.init = init;
81
- async function determineDeps(version = pkg.version, dist) {
81
+ // Each built-in template only consumes the dist artifact for its own
82
+ // language. Skipping the others lets `cdktn init --dist` work when only
83
+ // some language dists are present (e.g. CI ran `yarn package:js` only).
84
+ const distKeysByTemplate = {
85
+ typescript: ["npm_cdktf"],
86
+ python: ["pypi_cdktf"],
87
+ "python-pip": ["pypi_cdktf"],
88
+ java: ["mvn_cdktf"],
89
+ csharp: ["nuget_cdktf"],
90
+ go: ["go_cdktf"],
91
+ };
92
+ async function determineDeps(version = pkg.version, dist, template) {
82
93
  // TS: cdktf-0.10.1-dev.2160938258
83
94
  // Py: cdktf-0.10.1.dev1658821493.whl
84
95
  const pythonVersion = version
@@ -94,7 +105,14 @@ async function determineDeps(version = pkg.version, dist) {
94
105
  nuget_cdktf: path.resolve(dist, "dotnet", `Io.Cdktn.${version}.nupkg`),
95
106
  go_cdktf: path.resolve(dist, "go", `cdktn`),
96
107
  };
97
- for (const file of Object.values(ret)) {
108
+ // If we know the template, only validate its artifact; otherwise fall
109
+ // back to validating everything (preserves prior behavior for unknown /
110
+ // remote templates).
111
+ const keysToValidate = template && distKeysByTemplate[template]
112
+ ? distKeysByTemplate[template]
113
+ : Object.keys(ret);
114
+ for (const key of keysToValidate) {
115
+ const file = ret[key];
98
116
  if (!(await fs.pathExists(file))) {
99
117
  throw commons_1.Errors.Internal(`unable to find ${file} under the "dist" directory (${dist})`, new Error(), { version });
100
118
  }
@@ -128,4 +146,4 @@ async function determineDeps(version = pkg.version, dist) {
128
146
  };
129
147
  }
130
148
  exports.determineDeps = determineDeps;
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsNENBQXdDO0FBRXhDLG1DQUFnQztBQUNoQyxpREFBa0Q7QUFDbEQsaURBQTZDO0FBQzdDLGlEQUE2QztBQUU3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQTJCekMsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLEVBQUU7S0FDMUIsV0FBVyxDQUFDLG9CQUFZLENBQUM7S0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4QixRQUFBLFNBQVMsR0FBYSxFQUFFLENBQUM7QUFDdEMs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akMsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsa0JBQWtCLElBQUksZ0NBQWdDLElBQUksR0FBRyxFQUM3RCxJQUFJLEtBQUssRUFBRSxFQUNYLEVBQUUsT0FBTyxFQUFFLENBQ1osQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUc7WUFDZixhQUFhLEVBQUUsT0FBTztZQUN0QixrQkFBa0IsRUFBRSxpQkFBaUI7U0FDdEMsQ0FBQztRQUVGLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixHQUFHLFFBQVE7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sZ0JBQU0sQ0FBQyxLQUFLLENBQ2hCLHdHQUF3RyxDQUN6RyxDQUFDO0lBQ0osQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUF4RUQsc0NBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGtnVXAgZnJvbSBcInBrZy11cFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmltcG9ydCB7IHNzY2FmZiB9IGZyb20gXCJzc2NhZmZcIjtcbmltcG9ydCB7IEZVVFVSRV9GTEFHUyB9IGZyb20gXCJjZGt0bi9saWIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5pbXBvcnQgeyBwcm92aWRlckFkZCB9IGZyb20gXCIuL3Byb3ZpZGVyLWFkZFwiO1xuXG5jb25zdCByZWFkUGFja2FnZUpzb24gPSAoKSA9PiB7XG4gIGNvbnN0IHBrZ1BhdGggPSBwa2dVcC5zeW5jKHsgY3dkOiBfX2Rpcm5hbWUgfSk7XG4gIGlmICghcGtnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHBhY2thZ2UuanNvblwiKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dQYXRoLCBcInV0Zi04XCIpKTtcbn07XG5jb25zdCBwa2cgPSByZWFkUGFja2FnZUpzb24oKTtcbmNvbnN0IGNvbnN0cnVjdHNWZXJzaW9uID0gcGtnLmRlcGVuZGVuY2llcy5jb25zdHJ1Y3RzO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsUHJvamVjdCB7XG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQcm9qZWN0IGV4dGVuZHMgTG9jYWxQcm9qZWN0IHtcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBXb3Jrc3BhY2VOYW1lOiBzdHJpbmc7XG4gIFRlcnJhZm9ybVJlbW90ZUhvc3RuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBQcm9qZWN0ID0gTG9jYWxQcm9qZWN0IHwgUmVtb3RlUHJvamVjdDtcblxuZXhwb3J0IHR5cGUgSW5pdEFyZ3MgPSB7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZGlzdD86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogc3RyaW5nW107XG4gIHByb3ZpZGVyc0ZvcmNlTG9jYWw/OiBib29sZWFuO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgcHJvamVjdEluZm86IFByb2plY3Q7XG4gIHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBzZW5kQ3Jhc2hSZXBvcnRzOiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlc0RpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInRlbXBsYXRlc1wiKTtcblxuY29uc3QgYXZhaWxhYmxlVGVtcGxhdGVzID0gZnNcbiAgLnJlYWRkaXJTeW5jKHRlbXBsYXRlc0RpcilcbiAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIi5cIikpO1xuZXhwb3J0IGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbmZvciAoY29uc3QgdGVtcGxhdGUgb2YgYXZhaWxhYmxlVGVtcGxhdGVzKSB7XG4gIHRlbXBsYXRlcy5wdXNoKHRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXQoe1xuICBjZGt0ZlZlcnNpb24sXG4gIGRlc3RpbmF0aW9uLFxuICBkaXN0LFxuICBwcm9qZWN0SWQsXG4gIHByb2plY3RJbmZvLFxuICB0ZW1wbGF0ZVBhdGgsXG4gIHNlbmRDcmFzaFJlcG9ydHMsXG4gIHByb3ZpZGVycyxcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgc2lsZW50LFxufTogSW5pdEFyZ3MpIHtcbiAgY29uc3QgZGVwczogYW55ID0gYXdhaXQgZGV0ZXJtaW5lRGVwcyhjZGt0ZlZlcnNpb24sIGRpc3QpO1xuXG4gIGNvbnN0IGZ1dHVyZUZsYWdzID0gT2JqZWN0LmVudHJpZXMoRlVUVVJFX0ZMQUdTKVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCAgICBcIiR7a2V5fVwiOiBcIiR7dmFsdWV9XCJgKVxuICAgIC5qb2luKGAsXFxuYCk7XG5cbiAgYXdhaXQgc3NjYWZmKHRlbXBsYXRlUGF0aCwgZGVzdGluYXRpb24sIHtcbiAgICAuLi5kZXBzLFxuICAgIC4uLnByb2plY3RJbmZvLFxuICAgIGZ1dHVyZUZsYWdzLFxuICAgIHByb2plY3RJZCxcbiAgICBzZW5kQ3Jhc2hSZXBvcnRzLFxuICAgIHNpbGVudCxcbiAgfSk7XG4gIGNvbnN0IGNka3RmQ29uZmlnID0gQ2RrdGZDb25maWcucmVhZChkZXN0aW5hdGlvbik7XG5cbiAgbGV0IG5lZWRzR2V0ID0gZmFsc2U7XG4gIGlmIChwcm92aWRlcnMgJiYgcHJvdmlkZXJzLmxlbmd0aCkge1xuICAgIG5lZWRzR2V0ID0gYXdhaXQgcHJvdmlkZXJBZGQoe1xuICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnMsXG4gICAgICBsYW5ndWFnZTogY2RrdGZDb25maWcubGFuZ3VhZ2UsXG4gICAgICBwcm9qZWN0RGlyZWN0b3J5OiBkZXN0aW5hdGlvbixcbiAgICAgIGZvcmNlTG9jYWw6IHByb3ZpZGVyc0ZvcmNlTG9jYWwsXG4gICAgICBkaXN0LFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBuZWVkc0dldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBzIHtcbiAgbnBtX2Nka3RmOiBzdHJpbmc7XG4gIG5wbV9jZGt0Zl9jbGk6IHN0cmluZztcbiAgcHlwaV9jZGt0Zjogc3RyaW5nO1xuICBtdm5fY2RrdGY6IHN0cmluZztcbiAgbnVnZXRfY2RrdGY6IHN0cmluZztcbiAgZ29fY2RrdGY6IHN0cmluZztcbiAgY2RrdGZfdmVyc2lvbjogc3RyaW5nO1xuICBjb25zdHJ1Y3RzX3ZlcnNpb246IHN0cmluZztcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXRlcm1pbmVEZXBzKFxuICB2ZXJzaW9uOiBzdHJpbmcgPSBwa2cudmVyc2lvbixcbiAgZGlzdD86IHN0cmluZyxcbik6IFByb21pc2U8RGVwcz4ge1xuICAvLyBUUzogY2RrdGYtMC4xMC4xLWRldi4yMTYwOTM4MjU4XG4gIC8vIFB5OiBjZGt0Zi0wLjEwLjEuZGV2MTY1ODgyMTQ5My53aGxcbiAgY29uc3QgcHl0aG9uVmVyc2lvbiA9IHZlcnNpb25cbiAgICAucmVwbGFjZSgvLXByZVxcLi9nLCBcIi5kZXZcIilcbiAgICAucmVwbGFjZSgvLWRldlxcLi9nLCBcIi5kZXZcIik7XG5cbiAgaWYgKGRpc3QpIHtcbiAgICAvLyBUT0RPOiBXaGF0IGFib3V0IGV4aXN0aW5nIGNka3RmIFRTL1BZIGRlcGVuZGVuY2llcz9cbiAgICBjb25zdCByZXQgPSB7XG4gICAgICBucG1fY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImpzXCIsIGBjZGt0bkAke3ZlcnNpb259LmpzaWkudGd6YCksXG4gICAgICBucG1fY2RrdGZfY2xpOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJqc1wiLCBgY2RrdG4tY2xpLSR7dmVyc2lvbn0udGd6YCksXG4gICAgICBweXBpX2Nka3RmOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIGRpc3QsXG4gICAgICAgIFwicHl0aG9uXCIsXG4gICAgICAgIGBjZGt0bi0ke3B5dGhvblZlcnNpb259LXB5My1ub25lLWFueS53aGxgLFxuICAgICAgKSxcbiAgICAgIG12bl9jZGt0ZjogcGF0aC5yZXNvbHZlKFxuICAgICAgICBkaXN0LFxuICAgICAgICBcImphdmFcIixcbiAgICAgICAgYGlvL2Nka3RuL2Nka3RuLyR7dmVyc2lvbn0vY2RrdG4tJHt2ZXJzaW9ufS5qYXJgLFxuICAgICAgKSxcbiAgICAgIG51Z2V0X2Nka3RmOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJkb3RuZXRcIiwgYElvLkNka3RuLiR7dmVyc2lvbn0ubnVwa2dgKSxcbiAgICAgIGdvX2Nka3RmOiBwYXRoLnJlc29sdmUoZGlzdCwgXCJnb1wiLCBgY2RrdG5gKSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIE9iamVjdC52YWx1ZXMocmV0KSkge1xuICAgICAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlKSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGB1bmFibGUgdG8gZmluZCAke2ZpbGV9IHVuZGVyIHRoZSBcImRpc3RcIiBkaXJlY3RvcnkgKCR7ZGlzdH0pYCxcbiAgICAgICAgICBuZXcgRXJyb3IoKSxcbiAgICAgICAgICB7IHZlcnNpb24gfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9ucyA9IHtcbiAgICAgIGNka3RmX3ZlcnNpb246IHZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmV0LFxuICAgICAgLi4udmVyc2lvbnMsXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2ZXJzaW9uID09PSBcIjAuMC4wXCIpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgY2Fubm90IHVzZSB2ZXJzaW9uIDAuMC4wLCB1c2UgLS1jZGt0Zi12ZXJzaW9uLCAtLWRpc3Qgb3IgQ0RLVEZfRElTVCB0byBpbnN0YWxsIGZyb20gYSBcImRpc3RcIiBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCBhIHNwZWNpZmljIHBpbm5lZCB2ZXJzaW9uIG9yIGEgdmVyc2lvbiByYW5nZSB3ZSB0YWtlXG4gIC8vIGEgcGlubmVkIHZlcnNpb24gaWYgdmVyc2lvbiBpbmNsdWRlcyBhIGh5cGhlbiB3aGljaCBtZWFucyBpdCBpcyBhXG4gIC8vIHByZS1yZWxlYXNlIChlLmcuIFwiMC4xMi4wLXByZS5lNjgzNGQzXCIpLiBvdGhlcndpc2UsIHdlIHJlcXVpcmUgYSBjYXJldFxuICAvLyB2ZXJzaW9uLlxuICBjb25zdCB2ZXIgPSB2ZXJzaW9uLmluY2x1ZGVzKFwiLVwiKSA/IHZlcnNpb24gOiBgXiR7dmVyc2lvbn1gO1xuXG4gIHJldHVybiB7XG4gICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIG5wbV9jZGt0ZjogYGNka3RuQCR7dmVyfWAsXG4gICAgbnBtX2Nka3RmX2NsaTogYGNka3RuLWNsaUAke3Zlcn1gLFxuICAgIHB5cGlfY2RrdGY6IGBjZGt0bn49JHtweXRob25WZXJzaW9ufWAsXG4gICAgbXZuX2Nka3RmOiB2ZXJzaW9uLFxuICAgIG51Z2V0X2Nka3RmOiB2ZXJzaW9uLFxuICAgIGdvX2Nka3RmOiBgdiR7dmVyc2lvbn1gLFxuICB9O1xufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQiw4Q0FBZ0M7QUFDaEMsNENBQXdDO0FBRXhDLG1DQUFnQztBQUNoQyxpREFBa0Q7QUFDbEQsaURBQTZDO0FBQzdDLGlEQUE2QztBQUU3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQTJCekMsUUFBQSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLEVBQUU7S0FDMUIsV0FBVyxDQUFDLG9CQUFZLENBQUM7S0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4QixRQUFBLFNBQVMsR0FBYSxFQUFFLENBQUM7QUFDdEMs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cEUseUVBQXlFO0lBQ3pFLFdBQVc7SUFDWCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUQsT0FBTztRQUNMLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxTQUFTLEVBQUUsU0FBUyxHQUFHLEVBQUU7UUFDekIsYUFBYSxFQUFFLGFBQWEsR0FBRyxFQUFFO1FBQ2pDLFVBQVUsRUFBRSxVQUFVLGFBQWEsRUFBRTtRQUNyQyxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixRQUFRLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFsRkQsc0NBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGtnVXAgZnJvbSBcInBrZy11cFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmltcG9ydCB7IHNzY2FmZiB9IGZyb20gXCJzc2NhZmZcIjtcbmltcG9ydCB7IEZVVFVSRV9GTEFHUyB9IGZyb20gXCJjZGt0bi9saWIvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENka3RmQ29uZmlnIH0gZnJvbSBcIi4vY2RrdGYtY29uZmlnXCI7XG5pbXBvcnQgeyBwcm92aWRlckFkZCB9IGZyb20gXCIuL3Byb3ZpZGVyLWFkZFwiO1xuXG5jb25zdCByZWFkUGFja2FnZUpzb24gPSAoKSA9PiB7XG4gIGNvbnN0IHBrZ1BhdGggPSBwa2dVcC5zeW5jKHsgY3dkOiBfX2Rpcm5hbWUgfSk7XG4gIGlmICghcGtnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byBmaW5kIHBhY2thZ2UuanNvblwiKTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dQYXRoLCBcInV0Zi04XCIpKTtcbn07XG5jb25zdCBwa2cgPSByZWFkUGFja2FnZUpzb24oKTtcbmNvbnN0IGNvbnN0cnVjdHNWZXJzaW9uID0gcGtnLmRlcGVuZGVuY2llcy5jb25zdHJ1Y3RzO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsUHJvamVjdCB7XG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQcm9qZWN0IGV4dGVuZHMgTG9jYWxQcm9qZWN0IHtcbiAgT3JnYW5pemF0aW9uTmFtZTogc3RyaW5nO1xuICBXb3Jrc3BhY2VOYW1lOiBzdHJpbmc7XG4gIFRlcnJhZm9ybVJlbW90ZUhvc3RuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBQcm9qZWN0ID0gTG9jYWxQcm9qZWN0IHwgUmVtb3RlUHJvamVjdDtcblxuZXhwb3J0IHR5cGUgSW5pdEFyZ3MgPSB7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZGVzdGluYXRpb246IHN0cmluZztcbiAgZGlzdD86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogc3RyaW5nW107XG4gIHByb3ZpZGVyc0ZvcmNlTG9jYWw/OiBib29sZWFuO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgcHJvamVjdEluZm86IFByb2plY3Q7XG4gIHRlbXBsYXRlUGF0aDogc3RyaW5nO1xuICBzZW5kQ3Jhc2hSZXBvcnRzOiBib29sZWFuO1xuICBzaWxlbnQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlc0RpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInRlbXBsYXRlc1wiKTtcblxuY29uc3QgYXZhaWxhYmxlVGVtcGxhdGVzID0gZnNcbiAgLnJlYWRkaXJTeW5jKHRlbXBsYXRlc0RpcilcbiAgLmZpbHRlcigoeCkgPT4gIXguc3RhcnRzV2l0aChcIi5cIikpO1xuZXhwb3J0IGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbmZvciAoY29uc3QgdGVtcGxhdGUgb2YgYXZhaWxhYmxlVGVtcGxhdGVzKSB7XG4gIHRlbXBsYXRlcy5wdXNoKHRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXQoe1xuICBjZGt0ZlZlcnNpb24sXG4gIGRlc3RpbmF0aW9uLFxuICBkaXN0LFxuICBwcm9qZWN0SWQsXG4gIHByb2plY3RJbmZvLFxuICB0ZW1wbGF0ZVBhdGgsXG4gIHNlbmRDcmFzaFJlcG9ydHMsXG4gIHByb3ZpZGVycyxcbiAgcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgc2lsZW50LFxufTogSW5pdEFyZ3MpIHtcbiAgY29uc3QgZGVwczogYW55ID0gYXdhaXQgZGV0ZXJtaW5lRGVwcyhcbiAgICBjZGt0ZlZlcnNpb24sXG4gICAgZGlzdCxcbiAgICBwYXRoLmJhc2VuYW1lKHRlbXBsYXRlUGF0aCksXG4gICk7XG5cbiAgY29uc3QgZnV0dXJlRmxhZ3MgPSBPYmplY3QuZW50cmllcyhGVVRVUkVfRkxBR1MpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgICAgIFwiJHtrZXl9XCI6IFwiJHt2YWx1ZX1cImApXG4gICAgLmpvaW4oYCxcXG5gKTtcblxuICBhd2FpdCBzc2NhZmYodGVtcGxhdGVQYXRoLCBkZXN0aW5hdGlvbiwge1xuICAgIC4uLmRlcHMsXG4gICAgLi4ucHJvamVjdEluZm8sXG4gICAgZnV0dXJlRmxhZ3MsXG4gICAgcHJvamVjdElkLFxuICAgIHNlbmRDcmFzaFJlcG9ydHMsXG4gICAgc2lsZW50LFxuICB9KTtcbiAgY29uc3QgY2RrdGZDb25maWcgPSBDZGt0ZkNvbmZpZy5yZWFkKGRlc3RpbmF0aW9uKTtcblxuICBsZXQgbmVlZHNHZXQgPSBmYWxzZTtcbiAgaWYgKHByb3ZpZGVycyAmJiBwcm92aWRlcnMubGVuZ3RoKSB7XG4gICAgbmVlZHNHZXQgPSBhd2FpdCBwcm92aWRlckFkZCh7XG4gICAgICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgICAgIGxhbmd1YWdlOiBjZGt0ZkNvbmZpZy5sYW5ndWFnZSxcbiAgICAgIHByb2plY3REaXJlY3Rvcnk6IGRlc3RpbmF0aW9uLFxuICAgICAgZm9yY2VMb2NhbDogcHJvdmlkZXJzRm9yY2VMb2NhbCxcbiAgICAgIGRpc3QsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5lZWRzR2V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcHMge1xuICBucG1fY2RrdGY6IHN0cmluZztcbiAgbnBtX2Nka3RmX2NsaTogc3RyaW5nO1xuICBweXBpX2Nka3RmOiBzdHJpbmc7XG4gIG12bl9jZGt0Zjogc3RyaW5nO1xuICBudWdldF9jZGt0Zjogc3RyaW5nO1xuICBnb19jZGt0Zjogc3RyaW5nO1xuICBjZGt0Zl92ZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnN0cnVjdHNfdmVyc2lvbjogc3RyaW5nO1xufVxudHlwZSBEaXN0S2V5ID0gRXhjbHVkZTxrZXlvZiBEZXBzLCBcImNka3RmX3ZlcnNpb25cIiB8IFwiY29uc3RydWN0c192ZXJzaW9uXCI+O1xuXG4vLyBFYWNoIGJ1aWx0LWluIHRlbXBsYXRlIG9ubHkgY29uc3VtZXMgdGhlIGRpc3QgYXJ0aWZhY3QgZm9yIGl0cyBvd25cbi8vIGxhbmd1YWdlLiBTa2lwcGluZyB0aGUgb3RoZXJzIGxldHMgYGNka3RuIGluaXQgLS1kaXN0YCB3b3JrIHdoZW4gb25seVxuLy8gc29tZSBsYW5ndWFnZSBkaXN0cyBhcmUgcHJlc2VudCAoZS5nLiBDSSByYW4gYHlhcm4gcGFja2FnZTpqc2Agb25seSkuXG5jb25zdCBkaXN0S2V5c0J5VGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIERpc3RLZXlbXT4gPSB7XG4gIHR5cGVzY3JpcHQ6IFtcIm5wbV9jZGt0ZlwiXSxcbiAgcHl0aG9uOiBbXCJweXBpX2Nka3RmXCJdLFxuICBcInB5dGhvbi1waXBcIjogW1wicHlwaV9jZGt0ZlwiXSxcbiAgamF2YTogW1wibXZuX2Nka3RmXCJdLFxuICBjc2hhcnA6IFtcIm51Z2V0X2Nka3RmXCJdLFxuICBnbzogW1wiZ29fY2RrdGZcIl0sXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV0ZXJtaW5lRGVwcyhcbiAgdmVyc2lvbjogc3RyaW5nID0gcGtnLnZlcnNpb24sXG4gIGRpc3Q/OiBzdHJpbmcsXG4gIHRlbXBsYXRlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxEZXBzPiB7XG4gIC8vIFRTOiBjZGt0Zi0wLjEwLjEtZGV2LjIxNjA5MzgyNThcbiAgLy8gUHk6IGNka3RmLTAuMTAuMS5kZXYxNjU4ODIxNDkzLndobFxuICBjb25zdCBweXRob25WZXJzaW9uID0gdmVyc2lvblxuICAgIC5yZXBsYWNlKC8tcHJlXFwuL2csIFwiLmRldlwiKVxuICAgIC5yZXBsYWNlKC8tZGV2XFwuL2csIFwiLmRldlwiKTtcblxuICBpZiAoZGlzdCkge1xuICAgIC8vIFRPRE86IFdoYXQgYWJvdXQgZXhpc3RpbmcgY2RrdGYgVFMvUFkgZGVwZW5kZW5jaWVzP1xuICAgIGNvbnN0IHJldCA9IHtcbiAgICAgIG5wbV9jZGt0ZjogcGF0aC5yZXNvbHZlKGRpc3QsIFwianNcIiwgYGNka3RuQCR7dmVyc2lvbn0uanNpaS50Z3pgKSxcbiAgICAgIG5wbV9jZGt0Zl9jbGk6IHBhdGgucmVzb2x2ZShkaXN0LCBcImpzXCIsIGBjZGt0bi1jbGktJHt2ZXJzaW9ufS50Z3pgKSxcbiAgICAgIHB5cGlfY2RrdGY6IHBhdGgucmVzb2x2ZShcbiAgICAgICAgZGlzdCxcbiAgICAgICAgXCJweXRob25cIixcbiAgICAgICAgYGNka3RuLSR7cHl0aG9uVmVyc2lvbn0tcHkzLW5vbmUtYW55LndobGAsXG4gICAgICApLFxuICAgICAgbXZuX2Nka3RmOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIGRpc3QsXG4gICAgICAgIFwiamF2YVwiLFxuICAgICAgICBgaW8vY2RrdG4vY2RrdG4vJHt2ZXJzaW9ufS9jZGt0bi0ke3ZlcnNpb259LmphcmAsXG4gICAgICApLFxuICAgICAgbnVnZXRfY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImRvdG5ldFwiLCBgSW8uQ2RrdG4uJHt2ZXJzaW9ufS5udXBrZ2ApLFxuICAgICAgZ29fY2RrdGY6IHBhdGgucmVzb2x2ZShkaXN0LCBcImdvXCIsIGBjZGt0bmApLFxuICAgIH07XG5cbiAgICAvLyBJZiB3ZSBrbm93IHRoZSB0ZW1wbGF0ZSwgb25seSB2YWxpZGF0ZSBpdHMgYXJ0aWZhY3Q7IG90aGVyd2lzZSBmYWxsXG4gICAgLy8gYmFjayB0byB2YWxpZGF0aW5nIGV2ZXJ5dGhpbmcgKHByZXNlcnZlcyBwcmlvciBiZWhhdmlvciBmb3IgdW5rbm93biAvXG4gICAgLy8gcmVtb3RlIHRlbXBsYXRlcykuXG4gICAgY29uc3Qga2V5c1RvVmFsaWRhdGU6IERpc3RLZXlbXSA9XG4gICAgICB0ZW1wbGF0ZSAmJiBkaXN0S2V5c0J5VGVtcGxhdGVbdGVtcGxhdGVdXG4gICAgICAgID8gZGlzdEtleXNCeVRlbXBsYXRlW3RlbXBsYXRlXVxuICAgICAgICA6IChPYmplY3Qua2V5cyhyZXQpIGFzIERpc3RLZXlbXSk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzVG9WYWxpZGF0ZSkge1xuICAgICAgY29uc3QgZmlsZSA9IHJldFtrZXldO1xuICAgICAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlKSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGB1bmFibGUgdG8gZmluZCAke2ZpbGV9IHVuZGVyIHRoZSBcImRpc3RcIiBkaXJlY3RvcnkgKCR7ZGlzdH0pYCxcbiAgICAgICAgICBuZXcgRXJyb3IoKSxcbiAgICAgICAgICB7IHZlcnNpb24gfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9ucyA9IHtcbiAgICAgIGNka3RmX3ZlcnNpb246IHZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmV0LFxuICAgICAgLi4udmVyc2lvbnMsXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2ZXJzaW9uID09PSBcIjAuMC4wXCIpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgY2Fubm90IHVzZSB2ZXJzaW9uIDAuMC4wLCB1c2UgLS1jZGt0Zi12ZXJzaW9uLCAtLWRpc3Qgb3IgQ0RLVEZfRElTVCB0byBpbnN0YWxsIGZyb20gYSBcImRpc3RcIiBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgaWYgd2Ugd2FudCBhIHNwZWNpZmljIHBpbm5lZCB2ZXJzaW9uIG9yIGEgdmVyc2lvbiByYW5nZSB3ZSB0YWtlXG4gIC8vIGEgcGlubmVkIHZlcnNpb24gaWYgdmVyc2lvbiBpbmNsdWRlcyBhIGh5cGhlbiB3aGljaCBtZWFucyBpdCBpcyBhXG4gIC8vIHByZS1yZWxlYXNlIChlLmcuIFwiMC4xMi4wLXByZS5lNjgzNGQzXCIpLiBvdGhlcndpc2UsIHdlIHJlcXVpcmUgYSBjYXJldFxuICAvLyB2ZXJzaW9uLlxuICBjb25zdCB2ZXIgPSB2ZXJzaW9uLmluY2x1ZGVzKFwiLVwiKSA/IHZlcnNpb24gOiBgXiR7dmVyc2lvbn1gO1xuXG4gIHJldHVybiB7XG4gICAgY2RrdGZfdmVyc2lvbjogdmVyc2lvbixcbiAgICBjb25zdHJ1Y3RzX3ZlcnNpb246IGNvbnN0cnVjdHNWZXJzaW9uLFxuICAgIG5wbV9jZGt0ZjogYGNka3RuQCR7dmVyfWAsXG4gICAgbnBtX2Nka3RmX2NsaTogYGNka3RuLWNsaUAke3Zlcn1gLFxuICAgIHB5cGlfY2RrdGY6IGBjZGt0bn49JHtweXRob25WZXJzaW9ufWAsXG4gICAgbXZuX2Nka3RmOiB2ZXJzaW9uLFxuICAgIG51Z2V0X2Nka3RmOiB2ZXJzaW9uLFxuICAgIGdvX2Nka3RmOiBgdiR7dmVyc2lvbn1gLFxuICB9O1xufVxuIl19
@@ -0,0 +1,12 @@
1
+ import { TerraformTargetVersions } from "@cdktn/commons";
2
+ /**
3
+ * Verifies that the installed Terraform-compatible binary satisfies the
4
+ * project's declared `targetVersions` (cdktf.json). Only invoked when the
5
+ * project opts in via `validateInstalledBinary: true`, by commands that are
6
+ * about to execute the binary anyway.
7
+ *
8
+ * Declared targets state the project's supported range; this check is the
9
+ * explicit step that proves the local binary actually falls inside it.
10
+ */
11
+ export declare function checkInstalledBinaryAgainstTargets(versionOutput: string, declaredTargets: TerraformTargetVersions | undefined, binaryName: string): string[];
12
+ //# sourceMappingURL=installed-binary-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-binary-check.d.ts","sourceRoot":"","sources":["../../src/lib/installed-binary-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,uBAAuB,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CA0BV"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.checkInstalledBinaryAgainstTargets = void 0;
27
+ // Copyright (c) HashiCorp, Inc
28
+ // SPDX-License-Identifier: MPL-2.0
29
+ const semver = __importStar(require("semver"));
30
+ const commons_1 = require("@cdktn/commons");
31
+ /**
32
+ * Verifies that the installed Terraform-compatible binary satisfies the
33
+ * project's declared `targetVersions` (cdktf.json). Only invoked when the
34
+ * project opts in via `validateInstalledBinary: true`, by commands that are
35
+ * about to execute the binary anyway.
36
+ *
37
+ * Declared targets state the project's supported range; this check is the
38
+ * explicit step that proves the local binary actually falls inside it.
39
+ */
40
+ function checkInstalledBinaryAgainstTargets(versionOutput, declaredTargets, binaryName) {
41
+ const targets = declaredTargets !== null && declaredTargets !== void 0 ? declaredTargets : commons_1.DEFAULT_TARGET_VERSIONS;
42
+ const cli = (0, commons_1.parseTerraformCliVersion)(versionOutput);
43
+ if (cli.name === "unknown" || !cli.version) {
44
+ return [
45
+ `Could not determine whether ${binaryName} is Terraform or OpenTofu from its version output, unable to verify it against the declared targetVersions`,
46
+ ];
47
+ }
48
+ const declaredRange = targets[cli.name];
49
+ if (!declaredRange) {
50
+ return [
51
+ `The installed binary "${binaryName}" is ${cli.name} ${cli.version}, but the project's targetVersions does not declare ${cli.name} (declared: ${JSON.stringify(targets)})`,
52
+ ];
53
+ }
54
+ if (!semver.satisfies(cli.version, declaredRange)) {
55
+ return [
56
+ `The installed binary "${binaryName}" is ${cli.name} ${cli.version}, which is outside the project's declared targetVersions.${cli.name} range "${declaredRange}"`,
57
+ ];
58
+ }
59
+ return [];
60
+ }
61
+ exports.checkInstalledBinaryAgainstTargets = checkInstalledBinaryAgainstTargets;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWJpbmFyeS1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5zdGFsbGVkLWJpbmFyeS1jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsK0NBQWlDO0FBQ2pDLDRDQUl3QjtBQUV4Qjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGtDQUFrQyxDQUNoRCxhQUFxQixFQUNyQixlQUFvRCxFQUNwRCxVQUFrQjtJQUVsQixNQUFNLE9BQU8sR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxpQ0FBdUIsQ0FBQztJQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGtDQUF3QixFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLCtCQUErQixVQUFVLDRHQUE0RztTQUN0SixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE9BQU87WUFDTCx5QkFBeUIsVUFBVSxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sdURBQXVELEdBQUcsQ0FBQyxJQUFJLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FDNUosT0FBTyxDQUNSLEdBQUc7U0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxPQUFPO1lBQ0wseUJBQXlCLFVBQVUsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLDREQUE0RCxHQUFHLENBQUMsSUFBSSxXQUFXLGFBQWEsR0FBRztTQUNsSyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQTlCRCxnRkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLFxuICBwYXJzZVRlcnJhZm9ybUNsaVZlcnNpb24sXG4gIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBpbnN0YWxsZWQgVGVycmFmb3JtLWNvbXBhdGlibGUgYmluYXJ5IHNhdGlzZmllcyB0aGVcbiAqIHByb2plY3QncyBkZWNsYXJlZCBgdGFyZ2V0VmVyc2lvbnNgIChjZGt0Zi5qc29uKS4gT25seSBpbnZva2VkIHdoZW4gdGhlXG4gKiBwcm9qZWN0IG9wdHMgaW4gdmlhIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeTogdHJ1ZWAsIGJ5IGNvbW1hbmRzIHRoYXQgYXJlXG4gKiBhYm91dCB0byBleGVjdXRlIHRoZSBiaW5hcnkgYW55d2F5LlxuICpcbiAqIERlY2xhcmVkIHRhcmdldHMgc3RhdGUgdGhlIHByb2plY3QncyBzdXBwb3J0ZWQgcmFuZ2U7IHRoaXMgY2hlY2sgaXMgdGhlXG4gKiBleHBsaWNpdCBzdGVwIHRoYXQgcHJvdmVzIHRoZSBsb2NhbCBiaW5hcnkgYWN0dWFsbHkgZmFsbHMgaW5zaWRlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJbnN0YWxsZWRCaW5hcnlBZ2FpbnN0VGFyZ2V0cyhcbiAgdmVyc2lvbk91dHB1dDogc3RyaW5nLFxuICBkZWNsYXJlZFRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHwgdW5kZWZpbmVkLFxuICBiaW5hcnlOYW1lOiBzdHJpbmcsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRhcmdldHMgPSBkZWNsYXJlZFRhcmdldHMgPz8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlM7XG4gIGNvbnN0IGNsaSA9IHBhcnNlVGVycmFmb3JtQ2xpVmVyc2lvbih2ZXJzaW9uT3V0cHV0KTtcblxuICBpZiAoY2xpLm5hbWUgPT09IFwidW5rbm93blwiIHx8ICFjbGkudmVyc2lvbikge1xuICAgIHJldHVybiBbXG4gICAgICBgQ291bGQgbm90IGRldGVybWluZSB3aGV0aGVyICR7YmluYXJ5TmFtZX0gaXMgVGVycmFmb3JtIG9yIE9wZW5Ub2Z1IGZyb20gaXRzIHZlcnNpb24gb3V0cHV0LCB1bmFibGUgdG8gdmVyaWZ5IGl0IGFnYWluc3QgdGhlIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyZWRSYW5nZSA9IHRhcmdldHNbY2xpLm5hbWVdO1xuICBpZiAoIWRlY2xhcmVkUmFuZ2UpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCBidXQgdGhlIHByb2plY3QncyB0YXJnZXRWZXJzaW9ucyBkb2VzIG5vdCBkZWNsYXJlICR7Y2xpLm5hbWV9IChkZWNsYXJlZDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdGFyZ2V0cyxcbiAgICAgICl9KWAsXG4gICAgXTtcbiAgfVxuXG4gIGlmICghc2VtdmVyLnNhdGlzZmllcyhjbGkudmVyc2lvbiwgZGVjbGFyZWRSYW5nZSkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYFRoZSBpbnN0YWxsZWQgYmluYXJ5IFwiJHtiaW5hcnlOYW1lfVwiIGlzICR7Y2xpLm5hbWV9ICR7Y2xpLnZlcnNpb259LCB3aGljaCBpcyBvdXRzaWRlIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgdGFyZ2V0VmVyc2lvbnMuJHtjbGkubmFtZX0gcmFuZ2UgXCIke2RlY2xhcmVkUmFuZ2V9XCJgLFxuICAgIF07XG4gIH1cblxuICByZXR1cm4gW107XG59XG4iXX0=
@@ -73,6 +73,11 @@ export type DeployState = {
73
73
  running: "awaiting_sentinel_override";
74
74
  };
75
75
  context: DeployContext;
76
+ } | {
77
+ value: {
78
+ running: "stopping";
79
+ };
80
+ context: DeployContext;
76
81
  } | {
77
82
  value: "exited";
78
83
  context: DeployContext & {
@@ -82,6 +87,11 @@ export type DeployState = {
82
87
  value: "stopped";
83
88
  context: DeployContext;
84
89
  };
90
+ /**
91
+ * Returns true if any line in the given (ANSI-stripped) output is terraform's
92
+ * interactive prompt for a missing variable.
93
+ */
94
+ export declare function isMissingVariablePrompt(noColorLine: string): boolean;
85
95
  export declare function extractVariableNameFromPrompt(line: string): string;
86
96
  interface BufferedReceiverFunction {
87
97
  (output: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-machine.d.ts","sourceRoot":"","sources":["../../../src/lib/models/deploy-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-machine.d.ts","sourceRoot":"","sources":["../../../src/lib/models/deploy-machine.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.createAndStartDestroyService = exports.createAndStartDeployService = exports.terraformPtyService = exports.deployMachine = exports.handleLineReceived = exports.bufferUnterminatedLines = exports.extractVariableNameFromPrompt = exports.isDeployEvent = void 0;
10
+ exports.createAndStartDestroyService = exports.createAndStartDeployService = exports.terraformPtyService = exports.deployMachine = exports.handleLineReceived = exports.bufferUnterminatedLines = exports.extractVariableNameFromPrompt = exports.isMissingVariablePrompt = exports.isDeployEvent = void 0;
11
11
  const xstate_1 = require("xstate");
12
12
  const commons_1 = require("@cdktn/commons");
13
13
  const errors_1 = require("../errors");
@@ -18,14 +18,40 @@ function isDeployEvent(event, type) {
18
18
  return event.type === type;
19
19
  }
20
20
  exports.isDeployEvent = isDeployEvent;
21
+ /**
22
+ * Terraform's interactive prompt for a missing variable looks like:
23
+ *
24
+ * var.<name>
25
+ * Enter a value:
26
+ *
27
+ * The variable name appears on its own line, prefixed with "var." (optionally
28
+ * indented). We match this precisely so we don't mistake terraform error output
29
+ * that merely references a variable (e.g. "92: mirror = var.mirror" from an
30
+ * "Unsupported argument" error) for an actual prompt. Terraform variable names
31
+ * start with a letter or underscore and may contain letters, digits,
32
+ * underscores and dashes. (#265)
33
+ */
34
+ const VARIABLE_PROMPT_REGEX = /^\s*var\.([A-Za-z_][A-Za-z0-9_-]*)\s*$/;
35
+ /**
36
+ * Returns true if any line in the given (ANSI-stripped) output is terraform's
37
+ * interactive prompt for a missing variable.
38
+ */
39
+ function isMissingVariablePrompt(noColorLine) {
40
+ return noColorLine
41
+ .split("\n")
42
+ .some((line) => VARIABLE_PROMPT_REGEX.test(line));
43
+ }
44
+ exports.isMissingVariablePrompt = isMissingVariablePrompt;
21
45
  function extractVariableNameFromPrompt(line) {
22
46
  const noColorLine = (0, strip_ansi_1.default)(line);
23
47
  const lines = noColorLine.split("\n");
24
- const lineWithVar = lines.find((line) => line.includes("var."));
25
- if (!lineWithVar) {
48
+ const match = lines
49
+ .map((l) => l.match(VARIABLE_PROMPT_REGEX))
50
+ .find((m) => m !== null);
51
+ if (!match) {
26
52
  throw commons_1.Errors.Internal(`Could not find variable name in prompt: ${line}. This is most likely a bug in cdktn. Please report it at http://cdktn.io/issues`);
27
53
  }
28
- return lineWithVar.split("var.")[1].trim();
54
+ return match[1];
29
55
  }
30
56
  exports.extractVariableNameFromPrompt = extractVariableNameFromPrompt;
31
57
  // used to only send completed lines (= with a newline at the end of them) to our logic (#2827)
@@ -63,7 +89,7 @@ function handleLineReceived(send) {
63
89
  send({ type: "OUTPUT_RECEIVED", output });
64
90
  send({ type: "REQUEST_APPROVAL" });
65
91
  }
66
- else if (noColorLine.includes("var.")) {
92
+ else if (isMissingVariablePrompt(noColorLine)) {
67
93
  hideOutput = true;
68
94
  const variableName = extractVariableNameFromPrompt(output);
69
95
  send({
@@ -111,7 +137,7 @@ exports.deployMachine = (0, xstate_1.createMachine)({
111
137
  },
112
138
  on: {
113
139
  EXITED: "exited",
114
- STOP: "stopped",
140
+ STOP: ".stopping", // wait for terraform to exit, don't stop immediately (see the "stopping" state)
115
141
  },
116
142
  initial: "processing",
117
143
  states: {
@@ -175,6 +201,15 @@ exports.deployMachine = (0, xstate_1.createMachine)({
175
201
  },
176
202
  },
177
203
  },
204
+ // On STOP, wait for terraform's own EXITED before reaching the final "stopped" state, so the run only
205
+ // resolves once it has exited and released its lock. Don't re-signal it — it already got the interrupt via
206
+ // the process group, and a second signal aborts its graceful shutdown.
207
+ stopping: {
208
+ entry: (0, xstate_1.assign)({ cancelled: true }),
209
+ on: {
210
+ EXITED: "#root.stopped",
211
+ },
212
+ },
178
213
  },
179
214
  },
180
215
  exited: { type: "final" },
@@ -280,4 +315,4 @@ function createAndStartDestroyService(options) {
280
315
  return service;
281
316
  }
282
317
  exports.createAndStartDestroyService = createAndStartDestroyService;
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUFFSCxtQ0FRZ0I7QUFDaEIsNENBQWdEO0FBQ2hELHNDQUE0QztBQUM1Qyw0REFBbUM7QUFDbkMsMkJBQXlCO0FBQ3pCLCtEQUcrQjtBQTRCL0IsU0FBZ0IsYUFBYSxDQUMzQixLQUFrQixFQUNsQixJQUFxQjtJQUVyQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQzdCLENBQUM7QUFMRCxzQ0FLQztBQWdDRCxTQUFnQiw2QkFBNkIsQ0FBQyxJQUFZO0lBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsMkNBQTJDLElBQUksa0ZBQWtGLENBQ2xJLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFWRCxzRUFVQztBQVdELCtGQUErRjtBQUMvRixTQUFnQix1QkFBdUIsQ0FDckMsT0FBaUM7SUFFakMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLFNBQVMsd0JBQXdCLENBQUMsTUFBYztRQUM5QyxNQUFNLElBQUksTUFBTSxDQUFDO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEMsMERBQTBEO1FBQzFELDRDQUE0QztRQUM1Qyw4RUFBOEU7UUFDOUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFHLENBQUMsR0FBRyxRQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUVsRCxPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUM7QUFsQkQsMERBa0JDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsSUFBa0M7SUFDbkUsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFTLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsZ0NBQWdDO1FBQ2hDLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUNMLFdBQVcsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLENBQUM7WUFDNUQsV0FBVyxDQUFDLFFBQVEsQ0FBQyw4Q0FBOEMsQ0FBQztZQUNwRSxXQUFXLENBQUMsUUFBUSxDQUNsQiwwREFBMEQsQ0FDM0QsRUFDRCxDQUFDO1lBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBRWxCLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQztnQkFDSCxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixNQUFNLEVBQUUsSUFBQSx3QkFBZSxFQUFDLFlBQVksQ0FBQzthQUN0QyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNsRCw0REFBNEQ7WUFDNUQsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sSUFDTCxXQUFXLENBQUMsUUFBUSxDQUNsQix1REFBdUQsQ0FDeEQsRUFDRCxDQUFDO1lBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUM7Z0JBQ0gsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsTUFBTTthQUNQLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBcERELGdEQW9EQztBQUVZLFFBQUEsYUFBYSxHQUFHLElBQUEsc0JBQWEsRUFLeEM7SUFDRSwwQkFBMEIsRUFBRSxJQUFJO0lBQ2hDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLE1BQU07SUFDZixFQUFFLEVBQUUsTUFBTTtJQUNWLE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRTtZQUNKLEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO2FBQzdCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsR0FBRyxFQUFFLG1CQUFtQjthQUN6QjtZQUNELEVBQUUsRUFBRTtnQkFDRixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxPQUFPLEVBQUUsWUFBWTtZQUNyQixNQUFNLEVBQUU7Z0JBQ04sMkdBQTJHO2dCQUMzRyxVQUFVLEVBQUU7b0JBQ1YsRUFBRSxFQUFFO3dCQUNGLGdCQUFnQixFQUFFLG1CQUFtQjt3QkFDckMseUJBQXlCLEVBQUUsNEJBQTRCO3dCQUN2RCxnQkFBZ0IsRUFBRTs0QkFDaEIsT0FBTyxFQUFFLElBQUEsYUFBSSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7eUJBQy9DO3FCQUNGO2lCQUNGO2dCQUNELGlCQUFpQixFQUFFO29CQUNqQixFQUFFLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsbUJBQW1CLEVBQUU7NEJBQ25CLE1BQU0sRUFBRSxjQUFjOzRCQUN0QixPQUFPLEVBQUUsSUFBQSxlQUFNLEVBR2IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7eUJBQ3ZCO3dCQUNELE9BQU8sRUFBRTs0QkFDUCxNQUFNLEVBQUUsWUFBWTs0QkFDcEIsT0FBTyxFQUFFLElBQUEsYUFBSSxFQUNYLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQ25DLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUNkO3lCQUNGO3dCQUNELE1BQU0sRUFBRTs0QkFDTixNQUFNLEVBQUUsWUFBWTs0QkFDcEIsT0FBTyxFQUFFO2dDQUNQLElBQUEsYUFBSSxFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0NBQ3ZELElBQUEsZUFBTSxFQUFrRDtvQ0FDdEQsU0FBUyxFQUFFLElBQUk7aUNBQ2hCLENBQUM7NkJBQ0g7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsMEJBQTBCLEVBQUU7b0JBQzFCLEVBQUUsRUFBRTt3QkFDRixxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyw0QkFBNEIsRUFBRTs0QkFDNUIsTUFBTSxFQUFFLGNBQWM7NEJBQ3RCLE9BQU8sRUFBRSxJQUFBLGVBQU0sRUFHYixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQzt5QkFDdkI7d0JBQ0QsZ0VBQWdFO3dCQUNoRSwwRUFBMEU7d0JBQzFFLG1EQUFtRDt3QkFDbkQsbUJBQW1CLEVBQUU7NEJBQ25CLE9BQU8sRUFBRSxJQUFBLGFBQUksRUFBQyxFQUFFLElBQUksRUFBRSw4QkFBOEIsRUFBRSxDQUFDO3lCQUN4RDt3QkFDRCxRQUFRLEVBQUU7NEJBQ1IsTUFBTSxFQUFFLFlBQVk7NEJBQ3BCLE9BQU8sRUFBRSxJQUFBLGFBQUksRUFDWCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUN4QyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FDZDt5QkFDRjt3QkFDRCxlQUFlLEVBQUU7NEJBQ2YsTUFBTSxFQUFFLFlBQVk7NEJBQ3BCLE9BQU8sRUFBRTtnQ0FDUCxJQUFBLGFBQUksRUFBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO2dDQUN2RCxJQUFBLGVBQU0sRUFHSjtvQ0FDQSxTQUFTLEVBQUUsSUFBSTtpQ0FDaEIsQ0FBQzs2QkFDSDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7S0FDM0I7Q0FDRixFQUNEO0lBQ0UsUUFBUSxFQUFFO1FBQ1IsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDcEMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxzQ0FBZ0IsQ0FBQztLQUN4RDtDQUNGLENBQ0YsQ0FBQztBQUVGLFNBQWdCLG1CQUFtQixDQUNqQyxRQUF1QixFQUN2QixLQUFrQixFQUNsQixLQUFLLEdBQUcsc0NBQWdCO0lBRXhCLE9BQU8sQ0FBQyxJQUF5QixFQUFFLFNBQWdDLEVBQUUsRUFBRTtRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0IsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsb0dBQW9HLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FDakgsQ0FBQztRQUNKLENBQUM7UUFFRCwyQ0FBMkM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsMkNBQTJDO1FBQzNDLFNBQVMsQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUMvQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDeEMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixnQkFBTSxDQUFDLEtBQUssQ0FDViw0SUFBNEksVUFBVSxHQUFHLENBQzFKLENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLEVBQUU7WUFDVixnQkFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1lBQzdELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBekNELGtEQXlDQztBQUVELFNBQWdCLDJCQUEyQixDQUFDLE9BVTNDOztJQUNDLE1BQU0sT0FBTyxHQUFHLElBQUEsa0JBQVMsRUFBQyxxQkFBYSxDQUFDLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQUc7UUFDWCxPQUFPO1FBQ1AsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRCw4SkFBOEo7UUFFOUosR0FBRyxPQUFPLENBQUMsWUFBWTtRQUN2QixHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pELEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNSLENBQUM7SUFFRixNQUFBLE9BQU8sQ0FBQyxJQUFJLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBQSxPQUFPLENBQUMsUUFBUSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFNLENBQUMsS0FBSyxDQUNWLGFBQWEsT0FBTyxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQ3hELE9BQU8sQ0FBQyxPQUNWLEVBQUUsQ0FDSCxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQTJCO1FBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMsbUJBQW1CO1FBQ2pDLElBQUk7UUFDSixPQUFPLEVBQUU7WUFDUCxHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDcEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFnQyxFQUFFLDBEQUEwRDtTQUMxRztLQUNGLENBQUM7SUFFRixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU3QyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBbkRELGtFQW1EQztBQUVELFNBQWdCLDRCQUE0QixDQUFDLE9BUzVDOztJQUNDLE1BQU0sT0FBTyxHQUFHLElBQUEsa0JBQVMsRUFBQyxxQkFBYSxDQUFDLENBQUM7SUFFekMsTUFBTSxJQUFJLEdBQUc7UUFDWCxTQUFTO1FBQ1QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRCw4SkFBOEo7UUFFOUosR0FBRyxPQUFPLENBQUMsWUFBWTtRQUN2QixHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDUixDQUFDO0lBRUYsTUFBQSxPQUFPLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQUEsT0FBTyxDQUFDLFFBQVEsMENBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FDVixhQUFhLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUN4RCxPQUFPLENBQUMsT0FDVixFQUFFLENBQ0gsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUEyQjtRQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJO1FBQ0osT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBZ0MsRUFBRSwwREFBMEQ7U0FDMUc7S0FDRixDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFN0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQWxERCxvRUFrREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7XG4gIGNyZWF0ZU1hY2hpbmUsXG4gIHNlbmQsXG4gIGludGVycHJldCxcbiAgRXZlbnRPYmplY3QsXG4gIGFzc2lnbixcbiAgU2VuZGVyLFxuICBSZWNlaXZlcixcbn0gZnJvbSBcInhzdGF0ZVwiO1xuaW1wb3J0IHsgRXJyb3JzLCBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IG1pc3NpbmdWYXJpYWJsZSB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcbmltcG9ydCB7IEVPTCB9IGZyb20gXCJvc1wiO1xuaW1wb3J0IHtcbiAgc3Bhd25JbnRlcmFjdGl2ZSxcbiAgSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyxcbn0gZnJvbSBcIi4vaW50ZXJhY3RpdmUtcHJvY2Vzc1wiO1xuXG5pbnRlcmZhY2UgRGVwbG95Q29udGV4dCB7XG4gIGV4aXRDb2RlPzogbnVtYmVyO1xuICAvKipcbiAgICogVGVycmFmb3JtIHdpbGwgZXhpdCB3aXRoIDEgaWYgaXQgd2FzIGNhbmNlbGxlZCwgYnV0IHdlIGRvbid0IHdhbnQgdG8gZmFpbCBpbiB0aGF0IGNhc2VcbiAgICovXG4gIGNhbmNlbGxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERlcGxveUV2ZW50ID1cbiAgfCB7IHR5cGU6IFwiU1RBUlRcIjsgcHR5OiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIH1cbiAgfCB7IHR5cGU6IFwiU1RPUFwiIH1cbiAgfCB7IHR5cGU6IFwiU0VORF9MSU5FXCI7IGlucHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIjsgb3V0cHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSAvLyBlLmcuIHZpYSBURkMgVUkgb3IgQVBJXG4gIHwgeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gIHwgeyB0eXBlOiBcIk9WRVJSSURERU5fRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH1cbiAgfCB7IHR5cGU6IFwiVkFSSUFCTEVfTUlTU0lOR1wiOyB2YXJpYWJsZU5hbWU6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVFwiIH1cbiAgfCB7IHR5cGU6IFwiRVhJVEVEXCI7IGV4aXRDb2RlOiBudW1iZXIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVwbG95RXZlbnQ8RGVwbG95RXZlbnRUeXBlIGV4dGVuZHMgRGVwbG95RXZlbnRbXCJ0eXBlXCJdPihcbiAgZXZlbnQ6IEV2ZW50T2JqZWN0LFxuICB0eXBlOiBEZXBsb3lFdmVudFR5cGUsXG4pOiBldmVudCBpcyBEZXBsb3lFdmVudCAmIHsgdHlwZTogRGVwbG95RXZlbnRUeXBlIH0ge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gdHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgRGVwbG95U3RhdGUgPVxuICB8IHtcbiAgICAgIHZhbHVlOiBcImlkbGVcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiBcInJ1bm5pbmdcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwicHJvY2Vzc2luZ1wiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogeyBydW5uaW5nOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIgfTtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwiYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGVcIiB9O1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IFwiZXhpdGVkXCI7XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0ICYgeyBleGl0Q29kZTogbnVtYmVyIH07XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiBcInN0b3BwZWRcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYXJpYWJsZU5hbWVGcm9tUHJvbXB0KGxpbmU6IHN0cmluZykge1xuICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShsaW5lKTtcbiAgY29uc3QgbGluZXMgPSBub0NvbG9yTGluZS5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbGluZVdpdGhWYXIgPSBsaW5lcy5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKFwidmFyLlwiKSk7XG4gIGlmICghbGluZVdpdGhWYXIpIHtcbiAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICBgQ291bGQgbm90IGZpbmQgdmFyaWFibGUgbmFtZSBpbiBwcm9tcHQ6ICR7bGluZX0uIFRoaXMgaXMgbW9zdCBsaWtlbHkgYSBidWcgaW4gY2RrdG4uIFBsZWFzZSByZXBvcnQgaXQgYXQgaHR0cDovL2Nka3RuLmlvL2lzc3Vlc2AsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbGluZVdpdGhWYXIuc3BsaXQoXCJ2YXIuXCIpWzFdLnRyaW0oKTtcbn1cblxuaW50ZXJmYWNlIEJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbiB7XG4gIChvdXRwdXQ6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKlxuICAgKiB1c2VkIHRvIGdldCB0aGUgbGFzdCBidWZmZXIgd2hlbiB0aGUgUFRZIGV4aXRzIHRvIGxvZyBhIGRlYnVnIG1lc3NhZ2UgaWYgdGhlcmUncyBvdXRwdXQgbGVmdCBpbiB0aGVyZVxuICAgKiAobWlnaHQgaGVscCBkZWJ1Z2dpbmcgb24gV2luZG93cyBpZiBFT0wgZnJvbSBOb2RlanMgZG9lc24ndCB3b3JrIGluIFdTTClcbiAgICovXG4gIGdldEJ1ZmZlcjogKCkgPT4gc3RyaW5nO1xufVxuXG4vLyB1c2VkIHRvIG9ubHkgc2VuZCBjb21wbGV0ZWQgbGluZXMgKD0gd2l0aCBhIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiB0aGVtKSB0byBvdXIgbG9naWMgKCMyODI3KVxuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclVudGVybWluYXRlZExpbmVzKFxuICBoYW5kbGVyOiAob3V0cHV0OiBzdHJpbmcpID0+IHZvaWQsXG4pOiBCdWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ge1xuICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgZnVuY3Rpb24gYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uKG91dHB1dDogc3RyaW5nKSB7XG4gICAgYnVmZmVyICs9IG91dHB1dDtcbiAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgvW1xcblxccl0rLyk7XG5cbiAgICAvLyBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCBcXG4gdGhpcyB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZ1xuICAgIC8vIGVsc2UgaXQgd2lsbCBjb250YWluIGFuIFwidW5maW5pc2hlZFwiIGxpbmVcbiAgICAvLyB0aGUgZmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlzIHRvIG1ha2UgVFMgaGFwcHkgYW5kIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCBcIlwiO1xuXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDApIGhhbmRsZXIobGluZXMuam9pbihFT0wpICsgRU9MKTtcbiAgfVxuICBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24uZ2V0QnVmZmVyID0gKCkgPT4gYnVmZmVyO1xuXG4gIHJldHVybiBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZDogKGV2ZW50OiBEZXBsb3lFdmVudCkgPT4gdm9pZCkge1xuICByZXR1cm4gKG91dHB1dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGhpZGVPdXRwdXQgPSBmYWxzZTtcbiAgICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShvdXRwdXQpO1xuXG4gICAgLy8gcG9zc2libGUgZXZlbnRzIGJhc2VkIG9uIGxpbmVcbiAgICBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJhcHByb3ZlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcImRpc2NhcmRlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJSRUpFQ1RFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRG8geW91IHdhbnQgdG8gcGVyZm9ybSB0aGVzZSBhY3Rpb25zXCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZXN0cm95IGFsbCByZXNvdXJjZXM/XCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcbiAgICAgICAgXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVzdHJveSBhbGwgcmVzb3VyY2VzIGluIHdvcmtzcGFjZVwiLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIiwgb3V0cHV0IH0pO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH0pO1xuICAgIH0gZWxzZSBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJ2YXIuXCIpKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcblxuICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gZXh0cmFjdFZhcmlhYmxlTmFtZUZyb21Qcm9tcHQob3V0cHV0KTtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQ6IG1pc3NpbmdWYXJpYWJsZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgfSk7XG4gICAgICBzZW5kKHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCIsIHZhcmlhYmxlTmFtZSB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRW50ZXIgYSB2YWx1ZTpcIikpIHtcbiAgICAgIC8vIFRoaXMgY29tZXMgYWxvbmcgd2l0aCBhYm92ZSBibG9jaywgYnV0IGlzIGEgc2VwYXJhdGUgbGluZVxuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBzb2Z0IGZhaWxlZCBwb2xpY3kgY2hlY2s/XCIsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLCBvdXRwdXQgfSk7XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwib3ZlcnJpZGRlbiB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVkVSUklEREVOX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWhpZGVPdXRwdXQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBkZXBsb3lNYWNoaW5lID0gY3JlYXRlTWFjaGluZTxcbiAgRGVwbG95Q29udGV4dCxcbiAgRGVwbG95RXZlbnQsXG4gIERlcGxveVN0YXRlXG4+KFxuICB7XG4gICAgcHJlZGljdGFibGVBY3Rpb25Bcmd1bWVudHM6IHRydWUsXG4gICAgY29udGV4dDoge30sXG4gICAgaW5pdGlhbDogXCJpZGxlXCIsXG4gICAgaWQ6IFwicm9vdFwiLFxuICAgIHN0YXRlczoge1xuICAgICAgaWRsZToge1xuICAgICAgICBvbjoge1xuICAgICAgICAgIFNUQVJUOiB7IHRhcmdldDogXCJydW5uaW5nXCIgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBydW5uaW5nOiB7XG4gICAgICAgIGludm9rZToge1xuICAgICAgICAgIGlkOiBcInB0eVwiLFxuICAgICAgICAgIHNyYzogXCJydW5UZXJyYWZvcm1JblB0eVwiLFxuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIEVYSVRFRDogXCJleGl0ZWRcIixcbiAgICAgICAgICBTVE9QOiBcInN0b3BwZWRcIixcbiAgICAgICAgfSxcbiAgICAgICAgaW5pdGlhbDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgIHN0YXRlczoge1xuICAgICAgICAgIC8vIFRPRE86IHdoYXQgZWxzZSBtaWdodCBURiBDTEkgYmUgYXNraW5nPyBDYW4gd2UgZGV0ZWN0IGFueSBxdWVzdGlvbiBmcm9tIHRoZSBURiBDTEkgdG8gc2hvdyBhIGdvb2QgZXJyb3I/XG4gICAgICAgICAgcHJvY2Vzc2luZzoge1xuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgUkVRVUVTVF9BUFBST1ZBTDogXCJhd2FpdGluZ19hcHByb3ZhbFwiLFxuICAgICAgICAgICAgICBSRVFVRVNUX1NFTlRJTkVMX09WRVJSSURFOiBcImF3YWl0aW5nX3NlbnRpbmVsX292ZXJyaWRlXCIsXG4gICAgICAgICAgICAgIFZBUklBQkxFX01JU1NJTkc6IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kKHsgdHlwZTogXCJFWElURURcIiwgZXhpdENvZGU6IDEgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXdhaXRpbmdfYXBwcm92YWw6IHtcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIEFQUFJPVkVEX0VYVEVSTkFMTFk6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICBSRUpFQ1RFRF9FWFRFUk5BTExZOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcIiNyb290LmV4aXRlZFwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IGFzc2lnbjxcbiAgICAgICAgICAgICAgICAgIERlcGxveUNvbnRleHQsXG4gICAgICAgICAgICAgICAgICBEZXBsb3lFdmVudCAmIHsgdHlwZTogXCJSRUpFQ1RFRF9FWFRFUk5BTExZXCIgfVxuICAgICAgICAgICAgICAgID4oeyBjYW5jZWxsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIEFQUFJPVkU6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoXG4gICAgICAgICAgICAgICAgICB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcInllc1wiIH0sXG4gICAgICAgICAgICAgICAgICB7IHRvOiBcInB0eVwiIH0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgUkVKRUNUOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICBzZW5kKHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwibm9cIiB9LCB7IHRvOiBcInB0eVwiIH0pLFxuICAgICAgICAgICAgICAgICAgYXNzaWduPERlcGxveUNvbnRleHQsIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIlJFSkVDVFwiIH0+KHtcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZToge1xuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgT1ZFUlJJRERFTl9FWFRFUk5BTExZOiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCIjcm9vdC5leGl0ZWRcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBhc3NpZ248XG4gICAgICAgICAgICAgICAgICBEZXBsb3lDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgRGVwbG95RXZlbnQgJiB7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgICAgICAgICAgICAgICA+KHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjaywgYmVjYXVzZSB0aGUgZXh0ZXJuYWwgZGlzY2FyZCBtZXNzYWdlXG4gICAgICAgICAgICAgIC8vIHBvc3RlZCBieSBUZXJyYWZvcm0gVUkgaXMgdGhlIHNhbWUgYXMgZHVyaW5nIGFwcGx5LiBTbywgd2UgY2FwdHVyZSB0aGF0XG4gICAgICAgICAgICAgIC8vIGFuZCBlbWl0IG91ciBvd24gZXZlbnQgdG8gbWFrZSBpdCBtb3JlIHNwZWNpZmljLlxuICAgICAgICAgICAgICBSRUpFQ1RFRF9FWFRFUk5BTExZOiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uczogc2VuZCh7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBPVkVSUklERToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogc2VuZChcbiAgICAgICAgICAgICAgICAgIHsgdHlwZTogXCJTRU5EX0xJTkVcIiwgaW5wdXQ6IFwib3ZlcnJpZGVcIiB9LFxuICAgICAgICAgICAgICAgICAgeyB0bzogXCJwdHlcIiB9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFJFSkVDVF9PVkVSUklERToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgc2VuZCh7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm5vXCIgfSwgeyB0bzogXCJwdHlcIiB9KSxcbiAgICAgICAgICAgICAgICAgIGFzc2lnbjxcbiAgICAgICAgICAgICAgICAgICAgRGVwbG95Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgRGVwbG95RXZlbnQgJiB7IHR5cGU6IFwiUkVKRUNUX09WRVJSSURFXCIgfVxuICAgICAgICAgICAgICAgICAgPih7XG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZXhpdGVkOiB7IHR5cGU6IFwiZmluYWxcIiB9LFxuICAgICAgc3RvcHBlZDogeyB0eXBlOiBcImZpbmFsXCIgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgc2VydmljZXM6IHtcbiAgICAgIHJ1blRlcnJhZm9ybUluUHR5OiAoY29udGV4dCwgZXZlbnQpID0+XG4gICAgICAgIHRlcnJhZm9ybVB0eVNlcnZpY2UoY29udGV4dCwgZXZlbnQsIHNwYXduSW50ZXJhY3RpdmUpLFxuICAgIH0sXG4gIH0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVycmFmb3JtUHR5U2VydmljZShcbiAgX2NvbnRleHQ6IERlcGxveUNvbnRleHQsXG4gIGV2ZW50OiBEZXBsb3lFdmVudCxcbiAgc3Bhd24gPSBzcGF3bkludGVyYWN0aXZlLFxuKTogKHNlbmQ6IFNlbmRlcjxEZXBsb3lFdmVudD4sIG9uUmVjZWl2ZTogUmVjZWl2ZXI8RGVwbG95RXZlbnQ+KSA9PiB2b2lkIHtcbiAgcmV0dXJuIChzZW5kOiBTZW5kZXI8RGVwbG95RXZlbnQ+LCBvblJlY2VpdmU6IFJlY2VpdmVyPERlcGxveUV2ZW50PikgPT4ge1xuICAgIGlmIChldmVudC50eXBlICE9PSBcIlNUQVJUXCIpIHtcbiAgICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgICAgYFRlcnJhZm9ybSBDTEkgaW52b2NhdGlvbiBzdGF0ZSBtYWNoaW5lOiBVbmV4cGVjdGVkIGV2ZW50IGNhdXNlZCB0cmFuc2l0aW9uIHRvIHRoZSBydW5uaW5nIHN0YXRlOiAke2V2ZW50LnR5cGV9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQ29tbXVuaWNhdGlvbiBmcm9tIHRoZSBwdHkgdG8gdGhlIGNhbGxlclxuICAgIGNvbnN0IHJlY2VpdmVyID0gYnVmZmVyVW50ZXJtaW5hdGVkTGluZXMoaGFuZGxlTGluZVJlY2VpdmVkKHNlbmQpKTtcbiAgICBjb25zdCB7IGV4aXRDb2RlLCBhY3Rpb25zIH0gPSBzcGF3bihldmVudC5wdHksIChkYXRhKSA9PiB7XG4gICAgICByZWNlaXZlcihkYXRhKTtcbiAgICB9KTtcblxuICAgIC8vIENvbW11bmljYXRpb24gZnJvbSB0aGUgY2FsbGVyIHRvIHRoZSBwdHlcbiAgICBvblJlY2VpdmUoKGV2ZW50OiBEZXBsb3lFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IFwiU0VORF9MSU5FXCIpIHtcbiAgICAgICAgYWN0aW9ucy53cml0ZUxpbmUoZXZlbnQuaW5wdXQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhpdENvZGUudGhlbigoZXhpdENvZGUpID0+IHtcbiAgICAgIGNvbnN0IGxhc3RCdWZmZXIgPSByZWNlaXZlci5nZXRCdWZmZXIoKTtcbiAgICAgIGlmIChsYXN0QnVmZmVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBUZXJyYWZvcm0gQ0xJIGV4aXRlZCBidXQgdGhlIGxhc3Qgb3V0cHV0dGVkIGxpbmUgd2FzIG5vdCB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5lIGFuZCBoZW5jZSBpcyBzdGlsbCBpbiB0aGUgYnVmZmVyIGFuZCB3YXNuJ3QgcHJpbnRlZDogXCIke2xhc3RCdWZmZXJ9XCJgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzZW5kKHsgdHlwZTogXCJFWElURURcIiwgZXhpdENvZGUgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbG9nZ2VyLnRyYWNlKFwiVGVycmFmb3JtIENMSSBzdGF0ZSBtYWNoaW5lOiBjbGVhbmluZyB1cCBwdHlcIik7XG4gICAgICBhY3Rpb25zLnN0b3AoKTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQW5kU3RhcnREZXBsb3lTZXJ2aWNlKG9wdGlvbnM6IHtcbiAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICBwYXJhbGxlbGlzbTogbnVtYmVyO1xuICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gIGF1dG9BcHByb3ZlPzogYm9vbGVhbjtcbiAgbm9Db2xvcj86IGJvb2xlYW47XG4gIHdvcmtkaXI6IHN0cmluZztcbiAgdmFycz86IHN0cmluZ1tdO1xuICB2YXJGaWxlcz86IHN0cmluZ1tdO1xufSkge1xuICBjb25zdCBzZXJ2aWNlID0gaW50ZXJwcmV0KGRlcGxveU1hY2hpbmUpO1xuICBjb25zdCBhcmdzID0gW1xuICAgIFwiYXBwbHlcIixcbiAgICAuLi4ob3B0aW9ucy5hdXRvQXBwcm92ZSA/IFtcIi1hdXRvLWFwcHJvdmVcIl0gOiBbXSksXG4gICAgLy8gXCItaW5wdXQ9ZmFsc2VcIiwgd2UgY2FuJ3QgdXNlIHRoaXMgYW55bW9yZSBidXQgVE9ETzogd2UgbmVlZCB0byBkZXRlY3QgVEYgQ0xJIGFza2luZyBmb3IgbWlzc2luZyBpbnB1dHMgYW5kIGVpdGhlciBhbGxvdyBwYXNzaW5nIHRoZW0gb3Igc3RvcCB0aGVyZSBhbmQgZmFpbFxuXG4gICAgLi4ub3B0aW9ucy5leHRyYU9wdGlvbnMsXG4gICAgLi4uKG9wdGlvbnMucmVmcmVzaE9ubHkgPyBbXCItcmVmcmVzaC1vbmx5XCJdIDogW10pLFxuICAgIC4uLihvcHRpb25zLm5vQ29sb3IgPyBbXCItbm8tY29sb3JcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMucGFyYWxsZWxpc20gPiAtMVxuICAgICAgPyBbYC1wYXJhbGxlbGlzbT0ke29wdGlvbnMucGFyYWxsZWxpc219YF1cbiAgICAgIDogW10pLFxuICBdO1xuXG4gIG9wdGlvbnMudmFycz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhcj0ke3Z9YCk7XG4gIH0pO1xuXG4gIG9wdGlvbnMudmFyRmlsZXM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXItZmlsZT0ke3Z9YCk7XG4gIH0pO1xuXG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgRXhlY3V0aW5nICR7b3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lfSAke2FyZ3Muam9pbihcIiBcIil9IGluICR7XG4gICAgICBvcHRpb25zLndvcmtkaXJcbiAgICB9YCxcbiAgKTtcblxuICBjb25zdCBjb25maWc6IEludGVyYWN0aXZlU3Bhd25Db25maWcgPSB7XG4gICAgZmlsZTogb3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgIGFyZ3MsXG4gICAgb3B0aW9uczoge1xuICAgICAgY3dkOiBvcHRpb25zLndvcmtkaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIC8vIFRPRE86IG1ha2UgdGhpcyBleHBsaWNpdCBhbmQgbW92ZSB0byBjYWxsZXIgb3Igd2hhdGV2ZXJcbiAgICB9LFxuICB9O1xuXG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlc3Ryb3lTZXJ2aWNlKG9wdGlvbnM6IHtcbiAgcGFyYWxsZWxpc206IG51bWJlcjtcbiAgZXh0cmFPcHRpb25zOiBzdHJpbmdbXTtcbiAgdGVycmFmb3JtQmluYXJ5TmFtZTogc3RyaW5nO1xuICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gIG5vQ29sb3I/OiBib29sZWFuO1xuICB3b3JrZGlyOiBzdHJpbmc7XG4gIHZhcnM/OiBzdHJpbmdbXTtcbiAgdmFyRmlsZXM/OiBzdHJpbmdbXTtcbn0pIHtcbiAgY29uc3Qgc2VydmljZSA9IGludGVycHJldChkZXBsb3lNYWNoaW5lKTtcblxuICBjb25zdCBhcmdzID0gW1xuICAgIFwiZGVzdHJveVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5ub0NvbG9yID8gW1wiLW5vLWNvbG9yXCJdIDogW10pLFxuICAgIC4uLihvcHRpb25zLnBhcmFsbGVsaXNtID4gLTFcbiAgICAgID8gW2AtcGFyYWxsZWxpc209JHtvcHRpb25zLnBhcmFsbGVsaXNtfWBdXG4gICAgICA6IFtdKSxcbiAgXTtcblxuICBvcHRpb25zLnZhcnM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXI9JHt2fWApO1xuICB9KTtcblxuICBvcHRpb25zLnZhckZpbGVzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyLWZpbGU9JHt2fWApO1xuICB9KTtcblxuICBsb2dnZXIuZGVidWcoXG4gICAgYEV4ZWN1dGluZyAke29wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZX0gJHthcmdzLmpvaW4oXCIgXCIpfSBpbiAke1xuICAgICAgb3B0aW9ucy53b3JrZGlyXG4gICAgfWAsXG4gICk7XG5cbiAgY29uc3QgY29uZmlnOiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnID0ge1xuICAgIGZpbGU6IG9wdGlvbnMudGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICBhcmdzLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGN3ZDogb3B0aW9ucy53b3JrZGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudiBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCAvLyBUT0RPOiBtYWtlIHRoaXMgZXhwbGljaXQgYW5kIG1vdmUgdG8gY2FsbGVyIG9yIHdoYXRldmVyXG4gICAgfSxcbiAgfTtcblxuICBzZXJ2aWNlLnNlbmQoeyB0eXBlOiBcIlNUQVJUXCIsIHB0eTogY29uZmlnIH0pO1xuXG4gIHJldHVybiBzZXJ2aWNlO1xufVxuIl19
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LW1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21vZGVscy9kZXBsb3ktbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7Ozs7QUFFSCxtQ0FRZ0I7QUFDaEIsNENBQWdEO0FBQ2hELHNDQUE0QztBQUM1Qyw0REFBbUM7QUFDbkMsMkJBQXlCO0FBQ3pCLCtEQUcrQjtBQTRCL0IsU0FBZ0IsYUFBYSxDQUMzQixLQUFrQixFQUNsQixJQUFxQjtJQUVyQixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQzdCLENBQUM7QUFMRCxzQ0FLQztBQW9DRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLHdDQUF3QyxDQUFDO0FBRXZFOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLFdBQW1CO0lBQ3pELE9BQU8sV0FBVztTQUNmLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFKRCwwREFJQztBQUVELFNBQWdCLDZCQUE2QixDQUFDLElBQVk7SUFDeEQsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUMxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQXlCLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFD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QUFPLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztJQUVILE1BQUEsT0FBTyxDQUFDLFFBQVEsMENBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FDVixhQUFhLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUN4RCxPQUFPLENBQUMsT0FDVixFQUFFLENBQ0gsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUEyQjtRQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJO1FBQ0osT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBZ0MsRUFBRSwwREFBMEQ7U0FDMUc7S0FDRixDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFN0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQWxERCxvRUFrREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7XG4gIGNyZWF0ZU1hY2hpbmUsXG4gIHNlbmQsXG4gIGludGVycHJldCxcbiAgRXZlbnRPYmplY3QsXG4gIGFzc2lnbixcbiAgU2VuZGVyLFxuICBSZWNlaXZlcixcbn0gZnJvbSBcInhzdGF0ZVwiO1xuaW1wb3J0IHsgRXJyb3JzLCBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IG1pc3NpbmdWYXJpYWJsZSB9IGZyb20gXCIuLi9lcnJvcnNcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcbmltcG9ydCB7IEVPTCB9IGZyb20gXCJvc1wiO1xuaW1wb3J0IHtcbiAgc3Bhd25JbnRlcmFjdGl2ZSxcbiAgSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyxcbn0gZnJvbSBcIi4vaW50ZXJhY3RpdmUtcHJvY2Vzc1wiO1xuXG5pbnRlcmZhY2UgRGVwbG95Q29udGV4dCB7XG4gIGV4aXRDb2RlPzogbnVtYmVyO1xuICAvKipcbiAgICogVGVycmFmb3JtIHdpbGwgZXhpdCB3aXRoIDEgaWYgaXQgd2FzIGNhbmNlbGxlZCwgYnV0IHdlIGRvbid0IHdhbnQgdG8gZmFpbCBpbiB0aGF0IGNhc2VcbiAgICovXG4gIGNhbmNlbGxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERlcGxveUV2ZW50ID1cbiAgfCB7IHR5cGU6IFwiU1RBUlRcIjsgcHR5OiBJbnRlcmFjdGl2ZVNwYXduQ29uZmlnIH1cbiAgfCB7IHR5cGU6IFwiU1RPUFwiIH1cbiAgfCB7IHR5cGU6IFwiU0VORF9MSU5FXCI7IGlucHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIjsgb3V0cHV0OiBzdHJpbmcgfVxuICB8IHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSAvLyBlLmcuIHZpYSBURkMgVUkgb3IgQVBJXG4gIHwgeyB0eXBlOiBcIlJFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gIHwgeyB0eXBlOiBcIk9WRVJSSURERU5fRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVfUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgfCB7IHR5cGU6IFwiT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgfCB7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH1cbiAgfCB7IHR5cGU6IFwiVkFSSUFCTEVfTUlTU0lOR1wiOyB2YXJpYWJsZU5hbWU6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9XG4gIHwgeyB0eXBlOiBcIkFQUFJPVkVcIiB9XG4gIHwgeyB0eXBlOiBcIlJFSkVDVFwiIH1cbiAgfCB7IHR5cGU6IFwiRVhJVEVEXCI7IGV4aXRDb2RlOiBudW1iZXIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVwbG95RXZlbnQ8RGVwbG95RXZlbnRUeXBlIGV4dGVuZHMgRGVwbG95RXZlbnRbXCJ0eXBlXCJdPihcbiAgZXZlbnQ6IEV2ZW50T2JqZWN0LFxuICB0eXBlOiBEZXBsb3lFdmVudFR5cGUsXG4pOiBldmVudCBpcyBEZXBsb3lFdmVudCAmIHsgdHlwZTogRGVwbG95RXZlbnRUeXBlIH0ge1xuICByZXR1cm4gZXZlbnQudHlwZSA9PT0gdHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgRGVwbG95U3RhdGUgPVxuICB8IHtcbiAgICAgIHZhbHVlOiBcImlkbGVcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiBcInJ1bm5pbmdcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwicHJvY2Vzc2luZ1wiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogeyBydW5uaW5nOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIgfTtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQ7XG4gICAgfVxuICB8IHtcbiAgICAgIHZhbHVlOiB7IHJ1bm5pbmc6IFwiYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGVcIiB9O1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IHsgcnVubmluZzogXCJzdG9wcGluZ1wiIH07XG4gICAgICBjb250ZXh0OiBEZXBsb3lDb250ZXh0O1xuICAgIH1cbiAgfCB7XG4gICAgICB2YWx1ZTogXCJleGl0ZWRcIjtcbiAgICAgIGNvbnRleHQ6IERlcGxveUNvbnRleHQgJiB7IGV4aXRDb2RlOiBudW1iZXIgfTtcbiAgICB9XG4gIHwge1xuICAgICAgdmFsdWU6IFwic3RvcHBlZFwiO1xuICAgICAgY29udGV4dDogRGVwbG95Q29udGV4dDtcbiAgICB9O1xuXG4vKipcbiAqIFRlcnJhZm9ybSdzIGludGVyYWN0aXZlIHByb21wdCBmb3IgYSBtaXNzaW5nIHZhcmlhYmxlIGxvb2tzIGxpa2U6XG4gKlxuICogICB2YXIuPG5hbWU+XG4gKiAgICAgRW50ZXIgYSB2YWx1ZTpcbiAqXG4gKiBUaGUgdmFyaWFibGUgbmFtZSBhcHBlYXJzIG9uIGl0cyBvd24gbGluZSwgcHJlZml4ZWQgd2l0aCBcInZhci5cIiAob3B0aW9uYWxseVxuICogaW5kZW50ZWQpLiBXZSBtYXRjaCB0aGlzIHByZWNpc2VseSBzbyB3ZSBkb24ndCBtaXN0YWtlIHRlcnJhZm9ybSBlcnJvciBvdXRwdXRcbiAqIHRoYXQgbWVyZWx5IHJlZmVyZW5jZXMgYSB2YXJpYWJsZSAoZS5nLiBcIjkyOiAgIG1pcnJvciA9IHZhci5taXJyb3JcIiBmcm9tIGFuXG4gKiBcIlVuc3VwcG9ydGVkIGFyZ3VtZW50XCIgZXJyb3IpIGZvciBhbiBhY3R1YWwgcHJvbXB0LiBUZXJyYWZvcm0gdmFyaWFibGUgbmFtZXNcbiAqIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZSBhbmQgbWF5IGNvbnRhaW4gbGV0dGVycywgZGlnaXRzLFxuICogdW5kZXJzY29yZXMgYW5kIGRhc2hlcy4gKCMyNjUpXG4gKi9cbmNvbnN0IFZBUklBQkxFX1BST01QVF9SRUdFWCA9IC9eXFxzKnZhclxcLihbQS1aYS16X11bQS1aYS16MC05Xy1dKilcXHMqJC87XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIGFueSBsaW5lIGluIHRoZSBnaXZlbiAoQU5TSS1zdHJpcHBlZCkgb3V0cHV0IGlzIHRlcnJhZm9ybSdzXG4gKiBpbnRlcmFjdGl2ZSBwcm9tcHQgZm9yIGEgbWlzc2luZyB2YXJpYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWlzc2luZ1ZhcmlhYmxlUHJvbXB0KG5vQ29sb3JMaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vQ29sb3JMaW5lXG4gICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgLnNvbWUoKGxpbmUpID0+IFZBUklBQkxFX1BST01QVF9SRUdFWC50ZXN0KGxpbmUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYXJpYWJsZU5hbWVGcm9tUHJvbXB0KGxpbmU6IHN0cmluZykge1xuICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShsaW5lKTtcbiAgY29uc3QgbGluZXMgPSBub0NvbG9yTGluZS5zcGxpdChcIlxcblwiKTtcbiAgY29uc3QgbWF0Y2ggPSBsaW5lc1xuICAgIC5tYXAoKGwpID0+IGwubWF0Y2goVkFSSUFCTEVfUFJPTVBUX1JFR0VYKSlcbiAgICAuZmluZCgobSk6IG0gaXMgUmVnRXhwTWF0Y2hBcnJheSA9PiBtICE9PSBudWxsKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgIGBDb3VsZCBub3QgZmluZCB2YXJpYWJsZSBuYW1lIGluIHByb21wdDogJHtsaW5lfS4gVGhpcyBpcyBtb3N0IGxpa2VseSBhIGJ1ZyBpbiBjZGt0bi4gUGxlYXNlIHJlcG9ydCBpdCBhdCBodHRwOi8vY2RrdG4uaW8vaXNzdWVzYCxcbiAgICApO1xuICB9XG4gIHJldHVybiBtYXRjaFsxXTtcbn1cblxuaW50ZXJmYWNlIEJ1ZmZlcmVkUmVjZWl2ZXJGdW5jdGlvbiB7XG4gIChvdXRwdXQ6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKlxuICAgKiB1c2VkIHRvIGdldCB0aGUgbGFzdCBidWZmZXIgd2hlbiB0aGUgUFRZIGV4aXRzIHRvIGxvZyBhIGRlYnVnIG1lc3NhZ2UgaWYgdGhlcmUncyBvdXRwdXQgbGVmdCBpbiB0aGVyZVxuICAgKiAobWlnaHQgaGVscCBkZWJ1Z2dpbmcgb24gV2luZG93cyBpZiBFT0wgZnJvbSBOb2RlanMgZG9lc24ndCB3b3JrIGluIFdTTClcbiAgICovXG4gIGdldEJ1ZmZlcjogKCkgPT4gc3RyaW5nO1xufVxuXG4vLyB1c2VkIHRvIG9ubHkgc2VuZCBjb21wbGV0ZWQgbGluZXMgKD0gd2l0aCBhIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiB0aGVtKSB0byBvdXIgbG9naWMgKCMyODI3KVxuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclVudGVybWluYXRlZExpbmVzKFxuICBoYW5kbGVyOiAob3V0cHV0OiBzdHJpbmcpID0+IHZvaWQsXG4pOiBCdWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24ge1xuICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgZnVuY3Rpb24gYnVmZmVyZWRSZWNlaXZlckZ1bmN0aW9uKG91dHB1dDogc3RyaW5nKSB7XG4gICAgYnVmZmVyICs9IG91dHB1dDtcbiAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgvW1xcblxccl0rLyk7XG5cbiAgICAvLyBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCBcXG4gdGhpcyB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZ1xuICAgIC8vIGVsc2UgaXQgd2lsbCBjb250YWluIGFuIFwidW5maW5pc2hlZFwiIGxpbmVcbiAgICAvLyB0aGUgZmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlzIHRvIG1ha2UgVFMgaGFwcHkgYW5kIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCBcIlwiO1xuXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDApIGhhbmRsZXIobGluZXMuam9pbihFT0wpICsgRU9MKTtcbiAgfVxuICBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb24uZ2V0QnVmZmVyID0gKCkgPT4gYnVmZmVyO1xuXG4gIHJldHVybiBidWZmZXJlZFJlY2VpdmVyRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZDogKGV2ZW50OiBEZXBsb3lFdmVudCkgPT4gdm9pZCkge1xuICByZXR1cm4gKG91dHB1dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGhpZGVPdXRwdXQgPSBmYWxzZTtcbiAgICBjb25zdCBub0NvbG9yTGluZSA9IHN0cmlwQW5zaShvdXRwdXQpO1xuXG4gICAgLy8gcG9zc2libGUgZXZlbnRzIGJhc2VkIG9uIGxpbmVcbiAgICBpZiAobm9Db2xvckxpbmUuaW5jbHVkZXMoXCJhcHByb3ZlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJBUFBST1ZFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChub0NvbG9yTGluZS5pbmNsdWRlcyhcImRpc2NhcmRlZCB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJSRUpFQ1RFRF9FWFRFUk5BTExZXCIgfSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRG8geW91IHdhbnQgdG8gcGVyZm9ybSB0aGVzZSBhY3Rpb25zXCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZXN0cm95IGFsbCByZXNvdXJjZXM/XCIpIHx8XG4gICAgICBub0NvbG9yTGluZS5pbmNsdWRlcyhcbiAgICAgICAgXCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVzdHJveSBhbGwgcmVzb3VyY2VzIGluIHdvcmtzcGFjZVwiLFxuICAgICAgKVxuICAgICkge1xuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVVRQVVRfUkVDRUlWRURcIiwgb3V0cHV0IH0pO1xuICAgICAgc2VuZCh7IHR5cGU6IFwiUkVRVUVTVF9BUFBST1ZBTFwiIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNNaXNzaW5nVmFyaWFibGVQcm9tcHQobm9Db2xvckxpbmUpKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcblxuICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gZXh0cmFjdFZhcmlhYmxlTmFtZUZyb21Qcm9tcHQob3V0cHV0KTtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQ6IG1pc3NpbmdWYXJpYWJsZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgfSk7XG4gICAgICBzZW5kKHsgdHlwZTogXCJWQVJJQUJMRV9NSVNTSU5HXCIsIHZhcmlhYmxlTmFtZSB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwiRW50ZXIgYSB2YWx1ZTpcIikpIHtcbiAgICAgIC8vIFRoaXMgY29tZXMgYWxvbmcgd2l0aCBhYm92ZSBibG9jaywgYnV0IGlzIGEgc2VwYXJhdGUgbGluZVxuICAgICAgaGlkZU91dHB1dCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vQ29sb3JMaW5lLmluY2x1ZGVzKFxuICAgICAgICBcIkRvIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBzb2Z0IGZhaWxlZCBwb2xpY3kgY2hlY2s/XCIsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBoaWRlT3V0cHV0ID0gdHJ1ZTtcbiAgICAgIHNlbmQoeyB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLCBvdXRwdXQgfSk7XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIlJFUVVFU1RfU0VOVElORUxfT1ZFUlJJREVcIiB9KTtcbiAgICB9IGVsc2UgaWYgKG5vQ29sb3JMaW5lLmluY2x1ZGVzKFwib3ZlcnJpZGRlbiB1c2luZyB0aGUgVUkgb3IgQVBJXCIpKSB7XG4gICAgICBzZW5kKHsgdHlwZTogXCJPVkVSUklEREVOX0VYVEVSTkFMTFlcIiB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWhpZGVPdXRwdXQpIHtcbiAgICAgIHNlbmQoe1xuICAgICAgICB0eXBlOiBcIk9VVFBVVF9SRUNFSVZFRFwiLFxuICAgICAgICBvdXRwdXQsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBkZXBsb3lNYWNoaW5lID0gY3JlYXRlTWFjaGluZTxcbiAgRGVwbG95Q29udGV4dCxcbiAgRGVwbG95RXZlbnQsXG4gIERlcGxveVN0YXRlXG4+KFxuICB7XG4gICAgcHJlZGljdGFibGVBY3Rpb25Bcmd1bWVudHM6IHRydWUsXG4gICAgY29udGV4dDoge30sXG4gICAgaW5pdGlhbDogXCJpZGxlXCIsXG4gICAgaWQ6IFwicm9vdFwiLFxuICAgIHN0YXRlczoge1xuICAgICAgaWRsZToge1xuICAgICAgICBvbjoge1xuICAgICAgICAgIFNUQVJUOiB7IHRhcmdldDogXCJydW5uaW5nXCIgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBydW5uaW5nOiB7XG4gICAgICAgIGludm9rZToge1xuICAgICAgICAgIGlkOiBcInB0eVwiLFxuICAgICAgICAgIHNyYzogXCJydW5UZXJyYWZvcm1JblB0eVwiLFxuICAgICAgICB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIEVYSVRFRDogXCJleGl0ZWRcIixcbiAgICAgICAgICBTVE9QOiBcIi5zdG9wcGluZ1wiLCAvLyB3YWl0IGZvciB0ZXJyYWZvcm0gdG8gZXhpdCwgZG9uJ3Qgc3RvcCBpbW1lZGlhdGVseSAoc2VlIHRoZSBcInN0b3BwaW5nXCIgc3RhdGUpXG4gICAgICAgIH0sXG4gICAgICAgIGluaXRpYWw6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICBzdGF0ZXM6IHtcbiAgICAgICAgICAvLyBUT0RPOiB3aGF0IGVsc2UgbWlnaHQgVEYgQ0xJIGJlIGFza2luZz8gQ2FuIHdlIGRldGVjdCBhbnkgcXVlc3Rpb24gZnJvbSB0aGUgVEYgQ0xJIHRvIHNob3cgYSBnb29kIGVycm9yP1xuICAgICAgICAgIHByb2Nlc3Npbmc6IHtcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIFJFUVVFU1RfQVBQUk9WQUw6IFwiYXdhaXRpbmdfYXBwcm92YWxcIixcbiAgICAgICAgICAgICAgUkVRVUVTVF9TRU5USU5FTF9PVkVSUklERTogXCJhd2FpdGluZ19zZW50aW5lbF9vdmVycmlkZVwiLFxuICAgICAgICAgICAgICBWQVJJQUJMRV9NSVNTSU5HOiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uczogc2VuZCh7IHR5cGU6IFwiRVhJVEVEXCIsIGV4aXRDb2RlOiAxIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF3YWl0aW5nX2FwcHJvdmFsOiB7XG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBBUFBST1ZFRF9FWFRFUk5BTExZOiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCIjcm9vdC5leGl0ZWRcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBhc3NpZ248XG4gICAgICAgICAgICAgICAgICBEZXBsb3lDb250ZXh0LFxuICAgICAgICAgICAgICAgICAgRGVwbG95RXZlbnQgJiB7IHR5cGU6IFwiUkVKRUNURURfRVhURVJOQUxMWVwiIH1cbiAgICAgICAgICAgICAgICA+KHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBBUFBST1ZFOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiBcInByb2Nlc3NpbmdcIixcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBzZW5kKFxuICAgICAgICAgICAgICAgICAgeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJ5ZXNcIiB9LFxuICAgICAgICAgICAgICAgICAgeyB0bzogXCJwdHlcIiB9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFJFSkVDVDoge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgc2VuZCh7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm5vXCIgfSwgeyB0bzogXCJwdHlcIiB9KSxcbiAgICAgICAgICAgICAgICAgIGFzc2lnbjxEZXBsb3lDb250ZXh0LCBEZXBsb3lFdmVudCAmIHsgdHlwZTogXCJSRUpFQ1RcIiB9Pih7XG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGU6IHtcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIE9WRVJSSURERU5fRVhURVJOQUxMWTogXCJwcm9jZXNzaW5nXCIsXG4gICAgICAgICAgICAgIE9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFk6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwiI3Jvb3QuZXhpdGVkXCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogYXNzaWduPFxuICAgICAgICAgICAgICAgICAgRGVwbG95Q29udGV4dCxcbiAgICAgICAgICAgICAgICAgIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIk9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFlcIiB9XG4gICAgICAgICAgICAgICAgPih7IGNhbmNlbGxlZDogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2ssIGJlY2F1c2UgdGhlIGV4dGVybmFsIGRpc2NhcmQgbWVzc2FnZVxuICAgICAgICAgICAgICAvLyBwb3N0ZWQgYnkgVGVycmFmb3JtIFVJIGlzIHRoZSBzYW1lIGFzIGR1cmluZyBhcHBseS4gU28sIHdlIGNhcHR1cmUgdGhhdFxuICAgICAgICAgICAgICAvLyBhbmQgZW1pdCBvdXIgb3duIGV2ZW50IHRvIG1ha2UgaXQgbW9yZSBzcGVjaWZpYy5cbiAgICAgICAgICAgICAgUkVKRUNURURfRVhURVJOQUxMWToge1xuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoeyB0eXBlOiBcIk9WRVJSSURFX1JFSkVDVEVEX0VYVEVSTkFMTFlcIiB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHNlbmQoXG4gICAgICAgICAgICAgICAgICB7IHR5cGU6IFwiU0VORF9MSU5FXCIsIGlucHV0OiBcIm92ZXJyaWRlXCIgfSxcbiAgICAgICAgICAgICAgICAgIHsgdG86IFwicHR5XCIgfSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBSRUpFQ1RfT1ZFUlJJREU6IHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwicHJvY2Vzc2luZ1wiLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgIHNlbmQoeyB0eXBlOiBcIlNFTkRfTElORVwiLCBpbnB1dDogXCJub1wiIH0sIHsgdG86IFwicHR5XCIgfSksXG4gICAgICAgICAgICAgICAgICBhc3NpZ248XG4gICAgICAgICAgICAgICAgICAgIERlcGxveUNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgIERlcGxveUV2ZW50ICYgeyB0eXBlOiBcIlJFSkVDVF9PVkVSUklERVwiIH1cbiAgICAgICAgICAgICAgICAgID4oe1xuICAgICAgICAgICAgICAgICAgICBjYW5jZWxsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE9uIFNUT1AsIHdhaXQgZm9yIHRlcnJhZm9ybSdzIG93biBFWElURUQgYmVmb3JlIHJlYWNoaW5nIHRoZSBmaW5hbCBcInN0b3BwZWRcIiBzdGF0ZSwgc28gdGhlIHJ1biBvbmx5XG4gICAgICAgICAgLy8gcmVzb2x2ZXMgb25jZSBpdCBoYXMgZXhpdGVkIGFuZCByZWxlYXNlZCBpdHMgbG9jay4gRG9uJ3QgcmUtc2lnbmFsIGl0IOKAlCBpdCBhbHJlYWR5IGdvdCB0aGUgaW50ZXJydXB0IHZpYVxuICAgICAgICAgIC8vIHRoZSBwcm9jZXNzIGdyb3VwLCBhbmQgYSBzZWNvbmQgc2lnbmFsIGFib3J0cyBpdHMgZ3JhY2VmdWwgc2h1dGRvd24uXG4gICAgICAgICAgc3RvcHBpbmc6IHtcbiAgICAgICAgICAgIGVudHJ5OiBhc3NpZ248RGVwbG95Q29udGV4dCwgRGVwbG95RXZlbnQ+KHsgY2FuY2VsbGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgRVhJVEVEOiBcIiNyb290LnN0b3BwZWRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBleGl0ZWQ6IHsgdHlwZTogXCJmaW5hbFwiIH0sXG4gICAgICBzdG9wcGVkOiB7IHR5cGU6IFwiZmluYWxcIiB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBzZXJ2aWNlczoge1xuICAgICAgcnVuVGVycmFmb3JtSW5QdHk6IChjb250ZXh0LCBldmVudCkgPT5cbiAgICAgICAgdGVycmFmb3JtUHR5U2VydmljZShjb250ZXh0LCBldmVudCwgc3Bhd25JbnRlcmFjdGl2ZSksXG4gICAgfSxcbiAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJyYWZvcm1QdHlTZXJ2aWNlKFxuICBfY29udGV4dDogRGVwbG95Q29udGV4dCxcbiAgZXZlbnQ6IERlcGxveUV2ZW50LFxuICBzcGF3biA9IHNwYXduSW50ZXJhY3RpdmUsXG4pOiAoc2VuZDogU2VuZGVyPERlcGxveUV2ZW50Piwgb25SZWNlaXZlOiBSZWNlaXZlcjxEZXBsb3lFdmVudD4pID0+IHZvaWQge1xuICByZXR1cm4gKHNlbmQ6IFNlbmRlcjxEZXBsb3lFdmVudD4sIG9uUmVjZWl2ZTogUmVjZWl2ZXI8RGVwbG95RXZlbnQ+KSA9PiB7XG4gICAgaWYgKGV2ZW50LnR5cGUgIT09IFwiU1RBUlRcIikge1xuICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICBgVGVycmFmb3JtIENMSSBpbnZvY2F0aW9uIHN0YXRlIG1hY2hpbmU6IFVuZXhwZWN0ZWQgZXZlbnQgY2F1c2VkIHRyYW5zaXRpb24gdG8gdGhlIHJ1bm5pbmcgc3RhdGU6ICR7ZXZlbnQudHlwZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDb21tdW5pY2F0aW9uIGZyb20gdGhlIHB0eSB0byB0aGUgY2FsbGVyXG4gICAgY29uc3QgcmVjZWl2ZXIgPSBidWZmZXJVbnRlcm1pbmF0ZWRMaW5lcyhoYW5kbGVMaW5lUmVjZWl2ZWQoc2VuZCkpO1xuICAgIGNvbnN0IHsgZXhpdENvZGUsIGFjdGlvbnMgfSA9IHNwYXduKGV2ZW50LnB0eSwgKGRhdGEpID0+IHtcbiAgICAgIHJlY2VpdmVyKGRhdGEpO1xuICAgIH0pO1xuXG4gICAgLy8gQ29tbXVuaWNhdGlvbiBmcm9tIHRoZSBjYWxsZXIgdG8gdGhlIHB0eVxuICAgIG9uUmVjZWl2ZSgoZXZlbnQ6IERlcGxveUV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJTRU5EX0xJTkVcIikge1xuICAgICAgICBhY3Rpb25zLndyaXRlTGluZShldmVudC5pbnB1dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleGl0Q29kZS50aGVuKChleGl0Q29kZSkgPT4ge1xuICAgICAgY29uc3QgbGFzdEJ1ZmZlciA9IHJlY2VpdmVyLmdldEJ1ZmZlcigpO1xuICAgICAgaWYgKGxhc3RCdWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFRlcnJhZm9ybSBDTEkgZXhpdGVkIGJ1dCB0aGUgbGFzdCBvdXRwdXR0ZWQgbGluZSB3YXMgbm90IHRlcm1pbmF0ZWQgd2l0aCBhIG5ld2xpbmUgYW5kIGhlbmNlIGlzIHN0aWxsIGluIHRoZSBidWZmZXIgYW5kIHdhc24ndCBwcmludGVkOiBcIiR7bGFzdEJ1ZmZlcn1cImAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHNlbmQoeyB0eXBlOiBcIkVYSVRFRFwiLCBleGl0Q29kZSB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBsb2dnZXIudHJhY2UoXCJUZXJyYWZvcm0gQ0xJIHN0YXRlIG1hY2hpbmU6IGNsZWFuaW5nIHVwIHB0eVwiKTtcbiAgICAgIGFjdGlvbnMuc3RvcCgpO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmRTdGFydERlcGxveVNlcnZpY2Uob3B0aW9uczoge1xuICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gIHBhcmFsbGVsaXNtOiBudW1iZXI7XG4gIGV4dHJhT3B0aW9uczogc3RyaW5nW107XG4gIHRlcnJhZm9ybUJpbmFyeU5hbWU6IHN0cmluZztcbiAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICBub0NvbG9yPzogYm9vbGVhbjtcbiAgd29ya2Rpcjogc3RyaW5nO1xuICB2YXJzPzogc3RyaW5nW107XG4gIHZhckZpbGVzPzogc3RyaW5nW107XG59KSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBpbnRlcnByZXQoZGVwbG95TWFjaGluZSk7XG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJhcHBseVwiLFxuICAgIC4uLihvcHRpb25zLmF1dG9BcHByb3ZlID8gW1wiLWF1dG8tYXBwcm92ZVwiXSA6IFtdKSxcbiAgICAvLyBcIi1pbnB1dD1mYWxzZVwiLCB3ZSBjYW4ndCB1c2UgdGhpcyBhbnltb3JlIGJ1dCBUT0RPOiB3ZSBuZWVkIHRvIGRldGVjdCBURiBDTEkgYXNraW5nIGZvciBtaXNzaW5nIGlucHV0cyBhbmQgZWl0aGVyIGFsbG93IHBhc3NpbmcgdGhlbSBvciBzdG9wIHRoZXJlIGFuZCBmYWlsXG5cbiAgICAuLi5vcHRpb25zLmV4dHJhT3B0aW9ucyxcbiAgICAuLi4ob3B0aW9ucy5yZWZyZXNoT25seSA/IFtcIi1yZWZyZXNoLW9ubHlcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMubm9Db2xvciA/IFtcIi1uby1jb2xvclwiXSA6IFtdKSxcbiAgICAuLi4ob3B0aW9ucy5wYXJhbGxlbGlzbSA+IC0xXG4gICAgICA/IFtgLXBhcmFsbGVsaXNtPSR7b3B0aW9ucy5wYXJhbGxlbGlzbX1gXVxuICAgICAgOiBbXSksXG4gIF07XG5cbiAgb3B0aW9ucy52YXJzPy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgYXJncy5wdXNoKGAtdmFyPSR7dn1gKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy52YXJGaWxlcz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhci1maWxlPSR7dn1gKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFxuICAgIGBFeGVjdXRpbmcgJHtvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWV9ICR7YXJncy5qb2luKFwiIFwiKX0gaW4gJHtcbiAgICAgIG9wdGlvbnMud29ya2RpclxuICAgIH1gLFxuICApO1xuXG4gIGNvbnN0IGNvbmZpZzogSW50ZXJhY3RpdmVTcGF3bkNvbmZpZyA9IHtcbiAgICBmaWxlOiBvcHRpb25zLnRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgYXJncyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBjd2Q6IG9wdGlvbnMud29ya2RpcixcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgLy8gVE9ETzogbWFrZSB0aGlzIGV4cGxpY2l0IGFuZCBtb3ZlIHRvIGNhbGxlciBvciB3aGF0ZXZlclxuICAgIH0sXG4gIH07XG5cbiAgc2VydmljZS5zZW5kKHsgdHlwZTogXCJTVEFSVFwiLCBwdHk6IGNvbmZpZyB9KTtcblxuICByZXR1cm4gc2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFuZFN0YXJ0RGVzdHJveVNlcnZpY2Uob3B0aW9uczoge1xuICBwYXJhbGxlbGlzbTogbnVtYmVyO1xuICBleHRyYU9wdGlvbnM6IHN0cmluZ1tdO1xuICB0ZXJyYWZvcm1CaW5hcnlOYW1lOiBzdHJpbmc7XG4gIGF1dG9BcHByb3ZlPzogYm9vbGVhbjtcbiAgbm9Db2xvcj86IGJvb2xlYW47XG4gIHdvcmtkaXI6IHN0cmluZztcbiAgdmFycz86IHN0cmluZ1tdO1xuICB2YXJGaWxlcz86IHN0cmluZ1tdO1xufSkge1xuICBjb25zdCBzZXJ2aWNlID0gaW50ZXJwcmV0KGRlcGxveU1hY2hpbmUpO1xuXG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgXCJkZXN0cm95XCIsXG4gICAgLi4uKG9wdGlvbnMuYXV0b0FwcHJvdmUgPyBbXCItYXV0by1hcHByb3ZlXCJdIDogW10pLFxuICAgIC8vIFwiLWlucHV0PWZhbHNlXCIsIHdlIGNhbid0IHVzZSB0aGlzIGFueW1vcmUgYnV0IFRPRE86IHdlIG5lZWQgdG8gZGV0ZWN0IFRGIENMSSBhc2tpbmcgZm9yIG1pc3NpbmcgaW5wdXRzIGFuZCBlaXRoZXIgYWxsb3cgcGFzc2luZyB0aGVtIG9yIHN0b3AgdGhlcmUgYW5kIGZhaWxcblxuICAgIC4uLm9wdGlvbnMuZXh0cmFPcHRpb25zLFxuICAgIC4uLihvcHRpb25zLm5vQ29sb3IgPyBbXCItbm8tY29sb3JcIl0gOiBbXSksXG4gICAgLi4uKG9wdGlvbnMucGFyYWxsZWxpc20gPiAtMVxuICAgICAgPyBbYC1wYXJhbGxlbGlzbT0ke29wdGlvbnMucGFyYWxsZWxpc219YF1cbiAgICAgIDogW10pLFxuICBdO1xuXG4gIG9wdGlvbnMudmFycz8uZm9yRWFjaCgodikgPT4ge1xuICAgIGFyZ3MucHVzaChgLXZhcj0ke3Z9YCk7XG4gIH0pO1xuXG4gIG9wdGlvbnMudmFyRmlsZXM/LmZvckVhY2goKHYpID0+IHtcbiAgICBhcmdzLnB1c2goYC12YXItZmlsZT0ke3Z9YCk7XG4gIH0pO1xuXG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBgRXhlY3V0aW5nICR7b3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lfSAke2FyZ3Muam9pbihcIiBcIil9IGluICR7XG4gICAgICBvcHRpb25zLndvcmtkaXJcbiAgICB9YCxcbiAgKTtcblxuICBjb25zdCBjb25maWc6IEludGVyYWN0aXZlU3Bhd25Db25maWcgPSB7XG4gICAgZmlsZTogb3B0aW9ucy50ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgIGFyZ3MsXG4gICAgb3B0aW9uczoge1xuICAgICAgY3dkOiBvcHRpb25zLndvcmtkaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIC8vIFRPRE86IG1ha2UgdGhpcyBleHBsaWNpdCBhbmQgbW92ZSB0byBjYWxsZXIgb3Igd2hhdGV2ZXJcbiAgICB9LFxuICB9O1xuXG4gIHNlcnZpY2Uuc2VuZCh7IHR5cGU6IFwiU1RBUlRcIiwgcHR5OiBjb25maWcgfSk7XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Terraform, TerraformPlan, TerraformOutput, AbstractTerraformPlan, TerraformDeployState } from "./terraform";
3
2
  import { SynthesizedStack } from "../synth-stack";
4
3
  export declare class TerraformCliPlan extends AbstractTerraformPlan implements TerraformPlan {
@@ -1 +1 @@
1
- {"version":3,"file":"terraform-cli.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform-cli.ts"],"names":[],"mappings":";AAUA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,gBACX,SAAQ,qBACR,YAAW,aAAa;aAGN,QAAQ,EAAE,MAAM;aAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAD5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAI/C;AAED,uBAAe,oBAAoB;IACjC,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,oBAAoB,CAAC;AAkCvD,qBAAa,YAAa,YAAW,SAAS;IAY1C,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,gBAAgB;IAZzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGkB;gBAGxB,WAAW,EAAE,WAAW,EACzB,KAAK,EAAE,gBAAgB,EACvC,yBAAyB,YAAY,MAAM,YAAY,YAAY,EAAE,eACzD,MAAM,2BAAuB;IAe9B,IAAI,CAAC,IAAI,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjB,OAAO,KAAK,YAAY,GAQvB;IAED,OAAO,KAAK,UAAU,GAMrB;IAEY,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DJ,MAAM,CACjB,EACE,WAAmB,EACnB,WAAmB,EACnB,OAAe,EACf,WAAgB,EAChB,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBrB,OAAO,CAClB,EACE,WAAmB,EACnB,WAAgB,EAChB,OAAe,EACf,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;YAepB,aAAa;IA+Fd,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqB1B,MAAM,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAwBrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B,KAAK;CAGnB;AAED,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mCAAmC,CAAC,UAAU,EAAE,MAAM,iBAK3E"}
1
+ {"version":3,"file":"terraform-cli.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform-cli.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,gBACX,SAAQ,qBACR,YAAW,aAAa;aAGN,QAAQ,EAAE,MAAM;aAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAD5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAI/C;AAED,uBAAe,oBAAoB;IACjC,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,oBAAoB,CAAC;AAkCvD,qBAAa,YAAa,YAAW,SAAS;IAY1C,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,gBAAgB;IAZzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGkB;gBAGxB,WAAW,EAAE,WAAW,EACzB,KAAK,EAAE,gBAAgB,EACvC,yBAAyB,YAAY,MAAM,YAAY,YAAY,EAAE,eACzD,MAAM,2BAAuB;IAe9B,IAAI,CAAC,IAAI,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjB,OAAO,KAAK,YAAY,GAQvB;IAED,OAAO,KAAK,UAAU,GAMrB;IAEY,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DJ,MAAM,CACjB,EACE,WAAmB,EACnB,WAAmB,EACnB,OAAe,EACf,WAAgB,EAChB,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBrB,OAAO,CAClB,EACE,WAAmB,EACnB,WAAgB,EAChB,OAAe,EACf,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;YAepB,aAAa;IA+Fd,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqB1B,MAAM,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAwBrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B,KAAK;CAGnB;AAED,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mCAAmC,CAAC,UAAU,EAAE,MAAM,iBAK3E"}
@@ -120,6 +120,7 @@ export interface Terraform {
120
120
  output(): Promise<{
121
121
  [key: string]: TerraformOutput;
122
122
  }>;
123
+ version(): Promise<string>;
123
124
  abort: () => Promise<void>;
124
125
  }
125
126
  //# sourceMappingURL=terraform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/lib/models/terraform.ts"],"names":[],"mappings":"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"}
@@ -69,4 +69,4 @@ class AbstractTerraformPlan {
69
69
  }
70
70
  }
71
71
  exports.AbstractTerraformPlan = AbstractTerraformPlan;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2RlbHMvdGVycmFmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsSUFBWSxxQkFNWDtBQU5ELFdBQVkscUJBQXFCO0lBQy9CLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLHNDQUFhLENBQUE7SUFDYix3Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQU1oQztBQUVELElBQVksMkJBVVg7QUFWRCxXQUFZLDJCQUEyQjtJQUNyQyxrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQix3REFBeUIsQ0FBQTtJQUN6QixzREFBdUIsQ0FBQTtJQUN2QixrREFBbUIsQ0FBQTtJQUNuQiw4Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFWVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQVV0QztBQWlDRCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFXO0lBQzNDLE9BQU8sQ0FDTCxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLE9BQU8sTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTO1FBQ3JDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQztBQU5ELDhDQU1DO0FBU0QsU0FBUyx1QkFBdUIsQ0FBQyxTQUE0QjtJQUMzRCxNQUFNLFlBQVksR0FBRztRQUNuQixxQkFBcUIsQ0FBQyxNQUFNO1FBQzVCLHFCQUFxQixDQUFDLE1BQU07UUFDNUIscUJBQXFCLENBQUMsTUFBTTtRQUM1QixxQkFBcUIsQ0FBQyxJQUFJO0tBQzNCLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUNELE1BQXNCLHFCQUFxQjtJQUN6QyxZQUNrQixRQUFnQixFQUNmLGVBQWtDLEVBQ2xDLGFBQW9EO1FBRnJELGFBQVEsR0FBUixRQUFRLENBQVE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQXVDO0lBQ3BFLENBQUM7SUFFSixJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkQsT0FBTztnQkFDTCxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3BCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDaEIsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRTtZQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekIsQ0FBQyxDQUFzQixDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLENBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELHNEQW9DQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5leHBvcnQgZW51bSBQbGFubmVkUmVzb3VyY2VBY3Rpb24ge1xuICBDUkVBVEUgPSBcImNyZWF0ZVwiLFxuICBVUERBVEUgPSBcInVwZGF0ZVwiLFxuICBERUxFVEUgPSBcImRlbGV0ZVwiLFxuICBSRUFEID0gXCJyZWFkXCIsXG4gIE5PX09QID0gXCJuby1vcFwiLFxufVxuXG5leHBvcnQgZW51bSBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUge1xuICBXQUlUSU5HID0gXCJ3YWl0aW5nXCIsXG4gIFVQREFUSU5HID0gXCJ1cGRhdGluZ1wiLFxuICBVUERBVEVEID0gXCJ1cGRhdGVkXCIsXG4gIENSRUFUSU5HID0gXCJjcmVhdGluZ1wiLFxuICBDUkVBVEVEID0gXCJjcmVhdGVkXCIsXG4gIERFU1RST1lJTkcgPSBcImRlc3Ryb3lpbmdcIixcbiAgREVTVFJPWUVEID0gXCJkZXN0cm95ZWRcIixcbiAgU1VDQ0VTUyA9IFwic3VjY2Vzc1wiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbm5lZFJlc291cmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgYWN0aW9uOiBQbGFubmVkUmVzb3VyY2VBY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95aW5nUmVzb3VyY2UgZXh0ZW5kcyBQbGFubmVkUmVzb3VyY2Uge1xuICBhcHBseVN0YXRlOiBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlIHtcbiAgYWN0aW9uczogc3RyaW5nW107XG4gIGJlZm9yZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgYWZ0ZXI6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBtb2R1bGVfYWRkcmVzczogc3RyaW5nO1xuICBtb2RlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwcm92aWRlcl9uYW1lOiBzdHJpbmc7XG4gIGNoYW5nZTogUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dCB7XG4gIHNlbnNpdGl2ZTogYm9vbGVhbjtcbiAgdHlwZTogc3RyaW5nIHwgQXJyYXk8YW55PjtcbiAgdmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgQXJyYXk8YW55Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVycmFmb3JtT3V0cHV0KG91dHB1dDogYW55KTogb3V0cHV0IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG91dHB1dCA9PT0gXCJvYmplY3RcIiAmJlxuICAgIHR5cGVvZiBvdXRwdXQuc2Vuc2l0aXZlID09PSBcImJvb2xlYW5cIiAmJlxuICAgICh0eXBlb2Ygb3V0cHV0LnR5cGUgPT09IFwic3RyaW5nXCIgfHwgQXJyYXkuaXNBcnJheShvdXRwdXQudHlwZSkpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtUGxhbiB7XG4gIHJlYWRvbmx5IHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IGFwcGx5YWJsZVJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IG5lZWRzQXBwbHk6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW10pIHtcbiAgY29uc3QgYXBwbHlBY3Rpb25zID0gW1xuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5VUERBVEUsXG4gICAgUGxhbm5lZFJlc291cmNlQWN0aW9uLkNSRUFURSxcbiAgICBQbGFubmVkUmVzb3VyY2VBY3Rpb24uREVMRVRFLFxuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5SRUFELFxuICBdO1xuICByZXR1cm4gcmVzb3VyY2VzLmZpbHRlcigocmVzb3VyY2UpID0+IGFwcGx5QWN0aW9ucy5pbmNsdWRlcyhyZXNvdXJjZS5hY3Rpb24pKTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRlcnJhZm9ybVBsYW4gaW1wbGVtZW50cyBUZXJyYWZvcm1QbGFuIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZUNoYW5nZXM6IFJlc291cmNlQ2hhbmdlc1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0Q2hhbmdlczogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlPixcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VzKCk6IFBsYW5uZWRSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gKHRoaXMucmVzb3VyY2VDaGFuZ2VzIHx8IFtdKS5tYXAoKHJlc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogcmVzb3VyY2UuYWRkcmVzcyxcbiAgICAgICAgYWN0aW9uOiByZXNvdXJjZS5jaGFuZ2UuYWN0aW9uc1swXSxcbiAgICAgIH0gYXMgUGxhbm5lZFJlc291cmNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhcHBseWFibGVSZXNvdXJjZXMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBmaWx0ZXJDaGFuZ2luZ1Jlc291cmNlcyh0aGlzLnJlc291cmNlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLm91dHB1dENoYW5nZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgaWQ6IGBvdXRwdXQuJHtrZXl9YCxcbiAgICAgIGFjdGlvbjogdmFsdWUuYWN0aW9uc1swXSxcbiAgICB9KSkgYXMgUGxhbm5lZFJlc291cmNlW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYW5naW5nT3V0cHV0cygpOiBQbGFubmVkUmVzb3VyY2VbXSB7XG4gICAgcmV0dXJuIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHRoaXMub3V0cHV0cyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5lZWRzQXBwbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYXBwbHlhYmxlUmVzb3VyY2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5jaGFuZ2luZ091dHB1dHMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgVGVycmFmb3JtRGVwbG95U3RhdGUgPVxuICB8IHsgdHlwZTogXCJydW5uaW5nXCI7IGNhbmNlbGxlZDogYm9vbGVhbiB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBhcHByb3ZhbFwiO1xuICAgICAgYXBwcm92ZTogKCkgPT4gdm9pZDtcbiAgICAgIHJlamVjdDogKCkgPT4gdm9pZDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiO1xuICAgICAgb3ZlcnJpZGU6ICgpID0+IHZvaWQ7XG4gICAgICByZWplY3Q6ICgpID0+IHZvaWQ7XG4gICAgfVxuICB8IHsgdHlwZTogXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiOyBhcHByb3ZlZDogYm9vbGVhbiB9XG4gIHwgeyB0eXBlOiBcImV4dGVybmFsIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCI7IG92ZXJyaWRkZW46IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm0ge1xuICBpbml0OiAob3B0czoge1xuICAgIG5lZWRzVXBncmFkZTogYm9vbGVhbjtcbiAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICBuZWVkc0xvY2tmaWxlVXBkYXRlOiBib29sZWFuO1xuICAgIG1pZ3JhdGVTdGF0ZTogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwbGFuOiAob3B0czoge1xuICAgIGRlc3Ryb3k6IGJvb2xlYW47XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3koXG4gICAgb3B0aW9uczoge1xuICAgICAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICAgICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgICAgcGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgICB2YXJzPzogc3RyaW5nW107XG4gICAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgfSxcbiAgICBjYWxsYmFjazogKHN0YXRlOiBUZXJyYWZvcm1EZXBsb3lTdGF0ZSkgPT4gdm9pZCxcbiAgKTogUHJvbWlzZTx7IGNhbmNlbGxlZDogYm9vbGVhbiB9PjtcbiAgZGVzdHJveShcbiAgICBvcHRpb25zOiB7XG4gICAgICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gICAgICBwYXJhbGxlbGlzbT86IG51bWJlcjtcbiAgICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICB9LFxuICAgIGNhbGxiYWNrOiAoc3RhdGU6IFRlcnJhZm9ybURlcGxveVN0YXRlKSA9PiB2b2lkLFxuICApOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuIH0+O1xuICBvdXRwdXQoKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IFRlcnJhZm9ybU91dHB1dCB9PjtcbiAgYWJvcnQ6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2RlbHMvdGVycmFmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsSUFBWSxxQkFNWDtBQU5ELFdBQVkscUJBQXFCO0lBQy9CLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLHNDQUFhLENBQUE7SUFDYix3Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQU1oQztBQUVELElBQVksMkJBVVg7QUFWRCxXQUFZLDJCQUEyQjtJQUNyQyxrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQix3REFBeUIsQ0FBQTtJQUN6QixzREFBdUIsQ0FBQTtJQUN2QixrREFBbUIsQ0FBQTtJQUNuQiw4Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFWVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQVV0QztBQWlDRCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFXO0lBQzNDLE9BQU8sQ0FDTCxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLE9BQU8sTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTO1FBQ3JDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQztBQU5ELDhDQU1DO0FBU0QsU0FBUyx1QkFBdUIsQ0FBQyxTQUE0QjtJQUMzRCxNQUFNLFlBQVksR0FBRztRQUNuQixxQkFBcUIsQ0FBQyxNQUFNO1FBQzVCLHFCQUFxQixDQUFDLE1BQU07UUFDNUIscUJBQXFCLENBQUMsTUFBTTtRQUM1QixxQkFBcUIsQ0FBQyxJQUFJO0tBQzNCLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUNELE1BQXNCLHFCQUFxQjtJQUN6QyxZQUNrQixRQUFnQixFQUNmLGVBQWtDLEVBQ2xDLGFBQW9EO1FBRnJELGFBQVEsR0FBUixRQUFRLENBQVE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQXVDO0lBQ3BFLENBQUM7SUFFSixJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkQsT0FBTztnQkFDTCxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3BCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDaEIsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRTtZQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekIsQ0FBQyxDQUFzQixDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLENBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELHNEQW9DQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5leHBvcnQgZW51bSBQbGFubmVkUmVzb3VyY2VBY3Rpb24ge1xuICBDUkVBVEUgPSBcImNyZWF0ZVwiLFxuICBVUERBVEUgPSBcInVwZGF0ZVwiLFxuICBERUxFVEUgPSBcImRlbGV0ZVwiLFxuICBSRUFEID0gXCJyZWFkXCIsXG4gIE5PX09QID0gXCJuby1vcFwiLFxufVxuXG5leHBvcnQgZW51bSBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUge1xuICBXQUlUSU5HID0gXCJ3YWl0aW5nXCIsXG4gIFVQREFUSU5HID0gXCJ1cGRhdGluZ1wiLFxuICBVUERBVEVEID0gXCJ1cGRhdGVkXCIsXG4gIENSRUFUSU5HID0gXCJjcmVhdGluZ1wiLFxuICBDUkVBVEVEID0gXCJjcmVhdGVkXCIsXG4gIERFU1RST1lJTkcgPSBcImRlc3Ryb3lpbmdcIixcbiAgREVTVFJPWUVEID0gXCJkZXN0cm95ZWRcIixcbiAgU1VDQ0VTUyA9IFwic3VjY2Vzc1wiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbm5lZFJlc291cmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgYWN0aW9uOiBQbGFubmVkUmVzb3VyY2VBY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95aW5nUmVzb3VyY2UgZXh0ZW5kcyBQbGFubmVkUmVzb3VyY2Uge1xuICBhcHBseVN0YXRlOiBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlIHtcbiAgYWN0aW9uczogc3RyaW5nW107XG4gIGJlZm9yZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgYWZ0ZXI6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBtb2R1bGVfYWRkcmVzczogc3RyaW5nO1xuICBtb2RlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwcm92aWRlcl9uYW1lOiBzdHJpbmc7XG4gIGNoYW5nZTogUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dCB7XG4gIHNlbnNpdGl2ZTogYm9vbGVhbjtcbiAgdHlwZTogc3RyaW5nIHwgQXJyYXk8YW55PjtcbiAgdmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgQXJyYXk8YW55Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVycmFmb3JtT3V0cHV0KG91dHB1dDogYW55KTogb3V0cHV0IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG91dHB1dCA9PT0gXCJvYmplY3RcIiAmJlxuICAgIHR5cGVvZiBvdXRwdXQuc2Vuc2l0aXZlID09PSBcImJvb2xlYW5cIiAmJlxuICAgICh0eXBlb2Ygb3V0cHV0LnR5cGUgPT09IFwic3RyaW5nXCIgfHwgQXJyYXkuaXNBcnJheShvdXRwdXQudHlwZSkpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtUGxhbiB7XG4gIHJlYWRvbmx5IHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IGFwcGx5YWJsZVJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IG5lZWRzQXBwbHk6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW10pIHtcbiAgY29uc3QgYXBwbHlBY3Rpb25zID0gW1xuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5VUERBVEUsXG4gICAgUGxhbm5lZFJlc291cmNlQWN0aW9uLkNSRUFURSxcbiAgICBQbGFubmVkUmVzb3VyY2VBY3Rpb24uREVMRVRFLFxuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5SRUFELFxuICBdO1xuICByZXR1cm4gcmVzb3VyY2VzLmZpbHRlcigocmVzb3VyY2UpID0+IGFwcGx5QWN0aW9ucy5pbmNsdWRlcyhyZXNvdXJjZS5hY3Rpb24pKTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRlcnJhZm9ybVBsYW4gaW1wbGVtZW50cyBUZXJyYWZvcm1QbGFuIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZUNoYW5nZXM6IFJlc291cmNlQ2hhbmdlc1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0Q2hhbmdlczogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlPixcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VzKCk6IFBsYW5uZWRSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gKHRoaXMucmVzb3VyY2VDaGFuZ2VzIHx8IFtdKS5tYXAoKHJlc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogcmVzb3VyY2UuYWRkcmVzcyxcbiAgICAgICAgYWN0aW9uOiByZXNvdXJjZS5jaGFuZ2UuYWN0aW9uc1swXSxcbiAgICAgIH0gYXMgUGxhbm5lZFJlc291cmNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhcHBseWFibGVSZXNvdXJjZXMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBmaWx0ZXJDaGFuZ2luZ1Jlc291cmNlcyh0aGlzLnJlc291cmNlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLm91dHB1dENoYW5nZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgaWQ6IGBvdXRwdXQuJHtrZXl9YCxcbiAgICAgIGFjdGlvbjogdmFsdWUuYWN0aW9uc1swXSxcbiAgICB9KSkgYXMgUGxhbm5lZFJlc291cmNlW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYW5naW5nT3V0cHV0cygpOiBQbGFubmVkUmVzb3VyY2VbXSB7XG4gICAgcmV0dXJuIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHRoaXMub3V0cHV0cyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5lZWRzQXBwbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYXBwbHlhYmxlUmVzb3VyY2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5jaGFuZ2luZ091dHB1dHMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgVGVycmFmb3JtRGVwbG95U3RhdGUgPVxuICB8IHsgdHlwZTogXCJydW5uaW5nXCI7IGNhbmNlbGxlZDogYm9vbGVhbiB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBhcHByb3ZhbFwiO1xuICAgICAgYXBwcm92ZTogKCkgPT4gdm9pZDtcbiAgICAgIHJlamVjdDogKCkgPT4gdm9pZDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiO1xuICAgICAgb3ZlcnJpZGU6ICgpID0+IHZvaWQ7XG4gICAgICByZWplY3Q6ICgpID0+IHZvaWQ7XG4gICAgfVxuICB8IHsgdHlwZTogXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiOyBhcHByb3ZlZDogYm9vbGVhbiB9XG4gIHwgeyB0eXBlOiBcImV4dGVybmFsIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCI7IG92ZXJyaWRkZW46IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm0ge1xuICBpbml0OiAob3B0czoge1xuICAgIG5lZWRzVXBncmFkZTogYm9vbGVhbjtcbiAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICBuZWVkc0xvY2tmaWxlVXBkYXRlOiBib29sZWFuO1xuICAgIG1pZ3JhdGVTdGF0ZTogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwbGFuOiAob3B0czoge1xuICAgIGRlc3Ryb3k6IGJvb2xlYW47XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3koXG4gICAgb3B0aW9uczoge1xuICAgICAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICAgICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgICAgcGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgICB2YXJzPzogc3RyaW5nW107XG4gICAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgfSxcbiAgICBjYWxsYmFjazogKHN0YXRlOiBUZXJyYWZvcm1EZXBsb3lTdGF0ZSkgPT4gdm9pZCxcbiAgKTogUHJvbWlzZTx7IGNhbmNlbGxlZDogYm9vbGVhbiB9PjtcbiAgZGVzdHJveShcbiAgICBvcHRpb25zOiB7XG4gICAgICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gICAgICBwYXJhbGxlbGlzbT86IG51bWJlcjtcbiAgICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICB9LFxuICAgIGNhbGxiYWNrOiAoc3RhdGU6IFRlcnJhZm9ybURlcGxveVN0YXRlKSA9PiB2b2lkLFxuICApOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuIH0+O1xuICBvdXRwdXQoKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IFRlcnJhZm9ybU91dHB1dCB9PjtcbiAgdmVyc2lvbigpOiBQcm9taXNlPHN0cmluZz47XG4gIGFib3J0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { StackManifest, TerraformStackMetadata } from "cdktn";
3
2
  export interface SynthesizedStackMetadata {
4
3
  "//"?: {
@@ -1 +1 @@
1
- {"version":3,"file":"synth-stack.d.ts","sourceRoot":"","sources":["../../src/lib/synth-stack.ts"],"names":[],"mappings":";AAMA,OAAO,EAGL,aAAa,EACb,sBAAsB,EACvB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ5B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,cAAc,EAAE,gBAAgB,EAAE,CAAM;IACxC,cAAc,EAAE,gBAAgB,EAAE,CAAM;gBAElB,MAAM,EAAE,gBAAgB,EAAE;IAIhD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAOvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAO/C,IAAW,uBAAuB,IAAI,gBAAgB,EAAE,CAYvD;CACF;AAOD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,qBAAa,UAAU;WACD,KAAK,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,SAAgB,EAChC,QAAQ,UAAQ,EAAE,0DAA0D;IAC5E,OAAO,UAAQ,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,GAAG,UAAQ,GACV,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAmIV,cAAc,CAAC,MAAM,EAAE,MAAM;WAsB7B,qBAAqB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAkCV,cAAc,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC;WAiBI,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW;CAGlE"}
1
+ {"version":3,"file":"synth-stack.d.ts","sourceRoot":"","sources":["../../src/lib/synth-stack.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,aAAa,EACb,sBAAsB,EACvB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ5B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,cAAc,EAAE,gBAAgB,EAAE,CAAM;IACxC,cAAc,EAAE,gBAAgB,EAAE,CAAM;gBAElB,MAAM,EAAE,gBAAgB,EAAE;IAIhD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAOvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAO/C,IAAW,uBAAuB,IAAI,gBAAgB,EAAE,CAYvD;CACF;AAOD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,qBAAa,UAAU;WACD,KAAK,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,SAAgB,EAChC,QAAQ,UAAQ,EAAE,0DAA0D;IAC5E,OAAO,UAAQ,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,GAAG,UAAQ,GACV,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAmIV,cAAc,CAAC,MAAM,EAAE,MAAM;WAsB7B,qBAAqB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAkCV,cAAc,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC;WAiBI,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW;CAGlE"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { CdktfProjectOptions, MutationOptions } from "./cdktf-project";
3
2
  import { CdktfStack } from "./cdktf-stack";
4
3
  export type State = {
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/lib/watch.ts"],"names":[],"mappings":";AAGA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA0E3C,MAAM,MAAM,KAAK,GACb;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAsB,KAAK,CACzB,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,iBAiFzC"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/lib/watch.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA0E3C,MAAM,MAAM,KAAK,GACb;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAsB,KAAK,CACzB,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,iBAiFzC"}