projen 0.71.83 → 0.71.85

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 (137) hide show
  1. package/.jsii +26 -11
  2. package/docs/api/API.md +37 -37
  3. package/lib/awscdk/auto-discover.js +11 -11
  4. package/lib/awscdk/awscdk-app-java.js +3 -3
  5. package/lib/awscdk/awscdk-app-py.js +3 -3
  6. package/lib/awscdk/awscdk-app-ts.js +3 -3
  7. package/lib/awscdk/awscdk-construct.js +5 -5
  8. package/lib/awscdk/awscdk-deps-java.js +3 -3
  9. package/lib/awscdk/awscdk-deps-js.js +3 -3
  10. package/lib/awscdk/awscdk-deps-py.js +3 -3
  11. package/lib/awscdk/awscdk-deps.js +3 -3
  12. package/lib/awscdk/cdk-config.js +4 -4
  13. package/lib/awscdk/cdk-tasks.js +3 -3
  14. package/lib/awscdk/integration-test.js +3 -3
  15. package/lib/awscdk/lambda-extension.js +3 -3
  16. package/lib/awscdk/lambda-function.js +5 -5
  17. package/lib/build/build-workflow.js +3 -3
  18. package/lib/cdk/auto-discover-base.js +5 -5
  19. package/lib/cdk/construct-lib.js +3 -3
  20. package/lib/cdk/integration-test-base.js +3 -3
  21. package/lib/cdk/jsii-docgen.js +3 -3
  22. package/lib/cdk/jsii-project.js +4 -4
  23. package/lib/cdk8s/auto-discover.js +5 -5
  24. package/lib/cdk8s/cdk8s-app-py.js +3 -3
  25. package/lib/cdk8s/cdk8s-app-ts.js +3 -3
  26. package/lib/cdk8s/cdk8s-construct.js +3 -3
  27. package/lib/cdk8s/cdk8s-deps-py.js +3 -3
  28. package/lib/cdk8s/cdk8s-deps.js +3 -3
  29. package/lib/cdk8s/integration-test.js +3 -3
  30. package/lib/cdktf/cdktf-construct.js +3 -3
  31. package/lib/circleci/circleci.js +3 -3
  32. package/lib/circleci/model.js +5 -5
  33. package/lib/component.js +3 -3
  34. package/lib/dependencies.js +4 -4
  35. package/lib/dev-env.js +3 -3
  36. package/lib/docker-compose/docker-compose-port.js +2 -2
  37. package/lib/docker-compose/docker-compose-service.js +3 -3
  38. package/lib/docker-compose/docker-compose.js +3 -3
  39. package/lib/file.js +3 -3
  40. package/lib/gitattributes.js +3 -3
  41. package/lib/github/actions-provider.js +3 -3
  42. package/lib/github/auto-approve.js +3 -3
  43. package/lib/github/auto-merge.js +3 -3
  44. package/lib/github/dependabot.js +6 -6
  45. package/lib/github/github-credentials.js +3 -3
  46. package/lib/github/github-project.js +3 -3
  47. package/lib/github/github.js +3 -3
  48. package/lib/github/mergify.js +3 -3
  49. package/lib/github/pr-template.js +3 -3
  50. package/lib/github/pull-request-lint.js +3 -3
  51. package/lib/github/stale.js +3 -3
  52. package/lib/github/task-workflow.js +3 -3
  53. package/lib/github/workflow-actions.js +3 -3
  54. package/lib/github/workflow-jobs.js +3 -3
  55. package/lib/github/workflows-model.js +3 -3
  56. package/lib/github/workflows.js +3 -3
  57. package/lib/gitlab/configuration-model.js +11 -11
  58. package/lib/gitlab/configuration.js +3 -3
  59. package/lib/gitlab/gitlab-configuration.js +3 -3
  60. package/lib/gitlab/nested-configuration.js +3 -3
  61. package/lib/gitpod.js +7 -7
  62. package/lib/ignore-file.js +3 -3
  63. package/lib/ini.js +3 -3
  64. package/lib/java/java-project.js +3 -3
  65. package/lib/java/junit.js +3 -3
  66. package/lib/java/maven-compile.js +3 -3
  67. package/lib/java/maven-packaging.js +3 -3
  68. package/lib/java/maven-sample.js +3 -3
  69. package/lib/java/pom.js +3 -3
  70. package/lib/java/projenrc.js +3 -3
  71. package/lib/javascript/bundler.js +3 -3
  72. package/lib/javascript/eslint.js +3 -3
  73. package/lib/javascript/jest.js +10 -10
  74. package/lib/javascript/node-package.js +6 -6
  75. package/lib/javascript/node-project.d.ts +1 -1
  76. package/lib/javascript/node-project.js +4 -4
  77. package/lib/javascript/npm-config.js +3 -3
  78. package/lib/javascript/prettier.js +10 -10
  79. package/lib/javascript/projenrc.js +3 -3
  80. package/lib/javascript/typescript-config.d.ts +1 -1
  81. package/lib/javascript/typescript-config.js +8 -8
  82. package/lib/javascript/upgrade-dependencies.js +5 -5
  83. package/lib/json-patch.js +3 -3
  84. package/lib/json.js +3 -3
  85. package/lib/license.js +3 -3
  86. package/lib/logger.js +4 -4
  87. package/lib/makefile.js +3 -3
  88. package/lib/object-file.js +3 -3
  89. package/lib/option-hints.js +2 -2
  90. package/lib/project-build.js +3 -3
  91. package/lib/project.js +4 -4
  92. package/lib/projects.js +3 -3
  93. package/lib/projenrc-json.js +5 -5
  94. package/lib/projenrc.js +3 -3
  95. package/lib/python/pip.js +3 -3
  96. package/lib/python/poetry.js +5 -5
  97. package/lib/python/projenrc.js +3 -3
  98. package/lib/python/pytest-sample.js +3 -3
  99. package/lib/python/pytest.js +3 -3
  100. package/lib/python/python-project.js +3 -3
  101. package/lib/python/python-sample.js +3 -3
  102. package/lib/python/requirements-file.js +3 -3
  103. package/lib/python/setuppy.js +3 -3
  104. package/lib/python/setuptools.js +3 -3
  105. package/lib/python/venv.js +3 -3
  106. package/lib/readme.js +3 -3
  107. package/lib/release/publisher.js +4 -4
  108. package/lib/release/release-trigger.js +3 -3
  109. package/lib/release/release.js +3 -3
  110. package/lib/renovatebot.js +4 -4
  111. package/lib/sample-file.js +5 -5
  112. package/lib/semver.js +3 -3
  113. package/lib/source-code.js +3 -3
  114. package/lib/task-runtime.js +3 -3
  115. package/lib/task.js +3 -3
  116. package/lib/tasks.js +3 -3
  117. package/lib/testing.js +3 -3
  118. package/lib/textfile.js +3 -3
  119. package/lib/toml.js +3 -3
  120. package/lib/typescript/projenrc-ts.js +3 -3
  121. package/lib/typescript/projenrc.js +3 -3
  122. package/lib/typescript/typescript-typedoc.js +3 -3
  123. package/lib/typescript/typescript.js +7 -7
  124. package/lib/util/semver.js +2 -2
  125. package/lib/version.js +3 -3
  126. package/lib/vscode/devcontainer.js +3 -3
  127. package/lib/vscode/extensions.js +3 -3
  128. package/lib/vscode/launch-config.js +5 -5
  129. package/lib/vscode/settings.js +3 -3
  130. package/lib/vscode/vscode.js +3 -3
  131. package/lib/web/next.js +7 -7
  132. package/lib/web/postcss.js +3 -3
  133. package/lib/web/react.js +9 -9
  134. package/lib/web/tailwind.js +3 -3
  135. package/lib/xmlfile.js +3 -3
  136. package/lib/yaml.js +3 -3
  137. package/package.json +1 -1
@@ -23,7 +23,7 @@ class JsiiDocgen {
23
23
  project.annotateGenerated(`/${filePath}`);
24
24
  }
25
25
  }
26
- _a = JSII_RTTI_SYMBOL_1;
27
- JsiiDocgen[_a] = { fqn: "projen.cdk.JsiiDocgen", version: "0.71.83" };
28
26
  exports.JsiiDocgen = JsiiDocgen;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1kb2NnZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2pzaWktZG9jZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUE7Ozs7O0dBS0c7QUFDSCxNQUFhLFVBQVU7SUFDckIsWUFBWSxPQUFvQixFQUFFLFVBQTZCLEVBQUU7UUFDL0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN2QyxXQUFXLEVBQUUscUNBQXFDO1lBQ2xELElBQUksRUFBRSxrQkFBa0IsUUFBUSxFQUFFO1NBQ25DLENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7O0FBZlUsZ0NBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKc2lpUHJvamVjdCB9IGZyb20gXCIuL2pzaWktcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBKc2lpRG9jZ2VuYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlEb2NnZW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgZ2VuZXJhdGVkIGRvY3MuXG4gICAqIEBkZWZhdWx0IFwiQVBJLm1kXCJcbiAgICovXG4gIHJlYWRvbmx5IGZpbGVQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBtYXJrZG93biBmaWxlIGJhc2VkIG9uIHRoZSBqc2lpIG1hbmlmZXN0OlxuICogLSBBZGRzIGEgYGRvY2dlbmAgc2NyaXB0IHRvIHBhY2thZ2UuanNvblxuICogLSBSdW5zIGBqc2lpLWRvY2dlbmAgYWZ0ZXIgY29tcGlsYXRpb25cbiAqIC0gRW5mb3JjZXMgdGhhdCBtYXJrZG93biBmaWxlIGlzIGNoZWNrZWQgaW5cbiAqL1xuZXhwb3J0IGNsYXNzIEpzaWlEb2NnZW4ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBKc2lpUHJvamVjdCwgb3B0aW9uczogSnNpaURvY2dlbk9wdGlvbnMgPSB7fSkge1xuICAgIHByb2plY3QuYWRkRGV2RGVwcyhcImpzaWktZG9jZ2VuXCIpO1xuXG4gICAgY29uc3QgZmlsZVBhdGggPSBvcHRpb25zLmZpbGVQYXRoID8/IFwiQVBJLm1kXCI7XG5cbiAgICBjb25zdCBkb2NnZW4gPSBwcm9qZWN0LmFkZFRhc2soXCJkb2NnZW5cIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiR2VuZXJhdGUgQVBJLm1kIGZyb20gLmpzaWkgbWFuaWZlc3RcIixcbiAgICAgIGV4ZWM6IGBqc2lpLWRvY2dlbiAtbyAke2ZpbGVQYXRofWAsXG4gICAgfSk7XG5cbiAgICAvLyBzcGF3biBkb2NnZW4gYWZ0ZXIgY29tcGlsYXRpb24gKHJlcXVpcmVzIHRoZSAuanNpaSBtYW5pZmVzdCkuXG4gICAgcHJvamVjdC5wb3N0Q29tcGlsZVRhc2suc3Bhd24oZG9jZ2VuKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5pbmNsdWRlKGAvJHtmaWxlUGF0aH1gKTtcbiAgICBwcm9qZWN0LmFubm90YXRlR2VuZXJhdGVkKGAvJHtmaWxlUGF0aH1gKTtcbiAgfVxufVxuIl19
27
+ _a = JSII_RTTI_SYMBOL_1;
28
+ JsiiDocgen[_a] = { fqn: "projen.cdk.JsiiDocgen", version: "0.71.85" };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1kb2NnZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2pzaWktZG9jZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUE7Ozs7O0dBS0c7QUFDSCxNQUFhLFVBQVU7SUFDckIsWUFBWSxPQUFvQixFQUFFLFVBQTZCLEVBQUU7UUFDL0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN2QyxXQUFXLEVBQUUscUNBQXFDO1lBQ2xELElBQUksRUFBRSxrQkFBa0IsUUFBUSxFQUFFO1NBQ25DLENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQWZILGdDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpzaWlQcm9qZWN0IH0gZnJvbSBcIi4vanNpaS1wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEpzaWlEb2NnZW5gXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaURvY2dlbk9wdGlvbnMge1xuICAvKipcbiAgICogRmlsZSBwYXRoIGZvciBnZW5lcmF0ZWQgZG9jcy5cbiAgICogQGRlZmF1bHQgXCJBUEkubWRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG1hcmtkb3duIGZpbGUgYmFzZWQgb24gdGhlIGpzaWkgbWFuaWZlc3Q6XG4gKiAtIEFkZHMgYSBgZG9jZ2VuYCBzY3JpcHQgdG8gcGFja2FnZS5qc29uXG4gKiAtIFJ1bnMgYGpzaWktZG9jZ2VuYCBhZnRlciBjb21waWxhdGlvblxuICogLSBFbmZvcmNlcyB0aGF0IG1hcmtkb3duIGZpbGUgaXMgY2hlY2tlZCBpblxuICovXG5leHBvcnQgY2xhc3MgSnNpaURvY2dlbiB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEpzaWlQcm9qZWN0LCBvcHRpb25zOiBKc2lpRG9jZ2VuT3B0aW9ucyA9IHt9KSB7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFwianNpaS1kb2NnZW5cIik7XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IG9wdGlvbnMuZmlsZVBhdGggPz8gXCJBUEkubWRcIjtcblxuICAgIGNvbnN0IGRvY2dlbiA9IHByb2plY3QuYWRkVGFzayhcImRvY2dlblwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJHZW5lcmF0ZSBBUEkubWQgZnJvbSAuanNpaSBtYW5pZmVzdFwiLFxuICAgICAgZXhlYzogYGpzaWktZG9jZ2VuIC1vICR7ZmlsZVBhdGh9YCxcbiAgICB9KTtcblxuICAgIC8vIHNwYXduIGRvY2dlbiBhZnRlciBjb21waWxhdGlvbiAocmVxdWlyZXMgdGhlIC5qc2lpIG1hbmlmZXN0KS5cbiAgICBwcm9qZWN0LnBvc3RDb21waWxlVGFzay5zcGF3bihkb2NnZW4pO1xuICAgIHByb2plY3QuZ2l0aWdub3JlLmluY2x1ZGUoYC8ke2ZpbGVQYXRofWApO1xuICAgIHByb2plY3QuYW5ub3RhdGVHZW5lcmF0ZWQoYC8ke2ZpbGVQYXRofWApO1xuICB9XG59XG4iXX0=
@@ -17,7 +17,7 @@ var Stability;
17
17
  Stability["EXPERIMENTAL"] = "experimental";
18
18
  Stability["STABLE"] = "stable";
19
19
  Stability["DEPRECATED"] = "deprecated";
20
- })(Stability = exports.Stability || (exports.Stability = {}));
20
+ })(Stability || (exports.Stability = Stability = {}));
21
21
  /**
22
22
  * Multi-language jsii library project
23
23
  *
@@ -268,9 +268,9 @@ class JsiiProject extends typescript_1.TypeScriptProject {
268
268
  };
269
269
  }
270
270
  }
271
- _a = JSII_RTTI_SYMBOL_1;
272
- JsiiProject[_a] = { fqn: "projen.cdk.JsiiProject", version: "0.71.83" };
273
271
  exports.JsiiProject = JsiiProject;
272
+ _a = JSII_RTTI_SYMBOL_1;
273
+ JsiiProject[_a] = { fqn: "projen.cdk.JsiiProject", version: "0.71.85" };
274
274
  function parseAuthorAddress(options) {
275
275
  let authorEmail = options.authorEmail;
276
276
  let authorUrl = options.authorUrl;
@@ -293,4 +293,4 @@ function parseAuthorAddress(options) {
293
293
  }
294
294
  return { authorEmail, authorUrl };
295
295
  }
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9qc2lpLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBK0I7QUFDL0IscUNBQTREO0FBQzVELCtDQUEyQztBQUczQyw4Q0FBMkQ7QUFRM0QsOENBQTRFO0FBQzVFLGtDQUFvQztBQUVwQyxNQUFNLFdBQVcsR0FDZiw0YUFBNGEsQ0FBQztBQUMvYSxNQUFNLFNBQVMsR0FDYixzTEFBc0wsQ0FBQztBQUN6TCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztBQWtIcEMsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDBDQUE2QixDQUFBO0lBQzdCLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQXVDRDs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsOEJBQWlCO0lBS2hELFlBQVksT0FBMkI7UUFDckMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRCwyRUFBMkU7UUFDM0UsTUFBTSxjQUFjLEdBQ2xCLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSTtZQUMzQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssR0FBRztnQkFDMUIsSUFBSSxjQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGNBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakUsTUFBTSxjQUFjLEdBQXNDO1lBQ3hELFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYTtZQUNqQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDMUIsV0FBVztZQUNYLFNBQVM7WUFDVCxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFF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QUU7U0FDdkYsQ0FDRixDQUFDO1FBQ0YsT0FBTztZQUNMLFlBQVksRUFBRSx1QkFBYyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxlQUFlO1NBQ2hCLENBQUM7SUFDSixDQUFDOzs7O0FBL1RVLGtDQUFXO0FBa1V4QixTQUFTLGtCQUFrQixDQUFDLE9BQTJCO0lBQ3JELElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDdEMsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNsQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7UUFDekIsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN4RSxNQUFNLElBQUksS0FBSyxDQUNiLGdGQUFnRixDQUNqRixDQUFDO1NBQ0g7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7U0FDSDtRQUVELElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDM0MsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDckM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hELFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1NBQ25DO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxPQUFPLENBQUMsYUFBYSxFQUFFLENBQ25GLENBQUM7U0FDSDtLQUNGO0lBQ0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBKc2lpUGFjbWFrVGFyZ2V0LCBKU0lJX1RPT0xDSEFJTiB9IGZyb20gXCIuL2NvbnN0c1wiO1xuaW1wb3J0IHsgSnNpaURvY2dlbiB9IGZyb20gXCIuL2pzaWktZG9jZ2VuXCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBKb2IsIFN0ZXAgfSBmcm9tIFwiLi4vZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgRXNsaW50LCBOb2RlUGFja2FnZU1hbmFnZXIgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgQ29tbW9uUHVibGlzaE9wdGlvbnMsXG4gIEdvUHVibGlzaE9wdGlvbnMsXG4gIE1hdmVuUHVibGlzaE9wdGlvbnMsXG4gIE51Z2V0UHVibGlzaE9wdGlvbnMsXG4gIFB5UGlQdWJsaXNoT3B0aW9ucyxcbn0gZnJvbSBcIi4uL3JlbGVhc2VcIjtcbmltcG9ydCB7IFR5cGVTY3JpcHRQcm9qZWN0LCBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuY29uc3QgRU1BSUxfUkVHRVggPVxuICAvKD86W2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKnxcIig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxXFx4MjMtXFx4NWJcXHg1ZC1cXHg3Zl18XFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKlwiKUAoPzooPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XFwuKStbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/fFxcWyg/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkrKVxcXSkvO1xuY29uc3QgVVJMX1JFR0VYID1cbiAgLygoKFtBLVphLXpdezMsOX06KD86XFwvXFwvKT8pKD86W1xcLTs6Jj1cXCtcXCQsXFx3XStAKT9bQS1aYS16MC05XFwuXFwtXSt8KD86d3d3XFwufFtcXC07OiY9XFwrXFwkLFxcd10rQClbQS1aYS16MC05XFwuXFwtXSspKCg/OlxcL1tcXCt+JVxcL1xcLlxcd1xcLV9dKik/XFw/Pyg/OltcXC1cXCs9JjslQFxcLlxcd19dKikjPyg/OltcXC5cXCFcXC9cXFxcXFx3XSopKT8pLztcbmNvbnN0IFJFUE9fVEVNUF9ESVJFQ1RPUlkgPSBcIi5yZXBvXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaVByb2plY3RPcHRpb25zIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHaXQgcmVwb3NpdG9yeSBVUkwuXG4gICAqIEBkZWZhdWx0ICRHSVRfUkVNT1RFXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBsaWJyYXJ5IGF1dGhvci5cbiAgICogQGRlZmF1bHQgJEdJVF9VU0VSX05BTUVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBvciBVUkwgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfRU1BSUxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGlzaCB0byBtYXZlblxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb01hdmVuPzogSnNpaUphdmFUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gcHlwaVxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb1B5cGk/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIEdvIGJpbmRpbmdzIHRvIGEgZ2l0IHJlcG9zaXRvcnkuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvR28/OiBKc2lpR29UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvUHlQaWBcbiAgICovXG4gIHJlYWRvbmx5IHB5dGhvbj86IEpzaWlQeXRob25UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gTnVHZXRcbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9OdWdldD86IEpzaWlEb3ROZXRUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvTnVnZXRgXG4gICAqL1xuICByZWFkb25seSBkb3RuZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJ1biBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0IGFnYWluc3QgdGhlIGxhdGVzdCB2ZXJzaW9uIHB1Ymxpc2hlZCB0byBucG0gYWZ0ZXIgY29tcGlsYXRpb24uXG4gICAqXG4gICAqIC0gWW91IGNhbiBtYW51YWxseSBydW4gY29tcGF0aWJpbGl0eSB0ZXN0cyB1c2luZyBgeWFybiBjb21wYXRgIGlmIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC5cbiAgICogLSBZb3UgY2FuIGlnbm9yZSBjb21wYXRpYmlsaXR5IGZhaWx1cmVzIGJ5IGFkZGluZyBsaW5lcyB0byBhIFwiLmNvbXBhdGlnbm9yZVwiIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb21wYXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBpZ25vcmUgZmlsZSBmb3IgQVBJIGNvbXBhdGliaWxpdHkgdGVzdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiLmNvbXBhdGlnbm9yZVwiXG4gICAqL1xuICByZWFkb25seSBjb21wYXRJZ25vcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBsaXN0IG9mIGdsb2IgcGF0dGVybnMuIEZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aG9zZSBwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGpzaWkgd2lsbCBpbmNsdWRlIGFsbCAqLnRzIGZpbGVzIChleGNlcHQgLmQudHMgZmlsZXMpIGluIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKiBUaGlzIGNhbiBiZSBwcm9ibGVtYXRpYyBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYWNrYWdlJ3MgYnVpbGQgb3IgdGVzdCBwcm9jZWR1cmUgZ2VuZXJhdGVzIC50cyBmaWxlc1xuICAgKiB0aGF0IGNhbm5vdCBiZSBjb21waWxlZCB3aXRoIGpzaWkncyBjb21waWxlciBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVUeXBlc2NyaXB0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgZ2VuZXJhdGVkIGRvY3MuXG4gICAqIEBkZWZhdWx0IFwiQVBJLm1kXCJcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbkZpbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0IGEgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIHRoZSBhc3NlbWJseVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIGpzaWkgY29tcGlsZXIgdG8gdXNlLlxuICAgKlxuICAgKiBTZXQgdG8gXCIqXCIgaWYgeW91IHdhbnQgdG8gbWFudWFsbHkgbWFuYWdlIHRoZSB2ZXJzaW9uIG9mIGpzaWkgaW4geW91clxuICAgKiBwcm9qZWN0IGJ5IG1hbmFnaW5nIHVwZGF0ZXMgdG8gYHBhY2thZ2UuanNvbmAgb24geW91ciBvd24uXG4gICAqXG4gICAqIE5PVEU6IFRoZSBqc2lpIGNvbXBpbGVyIHJlbGVhc2VzIHNpbmNlIDUuMC4wIGFyZSBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZFxuICAgKiBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGUgc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3lcbiAgICogKGUuZy4gYH41LjAuMGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjEueFwiXG4gICAqIEBwam5ldyBcIn41LjAuMFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpVmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gU3RhYmlsaXR5IHtcbiAgRVhQRVJJTUVOVEFMID0gXCJleHBlcmltZW50YWxcIixcbiAgU1RBQkxFID0gXCJzdGFibGVcIixcbiAgREVQUkVDQVRFRCA9IFwiZGVwcmVjYXRlZFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlKYXZhVGFyZ2V0IGV4dGVuZHMgTWF2ZW5QdWJsaXNoT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGphdmFQYWNrYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hdmVuR3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBtYXZlbkFydGlmYWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHl0aG9uVGFyZ2V0IGV4dGVuZHMgUHlQaVB1Ymxpc2hPcHRpb25zIHtcbiAgcmVhZG9ubHkgZGlzdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kdWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaURvdE5ldFRhcmdldCBleHRlbmRzIE51Z2V0UHVibGlzaE9wdGlvbnMge1xuICByZWFkb25seSBkb3ROZXROYW1lc3BhY2U6IHN0cmluZztcbiAgcmVhZG9ubHkgcGFja2FnZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGljb25Vcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogR28gdGFyZ2V0IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc2lpR29UYXJnZXQgZXh0ZW5kcyBHb1B1Ymxpc2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgZ28gbW9kdWxlLlxuICAgKlxuICAgKiBAZXhhbXBsZSBnaXRodWIuY29tL293bmVyL3JlcG9cbiAgICogQGV4YW1wbGUgZ2l0aHViLmNvbS9vd25lci9yZXBvL3N1YmRpclxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ28gcGFja2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gdGhlIG1vZHVsZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNdWx0aS1sYW5ndWFnZSBqc2lpIGxpYnJhcnkgcHJvamVjdFxuICpcbiAqIEBwamlkIGpzaWlcbiAqL1xuZXhwb3J0IGNsYXNzIEpzaWlQcm9qZWN0IGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZXNsaW50PzogRXNsaW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFja2FnZUFsbFRhc2s6IFRhc2s7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgeyBhdXRob3JFbWFpbCwgYXV0aG9yVXJsIH0gPSBwYXJzZUF1dGhvckFkZHJlc3Mob3B0aW9ucyk7XG5cbiAgICAvLyBUcnVlIGlmIGpzaWkgdmVyc2lvbiAxLnggaXMgY29tcGF0aWJsZSB3aXRoIHRoZSByZXF1ZXN0ZWQgdmVyc2lvbiByYW5nZS5cbiAgICBjb25zdCB1c2VzTGVnYWN5SnNpaSA9XG4gICAgICBvcHRpb25zLmpzaWlWZXJzaW9uID09IG51bGwgfHxcbiAgICAgIChvcHRpb25zLmpzaWlWZXJzaW9uICE9PSBcIipcIiAmJlxuICAgICAgICBuZXcgUmFuZ2Uob3B0aW9ucy5qc2lpVmVyc2lvbikuaW50ZXJzZWN0cyhuZXcgUmFuZ2UoXCIxLnhcIikpKTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucz4gPSB7XG4gICAgICByZXBvc2l0b3J5OiBvcHRpb25zLnJlcG9zaXRvcnlVcmwsXG4gICAgICBhdXRob3JOYW1lOiBvcHRpb25zLmF1dGhvcixcbiAgICAgIGF1dGhvckVtYWlsLFxuICAgICAgYXV0aG9yVXJsLFxuICAgICAgamVzdE9wdGlvbnM6IHVzZXNMZWdhY3lKc2lpID8geyBqZXN0VmVyc2lvbjogXCJeMjdcIiB9IDogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBjb25zdCBmb3JjZWRPcHRpb25zID0ge1xuICAgICAgcmVsZWFzZVRvTnBtOiBmYWxzZSwgLy8gd2UgaGF2ZSBhIGpzaWkgcmVsZWFzZSB3b3JrZmxvd1xuICAgICAgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAvLyBqc2lpIGdlbmVyYXRlcyBpdHMgb3duIHRzY29uZmlnLmpzb25cbiAgICAgIGRvY2dlbjogZmFsc2UsIC8vIHdlIHVzZSBqc2lpLWRvY2dlbiBoZXJlIHNvIGRpc2FibGUgdHlwZXNjcmlwdCBkb2NnZW5cbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IGRlZXBNZXJnZShbXG4gICAgICBkZWZhdWx0T3B0aW9ucyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmb3JjZWRPcHRpb25zLFxuICAgIF0pIGFzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucztcblxuICAgIHN1cGVyKG1lcmdlZE9wdGlvbnMpO1xuXG4gICAgY29uc3Qgc3JjZGlyID0gdGhpcy5zcmNkaXI7XG4gICAgY29uc3QgbGliZGlyID0gdGhpcy5saWJkaXI7XG5cbiAgICB0aGlzLmFkZEZpZWxkcyh7IHR5cGVzOiBgJHtsaWJkaXJ9L2luZGV4LmQudHNgIH0pO1xuXG4gICAgY29uc3QgY29tcHJlc3NBc3NlbWJseSA9IG9wdGlvbnMuY29tcHJlc3NBc3NlbWJseSA/PyBmYWxzZTtcblxuICAgIC8vIHRoaXMgaXMgYW4gdW5oZWxwZnVsIHdhcm5pbmdcbiAgICBjb25zdCBqc2lpRmxhZ3MgPSBbXCItLXNpbGVuY2Utd2FybmluZ3M9cmVzZXJ2ZWQtd29yZFwiXTtcbiAgICBpZiAoY29tcHJlc3NBc3NlbWJseSkge1xuICAgICAganNpaUZsYWdzLnB1c2goXCItLWNvbXByZXNzLWFzc2VtYmx5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBhdElnbm9yZSA9IG9wdGlvbnMuY29tcGF0SWdub3JlID8/IFwiLmNvbXBhdGlnbm9yZVwiO1xuXG4gICAgdGhpcy5hZGRGaWVsZHMoeyBzdGFiaWxpdHk6IG9wdGlvbnMuc3RhYmlsaXR5ID8/IFN0YWJpbGl0eS5TVEFCTEUgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zdGFiaWxpdHkgPT09IFN0YWJpbGl0eS5ERVBSRUNBVEVEKSB7XG4gICAgICB0aGlzLmFkZEZpZWxkcyh7IGRlcHJlY2F0ZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGF0VGFzayA9IHRoaXMuYWRkVGFzayhcImNvbXBhdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQZXJmb3JtIEFQSSBjb21wYXRpYmlsaXR5IGNoZWNrIGFnYWluc3QgbGF0ZXN0IHZlcnNpb25cIixcbiAgICAgIGV4ZWM6IGBqc2lpLWRpZmYgbnBtOiQobm9kZSAtcCBcInJlcXVpcmUoXFwnLi9wYWNrYWdlLmpzb25cXCcpLm5hbWVcIikgLWsgLS1pZ25vcmUtZmlsZSAke2NvbXBhdElnbm9yZX0gfHwgKGVjaG8gXCJcXG5VTkVYUEVDVEVEIEJSRUFLSU5HIENIQU5HRVM6IGFkZCBrZXlzIHN1Y2ggYXMgXFwncmVtb3ZlZDpjb25zdHJ1Y3RzLk5vZGUub2ZcXCcgdG8gJHtjb21wYXRJZ25vcmV9IHRvIHNraXAuXFxuXCIgJiYgZXhpdCAxKWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wYXQgPSBvcHRpb25zLmNvbXBhdCA/PyBmYWxzZTtcbiAgICBpZiAoY29tcGF0KSB7XG4gICAgICB0aGlzLmNvbXBpbGVUYXNrLnNwYXduKGNvbXBhdFRhc2spO1xuICAgIH1cblxuICAgIHRoaXMuY29tcGlsZVRhc2sucmVzZXQoW1wianNpaVwiLCAuLi5qc2lpRmxhZ3NdLmpvaW4oXCIgXCIpKTtcbiAgICB0aGlzLndhdGNoVGFzay5yZXNldChbXCJqc2lpXCIsIFwiLXdcIiwgLi4uanNpaUZsYWdzXS5qb2luKFwiIFwiKSk7XG4gICAgdGhpcy5wYWNrYWdlQWxsVGFzayA9IHRoaXMuYWRkVGFzayhcInBhY2thZ2UtYWxsXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBhY2thZ2VzIGFydGlmYWN0cyBmb3IgYWxsIHRhcmdldCBsYW5ndWFnZXNcIixcbiAgICB9KTtcblxuICAgIC8vIGluIGpzaWkgd2UgY29uc2lkZXIgdGhlIGVudGlyZSByZXBvIChwb3N0IGJ1aWxkKSBhcyB0aGUgYnVpbGQgYXJ0aWZhY3RcbiAgICAvLyB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY3JlYXRlIHRoZSBsYW5ndWFnZSBiaW5kaW5ncyBpbiBzZXBhcmF0ZSBqb2JzLlxuICAgIGNvbnN0IHByZXBhcmVSZXBvRm9yQ0kgPSBbXG4gICAgICBgcnN5bmMgLWEgLiAucmVwbyAtLWV4Y2x1ZGUgLmdpdCAtLWV4Y2x1ZGUgbm9kZV9tb2R1bGVzYCxcbiAgICAgIGBybSAtcmYgJHt0aGlzLmFydGlmYWN0c0RpcmVjdG9yeX1gLFxuICAgICAgYG12IC5yZXBvICR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICBdLmpvaW4oXCIgJiYgXCIpO1xuXG4gICAgLy8gd2hlbiBydW5uaW5nIGluc2lkZSBDSSB3ZSBqdXN0IHByZXBhcmUgdGhlIHJlcG8gZm9yIHBhY2thZ2luZywgd2hpY2hcbiAgICAvLyB0YWtlcyBwbGFjZSBpbiBzZXBhcmF0ZSB0YXNrcy5cbiAgICAvLyBvdXRzaWRlIG9mIENJIChpLmUgbG9jYWxseSkgd2Ugc2ltcGx5IHBhY2thZ2UgYWxsIHRhcmdldHMuXG4gICAgdGhpcy5wYWNrYWdlVGFzay5yZXNldChcbiAgICAgIGBpZiBbICEgLXogXFwke0NJfSBdOyB0aGVuICR7cHJlcGFyZVJlcG9Gb3JDSX07IGVsc2UgJHt0aGlzLnJ1blRhc2tDb21tYW5kKFxuICAgICAgICB0aGlzLnBhY2thZ2VBbGxUYXNrXG4gICAgICApfTsgZmlgXG4gICAgKTtcblxuICAgIGNvbnN0IHRhcmdldHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIGNvbnN0IGpzaWk6IGFueSA9IHtcbiAgICAgIG91dGRpcjogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICB0YXJnZXRzLFxuICAgICAgdHNjOiB7XG4gICAgICAgIG91dERpcjogbGliZGlyLFxuICAgICAgICByb290RGlyOiBzcmNkaXIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdCkge1xuICAgICAganNpaS5leGNsdWRlVHlwZXNjcmlwdCA9IG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQ7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRGaWVsZHMoeyBqc2lpIH0pO1xuXG4gICAgdGhpcy5yZWxlYXNlPy5wdWJsaXNoZXIuYWRkR2l0SHViUHJlUHVibGlzaGluZ1N0ZXBzKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlByZXBhcmUgUmVwb3NpdG9yeVwiLFxuICAgICAgICBydW46IGBtdiAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke1JFUE9fVEVNUF9ESVJFQ1RPUll9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQ29sbGVjdCBHaXRIdWIgTWV0YWRhdGFcIixcbiAgICAgICAgcnVuOiBgbXYgJHtSRVBPX1RFTVBfRElSRUNUT1JZfS8ke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fWAsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+ID0ge1xuICAgICAgLi4uKG9wdGlvbnMud29ya2Zsb3dSdW5zT24gPyB7IHJ1bnNPbjogb3B0aW9ucy53b3JrZmxvd1J1bnNPbiB9IDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMud29ya2Zsb3dDb250YWluZXJJbWFnZVxuICAgICAgICA/IHsgY29udGFpbmVyOiB7IGltYWdlOiBvcHRpb25zLndvcmtmbG93Q29udGFpbmVySW1hZ2UgfSB9XG4gICAgICAgIDoge30pLFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5yZWxlYXNlVG9OcG0gIT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJqc1wiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb05wbSh7XG4gICAgICAgIC4uLnRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UoXCJqc1wiLCB0YXNrKSxcbiAgICAgICAgcmVnaXN0cnk6IHRoaXMucGFja2FnZS5ucG1SZWdpc3RyeSxcbiAgICAgICAgbnBtVG9rZW5TZWNyZXQ6IHRoaXMucGFja2FnZS5ucG1Ub2tlblNlY3JldCxcbiAgICAgICAgY29kZUFydGlmYWN0T3B0aW9uczogb3B0aW9ucy5jb2RlQXJ0aWZhY3RPcHRpb25zLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFkZFBhY2thZ2luZ1RhcmdldChcImpzXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gd2UgY2Fubm90IGNhbGwgYW4gb3B0aW9uIGBqYXZhYCBiZWNhdXNlIHRoZSBqYXZhIGNvZGUgZ2VuZXJhdGVkIGJ5IGpzaWlcbiAgICAvLyBkb2VzIG5vdCBjb21waWxlIGR1ZSB0byBhIGNvbmZsaWN0IGJldHdlZW4gdGhpcyBvcHRpb24gbmFtZSBhbmQgdGhlIGBqYXZhYFxuICAgIC8vIHBhY2thZ2UgKGUuZy4gd2hlbiBgamF2YS51dGlsLk9iamVjdHNgIGlzIHJlZmVyZW5jZWQpLlxuICAgIGlmIChcImphdmFcIiBpbiBvcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoZSBcImphdmFcIiBvcHRpb24gaXMgbm93IGNhbGxlZCBcInB1Ymxpc2hUb01hdmVuXCInKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wdWJsaXNoVG9NYXZlbikge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBvcHRpb25zLnB1Ymxpc2hUb01hdmVuLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5Hcm91cElkLFxuICAgICAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5BcnRpZmFjdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhcImphdmFcIik7XG5cbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb01hdmVuKHtcbiAgICAgICAgLi4udGhpcy5wYWNtYWtGb3JMYW5ndWFnZShcImphdmFcIiwgdGFzayksXG4gICAgICAgIC4uLm9wdGlvbnMucHVibGlzaFRvTWF2ZW4sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hZGRQYWNrYWdpbmdUYXJnZXQoXCJqYXZhXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgcHlwaSA9IG9wdGlvbnMucHVibGlzaFRvUHlwaSA/PyBvcHRpb25zLnB5dGhvbjtcbiAgICBpZiAocHlwaSkge1xuICAgICAgdGFyZ2V0cy5weXRob24gPSB7XG4gICAgICAgIGRpc3ROYW1lOiBweXBpLmRpc3ROYW1lLFxuICAgICAgICBtb2R1bGU6IHB5cGkubW9kdWxlLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhcInB5dGhvblwiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb1B5UGkoe1xuICAgICAgICAuLi50aGlzLnBhY21ha0Zvckxhbmd1YWdlKFwicHl0aG9uXCIsIHRhc2spLFxuICAgICAgICAuLi5weXBpLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWRkUGFja2FnaW5nVGFyZ2V0KFwicHl0aG9uXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVnZXQgPSBvcHRpb25zLnB1Ymxpc2hUb051Z2V0ID8/IG9wdGlvbnMuZG90bmV0O1xuICAgIGlmIChudWdldCkge1xuICAgICAgdGFyZ2V0cy5kb3RuZXQgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogbnVnZXQuZG90TmV0TmFtZXNwYWNlLFxuICAgICAgICBwYWNrYWdlSWQ6IG51Z2V0LnBhY2thZ2VJZCxcbiAgICAgICAgaWNvblVybDogbnVnZXQuaWNvblVybCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJkb3RuZXRcIik7XG4gICAgICB0aGlzLnJlbGVhc2U/LnB1Ymxpc2hlci5wdWJsaXNoVG9OdWdldCh7XG4gICAgICAgIC4uLnRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UoXCJkb3RuZXRcIiwgdGFzayksXG4gICAgICAgIC4uLm51Z2V0LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWRkUGFja2FnaW5nVGFyZ2V0KFwiZG90bmV0XCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZ29sYW5nID0gb3B0aW9ucy5wdWJsaXNoVG9HbztcbiAgICBpZiAoZ29sYW5nKSB7XG4gICAgICB0YXJnZXRzLmdvID0ge1xuICAgICAgICBtb2R1bGVOYW1lOiBnb2xhbmcubW9kdWxlTmFtZSxcbiAgICAgICAgcGFja2FnZU5hbWU6IGdvbGFuZy5wYWNrYWdlTmFtZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJnb1wiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb0dvKHtcbiAgICAgICAgLi4udGhpcy5wYWNtYWtGb3JMYW5ndWFnZShcImdvXCIsIHRhc2spLFxuICAgICAgICAuLi5nb2xhbmcsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hZGRQYWNrYWdpbmdUYXJnZXQoXCJnb1wiLCB0YXNrLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNvbnN0IGpzaWlTdWZmaXggPVxuICAgICAgb3B0aW9ucy5qc2lpVmVyc2lvbiA9PT0gXCIqXCJcbiAgICAgICAgPyAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgICAgICAgIFwiXCJcbiAgICAgICAgOiAvLyBPdGhlcndpc2UsIHVzZSBganNpaVZlcnNpb25gIG9yIGZhbGwgYmFjayB0byBgMS54YC5cbiAgICAgICAgICBgQCR7b3B0aW9ucy5qc2lpVmVyc2lvbiA/PyBcIjEueFwifWA7XG4gICAgdGhpcy5hZGREZXZEZXBzKGBqc2lpJHtqc2lpU3VmZml4fWAsIFwianNpaS1kaWZmXCIsIFwianNpaS1wYWNtYWtcIik7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFwiLmpzaWlcIiwgXCJ0c2NvbmZpZy5qc29uXCIpO1xuICAgIHRoaXMubnBtaWdub3JlPy5pbmNsdWRlKFwiLmpzaWlcIik7XG5cbiAgICBpZiAob3B0aW9ucy5kb2NnZW4gPz8gdHJ1ZSkge1xuICAgICAgbmV3IEpzaWlEb2NnZW4odGhpcywgeyBmaWxlUGF0aDogb3B0aW9ucy5kb2NnZW5GaWxlUGF0aCB9KTtcbiAgICB9XG5cbiAgICAvLyBqc2lpIHVwZGF0ZXMgLm5wbWlnbm9yZSwgc28gd2UgbWFrZSBpdCB3cml0YWJsZVxuICAgIGlmICh0aGlzLm5wbWlnbm9yZSkge1xuICAgICAgdGhpcy5ucG1pZ25vcmUucmVhZG9ubHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHVzaW5nIGpzaWlAMSx4LCB3ZSBuZWVkIHRvIGFkZCBzb21lIHJlc29sdXRpb25zIHRvIGF2b2lkIGluY2x1ZGluZ1xuICAgIC8vIFR5cGVTY3JpcHQtMy45LWluY29tcGF0YmxlIGRlcGVuZGVuY2llcyB0aGF0IGJyZWFrIHRoZSBjb21waWxlci5cbiAgICBpZiAodXNlc0xlZ2FjeUpzaWkpIHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL2lzc3Vlcy8yMTY1XG4gICAgICB0aGlzLnBhY2thZ2UuYWRkUGFja2FnZVJlc29sdXRpb25zKFwiQHR5cGVzL3ByZXR0aWVyQDIuNi4wXCIpO1xuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9pc3N1ZXMvMjI2NFxuICAgICAgdGhpcy5wYWNrYWdlLmFkZFBhY2thZ2VSZXNvbHV0aW9ucyhcIkB0eXBlcy9iYWJlbF9fdHJhdmVyc2VANy4xOC4yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGFyZ2V0IGxhbmd1YWdlIHRvIHRoZSBidWlsZCB3b3JrZmxvdyBhbmQgY3JlYXRlcyBhIHBhY2thZ2UgdGFzay5cbiAgICogQHBhcmFtIGxhbmd1YWdlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIGFkZFBhY2thZ2luZ1RhcmdldChcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgICBleHRyYUpvYk9wdGlvbnM6IFBhcnRpYWw8Sm9iPlxuICApIHtcbiAgICBpZiAoIXRoaXMuYnVpbGRXb3JrZmxvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKGxhbmd1YWdlLCBwYWNrVGFzayk7XG5cbiAgICB0aGlzLmJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkSm9iKGBwYWNrYWdlLSR7bGFuZ3VhZ2V9YCwge1xuICAgICAgcnVuc09uOiBbXCJ1YnVudHUtbGF0ZXN0XCJdLFxuICAgICAgcGVybWlzc2lvbnM6IHt9LFxuICAgICAgdG9vbHM6IHtcbiAgICAgICAgbm9kZTogeyB2ZXJzaW9uOiB0aGlzLm5vZGVWZXJzaW9uID8/IFwiMTYueFwiIH0sXG4gICAgICAgIC4uLnBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICB9LFxuICAgICAgc3RlcHM6IHBhY21hay5wcmVQdWJsaXNoU3RlcHMgPz8gW10sXG4gICAgICAuLi5leHRyYUpvYk9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZFBhY2thZ2luZ1Rhc2sobGFuZ3VhZ2U6IEpzaWlQYWNtYWtUYXJnZXQpOiBUYXNrIHtcbiAgICBjb25zdCBwYWNrYWdlVGFzayA9IHRoaXMudGFza3MuYWRkVGFzayhgcGFja2FnZToke2xhbmd1YWdlfWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlICR7bGFuZ3VhZ2V9IGxhbmd1YWdlIGJpbmRpbmdzYCxcbiAgICB9KTtcbiAgICBwYWNrYWdlVGFzay5leGVjKGBqc2lpLXBhY21hayAtdiAtLXRhcmdldCAke2xhbmd1YWdlfWApO1xuICAgIHRoaXMucGFja2FnZUFsbFRhc2suc3Bhd24ocGFja2FnZVRhc2spO1xuICAgIHJldHVybiBwYWNrYWdlVGFzaztcbiAgfVxuXG4gIHByaXZhdGUgcGFjbWFrRm9yTGFuZ3VhZ2UoXG4gICAgdGFyZ2V0OiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHBhY2tUYXNrOiBUYXNrXG4gICk6IENvbW1vblB1Ymxpc2hPcHRpb25zIHtcbiAgICAvLyBhdCB0aGlzIHN0YWdlLCBgYXJ0aWZhY3RzRGlyZWN0b3J5YCBjb250YWlucyB0aGUgcHJlYnVpbHQgcmVwb3NpdG9yeS5cbiAgICAvLyBmb3IgdGhlIHB1Ymxpc2hpbmcgdG8gd29yayBzZWFtbGVzc2VseSwgdGhhdCBkaXJlY3RvcnkgbmVlZHMgdG8gY29udGFpbiB0aGUgYWN0dWFsIGFydGlmYWN0LlxuICAgIC8vIHNvIHdlIG1vdmUgdGhlIHJlcG8sIGNyZWF0ZSB0aGUgYXJ0aWZhY3QsIGFuZCBwdXQgaXQgaW4gdGhlIGV4cGVjdGVkIHBsYWNlLlxuICAgIGNvbnN0IHByZVB1Ymxpc2hTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcblxuICAgIHByZVB1Ymxpc2hTdGVwcy5wdXNoKC4uLnRoaXMud29ya2Zsb3dCb290c3RyYXBTdGVwcyk7XG5cbiAgICBpZiAodGhpcy5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTSkge1xuICAgICAgcHJlUHVibGlzaFN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlNldHVwIHBucG1cIixcbiAgICAgICAgdXNlczogXCJwbnBtL2FjdGlvbi1zZXR1cEB2Mi4yLjRcIixcbiAgICAgICAgd2l0aDogeyB2ZXJzaW9uOiB0aGlzLnBhY2thZ2UucG5wbVZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByZVB1Ymxpc2hTdGVwcy5wdXNoKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlByZXBhcmUgUmVwb3NpdG9yeVwiLFxuICAgICAgICBydW46IGBtdiAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke1JFUE9fVEVNUF9ESVJFQ1RPUll9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiSW5zdGFsbCBEZXBlbmRlbmNpZXNcIixcbiAgICAgICAgcnVuOiBgY2QgJHtSRVBPX1RFTVBfRElSRUNUT1JZfSAmJiAke3RoaXMucGFja2FnZS5pbnN0YWxsQ29tbWFuZH1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYENyZWF0ZSAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBjZCAke1JFUE9fVEVNUF9ESVJFQ1RPUll9ICYmIG5weCBwcm9qZW4gJHtwYWNrVGFzay5uYW1lfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgQ29sbGVjdCAke3RhcmdldH0gQXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBtdiAke1JFUE9fVEVNUF9ESVJFQ1RPUll9LyR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBwdWJsaXNoVG9vbHM6IEpTSUlfVE9PTENIQUlOW3RhcmdldF0sXG4gICAgICBwcmVQdWJsaXNoU3RlcHMsXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUF1dGhvckFkZHJlc3Mob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gIGxldCBhdXRob3JFbWFpbCA9IG9wdGlvbnMuYXV0aG9yRW1haWw7XG4gIGxldCBhdXRob3JVcmwgPSBvcHRpb25zLmF1dGhvclVybDtcbiAgaWYgKG9wdGlvbnMuYXV0aG9yQWRkcmVzcykge1xuICAgIGlmIChvcHRpb25zLmF1dGhvckVtYWlsICYmIG9wdGlvbnMuYXV0aG9yRW1haWwgIT09IG9wdGlvbnMuYXV0aG9yQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImF1dGhvckVtYWlsIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYXV0aG9yQWRkcmVzc1wiXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmF1dGhvclVybCAmJiBvcHRpb25zLmF1dGhvclVybCAhPT0gb3B0aW9ucy5hdXRob3JBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiYXV0aG9yVXJsIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYXV0aG9yQWRkcmVzcy5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoRU1BSUxfUkVHRVgudGVzdChvcHRpb25zLmF1dGhvckFkZHJlc3MpKSB7XG4gICAgICBhdXRob3JFbWFpbCA9IG9wdGlvbnMuYXV0aG9yQWRkcmVzcztcbiAgICB9IGVsc2UgaWYgKFVSTF9SRUdFWC50ZXN0KG9wdGlvbnMuYXV0aG9yQWRkcmVzcykpIHtcbiAgICAgIGF1dGhvclVybCA9IG9wdGlvbnMuYXV0aG9yQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYXV0aG9yQWRkcmVzcyBtdXN0IGJlIGVpdGhlciBhbiBlbWFpbCBhZGRyZXNzIG9yIGEgVVJMOiAke29wdGlvbnMuYXV0aG9yQWRkcmVzc31gXG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBhdXRob3JFbWFpbCwgYXV0aG9yVXJsIH07XG59XG4iXX0=
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9qc2lpLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBK0I7QUFDL0IscUNBQTREO0FBQzVELCtDQUEyQztBQUczQyw4Q0FBMkQ7QUFRM0QsOENBQTRFO0FBQzVFLGtDQUFvQztBQUVwQyxNQUFNLFdBQVcsR0FDZiw0YUFBNGEsQ0FBQztBQUMvYSxNQUFNLFNBQVMsR0FDYixzTEFBc0wsQ0FBQztBQUN6TCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztBQWtIcEMsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDBDQUE2QixDQUFBO0lBQzdCLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEI7QUF1Q0Q7Ozs7R0FJRztBQUNILE1BQWEsV0FBWSxTQUFRLDhCQUFpQjtJQUtoRCxZQUFZLE9BQTJCO1FBQ3JDLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0QsMkVBQTJFO1FBQzNFLE1BQU0sY0FBYyxHQUNsQixPQUFPLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDM0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLEdBQUc7Z0JBQzFCLElBQUksY0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxjQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sY0FBYyxHQUFzQztZQUN4RCxVQUFVLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDakMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLFdBQVc7WUFDWCxTQUFTO1lBQ1QsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUs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Q0YsQ0FBQztRQUNGLE9BQU87WUFDTCxZQUFZLEVBQUUsdUJBQWMsQ0FBQyxNQUFNLENBQUM7WUFDcEMsZUFBZTtTQUNoQixDQUFDO0lBQ0osQ0FBQzs7QUEvVEgsa0NBZ1VDOzs7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE9BQTJCO0lBQ3JELElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDdEMsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNsQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7UUFDekIsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN4RSxNQUFNLElBQUksS0FBSyxDQUNiLGdGQUFnRixDQUNqRixDQUFDO1NBQ0g7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7U0FDSDtRQUVELElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDM0MsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDckM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hELFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1NBQ25DO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxPQUFPLENBQUMsYUFBYSxFQUFFLENBQ25GLENBQUM7U0FDSDtLQUNGO0lBQ0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2UgfSBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBKc2lpUGFjbWFrVGFyZ2V0LCBKU0lJX1RPT0xDSEFJTiB9IGZyb20gXCIuL2NvbnN0c1wiO1xuaW1wb3J0IHsgSnNpaURvY2dlbiB9IGZyb20gXCIuL2pzaWktZG9jZ2VuXCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBKb2IsIFN0ZXAgfSBmcm9tIFwiLi4vZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgRXNsaW50LCBOb2RlUGFja2FnZU1hbmFnZXIgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgQ29tbW9uUHVibGlzaE9wdGlvbnMsXG4gIEdvUHVibGlzaE9wdGlvbnMsXG4gIE1hdmVuUHVibGlzaE9wdGlvbnMsXG4gIE51Z2V0UHVibGlzaE9wdGlvbnMsXG4gIFB5UGlQdWJsaXNoT3B0aW9ucyxcbn0gZnJvbSBcIi4uL3JlbGVhc2VcIjtcbmltcG9ydCB7IFR5cGVTY3JpcHRQcm9qZWN0LCBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuY29uc3QgRU1BSUxfUkVHRVggPVxuICAvKD86W2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKnxcIig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxXFx4MjMtXFx4NWJcXHg1ZC1cXHg3Zl18XFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKlwiKUAoPzooPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XFwuKStbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/fFxcWyg/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkrKVxcXSkvO1xuY29uc3QgVVJMX1JFR0VYID1cbiAgLygoKFtBLVphLXpdezMsOX06KD86XFwvXFwvKT8pKD86W1xcLTs6Jj1cXCtcXCQsXFx3XStAKT9bQS1aYS16MC05XFwuXFwtXSt8KD86d3d3XFwufFtcXC07OiY9XFwrXFwkLFxcd10rQClbQS1aYS16MC05XFwuXFwtXSspKCg/OlxcL1tcXCt+JVxcL1xcLlxcd1xcLV9dKik/XFw/Pyg/OltcXC1cXCs9JjslQFxcLlxcd19dKikjPyg/OltcXC5cXCFcXC9cXFxcXFx3XSopKT8pLztcbmNvbnN0IFJFUE9fVEVNUF9ESVJFQ1RPUlkgPSBcIi5yZXBvXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaVByb2plY3RPcHRpb25zIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHaXQgcmVwb3NpdG9yeSBVUkwuXG4gICAqIEBkZWZhdWx0ICRHSVRfUkVNT1RFXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBsaWJyYXJ5IGF1dGhvci5cbiAgICogQGRlZmF1bHQgJEdJVF9VU0VSX05BTUVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBvciBVUkwgb2YgdGhlIGxpYnJhcnkgYXV0aG9yLlxuICAgKiBAZGVmYXVsdCAkR0lUX1VTRVJfRU1BSUxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGlzaCB0byBtYXZlblxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb01hdmVuPzogSnNpaUphdmFUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gcHlwaVxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb1B5cGk/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIEdvIGJpbmRpbmdzIHRvIGEgZ2l0IHJlcG9zaXRvcnkuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvR28/OiBKc2lpR29UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvUHlQaWBcbiAgICovXG4gIHJlYWRvbmx5IHB5dGhvbj86IEpzaWlQeXRob25UYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gTnVHZXRcbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9OdWdldD86IEpzaWlEb3ROZXRUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHVibGlzaFRvTnVnZXRgXG4gICAqL1xuICByZWFkb25seSBkb3RuZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJ1biBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0IGFnYWluc3QgdGhlIGxhdGVzdCB2ZXJzaW9uIHB1Ymxpc2hlZCB0byBucG0gYWZ0ZXIgY29tcGlsYXRpb24uXG4gICAqXG4gICAqIC0gWW91IGNhbiBtYW51YWxseSBydW4gY29tcGF0aWJpbGl0eSB0ZXN0cyB1c2luZyBgeWFybiBjb21wYXRgIGlmIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC5cbiAgICogLSBZb3UgY2FuIGlnbm9yZSBjb21wYXRpYmlsaXR5IGZhaWx1cmVzIGJ5IGFkZGluZyBsaW5lcyB0byBhIFwiLmNvbXBhdGlnbm9yZVwiIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb21wYXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBpZ25vcmUgZmlsZSBmb3IgQVBJIGNvbXBhdGliaWxpdHkgdGVzdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiLmNvbXBhdGlnbm9yZVwiXG4gICAqL1xuICByZWFkb25seSBjb21wYXRJZ25vcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBsaXN0IG9mIGdsb2IgcGF0dGVybnMuIEZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aG9zZSBwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGpzaWkgd2lsbCBpbmNsdWRlIGFsbCAqLnRzIGZpbGVzIChleGNlcHQgLmQudHMgZmlsZXMpIGluIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKiBUaGlzIGNhbiBiZSBwcm9ibGVtYXRpYyBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYWNrYWdlJ3MgYnVpbGQgb3IgdGVzdCBwcm9jZWR1cmUgZ2VuZXJhdGVzIC50cyBmaWxlc1xuICAgKiB0aGF0IGNhbm5vdCBiZSBjb21waWxlZCB3aXRoIGpzaWkncyBjb21waWxlciBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVUeXBlc2NyaXB0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEZpbGUgcGF0aCBmb3IgZ2VuZXJhdGVkIGRvY3MuXG4gICAqIEBkZWZhdWx0IFwiQVBJLm1kXCJcbiAgICovXG4gIHJlYWRvbmx5IGRvY2dlbkZpbGVQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0IGEgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIHRoZSBhc3NlbWJseVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIGpzaWkgY29tcGlsZXIgdG8gdXNlLlxuICAgKlxuICAgKiBTZXQgdG8gXCIqXCIgaWYgeW91IHdhbnQgdG8gbWFudWFsbHkgbWFuYWdlIHRoZSB2ZXJzaW9uIG9mIGpzaWkgaW4geW91clxuICAgKiBwcm9qZWN0IGJ5IG1hbmFnaW5nIHVwZGF0ZXMgdG8gYHBhY2thZ2UuanNvbmAgb24geW91ciBvd24uXG4gICAqXG4gICAqIE5PVEU6IFRoZSBqc2lpIGNvbXBpbGVyIHJlbGVhc2VzIHNpbmNlIDUuMC4wIGFyZSBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZFxuICAgKiBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGUgc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3lcbiAgICogKGUuZy4gYH41LjAuMGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjEueFwiXG4gICAqIEBwam5ldyBcIn41LjAuMFwiXG4gICAqL1xuICByZWFkb25seSBqc2lpVmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gU3RhYmlsaXR5IHtcbiAgRVhQRVJJTUVOVEFMID0gXCJleHBlcmltZW50YWxcIixcbiAgU1RBQkxFID0gXCJzdGFibGVcIixcbiAgREVQUkVDQVRFRCA9IFwiZGVwcmVjYXRlZFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlKYXZhVGFyZ2V0IGV4dGVuZHMgTWF2ZW5QdWJsaXNoT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGphdmFQYWNrYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hdmVuR3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBtYXZlbkFydGlmYWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHl0aG9uVGFyZ2V0IGV4dGVuZHMgUHlQaVB1Ymxpc2hPcHRpb25zIHtcbiAgcmVhZG9ubHkgZGlzdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kdWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaURvdE5ldFRhcmdldCBleHRlbmRzIE51Z2V0UHVibGlzaE9wdGlvbnMge1xuICByZWFkb25seSBkb3ROZXROYW1lc3BhY2U6IHN0cmluZztcbiAgcmVhZG9ubHkgcGFja2FnZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGljb25Vcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogR28gdGFyZ2V0IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc2lpR29UYXJnZXQgZXh0ZW5kcyBHb1B1Ymxpc2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgZ28gbW9kdWxlLlxuICAgKlxuICAgKiBAZXhhbXBsZSBnaXRodWIuY29tL293bmVyL3JlcG9cbiAgICogQGV4YW1wbGUgZ2l0aHViLmNvbS9vd25lci9yZXBvL3N1YmRpclxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ28gcGFja2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gdGhlIG1vZHVsZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNdWx0aS1sYW5ndWFnZSBqc2lpIGxpYnJhcnkgcHJvamVjdFxuICpcbiAqIEBwamlkIGpzaWlcbiAqL1xuZXhwb3J0IGNsYXNzIEpzaWlQcm9qZWN0IGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZXNsaW50PzogRXNsaW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFja2FnZUFsbFRhc2s6IFRhc2s7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgeyBhdXRob3JFbWFpbCwgYXV0aG9yVXJsIH0gPSBwYXJzZUF1dGhvckFkZHJlc3Mob3B0aW9ucyk7XG5cbiAgICAvLyBUcnVlIGlmIGpzaWkgdmVyc2lvbiAxLnggaXMgY29tcGF0aWJsZSB3aXRoIHRoZSByZXF1ZXN0ZWQgdmVyc2lvbiByYW5nZS5cbiAgICBjb25zdCB1c2VzTGVnYWN5SnNpaSA9XG4gICAgICBvcHRpb25zLmpzaWlWZXJzaW9uID09IG51bGwgfHxcbiAgICAgIChvcHRpb25zLmpzaWlWZXJzaW9uICE9PSBcIipcIiAmJlxuICAgICAgICBuZXcgUmFuZ2Uob3B0aW9ucy5qc2lpVmVyc2lvbikuaW50ZXJzZWN0cyhuZXcgUmFuZ2UoXCIxLnhcIikpKTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucz4gPSB7XG4gICAgICByZXBvc2l0b3J5OiBvcHRpb25zLnJlcG9zaXRvcnlVcmwsXG4gICAgICBhdXRob3JOYW1lOiBvcHRpb25zLmF1dGhvcixcbiAgICAgIGF1dGhvckVtYWlsLFxuICAgICAgYXV0aG9yVXJsLFxuICAgICAgamVzdE9wdGlvbnM6IHVzZXNMZWdhY3lKc2lpID8geyBqZXN0VmVyc2lvbjogXCJeMjdcIiB9IDogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBjb25zdCBmb3JjZWRPcHRpb25zID0ge1xuICAgICAgcmVsZWFzZVRvTnBtOiBmYWxzZSwgLy8gd2UgaGF2ZSBhIGpzaWkgcmVsZWFzZSB3b3JrZmxvd1xuICAgICAgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAvLyBqc2lpIGdlbmVyYXRlcyBpdHMgb3duIHRzY29uZmlnLmpzb25cbiAgICAgIGRvY2dlbjogZmFsc2UsIC8vIHdlIHVzZSBqc2lpLWRvY2dlbiBoZXJlIHNvIGRpc2FibGUgdHlwZXNjcmlwdCBkb2NnZW5cbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IGRlZXBNZXJnZShbXG4gICAgICBkZWZhdWx0T3B0aW9ucyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmb3JjZWRPcHRpb25zLFxuICAgIF0pIGFzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucztcblxuICAgIHN1cGVyKG1lcmdlZE9wdGlvbnMpO1xuXG4gICAgY29uc3Qgc3JjZGlyID0gdGhpcy5zcmNkaXI7XG4gICAgY29uc3QgbGliZGlyID0gdGhpcy5saWJkaXI7XG5cbiAgICB0aGlzLmFkZEZpZWxkcyh7IHR5cGVzOiBgJHtsaWJkaXJ9L2luZGV4LmQudHNgIH0pO1xuXG4gICAgY29uc3QgY29tcHJlc3NBc3NlbWJseSA9IG9wdGlvbnMuY29tcHJlc3NBc3NlbWJseSA/PyBmYWxzZTtcblxuICAgIC8vIHRoaXMgaXMgYW4gdW5oZWxwZnVsIHdhcm5pbmdcbiAgICBjb25zdCBqc2lpRmxhZ3MgPSBbXCItLXNpbGVuY2Utd2FybmluZ3M9cmVzZXJ2ZWQtd29yZFwiXTtcbiAgICBpZiAoY29tcHJlc3NBc3NlbWJseSkge1xuICAgICAganNpaUZsYWdzLnB1c2goXCItLWNvbXByZXNzLWFzc2VtYmx5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBhdElnbm9yZSA9IG9wdGlvbnMuY29tcGF0SWdub3JlID8/IFwiLmNvbXBhdGlnbm9yZVwiO1xuXG4gICAgdGhpcy5hZGRGaWVsZHMoeyBzdGFiaWxpdHk6IG9wdGlvbnMuc3RhYmlsaXR5ID8/IFN0YWJpbGl0eS5TVEFCTEUgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zdGFiaWxpdHkgPT09IFN0YWJpbGl0eS5ERVBSRUNBVEVEKSB7XG4gICAgICB0aGlzLmFkZEZpZWxkcyh7IGRlcHJlY2F0ZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGF0VGFzayA9IHRoaXMuYWRkVGFzayhcImNvbXBhdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQZXJmb3JtIEFQSSBjb21wYXRpYmlsaXR5IGNoZWNrIGFnYWluc3QgbGF0ZXN0IHZlcnNpb25cIixcbiAgICAgIGV4ZWM6IGBqc2lpLWRpZmYgbnBtOiQobm9kZSAtcCBcInJlcXVpcmUoXFwnLi9wYWNrYWdlLmpzb25cXCcpLm5hbWVcIikgLWsgLS1pZ25vcmUtZmlsZSAke2NvbXBhdElnbm9yZX0gfHwgKGVjaG8gXCJcXG5VTkVYUEVDVEVEIEJSRUFLSU5HIENIQU5HRVM6IGFkZCBrZXlzIHN1Y2ggYXMgXFwncmVtb3ZlZDpjb25zdHJ1Y3RzLk5vZGUub2ZcXCcgdG8gJHtjb21wYXRJZ25vcmV9IHRvIHNraXAuXFxuXCIgJiYgZXhpdCAxKWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wYXQgPSBvcHRpb25zLmNvbXBhdCA/PyBmYWxzZTtcbiAgICBpZiAoY29tcGF0KSB7XG4gICAgICB0aGlzLmNvbXBpbGVUYXNrLnNwYXduKGNvbXBhdFRhc2spO1xuICAgIH1cblxuICAgIHRoaXMuY29tcGlsZVRhc2sucmVzZXQoW1wianNpaVwiLCAuLi5qc2lpRmxhZ3NdLmpvaW4oXCIgXCIpKTtcbiAgICB0aGlzLndhdGNoVGFzay5yZXNldChbXCJqc2lpXCIsIFwiLXdcIiwgLi4uanNpaUZsYWdzXS5qb2luKFwiIFwiKSk7XG4gICAgdGhpcy5wYWNrYWdlQWxsVGFzayA9IHRoaXMuYWRkVGFzayhcInBhY2thZ2UtYWxsXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBhY2thZ2VzIGFydGlmYWN0cyBmb3IgYWxsIHRhcmdldCBsYW5ndWFnZXNcIixcbiAgICB9KTtcblxuICAgIC8vIGluIGpzaWkgd2UgY29uc2lkZXIgdGhlIGVudGlyZSByZXBvIChwb3N0IGJ1aWxkKSBhcyB0aGUgYnVpbGQgYXJ0aWZhY3RcbiAgICAvLyB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY3JlYXRlIHRoZSBsYW5ndWFnZSBiaW5kaW5ncyBpbiBzZXBhcmF0ZSBqb2JzLlxuICAgIGNvbnN0IHByZXBhcmVSZXBvRm9yQ0kgPSBbXG4gICAgICBgcnN5bmMgLWEgLiAucmVwbyAtLWV4Y2x1ZGUgLmdpdCAtLWV4Y2x1ZGUgbm9kZV9tb2R1bGVzYCxcbiAgICAgIGBybSAtcmYgJHt0aGlzLmFydGlmYWN0c0RpcmVjdG9yeX1gLFxuICAgICAgYG12IC5yZXBvICR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICBdLmpvaW4oXCIgJiYgXCIpO1xuXG4gICAgLy8gd2hlbiBydW5uaW5nIGluc2lkZSBDSSB3ZSBqdXN0IHByZXBhcmUgdGhlIHJlcG8gZm9yIHBhY2thZ2luZywgd2hpY2hcbiAgICAvLyB0YWtlcyBwbGFjZSBpbiBzZXBhcmF0ZSB0YXNrcy5cbiAgICAvLyBvdXRzaWRlIG9mIENJIChpLmUgbG9jYWxseSkgd2Ugc2ltcGx5IHBhY2thZ2UgYWxsIHRhcmdldHMuXG4gICAgdGhpcy5wYWNrYWdlVGFzay5yZXNldChcbiAgICAgIGBpZiBbICEgLXogXFwke0NJfSBdOyB0aGVuICR7cHJlcGFyZVJlcG9Gb3JDSX07IGVsc2UgJHt0aGlzLnJ1blRhc2tDb21tYW5kKFxuICAgICAgICB0aGlzLnBhY2thZ2VBbGxUYXNrXG4gICAgICApfTsgZmlgXG4gICAgKTtcblxuICAgIGNvbnN0IHRhcmdldHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIGNvbnN0IGpzaWk6IGFueSA9IHtcbiAgICAgIG91dGRpcjogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICB0YXJnZXRzLFxuICAgICAgdHNjOiB7XG4gICAgICAgIG91dERpcjogbGliZGlyLFxuICAgICAgICByb290RGlyOiBzcmNkaXIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdCkge1xuICAgICAganNpaS5leGNsdWRlVHlwZXNjcmlwdCA9IG9wdGlvbnMuZXhjbHVkZVR5cGVzY3JpcHQ7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRGaWVsZHMoeyBqc2lpIH0pO1xuXG4gICAgdGhpcy5yZWxlYXNlPy5wdWJsaXNoZXIuYWRkR2l0SHViUHJlUHVibGlzaGluZ1N0ZXBzKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlByZXBhcmUgUmVwb3NpdG9yeVwiLFxuICAgICAgICBydW46IGBtdiAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke1JFUE9fVEVNUF9ESVJFQ1RPUll9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQ29sbGVjdCBHaXRIdWIgTWV0YWRhdGFcIixcbiAgICAgICAgcnVuOiBgbXYgJHtSRVBPX1RFTVBfRElSRUNUT1JZfS8ke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fWAsXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGV4dHJhSm9iT3B0aW9uczogUGFydGlhbDxKb2I+ID0ge1xuICAgICAgLi4uKG9wdGlvbnMud29ya2Zsb3dSdW5zT24gPyB7IHJ1bnNPbjogb3B0aW9ucy53b3JrZmxvd1J1bnNPbiB9IDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMud29ya2Zsb3dDb250YWluZXJJbWFnZVxuICAgICAgICA/IHsgY29udGFpbmVyOiB7IGltYWdlOiBvcHRpb25zLndvcmtmbG93Q29udGFpbmVySW1hZ2UgfSB9XG4gICAgICAgIDoge30pLFxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5yZWxlYXNlVG9OcG0gIT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJqc1wiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb05wbSh7XG4gICAgICAgIC4uLnRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UoXCJqc1wiLCB0YXNrKSxcbiAgICAgICAgcmVnaXN0cnk6IHRoaXMucGFja2FnZS5ucG1SZWdpc3RyeSxcbiAgICAgICAgbnBtVG9rZW5TZWNyZXQ6IHRoaXMucGFja2FnZS5ucG1Ub2tlblNlY3JldCxcbiAgICAgICAgY29kZUFydGlmYWN0T3B0aW9uczogb3B0aW9ucy5jb2RlQXJ0aWZhY3RPcHRpb25zLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFkZFBhY2thZ2luZ1RhcmdldChcImpzXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gd2UgY2Fubm90IGNhbGwgYW4gb3B0aW9uIGBqYXZhYCBiZWNhdXNlIHRoZSBqYXZhIGNvZGUgZ2VuZXJhdGVkIGJ5IGpzaWlcbiAgICAvLyBkb2VzIG5vdCBjb21waWxlIGR1ZSB0byBhIGNvbmZsaWN0IGJldHdlZW4gdGhpcyBvcHRpb24gbmFtZSBhbmQgdGhlIGBqYXZhYFxuICAgIC8vIHBhY2thZ2UgKGUuZy4gd2hlbiBgamF2YS51dGlsLk9iamVjdHNgIGlzIHJlZmVyZW5jZWQpLlxuICAgIGlmIChcImphdmFcIiBpbiBvcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoZSBcImphdmFcIiBvcHRpb24gaXMgbm93IGNhbGxlZCBcInB1Ymxpc2hUb01hdmVuXCInKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wdWJsaXNoVG9NYXZlbikge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBvcHRpb25zLnB1Ymxpc2hUb01hdmVuLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5Hcm91cElkLFxuICAgICAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5BcnRpZmFjdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhcImphdmFcIik7XG5cbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb01hdmVuKHtcbiAgICAgICAgLi4udGhpcy5wYWNtYWtGb3JMYW5ndWFnZShcImphdmFcIiwgdGFzayksXG4gICAgICAgIC4uLm9wdGlvbnMucHVibGlzaFRvTWF2ZW4sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hZGRQYWNrYWdpbmdUYXJnZXQoXCJqYXZhXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgcHlwaSA9IG9wdGlvbnMucHVibGlzaFRvUHlwaSA/PyBvcHRpb25zLnB5dGhvbjtcbiAgICBpZiAocHlwaSkge1xuICAgICAgdGFyZ2V0cy5weXRob24gPSB7XG4gICAgICAgIGRpc3ROYW1lOiBweXBpLmRpc3ROYW1lLFxuICAgICAgICBtb2R1bGU6IHB5cGkubW9kdWxlLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgdGFzayA9IHRoaXMuYWRkUGFja2FnaW5nVGFzayhcInB5dGhvblwiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb1B5UGkoe1xuICAgICAgICAuLi50aGlzLnBhY21ha0Zvckxhbmd1YWdlKFwicHl0aG9uXCIsIHRhc2spLFxuICAgICAgICAuLi5weXBpLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWRkUGFja2FnaW5nVGFyZ2V0KFwicHl0aG9uXCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVnZXQgPSBvcHRpb25zLnB1Ymxpc2hUb051Z2V0ID8/IG9wdGlvbnMuZG90bmV0O1xuICAgIGlmIChudWdldCkge1xuICAgICAgdGFyZ2V0cy5kb3RuZXQgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogbnVnZXQuZG90TmV0TmFtZXNwYWNlLFxuICAgICAgICBwYWNrYWdlSWQ6IG51Z2V0LnBhY2thZ2VJZCxcbiAgICAgICAgaWNvblVybDogbnVnZXQuaWNvblVybCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJkb3RuZXRcIik7XG4gICAgICB0aGlzLnJlbGVhc2U/LnB1Ymxpc2hlci5wdWJsaXNoVG9OdWdldCh7XG4gICAgICAgIC4uLnRoaXMucGFjbWFrRm9yTGFuZ3VhZ2UoXCJkb3RuZXRcIiwgdGFzayksXG4gICAgICAgIC4uLm51Z2V0LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWRkUGFja2FnaW5nVGFyZ2V0KFwiZG90bmV0XCIsIHRhc2ssIGV4dHJhSm9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZ29sYW5nID0gb3B0aW9ucy5wdWJsaXNoVG9HbztcbiAgICBpZiAoZ29sYW5nKSB7XG4gICAgICB0YXJnZXRzLmdvID0ge1xuICAgICAgICBtb2R1bGVOYW1lOiBnb2xhbmcubW9kdWxlTmFtZSxcbiAgICAgICAgcGFja2FnZU5hbWU6IGdvbGFuZy5wYWNrYWdlTmFtZSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmFkZFBhY2thZ2luZ1Rhc2soXCJnb1wiKTtcbiAgICAgIHRoaXMucmVsZWFzZT8ucHVibGlzaGVyLnB1Ymxpc2hUb0dvKHtcbiAgICAgICAgLi4udGhpcy5wYWNtYWtGb3JMYW5ndWFnZShcImdvXCIsIHRhc2spLFxuICAgICAgICAuLi5nb2xhbmcsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hZGRQYWNrYWdpbmdUYXJnZXQoXCJnb1wiLCB0YXNrLCBleHRyYUpvYk9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNvbnN0IGpzaWlTdWZmaXggPVxuICAgICAgb3B0aW9ucy5qc2lpVmVyc2lvbiA9PT0gXCIqXCJcbiAgICAgICAgPyAvLyBJZiBqc2lpVmVyc2lvbiBpcyBcIipcIiwgZG9uJ3Qgc3BlY2lmeSBhbnl0aGluZyBzbyB0aGUgdXNlciBjYW4gbWFuYWdlLlxuICAgICAgICAgIFwiXCJcbiAgICAgICAgOiAvLyBPdGhlcndpc2UsIHVzZSBganNpaVZlcnNpb25gIG9yIGZhbGwgYmFjayB0byBgMS54YC5cbiAgICAgICAgICBgQCR7b3B0aW9ucy5qc2lpVmVyc2lvbiA/PyBcIjEueFwifWA7XG4gICAgdGhpcy5hZGREZXZEZXBzKGBqc2lpJHtqc2lpU3VmZml4fWAsIFwianNpaS1kaWZmXCIsIFwianNpaS1wYWNtYWtcIik7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFwiLmpzaWlcIiwgXCJ0c2NvbmZpZy5qc29uXCIpO1xuICAgIHRoaXMubnBtaWdub3JlPy5pbmNsdWRlKFwiLmpzaWlcIik7XG5cbiAgICBpZiAob3B0aW9ucy5kb2NnZW4gPz8gdHJ1ZSkge1xuICAgICAgbmV3IEpzaWlEb2NnZW4odGhpcywgeyBmaWxlUGF0aDogb3B0aW9ucy5kb2NnZW5GaWxlUGF0aCB9KTtcbiAgICB9XG5cbiAgICAvLyBqc2lpIHVwZGF0ZXMgLm5wbWlnbm9yZSwgc28gd2UgbWFrZSBpdCB3cml0YWJsZVxuICAgIGlmICh0aGlzLm5wbWlnbm9yZSkge1xuICAgICAgdGhpcy5ucG1pZ25vcmUucmVhZG9ubHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHVzaW5nIGpzaWlAMSx4LCB3ZSBuZWVkIHRvIGFkZCBzb21lIHJlc29sdXRpb25zIHRvIGF2b2lkIGluY2x1ZGluZ1xuICAgIC8vIFR5cGVTY3JpcHQtMy45LWluY29tcGF0YmxlIGRlcGVuZGVuY2llcyB0aGF0IGJyZWFrIHRoZSBjb21waWxlci5cbiAgICBpZiAodXNlc0xlZ2FjeUpzaWkpIHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL2lzc3Vlcy8yMTY1XG4gICAgICB0aGlzLnBhY2thZ2UuYWRkUGFja2FnZVJlc29sdXRpb25zKFwiQHR5cGVzL3ByZXR0aWVyQDIuNi4wXCIpO1xuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9pc3N1ZXMvMjI2NFxuICAgICAgdGhpcy5wYWNrYWdlLmFkZFBhY2thZ2VSZXNvbHV0aW9ucyhcIkB0eXBlcy9iYWJlbF9fdHJhdmVyc2VANy4xOC4yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGFyZ2V0IGxhbmd1YWdlIHRvIHRoZSBidWlsZCB3b3JrZmxvdyBhbmQgY3JlYXRlcyBhIHBhY2thZ2UgdGFzay5cbiAgICogQHBhcmFtIGxhbmd1YWdlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIGFkZFBhY2thZ2luZ1RhcmdldChcbiAgICBsYW5ndWFnZTogSnNpaVBhY21ha1RhcmdldCxcbiAgICBwYWNrVGFzazogVGFzayxcbiAgICBleHRyYUpvYk9wdGlvbnM6IFBhcnRpYWw8Sm9iPlxuICApIHtcbiAgICBpZiAoIXRoaXMuYnVpbGRXb3JrZmxvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYWNtYWsgPSB0aGlzLnBhY21ha0Zvckxhbmd1YWdlKGxhbmd1YWdlLCBwYWNrVGFzayk7XG5cbiAgICB0aGlzLmJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkSm9iKGBwYWNrYWdlLSR7bGFuZ3VhZ2V9YCwge1xuICAgICAgcnVuc09uOiBbXCJ1YnVudHUtbGF0ZXN0XCJdLFxuICAgICAgcGVybWlzc2lvbnM6IHt9LFxuICAgICAgdG9vbHM6IHtcbiAgICAgICAgbm9kZTogeyB2ZXJzaW9uOiB0aGlzLm5vZGVWZXJzaW9uID8/IFwiMTYueFwiIH0sXG4gICAgICAgIC4uLnBhY21hay5wdWJsaXNoVG9vbHMsXG4gICAgICB9LFxuICAgICAgc3RlcHM6IHBhY21hay5wcmVQdWJsaXNoU3RlcHMgPz8gW10sXG4gICAgICAuLi5leHRyYUpvYk9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZFBhY2thZ2luZ1Rhc2sobGFuZ3VhZ2U6IEpzaWlQYWNtYWtUYXJnZXQpOiBUYXNrIHtcbiAgICBjb25zdCBwYWNrYWdlVGFzayA9IHRoaXMudGFza3MuYWRkVGFzayhgcGFja2FnZToke2xhbmd1YWdlfWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlICR7bGFuZ3VhZ2V9IGxhbmd1YWdlIGJpbmRpbmdzYCxcbiAgICB9KTtcbiAgICBwYWNrYWdlVGFzay5leGVjKGBqc2lpLXBhY21hayAtdiAtLXRhcmdldCAke2xhbmd1YWdlfWApO1xuICAgIHRoaXMucGFja2FnZUFsbFRhc2suc3Bhd24ocGFja2FnZVRhc2spO1xuICAgIHJldHVybiBwYWNrYWdlVGFzaztcbiAgfVxuXG4gIHByaXZhdGUgcGFjbWFrRm9yTGFuZ3VhZ2UoXG4gICAgdGFyZ2V0OiBKc2lpUGFjbWFrVGFyZ2V0LFxuICAgIHBhY2tUYXNrOiBUYXNrXG4gICk6IENvbW1vblB1Ymxpc2hPcHRpb25zIHtcbiAgICAvLyBhdCB0aGlzIHN0YWdlLCBgYXJ0aWZhY3RzRGlyZWN0b3J5YCBjb250YWlucyB0aGUgcHJlYnVpbHQgcmVwb3NpdG9yeS5cbiAgICAvLyBmb3IgdGhlIHB1Ymxpc2hpbmcgdG8gd29yayBzZWFtbGVzc2VseSwgdGhhdCBkaXJlY3RvcnkgbmVlZHMgdG8gY29udGFpbiB0aGUgYWN0dWFsIGFydGlmYWN0LlxuICAgIC8vIHNvIHdlIG1vdmUgdGhlIHJlcG8sIGNyZWF0ZSB0aGUgYXJ0aWZhY3QsIGFuZCBwdXQgaXQgaW4gdGhlIGV4cGVjdGVkIHBsYWNlLlxuICAgIGNvbnN0IHByZVB1Ymxpc2hTdGVwczogQXJyYXk8U3RlcD4gPSBbXTtcblxuICAgIHByZVB1Ymxpc2hTdGVwcy5wdXNoKC4uLnRoaXMud29ya2Zsb3dCb290c3RyYXBTdGVwcyk7XG5cbiAgICBpZiAodGhpcy5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyID09PSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTSkge1xuICAgICAgcHJlUHVibGlzaFN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlNldHVwIHBucG1cIixcbiAgICAgICAgdXNlczogXCJwbnBtL2FjdGlvbi1zZXR1cEB2Mi4yLjRcIixcbiAgICAgICAgd2l0aDogeyB2ZXJzaW9uOiB0aGlzLnBhY2thZ2UucG5wbVZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByZVB1Ymxpc2hTdGVwcy5wdXNoKFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlByZXBhcmUgUmVwb3NpdG9yeVwiLFxuICAgICAgICBydW46IGBtdiAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fSAke1JFUE9fVEVNUF9ESVJFQ1RPUll9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiSW5zdGFsbCBEZXBlbmRlbmNpZXNcIixcbiAgICAgICAgcnVuOiBgY2QgJHtSRVBPX1RFTVBfRElSRUNUT1JZfSAmJiAke3RoaXMucGFja2FnZS5pbnN0YWxsQ29tbWFuZH1gLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYENyZWF0ZSAke3RhcmdldH0gYXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBjZCAke1JFUE9fVEVNUF9ESVJFQ1RPUll9ICYmIG5weCBwcm9qZW4gJHtwYWNrVGFzay5uYW1lfWAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBgQ29sbGVjdCAke3RhcmdldH0gQXJ0aWZhY3RgLFxuICAgICAgICBydW46IGBtdiAke1JFUE9fVEVNUF9ESVJFQ1RPUll9LyR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9ICR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9YCxcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBwdWJsaXNoVG9vbHM6IEpTSUlfVE9PTENIQUlOW3RhcmdldF0sXG4gICAgICBwcmVQdWJsaXNoU3RlcHMsXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUF1dGhvckFkZHJlc3Mob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gIGxldCBhdXRob3JFbWFpbCA9IG9wdGlvbnMuYXV0aG9yRW1haWw7XG4gIGxldCBhdXRob3JVcmwgPSBvcHRpb25zLmF1dGhvclVybDtcbiAgaWYgKG9wdGlvbnMuYXV0aG9yQWRkcmVzcykge1xuICAgIGlmIChvcHRpb25zLmF1dGhvckVtYWlsICYmIG9wdGlvbnMuYXV0aG9yRW1haWwgIT09IG9wdGlvbnMuYXV0aG9yQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImF1dGhvckVtYWlsIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYXV0aG9yQWRkcmVzc1wiXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmF1dGhvclVybCAmJiBvcHRpb25zLmF1dGhvclVybCAhPT0gb3B0aW9ucy5hdXRob3JBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiYXV0aG9yVXJsIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYXV0aG9yQWRkcmVzcy5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoRU1BSUxfUkVHRVgudGVzdChvcHRpb25zLmF1dGhvckFkZHJlc3MpKSB7XG4gICAgICBhdXRob3JFbWFpbCA9IG9wdGlvbnMuYXV0aG9yQWRkcmVzcztcbiAgICB9IGVsc2UgaWYgKFVSTF9SRUdFWC50ZXN0KG9wdGlvbnMuYXV0aG9yQWRkcmVzcykpIHtcbiAgICAgIGF1dGhvclVybCA9IG9wdGlvbnMuYXV0aG9yQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgYXV0aG9yQWRkcmVzcyBtdXN0IGJlIGVpdGhlciBhbiBlbWFpbCBhZGRyZXNzIG9yIGEgVVJMOiAke29wdGlvbnMuYXV0aG9yQWRkcmVzc31gXG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBhdXRob3JFbWFpbCwgYXV0aG9yVXJsIH07XG59XG4iXX0=
@@ -18,9 +18,9 @@ class AutoDiscover extends component_1.Component {
18
18
  }
19
19
  }
20
20
  }
21
- _a = JSII_RTTI_SYMBOL_1;
22
- AutoDiscover[_a] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.71.83" };
23
21
  exports.AutoDiscover = AutoDiscover;
22
+ _a = JSII_RTTI_SYMBOL_1;
23
+ AutoDiscover[_a] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.71.85" };
24
24
  /**
25
25
  * Discovers and creates integration tests from files in the test root.
26
26
  */
@@ -35,7 +35,7 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
35
35
  }
36
36
  }
37
37
  }
38
- _b = JSII_RTTI_SYMBOL_1;
39
- IntegrationTestAutoDiscover[_b] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.71.83" };
40
38
  exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9hdXRvLWRpc2NvdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseURBQXFEO0FBQ3JELGdDQUdnQjtBQUNoQiw0Q0FBeUM7QUFnQnpDOzs7R0FHRztBQUNILE1BQWEsWUFBYSxTQUFRLHFCQUFTO0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJLEVBQUU7WUFDL0MsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7OztBQVBVLG9DQUFZO0FBa0J6Qjs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEscUNBQStCO0lBQzlFLFlBQVksT0FBZ0IsRUFBRSxPQUEyQztRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QyxJQUFJLGtDQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEMsVUFBVTtnQkFDVixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0FBVlUsa0VBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHtcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMsXG59IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBdXRvRGlzY292ZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZGlzY292ZXIgaW50ZWdyYXRpb24gdGVzdHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVycyBhbmQgY3JlYXRlcyBgSW50ZWdyYXRpb25UZXN0YHMgZnJvbSBlbnRyeSBwb2ludHNcbiAqIGZvdW5kIGluIHRoZSB0ZXN0IHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvRGlzY292ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSB0c2NvbmZpZyBmaWxlIHRvIHVzZSBmb3IgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZnJvbSBmaWxlcyBpbiB0aGUgdGVzdCByb290LlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
39
+ _b = JSII_RTTI_SYMBOL_1;
40
+ IntegrationTestAutoDiscover[_b] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.71.85" };
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9hdXRvLWRpc2NvdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseURBQXFEO0FBQ3JELGdDQUdnQjtBQUNoQiw0Q0FBeUM7QUFnQnpDOzs7R0FHRztBQUNILE1BQWEsWUFBYSxTQUFRLHFCQUFTO0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJLEVBQUU7WUFDL0MsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7QUFQSCxvQ0FRQzs7O0FBVUQ7O0dBRUc7QUFDSCxNQUFhLDJCQUE0QixTQUFRLHFDQUErQjtJQUM5RSxZQUFZLE9BQWdCLEVBQUUsT0FBMkM7UUFDdkUsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4QixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVU7Z0JBQ1YsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFWSCxrRUFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVncmF0aW9uVGVzdCB9IGZyb20gXCIuL2ludGVncmF0aW9uLXRlc3RcIjtcbmltcG9ydCB7XG4gIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2UsXG4gIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2VPcHRpb25zLFxufSBmcm9tIFwiLi4vY2RrXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQXV0b0Rpc2NvdmVyYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvRGlzY292ZXJPcHRpb25zXG4gIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQXV0b21hdGljYWxseSBkaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgYEludGVncmF0aW9uVGVzdGBzIGZyb20gZW50cnkgcG9pbnRzXG4gKiBmb3VuZCBpbiB0aGUgdGVzdCB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgaWYgKG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyID8/IHRydWUpIHtcbiAgICAgIG5ldyBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIodGhpcy5wcm9qZWN0LCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zXG4gIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgdHNjb25maWcgZmlsZSB0byB1c2UgZm9yIGludGVncmF0aW9uIHRlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGlzY292ZXJzIGFuZCBjcmVhdGVzIGludGVncmF0aW9uIHRlc3RzIGZyb20gZmlsZXMgaW4gdGhlIHRlc3Qgcm9vdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciBleHRlbmRzIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgdHNjb25maWdQYXRoOiBvcHRpb25zLnRzY29uZmlnUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -48,9 +48,9 @@ class Cdk8sPythonApp extends python_project_1.PythonProject {
48
48
  }
49
49
  }
50
50
  }
51
- _a = JSII_RTTI_SYMBOL_1;
52
- Cdk8sPythonApp[_a] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.71.83" };
53
51
  exports.Cdk8sPythonApp = Cdk8sPythonApp;
52
+ _a = JSII_RTTI_SYMBOL_1;
53
+ Cdk8sPythonApp[_a] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.71.85" };
54
54
  class AppCode extends __1.Component {
55
55
  constructor(project, filename) {
56
56
  super(project);
@@ -73,4 +73,4 @@ class AppCode extends __1.Component {
73
73
  });
74
74
  }
75
75
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXB5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWFwcC1weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLG1EQUE4QztBQUM5QywwQkFBcUU7QUFDckUsNkRBQStFO0FBOEIvRTs7Ozs7R0FLRztBQUNILE1BQWEsY0FBZSxTQUFRLDhCQUFhO0lBUS9DLFlBQVksT0FBMkI7UUFDckMsS0FBSyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMkJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDckMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUM7UUFFdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbEMsV0FBVyxFQUFFLHNDQUFzQztZQUNuRCxJQUFJLEVBQUUsYUFBYTtTQUNwQixDQUFDLENBQUM7UUFFSCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGNBQWM7WUFDcEMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRVYsSUFBSSxZQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUMvQixTQUFTLEVBQUUsSUFBSTtZQUNmLGFBQWEsRUFBRSxJQUFJO1lBQ25CLEdBQUcsRUFBRTtnQkFDSCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLFVBQVUsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbkMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQzs7OztBQWpEVSx3Q0FBYztBQW9EM0IsTUFBTSxPQUFRLFNBQVEsYUFBUztJQUM3QixZQUFZLE9BQXVCLEVBQUUsUUFBZ0I7UUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxjQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtZQUNoQyxRQUFRLEVBQUU7Z0JBQ1Isa0NBQWtDO2dCQUNsQyw4QkFBOEI7Z0JBQzlCLEVBQUU7Z0JBQ0YsRUFBRTtnQkFDRix1QkFBdUI7Z0JBQ3ZCLGlEQUFpRDtnQkFDakQsaUNBQWlDO2dCQUNqQyxFQUFFO2dCQUNGLEVBQUU7Z0JBQ0YsYUFBYTtnQkFDYixpQ0FBaUM7Z0JBQ2pDLEVBQUU7Z0JBQ0YsYUFBYTthQUNkLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENkazhzRGVwcywgQ2RrOHNEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2NkazhzLWRlcHNcIjtcbmltcG9ydCB7IENkazhzRGVwc1B5IH0gZnJvbSBcIi4vY2RrOHMtZGVwcy1weVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXBlbmRlbmN5VHlwZSwgWWFtbEZpbGUsIFNhbXBsZUZpbGUgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IFB5dGhvblByb2plY3QsIFB5dGhvblByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL3B5dGhvbi9weXRob24tcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBDZGs4c1B5dGhvbkFwcGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGs4c1B5dGhvbk9wdGlvbnNcbiAgZXh0ZW5kcyBQeXRob25Qcm9qZWN0T3B0aW9ucyxcbiAgICBDZGs4c0RlcHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhIHNwZWNpZmljIEt1YmVybmV0ZXMgc3BlYyB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgY2RrOHMgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgazhzU3BlY1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhZGRpdGlvbmFsIHNwZWNzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBzcGVjcyBpbXBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNJbXBvcnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBDREs4cyBhcHAncyBlbnRyeXBvaW50XG4gICAqXG4gICAqIEBkZWZhdWx0IFwiYXBwLnB5XCJcbiAgICovXG4gIHJlYWRvbmx5IGFwcEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ0RLOHMgYXBwIGluIFB5dGhvblxuICpcbiAqXG4gKiBAcGppZCBjZGs4cy1hcHAtcHlcbiAqL1xuZXhwb3J0IGNsYXNzIENkazhzUHl0aG9uQXBwIGV4dGVuZHMgUHl0aG9uUHJvamVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQ0RLOHMgYXBwIGVudHJ5cG9pbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhcHBFbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzRGVwczogQ2RrOHNEZXBzO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENkazhzUHl0aG9uT3B0aW9ucykge1xuICAgIHN1cGVyKHsgLi4ub3B0aW9ucywgcHl0ZXN0OiBmYWxzZSwgc2FtcGxlOiBmYWxzZSB9KTtcblxuICAgIHRoaXMuY2RrOHNEZXBzID0gbmV3IENkazhzRGVwc1B5KHRoaXMsIHtcbiAgICAgIGRlcGVuZGVuY3lUeXBlOiBEZXBlbmRlbmN5VHlwZS5SVU5USU1FLFxuICAgICAgY2RrOHNDbGlEZXBlbmRlbmN5OiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAoIW9wdGlvbnMuY2RrOHNWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXF1aXJlZCBmaWVsZCBjZGs4c1ZlcnNpb24gaXMgbm90IHNwZWNpZmllZC5cIik7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBFbnRyeXBvaW50ID0gb3B0aW9ucy5hcHBFbnRyeXBvaW50ID8/IFwiYXBwLnB5XCI7XG5cbiAgICBjb25zdCBzeW50aCA9IHRoaXMuYWRkVGFzayhcInN5bnRoXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN5bnRoZXNpemVzIHlvdXIgY2RrOHMgYXBwIGludG8gZGlzdFwiLFxuICAgICAgZXhlYzogXCJjZGs4cyBzeW50aFwiLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHN5bnRoIHRvIHRoZSBidWlsZFxuICAgIHRoaXMucG9zdENvbXBpbGVUYXNrLnNwYXduKHN5bnRoKTtcblxuICAgIGNvbnN0IGNkazhzSW1wb3J0cyA9IG9wdGlvbnMuY2RrOHNJbXBvcnRzID8/IFtdO1xuICAgIGNvbnN0IGs4c1NwZWMgPSBvcHRpb25zLms4c1NwZWNWZXJzaW9uXG4gICAgICA/IGBrOHNAJHtvcHRpb25zLms4c1NwZWNWZXJzaW9ufWBcbiAgICAgIDogXCJrOHNcIjtcblxuICAgIG5ldyBZYW1sRmlsZSh0aGlzLCBcImNkazhzLnlhbWxcIiwge1xuICAgICAgY29tbWl0dGVkOiB0cnVlLFxuICAgICAgZWRpdEdpdGlnbm9yZTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBsYW5ndWFnZTogXCJweXRob25cIixcbiAgICAgICAgYXBwOiBgcHl0aG9uICR7dGhpcy5hcHBFbnRyeXBvaW50fWAsXG4gICAgICAgIGltcG9ydHM6IFtrOHNTcGVjLCAuLi5jZGs4c0ltcG9ydHNdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLnNhbXBsZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgQXBwQ29kZSh0aGlzLCB0aGlzLmFwcEVudHJ5cG9pbnQpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBBcHBDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQ2RrOHNQeXRob25BcHAsIGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGZpbGVuYW1lLCB7XG4gICAgICBjb250ZW50czogW1xuICAgICAgICBcImZyb20gY29uc3RydWN0cyBpbXBvcnQgQ29uc3RydWN0XCIsXG4gICAgICAgIFwiZnJvbSBjZGs4cyBpbXBvcnQgQXBwLCBDaGFydFwiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcImNsYXNzIE15Q2hhcnQoQ2hhcnQpOlwiLFxuICAgICAgICBcIiAgZGVmIF9faW5pdF9fKHNlbGYsIHNjb3BlOiBDb25zdHJ1Y3QsIGlkOnN0cik6XCIsXG4gICAgICAgIFwiICAgIHN1cGVyKCkuX19pbml0X18oc2NvcGUsIGlkKVwiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcImFwcCA9IEFwcCgpXCIsXG4gICAgICAgICdNeUNoYXJ0KGFwcCwgXCIke3Byb2plY3QubmFtZX1cIiknLFxuICAgICAgICBcIlwiLFxuICAgICAgICBcImFwcC5zeW50aCgpXCIsXG4gICAgICBdLmpvaW4oXCJcXG5cIiksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXB5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWFwcC1weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLG1EQUE4QztBQUM5QywwQkFBcUU7QUFDckUsNkRBQStFO0FBOEIvRTs7Ozs7R0FLRztBQUNILE1BQWEsY0FBZSxTQUFRLDhCQUFhO0lBUS9DLFlBQVksT0FBMkI7UUFDckMsS0FBSyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMkJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDckMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUM7UUFFdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbEMsV0FBVyxFQUFFLHNDQUFzQztZQUNuRCxJQUFJLEVBQUUsYUFBYTtTQUNwQixDQUFDLENBQUM7UUFFSCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGNBQWM7WUFDcEMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRVYsSUFBSSxZQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUMvQixTQUFTLEVBQUUsSUFBSTtZQUNmLGFBQWEsRUFBRSxJQUFJO1lBQ25CLEdBQUcsRUFBRTtnQkFDSCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLFVBQVUsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbkMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQzs7QUFqREgsd0NBa0RDOzs7QUFFRCxNQUFNLE9BQVEsU0FBUSxhQUFTO0lBQzdCLFlBQVksT0FBdUIsRUFBRSxRQUFnQjtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLGNBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFO1lBQ2hDLFFBQVEsRUFBRTtnQkFDUixrQ0FBa0M7Z0JBQ2xDLDhCQUE4QjtnQkFDOUIsRUFBRTtnQkFDRixFQUFFO2dCQUNGLHVCQUF1QjtnQkFDdkIsaURBQWlEO2dCQUNqRCxpQ0FBaUM7Z0JBQ2pDLEVBQUU7Z0JBQ0YsRUFBRTtnQkFDRixhQUFhO2dCQUNiLGlDQUFpQztnQkFDakMsRUFBRTtnQkFDRixhQUFhO2FBQ2QsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrOHNEZXBzLCBDZGs4c0RlcHNDb21tb25PcHRpb25zIH0gZnJvbSBcIi4vY2RrOHMtZGVwc1wiO1xuaW1wb3J0IHsgQ2RrOHNEZXBzUHkgfSBmcm9tIFwiLi9jZGs4cy1kZXBzLXB5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIERlcGVuZGVuY3lUeXBlLCBZYW1sRmlsZSwgU2FtcGxlRmlsZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgUHl0aG9uUHJvamVjdCwgUHl0aG9uUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi4vcHl0aG9uL3B5dGhvbi1wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENkazhzUHl0aG9uQXBwYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENkazhzUHl0aG9uT3B0aW9uc1xuICBleHRlbmRzIFB5dGhvblByb2plY3RPcHRpb25zLFxuICAgIENkazhzRGVwc0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogSW1wb3J0IGEgc3BlY2lmaWMgS3ViZXJuZXRlcyBzcGVjIHZlcnNpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVXNlIHRoZSBjZGs4cyBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBrOHNTcGVjVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSW1wb3J0IGFkZGl0aW9uYWwgc3BlY3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIHNwZWNzIGltcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBjZGs4c0ltcG9ydHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIENESzhzIGFwcCdzIGVudHJ5cG9pbnRcbiAgICpcbiAgICogQGRlZmF1bHQgXCJhcHAucHlcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwRW50cnlwb2ludD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDREs4cyBhcHAgaW4gUHl0aG9uXG4gKlxuICpcbiAqIEBwamlkIGNkazhzLWFwcC1weVxuICovXG5leHBvcnQgY2xhc3MgQ2RrOHNQeXRob25BcHAgZXh0ZW5kcyBQeXRob25Qcm9qZWN0IHtcbiAgLyoqXG4gICAqIFRoZSBDREs4cyBhcHAgZW50cnlwb2ludFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwcEVudHJ5cG9pbnQ6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgY2RrOHNEZXBzOiBDZGs4c0RlcHM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrOHNQeXRob25PcHRpb25zKSB7XG4gICAgc3VwZXIoeyAuLi5vcHRpb25zLCBweXRlc3Q6IGZhbHNlLCBzYW1wbGU6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy5jZGs4c0RlcHMgPSBuZXcgQ2RrOHNEZXBzUHkodGhpcywge1xuICAgICAgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlLlJVTlRJTUUsXG4gICAgICBjZGs4c0NsaURlcGVuZGVuY3k6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGlmICghb3B0aW9ucy5jZGs4c1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlcXVpcmVkIGZpZWxkIGNkazhzVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLlwiKTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcEVudHJ5cG9pbnQgPSBvcHRpb25zLmFwcEVudHJ5cG9pbnQgPz8gXCJhcHAucHlcIjtcblxuICAgIGNvbnN0IHN5bnRoID0gdGhpcy5hZGRUYXNrKFwic3ludGhcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiU3ludGhlc2l6ZXMgeW91ciBjZGs4cyBhcHAgaW50byBkaXN0XCIsXG4gICAgICBleGVjOiBcImNkazhzIHN5bnRoXCIsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgc3ludGggdG8gdGhlIGJ1aWxkXG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24oc3ludGgpO1xuXG4gICAgY29uc3QgY2RrOHNJbXBvcnRzID0gb3B0aW9ucy5jZGs4c0ltcG9ydHMgPz8gW107XG4gICAgY29uc3QgazhzU3BlYyA9IG9wdGlvbnMuazhzU3BlY1ZlcnNpb25cbiAgICAgID8gYGs4c0Ake29wdGlvbnMuazhzU3BlY1ZlcnNpb259YFxuICAgICAgOiBcIms4c1wiO1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMsIFwiY2RrOHMueWFtbFwiLCB7XG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICBlZGl0R2l0aWdub3JlOiB0cnVlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIGxhbmd1YWdlOiBcInB5dGhvblwiLFxuICAgICAgICBhcHA6IGBweXRob24gJHt0aGlzLmFwcEVudHJ5cG9pbnR9YCxcbiAgICAgICAgaW1wb3J0czogW2s4c1NwZWMsIC4uLmNkazhzSW1wb3J0c10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlID8/IHRydWUpIHtcbiAgICAgIG5ldyBBcHBDb2RlKHRoaXMsIHRoaXMuYXBwRW50cnlwb2ludCk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEFwcENvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBDZGs4c1B5dGhvbkFwcCwgZmlsZW5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgZmlsZW5hbWUsIHtcbiAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgIFwiZnJvbSBjb25zdHJ1Y3RzIGltcG9ydCBDb25zdHJ1Y3RcIixcbiAgICAgICAgXCJmcm9tIGNkazhzIGltcG9ydCBBcHAsIENoYXJ0XCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiY2xhc3MgTXlDaGFydChDaGFydCk6XCIsXG4gICAgICAgIFwiICBkZWYgX19pbml0X18oc2VsZiwgc2NvcGU6IENvbnN0cnVjdCwgaWQ6c3RyKTpcIixcbiAgICAgICAgXCIgICAgc3VwZXIoKS5fX2luaXRfXyhzY29wZSwgaWQpXCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiYXBwID0gQXBwKClcIixcbiAgICAgICAgJ015Q2hhcnQoYXBwLCBcIiR7cHJvamVjdC5uYW1lfVwiKScsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwiYXBwLnN5bnRoKClcIixcbiAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -74,9 +74,9 @@ class Cdk8sTypeScriptApp extends typescript_1.TypeScriptAppProject {
74
74
  });
75
75
  }
76
76
  }
77
- _a = JSII_RTTI_SYMBOL_1;
78
- Cdk8sTypeScriptApp[_a] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.71.83" };
79
77
  exports.Cdk8sTypeScriptApp = Cdk8sTypeScriptApp;
78
+ _a = JSII_RTTI_SYMBOL_1;
79
+ Cdk8sTypeScriptApp[_a] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.71.85" };
80
80
  class SampleCode extends component_1.Component {
81
81
  constructor(project) {
82
82
  super(project);
@@ -131,4 +131,4 @@ app.synth();`;
131
131
  fs.writeFileSync(path.join(srcdir, this.appProject.appEntrypoint), srcCode);
132
132
  }
133
133
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWFwcC10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbURBQStDO0FBRS9DLG1EQUE4QztBQUM5Qyw0Q0FBeUM7QUFDekMsa0RBQWlEO0FBQ2pELDhDQUErRTtBQUMvRSxrQ0FBbUM7QUFxQ25DOzs7OztHQUtHO0FBRUgsTUFBYSxrQkFBbUIsU0FBUSxpQ0FBb0I7SUFRMUQsWUFBWSxPQUFrQztRQUM1QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMkJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDckMsY0FBYyxFQUFFLDZCQUFjLENBQUMsT0FBTztZQUN0QyxrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNsRTtRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztTQUNuRTtRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztTQUN6RTtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUM7UUFFeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbEMsV0FBVyxFQUNULDZEQUE2RDtZQUMvRCxJQUFJLEVBQUUsYUFBYTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNyQixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLElBQUksRUFBRSw2QkFBNkI7U0FDcEMsQ0FBQyxDQUFDO1FBRUgseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxjQUFjO1lBQ3BDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDakMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVWLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXZFLElBQUksZUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDL0IsU0FBUyxFQUFFLElBQUk7WUFDZixhQUFhLEVBQUUsSUFBSTtZQUNuQixHQUFHLEVBQUU7Z0JBQ0gsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLEdBQUcsRUFBRSxZQUFZLHFCQUFxQixLQUFLO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxZQUFZLENBQUM7YUFDcEM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO1lBQzlCLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUN2QywyQkFBMkIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLElBQUksSUFBSTtTQUN6RSxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0FBNUVVLGdEQUFrQjtBQStFL0IsTUFBTSxVQUFXLFNBQVEscUJBQVM7SUFFaEMsWUFBWSxPQUEyQjtRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFDRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNyQixFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN2RDtZQUNBLE9BQU87U0FDUjtRQUVELE1BQU0sT0FBTyxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2FBcUNQLENBQUM7UUFFVixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gXCIuL2F1dG8tZGlzY292ZXJcIjtcbmltcG9ydCB7IENkazhzRGVwcywgQ2RrOHNEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2NkazhzLWRlcHNcIjtcbmltcG9ydCB7IENkazhzRGVwc0pzIH0gZnJvbSBcIi4vY2RrOHMtZGVwcy1qc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0QXBwUHJvamVjdCwgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4uL3lhbWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDZGs4c1R5cGVTY3JpcHRBcHBPcHRpb25zXG4gIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLFxuICAgIENkazhzRGVwc0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogSW1wb3J0IGEgc3BlY2lmaWMgS3ViZXJuZXRlcyBzcGVjIHZlcnNpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVXNlIHRoZSBjZGs4cyBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBrOHNTcGVjVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSW1wb3J0IGFkZGl0aW9uYWwgc3BlY3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIHNwZWNzIGltcG9ydGVkXG4gICAqL1xuICByZWFkb25seSBjZGs4c0ltcG9ydHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIENESzhzIGFwcCdzIGVudHJ5cG9pbnQgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LCB3aGljaCBpc1xuICAgKiBcInNyY1wiIGJ5IGRlZmF1bHQpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIm1haW4udHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwRW50cnlwb2ludD86IHN0cmluZztcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBjZGs4cy5JbnRlZ3JhdGlvblRlc3RgIGZvciBlYWNoIGAuaW50ZWcudHNgIGFwcFxuICAgKiBpbiB5b3VyIHRlc3QgZGlyZWN0b3J5LiBJZiB0aGlzIGlzIGRpc2FibGVkLCB5b3UgY2FuIG1hbnVhbGx5IGFkZCBhblxuICAgKiBgY2RrOHMuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENESzhzIGFwcCBpbiBUeXBlU2NyaXB0XG4gKlxuICpcbiAqIEBwamlkIGNkazhzLWFwcC10c1xuICovXG5cbmV4cG9ydCBjbGFzcyBDZGs4c1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQ0RLOHMgYXBwIGVudHJ5cG9pbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhcHBFbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzRGVwczogQ2RrOHNEZXBzO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENkazhzVHlwZVNjcmlwdEFwcE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNkazhzRGVwcyA9IG5ldyBDZGs4c0RlcHNKcyh0aGlzLCB7XG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgIGNkazhzQ2xpRGVwZW5kZW5jeTogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAoIW9wdGlvbnMuY2RrOHNWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXF1aXJlZCBmaWVsZCBjZGs4c1ZlcnNpb24gaXMgbm90IHNwZWNpZmllZC5cIik7XG4gICAgfVxuXG4gICAgLy8gZW5jb2RlIGEgaGlkZGVuIGFzc3VtcHRpb24gZnVydGhlciBkb3duIHRoZSBjaGFpblxuICAgIGlmICh0aGlzLnNyY2RpciAhPT0gXCJzcmNcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzb3VyY2VzIGFyZSBleHBlY3RlZCB1bmRlciB0aGUgXCJzcmNcIiBkaXJlY3RvcnknKTtcbiAgICB9XG5cbiAgICAvLyBlbmNvZGUgYSBoaWRkZW4gYXNzdW1wdGlvbiBmdXJ0aGVyIGRvd24gdGhlIGNoYWluXG4gICAgaWYgKHRoaXMudGVzdGRpciAhPT0gXCJ0ZXN0XCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndGVzdCBzb3VyY2VzIGFyZSBleHBlY3RlZCB1bmRlciB0aGUgXCJ0ZXN0XCIgZGlyZWN0b3J5Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBFbnRyeXBvaW50ID0gb3B0aW9ucy5hcHBFbnRyeXBvaW50ID8/IFwibWFpbi50c1wiO1xuXG4gICAgY29uc3Qgc3ludGggPSB0aGlzLmFkZFRhc2soXCJzeW50aFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1N5bnRoZXNpemVzIHlvdXIgY2RrOHMgYXBwIGludG8gZGlzdCAocGFydCBvZiBcInlhcm4gYnVpbGRcIiknLFxuICAgICAgZXhlYzogXCJjZGs4cyBzeW50aFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRUYXNrKFwiaW1wb3J0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkltcG9ydHMgQVBJIG9iamVjdHMgdG8geW91ciBhcHAgYnkgZ2VuZXJhdGluZyBjb25zdHJ1Y3RzLlwiLFxuICAgICAgZXhlYzogXCJjZGs4cyBpbXBvcnQgLW8gc3JjL2ltcG9ydHNcIixcbiAgICB9KTtcblxuICAgIC8vIGFkZCBzeW50aCB0byB0aGUgYnVpbGRcbiAgICB0aGlzLnBvc3RDb21waWxlVGFzay5zcGF3bihzeW50aCk7XG5cbiAgICBjb25zdCBjZGs4c0ltcG9ydHMgPSBvcHRpb25zLmNkazhzSW1wb3J0cyA/PyBbXTtcbiAgICBjb25zdCBrOHNTcGVjID0gb3B0aW9ucy5rOHNTcGVjVmVyc2lvblxuICAgICAgPyBgazhzQCR7b3B0aW9ucy5rOHNTcGVjVmVyc2lvbn1gXG4gICAgICA6IFwiazhzXCI7XG5cbiAgICBjb25zdCBhcHBFbnRyeXBvaW50QmFzZU5hbWUgPSBwYXRoLmJhc2VuYW1lKHRoaXMuYXBwRW50cnlwb2ludCwgXCIudHNcIik7XG5cbiAgICBuZXcgWWFtbEZpbGUodGhpcywgXCJjZGs4cy55YW1sXCIsIHtcbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgIGVkaXRHaXRpZ25vcmU6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbGFuZ3VhZ2U6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBhcHA6IGBub2RlIGxpYi8ke2FwcEVudHJ5cG9pbnRCYXNlTmFtZX0uanNgLFxuICAgICAgICBpbXBvcnRzOiBbazhzU3BlYywgLi4uY2RrOHNJbXBvcnRzXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGVDb2RlID8/IHRydWUpIHtcbiAgICAgIG5ldyBTYW1wbGVDb2RlKHRoaXMpO1xuICAgIH1cblxuICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgdGVzdGRpcjogdGhpcy50ZXN0ZGlyLFxuICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyOiBvcHRpb25zLmludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciA/PyB0cnVlLFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIFNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcFByb2plY3Q6IENkazhzVHlwZVNjcmlwdEFwcDtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQ2RrOHNUeXBlU2NyaXB0QXBwKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5hcHBQcm9qZWN0ID0gcHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIGNvbnN0IG91dGRpciA9IHRoaXMucHJvamVjdC5vdXRkaXI7XG4gICAgY29uc3Qgc3JjZGlyID0gcGF0aC5qb2luKG91dGRpciwgdGhpcy5hcHBQcm9qZWN0LnNyY2Rpcik7XG4gICAgaWYgKFxuICAgICAgZnMuZXhpc3RzU3luYyhzcmNkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhzcmNkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aChcIi50c1wiKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzcmNDb2RlID0gYGltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBwLCBDaGFydCwgQ2hhcnRQcm9wcywgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuXG5leHBvcnQgY2xhc3MgTXlDaGFydCBleHRlbmRzIENoYXJ0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENoYXJ0UHJvcHMgPSB7IH0pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IGxhYmVsID0geyBhcHA6ICdoZWxsby1rOHMnIH07XG5cblxuXG4gICAgbmV3IEFwaU9iamVjdCh0aGlzLCAnZGVwbG95bWVudCcsIHtcbiAgICAgIGFwaVZlcnNpb246IFwidjFcIixcbiAgICAgIGtpbmQ6IFwiUG9kXCIsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIG5hbWVzcGFjZTogXCJmcm9udGVuZFwiLFxuICAgICAgICAgIG5hbWU6IFwibmdpbnhcIixcbiAgICAgICAgICBsYWJlbHM6IGxhYmVsLFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgICBjb250YWluZXJzOiBbe1xuICAgICAgICAgICAgICBuYW1lOiBcIm5naW54XCIsXG4gICAgICAgICAgICAgIGltYWdlOiBcIm5naW54OjEuMTQtYWxwaW5lXCIsXG4gICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgbGltaXRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiBcIjIwTWlcIixcbiAgICAgICAgICAgICAgICAgICAgICBjcHU6IDAuMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgfV0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbm5ldyBNeUNoYXJ0KGFwcCwgJ2hlbGxvJyk7XG5hcHAuc3ludGgoKTtgO1xuXG4gICAgZnMubWtkaXJTeW5jKHNyY2RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCB0aGlzLmFwcFByb2plY3QuYXBwRW50cnlwb2ludCksIHNyY0NvZGUpO1xuICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWFwcC10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbURBQStDO0FBRS9DLG1EQUE4QztBQUM5Qyw0Q0FBeUM7QUFDekMsa0RBQWlEO0FBQ2pELDhDQUErRTtBQUMvRSxrQ0FBbUM7QUFxQ25DOzs7OztHQUtHO0FBRUgsTUFBYSxrQkFBbUIsU0FBUSxpQ0FBb0I7SUFRMUQsWUFBWSxPQUFrQztRQUM1QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMkJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDckMsY0FBYyxFQUFFLDZCQUFjLENBQUMsT0FBTztZQUN0QyxrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNsRTtRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztTQUNuRTtRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztTQUN6RTtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUM7UUFFeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbEMsV0FBVyxFQUNULDZEQUE2RDtZQUMvRCxJQUFJLEVBQUUsYUFBYTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNyQixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLElBQUksRUFBRSw2QkFBNkI7U0FDcEMsQ0FBQyxDQUFDO1FBRUgseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxjQUFjO1lBQ3BDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDakMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVWLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXZFLElBQUksZUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDL0IsU0FBUyxFQUFFLElBQUk7WUFDZixhQUFhLEVBQUUsSUFBSTtZQUNuQixHQUFHLEVBQUU7Z0JBQ0gsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLEdBQUcsRUFBRSxZQUFZLHFCQUFxQixLQUFLO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxZQUFZLENBQUM7YUFDcEM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO1lBQzlCLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUN2QywyQkFBMkIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLElBQUksSUFBSTtTQUN6RSxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTVFSCxnREE2RUM7OztBQUVELE1BQU0sVUFBVyxTQUFRLHFCQUFTO0lBRWhDLFlBQVksT0FBMkI7UUFDckMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQ0UsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDckIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDdkQ7WUFDQSxPQUFPO1NBQ1I7UUFFRCxNQUFNLE9BQU8sR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQXFDUCxDQUFDO1FBRVYsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9hdXRvLWRpc2NvdmVyXCI7XG5pbXBvcnQgeyBDZGs4c0RlcHMsIENkazhzRGVwc0NvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9jZGs4cy1kZXBzXCI7XG5pbXBvcnQgeyBDZGs4c0RlcHNKcyB9IGZyb20gXCIuL2NkazhzLWRlcHMtanNcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgVHlwZVNjcmlwdEFwcFByb2plY3QsIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gXCIuLi95YW1sXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNUeXBlU2NyaXB0QXBwT3B0aW9uc1xuICBleHRlbmRzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyxcbiAgICBDZGs4c0RlcHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhIHNwZWNpZmljIEt1YmVybmV0ZXMgc3BlYyB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgY2RrOHMgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgazhzU3BlY1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhZGRpdGlvbmFsIHNwZWNzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBzcGVjcyBpbXBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNJbXBvcnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBDREs4cyBhcHAncyBlbnRyeXBvaW50IChyZWxhdGl2ZSB0byB0aGUgc291cmNlIGRpcmVjdG9yeSwgd2hpY2ggaXNcbiAgICogXCJzcmNcIiBieSBkZWZhdWx0KS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJtYWluLnRzXCJcbiAgICovXG4gIHJlYWRvbmx5IGFwcEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgY2RrOHMuSW50ZWdyYXRpb25UZXN0YCBmb3IgZWFjaCBgLmludGVnLnRzYCBhcHBcbiAgICogaW4geW91ciB0ZXN0IGRpcmVjdG9yeS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW5cbiAgICogYGNkazhzLkF1dG9EaXNjb3ZlcmAgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDREs4cyBhcHAgaW4gVHlwZVNjcmlwdFxuICpcbiAqXG4gKiBAcGppZCBjZGs4cy1hcHAtdHNcbiAqL1xuXG5leHBvcnQgY2xhc3MgQ2RrOHNUeXBlU2NyaXB0QXBwIGV4dGVuZHMgVHlwZVNjcmlwdEFwcFByb2plY3Qge1xuICAvKipcbiAgICogVGhlIENESzhzIGFwcCBlbnRyeXBvaW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwRW50cnlwb2ludDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBjZGs4c0RlcHM6IENkazhzRGVwcztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGs4c1R5cGVTY3JpcHRBcHBPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGs4c0RlcHMgPSBuZXcgQ2RrOHNEZXBzSnModGhpcywge1xuICAgICAgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlLlJVTlRJTUUsXG4gICAgICBjZGs4c0NsaURlcGVuZGVuY3k6IHRydWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgaWYgKCFvcHRpb25zLmNkazhzVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWlyZWQgZmllbGQgY2RrOHNWZXJzaW9uIGlzIG5vdCBzcGVjaWZpZWQuXCIpO1xuICAgIH1cblxuICAgIC8vIGVuY29kZSBhIGhpZGRlbiBhc3N1bXB0aW9uIGZ1cnRoZXIgZG93biB0aGUgY2hhaW5cbiAgICBpZiAodGhpcy5zcmNkaXIgIT09IFwic3JjXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc291cmNlcyBhcmUgZXhwZWN0ZWQgdW5kZXIgdGhlIFwic3JjXCIgZGlyZWN0b3J5Jyk7XG4gICAgfVxuXG4gICAgLy8gZW5jb2RlIGEgaGlkZGVuIGFzc3VtcHRpb24gZnVydGhlciBkb3duIHRoZSBjaGFpblxuICAgIGlmICh0aGlzLnRlc3RkaXIgIT09IFwidGVzdFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Rlc3Qgc291cmNlcyBhcmUgZXhwZWN0ZWQgdW5kZXIgdGhlIFwidGVzdFwiIGRpcmVjdG9yeScpO1xuICAgIH1cblxuICAgIHRoaXMuYXBwRW50cnlwb2ludCA9IG9wdGlvbnMuYXBwRW50cnlwb2ludCA/PyBcIm1haW4udHNcIjtcblxuICAgIGNvbnN0IHN5bnRoID0gdGhpcy5hZGRUYXNrKFwic3ludGhcIiwge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdTeW50aGVzaXplcyB5b3VyIGNkazhzIGFwcCBpbnRvIGRpc3QgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6IFwiY2RrOHMgc3ludGhcIixcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkVGFzayhcImltcG9ydFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJJbXBvcnRzIEFQSSBvYmplY3RzIHRvIHlvdXIgYXBwIGJ5IGdlbmVyYXRpbmcgY29uc3RydWN0cy5cIixcbiAgICAgIGV4ZWM6IFwiY2RrOHMgaW1wb3J0IC1vIHNyYy9pbXBvcnRzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgc3ludGggdG8gdGhlIGJ1aWxkXG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24oc3ludGgpO1xuXG4gICAgY29uc3QgY2RrOHNJbXBvcnRzID0gb3B0aW9ucy5jZGs4c0ltcG9ydHMgPz8gW107XG4gICAgY29uc3QgazhzU3BlYyA9IG9wdGlvbnMuazhzU3BlY1ZlcnNpb25cbiAgICAgID8gYGs4c0Ake29wdGlvbnMuazhzU3BlY1ZlcnNpb259YFxuICAgICAgOiBcIms4c1wiO1xuXG4gICAgY29uc3QgYXBwRW50cnlwb2ludEJhc2VOYW1lID0gcGF0aC5iYXNlbmFtZSh0aGlzLmFwcEVudHJ5cG9pbnQsIFwiLnRzXCIpO1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMsIFwiY2RrOHMueWFtbFwiLCB7XG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICBlZGl0R2l0aWdub3JlOiB0cnVlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIGxhbmd1YWdlOiBcInR5cGVzY3JpcHRcIixcbiAgICAgICAgYXBwOiBgbm9kZSBsaWIvJHthcHBFbnRyeXBvaW50QmFzZU5hbWV9LmpzYCxcbiAgICAgICAgaW1wb3J0czogW2s4c1NwZWMsIC4uLmNkazhzSW1wb3J0c10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzKTtcbiAgICB9XG5cbiAgICBuZXcgQXV0b0Rpc2NvdmVyKHRoaXMsIHtcbiAgICAgIHRlc3RkaXI6IHRoaXMudGVzdGRpcixcbiAgICAgIHRzY29uZmlnUGF0aDogdGhpcy50c2NvbmZpZ0Rldi5maWxlTmFtZSxcbiAgICAgIGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcjogb3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBTYW1wbGVDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBQcm9qZWN0OiBDZGs4c1R5cGVTY3JpcHRBcHA7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IENkazhzVHlwZVNjcmlwdEFwcCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMuYXBwUHJvamVjdCA9IHByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBjb25zdCBvdXRkaXIgPSB0aGlzLnByb2plY3Qub3V0ZGlyO1xuICAgIGNvbnN0IHNyY2RpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMuYXBwUHJvamVjdC5zcmNkaXIpO1xuICAgIGlmIChcbiAgICAgIGZzLmV4aXN0c1N5bmMoc3JjZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmMoc3JjZGlyKS5maWx0ZXIoKHgpID0+IHguZW5kc1dpdGgoXCIudHNcIikpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3JjQ29kZSA9IGBpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFwcCwgQ2hhcnQsIENoYXJ0UHJvcHMsIEFwaU9iamVjdCB9IGZyb20gJ2NkazhzJztcblxuZXhwb3J0IGNsYXNzIE15Q2hhcnQgZXh0ZW5kcyBDaGFydCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDaGFydFByb3BzID0geyB9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBsYWJlbCA9IHsgYXBwOiAnaGVsbG8tazhzJyB9O1xuXG5cblxuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2RlcGxveW1lbnQnLCB7XG4gICAgICBhcGlWZXJzaW9uOiBcInYxXCIsXG4gICAgICBraW5kOiBcIlBvZFwiLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBuYW1lc3BhY2U6IFwiZnJvbnRlbmRcIixcbiAgICAgICAgICBuYW1lOiBcIm5naW54XCIsXG4gICAgICAgICAgbGFiZWxzOiBsYWJlbCxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgICAgY29udGFpbmVyczogW3tcbiAgICAgICAgICAgICAgbmFtZTogXCJuZ2lueFwiLFxuICAgICAgICAgICAgICBpbWFnZTogXCJuZ2lueDoxLjE0LWFscGluZVwiLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgICAgIGxpbWl0czoge1xuICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeTogXCIyME1pXCIsXG4gICAgICAgICAgICAgICAgICAgICAgY3B1OiAwLjIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgIH1dLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5uZXcgTXlDaGFydChhcHAsICdoZWxsbycpO1xuYXBwLnN5bnRoKCk7YDtcblxuICAgIGZzLm1rZGlyU3luYyhzcmNkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHNyY2RpciwgdGhpcy5hcHBQcm9qZWN0LmFwcEVudHJ5cG9pbnQpLCBzcmNDb2RlKTtcbiAgfVxufVxuIl19
@@ -57,7 +57,7 @@ class ConstructLibraryCdk8s extends cdk_1.ConstructLibrary {
57
57
  });
58
58
  }
59
59
  }
60
- _a = JSII_RTTI_SYMBOL_1;
61
- ConstructLibraryCdk8s[_a] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.71.83" };
62
60
  exports.ConstructLibraryCdk8s = ConstructLibraryCdk8s;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxtREFBK0M7QUFDL0MsZ0NBQW1FO0FBMkRuRTs7Ozs7Ozs7R0FRRztBQUNILE1BQWEscUJBQXNCLFNBQVEsc0JBQWdCO0lBV3pELFlBQVksT0FBcUM7UUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHdEQUF3RCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQy9FLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLG1CQUFtQjtZQUM3QyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDdEIsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9CLE1BQU0sd0JBQXdCLEdBQzVCLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxNQUFNLHlCQUF5QixHQUM3QixPQUFPLENBQUMsaUJBQWlCLElBQUksd0JBQXdCLENBQUM7UUFDeEQsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUNoRCx5QkFBeUIsQ0FDMUIsRUFBRSxLQUFLLENBQUM7UUFFVCxJQUFJLENBQUMsNkJBQTZCLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw2REFBNkQsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQ3pGLENBQUM7U0FDSDtRQUVELFFBQVEsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUM7Z0JBQ0osSUFBSSw2QkFBNkIsS0FBSyxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztpQkFDdEQ7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLDZCQUE2QixLQUFLLEVBQUUsRUFBRTtvQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2lCQUN2RDtnQkFDRCxNQUFNO1NBQ1Q7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QjtZQUN2RCxDQUFDLENBQUMseUJBQXlCO1lBQzNCLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLFdBQVcsQ0FDZCxjQUFjLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUN0QyxTQUFTLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FDN0IsQ0FBQztRQUVGLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDdkMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixJQUFJLElBQUk7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztBQXRFVSxzREFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgQXV0b0Rpc2NvdmVyIH0gZnJvbSBcIi4vYXV0by1kaXNjb3ZlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0TGlicmFyeSwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwiLi4vY2RrXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0TGlicmFyeUNkazhzT3B0aW9ucyBleHRlbmRzIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gdGFyZ2V0IHZlcnNpb24gdGhpcyBsaWJyYXJ5IGlzIHRlc3RlZCBhZ2FpbnN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjEuNC4xMFwiXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvbnN0cnVjdHMgdmVyaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMy4zLjE5NlwiXG4gICAqL1xuXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBDREs4cy5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IHlhcm4gdG8gbWl4IHZlcnNpb25zIGZvciB5b3VyIENESzhzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNWZXJzaW9uUGlubmluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSBwaW5uZWQgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhcmV0IHZlcnNpb24gZm9yIGNvbnN0cnVjdHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBjb25zcnVjdHMgcGFja2FnZSBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBjZGs4cy1wbHVzLTE3LlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgQ0RLOHMgcGFja2FnZSBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjZGs4c1BsdXNWZXJzaW9uUGlubmluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgY2RrOHMuSW50ZWdyYXRpb25UZXN0YCBmb3IgZWFjaCBgLmludGVnLnRzYCBhcHBcbiAgICogaW4geW91ciB0ZXN0IGRpcmVjdG9yeS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW5cbiAgICogYGNkazhzLkF1dG9EaXNjb3ZlcmAgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDREs4cyBjb25zdHJ1Y3QgbGlicmFyeSBwcm9qZWN0XG4gKlxuICogQSBtdWx0aS1sYW5ndWFnZSAoanNpaSkgY29uc3RydWN0IGxpYnJhcnkgd2hpY2ggdmVuZHMgY29uc3RydWN0cyBkZXNpZ25lZCB0b1xuICogdXNlIHdpdGhpbiB0aGUgQ0RLIGZvciBLdWJlcm5ldGVzIChDREs4cyksIHdpdGggYSBmcmllbmRseSB3b3JrZmxvdyBhbmRcbiAqIGF1dG9tYXRpYyBwdWJsaXNoaW5nIHRvIHRoZSBjb25zdHJ1Y3QgY2F0YWxvZy5cbiAqXG4gKiBAcGppZCBjZGs4cy1jb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdExpYnJhcnlDZGs4cyBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICAvKipcbiAgICogVGhlIENESzhzIHZlcnNpb24gdGhpcyBhcHAgaXMgdXNpbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrOHNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdHJ1Y3RzIHZlcnNpb24gdGhpcyBhcHAgaXMgdXNpbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb25zdHJ1Y3RMaWJyYXJ5Q2RrOHNPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICBpZiAoIW9wdGlvbnMuY2RrOHNWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXF1aXJlZCBmaWVsZCBjZGs4c1ZlcnNpb24gaXMgbm90IHNwZWNpZmllZC5cIik7XG4gICAgfVxuXG4gICAgY29uc3QgY2RrOHNWZXJzaW9uID0gc2VtdmVyLnBhcnNlKG9wdGlvbnMuY2RrOHNWZXJzaW9uKTtcbiAgICBpZiAoIWNkazhzVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgXCJjZGs4c1ZlcnNpb25cIiBjYW5ub3QgYmUgcGFyc2VkIGFzIGEgc2VtdmVyIHZlcnNpb246ICR7b3B0aW9ucy5jZGs4c1ZlcnNpb259YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkazhzVmVyc2lvbiA9IG9wdGlvbnMuY2RrOHNWZXJzaW9uUGlubmluZ1xuICAgICAgPyBvcHRpb25zLmNkazhzVmVyc2lvblxuICAgICAgOiBgXiR7b3B0aW9ucy5jZGs4c1ZlcnNpb259YDtcblxuICAgIGNvbnN0IGRlZmF1bHRDb25zdHJ1Y3RzVmVyc2lvbiA9XG4gICAgICBjZGs4c1ZlcnNpb24ubWFqb3IgPT09IDEgPyBcIjMuMy4xOTZcIiA6IFwiMTAuMC4wXCI7XG4gICAgY29uc3QgcmVzb2x2ZWRDb25zdHJ1Y3RzVmVyc2lvbiA9XG4gICAgICBvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uID8/IGRlZmF1bHRDb25zdHJ1Y3RzVmVyc2lvbjtcbiAgICBjb25zdCByZXNvbHZlZE1ham9yQ29uc3RydWN0VmVyc2lvbiA9IHNlbXZlci5wYXJzZShcbiAgICAgIHJlc29sdmVkQ29uc3RydWN0c1ZlcnNpb25cbiAgICApPy5tYWpvcjtcblxuICAgIGlmICghcmVzb2x2ZWRNYWpvckNvbnN0cnVjdFZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFwiY29uc3RydWN0c1ZlcnNpb25cIiBjYW5ub3QgYmUgcGFyc2VkIGFzIGEgc2VtdmVyIHZlcnNpb246ICR7b3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbn1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHN3aXRjaCAoY2RrOHNWZXJzaW9uLm1ham9yKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGlmIChyZXNvbHZlZE1ham9yQ29uc3RydWN0VmVyc2lvbiAhPT0gMykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImNkazhzIDEueCByZXF1aXJlcyBjb25zdHJ1Y3RzIDMueFwiKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgaWYgKHJlc29sdmVkTWFqb3JDb25zdHJ1Y3RWZXJzaW9uICE9PSAxMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImNkazhzIDIueCByZXF1aXJlcyBjb25zdHJ1Y3RzIDEwLnhcIik7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5jb25zdHJ1Y3RzVmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0c1ZlcnNpb25QaW5uaW5nXG4gICAgICA/IHJlc29sdmVkQ29uc3RydWN0c1ZlcnNpb25cbiAgICAgIDogYF4ke3Jlc29sdmVkQ29uc3RydWN0c1ZlcnNpb259YDtcblxuICAgIHRoaXMuYWRkUGVlckRlcHMoXG4gICAgICBgY29uc3RydWN0c0Ake3RoaXMuY29uc3RydWN0c1ZlcnNpb259YCxcbiAgICAgIGBjZGs4c0Ake3RoaXMuY2RrOHNWZXJzaW9ufWBcbiAgICApO1xuXG4gICAgbmV3IEF1dG9EaXNjb3Zlcih0aGlzLCB7XG4gICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICB0c2NvbmZpZ1BhdGg6IHRoaXMudHNjb25maWdEZXYuZmlsZU5hbWUsXG4gICAgICBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI6IG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyID8/IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
61
+ _a = JSII_RTTI_SYMBOL_1;
62
+ ConstructLibraryCdk8s[_a] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.71.85" };
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxtREFBK0M7QUFDL0MsZ0NBQW1FO0FBMkRuRTs7Ozs7Ozs7R0FRRztBQUNILE1BQWEscUJBQXNCLFNBQVEsc0JBQWdCO0lBV3pELFlBQVksT0FBcUM7UUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHdEQUF3RCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQy9FLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLG1CQUFtQjtZQUM3QyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDdEIsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9CLE1BQU0sd0JBQXdCLEdBQzVCLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxNQUFNLHlCQUF5QixHQUM3QixPQUFPLENBQUMsaUJBQWlCLElBQUksd0JBQXdCLENBQUM7UUFDeEQsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUNoRCx5QkFBeUIsQ0FDMUIsRUFBRSxLQUFLLENBQUM7UUFFVCxJQUFJLENBQUMsNkJBQTZCLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw2REFBNkQsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQ3pGLENBQUM7U0FDSDtRQUVELFFBQVEsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUM7Z0JBQ0osSUFBSSw2QkFBNkIsS0FBSyxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztpQkFDdEQ7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLDZCQUE2QixLQUFLLEVBQUUsRUFBRTtvQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2lCQUN2RDtnQkFDRCxNQUFNO1NBQ1Q7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QjtZQUN2RCxDQUFDLENBQUMseUJBQXlCO1lBQzNCLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLFdBQVcsQ0FDZCxjQUFjLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUN0QyxTQUFTLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FDN0IsQ0FBQztRQUVGLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDdkMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixJQUFJLElBQUk7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0RUgsc0RBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gXCIuL2F1dG8tZGlzY292ZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnksIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSBcIi4uL2Nka1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdExpYnJhcnlDZGs4c09wdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHRhcmdldCB2ZXJzaW9uIHRoaXMgbGlicmFyeSBpcyB0ZXN0ZWQgYWdhaW5zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIxLjQuMTBcIlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBjb25zdHJ1Y3RzIHZlcmlvblxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjMuMy4xOTZcIlxuICAgKi9cblxuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgQ0RLOHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBDREs4cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBjb25zdHJ1Y3RzLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgY29uc3J1Y3RzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY2RrOHMtcGx1cy0xNy5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IHlhcm4gdG8gbWl4IHZlcnNpb25zIGZvciB5b3VyIENESzhzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNQbHVzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGNkazhzLkludGVncmF0aW9uVGVzdGAgZm9yIGVhY2ggYC5pbnRlZy50c2AgYXBwXG4gICAqIGluIHlvdXIgdGVzdCBkaXJlY3RvcnkuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuXG4gICAqIGBjZGs4cy5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ0RLOHMgY29uc3RydWN0IGxpYnJhcnkgcHJvamVjdFxuICpcbiAqIEEgbXVsdGktbGFuZ3VhZ2UgKGpzaWkpIGNvbnN0cnVjdCBsaWJyYXJ5IHdoaWNoIHZlbmRzIGNvbnN0cnVjdHMgZGVzaWduZWQgdG9cbiAqIHVzZSB3aXRoaW4gdGhlIENESyBmb3IgS3ViZXJuZXRlcyAoQ0RLOHMpLCB3aXRoIGEgZnJpZW5kbHkgd29ya2Zsb3cgYW5kXG4gKiBhdXRvbWF0aWMgcHVibGlzaGluZyB0byB0aGUgY29uc3RydWN0IGNhdGFsb2cuXG4gKlxuICogQHBqaWQgY2RrOHMtY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDb25zdHJ1Y3RMaWJyYXJ5Q2RrOHMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgLyoqXG4gICAqIFRoZSBDREs4cyB2ZXJzaW9uIHRoaXMgYXBwIGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0cyB2ZXJzaW9uIHRoaXMgYXBwIGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ29uc3RydWN0TGlicmFyeUNkazhzT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgaWYgKCFvcHRpb25zLmNkazhzVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWlyZWQgZmllbGQgY2RrOHNWZXJzaW9uIGlzIG5vdCBzcGVjaWZpZWQuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNkazhzVmVyc2lvbiA9IHNlbXZlci5wYXJzZShvcHRpb25zLmNkazhzVmVyc2lvbik7XG4gICAgaWYgKCFjZGs4c1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFwiY2RrOHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke29wdGlvbnMuY2RrOHNWZXJzaW9ufWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jZGs4c1ZlcnNpb24gPSBvcHRpb25zLmNkazhzVmVyc2lvblBpbm5pbmdcbiAgICAgID8gb3B0aW9ucy5jZGs4c1ZlcnNpb25cbiAgICAgIDogYF4ke29wdGlvbnMuY2RrOHNWZXJzaW9ufWA7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29uc3RydWN0c1ZlcnNpb24gPVxuICAgICAgY2RrOHNWZXJzaW9uLm1ham9yID09PSAxID8gXCIzLjMuMTk2XCIgOiBcIjEwLjAuMFwiO1xuICAgIGNvbnN0IHJlc29sdmVkQ29uc3RydWN0c1ZlcnNpb24gPVxuICAgICAgb3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbiA/PyBkZWZhdWx0Q29uc3RydWN0c1ZlcnNpb247XG4gICAgY29uc3QgcmVzb2x2ZWRNYWpvckNvbnN0cnVjdFZlcnNpb24gPSBzZW12ZXIucGFyc2UoXG4gICAgICByZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9uXG4gICAgKT8ubWFqb3I7XG5cbiAgICBpZiAoIXJlc29sdmVkTWFqb3JDb25zdHJ1Y3RWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcImNvbnN0cnVjdHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke29wdGlvbnMuY29uc3RydWN0c1ZlcnNpb259YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGNkazhzVmVyc2lvbi5tYWpvcikge1xuICAgICAgY2FzZSAxOlxuICAgICAgICBpZiAocmVzb2x2ZWRNYWpvckNvbnN0cnVjdFZlcnNpb24gIT09IDMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJjZGs4cyAxLnggcmVxdWlyZXMgY29uc3RydWN0cyAzLnhcIik7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGlmIChyZXNvbHZlZE1ham9yQ29uc3RydWN0VmVyc2lvbiAhPT0gMTApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJjZGs4cyAyLnggcmVxdWlyZXMgY29uc3RydWN0cyAxMC54XCIpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RydWN0c1ZlcnNpb24gPSBvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uUGlubmluZ1xuICAgICAgPyByZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9uXG4gICAgICA6IGBeJHtyZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9ufWA7XG5cbiAgICB0aGlzLmFkZFBlZXJEZXBzKFxuICAgICAgYGNvbnN0cnVjdHNAJHt0aGlzLmNvbnN0cnVjdHNWZXJzaW9ufWAsXG4gICAgICBgY2RrOHNAJHt0aGlzLmNkazhzVmVyc2lvbn1gXG4gICAgKTtcblxuICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgdGVzdGRpcjogdGhpcy50ZXN0ZGlyLFxuICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyOiBvcHRpb25zLmludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciA/PyB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -13,7 +13,7 @@ class Cdk8sDepsPy extends cdk8s_deps_1.Cdk8sDeps {
13
13
  };
14
14
  }
15
15
  }
16
- _a = JSII_RTTI_SYMBOL_1;
17
- Cdk8sDepsPy[_a] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.71.83" };
18
16
  exports.Cdk8sDepsPy = Cdk8sDepsPy;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtZGVwcy1weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9jZGs4cy1kZXBzLXB5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTREO0FBRTVELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBQzlCLFlBQVk7UUFDcEIsT0FBTztZQUNMLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFlBQVk7WUFDeEIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7Ozs7QUFQVSxrQ0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENkazhzRGVwcywgQ2RrOHNQYWNrYWdlTmFtZXMgfSBmcm9tIFwiLi9jZGs4cy1kZXBzXCI7XG5cbmV4cG9ydCBjbGFzcyBDZGs4c0RlcHNQeSBleHRlbmRzIENkazhzRGVwcyB7XG4gIHByb3RlY3RlZCBwYWNrYWdlTmFtZXMoKTogQ2RrOHNQYWNrYWdlTmFtZXMge1xuICAgIHJldHVybiB7XG4gICAgICBjZGs4czogXCJjZGs4c1wiLFxuICAgICAgY29uc3RydWN0czogXCJjb25zdHJ1Y3RzXCIsXG4gICAgICBjZGs4c1BsdXM6IFwiY2RrOHMtcGx1c1wiLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
17
+ _a = JSII_RTTI_SYMBOL_1;
18
+ Cdk8sDepsPy[_a] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.71.85" };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtZGVwcy1weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9jZGs4cy1kZXBzLXB5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTREO0FBRTVELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBQzlCLFlBQVk7UUFDcEIsT0FBTztZQUNMLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFlBQVk7WUFDeEIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7O0FBUEgsa0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGs4c0RlcHMsIENkazhzUGFja2FnZU5hbWVzIH0gZnJvbSBcIi4vY2RrOHMtZGVwc1wiO1xuXG5leHBvcnQgY2xhc3MgQ2RrOHNEZXBzUHkgZXh0ZW5kcyBDZGs4c0RlcHMge1xuICBwcm90ZWN0ZWQgcGFja2FnZU5hbWVzKCk6IENkazhzUGFja2FnZU5hbWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2RrOHM6IFwiY2RrOHNcIixcbiAgICAgIGNvbnN0cnVjdHM6IFwiY29uc3RydWN0c1wiLFxuICAgICAgY2RrOHNQbHVzOiBcImNkazhzLXBsdXNcIixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -90,9 +90,9 @@ class Cdk8sDeps extends component_1.Component {
90
90
  return versionRequirement;
91
91
  }
92
92
  }
93
- _a = JSII_RTTI_SYMBOL_1;
94
- Cdk8sDeps[_a] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.71.83" };
95
93
  exports.Cdk8sDeps = Cdk8sDeps;
94
+ _a = JSII_RTTI_SYMBOL_1;
95
+ Cdk8sDeps[_a] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.71.85" };
96
96
  function determineFrameworkVersion(options) {
97
97
  const ver = semver.parse(options.cdk8sVersion);
98
98
  if (!ver) {
@@ -106,4 +106,4 @@ function determineFrameworkVersion(options) {
106
106
  major: ver.major,
107
107
  };
108
108
  }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtZGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9jZGs4cy1kZXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLDRDQUF5QztBQUN6QyxrREFBaUQ7QUFnSWpEOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLHFCQUFTO0lBb0IvQyxZQUFZLE9BQWdCLEVBQUUsT0FBeUI7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXpDLE1BQU0sU0FBUyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUU3QyxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLHVCQUF1QixDQUMxQixPQUFPLENBQUMsaUJBQWlCLEVBQ3pCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FDakMsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsQ0FDekIsT0FBTyxDQUFDLFlBQVksRUFDcEIsT0FBTyxDQUFDLG1CQUFtQixDQUM1QixDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsc0JBQXNCLENBQy9CLENBQUM7U0FDSDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsTUFBTSxjQUFjLEdBQUcsT0FBTyxD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LENBQ3BCLENBQUM7UUFFRixPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7Ozs7QUE3TW1CLDhCQUFTO0FBZ04vQixTQUFTLHlCQUF5QixDQUFDLE9BQXlCO0lBQzFELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUNiLHdEQUF3RCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQy9FLENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNyQixLQUFLLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtZQUNoQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDdEIsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtRQUM5QixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7S0FDakIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQ2RrOHNEZXBzYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENkazhzRGVwc0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogTWludW11bSB2ZXJzaW9uIG9mIHRoZSBjZGs4cyB0byBkZXBlbmQgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMi4zLjMzXCJcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNaW51bXVtIHZlcnNpb24gb2YgdGhlIGNkazhzLWNsaSB0byBkZXBlbmQgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMi4wLjI4XCJcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzQ2xpVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogTWluaW11bSB2ZXJzaW9uIG9mIHRoZSBgY29uc3RydWN0c2AgbGlicmFyeSB0byBkZXBlbmQgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMTAuMS40MlwiXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY2RrOHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBDREs4cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBjZGs4cy1jbGkuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBDREs4cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzQ2xpVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBjb25zdHJ1Y3RzLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgY29uc3J1Y3RzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5jbHVkZSBjZGs4cy1wbHVzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzUGx1cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjZGs4cy1wbHVzIGxpYnJhcnkgZGVwZW5kcyBvZiBLdWJlcm5ldGVzIG1pbm9yIHZlcnNpb25cbiAgICogRm9yIGV4YW1wbGUsIGNkazhzLXBsdXMtMjIgdGFyZ2V0cyBrdWJlcm5ldGVzIHZlcnNpb24gMS4yMi4wXG4gICAqIGNkazhzLXBsdXMtMjEgdGFyZ2V0cyBrdWJlcm5ldGVzIHZlcnNpb24gMS4yMS4wXG4gICAqXG4gICAqIEBkZWZhdWx0IDIyXG4gICAqL1xuICByZWFkb25seSBrOHNNaW5vclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1pbnVtdW0gdmVyc2lvbiBvZiB0aGUgY2RrOHMtcGx1cy1YWCB0byBkZXBlbmQgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiMi4wLjAtcmMuMjZcIlxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNQbHVzVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY2RrOHMtcGx1cy0xNy5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IHlhcm4gdG8gbWl4IHZlcnNpb25zIGZvciB5b3VyIENESzhzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNQbHVzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzRGVwc09wdGlvbnMgZXh0ZW5kcyBDZGs4c0RlcHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGRlcGVuZGVuY3kgdG8gdXNlIGZvciBydW50aW1lIENESzhzIGFuZCBgY29uc3RydWN0c2AgbW9kdWxlcy5cbiAgICpcbiAgICogRm9yIGxpYnJhcmllcywgdXNlIHBlZXIgZGVwZW5kZW5jaWVzIGFuZCBmb3IgYXBwcyB1c2UgcnVudGltZSBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGU7XG5cbiAgLyoqXG4gICAqIEFkZCBjZGs4cy1jbGkgb25seSB0byBOb2RlIHByb2plY3RzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjZGs4c0NsaURlcGVuZGVuY3k6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNQYWNrYWdlTmFtZXMge1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGNvcmUgZnJhbWV3b3JrIHBhY2thZ2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgY2xpZW50IHBhY2thZ2UuXG4gICAqIFVzZWQgb25seSBvbiBOb2RlIHByb2plY3RzXG4gICAqL1xuICByZWFkb25seSBjZGs4c0NsaWVudD86IHN0cmluZztcbiAgLyoqXG4gICAqIEZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBjb25zdHJ1Y3RzIGxpYnJhcnkgcGFja2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0czogc3RyaW5nO1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGNkazlzLXBsdXMtWFggbGlicmFyeSBwYWNrYWdlXG4gICAqL1xuICByZWFkb25seSBjZGs4c1BsdXM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYW5hZ2VzIGRlcGVuZGVuY2llcyBvbiB0aGUgQ0RLOHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDZGs4c0RlcHMgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGRlcGVuZGVuY3kgcmVxdWlyZW1lbnQgZm9yIENESzhzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB2ZXJzaW9uIG9mIHRoZSBDREs4cyAoZS5nLiBgMi4wLjBgKVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzTWluaW11bVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ham9yIHZlcnNpb24gb2YgdGhlIENESzhzIChlLmcuIDEsIDIsIC4uLilcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGs4c01ham9yVmVyc2lvbjogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhY2thZ2VOYW1lczogQ2RrOHNQYWNrYWdlTmFtZXM7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQ2RrOHNEZXBzT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5kZXBlbmRlbmN5VHlwZSA9IG9wdGlvbnMuZGVwZW5kZW5jeVR5cGU7XG4gICAgdGhpcy5fcGFja2FnZU5hbWVzID0gdGhpcy5wYWNrYWdlTmFtZXMoKTtcblxuICAgIGNvbnN0IGZyYW1ld29yayA9IGRldGVybWluZUZyYW1ld29ya1ZlcnNpb24ob3B0aW9ucyk7XG5cbiAgICB0aGlzLmNkazhzVmVyc2lvbiA9IGZyYW1ld29yay5yYW5nZTtcbiAgICB0aGlzLmNkazhzTWFqb3JWZXJzaW9uID0gZnJhbWV3b3JrLm1ham9yO1xuICAgIHRoaXMuY2RrOHNNaW5pbXVtVmVyc2lvbiA9IGZyYW1ld29yay5taW5pbXVtO1xuXG4gICAgLy8gY29uc3RydWN0cyBsaWJyYXJ5XG4gICAgdGhpcy5hZGRDb25zdHJ1Y3RzRGVwZW5kZW5jeShcbiAgICAgIG9wdGlvbnMuY29uc3RydWN0c1ZlcnNpb24sXG4gICAgICBvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uUGlubmluZ1xuICAgICk7XG5cbiAgICB0aGlzLmFkZEZyYW1ld29ya0RlcGVuZGVuY3koXG4gICAgICBvcHRpb25zLmNkazhzVmVyc2lvbixcbiAgICAgIG9wdGlvbnMuY2RrOHNWZXJzaW9uUGlubmluZ1xuICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jZGs4c0NsaURlcGVuZGVuY3kpIHtcbiAgICAgIHRoaXMuYWRkQ2xpZW50RGVwZW5kZW5jeShcbiAgICAgICAgb3B0aW9ucy5jZGs4c0NsaVZlcnNpb24sXG4gICAgICAgIG9wdGlvbnMuY2RrOHNDbGlWZXJzaW9uUGlubmluZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jZGs4c1BsdXMgPz8gdHJ1ZSkge1xuICAgICAgY29uc3QgazhNaW5vclZlcnNpb24gPSBvcHRpb25zLms4c01pbm9yVmVyc2lvbiA/PyAyMjtcbiAgICAgIHRoaXMuYWRkQ2RrOHNQbHVzRGVwZW5kZW5jeShcbiAgICAgICAgazhNaW5vclZlcnNpb24sXG4gICAgICAgIG9wdGlvbnMuY2RrOHNQbHVzVmVyc2lvbixcbiAgICAgICAgLy8gKHByb2plY3QgaW5zdGFuY2VvZiBDZGs4c1B5dGhvbkFwcCkgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgIG9wdGlvbnMuY2RrOHNQbHVzVmVyc2lvblBpbm5pbmdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHdpdGggaW5mb3JtYXRpb24gYWJvdXQgcGFja2FnZSBuYW1pbmcgaW4gdmFyaW91cyBsYW5ndWFnZXNcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYWNrYWdlTmFtZXMoKTogQ2RrOHNQYWNrYWdlTmFtZXM7XG5cbiAgcHJpdmF0ZSBnZXRWZXJzaW9uUmVxdWlyZW1lbnQoXG4gICAgcmVxdWVzdGVkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHYxVmVyc2lvbjogc3RyaW5nLFxuICAgIHYyVmVyc2lvbjogc3RyaW5nLFxuICAgIHBpbm5pbmc/OiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IGRlZmF1bHRWZXJzaW9uID0gdGhpcy5jZGs4c01ham9yVmVyc2lvbiA9PT0gMSA/IHYxVmVyc2lvbiA6IHYyVmVyc2lvbjtcbiAgICBjb25zdCB2ZXJzaW9uID0gYCR7cmVxdWVzdGVkVmVyc2lvbiA/PyBkZWZhdWx0VmVyc2lvbn1gO1xuICAgIGNvbnN0IHZlcnNpb25SZXF1aXJlbWVudCA9IHBpbm5pbmcgPyBgJHt2ZXJzaW9ufWAgOiBgXiR7dmVyc2lvbn1gO1xuICAgIHJldHVybiB2ZXJzaW9uUmVxdWlyZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGFkZENkazhzUGx1c0RlcGVuZGVuY3koXG4gICAgazhNaW5vclZlcnNpb246IG51bWJlcixcbiAgICByZXF1ZXN0ZWRWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcGlubmluZz86IGJvb2xlYW5cbiAgKSB7XG4gICAgY29uc3QgdmVyc2lvblJlcXVpcmVtZW50ID0gdGhpcy5nZXRWZXJzaW9uUmVxdWlyZW1lbnQoXG4gICAgICByZXF1ZXN0ZWRWZXJzaW9uLFxuICAgICAgXCIxLjAuMC1iZXRhLjIyMlwiLFxuICAgICAgXCIyLjAuMC1yYy4yNlwiLFxuICAgICAgcGlubmluZ1xuICAgICk7XG5cbiAgICBjb25zdCBjZGs4c1BsdXNNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbih2ZXJzaW9uUmVxdWlyZW1lbnQpPy5tYWpvcjtcbiAgICBpZiAoIWNkazhzUGx1c01ham9yVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2Fubm90IGRldGVybWluZSBtYWpvciB2ZXJzaW9uIG9mIGNkazhzLXBsdXMgdmVyc2lvbiAnJHt2ZXJzaW9uUmVxdWlyZW1lbnR9J2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY2RrOHNQbHVzTGliID0gdGhpcy5fcGFja2FnZU5hbWVzLmNkazhzUGx1cy5jb25jYXQoXG4gICAgICBcIi1cIixcbiAgICAgIGs4TWlub3JWZXJzaW9uLnRvU3RyaW5nKClcbiAgICApO1xuICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koXG4gICAgICBgJHtjZGs4c1BsdXNMaWJ9QCR7dmVyc2lvblJlcXVpcmVtZW50fWAsXG4gICAgICB0aGlzLmRlcGVuZGVuY3lUeXBlXG4gICAgKTtcblxuICAgIHJldHVybiB2ZXJzaW9uUmVxdWlyZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGFkZENsaWVudERlcGVuZGVuY3koXG4gICAgcmVxdWVzdGVkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHBpbm5pbmc/OiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IHZlcnNpb25SZXF1aXJlbWVudCA9IHRoaXMuZ2V0VmVyc2lvblJlcXVpcmVtZW50KFxuICAgICAgcmVxdWVzdGVkVmVyc2lvbixcbiAgICAgIFwiMS4xLjM0XCIsXG4gICAgICBcIjIuMC4yOFwiLFxuICAgICAgcGlubmluZ1xuICAgICk7XG5cbiAgICBjb25zdCBjZGs4c0NsaU1ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHZlcnNpb25SZXF1aXJlbWVudCk/Lm1ham9yO1xuICAgIGlmICghY2RrOHNDbGlNYWpvclZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgbWFqb3IgdmVyc2lvbiBvZiBjZGs4cyB2ZXJzaW9uICcke3ZlcnNpb25SZXF1aXJlbWVudH0nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFxuICAgICAgYCR7dGhpcy5fcGFja2FnZU5hbWVzLmNkazhzQ2xpZW50fUAke3ZlcnNpb25SZXF1aXJlbWVudH1gLFxuICAgICAgRGVwZW5kZW5jeVR5cGUuQlVJTERcbiAgICApO1xuXG4gICAgcmV0dXJuIHZlcnNpb25SZXF1aXJlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRnJhbWV3b3JrRGVwZW5kZW5jeShcbiAgICByZXF1ZXN0ZWRWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcGlubmluZz86IGJvb2xlYW5cbiAgKSB7XG4gICAgY29uc3QgdmVyc2lvblJlcXVpcmVtZW50ID0gdGhpcy5nZXRWZXJzaW9uUmVxdWlyZW1lbnQoXG4gICAgICByZXF1ZXN0ZWRWZXJzaW9uLFxuICAgICAgXCIxLjYuMzNcIixcbiAgICAgIFwiMi4zLjMzXCIsXG4gICAgICBwaW5uaW5nXG4gICAgKTtcblxuICAgIGNvbnN0IGNkazhzTWFqb3JWZXJzaW9uID0gc2VtdmVyLm1pblZlcnNpb24odmVyc2lvblJlcXVpcmVtZW50KT8ubWFqb3I7XG4gICAgaWYgKCFjZGs4c01ham9yVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2Fubm90IGRldGVybWluZSBtYWpvciB2ZXJzaW9uIG9mIGNkazhzIHZlcnNpb24gJyR7dmVyc2lvblJlcXVpcmVtZW50fSdgXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koXG4gICAgICBgJHt0aGlzLl9wYWNrYWdlTmFtZXMuY2RrOHN9QCR7dmVyc2lvblJlcXVpcmVtZW50fWAsXG4gICAgICB0aGlzLmRlcGVuZGVuY3lUeXBlXG4gICAgKTtcblxuICAgIHJldHVybiB2ZXJzaW9uUmVxdWlyZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGFkZENvbnN0cnVjdHNEZXBlbmRlbmN5KFxuICAgIHJlcXVlc3RlZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwaW5uaW5nPzogYm9vbGVhblxuICApIHtcbiAgICBpZiAocmVxdWVzdGVkVmVyc2lvbiAmJiAhc2VtdmVyLnBhcnNlKHJlcXVlc3RlZFZlcnNpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcImNvbnN0cnVjdHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke3JlcXVlc3RlZFZlcnNpb259YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2ZXJzaW9uUmVxdWlyZW1lbnQgPSB0aGlzLmdldFZlcnNpb25SZXF1aXJlbWVudChcbiAgICAgIHJlcXVlc3RlZFZlcnNpb24sXG4gICAgICBcIjMuNC4zOVwiLFxuICAgICAgXCIxMC4xLjQyXCIsXG4gICAgICBwaW5uaW5nXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbnN0cnVjdHNNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbih2ZXJzaW9uUmVxdWlyZW1lbnQpPy5tYWpvcjtcbiAgICBpZiAoIWNvbnN0cnVjdHNNYWpvclZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgbWFqb3IgdmVyc2lvbiBvZiBjb25zdHJ1Y3RzIHZlcnNpb24gJyR7dmVyc2lvblJlcXVpcmVtZW50fSdgXG4gICAgICApO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy5jZGs4c01ham9yVmVyc2lvbikge1xuICAgICAgY2FzZSAxOlxuICAgICAgICBpZiAoY29uc3RydWN0c01ham9yVmVyc2lvbiAhPT0gMykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFXUyBDREsgMS54IHJlcXVpcmVzIGNvbnN0cnVjdHMgMy54XCIpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDI6XG4gICAgICAgIGlmIChjb25zdHJ1Y3RzTWFqb3JWZXJzaW9uICE9PSAxMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFXUyBDREsgMi54IHJlcXVpcmVzIGNvbnN0cnVjdHMgMTAueFwiKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLnByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFxuICAgICAgYCR7dGhpcy5fcGFja2FnZU5hbWVzLmNvbnN0cnVjdHN9QCR7dmVyc2lvblJlcXVpcmVtZW50fWAsXG4gICAgICB0aGlzLmRlcGVuZGVuY3lUeXBlXG4gICAgKTtcblxuICAgIHJldHVybiB2ZXJzaW9uUmVxdWlyZW1lbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGV0ZXJtaW5lRnJhbWV3b3JrVmVyc2lvbihvcHRpb25zOiBDZGs4c0RlcHNPcHRpb25zKSB7XG4gIGNvbnN0IHZlciA9IHNlbXZlci5wYXJzZShvcHRpb25zLmNkazhzVmVyc2lvbik7XG4gIGlmICghdmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFwiY2RrOHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke29wdGlvbnMuY2RrOHNWZXJzaW9ufWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtaW5pbXVtOiB2ZXIuZm9ybWF0KCksXG4gICAgcmFuZ2U6IG9wdGlvbnMuY2RrOHNWZXJzaW9uUGlubmluZ1xuICAgICAgPyBvcHRpb25zLmNkazhzVmVyc2lvblxuICAgICAgOiBgXiR7b3B0aW9ucy5jZGs4c1ZlcnNpb259YCxcbiAgICBtYWpvcjogdmVyLm1ham9yLFxuICB9O1xufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtZGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9jZGs4cy1kZXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLDRDQUF5QztBQUN6QyxrREFBaUQ7QUFnSWpEOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLHFCQUFTO0lBb0IvQyxZQUFZLE9BQWdCLEVBQUUsT0FBeUI7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXpDLE1BQU0sU0FBUyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUU3QyxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLHVCQUF1QixDQUMxQixPQUFPLENBQUMsaUJBQWlCLEVBQ3pCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FDakMsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsQ0FDekIsT0FBTyxDQUFDLFlBQVksRUFDcEIsT0FBTyxDQUFDLG1CQUFtQixDQUM1QixDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsc0JBQXNCLENBQy9CLENBQUM7U0FDSDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsTUFBTSxjQUFjLEdBQUcsT0FBTyxD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LENBQ3BCLENBQUM7UUFFRixPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7O0FBN01ILDhCQThNQzs7O0FBRUQsU0FBUyx5QkFBeUIsQ0FBQyxPQUF5QjtJQUMxRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FDYix3REFBd0QsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUMvRSxDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUU7UUFDckIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxtQkFBbUI7WUFDaEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7UUFDOUIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO0tBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYENkazhzRGVwc2BcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGs4c0RlcHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIE1pbnVtdW0gdmVyc2lvbiBvZiB0aGUgY2RrOHMgdG8gZGVwZW5kIG9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjIuMy4zM1wiXG4gICAqL1xuICByZWFkb25seSBjZGs4c1ZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogTWludW11bSB2ZXJzaW9uIG9mIHRoZSBjZGs4cy1jbGkgdG8gZGVwZW5kIG9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjIuMC4yOFwiXG4gICAqL1xuICByZWFkb25seSBjZGs4c0NsaVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gdmVyc2lvbiBvZiB0aGUgYGNvbnN0cnVjdHNgIGxpYnJhcnkgdG8gZGVwZW5kIG9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjEwLjEuNDJcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSBwaW5uZWQgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhcmV0IHZlcnNpb24gZm9yIGNkazhzLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgQ0RLOHMgcGFja2FnZSBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjZGs4c1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY2RrOHMtY2xpLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgQ0RLOHMgcGFja2FnZSBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAqIElmIHlvdSB1c2UgZXhwZXJpbWVudGFsIGZlYXR1cmVzIHRoaXMgd2lsbCBsZXQgeW91IGRlZmluZSB0aGUgbW9tZW50IHlvdSBpbmNsdWRlIGJyZWFraW5nIGNoYW5nZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjZGs4c0NsaVZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY29uc3RydWN0cy5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IHlhcm4gdG8gbWl4IHZlcnNpb25zIGZvciB5b3VyIGNvbnNydWN0cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uUGlubmluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgY2RrOHMtcGx1c1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjZGs4c1BsdXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgY2RrOHMtcGx1cyBsaWJyYXJ5IGRlcGVuZHMgb2YgS3ViZXJuZXRlcyBtaW5vciB2ZXJzaW9uXG4gICAqIEZvciBleGFtcGxlLCBjZGs4cy1wbHVzLTIyIHRhcmdldHMga3ViZXJuZXRlcyB2ZXJzaW9uIDEuMjIuMFxuICAgKiBjZGs4cy1wbHVzLTIxIHRhcmdldHMga3ViZXJuZXRlcyB2ZXJzaW9uIDEuMjEuMFxuICAgKlxuICAgKiBAZGVmYXVsdCAyMlxuICAgKi9cbiAgcmVhZG9ubHkgazhzTWlub3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW51bXVtIHZlcnNpb24gb2YgdGhlIGNkazhzLXBsdXMtWFggdG8gZGVwZW5kIG9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjIuMC4wLXJjLjI2XCJcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzUGx1c1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZSBwaW5uZWQgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhcmV0IHZlcnNpb24gZm9yIGNkazhzLXBsdXMtMTcuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBDREs4cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzUGx1c1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGs4c0RlcHNPcHRpb25zIGV4dGVuZHMgQ2RrOHNEZXBzQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBkZXBlbmRlbmN5IHRvIHVzZSBmb3IgcnVudGltZSBDREs4cyBhbmQgYGNvbnN0cnVjdHNgIG1vZHVsZXMuXG4gICAqXG4gICAqIEZvciBsaWJyYXJpZXMsIHVzZSBwZWVyIGRlcGVuZGVuY2llcyBhbmQgZm9yIGFwcHMgdXNlIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlO1xuXG4gIC8qKlxuICAgKiBBZGQgY2RrOHMtY2xpIG9ubHkgdG8gTm9kZSBwcm9qZWN0c1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNDbGlEZXBlbmRlbmN5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzUGFja2FnZU5hbWVzIHtcbiAgLyoqXG4gICAqIEZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBjb3JlIGZyYW1ld29yayBwYWNrYWdlXG4gICAqL1xuICByZWFkb25seSBjZGs4czogc3RyaW5nO1xuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGNsaWVudCBwYWNrYWdlLlxuICAgKiBVc2VkIG9ubHkgb24gTm9kZSBwcm9qZWN0c1xuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNDbGllbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgY29uc3RydWN0cyBsaWJyYXJ5IHBhY2thZ2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHM6IHN0cmluZztcbiAgLyoqXG4gICAqIEZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBjZGs5cy1wbHVzLVhYIGxpYnJhcnkgcGFja2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNQbHVzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWFuYWdlcyBkZXBlbmRlbmNpZXMgb24gdGhlIENESzhzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2RrOHNEZXBzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBkZXBlbmRlbmN5IHJlcXVpcmVtZW50IGZvciBDREs4cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGs4c1ZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gdmVyc2lvbiBvZiB0aGUgQ0RLOHMgKGUuZy4gYDIuMC4wYClcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGs4c01pbmltdW1WZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYWpvciB2ZXJzaW9uIG9mIHRoZSBDREs4cyAoZS5nLiAxLCAyLCAuLi4pXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrOHNNYWpvclZlcnNpb246IG51bWJlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlcGVuZGVuY3lUeXBlOiBEZXBlbmRlbmN5VHlwZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYWNrYWdlTmFtZXM6IENkazhzUGFja2FnZU5hbWVzO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IENkazhzRGVwc09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZGVwZW5kZW5jeVR5cGUgPSBvcHRpb25zLmRlcGVuZGVuY3lUeXBlO1xuICAgIHRoaXMuX3BhY2thZ2VOYW1lcyA9IHRoaXMucGFja2FnZU5hbWVzKCk7XG5cbiAgICBjb25zdCBmcmFtZXdvcmsgPSBkZXRlcm1pbmVGcmFtZXdvcmtWZXJzaW9uKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5jZGs4c1ZlcnNpb24gPSBmcmFtZXdvcmsucmFuZ2U7XG4gICAgdGhpcy5jZGs4c01ham9yVmVyc2lvbiA9IGZyYW1ld29yay5tYWpvcjtcbiAgICB0aGlzLmNkazhzTWluaW11bVZlcnNpb24gPSBmcmFtZXdvcmsubWluaW11bTtcblxuICAgIC8vIGNvbnN0cnVjdHMgbGlicmFyeVxuICAgIHRoaXMuYWRkQ29uc3RydWN0c0RlcGVuZGVuY3koXG4gICAgICBvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uLFxuICAgICAgb3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvblBpbm5pbmdcbiAgICApO1xuXG4gICAgdGhpcy5hZGRGcmFtZXdvcmtEZXBlbmRlbmN5KFxuICAgICAgb3B0aW9ucy5jZGs4c1ZlcnNpb24sXG4gICAgICBvcHRpb25zLmNkazhzVmVyc2lvblBpbm5pbmdcbiAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMuY2RrOHNDbGlEZXBlbmRlbmN5KSB7XG4gICAgICB0aGlzLmFkZENsaWVudERlcGVuZGVuY3koXG4gICAgICAgIG9wdGlvbnMuY2RrOHNDbGlWZXJzaW9uLFxuICAgICAgICBvcHRpb25zLmNkazhzQ2xpVmVyc2lvblBpbm5pbmdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuY2RrOHNQbHVzID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGs4TWlub3JWZXJzaW9uID0gb3B0aW9ucy5rOHNNaW5vclZlcnNpb24gPz8gMjI7XG4gICAgICB0aGlzLmFkZENkazhzUGx1c0RlcGVuZGVuY3koXG4gICAgICAgIGs4TWlub3JWZXJzaW9uLFxuICAgICAgICBvcHRpb25zLmNkazhzUGx1c1ZlcnNpb24sXG4gICAgICAgIC8vIChwcm9qZWN0IGluc3RhbmNlb2YgQ2RrOHNQeXRob25BcHApID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICBvcHRpb25zLmNkazhzUGx1c1ZlcnNpb25QaW5uaW5nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBjb25maWd1cmF0aW9uIG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHBhY2thZ2UgbmFtaW5nIGluIHZhcmlvdXMgbGFuZ3VhZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcGFja2FnZU5hbWVzKCk6IENkazhzUGFja2FnZU5hbWVzO1xuXG4gIHByaXZhdGUgZ2V0VmVyc2lvblJlcXVpcmVtZW50KFxuICAgIHJlcXVlc3RlZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB2MVZlcnNpb246IHN0cmluZyxcbiAgICB2MlZlcnNpb246IHN0cmluZyxcbiAgICBwaW5uaW5nPzogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCBkZWZhdWx0VmVyc2lvbiA9IHRoaXMuY2RrOHNNYWpvclZlcnNpb24gPT09IDEgPyB2MVZlcnNpb24gOiB2MlZlcnNpb247XG4gICAgY29uc3QgdmVyc2lvbiA9IGAke3JlcXVlc3RlZFZlcnNpb24gPz8gZGVmYXVsdFZlcnNpb259YDtcbiAgICBjb25zdCB2ZXJzaW9uUmVxdWlyZW1lbnQgPSBwaW5uaW5nID8gYCR7dmVyc2lvbn1gIDogYF4ke3ZlcnNpb259YDtcbiAgICByZXR1cm4gdmVyc2lvblJlcXVpcmVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDZGs4c1BsdXNEZXBlbmRlbmN5KFxuICAgIGs4TWlub3JWZXJzaW9uOiBudW1iZXIsXG4gICAgcmVxdWVzdGVkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHBpbm5pbmc/OiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IHZlcnNpb25SZXF1aXJlbWVudCA9IHRoaXMuZ2V0VmVyc2lvblJlcXVpcmVtZW50KFxuICAgICAgcmVxdWVzdGVkVmVyc2lvbixcbiAgICAgIFwiMS4wLjAtYmV0YS4yMjJcIixcbiAgICAgIFwiMi4wLjAtcmMuMjZcIixcbiAgICAgIHBpbm5pbmdcbiAgICApO1xuXG4gICAgY29uc3QgY2RrOHNQbHVzTWFqb3JWZXJzaW9uID0gc2VtdmVyLm1pblZlcnNpb24odmVyc2lvblJlcXVpcmVtZW50KT8ubWFqb3I7XG4gICAgaWYgKCFjZGs4c1BsdXNNYWpvclZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgbWFqb3IgdmVyc2lvbiBvZiBjZGs4cy1wbHVzIHZlcnNpb24gJyR7dmVyc2lvblJlcXVpcmVtZW50fSdgXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNkazhzUGx1c0xpYiA9IHRoaXMuX3BhY2thZ2VOYW1lcy5jZGs4c1BsdXMuY29uY2F0KFxuICAgICAgXCItXCIsXG4gICAgICBrOE1pbm9yVmVyc2lvbi50b1N0cmluZygpXG4gICAgKTtcbiAgICB0aGlzLnByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFxuICAgICAgYCR7Y2RrOHNQbHVzTGlifUAke3ZlcnNpb25SZXF1aXJlbWVudH1gLFxuICAgICAgdGhpcy5kZXBlbmRlbmN5VHlwZVxuICAgICk7XG5cbiAgICByZXR1cm4gdmVyc2lvblJlcXVpcmVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDbGllbnREZXBlbmRlbmN5KFxuICAgIHJlcXVlc3RlZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwaW5uaW5nPzogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCB2ZXJzaW9uUmVxdWlyZW1lbnQgPSB0aGlzLmdldFZlcnNpb25SZXF1aXJlbWVudChcbiAgICAgIHJlcXVlc3RlZFZlcnNpb24sXG4gICAgICBcIjEuMS4zNFwiLFxuICAgICAgXCIyLjAuMjhcIixcbiAgICAgIHBpbm5pbmdcbiAgICApO1xuXG4gICAgY29uc3QgY2RrOHNDbGlNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbih2ZXJzaW9uUmVxdWlyZW1lbnQpPy5tYWpvcjtcbiAgICBpZiAoIWNkazhzQ2xpTWFqb3JWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgZGV0ZXJtaW5lIG1ham9yIHZlcnNpb24gb2YgY2RrOHMgdmVyc2lvbiAnJHt2ZXJzaW9uUmVxdWlyZW1lbnR9J2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5wcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShcbiAgICAgIGAke3RoaXMuX3BhY2thZ2VOYW1lcy5jZGs4c0NsaWVudH1AJHt2ZXJzaW9uUmVxdWlyZW1lbnR9YCxcbiAgICAgIERlcGVuZGVuY3lUeXBlLkJVSUxEXG4gICAgKTtcblxuICAgIHJldHVybiB2ZXJzaW9uUmVxdWlyZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGFkZEZyYW1ld29ya0RlcGVuZGVuY3koXG4gICAgcmVxdWVzdGVkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHBpbm5pbmc/OiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IHZlcnNpb25SZXF1aXJlbWVudCA9IHRoaXMuZ2V0VmVyc2lvblJlcXVpcmVtZW50KFxuICAgICAgcmVxdWVzdGVkVmVyc2lvbixcbiAgICAgIFwiMS42LjMzXCIsXG4gICAgICBcIjIuMy4zM1wiLFxuICAgICAgcGlubmluZ1xuICAgICk7XG5cbiAgICBjb25zdCBjZGs4c01ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHZlcnNpb25SZXF1aXJlbWVudCk/Lm1ham9yO1xuICAgIGlmICghY2RrOHNNYWpvclZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCBkZXRlcm1pbmUgbWFqb3IgdmVyc2lvbiBvZiBjZGs4cyB2ZXJzaW9uICcke3ZlcnNpb25SZXF1aXJlbWVudH0nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFxuICAgICAgYCR7dGhpcy5fcGFja2FnZU5hbWVzLmNkazhzfUAke3ZlcnNpb25SZXF1aXJlbWVudH1gLFxuICAgICAgdGhpcy5kZXBlbmRlbmN5VHlwZVxuICAgICk7XG5cbiAgICByZXR1cm4gdmVyc2lvblJlcXVpcmVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDb25zdHJ1Y3RzRGVwZW5kZW5jeShcbiAgICByZXF1ZXN0ZWRWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcGlubmluZz86IGJvb2xlYW5cbiAgKSB7XG4gICAgaWYgKHJlcXVlc3RlZFZlcnNpb24gJiYgIXNlbXZlci5wYXJzZShyZXF1ZXN0ZWRWZXJzaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgXCJjb25zdHJ1Y3RzVmVyc2lvblwiIGNhbm5vdCBiZSBwYXJzZWQgYXMgYSBzZW12ZXIgdmVyc2lvbjogJHtyZXF1ZXN0ZWRWZXJzaW9ufWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgdmVyc2lvblJlcXVpcmVtZW50ID0gdGhpcy5nZXRWZXJzaW9uUmVxdWlyZW1lbnQoXG4gICAgICByZXF1ZXN0ZWRWZXJzaW9uLFxuICAgICAgXCIzLjQuMzlcIixcbiAgICAgIFwiMTAuMS40MlwiLFxuICAgICAgcGlubmluZ1xuICAgICk7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RzTWFqb3JWZXJzaW9uID0gc2VtdmVyLm1pblZlcnNpb24odmVyc2lvblJlcXVpcmVtZW50KT8ubWFqb3I7XG4gICAgaWYgKCFjb25zdHJ1Y3RzTWFqb3JWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgZGV0ZXJtaW5lIG1ham9yIHZlcnNpb24gb2YgY29uc3RydWN0cyB2ZXJzaW9uICcke3ZlcnNpb25SZXF1aXJlbWVudH0nYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuY2RrOHNNYWpvclZlcnNpb24pIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgaWYgKGNvbnN0cnVjdHNNYWpvclZlcnNpb24gIT09IDMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBV1MgQ0RLIDEueCByZXF1aXJlcyBjb25zdHJ1Y3RzIDMueFwiKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAyOlxuICAgICAgICBpZiAoY29uc3RydWN0c01ham9yVmVyc2lvbiAhPT0gMTApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBV1MgQ0RLIDIueCByZXF1aXJlcyBjb25zdHJ1Y3RzIDEwLnhcIik7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5wcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShcbiAgICAgIGAke3RoaXMuX3BhY2thZ2VOYW1lcy5jb25zdHJ1Y3RzfUAke3ZlcnNpb25SZXF1aXJlbWVudH1gLFxuICAgICAgdGhpcy5kZXBlbmRlbmN5VHlwZVxuICAgICk7XG5cbiAgICByZXR1cm4gdmVyc2lvblJlcXVpcmVtZW50O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRldGVybWluZUZyYW1ld29ya1ZlcnNpb24ob3B0aW9uczogQ2RrOHNEZXBzT3B0aW9ucykge1xuICBjb25zdCB2ZXIgPSBzZW12ZXIucGFyc2Uob3B0aW9ucy5jZGs4c1ZlcnNpb24pO1xuICBpZiAoIXZlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBcImNkazhzVmVyc2lvblwiIGNhbm5vdCBiZSBwYXJzZWQgYXMgYSBzZW12ZXIgdmVyc2lvbjogJHtvcHRpb25zLmNkazhzVmVyc2lvbn1gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbWluaW11bTogdmVyLmZvcm1hdCgpLFxuICAgIHJhbmdlOiBvcHRpb25zLmNkazhzVmVyc2lvblBpbm5pbmdcbiAgICAgID8gb3B0aW9ucy5jZGs4c1ZlcnNpb25cbiAgICAgIDogYF4ke29wdGlvbnMuY2RrOHNWZXJzaW9ufWAsXG4gICAgbWFqb3I6IHZlci5tYWpvcixcbiAgfTtcbn1cbiJdfQ==
@@ -36,7 +36,7 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
36
36
  this.assertTask.exec(`diff ${this.snapshotDir}/ ${assertDir}/`);
37
37
  }
38
38
  }
39
- _a = JSII_RTTI_SYMBOL_1;
40
- IntegrationTest[_a] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.71.83" };
41
39
  exports.IntegrationTest = IntegrationTest;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9pbnRlZ3JhdGlvbi10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGdDQUF5RTtBQUN6RSxrREFBaUQ7QUFRakQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEseUJBQW1CO0lBQ3RELFlBQVksT0FBZ0IsRUFBRSxPQUErQjtRQUMzRCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSw2QkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLDZCQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLGNBQWMsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkUsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFNUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RSw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLHNCQUFzQixHQUFHLFFBQVEsU0FBUyxjQUFjLENBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7O0FBakNVLDBDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucywgSW50ZWdyYXRpb25UZXN0QmFzZSB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgSW50ZWdyYXRpb25UZXN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25UZXN0T3B0aW9ucyBleHRlbmRzIEludGVncmF0aW9uVGVzdEJhc2VPcHRpb25zIHt9XG5cbi8qKlxuICogQ0RLOFMgaW50ZWdyYXRpb24gdGVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEludGVncmF0aW9uVGVzdCBleHRlbmRzIEludGVncmF0aW9uVGVzdEJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIXByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KFwiY2RrOHMtY2xpXCIpKSB7XG4gICAgICBwcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShgY2RrOHMtY2xpYCwgRGVwZW5kZW5jeVR5cGUuQlVJTEQpO1xuICAgIH1cblxuICAgIGlmICghcHJvamVjdC5kZXBzLnRyeUdldERlcGVuZGVuY3koXCJ0cy1ub2RlXCIpKSB7XG4gICAgICBwcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShcInRzLW5vZGVcIiwgRGVwZW5kZW5jeVR5cGUuQlVJTEQpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlcGxveURpciA9IGpvaW4odGhpcy50bXBEaXIsIFwiZGVwbG95LmNkay5vdXRcIik7XG4gICAgY29uc3QgYXNzZXJ0RGlyID0gam9pbih0aGlzLnRtcERpciwgXCJhc3NlcnQuY2RrLm91dFwiKTtcbiAgICBjb25zdCBhcHAgPSBgdHMtbm9kZSAtUCAke29wdGlvbnMudHNjb25maWdQYXRofSAke29wdGlvbnMuZW50cnlwb2ludH1gO1xuXG4gICAgLy8gU3ludGgsIGRlcGxveSwgYW5kIGNhcHR1cmUgdGhlIHNuYXBzaG90XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYHJtIC1mciAke2RlcGxveURpcn1gKTtcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhgY2RrOHMgc3ludGggLS1hcHAgXCIke2FwcH1cIiAtbyAke2RlcGxveURpcn1gKTtcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhga3ViZWN0bCBhcHBseSAtZiAke2RlcGxveURpcn1gKTtcbiAgICAvLyBJZiBkZXBsb3ltZW50IHdhcyBzdWNjZXNzZnVsLCBjb3B5IHRoZSBkZXBsb3kgZGlyIHRvIHRoZSBleHBlY3RlZCBkaXJcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7dGhpcy5zbmFwc2hvdERpcn1gKTtcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhgbXYgJHtkZXBsb3lEaXJ9ICR7dGhpcy5zbmFwc2hvdERpcn1gKTtcblxuICAgIC8vIFJ1biBhIHNuYXBzaG90XG4gICAgdGhpcy5zbmFwc2hvdFRhc2suZXhlYyhgcm0gLWZyICR7dGhpcy5zbmFwc2hvdERpcn1gKTtcbiAgICB0aGlzLnNuYXBzaG90VGFzay5leGVjKGBjZGs4cyBzeW50aCAtLWFwcCBcIiR7YXBwfVwiIC1vICR7dGhpcy5zbmFwc2hvdERpcn1gKTtcblxuICAgIC8vIEFzc2VydCB0aGF0IHRoZSBzbmFwc2hvdCBoYXMgbm90IGNoYW5nZWQgKHJ1biBkdXJpbmcgdGVzdHMpXG4gICAgdGhpcy5hc3NlcnRUYXNrLmV4ZWMoXG4gICAgICBgY2RrOHMgc3ludGggLS1hcHAgXCIke2FwcH1cIiAtbyAke2Fzc2VydERpcn0gPiAvZGV2L251bGxgXG4gICAgKTtcbiAgICB0aGlzLmFzc2VydFRhc2suZXhlYyhgZGlmZiAke3RoaXMuc25hcHNob3REaXJ9LyAke2Fzc2VydERpcn0vYCk7XG4gIH1cbn1cbiJdfQ==
40
+ _a = JSII_RTTI_SYMBOL_1;
41
+ IntegrationTest[_a] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.71.85" };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9pbnRlZ3JhdGlvbi10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGdDQUF5RTtBQUN6RSxrREFBaUQ7QUFRakQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEseUJBQW1CO0lBQ3RELFlBQVksT0FBZ0IsRUFBRSxPQUErQjtRQUMzRCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSw2QkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLDZCQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLGNBQWMsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkUsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFNUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RSw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLHNCQUFzQixHQUFHLFFBQVEsU0FBUyxjQUFjLENBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNsRSxDQUFDOztBQWpDSCwwQ0FrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEludGVncmF0aW9uVGVzdEJhc2VPcHRpb25zLCBJbnRlZ3JhdGlvblRlc3RCYXNlIH0gZnJvbSBcIi4uL2Nka1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBJbnRlZ3JhdGlvblRlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RPcHRpb25zIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QmFzZU9wdGlvbnMge31cblxuLyoqXG4gKiBDREs4UyBpbnRlZ3JhdGlvbiB0ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0IGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGlmICghcHJvamVjdC5kZXBzLnRyeUdldERlcGVuZGVuY3koXCJjZGs4cy1jbGlcIikpIHtcbiAgICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KGBjZGs4cy1jbGlgLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9qZWN0LmRlcHMudHJ5R2V0RGVwZW5kZW5jeShcInRzLW5vZGVcIikpIHtcbiAgICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFwidHMtbm9kZVwiLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95RGlyID0gam9pbih0aGlzLnRtcERpciwgXCJkZXBsb3kuY2RrLm91dFwiKTtcbiAgICBjb25zdCBhc3NlcnREaXIgPSBqb2luKHRoaXMudG1wRGlyLCBcImFzc2VydC5jZGsub3V0XCIpO1xuICAgIGNvbnN0IGFwcCA9IGB0cy1ub2RlIC1QICR7b3B0aW9ucy50c2NvbmZpZ1BhdGh9ICR7b3B0aW9ucy5lbnRyeXBvaW50fWA7XG5cbiAgICAvLyBTeW50aCwgZGVwbG95LCBhbmQgY2FwdHVyZSB0aGUgc25hcHNob3RcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7ZGVwbG95RGlyfWApO1xuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKGBjZGs4cyBzeW50aCAtLWFwcCBcIiR7YXBwfVwiIC1vICR7ZGVwbG95RGlyfWApO1xuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKGBrdWJlY3RsIGFwcGx5IC1mICR7ZGVwbG95RGlyfWApO1xuICAgIC8vIElmIGRlcGxveW1lbnQgd2FzIHN1Y2Nlc3NmdWwsIGNvcHkgdGhlIGRlcGxveSBkaXIgdG8gdGhlIGV4cGVjdGVkIGRpclxuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKGBybSAtZnIgJHt0aGlzLnNuYXBzaG90RGlyfWApO1xuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKGBtdiAke2RlcGxveURpcn0gJHt0aGlzLnNuYXBzaG90RGlyfWApO1xuXG4gICAgLy8gUnVuIGEgc25hcHNob3RcbiAgICB0aGlzLnNuYXBzaG90VGFzay5leGVjKGBybSAtZnIgJHt0aGlzLnNuYXBzaG90RGlyfWApO1xuICAgIHRoaXMuc25hcHNob3RUYXNrLmV4ZWMoYGNkazhzIHN5bnRoIC0tYXBwIFwiJHthcHB9XCIgLW8gJHt0aGlzLnNuYXBzaG90RGlyfWApO1xuXG4gICAgLy8gQXNzZXJ0IHRoYXQgdGhlIHNuYXBzaG90IGhhcyBub3QgY2hhbmdlZCAocnVuIGR1cmluZyB0ZXN0cylcbiAgICB0aGlzLmFzc2VydFRhc2suZXhlYyhcbiAgICAgIGBjZGs4cyBzeW50aCAtLWFwcCBcIiR7YXBwfVwiIC1vICR7YXNzZXJ0RGlyfSA+IC9kZXYvbnVsbGBcbiAgICApO1xuICAgIHRoaXMuYXNzZXJ0VGFzay5leGVjKGBkaWZmICR7dGhpcy5zbmFwc2hvdERpcn0vICR7YXNzZXJ0RGlyfS9gKTtcbiAgfVxufVxuIl19
@@ -33,7 +33,7 @@ class ConstructLibraryCdktf extends cdk_1.ConstructLibrary {
33
33
  this.addKeywords("cdktf");
34
34
  }
35
35
  }
36
- _a = JSII_RTTI_SYMBOL_1;
37
- ConstructLibraryCdktf[_a] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.71.83" };
38
36
  exports.ConstructLibraryCdktf = ConstructLibraryCdktf;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nka3RmL2Nka3RmLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFpQm5FOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBZ0I7SUFDekQsWUFBWSxPQUFxQztRQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxTQUFTLDBCQUEwQjtZQUNqQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELElBQUksa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDakUsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFFRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNqQyxNQUFNLGdCQUFnQixHQUNwQixPQUFPLENBQUMsaUJBQWlCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUU1RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O0FBdkJVLHNEQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RMaWJyYXJ5Q2RrdGZPcHRpb25zIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSB0YXJnZXQgdmVyc2lvbiB0aGlzIGxpYnJhcnkgaXMgdGVzdGVkIGFnYWluc3QuXG4gICAqIEBkZWZhdWx0IFwiXjAuMTMuMFwiXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrdGZWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB2ZXJzaW9uIHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcIl4xMC4wLjEyXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENES1RGIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3RcbiAqXG4gKiBBIG11bHRpLWxhbmd1YWdlIChqc2lpKSBjb25zdHJ1Y3QgbGlicmFyeSB3aGljaCB2ZW5kcyBjb25zdHJ1Y3RzIGRlc2lnbmVkIHRvXG4gKiB1c2Ugd2l0aGluIHRoZSBDREsgZm9yIFRlcnJhZm9ybSAoQ0RLVEYpLCB3aXRoIGEgZnJpZW5kbHkgd29ya2Zsb3cgYW5kXG4gKiBhdXRvbWF0aWMgcHVibGlzaGluZyB0byB0aGUgY29uc3RydWN0IGNhdGFsb2cuXG4gKlxuICogQHBqaWQgY2RrdGYtY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDb25zdHJ1Y3RMaWJyYXJ5Q2RrdGYgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ29uc3RydWN0TGlicmFyeUNka3RmT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgaWYgKCFvcHRpb25zLmNka3RmVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWlyZWQgZmllbGQgY2RrdGZWZXJzaW9uIGlzIG5vdCBzcGVjaWZpZWQuXCIpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldERlZmF1bHRDb25zdHJ1Y3RWZXJzaW9uKCkge1xuICAgICAgY29uc3Qgc2VtdmVyQ0RLVEZWZXJzaW9uID0gc2VtdmVyLmNvZXJjZShvcHRpb25zLmNka3RmVmVyc2lvbik7XG4gICAgICBpZiAoc2VtdmVyQ0RLVEZWZXJzaW9uICYmIHNlbXZlci5sdGUoc2VtdmVyQ0RLVEZWZXJzaW9uLCBcIjAuNS4wXCIpKSB7XG4gICAgICAgIHJldHVybiBcIl4zLjAuMFwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gXCJeMTAuMC4xMlwiO1xuICAgIH1cblxuICAgIGNvbnN0IHZlciA9IG9wdGlvbnMuY2RrdGZWZXJzaW9uO1xuICAgIGNvbnN0IGNvbnN0cnVjdFZlcnNpb24gPVxuICAgICAgb3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbiA/PyBnZXREZWZhdWx0Q29uc3RydWN0VmVyc2lvbigpO1xuXG4gICAgdGhpcy5hZGRQZWVyRGVwcyhgY29uc3RydWN0c0Ake2NvbnN0cnVjdFZlcnNpb259YCwgYGNka3RmQCR7dmVyfWApO1xuICAgIHRoaXMuYWRkS2V5d29yZHMoXCJjZGt0ZlwiKTtcbiAgfVxufVxuIl19
37
+ _a = JSII_RTTI_SYMBOL_1;
38
+ ConstructLibraryCdktf[_a] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.71.85" };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nka3RmL2Nka3RmLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFpQm5FOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBZ0I7SUFDekQsWUFBWSxPQUFxQztRQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxTQUFTLDBCQUEwQjtZQUNqQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELElBQUksa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDakUsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFFRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNqQyxNQUFNLGdCQUFnQixHQUNwQixPQUFPLENBQUMsaUJBQWlCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUU1RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDOztBQXZCSCxzREF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0TGlicmFyeSwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwiLi4vY2RrXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0TGlicmFyeUNka3RmT3B0aW9ucyBleHRlbmRzIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gdGFyZ2V0IHZlcnNpb24gdGhpcyBsaWJyYXJ5IGlzIHRlc3RlZCBhZ2FpbnN0LlxuICAgKiBAZGVmYXVsdCBcIl4wLjEzLjBcIlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGNka3RmVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgdmVyc2lvbiB0byB1c2VcbiAgICogQGRlZmF1bHQgXCJeMTAuMC4xMlwiXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDREtURiBjb25zdHJ1Y3QgbGlicmFyeSBwcm9qZWN0XG4gKlxuICogQSBtdWx0aS1sYW5ndWFnZSAoanNpaSkgY29uc3RydWN0IGxpYnJhcnkgd2hpY2ggdmVuZHMgY29uc3RydWN0cyBkZXNpZ25lZCB0b1xuICogdXNlIHdpdGhpbiB0aGUgQ0RLIGZvciBUZXJyYWZvcm0gKENES1RGKSwgd2l0aCBhIGZyaWVuZGx5IHdvcmtmbG93IGFuZFxuICogYXV0b21hdGljIHB1Ymxpc2hpbmcgdG8gdGhlIGNvbnN0cnVjdCBjYXRhbG9nLlxuICpcbiAqIEBwamlkIGNka3RmLWNvbnN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgQ29uc3RydWN0TGlicmFyeUNka3RmIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENvbnN0cnVjdExpYnJhcnlDZGt0Zk9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIGlmICghb3B0aW9ucy5jZGt0ZlZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlcXVpcmVkIGZpZWxkIGNka3RmVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLlwiKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXREZWZhdWx0Q29uc3RydWN0VmVyc2lvbigpIHtcbiAgICAgIGNvbnN0IHNlbXZlckNES1RGVmVyc2lvbiA9IHNlbXZlci5jb2VyY2Uob3B0aW9ucy5jZGt0ZlZlcnNpb24pO1xuICAgICAgaWYgKHNlbXZlckNES1RGVmVyc2lvbiAmJiBzZW12ZXIubHRlKHNlbXZlckNES1RGVmVyc2lvbiwgXCIwLjUuMFwiKSkge1xuICAgICAgICByZXR1cm4gXCJeMy4wLjBcIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFwiXjEwLjAuMTJcIjtcbiAgICB9XG5cbiAgICBjb25zdCB2ZXIgPSBvcHRpb25zLmNka3RmVmVyc2lvbjtcbiAgICBjb25zdCBjb25zdHJ1Y3RWZXJzaW9uID1cbiAgICAgIG9wdGlvbnMuY29uc3RydWN0c1ZlcnNpb24gPz8gZ2V0RGVmYXVsdENvbnN0cnVjdFZlcnNpb24oKTtcblxuICAgIHRoaXMuYWRkUGVlckRlcHMoYGNvbnN0cnVjdHNAJHtjb25zdHJ1Y3RWZXJzaW9ufWAsIGBjZGt0ZkAke3Zlcn1gKTtcbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrdGZcIik7XG4gIH1cbn1cbiJdfQ==