@effect-aws/client-sfn 1.4.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 +12 -0
- package/LICENSE +1 -1
- package/README.md +13 -40
- package/lib/SFNClientInstance.d.ts +1 -1
- package/lib/SFNClientInstance.js +3 -3
- package/lib/SFNService.d.ts +18 -5
- package/lib/SFNService.js +24 -10
- package/lib/esm/SFNClientInstance.js +3 -3
- package/lib/esm/SFNService.js +23 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-aws/client-sfn
|
|
2
2
|
|
|
3
|
+
## 1.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#93](https://github.com/floydspace/effect-aws/pull/93) [`a96fbd8`](https://github.com/floydspace/effect-aws/commit/a96fbd8840a7a6cfb795a2a6ab96aa32d32a3525) Thanks [@godu](https://github.com/godu)! - Destroy client after layer lifecycle to release idle connections.
|
|
8
|
+
|
|
9
|
+
## 1.5.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#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)
|
|
14
|
+
|
|
3
15
|
## 1.4.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -14,13 +14,13 @@ npm install --save @effect-aws/client-sfn
|
|
|
14
14
|
With default SFNClient instance:
|
|
15
15
|
|
|
16
16
|
```typescript
|
|
17
|
-
import {
|
|
17
|
+
import { SFN } from "@effect-aws/client-sfn";
|
|
18
18
|
|
|
19
|
-
const program =
|
|
19
|
+
const program = SFN.startExecution(args);
|
|
20
20
|
|
|
21
21
|
const result = pipe(
|
|
22
22
|
program,
|
|
23
|
-
Effect.provide(
|
|
23
|
+
Effect.provide(SFN.defaultLayer),
|
|
24
24
|
Effect.runPromise,
|
|
25
25
|
);
|
|
26
26
|
```
|
|
@@ -28,23 +28,15 @@ const result = pipe(
|
|
|
28
28
|
With custom SFNClient instance:
|
|
29
29
|
|
|
30
30
|
```typescript
|
|
31
|
-
import {
|
|
32
|
-
SFNService,
|
|
33
|
-
BaseSFNServiceLayer,
|
|
34
|
-
SFNClientInstance,
|
|
35
|
-
} from "@effect-aws/client-sfn";
|
|
31
|
+
import { SFN } from "@effect-aws/client-sfn";
|
|
36
32
|
|
|
37
|
-
const program =
|
|
38
|
-
|
|
39
|
-
const SFNClientInstanceLayer = Layer.succeed(
|
|
40
|
-
SFNClientInstance,
|
|
41
|
-
new SFNClient({ region: "eu-central-1" }),
|
|
42
|
-
);
|
|
33
|
+
const program = SFN.startExecution(args);
|
|
43
34
|
|
|
44
35
|
const result = await pipe(
|
|
45
36
|
program,
|
|
46
|
-
Effect.provide(
|
|
47
|
-
|
|
37
|
+
Effect.provide(
|
|
38
|
+
SFN.baseLayer(() => new SFNClient({ 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 SFNClient configuration:
|
|
53
45
|
|
|
54
46
|
```typescript
|
|
55
|
-
import {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
DefaultSFNClientConfigLayer,
|
|
59
|
-
SFNClientInstance,
|
|
60
|
-
SFNClientInstanceConfig,
|
|
61
|
-
} from "@effect-aws/client-sfn";
|
|
62
|
-
|
|
63
|
-
const program = SFNService.startExecution(args);
|
|
64
|
-
|
|
65
|
-
const SFNClientInstanceLayer = Layer.provide(
|
|
66
|
-
Layer.effect(
|
|
67
|
-
SFNClientInstance,
|
|
68
|
-
SFNClientInstanceConfig.pipe(
|
|
69
|
-
Effect.map(
|
|
70
|
-
(config) => new SFNClient({ ...config, region: "eu-central-1" }),
|
|
71
|
-
),
|
|
72
|
-
),
|
|
73
|
-
),
|
|
74
|
-
DefaultSFNClientConfigLayer,
|
|
75
|
-
);
|
|
47
|
+
import { SFN } from "@effect-aws/client-sfn";
|
|
48
|
+
|
|
49
|
+
const program = SFN.startExecution(args);
|
|
76
50
|
|
|
77
51
|
const result = await pipe(
|
|
78
52
|
program,
|
|
79
|
-
Effect.provide(
|
|
80
|
-
Effect.provide(SFNClientInstanceLayer),
|
|
53
|
+
Effect.provide(SFN.layer({ region: "eu-central-1" })),
|
|
81
54
|
Effect.runPromiseExit,
|
|
82
55
|
);
|
|
83
56
|
```
|
|
84
57
|
|
|
85
|
-
or
|
|
58
|
+
or use `SFN.baseLayer((default) => new SFNClient({ ...default, region: "eu-central-1" }))`
|
|
@@ -17,7 +17,7 @@ export declare class SFNClientInstance extends SFNClientInstance_base {
|
|
|
17
17
|
* @since 1.0.0
|
|
18
18
|
* @category constructors
|
|
19
19
|
*/
|
|
20
|
-
export declare const makeSFNClientInstance: Effect.Effect<SFNClient, never, SFNClientInstanceConfig>;
|
|
20
|
+
export declare const makeSFNClientInstance: Effect.Effect<SFNClient, never, import("effect/Scope").Scope | SFNClientInstanceConfig>;
|
|
21
21
|
/**
|
|
22
22
|
* @since 1.0.0
|
|
23
23
|
* @category layers
|
package/lib/SFNClientInstance.js
CHANGED
|
@@ -43,15 +43,15 @@ exports.SFNClientInstance = SFNClientInstance;
|
|
|
43
43
|
* @since 1.0.0
|
|
44
44
|
* @category constructors
|
|
45
45
|
*/
|
|
46
|
-
exports.makeSFNClientInstance = Effect.
|
|
46
|
+
exports.makeSFNClientInstance = Effect.flatMap(SFNClientInstanceConfig_1.SFNClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_sfn_1.SFNClient(config)), (client) => Effect.sync(() => client.destroy())));
|
|
47
47
|
/**
|
|
48
48
|
* @since 1.0.0
|
|
49
49
|
* @category layers
|
|
50
50
|
*/
|
|
51
|
-
exports.SFNClientInstanceLayer = Layer.
|
|
51
|
+
exports.SFNClientInstanceLayer = Layer.scoped(SFNClientInstance, exports.makeSFNClientInstance);
|
|
52
52
|
/**
|
|
53
53
|
* @since 1.0.0
|
|
54
54
|
* @category layers
|
|
55
55
|
*/
|
|
56
56
|
exports.DefaultSFNClientInstanceLayer = exports.SFNClientInstanceLayer.pipe(Layer.provide(SFNClientInstanceConfig_1.DefaultSFNClientConfigLayer));
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU0ZOQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUFnRDtBQUNoRCx3REFBMEM7QUFDMUMsc0RBQXdDO0FBQ3hDLG9EQUFzQztBQUN0Qyx1RUFHbUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUZwQyw4Q0FFb0M7QUFFcEM7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCxpREFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNoRCxDQUNKLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQiw2QkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsOEJBQXNCLENBQUMsSUFBSSxDQUN0RSxLQUFLLENBQUMsT0FBTyxDQUFDLHFEQUEyQixDQUFDLENBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBTRk5DbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNmblwiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyLFxuICBTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBTRk5DbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZm4vU0ZOQ2xpZW50SW5zdGFuY2VcIixcbik8U0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNGTkNsaWVudEluc3RhbmNlID0gRWZmZWN0LmZsYXRNYXAoXG4gIFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PlxuICAgIEVmZmVjdC5hY3F1aXJlUmVsZWFzZShcbiAgICAgIEVmZmVjdC5zeW5jKCgpID0+IG5ldyBTRk5DbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5zY29wZWQoXG4gIFNGTkNsaWVudEluc3RhbmNlLFxuICBtYWtlU0ZOQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgPSBTRk5DbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
package/lib/SFNService.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { type CreateActivityCommandInput, type CreateActivityCommandOutput, type CreateStateMachineCommandInput, type CreateStateMachineCommandOutput, type CreateStateMachineAliasCommandInput, type CreateStateMachineAliasCommandOutput, type DeleteActivityCommandInput, type DeleteActivityCommandOutput, type DeleteStateMachineCommandInput, type DeleteStateMachineCommandOutput, type DeleteStateMachineAliasCommandInput, type DeleteStateMachineAliasCommandOutput, type DeleteStateMachineVersionCommandInput, type DeleteStateMachineVersionCommandOutput, type DescribeActivityCommandInput, type DescribeActivityCommandOutput, type DescribeExecutionCommandInput, type DescribeExecutionCommandOutput, type DescribeMapRunCommandInput, type DescribeMapRunCommandOutput, type DescribeStateMachineCommandInput, type DescribeStateMachineCommandOutput, type DescribeStateMachineAliasCommandInput, type DescribeStateMachineAliasCommandOutput, type DescribeStateMachineForExecutionCommandInput, type DescribeStateMachineForExecutionCommandOutput, type GetActivityTaskCommandInput, type GetActivityTaskCommandOutput, type GetExecutionHistoryCommandInput, type GetExecutionHistoryCommandOutput, type ListActivitiesCommandInput, type ListActivitiesCommandOutput, type ListExecutionsCommandInput, type ListExecutionsCommandOutput, type ListMapRunsCommandInput, type ListMapRunsCommandOutput, type ListStateMachineAliasesCommandInput, type ListStateMachineAliasesCommandOutput, type ListStateMachineVersionsCommandInput, type ListStateMachineVersionsCommandOutput, type ListStateMachinesCommandInput, type ListStateMachinesCommandOutput, type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput, type PublishStateMachineVersionCommandInput, type PublishStateMachineVersionCommandOutput, type RedriveExecutionCommandInput, type RedriveExecutionCommandOutput, type SendTaskFailureCommandInput, type SendTaskFailureCommandOutput, type SendTaskHeartbeatCommandInput, type SendTaskHeartbeatCommandOutput, type SendTaskSuccessCommandInput, type SendTaskSuccessCommandOutput, type StartExecutionCommandInput, type StartExecutionCommandOutput, type StartSyncExecutionCommandInput, type StartSyncExecutionCommandOutput, type StopExecutionCommandInput, type StopExecutionCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type TestStateCommandInput, type TestStateCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateMapRunCommandInput, type UpdateMapRunCommandOutput, type UpdateStateMachineCommandInput, type UpdateStateMachineCommandOutput, type UpdateStateMachineAliasCommandInput, type UpdateStateMachineAliasCommandOutput, type ValidateStateMachineDefinitionCommandInput, type ValidateStateMachineDefinitionCommandOutput } from "@aws-sdk/client-sfn";
|
|
4
|
+
import { type SFNClient, type SFNClientConfig, type CreateActivityCommandInput, type CreateActivityCommandOutput, type CreateStateMachineCommandInput, type CreateStateMachineCommandOutput, type CreateStateMachineAliasCommandInput, type CreateStateMachineAliasCommandOutput, type DeleteActivityCommandInput, type DeleteActivityCommandOutput, type DeleteStateMachineCommandInput, type DeleteStateMachineCommandOutput, type DeleteStateMachineAliasCommandInput, type DeleteStateMachineAliasCommandOutput, type DeleteStateMachineVersionCommandInput, type DeleteStateMachineVersionCommandOutput, type DescribeActivityCommandInput, type DescribeActivityCommandOutput, type DescribeExecutionCommandInput, type DescribeExecutionCommandOutput, type DescribeMapRunCommandInput, type DescribeMapRunCommandOutput, type DescribeStateMachineCommandInput, type DescribeStateMachineCommandOutput, type DescribeStateMachineAliasCommandInput, type DescribeStateMachineAliasCommandOutput, type DescribeStateMachineForExecutionCommandInput, type DescribeStateMachineForExecutionCommandOutput, type GetActivityTaskCommandInput, type GetActivityTaskCommandOutput, type GetExecutionHistoryCommandInput, type GetExecutionHistoryCommandOutput, type ListActivitiesCommandInput, type ListActivitiesCommandOutput, type ListExecutionsCommandInput, type ListExecutionsCommandOutput, type ListMapRunsCommandInput, type ListMapRunsCommandOutput, type ListStateMachineAliasesCommandInput, type ListStateMachineAliasesCommandOutput, type ListStateMachineVersionsCommandInput, type ListStateMachineVersionsCommandOutput, type ListStateMachinesCommandInput, type ListStateMachinesCommandOutput, type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput, type PublishStateMachineVersionCommandInput, type PublishStateMachineVersionCommandOutput, type RedriveExecutionCommandInput, type RedriveExecutionCommandOutput, type SendTaskFailureCommandInput, type SendTaskFailureCommandOutput, type SendTaskHeartbeatCommandInput, type SendTaskHeartbeatCommandOutput, type SendTaskSuccessCommandInput, type SendTaskSuccessCommandOutput, type StartExecutionCommandInput, type StartExecutionCommandOutput, type StartSyncExecutionCommandInput, type StartSyncExecutionCommandOutput, type StopExecutionCommandInput, type StopExecutionCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type TestStateCommandInput, type TestStateCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateMapRunCommandInput, type UpdateMapRunCommandOutput, type UpdateStateMachineCommandInput, type UpdateStateMachineCommandOutput, type UpdateStateMachineAliasCommandInput, type UpdateStateMachineAliasCommandOutput, type ValidateStateMachineDefinitionCommandInput, type ValidateStateMachineDefinitionCommandOutput } from "@aws-sdk/client-sfn";
|
|
5
5
|
import { Effect, Layer } from "effect";
|
|
6
6
|
import { ActivityAlreadyExistsError, ActivityDoesNotExistError, ActivityLimitExceededError, ActivityWorkerLimitExceededError, ConflictError, ExecutionAlreadyExistsError, ExecutionDoesNotExistError, ExecutionLimitExceededError, ExecutionNotRedrivableError, InvalidArnError, InvalidDefinitionError, InvalidEncryptionConfigurationError, InvalidExecutionInputError, InvalidLoggingConfigurationError, InvalidNameError, InvalidOutputError, InvalidTokenError, InvalidTracingConfigurationError, KmsAccessDeniedError, KmsInvalidStateError, KmsThrottlingError, MissingRequiredParameterError, ResourceNotFoundError, ServiceQuotaExceededError, StateMachineAlreadyExistsError, StateMachineDeletingError, StateMachineDoesNotExistError, StateMachineLimitExceededError, StateMachineTypeNotSupportedError, TaskDoesNotExistError, TaskTimedOutError, TooManyTagsError, ValidationError, SdkError } from "./Errors";
|
|
7
7
|
import { SFNClientInstance } from "./SFNClientInstance";
|
|
8
|
+
import { SFNClientInstanceConfig } from "./SFNClientInstanceConfig";
|
|
8
9
|
/**
|
|
9
|
-
* @since 1.
|
|
10
|
+
* @since 1.0.0
|
|
10
11
|
*/
|
|
11
12
|
export interface HttpHandlerOptions {
|
|
12
13
|
/**
|
|
@@ -166,6 +167,11 @@ interface SFNService$ {
|
|
|
166
167
|
*/
|
|
167
168
|
validateStateMachineDefinition(args: ValidateStateMachineDefinitionCommandInput, options?: HttpHandlerOptions): Effect.Effect<ValidateStateMachineDefinitionCommandOutput, SdkError | ValidationError>;
|
|
168
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* @since 1.0.0
|
|
172
|
+
* @category constructors
|
|
173
|
+
*/
|
|
174
|
+
export declare const makeSFNService: Effect.Effect<SFNService$, never, SFNClientInstance>;
|
|
169
175
|
declare const SFNService_base: import("effect/Context").TagClass<SFNService, "@effect-aws/client-sfn/SFNService", SFNService$> & {
|
|
170
176
|
readonly _: Effect.Effect<SFNService$["_"], never, SFNService>;
|
|
171
177
|
createActivity: (args: CreateActivityCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CreateActivityCommandOutput, ActivityAlreadyExistsError | ActivityLimitExceededError | InvalidEncryptionConfigurationError | InvalidNameError | KmsAccessDeniedError | KmsThrottlingError | TooManyTagsError | SdkError, SFNService>;
|
|
@@ -213,25 +219,32 @@ declare const SFNService_base: import("effect/Context").TagClass<SFNService, "@e
|
|
|
213
219
|
* @category models
|
|
214
220
|
*/
|
|
215
221
|
export declare class SFNService extends SFNService_base {
|
|
222
|
+
static readonly defaultLayer: Layer.Layer<SFNService, never, never>;
|
|
223
|
+
static readonly layer: (config: SFNClientConfig) => Layer.Layer<SFNService, never, never>;
|
|
224
|
+
static readonly baseLayer: (evaluate: (defaultConfig: SFNClientConfig) => SFNClient) => Layer.Layer<SFNService, never, never>;
|
|
216
225
|
}
|
|
217
226
|
/**
|
|
218
227
|
* @since 1.0.0
|
|
219
|
-
* @category
|
|
228
|
+
* @category models
|
|
229
|
+
* @alias SFNService
|
|
220
230
|
*/
|
|
221
|
-
export declare const
|
|
231
|
+
export declare const SFN: typeof SFNService;
|
|
222
232
|
/**
|
|
223
233
|
* @since 1.0.0
|
|
224
234
|
* @category layers
|
|
235
|
+
* @deprecated use SFN.baseLayer instead
|
|
225
236
|
*/
|
|
226
237
|
export declare const BaseSFNServiceLayer: Layer.Layer<SFNService, never, SFNClientInstance>;
|
|
227
238
|
/**
|
|
228
239
|
* @since 1.0.0
|
|
229
240
|
* @category layers
|
|
241
|
+
* @deprecated use SFN.layer instead
|
|
230
242
|
*/
|
|
231
|
-
export declare const SFNServiceLayer: Layer.Layer<SFNService, never,
|
|
243
|
+
export declare const SFNServiceLayer: Layer.Layer<SFNService, never, SFNClientInstanceConfig>;
|
|
232
244
|
/**
|
|
233
245
|
* @since 1.0.0
|
|
234
246
|
* @category layers
|
|
247
|
+
* @deprecated use SFN.defaultLayer instead
|
|
235
248
|
*/
|
|
236
249
|
export declare const DefaultSFNServiceLayer: Layer.Layer<SFNService, never, never>;
|
|
237
250
|
export {};
|
package/lib/SFNService.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultSFNServiceLayer = exports.SFNServiceLayer = exports.BaseSFNServiceLayer = exports.
|
|
4
|
+
exports.DefaultSFNServiceLayer = exports.SFNServiceLayer = exports.BaseSFNServiceLayer = exports.SFN = exports.SFNService = exports.makeSFNService = void 0;
|
|
4
5
|
/**
|
|
5
6
|
* @since 1.0.0
|
|
6
7
|
*/
|
|
@@ -48,13 +49,6 @@ const commands = {
|
|
|
48
49
|
UpdateStateMachineAliasCommand: client_sfn_1.UpdateStateMachineAliasCommand,
|
|
49
50
|
ValidateStateMachineDefinitionCommand: client_sfn_1.ValidateStateMachineDefinitionCommand,
|
|
50
51
|
};
|
|
51
|
-
/**
|
|
52
|
-
* @since 1.0.0
|
|
53
|
-
* @category models
|
|
54
|
-
*/
|
|
55
|
-
class SFNService extends effect_1.Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
56
|
-
}
|
|
57
|
-
exports.SFNService = SFNService;
|
|
58
52
|
/**
|
|
59
53
|
* @since 1.0.0
|
|
60
54
|
* @category constructors
|
|
@@ -93,19 +87,39 @@ exports.makeSFNService = effect_1.Effect.gen(function* (_) {
|
|
|
93
87
|
return { ...acc, [methodName]: methodImpl };
|
|
94
88
|
}, {});
|
|
95
89
|
});
|
|
90
|
+
/**
|
|
91
|
+
* @since 1.0.0
|
|
92
|
+
* @category models
|
|
93
|
+
*/
|
|
94
|
+
class SFNService extends effect_1.Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
95
|
+
}
|
|
96
|
+
exports.SFNService = SFNService;
|
|
97
|
+
_a = SFNService;
|
|
98
|
+
SFNService.defaultLayer = effect_1.Layer.effect(_a, exports.makeSFNService).pipe(effect_1.Layer.provide(SFNClientInstance_1.SFNClientInstanceLayer), effect_1.Layer.provide(SFNClientInstanceConfig_1.DefaultSFNClientConfigLayer));
|
|
99
|
+
SFNService.layer = (config) => effect_1.Layer.effect(_a, exports.makeSFNService).pipe(effect_1.Layer.provide(SFNClientInstance_1.SFNClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(SFNClientInstanceConfig_1.SFNClientInstanceConfig, SFNClientInstanceConfig_1.makeDefaultSFNClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
100
|
+
SFNService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeSFNService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(SFNClientInstance_1.SFNClientInstance, effect_1.Effect.map(SFNClientInstanceConfig_1.makeDefaultSFNClientInstanceConfig, evaluate))));
|
|
101
|
+
/**
|
|
102
|
+
* @since 1.0.0
|
|
103
|
+
* @category models
|
|
104
|
+
* @alias SFNService
|
|
105
|
+
*/
|
|
106
|
+
exports.SFN = SFNService;
|
|
96
107
|
/**
|
|
97
108
|
* @since 1.0.0
|
|
98
109
|
* @category layers
|
|
110
|
+
* @deprecated use SFN.baseLayer instead
|
|
99
111
|
*/
|
|
100
112
|
exports.BaseSFNServiceLayer = effect_1.Layer.effect(SFNService, exports.makeSFNService);
|
|
101
113
|
/**
|
|
102
114
|
* @since 1.0.0
|
|
103
115
|
* @category layers
|
|
116
|
+
* @deprecated use SFN.layer instead
|
|
104
117
|
*/
|
|
105
118
|
exports.SFNServiceLayer = exports.BaseSFNServiceLayer.pipe(effect_1.Layer.provide(SFNClientInstance_1.SFNClientInstanceLayer));
|
|
106
119
|
/**
|
|
107
120
|
* @since 1.0.0
|
|
108
121
|
* @category layers
|
|
122
|
+
* @deprecated use SFN.defaultLayer instead
|
|
109
123
|
*/
|
|
110
|
-
exports.DefaultSFNServiceLayer =
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsb0RBaUg2QjtBQUM3QixtQ0FBcUQ7QUFDckQscUNBcUNrQjtBQUNsQiwyREFBZ0Y7QUFDaEYsdUVBQXdFO0FBYXhFLE1BQU0sUUFBUSxHQUFHO0lBQ2YscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQiwyQkFBMkIsRUFBM0Isd0NBQTJCO0lBQzNCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2QyxzQkFBc0IsRUFBdEIsbUNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5QiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLHVCQUF1QixFQUF2QixvQ0FBdUI7SUFDdkIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLHNCQUFzQixF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RTs7O0dBR0c7QUFDVSxRQUFBLGVBQWUsR0FBRywyQkFBbUIsQ0FBQyxJQUFJLENBQ3JELGNBQUssQ0FBQyxPQUFPLENBQUMsMENBQXNCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsdUJBQWUsQ0FBQyxJQUFJLENBQ3hELGNBQUssQ0FBQyxPQUFPLENBQUMscURBQTJCLENBQUMsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNGTlNlcnZpY2VFeGNlcHRpb24sXG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIHR5cGUgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICB0eXBlIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIHR5cGUgVGVzdFN0YXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBY3Rpdml0eUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvcixcbiAgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yLFxuICBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvcixcbiAgSW52YWxpZEFybkVycm9yLFxuICBJbnZhbGlkRGVmaW5pdGlvbkVycm9yLFxuICBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvcixcbiAgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3IsXG4gIEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBJbnZhbGlkTmFtZUVycm9yLFxuICBJbnZhbGlkT3V0cHV0RXJyb3IsXG4gIEludmFsaWRUb2tlbkVycm9yLFxuICBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcbiAgS21zQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNUaHJvdHRsaW5nRXJyb3IsXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IsXG4gIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvcixcbiAgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3IsXG4gIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBUYXNrRG9lc05vdEV4aXN0RXJyb3IsXG4gIFRhc2tUaW1lZE91dEVycm9yLFxuICBUb29NYW55VGFnc0Vycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS40LjFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kLFxuICBMaXN0TWFwUnVuc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kLFxuICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kLFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVNYXBSdW5Db21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU0ZOU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY3Rpdml0eShcbiAgICBhcmdzOiBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY3Rpdml0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY3Rpdml0eShcbiAgICBhcmdzOiBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTWFwUnVuKFxuICAgIGFyZ3M6IERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb24oXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZH1cbiAgICovXG4gIGdldEFjdGl2aXR5VGFzayhcbiAgICBhcmdzOiBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0RXhlY3V0aW9uSGlzdG9yeShcbiAgICBhcmdzOiBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY3Rpdml0aWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY3Rpdml0aWVzKFxuICAgIGFyZ3M6IExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdEFjdGl2aXRpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEV4ZWN1dGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEV4ZWN1dGlvbnMoXG4gICAgYXJnczogTGlzdEV4ZWN1dGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1hcFJ1bnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1hcFJ1bnMoXG4gICAgYXJnczogTGlzdE1hcFJ1bnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWFwUnVuc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IEludmFsaWRUb2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlZHJpdmVFeGVjdXRpb24oXG4gICAgYXJnczogUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrRmFpbHVyZShcbiAgICBhcmdzOiBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0hlYXJ0YmVhdChcbiAgICBhcmdzOiBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrU3VjY2VzcyhcbiAgICBhcmdzOiBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRPdXRwdXRFcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRTeW5jRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcEV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0U3RhdGVDb21tYW5kfVxuICAgKi9cbiAgdGVzdFN0YXRlKFxuICAgIGFyZ3M6IFRlc3RTdGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU1hcFJ1bihcbiAgICBhcmdzOiBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZH1cbiAgICovXG4gIHZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbihcbiAgICBhcmdzOiBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBTRk5TZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcIkBlZmZlY3QtYXdzL2NsaWVudC1zZm4vU0ZOU2VydmljZVwiKTxcbiAgU0ZOU2VydmljZSxcbiAgU0ZOU2VydmljZSRcbj4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNGTlNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTRk5DbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNGTlNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U0ZOU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU0ZOU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTRk5TZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoU0ZOU2VydmljZSwgbWFrZVNGTlNlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgU0ZOU2VydmljZUxheWVyID0gQmFzZVNGTlNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKFNGTkNsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTRk5TZXJ2aWNlTGF5ZXIgPSBTRk5TZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0U0ZOQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcbiJdfQ==
|
|
124
|
+
exports.DefaultSFNServiceLayer = SFNService.defaultLayer;
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQW1INkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQXFDa0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qiw4QkFBOEIsRUFBOUIsMkNBQThCO0lBQzlCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsMkJBQTJCLEVBQTNCLHdDQUEyQjtJQUMzQixnQ0FBZ0MsRUFBaEMsNkNBQWdDO0lBQ2hDLHVDQUF1QyxFQUF2QyxvREFBdUM7SUFDdkMsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0QiwwQkFBMEIsRUFBMUIsdUNBQTBCO0lBQzFCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQixrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsaUNBQWlDLEVBQWpDLDhDQUFpQztJQUNqQyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHNCQUFzQixFQUF0QixtQ0FBc0I7SUFDdEIsd0JBQXdCLEVBQXhCLHFDQUF3QjtJQUN4QixzQkFBc0Is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QUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBTRk5TZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIFNGTkNsaWVudCxcbiAgdHlwZSBTRk5DbGllbnRDb25maWcsXG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIHR5cGUgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICB0eXBlIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIHR5cGUgVGVzdFN0YXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBY3Rpdml0eUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvcixcbiAgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yLFxuICBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvcixcbiAgSW52YWxpZEFybkVycm9yLFxuICBJbnZhbGlkRGVmaW5pdGlvbkVycm9yLFxuICBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvcixcbiAgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3IsXG4gIEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBJbnZhbGlkTmFtZUVycm9yLFxuICBJbnZhbGlkT3V0cHV0RXJyb3IsXG4gIEludmFsaWRUb2tlbkVycm9yLFxuICBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcbiAgS21zQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNUaHJvdHRsaW5nRXJyb3IsXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IsXG4gIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvcixcbiAgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3IsXG4gIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBUYXNrRG9lc05vdEV4aXN0RXJyb3IsXG4gIFRhc2tUaW1lZE91dEVycm9yLFxuICBUb29NYW55VGFnc0Vycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kLFxuICBMaXN0TWFwUnVuc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kLFxuICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kLFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVNYXBSdW5Db21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgU0ZOU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY3Rpdml0eShcbiAgICBhcmdzOiBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY3Rpdml0eUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY3Rpdml0eShcbiAgICBhcmdzOiBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTWFwUnVuKFxuICAgIGFyZ3M6IERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb24oXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZH1cbiAgICovXG4gIGdldEFjdGl2aXR5VGFzayhcbiAgICBhcmdzOiBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0RXhlY3V0aW9uSGlzdG9yeShcbiAgICBhcmdzOiBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY3Rpdml0aWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY3Rpdml0aWVzKFxuICAgIGFyZ3M6IExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdEFjdGl2aXRpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEV4ZWN1dGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEV4ZWN1dGlvbnMoXG4gICAgYXJnczogTGlzdEV4ZWN1dGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1hcFJ1bnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1hcFJ1bnMoXG4gICAgYXJnczogTGlzdE1hcFJ1bnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWFwUnVuc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IEludmFsaWRUb2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlZHJpdmVFeGVjdXRpb24oXG4gICAgYXJnczogUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrRmFpbHVyZShcbiAgICBhcmdzOiBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0hlYXJ0YmVhdChcbiAgICBhcmdzOiBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrU3VjY2VzcyhcbiAgICBhcmdzOiBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRPdXRwdXRFcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRTeW5jRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcEV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0U3RhdGVDb21tYW5kfVxuICAgKi9cbiAgdGVzdFN0YXRlKFxuICAgIGFyZ3M6IFRlc3RTdGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU1hcFJ1bihcbiAgICBhcmdzOiBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZH1cbiAgICovXG4gIHZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbihcbiAgICBhcmdzOiBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU0ZOU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNGTkNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgU0ZOU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTRk5TZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTRk5TZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU0ZOU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtc2ZuL1NGTlNlcnZpY2VcIik8XG4gIFNGTlNlcnZpY2UsXG4gIFNGTlNlcnZpY2UkXG4+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VTRk5TZXJ2aWNlKS5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0U0ZOQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBTRk5DbGllbnRDb25maWcpID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VTRk5TZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShTRk5DbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgICAgICAgICBtYWtlRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBTRk5DbGllbnRDb25maWcpID0+IFNGTkNsaWVudCxcbiAgKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU0ZOU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBTRk5DbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0U0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsIGV2YWx1YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBTRk5TZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTRk4gPSBTRk5TZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNGTi5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZVNGTlNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTRk5TZXJ2aWNlLCBtYWtlU0ZOU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgU0ZOLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTlNlcnZpY2VMYXllciA9IEJhc2VTRk5TZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShTRk5DbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgU0ZOLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U0ZOU2VydmljZUxheWVyID0gU0ZOU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
|
|
@@ -16,15 +16,15 @@ export class SFNClientInstance extends Context.Tag("@effect-aws/client-sfn/SFNCl
|
|
|
16
16
|
* @since 1.0.0
|
|
17
17
|
* @category constructors
|
|
18
18
|
*/
|
|
19
|
-
export const makeSFNClientInstance = Effect.
|
|
19
|
+
export const makeSFNClientInstance = Effect.flatMap(SFNClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new SFNClient(config)), (client) => Effect.sync(() => client.destroy())));
|
|
20
20
|
/**
|
|
21
21
|
* @since 1.0.0
|
|
22
22
|
* @category layers
|
|
23
23
|
*/
|
|
24
|
-
export const SFNClientInstanceLayer = Layer.
|
|
24
|
+
export const SFNClientInstanceLayer = Layer.scoped(SFNClientInstance, makeSFNClientInstance);
|
|
25
25
|
/**
|
|
26
26
|
* @since 1.0.0
|
|
27
27
|
* @category layers
|
|
28
28
|
*/
|
|
29
29
|
export const DefaultSFNClientInstanceLayer = SFNClientInstanceLayer.pipe(Layer.provide(DefaultSFNClientConfigLayer));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU0ZOQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHVCQUF1QixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCx1QkFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQixxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FDdEUsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgU0ZOQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZm5cIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllcixcbiAgU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL1NGTkNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgU0ZOQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2ZuL1NGTkNsaWVudEluc3RhbmNlXCIsXG4pPFNGTkNsaWVudEluc3RhbmNlLCBTRk5DbGllbnQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTRk5DbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgU0ZOQ2xpZW50KGNvbmZpZykpLFxuICAgICAgKGNsaWVudCkgPT4gRWZmZWN0LnN5bmMoKCkgPT4gY2xpZW50LmRlc3Ryb3koKSksXG4gICAgKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTRk5DbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBTRk5DbGllbnRJbnN0YW5jZSxcbiAgbWFrZVNGTkNsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTRk5DbGllbnRJbnN0YW5jZUxheWVyID0gU0ZOQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
|
package/lib/esm/SFNService.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
/**
|
|
2
3
|
* @since 1.0.0
|
|
3
4
|
*/
|
|
@@ -5,7 +6,7 @@ import { SFNServiceException, CreateActivityCommand, CreateStateMachineCommand,
|
|
|
5
6
|
import { Data, Effect, Layer, Record } from "effect";
|
|
6
7
|
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
7
8
|
import { SFNClientInstance, SFNClientInstanceLayer } from "./SFNClientInstance";
|
|
8
|
-
import { DefaultSFNClientConfigLayer } from "./SFNClientInstanceConfig";
|
|
9
|
+
import { DefaultSFNClientConfigLayer, makeDefaultSFNClientInstanceConfig, SFNClientInstanceConfig, } from "./SFNClientInstanceConfig";
|
|
9
10
|
const commands = {
|
|
10
11
|
CreateActivityCommand,
|
|
11
12
|
CreateStateMachineCommand,
|
|
@@ -45,12 +46,6 @@ const commands = {
|
|
|
45
46
|
UpdateStateMachineAliasCommand,
|
|
46
47
|
ValidateStateMachineDefinitionCommand,
|
|
47
48
|
};
|
|
48
|
-
/**
|
|
49
|
-
* @since 1.0.0
|
|
50
|
-
* @category models
|
|
51
|
-
*/
|
|
52
|
-
export class SFNService extends Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
53
|
-
}
|
|
54
49
|
/**
|
|
55
50
|
* @since 1.0.0
|
|
56
51
|
* @category constructors
|
|
@@ -89,19 +84,38 @@ export const makeSFNService = Effect.gen(function* (_) {
|
|
|
89
84
|
return { ...acc, [methodName]: methodImpl };
|
|
90
85
|
}, {});
|
|
91
86
|
});
|
|
87
|
+
/**
|
|
88
|
+
* @since 1.0.0
|
|
89
|
+
* @category models
|
|
90
|
+
*/
|
|
91
|
+
export class SFNService extends Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
92
|
+
}
|
|
93
|
+
_a = SFNService;
|
|
94
|
+
SFNService.defaultLayer = Layer.effect(_a, makeSFNService).pipe(Layer.provide(SFNClientInstanceLayer), Layer.provide(DefaultSFNClientConfigLayer));
|
|
95
|
+
SFNService.layer = (config) => Layer.effect(_a, makeSFNService).pipe(Layer.provide(SFNClientInstanceLayer), Layer.provide(Layer.effect(SFNClientInstanceConfig, makeDefaultSFNClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
96
|
+
SFNService.baseLayer = (evaluate) => Layer.effect(_a, makeSFNService).pipe(Layer.provide(Layer.effect(SFNClientInstance, Effect.map(makeDefaultSFNClientInstanceConfig, evaluate))));
|
|
97
|
+
/**
|
|
98
|
+
* @since 1.0.0
|
|
99
|
+
* @category models
|
|
100
|
+
* @alias SFNService
|
|
101
|
+
*/
|
|
102
|
+
export const SFN = SFNService;
|
|
92
103
|
/**
|
|
93
104
|
* @since 1.0.0
|
|
94
105
|
* @category layers
|
|
106
|
+
* @deprecated use SFN.baseLayer instead
|
|
95
107
|
*/
|
|
96
108
|
export const BaseSFNServiceLayer = Layer.effect(SFNService, makeSFNService);
|
|
97
109
|
/**
|
|
98
110
|
* @since 1.0.0
|
|
99
111
|
* @category layers
|
|
112
|
+
* @deprecated use SFN.layer instead
|
|
100
113
|
*/
|
|
101
114
|
export const SFNServiceLayer = BaseSFNServiceLayer.pipe(Layer.provide(SFNClientInstanceLayer));
|
|
102
115
|
/**
|
|
103
116
|
* @since 1.0.0
|
|
104
117
|
* @category layers
|
|
118
|
+
* @deprecated use SFN.defaultLayer instead
|
|
105
119
|
*/
|
|
106
|
-
export const DefaultSFNServiceLayer =
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixnQ0FBZ0MsRUFHaEMsdUJBQXVCLEVBR3ZCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLGdDQUFnQyxFQUdoQyx1Q0FBdUMsRUFHdkMsc0JBQXNCLEVBR3RCLDBCQUEwQixFQUcxQixxQkFBcUIsRUFHckIscUJBQXFCLEVBR3JCLGtCQUFrQixFQUdsQiw4QkFBOEIsRUFHOUIsK0JBQStCLEVBRy9CLHdCQUF3QixFQUd4QiwwQkFBMEIsRUFHMUIsaUNBQWlDLEVBR2pDLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsd0JBQXdCLEVBR3hCLHNCQUFzQixFQUd0QixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLG9CQUFvQixFQUdwQixrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBR2hCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixxQ0FBcUMsR0FHdEMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFDTCxnQkFBZ0IsRUFrQ2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQWF4RSxNQUFNLFFBQVEsR0FBRztJ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QUM7UUFDRixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUFnQixDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU0ZOU2VydmljZUV4Y2VwdGlvbixcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZCxcbiAgdHlwZSBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIHR5cGUgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBY3Rpdml0aWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RFeGVjdXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kLFxuICB0eXBlIExpc3RNYXBSdW5zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICB0eXBlIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kLFxuICB0eXBlIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RvcEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVGVzdFN0YXRlQ29tbWFuZCxcbiAgdHlwZSBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZm5cIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjdGl2aXR5QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yLFxuICBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvcixcbiAgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IsXG4gIEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yLFxuICBJbnZhbGlkQXJuRXJyb3IsXG4gIEludmFsaWREZWZpbml0aW9uRXJyb3IsXG4gIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yLFxuICBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvcixcbiAgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IsXG4gIEludmFsaWROYW1lRXJyb3IsXG4gIEludmFsaWRPdXRwdXRFcnJvcixcbiAgSW52YWxpZFRva2VuRXJyb3IsXG4gIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBLbXNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS21zSW52YWxpZFN0YXRlRXJyb3IsXG4gIEttc1Rocm90dGxpbmdFcnJvcixcbiAgTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvcixcbiAgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yLFxuICBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3IsXG4gIFRhc2tEb2VzTm90RXhpc3RFcnJvcixcbiAgVGFza1RpbWVkT3V0RXJyb3IsXG4gIFRvb01hbnlUYWdzRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQgeyBTRk5DbGllbnRJbnN0YW5jZSwgU0ZOQ2xpZW50SW5zdGFuY2VMYXllciB9IGZyb20gXCIuL1NGTkNsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0U0ZOQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjQuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kLFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kLFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVGVzdFN0YXRlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTRk5TZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjdGl2aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWN0aXZpdHkoXG4gICAgYXJnczogRGVsZXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjdGl2aXR5KFxuICAgIGFyZ3M6IERlc2NyaWJlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeGVjdXRpb24oXG4gICAgYXJnczogRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVNYXBSdW5Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVNYXBSdW4oXG4gICAgYXJnczogRGVzY3JpYmVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY3Rpdml0eVRhc2tDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWN0aXZpdHlUYXNrKFxuICAgIGFyZ3M6IEdldEFjdGl2aXR5VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmR9XG4gICAqL1xuICBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIGFyZ3M6IEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjdGl2aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjdGl2aXRpZXMoXG4gICAgYXJnczogTGlzdEFjdGl2aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RXhlY3V0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RXhlY3V0aW9ucyhcbiAgICBhcmdzOiBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TWFwUnVuc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TWFwUnVucyhcbiAgICBhcmdzOiBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZUFsaWFzZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZVZlcnNpb25zKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lcyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgcHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVkcml2ZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza0ZhaWx1cmVDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tGYWlsdXJlKFxuICAgIGFyZ3M6IFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrSGVhcnRiZWF0KFxuICAgIGFyZ3M6IFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3IgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tTdWNjZXNzKFxuICAgIGFyZ3M6IFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE91dHB1dEVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRhc2tEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydFN5bmNFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0b3BFeGVjdXRpb24oXG4gICAgYXJnczogU3RvcEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnUmVzb3VyY2UoXG4gICAgYXJnczogVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RTdGF0ZUNvbW1hbmR9XG4gICAqL1xuICB0ZXN0U3RhdGUoXG4gICAgYXJnczogVGVzdFN0YXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVNYXBSdW5Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTWFwUnVuKFxuICAgIGFyZ3M6IFVwZGF0ZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kfVxuICAgKi9cbiAgdmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uKFxuICAgIGFyZ3M6IFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNGTlNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNmbi9TRk5TZXJ2aWNlXCIpPFxuICBTRk5TZXJ2aWNlLFxuICBTRk5TZXJ2aWNlJFxuPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU0ZOU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNGTkNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgU0ZOU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTRk5TZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTRk5TZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZVNGTlNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTRk5TZXJ2aWNlLCBtYWtlU0ZOU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTRk5TZXJ2aWNlTGF5ZXIgPSBCYXNlU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTlNlcnZpY2VMYXllciA9IFNGTlNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
|
|
120
|
+
export const DefaultSFNServiceLayer = SFNService.defaultLayer;
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIscUJBQXFCLEVBR3JCLHlCQUF5QixFQUd6Qiw4QkFBOEIsRUFHOUIscUJBQXFCLEVBR3JCLHlCQUF5QixFQUd6Qiw4QkFBOEIsRUFHOUIsZ0NBQWdDLEVBR2hDLHVCQUF1QixFQUd2Qix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLDJCQUEyQixFQUczQixnQ0FBZ0MsRUFHaEMsdUNBQXVDLEVBR3ZDLHNCQUFzQixFQUd0QiwwQkFBMEIsRUFHMUIscUJBQXFCLEVBR3JCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFHbEIsOEJBQThCLEVBRzlCLCtCQUErQixFQUcvQix3QkFBd0IsRUFHeEIsMEJBQTBCLEVBRzFCLGlDQUFpQyxFQUdqQyx1QkFBdUIsRUFHdkIsc0JBQXNCLEVBR3RCLHdCQUF3QixFQUd4QixzQkFBc0IsRUFHdEIscUJBQXFCLEVBR3JCLHlCQUF5QixFQUd6QixvQkFBb0IsRUFHcEIsa0JBQWtCLEVBR2xCLGdCQUFnQixFQUdoQixvQkFBb0IsRUFHcEIsbUJBQW1CLEVBR25CLHlCQUF5QixFQUd6Qiw4QkFBOEIsRUFHOUIscUNBQXFDLEdBR3RDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBa0NoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsdUJBQXVCLEdBQ3hCLE1BQU0sMkJBQTJC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QU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztBQUU5Qjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFNUU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JELEtBQUssQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU0ZOU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBTRk5DbGllbnQsXG4gIHR5cGUgU0ZOQ2xpZW50Q29uZmlnLFxuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVNYXBSdW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kLFxuICB0eXBlIEdldEFjdGl2aXR5VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY3Rpdml0eVRhc2tDb21tYW5kT3V0cHV0LFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZCxcbiAgdHlwZSBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFjdGl2aXRpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjdGl2aXRpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEV4ZWN1dGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEV4ZWN1dGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0TWFwUnVuc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1hcFJ1bnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE1hcFJ1bnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kLFxuICB0eXBlIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kVGFza0ZhaWx1cmVDb21tYW5kT3V0cHV0LFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kT3V0cHV0LFxuICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kLFxuICB0eXBlIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBTdG9wRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdG9wRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBUZXN0U3RhdGVDb21tYW5kLFxuICB0eXBlIFRlc3RTdGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0U3RhdGVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVNYXBSdW5Db21tYW5kLFxuICB0eXBlIFVwZGF0ZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNmblwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWN0aXZpdHlBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IsXG4gIEFjdGl2aXR5TGltaXRFeGNlZWRlZEVycm9yLFxuICBBY3Rpdml0eVdvcmtlckxpbWl0RXhjZWVkZWRFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgRXhlY3V0aW9uQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvcixcbiAgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yLFxuICBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3IsXG4gIEludmFsaWRBcm5FcnJvcixcbiAgSW52YWxpZERlZmluaXRpb25FcnJvcixcbiAgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3IsXG4gIEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yLFxuICBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcbiAgSW52YWxpZE5hbWVFcnJvcixcbiAgSW52YWxpZE91dHB1dEVycm9yLFxuICBJbnZhbGlkVG9rZW5FcnJvcixcbiAgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3IsXG4gIEttc0FjY2Vzc0RlbmllZEVycm9yLFxuICBLbXNJbnZhbGlkU3RhdGVFcnJvcixcbiAgS21zVGhyb3R0bGluZ0Vycm9yLFxuICBNaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yLFxuICBTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3IsXG4gIFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yLFxuICBTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvcixcbiAgVGFza0RvZXNOb3RFeGlzdEVycm9yLFxuICBUYXNrVGltZWRPdXRFcnJvcixcbiAgVG9vTWFueVRhZ3NFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFNGTkNsaWVudEluc3RhbmNlLCBTRk5DbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL1NGTkNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kLFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kLFxuICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kLFxuICBTdG9wRXhlY3V0aW9uQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBUZXN0U3RhdGVDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNGTlNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWN0aXZpdHkoXG4gICAgYXJnczogQ3JlYXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWN0aXZpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEFjdGl2aXR5TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY3Rpdml0eShcbiAgICBhcmdzOiBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ29uZmxpY3RFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQWN0aXZpdHkoXG4gICAgYXJnczogRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU1hcFJ1bkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU1hcFJ1bihcbiAgICBhcmdzOiBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjdGl2aXR5VGFza0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY3Rpdml0eVRhc2soXG4gICAgYXJnczogR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBBY3Rpdml0eVdvcmtlckxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZH1cbiAgICovXG4gIGdldEV4ZWN1dGlvbkhpc3RvcnkoXG4gICAgYXJnczogR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QWN0aXZpdGllc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWN0aXZpdGllcyhcbiAgICBhcmdzOiBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RBY3Rpdml0aWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RFeGVjdXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RFeGVjdXRpb25zKFxuICAgIGFyZ3M6IExpc3RFeGVjdXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNYXBSdW5zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNYXBSdW5zKFxuICAgIGFyZ3M6IExpc3RNYXBSdW5zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1hcFJ1bnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lQWxpYXNlcyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVzKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBwdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbihcbiAgICBhcmdzOiBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWRyaXZlRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0ZhaWx1cmUoXG4gICAgYXJnczogU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRhc2tEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tIZWFydGJlYXQoXG4gICAgYXJnczogU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvciB8IFRhc2tEb2VzTm90RXhpc3RFcnJvciB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza1N1Y2Nlc3MoXG4gICAgYXJnczogU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkT3V0cHV0RXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydEV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydEV4ZWN1dGlvbihcbiAgICBhcmdzOiBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0U3luY0V4ZWN1dGlvbihcbiAgICBhcmdzOiBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RvcEV4ZWN1dGlvbihcbiAgICBhcmdzOiBTdG9wRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFRvb01hbnlUYWdzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdFN0YXRlQ29tbWFuZH1cbiAgICovXG4gIHRlc3RTdGF0ZShcbiAgICBhcmdzOiBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0U3RhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZU1hcFJ1bkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVNYXBSdW4oXG4gICAgYXJnczogVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBNaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb24oXG4gICAgYXJnczogVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNGTlNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTRk5DbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNGTlNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U0ZOU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU0ZOU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNGTlNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNmbi9TRk5TZXJ2aWNlXCIpPFxuICBTRk5TZXJ2aWNlLFxuICBTRk5TZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU0ZOU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFNGTkNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogU0ZOQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlU0ZOU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRTRk5DbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogU0ZOQ2xpZW50Q29uZmlnKSA9PiBTRk5DbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVNGTlNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgU0ZOQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgU0ZOU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgU0ZOID0gU0ZOU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBTRk4uYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTRk5TZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoU0ZOU2VydmljZSwgbWFrZVNGTlNlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNGTi5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBTRk5TZXJ2aWNlTGF5ZXIgPSBCYXNlU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFNGTi5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTlNlcnZpY2VMYXllciA9IFNGTlNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
|