@effect-aws/client-kms 1.2.0 → 1.9.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.
Files changed (68) hide show
  1. package/Errors/package.json +6 -0
  2. package/KMSClientInstance/package.json +6 -0
  3. package/KMSService/package.json +6 -0
  4. package/KMSServiceConfig/package.json +6 -0
  5. package/{lib → dist/cjs}/Errors.d.ts +7 -12
  6. package/dist/cjs/Errors.d.ts.map +1 -0
  7. package/dist/cjs/Errors.js +56 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/KMSClientInstance.d.ts +24 -0
  10. package/dist/cjs/KMSClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/KMSClientInstance.js +50 -0
  12. package/dist/cjs/KMSClientInstance.js.map +1 -0
  13. package/{lib → dist/cjs}/KMSService.d.ts +16 -38
  14. package/dist/cjs/KMSService.d.ts.map +1 -0
  15. package/dist/cjs/KMSService.js +109 -0
  16. package/dist/cjs/KMSService.js.map +1 -0
  17. package/dist/cjs/KMSServiceConfig.d.ts +25 -0
  18. package/dist/cjs/KMSServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/KMSServiceConfig.js +35 -0
  20. package/dist/cjs/KMSServiceConfig.js.map +1 -0
  21. package/dist/cjs/index.d.ts +39 -0
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/dist/cjs/index.js +56 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/dts/Errors.d.ts +55 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/KMSClientInstance.d.ts +24 -0
  28. package/dist/dts/KMSClientInstance.d.ts.map +1 -0
  29. package/dist/dts/KMSService.d.ts +308 -0
  30. package/dist/dts/KMSService.d.ts.map +1 -0
  31. package/dist/dts/KMSServiceConfig.d.ts +25 -0
  32. package/dist/dts/KMSServiceConfig.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +39 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/esm/Errors.js +53 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/KMSClientInstance.js +23 -0
  38. package/dist/esm/KMSClientInstance.js.map +1 -0
  39. package/dist/esm/KMSService.js +82 -0
  40. package/dist/esm/KMSService.js.map +1 -0
  41. package/dist/esm/KMSServiceConfig.js +31 -0
  42. package/dist/esm/KMSServiceConfig.js.map +1 -0
  43. package/dist/esm/index.js +27 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/package.json +4 -0
  46. package/package.json +60 -43
  47. package/src/Errors.ts +159 -0
  48. package/src/KMSClientInstance.ts +33 -0
  49. package/src/KMSService.ts +1224 -0
  50. package/src/KMSServiceConfig.ts +51 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -35
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -56
  55. package/lib/KMSClientInstance.d.ts +0 -31
  56. package/lib/KMSClientInstance.js +0 -57
  57. package/lib/KMSClientInstanceConfig.d.ts +0 -23
  58. package/lib/KMSClientInstanceConfig.js +0 -44
  59. package/lib/KMSService.js +0 -141
  60. package/lib/esm/Errors.js +0 -53
  61. package/lib/esm/KMSClientInstance.js +0 -30
  62. package/lib/esm/KMSClientInstanceConfig.js +0 -40
  63. package/lib/esm/KMSService.js +0 -137
  64. package/lib/esm/index.js +0 -5
  65. package/lib/index.d.ts +0 -4
  66. package/lib/index.js +0 -21
  67. package/project.json +0 -77
  68. package/vitest.config.ts +0 -3
package/lib/KMSService.js DELETED
@@ -1,141 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultKMSServiceLayer = exports.KMSServiceLayer = exports.BaseKMSServiceLayer = exports.KMS = exports.KMSService = exports.makeKMSService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_kms_1 = require("@aws-sdk/client-kms");
9
- const effect_1 = require("effect");
10
- const Errors_1 = require("./Errors");
11
- const KMSClientInstance_1 = require("./KMSClientInstance");
12
- const KMSClientInstanceConfig_1 = require("./KMSClientInstanceConfig");
13
- const commands = {
14
- CancelKeyDeletionCommand: client_kms_1.CancelKeyDeletionCommand,
15
- ConnectCustomKeyStoreCommand: client_kms_1.ConnectCustomKeyStoreCommand,
16
- CreateAliasCommand: client_kms_1.CreateAliasCommand,
17
- CreateCustomKeyStoreCommand: client_kms_1.CreateCustomKeyStoreCommand,
18
- CreateGrantCommand: client_kms_1.CreateGrantCommand,
19
- CreateKeyCommand: client_kms_1.CreateKeyCommand,
20
- DecryptCommand: client_kms_1.DecryptCommand,
21
- DeleteAliasCommand: client_kms_1.DeleteAliasCommand,
22
- DeleteCustomKeyStoreCommand: client_kms_1.DeleteCustomKeyStoreCommand,
23
- DeleteImportedKeyMaterialCommand: client_kms_1.DeleteImportedKeyMaterialCommand,
24
- DeriveSharedSecretCommand: client_kms_1.DeriveSharedSecretCommand,
25
- DescribeCustomKeyStoresCommand: client_kms_1.DescribeCustomKeyStoresCommand,
26
- DescribeKeyCommand: client_kms_1.DescribeKeyCommand,
27
- DisableKeyCommand: client_kms_1.DisableKeyCommand,
28
- DisableKeyRotationCommand: client_kms_1.DisableKeyRotationCommand,
29
- DisconnectCustomKeyStoreCommand: client_kms_1.DisconnectCustomKeyStoreCommand,
30
- EnableKeyCommand: client_kms_1.EnableKeyCommand,
31
- EnableKeyRotationCommand: client_kms_1.EnableKeyRotationCommand,
32
- EncryptCommand: client_kms_1.EncryptCommand,
33
- GenerateDataKeyCommand: client_kms_1.GenerateDataKeyCommand,
34
- GenerateDataKeyPairCommand: client_kms_1.GenerateDataKeyPairCommand,
35
- GenerateDataKeyPairWithoutPlaintextCommand: client_kms_1.GenerateDataKeyPairWithoutPlaintextCommand,
36
- GenerateDataKeyWithoutPlaintextCommand: client_kms_1.GenerateDataKeyWithoutPlaintextCommand,
37
- GenerateMacCommand: client_kms_1.GenerateMacCommand,
38
- GenerateRandomCommand: client_kms_1.GenerateRandomCommand,
39
- GetKeyPolicyCommand: client_kms_1.GetKeyPolicyCommand,
40
- GetKeyRotationStatusCommand: client_kms_1.GetKeyRotationStatusCommand,
41
- GetParametersForImportCommand: client_kms_1.GetParametersForImportCommand,
42
- GetPublicKeyCommand: client_kms_1.GetPublicKeyCommand,
43
- ImportKeyMaterialCommand: client_kms_1.ImportKeyMaterialCommand,
44
- ListAliasesCommand: client_kms_1.ListAliasesCommand,
45
- ListGrantsCommand: client_kms_1.ListGrantsCommand,
46
- ListKeyPoliciesCommand: client_kms_1.ListKeyPoliciesCommand,
47
- ListKeyRotationsCommand: client_kms_1.ListKeyRotationsCommand,
48
- ListKeysCommand: client_kms_1.ListKeysCommand,
49
- ListResourceTagsCommand: client_kms_1.ListResourceTagsCommand,
50
- ListRetirableGrantsCommand: client_kms_1.ListRetirableGrantsCommand,
51
- PutKeyPolicyCommand: client_kms_1.PutKeyPolicyCommand,
52
- ReEncryptCommand: client_kms_1.ReEncryptCommand,
53
- ReplicateKeyCommand: client_kms_1.ReplicateKeyCommand,
54
- RetireGrantCommand: client_kms_1.RetireGrantCommand,
55
- RevokeGrantCommand: client_kms_1.RevokeGrantCommand,
56
- RotateKeyOnDemandCommand: client_kms_1.RotateKeyOnDemandCommand,
57
- ScheduleKeyDeletionCommand: client_kms_1.ScheduleKeyDeletionCommand,
58
- SignCommand: client_kms_1.SignCommand,
59
- TagResourceCommand: client_kms_1.TagResourceCommand,
60
- UntagResourceCommand: client_kms_1.UntagResourceCommand,
61
- UpdateAliasCommand: client_kms_1.UpdateAliasCommand,
62
- UpdateCustomKeyStoreCommand: client_kms_1.UpdateCustomKeyStoreCommand,
63
- UpdateKeyDescriptionCommand: client_kms_1.UpdateKeyDescriptionCommand,
64
- UpdatePrimaryRegionCommand: client_kms_1.UpdatePrimaryRegionCommand,
65
- VerifyCommand: client_kms_1.VerifyCommand,
66
- VerifyMacCommand: client_kms_1.VerifyMacCommand,
67
- };
68
- /**
69
- * @since 1.0.0
70
- * @category constructors
71
- */
72
- exports.makeKMSService = effect_1.Effect.gen(function* (_) {
73
- const client = yield* _(KMSClientInstance_1.KMSClientInstance);
74
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
75
- const CommandCtor = commands[command];
76
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
77
- try: (abortSignal) => client.send(new CommandCtor(args), {
78
- ...(options !== null && options !== void 0 ? options : {}),
79
- abortSignal,
80
- }),
81
- catch: (e) => {
82
- if (e instanceof client_kms_1.KMSServiceException &&
83
- Errors_1.AllServiceErrors.includes(e.name)) {
84
- const ServiceException = effect_1.Data.tagged(e.name);
85
- return ServiceException({
86
- ...e,
87
- message: e.message,
88
- stack: e.stack,
89
- });
90
- }
91
- if (e instanceof Error) {
92
- return (0, Errors_1.SdkError)({
93
- ...e,
94
- name: "SdkError",
95
- message: e.message,
96
- stack: e.stack,
97
- });
98
- }
99
- throw e;
100
- },
101
- });
102
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
103
- return { ...acc, [methodName]: methodImpl };
104
- }, {});
105
- });
106
- /**
107
- * @since 1.0.0
108
- * @category models
109
- */
110
- class KMSService extends effect_1.Effect.Tag("@effect-aws/client-kms/KMSService")() {
111
- }
112
- exports.KMSService = KMSService;
113
- _a = KMSService;
114
- KMSService.defaultLayer = effect_1.Layer.effect(_a, exports.makeKMSService).pipe(effect_1.Layer.provide(KMSClientInstance_1.KMSClientInstanceLayer), effect_1.Layer.provide(KMSClientInstanceConfig_1.DefaultKMSClientConfigLayer));
115
- KMSService.layer = (config) => effect_1.Layer.effect(_a, exports.makeKMSService).pipe(effect_1.Layer.provide(KMSClientInstance_1.KMSClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(KMSClientInstanceConfig_1.KMSClientInstanceConfig, KMSClientInstanceConfig_1.makeDefaultKMSClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
116
- KMSService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeKMSService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(KMSClientInstance_1.KMSClientInstance, effect_1.Effect.map(KMSClientInstanceConfig_1.makeDefaultKMSClientInstanceConfig, evaluate))));
117
- /**
118
- * @since 1.0.0
119
- * @category models
120
- * @alias KMSService
121
- */
122
- exports.KMS = KMSService;
123
- /**
124
- * @since 1.0.0
125
- * @category layers
126
- * @deprecated use KMS.baseLayer instead
127
- */
128
- exports.BaseKMSServiceLayer = effect_1.Layer.effect(KMSService, exports.makeKMSService);
129
- /**
130
- * @since 1.0.0
131
- * @category layers
132
- * @deprecated use KMS.layer instead
133
- */
134
- exports.KMSServiceLayer = exports.BaseKMSServiceLayer.pipe(effect_1.Layer.provide(KMSClientInstance_1.KMSClientInstanceLayer));
135
- /**
136
- * @since 1.0.0
137
- * @category layers
138
- * @deprecated use KMS.defaultLayer instead
139
- */
140
- exports.DefaultKMSServiceLayer = KMSService.defaultLayer;
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS01TU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9LTVNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7R0FFRztBQUNILG9EQW1LNkI7QUFDN0IsbUNBQXFEO0FBQ3JELHFDQW9Ea0I7QUFDbEIsMkRBQWdGO0FBQ2hGLHVFQUltQztBQWFuQyxNQUFNLFFBQVEsR0FBRztJQUNmLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIsNEJBQTRCLEVBQTVCLHlDQUE0QjtJQUM1QixrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLDJCQUEyQixFQUEzQix3Q0FBMkI7SUFDM0Isa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixnQkFBZ0IsRUFBaEIsNkJBQWdCO0lBQ2hCLGNBQWMsRUFBZCwyQkFBYztJQUNkLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsMkJBQTJCLEVBQTNCLHdDQUEyQjtJQUMzQixnQ0FBZ0MsRUFBaEMsNkNBQWdDO0lBQ2hDLHlCQUF5QixFQUF6QixzQ0FBeUI7SUFDekIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5QixrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFqQiw4QkFBaUI7SUFDakIseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLGdCQUFnQixFQUFoQiw2QkFBZ0I7SUFDaEIsd0JBQXdCLEVBQXhCLHFDQUF3QjtJQUN4QixjQUFjLEVBQWQsMkJBQWM7SUFDZCxzQkFBc0IsRUFBdEIsbUNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsMENBQTBDLEVBQTFDLHVEQUEwQztJQUMxQyxzQ0FBc0MsRUFBdEMsbURBQXNDO0lBQ3RDLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQixtQkFBbUIsRUFBbkIsZ0NBQW1CO0lBQ25CLDJCQUEyQixFQUEzQix3Q0FB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LElBQUksQ0FDckMsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLHFDQUFpQixFQUNqQixlQUFNLENBQUMsR0FBRyxDQUFDLDREQUFrQyxFQUFFLFFBQVEsQ0FBQyxDQUN6RCxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsVUFBVSxDQUFDO0FBRTlCOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLHNCQUFjLENBQUMsQ0FBQztBQUU1RTs7OztHQUlHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsMkJBQW1CLENBQUMsSUFBSSxDQUNyRCxjQUFLLENBQUMsT0FBTyxDQUFDLDBDQUFzQixDQUFDLENBQ3RDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgS01TU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBLTVNDbGllbnQsXG4gIHR5cGUgS01TQ2xpZW50Q29uZmlnLFxuICBDYW5jZWxLZXlEZWxldGlvbkNvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsS2V5RGVsZXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsS2V5RGVsZXRpb25Db21tYW5kT3V0cHV0LFxuICBDb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kLFxuICB0eXBlIENvbm5lY3RDdXN0b21LZXlTdG9yZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVHcmFudENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR3JhbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR3JhbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVLZXlDb21tYW5kLFxuICB0eXBlIENyZWF0ZUtleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVLZXlDb21tYW5kT3V0cHV0LFxuICBEZWNyeXB0Q29tbWFuZCxcbiAgdHlwZSBEZWNyeXB0Q29tbWFuZElucHV0LFxuICB0eXBlIERlY3J5cHRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVJbXBvcnRlZEtleU1hdGVyaWFsQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVJbXBvcnRlZEtleU1hdGVyaWFsQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUltcG9ydGVkS2V5TWF0ZXJpYWxDb21tYW5kT3V0cHV0LFxuICBEZXJpdmVTaGFyZWRTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlcml2ZVNoYXJlZFNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXJpdmVTaGFyZWRTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUN1c3RvbUtleVN0b3Jlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDdXN0b21LZXlTdG9yZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDdXN0b21LZXlTdG9yZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUtleUNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVLZXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVLZXlDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlS2V5Q29tbWFuZCxcbiAgdHlwZSBEaXNhYmxlS2V5Q29tbWFuZElucHV0LFxuICB0eXBlIERpc2FibGVLZXlDb21tYW5kT3V0cHV0LFxuICBEaXNhYmxlS2V5Um90YXRpb25Db21tYW5kLFxuICB0eXBlIERpc2FibGVLZXlSb3RhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlS2V5Um90YXRpb25Db21tYW5kT3V0cHV0LFxuICBEaXNjb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kLFxuICB0eXBlIERpc2Nvbm5lY3RDdXN0b21LZXlTdG9yZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNjb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICBFbmFibGVLZXlDb21tYW5kLFxuICB0eXBlIEVuYWJsZUtleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBFbmFibGVLZXlDb21tYW5kT3V0cHV0LFxuICBFbmFibGVLZXlSb3RhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRW5hYmxlS2V5Um90YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlS2V5Um90YXRpb25Db21tYW5kT3V0cHV0LFxuICBFbmNyeXB0Q29tbWFuZCxcbiAgdHlwZSBFbmNyeXB0Q29tbWFuZElucHV0LFxuICB0eXBlIEVuY3J5cHRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZURhdGFLZXlDb21tYW5kLFxuICB0eXBlIEdlbmVyYXRlRGF0YUtleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZW5lcmF0ZURhdGFLZXlDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZURhdGFLZXlQYWlyQ29tbWFuZCxcbiAgdHlwZSBHZW5lcmF0ZURhdGFLZXlQYWlyQ29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlRGF0YUtleVBhaXJDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZURhdGFLZXlQYWlyV2l0aG91dFBsYWludGV4dENvbW1hbmQsXG4gIHR5cGUgR2VuZXJhdGVEYXRhS2V5UGFpcldpdGhvdXRQbGFpbnRleHRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2VuZXJhdGVEYXRhS2V5UGFpcldpdGhvdXRQbGFpbnRleHRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZURhdGFLZXlXaXRob3V0UGxhaW50ZXh0Q29tbWFuZCxcbiAgdHlwZSBHZW5lcmF0ZURhdGFLZXlXaXRob3V0UGxhaW50ZXh0Q29tbWFuZElucHV0LFxuICB0eXBlIEdlbmVyYXRlRGF0YUtleVdpdGhvdXRQbGFpbnRleHRDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZU1hY0NvbW1hbmQsXG4gIHR5cGUgR2VuZXJhdGVNYWNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2VuZXJhdGVNYWNDb21tYW5kT3V0cHV0LFxuICBHZW5lcmF0ZVJhbmRvbUNvbW1hbmQsXG4gIHR5cGUgR2VuZXJhdGVSYW5kb21Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2VuZXJhdGVSYW5kb21Db21tYW5kT3V0cHV0LFxuICBHZXRLZXlQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEtleVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRLZXlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRLZXlSb3RhdGlvblN0YXR1c0NvbW1hbmQsXG4gIHR5cGUgR2V0S2V5Um90YXRpb25TdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0S2V5Um90YXRpb25TdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0Q29tbWFuZCxcbiAgdHlwZSBHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFBhcmFtZXRlcnNGb3JJbXBvcnRDb21tYW5kT3V0cHV0LFxuICBHZXRQdWJsaWNLZXlDb21tYW5kLFxuICB0eXBlIEdldFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQdWJsaWNLZXlDb21tYW5kT3V0cHV0LFxuICBJbXBvcnRLZXlNYXRlcmlhbENvbW1hbmQsXG4gIHR5cGUgSW1wb3J0S2V5TWF0ZXJpYWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW1wb3J0S2V5TWF0ZXJpYWxDb21tYW5kT3V0cHV0LFxuICBMaXN0QWxpYXNlc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFsaWFzZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0R3JhbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0R3JhbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RHcmFudHNDb21tYW5kT3V0cHV0LFxuICBMaXN0S2V5UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RLZXlQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0S2V5UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0S2V5Um90YXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0S2V5Um90YXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RLZXlSb3RhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0S2V5c0NvbW1hbmQsXG4gIHR5cGUgTGlzdEtleXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEtleXNDb21tYW5kT3V0cHV0LFxuICBMaXN0UmVzb3VyY2VUYWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0UmVzb3VyY2VUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSZXNvdXJjZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0UmV0aXJhYmxlR3JhbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0UmV0aXJhYmxlR3JhbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSZXRpcmFibGVHcmFudHNDb21tYW5kT3V0cHV0LFxuICBQdXRLZXlQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dEtleVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRLZXlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBSZUVuY3J5cHRDb21tYW5kLFxuICB0eXBlIFJlRW5jcnlwdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZUVuY3J5cHRDb21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVLZXlDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZUtleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVLZXlDb21tYW5kT3V0cHV0LFxuICBSZXRpcmVHcmFudENvbW1hbmQsXG4gIHR5cGUgUmV0aXJlR3JhbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV0aXJlR3JhbnRDb21tYW5kT3V0cHV0LFxuICBSZXZva2VHcmFudENvbW1hbmQsXG4gIHR5cGUgUmV2b2tlR3JhbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlR3JhbnRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVLZXlPbkRlbWFuZENvbW1hbmQsXG4gIHR5cGUgUm90YXRlS2V5T25EZW1hbmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUm90YXRlS2V5T25EZW1hbmRDb21tYW5kT3V0cHV0LFxuICBTY2hlZHVsZUtleURlbGV0aW9uQ29tbWFuZCxcbiAgdHlwZSBTY2hlZHVsZUtleURlbGV0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFNjaGVkdWxlS2V5RGVsZXRpb25Db21tYW5kT3V0cHV0LFxuICBTaWduQ29tbWFuZCxcbiAgdHlwZSBTaWduQ29tbWFuZElucHV0LFxuICB0eXBlIFNpZ25Db21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVLZXlEZXNjcmlwdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlS2V5RGVzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlS2V5RGVzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVQcmltYXJ5UmVnaW9uQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVQcmltYXJ5UmVnaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVByaW1hcnlSZWdpb25Db21tYW5kT3V0cHV0LFxuICBWZXJpZnlDb21tYW5kLFxuICB0eXBlIFZlcmlmeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlDb21tYW5kT3V0cHV0LFxuICBWZXJpZnlNYWNDb21tYW5kLFxuICB0eXBlIFZlcmlmeU1hY0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlNYWNDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWttc1wiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBDbG91ZEhzbUNsdXN0ZXJJblVzZUVycm9yLFxuICBDbG91ZEhzbUNsdXN0ZXJJbnZhbGlkQ29uZmlndXJhdGlvbkVycm9yLFxuICBDbG91ZEhzbUNsdXN0ZXJOb3RBY3RpdmVFcnJvcixcbiAgQ2xvdWRIc21DbHVzdGVyTm90Rm91bmRFcnJvcixcbiAgQ2xvdWRIc21DbHVzdGVyTm90UmVsYXRlZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBDdXN0b21LZXlTdG9yZUhhc0NNS3NFcnJvcixcbiAgQ3VzdG9tS2V5U3RvcmVJbnZhbGlkU3RhdGVFcnJvcixcbiAgQ3VzdG9tS2V5U3RvcmVOYW1lSW5Vc2VFcnJvcixcbiAgQ3VzdG9tS2V5U3RvcmVOb3RGb3VuZEVycm9yLFxuICBEZXBlbmRlbmN5VGltZW91dEVycm9yLFxuICBEaXNhYmxlZEVycm9yLFxuICBEcnlSdW5PcGVyYXRpb25FcnJvcixcbiAgRXhwaXJlZEltcG9ydFRva2VuRXJyb3IsXG4gIEluY29ycmVjdEtleUVycm9yLFxuICBJbmNvcnJlY3RLZXlNYXRlcmlhbEVycm9yLFxuICBJbmNvcnJlY3RUcnVzdEFuY2hvckVycm9yLFxuICBJbnZhbGlkQWxpYXNOYW1lRXJyb3IsXG4gIEludmFsaWRBcm5FcnJvcixcbiAgSW52YWxpZENpcGhlcnRleHRFcnJvcixcbiAgSW52YWxpZEdyYW50SWRFcnJvcixcbiAgSW52YWxpZEdyYW50VG9rZW5FcnJvcixcbiAgSW52YWxpZEltcG9ydFRva2VuRXJyb3IsXG4gIEludmFsaWRLZXlVc2FnZUVycm9yLFxuICBJbnZhbGlkTWFya2VyRXJyb3IsXG4gIEtNU0ludGVybmFsRXJyb3IsXG4gIEtNU0ludmFsaWRNYWNFcnJvcixcbiAgS01TSW52YWxpZFNpZ25hdHVyZUVycm9yLFxuICBLTVNJbnZhbGlkU3RhdGVFcnJvcixcbiAgS2V5VW5hdmFpbGFibGVFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBUYWdFcnJvcixcbiAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcixcbiAgWGtzS2V5QWxyZWFkeUluVXNlRXJyb3IsXG4gIFhrc0tleUludmFsaWRDb25maWd1cmF0aW9uRXJyb3IsXG4gIFhrc0tleU5vdEZvdW5kRXJyb3IsXG4gIFhrc1Byb3h5SW5jb3JyZWN0QXV0aGVudGljYXRpb25DcmVkZW50aWFsRXJyb3IsXG4gIFhrc1Byb3h5SW52YWxpZENvbmZpZ3VyYXRpb25FcnJvcixcbiAgWGtzUHJveHlJbnZhbGlkUmVzcG9uc2VFcnJvcixcbiAgWGtzUHJveHlVcmlFbmRwb2ludEluVXNlRXJyb3IsXG4gIFhrc1Byb3h5VXJpSW5Vc2VFcnJvcixcbiAgWGtzUHJveHlVcmlVbnJlYWNoYWJsZUVycm9yLFxuICBYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUluVXNlRXJyb3IsXG4gIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW52YWxpZENvbmZpZ3VyYXRpb25FcnJvcixcbiAgWGtzUHJveHlWcGNFbmRwb2ludFNlcnZpY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IEtNU0NsaWVudEluc3RhbmNlLCBLTVNDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vS01TQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRLTVNDbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRLTVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgS01TQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL0tNU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQ2FuY2VsS2V5RGVsZXRpb25Db21tYW5kLFxuICBDb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kLFxuICBDcmVhdGVBbGlhc0NvbW1hbmQsXG4gIENyZWF0ZUN1c3RvbUtleVN0b3JlQ29tbWFuZCxcbiAgQ3JlYXRlR3JhbnRDb21tYW5kLFxuICBDcmVhdGVLZXlDb21tYW5kLFxuICBEZWNyeXB0Q29tbWFuZCxcbiAgRGVsZXRlQWxpYXNDb21tYW5kLFxuICBEZWxldGVDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIERlbGV0ZUltcG9ydGVkS2V5TWF0ZXJpYWxDb21tYW5kLFxuICBEZXJpdmVTaGFyZWRTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZUN1c3RvbUtleVN0b3Jlc0NvbW1hbmQsXG4gIERlc2NyaWJlS2V5Q29tbWFuZCxcbiAgRGlzYWJsZUtleUNvbW1hbmQsXG4gIERpc2FibGVLZXlSb3RhdGlvbkNvbW1hbmQsXG4gIERpc2Nvbm5lY3RDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIEVuYWJsZUtleUNvbW1hbmQsXG4gIEVuYWJsZUtleVJvdGF0aW9uQ29tbWFuZCxcbiAgRW5jcnlwdENvbW1hbmQsXG4gIEdlbmVyYXRlRGF0YUtleUNvbW1hbmQsXG4gIEdlbmVyYXRlRGF0YUtleVBhaXJDb21tYW5kLFxuICBHZW5lcmF0ZURhdGFLZXlQYWlyV2l0aG91dFBsYWludGV4dENvbW1hbmQsXG4gIEdlbmVyYXRlRGF0YUtleVdpdGhvdXRQbGFpbnRleHRDb21tYW5kLFxuICBHZW5lcmF0ZU1hY0NvbW1hbmQsXG4gIEdlbmVyYXRlUmFuZG9tQ29tbWFuZCxcbiAgR2V0S2V5UG9saWN5Q29tbWFuZCxcbiAgR2V0S2V5Um90YXRpb25TdGF0dXNDb21tYW5kLFxuICBHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0Q29tbWFuZCxcbiAgR2V0UHVibGljS2V5Q29tbWFuZCxcbiAgSW1wb3J0S2V5TWF0ZXJpYWxDb21tYW5kLFxuICBMaXN0QWxpYXNlc0NvbW1hbmQsXG4gIExpc3RHcmFudHNDb21tYW5kLFxuICBMaXN0S2V5UG9saWNpZXNDb21tYW5kLFxuICBMaXN0S2V5Um90YXRpb25zQ29tbWFuZCxcbiAgTGlzdEtleXNDb21tYW5kLFxuICBMaXN0UmVzb3VyY2VUYWdzQ29tbWFuZCxcbiAgTGlzdFJldGlyYWJsZUdyYW50c0NvbW1hbmQsXG4gIFB1dEtleVBvbGljeUNvbW1hbmQsXG4gIFJlRW5jcnlwdENvbW1hbmQsXG4gIFJlcGxpY2F0ZUtleUNvbW1hbmQsXG4gIFJldGlyZUdyYW50Q29tbWFuZCxcbiAgUmV2b2tlR3JhbnRDb21tYW5kLFxuICBSb3RhdGVLZXlPbkRlbWFuZENvbW1hbmQsXG4gIFNjaGVkdWxlS2V5RGVsZXRpb25Db21tYW5kLFxuICBTaWduQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlQWxpYXNDb21tYW5kLFxuICBVcGRhdGVDdXN0b21LZXlTdG9yZUNvbW1hbmQsXG4gIFVwZGF0ZUtleURlc2NyaXB0aW9uQ29tbWFuZCxcbiAgVXBkYXRlUHJpbWFyeVJlZ2lvbkNvbW1hbmQsXG4gIFZlcmlmeUNvbW1hbmQsXG4gIFZlcmlmeU1hY0NvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgS01TU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDYW5jZWxLZXlEZWxldGlvbkNvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxLZXlEZWxldGlvbihcbiAgICBhcmdzOiBDYW5jZWxLZXlEZWxldGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbEtleURlbGV0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbm5lY3RDdXN0b21LZXlTdG9yZUNvbW1hbmR9XG4gICAqL1xuICBjb25uZWN0Q3VzdG9tS2V5U3RvcmUoXG4gICAgYXJnczogQ29ubmVjdEN1c3RvbUtleVN0b3JlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29ubmVjdEN1c3RvbUtleVN0b3JlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDbG91ZEhzbUNsdXN0ZXJJbnZhbGlkQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBDbG91ZEhzbUNsdXN0ZXJOb3RBY3RpdmVFcnJvclxuICAgIHwgQ3VzdG9tS2V5U3RvcmVJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgQ3VzdG9tS2V5U3RvcmVOb3RGb3VuZEVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFsaWFzTmFtZUVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUN1c3RvbUtleVN0b3JlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUN1c3RvbUtleVN0b3JlKFxuICAgIGFyZ3M6IENyZWF0ZUN1c3RvbUtleVN0b3JlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3RlckluVXNlRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3RlckludmFsaWRDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3Rlck5vdEFjdGl2ZUVycm9yXG4gICAgfCBDbG91ZEhzbUNsdXN0ZXJOb3RGb3VuZEVycm9yXG4gICAgfCBDdXN0b21LZXlTdG9yZU5hbWVJblVzZUVycm9yXG4gICAgfCBJbmNvcnJlY3RUcnVzdEFuY2hvckVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFhrc1Byb3h5SW5jb3JyZWN0QXV0aGVudGljYXRpb25DcmVkZW50aWFsRXJyb3JcbiAgICB8IFhrc1Byb3h5SW52YWxpZENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgWGtzUHJveHlJbnZhbGlkUmVzcG9uc2VFcnJvclxuICAgIHwgWGtzUHJveHlVcmlFbmRwb2ludEluVXNlRXJyb3JcbiAgICB8IFhrc1Byb3h5VXJpSW5Vc2VFcnJvclxuICAgIHwgWGtzUHJveHlVcmlVbnJlYWNoYWJsZUVycm9yXG4gICAgfCBYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUluVXNlRXJyb3JcbiAgICB8IFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW52YWxpZENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgWGtzUHJveHlWcGNFbmRwb2ludFNlcnZpY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdyYW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUdyYW50KFxuICAgIGFyZ3M6IENyZWF0ZUdyYW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR3JhbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IERyeVJ1bk9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRHcmFudFRva2VuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlS2V5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUtleShcbiAgICBhcmdzOiBDcmVhdGVLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVLZXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3RlckludmFsaWRDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlTm90Rm91bmRFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFRhZ0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBYa3NLZXlBbHJlYWR5SW5Vc2VFcnJvclxuICAgIHwgWGtzS2V5SW52YWxpZENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgWGtzS2V5Tm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyeXB0Q29tbWFuZH1cbiAgICovXG4gIGRlY3J5cHQoXG4gICAgYXJnczogRGVjcnlwdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlY3J5cHRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IERyeVJ1bk9wZXJhdGlvbkVycm9yXG4gICAgfCBJbmNvcnJlY3RLZXlFcnJvclxuICAgIHwgSW52YWxpZENpcGhlcnRleHRFcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFsaWFzKFxuICAgIGFyZ3M6IERlbGV0ZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUN1c3RvbUtleVN0b3JlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUN1c3RvbUtleVN0b3JlKFxuICAgIGFyZ3M6IERlbGV0ZUN1c3RvbUtleVN0b3JlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlSGFzQ01Lc0Vycm9yXG4gICAgfCBDdXN0b21LZXlTdG9yZUludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBDdXN0b21LZXlTdG9yZU5vdEZvdW5kRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW1wb3J0ZWRLZXlNYXRlcmlhbENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJbXBvcnRlZEtleU1hdGVyaWFsKFxuICAgIGFyZ3M6IERlbGV0ZUltcG9ydGVkS2V5TWF0ZXJpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbXBvcnRlZEtleU1hdGVyaWFsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlcml2ZVNoYXJlZFNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZXJpdmVTaGFyZWRTZWNyZXQoXG4gICAgYXJnczogRGVyaXZlU2hhcmVkU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVyaXZlU2hhcmVkU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ3VzdG9tS2V5U3RvcmVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ3VzdG9tS2V5U3RvcmVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ3VzdG9tS2V5U3RvcmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVDdXN0b21LZXlTdG9yZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlTm90Rm91bmRFcnJvclxuICAgIHwgSW52YWxpZE1hcmtlckVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlS2V5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlS2V5KFxuICAgIGFyZ3M6IERlc2NyaWJlS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVLZXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhYmxlS2V5Q29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVLZXkoXG4gICAgYXJnczogRGlzYWJsZUtleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2FibGVLZXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZUtleVJvdGF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVLZXlSb3RhdGlvbihcbiAgICBhcmdzOiBEaXNhYmxlS2V5Um90YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlS2V5Um90YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzY29ubmVjdEN1c3RvbUtleVN0b3JlQ29tbWFuZH1cbiAgICovXG4gIGRpc2Nvbm5lY3RDdXN0b21LZXlTdG9yZShcbiAgICBhcmdzOiBEaXNjb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNjb25uZWN0Q3VzdG9tS2V5U3RvcmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlTm90Rm91bmRFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVLZXlDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlS2V5KFxuICAgIGFyZ3M6IEVuYWJsZUtleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZUtleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEVuYWJsZUtleVJvdGF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGVuYWJsZUtleVJvdGF0aW9uKFxuICAgIGFyZ3M6IEVuYWJsZUtleVJvdGF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRW5hYmxlS2V5Um90YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5jcnlwdENvbW1hbmR9XG4gICAqL1xuICBlbmNyeXB0KFxuICAgIGFyZ3M6IEVuY3J5cHRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmNyeXB0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlRGF0YUtleUNvbW1hbmR9XG4gICAqL1xuICBnZW5lcmF0ZURhdGFLZXkoXG4gICAgYXJnczogR2VuZXJhdGVEYXRhS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVEYXRhS2V5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlRGF0YUtleVBhaXJDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVEYXRhS2V5UGFpcihcbiAgICBhcmdzOiBHZW5lcmF0ZURhdGFLZXlQYWlyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVEYXRhS2V5UGFpckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgRHJ5UnVuT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRHcmFudFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLZXlVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZW5lcmF0ZURhdGFLZXlQYWlyV2l0aG91dFBsYWludGV4dENvbW1hbmR9XG4gICAqL1xuICBnZW5lcmF0ZURhdGFLZXlQYWlyV2l0aG91dFBsYWludGV4dChcbiAgICBhcmdzOiBHZW5lcmF0ZURhdGFLZXlQYWlyV2l0aG91dFBsYWludGV4dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdlbmVyYXRlRGF0YUtleVBhaXJXaXRob3V0UGxhaW50ZXh0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlRGF0YUtleVdpdGhvdXRQbGFpbnRleHRDb21tYW5kfVxuICAgKi9cbiAgZ2VuZXJhdGVEYXRhS2V5V2l0aG91dFBsYWludGV4dChcbiAgICBhcmdzOiBHZW5lcmF0ZURhdGFLZXlXaXRob3V0UGxhaW50ZXh0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVEYXRhS2V5V2l0aG91dFBsYWludGV4dENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgRHJ5UnVuT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRHcmFudFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLZXlVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZW5lcmF0ZU1hY0NvbW1hbmR9XG4gICAqL1xuICBnZW5lcmF0ZU1hYyhcbiAgICBhcmdzOiBHZW5lcmF0ZU1hY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdlbmVyYXRlTWFjQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdlbmVyYXRlUmFuZG9tQ29tbWFuZH1cbiAgICovXG4gIGdlbmVyYXRlUmFuZG9tKFxuICAgIGFyZ3M6IEdlbmVyYXRlUmFuZG9tQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2VuZXJhdGVSYW5kb21Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEN1c3RvbUtleVN0b3JlTm90Rm91bmRFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRLZXlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0S2V5UG9saWN5KFxuICAgIGFyZ3M6IEdldEtleVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEtleVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRLZXlSb3RhdGlvblN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICBnZXRLZXlSb3RhdGlvblN0YXR1cyhcbiAgICBhcmdzOiBHZXRLZXlSb3RhdGlvblN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEtleVJvdGF0aW9uU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBhcmFtZXRlcnNGb3JJbXBvcnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0UGFyYW1ldGVyc0ZvckltcG9ydChcbiAgICBhcmdzOiBHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UGFyYW1ldGVyc0ZvckltcG9ydENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQdWJsaWNLZXlDb21tYW5kfVxuICAgKi9cbiAgZ2V0UHVibGljS2V5KFxuICAgIGFyZ3M6IEdldFB1YmxpY0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFB1YmxpY0tleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkR3JhbnRUb2tlbkVycm9yXG4gICAgfCBJbnZhbGlkS2V5VXNhZ2VFcnJvclxuICAgIHwgS2V5VW5hdmFpbGFibGVFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW1wb3J0S2V5TWF0ZXJpYWxDb21tYW5kfVxuICAgKi9cbiAgaW1wb3J0S2V5TWF0ZXJpYWwoXG4gICAgYXJnczogSW1wb3J0S2V5TWF0ZXJpYWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBJbXBvcnRLZXlNYXRlcmlhbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRXhwaXJlZEltcG9ydFRva2VuRXJyb3JcbiAgICB8IEluY29ycmVjdEtleU1hdGVyaWFsRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZENpcGhlcnRleHRFcnJvclxuICAgIHwgSW52YWxpZEltcG9ydFRva2VuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBbGlhc2VzKFxuICAgIGFyZ3M6IExpc3RBbGlhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZE1hcmtlckVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RHcmFudHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEdyYW50cyhcbiAgICBhcmdzOiBMaXN0R3JhbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEdyYW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkR3JhbnRJZEVycm9yXG4gICAgfCBJbnZhbGlkTWFya2VyRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RLZXlQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0S2V5UG9saWNpZXMoXG4gICAgYXJnczogTGlzdEtleVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEtleVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RLZXlSb3RhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEtleVJvdGF0aW9ucyhcbiAgICBhcmdzOiBMaXN0S2V5Um90YXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEtleVJvdGF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkTWFya2VyRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RLZXlzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RLZXlzKFxuICAgIGFyZ3M6IExpc3RLZXlzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEtleXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvciB8IEludmFsaWRNYXJrZXJFcnJvciB8IEtNU0ludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJlc291cmNlVGFnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UmVzb3VyY2VUYWdzKFxuICAgIGFyZ3M6IExpc3RSZXNvdXJjZVRhZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UmVzb3VyY2VUYWdzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRNYXJrZXJFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UmV0aXJhYmxlR3JhbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RSZXRpcmFibGVHcmFudHMoXG4gICAgYXJnczogTGlzdFJldGlyYWJsZUdyYW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RSZXRpcmFibGVHcmFudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZE1hcmtlckVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEtleVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRLZXlQb2xpY3koXG4gICAgYXJnczogUHV0S2V5UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0S2V5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVFbmNyeXB0Q29tbWFuZH1cbiAgICovXG4gIHJlRW5jcnlwdChcbiAgICBhcmdzOiBSZUVuY3J5cHRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZUVuY3J5cHRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IERyeVJ1bk9wZXJhdGlvbkVycm9yXG4gICAgfCBJbmNvcnJlY3RLZXlFcnJvclxuICAgIHwgSW52YWxpZENpcGhlcnRleHRFcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlcGxpY2F0ZUtleUNvbW1hbmR9XG4gICAqL1xuICByZXBsaWNhdGVLZXkoXG4gICAgYXJnczogUmVwbGljYXRlS2V5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVwbGljYXRlS2V5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgVGFnRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV0aXJlR3JhbnRDb21tYW5kfVxuICAgKi9cbiAgcmV0aXJlR3JhbnQoXG4gICAgYXJnczogUmV0aXJlR3JhbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXRpcmVHcmFudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRHJ5UnVuT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEdyYW50SWRFcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlR3JhbnRDb21tYW5kfVxuICAgKi9cbiAgcmV2b2tlR3JhbnQoXG4gICAgYXJnczogUmV2b2tlR3JhbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXZva2VHcmFudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRHJ5UnVuT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEdyYW50SWRFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlS2V5T25EZW1hbmRDb21tYW5kfVxuICAgKi9cbiAgcm90YXRlS2V5T25EZW1hbmQoXG4gICAgYXJnczogUm90YXRlS2V5T25EZW1hbmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSb3RhdGVLZXlPbkRlbWFuZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNjaGVkdWxlS2V5RGVsZXRpb25Db21tYW5kfVxuICAgKi9cbiAgc2NoZWR1bGVLZXlEZWxldGlvbihcbiAgICBhcmdzOiBTY2hlZHVsZUtleURlbGV0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2NoZWR1bGVLZXlEZWxldGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTaWduQ29tbWFuZH1cbiAgICovXG4gIHNpZ24oXG4gICAgYXJnczogU2lnbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNpZ25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IERpc2FibGVkRXJyb3JcbiAgICB8IERyeVJ1bk9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkR3JhbnRUb2tlbkVycm9yXG4gICAgfCBJbnZhbGlkS2V5VXNhZ2VFcnJvclxuICAgIHwgS2V5VW5hdmFpbGFibGVFcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnUmVzb3VyY2UoXG4gICAgYXJnczogVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBUYWdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS01TSW50ZXJuYWxFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFRhZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFsaWFzKFxuICAgIGFyZ3M6IFVwZGF0ZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlcGVuZGVuY3lUaW1lb3V0RXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQ3VzdG9tS2V5U3RvcmUoXG4gICAgYXJnczogVXBkYXRlQ3VzdG9tS2V5U3RvcmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVDdXN0b21LZXlTdG9yZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2xvdWRIc21DbHVzdGVySW52YWxpZENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgQ2xvdWRIc21DbHVzdGVyTm90QWN0aXZlRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3Rlck5vdEZvdW5kRXJyb3JcbiAgICB8IENsb3VkSHNtQ2x1c3Rlck5vdFJlbGF0ZWRFcnJvclxuICAgIHwgQ3VzdG9tS2V5U3RvcmVJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgQ3VzdG9tS2V5U3RvcmVOYW1lSW5Vc2VFcnJvclxuICAgIHwgQ3VzdG9tS2V5U3RvcmVOb3RGb3VuZEVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBYa3NQcm94eUluY29ycmVjdEF1dGhlbnRpY2F0aW9uQ3JlZGVudGlhbEVycm9yXG4gICAgfCBYa3NQcm94eUludmFsaWRDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IFhrc1Byb3h5SW52YWxpZFJlc3BvbnNlRXJyb3JcbiAgICB8IFhrc1Byb3h5VXJpRW5kcG9pbnRJblVzZUVycm9yXG4gICAgfCBYa3NQcm94eVVyaUluVXNlRXJyb3JcbiAgICB8IFhrc1Byb3h5VXJpVW5yZWFjaGFibGVFcnJvclxuICAgIHwgWGtzUHJveHlWcGNFbmRwb2ludFNlcnZpY2VJblVzZUVycm9yXG4gICAgfCBYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUludmFsaWRDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVLZXlEZXNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVLZXlEZXNjcmlwdGlvbihcbiAgICBhcmdzOiBVcGRhdGVLZXlEZXNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUtleURlc2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZXBlbmRlbmN5VGltZW91dEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVByaW1hcnlSZWdpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUHJpbWFyeVJlZ2lvbihcbiAgICBhcmdzOiBVcGRhdGVQcmltYXJ5UmVnaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUHJpbWFyeVJlZ2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWZXJpZnlDb21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5KFxuICAgIGFyZ3M6IFZlcmlmeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZlcmlmeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVwZW5kZW5jeVRpbWVvdXRFcnJvclxuICAgIHwgRGlzYWJsZWRFcnJvclxuICAgIHwgRHJ5UnVuT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRHcmFudFRva2VuRXJyb3JcbiAgICB8IEludmFsaWRLZXlVc2FnZUVycm9yXG4gICAgfCBLZXlVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBLTVNJbnRlcm5hbEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU2lnbmF0dXJlRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeU1hY0NvbW1hbmR9XG4gICAqL1xuICB2ZXJpZnlNYWMoXG4gICAgYXJnczogVmVyaWZ5TWFjQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmVyaWZ5TWFjQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEaXNhYmxlZEVycm9yXG4gICAgfCBEcnlSdW5PcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZEdyYW50VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZEtleVVzYWdlRXJyb3JcbiAgICB8IEtleVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IEtNU0ludGVybmFsRXJyb3JcbiAgICB8IEtNU0ludmFsaWRNYWNFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VLTVNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oS01TQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBLTVNTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEtNU1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIEtNU1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBLTVNTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcIkBlZmZlY3QtYXdzL2NsaWVudC1rbXMvS01TU2VydmljZVwiKTxcbiAgS01TU2VydmljZSxcbiAgS01TU2VydmljZSRcbj4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QodGhpcywgbWFrZUtNU1NlcnZpY2UpLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShLTVNDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRLTVNDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IEtNU0NsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUtNU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKEtNU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIEtNU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0S01TQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IEtNU0NsaWVudENvbmZpZykgPT4gS01TQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VLTVNTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIEtNU0NsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRLTVNDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIEtNU1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IEtNUyA9IEtNU1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgS01TLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlS01TU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KEtNU1NlcnZpY2UsIG1ha2VLTVNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBLTVMubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgS01TU2VydmljZUxheWVyID0gQmFzZUtNU1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKEtNU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBLTVMuZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRLTVNTZXJ2aWNlTGF5ZXIgPSBLTVNTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
package/lib/esm/Errors.js DELETED
@@ -1,53 +0,0 @@
1
- import { Data } from "effect";
2
- export const AllServiceErrors = [
3
- "AlreadyExistsException",
4
- "CloudHsmClusterInUseException",
5
- "CloudHsmClusterInvalidConfigurationException",
6
- "CloudHsmClusterNotActiveException",
7
- "CloudHsmClusterNotFoundException",
8
- "CloudHsmClusterNotRelatedException",
9
- "ConflictException",
10
- "CustomKeyStoreHasCMKsException",
11
- "CustomKeyStoreInvalidStateException",
12
- "CustomKeyStoreNameInUseException",
13
- "CustomKeyStoreNotFoundException",
14
- "DependencyTimeoutException",
15
- "DisabledException",
16
- "DryRunOperationException",
17
- "ExpiredImportTokenException",
18
- "IncorrectKeyException",
19
- "IncorrectKeyMaterialException",
20
- "IncorrectTrustAnchorException",
21
- "InvalidAliasNameException",
22
- "InvalidArnException",
23
- "InvalidCiphertextException",
24
- "InvalidGrantIdException",
25
- "InvalidGrantTokenException",
26
- "InvalidImportTokenException",
27
- "InvalidKeyUsageException",
28
- "InvalidMarkerException",
29
- "KMSInternalException",
30
- "KMSInvalidMacException",
31
- "KMSInvalidSignatureException",
32
- "KMSInvalidStateException",
33
- "KeyUnavailableException",
34
- "LimitExceededException",
35
- "MalformedPolicyDocumentException",
36
- "NotFoundException",
37
- "TagException",
38
- "UnsupportedOperationException",
39
- "XksKeyAlreadyInUseException",
40
- "XksKeyInvalidConfigurationException",
41
- "XksKeyNotFoundException",
42
- "XksProxyIncorrectAuthenticationCredentialException",
43
- "XksProxyInvalidConfigurationException",
44
- "XksProxyInvalidResponseException",
45
- "XksProxyUriEndpointInUseException",
46
- "XksProxyUriInUseException",
47
- "XksProxyUriUnreachableException",
48
- "XksProxyVpcEndpointServiceInUseException",
49
- "XksProxyVpcEndpointServiceInvalidConfigurationException",
50
- "XksProxyVpcEndpointServiceNotFoundException",
51
- ];
52
- export const SdkError = Data.tagged("SdkError");
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrREEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5Qix3QkFBd0I7SUFDeEIsK0JBQStCO0lBQy9CLDhDQUE4QztJQUM5QyxtQ0FBbUM7SUFDbkMsa0NBQWtDO0lBQ2xDLG9DQUFvQztJQUNwQyxtQkFBbUI7SUFDbkIsZ0NBQWdDO0lBQ2hDLHFDQUFxQztJQUNyQyxrQ0FBa0M7SUFDbEMsaUNBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsd0JBQXdCO0lBQ3hCLGtDQUFrQztJQUNsQyxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFDN0IscUNBQXFDO0lBQ3JDLHlCQUF5QjtJQUN6QixvREFBb0Q7SUFDcEQsdUNBQXVDO0lBQ3ZDLGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsMkJBQTJCO0lBQzNCLGlDQUFpQztJQUNqQywwQ0FBMEM7SUFDMUMseURBQXlEO0lBQ3pELDZDQUE2QztDQUM5QyxDQUFDO0FBcUZGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLFxuICBDbG91ZEhzbUNsdXN0ZXJJblVzZUV4Y2VwdGlvbixcbiAgQ2xvdWRIc21DbHVzdGVySW52YWxpZENvbmZpZ3VyYXRpb25FeGNlcHRpb24sXG4gIENsb3VkSHNtQ2x1c3Rlck5vdEFjdGl2ZUV4Y2VwdGlvbixcbiAgQ2xvdWRIc21DbHVzdGVyTm90Rm91bmRFeGNlcHRpb24sXG4gIENsb3VkSHNtQ2x1c3Rlck5vdFJlbGF0ZWRFeGNlcHRpb24sXG4gIENvbmZsaWN0RXhjZXB0aW9uLFxuICBDdXN0b21LZXlTdG9yZUhhc0NNS3NFeGNlcHRpb24sXG4gIEN1c3RvbUtleVN0b3JlSW52YWxpZFN0YXRlRXhjZXB0aW9uLFxuICBDdXN0b21LZXlTdG9yZU5hbWVJblVzZUV4Y2VwdGlvbixcbiAgQ3VzdG9tS2V5U3RvcmVOb3RGb3VuZEV4Y2VwdGlvbixcbiAgRGVwZW5kZW5jeVRpbWVvdXRFeGNlcHRpb24sXG4gIERpc2FibGVkRXhjZXB0aW9uLFxuICBEcnlSdW5PcGVyYXRpb25FeGNlcHRpb24sXG4gIEV4cGlyZWRJbXBvcnRUb2tlbkV4Y2VwdGlvbixcbiAgSW5jb3JyZWN0S2V5RXhjZXB0aW9uLFxuICBJbmNvcnJlY3RLZXlNYXRlcmlhbEV4Y2VwdGlvbixcbiAgSW5jb3JyZWN0VHJ1c3RBbmNob3JFeGNlcHRpb24sXG4gIEludmFsaWRBbGlhc05hbWVFeGNlcHRpb24sXG4gIEludmFsaWRBcm5FeGNlcHRpb24sXG4gIEludmFsaWRDaXBoZXJ0ZXh0RXhjZXB0aW9uLFxuICBJbnZhbGlkR3JhbnRJZEV4Y2VwdGlvbixcbiAgSW52YWxpZEdyYW50VG9rZW5FeGNlcHRpb24sXG4gIEludmFsaWRJbXBvcnRUb2tlbkV4Y2VwdGlvbixcbiAgSW52YWxpZEtleVVzYWdlRXhjZXB0aW9uLFxuICBJbnZhbGlkTWFya2VyRXhjZXB0aW9uLFxuICBLTVNJbnRlcm5hbEV4Y2VwdGlvbixcbiAgS01TSW52YWxpZE1hY0V4Y2VwdGlvbixcbiAgS01TSW52YWxpZFNpZ25hdHVyZUV4Y2VwdGlvbixcbiAgS01TSW52YWxpZFN0YXRlRXhjZXB0aW9uLFxuICBLZXlVbmF2YWlsYWJsZUV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFeGNlcHRpb24sXG4gIE5vdEZvdW5kRXhjZXB0aW9uLFxuICBUYWdFeGNlcHRpb24sXG4gIFVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uLFxuICBYa3NLZXlBbHJlYWR5SW5Vc2VFeGNlcHRpb24sXG4gIFhrc0tleUludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uLFxuICBYa3NLZXlOb3RGb3VuZEV4Y2VwdGlvbixcbiAgWGtzUHJveHlJbmNvcnJlY3RBdXRoZW50aWNhdGlvbkNyZWRlbnRpYWxFeGNlcHRpb24sXG4gIFhrc1Byb3h5SW52YWxpZENvbmZpZ3VyYXRpb25FeGNlcHRpb24sXG4gIFhrc1Byb3h5SW52YWxpZFJlc3BvbnNlRXhjZXB0aW9uLFxuICBYa3NQcm94eVVyaUVuZHBvaW50SW5Vc2VFeGNlcHRpb24sXG4gIFhrc1Byb3h5VXJpSW5Vc2VFeGNlcHRpb24sXG4gIFhrc1Byb3h5VXJpVW5yZWFjaGFibGVFeGNlcHRpb24sXG4gIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW5Vc2VFeGNlcHRpb24sXG4gIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW52YWxpZENvbmZpZ3VyYXRpb25FeGNlcHRpb24sXG4gIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQta21zXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBbHJlYWR5RXhpc3RzRXhjZXB0aW9uXCIsXG4gIFwiQ2xvdWRIc21DbHVzdGVySW5Vc2VFeGNlcHRpb25cIixcbiAgXCJDbG91ZEhzbUNsdXN0ZXJJbnZhbGlkQ29uZmlndXJhdGlvbkV4Y2VwdGlvblwiLFxuICBcIkNsb3VkSHNtQ2x1c3Rlck5vdEFjdGl2ZUV4Y2VwdGlvblwiLFxuICBcIkNsb3VkSHNtQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiQ2xvdWRIc21DbHVzdGVyTm90UmVsYXRlZEV4Y2VwdGlvblwiLFxuICBcIkNvbmZsaWN0RXhjZXB0aW9uXCIsXG4gIFwiQ3VzdG9tS2V5U3RvcmVIYXNDTUtzRXhjZXB0aW9uXCIsXG4gIFwiQ3VzdG9tS2V5U3RvcmVJbnZhbGlkU3RhdGVFeGNlcHRpb25cIixcbiAgXCJDdXN0b21LZXlTdG9yZU5hbWVJblVzZUV4Y2VwdGlvblwiLFxuICBcIkN1c3RvbUtleVN0b3JlTm90Rm91bmRFeGNlcHRpb25cIixcbiAgXCJEZXBlbmRlbmN5VGltZW91dEV4Y2VwdGlvblwiLFxuICBcIkRpc2FibGVkRXhjZXB0aW9uXCIsXG4gIFwiRHJ5UnVuT3BlcmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiRXhwaXJlZEltcG9ydFRva2VuRXhjZXB0aW9uXCIsXG4gIFwiSW5jb3JyZWN0S2V5RXhjZXB0aW9uXCIsXG4gIFwiSW5jb3JyZWN0S2V5TWF0ZXJpYWxFeGNlcHRpb25cIixcbiAgXCJJbmNvcnJlY3RUcnVzdEFuY2hvckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRBbGlhc05hbWVFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkQXJuRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZENpcGhlcnRleHRFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkR3JhbnRJZEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRHcmFudFRva2VuRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEltcG9ydFRva2VuRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEtleVVzYWdlRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZE1hcmtlckV4Y2VwdGlvblwiLFxuICBcIktNU0ludGVybmFsRXhjZXB0aW9uXCIsXG4gIFwiS01TSW52YWxpZE1hY0V4Y2VwdGlvblwiLFxuICBcIktNU0ludmFsaWRTaWduYXR1cmVFeGNlcHRpb25cIixcbiAgXCJLTVNJbnZhbGlkU3RhdGVFeGNlcHRpb25cIixcbiAgXCJLZXlVbmF2YWlsYWJsZUV4Y2VwdGlvblwiLFxuICBcIkxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEV4Y2VwdGlvblwiLFxuICBcIk5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiVGFnRXhjZXB0aW9uXCIsXG4gIFwiVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb25cIixcbiAgXCJYa3NLZXlBbHJlYWR5SW5Vc2VFeGNlcHRpb25cIixcbiAgXCJYa3NLZXlJbnZhbGlkQ29uZmlndXJhdGlvbkV4Y2VwdGlvblwiLFxuICBcIlhrc0tleU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiWGtzUHJveHlJbmNvcnJlY3RBdXRoZW50aWNhdGlvbkNyZWRlbnRpYWxFeGNlcHRpb25cIixcbiAgXCJYa3NQcm94eUludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiWGtzUHJveHlJbnZhbGlkUmVzcG9uc2VFeGNlcHRpb25cIixcbiAgXCJYa3NQcm94eVVyaUVuZHBvaW50SW5Vc2VFeGNlcHRpb25cIixcbiAgXCJYa3NQcm94eVVyaUluVXNlRXhjZXB0aW9uXCIsXG4gIFwiWGtzUHJveHlVcmlVbnJlYWNoYWJsZUV4Y2VwdGlvblwiLFxuICBcIlhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW5Vc2VFeGNlcHRpb25cIixcbiAgXCJYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiWGtzUHJveHlWcGNFbmRwb2ludFNlcnZpY2VOb3RGb3VuZEV4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWxyZWFkeUV4aXN0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEFscmVhZHlFeGlzdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ2xvdWRIc21DbHVzdGVySW5Vc2VFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDbG91ZEhzbUNsdXN0ZXJJblVzZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDbG91ZEhzbUNsdXN0ZXJJbnZhbGlkQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkSHNtQ2x1c3RlckludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENsb3VkSHNtQ2x1c3Rlck5vdEFjdGl2ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkSHNtQ2x1c3Rlck5vdEFjdGl2ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDbG91ZEhzbUNsdXN0ZXJOb3RGb3VuZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkSHNtQ2x1c3Rlck5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENsb3VkSHNtQ2x1c3Rlck5vdFJlbGF0ZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDbG91ZEhzbUNsdXN0ZXJOb3RSZWxhdGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENvbmZsaWN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Q29uZmxpY3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ3VzdG9tS2V5U3RvcmVIYXNDTUtzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tS2V5U3RvcmVIYXNDTUtzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEN1c3RvbUtleVN0b3JlSW52YWxpZFN0YXRlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tS2V5U3RvcmVJbnZhbGlkU3RhdGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ3VzdG9tS2V5U3RvcmVOYW1lSW5Vc2VFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDdXN0b21LZXlTdG9yZU5hbWVJblVzZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDdXN0b21LZXlTdG9yZU5vdEZvdW5kRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tS2V5U3RvcmVOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBEZXBlbmRlbmN5VGltZW91dEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERlcGVuZGVuY3lUaW1lb3V0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIERpc2FibGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RGlzYWJsZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRHJ5UnVuT3BlcmF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RHJ5UnVuT3BlcmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEV4cGlyZWRJbXBvcnRUb2tlbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEV4cGlyZWRJbXBvcnRUb2tlbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbmNvcnJlY3RLZXlFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbmNvcnJlY3RLZXlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW5jb3JyZWN0S2V5TWF0ZXJpYWxFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbmNvcnJlY3RLZXlNYXRlcmlhbEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbmNvcnJlY3RUcnVzdEFuY2hvckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEluY29ycmVjdFRydXN0QW5jaG9yRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRBbGlhc05hbWVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkQWxpYXNOYW1lRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRBcm5FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkQXJuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRDaXBoZXJ0ZXh0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENpcGhlcnRleHRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZEdyYW50SWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkR3JhbnRJZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkR3JhbnRUb2tlbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRHcmFudFRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRJbXBvcnRUb2tlbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRJbXBvcnRUb2tlbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkS2V5VXNhZ2VFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkS2V5VXNhZ2VFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE1hcmtlckVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRNYXJrZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TSW50ZXJuYWxFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNJbnRlcm5hbEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNJbnZhbGlkTWFjRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TSW52YWxpZE1hY0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNJbnZhbGlkU2lnbmF0dXJlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248S01TSW52YWxpZFNpZ25hdHVyZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNJbnZhbGlkU3RhdGVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNJbnZhbGlkU3RhdGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS2V5VW5hdmFpbGFibGVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLZXlVbmF2YWlsYWJsZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBMaW1pdEV4Y2VlZGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248TGltaXRFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm90Rm91bmRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVGFnRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VGFnRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgWGtzS2V5QWxyZWFkeUluVXNlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248WGtzS2V5QWxyZWFkeUluVXNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc0tleUludmFsaWRDb25maWd1cmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248WGtzS2V5SW52YWxpZENvbmZpZ3VyYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgWGtzS2V5Tm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxYa3NLZXlOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBYa3NQcm94eUluY29ycmVjdEF1dGhlbnRpY2F0aW9uQ3JlZGVudGlhbEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFhrc1Byb3h5SW5jb3JyZWN0QXV0aGVudGljYXRpb25DcmVkZW50aWFsRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5SW52YWxpZENvbmZpZ3VyYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eUludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5SW52YWxpZFJlc3BvbnNlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248WGtzUHJveHlJbnZhbGlkUmVzcG9uc2VFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgWGtzUHJveHlVcmlFbmRwb2ludEluVXNlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248WGtzUHJveHlVcmlFbmRwb2ludEluVXNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5VXJpSW5Vc2VFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eVVyaUluVXNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5VXJpVW5yZWFjaGFibGVFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eVVyaVVucmVhY2hhYmxlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW5Vc2VFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUluVXNlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlSW52YWxpZENvbmZpZ3VyYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZUludmFsaWRDb25maWd1cmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFhrc1Byb3h5VnBjRW5kcG9pbnRTZXJ2aWNlTm90Rm91bmRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxYa3NQcm94eVZwY0VuZHBvaW50U2VydmljZU5vdEZvdW5kRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { KMSClient } from "@aws-sdk/client-kms";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultKMSClientConfigLayer, KMSClientInstanceConfig, } from "./KMSClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class KMSClientInstance extends Context.Tag("@effect-aws/client-kms/KMSClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeKMSClientInstance = Effect.flatMap(KMSClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new KMSClient(config)), (client) => Effect.sync(() => client.destroy())));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const KMSClientInstanceLayer = Layer.scoped(KMSClientInstance, makeKMSClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultKMSClientInstanceLayer = KMSClientInstanceLayer.pipe(Layer.provide(DefaultKMSClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS01TQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvS01TQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHVCQUF1QixHQUN4QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCx1QkFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQixxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FDdEUsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgS01TQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1rbXNcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRLTVNDbGllbnRDb25maWdMYXllcixcbiAgS01TQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL0tNU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgS01TQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQta21zL0tNU0NsaWVudEluc3RhbmNlXCIsXG4pPEtNU0NsaWVudEluc3RhbmNlLCBLTVNDbGllbnQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VLTVNDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBLTVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgS01TQ2xpZW50KGNvbmZpZykpLFxuICAgICAgKGNsaWVudCkgPT4gRWZmZWN0LnN5bmMoKCkgPT4gY2xpZW50LmRlc3Ryb3koKSksXG4gICAgKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBLTVNDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBLTVNDbGllbnRJbnN0YW5jZSxcbiAgbWFrZUtNU0NsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRLTVNDbGllbnRJbnN0YW5jZUxheWVyID0gS01TQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRLTVNDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
@@ -1,40 +0,0 @@
1
- import { Context, Effect, Layer, Runtime } from "effect";
2
- /**
3
- * @since 1.0.0
4
- * @category tags
5
- */
6
- export class KMSClientInstanceConfig extends Context.Tag("@effect-aws/client-kms/KMSClientInstanceConfig")() {
7
- }
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const makeDefaultKMSClientInstanceConfig = Effect.gen(function* (_) {
13
- const runtime = yield* _(Effect.runtime());
14
- const runSync = Runtime.runSync(runtime);
15
- return {
16
- logger: {
17
- info(m) {
18
- Effect.logInfo(m).pipe(runSync);
19
- },
20
- warn(m) {
21
- Effect.logWarning(m).pipe(runSync);
22
- },
23
- error(m) {
24
- Effect.logError(m).pipe(runSync);
25
- },
26
- debug(m) {
27
- Effect.logDebug(m).pipe(runSync);
28
- },
29
- trace(m) {
30
- Effect.logTrace(m).pipe(runSync);
31
- },
32
- },
33
- };
34
- });
35
- /**
36
- * @since 1.0.0
37
- * @category layers
38
- */
39
- export const DefaultKMSClientConfigLayer = Layer.effect(KMSClientInstanceConfig, makeDefaultKMSClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS01TQ2xpZW50SW5zdGFuY2VDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvS01TQ2xpZW50SW5zdGFuY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV6RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDdEQsZ0RBQWdELENBQ2pELEVBQTRDO0NBQUc7QUFFaEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBUyxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3JELHVCQUF1QixFQUN2QixrQ0FBa0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB0eXBlIHsgS01TQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1rbXNcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgS01TQ2xpZW50SW5zdGFuY2VDb25maWcgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQta21zL0tNU0NsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPEtNU0NsaWVudEluc3RhbmNlQ29uZmlnLCBLTVNDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0S01TQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8S01TQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nSW5mbyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB3YXJuKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nV2FybmluZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRGVidWcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2UobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dUcmFjZShtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRLTVNDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgS01TQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0S01TQ2xpZW50SW5zdGFuY2VDb25maWcsXG4pO1xuIl19