@horietakehiro/aws-cdk-utul 0.11.3 → 0.12.0

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.
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * as cfn_resource_types from "./lib/types/cfn-resource-types";
2
2
  export * as typed_resource from "./lib/typed-resource";
3
3
  export * as assertions from "./lib/assertions";
4
+ export * as stack_manager from "./lib/stack-manager";
package/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertions = exports.typed_resource = exports.cfn_resource_types = void 0;
3
+ exports.stack_manager = exports.assertions = exports.typed_resource = exports.cfn_resource_types = void 0;
4
4
  exports.cfn_resource_types = require("./lib/types/cfn-resource-types");
5
5
  exports.typed_resource = require("./lib/typed-resource");
6
6
  exports.assertions = require("./lib/assertions");
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBbUU7QUFDbkUseURBQXNEO0FBQ3RELGlEQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIGNmbl9yZXNvdXJjZV90eXBlcyBmcm9tXCIuL2xpYi90eXBlcy9jZm4tcmVzb3VyY2UtdHlwZXNcIlxuZXhwb3J0ICogYXMgdHlwZWRfcmVzb3VyY2UgZnJvbSBcIi4vbGliL3R5cGVkLXJlc291cmNlXCJcbmV4cG9ydCAqIGFzIGFzc2VydGlvbnMgZnJvbSBcIi4vbGliL2Fzc2VydGlvbnNcIiJdfQ==
7
+ exports.stack_manager = require("./lib/stack-manager");
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBbUU7QUFDbkUseURBQXNEO0FBQ3RELGlEQUE4QztBQUM5Qyx1REFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBjZm5fcmVzb3VyY2VfdHlwZXMgZnJvbVwiLi9saWIvdHlwZXMvY2ZuLXJlc291cmNlLXR5cGVzXCJcbmV4cG9ydCAqIGFzIHR5cGVkX3Jlc291cmNlIGZyb20gXCIuL2xpYi90eXBlZC1yZXNvdXJjZVwiXG5leHBvcnQgKiBhcyBhc3NlcnRpb25zIGZyb20gXCIuL2xpYi9hc3NlcnRpb25zXCJcbmV4cG9ydCAqIGFzIHN0YWNrX21hbmFnZXIgZnJvbSBcIi4vbGliL3N0YWNrLW1hbmFnZXJcIiJdfQ==
@@ -27,15 +27,15 @@ export declare class StackManager {
27
27
  *
28
28
  * This method waits until stack deployment gets completed.
29
29
  * @param deployStackInput
30
- * @param maxWaitTimeInMinutes the default(and minimum) value is `31`
30
+ * @param maxWaitTimeInSeconds the default values is `60 * 60 = 1hour`. Allowed minimum value is `31 seconds`
31
31
  */
32
- deployStack(deployStackInput: DeployStackInput, maxWaitTimeInMinutes?: number): Promise<void>;
32
+ deployStack(deployStackInput: DeployStackInput, maxWaitTimeInSeconds?: number): Promise<void>;
33
33
  /**
34
34
  * Destroy the stack
35
35
  * @param destroyStackInput
36
36
  * @param wait If `true`, this method waits until stack deletion complete. The default value is 'false'
37
- * @param maxWaitTimeInMinutes the default(and minimum) value is `31`. used only when parameter `wait` is set to 'true'
37
+ * @param maxWaitTimeInSeconds the default value is `60 * 60 = 1hour`. Allowed minimum value is `31 seconds`. This param will be used only when parameter `wait` is set to 'true'
38
38
  */
39
- destroyStack(destroyStackInput: DestroyStackInput, wait?: boolean, maxWaitTimeInMinutes?: number): Promise<void>;
39
+ destroyStack(destroyStackInput: DestroyStackInput, wait?: boolean, maxWaitTimeInSeconds?: number): Promise<void>;
40
40
  }
41
41
  export {};
@@ -45,15 +45,15 @@ class StackManager {
45
45
  *
46
46
  * This method waits until stack deployment gets completed.
47
47
  * @param deployStackInput
48
- * @param maxWaitTimeInMinutes the default(and minimum) value is `31`
48
+ * @param maxWaitTimeInSeconds the default values is `60 * 60 = 1hour`. Allowed minimum value is `31 seconds`
49
49
  */
50
- async deployStack(deployStackInput, maxWaitTimeInMinutes) {
51
- if (maxWaitTimeInMinutes === undefined) {
52
- console.debug("set 31 minutes as maxWaitTimeInMinutes default value");
53
- maxWaitTimeInMinutes = 31;
50
+ async deployStack(deployStackInput, maxWaitTimeInSeconds) {
51
+ if (maxWaitTimeInSeconds === undefined) {
52
+ console.debug("set 1hour as maxWaitTimeInSeconds default value");
53
+ maxWaitTimeInSeconds = 60 * 60;
54
54
  }
55
- if (maxWaitTimeInMinutes <= 30) {
56
- throw Error("maxWaitTimeInMinutes must be greater than 30");
55
+ if (maxWaitTimeInSeconds <= 30) {
56
+ throw Error("maxWaitTimeInSeconds must be greater than 30");
57
57
  }
58
58
  console.debug(`check if stack ${this.stack.stackName} exists`);
59
59
  let existStacks = [];
@@ -77,7 +77,7 @@ class StackManager {
77
77
  TemplateBody: JSON.stringify(assertions_1.Template.fromStack(this.stack)),
78
78
  }));
79
79
  console.debug(`wait until deploying of stack ${this.stack.stackName} completes`);
80
- await (0, client_cloudformation_1.waitUntilStackCreateComplete)({ client: this.client, maxWaitTime: maxWaitTimeInMinutes }, { StackName: this.stack.stackName });
80
+ await (0, client_cloudformation_1.waitUntilStackCreateComplete)({ client: this.client, maxWaitTime: maxWaitTimeInSeconds }, { StackName: this.stack.stackName });
81
81
  }
82
82
  else {
83
83
  try {
@@ -88,7 +88,7 @@ class StackManager {
88
88
  TemplateBody: JSON.stringify(assertions_1.Template.fromStack(this.stack)),
89
89
  }));
90
90
  console.debug(`wait until deploying of stack ${this.stack.stackName} completes`);
91
- await (0, client_cloudformation_1.waitUntilStackUpdateComplete)({ client: this.client, maxWaitTime: maxWaitTimeInMinutes }, { StackName: this.stack.stackName });
91
+ await (0, client_cloudformation_1.waitUntilStackUpdateComplete)({ client: this.client, maxWaitTime: maxWaitTimeInSeconds }, { StackName: this.stack.stackName });
92
92
  }
93
93
  catch (error) {
94
94
  if (error instanceof client_cloudformation_1.CloudFormationServiceException &&
@@ -105,9 +105,9 @@ class StackManager {
105
105
  * Destroy the stack
106
106
  * @param destroyStackInput
107
107
  * @param wait If `true`, this method waits until stack deletion complete. The default value is 'false'
108
- * @param maxWaitTimeInMinutes the default(and minimum) value is `31`. used only when parameter `wait` is set to 'true'
108
+ * @param maxWaitTimeInSeconds the default value is `60 * 60 = 1hour`. Allowed minimum value is `31 seconds`. This param will be used only when parameter `wait` is set to 'true'
109
109
  */
110
- async destroyStack(destroyStackInput, wait, maxWaitTimeInMinutes) {
110
+ async destroyStack(destroyStackInput, wait, maxWaitTimeInSeconds) {
111
111
  console.debug(`destroy stack ${this.stack.stackName}`);
112
112
  await this.client.send(new client_cloudformation_1.DeleteStackCommand({
113
113
  StackName: this.stack.stackName,
@@ -118,15 +118,15 @@ class StackManager {
118
118
  return;
119
119
  }
120
120
  console.debug("wait until stack deletion complets");
121
- if (maxWaitTimeInMinutes === undefined) {
122
- maxWaitTimeInMinutes = 31;
121
+ if (maxWaitTimeInSeconds === undefined) {
122
+ maxWaitTimeInSeconds = 60 * 60;
123
123
  }
124
- if (maxWaitTimeInMinutes <= 30) {
125
- throw Error("maxWaitTimeInMinutes must be greater than 30");
124
+ if (maxWaitTimeInSeconds <= 30) {
125
+ throw Error("maxWaitTimeInSeconds must be greater than 30");
126
126
  }
127
- await (0, client_cloudformation_1.waitUntilStackDeleteComplete)({ client: this.client, maxWaitTime: maxWaitTimeInMinutes }, { StackName: this.stack.stackName });
127
+ await (0, client_cloudformation_1.waitUntilStackDeleteComplete)({ client: this.client, maxWaitTime: maxWaitTimeInSeconds }, { StackName: this.stack.stackName });
128
128
  return;
129
129
  }
130
130
  }
131
131
  exports.StackManager = StackManager;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YWNrLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEVBY3dDO0FBRXhDLHVEQUFrRDtBQVFsRDs7R0FFRztBQUNILE1BQWEsWUFBWTtJQUl2Qjs7OztPQUlHO0lBQ0gsWUFBWSxLQUFlLEVBQUUsTUFBNEI7UUFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLHNCQUFzQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25ELElBQUksNkNBQXFCLENBQUM7WUFDeEIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztTQUNoQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sS0FBSyxDQUNULHVDQUF1QyxTQUFTLGVBQWUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUM1RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsb0JBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDNUUsQ0FBQztRQUNGLE1B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LENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxvQkFBb0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksb0JBQW9CLElBQUksRUFBRSxFQUFFLENBQUM7WUFDL0IsTUFBTyxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQTtRQUM5RCxDQUFDO1FBQ0QsTUFBTSxJQUFBLG9EQUE0QixFQUNoQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUMxRCxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUNwQyxDQUFDO1FBQ0YsT0FBTztJQUNULENBQUM7Q0FDRjtBQXJLRCxvQ0FxS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkNsaWVudCxcbiAgQ2xvdWRGb3JtYXRpb25TZXJ2aWNlRXhjZXB0aW9uLFxuICBDcmVhdGVTdGFja0NvbW1hbmQsXG4gIENyZWF0ZVN0YWNrQ29tbWFuZElucHV0LFxuICBEZWxldGVTdGFja0NvbW1hbmQsXG4gIERlbGV0ZVN0YWNrQ29tbWFuZElucHV0LFxuICBEZXNjcmliZVN0YWNrc0NvbW1hbmQsXG4gIFVwZGF0ZVN0YWNrQ29tbWFuZCxcbiAgVXBkYXRlU3RhY2tDb21tYW5kSW5wdXQsXG4gIHdhaXRVbnRpbFN0YWNrQ3JlYXRlQ29tcGxldGUsXG4gIHdhaXRVbnRpbFN0YWNrRGVsZXRlQ29tcGxldGUsXG4gIHdhaXRVbnRpbFN0YWNrVXBkYXRlQ29tcGxldGUsXG4gIFN0YWNrIGFzIGNmblN0YWNrLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uXCI7XG5pbXBvcnQgeyBTdGFjayBhcyBjZGtTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXNzZXJ0aW9uc1wiO1xuXG50eXBlIERlcGxveVN0YWNrSW5wdXQgPSBPbWl0PFxuICBDcmVhdGVTdGFja0NvbW1hbmRJbnB1dCB8IFVwZGF0ZVN0YWNrQ29tbWFuZElucHV0LFxuICBcIlN0YWNrTmFtZVwiXG4+O1xudHlwZSBEZXN0cm95U3RhY2tJbnB1dCA9IE9taXQ8RGVsZXRlU3RhY2tDb21tYW5kSW5wdXQsIFwiU3RhY2tOYW1lXCI+O1xuXG4vKipcbiAqIFN0YWNrIE1hbmFnZXIgbWFrZXMgaXQgZWFzaWVyIGFuZCBtb3JlIGVmZmljaWVudCB0aGF0IHlvdSBkZXBsb3koYW5kIGRlc3Ryb3kpIHN0YWNrcyB3aXRoIHNob3J0LXRlcm0tbGlmZWN5Y2xlIGR1cmFpbmcgdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja01hbmFnZXIge1xuICByZWFkb25seSBzdGFjazogY2RrU3RhY2s7XG4gIHJlYWRvbmx5IGNsaWVudDogQ2xvdWRGb3JtYXRpb25DbGllbnQ7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBzdGFjayBzdGFjayB0byBiZSBtYW5hZ2VkXG4gICAqIEBwYXJhbSBjbGllbnQgY2xvdWRmb3JtYXRpb24gc2RrIGNsaWVudCB0byB1c2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHN0YWNrOiBjZGtTdGFjaywgY2xpZW50OiBDbG91ZEZvcm1hdGlvbkNsaWVudCkge1xuICAgIHRoaXMuc3RhY2sgPSBzdGFjaztcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgc3BlY2lmaWMgb3V0cHV0IHZhbHVlIGZyb20gdGhlIHN0YWNrXG4gICAqIEBwYXJhbSBvdXRwdXRLZXkgbG9naWNhbCBpZCBvZiBPdXRwdXQgdGhhdCB5b3Ugd2FudCB0byBnZXRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIGdldFN0YWNrT3V0cHV0KG91dHB1dEtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zb2xlLmRlYnVnKGBnZXQgb3V0cHV0cyBmcm9tIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9YCk7XG4gICAgY29uc3QgZGVzY3JpYmVTdGFja3NSZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBzdGFja3MgPSBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlLlN0YWNrcyA/PyBbXTtcbiAgICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBmYWlsZWQgdG8gZ2V0IG91dHB1dCB2YWx1ZSB3aXRoIGtleSAke291dHB1dEtleX0gZnJvbSBzdGFjayAke3RoaXMuc3RhY2t9YFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgb3V0cHV0cyA9IHN0YWNrc1swXS5PdXRwdXRzID8/IFtdO1xuICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICBgb3V0cHV0cyBvZiBzdGFjayAke3RoaXMuc3RhY2suc3RhY2tOYW1lfSBhcmUgOiAke0pTT04uc3RyaW5naWZ5KG91dHB1dHMpfWBcbiAgICApO1xuICAgIGNvbnN0IG91dHB1dCA9IG91dHB1dHMuZmlsdGVyKChvKSA9PiBvLk91dHB1dEtleSA9PT0gb3V0cHV0S2V5KTtcbiAgICBpZiAob3V0cHV0Lmxlbmd0aCA9PT0gMCB8fCBvdXRwdXRbMF0uT3V0cHV0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBmYWlsZWQgdG8gZ2V0IG91dHB1dCB2YWx1ZSB3aXRoIGtleSAke291dHB1dEtleX0gZnJvbSBzdGFjayAke3RoaXMuc3RhY2t9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dFswXS5PdXRwdXRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBsb3kgdGhlIHNwZWNpZmllZCBzdGFjay5cbiAgICpcbiAgICogSWYgdGhlIHNwZWNpZmllZCBzdGFjayBoYXMgbm90IGJlZW4gY3JlYXRlZCB5ZXQsIGNyZWF0ZSBuZXcgb25lLiBJZiBhbHJlYWR5IGNyZWF0ZWQsIHVwZGF0ZSBpdC5cbiAgICpcbiAgICogVGhpcyBtZXRob2Qgd2FpdHMgdW50aWwgc3RhY2sgZGVwbG95bWVudCBnZXRzIGNvbXBsZXRlZC5cbiAgICogQHBhcmFtIGRlcGxveVN0YWNrSW5wdXRcbiAgICogQHBhcmFtIG1heFdhaXRUaW1lSW5NaW51dGVzIHRoZSBkZWZhdWx0KGFuZCBtaW5pbXVtKSB2YWx1ZSBpcyBgMzFgXG4gICAqL1xuICBhc3luYyBkZXBsb3lTdGFjayhcbiAgICBkZXBsb3lTdGFja0lucHV0OiBEZXBsb3lTdGFja0lucHV0LFxuICAgIG1heFdhaXRUaW1lSW5NaW51dGVzPzogbnVtYmVyXG4gICkge1xuICAgIGlmIChtYXhXYWl0VGltZUluTWludXRlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwic2V0IDMxIG1pbnV0ZXMgYXMgbWF4V2FpdFRpbWVJbk1pbnV0ZXMgZGVmYXVsdCB2YWx1ZVwiKTtcbiAgICAgIG1heFdhaXRUaW1lSW5NaW51dGVzID0gMzE7XG4gICAgfVxuICAgIGlmIChtYXhXYWl0VGltZUluTWludXRlcyA8PSAzMCkge1xuICAgICAgdGhyb3cgIEVycm9yKFwibWF4V2FpdFRpbWVJbk1pbnV0ZXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMzBcIilcbiAgICB9XG4gICAgY29uc29sZS5kZWJ1ZyhgY2hlY2sgaWYgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZXhpc3RzYCk7XG4gICAgbGV0IGV4aXN0U3RhY2tzOiBjZm5TdGFja1tdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlc2NyaWJlU3RhYWNrc1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBleGlzdFN0YWNrcyA9IGRlc2NyaWJlU3RhYWNrc1Jlc3BvbnNlLlN0YWNrcyA/PyBbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKFxuICAgICAgICAhKFxuICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcImRvZXMgbm90IGV4aXN0XCIpXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV4aXN0U3RhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5kZWJ1Zyhgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBuZXdgKTtcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBDcmVhdGVTdGFja0NvbW1hbmQoe1xuICAgICAgICAgIC4uLmRlcGxveVN0YWNrSW5wdXQsXG4gICAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgICBUZW1wbGF0ZUJvZHk6IEpTT04uc3RyaW5naWZ5KFRlbXBsYXRlLmZyb21TdGFjayh0aGlzLnN0YWNrKSksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgYHdhaXQgdW50aWwgZGVwbG95aW5nIG9mIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9IGNvbXBsZXRlc2BcbiAgICAgICk7XG4gICAgICBhd2FpdCB3YWl0VW50aWxTdGFja0NyZWF0ZUNvbXBsZXRlKFxuICAgICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluTWludXRlcyB9LFxuICAgICAgICB7IFN0YWNrTmFtZTogdGhpcy5zdGFjay5zdGFja05hbWUgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc29sZS5kZWJ1Zyhgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZXhpc3RzLCB1cGRhdGUgaXRgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgICBuZXcgVXBkYXRlU3RhY2tDb21tYW5kKHtcbiAgICAgICAgICAgIC4uLmRlcGxveVN0YWNrSW5wdXQsXG4gICAgICAgICAgICBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lLFxuICAgICAgICAgICAgVGVtcGxhdGVCb2R5OiBKU09OLnN0cmluZ2lmeShUZW1wbGF0ZS5mcm9tU3RhY2sodGhpcy5zdGFjaykpLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgICAgYHdhaXQgdW50aWwgZGVwbG95aW5nIG9mIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9IGNvbXBsZXRlc2BcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsU3RhY2tVcGRhdGVDb21wbGV0ZShcbiAgICAgICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluTWludXRlcyB9LFxuICAgICAgICAgIHsgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSB9XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBDbG91ZEZvcm1hdGlvblNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICBlcnJvci5tZXNzYWdlID09PSBcIk5vIHVwZGF0ZXMgYXJlIHRvIGJlIHBlcmZvcm1lZC5cIlxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKFwibm8gdXBkYXRlcyBhcmUgdG8gYmUgcGVyZm9ybWVkXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBEZXN0cm95IHRoZSBzdGFja1xuICAgKiBAcGFyYW0gZGVzdHJveVN0YWNrSW5wdXRcbiAgICogQHBhcmFtIHdhaXQgSWYgYHRydWVgLCB0aGlzIG1ldGhvZCB3YWl0cyB1bnRpbCBzdGFjayBkZWxldGlvbiBjb21wbGV0ZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2ZhbHNlJ1xuICAgKiBAcGFyYW0gbWF4V2FpdFRpbWVJbk1pbnV0ZXMgdGhlIGRlZmF1bHQoYW5kIG1pbmltdW0pIHZhbHVlIGlzIGAzMWAuIHVzZWQgb25seSB3aGVuIHBhcmFtZXRlciBgd2FpdGAgaXMgc2V0IHRvICd0cnVlJ1xuICAgKi9cbiAgYXN5bmMgZGVzdHJveVN0YWNrKFxuICAgIGRlc3Ryb3lTdGFja0lucHV0OiBEZXN0cm95U3RhY2tJbnB1dCxcbiAgICB3YWl0PzogYm9vbGVhbixcbiAgICBtYXhXYWl0VGltZUluTWludXRlcz86IG51bWJlclxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmRlYnVnKGBkZXN0cm95IHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9YCk7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgIG5ldyBEZWxldGVTdGFja0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lLFxuICAgICAgICAuLi5kZXN0cm95U3RhY2tJbnB1dCxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBpZiAoIXdhaXQgfHwgd2FpdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwicmV0dXJuIGFzeW5jaHJvbm91c2x5XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUuZGVidWcoXCJ3YWl0IHVudGlsIHN0YWNrIGRlbGV0aW9uIGNvbXBsZXRzXCIpO1xuICAgIGlmIChtYXhXYWl0VGltZUluTWludXRlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBtYXhXYWl0VGltZUluTWludXRlcyA9IDMxO1xuICAgIH1cbiAgICBpZiAobWF4V2FpdFRpbWVJbk1pbnV0ZXMgPD0gMzApIHtcbiAgICAgIHRocm93ICBFcnJvcihcIm1heFdhaXRUaW1lSW5NaW51dGVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDMwXCIpXG4gICAgfVxuICAgIGF3YWl0IHdhaXRVbnRpbFN0YWNrRGVsZXRlQ29tcGxldGUoXG4gICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluTWludXRlcyB9LFxuICAgICAgeyBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lIH1cbiAgICApO1xuICAgIHJldHVybjtcbiAgfVxufVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YWNrLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEVBY3dDO0FBRXhDLHVEQUFrRDtBQVFsRDs7R0FFRztBQUNILE1BQWEsWUFBWTtJQUl2Qjs7OztPQUlHO0lBQ0gsWUFBWSxLQUFlLEVBQUUsTUFBNEI7UUFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLHNCQUFzQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25ELElBQUksNkNBQXFCLENBQUM7WUFDeEIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztTQUNoQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sS0FBSyxDQUNULHVDQUF1QyxTQUFTLGVBQWUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUM1RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsb0JBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDNUUsQ0FBQztRQUNGLE1B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LENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3BELElBQUksb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkMsb0JBQW9CLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxvQkFBb0IsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFPLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO1FBQzlELENBQUM7UUFDRCxNQUFNLElBQUEsb0RBQTRCLEVBQ2hDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLEVBQzFELEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQ3BDLENBQUM7UUFDRixPQUFPO0lBQ1QsQ0FBQztDQUNGO0FBcktELG9DQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICBDbG91ZEZvcm1hdGlvblNlcnZpY2VFeGNlcHRpb24sXG4gIENyZWF0ZVN0YWNrQ29tbWFuZCxcbiAgQ3JlYXRlU3RhY2tDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVN0YWNrQ29tbWFuZCxcbiAgRGVsZXRlU3RhY2tDb21tYW5kSW5wdXQsXG4gIERlc2NyaWJlU3RhY2tzQ29tbWFuZCxcbiAgVXBkYXRlU3RhY2tDb21tYW5kLFxuICBVcGRhdGVTdGFja0NvbW1hbmRJbnB1dCxcbiAgd2FpdFVudGlsU3RhY2tDcmVhdGVDb21wbGV0ZSxcbiAgd2FpdFVudGlsU3RhY2tEZWxldGVDb21wbGV0ZSxcbiAgd2FpdFVudGlsU3RhY2tVcGRhdGVDb21wbGV0ZSxcbiAgU3RhY2sgYXMgY2ZuU3RhY2ssXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb25cIjtcbmltcG9ydCB7IFN0YWNrIGFzIGNka1N0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5cbnR5cGUgRGVwbG95U3RhY2tJbnB1dCA9IE9taXQ8XG4gIENyZWF0ZVN0YWNrQ29tbWFuZElucHV0IHwgVXBkYXRlU3RhY2tDb21tYW5kSW5wdXQsXG4gIFwiU3RhY2tOYW1lXCJcbj47XG50eXBlIERlc3Ryb3lTdGFja0lucHV0ID0gT21pdDxEZWxldGVTdGFja0NvbW1hbmRJbnB1dCwgXCJTdGFja05hbWVcIj47XG5cbi8qKlxuICogU3RhY2sgTWFuYWdlciBtYWtlcyBpdCBlYXNpZXIgYW5kIG1vcmUgZWZmaWNpZW50IHRoYXQgeW91IGRlcGxveShhbmQgZGVzdHJveSkgc3RhY2tzIHdpdGggc2hvcnQtdGVybS1saWZlY3ljbGUgZHVyYWluZyB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNrTWFuYWdlciB7XG4gIHJlYWRvbmx5IHN0YWNrOiBjZGtTdGFjaztcbiAgcmVhZG9ubHkgY2xpZW50OiBDbG91ZEZvcm1hdGlvbkNsaWVudDtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHN0YWNrIHN0YWNrIHRvIGJlIG1hbmFnZWRcbiAgICogQHBhcmFtIGNsaWVudCBjbG91ZGZvcm1hdGlvbiBzZGsgY2xpZW50IHRvIHVzZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc3RhY2s6IGNka1N0YWNrLCBjbGllbnQ6IENsb3VkRm9ybWF0aW9uQ2xpZW50KSB7XG4gICAgdGhpcy5zdGFjayA9IHN0YWNrO1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBzcGVjaWZpYyBvdXRwdXQgdmFsdWUgZnJvbSB0aGUgc3RhY2tcbiAgICogQHBhcmFtIG91dHB1dEtleSBsb2dpY2FsIGlkIG9mIE91dHB1dCB0aGF0IHlvdSB3YW50IHRvIGdldFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYXN5bmMgZ2V0U3RhY2tPdXRwdXQob3V0cHV0S2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGdldCBvdXRwdXRzIGZyb20gc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX1gKTtcbiAgICBjb25zdCBkZXNjcmliZVN0YWNrc1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lLFxuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IHN0YWNrcyA9IGRlc2NyaWJlU3RhY2tzUmVzcG9uc2UuU3RhY2tzID8/IFtdO1xuICAgIGlmIChzdGFja3MubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYGZhaWxlZCB0byBnZXQgb3V0cHV0IHZhbHVlIHdpdGgga2V5ICR7b3V0cHV0S2V5fSBmcm9tIHN0YWNrICR7dGhpcy5zdGFja31gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBvdXRwdXRzID0gc3RhY2tzWzBdLk91dHB1dHMgPz8gW107XG4gICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgIGBvdXRwdXRzIG9mIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9IGFyZSA6ICR7SlNPTi5zdHJpbmdpZnkob3V0cHV0cyl9YFxuICAgICk7XG4gICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0cy5maWx0ZXIoKG8pID0+IG8uT3V0cHV0S2V5ID09PSBvdXRwdXRLZXkpO1xuICAgIGlmIChvdXRwdXQubGVuZ3RoID09PSAwIHx8IG91dHB1dFswXS5PdXRwdXRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYGZhaWxlZCB0byBnZXQgb3V0cHV0IHZhbHVlIHdpdGgga2V5ICR7b3V0cHV0S2V5fSBmcm9tIHN0YWNrICR7dGhpcy5zdGFja31gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gb3V0cHV0WzBdLk91dHB1dFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcGxveSB0aGUgc3BlY2lmaWVkIHN0YWNrLlxuICAgKlxuICAgKiBJZiB0aGUgc3BlY2lmaWVkIHN0YWNrIGhhcyBub3QgYmVlbiBjcmVhdGVkIHlldCwgY3JlYXRlIG5ldyBvbmUuIElmIGFscmVhZHkgY3JlYXRlZCwgdXBkYXRlIGl0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCB3YWl0cyB1bnRpbCBzdGFjayBkZXBsb3ltZW50IGdldHMgY29tcGxldGVkLlxuICAgKiBAcGFyYW0gZGVwbG95U3RhY2tJbnB1dFxuICAgKiBAcGFyYW0gbWF4V2FpdFRpbWVJblNlY29uZHMgdGhlIGRlZmF1bHQgdmFsdWVzIGlzIGA2MCAqIDYwID0gMWhvdXJgLiBBbGxvd2VkIG1pbmltdW0gdmFsdWUgaXMgYDMxIHNlY29uZHNgXG4gICAqL1xuICBhc3luYyBkZXBsb3lTdGFjayhcbiAgICBkZXBsb3lTdGFja0lucHV0OiBEZXBsb3lTdGFja0lucHV0LFxuICAgIG1heFdhaXRUaW1lSW5TZWNvbmRzPzogbnVtYmVyXG4gICkge1xuICAgIGlmIChtYXhXYWl0VGltZUluU2Vjb25kcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwic2V0IDFob3VyIGFzIG1heFdhaXRUaW1lSW5TZWNvbmRzIGRlZmF1bHQgdmFsdWVcIik7XG4gICAgICBtYXhXYWl0VGltZUluU2Vjb25kcyA9IDYwICogNjA7XG4gICAgfVxuICAgIGlmIChtYXhXYWl0VGltZUluU2Vjb25kcyA8PSAzMCkge1xuICAgICAgdGhyb3cgIEVycm9yKFwibWF4V2FpdFRpbWVJblNlY29uZHMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMzBcIilcbiAgICB9XG4gICAgY29uc29sZS5kZWJ1ZyhgY2hlY2sgaWYgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZXhpc3RzYCk7XG4gICAgbGV0IGV4aXN0U3RhY2tzOiBjZm5TdGFja1tdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlc2NyaWJlU3RhYWNrc1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBleGlzdFN0YWNrcyA9IGRlc2NyaWJlU3RhYWNrc1Jlc3BvbnNlLlN0YWNrcyA/PyBbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKFxuICAgICAgICAhKFxuICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgQ2xvdWRGb3JtYXRpb25TZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcImRvZXMgbm90IGV4aXN0XCIpXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV4aXN0U3RhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5kZWJ1Zyhgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZG9lcyBub3QgZXhpc3QsIGNyZWF0ZSBuZXdgKTtcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICAgIG5ldyBDcmVhdGVTdGFja0NvbW1hbmQoe1xuICAgICAgICAgIC4uLmRlcGxveVN0YWNrSW5wdXQsXG4gICAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgICBUZW1wbGF0ZUJvZHk6IEpTT04uc3RyaW5naWZ5KFRlbXBsYXRlLmZyb21TdGFjayh0aGlzLnN0YWNrKSksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgYHdhaXQgdW50aWwgZGVwbG95aW5nIG9mIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9IGNvbXBsZXRlc2BcbiAgICAgICk7XG4gICAgICBhd2FpdCB3YWl0VW50aWxTdGFja0NyZWF0ZUNvbXBsZXRlKFxuICAgICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluU2Vjb25kcyB9LFxuICAgICAgICB7IFN0YWNrTmFtZTogdGhpcy5zdGFjay5zdGFja05hbWUgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc29sZS5kZWJ1Zyhgc3RhY2sgJHt0aGlzLnN0YWNrLnN0YWNrTmFtZX0gZXhpc3RzLCB1cGRhdGUgaXRgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgICBuZXcgVXBkYXRlU3RhY2tDb21tYW5kKHtcbiAgICAgICAgICAgIC4uLmRlcGxveVN0YWNrSW5wdXQsXG4gICAgICAgICAgICBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lLFxuICAgICAgICAgICAgVGVtcGxhdGVCb2R5OiBKU09OLnN0cmluZ2lmeShUZW1wbGF0ZS5mcm9tU3RhY2sodGhpcy5zdGFjaykpLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgICAgYHdhaXQgdW50aWwgZGVwbG95aW5nIG9mIHN0YWNrICR7dGhpcy5zdGFjay5zdGFja05hbWV9IGNvbXBsZXRlc2BcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgd2FpdFVudGlsU3RhY2tVcGRhdGVDb21wbGV0ZShcbiAgICAgICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluU2Vjb25kcyB9LFxuICAgICAgICAgIHsgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSB9XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBDbG91ZEZvcm1hdGlvblNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICBlcnJvci5tZXNzYWdlID09PSBcIk5vIHVwZGF0ZXMgYXJlIHRvIGJlIHBlcmZvcm1lZC5cIlxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKFwibm8gdXBkYXRlcyBhcmUgdG8gYmUgcGVyZm9ybWVkXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBEZXN0cm95IHRoZSBzdGFja1xuICAgKiBAcGFyYW0gZGVzdHJveVN0YWNrSW5wdXRcbiAgICogQHBhcmFtIHdhaXQgSWYgYHRydWVgLCB0aGlzIG1ldGhvZCB3YWl0cyB1bnRpbCBzdGFjayBkZWxldGlvbiBjb21wbGV0ZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2ZhbHNlJ1xuICAgKiBAcGFyYW0gbWF4V2FpdFRpbWVJblNlY29uZHMgdGhlIGRlZmF1bHQgdmFsdWUgaXMgYDYwICogNjAgPSAxaG91cmAuIEFsbG93ZWQgbWluaW11bSB2YWx1ZSBpcyBgMzEgc2Vjb25kc2AuIFRoaXMgcGFyYW0gd2lsbCBiZSB1c2VkIG9ubHkgd2hlbiBwYXJhbWV0ZXIgYHdhaXRgIGlzIHNldCB0byAndHJ1ZSdcbiAgICovXG4gIGFzeW5jIGRlc3Ryb3lTdGFjayhcbiAgICBkZXN0cm95U3RhY2tJbnB1dDogRGVzdHJveVN0YWNrSW5wdXQsXG4gICAgd2FpdD86IGJvb2xlYW4sXG4gICAgbWF4V2FpdFRpbWVJblNlY29uZHM/OiBudW1iZXJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5kZWJ1ZyhgZGVzdHJveSBzdGFjayAke3RoaXMuc3RhY2suc3RhY2tOYW1lfWApO1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICBuZXcgRGVsZXRlU3RhY2tDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgLi4uZGVzdHJveVN0YWNrSW5wdXQsXG4gICAgICB9KVxuICAgICk7XG4gICAgaWYgKCF3YWl0IHx8IHdhaXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhcInJldHVybiBhc3luY2hyb25vdXNseVwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKFwid2FpdCB1bnRpbCBzdGFjayBkZWxldGlvbiBjb21wbGV0c1wiKTtcbiAgICBpZiAobWF4V2FpdFRpbWVJblNlY29uZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWF4V2FpdFRpbWVJblNlY29uZHMgPSA2MCAqIDYwO1xuICAgIH1cbiAgICBpZiAobWF4V2FpdFRpbWVJblNlY29uZHMgPD0gMzApIHtcbiAgICAgIHRocm93ICBFcnJvcihcIm1heFdhaXRUaW1lSW5TZWNvbmRzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDMwXCIpXG4gICAgfVxuICAgIGF3YWl0IHdhaXRVbnRpbFN0YWNrRGVsZXRlQ29tcGxldGUoXG4gICAgICB7IGNsaWVudDogdGhpcy5jbGllbnQsIG1heFdhaXRUaW1lOiBtYXhXYWl0VGltZUluU2Vjb25kcyB9LFxuICAgICAgeyBTdGFja05hbWU6IHRoaXMuc3RhY2suc3RhY2tOYW1lIH1cbiAgICApO1xuICAgIHJldHVybjtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@horietakehiro/aws-cdk-utul",
3
3
  "license": "MIT",
4
- "version": "0.11.3",
4
+ "version": "0.12.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/horietakehiro/aws-cdk-utul"