@nikovirtala/projen-constructs 0.1.4 → 0.1.5

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.
@@ -204,5 +204,5 @@ class Vitest extends component_1.Component {
204
204
  }
205
205
  exports.Vitest = Vitest;
206
206
  _a = JSII_RTTI_SYMBOL_1;
207
- Vitest[_a] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.1.4" };
207
+ Vitest[_a] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.1.5" };
208
208
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLG9EQUFpRDtBQUNqRCwwREFBeUQ7QUFDekQsc0RBQStEO0FBQy9ELGtEQUErQztBQUUvQyxJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDbkIsNENBQTZCLENBQUE7SUFDN0Isc0NBQXVCLENBQUE7SUFDdkIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUxXLFdBQVcsMkJBQVgsV0FBVyxRQUt0QjtBQUVELElBQVksSUFLWDtBQUxELFdBQVksSUFBSTtJQUNaLHVCQUFlLENBQUE7SUFDZiwyQkFBbUIsQ0FBQTtJQUNuQiwyQkFBbUIsQ0FBQTtJQUNuQiwrQkFBdUIsQ0FBQTtBQUMzQixDQUFDLEVBTFcsSUFBSSxvQkFBSixJQUFJLFFBS2Y7QUFFRCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIseUNBQXFCLENBQUE7SUFDckIsNkJBQVMsQ0FBQTtBQUNiLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQjtBQUVELElBQVksZ0JBTVg7QUFORCxXQUFZLGdCQUFnQjtJQUN4QixxQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBYSxDQUFBO0lBQ2IsaUNBQWEsQ0FBQTtJQUNiLGlDQUFhLENBQUE7SUFDYixpQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQjtBQTZCRCxNQUFhLE1BQU8sU0FBUSxxQkFBUztJQUMxQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQW9CO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBWSxFQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksTUFBTSxDQUFDO1FBQ3BFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxD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QUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFFbkQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7QUExTkwsd0JBMk5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcInByb2plbi9saWIvZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBKZXN0LCB0eXBlIE5vZGVQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tIFwicHJvamVuL2xpYi90ZXh0ZmlsZVwiO1xuXG5leHBvcnQgZW51bSBFbnZpcm9ubWVudCB7XG4gICAgRURHRV9SVU5USU1FID0gXCJlZGdlLXJ1bnRpbWVcIixcbiAgICBIQVBQWV9ET00gPSBcImhhcHB5LWRvbVwiLFxuICAgIEpTRE9NID0gXCJqc2RvbVwiLFxuICAgIE5PREUgPSBcIm5vZGVcIixcbn1cblxuZXhwb3J0IGVudW0gUG9vbCB7XG4gICAgRk9SS1MgPSBcImZvcmtzXCIsXG4gICAgVEhSRUFEUyA9IFwidGhyZWFkc1wiLFxuICAgIFZNRk9SS1MgPSBcInZtZm9ya3NcIixcbiAgICBWTVRIUkVBRFMgPSBcInZtdGhyZWFkc1wiLFxufVxuXG5leHBvcnQgZW51bSBDb3ZlcmFnZVByb3ZpZGVyIHtcbiAgICBJU1RBTkJVTCA9IFwiaXN0YW5idWxcIixcbiAgICBWOCA9IFwidjhcIixcbn1cblxuZXhwb3J0IGVudW0gQ292ZXJhZ2VSZXBvcnRlciB7XG4gICAgQ0xPVkVSID0gXCJjbG92ZXJcIixcbiAgICBIVE1MID0gXCJodG1sXCIsXG4gICAgSlNPTiA9IFwianNvblwiLFxuICAgIExDT1YgPSBcImxjb3ZcIixcbiAgICBURVhUID0gXCJ0ZXh0XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZXN0Q29uZmlnT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaW5jbHVkZT86IEFycmF5PHN0cmluZz47XG4gICAgcmVhZG9ubHkgZXhjbHVkZT86IEFycmF5PHN0cmluZz47XG4gICAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBFbnZpcm9ubWVudDtcbiAgICByZWFkb25seSBpc29sYXRlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBwb29sPzogUG9vbDtcbiAgICByZWFkb25seSBnbG9iYWxzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBjb3ZlcmFnZUVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGNvdmVyYWdlUHJvdmlkZXI/OiBDb3ZlcmFnZVByb3ZpZGVyO1xuICAgIHJlYWRvbmx5IGNvdmVyYWdlUmVwb3J0ZXJzPzogQXJyYXk8Q292ZXJhZ2VSZXBvcnRlcj47XG4gICAgcmVhZG9ubHkgY292ZXJhZ2VEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZWNoZWNrRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdHlwZWNoZWNrQ2hlY2tlcj86IHN0cmluZztcbiAgICByZWFkb25seSB0eXBlY2hlY2tUc2NvbmZpZz86IHN0cmluZztcbiAgICByZWFkb25seSBwYXNzV2l0aE5vVGVzdHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGJhaWw/OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgdXBkYXRlU25hcHNob3RzPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBwcmludENvbnNvbGVUcmFjZT86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgc2xvd1Rlc3RUaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZXN0T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgY29uZmlnRmlsZVBhdGg/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uZmlnPzogVml0ZXN0Q29uZmlnT3B0aW9ucztcbiAgICByZWFkb25seSB2aXRlc3RWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVml0ZXN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IE5vZGVQcm9qZWN0KTogVml0ZXN0IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNWaXRlc3QgPSAoYzogQ29tcG9uZW50KTogYyBpcyBWaXRlc3QgPT4gYyBpbnN0YW5jZW9mIFZpdGVzdDtcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzVml0ZXN0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZpbGVQYXRoOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmNsdWRlOiBTZXQ8c3RyaW5nPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGU6IFNldDxzdHJpbmc+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNvbGF0ZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvb2w6IFBvb2w7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3ZlcmFnZUVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlY2hlY2tFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZWNoZWNrQ2hlY2tlcjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZWNoZWNrVHNjb25maWc6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhc3NXaXRoTm9UZXN0czogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhaWw6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZVNuYXBzaG90czogYm9vbGVhbjtcbiAgICBwcml2YXRlIGVudmlyb25tZW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBnbG9iYWxzOiBib29sZWFuO1xuICAgIHByaXZhdGUgY292ZXJhZ2VQcm92aWRlcjogQ292ZXJhZ2VQcm92aWRlcjtcbiAgICBwcml2YXRlIGNvdmVyYWdlUmVwb3J0ZXJzOiBBcnJheTxDb3ZlcmFnZVJlcG9ydGVyPjtcbiAgICBwcml2YXRlIGNvdmVyYWdlRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludENvbnNvbGVUcmFjZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsb3dUZXN0VGhyZXNob2xkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogVml0ZXN0T3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgICAgIHRoaXMuY29uZmlnRmlsZVBhdGggPSBvcHRpb25zLmNvbmZpZ0ZpbGVQYXRoID8/IFwidml0ZXN0LmNvbmZpZy50c1wiO1xuICAgICAgICB0aGlzLmluY2x1ZGUgPSBuZXcgU2V0KG9wdGlvbnMuY29uZmlnPy5pbmNsdWRlID8/IFtcIioqLyoue3Rlc3Qsc3BlY30uPyhjfG0pW2p0XXM/KHgpXCJdKTtcbiAgICAgICAgdGhpcy5leGNsdWRlID0gbmV3IFNldChcbiAgICAgICAgICAgIG9wdGlvbnMuY29uZmlnPy5leGNsdWRlID8/IFtcbiAgICAgICAgICAgICAgICBcIioqL25vZGVfbW9kdWxlcy8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovZGlzdC8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovY3lwcmVzcy8qKlwiLFxuICAgICAgICAgICAgICAgIFwiKiovLntpZGVhLGdpdCxjYWNoZSxvdXRwdXQsdGVtcH0vKipcIixcbiAgICAgICAgICAgICAgICBcIioqL3trYXJtYSxyb2xsdXAsd2VicGFjayx2aXRlLHZpdGVzdCxqZXN0LGF2YSxiYWJlbCxueWMsY3lwcmVzcyx0c3VwLGJ1aWxkLGVzbGludCxwcmV0dGllcn0uY29uZmlnLipcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXNvbGF0ZSA9IG9wdGlvbnMuY29uZmlnPy5pc29sYXRlID8/IHRydWU7XG4gICAgICAgIHRoaXMucG9vbCA9IG9wdGlvbnMuY29uZmlnPy5wb29sID8/IFBvb2wuRk9SS1M7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VFbmFibGVkID0gb3B0aW9ucy5jb25maWc/LmNvdmVyYWdlRW5hYmxlZCA/PyB0cnVlO1xuICAgICAgICB0aGlzLnR5cGVjaGVja0VuYWJsZWQgPSBvcHRpb25zLmNvbmZpZz8udHlwZWNoZWNrRW5hYmxlZCA/PyB0aGlzLmlzVHlwZXNjcmlwdFByb2plY3QoKTtcbiAgICAgICAgdGhpcy50eXBlY2hlY2tDaGVja2VyID0gb3B0aW9ucy5jb25maWc/LnR5cGVjaGVja0NoZWNrZXIgPz8gXCJ0c2MgLS1ub0VtaXRcIjtcbiAgICAgICAgdGhpcy50eXBlY2hlY2tUc2NvbmZpZyA9IG9wdGlvbnMuY29uZmlnPy50eXBlY2hlY2tUc2NvbmZpZyA/PyBcInRzY29uZmlnLmRldi5qc29uXCI7XG4gICAgICAgIHRoaXMucGFzc1dpdGhOb1Rlc3RzID0gb3B0aW9ucy5jb25maWc/LnBhc3NXaXRoTm9UZXN0cyA/PyB0cnVlO1xuICAgICAgICB0aGlzLmJhaWwgPSBvcHRpb25zLmNvbmZpZz8uYmFpbCA/PyAwO1xuICAgICAgICB0aGlzLmVudmlyb25tZW50ID0gb3B0aW9ucy5jb25maWc/LmVudmlyb25tZW50ID8/IEVudmlyb25tZW50Lk5PREU7XG4gICAgICAgIHRoaXMuZ2xvYmFscyA9IG9wdGlvbnMuY29uZmlnPy5nbG9iYWxzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdmVyYWdlUHJvdmlkZXIgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VQcm92aWRlciA/PyBDb3ZlcmFnZVByb3ZpZGVyLlY4O1xuICAgICAgICB0aGlzLmNvdmVyYWdlUmVwb3J0ZXJzID0gb3B0aW9ucy5jb25maWc/LmNvdmVyYWdlUmVwb3J0ZXJzID8/IFtDb3ZlcmFnZVJlcG9ydGVyLlRFWFQsIENvdmVyYWdlUmVwb3J0ZXIuTENPVl07XG4gICAgICAgIHRoaXMuY292ZXJhZ2VEaXJlY3RvcnkgPSBvcHRpb25zLmNvbmZpZz8uY292ZXJhZ2VEaXJlY3RvcnkgPz8gXCJjb3ZlcmFnZVwiO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSBvcHRpb25zLnZpdGVzdFZlcnNpb24gPz8gXCJeNFwiO1xuICAgICAgICB0aGlzLnVwZGF0ZVNuYXBzaG90cyA9IG9wdGlvbnMuY29uZmlnPy51cGRhdGVTbmFwc2hvdHMgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5wcmludENvbnNvbGVUcmFjZSA9IG9wdGlvbnMuY29uZmlnPy5wcmludENvbnNvbGVUcmFjZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLnNsb3dUZXN0VGhyZXNob2xkID0gb3B0aW9ucy5jb25maWc/LnNsb3dUZXN0VGhyZXNob2xkID8/IDMwMDtcblxuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoYHZpdGVzdEAke3RoaXMudmVyc2lvbn1gKTtcbiAgICAgICAgdGhpcy5jb25maWd1cmVDb3ZlcmFnZVByb3ZpZGVyKHRoaXMuY292ZXJhZ2VQcm92aWRlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFscyAmJiB0aGlzLmlzVHlwZXNjcmlwdFByb2plY3QoKSAmJiB0aGlzLnByb2plY3QudHJ5RmluZE9iamVjdEZpbGUodGhpcy50eXBlY2hlY2tUc2NvbmZpZykpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJlR2xvYmFscygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY292ZXJhZ2VEaXJlY3RvcnlQYXRoID0gcGF0aC5wb3NpeC5qb2luKFwiL1wiLCB0aGlzLmNvdmVyYWdlRGlyZWN0b3J5LCBcIi9cIik7XG4gICAgICAgIHByb2plY3QubnBtaWdub3JlPy5leGNsdWRlKGNvdmVyYWdlRGlyZWN0b3J5UGF0aCk7XG4gICAgICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoY292ZXJhZ2VEaXJlY3RvcnlQYXRoKTtcblxuICAgICAgICB0aGlzLmFkZFRlc3RDb21tYW5kKCk7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBwcmVTeW50aGVzaXplKCkge1xuICAgICAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5wcm9qZWN0LmNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBKZXN0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidml0ZXN0IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggamVzdFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJbmNsdWRlKHBhdHRlcm46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmluY2x1ZGUuYWRkKHBhdHRlcm4pO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRXhjbHVkZShwYXR0ZXJuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leGNsdWRlLmFkZChwYXR0ZXJuKTtcbiAgICAgICAgdGhpcy5zeW50aGVzaXplQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbmZpZ3VyZUVudmlyb25tZW50KGVudmlyb25tZW50OiBFbnZpcm9ubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25maWd1cmVDb3ZlcmFnZVByb3ZpZGVyKHByb3ZpZGVyOiBDb3ZlcmFnZVByb3ZpZGVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyUGFja2FnZXMgPSB7XG4gICAgICAgICAgICBbQ292ZXJhZ2VQcm92aWRlci5WOF06IGBAdml0ZXN0L2NvdmVyYWdlLXY4QCR7dGhpcy52ZXJzaW9ufWAsXG4gICAgICAgICAgICBbQ292ZXJhZ2VQcm92aWRlci5JU1RBTkJVTF06IGBAdml0ZXN0L2NvdmVyYWdlLWlzdGFuYnVsQCR7dGhpcy52ZXJzaW9ufWAsXG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm92aWRlclBhY2thZ2Ugb2YgT2JqZWN0LnZhbHVlcyhwcm92aWRlclBhY2thZ2VzKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KHByb3ZpZGVyUGFja2FnZSk7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3kocHJvdmlkZXJQYWNrYWdlc1twcm92aWRlcl0sIERlcGVuZGVuY3lUeXBlLkRFVkVOVik7XG4gICAgICAgIHRoaXMuY292ZXJhZ2VQcm92aWRlciA9IHByb3ZpZGVyO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlQ292ZXJhZ2VSZXBvcnRlcnMocmVwb3J0ZXJzOiBBcnJheTxDb3ZlcmFnZVJlcG9ydGVyPik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvdmVyYWdlUmVwb3J0ZXJzID0gcmVwb3J0ZXJzO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlR2xvYmFscygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUc0NvbmZpZygpO1xuICAgICAgICB0aGlzLnN5bnRoZXNpemVDb25maWcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRzQ29uZmlnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0c2NvbmZpZyA9IHRoaXMucHJvamVjdC50cnlGaW5kT2JqZWN0RmlsZSh0aGlzLnR5cGVjaGVja1RzY29uZmlnKTtcblxuICAgICAgICBpZiAoIXRzY29uZmlnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmFibGUgdG8gZmluZCB0c2NvbmZpZ1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRzY29uZmlnLmFkZFRvQXJyYXkoXCJjb21waWxlck9wdGlvbnMudHlwZXNcIiwgXCJ2aXRlc3QvZ2xvYmFsc1wiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVHlwZXNjcmlwdFByb2plY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KFwidHlwZXNjcmlwdFwiKSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVGVzdENvbW1hbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdC50ZXN0VGFzay5leGVjKFwidml0ZXN0IHJ1blwiLCB7XG4gICAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGVzdFdhdGNoID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0OndhdGNoXCIpO1xuICAgICAgICBpZiAoIXRlc3RXYXRjaCkge1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soXCJ0ZXN0OndhdGNoXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiBcInZpdGVzdCB3YXRjaFwiLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXN0VXBkYXRlU25hcHNob3RzID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0OnVwZGF0ZVwiKTtcbiAgICAgICAgaWYgKCF0ZXN0VXBkYXRlU25hcHNob3RzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2plY3QuYWRkVGFzayhcInRlc3Q6dXBkYXRlXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiBcInZpdGVzdCAtLXVwZGF0ZVwiLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bnRoZXNpemVDb25maWcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvamVjdC50cnlSZW1vdmVGaWxlKHRoaXMuY29uZmlnRmlsZVBhdGgpO1xuXG4gICAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLCB0aGlzLmNvbmZpZ0ZpbGVQYXRoLCB7XG4gICAgICAgICAgICBsaW5lczogdGhpcy5yZW5kZXJDb25maWcoKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJDb25maWcoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLnByb2plY3QgYXMgTm9kZVByb2plY3Q7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcHJvamVjdC5wYWNrYWdlLnBhY2thZ2VOYW1lO1xuICAgICAgICBjb25zdCBkZWZpbmVDb25maWdJbXBvcnQgPVxuICAgICAgICAgICAgcGFja2FnZU5hbWUgPT09IFwiQG5pa292aXJ0YWxhL3Byb2plbi1jb25zdHJ1Y3RzXCJcbiAgICAgICAgICAgICAgICA/ICdpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiLi9saWIvdml0ZXN0LWRlZmluZS1jb25maWdcIjsnXG4gICAgICAgICAgICAgICAgOiAnaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIkBuaWtvdmlydGFsYS9wcm9qZW4tY29uc3RydWN0cy9saWIvdml0ZXN0LWRlZmluZS1jb25maWdcIjsnO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkZWZpbmVDb25maWdJbXBvcnQsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1wiLFxuICAgICAgICAgICAgXCIgIHRlc3Q6IHtcIixcbiAgICAgICAgICAgIC4uLnRoaXMucmVuZGVyVGVzdE9wdGlvbnMoKSxcbiAgICAgICAgICAgIFwiICB9LFwiLFxuICAgICAgICAgICAgXCJ9KTtcIixcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlclRlc3RPcHRpb25zKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICBjb25zdCBsaW5lczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBiYWlsOiAke3RoaXMuYmFpbH0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgY292ZXJhZ2U6IHtcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICAgIGVuYWJsZWQ6ICR7dGhpcy5jb3ZlcmFnZUVuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBwcm92aWRlcjogXCIke3RoaXMuY292ZXJhZ2VQcm92aWRlcn1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgcmVwb3J0ZXI6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5jb3ZlcmFnZVJlcG9ydGVycyl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICByZXBvcnRzRGlyZWN0b3J5OiBcIiR7dGhpcy5jb3ZlcmFnZURpcmVjdG9yeX1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChcIiAgICB9LFwiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGVudmlyb25tZW50OiBcIiR7dGhpcy5lbnZpcm9ubWVudH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIGV4Y2x1ZGU6ICR7SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmV4Y2x1ZGUpKX0sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBnbG9iYWxzOiAke3RoaXMuZ2xvYmFsc30sYCk7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICBpbmNsdWRlOiAke0pTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5pbmNsdWRlKSl9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgaXNvbGF0ZTogJHt0aGlzLmlzb2xhdGV9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcGFzc1dpdGhOb1Rlc3RzOiAke3RoaXMucGFzc1dpdGhOb1Rlc3RzfSxgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHByaW50Q29uc29sZVRyYWNlOiAke3RoaXMucHJpbnRDb25zb2xlVHJhY2V9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgcG9vbDogXCIke3RoaXMucG9vbH1cIixgKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgIHNsb3dUZXN0VGhyZXNob2xkOiAke3RoaXMuc2xvd1Rlc3RUaHJlc2hvbGR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKFwiICAgIHR5cGVjaGVjazoge1wiKTtcbiAgICAgICAgbGluZXMucHVzaChgICAgICAgZW5hYmxlZDogJHt0aGlzLnR5cGVjaGVja0VuYWJsZWR9LGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICBjaGVja2VyOiBcIiR7dGhpcy50eXBlY2hlY2tDaGVja2VyfVwiLGApO1xuICAgICAgICBsaW5lcy5wdXNoKGAgICAgICB0c2NvbmZpZzogXCIke3RoaXMudHlwZWNoZWNrVHNjb25maWd9XCIsYCk7XG4gICAgICAgIGxpbmVzLnB1c2goXCIgICAgfSxcIik7XG4gICAgICAgIGxpbmVzLnB1c2goYCAgICB1cGRhdGU6ICR7dGhpcy51cGRhdGVTbmFwc2hvdHN9LGApO1xuXG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AwsCdkConstructLibraryProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
7
+ const projen_1 = require("projen");
8
+ const config_1 = require("../config");
9
+ const utils_1 = require("../utils");
10
+ class AwsCdkConstructLibraryProject extends projen_1.awscdk.AwsCdkConstructLibrary {
11
+ constructor(options) {
12
+ const { mise, vitest, vitestOptions, ...baseOptions } = options;
13
+ super((0, utils_1.deepMerge)(config_1.cdkConstructDefaultOptions, baseOptions));
14
+ (0, config_1.applyDefaultConfig)(this, vitest, vitestOptions, mise);
15
+ }
16
+ }
17
+ exports.AwsCdkConstructLibraryProject = AwsCdkConstructLibraryProject;
18
+ _a = JSII_RTTI_SYMBOL_1;
19
+ AwsCdkConstructLibraryProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.1.5" };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC1saWJyYXJ5LmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9hd3NjZGstY29uc3RydWN0LWxpYnJhcnkuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkVBQTZFO0FBQzdFLG1DQUFnQztBQUNoQyxzQ0FBMkU7QUFDM0Usb0NBQXFDO0FBS3JDLE1BQWEsNkJBQThCLFNBQVEsZUFBTSxDQUFDLHNCQUFzQjtJQUM1RSxZQUFZLE9BQTZDO1FBQ3JELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoRSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUF1QyxtQ0FBMEIsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRWhHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7QUFQTCxzRUFRQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCB7IGF3c2NkayB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IGFwcGx5RGVmYXVsdENvbmZpZywgY2RrQ29uc3RydWN0RGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQXdzQ2RrQ29uc3RydWN0TGlicmFyeVByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCB7IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1jb25zdHJ1Y3QtbGlicmFyeS1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG5leHBvcnQgY2xhc3MgQXdzQ2RrQ29uc3RydWN0TGlicmFyeVByb2plY3QgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrQ29uc3RydWN0TGlicmFyeVByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgbWlzZSwgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCAuLi5iYXNlT3B0aW9ucyB9ID0gb3B0aW9ucztcblxuICAgICAgICBzdXBlcihkZWVwTWVyZ2U8YXdzY2RrLkF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPihjZGtDb25zdHJ1Y3REZWZhdWx0T3B0aW9ucywgYmFzZU9wdGlvbnMpKTtcblxuICAgICAgICBhcHBseURlZmF1bHRDb25maWcodGhpcywgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCBtaXNlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import type { awscdk, GitOptions, GroupRunnerOptions, github, IgnoreFileOptions, javascript, LoggerOptions, Project, ProjenrcJsonOptions, ReleasableCommits, RenovatebotOptions, release, SampleReadmeProps, typescript } from "projen";
2
- import type { VitestOptions } from "..";
1
+ import type { awscdk, github, GitOptions, GroupRunnerOptions, IgnoreFileOptions, javascript, LoggerOptions, Project, ProjenrcJsonOptions, ReleasableCommits, release, RenovatebotOptions, SampleReadmeProps, typescript } from 'projen';
2
+ import type { VitestOptions } from '../';
3
3
  /**
4
4
  * AwsCdkTypeScriptAppProjectOptions
5
5
  */
@@ -52,11 +52,11 @@ export interface AwsCdkTypeScriptAppProjectOptions {
52
52
  */
53
53
  readonly app?: string;
54
54
  /**
55
- * Minimum version of the `constructs` library to depend on.
56
- * @default - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is
57
- "10.0.5".
58
- * @stability experimental
59
- */
55
+ * Minimum version of the `constructs` library to depend on.
56
+ * @default - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is
57
+ "10.0.5".
58
+ * @stability experimental
59
+ */
60
60
  readonly constructsVersion?: string;
61
61
  /**
62
62
  * Use pinned version instead of caret version for CDK.
@@ -527,17 +527,17 @@ export interface AwsCdkTypeScriptAppProjectOptions {
527
527
  */
528
528
  readonly releaseEnvironment?: string;
529
529
  /**
530
- * Defines additional release branches.
531
- * A workflow will be created for each
532
- * release branch which will publish releases from commits in this branch.
533
- * Each release branch _must_ be assigned a major version number which is used
534
- * to enforce that versions published from that branch always use that major
535
- * version. If multiple branches are used, the `majorVersion` field must also
536
- * be provided for the default branch.
537
- * @default - no additional branches are used for release. you can use
538
- `addBranch()` to add additional branches.
539
- * @stability experimental
540
- */
530
+ * Defines additional release branches.
531
+ * A workflow will be created for each
532
+ * release branch which will publish releases from commits in this branch.
533
+ * Each release branch _must_ be assigned a major version number which is used
534
+ * to enforce that versions published from that branch always use that major
535
+ * version. If multiple branches are used, the `majorVersion` field must also
536
+ * be provided for the default branch.
537
+ * @default - no additional branches are used for release. you can use
538
+ `addBranch()` to add additional branches.
539
+ * @stability experimental
540
+ */
541
541
  readonly releaseBranches?: Record<string, release.BranchOptions>;
542
542
  /**
543
543
  * Find commits that should be considered releasable Used to decide if a release is required.
@@ -736,12 +736,12 @@ export interface AwsCdkTypeScriptAppProjectOptions {
736
736
  */
737
737
  readonly npmProvenance?: boolean;
738
738
  /**
739
- * Access level of the npm package.
740
- * @default - for scoped packages (e.g. `foo@bar`), the default is
741
- `NpmAccess.RESTRICTED`, for non-scoped packages, the default is
742
- `NpmAccess.PUBLIC`.
743
- * @stability experimental
744
- */
739
+ * Access level of the npm package.
740
+ * @default - for scoped packages (e.g. `foo@bar`), the default is
741
+ `NpmAccess.RESTRICTED`, for non-scoped packages, the default is
742
+ `NpmAccess.PUBLIC`.
743
+ * @stability experimental
744
+ */
745
745
  readonly npmAccess?: javascript.NpmAccess;
746
746
  /**
747
747
  * The minimum node version required by this package to function. Most projects should not use this option.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLXR5cGVzY3JpcHQtYXBwLW9wdGlvbnMuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plY3RzL2F3c2Nkay10eXBlc2NyaXB0LWFwcC1vcHRpb25zLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHR5cGUge1xuICAgIGF3c2NkayxcbiAgICBHaXRPcHRpb25zLFxuICAgIEdyb3VwUnVubmVyT3B0aW9ucyxcbiAgICBnaXRodWIsXG4gICAgSWdub3JlRmlsZU9wdGlvbnMsXG4gICAgamF2YXNjcmlwdCxcbiAgICBMb2dnZXJPcHRpb25zLFxuICAgIFByb2plY3QsXG4gICAgUHJvamVucmNKc29uT3B0aW9ucyxcbiAgICBSZWxlYXNhYmxlQ29tbWl0cyxcbiAgICBSZW5vdmF0ZWJvdE9wdGlvbnMsXG4gICAgcmVsZWFzZSxcbiAgICBTYW1wbGVSZWFkbWVQcm9wcyxcbiAgICB0eXBlc2NyaXB0LFxufSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgdHlwZSB7IFZpdGVzdE9wdGlvbnMgfSBmcm9tIFwiLi5cIjtcblxuLyoqXG4gKiBBd3NDZGtUeXBlU2NyaXB0QXBwUHJvamVjdE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtUeXBlU2NyaXB0QXBwUHJvamVjdE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIENvbW1vbiBvcHRpb25zIGZvciBhbGwgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBhd3NjZGsuTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuICAgIC8qKlxuICAgICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgYXdzY2RrLkxhbWJkYUV4dGVuc2lvbmAgZm9yIGVhY2ggYC5sYW1iZGEtZXh0ZW5zaW9uLnRzYCBlbnRyeXBvaW50IGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBhd3NjZGsuTGFtYmRhRnVuY3Rpb25gIGZvciBlYWNoIGAubGFtYmRhLnRzYCBoYW5kbGVyIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBkaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZm9yIGVhY2ggYC5pbnRlZy50c2AgZmlsZSBpbiB1bmRlciB5b3VyIHRlc3QgZGlyZWN0b3J5LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRW5hYmxlIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciB0aGUgQVdTIENESyBpbnRlZy1ydW5uZXIuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4cGVyaW1lbnRhbEludGVnUnVubmVyPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGNsb3VkZnJvbnQuZXhwZXJpbWVudGFsLkVkZ2VGdW5jdGlvbmAgZm9yIGVhY2ggYC5lZGdlLWxhbWJkYS50c2AgaGFuZGxlciBpbiB5b3VyIHNvdXJjZSB0cmVlLiBJZiB0aGlzIGlzIGRpc2FibGVkLCB5b3UgY2FuIG1hbnVhbGx5IGFkZCBhbiBgYXdzY2RrLkF1dG9EaXNjb3ZlcmAgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgQ0RLIGFwcCdzIGVudHJ5cG9pbnQgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LCB3aGljaCBpcyBcInNyY1wiIGJ5IGRlZmF1bHQpLlxuICAgICAqIEBkZWZhdWx0IFwibWFpbi50c1wiXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhcHBFbnRyeXBvaW50Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kIGxpbmUgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzeW50aGVzaXplIHRoZSBDREsgYXBwbGljYXRpb24gKGxhbmd1YWdlIHNwZWNpZmljKS5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFwcD86IHN0cmluZztcbiAgICAvKipcbiAgICogTWluaW11bSB2ZXJzaW9uIG9mIHRoZSBgY29uc3RydWN0c2AgbGlicmFyeSB0byBkZXBlbmQgb24uXG4gICAqIEBkZWZhdWx0IC0gZm9yIENESyAxLnggdGhlIGRlZmF1bHQgaXMgXCIzLjIuMjdcIiwgZm9yIENESyAyLnggdGhlIGRlZmF1bHQgaXNcblwiMTAuMC41XCIuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICAgIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFVzZSBwaW5uZWQgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhcmV0IHZlcnNpb24gZm9yIENESy5cbiAgICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgbWl4ZWQgdmVyc2lvbnMgZm9yIHlvdXIgQ0RLIGRlcGVuZGVuY2llcyBhbmQgdG8gcHJldmVudCBhdXRvLXVwZGF0ZXMuXG4gICAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNka1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBWZXJzaW9uIHJhbmdlIG9mIHRoZSBBV1MgQ0RLIENMSSB0byBkZXBlbmQgb24uXG4gICAgICogQ2FuIGJlIGVpdGhlciBhIHNwZWNpZmljIHZlcnNpb24sIG9yIGFuIE5QTSB2ZXJzaW9uIHJhbmdlLlxuICAgICAqXG4gICAgICogQnkgZGVmYXVsdCwgdGhlIGxhdGVzdCAyLnggdmVyc2lvbiB3aWxsIGJlIGluc3RhbGxlZDsgeW91IGNhbiB1c2UgdGhpc1xuICAgICAqIG9wdGlvbiB0byByZXN0cmljdCBpdCB0byBhIHNwZWNpZmljIHZlcnNpb24gb3IgdmVyc2lvbiByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBcIl4yXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNka0NsaVZlcnNpb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW5zdGFsbCB0aGUgYXNzZXJ0aW9ucyBsaWJyYXJ5P1xuICAgICAqIE9ubHkgbmVlZGVkIGZvciBDREsgMS54LiBJZiB1c2luZyBDREsgMi54IHRoZW5cbiAgICAgKiBhc3NlcnRpb25zIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4gJ2F3cy1jZGstbGliJ1xuICAgICAqIEBkZWZhdWx0IC0gd2lsbCBiZSBpbmNsdWRlZCBieSBkZWZhdWx0IGZvciBBV1MgQ0RLID49IDEuMTExLjAgPCAyLjAuMFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2RrQXNzZXJ0aW9ucz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogTWluaW11bSB2ZXJzaW9uIG9mIHRoZSBBV1MgQ0RLIHRvIGRlcGVuZCBvbi5cbiAgICAgKiBAZGVmYXVsdCBcIjIuMS4wXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNka1ZlcnNpb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBHbG9iIHBhdHRlcm5zIHRvIGluY2x1ZGUgaW4gYGNkayB3YXRjaGAuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHdhdGNoSW5jbHVkZXM/OiBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIEdsb2IgcGF0dGVybnMgdG8gZXhjbHVkZSBmcm9tIGBjZGsgd2F0Y2hgLlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSB3YXRjaEV4Y2x1ZGVzPzogQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBUbyBwcm90ZWN0IHlvdSBhZ2FpbnN0IHVuaW50ZW5kZWQgY2hhbmdlcyB0aGF0IGFmZmVjdCB5b3VyIHNlY3VyaXR5IHBvc3R1cmUsIHRoZSBBV1MgQ0RLIFRvb2xraXQgcHJvbXB0cyB5b3UgdG8gYXBwcm92ZSBzZWN1cml0eS1yZWxhdGVkIGNoYW5nZXMgYmVmb3JlIGRlcGxveWluZyB0aGVtLlxuICAgICAqIEBkZWZhdWx0IEFwcHJvdmFsTGV2ZWwuQlJPQURFTklOR1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVxdWlyZUFwcHJvdmFsPzogYXdzY2RrLkFwcHJvdmFsTGV2ZWw7XG4gICAgLyoqXG4gICAgICogRmVhdHVyZSBmbGFncyB0aGF0IHNob3VsZCBiZSBlbmFibGVkIGluIGBjZGsuanNvbmAuXG4gICAgICogTWFrZSBzdXJlIHRvIGRvdWJsZS1jaGVjayBhbnkgY2hhbmdlcyB0byBmZWF0dXJlIGZsYWdzIGluIGBjZGsuanNvbmAgYmVmb3JlIGRlcGxveWluZy5cbiAgICAgKiBVbmV4cGVjdGVkIGNoYW5nZXMgbWF5IGNhdXNlIGJyZWFraW5nIGNoYW5nZXMgaW4geW91ciBDREsgYXBwLlxuICAgICAqIFlvdSBjYW4gb3ZlcndyaXRlIGFueSBmZWF0dXJlIGZsYWcgYnkgcGFzc2luZyBpdCBpbnRvIHRoZSBjb250ZXh0IGZpZWxkLlxuICAgICAqIEBkZWZhdWx0IC0gbm8gZmVhdHVyZSBmbGFncyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0XG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBmZWF0dXJlRmxhZ3M/OiBhd3NjZGsuSUNka0ZlYXR1cmVGbGFncztcbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIGNvbnRleHQgdG8gaW5jbHVkZSBpbiBgY2RrLmpzb25gLlxuICAgICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAvKipcbiAgICAgKiBjZGsub3V0IGRpcmVjdG9yeS5cbiAgICAgKiBAZGVmYXVsdCBcImNkay5vdXRcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2Rrb3V0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgY29tbWFuZCB0byBleGVjdXRlIGJlZm9yZSBzeW50aGVzaXMuXG4gICAgICogVGhpcyBjb21tYW5kIHdpbGwgYmUgY2FsbGVkIHdoZW5cbiAgICAgKiBydW5uaW5nIGBjZGsgc3ludGhgIG9yIHdoZW4gYGNkayB3YXRjaGAgaWRlbnRpZmllcyBhIGNoYW5nZSBpbiB5b3VyIHNvdXJjZVxuICAgICAqIGNvZGUgYmVmb3JlIHJlZGVwbG95bWVudC5cbiAgICAgKiBAZGVmYXVsdCAtIG5vIGJ1aWxkIGNvbW1hbmRcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1aWxkQ29tbWFuZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUeXBlU2NyaXB0IHZlcnNpb24gdG8gdXNlLlxuICAgICAqIE5PVEU6IFR5cGVzY3JpcHQgaXMgbm90IHNlbWFudGljYWxseSB2ZXJzaW9uZWQgYW5kIHNob3VsZCByZW1haW4gb24gdGhlXG4gICAgICogc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3kgKGUuZy4gYH4xLjIuM2ApLlxuICAgICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHR5cGVzY3JpcHRWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUuXG4gICAgICogQGRlZmF1bHQgXCJ0c2NvbmZpZy5kZXYuanNvblwiXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSB0c2NvbmZpZ0RldkZpbGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRzY29uZmlnIG9wdGlvbnMgZm9yIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUgKHVzZWQgZm9yIHRlc3RpbmcpLlxuICAgICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBwcm9kdWN0aW9uIHRzY29uZmlnIG9wdGlvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRzY29uZmlnRGV2PzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBDdXN0b20gVFNDb25maWcuXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRzY29uZmlnPzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBKZXN0IHRlc3RzIGRpcmVjdG9yeS4gVGVzdHMgZmlsZXMgc2hvdWxkIGJlIG5hbWVkIGB4eHgudGVzdC50c2AuXG4gICAgICogSWYgdGhpcyBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyY2RpcmAgKGUuZy4gYHNyYy90ZXN0YCwgYHNyYy9fX3Rlc3RzX19gKSxcbiAgICAgKiB0aGVuIHRlc3RzIGFyZSBnb2luZyB0byBiZSBjb21waWxlZCBpbnRvIGBsaWIvYCBhbmQgZXhlY3V0ZWQgYXMgamF2YXNjcmlwdC5cbiAgICAgKiBJZiB0aGUgdGVzdCBkaXJlY3RvcnkgaXMgb3V0c2lkZSBvZiBgc3JjYCwgdGhlbiB3ZSBjb25maWd1cmUgamVzdCB0b1xuICAgICAqIGNvbXBpbGUgdGhlIGNvZGUgaW4tbWVtb3J5LlxuICAgICAqIEBkZWZhdWx0IFwidGVzdFwiXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSB0ZXN0ZGlyPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFR5cGVzY3JpcHQgc291cmNlcyBkaXJlY3RvcnkuXG4gICAgICogQGRlZmF1bHQgXCJzcmNcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3JjZGlyPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy50cy5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb2plbnJjVHNPcHRpb25zPzogdHlwZXNjcmlwdC5Qcm9qZW5yY09wdGlvbnM7XG4gICAgLyoqXG4gICAgICogVXNlIFR5cGVTY3JpcHQgZm9yIHlvdXIgcHJvamVucmMgZmlsZSAoYC5wcm9qZW5yYy50c2ApLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKiBAcGpuZXcgdHJ1ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb2plbnJjVHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFR5cGVzY3JpcHQgIGFydGlmYWN0cyBvdXRwdXQgZGlyZWN0b3J5LlxuICAgICAqIEBkZWZhdWx0IFwibGliXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxpYmRpcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgLmQudHMgZmlsZSB0aGF0IGluY2x1ZGVzIHRoZSB0eXBlIGRlY2xhcmF0aW9ucyBmb3IgdGhpcyBtb2R1bGUuXG4gICAgICogQGRlZmF1bHQgLSAuZC50cyBmaWxlIGRlcml2ZWQgZnJvbSB0aGUgcHJvamVjdCdzIGVudHJ5cG9pbnQgKHVzdWFsbHkgbGliL2luZGV4LmQudHMpXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBlbnRyeXBvaW50VHlwZXM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG9jcyBkaXJlY3RvcnkuXG4gICAgICogQGRlZmF1bHQgXCJkb2NzXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG9jZ2VuIGJ5IFR5cGVkb2MuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRvY2dlbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGdlbmVyYXRlIGEgYHRzY29uZmlnLmRldi5qc29uYCBmaWxlLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBkaXNhYmxlVHNjb25maWdEZXY/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5qc29uYCBmaWxlICh1c2VkIGJ5IGpzaWkgcHJvamVjdHMgc2luY2UgdHNjb25maWcuanNvbiBpcyBnZW5lcmF0ZWQgYnkgdGhlIGpzaWkgY29tcGlsZXIpLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBkaXNhYmxlVHNjb25maWc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEVuYWJsZSBOb2RlLmpzIHBhY2thZ2UgY2FjaGUgaW4gR2l0SHViIHdvcmtmbG93cy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgd29ya2Zsb3dQYWNrYWdlQ2FjaGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBub2RlIHZlcnNpb24gdXNlZCBpbiBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3MuXG4gICAgICogQWx3YXlzIHVzZSB0aGlzIG9wdGlvbiBpZiB5b3VyIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cyByZXF1aXJlIGEgc3BlY2lmaWMgdG8gcnVuLlxuICAgICAqIEBkZWZhdWx0IC0gYG1pbk5vZGVWZXJzaW9uYCBpZiBzZXQsIG90aGVyd2lzZSBgbHRzLypgLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZ2l0IGlkZW50aXR5IHRvIHVzZSBpbiB3b3JrZmxvd3MuXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHdvcmtmbG93R2l0SWRlbnRpdHk/OiBnaXRodWIuR2l0SWRlbnRpdHk7XG4gICAgLyoqXG4gICAgICogV29ya2Zsb3cgc3RlcHMgdG8gdXNlIGluIG9yZGVyIHRvIGJvb3RzdHJhcCB0aGlzIHJlcG8uXG4gICAgICogQGRlZmF1bHQgXCJ5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgJiYgeWFybiBwcm9qZW5cIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgd29ya2Zsb3dCb290c3RyYXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSByZWxlYXNlIHRvIG5wbSB3aGVuIG5ldyB2ZXJzaW9ucyBhcmUgaW50cm9kdWNlZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVsZWFzZVRvTnBtPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBZGQgcmVsZWFzZSBtYW5hZ2VtZW50IHRvIHRoaXMgcHJvamVjdC5cbiAgICAgKiBAZGVmYXVsdCAtIHRydWUgKGZhbHNlIGZvciBzdWJwcm9qZWN0cylcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlbGVhc2U/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50cyBvZiB0aGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBjb250ZW50XG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM/OiBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGUgYSBHaXRIdWIgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFZlcnNpb24gb2YgcHJvamVuIHRvIGluc3RhbGwuXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qcy5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvamVucmNKc09wdGlvbnM/OiBqYXZhc2NyaXB0LlByb2plbnJjT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSAob25jZSkgLnByb2plbnJjLmpzIChpbiBKYXZhU2NyaXB0KS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanMgZ2VuZXJhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgcHJvamVucmNKc29uIGlzIGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm9qZW5yY0pzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvamVuRGV2RGVwZW5kZW5jeT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhIGBwYWNrYWdlYCB0YXNrIHRoYXQgd2lsbCBwcm9kdWNlIGFuIG5wbSB0YXJiYWxsIHVuZGVyIHRoZSBhcnRpZmFjdHMgZGlyZWN0b3J5IChlLmcuIGBkaXN0YCkuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFja2FnZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAubnBtaWdub3JlIGZpbGUuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBucG1JZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhbiAubnBtaWdub3JlIGZpbGUuIE5vcm1hbGx5IHRoaXMgaXMgb25seSBuZWVkZWQgZm9yIGxpYnJhcmllcyB0aGF0IGFyZSBwYWNrYWdlZCBhcyB0YXJiYWxscy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBucG1pZ25vcmVFbmFibGVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIGVudHJpZXMgdG8gLmdpdGlnbm9yZS5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdpdGlnbm9yZT86IEFycmF5PHN0cmluZz47XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgYFVwZ3JhZGVEZXBlbmRlbmNpZXNgLlxuICAgICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXBzVXBncmFkZU9wdGlvbnM/OiBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXNPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFVzZSB0YXNrcyBhbmQgZ2l0aHViIHdvcmtmbG93cyB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICAgKiBDYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkZXBlbmRhYm90YC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXBzVXBncmFkZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgZGVwZW5kYWJvdC5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVwZW5kYWJvdE9wdGlvbnM/OiBnaXRodWIuRGVwZW5kYWJvdE9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogVXNlIGRlcGVuZGFib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAgICogQ2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGVwc1VwZ3JhZGVgLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXBlbmRhYm90PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgY29weXJpZ2h0IHllYXJzIHRvIHB1dCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuICAgICAqIEBkZWZhdWx0IC0gY3VycmVudCB5ZWFyXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjb3B5cmlnaHRQZXJpb2Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgYXV0aG9yTmFtZSBvciBcIlwiIGlmIGBhdXRob3JOYW1lYCBpcyB1bmRlZmluZWQuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjb3B5cmlnaHRPd25lcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuLlxuICAgICAqIEBkZWZhdWx0IC0gT0lEQyBhdXRoIGlzIHVzZWRcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvZGVDb3ZUb2tlblNlY3JldD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgc3RlcCBmb3Igc2VuZGluZyBjb2RlIGNvdmVyYWdlIG1ldHJpY3MgdG8gaHR0cHM6Ly9jb2RlY292LmlvLyBVc2VzIGNvZGVjb3YvY29kZWNvdi1hY3Rpb25AdjUgQnkgZGVmYXVsdCwgT0lEQyBhdXRoIGlzIHVzZWQuIEFsdGVybmF0aXZlbHkgYSB0b2tlbiBjYW4gYmUgcHJvdmlkZWQgdmlhIGBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBjb2RlQ292PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmUgd2hpY2ggbGljZW5zZXMgc2hvdWxkIGJlIGRlZW1lZCBhY2NlcHRhYmxlIGZvciB1c2UgYnkgZGVwZW5kZW5jaWVzLlxuICAgICAqIFRoaXMgc2V0dGluZyB3aWxsIGNhdXNlIHRoZSBidWlsZCB0byBmYWlsLCBpZiBhbnkgcHJvaGliaXRlZCBvciBub3QgYWxsb3dlZCBsaWNlbnNlcyBhcmVzIGVuY291bnRlcmVkLlxuICAgICAqIEBkZWZhdWx0IC0gbm8gbGljZW5zZSBjaGVja3MgYXJlIHJ1biBkdXJpbmcgdGhlIGJ1aWxkIGFuZCBhbGwgbGljZW5zZXMgd2lsbCBiZSBhY2NlcHRlZFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hlY2tMaWNlbnNlcz86IGphdmFzY3JpcHQuTGljZW5zZUNoZWNrZXJPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIGBCdW5kbGVyYC5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1bmRsZXJPcHRpb25zPzogamF2YXNjcmlwdC5CdW5kbGVyT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBPcHRpb25zIGZvciBQUiBidWlsZCB3b3JrZmxvdy5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dPcHRpb25zPzogamF2YXNjcmlwdC5CdWlsZFdvcmtmbG93T3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgZm9yIGJ1aWxkaW5nIFBScy5cbiAgICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvdz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQmlvbWUgb3B0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYmlvbWVPcHRpb25zPzogamF2YXNjcmlwdC5CaW9tZU9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogU2V0dXAgQmlvbWUuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJpb21lPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBdXRvbWF0aWNhbGx5IGFwcHJvdmUgZGVwcyB1cGdyYWRlIFBScywgYWxsb3dpbmcgdGhlbSB0byBiZSBtZXJnZWQgYnkgbWVyZ2lmeSAoaWYgY29uZmlndWVkKS5cbiAgICAgKiBUaHJvdyBpZiBzZXQgdG8gdHJ1ZSBidXQgYGF1dG9BcHByb3ZlT3B0aW9uc2AgYXJlIG5vdCBkZWZpbmVkLlxuICAgICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXV0b0FwcHJvdmVVcGdyYWRlcz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU2VjdXJpdHkgYXVkaXQgb3B0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXVkaXREZXBzT3B0aW9ucz86IGphdmFzY3JpcHQuQXVkaXRPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFJ1biBzZWN1cml0eSBhdWRpdCBvbiBkZXBlbmRlbmNpZXMuXG4gICAgICogV2hlbiBlbmFibGVkLCBjcmVhdGVzIGFuIFwiYXVkaXRcIiB0YXNrIHRoYXQgY2hlY2tzIGZvciBrbm93biBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXNcbiAgICAgKiBpbiBkZXBlbmRlbmNpZXMuIEJ5IGRlZmF1bHQsIHJ1bnMgZHVyaW5nIGV2ZXJ5IGJ1aWxkIGFuZCBjaGVja3MgZm9yIFwiaGlnaFwiIHNldmVyaXR5XG4gICAgICogdnVsbmVyYWJpbGl0aWVzIG9yIGFib3ZlIGluIGFsbCBkZXBlbmRlbmNpZXMgKGluY2x1ZGluZyBkZXYgZGVwZW5kZW5jaWVzKS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXVkaXREZXBzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBIGRpcmVjdG9yeSB3aGljaCB3aWxsIGNvbnRhaW4gYnVpbGQgYXJ0aWZhY3RzLlxuICAgICAqIEBkZWZhdWx0IFwiZGlzdFwiXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG1haW4gcmVsZWFzZSBicmFuY2guXG4gICAgICogQGRlZmF1bHQgXCJtYWluXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9ucy5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBHcm91cCBieSBuYW1lIGFuZC9vciBsYWJlbHNcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICAgKi9cbiAgICByZWFkb25seSB3b3JrZmxvd1J1bnNPbj86IEFycmF5PHN0cmluZz47XG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIGltYWdlIHRvIHVzZSBmb3IgR2l0SHViIHdvcmtmbG93cy5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHdvcmtmbG93Q29udGFpbmVySW1hZ2U/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNvbmZpZ3VyYXRpb24gdXNlZCB3aGVuIGNyZWF0aW5nIGNoYW5nZWxvZyB3aXRoIGNvbW1pdC1hbmQtdGFnLXZlcnNpb24gcGFja2FnZS5cbiAgICAgKiBHaXZlbiB2YWx1ZXMgZWl0aGVyIGFwcGVuZCB0byBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3Igb3ZlcndyaXRlIHZhbHVlcyBpbiBpdC5cbiAgICAgKiBAZGVmYXVsdCAtIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gYXBwbGljYWJsZSBmb3IgR2l0SHViIHJlcG9zaXRvcmllc1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgLyoqXG4gICAgICogQSBzZXQgb2Ygd29ya2Zsb3cgc3RlcHMgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzZXR1cCB0aGUgd29ya2Zsb3cgY29udGFpbmVyLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICAgKiBAZGVmYXVsdCBcInJlbGVhc2VcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBCdWlsZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHJlbGVhc2Ugd29ya2Zsb3dzLlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFRoZSByZWxlYXNlIHRyaWdnZXIgdG8gdXNlLlxuICAgICAqIEBkZWZhdWx0IC0gQ29udGludW91cyByZWxlYXNlcyAoYFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWApXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZWxlYXNlVHJpZ2dlcj86IHJlbGVhc2UuUmVsZWFzZVRyaWdnZXI7XG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBhZGQgdGhlIGdpdmVuIHByZWZpeCB0byByZWxlYXNlIHRhZ3MuIFVzZWZ1bCBpZiB5b3UgYXJlIHJlbGVhc2luZyBvbiBtdWx0aXBsZSBicmFuY2hlcyB3aXRoIG92ZXJsYXBwaW5nIHZlcnNpb24gbnVtYmVycy5cbiAgICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAgICogd2hlbiBidW1waW5nLCBzbyBpZiB5b3UgY2hhbmdlIHRoaXMgb24gYSBwcm9qZWN0IHdpdGggYW4gZXhpc3RpbmcgdmVyc2lvblxuICAgICAqIGhpc3RvcnksIHlvdSBtYXkgbmVlZCB0byBtYW51YWxseSB0YWcgeW91ciBsYXRlc3QgcmVsZWFzZVxuICAgICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAgICogQGRlZmF1bHQgXCJ2XCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlbGVhc2VUYWdQcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIHRvIGFwcGx5IHRvIGlzc3VlcyBpbmRpY2F0aW5nIHB1Ymxpc2ggZmFpbHVyZXMuXG4gICAgICogT25seSBhcHBsaWVzIGlmIGByZWxlYXNlRmFpbHVyZUlzc3VlYCBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0IFwiZmFpbGVkLXJlbGVhc2VcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZUxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZWxlYXNlRmFpbHVyZUlzc3VlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIHJlbGVhc2UuXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBhZGQgYW4gZXhwbGljaXQgYXBwcm92YWwgc3RlcCB0byB0aGUgcmVsZWFzZVxuICAgICAqIG9yIGxpbWl0IHdobyBjYW4gaW5pdGlhdGUgYSByZWxlYXNlIHRocm91Z2ggZW52aXJvbm1lbnQgcHJvdGVjdGlvbiBydWxlcy5cbiAgICAgKlxuICAgICAqIFdoZW4gbXVsdGlwbGUgYXJ0aWZhY3RzIGFyZSByZWxlYXNlZCwgdGhlIGVudmlyb25tZW50IGNhbiBiZSBvdmVyd3JpdHRlblxuICAgICAqIG9uIGEgcGVyIGFydGlmYWN0IGJhc2lzLlxuICAgICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZCwgdW5sZXNzIHNldCBhdCB0aGUgYXJ0aWZhY3QgbGV2ZWxcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlbGVhc2VFbnZpcm9ubWVudD86IHN0cmluZztcbiAgICAvKipcbiAgICogRGVmaW5lcyBhZGRpdGlvbmFsIHJlbGVhc2UgYnJhbmNoZXMuXG4gICAqIEEgd29ya2Zsb3cgd2lsbCBiZSBjcmVhdGVkIGZvciBlYWNoXG4gICAqIHJlbGVhc2UgYnJhbmNoIHdoaWNoIHdpbGwgcHVibGlzaCByZWxlYXNlcyBmcm9tIGNvbW1pdHMgaW4gdGhpcyBicmFuY2guXG4gICAqIEVhY2ggcmVsZWFzZSBicmFuY2ggX211c3RfIGJlIGFzc2lnbmVkIGEgbWFqb3IgdmVyc2lvbiBudW1iZXIgd2hpY2ggaXMgdXNlZFxuICAgKiB0byBlbmZvcmNlIHRoYXQgdmVyc2lvbnMgcHVibGlzaGVkIGZyb20gdGhhdCBicmFuY2ggYWx3YXlzIHVzZSB0aGF0IG1ham9yXG4gICAqIHZlcnNpb24uIElmIG11bHRpcGxlIGJyYW5jaGVzIGFyZSB1c2VkLCB0aGUgYG1ham9yVmVyc2lvbmAgZmllbGQgbXVzdCBhbHNvXG4gICAqIGJlIHByb3ZpZGVkIGZvciB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBicmFuY2hlcyBhcmUgdXNlZCBmb3IgcmVsZWFzZS4geW91IGNhbiB1c2VcbmBhZGRCcmFuY2goKWAgdG8gYWRkIGFkZGl0aW9uYWwgYnJhbmNoZXMuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICAgIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIHJlbGVhc2UuQnJhbmNoT3B0aW9ucz47XG4gICAgLyoqXG4gICAgICogRmluZCBjb21taXRzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgcmVsZWFzYWJsZSBVc2VkIHRvIGRlY2lkZSBpZiBhIHJlbGVhc2UgaXMgcmVxdWlyZWQuXG4gICAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgICAvKipcbiAgICAgKiBEZWZpbmUgcHVibGlzaGluZyB0YXNrcyB0aGF0IGNhbiBiZSBleGVjdXRlZCBtYW51YWxseSBhcyB3ZWxsIGFzIHdvcmtmbG93cy5cbiAgICAgKiBOb3JtYWxseSwgcHVibGlzaGluZyBvbmx5IGhhcHBlbnMgd2l0aGluIGF1dG9tYXRlZCB3b3JrZmxvd3MuIEVuYWJsZSB0aGlzXG4gICAgICogaW4gb3JkZXIgdG8gY3JlYXRlIGEgcHVibGlzaGluZyB0YXNrIGZvciBlYWNoIHB1Ymxpc2hpbmcgYWN0aXZpdHkuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHB1Ymxpc2hUYXNrcz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSW5zdGVhZCBvZiBhY3R1YWxseSBwdWJsaXNoaW5nIHRvIHBhY2thZ2UgbWFuYWdlcnMsIGp1c3QgcHJpbnQgdGhlIHB1Ymxpc2hpbmcgY29tbWFuZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHVibGlzaERyeVJ1bj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQnVtcCB2ZXJzaW9ucyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaCBhcyBwcmUtcmVsZWFzZXMgKGUuZy4gXCJiZXRhXCIsIFwiYWxwaGFcIiwgXCJwcmVcIikuXG4gICAgICogQGRlZmF1bHQgLSBub3JtYWwgc2VtYW50aWMgdmVyc2lvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU3RlcHMgdG8gZXhlY3V0ZSBhZnRlciBidWlsZCBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlIHdvcmtmbG93LlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gICAgLyoqXG4gICAgICogVGhlIG5wbURpc3RUYWcgdG8gdXNlIHdoZW4gcHVibGlzaGluZyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICAgKiBUbyBzZXQgdGhlIG5wbSBkaXN0LXRhZyBmb3IgcmVsZWFzZSBicmFuY2hlcywgc2V0IHRoZSBgbnBtRGlzdFRhZ2AgcHJvcGVydHlcbiAgICAgKiBmb3IgZWFjaCBicmFuY2guXG4gICAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbnBtRGlzdFRhZz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAgICogSWYgcHJlc2VudCwgdGhpcyBzaGVsbCBjb21tYW5kIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgYnVtcCBpcyBleGVjdXRlZCwgYW5kXG4gICAgICogaXQgZGV0ZXJtaW5lcyB3aGF0IHZlcnNpb24gdG8gcmVsZWFzZS4gSXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgZm9sbG93aW5nXG4gICAgICogZW52aXJvbm1lbnQ6XG4gICAgICpcbiAgICAgKiAtIFdvcmtpbmcgZGlyZWN0b3J5OiB0aGUgcHJvamVjdCBkaXJlY3RvcnkuXG4gICAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAgICogLSBgJExBVEVTVF9UQUdgOiB0aGUgbW9zdCByZWNlbnQgdGFnLiBMb29rcyBsaWtlIGBwcmVmaXgtdjEuMi4zYCwgb3IgbWF5IGJlIHVuc2V0LlxuICAgICAqIC0gYCRTVUdHRVNURURfQlVNUGA6IHRoZSBzdWdnZXN0ZWQgYnVtcCBhY3Rpb24gYmFzZWQgb24gY29tbWl0cy4gT25lIG9mIGBtYWpvcnxtaW5vcnxwYXRjaHxub25lYC5cbiAgICAgKlxuICAgICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICAgKlxuICAgICAqIC0gTm90aGluZzogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGNvbW1pdCBoaXN0b3J5LlxuICAgICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgICAqIC0gYG1ham9yfG1pbm9yfHBhdGNoYDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlclxuICAgICAqICAgd2l0aCB0aGUgaW5kaWNhdGVkIGNvbXBvbmVudCBidW1wZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIHNldHRpbmcgY2Fubm90IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gOyB0aGUgaW52b2tlZFxuICAgICAqIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBlZmZlY3RzIG9mIGBtaW5NYWpvclZlcnNpb25gLlxuICAgICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1pbmltYWwgTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXQgdG8gMSwgYXMgYnJlYWtpbmcgY2hhbmdlcyBiZWZvcmUgdGhlIDEueCBtYWpvclxuICAgICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgICAqXG4gICAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWFqb3JWZXJzaW9uYC5cbiAgICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZSBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICAgKiBJZiB0aGlzIGlzIHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtYWpvciB2ZXJzaW9uIGxpbmUuXG4gICAgICogSWYgbm90IHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgZ2xvYmFsIGxhdGVzdCB2ZXJzaW9uLlxuICAgICAqIEBkZWZhdWx0IC0gTWFqb3IgdmVyc2lvbiBpcyBub3QgZW5mb3JjZWQuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBtYWpvclZlcnNpb24/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkganNpaVJlbGVhc2VWZXJzaW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgY29tcGF0aWJsZSBwYWNrYWdlIHVzZWQgdG8gYnVtcCB0aGUgcGFja2FnZSB2ZXJzaW9uLCBhcyBhIGRlcGVuZGVuY3kgc3RyaW5nLlxuICAgICAqIFRoaXMgY2FuIGJlIGFueSBjb21wYXRpYmxlIHBhY2thZ2UgdmVyc2lvbiwgaW5jbHVkaW5nIHRoZSBkZXByZWNhdGVkIGBzdGFuZGFyZC12ZXJzaW9uQDlgLlxuICAgICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgWWFybiBCZXJyeS5cbiAgICAgKiBAZGVmYXVsdCAtIFlhcm4gQmVycnkgdjQgd2l0aCBhbGwgZGVmYXVsdCBvcHRpb25zXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSB5YXJuQmVycnlPcHRpb25zPzogamF2YXNjcmlwdC5ZYXJuQmVycnlPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFBhY2thZ2UncyBTdGFiaWxpdHkuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgcHJpdmF0ZWx5IGhvc3RlZCBzY29wZWQgcGFja2FnZXMuXG4gICAgICogQGRlZmF1bHQgLSBmZXRjaCBhbGwgc2NvcGVkIHBhY2thZ2VzIGZyb20gdGhlIHB1YmxpYyBucG0gcmVnaXN0cnlcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNjb3BlZFBhY2thZ2VzT3B0aW9ucz86IEFycmF5PGphdmFzY3JpcHQuU2NvcGVkUGFja2FnZXNPcHRpb25zPjtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgcGFja2FnZS5qc29uIGZvciB5b3VyIHBhY2thZ2UgaXMgbm90IGluIHRoZSByb290IGRpcmVjdG9yeSAoZm9yIGV4YW1wbGUgaWYgaXQgaXMgcGFydCBvZiBhIG1vbm9yZXBvKSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgbGl2ZXMuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZXBvc2l0b3J5RGlyZWN0b3J5Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSByZXBvc2l0b3J5IGlzIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgYWN0dWFsIGNvZGUgZm9yIHlvdXIgcGFja2FnZSBsaXZlcy5cbiAgICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtcmVwb3NpdG9yeVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiBQTlBNIHRvIHVzZSBpZiB1c2luZyBQTlBNIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgICAqIEBkZWZhdWx0IFwiOVwiXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBQZWVyIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBtb2R1bGUuXG4gICAgICogRGVwZW5kZW5jaWVzIGxpc3RlZCBoZXJlIGFyZSByZXF1aXJlZCB0b1xuICAgICAqIGJlIGluc3RhbGxlZCAoYW5kIHNhdGlzZmllZCkgYnkgdGhlIF9jb25zdW1lcl8gb2YgdGhpcyBsaWJyYXJ5LiBVc2luZyBwZWVyXG4gICAgICogZGVwZW5kZW5jaWVzIGFsbG93cyB5b3UgdG8gZW5zdXJlIHRoYXQgb25seSBhIHNpbmdsZSBtb2R1bGUgb2YgYSBjZXJ0YWluXG4gICAgICogbGlicmFyeSBleGlzdHMgaW4gdGhlIGBub2RlX21vZHVsZXNgIHRyZWUgb2YgeW91ciBjb25zdW1lcnMuXG4gICAgICpcbiAgICAgKiBOb3RlIHRoYXQgcHJpb3IgdG8gbnBtQDcsIHBlZXIgZGVwZW5kZW5jaWVzIGFyZSBfbm90XyBhdXRvbWF0aWNhbGx5XG4gICAgICogaW5zdGFsbGVkLCB3aGljaCBtZWFucyB0aGF0IGFkZGluZyBwZWVyIGRlcGVuZGVuY2llcyB0byBhIGxpYnJhcnkgd2lsbCBiZSBhXG4gICAgICogYnJlYWtpbmcgY2hhbmdlIGZvciB5b3VyIGN1c3RvbWVycy5cbiAgICAgKlxuICAgICAqIFVubGVzcyBgcGVlckRlcGVuZGVuY3lPcHRpb25zLnBpbm5lZERldkRlcGVuZGVuY3lgIGlzIGRpc2FibGVkIChpdCBpc1xuICAgICAqIGVuYWJsZWQgYnkgZGVmYXVsdCksIHByb2plbiB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgZGV2IGRlcGVuZGVuY3kgd2l0aCBhXG4gICAgICogcGlubmVkIHZlcnNpb24gZm9yIGVhY2ggcGVlciBkZXBlbmRlbmN5LiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgeW91IGJ1aWxkICZcbiAgICAgKiB0ZXN0IHlvdXIgbW9kdWxlIGFnYWluc3QgdGhlIGxvd2VzdCBwZWVyIHZlcnNpb24gcmVxdWlyZWQuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBlZXJEZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25zIGZvciBgcGVlckRlcHNgLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogamF2YXNjcmlwdC5QZWVyRGVwZW5kZW5jeU9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogVGhlIFwibmFtZVwiIGluIHBhY2thZ2UuanNvbi5cbiAgICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHByb2plY3QgbmFtZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICogQGZlYXR1cmVkIHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBwYWNrYWdlTmFtZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgTm9kZSBQYWNrYWdlIE1hbmFnZXIgdXNlZCB0byBleGVjdXRlIHNjcmlwdHMuXG4gICAgICogQGRlZmF1bHQgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk5fQ0xBU1NJQ1xuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFja2FnZU1hbmFnZXI/OiBqYXZhc2NyaXB0Lk5vZGVQYWNrYWdlTWFuYWdlcjtcbiAgICAvKipcbiAgICAgKiBVc2UgdHJ1c3RlZCBwdWJsaXNoaW5nIGZvciBwdWJsaXNoaW5nIHRvIG5wbWpzLmNvbSBOZWVkcyB0byBiZSBwcmUtY29uZmlndXJlZCBvbiBucG0uanMgdG8gd29yay5cbiAgICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBucG1UcnVzdGVkUHVibGlzaGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogR2l0SHViIHNlY3JldCB3aGljaCBjb250YWlucyB0aGUgTlBNIHRva2VuIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgcGFja2FnZXMuXG4gICAgICogQGRlZmF1bHQgXCJOUE1fVE9LRU5cIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbnBtVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgVVJMIG9mIHRoZSBucG0gcGFja2FnZSByZWdpc3RyeS5cbiAgICAgKiBNdXN0IGJlIGEgVVJMIChlLmcuIHN0YXJ0IHdpdGggXCJodHRwczovL1wiIG9yIFwiaHR0cDovL1wiKVxuICAgICAqIEBkZWZhdWx0IFwiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmdcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbnBtUmVnaXN0cnlVcmw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU2hvdWxkIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBiZSBnZW5lcmF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuXG4gICAgICogQSBzdXBwb3J0ZWQgcGFja2FnZSBtYW5hZ2VyIGlzIHJlcXVpcmVkIHRvIHB1Ymxpc2ggYSBwYWNrYWdlIHdpdGggbnBtIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBhbmRcbiAgICAgKiB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBhIHN1cHBvcnRlZCBDSS9DRCBwcm92aWRlci5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCB0aGUgcHJvamVuIGBSZWxlYXNlYCBhbmQgYFB1Ymxpc2hlcmAgY29tcG9uZW50cyBhcmUgdXNpbmcgYHB1YmxpYmAgdG8gcHVibGlzaCBwYWNrYWdlcyxcbiAgICAgKiB3aGljaCBpcyB1c2luZyBucG0gaW50ZXJuYWxseSBhbmQgc3VwcG9ydHMgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGluZGVwZW5kZW50bHkgb2YgdGhlIHBhY2thZ2UgbWFuYWdlciB1c2VkLlxuICAgICAqIEBkZWZhdWx0IC0gdHJ1ZSBmb3IgcHVibGljIHBhY2thZ2VzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG5wbVByb3ZlbmFuY2U/OiBib29sZWFuO1xuICAgIC8qKlxuICAgKiBBY2Nlc3MgbGV2ZWwgb2YgdGhlIG5wbSBwYWNrYWdlLlxuICAgKiBAZGVmYXVsdCAtIGZvciBzY29wZWQgcGFja2FnZXMgKGUuZy4gYGZvb0BiYXJgKSwgdGhlIGRlZmF1bHQgaXNcbmBOcG1BY2Nlc3MuUkVTVFJJQ1RFRGAsIGZvciBub24tc2NvcGVkIHBhY2thZ2VzLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5QVUJMSUNgLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgICByZWFkb25seSBucG1BY2Nlc3M/OiBqYXZhc2NyaXB0Lk5wbUFjY2VzcztcbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBub2RlIHZlcnNpb24gcmVxdWlyZWQgYnkgdGhpcyBwYWNrYWdlIHRvIGZ1bmN0aW9uLiBNb3N0IHByb2plY3RzIHNob3VsZCBub3QgdXNlIHRoaXMgb3B0aW9uLlxuICAgICAqIFRoZSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcGFja2FnZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbnkgb2xkZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICAgKiBUaGlzIHJlcXVpcmVtZW50IGlzIGVuZm9yY2VkIHZpYSB0aGUgZW5naW5lcyBmaWVsZC5cbiAgICAgKlxuICAgICAqIFlvdSB3aWxsIG5vcm1hbGx5IG5vdCBuZWVkIHRvIHNldCB0aGlzIG9wdGlvbiwgZXZlbiBpZiB5b3VyIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggRU9MIHZlcnNpb25zIG9mIG5vZGUuXG4gICAgICogQ29uc2lkZXIgdGhpcyBvcHRpb24gb25seSBpZiB5b3VyIHBhY2thZ2UgZGVwZW5kcyBvbiBhIHNwZWNpZmljIGZlYXR1cmUsIHRoYXQgaXMgbm90IGF2YWlsYWJsZSBpbiBvdGhlciBMVFMgdmVyc2lvbnMuXG4gICAgICogU2V0dGluZyB0aGlzIG9wdGlvbiBoYXMgdmVyeSBoaWdoIGltcGFjdCBvbiB0aGUgY29uc3VtZXJzIG9mIHlvdXIgcGFja2FnZSxcbiAgICAgKiBhcyBwYWNrYWdlIG1hbmFnZXJzIHdpbGwgYWN0aXZlbHkgcHJldmVudCB1c2FnZSB3aXRoIG5vZGUgdmVyc2lvbnMgeW91IGhhdmUgbWFya2VkIGFzIGluY29tcGF0aWJsZS5cbiAgICAgKlxuICAgICAqIFRvIGNoYW5nZSB0aGUgbm9kZSB2ZXJzaW9uIG9mIHlvdXIgQ0kvQ0Qgd29ya2Zsb3dzLCB1c2UgYHdvcmtmbG93Tm9kZVZlcnNpb25gLlxuICAgICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBub2RlIHZlcnNpb24gc3VwcG9ydGVkIGJ5IHRoaXMgcGFja2FnZS4gTW9zdCBwcm9qZWN0cyBzaG91bGQgbm90IHVzZSB0aGlzIG9wdGlvbi5cbiAgICAgKiBUaGUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAgICogVGhpcyByZXF1aXJlbWVudCBpcyBlbmZvcmNlZCB2aWEgdGhlIGVuZ2luZXMgZmllbGQuXG4gICAgICpcbiAgICAgKiBZb3Ugd2lsbCBub3JtYWxseSBub3QgbmVlZCB0byBzZXQgdGhpcyBvcHRpb24uXG4gICAgICogQ29uc2lkZXIgdGhpcyBvcHRpb24gb25seSBpZiB5b3VyIHBhY2thZ2UgaXMga25vd24gdG8gbm90IGZ1bmN0aW9uIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICAgKiBAZGVmYXVsdCAtIG5vIG1heGltdW0gdmVyc2lvbiBpcyBlbmZvcmNlZFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIGlmIGEgbGljZW5zZSBzaG91bGQgYmUgYWRkZWQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbGljZW5zZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIExpY2Vuc2UncyBTUERYIGlkZW50aWZpZXIuXG4gICAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3RyZWUvbWFpbi9saWNlbnNlLXRleHQgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGljZW5zZXMuXG4gICAgICogVXNlIHRoZSBgbGljZW5zZWRgIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBubyBsaWNlbnNlIHRvIGJlIHNwZWNpZmllZC5cbiAgICAgKiBAZGVmYXVsdCBcIkFwYWNoZS0yLjBcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBLZXl3b3JkcyB0byBpbmNsdWRlIGluIGBwYWNrYWdlLmpzb25gLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkga2V5d29yZHM/OiBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFBhY2thZ2UncyBIb21lcGFnZSAvIFdlYnNpdGUuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBob21lcGFnZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBNb2R1bGUgZW50cnlwb2ludCAoYG1haW5gIGluIGBwYWNrYWdlLmpzb25gKS5cbiAgICAgKiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIG5vdCBpbmNsdWRlIGBtYWluYCBpbiB5b3VyIHBhY2thZ2UuanNvblxuICAgICAqIEBkZWZhdWx0IFwibGliL2luZGV4LmpzXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQnVpbGQgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICAgKiBUaGVzZSBkZXBlbmRlbmNpZXMgd2lsbCBvbmx5IGJlXG4gICAgICogYXZhaWxhYmxlIGluIHlvdXIgYnVpbGQgZW52aXJvbm1lbnQgYnV0IHdpbGwgbm90IGJlIGZldGNoZWQgd2hlbiB0aGlzXG4gICAgICogbW9kdWxlIGlzIGNvbnN1bWVkLlxuICAgICAqXG4gICAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgICAqIGBleHByZXNzYCkuIFRoaXMgd2lsbCBiZWhhdmUgc2ltaWxhciB0byBgeWFybiBhZGRgIG9yIGBucG0gaW5zdGFsbGAgaW4gdGhlXG4gICAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICAgKiB0aGUgc2FtZSBzeW50YXggcGFzc2VkIHRvIGBucG0gaWAgb3IgYHlhcm4gYWRkYCAoZS5nLiBgZXhwcmVzc0BeMmApIGFuZFxuICAgICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICogQGZlYXR1cmVkIHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXZEZXBzPzogQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBUaGUgZGVzY3JpcHRpb24gaXMganVzdCBhIHN0cmluZyB0aGF0IGhlbHBzIHBlb3BsZSB1bmRlcnN0YW5kIHRoZSBwdXJwb3NlIG9mIHRoZSBwYWNrYWdlLlxuICAgICAqIEl0IGNhbiBiZSB1c2VkIHdoZW4gc2VhcmNoaW5nIGZvciBwYWNrYWdlcyBpbiBhIHBhY2thZ2UgbWFuYWdlciBhcyB3ZWxsLlxuICAgICAqIFNlZSBodHRwczovL2NsYXNzaWMueWFybnBrZy5jb20vZW4vZG9jcy9wYWNrYWdlLWpzb24vI3RvYy1kZXNjcmlwdGlvblxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICogQGZlYXR1cmVkIHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSdW50aW1lIGRlcGVuZGVuY2llcyBvZiB0aGlzIG1vZHVsZS5cbiAgICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIG5wbSBwYWNrYWdlcyB1c2luZyBBV1MgQ29kZUFydGlmYWN0LlxuICAgICAqIFRoaXMgaXMgcmVxdWlyZWQgaWYgcHVibGlzaGluZyBwYWNrYWdlcyB0bywgb3IgaW5zdGFsbGluZyBzY29wZWQgcGFja2FnZXMgZnJvbSBBV1MgQ29kZUFydGlmYWN0XG4gICAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBqYXZhc2NyaXB0LkNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogVGhlIHZlcnNpb24gb2YgQnVuIHRvIHVzZSBpZiB1c2luZyBCdW4gYXMgYSBwYWNrYWdlIG1hbmFnZXIuXG4gICAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYnVuVmVyc2lvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIGRlcGVuZGVuY2llcyB0byBidW5kbGUgaW50byB0aGlzIG1vZHVsZS5cbiAgICAgKiBUaGVzZSBtb2R1bGVzIHdpbGwgYmVcbiAgICAgKiBhZGRlZCBib3RoIHRvIHRoZSBgZGVwZW5kZW5jaWVzYCBzZWN0aW9uIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2Agc2VjdGlvbiBvZlxuICAgICAqIHlvdXIgYHBhY2thZ2UuanNvbmAuXG4gICAgICpcbiAgICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYnVuZGxlZERlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAgIC8qKlxuICAgICAqIFRoZSB1cmwgdG8geW91ciBwcm9qZWN0J3MgaXNzdWUgdHJhY2tlci5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1Z3NVcmw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGVtYWlsIGFkZHJlc3MgdG8gd2hpY2ggaXNzdWVzIHNob3VsZCBiZSByZXBvcnRlZC5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1Z3NFbWFpbD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBCaW5hcnkgcHJvZ3JhbXMgdmVuZGVkIHdpdGggeW91ciBtb2R1bGUuXG4gICAgICogWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gYWRkL2N1c3RvbWl6ZSBob3cgYmluYXJpZXMgYXJlIHJlcHJlc2VudGVkIGluXG4gICAgICogeW91ciBgcGFja2FnZS5qc29uYCwgYnV0IHVubGVzcyBgYXV0b0RldGVjdEJpbmAgaXMgYGZhbHNlYCwgZXZlcnlcbiAgICAgKiBleGVjdXRhYmxlIGZpbGUgdW5kZXIgYGJpbmAgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFkZGVkIHRvIHRoaXMgc2VjdGlvbi5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJpbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgLyoqXG4gICAgICogQXV0b21hdGljYWxseSBhZGQgYWxsIGV4ZWN1dGFibGVzIHVuZGVyIHRoZSBgYmluYCBkaXJlY3RvcnkgdG8geW91ciBgcGFja2FnZS5qc29uYCBmaWxlIHVuZGVyIHRoZSBgYmluYCBzZWN0aW9uLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF1dG9EZXRlY3RCaW4/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEF1dGhvcidzIFVSTCAvIFdlYnNpdGUuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhdXRob3JVcmw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSXMgdGhlIGF1dGhvciBhbiBvcmdhbml6YXRpb24uXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhdXRob3JPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEF1dGhvcidzIG5hbWUuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhdXRob3JOYW1lPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEF1dGhvcidzIGUtbWFpbC5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEFsbG93IHRoZSBwcm9qZWN0IHRvIGluY2x1ZGUgYHBlZXJEZXBlbmRlbmNpZXNgIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2AuXG4gICAgICogVGhpcyBpcyBub3JtYWxseSBvbmx5IGFsbG93ZWQgZm9yIGxpYnJhcmllcy4gRm9yIGFwcHMsIHRoZXJlJ3Mgbm8gbWVhbmluZ1xuICAgICAqIGZvciBzcGVjaWZ5aW5nIHRoZXNlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFsbG93TGlicmFyeURlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRW5hYmxlIFZTQ29kZSBpbnRlZ3JhdGlvbi5cbiAgICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSB2c2NvZGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEF1dG8tY2xvc2Ugc3RhbGUgaXNzdWVzIGFuZCBwdWxsIHJlcXVlc3RzLlxuICAgICAqIFRvIGRpc2FibGUgc2V0IGBzdGFsZWAgdG8gYGZhbHNlYC5cbiAgICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBBdXRvLWNsb3NlIG9mIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0LlxuICAgICAqIFNlZSBgc3RhbGVPcHRpb25zYCBmb3Igb3B0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhbGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBSRUFETUUgc2V0dXAuXG4gICAgICogQGRlZmF1bHQgLSB7IGZpbGVuYW1lOiAnUkVBRE1FLm1kJywgY29udGVudHM6ICcjIHJlcGxhY2UgdGhpcycgfVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVhZG1lPzogU2FtcGxlUmVhZG1lUHJvcHM7XG4gICAgLyoqXG4gICAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICAgKiBAZGVmYXVsdCAtIHVzZSBhIHBlcnNvbmFsIGFjY2VzcyB0b2tlbiBuYW1lZCBQUk9KRU5fR0lUSFVCX1RPS0VOXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm9qZW5DcmVkZW50aWFscz86IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscztcbiAgICAvKipcbiAgICAgKiBBZGQgYSBHaXRwb2QgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdpdHBvZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgR2l0SHViIGludGVncmF0aW9uLlxuICAgICAqIEBkZWZhdWx0IC0gc2VlIEdpdEh1Yk9wdGlvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdpdGh1Yk9wdGlvbnM/OiBnaXRodWIuR2l0SHViT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBFbmFibGUgR2l0SHViIGludGVncmF0aW9uLlxuICAgICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdpdGh1Yj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQWRkIGEgVlNDb2RlIGRldmVsb3BtZW50IGVudmlyb25tZW50ICh1c2VkIGZvciBHaXRIdWIgQ29kZXNwYWNlcykuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRldkNvbnRhaW5lcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQWRkIGEgYGNsb2JiZXJgIHRhc2sgd2hpY2ggcmVzZXRzIHRoZSByZXBvIHRvIG9yaWdpbi5cbiAgICAgKiBAZGVmYXVsdCAtIHRydWUsIGJ1dCBmYWxzZSBmb3Igc3VicHJvamVjdHNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNsb2JiZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAgICogSGFzIG5vIGVmZmVjdCBpZlxuICAgICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgICAqIEBkZWZhdWx0IC0gc2VlIGRlZmF1bHRzIGluIGBBdXRvTWVyZ2VPcHRpb25zYFxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXV0b01lcmdlT3B0aW9ucz86IGdpdGh1Yi5BdXRvTWVyZ2VPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAgICogSGFzIG5vIGVmZmVjdCBpZiBgZ2l0aHViLm1lcmdpZnlgXG4gICAgICogaXMgc2V0IHRvIGZhbHNlLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlICdhdXRvIGFwcHJvdmUnIHdvcmtmbG93LlxuICAgICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBnaXRodWIuQXV0b0FwcHJvdmVPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbnMgZm9yIHJlbm92YXRlYm90LlxuICAgICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZW5vdmF0ZWJvdE9wdGlvbnM/OiBSZW5vdmF0ZWJvdE9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogVXNlIHJlbm92YXRlYm90IHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSByZW5vdmF0ZWJvdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyBmb3IgLnByb2plbnJjLmpzb24uXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb2plbnJjSnNvbk9wdGlvbnM/OiBQcm9qZW5yY0pzb25PcHRpb25zO1xuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIChvbmNlKSAucHJvamVucmMuanNvbiAoaW4gSlNPTikuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzb24gZ2VuZXJhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc2hlbGwgY29tbWFuZCB0byB1c2UgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gQ0xJLlxuICAgICAqIENhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBpbiBzcGVjaWFsIGVudmlyb25tZW50cy5cbiAgICAgKiBAZGVmYXVsdCBcIm5weCBwcm9qZW5cIlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvamVuQ29tbWFuZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGFyZW50IHByb2plY3QsIGlmIHRoaXMgcHJvamVjdCBpcyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2plY3QuXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBwYXJlbnQ/OiBQcm9qZWN0O1xuICAgIC8qKlxuICAgICAqIFRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBSZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSwgYWxsIGZpbGVzIGFyZSBzeW50aGVzaXplZC5cbiAgICAgKlxuICAgICAqIElmIHRoaXMgcHJvamVjdCBoYXMgYSBwYXJlbnQsIHRoaXMgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgICAgKiBkaXJlY3RvcnkgYW5kIGl0IGNhbm5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgcGFyZW50IG9yIGFueSBvZiBpdCdzIG90aGVyXG4gICAgICogc3VicHJvamVjdHMuXG4gICAgICogQGRlZmF1bHQgXCIuXCJcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmUgbG9nZ2luZyBvcHRpb25zIHN1Y2ggYXMgdmVyYm9zaXR5LlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICByZWFkb25seSBsb2dnaW5nPzogTG9nZ2VyT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGdpdC5cbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdpdE9wdGlvbnM/OiBHaXRPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgLmdpdGlnbm9yZSBmaWxlLlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgZ2l0SWdub3JlT3B0aW9ucz86IElnbm9yZUZpbGVPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gY29tbWl0IHRoZSBtYW5hZ2VkIGZpbGVzIGJ5IGRlZmF1bHQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29tbWl0R2VuZXJhdGVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdC5cbiAgICAgKiBAZGVmYXVsdCAkQkFTRURJUlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICogQGZlYXR1cmVkIHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIFZpdGVzdCBjb25maWd1cmF0aW9uICh3aGVuIGVuYWJsZWQpLlxuICAgICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBWaXRlc3QgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZpdGVzdE9wdGlvbnM/OiBWaXRlc3RPcHRpb25zO1xuICAgIC8qKlxuICAgICAqIEVuYWJsZSB0ZXN0aW5nIHdpdGggVml0ZXN0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSB2aXRlc3Q/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBtaXNlLnRvbWwgd2l0aCBwcm9qZWN0IE5vZGUuanMgdmVyc2lvblxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBtaXNlPzogYm9vbGVhbjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLXR5cGVzY3JpcHQtYXBwLW9wdGlvbnMuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plY3RzL2F3c2Nkay10eXBlc2NyaXB0LWFwcC1vcHRpb25zLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NjZGssIGdpdGh1YiwgR2l0T3B0aW9ucywgR3JvdXBSdW5uZXJPcHRpb25zLCBJZ25vcmVGaWxlT3B0aW9ucywgamF2YXNjcmlwdCwgTG9nZ2VyT3B0aW9ucywgUHJvamVjdCwgUHJvamVucmNKc29uT3B0aW9ucywgUmVsZWFzYWJsZUNvbW1pdHMsIHJlbGVhc2UsIFJlbm92YXRlYm90T3B0aW9ucywgU2FtcGxlUmVhZG1lUHJvcHMsIHR5cGVzY3JpcHQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHR5cGUgeyBWaXRlc3RPcHRpb25zIH0gZnJvbSAnLi4vJztcblxuLyoqXG4gKiBBd3NDZGtUeXBlU2NyaXB0QXBwUHJvamVjdE9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtUeXBlU2NyaXB0QXBwUHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogQ29tbW9uIG9wdGlvbnMgZm9yIGFsbCBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBhd3NjZGsuTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBhd3NjZGsuTGFtYmRhRXh0ZW5zaW9uYCBmb3IgZWFjaCBgLmxhbWJkYS1leHRlbnNpb24udHNgIGVudHJ5cG9pbnQgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW4gYGF3c2Nkay5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGF3c2Nkay5MYW1iZGFGdW5jdGlvbmAgZm9yIGVhY2ggYC5sYW1iZGEudHNgIGhhbmRsZXIgaW4geW91ciBzb3VyY2UgdHJlZS4gSWYgdGhpcyBpcyBkaXNhYmxlZCwgeW91IGNhbiBtYW51YWxseSBhZGQgYW4gYGF3c2Nkay5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgZWFjaCBgLmludGVnLnRzYCBmaWxlIGluIHVuZGVyIHlvdXIgdGVzdCBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoZSBBV1MgQ0RLIGludGVnLXJ1bm5lci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGV4cGVyaW1lbnRhbEludGVnUnVubmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgY2xvdWRmcm9udC5leHBlcmltZW50YWwuRWRnZUZ1bmN0aW9uYCBmb3IgZWFjaCBgLmVkZ2UtbGFtYmRhLnRzYCBoYW5kbGVyIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBDREsgYXBwJ3MgZW50cnlwb2ludCAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnksIHdoaWNoIGlzIFwic3JjXCIgYnkgZGVmYXVsdCkuXG4gICAqIEBkZWZhdWx0IFwibWFpbi50c1wiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBhcHBFbnRyeXBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQgbGluZSB0byBleGVjdXRlIGluIG9yZGVyIHRvIHN5bnRoZXNpemUgdGhlIENESyBhcHBsaWNhdGlvbiAobGFuZ3VhZ2Ugc3BlY2lmaWMpLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXBwPzogc3RyaW5nO1xuICAvKipcbiAgICogTWluaW11bSB2ZXJzaW9uIG9mIHRoZSBgY29uc3RydWN0c2AgbGlicmFyeSB0byBkZXBlbmQgb24uXG4gICAqIEBkZWZhdWx0IC0gZm9yIENESyAxLnggdGhlIGRlZmF1bHQgaXMgXCIzLjIuMjdcIiwgZm9yIENESyAyLnggdGhlIGRlZmF1bHQgaXNcblwiMTAuMC41XCIuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZSBwaW5uZWQgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhcmV0IHZlcnNpb24gZm9yIENESy5cbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IG1peGVkIHZlcnNpb25zIGZvciB5b3VyIENESyBkZXBlbmRlbmNpZXMgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogVmVyc2lvbiByYW5nZSBvZiB0aGUgQVdTIENESyBDTEkgdG8gZGVwZW5kIG9uLlxuICAgKiBDYW4gYmUgZWl0aGVyIGEgc3BlY2lmaWMgdmVyc2lvbiwgb3IgYW4gTlBNIHZlcnNpb24gcmFuZ2UuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYXRlc3QgMi54IHZlcnNpb24gd2lsbCBiZSBpbnN0YWxsZWQ7IHlvdSBjYW4gdXNlIHRoaXNcbiAgICogb3B0aW9uIHRvIHJlc3RyaWN0IGl0IHRvIGEgc3BlY2lmaWMgdmVyc2lvbiBvciB2ZXJzaW9uIHJhbmdlLlxuICAgKiBAZGVmYXVsdCBcIl4yXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNka0NsaVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbnN0YWxsIHRoZSBhc3NlcnRpb25zIGxpYnJhcnk/XG4gICAqIE9ubHkgbmVlZGVkIGZvciBDREsgMS54LiBJZiB1c2luZyBDREsgMi54IHRoZW5cbiAgICogYXNzZXJ0aW9ucyBpcyBhbHJlYWR5IGluY2x1ZGVkIGluICdhd3MtY2RrLWxpYidcbiAgICogQGRlZmF1bHQgLSB3aWxsIGJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yIEFXUyBDREsgPj0gMS4xMTEuMCA8IDIuMC4wXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjZGtBc3NlcnRpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbmltdW0gdmVyc2lvbiBvZiB0aGUgQVdTIENESyB0byBkZXBlbmQgb24uXG4gICAqIEBkZWZhdWx0IFwiMi4xLjBcIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuICAvKipcbiAgICogR2xvYiBwYXR0ZXJucyB0byBpbmNsdWRlIGluIGBjZGsgd2F0Y2hgLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2hJbmNsdWRlcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBHbG9iIHBhdHRlcm5zIHRvIGV4Y2x1ZGUgZnJvbSBgY2RrIHdhdGNoYC5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHdhdGNoRXhjbHVkZXM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVG8gcHJvdGVjdCB5b3UgYWdhaW5zdCB1bmludGVuZGVkIGNoYW5nZXMgdGhhdCBhZmZlY3QgeW91ciBzZWN1cml0eSBwb3N0dXJlLCB0aGUgQVdTIENESyBUb29sa2l0IHByb21wdHMgeW91IHRvIGFwcHJvdmUgc2VjdXJpdHktcmVsYXRlZCBjaGFuZ2VzIGJlZm9yZSBkZXBsb3lpbmcgdGhlbS5cbiAgICogQGRlZmF1bHQgQXBwcm92YWxMZXZlbC5CUk9BREVOSU5HXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlQXBwcm92YWw/OiBhd3NjZGsuQXBwcm92YWxMZXZlbDtcbiAgLyoqXG4gICAqIEZlYXR1cmUgZmxhZ3MgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCBpbiBgY2RrLmpzb25gLlxuICAgKiBNYWtlIHN1cmUgdG8gZG91YmxlLWNoZWNrIGFueSBjaGFuZ2VzIHRvIGZlYXR1cmUgZmxhZ3MgaW4gYGNkay5qc29uYCBiZWZvcmUgZGVwbG95aW5nLlxuICAgKiBVbmV4cGVjdGVkIGNoYW5nZXMgbWF5IGNhdXNlIGJyZWFraW5nIGNoYW5nZXMgaW4geW91ciBDREsgYXBwLlxuICAgKiBZb3UgY2FuIG92ZXJ3cml0ZSBhbnkgZmVhdHVyZSBmbGFnIGJ5IHBhc3NpbmcgaXQgaW50byB0aGUgY29udGV4dCBmaWVsZC5cbiAgICogQGRlZmF1bHQgLSBubyBmZWF0dXJlIGZsYWdzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHRcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGZlYXR1cmVGbGFncz86IGF3c2Nkay5JQ2RrRmVhdHVyZUZsYWdzO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBjb250ZXh0IHRvIGluY2x1ZGUgaW4gYGNkay5qc29uYC5cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGNvbnRleHRcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogY2RrLm91dCBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwiY2RrLm91dFwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjZGtvdXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGNvbW1hbmQgdG8gZXhlY3V0ZSBiZWZvcmUgc3ludGhlc2lzLlxuICAgKiBUaGlzIGNvbW1hbmQgd2lsbCBiZSBjYWxsZWQgd2hlblxuICAgKiBydW5uaW5nIGBjZGsgc3ludGhgIG9yIHdoZW4gYGNkayB3YXRjaGAgaWRlbnRpZmllcyBhIGNoYW5nZSBpbiB5b3VyIHNvdXJjZVxuICAgKiBjb2RlIGJlZm9yZSByZWRlcGxveW1lbnQuXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVpbGQgY29tbWFuZFxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogVHlwZVNjcmlwdCB2ZXJzaW9uIHRvIHVzZS5cbiAgICogTk9URTogVHlwZXNjcmlwdCBpcyBub3Qgc2VtYW50aWNhbGx5IHZlcnNpb25lZCBhbmQgc2hvdWxkIHJlbWFpbiBvbiB0aGVcbiAgICogc2FtZSBtaW5vciwgc28gd2UgcmVjb21tZW5kIHVzaW5nIGEgYH5gIGRlcGVuZGVuY3kgKGUuZy4gYH4xLjIuM2ApLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0eXBlc2NyaXB0VmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUuXG4gICAqIEBkZWZhdWx0IFwidHNjb25maWcuZGV2Lmpzb25cIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdEZXZGaWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIHRzY29uZmlnIG9wdGlvbnMgZm9yIHRoZSBkZXZlbG9wbWVudCB0c2NvbmZpZy5qc29uIGZpbGUgKHVzZWQgZm9yIHRlc3RpbmcpLlxuICAgKiBAZGVmYXVsdCAtIHVzZSB0aGUgcHJvZHVjdGlvbiB0c2NvbmZpZyBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0Rldj86IGphdmFzY3JpcHQuVHlwZXNjcmlwdENvbmZpZ09wdGlvbnM7XG4gIC8qKlxuICAgKiBDdXN0b20gVFNDb25maWcuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IGphdmFzY3JpcHQuVHlwZXNjcmlwdENvbmZpZ09wdGlvbnM7XG4gIC8qKlxuICAgKiBKZXN0IHRlc3RzIGRpcmVjdG9yeS4gVGVzdHMgZmlsZXMgc2hvdWxkIGJlIG5hbWVkIGB4eHgudGVzdC50c2AuXG4gICAqIElmIHRoaXMgZGlyZWN0b3J5IGlzIHVuZGVyIGBzcmNkaXJgIChlLmcuIGBzcmMvdGVzdGAsIGBzcmMvX190ZXN0c19fYCksXG4gICAqIHRoZW4gdGVzdHMgYXJlIGdvaW5nIHRvIGJlIGNvbXBpbGVkIGludG8gYGxpYi9gIGFuZCBleGVjdXRlZCBhcyBqYXZhc2NyaXB0LlxuICAgKiBJZiB0aGUgdGVzdCBkaXJlY3RvcnkgaXMgb3V0c2lkZSBvZiBgc3JjYCwgdGhlbiB3ZSBjb25maWd1cmUgamVzdCB0b1xuICAgKiBjb21waWxlIHRoZSBjb2RlIGluLW1lbW9yeS5cbiAgICogQGRlZmF1bHQgXCJ0ZXN0XCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0IHNvdXJjZXMgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcInNyY1wiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMudHMuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IHR5cGVzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogVXNlIFR5cGVTY3JpcHQgZm9yIHlvdXIgcHJvamVucmMgZmlsZSAoYC5wcm9qZW5yYy50c2ApLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAcGpuZXcgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0ICBhcnRpZmFjdHMgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgXCJsaWJcIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgbGliZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIC5kLnRzIGZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBAZGVmYXVsdCAtIC5kLnRzIGZpbGUgZGVyaXZlZCBmcm9tIHRoZSBwcm9qZWN0J3MgZW50cnlwb2ludCAodXN1YWxseSBsaWIvaW5kZXguZC50cylcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnRUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImRvY3NcIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY2dlbiBieSBUeXBlZG9jLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5kZXYuanNvbmAgZmlsZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZ0Rldj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBgdHNjb25maWcuanNvbmAgZmlsZSAodXNlZCBieSBqc2lpIHByb2plY3RzIHNpbmNlIHRzY29uZmlnLmpzb24gaXMgZ2VuZXJhdGVkIGJ5IHRoZSBqc2lpIGNvbXBpbGVyKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgTm9kZS5qcyBwYWNrYWdlIGNhY2hlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1BhY2thZ2VDYWNoZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbm9kZSB2ZXJzaW9uIHVzZWQgaW4gR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzLlxuICAgKiBBbHdheXMgdXNlIHRoaXMgb3B0aW9uIGlmIHlvdXIgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzIHJlcXVpcmUgYSBzcGVjaWZpYyB0byBydW4uXG4gICAqIEBkZWZhdWx0IC0gYG1pbk5vZGVWZXJzaW9uYCBpZiBzZXQsIG90aGVyd2lzZSBgbHRzLypgLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBnaXQgaWRlbnRpdHkgdG8gdXNlIGluIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93R2l0SWRlbnRpdHk/OiBnaXRodWIuR2l0SWRlbnRpdHk7XG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdGVwcyB0byB1c2UgaW4gb3JkZXIgdG8gYm9vdHN0cmFwIHRoaXMgcmVwby5cbiAgICogQGRlZmF1bHQgXCJ5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgJiYgeWFybiBwcm9qZW5cIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dCb290c3RyYXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJlbGVhc2UgdG8gbnBtIHdoZW4gbmV3IHZlcnNpb25zIGFyZSBpbnRyb2R1Y2VkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVRvTnBtPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCByZWxlYXNlIG1hbmFnZW1lbnQgdG8gdGhpcyBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCAtIHRydWUgKGZhbHNlIGZvciBzdWJwcm9qZWN0cylcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2U/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBjb250ZW50XG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlQ29udGVudHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogSW5jbHVkZSBhIEdpdEh1YiBwdWxsIHJlcXVlc3QgdGVtcGxhdGUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVmVyc2lvbiBvZiBwcm9qZW4gdG8gaW5zdGFsbC5cbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0cyB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgLnByb2plbnJjLmpzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc09wdGlvbnM/OiBqYXZhc2NyaXB0LlByb2plbnJjT3B0aW9ucztcbiAgLyoqXG4gICAqIEdlbmVyYXRlIChvbmNlKSAucHJvamVucmMuanMgKGluIEphdmFTY3JpcHQpLiBTZXQgdG8gYGZhbHNlYCBpbiBvcmRlciB0byBkaXNhYmxlIC5wcm9qZW5yYy5qcyBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgcHJvamVucmNKc29uIGlzIGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBvZiBcInByb2plblwiIHNob3VsZCBiZSBpbnN0YWxsZWQgYXMgYSBkZXZEZXBlbmRlbmN5LlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuRGV2RGVwZW5kZW5jeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgYHBhY2thZ2VgIHRhc2sgdGhhdCB3aWxsIHByb2R1Y2UgYW4gbnBtIHRhcmJhbGwgdW5kZXIgdGhlIGFydGlmYWN0cyBkaXJlY3RvcnkgKGUuZy4gYGRpc3RgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIC5ucG1pZ25vcmUgZmlsZS5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IG5wbUlnbm9yZU9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIERlZmluZXMgYW4gLm5wbWlnbm9yZSBmaWxlLiBOb3JtYWxseSB0aGlzIGlzIG9ubHkgbmVlZGVkIGZvciBsaWJyYXJpZXMgdGhhdCBhcmUgcGFja2FnZWQgYXMgdGFyYmFsbHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IG5wbWlnbm9yZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnRyaWVzIHRvIC5naXRpZ25vcmUuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBnaXRpZ25vcmU/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYFVwZ3JhZGVEZXBlbmRlbmNpZXNgLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZGVwc1VwZ3JhZGVPcHRpb25zPzogamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzT3B0aW9ucztcbiAgLyoqXG4gICAqIFVzZSB0YXNrcyBhbmQgZ2l0aHViIHdvcmtmbG93cyB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQ2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGVwZW5kYWJvdGAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGRlcHNVcGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGRlcGVuZGFib3QuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRhYm90T3B0aW9ucz86IGdpdGh1Yi5EZXBlbmRhYm90T3B0aW9ucztcbiAgLyoqXG4gICAqIFVzZSBkZXBlbmRhYm90IHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBDYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkZXBzVXBncmFkZWAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRhYm90PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBjb3B5cmlnaHQgeWVhcnMgdG8gcHV0IGluIHRoZSBMSUNFTlNFIGZpbGUuXG4gICAqIEBkZWZhdWx0IC0gY3VycmVudCB5ZWFyXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjb3B5cmlnaHRQZXJpb2Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaWNlbnNlIGNvcHlyaWdodCBvd25lci5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgYXV0aG9yTmFtZSBvciBcIlwiIGlmIGBhdXRob3JOYW1lYCBpcyB1bmRlZmluZWQuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjb3B5cmlnaHRPd25lcj86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgc2VjcmV0IG5hbWUgZm9yIGEgc3BlY2lmaWVkIGh0dHBzOi8vY29kZWNvdi5pby8gdG9rZW4uXG4gICAqIEBkZWZhdWx0IC0gT0lEQyBhdXRoIGlzIHVzZWRcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVDb3ZUb2tlblNlY3JldD86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZSBhIEdpdEh1YiB3b3JrZmxvdyBzdGVwIGZvciBzZW5kaW5nIGNvZGUgY292ZXJhZ2UgbWV0cmljcyB0byBodHRwczovL2NvZGVjb3YuaW8vIFVzZXMgY29kZWNvdi9jb2RlY292LWFjdGlvbkB2NSBCeSBkZWZhdWx0LCBPSURDIGF1dGggaXMgdXNlZC4gQWx0ZXJuYXRpdmVseSBhIHRva2VuIGNhbiBiZSBwcm92aWRlZCB2aWEgYGNvZGVDb3ZUb2tlblNlY3JldGAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB3aGljaCBsaWNlbnNlcyBzaG91bGQgYmUgZGVlbWVkIGFjY2VwdGFibGUgZm9yIHVzZSBieSBkZXBlbmRlbmNpZXMuXG4gICAqIFRoaXMgc2V0dGluZyB3aWxsIGNhdXNlIHRoZSBidWlsZCB0byBmYWlsLCBpZiBhbnkgcHJvaGliaXRlZCBvciBub3QgYWxsb3dlZCBsaWNlbnNlcyBhcmVzIGVuY291bnRlcmVkLlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpY2Vuc2UgY2hlY2tzIGFyZSBydW4gZHVyaW5nIHRoZSBidWlsZCBhbmQgYWxsIGxpY2Vuc2VzIHdpbGwgYmUgYWNjZXB0ZWRcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrTGljZW5zZXM/OiBqYXZhc2NyaXB0LkxpY2Vuc2VDaGVja2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGBCdW5kbGVyYC5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsZXJPcHRpb25zPzogamF2YXNjcmlwdC5CdW5kbGVyT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIFBSIGJ1aWxkIHdvcmtmbG93LlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvd09wdGlvbnM/OiBqYXZhc2NyaXB0LkJ1aWxkV29ya2Zsb3dPcHRpb25zO1xuICAvKipcbiAgICogRGVmaW5lIGEgR2l0SHViIHdvcmtmbG93IGZvciBidWlsZGluZyBQUnMuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBub3QgYSBzdWJwcm9qZWN0XG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJpb21lIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBiaW9tZU9wdGlvbnM/OiBqYXZhc2NyaXB0LkJpb21lT3B0aW9ucztcbiAgLyoqXG4gICAqIFNldHVwIEJpb21lLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWU/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhcHByb3ZlIGRlcHMgdXBncmFkZSBQUnMsIGFsbG93aW5nIHRoZW0gdG8gYmUgbWVyZ2VkIGJ5IG1lcmdpZnkgKGlmIGNvbmZpZ3VlZCkuXG4gICAqIFRocm93IGlmIHNldCB0byB0cnVlIGJ1dCBgYXV0b0FwcHJvdmVPcHRpb25zYCBhcmUgbm90IGRlZmluZWQuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0FwcHJvdmVVcGdyYWRlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZWN1cml0eSBhdWRpdCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaXREZXBzT3B0aW9ucz86IGphdmFzY3JpcHQuQXVkaXRPcHRpb25zO1xuICAvKipcbiAgICogUnVuIHNlY3VyaXR5IGF1ZGl0IG9uIGRlcGVuZGVuY2llcy5cbiAgICogV2hlbiBlbmFibGVkLCBjcmVhdGVzIGFuIFwiYXVkaXRcIiB0YXNrIHRoYXQgY2hlY2tzIGZvciBrbm93biBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXNcbiAgICogaW4gZGVwZW5kZW5jaWVzLiBCeSBkZWZhdWx0LCBydW5zIGR1cmluZyBldmVyeSBidWlsZCBhbmQgY2hlY2tzIGZvciBcImhpZ2hcIiBzZXZlcml0eVxuICAgKiB2dWxuZXJhYmlsaXRpZXMgb3IgYWJvdmUgaW4gYWxsIGRlcGVuZGVuY2llcyAoaW5jbHVkaW5nIGRldiBkZXBlbmRlbmNpZXMpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaXREZXBzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgZGlyZWN0b3J5IHdoaWNoIHdpbGwgY29udGFpbiBidWlsZCBhcnRpZmFjdHMuXG4gICAqIEBkZWZhdWx0IFwiZGlzdFwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbWFpbiByZWxlYXNlIGJyYW5jaC5cbiAgICogQGRlZmF1bHQgXCJtYWluXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1J1bnNPbj86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgdG8gdXNlIGZvciBHaXRIdWIgd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Q29udGFpbmVySW1hZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgY2hhbmdlbG9nIHdpdGggY29tbWl0LWFuZC10YWctdmVyc2lvbiBwYWNrYWdlLlxuICAgKiBHaXZlbiB2YWx1ZXMgZWl0aGVyIGFwcGVuZCB0byBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3Igb3ZlcndyaXRlIHZhbHVlcyBpbiBpdC5cbiAgICogQGRlZmF1bHQgLSBzdGFuZGFyZCBjb25maWd1cmF0aW9uIGFwcGxpY2FibGUgZm9yIEdpdEh1YiByZXBvc2l0b3JpZXNcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogQSBzZXQgb2Ygd29ya2Zsb3cgc3RlcHMgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzZXR1cCB0aGUgd29ya2Zsb3cgY29udGFpbmVyLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCByZWxlYXNlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCBcInJlbGVhc2VcIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgcmVsZWFzZSB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdHJpZ2dlciB0byB1c2UuXG4gICAqIEBkZWZhdWx0IC0gQ29udGludW91cyByZWxlYXNlcyAoYFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWApXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVHJpZ2dlcj86IHJlbGVhc2UuUmVsZWFzZVRyaWdnZXI7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy4gVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmcgdmVyc2lvbiBudW1iZXJzLlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGFwcGx5IHRvIGlzc3VlcyBpbmRpY2F0aW5nIHB1Ymxpc2ggZmFpbHVyZXMuXG4gICAqIE9ubHkgYXBwbGllcyBpZiBgcmVsZWFzZUZhaWx1cmVJc3N1ZWAgaXMgdHJ1ZS5cbiAgICogQGRlZmF1bHQgXCJmYWlsZWQtcmVsZWFzZVwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRmFpbHVyZUlzc3VlTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBnaXRodWIgaXNzdWUgb24gZXZlcnkgZmFpbGVkIHB1Ymxpc2hpbmcgdGFzay5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHVzZWQgZm9yIHRoZSByZWxlYXNlLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBhbiBleHBsaWNpdCBhcHByb3ZhbCBzdGVwIHRvIHRoZSByZWxlYXNlXG4gICAqIG9yIGxpbWl0IHdobyBjYW4gaW5pdGlhdGUgYSByZWxlYXNlIHRocm91Z2ggZW52aXJvbm1lbnQgcHJvdGVjdGlvbiBydWxlcy5cbiAgICpcbiAgICogV2hlbiBtdWx0aXBsZSBhcnRpZmFjdHMgYXJlIHJlbGVhc2VkLCB0aGUgZW52aXJvbm1lbnQgY2FuIGJlIG92ZXJ3cml0dGVuXG4gICAqIG9uIGEgcGVyIGFydGlmYWN0IGJhc2lzLlxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHVzZWQsIHVubGVzcyBzZXQgYXQgdGhlIGFydGlmYWN0IGxldmVsXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgcmVsZWFzZSBicmFuY2hlcy5cbiAgICogQSB3b3JrZmxvdyB3aWxsIGJlIGNyZWF0ZWQgZm9yIGVhY2hcbiAgICogcmVsZWFzZSBicmFuY2ggd2hpY2ggd2lsbCBwdWJsaXNoIHJlbGVhc2VzIGZyb20gY29tbWl0cyBpbiB0aGlzIGJyYW5jaC5cbiAgICogRWFjaCByZWxlYXNlIGJyYW5jaCBfbXVzdF8gYmUgYXNzaWduZWQgYSBtYWpvciB2ZXJzaW9uIG51bWJlciB3aGljaCBpcyB1c2VkXG4gICAqIHRvIGVuZm9yY2UgdGhhdCB2ZXJzaW9ucyBwdWJsaXNoZWQgZnJvbSB0aGF0IGJyYW5jaCBhbHdheXMgdXNlIHRoYXQgbWFqb3JcbiAgICogdmVyc2lvbi4gSWYgbXVsdGlwbGUgYnJhbmNoZXMgYXJlIHVzZWQsIHRoZSBgbWFqb3JWZXJzaW9uYCBmaWVsZCBtdXN0IGFsc29cbiAgICogYmUgcHJvdmlkZWQgZm9yIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGJyYW5jaGVzIGFyZSB1c2VkIGZvciByZWxlYXNlLiB5b3UgY2FuIHVzZVxuYGFkZEJyYW5jaCgpYCB0byBhZGQgYWRkaXRpb25hbCBicmFuY2hlcy5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIHJlbGVhc2UuQnJhbmNoT3B0aW9ucz47XG4gIC8qKlxuICAgKiBGaW5kIGNvbW1pdHMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCByZWxlYXNhYmxlIFVzZWQgdG8gZGVjaWRlIGlmIGEgcmVsZWFzZSBpcyByZXF1aXJlZC5cbiAgICogQGRlZmF1bHQgUmVsZWFzYWJsZUNvbW1pdHMuZXZlcnlDb21taXQoKVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdHM/OiBSZWxlYXNhYmxlQ29tbWl0cztcbiAgLyoqXG4gICAqIERlZmluZSBwdWJsaXNoaW5nIHRhc2tzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIG1hbnVhbGx5IGFzIHdlbGwgYXMgd29ya2Zsb3dzLlxuICAgKiBOb3JtYWxseSwgcHVibGlzaGluZyBvbmx5IGhhcHBlbnMgd2l0aGluIGF1dG9tYXRlZCB3b3JrZmxvd3MuIEVuYWJsZSB0aGlzXG4gICAqIGluIG9yZGVyIHRvIGNyZWF0ZSBhIHB1Ymxpc2hpbmcgdGFzayBmb3IgZWFjaCBwdWJsaXNoaW5nIGFjdGl2aXR5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRhc2tzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZyB0byBwYWNrYWdlIG1hbmFnZXJzLCBqdXN0IHByaW50IHRoZSBwdWJsaXNoaW5nIGNvbW1hbmQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoRHJ5UnVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ1bXAgdmVyc2lvbnMgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2ggYXMgcHJlLXJlbGVhc2VzIChlLmcuIFwiYmV0YVwiLCBcImFscGhhXCIsIFwicHJlXCIpLlxuICAgKiBAZGVmYXVsdCAtIG5vcm1hbCBzZW1hbnRpYyB2ZXJzaW9uc1xuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFN0ZXBzIHRvIGV4ZWN1dGUgYWZ0ZXIgYnVpbGQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHBvc3RCdWlsZFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIFRoZSBucG1EaXN0VGFnIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIFRvIHNldCB0aGUgbnBtIGRpc3QtdGFnIGZvciByZWxlYXNlIGJyYW5jaGVzLCBzZXQgdGhlIGBucG1EaXN0VGFnYCBwcm9wZXJ0eVxuICAgKiBmb3IgZWFjaCBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IG5wbURpc3RUYWc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICogLSBgJFNVR0dFU1RFRF9CVU1QYDogdGhlIHN1Z2dlc3RlZCBidW1wIGFjdGlvbiBiYXNlZCBvbiBjb21taXRzLiBPbmUgb2YgYG1ham9yfG1pbm9yfHBhdGNofG5vbmVgLlxuICAgKlxuICAgKiBUaGUgY29tbWFuZCBzaG91bGQgcHJpbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgdG8gYHN0ZG91dGA6XG4gICAqXG4gICAqIC0gTm90aGluZzogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGNvbW1pdCBoaXN0b3J5LlxuICAgKiAtIGB4LnkuemA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgYHgueS56YC5cbiAgICogLSBgbWFqb3J8bWlub3J8cGF0Y2hgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyXG4gICAqICAgd2l0aCB0aGUgaW5kaWNhdGVkIGNvbXBvbmVudCBidW1wZWQuXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBjYW5ub3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYG1pbk1ham9yVmVyc2lvbmA7IHRoZSBpbnZva2VkXG4gICAqIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBlZmZlY3RzIG9mIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBjb21taXQgaGlzdG9yeSBhbmQgcHJvamVjdCBzZXR0aW5ncy5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IG5leHRWZXJzaW9uQ29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIE1pbmltYWwgTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gc2V0IHRvIDEsIGFzIGJyZWFraW5nIGNoYW5nZXMgYmVmb3JlIHRoZSAxLnggbWFqb3JcbiAgICogcmVsZWFzZSBhcmUgbm90IGluY3JlbWVudGluZyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIuXG4gICAqXG4gICAqIENhbiBub3QgYmUgc2V0IHRvZ2V0aGVyIHdpdGggYG1ham9yVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gTm8gbWluaW11bSB2ZXJzaW9uIGlzIGJlaW5nIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBtaW5NYWpvclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIElmIHRoaXMgaXMgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1ham9yIHZlcnNpb24gbGluZS5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgZ2xvYmFsIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCAtIE1ham9yIHZlcnNpb24gaXMgbm90IGVuZm9yY2VkLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlSZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgY29tcGF0aWJsZSBwYWNrYWdlIHVzZWQgdG8gYnVtcCB0aGUgcGFja2FnZSB2ZXJzaW9uLCBhcyBhIGRlcGVuZGVuY3kgc3RyaW5nLlxuICAgKiBUaGlzIGNhbiBiZSBhbnkgY29tcGF0aWJsZSBwYWNrYWdlIHZlcnNpb24sIGluY2x1ZGluZyB0aGUgZGVwcmVjYXRlZCBgc3RhbmRhcmQtdmVyc2lvbkA5YC5cbiAgICogQGRlZmF1bHQgLSBBIHJlY2VudCB2ZXJzaW9uIG9mIFwiY29tbWl0LWFuZC10YWctdmVyc2lvblwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBidW1wUGFja2FnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIFlhcm4gQmVycnkuXG4gICAqIEBkZWZhdWx0IC0gWWFybiBCZXJyeSB2NCB3aXRoIGFsbCBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHlhcm5CZXJyeU9wdGlvbnM/OiBqYXZhc2NyaXB0Lllhcm5CZXJyeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBQYWNrYWdlJ3MgU3RhYmlsaXR5LlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcHJpdmF0ZWx5IGhvc3RlZCBzY29wZWQgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IC0gZmV0Y2ggYWxsIHNjb3BlZCBwYWNrYWdlcyBmcm9tIHRoZSBwdWJsaWMgbnBtIHJlZ2lzdHJ5XG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBzY29wZWRQYWNrYWdlc09wdGlvbnM/OiBBcnJheTxqYXZhc2NyaXB0LlNjb3BlZFBhY2thZ2VzT3B0aW9ucz47XG4gIC8qKlxuICAgKiBJZiB0aGUgcGFja2FnZS5qc29uIGZvciB5b3VyIHBhY2thZ2UgaXMgbm90IGluIHRoZSByb290IGRpcmVjdG9yeSAoZm9yIGV4YW1wbGUgaWYgaXQgaXMgcGFydCBvZiBhIG1vbm9yZXBvKSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgbGl2ZXMuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5RGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgaXMgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBhY3R1YWwgY29kZSBmb3IgeW91ciBwYWNrYWdlIGxpdmVzLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtcmVwb3NpdG9yeVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIFBOUE0gdG8gdXNlIGlmIHVzaW5nIFBOUE0gYXMgYSBwYWNrYWdlIG1hbmFnZXIuXG4gICAqIEBkZWZhdWx0IFwiOVwiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBlZXIgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogRGVwZW5kZW5jaWVzIGxpc3RlZCBoZXJlIGFyZSByZXF1aXJlZCB0b1xuICAgKiBiZSBpbnN0YWxsZWQgKGFuZCBzYXRpc2ZpZWQpIGJ5IHRoZSBfY29uc3VtZXJfIG9mIHRoaXMgbGlicmFyeS4gVXNpbmcgcGVlclxuICAgKiBkZXBlbmRlbmNpZXMgYWxsb3dzIHlvdSB0byBlbnN1cmUgdGhhdCBvbmx5IGEgc2luZ2xlIG1vZHVsZSBvZiBhIGNlcnRhaW5cbiAgICogbGlicmFyeSBleGlzdHMgaW4gdGhlIGBub2RlX21vZHVsZXNgIHRyZWUgb2YgeW91ciBjb25zdW1lcnMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBwcmlvciB0byBucG1ANywgcGVlciBkZXBlbmRlbmNpZXMgYXJlIF9ub3RfIGF1dG9tYXRpY2FsbHlcbiAgICogaW5zdGFsbGVkLCB3aGljaCBtZWFucyB0aGF0IGFkZGluZyBwZWVyIGRlcGVuZGVuY2llcyB0byBhIGxpYnJhcnkgd2lsbCBiZSBhXG4gICAqIGJyZWFraW5nIGNoYW5nZSBmb3IgeW91ciBjdXN0b21lcnMuXG4gICAqXG4gICAqIFVubGVzcyBgcGVlckRlcGVuZGVuY3lPcHRpb25zLnBpbm5lZERldkRlcGVuZGVuY3lgIGlzIGRpc2FibGVkIChpdCBpc1xuICAgKiBlbmFibGVkIGJ5IGRlZmF1bHQpLCBwcm9qZW4gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIGRldiBkZXBlbmRlbmN5IHdpdGggYVxuICAgKiBwaW5uZWQgdmVyc2lvbiBmb3IgZWFjaCBwZWVyIGRlcGVuZGVuY3kuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB5b3UgYnVpbGQgJlxuICAgKiB0ZXN0IHlvdXIgbW9kdWxlIGFnYWluc3QgdGhlIGxvd2VzdCBwZWVyIHZlcnNpb24gcmVxdWlyZWQuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwZWVyRGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgcGVlckRlcHNgLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogamF2YXNjcmlwdC5QZWVyRGVwZW5kZW5jeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgXCJuYW1lXCIgaW4gcGFja2FnZS5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHByb2plY3QgbmFtZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTm9kZSBQYWNrYWdlIE1hbmFnZXIgdXNlZCB0byBleGVjdXRlIHNjcmlwdHMuXG4gICAqIEBkZWZhdWx0IE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOX0NMQVNTSUNcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXI7XG4gIC8qKlxuICAgKiBVc2UgdHJ1c3RlZCBwdWJsaXNoaW5nIGZvciBwdWJsaXNoaW5nIHRvIG5wbWpzLmNvbSBOZWVkcyB0byBiZSBwcmUtY29uZmlndXJlZCBvbiBucG0uanMgdG8gd29yay5cbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVHJ1c3RlZFB1Ymxpc2hpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogR2l0SHViIHNlY3JldCB3aGljaCBjb250YWlucyB0aGUgTlBNIHRva2VuIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IFwiTlBNX1RPS0VOXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRva2VuU2VjcmV0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2UgVVJMIG9mIHRoZSBucG0gcGFja2FnZSByZWdpc3RyeS5cbiAgICogTXVzdCBiZSBhIFVSTCAoZS5nLiBzdGFydCB3aXRoIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIilcbiAgICogQGRlZmF1bHQgXCJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZ1wiXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBucG1SZWdpc3RyeVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNob3VsZCBwcm92ZW5hbmNlIHN0YXRlbWVudHMgYmUgZ2VuZXJhdGVkIHdoZW4gdGhlIHBhY2thZ2UgaXMgcHVibGlzaGVkLlxuICAgKiBBIHN1cHBvcnRlZCBwYWNrYWdlIG1hbmFnZXIgaXMgcmVxdWlyZWQgdG8gcHVibGlzaCBhIHBhY2thZ2Ugd2l0aCBucG0gcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGFuZFxuICAgKiB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBhIHN1cHBvcnRlZCBDSS9DRCBwcm92aWRlci5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwcm9qZW4gYFJlbGVhc2VgIGFuZCBgUHVibGlzaGVyYCBjb21wb25lbnRzIGFyZSB1c2luZyBgcHVibGliYCB0byBwdWJsaXNoIHBhY2thZ2VzLFxuICAgKiB3aGljaCBpcyB1c2luZyBucG0gaW50ZXJuYWxseSBhbmQgc3VwcG9ydHMgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGluZGVwZW5kZW50bHkgb2YgdGhlIHBhY2thZ2UgbWFuYWdlciB1c2VkLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgZm9yIHB1YmxpYyBwYWNrYWdlcywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBucG1Qcm92ZW5hbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFjY2VzcyBsZXZlbCBvZiB0aGUgbnBtIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IC0gZm9yIHNjb3BlZCBwYWNrYWdlcyAoZS5nLiBgZm9vQGJhcmApLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5SRVNUUklDVEVEYCwgZm9yIG5vbi1zY29wZWQgcGFja2FnZXMsIHRoZSBkZWZhdWx0IGlzXG5gTnBtQWNjZXNzLlBVQkxJQ2AuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBucG1BY2Nlc3M/OiBqYXZhc2NyaXB0Lk5wbUFjY2VzcztcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG5vZGUgdmVyc2lvbiByZXF1aXJlZCBieSB0aGlzIHBhY2thZ2UgdG8gZnVuY3Rpb24uIE1vc3QgcHJvamVjdHMgc2hvdWxkIG5vdCB1c2UgdGhpcyBvcHRpb24uXG4gICAqIFRoZSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcGFja2FnZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbnkgb2xkZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICogVGhpcyByZXF1aXJlbWVudCBpcyBlbmZvcmNlZCB2aWEgdGhlIGVuZ2luZXMgZmllbGQuXG4gICAqXG4gICAqIFlvdSB3aWxsIG5vcm1hbGx5IG5vdCBuZWVkIHRvIHNldCB0aGlzIG9wdGlvbiwgZXZlbiBpZiB5b3VyIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggRU9MIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIENvbnNpZGVyIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91ciBwYWNrYWdlIGRlcGVuZHMgb24gYSBzcGVjaWZpYyBmZWF0dXJlLCB0aGF0IGlzIG5vdCBhdmFpbGFibGUgaW4gb3RoZXIgTFRTIHZlcnNpb25zLlxuICAgKiBTZXR0aW5nIHRoaXMgb3B0aW9uIGhhcyB2ZXJ5IGhpZ2ggaW1wYWN0IG9uIHRoZSBjb25zdW1lcnMgb2YgeW91ciBwYWNrYWdlLFxuICAgKiBhcyBwYWNrYWdlIG1hbmFnZXJzIHdpbGwgYWN0aXZlbHkgcHJldmVudCB1c2FnZSB3aXRoIG5vZGUgdmVyc2lvbnMgeW91IGhhdmUgbWFya2VkIGFzIGluY29tcGF0aWJsZS5cbiAgICpcbiAgICogVG8gY2hhbmdlIHRoZSBub2RlIHZlcnNpb24gb2YgeW91ciBDSS9DRCB3b3JrZmxvd3MsIHVzZSBgd29ya2Zsb3dOb2RlVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG5vZGUgdmVyc2lvbiBzdXBwb3J0ZWQgYnkgdGhpcyBwYWNrYWdlLiBNb3N0IHByb2plY3RzIHNob3VsZCBub3QgdXNlIHRoaXMgb3B0aW9uLlxuICAgKiBUaGUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIFRoaXMgcmVxdWlyZW1lbnQgaXMgZW5mb3JjZWQgdmlhIHRoZSBlbmdpbmVzIGZpZWxkLlxuICAgKlxuICAgKiBZb3Ugd2lsbCBub3JtYWxseSBub3QgbmVlZCB0byBzZXQgdGhpcyBvcHRpb24uXG4gICAqIENvbnNpZGVyIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91ciBwYWNrYWdlIGlzIGtub3duIHRvIG5vdCBmdW5jdGlvbiB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIEBkZWZhdWx0IC0gbm8gbWF4aW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBtYXhOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIGxpY2Vuc2Ugc2hvdWxkIGJlIGFkZGVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMaWNlbnNlJ3MgU1BEWCBpZGVudGlmaWVyLlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vdHJlZS9tYWluL2xpY2Vuc2UtdGV4dCBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBsaWNlbnNlcy5cbiAgICogVXNlIHRoZSBgbGljZW5zZWRgIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBubyBsaWNlbnNlIHRvIGJlIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgXCJBcGFjaGUtMi4wXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXl3b3JkcyB0byBpbmNsdWRlIGluIGBwYWNrYWdlLmpzb25gLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogUGFja2FnZSdzIEhvbWVwYWdlIC8gV2Vic2l0ZS5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGhvbWVwYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogTW9kdWxlIGVudHJ5cG9pbnQgKGBtYWluYCBpbiBgcGFja2FnZS5qc29uYCkuXG4gICAqIFNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gbm90IGluY2x1ZGUgYG1haW5gIGluIHlvdXIgcGFja2FnZS5qc29uXG4gICAqIEBkZWZhdWx0IFwibGliL2luZGV4LmpzXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZCBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBUaGVzZSBkZXBlbmRlbmNpZXMgd2lsbCBvbmx5IGJlXG4gICAqIGF2YWlsYWJsZSBpbiB5b3VyIGJ1aWxkIGVudmlyb25tZW50IGJ1dCB3aWxsIG5vdCBiZSBmZXRjaGVkIHdoZW4gdGhpc1xuICAgKiBtb2R1bGUgaXMgY29uc3VtZWQuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRldkRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIGlzIGp1c3QgYSBzdHJpbmcgdGhhdCBoZWxwcyBwZW9wbGUgdW5kZXJzdGFuZCB0aGUgcHVycG9zZSBvZiB0aGUgcGFja2FnZS5cbiAgICogSXQgY2FuIGJlIHVzZWQgd2hlbiBzZWFyY2hpbmcgZm9yIHBhY2thZ2VzIGluIGEgcGFja2FnZSBtYW5hZ2VyIGFzIHdlbGwuXG4gICAqIFNlZSBodHRwczovL2NsYXNzaWMueWFybnBrZy5jb20vZW4vZG9jcy9wYWNrYWdlLWpzb24vI3RvYy1kZXNjcmlwdGlvblxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSdW50aW1lIGRlcGVuZGVuY2llcyBvZiB0aGlzIG1vZHVsZS5cbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHlhcm4gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgbnBtIGlgIG9yIGB5YXJuIGFkZGAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBucG0gcGFja2FnZXMgdXNpbmcgQVdTIENvZGVBcnRpZmFjdC5cbiAgICogVGhpcyBpcyByZXF1aXJlZCBpZiBwdWJsaXNoaW5nIHBhY2thZ2VzIHRvLCBvciBpbnN0YWxsaW5nIHNjb3BlZCBwYWNrYWdlcyBmcm9tIEFXUyBDb2RlQXJ0aWZhY3RcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBqYXZhc2NyaXB0LkNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBCdW4gdG8gdXNlIGlmIHVzaW5nIEJ1biBhcyBhIHBhY2thZ2UgbWFuYWdlci5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYnVuVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2YgZGVwZW5kZW5jaWVzIHRvIGJ1bmRsZSBpbnRvIHRoaXMgbW9kdWxlLlxuICAgKiBUaGVzZSBtb2R1bGVzIHdpbGwgYmVcbiAgICogYWRkZWQgYm90aCB0byB0aGUgYGRlcGVuZGVuY2llc2Agc2VjdGlvbiBhbmQgYGJ1bmRsZWREZXBlbmRlbmNpZXNgIHNlY3Rpb24gb2ZcbiAgICogeW91ciBgcGFja2FnZS5qc29uYC5cbiAgICpcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHlhcm4gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgbnBtIGlgIG9yIGB5YXJuIGFkZGAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYnVuZGxlZERlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIHVybCB0byB5b3VyIHByb2plY3QncyBpc3N1ZSB0cmFja2VyLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYnVnc1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIGlzc3VlcyBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBidWdzRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCaW5hcnkgcHJvZ3JhbXMgdmVuZGVkIHdpdGggeW91ciBtb2R1bGUuXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgb3B0aW9uIHRvIGFkZC9jdXN0b21pemUgaG93IGJpbmFyaWVzIGFyZSByZXByZXNlbnRlZCBpblxuICAgKiB5b3VyIGBwYWNrYWdlLmpzb25gLCBidXQgdW5sZXNzIGBhdXRvRGV0ZWN0QmluYCBpcyBgZmFsc2VgLCBldmVyeVxuICAgKiBleGVjdXRhYmxlIGZpbGUgdW5kZXIgYGJpbmAgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFkZGVkIHRvIHRoaXMgc2VjdGlvbi5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGJpbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCBhbGwgZXhlY3V0YWJsZXMgdW5kZXIgdGhlIGBiaW5gIGRpcmVjdG9yeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gIGZpbGUgdW5kZXIgdGhlIGBiaW5gIHNlY3Rpb24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9EZXRlY3RCaW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0aG9yJ3MgVVJMIC8gV2Vic2l0ZS5cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvclVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIElzIHRoZSBhdXRob3IgYW4gb3JnYW5pemF0aW9uLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yT3JnYW5pemF0aW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dGhvcidzIG5hbWUuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBhdXRob3JOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0aG9yJ3MgZS1tYWlsLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgcHJvamVjdCB0byBpbmNsdWRlIGBwZWVyRGVwZW5kZW5jaWVzYCBhbmQgYGJ1bmRsZWREZXBlbmRlbmNpZXNgLlxuICAgKiBUaGlzIGlzIG5vcm1hbGx5IG9ubHkgYWxsb3dlZCBmb3IgbGlicmFyaWVzLiBGb3IgYXBwcywgdGhlcmUncyBubyBtZWFuaW5nXG4gICAqIGZvciBzcGVjaWZ5aW5nIHRoZXNlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBhbGxvd0xpYnJhcnlEZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIFZTQ29kZSBpbnRlZ3JhdGlvbi5cbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cy5cbiAgICogVG8gZGlzYWJsZSBzZXQgYHN0YWxlYCB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIEF1dG8tY2xvc2Ugb2Ygc3RhbGUgaXNzdWVzIGFuZCBwdWxsIHJlcXVlc3QuXG4gICAqIFNlZSBgc3RhbGVPcHRpb25zYCBmb3Igb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHN0YWxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBSRUFETUUgc2V0dXAuXG4gICAqIEBkZWZhdWx0IC0geyBmaWxlbmFtZTogJ1JFQURNRS5tZCcsIGNvbnRlbnRzOiAnIyByZXBsYWNlIHRoaXMnIH1cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRtZT86IFNhbXBsZVJlYWRtZVByb3BzO1xuICAvKipcbiAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSB1c2UgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gbmFtZWQgUFJPSkVOX0dJVEhVQl9UT0tFTlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuQ3JlZGVudGlhbHM/OiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHM7XG4gIC8qKlxuICAgKiBBZGQgYSBHaXRwb2QgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBnaXRwb2Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBHaXRIdWJPcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPcHRpb25zPzogZ2l0aHViLkdpdEh1Yk9wdGlvbnM7XG4gIC8qKlxuICAgKiBFbmFibGUgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCBhIFZTQ29kZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAodXNlZCBmb3IgR2l0SHViIENvZGVzcGFjZXMpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZGV2Q29udGFpbmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCBhIGBjbG9iYmVyYCB0YXNrIHdoaWNoIHJlc2V0cyB0aGUgcmVwbyB0byBvcmlnaW4uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSwgYnV0IGZhbHNlIGZvciBzdWJwcm9qZWN0c1xuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY2xvYmJlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgJ2F1dG8gYXBwcm92ZScgd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBnaXRodWIuQXV0b0FwcHJvdmVPcHRpb25zO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcmVub3ZhdGVib3QuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdE9wdGlvbnM/OiBSZW5vdmF0ZWJvdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgcmVub3ZhdGVib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanNvbi5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnNvbk9wdGlvbnM/OiBQcm9qZW5yY0pzb25PcHRpb25zO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qc29uIChpbiBKU09OKS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanNvbiBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBzaGVsbCBjb21tYW5kIHRvIHVzZSBpbiBvcmRlciB0byBydW4gdGhlIHByb2plbiBDTEkuXG4gICAqIENhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBpbiBzcGVjaWFsIGVudmlyb25tZW50cy5cbiAgICogQGRlZmF1bHQgXCJucHggcHJvamVuXCJcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IHByb2plY3QsIGlmIHRoaXMgcHJvamVjdCBpcyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2plY3QuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwYXJlbnQ/OiBQcm9qZWN0O1xuICAvKipcbiAgICogVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBwcm9qZWN0LlxuICAgKiBSZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSwgYWxsIGZpbGVzIGFyZSBzeW50aGVzaXplZC5cbiAgICpcbiAgICogSWYgdGhpcyBwcm9qZWN0IGhhcyBhIHBhcmVudCwgdGhpcyBkaXJlY3RvcnkgaXMgcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICAgKiBkaXJlY3RvcnkgYW5kIGl0IGNhbm5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgcGFyZW50IG9yIGFueSBvZiBpdCdzIG90aGVyXG4gICAqIHN1YnByb2plY3RzLlxuICAgKiBAZGVmYXVsdCBcIi5cIlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogQ29uZmlndXJlIGxvZ2dpbmcgb3B0aW9ucyBzdWNoIGFzIHZlcmJvc2l0eS5cbiAgICogQGRlZmF1bHQge31cbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmc/OiBMb2dnZXJPcHRpb25zO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBnaXQuXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBnaXRPcHRpb25zPzogR2l0T3B0aW9ucztcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgLmdpdGlnbm9yZSBmaWxlLlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWdub3JlT3B0aW9ucz86IElnbm9yZUZpbGVPcHRpb25zO1xuICAvKipcbiAgICogV2hldGhlciB0byBjb21taXQgdGhlIG1hbmFnZWQgZmlsZXMgYnkgZGVmYXVsdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0R2VuZXJhdGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgeW91ciBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCAkQkFTRURJUlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFZpdGVzdCBjb25maWd1cmF0aW9uICh3aGVuIGVuYWJsZWQpLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgVml0ZXN0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHZpdGVzdE9wdGlvbnM/OiBWaXRlc3RPcHRpb25zO1xuICAvKipcbiAgICogRW5hYmxlIHRlc3Rpbmcgd2l0aCBWaXRlc3QuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZpdGVzdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDcmVhdGUgbWlzZS50b21sIHdpdGggcHJvamVjdCBOb2RlLmpzIHZlcnNpb25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbWlzZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AwsCdkTypeScriptAppProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
7
+ const projen_1 = require("projen");
8
+ const config_1 = require("../config");
9
+ const utils_1 = require("../utils");
10
+ class AwsCdkTypeScriptAppProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
11
+ constructor(options) {
12
+ const { mise, vitest, vitestOptions, ...baseOptions } = options;
13
+ super((0, utils_1.deepMerge)(config_1.cdkAppDefaultOptions, baseOptions));
14
+ (0, config_1.applyDefaultConfig)(this, vitest, vitestOptions, mise);
15
+ }
16
+ }
17
+ exports.AwsCdkTypeScriptAppProject = AwsCdkTypeScriptAppProject;
18
+ _a = JSII_RTTI_SYMBOL_1;
19
+ AwsCdkTypeScriptAppProject[_a] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.1.5" };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLXR5cGVzY3JpcHQtYXBwLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy9hd3NjZGstdHlwZXNjcmlwdC1hcHAuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkVBQTZFO0FBQzdFLG1DQUFnQztBQUNoQyxzQ0FBcUU7QUFDckUsb0NBQXFDO0FBS3JDLE1BQWEsMEJBQTJCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUN0RSxZQUFZLE9BQTBDO1FBQ2xELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoRSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUFvQyw2QkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXZGLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7QUFQTCxnRUFRQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCB7IGF3c2NkayB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IGFwcGx5RGVmYXVsdENvbmZpZywgY2RrQXBwRGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgQXdzQ2RrVHlwZVNjcmlwdEFwcFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vYXdzY2RrLXR5cGVzY3JpcHQtYXBwLW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHBQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay10eXBlc2NyaXB0LWFwcC1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG5leHBvcnQgY2xhc3MgQXdzQ2RrVHlwZVNjcmlwdEFwcFByb2plY3QgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrVHlwZVNjcmlwdEFwcFByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgbWlzZSwgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCAuLi5iYXNlT3B0aW9ucyB9ID0gb3B0aW9ucztcblxuICAgICAgICBzdXBlcihkZWVwTWVyZ2U8YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zPihjZGtBcHBEZWZhdWx0T3B0aW9ucywgYmFzZU9wdGlvbnMpKTtcblxuICAgICAgICBhcHBseURlZmF1bHRDb25maWcodGhpcywgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCBtaXNlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- export * from "./awscdk-construct-library";
2
- export * from "./awscdk-typescript-app";
3
- export * from "./jsii";
4
- export * from "./typescript";
1
+ export * from "./awscdk-construct-library.generated";
2
+ export * from "./awscdk-typescript-app.generated";
3
+ export * from "./jsii.generated";
4
+ export * from "./typescript.generated";
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./awscdk-construct-library"), exports);
18
- __exportStar(require("./awscdk-typescript-app"), exports);
19
- __exportStar(require("./jsii"), exports);
20
- __exportStar(require("./typescript"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUEyQztBQUMzQywwREFBd0M7QUFDeEMseUNBQXVCO0FBQ3ZCLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2F3c2Nkay1jb25zdHJ1Y3QtbGlicmFyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXdzY2RrLXR5cGVzY3JpcHQtYXBwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qc2lpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc2NyaXB0XCI7XG4iXX0=
17
+ __exportStar(require("./awscdk-construct-library.generated"), exports);
18
+ __exportStar(require("./awscdk-typescript-app.generated"), exports);
19
+ __exportStar(require("./jsii.generated"), exports);
20
+ __exportStar(require("./typescript.generated"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVFQUFxRDtBQUNyRCxvRUFBa0Q7QUFDbEQsbURBQWlDO0FBQ2pDLHlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2F3c2Nkay1jb25zdHJ1Y3QtbGlicmFyeS5nZW5lcmF0ZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F3c2Nkay10eXBlc2NyaXB0LWFwcC5nZW5lcmF0ZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pzaWkuZ2VuZXJhdGVkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc2NyaXB0LmdlbmVyYXRlZFwiO1xuIl19
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.JsiiProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
7
+ const projen_1 = require("projen");
8
+ const config_1 = require("../config");
9
+ const utils_1 = require("../utils");
10
+ class JsiiProject extends projen_1.cdk.JsiiProject {
11
+ constructor(options) {
12
+ const { mise, vitest, vitestOptions, ...baseOptions } = options;
13
+ super((0, utils_1.deepMerge)(config_1.jsiiProjectDefaultOptions, baseOptions));
14
+ (0, config_1.applyDefaultConfig)(this, vitest, vitestOptions, mise);
15
+ }
16
+ }
17
+ exports.JsiiProject = JsiiProject;
18
+ _a = JSII_RTTI_SYMBOL_1;
19
+ JsiiProject[_a] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.1.5" };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvanNpaS5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2RUFBNkU7QUFDN0UsbUNBQTZCO0FBQzdCLHNDQUEwRTtBQUMxRSxvQ0FBcUM7QUFLckMsTUFBYSxXQUFZLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFDNUMsWUFBWSxPQUEyQjtRQUNuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFaEUsS0FBSyxDQUFDLElBQUEsaUJBQVMsRUFBeUIsa0NBQXlCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVqRixJQUFBLDJCQUFrQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7O0FBUEwsa0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgeyBjZGsgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcsIGpzaWlQcm9qZWN0RGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgSnNpaVByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vanNpaS1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG5leHBvcnQgeyBKc2lpUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi9qc2lpLW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCBjbGFzcyBKc2lpUHJvamVjdCBleHRlbmRzIGNkay5Kc2lpUHJvamVjdCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgbWlzZSwgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCAuLi5iYXNlT3B0aW9ucyB9ID0gb3B0aW9ucztcblxuICAgICAgICBzdXBlcihkZWVwTWVyZ2U8Y2RrLkpzaWlQcm9qZWN0T3B0aW9ucz4oanNpaVByb2plY3REZWZhdWx0T3B0aW9ucywgYmFzZU9wdGlvbnMpKTtcblxuICAgICAgICBhcHBseURlZmF1bHRDb25maWcodGhpcywgdml0ZXN0LCB2aXRlc3RPcHRpb25zLCBtaXNlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TypeScriptProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
7
+ const projen_1 = require("projen");
8
+ const config_1 = require("../config");
9
+ const utils_1 = require("../utils");
10
+ class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
11
+ constructor(options) {
12
+ const { mise, vitest, vitestOptions, ...baseOptions } = options;
13
+ super((0, utils_1.deepMerge)(config_1.typescriptProjectDefaultOptions, baseOptions));
14
+ (0, config_1.applyDefaultConfig)(this, vitest, vitestOptions, mise);
15
+ }
16
+ }
17
+ exports.TypeScriptProject = TypeScriptProject;
18
+ _a = JSII_RTTI_SYMBOL_1;
19
+ TypeScriptProject[_a] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.1.5" };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHMvdHlwZXNjcmlwdC5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2RUFBNkU7QUFDN0UsbUNBQW9DO0FBQ3BDLHNDQUFnRjtBQUNoRixvQ0FBcUM7QUFLckMsTUFBYSxpQkFBa0IsU0FBUSxtQkFBVSxDQUFDLGlCQUFpQjtJQUMvRCxZQUFZLE9BQWlDO1FBQ3pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVoRSxLQUFLLENBQUMsSUFBQSxpQkFBUyxFQUFzQyx3Q0FBK0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXBHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7QUFQTCw4Q0FRQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCB7IHR5cGVzY3JpcHQgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcsIHR5cGVzY3JpcHRQcm9qZWN0RGVmYXVsdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNjcmlwdC1vcHRpb25zLmdlbmVyYXRlZFwiO1xuXG5leHBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc2NyaXB0LW9wdGlvbnMuZ2VuZXJhdGVkXCI7XG5cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0UHJvamVjdCBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IG1pc2UsIHZpdGVzdCwgdml0ZXN0T3B0aW9ucywgLi4uYmFzZU9wdGlvbnMgfSA9IG9wdGlvbnM7XG5cbiAgICAgICAgc3VwZXIoZGVlcE1lcmdlPHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zPih0eXBlc2NyaXB0UHJvamVjdERlZmF1bHRPcHRpb25zLCBiYXNlT3B0aW9ucykpO1xuXG4gICAgICAgIGFwcGx5RGVmYXVsdENvbmZpZyh0aGlzLCB2aXRlc3QsIHZpdGVzdE9wdGlvbnMsIG1pc2UpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import type { Project, SourceCodeOptions } from "projen";
2
+ import { Component } from "projen";
3
+ export interface ProjenProjectClassOptions extends SourceCodeOptions {
4
+ /**
5
+ * The name of the generated class
6
+ */
7
+ readonly name: string;
8
+ /**
9
+ * The base class to extend (e.g., "typescript.TypeScriptProject")
10
+ */
11
+ readonly baseClass: string;
12
+ /**
13
+ * The options interface name (e.g., "TypeScriptProjectOptions")
14
+ */
15
+ readonly optionsInterface: string;
16
+ /**
17
+ * The base options type (e.g., "typescript.TypeScriptProjectOptions")
18
+ */
19
+ readonly baseOptionsType: string;
20
+ /**
21
+ * The default config constant name (e.g., "typescriptProjectDefaultOptions")
22
+ */
23
+ readonly defaultConfig: string;
24
+ /**
25
+ * Output file path
26
+ */
27
+ readonly filePath: string;
28
+ /**
29
+ * Custom options to extract from constructor
30
+ * @default ["mise", "vitest", "vitestOptions"]
31
+ */
32
+ readonly customOptions?: string[];
33
+ /**
34
+ * Indentation size
35
+ * @default 4
36
+ */
37
+ readonly indent?: number;
38
+ }
39
+ export declare class ProjenProjectClass extends Component {
40
+ private readonly options;
41
+ private renderer;
42
+ constructor(project: Project, options: ProjenProjectClassOptions);
43
+ preSynthesize(): void;
44
+ }