@effect-aws/client-secrets-manager 1.0.0 → 1.1.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 +6 -0
- package/lib/Errors.d.ts +2 -1
- package/lib/Errors.js +18 -27
- package/lib/SecretsManagerClientInstanceConfig.d.ts +1 -3
- package/lib/SecretsManagerClientInstanceConfig.js +12 -38
- package/lib/SecretsManagerService.d.ts +35 -9
- package/lib/SecretsManagerService.js +8 -5
- package/lib/esm/Errors.js +16 -2
- package/lib/esm/SecretsManagerClientInstanceConfig.js +2 -5
- package/lib/esm/SecretsManagerService.js +9 -7
- package/package.json +6 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @effect-aws/client-secrets-manager
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#58](https://github.com/floydspace/effect-aws/pull/58) [`888dc8c`](https://github.com/floydspace/effect-aws/commit/888dc8ca0d7104e33a24426a1aacedb48e8fc3ac) Thanks [@floydspace](https://github.com/floydspace)! - use Effect.Tag instead of Context.GenericTag for service, handle only known errors
|
|
8
|
+
|
|
3
9
|
## 1.0.0
|
|
4
10
|
|
|
5
11
|
### Major Changes
|
package/lib/Errors.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DecryptionFailure, EncryptionFailure, InternalServiceError as InternalServiceException, InvalidNextTokenException, InvalidParameterException, InvalidRequestException, LimitExceededException, MalformedPolicyDocumentException, PreconditionNotMetException, PublicPolicyException, ResourceExistsException, ResourceNotFoundException } from "@aws-sdk/client-secrets-manager";
|
|
2
|
-
import
|
|
2
|
+
import { Data } from "effect";
|
|
3
|
+
export declare const AllServiceErrors: string[];
|
|
3
4
|
export type TaggedException<T extends {
|
|
4
5
|
name: string;
|
|
5
6
|
}> = T & {
|
package/lib/Errors.js
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.SdkError = void 0;
|
|
27
|
-
const
|
|
28
|
-
exports.
|
|
29
|
-
|
|
3
|
+
exports.SdkError = exports.AllServiceErrors = void 0;
|
|
4
|
+
const effect_1 = require("effect");
|
|
5
|
+
exports.AllServiceErrors = [
|
|
6
|
+
"DecryptionFailure",
|
|
7
|
+
"EncryptionFailure",
|
|
8
|
+
"InternalServiceError",
|
|
9
|
+
"InvalidNextTokenException",
|
|
10
|
+
"InvalidParameterException",
|
|
11
|
+
"InvalidRequestException",
|
|
12
|
+
"LimitExceededException",
|
|
13
|
+
"MalformedPolicyDocumentException",
|
|
14
|
+
"PreconditionNotMetException",
|
|
15
|
+
"PublicPolicyException",
|
|
16
|
+
"ResourceExistsException",
|
|
17
|
+
"ResourceNotFoundException",
|
|
18
|
+
];
|
|
19
|
+
exports.SdkError = effect_1.Data.tagged("SdkError");
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFjQSxtQ0FBOEI7QUFFakIsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLDJCQUEyQjtDQUM1QixDQUFDO0FBc0JXLFFBQUEsUUFBUSxHQUFHLGFBQUksQ0FBQyxNQUFNLENBQVcsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIERlY3J5cHRpb25GYWlsdXJlLFxuICBFbmNyeXB0aW9uRmFpbHVyZSxcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IgYXMgSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uLFxuICBJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uLFxuICBJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uLFxuICBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24sXG4gIFByZWNvbmRpdGlvbk5vdE1ldEV4Y2VwdGlvbixcbiAgUHVibGljUG9saWN5RXhjZXB0aW9uLFxuICBSZXNvdXJjZUV4aXN0c0V4Y2VwdGlvbixcbiAgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkRlY3J5cHRpb25GYWlsdXJlXCIsXG4gIFwiRW5jcnlwdGlvbkZhaWx1cmVcIixcbiAgXCJJbnRlcm5hbFNlcnZpY2VFcnJvclwiLFxuICBcIkludmFsaWROZXh0VG9rZW5FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFJlcXVlc3RFeGNlcHRpb25cIixcbiAgXCJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb25cIixcbiAgXCJQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb25cIixcbiAgXCJQdWJsaWNQb2xpY3lFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIERlY3J5cHRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxEZWNyeXB0aW9uRmFpbHVyZT47XG5leHBvcnQgdHlwZSBFbmNyeXB0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RW5jcnlwdGlvbkZhaWx1cmU+O1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxTZXJ2aWNlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWROZXh0VG9rZW5FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRSZXF1ZXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlcXVlc3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPExpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBQcmVjb25kaXRpb25Ob3RNZXRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUHVibGljUG9saWN5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UHVibGljUG9saWN5RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlRXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VFeGlzdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24+O1xuXG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type { SecretsManagerClientConfig } from "@aws-sdk/client-secrets-manager";
|
|
5
|
-
import
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as Layer from "effect/Layer";
|
|
5
|
+
import { Context, Effect, Layer } from "effect";
|
|
8
6
|
declare const SecretsManagerClientInstanceConfig_base: Context.TagClass<SecretsManagerClientInstanceConfig, "@effect-aws/client-secrets-manager/SecretsManagerClientInstanceConfig", SecretsManagerClientConfig>;
|
|
9
7
|
/**
|
|
10
8
|
* @since 1.0.0
|
|
@@ -1,63 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.DefaultSecretsManagerClientConfigLayer = exports.makeDefaultSecretsManagerClientInstanceConfig = exports.SecretsManagerClientInstanceConfig = void 0;
|
|
27
|
-
const
|
|
28
|
-
const Effect = __importStar(require("effect/Effect"));
|
|
29
|
-
const Layer = __importStar(require("effect/Layer"));
|
|
30
|
-
const Runtime = __importStar(require("effect/Runtime"));
|
|
4
|
+
const effect_1 = require("effect");
|
|
31
5
|
/**
|
|
32
6
|
* @since 1.0.0
|
|
33
7
|
* @category tags
|
|
34
8
|
*/
|
|
35
|
-
class SecretsManagerClientInstanceConfig extends Context.Tag("@effect-aws/client-secrets-manager/SecretsManagerClientInstanceConfig")() {
|
|
9
|
+
class SecretsManagerClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-secrets-manager/SecretsManagerClientInstanceConfig")() {
|
|
36
10
|
}
|
|
37
11
|
exports.SecretsManagerClientInstanceConfig = SecretsManagerClientInstanceConfig;
|
|
38
12
|
/**
|
|
39
13
|
* @since 1.0.0
|
|
40
14
|
* @category constructors
|
|
41
15
|
*/
|
|
42
|
-
exports.makeDefaultSecretsManagerClientInstanceConfig = Effect.gen(function* (_) {
|
|
43
|
-
const runtime = yield* _(Effect.runtime());
|
|
44
|
-
const runSync = Runtime.runSync(runtime);
|
|
16
|
+
exports.makeDefaultSecretsManagerClientInstanceConfig = effect_1.Effect.gen(function* (_) {
|
|
17
|
+
const runtime = yield* _(effect_1.Effect.runtime());
|
|
18
|
+
const runSync = effect_1.Runtime.runSync(runtime);
|
|
45
19
|
return {
|
|
46
20
|
logger: {
|
|
47
21
|
info(m) {
|
|
48
|
-
Effect.logInfo(m).pipe(runSync);
|
|
22
|
+
effect_1.Effect.logInfo(m).pipe(runSync);
|
|
49
23
|
},
|
|
50
24
|
warn(m) {
|
|
51
|
-
Effect.logWarning(m).pipe(runSync);
|
|
25
|
+
effect_1.Effect.logWarning(m).pipe(runSync);
|
|
52
26
|
},
|
|
53
27
|
error(m) {
|
|
54
|
-
Effect.logError(m).pipe(runSync);
|
|
28
|
+
effect_1.Effect.logError(m).pipe(runSync);
|
|
55
29
|
},
|
|
56
30
|
debug(m) {
|
|
57
|
-
Effect.logDebug(m).pipe(runSync);
|
|
31
|
+
effect_1.Effect.logDebug(m).pipe(runSync);
|
|
58
32
|
},
|
|
59
33
|
trace(m) {
|
|
60
|
-
Effect.logTrace(m).pipe(runSync);
|
|
34
|
+
effect_1.Effect.logTrace(m).pipe(runSync);
|
|
61
35
|
},
|
|
62
36
|
},
|
|
63
37
|
};
|
|
@@ -66,5 +40,5 @@ exports.makeDefaultSecretsManagerClientInstanceConfig = Effect.gen(function* (_)
|
|
|
66
40
|
* @since 1.0.0
|
|
67
41
|
* @category layers
|
|
68
42
|
*/
|
|
69
|
-
exports.DefaultSecretsManagerClientConfigLayer = Layer.effect(SecretsManagerClientInstanceConfig, exports.makeDefaultSecretsManagerClientInstanceConfig);
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
exports.DefaultSecretsManagerClientConfigLayer = effect_1.Layer.effect(SecretsManagerClientInstanceConfig, exports.makeDefaultSecretsManagerClientInstanceConfig);
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1DQUF5RDtBQUV6RDs7O0dBR0c7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLGdCQUFPLENBQUMsR0FBRyxDQUNqRSx1RUFBdUUsQ0FDeEUsRUFBa0U7Q0FBRztBQUZ0RSxnRkFFc0U7QUFFdEU7OztHQUdHO0FBQ1UsUUFBQSw2Q0FBNkMsR0FDeEQsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxnQkFBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLGVBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDaEUsa0NBQWtDLEVBQ2xDLHFEQUE2QyxDQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWdcIixcbik8U2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZywgU2VjcmV0c01hbmFnZXJDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0U2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZzogRWZmZWN0LkVmZmVjdDxTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZz4gPVxuICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB5aWVsZCogXyhFZmZlY3QucnVudGltZTxuZXZlcj4oKSk7XG4gICAgY29uc3QgcnVuU3luYyA9IFJ1bnRpbWUucnVuU3luYyhydW50aW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgd2FybihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNlKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgbWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLFxuKTtcbiJdfQ==
|
|
@@ -3,14 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type BatchGetSecretValueCommandInput, type BatchGetSecretValueCommandOutput, type CancelRotateSecretCommandInput, type CancelRotateSecretCommandOutput, type CreateSecretCommandInput, type CreateSecretCommandOutput, type DeleteResourcePolicyCommandInput, type DeleteResourcePolicyCommandOutput, type DeleteSecretCommandInput, type DeleteSecretCommandOutput, type DescribeSecretCommandInput, type DescribeSecretCommandOutput, type GetRandomPasswordCommandInput, type GetRandomPasswordCommandOutput, type GetResourcePolicyCommandInput, type GetResourcePolicyCommandOutput, type GetSecretValueCommandInput, type GetSecretValueCommandOutput, type ListSecretsCommandInput, type ListSecretsCommandOutput, type ListSecretVersionIdsCommandInput, type ListSecretVersionIdsCommandOutput, type PutResourcePolicyCommandInput, type PutResourcePolicyCommandOutput, type PutSecretValueCommandInput, type PutSecretValueCommandOutput, type RemoveRegionsFromReplicationCommandInput, type RemoveRegionsFromReplicationCommandOutput, type ReplicateSecretToRegionsCommandInput, type ReplicateSecretToRegionsCommandOutput, type RestoreSecretCommandInput, type RestoreSecretCommandOutput, type RotateSecretCommandInput, type RotateSecretCommandOutput, type StopReplicationToReplicaCommandInput, type StopReplicationToReplicaCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateSecretCommandInput, type UpdateSecretCommandOutput, type UpdateSecretVersionStageCommandInput, type UpdateSecretVersionStageCommandOutput, type ValidateResourcePolicyCommandInput, type ValidateResourcePolicyCommandOutput } from "@aws-sdk/client-secrets-manager";
|
|
5
5
|
import { type HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
|
|
6
|
-
import {
|
|
6
|
+
import { Effect, Layer } from "effect";
|
|
7
7
|
import { DecryptionError, EncryptionError, InternalServiceError, InvalidNextTokenError, InvalidParameterError, InvalidRequestError, LimitExceededError, MalformedPolicyDocumentError, PreconditionNotMetError, PublicPolicyError, ResourceExistsError, ResourceNotFoundError, SdkError } from "./Errors";
|
|
8
8
|
import { SecretsManagerClientInstance } from "./SecretsManagerClientInstance";
|
|
9
|
-
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
* @category models
|
|
12
|
-
*/
|
|
13
|
-
export interface SecretsManagerService {
|
|
9
|
+
interface SecretsManagerService$ {
|
|
14
10
|
readonly _: unique symbol;
|
|
15
11
|
/**
|
|
16
12
|
* @see {@link BatchGetSecretValueCommand}
|
|
@@ -105,16 +101,45 @@ export interface SecretsManagerService {
|
|
|
105
101
|
*/
|
|
106
102
|
validateResourcePolicy(args: ValidateResourcePolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<ValidateResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | ResourceNotFoundError>;
|
|
107
103
|
}
|
|
104
|
+
declare const SecretsManagerService_base: import("effect/Context").TagClass<SecretsManagerService, "@effect-aws/client-secrets-manager/SecretsManagerService", SecretsManagerService$> & {
|
|
105
|
+
readonly _: Effect.Effect<SecretsManagerService$["_"], never, SecretsManagerService>;
|
|
106
|
+
batchGetSecretValue: (args: BatchGetSecretValueCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<BatchGetSecretValueCommandOutput, DecryptionError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
107
|
+
cancelRotateSecret: (args: CancelRotateSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<CancelRotateSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
108
|
+
createSecret: (args: CreateSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<CreateSecretCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
109
|
+
deleteResourcePolicy: (args: DeleteResourcePolicyCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<DeleteResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
110
|
+
deleteSecret: (args: DeleteSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<DeleteSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
111
|
+
describeSecret: (args: DescribeSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<DescribeSecretCommandOutput, InternalServiceError | InvalidParameterError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
112
|
+
getRandomPassword: (args: GetRandomPasswordCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<GetRandomPasswordCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | SdkError, SecretsManagerService>;
|
|
113
|
+
getResourcePolicy: (args: GetResourcePolicyCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<GetResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
114
|
+
getSecretValue: (args: GetSecretValueCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<GetSecretValueCommandOutput, DecryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
115
|
+
listSecrets: (args: ListSecretsCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<ListSecretsCommandOutput, InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | SdkError, SecretsManagerService>;
|
|
116
|
+
listSecretVersionIds: (args: ListSecretVersionIdsCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<ListSecretVersionIdsCommandOutput, InternalServiceError | InvalidNextTokenError | InvalidParameterError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
117
|
+
putResourcePolicy: (args: PutResourcePolicyCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<PutResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | PublicPolicyError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
118
|
+
putSecretValue: (args: PutSecretValueCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<PutSecretValueCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
119
|
+
removeRegionsFromReplication: (args: RemoveRegionsFromReplicationCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<RemoveRegionsFromReplicationCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
120
|
+
replicateSecretToRegions: (args: ReplicateSecretToRegionsCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<ReplicateSecretToRegionsCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
121
|
+
restoreSecret: (args: RestoreSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<RestoreSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
122
|
+
rotateSecret: (args: RotateSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<RotateSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
123
|
+
stopReplicationToReplica: (args: StopReplicationToReplicaCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<StopReplicationToReplicaCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
124
|
+
tagResource: (args: TagResourceCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<TagResourceCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
125
|
+
untagResource: (args: UntagResourceCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<UntagResourceCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
126
|
+
updateSecret: (args: UpdateSecretCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<UpdateSecretCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
127
|
+
updateSecretVersionStage: (args: UpdateSecretVersionStageCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<UpdateSecretVersionStageCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
128
|
+
validateResourcePolicy: (args: ValidateResourcePolicyCommandInput, options?: __HttpHandlerOptions | undefined) => Effect.Effect<ValidateResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
129
|
+
} & {
|
|
130
|
+
use: <X>(body: (_: SecretsManagerService$) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | SecretsManagerService> : Effect.Effect<X, never, SecretsManagerService>;
|
|
131
|
+
};
|
|
108
132
|
/**
|
|
109
133
|
* @since 1.0.0
|
|
110
|
-
* @category
|
|
134
|
+
* @category models
|
|
111
135
|
*/
|
|
112
|
-
export declare
|
|
136
|
+
export declare class SecretsManagerService extends SecretsManagerService_base {
|
|
137
|
+
}
|
|
113
138
|
/**
|
|
114
139
|
* @since 1.0.0
|
|
115
140
|
* @category constructors
|
|
116
141
|
*/
|
|
117
|
-
export declare const makeSecretsManagerService: Effect.Effect<SecretsManagerService
|
|
142
|
+
export declare const makeSecretsManagerService: Effect.Effect<SecretsManagerService$, never, SecretsManagerClientInstance>;
|
|
118
143
|
/**
|
|
119
144
|
* @since 1.0.0
|
|
120
145
|
* @category layers
|
|
@@ -130,3 +155,4 @@ export declare const SecretsManagerServiceLayer: Layer.Layer<SecretsManagerServi
|
|
|
130
155
|
* @category layers
|
|
131
156
|
*/
|
|
132
157
|
export declare const DefaultSecretsManagerServiceLayer: Layer.Layer<SecretsManagerService, never, never>;
|
|
158
|
+
export {};
|
|
@@ -36,9 +36,11 @@ const commands = {
|
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* @since 1.0.0
|
|
39
|
-
* @category
|
|
39
|
+
* @category models
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
class SecretsManagerService extends effect_1.Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
|
|
42
|
+
}
|
|
43
|
+
exports.SecretsManagerService = SecretsManagerService;
|
|
42
44
|
/**
|
|
43
45
|
* @since 1.0.0
|
|
44
46
|
* @category constructors
|
|
@@ -50,7 +52,8 @@ exports.makeSecretsManagerService = effect_1.Effect.gen(function* (_) {
|
|
|
50
52
|
const methodImpl = (args, options) => effect_1.Effect.tryPromise({
|
|
51
53
|
try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
|
|
52
54
|
catch: (e) => {
|
|
53
|
-
if (e instanceof client_secrets_manager_1.SecretsManagerServiceException
|
|
55
|
+
if (e instanceof client_secrets_manager_1.SecretsManagerServiceException &&
|
|
56
|
+
Errors_1.AllServiceErrors.includes(e.name)) {
|
|
54
57
|
const ServiceException = effect_1.Data.tagged(e.name);
|
|
55
58
|
return ServiceException({
|
|
56
59
|
...e,
|
|
@@ -77,7 +80,7 @@ exports.makeSecretsManagerService = effect_1.Effect.gen(function* (_) {
|
|
|
77
80
|
* @since 1.0.0
|
|
78
81
|
* @category layers
|
|
79
82
|
*/
|
|
80
|
-
exports.BaseSecretsManagerServiceLayer = effect_1.Layer.effect(
|
|
83
|
+
exports.BaseSecretsManagerServiceLayer = effect_1.Layer.effect(SecretsManagerService, exports.makeSecretsManagerService);
|
|
81
84
|
/**
|
|
82
85
|
* @since 1.0.0
|
|
83
86
|
* @category layers
|
|
@@ -88,4 +91,4 @@ exports.SecretsManagerServiceLayer = exports.BaseSecretsManagerServiceLayer.pipe
|
|
|
88
91
|
* @category layers
|
|
89
92
|
*/
|
|
90
93
|
exports.DefaultSecretsManagerServiceLayer = exports.SecretsManagerServiceLayer.pipe(effect_1.Layer.provide(SecretsManagerClientInstanceConfig_1.DefaultSecretsManagerClientConfigLayer));
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDRFQXVFeUM7QUFFekMsbUNBQThEO0FBQzlELHFDQWVrQjtBQUNsQixpRkFHd0M7QUFDeEMsNkZBQThGO0FBRTlGLE1BQU0sUUFBUSxHQUFHO0lBQ2YsMEJBQTBCLEVBQTFCLG1EQUEwQjtJQUMxQix5QkFBeUIsRUFBekIsa0RBQXlCO0lBQ3pCLG1CQUFtQixFQUFuQiw0Q0FBbUI7SUFDbkIsMkJBQTJCLEVBQTNCLG9EQUEyQjtJQUMzQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4Qix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsa0JBQWtCLEVBQWxCLDJDQUFrQjtJQUNsQiwyQkFBMkIsRUFBM0Isb0RBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQixtQ0FBbUMsRUFBbkMsNERBQW1DO0lBQ25DLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0Isb0JBQW9CLEVBQXBCLDZDQUFvQjtJQUNwQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0Isa0JBQWtCLEVBQWxCLDJDQUFrQjtJQUNsQixvQkFBb0IsRUFBcEIsNkNBQW9CO0lBQ3BCLG1CQUFtQixFQUFuQiw0Q0FBbUI7SUFDbkIsK0JBQStCLEVBQS9CLHdEQUErQjtJQUMvQiw2QkFBNkIsRUFBN0Isc0RBQTZCO0NBQzlCLENBQUM7QUF3WEY7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxnQkFBTyxDQUFDLFVBQVUsQ0FDckQsMERBQTBELENBQzNELENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHlCQUF5QixHQUFHLGVBQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsMkRBQTRCLENBQUMsQ0FBQztJQUV0RCxPQUFPLGVBQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDN0MsZUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksdURBQThCLEVBQUUsQ0FBQztvQkFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLElBQUEsaUJBQVEsRUFBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTBCLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQ3hELDZCQUFxQixFQUNyQixpQ0FBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsc0NBQThCLENBQUMsSUFBSSxDQUMzRSxjQUFLLENBQUMsT0FBTyxDQUFDLGdFQUFpQyxDQUFDLENBQ2pELENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLGlDQUFpQyxHQUM1QyxrQ0FBMEIsQ0FBQyxJQUFJLENBQzdCLGNBQUssQ0FBQyxPQUFPLENBQUMsMkVBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgdHlwZSBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gIEdldFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxTZWNyZXRzTWFuYWdlclNlcnZpY2U+KFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZWNyZXRzLW1hbmFnZXIvU2VjcmV0c01hbmFnZXJTZXJ2aWNlXCIsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNlY3JldHNNYW5hZ2VyU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoKSA9PiBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMgPz8ge30pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTZWNyZXRzTWFuYWdlclNlcnZpY2U7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDRFQXVFeUM7QUFFekMsbUNBQXFEO0FBQ3JELHFDQWdCa0I7QUFDbEIsaUZBR3dDO0FBQ3hDLDZGQUE4RjtBQUU5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQixFQUExQixtREFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLGtEQUF5QjtJQUN6QixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4QixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsMkJBQTJCLEVBQTNCLG9EQUEyQjtJQUMzQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsbUNBQW1DLEVBQW5DLDREQUFtQztJQUNuQywrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsb0JBQW9CLEVBQXBCLDZDQUFvQjtJQUNwQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IsNkJBQTZCLEVBQTdCLHNEQUE2QjtDQUM5QixDQUFDO0FBb1hGOzs7R0FHRztBQUNILE1BQWEscUJBQXNCLFNBQVEsZUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFGckQsc0RBRXFEO0FBRXJEOzs7R0FHRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywyREFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sZUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxlQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSx1REFBOEI7b0JBQzNDLHlCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLElBQUEsaUJBQVEsRUFBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTJCLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQ3hELHFCQUFxQixFQUNyQixpQ0FBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsc0NBQThCLENBQUMsSUFBSSxDQUMzRSxjQUFLLENBQUMsT0FBTyxDQUFDLGdFQUFpQyxDQUFDLENBQ2pELENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLGlDQUFpQyxHQUM1QyxrQ0FBMEIsQ0FBQyxJQUFJLENBQzdCLGNBQUssQ0FBQyxPQUFPLENBQUMsMkVBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyL1NlY3JldHNNYW5hZ2VyU2VydmljZVwiLFxuKTxTZWNyZXRzTWFuYWdlclNlcnZpY2UsIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
package/lib/esm/Errors.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
export const AllServiceErrors = [
|
|
3
|
+
"DecryptionFailure",
|
|
4
|
+
"EncryptionFailure",
|
|
5
|
+
"InternalServiceError",
|
|
6
|
+
"InvalidNextTokenException",
|
|
7
|
+
"InvalidParameterException",
|
|
8
|
+
"InvalidRequestException",
|
|
9
|
+
"LimitExceededException",
|
|
10
|
+
"MalformedPolicyDocumentException",
|
|
11
|
+
"PreconditionNotMetException",
|
|
12
|
+
"PublicPolicyException",
|
|
13
|
+
"ResourceExistsException",
|
|
14
|
+
"ResourceNotFoundException",
|
|
15
|
+
];
|
|
2
16
|
export const SdkError = Data.tagged("SdkError");
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QixrQ0FBa0M7SUFDbEMsNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsMkJBQTJCO0NBQzVCLENBQUM7QUFzQkYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQVcsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIERlY3J5cHRpb25GYWlsdXJlLFxuICBFbmNyeXB0aW9uRmFpbHVyZSxcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IgYXMgSW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uLFxuICBJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uLFxuICBJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uLFxuICBJbnZhbGlkUmVxdWVzdEV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24sXG4gIFByZWNvbmRpdGlvbk5vdE1ldEV4Y2VwdGlvbixcbiAgUHVibGljUG9saWN5RXhjZXB0aW9uLFxuICBSZXNvdXJjZUV4aXN0c0V4Y2VwdGlvbixcbiAgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkRlY3J5cHRpb25GYWlsdXJlXCIsXG4gIFwiRW5jcnlwdGlvbkZhaWx1cmVcIixcbiAgXCJJbnRlcm5hbFNlcnZpY2VFcnJvclwiLFxuICBcIkludmFsaWROZXh0VG9rZW5FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFJlcXVlc3RFeGNlcHRpb25cIixcbiAgXCJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb25cIixcbiAgXCJQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb25cIixcbiAgXCJQdWJsaWNQb2xpY3lFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIERlY3J5cHRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxEZWNyeXB0aW9uRmFpbHVyZT47XG5leHBvcnQgdHlwZSBFbmNyeXB0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RW5jcnlwdGlvbkZhaWx1cmU+O1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxTZXJ2aWNlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxTZXJ2aWNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWROZXh0VG9rZW5FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkTmV4dFRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRSZXF1ZXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlcXVlc3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPExpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBQcmVjb25kaXRpb25Ob3RNZXRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUHVibGljUG9saWN5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UHVibGljUG9saWN5RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlRXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VFeGlzdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24+O1xuXG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Runtime from "effect/Runtime";
|
|
1
|
+
import { Context, Effect, Layer, Runtime } from "effect";
|
|
5
2
|
/**
|
|
6
3
|
* @since 1.0.0
|
|
7
4
|
* @category tags
|
|
@@ -40,4 +37,4 @@ export const makeDefaultSecretsManagerClientInstanceConfig = Effect.gen(function
|
|
|
40
37
|
* @category layers
|
|
41
38
|
*/
|
|
42
39
|
export const DefaultSecretsManagerClientConfigLayer = Layer.effect(SecretsManagerClientInstanceConfig, makeDefaultSecretsManagerClientInstanceConfig);
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFekQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQ2pFLHVFQUF1RSxDQUN4RSxFQUFrRTtDQUFHO0FBRXRFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUN4RCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNoRSxrQ0FBa0MsRUFDbEMsNkNBQTZDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZWNyZXRzLW1hbmFnZXIvU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLCBTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZz4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZURlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nSW5mbyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB3YXJuKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nV2FybmluZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRGVidWcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2UobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dUcmFjZShtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VDb25maWcsXG4pO1xuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { BatchGetSecretValueCommand, CancelRotateSecretCommand, CreateSecretCommand, DeleteResourcePolicyCommand, DeleteSecretCommand, DescribeSecretCommand, GetRandomPasswordCommand, GetResourcePolicyCommand, GetSecretValueCommand, ListSecretsCommand, ListSecretVersionIdsCommand, PutResourcePolicyCommand, PutSecretValueCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, RestoreSecretCommand, RotateSecretCommand,
|
|
5
|
-
import {
|
|
6
|
-
import { SdkError, } from "./Errors";
|
|
4
|
+
import { SecretsManagerServiceException, BatchGetSecretValueCommand, CancelRotateSecretCommand, CreateSecretCommand, DeleteResourcePolicyCommand, DeleteSecretCommand, DescribeSecretCommand, GetRandomPasswordCommand, GetResourcePolicyCommand, GetSecretValueCommand, ListSecretsCommand, ListSecretVersionIdsCommand, PutResourcePolicyCommand, PutSecretValueCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, RestoreSecretCommand, RotateSecretCommand, StopReplicationToReplicaCommand, TagResourceCommand, UntagResourceCommand, UpdateSecretCommand, UpdateSecretVersionStageCommand, ValidateResourcePolicyCommand, } from "@aws-sdk/client-secrets-manager";
|
|
5
|
+
import { Data, Effect, Layer, Record } from "effect";
|
|
6
|
+
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
7
7
|
import { SecretsManagerClientInstance, SecretsManagerClientInstanceLayer, } from "./SecretsManagerClientInstance";
|
|
8
8
|
import { DefaultSecretsManagerClientConfigLayer } from "./SecretsManagerClientInstanceConfig";
|
|
9
9
|
const commands = {
|
|
@@ -33,9 +33,10 @@ const commands = {
|
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
35
|
* @since 1.0.0
|
|
36
|
-
* @category
|
|
36
|
+
* @category models
|
|
37
37
|
*/
|
|
38
|
-
export
|
|
38
|
+
export class SecretsManagerService extends Effect.Tag("@effect-aws/client-secrets-manager/SecretsManagerService")() {
|
|
39
|
+
}
|
|
39
40
|
/**
|
|
40
41
|
* @since 1.0.0
|
|
41
42
|
* @category constructors
|
|
@@ -47,7 +48,8 @@ export const makeSecretsManagerService = Effect.gen(function* (_) {
|
|
|
47
48
|
const methodImpl = (args, options) => Effect.tryPromise({
|
|
48
49
|
try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
|
|
49
50
|
catch: (e) => {
|
|
50
|
-
if (e instanceof SecretsManagerServiceException
|
|
51
|
+
if (e instanceof SecretsManagerServiceException &&
|
|
52
|
+
AllServiceErrors.includes(e.name)) {
|
|
51
53
|
const ServiceException = Data.tagged(e.name);
|
|
52
54
|
return ServiceException({
|
|
53
55
|
...e,
|
|
@@ -85,4 +87,4 @@ export const SecretsManagerServiceLayer = BaseSecretsManagerServiceLayer.pipe(La
|
|
|
85
87
|
* @category layers
|
|
86
88
|
*/
|
|
87
89
|
export const DefaultSecretsManagerServiceLayer = SecretsManagerServiceLayer.pipe(Layer.provide(DefaultSecretsManagerClientConfigLayer));
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCwwQkFBMEIsRUFHMUIseUJBQXlCLEVBR3pCLG1CQUFtQixFQUduQiwyQkFBMkIsRUFHM0IsbUJBQW1CLEVBR25CLHFCQUFxQixFQUdyQix3QkFBd0IsRUFHeEIsd0JBQXdCLEVBR3hCLHFCQUFxQixFQUdyQixrQkFBa0IsRUFHbEIsMkJBQTJCLEVBRzNCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsbUNBQW1DLEVBR25DLCtCQUErQixFQUcvQixvQkFBb0IsRUFHcEIsbUJBQW1CLEVBR25CLDhCQUE4QixFQUM5QiwrQkFBK0IsRUFHL0Isa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLDZCQUE2QixHQUc5QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlELE9BQU8sRUFhTCxRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiw2QkFBNkI7Q0FDOUIsQ0FBQztBQXdYRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUNyRCwwREFBMEQsQ0FDM0QsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUV0RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksOEJBQThCLEVBQUUsQ0FBQztvQkFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLFFBQVEsQ0FBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTBCLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN4RCxxQkFBcUIsRUFDckIseUJBQXlCLENBQzFCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLENBQzNFLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FDakQsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUM1QywwQkFBMEIsQ0FBQyxJQUFJLENBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgdHlwZSBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gIEdldFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxTZWNyZXRzTWFuYWdlclNlcnZpY2U+KFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZWNyZXRzLW1hbmFnZXIvU2VjcmV0c01hbmFnZXJTZXJ2aWNlXCIsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNlY3JldHNNYW5hZ2VyU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoKSA9PiBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMgPz8ge30pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTZWNyZXRzTWFuYWdlclNlcnZpY2U7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQixxQkFBcUIsRUFHckIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsa0JBQWtCLEVBR2xCLDJCQUEyQixFQUczQix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLG1DQUFtQyxFQUduQywrQkFBK0IsRUFHL0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQiwrQkFBK0IsRUFHL0Isa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLDZCQUE2QixHQUc5QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQWFoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiw2QkFBNkI7Q0FDOUIsQ0FBQztBQW9YRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSw4QkFBOEI7b0JBQzNDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLFFBQVEsQ0FBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTJCLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN4RCxxQkFBcUIsRUFDckIseUJBQXlCLENBQzFCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLENBQzNFLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FDakQsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUM1QywwQkFBMEIsQ0FBQyxJQUFJLENBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyL1NlY3JldHNNYW5hZ2VyU2VydmljZVwiLFxuKTxTZWNyZXRzTWFuYWdlclNlcnZpY2UsIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
package/package.json
CHANGED
|
@@ -7,19 +7,17 @@
|
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@types/node": "^18",
|
|
10
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
11
|
-
"@typescript-eslint/parser": "^
|
|
10
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
|
+
"@typescript-eslint/parser": "^7",
|
|
12
12
|
"aws-sdk-client-mock": "^3.0.0",
|
|
13
13
|
"aws-sdk-client-mock-jest": "^3.0.0",
|
|
14
|
-
"constructs": "^10.0.0",
|
|
15
14
|
"effect": "3.0.0",
|
|
16
15
|
"eslint": "^8",
|
|
17
|
-
"eslint-config-prettier": "^9.
|
|
16
|
+
"eslint-config-prettier": "^9.1.0",
|
|
18
17
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
19
|
-
"eslint-plugin-import": "^2.
|
|
20
|
-
"eslint-plugin-prettier": "^5.
|
|
18
|
+
"eslint-plugin-import": "^2.29.1",
|
|
19
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
21
20
|
"prettier": "^3.2.5",
|
|
22
|
-
"projen": "^0.79.24",
|
|
23
21
|
"typescript": "^5.4.2"
|
|
24
22
|
},
|
|
25
23
|
"peerDependencies": {
|
|
@@ -35,7 +33,7 @@
|
|
|
35
33
|
"publishConfig": {
|
|
36
34
|
"access": "public"
|
|
37
35
|
},
|
|
38
|
-
"version": "1.
|
|
36
|
+
"version": "1.1.0",
|
|
39
37
|
"types": "lib/index.d.ts",
|
|
40
38
|
"module": "lib/esm/index.js",
|
|
41
39
|
"sideEffects": [],
|