@aws-cdk/aws-elasticache-alpha 2.256.1-alpha.0 → 2.258.0-alpha.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/lib/user-base.js CHANGED
@@ -9,7 +9,7 @@ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
9
9
  * Access control configuration for ElastiCache users.
10
10
  */
11
11
  class AccessControl {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.AccessControl", version: "2.256.1-alpha.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.AccessControl", version: "2.258.0-alpha.0" };
13
13
  /**
14
14
  * Create access control from an access string.
15
15
  *
@@ -37,7 +37,7 @@ class AccessControlString extends AccessControl {
37
37
  * Base class for ElastiCache users.
38
38
  */
39
39
  class UserBase extends core_1.Resource {
40
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserBase", version: "2.256.1-alpha.0" };
40
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserBase", version: "2.258.0-alpha.0" };
41
41
  /**
42
42
  * Import an existing user by ID.
43
43
  *
package/lib/user-group.js CHANGED
@@ -48,7 +48,7 @@ const ELASTICACHE_USERGROUP_SYMBOL = Symbol.for('@aws-cdk/aws-elasticache.UserGr
48
48
  * Base class for UserGroup constructs
49
49
  */
50
50
  class UserGroupBase extends core_1.Resource {
51
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserGroupBase", version: "2.256.1-alpha.0" };
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserGroupBase", version: "2.258.0-alpha.0" };
52
52
  /**
53
53
  * Add a user to this user group
54
54
  *
@@ -91,7 +91,7 @@ let UserGroup = (() => {
91
91
  UserGroup = _classThis = _classDescriptor.value;
92
92
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
93
93
  }
94
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserGroup", version: "2.256.1-alpha.0" };
94
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-elasticache-alpha.UserGroup", version: "2.258.0-alpha.0" };
95
95
  /**
96
96
  * Uniquely identifies this class
97
97
  */
@@ -217,7 +217,7 @@ let UserGroup = (() => {
217
217
  });
218
218
  this._users = helpers_internal_1.Box.fromArray(props.users ?? [], { omitEmpty: false });
219
219
  this.resource = new aws_elasticache_1.CfnUserGroup(this, 'Resource', {
220
- engine: this.engine,
220
+ engine: this.engine.engineType,
221
221
  userGroupId: this.userGroupName,
222
222
  userIds: core_1.Token.asList(this._users.derive(users => {
223
223
  this.validateUsers();
@@ -256,9 +256,9 @@ let UserGroup = (() => {
256
256
  if (duplicates.length > 0) {
257
257
  throw new core_1.ValidationError((0, helpers_internal_1.lit) `DuplicateUserName`, 'User group cannot have users with the same user name.', this);
258
258
  }
259
- if (this.engine === common_1.UserEngine.REDIS) {
259
+ if (this.engine?.engineType === 'redis') {
260
260
  users.forEach(user => {
261
- if (user.engine !== common_1.UserEngine.REDIS) {
261
+ if (user.engine?.engineType !== 'redis') {
262
262
  throw new core_1.ValidationError((0, helpers_internal_1.lit) `RedisUserGroupEngineMismatch`, 'Redis user group can only contain Redis users.', this);
263
263
  }
264
264
  });
@@ -293,4 +293,4 @@ let UserGroup = (() => {
293
293
  return UserGroup = _classThis;
294
294
  })();
295
295
  exports.UserGroup = UserGroup;
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInVzZXItZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQTJEO0FBRTNELDJDQUE0SDtBQUU1SCw0RUFBbUY7QUFDbkYsOEVBQThGO0FBQzlGLDBFQUEwRTtBQUUxRSxxQ0FBc0M7QUFHdEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7QUEwRHRGOztHQUVHO0FBQ0gsTUFBc0IsYUFBYyxTQUFRLGVBQVE7O0lBb0JsRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLEtBQVk7Ozs7Ozs7Ozs7UUFDekIsTUFBTSxJQUFJLDhCQUF1QixDQUFDLElBQUEsc0JBQUcsRUFBQSwrQkFBK0IsRUFBRSxtR0FBbUcsQ0FBQyxDQUFDO0tBQzVLOztBQTNCSCxzQ0E0QkM7QUFvQ0Q7Ozs7R0FJRztJQUdVLFNBQVM7NEJBRnJCLG1DQUFnQixFQUNoQixvQ0FBa0I7Ozs7c0JBQ1ksYUFBYTs7O3lCQUFyQixTQUFRLFdBQWE7Ozs7bUNBMkx6QyxJQUFBLGtDQUFjLEdBQUU7WUFDakIsd0tBQU8sT0FBTyw2REFHYjtZQS9MSCw2S0FnTUM7Ozs7O1FBL0xDOztXQUVHO1FBQ0ksTUFBTSxDQUFVLHFCQUFxQixHQUFXLHVDQUF1QyxDQUFDO1FBRS9GOztXQUVHO1FBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFNO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLDRCQUE0QixJQUFJLENBQUMsQ0FBQztTQUNuRjtRQUVEOzs7Ozs7V0FNRztRQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxhQUFxQjtZQUNqRixPQUFPLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUN4RTtRQUVEOzs7Ozs7V0FNRztRQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxZQUFvQjtZQUMvRSxPQUFPLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUVEOzs7Ozs7V0FNRztRQUNJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7Ozs7Ozs7OztZQUM1RixJQUFJLGFBQXFCLENBQUM7WUFDMUIsSUFBSSxZQUFvQixDQUFDO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUIsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxJQUFJLHNCQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLGlDQUFpQyxFQUFFLDREQUE0RCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZJLENBQUM7WUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdkIsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7Z0JBQ2xDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGdCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQzlHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUM1QixNQUFNLElBQUksc0JBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEscUJBQXFCLEVBQUUsNkNBQTZDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzVHLENBQUM7Z0JBQ0QsYUFBYSxHQUFHLHNCQUFzQixDQUFDO1lBQ3pDLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9CLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNwQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7aUJBQ2xDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksc0JBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsNEJBQTRCLEVBQUUsbURBQW1ELEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekgsQ0FBQztZQUVELE1BQU0sTUFBTyxTQUFRLGFBQWE7Z0JBQ2hCLE1BQU0sQ0FBYztnQkFDcEIsYUFBYSxDQUFTO2dCQUN0QixZQUFZLENBQVM7Z0JBRXJDLElBQVcsS0FBSztvQkFDZCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDcEQsQ0FBQztnQkFFRCxZQUFZLGFBQXFCLEVBQUUsY0FBc0I7b0JBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO29CQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUM3QixDQUFDO2FBQ0Y7WUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNoRDtRQUVlLE1BQU0sR0F6RlgsbURBQVMsQ0F5RmdCO1FBQ3BCLGFBQWEsQ0FBUztRQUNyQixNQUFNLENBQW1CO1FBQzFDOzs7O1dBSUc7UUFDYSxZQUFZLENBQVM7UUFDckM7Ozs7O1dBS0c7UUFDYSxlQUFlLENBQVM7UUFFdkIsUUFBUSxDQUFlO1FBRXhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBd0IsRUFBRTtZQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7O21EQTdHWixTQUFTOzs7O1lBK0dsQixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLG1CQUFVLENBQUMsTUFBTSxDQUFDO1lBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxXQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN0RCxpRkFBaUY7Z0JBQ2pGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUU7YUFDckYsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxzQkFBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBRXJFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw4QkFBWSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMvQixPQUFPLEVBQUUsWUFBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDL0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNyQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hDLENBQUMsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFDO1lBRUgsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUVoRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzVFO1FBRUQ7O1dBRUc7UUFDSyxpQkFBaUIsQ0FBQyxJQUFXO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUVEOzs7OztXQUtHO1FBQ0gsSUFBVyxLQUFLO1lBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2pDO1FBRUQ7O1dBRUc7UUFDSyxhQUFhO1lBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuRCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN4RixJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSxzQkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxtQkFBbUIsRUFBRSx1REFBdUQsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuSCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLG1CQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxtQkFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNyQyxNQUFNLElBQUksc0JBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsOEJBQThCLEVBQUUsZ0RBQWdELEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3ZILENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sSUFBSSxzQkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSxrQ0FBa0MsRUFBRSx3RUFBd0UsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkosQ0FBQztZQUNILENBQUM7U0FDRjtRQUVEOzs7O1dBSUc7UUFFSSxPQUFPLENBQUMsSUFBVzs7Ozs7Ozs7OztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7O1lBL0xVLHVEQUFTOzs7OztBQUFULDhCQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuVXNlckdyb3VwIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNhY2hlJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgQXJuRm9ybWF0LCBTdGFjaywgTGF6eSwgVG9rZW4sIFZhbGlkYXRpb25FcnJvciwgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IsIE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IElBcnJheUJveCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgQm94LCBsaXQsIG5vQm94U3RhY2tUcmFjZXMgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhLCBNZXRob2RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVXNlckVuZ2luZSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB0eXBlIHsgSVVzZXIgfSBmcm9tICcuL3VzZXItYmFzZSc7XG5cbmNvbnN0IEVMQVNUSUNBQ0hFX1VTRVJHUk9VUF9TWU1CT0wgPSBTeW1ib2wuZm9yKCdAYXdzLWNkay9hd3MtZWxhc3RpY2FjaGUuVXNlckdyb3VwJyk7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYW4gRWxhc3RpQ2FjaGUgVXNlckdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckdyb3VwUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIHVzZXIgZ3JvdXAgbmFtZS5cbiAgICogQGRlZmF1bHQgPGdlbmVyYXRlZD5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJHcm91cE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZW5naW5lIHR5cGUgZm9yIHRoZSB1c2VyIGdyb3VwXG4gICAqIEVudW0gb3B0aW9uczogVXNlckVuZ2luZS5WQUxLRVksIFVzZXJFbmdpbmUuUkVESVNcbiAgICpcbiAgICogQGRlZmF1bHQgVXNlckVuZ2luZS5WQUxLRVlcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZT86IFVzZXJFbmdpbmU7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHVzZXJzIGluc2lkZSB0aGUgdXNlciBncm91cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHVzZXJzXG4gICAqL1xuICByZWFkb25seSB1c2Vycz86IElVc2VyW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBFbGFzdGlDYWNoZSBVc2VyR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVXNlckdyb3VwIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJHcm91cE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbmdpbmUgdHlwZSBmb3IgdGhlIHVzZXIgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZT86IFVzZXJFbmdpbmU7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHVzZXJzIGluIHRoZSB1c2VyIGdyb3VwXG4gICAqL1xuICByZWFkb25seSB1c2Vycz86IElVc2VyW107XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJHcm91cEFybjogc3RyaW5nO1xuICAvKipcbiAgICogQWRkIGEgdXNlciB0byB0aGlzIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gYWRkXG4gICAqL1xuICBhZGRVc2VyKHVzZXI6IElVc2VyKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBVc2VyR3JvdXAgY29uc3RydWN0c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVXNlckdyb3VwQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVVzZXJHcm91cCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdXNlciBncm91cFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdXNlckdyb3VwTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVuZ2luZSB0eXBlIGZvciB0aGUgdXNlciBncm91cFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGVuZ2luZT86IFVzZXJFbmdpbmU7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHVzZXJzIGluIHRoZSB1c2VyIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdXNlcnM/OiBJVXNlcltdO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdXNlciBncm91cFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdXNlckdyb3VwQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgYSB1c2VyIHRvIHRoaXMgdXNlciBncm91cFxuICAgKlxuICAgKiBAcGFyYW0gX3VzZXIgVGhlIHVzZXIgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYWRkVXNlcihfdXNlcjogSVVzZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEltcG9ydGVkVXNlckdyb3VwTW9kaWZpY2F0aW9uYCwgJ0Nhbm5vdCBhZGQgdXNlcnMgdG8gYW4gaW1wb3J0ZWQgVXNlckdyb3VwLiBPbmx5IFVzZXJHcm91cHMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIGNhbiBiZSBtb2RpZmllZC4nKTtcbiAgfVxufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIHdoZW4gaW1wb3J0aW5nIGEgVXNlckdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckdyb3VwQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdXNlciBncm91cFxuICAgKlxuICAgKiBPbmUgb2YgYHVzZXJHcm91cE5hbWVgIG9yIGB1c2VyR3JvdXBBcm5gIGlzIHJlcXVpcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZnJvbSB1c2VyR3JvdXBBcm5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJHcm91cE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZW5naW5lIHR5cGUgZm9yIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZW5naW5lIHR5cGUgaXMgdW5rbm93blxuICAgKi9cbiAgcmVhZG9ubHkgZW5naW5lPzogVXNlckVuZ2luZTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgdXNlcnMgaW4gdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2VycyBhcmUgdW5rbm93blxuICAgKi9cbiAgcmVhZG9ubHkgdXNlcnM/OiBJVXNlcltdO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdXNlciBncm91cFxuICAgKlxuICAgKiBPbmUgb2YgYHVzZXJHcm91cE5hbWVgIG9yIGB1c2VyR3JvdXBBcm5gIGlzIHJlcXVpcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZnJvbSB1c2VyR3JvdXBOYW1lXG4gICAqL1xuICByZWFkb25seSB1c2VyR3JvdXBBcm4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gRWxhc3RpQ2FjaGUgVXNlckdyb3VwXG4gKlxuICogQHJlc291cmNlIEFXUzo6RWxhc3RpQ2FjaGU6OlVzZXJHcm91cFxuICovXG5Abm9Cb3hTdGFja1RyYWNlc1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFVzZXJHcm91cCBleHRlbmRzIFVzZXJHcm91cEJhc2Uge1xuICAvKipcbiAgICogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ2F3cy1jZGstbGliLmF3cy1lbGFzdGljYWNoZS5Vc2VyR3JvdXAnO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGEgYFVzZXJHcm91cGBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNVc2VyR3JvdXAoeDogYW55KTogeCBpcyBVc2VyR3JvdXAge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiAoeCkgPT09ICdvYmplY3QnICYmIEVMQVNUSUNBQ0hFX1VTRVJHUk9VUF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgdXNlciBncm91cCBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gdXNlckdyb3VwTmFtZSBUaGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgdXNlciBncm91cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVXNlckdyb3VwTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB1c2VyR3JvdXBOYW1lOiBzdHJpbmcpOiBJVXNlckdyb3VwIHtcbiAgICByZXR1cm4gVXNlckdyb3VwLmZyb21Vc2VyR3JvdXBBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyB1c2VyR3JvdXBOYW1lIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIGdyb3VwIGJ5IEFSTlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWVcbiAgICogQHBhcmFtIHVzZXJHcm91cEFybiBUaGUgQVJOIG9mIHRoZSBleGlzdGluZyB1c2VyIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Vc2VyR3JvdXBBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgdXNlckdyb3VwQXJuOiBzdHJpbmcpOiBJVXNlckdyb3VwIHtcbiAgICByZXR1cm4gVXNlckdyb3VwLmZyb21Vc2VyR3JvdXBBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyB1c2VyR3JvdXBBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHVzZXIgZ3JvdXAgdXNpbmcgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWVcbiAgICogQHBhcmFtIGF0dHJzIEEgYFVzZXJHcm91cEF0dHJpYnV0ZXNgIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVXNlckdyb3VwQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogVXNlckdyb3VwQXR0cmlidXRlcyk6IElVc2VyR3JvdXAge1xuICAgIGxldCB1c2VyR3JvdXBOYW1lOiBzdHJpbmc7XG4gICAgbGV0IHVzZXJHcm91cEFybjogc3RyaW5nO1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuXG4gICAgaWYgKGF0dHJzLnVzZXJHcm91cEFybiAmJiBhdHRycy51c2VyR3JvdXBOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBDb25mbGljdGluZ1VzZXJHcm91cElkZW50aWZpZXJzYCwgJ09ubHkgb25lIG9mIHVzZXJHcm91cEFybiBvciB1c2VyR3JvdXBOYW1lIGNhbiBiZSBwcm92aWRlZC4nLCBzY29wZSk7XG4gICAgfVxuXG4gICAgaWYgKGF0dHJzLnVzZXJHcm91cEFybikge1xuICAgICAgdXNlckdyb3VwQXJuID0gYXR0cnMudXNlckdyb3VwQXJuO1xuICAgICAgY29uc3QgZXh0cmFjdGVkVXNlckdyb3VwTmFtZSA9IHN0YWNrLnNwbGl0QXJuKGF0dHJzLnVzZXJHcm91cEFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZTtcbiAgICAgIGlmICghZXh0cmFjdGVkVXNlckdyb3VwTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBJbnZhbGlkVXNlckdyb3VwQXJuYCwgJ1VuYWJsZSB0byBleHRyYWN0IHVzZXIgZ3JvdXAgbmFtZSBmcm9tIEFSTi4nLCBzY29wZSk7XG4gICAgICB9XG4gICAgICB1c2VyR3JvdXBOYW1lID0gZXh0cmFjdGVkVXNlckdyb3VwTmFtZTtcbiAgICB9IGVsc2UgaWYgKGF0dHJzLnVzZXJHcm91cE5hbWUpIHtcbiAgICAgIHVzZXJHcm91cE5hbWUgPSBhdHRycy51c2VyR3JvdXBOYW1lO1xuICAgICAgdXNlckdyb3VwQXJuID0gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogJ2VsYXN0aWNhY2hlJyxcbiAgICAgICAgcmVzb3VyY2U6ICd1c2VyZ3JvdXAnLFxuICAgICAgICByZXNvdXJjZU5hbWU6IGF0dHJzLnVzZXJHcm91cE5hbWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgTWlzc2luZ1VzZXJHcm91cElkZW50aWZpZXJgLCAnT25lIG9mIHVzZXJHcm91cE5hbWUgb3IgdXNlckdyb3VwQXJuIGlzIHJlcXVpcmVkLicsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBVc2VyR3JvdXBCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBlbmdpbmU/OiBVc2VyRW5naW5lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXJHcm91cE5hbWU6IHN0cmluZztcbiAgICAgIHB1YmxpYyByZWFkb25seSB1c2VyR3JvdXBBcm46IHN0cmluZztcblxuICAgICAgcHVibGljIGdldCB1c2VycygpOiBJVXNlcltdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGF0dHJzLnVzZXJzID8gWy4uLmF0dHJzLnVzZXJzXSA6IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3RydWN0b3IoX3VzZXJHcm91cEFybjogc3RyaW5nLCBfdXNlckdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICAgIHRoaXMudXNlckdyb3VwQXJuID0gX3VzZXJHcm91cEFybjtcbiAgICAgICAgdGhpcy51c2VyR3JvdXBOYW1lID0gX3VzZXJHcm91cE5hbWU7XG4gICAgICAgIHRoaXMuZW5naW5lID0gYXR0cnMuZW5naW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHVzZXJHcm91cEFybiwgdXNlckdyb3VwTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZW5naW5lPzogVXNlckVuZ2luZTtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJHcm91cE5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfdXNlcnM6IElBcnJheUJveDxJVXNlcj47XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyR3JvdXBBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIHVzZXIgZ3JvdXBcbiAgICogQ2FuIGJlICdjcmVhdGluZycsICdhY3RpdmUnLCAnbW9kaWZ5aW5nJywgJ2RlbGV0aW5nJ1xuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlckdyb3VwU3RhdHVzOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogQ2ZuVXNlckdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBVc2VyR3JvdXBQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7fSk7XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMuZW5naW5lID0gcHJvcHMuZW5naW5lID8/IFVzZXJFbmdpbmUuVkFMS0VZO1xuICAgIHRoaXMudXNlckdyb3VwTmFtZSA9IHByb3BzLnVzZXJHcm91cE5hbWUgPz8gTGF6eS5zdHJpbmcoe1xuICAgICAgLy8gRWxhc3RpQ2FjaGUgaXMgYWxsb3dpbmcgb25seSB1cHBlcmNhc2UgYW5kIG1heCA0MCBjaGFyYWN0ZXJzIGZvciB1c2VyIGdyb3VwIGlkXG4gICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDQwIH0pLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLl91c2VycyA9IEJveC5mcm9tQXJyYXkocHJvcHMudXNlcnMgPz8gW10sIHsgb21pdEVtcHR5OiBmYWxzZSB9KTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuVXNlckdyb3VwKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGVuZ2luZTogdGhpcy5lbmdpbmUsXG4gICAgICB1c2VyR3JvdXBJZDogdGhpcy51c2VyR3JvdXBOYW1lLFxuICAgICAgdXNlcklkczogVG9rZW4uYXNMaXN0KHRoaXMuX3VzZXJzLmRlcml2ZSh1c2VycyA9PiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVVc2VycygpO1xuICAgICAgICByZXR1cm4gdXNlcnMubWFwKHVzZXIgPT4gdXNlci51c2VySWQpO1xuICAgICAgfSkpLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLnVzZXJzKSB7XG4gICAgICBwcm9wcy51c2Vycy5mb3JFYWNoKHVzZXIgPT4gdGhpcy5hZGRVc2VyRGVwZW5kZW5jeSh1c2VyKSk7XG4gICAgfVxuXG4gICAgdGhpcy51c2VyR3JvdXBBcm4gPSB0aGlzLnJlc291cmNlLmF0dHJBcm47XG4gICAgdGhpcy51c2VyR3JvdXBTdGF0dXMgPSB0aGlzLnJlc291cmNlLmF0dHJTdGF0dXM7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgRUxBU1RJQ0FDSEVfVVNFUkdST1VQX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBDbG91ZEZvcm1hdGlvbiBkZXBlbmRlbmN5IG9uIHRoZSB1c2VyIHJlc291cmNlIHRvIGVuc3VyZSBwcm9wZXIgY3JlYXRpb24gb3JkZXIuXG4gICAqL1xuICBwcml2YXRlIGFkZFVzZXJEZXBlbmRlbmN5KHVzZXI6IElVc2VyKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3kodXNlcik7XG4gIH1cblxuICAvKipcbiAgICogQXJyYXkgb2YgdXNlcnMgaW4gdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogRG8gbm90IHB1c2ggZGlyZWN0bHkgdG8gdGhpcyBhcnJheS5cbiAgICogVXNlIGFkZFVzZXIoKSBpbnN0ZWFkIHRvIGVuc3VyZSBwcm9wZXIgdmFsaWRhdGlvbiBhbmQgZGVwZW5kZW5jeSBtYW5hZ2VtZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB1c2VycygpOiBJVXNlcltdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlcnMuZ2V0TXV0YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB1c2VycyBpbiB0aGUgdXNlciBncm91cCBmb3IgZHVwbGljYXRlIHVzZXJuYW1lcyBhbmQgUmVkaXMtc3BlY2lmaWMgcmVxdWlyZW1lbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVVzZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHVzZXJzID0gdGhpcy5fdXNlcnMuZ2V0KCk7XG4gICAgY29uc3QgdXNlck5hbWVzID0gdXNlcnMubWFwKHVzZXIgPT4gdXNlci51c2VyTmFtZSk7XG4gICAgY29uc3QgZHVwbGljYXRlcyA9IHVzZXJOYW1lcy5maWx0ZXIoKG5hbWUsIGluZGV4KSA9PiB1c2VyTmFtZXMuaW5kZXhPZihuYW1lKSAhPT0gaW5kZXgpO1xuICAgIGlmIChkdXBsaWNhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YER1cGxpY2F0ZVVzZXJOYW1lYCwgJ1VzZXIgZ3JvdXAgY2Fubm90IGhhdmUgdXNlcnMgd2l0aCB0aGUgc2FtZSB1c2VyIG5hbWUuJywgdGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZW5naW5lID09PSBVc2VyRW5naW5lLlJFRElTKSB7XG4gICAgICB1c2Vycy5mb3JFYWNoKHVzZXIgPT4ge1xuICAgICAgICBpZiAodXNlci5lbmdpbmUgIT09IFVzZXJFbmdpbmUuUkVESVMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBSZWRpc1VzZXJHcm91cEVuZ2luZU1pc21hdGNoYCwgJ1JlZGlzIHVzZXIgZ3JvdXAgY2FuIG9ubHkgY29udGFpbiBSZWRpcyB1c2Vycy4nLCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNEZWZhdWx0VXNlciA9IHRoaXMuX3VzZXJzLnNvbWUodXNlciA9PiB1c2VyLnVzZXJOYW1lID09PSAnZGVmYXVsdCcpO1xuICAgICAgaWYgKCFoYXNEZWZhdWx0VXNlcikge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBSZWRpc1VzZXJHcm91cE1pc3NpbmdEZWZhdWx0VXNlcmAsICdSZWRpcyB1c2VyIGdyb3VwcyBuZWVkIHRvIGNvbnRhaW4gYSB1c2VyIHdpdGggdGhlIHVzZXIgbmFtZSBcImRlZmF1bHRcIi4nLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdXNlciB0byB0aGlzIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gYWRkIHRvIHRoZSBncm91cFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGFkZFVzZXIodXNlcjogSVVzZXIpOiB2b2lkIHtcbiAgICB0aGlzLl91c2Vycy5wdXNoKHVzZXIpO1xuICAgIHRoaXMuYWRkVXNlckRlcGVuZGVuY3kodXNlcik7XG4gIH1cbn1cbiJdfQ==
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInVzZXItZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQTJEO0FBRTNELDJDQUE0SDtBQUU1SCw0RUFBbUY7QUFDbkYsOEVBQThGO0FBQzlGLDBFQUEwRTtBQUUxRSxxQ0FBc0M7QUFHdEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7QUEwRHRGOztHQUVHO0FBQ0gsTUFBc0IsYUFBYyxTQUFRLGVBQVE7O0lBb0JsRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLEtBQVk7Ozs7Ozs7Ozs7UUFDekIsTUFBTSxJQUFJLDhCQUF1QixDQUFDLElBQUEsc0JBQUcsRUFBQSwrQkFBK0IsRUFBRSxtR0FBbUcsQ0FBQyxDQUFDO0tBQzVLOztBQTNCSCxzQ0E0QkM7QUFvQ0Q7Ozs7R0FJRztJQUdVLFNBQVM7NEJBRnJCLG1DQUFnQixFQUNoQixvQ0FBa0I7Ozs7c0JBQ1ksYUFBYTs7O3lCQUFyQixTQUFRLFdBQWE7Ozs7bUNBMkx6QyxJQUFBLGtDQUFjLEdBQUU7WUFDakIsd0tBQU8sT0FBTyw2REFHYjtZQS9MSCw2S0FnTUM7Ozs7O1FBL0xDOztXQUVHO1FBQ0ksTUFBTSxDQUFVLHFCQUFxQixHQUFXLHVDQUF1QyxDQUFDO1FBRS9GOztXQUVHO1FBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFNO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLDRCQUE0QixJQUFJLENBQUMsQ0FBQztTQUNuRjtRQUVEOzs7Ozs7V0FNRztRQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxhQUFxQjtZQUNqRixPQUFPLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFL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QyxJQUFBLHNCQUFHLEVBQUEsbUJBQW1CLEVBQUUsdURBQXVELEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkgsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3hDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7d0JBQ3hDLE1BQU0sSUFBSSxzQkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSw4QkFBOEIsRUFBRSxnREFBZ0QsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDdkgsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQzdFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxJQUFJLHNCQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLGtDQUFrQyxFQUFFLHdFQUF3RSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuSixDQUFDO1lBQ0gsQ0FBQztTQUNGO1FBRUQ7Ozs7V0FJRztRQUVJLE9BQU8sQ0FBQyxJQUFXOzs7Ozs7Ozs7O1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5Qjs7WUEvTFUsdURBQVM7Ozs7O0FBQVQsOEJBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Vc2VyR3JvdXAgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2FjaGUnO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IFJlc291cmNlLCBBcm5Gb3JtYXQsIFN0YWNrLCBMYXp5LCBUb2tlbiwgVmFsaWRhdGlvbkVycm9yLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciwgTmFtZXMgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB0eXBlIHsgSUFycmF5Qm94IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBCb3gsIGxpdCwgbm9Cb3hTdGFja1RyYWNlcyB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBVc2VyRW5naW5lIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBJVXNlciB9IGZyb20gJy4vdXNlci1iYXNlJztcblxuY29uc3QgRUxBU1RJQ0FDSEVfVVNFUkdST1VQX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ0Bhd3MtY2RrL2F3cy1lbGFzdGljYWNoZS5Vc2VyR3JvdXAnKTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhbiBFbGFzdGlDYWNoZSBVc2VyR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyR3JvdXBQcm9wcyB7XG4gIC8qKlxuICAgKiBFbmZvcmNlcyBhIHBhcnRpY3VsYXIgcGh5c2ljYWwgdXNlciBncm91cCBuYW1lLlxuICAgKiBAZGVmYXVsdCA8Z2VuZXJhdGVkPlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckdyb3VwTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbmdpbmUgdHlwZSBmb3IgdGhlIHVzZXIgZ3JvdXBcbiAgICogRW51bSBvcHRpb25zOiBVc2VyRW5naW5lLlZBTEtFWSwgVXNlckVuZ2luZS5SRURJU1xuICAgKlxuICAgKiBAZGVmYXVsdCBVc2VyRW5naW5lLlZBTEtFWVxuICAgKi9cbiAgcmVhZG9ubHkgZW5naW5lPzogVXNlckVuZ2luZTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgdXNlcnMgaW5zaWRlIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdXNlcnNcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJzPzogSVVzZXJbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEVsYXN0aUNhY2hlIFVzZXJHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyR3JvdXAgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckdyb3VwTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVuZ2luZSB0eXBlIGZvciB0aGUgdXNlciBncm91cFxuICAgKi9cbiAgcmVhZG9ubHkgZW5naW5lPzogVXNlckVuZ2luZTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgdXNlcnMgaW4gdGhlIHVzZXIgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJzPzogSVVzZXJbXTtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckdyb3VwQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgYSB1c2VyIHRvIHRoaXMgdXNlciBncm91cFxuICAgKlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciB0byBhZGRcbiAgICovXG4gIGFkZFVzZXIodXNlcjogSVVzZXIpOiB2b2lkO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFVzZXJHcm91cCBjb25zdHJ1Y3RzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVc2VyR3JvdXBCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVXNlckdyb3VwIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1c2VyR3JvdXBOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZW5naW5lIHR5cGUgZm9yIHRoZSB1c2VyIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZW5naW5lPzogVXNlckVuZ2luZTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgdXNlcnMgaW4gdGhlIHVzZXIgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1c2Vycz86IElVc2VyW107XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1c2VyR3JvdXBBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIEFkZCBhIHVzZXIgdG8gdGhpcyB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBfdXNlciBUaGUgdXNlciB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRVc2VyKF91c2VyOiBJVXNlcik6IHZvaWQge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgSW1wb3J0ZWRVc2VyR3JvdXBNb2RpZmljYXRpb25gLCAnQ2Fubm90IGFkZCB1c2VycyB0byBhbiBpbXBvcnRlZCBVc2VyR3JvdXAuIE9ubHkgVXNlckdyb3VwcyBjcmVhdGVkIGluIHRoaXMgc3RhY2sgY2FuIGJlIG1vZGlmaWVkLicpO1xuICB9XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgd2hlbiBpbXBvcnRpbmcgYSBVc2VyR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyR3JvdXBBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIE9uZSBvZiBgdXNlckdyb3VwTmFtZWAgb3IgYHVzZXJHcm91cEFybmAgaXMgcmVxdWlyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHVzZXJHcm91cEFyblxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckdyb3VwTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbmdpbmUgdHlwZSBmb3IgdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbmdpbmUgdHlwZSBpcyB1bmtub3duXG4gICAqL1xuICByZWFkb25seSBlbmdpbmU/OiBVc2VyRW5naW5lO1xuICAvKipcbiAgICogTGlzdCBvZiB1c2VycyBpbiB0aGUgdXNlciBncm91cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZXJzIGFyZSB1bmtub3duXG4gICAqL1xuICByZWFkb25seSB1c2Vycz86IElVc2VyW107XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIE9uZSBvZiBgdXNlckdyb3VwTmFtZWAgb3IgYHVzZXJHcm91cEFybmAgaXMgcmVxdWlyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHVzZXJHcm91cE5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJHcm91cEFybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBFbGFzdGlDYWNoZSBVc2VyR3JvdXBcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpFbGFzdGlDYWNoZTo6VXNlckdyb3VwXG4gKi9cbkBub0JveFN0YWNrVHJhY2VzXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgVXNlckdyb3VwIGV4dGVuZHMgVXNlckdyb3VwQmFzZSB7XG4gIC8qKlxuICAgKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3NcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnYXdzLWNkay1saWIuYXdzLWVsYXN0aWNhY2hlLlVzZXJHcm91cCc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgYSBgVXNlckdyb3VwYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc1VzZXJHcm91cCh4OiBhbnkpOiB4IGlzIFVzZXJHcm91cCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mICh4KSA9PT0gJ29iamVjdCcgJiYgRUxBU1RJQ0FDSEVfVVNFUkdST1VQX1NZTUJPTCBpbiB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyB1c2VyIGdyb3VwIGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYClcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lXG4gICAqIEBwYXJhbSB1c2VyR3JvdXBOYW1lIFRoZSBuYW1lIG9mIHRoZSBleGlzdGluZyB1c2VyIGdyb3VwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Vc2VyR3JvdXBOYW1lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHVzZXJHcm91cE5hbWU6IHN0cmluZyk6IElVc2VyR3JvdXAge1xuICAgIHJldHVybiBVc2VyR3JvdXAuZnJvbVVzZXJHcm91cEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IHVzZXJHcm91cE5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHVzZXIgZ3JvdXAgYnkgQVJOXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gdXNlckdyb3VwQXJuIFRoZSBBUk4gb2YgdGhlIGV4aXN0aW5nIHVzZXIgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVVzZXJHcm91cEFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB1c2VyR3JvdXBBcm46IHN0cmluZyk6IElVc2VyR3JvdXAge1xuICAgIHJldHVybiBVc2VyR3JvdXAuZnJvbVVzZXJHcm91cEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IHVzZXJHcm91cEFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgdXNlciBncm91cCB1c2luZyBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gYXR0cnMgQSBgVXNlckdyb3VwQXR0cmlidXRlc2Agb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Vc2VyR3JvdXBBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBVc2VyR3JvdXBBdHRyaWJ1dGVzKTogSVVzZXJHcm91cCB7XG4gICAgbGV0IHVzZXJHcm91cE5hbWU6IHN0cmluZztcbiAgICBsZXQgdXNlckdyb3VwQXJuOiBzdHJpbmc7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG5cbiAgICBpZiAoYXR0cnMudXNlckdyb3VwQXJuICYmIGF0dHJzLnVzZXJHcm91cE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YENvbmZsaWN0aW5nVXNlckdyb3VwSWRlbnRpZmllcnNgLCAnT25seSBvbmUgb2YgdXNlckdyb3VwQXJuIG9yIHVzZXJHcm91cE5hbWUgY2FuIGJlIHByb3ZpZGVkLicsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAoYXR0cnMudXNlckdyb3VwQXJuKSB7XG4gICAgICB1c2VyR3JvdXBBcm4gPSBhdHRycy51c2VyR3JvdXBBcm47XG4gICAgICBjb25zdCBleHRyYWN0ZWRVc2VyR3JvdXBOYW1lID0gc3RhY2suc3BsaXRBcm4oYXR0cnMudXNlckdyb3VwQXJuLCBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSkucmVzb3VyY2VOYW1lO1xuICAgICAgaWYgKCFleHRyYWN0ZWRVc2VyR3JvdXBOYW1lKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEludmFsaWRVc2VyR3JvdXBBcm5gLCAnVW5hYmxlIHRvIGV4dHJhY3QgdXNlciBncm91cCBuYW1lIGZyb20gQVJOLicsIHNjb3BlKTtcbiAgICAgIH1cbiAgICAgIHVzZXJHcm91cE5hbWUgPSBleHRyYWN0ZWRVc2VyR3JvdXBOYW1lO1xuICAgIH0gZWxzZSBpZiAoYXR0cnMudXNlckdyb3VwTmFtZSkge1xuICAgICAgdXNlckdyb3VwTmFtZSA9IGF0dHJzLnVzZXJHcm91cE5hbWU7XG4gICAgICB1c2VyR3JvdXBBcm4gPSBzdGFjay5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiAnZWxhc3RpY2FjaGUnLFxuICAgICAgICByZXNvdXJjZTogJ3VzZXJncm91cCcsXG4gICAgICAgIHJlc291cmNlTmFtZTogYXR0cnMudXNlckdyb3VwTmFtZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBNaXNzaW5nVXNlckdyb3VwSWRlbnRpZmllcmAsICdPbmUgb2YgdXNlckdyb3VwTmFtZSBvciB1c2VyR3JvdXBBcm4gaXMgcmVxdWlyZWQuJywgc2NvcGUpO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFVzZXJHcm91cEJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGVuZ2luZT86IFVzZXJFbmdpbmU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdXNlckdyb3VwTmFtZTogc3RyaW5nO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHVzZXJHcm91cEFybjogc3RyaW5nO1xuXG4gICAgICBwdWJsaWMgZ2V0IHVzZXJzKCk6IElVc2VyW10gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gYXR0cnMudXNlcnMgPyBbLi4uYXR0cnMudXNlcnNdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdHJ1Y3RvcihfdXNlckdyb3VwQXJuOiBzdHJpbmcsIF91c2VyR3JvdXBOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy51c2VyR3JvdXBBcm4gPSBfdXNlckdyb3VwQXJuO1xuICAgICAgICB0aGlzLnVzZXJHcm91cE5hbWUgPSBfdXNlckdyb3VwTmFtZTtcbiAgICAgICAgdGhpcy5lbmdpbmUgPSBhdHRycy5lbmdpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQodXNlckdyb3VwQXJuLCB1c2VyR3JvdXBOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmU/OiBVc2VyRW5naW5lO1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlckdyb3VwTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF91c2VyczogSUFycmF5Qm94PElVc2VyPjtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHVzZXIgZ3JvdXBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJHcm91cEFybjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN0YXR1cyBvZiB0aGUgdXNlciBncm91cFxuICAgKiBDYW4gYmUgJ2NyZWF0aW5nJywgJ2FjdGl2ZScsICdtb2RpZnlpbmcnLCAnZGVsZXRpbmcnXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyR3JvdXBTdGF0dXM6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBDZm5Vc2VyR3JvdXA7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFVzZXJHcm91cFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHt9KTtcblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5lbmdpbmUgPSBwcm9wcy5lbmdpbmUgPz8gVXNlckVuZ2luZS5WQUxLRVk7XG4gICAgdGhpcy51c2VyR3JvdXBOYW1lID0gcHJvcHMudXNlckdyb3VwTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAvLyBFbGFzdGlDYWNoZSBpcyBhbGxvd2luZyBvbmx5IHVwcGVyY2FzZSBhbmQgbWF4IDQwIGNoYXJhY3RlcnMgZm9yIHVzZXIgZ3JvdXAgaWRcbiAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogNDAgfSkudG9Mb2NhbGVMb3dlckNhc2UoKSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3VzZXJzID0gQm94LmZyb21BcnJheShwcm9wcy51c2VycyA/PyBbXSwgeyBvbWl0RW1wdHk6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Vc2VyR3JvdXAodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZW5naW5lOiB0aGlzLmVuZ2luZS5lbmdpbmVUeXBlLFxuICAgICAgdXNlckdyb3VwSWQ6IHRoaXMudXNlckdyb3VwTmFtZSxcbiAgICAgIHVzZXJJZHM6IFRva2VuLmFzTGlzdCh0aGlzLl91c2Vycy5kZXJpdmUodXNlcnMgPT4ge1xuICAgICAgICB0aGlzLnZhbGlkYXRlVXNlcnMoKTtcbiAgICAgICAgcmV0dXJuIHVzZXJzLm1hcCh1c2VyID0+IHVzZXIudXNlcklkKTtcbiAgICAgIH0pKSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy51c2Vycykge1xuICAgICAgcHJvcHMudXNlcnMuZm9yRWFjaCh1c2VyID0+IHRoaXMuYWRkVXNlckRlcGVuZGVuY3kodXNlcikpO1xuICAgIH1cblxuICAgIHRoaXMudXNlckdyb3VwQXJuID0gdGhpcy5yZXNvdXJjZS5hdHRyQXJuO1xuICAgIHRoaXMudXNlckdyb3VwU3RhdHVzID0gdGhpcy5yZXNvdXJjZS5hdHRyU3RhdHVzO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIEVMQVNUSUNBQ0hFX1VTRVJHUk9VUF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgQ2xvdWRGb3JtYXRpb24gZGVwZW5kZW5jeSBvbiB0aGUgdXNlciByZXNvdXJjZSB0byBlbnN1cmUgcHJvcGVyIGNyZWF0aW9uIG9yZGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRVc2VyRGVwZW5kZW5jeSh1c2VyOiBJVXNlcik6IHZvaWQge1xuICAgIHRoaXMucmVzb3VyY2Uubm9kZS5hZGREZXBlbmRlbmN5KHVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFycmF5IG9mIHVzZXJzIGluIHRoZSB1c2VyIGdyb3VwXG4gICAqXG4gICAqIERvIG5vdCBwdXNoIGRpcmVjdGx5IHRvIHRoaXMgYXJyYXkuXG4gICAqIFVzZSBhZGRVc2VyKCkgaW5zdGVhZCB0byBlbnN1cmUgcHJvcGVyIHZhbGlkYXRpb24gYW5kIGRlcGVuZGVuY3kgbWFuYWdlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdXNlcnMoKTogSVVzZXJbXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJzLmdldE11dGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdXNlcnMgaW4gdGhlIHVzZXIgZ3JvdXAgZm9yIGR1cGxpY2F0ZSB1c2VybmFtZXMgYW5kIFJlZGlzLXNwZWNpZmljIHJlcXVpcmVtZW50cy5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVVc2VycygpOiB2b2lkIHtcbiAgICBjb25zdCB1c2VycyA9IHRoaXMuX3VzZXJzLmdldCgpO1xuICAgIGNvbnN0IHVzZXJOYW1lcyA9IHVzZXJzLm1hcCh1c2VyID0+IHVzZXIudXNlck5hbWUpO1xuICAgIGNvbnN0IGR1cGxpY2F0ZXMgPSB1c2VyTmFtZXMuZmlsdGVyKChuYW1lLCBpbmRleCkgPT4gdXNlck5hbWVzLmluZGV4T2YobmFtZSkgIT09IGluZGV4KTtcbiAgICBpZiAoZHVwbGljYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBEdXBsaWNhdGVVc2VyTmFtZWAsICdVc2VyIGdyb3VwIGNhbm5vdCBoYXZlIHVzZXJzIHdpdGggdGhlIHNhbWUgdXNlciBuYW1lLicsIHRoaXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVuZ2luZT8uZW5naW5lVHlwZSA9PT0gJ3JlZGlzJykge1xuICAgICAgdXNlcnMuZm9yRWFjaCh1c2VyID0+IHtcbiAgICAgICAgaWYgKHVzZXIuZW5naW5lPy5lbmdpbmVUeXBlICE9PSAncmVkaXMnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgUmVkaXNVc2VyR3JvdXBFbmdpbmVNaXNtYXRjaGAsICdSZWRpcyB1c2VyIGdyb3VwIGNhbiBvbmx5IGNvbnRhaW4gUmVkaXMgdXNlcnMuJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzRGVmYXVsdFVzZXIgPSB0aGlzLl91c2Vycy5zb21lKHVzZXIgPT4gdXNlci51c2VyTmFtZSA9PT0gJ2RlZmF1bHQnKTtcbiAgICAgIGlmICghaGFzRGVmYXVsdFVzZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgUmVkaXNVc2VyR3JvdXBNaXNzaW5nRGVmYXVsdFVzZXJgLCAnUmVkaXMgdXNlciBncm91cHMgbmVlZCB0byBjb250YWluIGEgdXNlciB3aXRoIHRoZSB1c2VyIG5hbWUgXCJkZWZhdWx0XCIuJywgdGhpcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHVzZXIgdG8gdGhpcyB1c2VyIGdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIHRvIGFkZCB0byB0aGUgZ3JvdXBcbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBhZGRVc2VyKHVzZXI6IElVc2VyKTogdm9pZCB7XG4gICAgdGhpcy5fdXNlcnMucHVzaCh1c2VyKTtcbiAgICB0aGlzLmFkZFVzZXJEZXBlbmRlbmN5KHVzZXIpO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-elasticache-alpha",
3
- "version": "2.256.1-alpha.0",
3
+ "version": "2.258.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::ElastiCache",
6
6
  "main": "lib/index.js",
@@ -85,18 +85,18 @@
85
85
  },
86
86
  "license": "Apache-2.0",
87
87
  "devDependencies": {
88
- "@aws-cdk/cdk-build-tools": "2.256.1-alpha.0",
89
- "@aws-cdk/integ-runner": "^2.197.1",
90
- "@aws-cdk/pkglint": "2.256.1-alpha.0",
88
+ "@aws-cdk/cdk-build-tools": "2.258.0-alpha.0",
89
+ "@aws-cdk/integ-runner": "^2.199.0",
90
+ "@aws-cdk/pkglint": "2.258.0-alpha.0",
91
91
  "@types/jest": "^29.5.14",
92
92
  "jest": "^29.7.0",
93
- "aws-cdk-lib": "2.256.1",
93
+ "aws-cdk-lib": "2.258.0",
94
94
  "constructs": "^10.5.0",
95
- "@aws-cdk/integ-tests-alpha": "2.256.1-alpha.0"
95
+ "@aws-cdk/integ-tests-alpha": "2.258.0-alpha.0"
96
96
  },
97
97
  "dependencies": {},
98
98
  "peerDependencies": {
99
- "aws-cdk-lib": "^2.256.1",
99
+ "aws-cdk-lib": "^2.258.0",
100
100
  "constructs": "^10.5.0"
101
101
  },
102
102
  "engines": {