@effect-aws/client-sqs 1.5.1 → 1.6.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-sqs
2
2
 
3
+ ## 1.6.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.5.1
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -14,13 +14,13 @@ npm install --save @effect-aws/client-sqs
14
14
  With default SQSClient instance:
15
15
 
16
16
  ```typescript
17
- import { SQSService, DefaultSQSServiceLayer } from "@effect-aws/client-sqs";
17
+ import { SQS } from "@effect-aws/client-sqs";
18
18
 
19
- const program = SQSService.sendMessage(args);
19
+ const program = SQS.sendMessage(args);
20
20
 
21
21
  const result = pipe(
22
22
  program,
23
- Effect.provide(DefaultSQSServiceLayer),
23
+ Effect.provide(SQS.defaultLayer),
24
24
  Effect.runPromise,
25
25
  );
26
26
  ```
@@ -28,23 +28,15 @@ const result = pipe(
28
28
  With custom SQSClient instance:
29
29
 
30
30
  ```typescript
31
- import {
32
- SQSService,
33
- BaseSQSServiceLayer,
34
- SQSClientInstance,
35
- } from "@effect-aws/client-sqs";
31
+ import { SQS } from "@effect-aws/client-sqs";
36
32
 
37
- const program = SQSService.sendMessage(args);
38
-
39
- const SQSClientInstanceLayer = Layer.succeed(
40
- SQSClientInstance,
41
- new SQSClient({ region: "eu-central-1" }),
42
- );
33
+ const program = SQS.sendMessage(args);
43
34
 
44
35
  const result = await pipe(
45
36
  program,
46
- Effect.provide(BaseSQSServiceLayer),
47
- Effect.provide(SQSClientInstanceLayer),
37
+ Effect.provide(
38
+ SQS.baseLayer(() => new SQSClient({ region: "eu-central-1" })),
39
+ ),
48
40
  Effect.runPromise,
49
41
  );
50
42
  ```
@@ -52,34 +44,15 @@ const result = await pipe(
52
44
  With custom SQSClient configuration:
53
45
 
54
46
  ```typescript
55
- import {
56
- SQSService,
57
- BaseSQSServiceLayer,
58
- DefaultSQSClientConfigLayer,
59
- SQSClientInstance,
60
- SQSClientInstanceConfig,
61
- } from "@effect-aws/client-sqs";
62
-
63
- const program = SQSService.sendMessage(args);
64
-
65
- const SQSClientInstanceLayer = Layer.provide(
66
- Layer.effect(
67
- SQSClientInstance,
68
- SQSClientInstanceConfig.pipe(
69
- Effect.map(
70
- (config) => new SQSClient({ ...config, region: "eu-central-1" }),
71
- ),
72
- ),
73
- ),
74
- DefaultSQSClientConfigLayer,
75
- );
47
+ import { SQS } from "@effect-aws/client-sqs";
48
+
49
+ const program = SQS.sendMessage(args);
76
50
 
77
51
  const result = await pipe(
78
52
  program,
79
- Effect.provide(BaseSQSServiceLayer),
80
- Effect.provide(SQSClientInstanceLayer),
53
+ Effect.provide(SQS.layer({ region: "eu-central-1" })),
81
54
  Effect.runPromiseExit,
82
55
  );
83
56
  ```
84
57
 
85
- or map over `DefaultSQSClientConfigLayer` layer context and update the configuration...
58
+ or use `SQS.baseLayer((default) => new SQSClient({ ...default, region: "eu-central-1" }))`
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import { type AddPermissionCommandInput, type AddPermissionCommandOutput, type CancelMessageMoveTaskCommandInput, type CancelMessageMoveTaskCommandOutput, type ChangeMessageVisibilityCommandInput, type ChangeMessageVisibilityCommandOutput, type ChangeMessageVisibilityBatchCommandInput, type ChangeMessageVisibilityBatchCommandOutput, type CreateQueueCommandInput, type CreateQueueCommandOutput, type DeleteMessageCommandInput, type DeleteMessageCommandOutput, type DeleteMessageBatchCommandInput, type DeleteMessageBatchCommandOutput, type DeleteQueueCommandInput, type DeleteQueueCommandOutput, type GetQueueAttributesCommandInput, type GetQueueAttributesCommandOutput, type GetQueueUrlCommandInput, type GetQueueUrlCommandOutput, type ListDeadLetterSourceQueuesCommandInput, type ListDeadLetterSourceQueuesCommandOutput, type ListMessageMoveTasksCommandInput, type ListMessageMoveTasksCommandOutput, type ListQueueTagsCommandInput, type ListQueueTagsCommandOutput, type ListQueuesCommandInput, type ListQueuesCommandOutput, type PurgeQueueCommandInput, type PurgeQueueCommandOutput, type ReceiveMessageCommandInput, type ReceiveMessageCommandOutput, type RemovePermissionCommandInput, type RemovePermissionCommandOutput, type SendMessageCommandInput, type SendMessageCommandOutput, type SendMessageBatchCommandInput, type SendMessageBatchCommandOutput, type SetQueueAttributesCommandInput, type SetQueueAttributesCommandOutput, type StartMessageMoveTaskCommandInput, type StartMessageMoveTaskCommandOutput, type TagQueueCommandInput, type TagQueueCommandOutput, type UntagQueueCommandInput, type UntagQueueCommandOutput } from "@aws-sdk/client-sqs";
4
+ import { type SQSClient, type SQSClientConfig, type AddPermissionCommandInput, type AddPermissionCommandOutput, type CancelMessageMoveTaskCommandInput, type CancelMessageMoveTaskCommandOutput, type ChangeMessageVisibilityCommandInput, type ChangeMessageVisibilityCommandOutput, type ChangeMessageVisibilityBatchCommandInput, type ChangeMessageVisibilityBatchCommandOutput, type CreateQueueCommandInput, type CreateQueueCommandOutput, type DeleteMessageCommandInput, type DeleteMessageCommandOutput, type DeleteMessageBatchCommandInput, type DeleteMessageBatchCommandOutput, type DeleteQueueCommandInput, type DeleteQueueCommandOutput, type GetQueueAttributesCommandInput, type GetQueueAttributesCommandOutput, type GetQueueUrlCommandInput, type GetQueueUrlCommandOutput, type ListDeadLetterSourceQueuesCommandInput, type ListDeadLetterSourceQueuesCommandOutput, type ListMessageMoveTasksCommandInput, type ListMessageMoveTasksCommandOutput, type ListQueueTagsCommandInput, type ListQueueTagsCommandOutput, type ListQueuesCommandInput, type ListQueuesCommandOutput, type PurgeQueueCommandInput, type PurgeQueueCommandOutput, type ReceiveMessageCommandInput, type ReceiveMessageCommandOutput, type RemovePermissionCommandInput, type RemovePermissionCommandOutput, type SendMessageCommandInput, type SendMessageCommandOutput, type SendMessageBatchCommandInput, type SendMessageBatchCommandOutput, type SetQueueAttributesCommandInput, type SetQueueAttributesCommandOutput, type StartMessageMoveTaskCommandInput, type StartMessageMoveTaskCommandOutput, type TagQueueCommandInput, type TagQueueCommandOutput, type UntagQueueCommandInput, type UntagQueueCommandOutput } from "@aws-sdk/client-sqs";
5
5
  import { Effect, Layer } from "effect";
6
6
  import { BatchEntryIdsNotDistinctError, BatchRequestTooLongError, EmptyBatchRequestError, InvalidAddressError, InvalidAttributeNameError, InvalidAttributeValueError, InvalidBatchEntryIdError, InvalidIdFormatError, InvalidMessageContentsError, InvalidSecurityError, KmsAccessDeniedError, KmsDisabledError, KmsInvalidKeyUsageError, KmsInvalidStateError, KmsNotFoundError, KmsOptInRequiredError, KmsThrottledError, MessageNotInflightError, OverLimitError, PurgeQueueInProgressError, QueueDeletedRecentlyError, QueueDoesNotExistError, QueueNameExistsError, ReceiptHandleIsInvalidError, RequestThrottledError, ResourceNotFoundError, TooManyEntriesInBatchRequestError, UnsupportedOperationError, SdkError } from "./Errors";
7
7
  import { SQSClientInstance } from "./SQSClientInstance";
8
+ import { SQSClientInstanceConfig } from "./SQSClientInstanceConfig";
8
9
  /**
9
- * @since 1.5.1
10
+ * @since 1.0.0
10
11
  */
11
12
  export interface HttpHandlerOptions {
12
13
  /**
@@ -110,6 +111,11 @@ interface SQSService$ {
110
111
  */
111
112
  untagQueue(args: UntagQueueCommandInput, options?: HttpHandlerOptions): Effect.Effect<UntagQueueCommandOutput, SdkError | InvalidAddressError | InvalidSecurityError | QueueDoesNotExistError | RequestThrottledError | UnsupportedOperationError>;
112
113
  }
114
+ /**
115
+ * @since 1.0.0
116
+ * @category constructors
117
+ */
118
+ export declare const makeSQSService: Effect.Effect<SQSService$, never, SQSClientInstance>;
113
119
  declare const SQSService_base: import("effect/Context").TagClass<SQSService, "@effect-aws/client-sqs/SQSService", SQSService$> & {
114
120
  readonly _: Effect.Effect<SQSService$["_"], never, SQSService>;
115
121
  addPermission: (args: AddPermissionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<AddPermissionCommandOutput, InvalidAddressError | InvalidSecurityError | OverLimitError | QueueDoesNotExistError | RequestThrottledError | UnsupportedOperationError | SdkError, SQSService>;
@@ -143,25 +149,32 @@ declare const SQSService_base: import("effect/Context").TagClass<SQSService, "@e
143
149
  * @category models
144
150
  */
145
151
  export declare class SQSService extends SQSService_base {
152
+ static readonly defaultLayer: Layer.Layer<SQSService, never, never>;
153
+ static readonly layer: (config: SQSClientConfig) => Layer.Layer<SQSService, never, never>;
154
+ static readonly baseLayer: (evaluate: (defaultConfig: SQSClientConfig) => SQSClient) => Layer.Layer<SQSService, never, never>;
146
155
  }
147
156
  /**
148
157
  * @since 1.0.0
149
- * @category constructors
158
+ * @category models
159
+ * @alias SQSService
150
160
  */
151
- export declare const makeSQSService: Effect.Effect<SQSService$, never, SQSClientInstance>;
161
+ export declare const SQS: typeof SQSService;
152
162
  /**
153
163
  * @since 1.0.0
154
164
  * @category layers
165
+ * @deprecated use SQS.baseLayer instead
155
166
  */
156
167
  export declare const BaseSQSServiceLayer: Layer.Layer<SQSService, never, SQSClientInstance>;
157
168
  /**
158
169
  * @since 1.0.0
159
170
  * @category layers
171
+ * @deprecated use SQS.layer instead
160
172
  */
161
- export declare const SQSServiceLayer: Layer.Layer<SQSService, never, import("./SQSClientInstanceConfig").SQSClientInstanceConfig>;
173
+ export declare const SQSServiceLayer: Layer.Layer<SQSService, never, SQSClientInstanceConfig>;
162
174
  /**
163
175
  * @since 1.0.0
164
176
  * @category layers
177
+ * @deprecated use SQS.defaultLayer instead
165
178
  */
166
179
  export declare const DefaultSQSServiceLayer: Layer.Layer<SQSService, never, never>;
167
180
  export {};
package/lib/SQSService.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSQSServiceLayer = exports.SQSServiceLayer = exports.BaseSQSServiceLayer = exports.makeSQSService = exports.SQSService = void 0;
4
+ exports.DefaultSQSServiceLayer = exports.SQSServiceLayer = exports.BaseSQSServiceLayer = exports.SQS = exports.SQSService = exports.makeSQSService = void 0;
4
5
  /**
5
6
  * @since 1.0.0
6
7
  */
@@ -34,13 +35,6 @@ const commands = {
34
35
  TagQueueCommand: client_sqs_1.TagQueueCommand,
35
36
  UntagQueueCommand: client_sqs_1.UntagQueueCommand,
36
37
  };
37
- /**
38
- * @since 1.0.0
39
- * @category models
40
- */
41
- class SQSService extends effect_1.Effect.Tag("@effect-aws/client-sqs/SQSService")() {
42
- }
43
- exports.SQSService = SQSService;
44
38
  /**
45
39
  * @since 1.0.0
46
40
  * @category constructors
@@ -79,19 +73,39 @@ exports.makeSQSService = 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 SQSService extends effect_1.Effect.Tag("@effect-aws/client-sqs/SQSService")() {
81
+ }
82
+ exports.SQSService = SQSService;
83
+ _a = SQSService;
84
+ SQSService.defaultLayer = effect_1.Layer.effect(_a, exports.makeSQSService).pipe(effect_1.Layer.provide(SQSClientInstance_1.SQSClientInstanceLayer), effect_1.Layer.provide(SQSClientInstanceConfig_1.DefaultSQSClientConfigLayer));
85
+ SQSService.layer = (config) => effect_1.Layer.effect(_a, exports.makeSQSService).pipe(effect_1.Layer.provide(SQSClientInstance_1.SQSClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(SQSClientInstanceConfig_1.SQSClientInstanceConfig, SQSClientInstanceConfig_1.makeDefaultSQSClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
86
+ SQSService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeSQSService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(SQSClientInstance_1.SQSClientInstance, effect_1.Effect.map(SQSClientInstanceConfig_1.makeDefaultSQSClientInstanceConfig, evaluate))));
87
+ /**
88
+ * @since 1.0.0
89
+ * @category models
90
+ * @alias SQSService
91
+ */
92
+ exports.SQS = SQSService;
82
93
  /**
83
94
  * @since 1.0.0
84
95
  * @category layers
96
+ * @deprecated use SQS.baseLayer instead
85
97
  */
86
98
  exports.BaseSQSServiceLayer = effect_1.Layer.effect(SQSService, exports.makeSQSService);
87
99
  /**
88
100
  * @since 1.0.0
89
101
  * @category layers
102
+ * @deprecated use SQS.layer instead
90
103
  */
91
104
  exports.SQSServiceLayer = exports.BaseSQSServiceLayer.pipe(effect_1.Layer.provide(SQSClientInstance_1.SQSClientInstanceLayer));
92
105
  /**
93
106
  * @since 1.0.0
94
107
  * @category layers
108
+ * @deprecated use SQS.defaultLayer instead
95
109
  */
96
- exports.DefaultSQSServiceLayer = exports.SQSServiceLayer.pipe(effect_1.Layer.provide(SQSClientInstanceConfig_1.DefaultSQSClientConfigLayer));
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TUVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsb0RBdUU2QjtBQUM3QixtQ0FBcUQ7QUFDckQscUNBZ0NrQjtBQUNsQiwyREFBZ0Y7QUFDaEYsdUVBQXdFO0FBYXhFLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysb0JBQW9CLEVBQXBCLGlDQUFvQjtJQUNwQiw0QkFBNEIsRUFBNUIseUNBQTRCO0lBQzVCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIsbUNBQW1DLEVBQW5DLGdEQUFtQztJQUNuQyxrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLG9CQUFvQixFQUFwQixpQ0FBb0I7SUFDcEIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QixrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLHlCQUF5QixFQUF6QixzQ0FBeUI7SUFDekIsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLDJCQUEyQixFQUEzQix3Q0FBMkI7SUFDM0Isb0JBQW9CLEVBQXBCLGlDQUFvQjtJQUNwQixpQkFBaUIsRUFBakIsOEJBQWlCO0lBQ2pCLGlCQUFpQixFQUFqQiw4QkFBaUI7SUFDakIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2Qix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDJCQUEyQixFQUEzQix3Q0FBMkI7SUFDM0IsZUFBZSxFQUFmLDRCQUFlO0lBQ2YsaUJBQWlCLEVBQWpCLDhCQUFpQjtDQUNsQixDQUFDO0FBc2FGOzs7R0FHRztBQUNILE1BQWEsVUFBVyxTQUFRLGVBQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsRUFHNUU7Q0FBRztBQUhOLGdDQUdNO0FBRU47OztHQUdHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBaUIsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sZUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsZUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLGdDQUFtQjtvQkFDaEMseUJBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLGFBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sSUFBQSxpQkFBUSxFQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBZ0IsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsc0JBQWMsQ0FBQyxDQUFDO0FBRTVFOzs7R0FHRztBQUNVLFFBQUEsZUFBZSxHQUFHLDJCQUFtQixDQUFDLElBQUksQ0FDckQsY0FBSyxDQUFDLE9BQU8sQ0FBQywwQ0FBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyx1QkFBZSxDQUFDLElBQUksQ0FDeEQsY0FBSyxDQUFDLE9BQU8sQ0FBQyxxREFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU1FTU2VydmljZUV4Y2VwdGlvbixcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxNZXNzYWdlTW92ZVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZElucHV0LFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmQsXG4gIHR5cGUgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVVcmxDb21tYW5kLFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kLFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVUYWdzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVzQ29tbWFuZE91dHB1dCxcbiAgUHVyZ2VRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgUHVyZ2VRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmQsXG4gIHR5cGUgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgVGFnUXVldWVDb21tYW5kLFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zcXNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yLFxuICBCYXRjaFJlcXVlc3RUb29Mb25nRXJyb3IsXG4gIEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVOYW1lRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVWYWx1ZUVycm9yLFxuICBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3IsXG4gIEludmFsaWRJZEZvcm1hdEVycm9yLFxuICBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3IsXG4gIEludmFsaWRTZWN1cml0eUVycm9yLFxuICBLbXNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS21zRGlzYWJsZWRFcnJvcixcbiAgS21zSW52YWxpZEtleVVzYWdlRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNOb3RGb3VuZEVycm9yLFxuICBLbXNPcHRJblJlcXVpcmVkRXJyb3IsXG4gIEttc1Rocm90dGxlZEVycm9yLFxuICBNZXNzYWdlTm90SW5mbGlnaHRFcnJvcixcbiAgT3ZlckxpbWl0RXJyb3IsXG4gIFB1cmdlUXVldWVJblByb2dyZXNzRXJyb3IsXG4gIFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3IsXG4gIFF1ZXVlRG9lc05vdEV4aXN0RXJyb3IsXG4gIFF1ZXVlTmFtZUV4aXN0c0Vycm9yLFxuICBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3IsXG4gIFJlcXVlc3RUaHJvdHRsZWRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU1FTQ2xpZW50SW5zdGFuY2UsIFNRU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TUVNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU1FTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS41LjFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICBEZWxldGVNZXNzYWdlQ29tbWFuZCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRRdWV1ZVVybENvbW1hbmQsXG4gIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICBMaXN0UXVldWVUYWdzQ29tbWFuZCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIFB1cmdlUXVldWVDb21tYW5kLFxuICBSZWNlaXZlTWVzc2FnZUNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBTZW5kTWVzc2FnZUNvbW1hbmQsXG4gIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kLFxuICBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQsXG4gIFRhZ1F1ZXVlQ29tbWFuZCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU1FTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGFkZFBlcm1pc3Npb24oXG4gICAgYXJnczogQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxNZXNzYWdlTW92ZVRhc2soXG4gICAgYXJnczogQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kfVxuICAgKi9cbiAgY2hhbmdlTWVzc2FnZVZpc2liaWxpdHkoXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE1lc3NhZ2VOb3RJbmZsaWdodEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2goXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVRdWV1ZShcbiAgICBhcmdzOiBDcmVhdGVRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3JcbiAgICB8IFF1ZXVlTmFtZUV4aXN0c0Vycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlKFxuICAgIGFyZ3M6IERlbGV0ZU1lc3NhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkSWRGb3JtYXRFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlY2VpcHRIYW5kbGVJc0ludmFsaWRFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlQmF0Y2goXG4gICAgYXJnczogRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUXVldWVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUXVldWUoXG4gICAgYXJnczogRGVsZXRlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZVVybENvbW1hbmR9XG4gICAqL1xuICBnZXRRdWV1ZVVybChcbiAgICBhcmdzOiBHZXRRdWV1ZVVybENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REZWFkTGV0dGVyU291cmNlUXVldWVzKFxuICAgIGFyZ3M6IExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1lc3NhZ2VNb3ZlVGFza3MoXG4gICAgYXJnczogTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RRdWV1ZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFF1ZXVlVGFncyhcbiAgICBhcmdzOiBMaXN0UXVldWVUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFF1ZXVlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RRdWV1ZXMoXG4gICAgYXJnczogTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVyZ2VRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBwdXJnZVF1ZXVlKFxuICAgIGFyZ3M6IFB1cmdlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUHVyZ2VRdWV1ZUluUHJvZ3Jlc3NFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlY2VpdmVNZXNzYWdlQ29tbWFuZH1cbiAgICovXG4gIHJlY2VpdmVNZXNzYWdlKFxuICAgIGFyZ3M6IFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUGVybWlzc2lvbihcbiAgICBhcmdzOiBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZShcbiAgICBhcmdzOiBTZW5kTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZUJhdGNoKFxuICAgIGFyZ3M6IFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZVZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0TWVzc2FnZU1vdmVUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICB0YWdRdWV1ZShcbiAgICBhcmdzOiBUYWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUXVldWVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdRdWV1ZShcbiAgICBhcmdzOiBVbnRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU1FTU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtc3FzL1NRU1NlcnZpY2VcIik8XG4gIFNRU1NlcnZpY2UsXG4gIFNRU1NlcnZpY2UkXG4+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTUVNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU1FTQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBTUVNTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPFNRU1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNRU1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlU1FTU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFNRU1NlcnZpY2UsIG1ha2VTUVNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNRU1NlcnZpY2VMYXllciA9IEJhc2VTUVNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShTUVNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U1FTU2VydmljZUxheWVyID0gU1FTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
110
+ exports.DefaultSQSServiceLayer = SQSService.defaultLayer;
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TUVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQXlFNkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQWdDa0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLG9CQUFvQixFQUFwQixpQ0FBb0I7SUFDcEIsNEJBQTRCLEVBQTVCLHlDQUE0QjtJQUM1Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLG1DQUFtQyxFQUFuQyxnREFBbUM7SUFDbkMsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLHlCQUF5QixFQUF6QixzQ0FBeUI7SUFDekIsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsaUNBQWlDLEVBQWpDLDhDQUFpQztJQUNqQywyQkFBMkIsRUFBM0Isd0NBQTJCO0lBQzNCLG9CQUFvQixFQUFwQixpQ0FBb0I7SUFDcEIsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQixpQkFBaUIsRUFBakIsOEJBQWlCO0lBQ2pCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2QixrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLHVCQUF1QixFQUF2QixvQ0FBdUI7SUFDdkIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QiwyQkFBMkIsRUFBM0Isd0NBQTJCO0lBQzNCLGVBQWUsRUFBZiw0QkFBZTtJQUNmLGlCQUFpQixFQUFqQiw4QkFBaUI7Q0FDbEIsQ0FBQztBQXNhRjs7O0dBR0c7QUFDVSxRQUFBLGNBQWMsR0FBRyxlQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDbkQsTUFBTSxN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TSxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUNGLENBQ0YsQ0FDRixBQVhrQixDQVdqQjtBQUNZLG9CQUFTLEdBQUcsQ0FDMUIsUUFBdUQsRUFDdkQsRUFBRSxDQUNGLGNBQUssQ0FBQyxNQUFNLENBQUMsRUFBSSxFQUFFLHNCQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3JDLGNBQUssQ0FBQyxPQUFPLENBQ1gsY0FBSyxDQUFDLE1BQU0sQ0FDVixxQ0FBaUIsRUFDakIsZUFBTSxDQUFDLEdBQUcsQ0FBQyw0REFBa0MsRUFBRSxRQUFRLENBQUMsQ0FDekQsQ0FDRixDQUNGLEFBVnNCLENBVXJCO0FBR047Ozs7R0FJRztBQUNVLFFBQUEsR0FBRyxHQUFHLFVBQVUsQ0FBQztBQUU5Qjs7OztHQUlHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxzQkFBYyxDQUFDLENBQUM7QUFFNUU7Ozs7R0FJRztBQUNVLFFBQUEsZUFBZSxHQUFHLDJCQUFtQixDQUFDLElBQUksQ0FDckQsY0FBSyxDQUFDLE9BQU8sQ0FBQywwQ0FBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNRU1NlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgU1FTQ2xpZW50LFxuICB0eXBlIFNRU0NsaWVudENvbmZpZyxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxNZXNzYWdlTW92ZVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZElucHV0LFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmQsXG4gIHR5cGUgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVVcmxDb21tYW5kLFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kLFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVUYWdzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVzQ29tbWFuZE91dHB1dCxcbiAgUHVyZ2VRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgUHVyZ2VRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmQsXG4gIHR5cGUgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgVGFnUXVldWVDb21tYW5kLFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zcXNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yLFxuICBCYXRjaFJlcXVlc3RUb29Mb25nRXJyb3IsXG4gIEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVOYW1lRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVWYWx1ZUVycm9yLFxuICBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3IsXG4gIEludmFsaWRJZEZvcm1hdEVycm9yLFxuICBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3IsXG4gIEludmFsaWRTZWN1cml0eUVycm9yLFxuICBLbXNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS21zRGlzYWJsZWRFcnJvcixcbiAgS21zSW52YWxpZEtleVVzYWdlRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNOb3RGb3VuZEVycm9yLFxuICBLbXNPcHRJblJlcXVpcmVkRXJyb3IsXG4gIEttc1Rocm90dGxlZEVycm9yLFxuICBNZXNzYWdlTm90SW5mbGlnaHRFcnJvcixcbiAgT3ZlckxpbWl0RXJyb3IsXG4gIFB1cmdlUXVldWVJblByb2dyZXNzRXJyb3IsXG4gIFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3IsXG4gIFF1ZXVlRG9lc05vdEV4aXN0RXJyb3IsXG4gIFF1ZXVlTmFtZUV4aXN0c0Vycm9yLFxuICBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3IsXG4gIFJlcXVlc3RUaHJvdHRsZWRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU1FTQ2xpZW50SW5zdGFuY2UsIFNRU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TUVNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFNRU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBTUVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU1FTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICBEZWxldGVNZXNzYWdlQ29tbWFuZCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRRdWV1ZVVybENvbW1hbmQsXG4gIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICBMaXN0UXVldWVUYWdzQ29tbWFuZCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIFB1cmdlUXVldWVDb21tYW5kLFxuICBSZWNlaXZlTWVzc2FnZUNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBTZW5kTWVzc2FnZUNvbW1hbmQsXG4gIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kLFxuICBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQsXG4gIFRhZ1F1ZXVlQ29tbWFuZCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU1FTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGFkZFBlcm1pc3Npb24oXG4gICAgYXJnczogQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxNZXNzYWdlTW92ZVRhc2soXG4gICAgYXJnczogQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kfVxuICAgKi9cbiAgY2hhbmdlTWVzc2FnZVZpc2liaWxpdHkoXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE1lc3NhZ2VOb3RJbmZsaWdodEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2goXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVRdWV1ZShcbiAgICBhcmdzOiBDcmVhdGVRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3JcbiAgICB8IFF1ZXVlTmFtZUV4aXN0c0Vycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlKFxuICAgIGFyZ3M6IERlbGV0ZU1lc3NhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkSWRGb3JtYXRFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlY2VpcHRIYW5kbGVJc0ludmFsaWRFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlQmF0Y2goXG4gICAgYXJnczogRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUXVldWVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUXVldWUoXG4gICAgYXJnczogRGVsZXRlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZVVybENvbW1hbmR9XG4gICAqL1xuICBnZXRRdWV1ZVVybChcbiAgICBhcmdzOiBHZXRRdWV1ZVVybENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REZWFkTGV0dGVyU291cmNlUXVldWVzKFxuICAgIGFyZ3M6IExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1lc3NhZ2VNb3ZlVGFza3MoXG4gICAgYXJnczogTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RRdWV1ZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFF1ZXVlVGFncyhcbiAgICBhcmdzOiBMaXN0UXVldWVUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFF1ZXVlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RRdWV1ZXMoXG4gICAgYXJnczogTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVyZ2VRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBwdXJnZVF1ZXVlKFxuICAgIGFyZ3M6IFB1cmdlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUHVyZ2VRdWV1ZUluUHJvZ3Jlc3NFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlY2VpdmVNZXNzYWdlQ29tbWFuZH1cbiAgICovXG4gIHJlY2VpdmVNZXNzYWdlKFxuICAgIGFyZ3M6IFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUGVybWlzc2lvbihcbiAgICBhcmdzOiBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZShcbiAgICBhcmdzOiBTZW5kTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZUJhdGNoKFxuICAgIGFyZ3M6IFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZVZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0TWVzc2FnZU1vdmVUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICB0YWdRdWV1ZShcbiAgICBhcmdzOiBUYWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUXVldWVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdRdWV1ZShcbiAgICBhcmdzOiBVbnRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNRU1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTUVNDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNRU1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U1FTU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU1FTU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNRU1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNxcy9TUVNTZXJ2aWNlXCIpPFxuICBTUVNTZXJ2aWNlLFxuICBTUVNTZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU1FTU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFNRU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogU1FTQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU1FTU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoU1FTQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU1FTQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRTUVNDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogU1FTQ2xpZW50Q29uZmlnKSA9PiBTUVNDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNRU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU1FTQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdFNRU0NsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgU1FTU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgU1FTID0gU1FTU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTUVMuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTUVNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoU1FTU2VydmljZSwgbWFrZVNRU1NlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNRUy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBTUVNTZXJ2aWNlTGF5ZXIgPSBCYXNlU1FTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU1FTQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNRUy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNRU1NlcnZpY2VMYXllciA9IFNRU1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  /**
2
3
  * @since 1.0.0
3
4
  */
@@ -5,7 +6,7 @@ import { SQSServiceException, AddPermissionCommand, CancelMessageMoveTaskCommand
5
6
  import { Data, Effect, Layer, Record } from "effect";
6
7
  import { AllServiceErrors, SdkError, } from "./Errors";
7
8
  import { SQSClientInstance, SQSClientInstanceLayer } from "./SQSClientInstance";
8
- import { DefaultSQSClientConfigLayer } from "./SQSClientInstanceConfig";
9
+ import { DefaultSQSClientConfigLayer, makeDefaultSQSClientInstanceConfig, SQSClientInstanceConfig, } from "./SQSClientInstanceConfig";
9
10
  const commands = {
10
11
  AddPermissionCommand,
11
12
  CancelMessageMoveTaskCommand,
@@ -31,12 +32,6 @@ const commands = {
31
32
  TagQueueCommand,
32
33
  UntagQueueCommand,
33
34
  };
34
- /**
35
- * @since 1.0.0
36
- * @category models
37
- */
38
- export class SQSService extends Effect.Tag("@effect-aws/client-sqs/SQSService")() {
39
- }
40
35
  /**
41
36
  * @since 1.0.0
42
37
  * @category constructors
@@ -75,19 +70,38 @@ export const makeSQSService = 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 SQSService extends Effect.Tag("@effect-aws/client-sqs/SQSService")() {
78
+ }
79
+ _a = SQSService;
80
+ SQSService.defaultLayer = Layer.effect(_a, makeSQSService).pipe(Layer.provide(SQSClientInstanceLayer), Layer.provide(DefaultSQSClientConfigLayer));
81
+ SQSService.layer = (config) => Layer.effect(_a, makeSQSService).pipe(Layer.provide(SQSClientInstanceLayer), Layer.provide(Layer.effect(SQSClientInstanceConfig, makeDefaultSQSClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
82
+ SQSService.baseLayer = (evaluate) => Layer.effect(_a, makeSQSService).pipe(Layer.provide(Layer.effect(SQSClientInstance, Effect.map(makeDefaultSQSClientInstanceConfig, evaluate))));
83
+ /**
84
+ * @since 1.0.0
85
+ * @category models
86
+ * @alias SQSService
87
+ */
88
+ export const SQS = SQSService;
78
89
  /**
79
90
  * @since 1.0.0
80
91
  * @category layers
92
+ * @deprecated use SQS.baseLayer instead
81
93
  */
82
94
  export const BaseSQSServiceLayer = Layer.effect(SQSService, makeSQSService);
83
95
  /**
84
96
  * @since 1.0.0
85
97
  * @category layers
98
+ * @deprecated use SQS.layer instead
86
99
  */
87
100
  export const SQSServiceLayer = BaseSQSServiceLayer.pipe(Layer.provide(SQSClientInstanceLayer));
88
101
  /**
89
102
  * @since 1.0.0
90
103
  * @category layers
104
+ * @deprecated use SQS.defaultLayer instead
91
105
  */
92
- export const DefaultSQSServiceLayer = SQSServiceLayer.pipe(Layer.provide(DefaultSQSClientConfigLayer));
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TUVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFHcEIsNEJBQTRCLEVBRzVCLDhCQUE4QixFQUc5QixtQ0FBbUMsRUFHbkMsa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQix5QkFBeUIsRUFHekIsa0JBQWtCLEVBR2xCLHlCQUF5QixFQUd6QixrQkFBa0IsRUFHbEIsaUNBQWlDLEVBR2pDLDJCQUEyQixFQUczQixvQkFBb0IsRUFHcEIsaUJBQWlCLEVBR2pCLGlCQUFpQixFQUdqQixxQkFBcUIsRUFHckIsdUJBQXVCLEVBR3ZCLGtCQUFrQixFQUdsQix1QkFBdUIsRUFHdkIseUJBQXlCLEVBR3pCLDJCQUEyQixFQUczQixlQUFlLEVBR2YsaUJBQWlCLEdBR2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBNkJoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFheEUsTUFBTSxRQUFRLEdBQUc7SUFDZixvQkFBb0I7SUFDcEIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5QixtQ0FBbUM7SUFDbkMsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsaUNBQWlDO0lBQ2pDLDJCQUEyQjtJQUMzQixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pC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QyxJQUFJLENBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNRU1NlcnZpY2VFeGNlcHRpb24sXG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICB0eXBlIEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRPdXRwdXQsXG4gIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZCxcbiAgdHlwZSBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUNvbW1hbmRPdXRwdXQsXG4gIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kLFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVF1ZXVlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZU1lc3NhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVF1ZXVlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFF1ZXVlVXJsQ29tbWFuZCxcbiAgdHlwZSBHZXRRdWV1ZVVybENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRRdWV1ZVVybENvbW1hbmRPdXRwdXQsXG4gIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RRdWV1ZVRhZ3NDb21tYW5kLFxuICB0eXBlIExpc3RRdWV1ZVRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFF1ZXVlVGFnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RRdWV1ZXNDb21tYW5kLFxuICB0eXBlIExpc3RRdWV1ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFF1ZXVlc0NvbW1hbmRPdXRwdXQsXG4gIFB1cmdlUXVldWVDb21tYW5kLFxuICB0eXBlIFB1cmdlUXVldWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHVyZ2VRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gIFJlY2VpdmVNZXNzYWdlQ29tbWFuZCxcbiAgdHlwZSBSZWNlaXZlTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWNlaXZlTWVzc2FnZUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFNlbmRNZXNzYWdlQ29tbWFuZCxcbiAgdHlwZSBTZW5kTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kTWVzc2FnZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kLFxuICB0eXBlIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmRPdXRwdXQsXG4gIFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgdHlwZSBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRPdXRwdXQsXG4gIFRhZ1F1ZXVlQ29tbWFuZCxcbiAgdHlwZSBUYWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUXVldWVDb21tYW5kLFxuICB0eXBlIFVudGFnUXVldWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc3FzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvcixcbiAgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yLFxuICBFbXB0eUJhdGNoUmVxdWVzdEVycm9yLFxuICBJbnZhbGlkQWRkcmVzc0Vycm9yLFxuICBJbnZhbGlkQXR0cmlidXRlTmFtZUVycm9yLFxuICBJbnZhbGlkQXR0cmlidXRlVmFsdWVFcnJvcixcbiAgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yLFxuICBJbnZhbGlkSWRGb3JtYXRFcnJvcixcbiAgSW52YWxpZE1lc3NhZ2VDb250ZW50c0Vycm9yLFxuICBJbnZhbGlkU2VjdXJpdHlFcnJvcixcbiAgS21zQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEttc0Rpc2FibGVkRXJyb3IsXG4gIEttc0ludmFsaWRLZXlVc2FnZUVycm9yLFxuICBLbXNJbnZhbGlkU3RhdGVFcnJvcixcbiAgS21zTm90Rm91bmRFcnJvcixcbiAgS21zT3B0SW5SZXF1aXJlZEVycm9yLFxuICBLbXNUaHJvdHRsZWRFcnJvcixcbiAgTWVzc2FnZU5vdEluZmxpZ2h0RXJyb3IsXG4gIE92ZXJMaW1pdEVycm9yLFxuICBQdXJnZVF1ZXVlSW5Qcm9ncmVzc0Vycm9yLFxuICBRdWV1ZURlbGV0ZWRSZWNlbnRseUVycm9yLFxuICBRdWV1ZURvZXNOb3RFeGlzdEVycm9yLFxuICBRdWV1ZU5hbWVFeGlzdHNFcnJvcixcbiAgUmVjZWlwdEhhbmRsZUlzSW52YWxpZEVycm9yLFxuICBSZXF1ZXN0VGhyb3R0bGVkRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEVycm9yLFxuICBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFNRU0NsaWVudEluc3RhbmNlLCBTUVNDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vU1FTQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTUVNDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL1NRU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuNS4xXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQsXG4gIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmQsXG4gIENyZWF0ZVF1ZXVlQ29tbWFuZCxcbiAgRGVsZXRlTWVzc2FnZUNvbW1hbmQsXG4gIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmQsXG4gIERlbGV0ZVF1ZXVlQ29tbWFuZCxcbiAgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0UXVldWVVcmxDb21tYW5kLFxuICBMaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlc0NvbW1hbmQsXG4gIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZCxcbiAgTGlzdFF1ZXVlVGFnc0NvbW1hbmQsXG4gIExpc3RRdWV1ZXNDb21tYW5kLFxuICBQdXJnZVF1ZXVlQ29tbWFuZCxcbiAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kLFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZCxcbiAgU2VuZE1lc3NhZ2VDb21tYW5kLFxuICBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kLFxuICBUYWdRdWV1ZUNvbW1hbmQsXG4gIFVudGFnUXVldWVDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNRU1NlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkUGVybWlzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRQZXJtaXNzaW9uKFxuICAgIGFyZ3M6IEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgT3ZlckxpbWl0RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDYW5jZWxNZXNzYWdlTW92ZVRhc2tDb21tYW5kfVxuICAgKi9cbiAgY2FuY2VsTWVzc2FnZU1vdmVUYXNrKFxuICAgIGFyZ3M6IENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZH1cbiAgICovXG4gIGNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5KFxuICAgIGFyZ3M6IENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBNZXNzYWdlTm90SW5mbGlnaHRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVjZWlwdEhhbmRsZUlzSW52YWxpZEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmR9XG4gICAqL1xuICBjaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoKFxuICAgIGFyZ3M6IENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUXVldWVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUXVldWUoXG4gICAgYXJnczogQ3JlYXRlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZVZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURlbGV0ZWRSZWNlbnRseUVycm9yXG4gICAgfCBRdWV1ZU5hbWVFeGlzdHNFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU1lc3NhZ2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTWVzc2FnZShcbiAgICBhcmdzOiBEZWxldGVNZXNzYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTWVzc2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZElkRm9ybWF0RXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVNZXNzYWdlQmF0Y2hDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTWVzc2FnZUJhdGNoKFxuICAgIGFyZ3M6IERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXJyb3JcbiAgICB8IEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRCYXRjaEVudHJ5SWRFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVF1ZXVlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVF1ZXVlKFxuICAgIGFyZ3M6IERlbGV0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUXVldWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFF1ZXVlQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRBdHRyaWJ1dGVOYW1lRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UXVldWVVcmxDb21tYW5kfVxuICAgKi9cbiAgZ2V0UXVldWVVcmwoXG4gICAgYXJnczogR2V0UXVldWVVcmxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRRdWV1ZVVybENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlcyhcbiAgICBhcmdzOiBMaXN0RGVhZExldHRlclNvdXJjZVF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNZXNzYWdlTW92ZVRhc2tzKFxuICAgIGFyZ3M6IExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UXVldWVUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RRdWV1ZVRhZ3MoXG4gICAgYXJnczogTGlzdFF1ZXVlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RRdWV1ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFF1ZXVlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UXVldWVzKFxuICAgIGFyZ3M6IExpc3RRdWV1ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UXVldWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmdlUXVldWVDb21tYW5kfVxuICAgKi9cbiAgcHVyZ2VRdWV1ZShcbiAgICBhcmdzOiBQdXJnZVF1ZXVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyZ2VRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFB1cmdlUXVldWVJblByb2dyZXNzRXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWNlaXZlTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICByZWNlaXZlTWVzc2FnZShcbiAgICBhcmdzOiBSZWNlaXZlTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlY2VpdmVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0Rpc2FibGVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zTm90Rm91bmRFcnJvclxuICAgIHwgS21zT3B0SW5SZXF1aXJlZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsZWRFcnJvclxuICAgIHwgT3ZlckxpbWl0RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVBlcm1pc3Npb24oXG4gICAgYXJnczogUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZE1lc3NhZ2VDb21tYW5kfVxuICAgKi9cbiAgc2VuZE1lc3NhZ2UoXG4gICAgYXJnczogU2VuZE1lc3NhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kTWVzc2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZE1lc3NhZ2VDb250ZW50c0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0Rpc2FibGVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zTm90Rm91bmRFcnJvclxuICAgIHwgS21zT3B0SW5SZXF1aXJlZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsZWRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kfVxuICAgKi9cbiAgc2VuZE1lc3NhZ2VCYXRjaChcbiAgICBhcmdzOiBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXJyb3JcbiAgICB8IEJhdGNoUmVxdWVzdFRvb0xvbmdFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0Rpc2FibGVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zTm90Rm91bmRFcnJvclxuICAgIHwgS21zT3B0SW5SZXF1aXJlZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsZWRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFF1ZXVlQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRBdHRyaWJ1dGVOYW1lRXJyb3JcbiAgICB8IEludmFsaWRBdHRyaWJ1dGVWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgT3ZlckxpbWl0RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmR9XG4gICAqL1xuICBzdGFydE1lc3NhZ2VNb3ZlVGFzayhcbiAgICBhcmdzOiBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUXVldWVDb21tYW5kfVxuICAgKi9cbiAgdGFnUXVldWUoXG4gICAgYXJnczogVGFnUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1F1ZXVlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUXVldWUoXG4gICAgYXJnczogVW50YWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUXVldWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNRU1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNxcy9TUVNTZXJ2aWNlXCIpPFxuICBTUVNTZXJ2aWNlLFxuICBTUVNTZXJ2aWNlJFxuPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU1FTU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNRU0NsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgU1FTU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTUVNTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTUVNTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZVNRU1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTUVNTZXJ2aWNlLCBtYWtlU1FTU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTUVNTZXJ2aWNlTGF5ZXIgPSBCYXNlU1FTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU1FTQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNRU1NlcnZpY2VMYXllciA9IFNRU1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTUVNDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
106
+ export const DefaultSQSServiceLayer = SQSService.defaultLayer;
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TUVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIsb0JBQW9CLEVBR3BCLDRCQUE0QixFQUc1Qiw4QkFBOEIsRUFHOUIsbUNBQW1DLEVBR25DLGtCQUFrQixFQUdsQixvQkFBb0IsRUFHcEIseUJBQXlCLEVBR3pCLGtCQUFrQixFQUdsQix5QkFBeUIsRUFHekIsa0JBQWtCLEVBR2xCLGlDQUFpQyxFQUdqQywyQkFBMkIsRUFHM0Isb0JBQW9CLEVBR3BCLGlCQUFpQixFQUdqQixpQkFBaUIsRUFHakIscUJBQXFCLEVBR3JCLHVCQUF1QixFQUd2QixrQkFBa0IsRUFHbEIsdUJBQXVCLEVBR3ZCLHlCQUF5QixFQUd6QiwyQkFBMkIsRUFHM0IsZUFBZSxFQUdmLGlCQUFpQixHQUdsQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQTZCaEIsUUFBUSxHQUVULE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLHVCQUF1QixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBYW5DLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysb0JBQW9CO0lBQ3BCLDRCQUE0QjtJQUM1Qiw4QkFBOEI7SUFDOUIsbUNBQW1DO0lBQ25DLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGlDQUFpQztJQUNqQywyQkFBMkI7SUFD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QUksRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFDckMsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFLLENBQUMsTUFBTSxDQUNWLHVCQUF1QixFQUN2QixrQ0FBa0MsQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSxvQkFBUyxHQUFHLENBQzFCLFFBQXVELEVBQ3ZELEVBQUUsQ0FDRixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQ1gsS0FBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsRUFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxRQUFRLENBQUMsQ0FDekQsQ0FDRixDQUNGLEFBVnNCLENBVXJCO0FBR047Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRTVFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUNyRCxLQUFLLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQ3RDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNRU1NlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgU1FTQ2xpZW50LFxuICB0eXBlIFNRU0NsaWVudENvbmZpZyxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxNZXNzYWdlTW92ZVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZElucHV0LFxuICB0eXBlIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5Q29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmQsXG4gIHR5cGUgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVldWVVcmxDb21tYW5kLFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kLFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlVGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlVGFnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVUYWdzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UXVldWVzQ29tbWFuZE91dHB1dCxcbiAgUHVyZ2VRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgUHVyZ2VRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlY2VpdmVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VDb21tYW5kLFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmQsXG4gIHR5cGUgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kLFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgVGFnUXVldWVDb21tYW5kLFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zcXNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yLFxuICBCYXRjaFJlcXVlc3RUb29Mb25nRXJyb3IsXG4gIEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVOYW1lRXJyb3IsXG4gIEludmFsaWRBdHRyaWJ1dGVWYWx1ZUVycm9yLFxuICBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3IsXG4gIEludmFsaWRJZEZvcm1hdEVycm9yLFxuICBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3IsXG4gIEludmFsaWRTZWN1cml0eUVycm9yLFxuICBLbXNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS21zRGlzYWJsZWRFcnJvcixcbiAgS21zSW52YWxpZEtleVVzYWdlRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNOb3RGb3VuZEVycm9yLFxuICBLbXNPcHRJblJlcXVpcmVkRXJyb3IsXG4gIEttc1Rocm90dGxlZEVycm9yLFxuICBNZXNzYWdlTm90SW5mbGlnaHRFcnJvcixcbiAgT3ZlckxpbWl0RXJyb3IsXG4gIFB1cmdlUXVldWVJblByb2dyZXNzRXJyb3IsXG4gIFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3IsXG4gIFF1ZXVlRG9lc05vdEV4aXN0RXJyb3IsXG4gIFF1ZXVlTmFtZUV4aXN0c0Vycm9yLFxuICBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3IsXG4gIFJlcXVlc3RUaHJvdHRsZWRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU1FTQ2xpZW50SW5zdGFuY2UsIFNRU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TUVNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFNRU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBTUVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU1FTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbiAgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kLFxuICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZCxcbiAgQ3JlYXRlUXVldWVDb21tYW5kLFxuICBEZWxldGVNZXNzYWdlQ29tbWFuZCxcbiAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZCxcbiAgRGVsZXRlUXVldWVDb21tYW5kLFxuICBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRRdWV1ZVVybENvbW1hbmQsXG4gIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZCxcbiAgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kLFxuICBMaXN0UXVldWVUYWdzQ29tbWFuZCxcbiAgTGlzdFF1ZXVlc0NvbW1hbmQsXG4gIFB1cmdlUXVldWVDb21tYW5kLFxuICBSZWNlaXZlTWVzc2FnZUNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBTZW5kTWVzc2FnZUNvbW1hbmQsXG4gIFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kLFxuICBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQsXG4gIFRhZ1F1ZXVlQ29tbWFuZCxcbiAgVW50YWdRdWV1ZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU1FTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGFkZFBlcm1pc3Npb24oXG4gICAgYXJnczogQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxNZXNzYWdlTW92ZVRhc2soXG4gICAgYXJnczogQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsTWVzc2FnZU1vdmVUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kfVxuICAgKi9cbiAgY2hhbmdlTWVzc2FnZVZpc2liaWxpdHkoXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE1lc3NhZ2VOb3RJbmZsaWdodEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZWNlaXB0SGFuZGxlSXNJbnZhbGlkRXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDaGFuZ2VNZXNzYWdlVmlzaWJpbGl0eUJhdGNoQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2goXG4gICAgYXJnczogQ2hhbmdlTWVzc2FnZVZpc2liaWxpdHlCYXRjaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5QmF0Y2hDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVRdWV1ZShcbiAgICBhcmdzOiBDcmVhdGVRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkQXR0cmlidXRlVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRGVsZXRlZFJlY2VudGx5RXJyb3JcbiAgICB8IFF1ZXVlTmFtZUV4aXN0c0Vycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlKFxuICAgIGFyZ3M6IERlbGV0ZU1lc3NhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkSWRGb3JtYXRFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlY2VpcHRIYW5kbGVJc0ludmFsaWRFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVNZXNzYWdlQmF0Y2goXG4gICAgYXJnczogRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUXVldWVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUXVldWUoXG4gICAgYXJnczogRGVsZXRlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWV1ZVVybENvbW1hbmR9XG4gICAqL1xuICBnZXRRdWV1ZVVybChcbiAgICBhcmdzOiBHZXRRdWV1ZVVybENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXVlVXJsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REZWFkTGV0dGVyU291cmNlUXVldWVzKFxuICAgIGFyZ3M6IExpc3REZWFkTGV0dGVyU291cmNlUXVldWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdERlYWRMZXR0ZXJTb3VyY2VRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1lc3NhZ2VNb3ZlVGFza3MoXG4gICAgYXJnczogTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RRdWV1ZVRhZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFF1ZXVlVGFncyhcbiAgICBhcmdzOiBMaXN0UXVldWVUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFF1ZXVlVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UXVldWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RRdWV1ZXMoXG4gICAgYXJnczogTGlzdFF1ZXVlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RRdWV1ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVyZ2VRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICBwdXJnZVF1ZXVlKFxuICAgIGFyZ3M6IFB1cmdlUXVldWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXJnZVF1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUHVyZ2VRdWV1ZUluUHJvZ3Jlc3NFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlY2VpdmVNZXNzYWdlQ29tbWFuZH1cbiAgICovXG4gIHJlY2VpdmVNZXNzYWdlKFxuICAgIGFyZ3M6IFJlY2VpdmVNZXNzYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVjZWl2ZU1lc3NhZ2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUGVybWlzc2lvbihcbiAgICBhcmdzOiBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kTWVzc2FnZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZShcbiAgICBhcmdzOiBTZW5kTWVzc2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRNZXNzYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkTWVzc2FnZUNvbnRlbnRzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZE1lc3NhZ2VCYXRjaENvbW1hbmR9XG4gICAqL1xuICBzZW5kTWVzc2FnZUJhdGNoKFxuICAgIGFyZ3M6IFNlbmRNZXNzYWdlQmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kTWVzc2FnZUJhdGNoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvclxuICAgIHwgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yXG4gICAgfCBFbXB0eUJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zRGlzYWJsZWRFcnJvclxuICAgIHwgS21zSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNOb3RGb3VuZEVycm9yXG4gICAgfCBLbXNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxlZEVycm9yXG4gICAgfCBRdWV1ZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0UXVldWVBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZU5hbWVFcnJvclxuICAgIHwgSW52YWxpZEF0dHJpYnV0ZVZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBPdmVyTGltaXRFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0TWVzc2FnZU1vdmVUYXNrKFxuICAgIGFyZ3M6IFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBZGRyZXNzRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBSZXF1ZXN0VGhyb3R0bGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdRdWV1ZUNvbW1hbmR9XG4gICAqL1xuICB0YWdRdWV1ZShcbiAgICBhcmdzOiBUYWdRdWV1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1F1ZXVlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQWRkcmVzc0Vycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgUXVldWVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgUmVxdWVzdFRocm90dGxlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUXVldWVDb21tYW5kfVxuICAgKi9cbiAgdW50YWdRdWV1ZShcbiAgICBhcmdzOiBVbnRhZ1F1ZXVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdRdWV1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFkZHJlc3NFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFF1ZXVlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFJlcXVlc3RUaHJvdHRsZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNRU1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTUVNDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNRU1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U1FTU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU1FTU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNRU1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNxcy9TUVNTZXJ2aWNlXCIpPFxuICBTUVNTZXJ2aWNlLFxuICBTUVNTZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU1FTU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFNRU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNRU0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogU1FTQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU1FTU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoU1FTQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU1FTQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRTUVNDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogU1FTQ2xpZW50Q29uZmlnKSA9PiBTUVNDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNRU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU1FTQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdFNRU0NsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgU1FTU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgU1FTID0gU1FTU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTUVMuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTUVNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoU1FTU2VydmljZSwgbWFrZVNRU1NlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNRUy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBTUVNTZXJ2aWNlTGF5ZXIgPSBCYXNlU1FTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU1FTQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNRUy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNRU1NlcnZpY2VMYXllciA9IFNRU1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "version": "1.5.1",
36
+ "version": "1.6.0",
37
37
  "types": "lib/index.d.ts",
38
38
  "module": "lib/esm/index.js",
39
39
  "sideEffects": [],