@effect-aws/client-opensearch-serverless 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-aws/client-opensearch-serverless
2
2
 
3
+ ## 1.2.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.1.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.0.1
4
16
 
5
17
  ### Patch Changes
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2024 Victor Korzunin
1
+ Copyright (c) 2025 Victor Korzunin
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -14,13 +14,13 @@ npm install --save @effect-aws/client-opensearch-serverless
14
14
  With default OpenSearchServerlessClient instance:
15
15
 
16
16
  ```typescript
17
- import { OpenSearchServerlessService, DefaultOpenSearchServerlessServiceLayer } from "@effect-aws/client-opensearch-serverless";
17
+ import { OpenSearchServerless } from "@effect-aws/client-opensearch-serverless";
18
18
 
19
- const program = OpenSearchServerlessService.listCollections(args);
19
+ const program = OpenSearchServerless.listCollections(args);
20
20
 
21
21
  const result = pipe(
22
22
  program,
23
- Effect.provide(DefaultOpenSearchServerlessServiceLayer),
23
+ Effect.provide(OpenSearchServerless.defaultLayer),
24
24
  Effect.runPromise,
25
25
  );
26
26
  ```
@@ -28,23 +28,15 @@ const result = pipe(
28
28
  With custom OpenSearchServerlessClient instance:
29
29
 
30
30
  ```typescript
31
- import {
32
- OpenSearchServerlessService,
33
- BaseOpenSearchServerlessServiceLayer,
34
- OpenSearchServerlessClientInstance,
35
- } from "@effect-aws/client-opensearch-serverless";
31
+ import { OpenSearchServerless } from "@effect-aws/client-opensearch-serverless";
36
32
 
37
- const program = OpenSearchServerlessService.listCollections(args);
38
-
39
- const OpenSearchServerlessClientInstanceLayer = Layer.succeed(
40
- OpenSearchServerlessClientInstance,
41
- new OpenSearchServerlessClient({ region: "eu-central-1" }),
42
- );
33
+ const program = OpenSearchServerless.listCollections(args);
43
34
 
44
35
  const result = await pipe(
45
36
  program,
46
- Effect.provide(BaseOpenSearchServerlessServiceLayer),
47
- Effect.provide(OpenSearchServerlessClientInstanceLayer),
37
+ Effect.provide(
38
+ OpenSearchServerless.baseLayer(() => new OpenSearchServerlessClient({ 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 OpenSearchServerlessClient configuration:
53
45
 
54
46
  ```typescript
55
- import {
56
- OpenSearchServerlessService,
57
- BaseOpenSearchServerlessServiceLayer,
58
- DefaultOpenSearchServerlessClientConfigLayer,
59
- OpenSearchServerlessClientInstance,
60
- OpenSearchServerlessClientInstanceConfig,
61
- } from "@effect-aws/client-opensearch-serverless";
62
-
63
- const program = OpenSearchServerlessService.listCollections(args);
64
-
65
- const OpenSearchServerlessClientInstanceLayer = Layer.provide(
66
- Layer.effect(
67
- OpenSearchServerlessClientInstance,
68
- OpenSearchServerlessClientInstanceConfig.pipe(
69
- Effect.map(
70
- (config) => new OpenSearchServerlessClient({ ...config, region: "eu-central-1" }),
71
- ),
72
- ),
73
- ),
74
- DefaultOpenSearchServerlessClientConfigLayer,
75
- );
47
+ import { OpenSearchServerless } from "@effect-aws/client-opensearch-serverless";
48
+
49
+ const program = OpenSearchServerless.listCollections(args);
76
50
 
77
51
  const result = await pipe(
78
52
  program,
79
- Effect.provide(BaseOpenSearchServerlessServiceLayer),
80
- Effect.provide(OpenSearchServerlessClientInstanceLayer),
53
+ Effect.provide(OpenSearchServerless.layer({ region: "eu-central-1" })),
81
54
  Effect.runPromiseExit,
82
55
  );
83
56
  ```
84
57
 
85
- or map over `DefaultOpenSearchServerlessClientConfigLayer` layer context and update the configuration...
58
+ or use `OpenSearchServerless.baseLayer((default) => new OpenSearchServerlessClient({ ...default, region: "eu-central-1" }))`
@@ -17,7 +17,7 @@ export declare class OpenSearchServerlessClientInstance extends OpenSearchServer
17
17
  * @since 1.0.0
18
18
  * @category constructors
19
19
  */
20
- export declare const makeOpenSearchServerlessClientInstance: Effect.Effect<OpenSearchServerlessClient, never, OpenSearchServerlessClientInstanceConfig>;
20
+ export declare const makeOpenSearchServerlessClientInstance: Effect.Effect<OpenSearchServerlessClient, never, import("effect/Scope").Scope | OpenSearchServerlessClientInstanceConfig>;
21
21
  /**
22
22
  * @since 1.0.0
23
23
  * @category layers
@@ -43,15 +43,15 @@ exports.OpenSearchServerlessClientInstance = OpenSearchServerlessClientInstance;
43
43
  * @since 1.0.0
44
44
  * @category constructors
45
45
  */
46
- exports.makeOpenSearchServerlessClientInstance = Effect.map(OpenSearchServerlessClientInstanceConfig_1.OpenSearchServerlessClientInstanceConfig, (config) => new client_opensearchserverless_1.OpenSearchServerlessClient(config));
46
+ exports.makeOpenSearchServerlessClientInstance = Effect.flatMap(OpenSearchServerlessClientInstanceConfig_1.OpenSearchServerlessClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_opensearchserverless_1.OpenSearchServerlessClient(config)), (client) => Effect.sync(() => client.destroy())));
47
47
  /**
48
48
  * @since 1.0.0
49
49
  * @category layers
50
50
  */
51
- exports.OpenSearchServerlessClientInstanceLayer = Layer.effect(OpenSearchServerlessClientInstance, exports.makeOpenSearchServerlessClientInstance);
51
+ exports.OpenSearchServerlessClientInstanceLayer = Layer.scoped(OpenSearchServerlessClientInstance, exports.makeOpenSearchServerlessClientInstance);
52
52
  /**
53
53
  * @since 1.0.0
54
54
  * @category layers
55
55
  */
56
56
  exports.DefaultOpenSearchServerlessClientInstanceLayer = exports.OpenSearchServerlessClientInstanceLayer.pipe(Layer.provide(OpenSearchServerlessClientInstanceConfig_1.DefaultOpenSearchServerlessClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxzRkFBa0Y7QUFDbEYsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMseUdBR29EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsa0NBQW1DLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDakUsNkVBQTZFLENBQzlFLEVBQWtFO0NBQUc7QUFGdEUsZ0ZBRXNFO0FBRXRFOzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDOUQsbUZBQXdDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdEQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUNuRCxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqRSxrQ0FBa0MsRUFDbEMsOENBQXNDLENBQ3ZDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLDhDQUE4QyxHQUN6RCwrQ0FBdUMsQ0FBQyxJQUFJLENBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUZBQTRDLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gtc2VydmVybGVzcy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlXCIsXG4pPE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5tYXAoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+IG5ldyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudChjb25maWcpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSxcbiAgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxzRkFBa0Y7QUFDbEYsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMseUdBR29EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsa0NBQW1DLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDakUsNkVBQTZFLENBQzlFLEVBQWtFO0NBQUc7QUFGdEUsZ0ZBRXNFO0FBRXRFOzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDbEUsbUZBQXdDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsY0FBYyxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksd0RBQTBCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDekQsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDakUsa0NBQWtDLEVBQ2xDLDhDQUFzQyxDQUN2QyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSw4Q0FBOEMsR0FDekQsK0NBQXVDLENBQUMsSUFBSSxDQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVGQUE0QyxDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3BlbnNlYXJjaHNlcnZlcmxlc3NcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZVwiLFxuKTxPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UgPSBFZmZlY3QuZmxhdE1hcChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLnNjb3BlZChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSxcbiAgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import { type BatchGetCollectionCommandInput, type BatchGetCollectionCommandOutput, type BatchGetEffectiveLifecyclePolicyCommandInput, type BatchGetEffectiveLifecyclePolicyCommandOutput, type BatchGetLifecyclePolicyCommandInput, type BatchGetLifecyclePolicyCommandOutput, type BatchGetVpcEndpointCommandInput, type BatchGetVpcEndpointCommandOutput, type CreateAccessPolicyCommandInput, type CreateAccessPolicyCommandOutput, type CreateCollectionCommandInput, type CreateCollectionCommandOutput, type CreateLifecyclePolicyCommandInput, type CreateLifecyclePolicyCommandOutput, type CreateSecurityConfigCommandInput, type CreateSecurityConfigCommandOutput, type CreateSecurityPolicyCommandInput, type CreateSecurityPolicyCommandOutput, type CreateVpcEndpointCommandInput, type CreateVpcEndpointCommandOutput, type DeleteAccessPolicyCommandInput, type DeleteAccessPolicyCommandOutput, type DeleteCollectionCommandInput, type DeleteCollectionCommandOutput, type DeleteLifecyclePolicyCommandInput, type DeleteLifecyclePolicyCommandOutput, type DeleteSecurityConfigCommandInput, type DeleteSecurityConfigCommandOutput, type DeleteSecurityPolicyCommandInput, type DeleteSecurityPolicyCommandOutput, type DeleteVpcEndpointCommandInput, type DeleteVpcEndpointCommandOutput, type GetAccessPolicyCommandInput, type GetAccessPolicyCommandOutput, type GetAccountSettingsCommandInput, type GetAccountSettingsCommandOutput, type GetPoliciesStatsCommandInput, type GetPoliciesStatsCommandOutput, type GetSecurityConfigCommandInput, type GetSecurityConfigCommandOutput, type GetSecurityPolicyCommandInput, type GetSecurityPolicyCommandOutput, type ListAccessPoliciesCommandInput, type ListAccessPoliciesCommandOutput, type ListCollectionsCommandInput, type ListCollectionsCommandOutput, type ListLifecyclePoliciesCommandInput, type ListLifecyclePoliciesCommandOutput, type ListSecurityConfigsCommandInput, type ListSecurityConfigsCommandOutput, type ListSecurityPoliciesCommandInput, type ListSecurityPoliciesCommandOutput, type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput, type ListVpcEndpointsCommandInput, type ListVpcEndpointsCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateAccessPolicyCommandInput, type UpdateAccessPolicyCommandOutput, type UpdateAccountSettingsCommandInput, type UpdateAccountSettingsCommandOutput, type UpdateCollectionCommandInput, type UpdateCollectionCommandOutput, type UpdateLifecyclePolicyCommandInput, type UpdateLifecyclePolicyCommandOutput, type UpdateSecurityConfigCommandInput, type UpdateSecurityConfigCommandOutput, type UpdateSecurityPolicyCommandInput, type UpdateSecurityPolicyCommandOutput, type UpdateVpcEndpointCommandInput, type UpdateVpcEndpointCommandOutput } from "@aws-sdk/client-opensearchserverless";
4
+ import { type OpenSearchServerlessClient, type OpenSearchServerlessClientConfig, type BatchGetCollectionCommandInput, type BatchGetCollectionCommandOutput, type BatchGetEffectiveLifecyclePolicyCommandInput, type BatchGetEffectiveLifecyclePolicyCommandOutput, type BatchGetLifecyclePolicyCommandInput, type BatchGetLifecyclePolicyCommandOutput, type BatchGetVpcEndpointCommandInput, type BatchGetVpcEndpointCommandOutput, type CreateAccessPolicyCommandInput, type CreateAccessPolicyCommandOutput, type CreateCollectionCommandInput, type CreateCollectionCommandOutput, type CreateLifecyclePolicyCommandInput, type CreateLifecyclePolicyCommandOutput, type CreateSecurityConfigCommandInput, type CreateSecurityConfigCommandOutput, type CreateSecurityPolicyCommandInput, type CreateSecurityPolicyCommandOutput, type CreateVpcEndpointCommandInput, type CreateVpcEndpointCommandOutput, type DeleteAccessPolicyCommandInput, type DeleteAccessPolicyCommandOutput, type DeleteCollectionCommandInput, type DeleteCollectionCommandOutput, type DeleteLifecyclePolicyCommandInput, type DeleteLifecyclePolicyCommandOutput, type DeleteSecurityConfigCommandInput, type DeleteSecurityConfigCommandOutput, type DeleteSecurityPolicyCommandInput, type DeleteSecurityPolicyCommandOutput, type DeleteVpcEndpointCommandInput, type DeleteVpcEndpointCommandOutput, type GetAccessPolicyCommandInput, type GetAccessPolicyCommandOutput, type GetAccountSettingsCommandInput, type GetAccountSettingsCommandOutput, type GetPoliciesStatsCommandInput, type GetPoliciesStatsCommandOutput, type GetSecurityConfigCommandInput, type GetSecurityConfigCommandOutput, type GetSecurityPolicyCommandInput, type GetSecurityPolicyCommandOutput, type ListAccessPoliciesCommandInput, type ListAccessPoliciesCommandOutput, type ListCollectionsCommandInput, type ListCollectionsCommandOutput, type ListLifecyclePoliciesCommandInput, type ListLifecyclePoliciesCommandOutput, type ListSecurityConfigsCommandInput, type ListSecurityConfigsCommandOutput, type ListSecurityPoliciesCommandInput, type ListSecurityPoliciesCommandOutput, type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput, type ListVpcEndpointsCommandInput, type ListVpcEndpointsCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateAccessPolicyCommandInput, type UpdateAccessPolicyCommandOutput, type UpdateAccountSettingsCommandInput, type UpdateAccountSettingsCommandOutput, type UpdateCollectionCommandInput, type UpdateCollectionCommandOutput, type UpdateLifecyclePolicyCommandInput, type UpdateLifecyclePolicyCommandOutput, type UpdateSecurityConfigCommandInput, type UpdateSecurityConfigCommandOutput, type UpdateSecurityPolicyCommandInput, type UpdateSecurityPolicyCommandOutput, type UpdateVpcEndpointCommandInput, type UpdateVpcEndpointCommandOutput } from "@aws-sdk/client-opensearchserverless";
5
5
  import { Effect, Layer } from "effect";
6
6
  import { ConflictError, InternalServerError, OcuLimitExceededError, ResourceNotFoundError, ServiceQuotaExceededError, ValidationError, SdkError } from "./Errors";
7
7
  import { OpenSearchServerlessClientInstance } from "./OpenSearchServerlessClientInstance";
8
+ import { OpenSearchServerlessClientInstanceConfig } from "./OpenSearchServerlessClientInstanceConfig";
8
9
  /**
9
- * @since 1.0.1
10
+ * @since 1.0.0
10
11
  */
11
12
  export interface HttpHandlerOptions {
12
13
  /**
@@ -166,6 +167,11 @@ interface OpenSearchServerlessService$ {
166
167
  */
167
168
  updateVpcEndpoint(args: UpdateVpcEndpointCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateVpcEndpointCommandOutput, SdkError | ConflictError | InternalServerError | ValidationError>;
168
169
  }
170
+ /**
171
+ * @since 1.0.0
172
+ * @category constructors
173
+ */
174
+ export declare const makeOpenSearchServerlessService: Effect.Effect<OpenSearchServerlessService$, never, OpenSearchServerlessClientInstance>;
169
175
  declare const OpenSearchServerlessService_base: import("effect/Context").TagClass<OpenSearchServerlessService, "@effect-aws/client-opensearch-serverless/OpenSearchServerlessService", OpenSearchServerlessService$> & {
170
176
  readonly _: Effect.Effect<OpenSearchServerlessService$["_"], never, OpenSearchServerlessService>;
171
177
  batchGetCollection: (args: BatchGetCollectionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<BatchGetCollectionCommandOutput, InternalServerError | ValidationError | SdkError, OpenSearchServerlessService>;
@@ -213,25 +219,32 @@ declare const OpenSearchServerlessService_base: import("effect/Context").TagClas
213
219
  * @category models
214
220
  */
215
221
  export declare class OpenSearchServerlessService extends OpenSearchServerlessService_base {
222
+ static readonly defaultLayer: Layer.Layer<OpenSearchServerlessService, never, never>;
223
+ static readonly layer: (config: OpenSearchServerlessClientConfig) => Layer.Layer<OpenSearchServerlessService, never, never>;
224
+ static readonly baseLayer: (evaluate: (defaultConfig: OpenSearchServerlessClientConfig) => OpenSearchServerlessClient) => Layer.Layer<OpenSearchServerlessService, never, never>;
216
225
  }
217
226
  /**
218
227
  * @since 1.0.0
219
- * @category constructors
228
+ * @category models
229
+ * @alias OpenSearchServerlessService
220
230
  */
221
- export declare const makeOpenSearchServerlessService: Effect.Effect<OpenSearchServerlessService$, never, OpenSearchServerlessClientInstance>;
231
+ export declare const OpenSearchServerless: typeof OpenSearchServerlessService;
222
232
  /**
223
233
  * @since 1.0.0
224
234
  * @category layers
235
+ * @deprecated use OpenSearchServerless.baseLayer instead
225
236
  */
226
237
  export declare const BaseOpenSearchServerlessServiceLayer: Layer.Layer<OpenSearchServerlessService, never, OpenSearchServerlessClientInstance>;
227
238
  /**
228
239
  * @since 1.0.0
229
240
  * @category layers
241
+ * @deprecated use OpenSearchServerless.layer instead
230
242
  */
231
- export declare const OpenSearchServerlessServiceLayer: Layer.Layer<OpenSearchServerlessService, never, import("./OpenSearchServerlessClientInstanceConfig").OpenSearchServerlessClientInstanceConfig>;
243
+ export declare const OpenSearchServerlessServiceLayer: Layer.Layer<OpenSearchServerlessService, never, OpenSearchServerlessClientInstanceConfig>;
232
244
  /**
233
245
  * @since 1.0.0
234
246
  * @category layers
247
+ * @deprecated use OpenSearchServerless.defaultLayer instead
235
248
  */
236
249
  export declare const DefaultOpenSearchServerlessServiceLayer: Layer.Layer<OpenSearchServerlessService, never, never>;
237
250
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultOpenSearchServerlessServiceLayer = exports.OpenSearchServerlessServiceLayer = exports.BaseOpenSearchServerlessServiceLayer = exports.makeOpenSearchServerlessService = exports.OpenSearchServerlessService = void 0;
4
+ exports.DefaultOpenSearchServerlessServiceLayer = exports.OpenSearchServerlessServiceLayer = exports.BaseOpenSearchServerlessServiceLayer = exports.OpenSearchServerless = exports.OpenSearchServerlessService = exports.makeOpenSearchServerlessService = void 0;
4
5
  /**
5
6
  * @since 1.0.0
6
7
  */
@@ -48,13 +49,6 @@ const commands = {
48
49
  UpdateSecurityPolicyCommand: client_opensearchserverless_1.UpdateSecurityPolicyCommand,
49
50
  UpdateVpcEndpointCommand: client_opensearchserverless_1.UpdateVpcEndpointCommand,
50
51
  };
51
- /**
52
- * @since 1.0.0
53
- * @category models
54
- */
55
- class OpenSearchServerlessService extends effect_1.Effect.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessService")() {
56
- }
57
- exports.OpenSearchServerlessService = OpenSearchServerlessService;
58
52
  /**
59
53
  * @since 1.0.0
60
54
  * @category constructors
@@ -93,19 +87,39 @@ exports.makeOpenSearchServerlessService = 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 OpenSearchServerlessService extends effect_1.Effect.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessService")() {
95
+ }
96
+ exports.OpenSearchServerlessService = OpenSearchServerlessService;
97
+ _a = OpenSearchServerlessService;
98
+ OpenSearchServerlessService.defaultLayer = effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer), effect_1.Layer.provide(OpenSearchServerlessClientInstanceConfig_1.DefaultOpenSearchServerlessClientConfigLayer));
99
+ OpenSearchServerlessService.layer = (config) => effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchServerlessClientInstanceConfig_1.OpenSearchServerlessClientInstanceConfig, OpenSearchServerlessClientInstanceConfig_1.makeDefaultOpenSearchServerlessClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
100
+ OpenSearchServerlessService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstance, effect_1.Effect.map(OpenSearchServerlessClientInstanceConfig_1.makeDefaultOpenSearchServerlessClientInstanceConfig, evaluate))));
101
+ /**
102
+ * @since 1.0.0
103
+ * @category models
104
+ * @alias OpenSearchServerlessService
105
+ */
106
+ exports.OpenSearchServerless = OpenSearchServerlessService;
96
107
  /**
97
108
  * @since 1.0.0
98
109
  * @category layers
110
+ * @deprecated use OpenSearchServerless.baseLayer instead
99
111
  */
100
112
  exports.BaseOpenSearchServerlessServiceLayer = effect_1.Layer.effect(OpenSearchServerlessService, exports.makeOpenSearchServerlessService);
101
113
  /**
102
114
  * @since 1.0.0
103
115
  * @category layers
116
+ * @deprecated use OpenSearchServerless.layer instead
104
117
  */
105
118
  exports.OpenSearchServerlessServiceLayer = exports.BaseOpenSearchServerlessServiceLayer.pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer));
106
119
  /**
107
120
  * @since 1.0.0
108
121
  * @category layers
122
+ * @deprecated use OpenSearchServerless.defaultLayer instead
109
123
  */
110
- exports.DefaultOpenSearchServerlessServiceLayer = exports.OpenSearchServerlessServiceLayer.pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstanceConfig_1.DefaultOpenSearchServerlessClientConfigLayer));
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHNGQWlIOEM7QUFDOUMsbUNBQXFEO0FBQ3JELHFDQVVrQjtBQUNsQiw2RkFHOEM7QUFDOUMseUdBQTBHO0FBYTFHLE1BQU0sUUFBUSxHQUFHO0lBQ2YseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6Qix1Q0FBdUMsRUFBdkMscUVBQXVDO0lBQ3ZDLDhCQUE4QixFQUE5Qiw0REFBOEI7SUFDOUIsMEJBQTBCLEVBQTFCLHdEQUEwQjtJQUMxQix5QkFBeUIsRUFBekIsdURBQXlCO0lBQ3pCLHVCQUF1QixFQUF2QixxREFBdUI7SUFDdkIsNEJBQTRCLEVBQTVCLDBEQUE0QjtJQUM1QiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLDJCQUEyQixFQUEzQix5REFBMkI7SUFDM0Isd0JBQXdCLEVBQXhCLHNEQUF3QjtJQUN4Qix5QkFBeUIsRUFBekIsdURBQXlCO0lBQ3pCLHVCQUF1QixFQUF2QixxREFBdUI7SUFDdkIsNEJBQTRCLEVBQTVCLDBEQUE0QjtJQUM1QiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLDJCQUEyQixFQUEzQix5REFBMkI7SUFDM0Isd0JBQXdCLEVBQXhCLHNEQUF3QjtJQUN4QixzQkFBc0IsRUFBdEIsb0RBQXNCO0lBQ3RCLHlCQUF5QixFQUF6Qix1REFBeUI7SUFDekIsdUJBQXVCLEVBQXZCLHFEQUF1QjtJQUN2Qix3QkFBd0IsRUFBeEIsc0RBQXdCO0lBQ3hCLHdCQUF3QixFQUF4QixzREFBd0I7SUFDeEIseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6QixzQkFBc0IsRUFBdEIsb0RBQXNCO0lBQ3RCLDRCQUE0QixFQUE1QiwwREFBNEI7SUFDNUIsMEJBQTBCLEVBQTFCLHdEQUEwQjtJQUMxQiwy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LE1BQU0sQ0FDOUQsMkJBQTJCLEVBQzNCLHVDQUErQixDQUNoQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxnQ0FBZ0MsR0FDM0MsNENBQW9DLENBQUMsSUFBSSxDQUN2QyxjQUFLLENBQUMsT0FBTyxDQUFDLDRFQUF1QyxDQUFDLENBQ3ZELENBQUM7QUFFSjs7O0dBR0c7QUFDVSxRQUFBLHVDQUF1QyxHQUNsRCx3Q0FBZ0MsQ0FBQyxJQUFJLENBQ25DLGNBQUssQ0FBQyxPQUFPLENBQUMsdUZBQTRDLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUV4Y2VwdGlvbixcbiAgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmQsXG4gIHR5cGUgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZE91dHB1dCxcbiAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdENvbGxlY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0Q29sbGVjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdENvbGxlY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgT2N1TGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmQsXG4gIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZCxcbiAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kLFxuICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RDb2xsZWN0aW9uc0NvbW1hbmQsXG4gIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kLFxuICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldENvbGxlY3Rpb24oXG4gICAgYXJnczogQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0VnBjRW5kcG9pbnQoXG4gICAgYXJnczogQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgT2N1TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUxpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWNjb3VudFNldHRpbmdzKFxuICAgIGFyZ3M6IEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBvbGljaWVzU3RhdHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWNpZXNTdGF0cyhcbiAgICBhcmdzOiBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGdldFNlY3VyaXR5Q29uZmlnKFxuICAgIGFyZ3M6IEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Q29sbGVjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdENvbGxlY3Rpb25zKFxuICAgIGFyZ3M6IExpc3RDb2xsZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TGlmZWN5Y2xlUG9saWNpZXMoXG4gICAgYXJnczogTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VjdXJpdHlDb25maWdzKFxuICAgIGFyZ3M6IExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3VyaXR5UG9saWNpZXMoXG4gICAgYXJnczogTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWcGNFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFZwY0VuZHBvaW50cyhcbiAgICBhcmdzOiBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2NvdW50U2V0dGluZ3MoXG4gICAgYXJnczogVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlXCIsXG4pPE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSwgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248T3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSxcbiAgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9XG4gIEJhc2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
124
+ exports.DefaultOpenSearchServerlessServiceLayer = OpenSearchServerlessService.defaultLayer;
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCxzRkFtSDhDO0FBQzlDLG1DQUFxRDtBQUNyRCxxQ0FVa0I7QUFDbEIsNkZBRzhDO0FBQzlDLHlHQUlvRDtBQWFwRCxNQUFNLFFBQVEsR0FBRztJQUNmLHlCQUF5QixFQUF6Qix1REFBeUI7SUFDekIsdUNBQXVDLEVBQXZDLHFFQUF1QztJQUN2Qyw4QkFBOEIsRUFBOUIsNERBQThCO0lBQzlCLDBCQUEwQixFQUExQix3REFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6Qix1QkFBdUIsRUFBdkIscURBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1QiwwREFBNEI7SUFDNUIsMkJBQTJCLEVBQTNCLHlEQUEyQjtJQUMzQiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixzREFBd0I7SUFDeEIseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6Qix1QkFBdUIsRUFBdkIscURBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1QiwwREFBNEI7SUFDNUIsMkJBQTJCLEVBQTNCLHlEQUEyQjtJQUMzQiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixzREFBd0I7SUFDeEIsc0JBQXNCLEVBQXRCLG9EQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsdURBQXlCO0lBQ3pCLHVCQUF1QixFQUF2QixxREFBdUI7SUFDdkIsd0JBQXdCLEVBQXhCLHNEQUF3QjtJQUN4Qix3QkFBd0IsRUFBeEIsc0RBQXdCO0lBQ3hCLHlCQUF5QixFQUF6Qix1REFBeUI7SUFDekIsc0JBQXNCLEVBQXRCLG9EQUFzQjtJQUN0Qiw0QkFBNEIsRUFBNUIsMERBQTRCO0lBQzVCLDBCQUEwQixFQUExQix3REFBMEI7SUFDMUIs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LDRFQUF1QyxDQUFDLENBQ3ZELENBQUM7QUFFSjs7OztHQUlHO0FBQ1UsUUFBQSx1Q0FBdUMsR0FDbEQsMkJBQTJCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50LFxuICB0eXBlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnLFxuICBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZCxcbiAgdHlwZSBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvbGljaWVzU3RhdHNDb21tYW5kT3V0cHV0LFxuICBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Q29sbGVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hzZXJ2ZXJsZXNzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbFNlcnZlckVycm9yLFxuICBPY3VMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmQsXG4gIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZCxcbiAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kLFxuICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RDb2xsZWN0aW9uc0NvbW1hbmQsXG4gIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kLFxuICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldENvbGxlY3Rpb24oXG4gICAgYXJnczogQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0VnBjRW5kcG9pbnQoXG4gICAgYXJnczogQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgT2N1TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUxpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWNjb3VudFNldHRpbmdzKFxuICAgIGFyZ3M6IEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBvbGljaWVzU3RhdHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWNpZXNTdGF0cyhcbiAgICBhcmdzOiBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGdldFNlY3VyaXR5Q29uZmlnKFxuICAgIGFyZ3M6IEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Q29sbGVjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdENvbGxlY3Rpb25zKFxuICAgIGFyZ3M6IExpc3RDb2xsZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TGlmZWN5Y2xlUG9saWNpZXMoXG4gICAgYXJnczogTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VjdXJpdHlDb25maWdzKFxuICAgIGFyZ3M6IExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3VyaXR5UG9saWNpZXMoXG4gICAgYXJnczogTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWcGNFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFZwY0VuZHBvaW50cyhcbiAgICBhcmdzOiBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2NvdW50U2V0dGluZ3MoXG4gICAgYXJnczogVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gtc2VydmVybGVzcy9PcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VcIixcbik8T3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLCBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChcbiAgICAgIGRlZmF1bHRDb25maWc6IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnLFxuICAgICkgPT4gT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAoXG4gICAgICAgICAgICBtYWtlRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgICBldmFsdWF0ZSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgT3BlblNlYXJjaFNlcnZlcmxlc3MgPSBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3BlblNlYXJjaFNlcnZlcmxlc3MuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLFxuICBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcGVuU2VhcmNoU2VydmVybGVzcy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9XG4gIEJhc2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcGVuU2VhcmNoU2VydmVybGVzcy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUxheWVyID1cbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
@@ -16,15 +16,15 @@ export class OpenSearchServerlessClientInstance extends Context.Tag("@effect-aws
16
16
  * @since 1.0.0
17
17
  * @category constructors
18
18
  */
19
- export const makeOpenSearchServerlessClientInstance = Effect.map(OpenSearchServerlessClientInstanceConfig, (config) => new OpenSearchServerlessClient(config));
19
+ export const makeOpenSearchServerlessClientInstance = Effect.flatMap(OpenSearchServerlessClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new OpenSearchServerlessClient(config)), (client) => Effect.sync(() => client.destroy())));
20
20
  /**
21
21
  * @since 1.0.0
22
22
  * @category layers
23
23
  */
24
- export const OpenSearchServerlessClientInstanceLayer = Layer.effect(OpenSearchServerlessClientInstance, makeOpenSearchServerlessClientInstance);
24
+ export const OpenSearchServerlessClientInstanceLayer = Layer.scoped(OpenSearchServerlessClientInstance, makeOpenSearchServerlessClientInstance);
25
25
  /**
26
26
  * @since 1.0.0
27
27
  * @category layers
28
28
  */
29
29
  export const DefaultOpenSearchServerlessClientInstanceLayer = OpenSearchServerlessClientInstanceLayer.pipe(Layer.provide(DefaultOpenSearchServerlessClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLHdDQUF3QyxHQUN6QyxNQUFNLDRDQUE0QyxDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNqRSw2RUFBNkUsQ0FDOUUsRUFBa0U7Q0FBRztBQUV0RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUM5RCx3Q0FBd0MsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25ELENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqRSxrQ0FBa0MsRUFDbEMsc0NBQXNDLENBQ3ZDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4Q0FBOEMsR0FDekQsdUNBQXVDLENBQUMsSUFBSSxDQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3BlbnNlYXJjaHNlcnZlcmxlc3NcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZVwiLFxuKTxPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UgPSBFZmZlY3QubWFwKFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PiBuZXcgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQoY29uZmlnKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPVxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLHdDQUF3QyxHQUN6QyxNQUFNLDRDQUE0QyxDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNqRSw2RUFBNkUsQ0FDOUUsRUFBa0U7Q0FBRztBQUV0RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNsRSx3Q0FBd0MsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUN6RCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDaEQsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDakUsa0NBQWtDLEVBQ2xDLHNDQUFzQyxDQUN2QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOENBQThDLEdBQ3pELHVDQUF1QyxDQUFDLElBQUksQ0FDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxDQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hzZXJ2ZXJsZXNzXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJlZmZlY3QvQ29udGV4dFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBMYXllciBmcm9tIFwiZWZmZWN0L0xheWVyXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdMYXllcixcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtb3BlbnNlYXJjaC1zZXJ2ZXJsZXNzL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VcIixcbik8T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSwgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlID0gRWZmZWN0LmZsYXRNYXAoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+XG4gICAgRWZmZWN0LmFjcXVpcmVSZWxlYXNlKFxuICAgICAgRWZmZWN0LnN5bmMoKCkgPT4gbmV3IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50KGNvbmZpZykpLFxuICAgICAgKGNsaWVudCkgPT4gRWZmZWN0LnN5bmMoKCkgPT4gY2xpZW50LmRlc3Ryb3koKSksXG4gICAgKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5zY29wZWQoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPVxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  /**
2
3
  * @since 1.0.0
3
4
  */
@@ -5,7 +6,7 @@ import { OpenSearchServerlessServiceException, BatchGetCollectionCommand, BatchG
5
6
  import { Data, Effect, Layer, Record } from "effect";
6
7
  import { AllServiceErrors, SdkError, } from "./Errors";
7
8
  import { OpenSearchServerlessClientInstance, OpenSearchServerlessClientInstanceLayer, } from "./OpenSearchServerlessClientInstance";
8
- import { DefaultOpenSearchServerlessClientConfigLayer } from "./OpenSearchServerlessClientInstanceConfig";
9
+ import { DefaultOpenSearchServerlessClientConfigLayer, makeDefaultOpenSearchServerlessClientInstanceConfig, OpenSearchServerlessClientInstanceConfig, } from "./OpenSearchServerlessClientInstanceConfig";
9
10
  const commands = {
10
11
  BatchGetCollectionCommand,
11
12
  BatchGetEffectiveLifecyclePolicyCommand,
@@ -45,12 +46,6 @@ const commands = {
45
46
  UpdateSecurityPolicyCommand,
46
47
  UpdateVpcEndpointCommand,
47
48
  };
48
- /**
49
- * @since 1.0.0
50
- * @category models
51
- */
52
- export class OpenSearchServerlessService extends Effect.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessService")() {
53
- }
54
49
  /**
55
50
  * @since 1.0.0
56
51
  * @category constructors
@@ -89,19 +84,38 @@ export const makeOpenSearchServerlessService = 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 OpenSearchServerlessService extends Effect.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessService")() {
92
+ }
93
+ _a = OpenSearchServerlessService;
94
+ OpenSearchServerlessService.defaultLayer = Layer.effect(_a, makeOpenSearchServerlessService).pipe(Layer.provide(OpenSearchServerlessClientInstanceLayer), Layer.provide(DefaultOpenSearchServerlessClientConfigLayer));
95
+ OpenSearchServerlessService.layer = (config) => Layer.effect(_a, makeOpenSearchServerlessService).pipe(Layer.provide(OpenSearchServerlessClientInstanceLayer), Layer.provide(Layer.effect(OpenSearchServerlessClientInstanceConfig, makeDefaultOpenSearchServerlessClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
96
+ OpenSearchServerlessService.baseLayer = (evaluate) => Layer.effect(_a, makeOpenSearchServerlessService).pipe(Layer.provide(Layer.effect(OpenSearchServerlessClientInstance, Effect.map(makeDefaultOpenSearchServerlessClientInstanceConfig, evaluate))));
97
+ /**
98
+ * @since 1.0.0
99
+ * @category models
100
+ * @alias OpenSearchServerlessService
101
+ */
102
+ export const OpenSearchServerless = OpenSearchServerlessService;
92
103
  /**
93
104
  * @since 1.0.0
94
105
  * @category layers
106
+ * @deprecated use OpenSearchServerless.baseLayer instead
95
107
  */
96
108
  export const BaseOpenSearchServerlessServiceLayer = Layer.effect(OpenSearchServerlessService, makeOpenSearchServerlessService);
97
109
  /**
98
110
  * @since 1.0.0
99
111
  * @category layers
112
+ * @deprecated use OpenSearchServerless.layer instead
100
113
  */
101
114
  export const OpenSearchServerlessServiceLayer = BaseOpenSearchServerlessServiceLayer.pipe(Layer.provide(OpenSearchServerlessClientInstanceLayer));
102
115
  /**
103
116
  * @since 1.0.0
104
117
  * @category layers
118
+ * @deprecated use OpenSearchServerless.defaultLayer instead
105
119
  */
106
- export const DefaultOpenSearchServerlessServiceLayer = OpenSearchServerlessServiceLayer.pipe(Layer.provide(DefaultOpenSearchServerlessClientConfigLayer));
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBR3pCLHVDQUF1QyxFQUd2Qyw4QkFBOEIsRUFHOUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0Isd0JBQXdCLEVBR3hCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0Isd0JBQXdCLEVBR3hCLHNCQUFzQixFQUd0Qix5QkFBeUIsRUFHekIsdUJBQXVCLEVBR3ZCLHdCQUF3QixFQUd4Qix3QkFBd0IsRUFHeEIseUJBQXlCLEVBR3pCLHNCQUFzQixFQUd0Qiw0QkFBNEIsRUFHNUIsMEJBQTBCLEVBRzFCLDJCQUEyQixFQUczQiwwQkFBMEIsRUFHMUIsdUJBQXVCLEVBR3ZCLGtCQUFrQixFQUdsQixvQkFBb0IsRUFHcEIseUJBQXlCLEVBR3pCLDRCQUE0QixFQUc1Qix1QkFBdUIsRUFHdkIsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0Isd0JBQXdCLEdBR3pCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBT2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLHVDQUF1QyxHQUN4QyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFN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QUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQWlDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUM5RCwyQkFBMkIsRUFDM0IsK0JBQStCLENBQ2hDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FDM0Msb0NBQW9DLENBQUMsSUFBSSxDQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLENBQ3ZELENBQUM7QUFFSjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FDbEQsZ0NBQWdDLENBQUMsSUFBSSxDQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VFeGNlcHRpb24sXG4gIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIEdldEFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0QWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmQsXG4gIHR5cGUgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gIEdldFBvbGljaWVzU3RhdHNDb21tYW5kLFxuICB0eXBlIEdldFBvbGljaWVzU3RhdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRPdXRwdXQsXG4gIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgdHlwZSBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RDb2xsZWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdENvbGxlY3Rpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kLFxuICB0eXBlIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RWcGNFbmRwb2ludHNDb21tYW5kLFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3BlbnNlYXJjaHNlcnZlcmxlc3NcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIE9jdUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHtcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSxcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kLFxuICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmQsXG4gIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kLFxuICBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kLFxuICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZCxcbiAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmQsXG4gIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYmF0Y2hHZXRDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldExpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUNvbGxlY3Rpb24oXG4gICAgYXJnczogQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IE9jdUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlY3VyaXR5UG9saWN5KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUxpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3VyaXR5Q29uZmlnKFxuICAgIGFyZ3M6IERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3VyaXR5UG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY2Vzc1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRBY2Nlc3NQb2xpY3koXG4gICAgYXJnczogR2V0QWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRTZXR0aW5ncyhcbiAgICBhcmdzOiBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZH1cbiAgICovXG4gIGdldFBvbGljaWVzU3RhdHMoXG4gICAgYXJnczogR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljaWVzU3RhdHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdENvbGxlY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RDb2xsZWN0aW9ucyhcbiAgICBhcmdzOiBMaXN0Q29sbGVjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdExpZmVjeWNsZVBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3VyaXR5Q29uZmlncyhcbiAgICBhcmdzOiBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWN1cml0eVBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWcGNFbmRwb2ludHMoXG4gICAgYXJnczogTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2Nlc3NQb2xpY3koXG4gICAgYXJnczogVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQWNjb3VudFNldHRpbmdzKFxuICAgIGFyZ3M6IFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtb3BlbnNlYXJjaC1zZXJ2ZXJsZXNzL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZVwiLFxuKTxPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UsIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UsXG4gIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIgPVxuICBCYXNlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIgPVxuICBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
120
+ export const DefaultOpenSearchServerlessServiceLayer = OpenSearchServerlessService.defaultLayer;
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsb0NBQW9DLEVBR3BDLHlCQUF5QixFQUd6Qix1Q0FBdUMsRUFHdkMsOEJBQThCLEVBRzlCLDBCQUEwQixFQUcxQix5QkFBeUIsRUFHekIsdUJBQXVCLEVBR3ZCLDRCQUE0QixFQUc1QiwyQkFBMkIsRUFHM0IsMkJBQTJCLEVBRzNCLHdCQUF3QixFQUd4Qix5QkFBeUIsRUFHekIsdUJBQXVCLEVBR3ZCLDRCQUE0QixFQUc1QiwyQkFBMkIsRUFHM0IsMkJBQTJCLEVBRzNCLHdCQUF3QixFQUd4QixzQkFBc0IsRUFHdEIseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2Qix3QkFBd0IsRUFHeEIsd0JBQXdCLEVBR3hCLHlCQUF5QixFQUd6QixzQkFBc0IsRUFHdEIsNEJBQTRCLEVBRzVCLDBCQUEwQixFQUcxQiwyQkFBMkIsRUFHM0IsMEJBQTBCLEVBRzFCLHVCQUF1QixFQUd2QixrQkFBa0IsRUFHbEIsb0JBQW9CLEVBR3BCLHlCQUF5QixFQUd6Qiw0QkFBNEIsRUFHNUIsdUJBQXVCLEVBR3ZCLDRCQUE0QixFQUc1QiwyQkFBMkIsRUFHM0IsMkJBQTJCLEVBRzNCLHdCQUF3QixHQUd6QixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQU9oQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyx1Q0FBdUMsR0FDeEMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLG1E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LENBQ0YsQUFmc0IsQ0FlckI7QUFHTjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFFaEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQzlELDJCQUEyQixFQUMzQiwrQkFBK0IsQ0FDaEMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FDM0Msb0NBQW9DLENBQUMsSUFBSSxDQUN2QyxLQUFLLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLENBQ3ZELENBQUM7QUFFSjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQ2xELDJCQUEyQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudCxcbiAgdHlwZSBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZyxcbiAgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmQsXG4gIHR5cGUgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZE91dHB1dCxcbiAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdENvbGxlY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0Q29sbGVjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdENvbGxlY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgT2N1TGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kLFxuICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kLFxuICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmQsXG4gIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kLFxuICBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kLFxuICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZCxcbiAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmQsXG4gIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYmF0Y2hHZXRDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldExpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUNvbGxlY3Rpb24oXG4gICAgYXJnczogQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IE9jdUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlY3VyaXR5UG9saWN5KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUxpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3VyaXR5Q29uZmlnKFxuICAgIGFyZ3M6IERlbGV0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3VyaXR5UG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjY2Vzc1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRBY2Nlc3NQb2xpY3koXG4gICAgYXJnczogR2V0QWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjb3VudFNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIGdldEFjY291bnRTZXR0aW5ncyhcbiAgICBhcmdzOiBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZH1cbiAgICovXG4gIGdldFBvbGljaWVzU3RhdHMoXG4gICAgYXJnczogR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFBvbGljaWVzU3RhdHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdENvbGxlY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RDb2xsZWN0aW9ucyhcbiAgICBhcmdzOiBMaXN0Q29sbGVjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdExpZmVjeWNsZVBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3VyaXR5Q29uZmlncyhcbiAgICBhcmdzOiBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWN1cml0eVBvbGljaWVzKFxuICAgIGFyZ3M6IExpc3RTZWN1cml0eVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWcGNFbmRwb2ludHMoXG4gICAgYXJnczogTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2Nlc3NQb2xpY3koXG4gICAgYXJnczogVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQWNjb3VudFNldHRpbmdzKFxuICAgIGFyZ3M6IFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248T3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlXCIsXG4pPE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSwgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLFxuICApLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoXG4gICAgICBkZWZhdWx0Q29uZmlnOiBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZyxcbiAgICApID0+IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKFxuICAgICAgICAgICAgbWFrZURlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgICAgZXZhbHVhdGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzID0gT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSxcbiAgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3BlblNlYXJjaFNlcnZlcmxlc3MubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIgPVxuICBCYXNlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3BlblNlYXJjaFNlcnZlcmxlc3MuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "version": "1.0.1",
36
+ "version": "1.2.0",
37
37
  "types": "lib/index.d.ts",
38
38
  "module": "lib/esm/index.js",
39
39
  "sideEffects": [],