@netforbpo/aws-cdk-aws-connect-lib 0.2.8 → 0.2.9

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/.jsii CHANGED
@@ -16292,6 +16292,6 @@
16292
16292
  "symbolId": "src/user:UserProps"
16293
16293
  }
16294
16294
  },
16295
- "version": "0.2.8",
16296
- "fingerprint": "2ON7Z4CSmDoSkKVaYD8EIMwm2G1lSapYhwz6Ja2s+VI="
16295
+ "version": "0.2.9",
16296
+ "fingerprint": "5w6ghygaL+e1VDXyKmprJiS+iG+XxLdzB9JE+dlvq/w="
16297
16297
  }
package/CHANGELOG.md CHANGED
@@ -1,4 +1,10 @@
1
1
 
2
+ ## [0.2.8](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.7...v0.2.8) (2026-10-12)
3
+
4
+ ### Features
5
+
6
+ * expose dataTableId from the data table class ([85378e3](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/85378e308077c3ec8954d4d29880d3907604a1e7))
7
+
2
8
  ## [0.2.7](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.6...v0.2.7) (2026-10-12)
3
9
 
4
10
  ### Features
@@ -39,7 +39,7 @@ def on_update(event):
39
39
  old_instance_id = old_props.get('InstanceId')
40
40
  if not instance_id:
41
41
  raise Exception('Invalid request: missing InstanceId')
42
- if instance_id != old_instance_id:
42
+ if instance_id.split('/')[-1] != old_instance_id.split('/')[-1]:
43
43
  raise Exception('Cannot change InstanceId on update')
44
44
 
45
45
  attributes = props.get('CustomAttributes', {})
@@ -58,7 +58,7 @@ var ContactFlowType;
58
58
  ContactFlowType["CAMPAIGN"] = "CAMPAIGN";
59
59
  })(ContactFlowType || (exports.ContactFlowType = ContactFlowType = {}));
60
60
  class ContactFlow extends aws_cdk_lib_1.Resource {
61
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.8" };
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.9" };
62
62
  static fromLookup(scope, id, options) {
63
63
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
64
64
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowName)
@@ -44,7 +44,7 @@ var ContactFlowModuleState;
44
44
  ContactFlowModuleState["ARCHIVED"] = "ARCHIVED";
45
45
  })(ContactFlowModuleState || (exports.ContactFlowModuleState = ContactFlowModuleState = {}));
46
46
  class ContactFlowModule extends aws_cdk_lib_1.Resource {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.8" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.9" };
48
48
  static fromLookup(scope, id, options) {
49
49
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowModuleName)
package/lib/data_table.js CHANGED
@@ -132,7 +132,7 @@ class DataTableBase extends aws_cdk_lib_1.Resource {
132
132
  }
133
133
  }
134
134
  class DataTable extends DataTableBase {
135
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.8" };
135
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.9" };
136
136
  static fromLookup(scope, id, options) {
137
137
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
138
138
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -4,7 +4,7 @@ exports.EmailAddress = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  class EmailAddress extends aws_cdk_lib_1.Resource {
7
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.8" };
7
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.9" };
8
8
  resource;
9
9
  constructor(scope, id, props) {
10
10
  super(scope, id);
@@ -50,7 +50,7 @@ var HoursOfOperationDayOfWeek;
50
50
  HoursOfOperationDayOfWeek["SATURDAY"] = "SATURDAY";
51
51
  })(HoursOfOperationDayOfWeek || (exports.HoursOfOperationDayOfWeek = HoursOfOperationDayOfWeek = {}));
52
52
  class HoursOfOperationDefinition {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.8" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.9" };
54
54
  static dayOfWeek(day, startTime, endTime) {
55
55
  return new HoursOfOperationDefinition({ config: { dayOfWeek: day, startTime: startTime, endTime: endTime } });
56
56
  }
@@ -83,7 +83,7 @@ class HoursOfOperationDefinition {
83
83
  }
84
84
  exports.HoursOfOperationDefinition = HoursOfOperationDefinition;
85
85
  class HoursOfOperation extends aws_cdk_lib_1.Resource {
86
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.8" };
86
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.9" };
87
87
  static fromLookup(scope, id, options) {
88
88
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
89
89
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/lib/instance.js CHANGED
@@ -104,7 +104,7 @@ const DUMMY_INSTANCE_PROPS = {
104
104
  instanceId: 'instance-12345',
105
105
  };
106
106
  class Instance extends InstanceBase {
107
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.8" };
107
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.9" };
108
108
  static fromLookup(scope, id, options) {
109
109
  if (aws_cdk_lib_1.Token.isUnresolved(options.instanceId)
110
110
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceName)
@@ -182,7 +182,7 @@ class Instance extends InstanceBase {
182
182
  return this.resource.attrArn;
183
183
  }
184
184
  get instanceId() {
185
- return this.resource.ref;
185
+ return this.resource.attrId;
186
186
  }
187
187
  }
188
188
  exports.Instance = Instance;
@@ -231,4 +231,4 @@ class UpdateInstanceAttributes extends constructs_1.Construct {
231
231
  });
232
232
  }
233
233
  }
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FhcUI7QUFDckIsNEVBQThEO0FBQzlELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMkNBQXVDO0FBR3ZDLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyx1Q0FBYSxDQUFBO0lBQ2IsNkRBQW1DLENBQUE7SUFDbkMsbUVBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQUpXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBSWpDO0FBc0pELE1BQWUsWUFBYSxTQUFRLHNCQUFRO0lBS2xDLG9CQUFvQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xELGFBQWEsQ0FBaUI7SUFFL0MsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUIsRUFBRSxhQUE2QjtRQUN0RyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBcUIsRUFBRSxLQUF5QixTQUFTLEVBQUUsUUFBK0IsU0FBUztRQUNsSCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdkQseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLDBCQUEwQixNQUFNLENBQUMsWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2hHLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzFCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FB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Q0FBQyxlQUFlLENBQUM7WUFDaEQsTUFBTSxFQUFFLHFCQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLHNCQUFzQjtnQkFDdEIsbUJBQW1CO2FBQ3BCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULGdCQUFFLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDO2FBQ3JHO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hELFlBQVksRUFBRSx5Q0FBeUM7WUFDdkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQy9CLGdCQUFnQixFQUFFLFVBQVU7YUFDN0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEFubm90YXRpb25zLFxuICBjdXN0b21fcmVzb3VyY2VzIGFzIGNyLFxuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xleCBhcyBsZXgsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBDb250ZXh0UHJvdmlkZXIsIEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbixcbiAgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5LFxuICBSZXNvdXJjZSwgUmVzb3VyY2VQcm9wcyxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvciwgRm4sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTdG9yYWdlQ29uZmlnLCBTdG9yYWdlUmVzb3VyY2VUeXBlIH0gZnJvbSAnLi9zdG9yYWdlX2NvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIElkZW50aXR5TWFuYWdlbWVudFR5cGUge1xuICBTQU1MID0gJ1NBTUwnLFxuICBDT05ORUNUX01BTkFHRUQgPSAnQ09OTkVDVF9NQU5BR0VEJyxcbiAgRVhJU1RJTkdfRElSRUNUT1JZID0gJ0VYSVNUSU5HX0RJUkVDVE9SWScsXG59XG5cbi8qKlxuICogQWxsIG90aGVyIGNvbmZpZyBwcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE90aGVyQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGZsb3cgbG9ncyBhcmUgZW5hYmxlZC4gKENPTlRBQ1RGTE9XX0xPR1MpXG4gICAqL1xuICByZWFkb25seSBjb250YWN0Zmxvd0xvZ3M/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGxlbnMgaXMgZW5hYmxlZC4gKENPTlRBQ1RfTEVOUylcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RMZW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVzc2FnZSBzdHJlYW1pbmcgaXMgZW5hYmxlZC4gKE1FU1NBR0VfU1RSRUFNSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVN0cmVhbWluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNoYXQgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ0hBVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDaGF0TW9uaXRvcmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGhpZ2ggdm9sdW1lIG91dGJvdW5kIGlzIGVuYWJsZWQuIChISUdIX1ZPTFVNRV9PVVRCT1VORClcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hWb2x1bWVPdXRCb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNvbnRhY3QgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ09OVEFDVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDb250YWN0TW9uaXRvcmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVsZXBob255Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBlYXJseSBtZWRpYSBpcyBlbmFibGVkIChFQVJMWV9NRURJQSlcbiAgICovXG4gIHJlYWRvbmx5IGVhcmx5TWVkaWFFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgaW5ib3VuZCBjYWxscyBhcmUgYWxsb3dlZC4gKElOQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBpbmJvdW5kQ2FsbHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNoYXQgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NIQVRfQ09ORkVSRU5DRSlcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpUGFydHlDaGF0Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNvbmZlcmVuY2UgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NPTkZFUkVOQ0UpXG4gICAqL1xuICByZWFkb25seSBtdWx0aVBhcnR5Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG91dGJvdW5kIGNhbGxzIGFyZSBhbGxvd2VkLiAoT1VUQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBvdXRib3VuZENhbGxzOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGx5Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHJlc29sdmUgYmVzdCB2b2ljZXMuIChBVVRPX1JFU09MVkVfQkVTVF9WT0lDRVMpXG4gICAqL1xuICByZWFkb25seSBhdXRvUmVzb2x2ZUJlc3RWb2ljZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB1c2VDdXN0b21UdHNWb2ljZXMgaXMgZW5hYmxlZCAoVVNFX0NVU1RPTV9UVFNfVk9JQ0VTKVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3VzdG9tVHRzVm9pY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGl0eSB0eXBlIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlUeXBlOiBJZGVudGl0eU1hbmFnZW1lbnRUeXBlO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGFsaWFzLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gQ09OTkVDVF9NQU5BR0VEIG9yIFNBTUwuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUFsaWFzPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgYSBzaW1wbGVBRCBvciBNaWNyb3NvZnQgQUQgKF5kLVswLTlhLWZdezEwfSQpLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gRVhJU1RJTkdfRElSRUNUT1JZLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZWxlcGhvbnkgcHJvcGVydGllcy4gIFJlcXVpcmVkIChkdWUgdG8gcmVxdWlyZWQgc2V0dGluZyBvZiBpbmJvdW5kICYgb3V0Ym91bmQgY2FsbCBjb25maWd1cmF0aW9uKVxuICAgKi9cbiAgcmVhZG9ubHkgdGVsZXBob255Q29uZmlnOiBUZWxlcGhvbnlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFBvbGx5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IHBvbGx5Q29uZmlnPzogUG9sbHlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIE90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IG90aGVyQ29uZmlnPzogT3RoZXJDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIERlZmluZSBhbnkgb3RoZXIgaW5zdGFuY2UgYXR0cmlidXRlIGNvbmZpZyBoZXJlLlxuICAgKlxuICAgKiBjdXJyZW50bHkgdGhhdCBsaXN0IGlzIHRoZSBmb2xsb3dpbmc6XG4gICAqXG4gICAqIEFVVE9fTVVURV9BR0VOVF9PTl9IT0xEXG4gICAqIEFVVE9NQVRFRF9JTlRFUkFDVElPTl9MT0dcbiAgICogQk9UX01BTkFHRU1FTlRcbiAgICogRU5BQkxFX0JPVF9BTkFMWVRJQ1NfQU5EX1RSQU5TQ1JJUFRTXG4gICAqIEZPUkVDQVNUSU5HX1BMQU5OSU5HX1NDSEVEVUxJTkdcbiAgICogTUFYX1BBQ0tBR0VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgY29uZmlndXJhdGlvbnMgKGNhbiBhbHNvIHVzZSBhZGRTdG9yYWdlQ29uZmlnKCkgdG8gYWRkIGNvbmZpZ3MgbGF0ZXIpXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQ29uZmlncz86IFN0b3JhZ2VDb25maWdbXTtcbiAgLyoqXG4gICAqIFNldCB0aGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBpbnN0YW5jZS4gdGhlIGRlZmF1bHQgaXMgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUluc3RhbmNlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG5hbWUuICBNYXkgbm90IGFsd2F5cyBiZSBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGFtYmRhRnVuY3Rpb24oaWQ6IHN0cmluZywgZnVuYzogbGFtYmRhLklGdW5jdGlvbiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGV4Qm90KGlkOiBzdHJpbmcsIGJvdDogbGV4LklCb3RBbGlhc1JlZiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VMb29rdXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIHRoZSBJRCBvZiB0aGUgY29ubmVjdCBpbnN0YW5jZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0IGluc3RhbmNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBBcm5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBJbnN0YW5jZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJbnN0YW5jZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3RvcmFnZVJlc291cmNlVHlwZXM6IFNldDxTdG9yYWdlUmVzb3VyY2VUeXBlPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZXNvdXJjZVByb3BzLCByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHJlbW92YWxQb2xpY3k7XG4gIH1cblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmhhcyhjb25maWcucmVzb3VyY2VUeXBlKSkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoYER1cGxpY2F0ZSByZXNvdXJjZVR5cGUgJHtjb25maWcucmVzb3VyY2VUeXBlfSBpbiBzdG9yYWdlQ29uZmlnYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY29uZmlnLmNoZWNrQ29uZmlnKCkpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZEVycm9yKGBJbnZhbGlkIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2VUeXBlICR7Y29uZmlnLnJlc291cmNlVHlwZX0gYW5kIHN0b3JhZ2VUeXBlICR7Y29uZmlnLnN0b3JhZ2VUeXBlfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmFkZChjb25maWcucmVzb3VyY2VUeXBlKTtcbiAgICBjb25zdCBzdG9yYWdlID0gbmV3IGNvbm5lY3QuQ2ZuSW5zdGFuY2VTdG9yYWdlQ29uZmlnKHNjb3BlIHx8IHRoaXMsIGlkIHx8IGBTdG9yYWdlQ29uZmlnLSR7Y29uZmlnLnJlc291cmNlVHlwZX1gLCBjb25maWcuYXNTdG9yYWdlQ29uZmlnUHJvcHModGhpcy5pbnN0YW5jZUFybikpO1xuICAgIHN0b3JhZ2UuYXBwbHlSZW1vdmFsUG9saWN5KGNvbmZpZy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IHRoaXMucmVtb3ZhbFBvbGljeSB8fCBSZW1vdmFsUG9saWN5LkRFU1RST1kgfSk7XG4gIH1cblxuICBhc3NvY2lhdGVMYW1iZGFGdW5jdGlvbihpZDogc3RyaW5nLCBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uLCBzY29wZTogQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgbmV3IGNvbm5lY3QuQ2ZuSW50ZWdyYXRpb25Bc3NvY2lhdGlvbihzY29wZSB8fCB0aGlzLCBpZCwge1xuICAgICAgaW5zdGFuY2VJZDogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgIGludGVncmF0aW9uVHlwZTogJ0xBTUJEQV9GVU5DVElPTicsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogZnVuYy5mdW5jdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIGFzc29jaWF0ZUxleEJvdChpZDogc3RyaW5nLCBib3Q6IGxleC5JQm90QWxpYXNSZWYsIHNjb3BlOiBDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICBuZXcgY29ubmVjdC5DZm5JbnRlZ3JhdGlvbkFzc29jaWF0aW9uKHNjb3BlIHx8IHRoaXMsIGlkLCB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgaW50ZWdyYXRpb25UeXBlOiAnTEVYX0JPVCcsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogYm90LmJvdEFsaWFzUmVmLmJvdEFsaWFzQXJuLFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwSW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gcHJvcHMuaW5zdGFuY2VJZDtcbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZU5hbWU7XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG5jb25zdCBEVU1NWV9JTlNUQU5DRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBpbnN0YW5jZUlkOiAnaW5zdGFuY2UtMTIzNDUnLFxufTtcblxuZXhwb3J0IGNsYXNzIEluc3RhbmNlIGV4dGVuZHMgSW5zdGFuY2VCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEluc3RhbmNlTG9va3VwT3B0aW9ucyk6IElJbnN0YW5jZSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlSWQpXG4gICAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlTmFtZSlcbiAgICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBJbnN0YW5jZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuaW5zdGFuY2VBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmluc3RhbmNlQXJuO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluc3RhbmNlSWQpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLklkID0gb3B0aW9ucy5pbnN0YW5jZUlkO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbnN0YW5jZU5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLkluc3RhbmNlQWxpYXMgPSBvcHRpb25zLmluc3RhbmNlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6SW5zdGFuY2UnLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHByb3BlcnRpZXNUb1JldHVybjogWydBcm4nLCAnSW5zdGFuY2VBbGlhcycsICdJZCddLFxuICAgICAgICBleHBlY3RlZE1hdGNoQ291bnQ6ICdleGFjdGx5LW9uZScsXG4gICAgICB9IGFzIGN4c2NoZW1hLkNjQXBpQ29udGV4dFF1ZXJ5LFxuICAgICAgZHVtbXlWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0pLnZhbHVlO1xuXG4gICAgbGV0IGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVswXSkge1xuICAgICAgaW5zdGFuY2UgPSB7XG4gICAgICAgIGluc3RhbmNlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIGluc3RhbmNlSWQ6IHJlc3BvbnNlWzBdLklkLFxuICAgICAgICBpbnN0YW5jZU5hbWU6IHJlc3BvbnNlWzBdLkluc3RhbmNlQWxpYXMsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwSW5zdGFuY2Uoc2NvcGUsIGlkLCBpbnN0YW5jZSA/PyBEVU1NWV9JTlNUQU5DRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkluc3RhbmNlO1xuICByZWFkb25seSBpbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHVuZGVmaW5lZCwgcHJvcHMucmVtb3ZhbFBvbGljeSk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgLi4ucHJvcHMudGVsZXBob255Q29uZmlnLFxuICAgICAgLi4ucHJvcHMucG9sbHlDb25maWcsXG4gICAgICAuLi5wcm9wcy5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmlkZW50aXR5VHlwZSA9PT0gSWRlbnRpdHlNYW5hZ2VtZW50VHlwZS5FWElTVElOR19ESVJFQ1RPUlkgJiYgIXByb3BzLmRpcmVjdG9yeUlkKSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcignZGlyZWN0b3J5SWQgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIEVYSVNUSU5HX0RJUkVDVE9SWScpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaWRlbnRpdHlUeXBlICE9PSBJZGVudGl0eU1hbmFnZW1lbnRUeXBlLkVYSVNUSU5HX0RJUkVDVE9SWSAmJiAhcHJvcHMuaW5zdGFuY2VBbGlhcykge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoJ2luc3RhbmNlQWxpYXMgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIENPTk5FQ1RfTUFOQUdFRCBvciBTQU1MJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZUFsaWFzO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5JbnN0YW5jZSh0aGlzLCAnSW5zdGFuY2UnLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgaWRlbnRpdHlNYW5hZ2VtZW50VHlwZTogcHJvcHMuaWRlbnRpdHlUeXBlLFxuICAgICAgaW5zdGFuY2VBbGlhczogcHJvcHMuaW5zdGFuY2VBbGlhcyxcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IFJlbW92YWxQb2xpY3kuREVTVFJPWSB9KTtcblxuICAgIGlmIChwcm9wcy5zdG9yYWdlQ29uZmlncykge1xuICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgcHJvcHMuc3RvcmFnZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy5hZGRTdG9yYWdlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUF0dHJpYnV0ZXMgJiYgT2JqZWN0LmtleXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXR1cEN1c3RvbUF0dHJpYnV0ZXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEN1c3RvbUF0dHJpYnV0ZXMoY3VzdG9tQXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pIHtcbiAgICBuZXcgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzKHRoaXMsICdVcGRhdGVDdXN0b21BdHRyaWJ1dGVzJywgdGhpcywgY3VzdG9tQXR0cmlidXRlcyk7XG4gIH1cblxuICBnZXQgaW5zdGFuY2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hdHRyQXJuO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5yZWY7XG4gIH1cbn1cblxuY2xhc3MgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCA9ICdjYjJmNmI1Yy1mMGFhLTExZjAtYWMxMC01YjQ4NDgyNzE0NWMnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGluc3RhbmNlOiBJSW5zdGFuY2UsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNldHVwRnVuYyA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbUF0dHJpYnV0ZUZ1bmMnLCB7XG4gICAgICB1dWlkOiBVcGRhdGVJbnN0YW5jZUF0dHJpYnV0ZXMuQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b21BdHRyaWJ1dGVTZXR1cCcsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6ICdhcHAub25fZXZlbnQnLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsYW1iZGFzJywgJ2luc3RhbmNlX2F0dHJpYnV0ZXMnKSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnQ3VzdG9tQXR0cmlidXRlTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ0N1c3RvbUF0dHJpYnV0ZVByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNldHVwRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBncm91cCxcbiAgICB9KTtcblxuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydjb25uZWN0OlVwZGF0ZUluc3RhbmNlQXR0cmlidXRlJ10sXG4gICAgICByZXNvdXJjZXM6IFtpbnN0YW5jZS5pbnN0YW5jZUFybl0sXG4gICAgfSkpO1xuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnaWFtOkRlbGV0ZVJvbGVQb2xpY3knLFxuICAgICAgICAnaWFtOlB1dFJvbGVQb2xpY3knLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBGbi5zdWIoJ2Fybjoke0FXUzo6UGFydGl0aW9ufTppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvYXdzLXNlcnZpY2Utcm9sZS9jb25uZWN0LmFtYXpvbmF3cy5jb20vKicpLFxuICAgICAgXSxcbiAgICB9KSk7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1NldHVwQ3VzdG9tQXR0cmlidXRlcycsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q29ubmVjdEluc3RhbmNlQ3VzdG9tQXR0cmlidXRlcycsXG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgSW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgQ3VzdG9tQXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FhcUI7QUFDckIsNEVBQThEO0FBQzlELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMkNBQXVDO0FBR3ZDLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyx1Q0FBYSxDQUFBO0lBQ2IsNkRBQW1DLENBQUE7SUFDbkMsbUVBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQUpXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBSWpDO0FBc0pELE1BQWUsWUFBYSxTQUFRLHNCQUFRO0lBS2xDLG9CQUFvQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xELGFBQWEsQ0FBaUI7SUFFL0MsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUIsRUFBRSxhQUE2QjtRQUN0RyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBcUIsRUFBRSxLQUF5QixTQUFTLEVBQUUsUUFBK0IsU0FBUztRQUNsSCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdkQseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLDBCQUEwQixNQUFNLENBQUMsWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2hHLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzFCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FB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Q0FBQyxlQUFlLENBQUM7WUFDaEQsTUFBTSxFQUFFLHFCQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLHNCQUFzQjtnQkFDdEIsbUJBQW1CO2FBQ3BCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULGdCQUFFLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDO2FBQ3JHO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hELFlBQVksRUFBRSx5Q0FBeUM7WUFDdkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQy9CLGdCQUFnQixFQUFFLFVBQVU7YUFDN0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEFubm90YXRpb25zLFxuICBjdXN0b21fcmVzb3VyY2VzIGFzIGNyLFxuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xleCBhcyBsZXgsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBDb250ZXh0UHJvdmlkZXIsIEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbixcbiAgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5LFxuICBSZXNvdXJjZSwgUmVzb3VyY2VQcm9wcyxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvciwgRm4sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTdG9yYWdlQ29uZmlnLCBTdG9yYWdlUmVzb3VyY2VUeXBlIH0gZnJvbSAnLi9zdG9yYWdlX2NvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIElkZW50aXR5TWFuYWdlbWVudFR5cGUge1xuICBTQU1MID0gJ1NBTUwnLFxuICBDT05ORUNUX01BTkFHRUQgPSAnQ09OTkVDVF9NQU5BR0VEJyxcbiAgRVhJU1RJTkdfRElSRUNUT1JZID0gJ0VYSVNUSU5HX0RJUkVDVE9SWScsXG59XG5cbi8qKlxuICogQWxsIG90aGVyIGNvbmZpZyBwcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE90aGVyQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGZsb3cgbG9ncyBhcmUgZW5hYmxlZC4gKENPTlRBQ1RGTE9XX0xPR1MpXG4gICAqL1xuICByZWFkb25seSBjb250YWN0Zmxvd0xvZ3M/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGxlbnMgaXMgZW5hYmxlZC4gKENPTlRBQ1RfTEVOUylcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RMZW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVzc2FnZSBzdHJlYW1pbmcgaXMgZW5hYmxlZC4gKE1FU1NBR0VfU1RSRUFNSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVN0cmVhbWluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNoYXQgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ0hBVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDaGF0TW9uaXRvcmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGhpZ2ggdm9sdW1lIG91dGJvdW5kIGlzIGVuYWJsZWQuIChISUdIX1ZPTFVNRV9PVVRCT1VORClcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hWb2x1bWVPdXRCb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNvbnRhY3QgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ09OVEFDVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDb250YWN0TW9uaXRvcmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVsZXBob255Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBlYXJseSBtZWRpYSBpcyBlbmFibGVkIChFQVJMWV9NRURJQSlcbiAgICovXG4gIHJlYWRvbmx5IGVhcmx5TWVkaWFFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgaW5ib3VuZCBjYWxscyBhcmUgYWxsb3dlZC4gKElOQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBpbmJvdW5kQ2FsbHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNoYXQgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NIQVRfQ09ORkVSRU5DRSlcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpUGFydHlDaGF0Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNvbmZlcmVuY2UgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NPTkZFUkVOQ0UpXG4gICAqL1xuICByZWFkb25seSBtdWx0aVBhcnR5Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG91dGJvdW5kIGNhbGxzIGFyZSBhbGxvd2VkLiAoT1VUQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBvdXRib3VuZENhbGxzOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGx5Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHJlc29sdmUgYmVzdCB2b2ljZXMuIChBVVRPX1JFU09MVkVfQkVTVF9WT0lDRVMpXG4gICAqL1xuICByZWFkb25seSBhdXRvUmVzb2x2ZUJlc3RWb2ljZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB1c2VDdXN0b21UdHNWb2ljZXMgaXMgZW5hYmxlZCAoVVNFX0NVU1RPTV9UVFNfVk9JQ0VTKVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3VzdG9tVHRzVm9pY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGl0eSB0eXBlIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlUeXBlOiBJZGVudGl0eU1hbmFnZW1lbnRUeXBlO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGFsaWFzLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gQ09OTkVDVF9NQU5BR0VEIG9yIFNBTUwuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUFsaWFzPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgYSBzaW1wbGVBRCBvciBNaWNyb3NvZnQgQUQgKF5kLVswLTlhLWZdezEwfSQpLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gRVhJU1RJTkdfRElSRUNUT1JZLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZWxlcGhvbnkgcHJvcGVydGllcy4gIFJlcXVpcmVkIChkdWUgdG8gcmVxdWlyZWQgc2V0dGluZyBvZiBpbmJvdW5kICYgb3V0Ym91bmQgY2FsbCBjb25maWd1cmF0aW9uKVxuICAgKi9cbiAgcmVhZG9ubHkgdGVsZXBob255Q29uZmlnOiBUZWxlcGhvbnlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFBvbGx5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IHBvbGx5Q29uZmlnPzogUG9sbHlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIE90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IG90aGVyQ29uZmlnPzogT3RoZXJDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIERlZmluZSBhbnkgb3RoZXIgaW5zdGFuY2UgYXR0cmlidXRlIGNvbmZpZyBoZXJlLlxuICAgKlxuICAgKiBjdXJyZW50bHkgdGhhdCBsaXN0IGlzIHRoZSBmb2xsb3dpbmc6XG4gICAqXG4gICAqIEFVVE9fTVVURV9BR0VOVF9PTl9IT0xEXG4gICAqIEFVVE9NQVRFRF9JTlRFUkFDVElPTl9MT0dcbiAgICogQk9UX01BTkFHRU1FTlRcbiAgICogRU5BQkxFX0JPVF9BTkFMWVRJQ1NfQU5EX1RSQU5TQ1JJUFRTXG4gICAqIEZPUkVDQVNUSU5HX1BMQU5OSU5HX1NDSEVEVUxJTkdcbiAgICogTUFYX1BBQ0tBR0VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgY29uZmlndXJhdGlvbnMgKGNhbiBhbHNvIHVzZSBhZGRTdG9yYWdlQ29uZmlnKCkgdG8gYWRkIGNvbmZpZ3MgbGF0ZXIpXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQ29uZmlncz86IFN0b3JhZ2VDb25maWdbXTtcbiAgLyoqXG4gICAqIFNldCB0aGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBpbnN0YW5jZS4gdGhlIGRlZmF1bHQgaXMgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUluc3RhbmNlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG5hbWUuICBNYXkgbm90IGFsd2F5cyBiZSBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGFtYmRhRnVuY3Rpb24oaWQ6IHN0cmluZywgZnVuYzogbGFtYmRhLklGdW5jdGlvbiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGV4Qm90KGlkOiBzdHJpbmcsIGJvdDogbGV4LklCb3RBbGlhc1JlZiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VMb29rdXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIHRoZSBJRCBvZiB0aGUgY29ubmVjdCBpbnN0YW5jZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0IGluc3RhbmNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBBcm5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBJbnN0YW5jZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJbnN0YW5jZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3RvcmFnZVJlc291cmNlVHlwZXM6IFNldDxTdG9yYWdlUmVzb3VyY2VUeXBlPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZXNvdXJjZVByb3BzLCByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHJlbW92YWxQb2xpY3k7XG4gIH1cblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmhhcyhjb25maWcucmVzb3VyY2VUeXBlKSkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoYER1cGxpY2F0ZSByZXNvdXJjZVR5cGUgJHtjb25maWcucmVzb3VyY2VUeXBlfSBpbiBzdG9yYWdlQ29uZmlnYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY29uZmlnLmNoZWNrQ29uZmlnKCkpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZEVycm9yKGBJbnZhbGlkIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2VUeXBlICR7Y29uZmlnLnJlc291cmNlVHlwZX0gYW5kIHN0b3JhZ2VUeXBlICR7Y29uZmlnLnN0b3JhZ2VUeXBlfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmFkZChjb25maWcucmVzb3VyY2VUeXBlKTtcbiAgICBjb25zdCBzdG9yYWdlID0gbmV3IGNvbm5lY3QuQ2ZuSW5zdGFuY2VTdG9yYWdlQ29uZmlnKHNjb3BlIHx8IHRoaXMsIGlkIHx8IGBTdG9yYWdlQ29uZmlnLSR7Y29uZmlnLnJlc291cmNlVHlwZX1gLCBjb25maWcuYXNTdG9yYWdlQ29uZmlnUHJvcHModGhpcy5pbnN0YW5jZUFybikpO1xuICAgIHN0b3JhZ2UuYXBwbHlSZW1vdmFsUG9saWN5KGNvbmZpZy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IHRoaXMucmVtb3ZhbFBvbGljeSB8fCBSZW1vdmFsUG9saWN5LkRFU1RST1kgfSk7XG4gIH1cblxuICBhc3NvY2lhdGVMYW1iZGFGdW5jdGlvbihpZDogc3RyaW5nLCBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uLCBzY29wZTogQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgbmV3IGNvbm5lY3QuQ2ZuSW50ZWdyYXRpb25Bc3NvY2lhdGlvbihzY29wZSB8fCB0aGlzLCBpZCwge1xuICAgICAgaW5zdGFuY2VJZDogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgIGludGVncmF0aW9uVHlwZTogJ0xBTUJEQV9GVU5DVElPTicsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogZnVuYy5mdW5jdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIGFzc29jaWF0ZUxleEJvdChpZDogc3RyaW5nLCBib3Q6IGxleC5JQm90QWxpYXNSZWYsIHNjb3BlOiBDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICBuZXcgY29ubmVjdC5DZm5JbnRlZ3JhdGlvbkFzc29jaWF0aW9uKHNjb3BlIHx8IHRoaXMsIGlkLCB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgaW50ZWdyYXRpb25UeXBlOiAnTEVYX0JPVCcsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogYm90LmJvdEFsaWFzUmVmLmJvdEFsaWFzQXJuLFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwSW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gcHJvcHMuaW5zdGFuY2VJZDtcbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZU5hbWU7XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG5jb25zdCBEVU1NWV9JTlNUQU5DRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBpbnN0YW5jZUlkOiAnaW5zdGFuY2UtMTIzNDUnLFxufTtcblxuZXhwb3J0IGNsYXNzIEluc3RhbmNlIGV4dGVuZHMgSW5zdGFuY2VCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEluc3RhbmNlTG9va3VwT3B0aW9ucyk6IElJbnN0YW5jZSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlSWQpXG4gICAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlTmFtZSlcbiAgICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBJbnN0YW5jZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuaW5zdGFuY2VBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmluc3RhbmNlQXJuO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluc3RhbmNlSWQpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLklkID0gb3B0aW9ucy5pbnN0YW5jZUlkO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbnN0YW5jZU5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLkluc3RhbmNlQWxpYXMgPSBvcHRpb25zLmluc3RhbmNlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6SW5zdGFuY2UnLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHByb3BlcnRpZXNUb1JldHVybjogWydBcm4nLCAnSW5zdGFuY2VBbGlhcycsICdJZCddLFxuICAgICAgICBleHBlY3RlZE1hdGNoQ291bnQ6ICdleGFjdGx5LW9uZScsXG4gICAgICB9IGFzIGN4c2NoZW1hLkNjQXBpQ29udGV4dFF1ZXJ5LFxuICAgICAgZHVtbXlWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0pLnZhbHVlO1xuXG4gICAgbGV0IGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVswXSkge1xuICAgICAgaW5zdGFuY2UgPSB7XG4gICAgICAgIGluc3RhbmNlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIGluc3RhbmNlSWQ6IHJlc3BvbnNlWzBdLklkLFxuICAgICAgICBpbnN0YW5jZU5hbWU6IHJlc3BvbnNlWzBdLkluc3RhbmNlQWxpYXMsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwSW5zdGFuY2Uoc2NvcGUsIGlkLCBpbnN0YW5jZSA/PyBEVU1NWV9JTlNUQU5DRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkluc3RhbmNlO1xuICByZWFkb25seSBpbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHVuZGVmaW5lZCwgcHJvcHMucmVtb3ZhbFBvbGljeSk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgLi4ucHJvcHMudGVsZXBob255Q29uZmlnLFxuICAgICAgLi4ucHJvcHMucG9sbHlDb25maWcsXG4gICAgICAuLi5wcm9wcy5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmlkZW50aXR5VHlwZSA9PT0gSWRlbnRpdHlNYW5hZ2VtZW50VHlwZS5FWElTVElOR19ESVJFQ1RPUlkgJiYgIXByb3BzLmRpcmVjdG9yeUlkKSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcignZGlyZWN0b3J5SWQgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIEVYSVNUSU5HX0RJUkVDVE9SWScpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaWRlbnRpdHlUeXBlICE9PSBJZGVudGl0eU1hbmFnZW1lbnRUeXBlLkVYSVNUSU5HX0RJUkVDVE9SWSAmJiAhcHJvcHMuaW5zdGFuY2VBbGlhcykge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoJ2luc3RhbmNlQWxpYXMgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIENPTk5FQ1RfTUFOQUdFRCBvciBTQU1MJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZUFsaWFzO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5JbnN0YW5jZSh0aGlzLCAnSW5zdGFuY2UnLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgaWRlbnRpdHlNYW5hZ2VtZW50VHlwZTogcHJvcHMuaWRlbnRpdHlUeXBlLFxuICAgICAgaW5zdGFuY2VBbGlhczogcHJvcHMuaW5zdGFuY2VBbGlhcyxcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IFJlbW92YWxQb2xpY3kuREVTVFJPWSB9KTtcblxuICAgIGlmIChwcm9wcy5zdG9yYWdlQ29uZmlncykge1xuICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgcHJvcHMuc3RvcmFnZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy5hZGRTdG9yYWdlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUF0dHJpYnV0ZXMgJiYgT2JqZWN0LmtleXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXR1cEN1c3RvbUF0dHJpYnV0ZXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEN1c3RvbUF0dHJpYnV0ZXMoY3VzdG9tQXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pIHtcbiAgICBuZXcgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzKHRoaXMsICdVcGRhdGVDdXN0b21BdHRyaWJ1dGVzJywgdGhpcywgY3VzdG9tQXR0cmlidXRlcyk7XG4gIH1cblxuICBnZXQgaW5zdGFuY2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hdHRyQXJuO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hdHRySWQ7XG4gIH1cbn1cblxuY2xhc3MgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCA9ICdjYjJmNmI1Yy1mMGFhLTExZjAtYWMxMC01YjQ4NDgyNzE0NWMnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGluc3RhbmNlOiBJSW5zdGFuY2UsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNldHVwRnVuYyA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbUF0dHJpYnV0ZUZ1bmMnLCB7XG4gICAgICB1dWlkOiBVcGRhdGVJbnN0YW5jZUF0dHJpYnV0ZXMuQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b21BdHRyaWJ1dGVTZXR1cCcsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6ICdhcHAub25fZXZlbnQnLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsYW1iZGFzJywgJ2luc3RhbmNlX2F0dHJpYnV0ZXMnKSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnQ3VzdG9tQXR0cmlidXRlTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ0N1c3RvbUF0dHJpYnV0ZVByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNldHVwRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBncm91cCxcbiAgICB9KTtcblxuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydjb25uZWN0OlVwZGF0ZUluc3RhbmNlQXR0cmlidXRlJ10sXG4gICAgICByZXNvdXJjZXM6IFtpbnN0YW5jZS5pbnN0YW5jZUFybl0sXG4gICAgfSkpO1xuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnaWFtOkRlbGV0ZVJvbGVQb2xpY3knLFxuICAgICAgICAnaWFtOlB1dFJvbGVQb2xpY3knLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBGbi5zdWIoJ2Fybjoke0FXUzo6UGFydGl0aW9ufTppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvYXdzLXNlcnZpY2Utcm9sZS9jb25uZWN0LmFtYXpvbmF3cy5jb20vKicpLFxuICAgICAgXSxcbiAgICB9KSk7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1NldHVwQ3VzdG9tQXR0cmlidXRlcycsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q29ubmVjdEluc3RhbmNlQ3VzdG9tQXR0cmlidXRlcycsXG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgSW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgQ3VzdG9tQXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -15,7 +15,7 @@ var PhoneNumberType;
15
15
  PhoneNumberType["SHORT_CODE"] = "SHORT_CODE";
16
16
  })(PhoneNumberType || (exports.PhoneNumberType = PhoneNumberType = {}));
17
17
  class PhoneNumber extends aws_cdk_lib_1.Resource {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.8" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.9" };
19
19
  resource;
20
20
  constructor(scope, id, props) {
21
21
  super(scope, id);
package/lib/queue.js CHANGED
@@ -45,7 +45,7 @@ var QueueStatus;
45
45
  QueueStatus["DISABLED"] = "DISABLED";
46
46
  })(QueueStatus || (exports.QueueStatus = QueueStatus = {}));
47
47
  class Queue extends aws_cdk_lib_1.Resource {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.8" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.9" };
49
49
  static fromLookup(scope, id, options) {
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
51
51
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -51,7 +51,7 @@ const DUMMY_QUICK_CONNECT_PROPS = {
51
51
  name: 'quick-connect-name',
52
52
  };
53
53
  class QuickConnect extends aws_cdk_lib_1.Resource {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.8" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.9" };
55
55
  static fromLookup(scope, id, options) {
56
56
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
57
57
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -54,7 +54,7 @@ const DUMMY_ROUTING_PROFILE_PROPS = {
54
54
  routingProfileArn: 'routing-profile-arn',
55
55
  };
56
56
  class RoutingProfile extends aws_cdk_lib_1.Resource {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.8" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.9" };
58
58
  static fromLookup(scope, id, options) {
59
59
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
60
60
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -40,7 +40,7 @@ const cxschema = __importStar(require("aws-cdk-lib/cloud-assembly-schema"));
40
40
  const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
41
41
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
42
42
  class SecurityProfile extends aws_cdk_lib_1.Resource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.8" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.9" };
44
44
  static fromLookup(scope, id, options) {
45
45
  if (aws_cdk_lib_1.Token.isUnresolved(options.securityProfileName)
46
46
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -41,7 +41,7 @@ var StorageConfigType;
41
41
  StorageConfigType["KINESIS_FIREHOSE"] = "KINESIS_FIREHOSE";
42
42
  })(StorageConfigType || (exports.StorageConfigType = StorageConfigType = {}));
43
43
  class StorageConfig {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.8" };
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.9" };
45
45
  static buildS3(resourceType, props) {
46
46
  return new StorageConfig({
47
47
  resourceType,
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
7
7
  class TrafficDistributionGroup extends aws_cdk_lib_1.Resource {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.8" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.9" };
9
9
  resource;
10
10
  constructor(scope, id, props) {
11
11
  super(scope, id);
package/lib/user.js CHANGED
@@ -50,7 +50,7 @@ const DUMMY_USER_PROPS = {
50
50
  username: 'user-name',
51
51
  };
52
52
  class User extends aws_cdk_lib_1.Resource {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.8" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.9" };
54
54
  static fromLookup(scope, id, options) {
55
55
  if (aws_cdk_lib_1.Token.isUnresolved(options.username)
56
56
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "version": "0.2.8",
83
+ "version": "0.2.9",
84
84
  "packageManager": "yarn@1.22.22",
85
85
  "types": "lib/index.d.ts",
86
86
  "jsii": {