@effect-aws/client-secrets-manager 1.2.1 → 1.3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-aws/client-secrets-manager
2
2
 
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
8
+
3
9
  ## 1.2.1
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -14,16 +14,13 @@ npm install --save @effect-aws/client-secrets-manager
14
14
  With default SecretsManagerClient instance:
15
15
 
16
16
  ```typescript
17
- import {
18
- SecretsManagerService,
19
- DefaultSecretsManagerServiceLayer,
20
- } from "@effect-aws/client-secrets-manager";
17
+ import { SecretsManager } from "@effect-aws/client-secrets-manager";
21
18
 
22
- const program = SecretsManagerService.getSecretValue(args);
19
+ const program = SecretsManager.getSecretValue(args);
23
20
 
24
21
  const result = pipe(
25
22
  program,
26
- Effect.provide(DefaultSecretsManagerServiceLayer),
23
+ Effect.provide(SecretsManager.defaultLayer),
27
24
  Effect.runPromise,
28
25
  );
29
26
  ```
@@ -31,23 +28,15 @@ const result = pipe(
31
28
  With custom SecretsManagerClient instance:
32
29
 
33
30
  ```typescript
34
- import {
35
- SecretsManagerService,
36
- BaseSecretsManagerServiceLayer,
37
- SecretsManagerClientInstance,
38
- } from "@effect-aws/client-secrets-manager";
31
+ import { SecretsManager } from "@effect-aws/client-secrets-manager";
39
32
 
40
- const program = SecretsManagerService.getSecretValue(args);
41
-
42
- const SecretsManagerClientInstanceLayer = Layer.succeed(
43
- SecretsManagerClientInstance,
44
- new SecretsManagerClient({ region: "eu-central-1" }),
45
- );
33
+ const program = SecretsManager.getSecretValue(args);
46
34
 
47
35
  const result = await pipe(
48
36
  program,
49
- Effect.provide(BaseSecretsManagerServiceLayer),
50
- Effect.provide(SecretsManagerClientInstanceLayer),
37
+ Effect.provide(
38
+ SecretsManager.baseLayer(() => new SecretsManagerClient({ region: "eu-central-1" })),
39
+ ),
51
40
  Effect.runPromise,
52
41
  );
53
42
  ```
@@ -55,35 +44,15 @@ const result = await pipe(
55
44
  With custom SecretsManagerClient configuration:
56
45
 
57
46
  ```typescript
58
- import {
59
- SecretsManagerService,
60
- BaseSecretsManagerServiceLayer,
61
- DefaultSecretsManagerClientConfigLayer,
62
- SecretsManagerClientInstance,
63
- SecretsManagerClientInstanceConfig,
64
- } from "@effect-aws/client-secrets-manager";
65
-
66
- const program = SecretsManagerService.getSecretValue(args);
67
-
68
- const SecretsManagerClientInstanceLayer = Layer.provide(
69
- Layer.effect(
70
- SecretsManagerClientInstance,
71
- SecretsManagerClientInstanceConfig.pipe(
72
- Effect.map(
73
- (config) =>
74
- new SecretsManagerClient({ ...config, region: "eu-central-1" }),
75
- ),
76
- ),
77
- ),
78
- DefaultSecretsManagerClientConfigLayer,
79
- );
47
+ import { SecretsManager } from "@effect-aws/client-secrets-manager";
48
+
49
+ const program = SecretsManager.getSecretValue(args);
80
50
 
81
51
  const result = await pipe(
82
52
  program,
83
- Effect.provide(BaseSecretsManagerServiceLayer),
84
- Effect.provide(SecretsManagerClientInstanceLayer),
53
+ Effect.provide(SecretsManager.layer({ region: "eu-central-1" })),
85
54
  Effect.runPromiseExit,
86
55
  );
87
56
  ```
88
57
 
89
- or map over `DefaultSecretsManagerClientConfigLayer` layer context and update the configuration...
58
+ or use `SecretsManager.baseLayer((default) => new SecretsManagerClient({ ...default, region: "eu-central-1" }))`
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import { type BatchGetSecretValueCommandInput, type BatchGetSecretValueCommandOutput, type CancelRotateSecretCommandInput, type CancelRotateSecretCommandOutput, type CreateSecretCommandInput, type CreateSecretCommandOutput, type DeleteResourcePolicyCommandInput, type DeleteResourcePolicyCommandOutput, type DeleteSecretCommandInput, type DeleteSecretCommandOutput, type DescribeSecretCommandInput, type DescribeSecretCommandOutput, type GetRandomPasswordCommandInput, type GetRandomPasswordCommandOutput, type GetResourcePolicyCommandInput, type GetResourcePolicyCommandOutput, type GetSecretValueCommandInput, type GetSecretValueCommandOutput, type ListSecretVersionIdsCommandInput, type ListSecretVersionIdsCommandOutput, type ListSecretsCommandInput, type ListSecretsCommandOutput, type PutResourcePolicyCommandInput, type PutResourcePolicyCommandOutput, type PutSecretValueCommandInput, type PutSecretValueCommandOutput, type RemoveRegionsFromReplicationCommandInput, type RemoveRegionsFromReplicationCommandOutput, type ReplicateSecretToRegionsCommandInput, type ReplicateSecretToRegionsCommandOutput, type RestoreSecretCommandInput, type RestoreSecretCommandOutput, type RotateSecretCommandInput, type RotateSecretCommandOutput, type StopReplicationToReplicaCommandInput, type StopReplicationToReplicaCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateSecretCommandInput, type UpdateSecretCommandOutput, type UpdateSecretVersionStageCommandInput, type UpdateSecretVersionStageCommandOutput, type ValidateResourcePolicyCommandInput, type ValidateResourcePolicyCommandOutput } from "@aws-sdk/client-secrets-manager";
4
+ import { type SecretsManagerClient, type SecretsManagerClientConfig, type BatchGetSecretValueCommandInput, type BatchGetSecretValueCommandOutput, type CancelRotateSecretCommandInput, type CancelRotateSecretCommandOutput, type CreateSecretCommandInput, type CreateSecretCommandOutput, type DeleteResourcePolicyCommandInput, type DeleteResourcePolicyCommandOutput, type DeleteSecretCommandInput, type DeleteSecretCommandOutput, type DescribeSecretCommandInput, type DescribeSecretCommandOutput, type GetRandomPasswordCommandInput, type GetRandomPasswordCommandOutput, type GetResourcePolicyCommandInput, type GetResourcePolicyCommandOutput, type GetSecretValueCommandInput, type GetSecretValueCommandOutput, type ListSecretVersionIdsCommandInput, type ListSecretVersionIdsCommandOutput, type ListSecretsCommandInput, type ListSecretsCommandOutput, type PutResourcePolicyCommandInput, type PutResourcePolicyCommandOutput, type PutSecretValueCommandInput, type PutSecretValueCommandOutput, type RemoveRegionsFromReplicationCommandInput, type RemoveRegionsFromReplicationCommandOutput, type ReplicateSecretToRegionsCommandInput, type ReplicateSecretToRegionsCommandOutput, type RestoreSecretCommandInput, type RestoreSecretCommandOutput, type RotateSecretCommandInput, type RotateSecretCommandOutput, type StopReplicationToReplicaCommandInput, type StopReplicationToReplicaCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateSecretCommandInput, type UpdateSecretCommandOutput, type UpdateSecretVersionStageCommandInput, type UpdateSecretVersionStageCommandOutput, type ValidateResourcePolicyCommandInput, type ValidateResourcePolicyCommandOutput } from "@aws-sdk/client-secrets-manager";
5
5
  import { Effect, Layer } from "effect";
6
6
  import { DecryptionError, EncryptionError, InternalServiceError, InvalidNextTokenError, InvalidParameterError, InvalidRequestError, LimitExceededError, MalformedPolicyDocumentError, PreconditionNotMetError, PublicPolicyError, ResourceExistsError, ResourceNotFoundError, SdkError } from "./Errors";
7
7
  import { SecretsManagerClientInstance } from "./SecretsManagerClientInstance";
8
+ import { SecretsManagerClientInstanceConfig } from "./SecretsManagerClientInstanceConfig";
8
9
  /**
9
- * @since 1.2.1
10
+ * @since 1.0.0
10
11
  */
11
12
  export interface HttpHandlerOptions {
12
13
  /**
@@ -110,6 +111,11 @@ interface SecretsManagerService$ {
110
111
  */
111
112
  validateResourcePolicy(args: ValidateResourcePolicyCommandInput, options?: HttpHandlerOptions): Effect.Effect<ValidateResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | ResourceNotFoundError>;
112
113
  }
114
+ /**
115
+ * @since 1.0.0
116
+ * @category constructors
117
+ */
118
+ export declare const makeSecretsManagerService: Effect.Effect<SecretsManagerService$, never, SecretsManagerClientInstance>;
113
119
  declare const SecretsManagerService_base: import("effect/Context").TagClass<SecretsManagerService, "@effect-aws/client-secrets-manager/SecretsManagerService", SecretsManagerService$> & {
114
120
  readonly _: Effect.Effect<SecretsManagerService$["_"], never, SecretsManagerService>;
115
121
  batchGetSecretValue: (args: BatchGetSecretValueCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<BatchGetSecretValueCommandOutput, DecryptionError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
@@ -143,25 +149,32 @@ declare const SecretsManagerService_base: import("effect/Context").TagClass<Secr
143
149
  * @category models
144
150
  */
145
151
  export declare class SecretsManagerService extends SecretsManagerService_base {
152
+ static readonly defaultLayer: Layer.Layer<SecretsManagerService, never, never>;
153
+ static readonly layer: (config: SecretsManagerClientConfig) => Layer.Layer<SecretsManagerService, never, never>;
154
+ static readonly baseLayer: (evaluate: (defaultConfig: SecretsManagerClientConfig) => SecretsManagerClient) => Layer.Layer<SecretsManagerService, never, never>;
146
155
  }
147
156
  /**
148
157
  * @since 1.0.0
149
- * @category constructors
158
+ * @category models
159
+ * @alias SecretsManagerService
150
160
  */
151
- export declare const makeSecretsManagerService: Effect.Effect<SecretsManagerService$, never, SecretsManagerClientInstance>;
161
+ export declare const SecretsManager: typeof SecretsManagerService;
152
162
  /**
153
163
  * @since 1.0.0
154
164
  * @category layers
165
+ * @deprecated use SecretsManager.baseLayer instead
155
166
  */
156
167
  export declare const BaseSecretsManagerServiceLayer: Layer.Layer<SecretsManagerService, never, SecretsManagerClientInstance>;
157
168
  /**
158
169
  * @since 1.0.0
159
170
  * @category layers
171
+ * @deprecated use SecretsManager.layer instead
160
172
  */
161
- export declare const SecretsManagerServiceLayer: Layer.Layer<SecretsManagerService, never, import("./SecretsManagerClientInstanceConfig").SecretsManagerClientInstanceConfig>;
173
+ export declare const SecretsManagerServiceLayer: Layer.Layer<SecretsManagerService, never, SecretsManagerClientInstanceConfig>;
162
174
  /**
163
175
  * @since 1.0.0
164
176
  * @category layers
177
+ * @deprecated use SecretsManager.defaultLayer instead
165
178
  */
166
179
  export declare const DefaultSecretsManagerServiceLayer: Layer.Layer<SecretsManagerService, never, never>;
167
180
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSecretsManagerServiceLayer = exports.SecretsManagerServiceLayer = exports.BaseSecretsManagerServiceLayer = exports.makeSecretsManagerService = exports.SecretsManagerService = void 0;
4
+ exports.DefaultSecretsManagerServiceLayer = exports.SecretsManagerServiceLayer = exports.BaseSecretsManagerServiceLayer = exports.SecretsManager = exports.SecretsManagerService = exports.makeSecretsManagerService = void 0;
4
5
  /**
5
6
  * @since 1.0.0
6
7
  */
@@ -34,13 +35,6 @@ const commands = {
34
35
  UpdateSecretVersionStageCommand: client_secrets_manager_1.UpdateSecretVersionStageCommand,
35
36
  ValidateResourcePolicyCommand: client_secrets_manager_1.ValidateResourcePolicyCommand,
36
37
  };
37
- /**
38
- * @since 1.0.0
39
- * @category models
40
- */
41
- class SecretsManagerService extends effect_1.Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
42
- }
43
- exports.SecretsManagerService = SecretsManagerService;
44
38
  /**
45
39
  * @since 1.0.0
46
40
  * @category constructors
@@ -79,19 +73,39 @@ exports.makeSecretsManagerService = effect_1.Effect.gen(function* (_) {
79
73
  return { ...acc, [methodName]: methodImpl };
80
74
  }, {});
81
75
  });
76
+ /**
77
+ * @since 1.0.0
78
+ * @category models
79
+ */
80
+ class SecretsManagerService extends effect_1.Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
81
+ }
82
+ exports.SecretsManagerService = SecretsManagerService;
83
+ _a = SecretsManagerService;
84
+ SecretsManagerService.defaultLayer = effect_1.Layer.effect(_a, exports.makeSecretsManagerService).pipe(effect_1.Layer.provide(SecretsManagerClientInstance_1.SecretsManagerClientInstanceLayer), effect_1.Layer.provide(SecretsManagerClientInstanceConfig_1.DefaultSecretsManagerClientConfigLayer));
85
+ SecretsManagerService.layer = (config) => effect_1.Layer.effect(_a, exports.makeSecretsManagerService).pipe(effect_1.Layer.provide(SecretsManagerClientInstance_1.SecretsManagerClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(SecretsManagerClientInstanceConfig_1.SecretsManagerClientInstanceConfig, SecretsManagerClientInstanceConfig_1.makeDefaultSecretsManagerClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
86
+ SecretsManagerService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeSecretsManagerService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(SecretsManagerClientInstance_1.SecretsManagerClientInstance, effect_1.Effect.map(SecretsManagerClientInstanceConfig_1.makeDefaultSecretsManagerClientInstanceConfig, evaluate))));
87
+ /**
88
+ * @since 1.0.0
89
+ * @category models
90
+ * @alias SecretsManagerService
91
+ */
92
+ exports.SecretsManager = SecretsManagerService;
82
93
  /**
83
94
  * @since 1.0.0
84
95
  * @category layers
96
+ * @deprecated use SecretsManager.baseLayer instead
85
97
  */
86
98
  exports.BaseSecretsManagerServiceLayer = effect_1.Layer.effect(SecretsManagerService, exports.makeSecretsManagerService);
87
99
  /**
88
100
  * @since 1.0.0
89
101
  * @category layers
102
+ * @deprecated use SecretsManager.layer instead
90
103
  */
91
104
  exports.SecretsManagerServiceLayer = exports.BaseSecretsManagerServiceLayer.pipe(effect_1.Layer.provide(SecretsManagerClientInstance_1.SecretsManagerClientInstanceLayer));
92
105
  /**
93
106
  * @since 1.0.0
94
107
  * @category layers
108
+ * @deprecated use SecretsManager.defaultLayer instead
95
109
  */
96
- exports.DefaultSecretsManagerServiceLayer = exports.SecretsManagerServiceLayer.pipe(effect_1.Layer.provide(SecretsManagerClientInstanceConfig_1.DefaultSecretsManagerClientConfigLayer));
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDRFQXVFeUM7QUFDekMsbUNBQXFEO0FBQ3JELHFDQWdCa0I7QUFDbEIsaUZBR3dDO0FBQ3hDLDZGQUE4RjtBQWE5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQixFQUExQixtREFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLGtEQUF5QjtJQUN6QixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4QixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0Isa0JBQWtCLEVBQWxCLDJDQUFrQjtJQUNsQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsbUNBQW1DLEVBQW5DLDREQUFtQztJQUNuQywrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsb0JBQW9CLEVBQXBCLDZDQUFvQjtJQUNwQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IsNkJBQTZCLEVBQTdCLHNEQUE2QjtDQUM5QixDQUFDO0FBb1hGOzs7R0FHRztBQUNILE1BQWEscUJBQXNCLFNBQVEsZUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFGckQsc0RBRXFEO0FBRXJEOzs7R0FHRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywyREFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sZUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsZUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLHVEQUE4QjtvQkFDM0MseUJBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLGFBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sSUFBQSxpQkFBUSxFQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBMkIsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDeEQscUJBQXFCLEVBQ3JCLGlDQUF5QixDQUMxQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBRyxzQ0FBOEIsQ0FBQyxJQUFJLENBQzNFLGNBQUssQ0FBQyxPQUFPLENBQUMsZ0VBQWlDLENBQUMsQ0FDakQsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsaUNBQWlDLEdBQzVDLGtDQUEwQixDQUFDLElBQUksQ0FDN0IsY0FBSyxDQUFDLE9BQU8sQ0FBQywyRUFBc0MsQ0FBQyxDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjIuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldENvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmQsXG4gIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNlY3JldHNNYW5hZ2VyU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjcmV0KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlY3JldChcbiAgICBhcmdzOiBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmFuZG9tUGFzc3dvcmQoXG4gICAgYXJnczogR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldFZlcnNpb25JZHMoXG4gICAgYXJnczogTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldHMoXG4gICAgYXJnczogTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFB1YmxpY1BvbGljeUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgcHV0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnMoXG4gICAgYXJnczogUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlU2VjcmV0KFxuICAgIGFyZ3M6IFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgc3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhKFxuICAgIGFyZ3M6IFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0KFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlKFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
110
+ exports.DefaultSecretsManagerServiceLayer = SecretsManagerService.defaultLayer;
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCw0RUF5RXlDO0FBQ3pDLG1DQUFxRDtBQUNyRCxxQ0FnQmtCO0FBQ2xCLGlGQUd3QztBQUN4Qyw2RkFJOEM7QUFhOUMsTUFBTSxRQUFRLEdBQUc7SUFDZiwwQkFBMEIsRUFBMUIsbURBQTBCO0lBQzFCLHlCQUF5QixFQUF6QixrREFBeUI7SUFDekIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwyQkFBMkIsRUFBM0Isb0RBQTJCO0lBQzNCLG1CQUFtQixFQUFuQiw0Q0FBbUI7SUFDbkIscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQiwyQkFBMkIsRUFBM0Isb0RBQTJCO0lBQzNCLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4QixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLG1DQUFtQyxFQUFuQyw0REFBbUM7SUFDbkMsK0JBQStCLEVBQS9CLHdEQUErQjtJQUMvQixvQkFBb0IsRUFBcEIsNkNBQW9CO0lBQ3BCLG1CQUFtQixFQUFuQiw0Q0FBbUI7SUFDbkIsK0JBQStCLEVBQS9CLHdEQUErQjtJQUMvQixrQkFBa0IsRUFBbEIsMkNBQWtCO0lBQ2xCLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLDZCQUE2QixFQUE3QixzREFBNkI7Q0FDOUIsQ0FBQztBQW9YRjs7O0dBR0c7QUFDVSxRQUFBLHlCQUF5QixHQUFHLGVBQU0sQ0FBQyxHQUFHLENBQUMsUUFB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QUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSwrQkFBUyxHQUFHLENBQzFCLFFBRXlCLEVBQ3pCLEVBQUUsQ0FDRixjQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSxpQ0FBeUIsQ0FBQyxDQUFDLElBQUksQ0FDaEQsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLDJEQUE0QixFQUM1QixlQUFNLENBQUMsR0FBRyxDQUFDLGtGQUE2QyxFQUFFLFFBQVEsQ0FBQyxDQUNwRSxDQUNGLENBQ0YsQUFac0IsQ0FZckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDeEQscUJBQXFCLEVBQ3JCLGlDQUF5QixDQUMxQixDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsc0NBQThCLENBQUMsSUFBSSxDQUMzRSxjQUFLLENBQUMsT0FBTyxDQUFDLGdFQUFpQyxDQUFDLENBQ2pELENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FDNUMscUJBQXFCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICB0eXBlIFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZWNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxSb3RhdGVTZWNyZXQoXG4gICAgYXJnczogQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlY3JldChcbiAgICBhcmdzOiBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZWNyZXQoXG4gICAgYXJnczogRGVsZXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZWNyZXQoXG4gICAgYXJnczogRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb24oXG4gICAgYXJnczogUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVwbGljYXRlU2VjcmV0VG9SZWdpb25zKFxuICAgIGFyZ3M6IFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJvdGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByb3RhdGVTZWNyZXQoXG4gICAgYXJnczogUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZH1cbiAgICovXG4gIHN0b3BSZXBsaWNhdGlvblRvUmVwbGljYShcbiAgICBhcmdzOiBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldChcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdmFsaWRhdGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0U2VjcmV0c01hbmFnZXJDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChcbiAgICAgIGRlZmF1bHRDb25maWc6IFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnLFxuICAgICkgPT4gU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNlY3JldHNNYW5hZ2VyU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgU2VjcmV0c01hbmFnZXJTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTZWNyZXRzTWFuYWdlciA9IFNlY3JldHNNYW5hZ2VyU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTZWNyZXRzTWFuYWdlci5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4gIG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNlY3JldHNNYW5hZ2VyLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgU2VjcmV0c01hbmFnZXIuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  /**
2
3
  * @since 1.0.0
3
4
  */
@@ -5,7 +6,7 @@ import { SecretsManagerServiceException, BatchGetSecretValueCommand, CancelRotat
5
6
  import { Data, Effect, Layer, Record } from "effect";
6
7
  import { AllServiceErrors, SdkError, } from "./Errors";
7
8
  import { SecretsManagerClientInstance, SecretsManagerClientInstanceLayer, } from "./SecretsManagerClientInstance";
8
- import { DefaultSecretsManagerClientConfigLayer } from "./SecretsManagerClientInstanceConfig";
9
+ import { DefaultSecretsManagerClientConfigLayer, makeDefaultSecretsManagerClientInstanceConfig, SecretsManagerClientInstanceConfig, } from "./SecretsManagerClientInstanceConfig";
9
10
  const commands = {
10
11
  BatchGetSecretValueCommand,
11
12
  CancelRotateSecretCommand,
@@ -31,12 +32,6 @@ const commands = {
31
32
  UpdateSecretVersionStageCommand,
32
33
  ValidateResourcePolicyCommand,
33
34
  };
34
- /**
35
- * @since 1.0.0
36
- * @category models
37
- */
38
- export class SecretsManagerService extends Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
39
- }
40
35
  /**
41
36
  * @since 1.0.0
42
37
  * @category constructors
@@ -75,19 +70,38 @@ export const makeSecretsManagerService = Effect.gen(function* (_) {
75
70
  return { ...acc, [methodName]: methodImpl };
76
71
  }, {});
77
72
  });
73
+ /**
74
+ * @since 1.0.0
75
+ * @category models
76
+ */
77
+ export class SecretsManagerService extends Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
78
+ }
79
+ _a = SecretsManagerService;
80
+ SecretsManagerService.defaultLayer = Layer.effect(_a, makeSecretsManagerService).pipe(Layer.provide(SecretsManagerClientInstanceLayer), Layer.provide(DefaultSecretsManagerClientConfigLayer));
81
+ SecretsManagerService.layer = (config) => Layer.effect(_a, makeSecretsManagerService).pipe(Layer.provide(SecretsManagerClientInstanceLayer), Layer.provide(Layer.effect(SecretsManagerClientInstanceConfig, makeDefaultSecretsManagerClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
82
+ SecretsManagerService.baseLayer = (evaluate) => Layer.effect(_a, makeSecretsManagerService).pipe(Layer.provide(Layer.effect(SecretsManagerClientInstance, Effect.map(makeDefaultSecretsManagerClientInstanceConfig, evaluate))));
83
+ /**
84
+ * @since 1.0.0
85
+ * @category models
86
+ * @alias SecretsManagerService
87
+ */
88
+ export const SecretsManager = SecretsManagerService;
78
89
  /**
79
90
  * @since 1.0.0
80
91
  * @category layers
92
+ * @deprecated use SecretsManager.baseLayer instead
81
93
  */
82
94
  export const BaseSecretsManagerServiceLayer = Layer.effect(SecretsManagerService, makeSecretsManagerService);
83
95
  /**
84
96
  * @since 1.0.0
85
97
  * @category layers
98
+ * @deprecated use SecretsManager.layer instead
86
99
  */
87
100
  export const SecretsManagerServiceLayer = BaseSecretsManagerServiceLayer.pipe(Layer.provide(SecretsManagerClientInstanceLayer));
88
101
  /**
89
102
  * @since 1.0.0
90
103
  * @category layers
104
+ * @deprecated use SecretsManager.defaultLayer instead
91
105
  */
92
- export const DefaultSecretsManagerServiceLayer = SecretsManagerServiceLayer.pipe(Layer.provide(DefaultSecretsManagerClientConfigLayer));
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQixxQkFBcUIsRUFHckIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLGtCQUFrQixFQUdsQix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLG1DQUFtQyxFQUduQywrQkFBK0IsRUFHL0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQiwrQkFBK0IsRUFHL0Isa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLDZCQUE2QixHQUc5QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQWFoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQWE5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hC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QUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLDBCQUEwQixDQUFDLElBQUksQ0FDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjIuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldENvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmQsXG4gIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNlY3JldHNNYW5hZ2VyU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjcmV0KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlY3JldChcbiAgICBhcmdzOiBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmFuZG9tUGFzc3dvcmQoXG4gICAgYXJnczogR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldFZlcnNpb25JZHMoXG4gICAgYXJnczogTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldHMoXG4gICAgYXJnczogTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFB1YmxpY1BvbGljeUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgcHV0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnMoXG4gICAgYXJnczogUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlU2VjcmV0KFxuICAgIGFyZ3M6IFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgc3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhKFxuICAgIGFyZ3M6IFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0KFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlKFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
106
+ export const DefaultSecretsManagerServiceLayer = SecretsManagerService.defaultLayer;
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsOEJBQThCLEVBRzlCLDBCQUEwQixFQUcxQix5QkFBeUIsRUFHekIsbUJBQW1CLEVBR25CLDJCQUEyQixFQUczQixtQkFBbUIsRUFHbkIscUJBQXFCLEVBR3JCLHdCQUF3QixFQUd4Qix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLDJCQUEyQixFQUczQixrQkFBa0IsRUFHbEIsd0JBQXdCLEVBR3hCLHFCQUFxQixFQUdyQixtQ0FBbUMsRUFHbkMsK0JBQStCLEVBRy9CLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLGtCQUFrQixFQUdsQixvQkFBb0IsRUFHcEIsbUJBQW1CLEVBR25CLCtCQUErQixFQUcvQiw2QkFBNkIsR0FHOUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFDTCxnQkFBZ0IsRUFhaEIsUUFBUSxHQUVULE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUNBQWlDLEdBQ2xDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLHNDQUFzQyxFQUN0Qyw2Q0FBNkMsRUFDN0Msa0NBQWtDLEdBQ25DLE1BQU0sc0NBQXNDLENBQUM7QUFhOUMsTUFBTSxRQUFRLEdBQUc7SUFDZiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFD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KiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIFNlY3JldHNNYW5hZ2VyQ2xpZW50LFxuICB0eXBlIFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZWNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxSb3RhdGVTZWNyZXQoXG4gICAgYXJnczogQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlY3JldChcbiAgICBhcmdzOiBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZWNyZXQoXG4gICAgYXJnczogRGVsZXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZWNyZXQoXG4gICAgYXJnczogRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkTmV4dFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb24oXG4gICAgYXJnczogUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVwbGljYXRlU2VjcmV0VG9SZWdpb25zKFxuICAgIGFyZ3M6IFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJvdGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByb3RhdGVTZWNyZXQoXG4gICAgYXJnczogUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZH1cbiAgICovXG4gIHN0b3BSZXBsaWNhdGlvblRvUmVwbGljYShcbiAgICBhcmdzOiBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldChcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdmFsaWRhdGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0U2VjcmV0c01hbmFnZXJDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChcbiAgICAgIGRlZmF1bHRDb25maWc6IFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnLFxuICAgICkgPT4gU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNlY3JldHNNYW5hZ2VyU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgU2VjcmV0c01hbmFnZXJTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTZWNyZXRzTWFuYWdlciA9IFNlY3JldHNNYW5hZ2VyU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTZWNyZXRzTWFuYWdlci5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4gIG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNlY3JldHNNYW5hZ2VyLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgU2VjcmV0c01hbmFnZXIuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "version": "1.2.1",
36
+ "version": "1.3.0",
37
37
  "types": "lib/index.d.ts",
38
38
  "module": "lib/esm/index.js",
39
39
  "sideEffects": [],