@effect-aws/client-bedrock 1.3.0 → 1.9.3

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 (69) hide show
  1. package/BedrockClientInstance/package.json +6 -0
  2. package/BedrockService/package.json +6 -0
  3. package/BedrockServiceConfig/package.json +6 -0
  4. package/Errors/package.json +6 -0
  5. package/dist/cjs/BedrockClientInstance.d.ts +24 -0
  6. package/dist/cjs/BedrockClientInstance.d.ts.map +1 -0
  7. package/dist/cjs/BedrockClientInstance.js +50 -0
  8. package/dist/cjs/BedrockClientInstance.js.map +1 -0
  9. package/dist/cjs/BedrockService.d.ts +277 -0
  10. package/dist/cjs/BedrockService.d.ts.map +1 -0
  11. package/dist/cjs/BedrockService.js +118 -0
  12. package/dist/cjs/BedrockService.js.map +1 -0
  13. package/dist/cjs/BedrockServiceConfig.d.ts +25 -0
  14. package/dist/cjs/BedrockServiceConfig.d.ts.map +1 -0
  15. package/dist/cjs/BedrockServiceConfig.js +35 -0
  16. package/dist/cjs/BedrockServiceConfig.js.map +1 -0
  17. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  18. package/dist/cjs/Errors.d.ts.map +1 -0
  19. package/dist/cjs/Errors.js +17 -0
  20. package/dist/cjs/Errors.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/BedrockClientInstance.d.ts +24 -0
  26. package/dist/dts/BedrockClientInstance.d.ts.map +1 -0
  27. package/dist/dts/BedrockService.d.ts +277 -0
  28. package/dist/dts/BedrockService.d.ts.map +1 -0
  29. package/dist/dts/BedrockServiceConfig.d.ts +25 -0
  30. package/dist/dts/BedrockServiceConfig.d.ts.map +1 -0
  31. package/dist/dts/Errors.d.ts +16 -0
  32. package/dist/dts/Errors.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/BedrockClientInstance.js +23 -0
  36. package/dist/esm/BedrockClientInstance.js.map +1 -0
  37. package/dist/esm/BedrockService.js +91 -0
  38. package/dist/esm/BedrockService.js.map +1 -0
  39. package/dist/esm/BedrockServiceConfig.js +31 -0
  40. package/dist/esm/BedrockServiceConfig.js.map +1 -0
  41. package/dist/esm/Errors.js +14 -0
  42. package/dist/esm/Errors.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/BedrockClientInstance.ts +33 -0
  48. package/src/BedrockService.ts +1133 -0
  49. package/src/BedrockServiceConfig.ts +52 -0
  50. package/src/Errors.ts +38 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -25
  53. package/docgen.json +0 -8
  54. package/lib/BedrockClientInstance.d.ts +0 -31
  55. package/lib/BedrockClientInstance.js +0 -57
  56. package/lib/BedrockClientInstanceConfig.d.ts +0 -23
  57. package/lib/BedrockClientInstanceConfig.js +0 -44
  58. package/lib/BedrockService.d.ts +0 -350
  59. package/lib/BedrockService.js +0 -145
  60. package/lib/Errors.js +0 -17
  61. package/lib/esm/BedrockClientInstance.js +0 -30
  62. package/lib/esm/BedrockClientInstanceConfig.js +0 -40
  63. package/lib/esm/BedrockService.js +0 -141
  64. package/lib/esm/Errors.js +0 -14
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
@@ -1,145 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultBedrockServiceLayer = exports.BedrockServiceLayer = exports.BaseBedrockServiceLayer = exports.Bedrock = exports.BedrockService = exports.makeBedrockService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_bedrock_1 = require("@aws-sdk/client-bedrock");
9
- const effect_1 = require("effect");
10
- const BedrockClientInstance_1 = require("./BedrockClientInstance");
11
- const BedrockClientInstanceConfig_1 = require("./BedrockClientInstanceConfig");
12
- const Errors_1 = require("./Errors");
13
- const commands = {
14
- BatchDeleteEvaluationJobCommand: client_bedrock_1.BatchDeleteEvaluationJobCommand,
15
- CreateEvaluationJobCommand: client_bedrock_1.CreateEvaluationJobCommand,
16
- CreateGuardrailCommand: client_bedrock_1.CreateGuardrailCommand,
17
- CreateGuardrailVersionCommand: client_bedrock_1.CreateGuardrailVersionCommand,
18
- CreateInferenceProfileCommand: client_bedrock_1.CreateInferenceProfileCommand,
19
- CreateMarketplaceModelEndpointCommand: client_bedrock_1.CreateMarketplaceModelEndpointCommand,
20
- CreateModelCopyJobCommand: client_bedrock_1.CreateModelCopyJobCommand,
21
- CreateModelCustomizationJobCommand: client_bedrock_1.CreateModelCustomizationJobCommand,
22
- CreateModelImportJobCommand: client_bedrock_1.CreateModelImportJobCommand,
23
- CreateModelInvocationJobCommand: client_bedrock_1.CreateModelInvocationJobCommand,
24
- CreateProvisionedModelThroughputCommand: client_bedrock_1.CreateProvisionedModelThroughputCommand,
25
- DeleteCustomModelCommand: client_bedrock_1.DeleteCustomModelCommand,
26
- DeleteGuardrailCommand: client_bedrock_1.DeleteGuardrailCommand,
27
- DeleteImportedModelCommand: client_bedrock_1.DeleteImportedModelCommand,
28
- DeleteInferenceProfileCommand: client_bedrock_1.DeleteInferenceProfileCommand,
29
- DeleteMarketplaceModelEndpointCommand: client_bedrock_1.DeleteMarketplaceModelEndpointCommand,
30
- DeleteModelInvocationLoggingConfigurationCommand: client_bedrock_1.DeleteModelInvocationLoggingConfigurationCommand,
31
- DeleteProvisionedModelThroughputCommand: client_bedrock_1.DeleteProvisionedModelThroughputCommand,
32
- DeregisterMarketplaceModelEndpointCommand: client_bedrock_1.DeregisterMarketplaceModelEndpointCommand,
33
- GetCustomModelCommand: client_bedrock_1.GetCustomModelCommand,
34
- GetEvaluationJobCommand: client_bedrock_1.GetEvaluationJobCommand,
35
- GetFoundationModelCommand: client_bedrock_1.GetFoundationModelCommand,
36
- GetGuardrailCommand: client_bedrock_1.GetGuardrailCommand,
37
- GetImportedModelCommand: client_bedrock_1.GetImportedModelCommand,
38
- GetInferenceProfileCommand: client_bedrock_1.GetInferenceProfileCommand,
39
- GetMarketplaceModelEndpointCommand: client_bedrock_1.GetMarketplaceModelEndpointCommand,
40
- GetModelCopyJobCommand: client_bedrock_1.GetModelCopyJobCommand,
41
- GetModelCustomizationJobCommand: client_bedrock_1.GetModelCustomizationJobCommand,
42
- GetModelImportJobCommand: client_bedrock_1.GetModelImportJobCommand,
43
- GetModelInvocationJobCommand: client_bedrock_1.GetModelInvocationJobCommand,
44
- GetModelInvocationLoggingConfigurationCommand: client_bedrock_1.GetModelInvocationLoggingConfigurationCommand,
45
- GetPromptRouterCommand: client_bedrock_1.GetPromptRouterCommand,
46
- GetProvisionedModelThroughputCommand: client_bedrock_1.GetProvisionedModelThroughputCommand,
47
- ListCustomModelsCommand: client_bedrock_1.ListCustomModelsCommand,
48
- ListEvaluationJobsCommand: client_bedrock_1.ListEvaluationJobsCommand,
49
- ListFoundationModelsCommand: client_bedrock_1.ListFoundationModelsCommand,
50
- ListGuardrailsCommand: client_bedrock_1.ListGuardrailsCommand,
51
- ListImportedModelsCommand: client_bedrock_1.ListImportedModelsCommand,
52
- ListInferenceProfilesCommand: client_bedrock_1.ListInferenceProfilesCommand,
53
- ListMarketplaceModelEndpointsCommand: client_bedrock_1.ListMarketplaceModelEndpointsCommand,
54
- ListModelCopyJobsCommand: client_bedrock_1.ListModelCopyJobsCommand,
55
- ListModelCustomizationJobsCommand: client_bedrock_1.ListModelCustomizationJobsCommand,
56
- ListModelImportJobsCommand: client_bedrock_1.ListModelImportJobsCommand,
57
- ListModelInvocationJobsCommand: client_bedrock_1.ListModelInvocationJobsCommand,
58
- ListPromptRoutersCommand: client_bedrock_1.ListPromptRoutersCommand,
59
- ListProvisionedModelThroughputsCommand: client_bedrock_1.ListProvisionedModelThroughputsCommand,
60
- ListTagsForResourceCommand: client_bedrock_1.ListTagsForResourceCommand,
61
- PutModelInvocationLoggingConfigurationCommand: client_bedrock_1.PutModelInvocationLoggingConfigurationCommand,
62
- RegisterMarketplaceModelEndpointCommand: client_bedrock_1.RegisterMarketplaceModelEndpointCommand,
63
- StopEvaluationJobCommand: client_bedrock_1.StopEvaluationJobCommand,
64
- StopModelCustomizationJobCommand: client_bedrock_1.StopModelCustomizationJobCommand,
65
- StopModelInvocationJobCommand: client_bedrock_1.StopModelInvocationJobCommand,
66
- TagResourceCommand: client_bedrock_1.TagResourceCommand,
67
- UntagResourceCommand: client_bedrock_1.UntagResourceCommand,
68
- UpdateGuardrailCommand: client_bedrock_1.UpdateGuardrailCommand,
69
- UpdateMarketplaceModelEndpointCommand: client_bedrock_1.UpdateMarketplaceModelEndpointCommand,
70
- UpdateProvisionedModelThroughputCommand: client_bedrock_1.UpdateProvisionedModelThroughputCommand,
71
- };
72
- /**
73
- * @since 1.0.0
74
- * @category constructors
75
- */
76
- exports.makeBedrockService = effect_1.Effect.gen(function* (_) {
77
- const client = yield* _(BedrockClientInstance_1.BedrockClientInstance);
78
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
79
- const CommandCtor = commands[command];
80
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
81
- try: (abortSignal) => client.send(new CommandCtor(args), {
82
- ...(options !== null && options !== void 0 ? options : {}),
83
- abortSignal,
84
- }),
85
- catch: (e) => {
86
- if (e instanceof client_bedrock_1.BedrockServiceException &&
87
- Errors_1.AllServiceErrors.includes(e.name)) {
88
- const ServiceException = effect_1.Data.tagged(e.name);
89
- return ServiceException({
90
- ...e,
91
- message: e.message,
92
- stack: e.stack,
93
- });
94
- }
95
- if (e instanceof Error) {
96
- return (0, Errors_1.SdkError)({
97
- ...e,
98
- name: "SdkError",
99
- message: e.message,
100
- stack: e.stack,
101
- });
102
- }
103
- throw e;
104
- },
105
- });
106
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
107
- return { ...acc, [methodName]: methodImpl };
108
- }, {});
109
- });
110
- /**
111
- * @since 1.0.0
112
- * @category models
113
- */
114
- class BedrockService extends effect_1.Effect.Tag("@effect-aws/client-bedrock/BedrockService")() {
115
- }
116
- exports.BedrockService = BedrockService;
117
- _a = BedrockService;
118
- BedrockService.defaultLayer = effect_1.Layer.effect(_a, exports.makeBedrockService).pipe(effect_1.Layer.provide(BedrockClientInstance_1.BedrockClientInstanceLayer), effect_1.Layer.provide(BedrockClientInstanceConfig_1.DefaultBedrockClientConfigLayer));
119
- BedrockService.layer = (config) => effect_1.Layer.effect(_a, exports.makeBedrockService).pipe(effect_1.Layer.provide(BedrockClientInstance_1.BedrockClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(BedrockClientInstanceConfig_1.BedrockClientInstanceConfig, BedrockClientInstanceConfig_1.makeDefaultBedrockClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
120
- BedrockService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeBedrockService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(BedrockClientInstance_1.BedrockClientInstance, effect_1.Effect.map(BedrockClientInstanceConfig_1.makeDefaultBedrockClientInstanceConfig, evaluate))));
121
- /**
122
- * @since 1.0.0
123
- * @category models
124
- * @alias BedrockService
125
- */
126
- exports.Bedrock = BedrockService;
127
- /**
128
- * @since 1.0.0
129
- * @category layers
130
- * @deprecated use Bedrock.baseLayer instead
131
- */
132
- exports.BaseBedrockServiceLayer = effect_1.Layer.effect(BedrockService, exports.makeBedrockService);
133
- /**
134
- * @since 1.0.0
135
- * @category layers
136
- * @deprecated use Bedrock.layer instead
137
- */
138
- exports.BedrockServiceLayer = exports.BaseBedrockServiceLayer.pipe(effect_1.Layer.provide(BedrockClientInstance_1.BedrockClientInstanceLayer));
139
- /**
140
- * @since 1.0.0
141
- * @category layers
142
- * @deprecated use Bedrock.defaultLayer instead
143
- */
144
- exports.DefaultBedrockServiceLayer = BedrockService.defaultLayer;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmVkcm9ja1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQmVkcm9ja1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztHQUVHO0FBQ0gsNERBK0tpQztBQUNqQyxtQ0FBcUQ7QUFDckQsbUVBR2lDO0FBQ2pDLCtFQUl1QztBQUN2QyxxQ0Fha0I7QUFhbEIsTUFBTSxRQUFRLEdBQUc7SUFDZiwrQkFBK0IsRUFBL0IsZ0RBQStCO0lBQy9CLDBCQUEwQixFQUExQiwyQ0FBMEI7SUFDMUIsc0JBQXNCLEVBQXRCLHVDQUFzQjtJQUN0Qiw2QkFBNkIsRUFBN0IsOENBQTZCO0lBQzdCLDZCQUE2QixFQUE3Qiw4Q0FBNkI7SUFDN0IscUNBQXFDLEVBQXJDLHNEQUFxQztJQUNyQyx5QkFBeUIsRUFBekIsMENBQXlCO0lBQ3pCLGtDQUFrQyxFQUFsQyxtREFBa0M7SUFDbEMsMkJBQTJCLEVBQTNCLDRDQUEyQjtJQUMzQiwrQkFBK0IsRUFBL0IsZ0RBQStCO0lBQy9CLHVDQUF1QyxFQUF2Qyx3REFBdUM7SUFDdkMsd0JBQXdCLEVBQXhCLHlDQUF3QjtJQUN4QixzQkFBc0IsRUFBdEIsdUNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQiwyQ0FBMEI7SUFDMUIsNkJBQTZCLEVBQTdCLDhDQUE2QjtJQUM3QixxQ0FBcUMsRUFBckMsc0RBQXFDO0lBQ3JDLGdEQUFnRCxFQUFoRCxpRUFBZ0Q7SUFDaEQsdUNBQXVDLEVBQXZDLHdEQUF1QztJQUN2Qyx5Q0FBeUMsRUFBekMsMERBQXlDO0lBQ3pDLHFCQUFxQixFQUFyQixzQ0FBcUI7SUFDckIsdUJBQXVCLEVBQXZCLHdDQUF1QjtJQUN2Qix5QkFBeUIsRUFBekIsMENBQXlCO0lBQ3pCLG1CQUFtQixFQUFuQixvQ0FBbUI7SUFDbkIsdUJBQXVCLEVBQXZCLHdDQUF1QjtJQUN2QiwwQkFBMEIsRUFBMUIsMkNBQTBCO0lBQzFCLGtDQUFrQyxFQUFsQyxtREFBa0M7SUFDbEMs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LE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSx3QkFBUyxHQUFHLENBQzFCLFFBQStELEVBQy9ELEVBQUUsQ0FDRixjQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSwwQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDekMsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLDZDQUFxQixFQUNyQixlQUFNLENBQUMsR0FBRyxDQUFDLG9FQUFzQyxFQUFFLFFBQVEsQ0FBQyxDQUM3RCxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsY0FBYyxDQUFDO0FBRXRDOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQ2pELGNBQWMsRUFDZCwwQkFBa0IsQ0FDbkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLCtCQUF1QixDQUFDLElBQUksQ0FDN0QsY0FBSyxDQUFDLE9BQU8sQ0FBQyxrREFBMEIsQ0FBQyxDQUMxQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIEJlZHJvY2tTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIEJlZHJvY2tDbGllbnQsXG4gIHR5cGUgQmVkcm9ja0NsaWVudENvbmZpZyxcbiAgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iQ29tbWFuZCxcbiAgdHlwZSBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRXZhbHVhdGlvbkpvYkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRXZhbHVhdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR3VhcmRyYWlsQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVHdWFyZHJhaWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVNb2RlbENvcHlKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTW9kZWxJbXBvcnRKb2JDb21tYW5kLFxuICB0eXBlIENyZWF0ZU1vZGVsSW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU1vZGVsSW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ3VzdG9tTW9kZWxDb21tYW5kLFxuICB0eXBlIERlbGV0ZUN1c3RvbU1vZGVsQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUN1c3RvbU1vZGVsQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR3VhcmRyYWlsQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVHdWFyZHJhaWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW1wb3J0ZWRNb2RlbENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW1wb3J0ZWRNb2RlbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbXBvcnRlZE1vZGVsQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbmZlcmVuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgR2V0Q3VzdG9tTW9kZWxDb21tYW5kLFxuICB0eXBlIEdldEN1c3RvbU1vZGVsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEN1c3RvbU1vZGVsQ29tbWFuZE91dHB1dCxcbiAgR2V0RXZhbHVhdGlvbkpvYkNvbW1hbmQsXG4gIHR5cGUgR2V0RXZhbHVhdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRFdmFsdWF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgR2V0Rm91bmRhdGlvbk1vZGVsQ29tbWFuZCxcbiAgdHlwZSBHZXRGb3VuZGF0aW9uTW9kZWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Rm91bmRhdGlvbk1vZGVsQ29tbWFuZE91dHB1dCxcbiAgR2V0R3VhcmRyYWlsQ29tbWFuZCxcbiAgdHlwZSBHZXRHdWFyZHJhaWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0R3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgR2V0SW1wb3J0ZWRNb2RlbENvbW1hbmQsXG4gIHR5cGUgR2V0SW1wb3J0ZWRNb2RlbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJbXBvcnRlZE1vZGVsQ29tbWFuZE91dHB1dCxcbiAgR2V0SW5mZXJlbmNlUHJvZmlsZUNvbW1hbmQsXG4gIHR5cGUgR2V0SW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJbmZlcmVuY2VQcm9maWxlQ29tbWFuZE91dHB1dCxcbiAgR2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgR2V0TW9kZWxDb3B5Sm9iQ29tbWFuZCxcbiAgdHlwZSBHZXRNb2RlbENvcHlKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TW9kZWxDb3B5Sm9iQ29tbWFuZE91dHB1dCxcbiAgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZCxcbiAgdHlwZSBHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgR2V0TW9kZWxJbXBvcnRKb2JDb21tYW5kLFxuICB0eXBlIEdldE1vZGVsSW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE1vZGVsSW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgR2V0TW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZCxcbiAgdHlwZSBHZXRNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UHJvbXB0Um91dGVyQ29tbWFuZCxcbiAgdHlwZSBHZXRQcm9tcHRSb3V0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UHJvbXB0Um91dGVyQ29tbWFuZE91dHB1dCxcbiAgR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICB0eXBlIEdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZE91dHB1dCxcbiAgTGlzdEN1c3RvbU1vZGVsc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEN1c3RvbU1vZGVsc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Q3VzdG9tTW9kZWxzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEV2YWx1YXRpb25Kb2JzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RXZhbHVhdGlvbkpvYnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEV2YWx1YXRpb25Kb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEZvdW5kYXRpb25Nb2RlbHNDb21tYW5kLFxuICB0eXBlIExpc3RGb3VuZGF0aW9uTW9kZWxzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RGb3VuZGF0aW9uTW9kZWxzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEd1YXJkcmFpbHNDb21tYW5kLFxuICB0eXBlIExpc3RHdWFyZHJhaWxzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RHdWFyZHJhaWxzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEltcG9ydGVkTW9kZWxzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SW1wb3J0ZWRNb2RlbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEltcG9ydGVkTW9kZWxzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEluZmVyZW5jZVByb2ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SW5mZXJlbmNlUHJvZmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluZmVyZW5jZVByb2ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHNDb21tYW5kLFxuICB0eXBlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1vZGVsQ29weUpvYnNDb21tYW5kLFxuICB0eXBlIExpc3RNb2RlbENvcHlKb2JzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNb2RlbENvcHlKb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnNDb21tYW5kLFxuICB0eXBlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1vZGVsSW1wb3J0Sm9ic0NvbW1hbmQsXG4gIHR5cGUgTGlzdE1vZGVsSW1wb3J0Sm9ic0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TW9kZWxJbXBvcnRKb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1vZGVsSW52b2NhdGlvbkpvYnNDb21tYW5kLFxuICB0eXBlIExpc3RNb2RlbEludm9jYXRpb25Kb2JzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNb2RlbEludm9jYXRpb25Kb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFByb21wdFJvdXRlcnNDb21tYW5kLFxuICB0eXBlIExpc3RQcm9tcHRSb3V0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQcm9tcHRSb3V0ZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgU3RvcEV2YWx1YXRpb25Kb2JDb21tYW5kLFxuICB0eXBlIFN0b3BFdmFsdWF0aW9uSm9iQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BFdmFsdWF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmQsXG4gIHR5cGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgU3RvcE1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmQsXG4gIHR5cGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wTW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlR3VhcmRyYWlsQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVHdWFyZHJhaWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlR3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1iZWRyb2NrXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBCZWRyb2NrQ2xpZW50SW5zdGFuY2UsXG4gIEJlZHJvY2tDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9CZWRyb2NrQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRCZWRyb2NrQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0QmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBCZWRyb2NrQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL0JlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWNjZXNzRGVuaWVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgU2VydmljZVVuYXZhaWxhYmxlRXJyb3IsXG4gIFRocm90dGxpbmdFcnJvcixcbiAgVG9vTWFueVRhZ3NFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JDb21tYW5kLFxuICBDcmVhdGVFdmFsdWF0aW9uSm9iQ29tbWFuZCxcbiAgQ3JlYXRlR3VhcmRyYWlsQ29tbWFuZCxcbiAgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbkNvbW1hbmQsXG4gIENyZWF0ZUluZmVyZW5jZVByb2ZpbGVDb21tYW5kLFxuICBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVNb2RlbENvcHlKb2JDb21tYW5kLFxuICBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kLFxuICBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbW1hbmQsXG4gIENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmQsXG4gIENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZCxcbiAgRGVsZXRlQ3VzdG9tTW9kZWxDb21tYW5kLFxuICBEZWxldGVHdWFyZHJhaWxDb21tYW5kLFxuICBEZWxldGVJbXBvcnRlZE1vZGVsQ29tbWFuZCxcbiAgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmQsXG4gIERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgR2V0Q3VzdG9tTW9kZWxDb21tYW5kLFxuICBHZXRFdmFsdWF0aW9uSm9iQ29tbWFuZCxcbiAgR2V0Rm91bmRhdGlvbk1vZGVsQ29tbWFuZCxcbiAgR2V0R3VhcmRyYWlsQ29tbWFuZCxcbiAgR2V0SW1wb3J0ZWRNb2RlbENvbW1hbmQsXG4gIEdldEluZmVyZW5jZVByb2ZpbGVDb21tYW5kLFxuICBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kLFxuICBHZXRNb2RlbENvcHlKb2JDb21tYW5kLFxuICBHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kLFxuICBHZXRNb2RlbEltcG9ydEpvYkNvbW1hbmQsXG4gIEdldE1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmQsXG4gIEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0UHJvbXB0Um91dGVyQ29tbWFuZCxcbiAgR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kLFxuICBMaXN0Q3VzdG9tTW9kZWxzQ29tbWFuZCxcbiAgTGlzdEV2YWx1YXRpb25Kb2JzQ29tbWFuZCxcbiAgTGlzdEZvdW5kYXRpb25Nb2RlbHNDb21tYW5kLFxuICBMaXN0R3VhcmRyYWlsc0NvbW1hbmQsXG4gIExpc3RJbXBvcnRlZE1vZGVsc0NvbW1hbmQsXG4gIExpc3RJbmZlcmVuY2VQcm9maWxlc0NvbW1hbmQsXG4gIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzQ29tbWFuZCxcbiAgTGlzdE1vZGVsQ29weUpvYnNDb21tYW5kLFxuICBMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9ic0NvbW1hbmQsXG4gIExpc3RNb2RlbEltcG9ydEpvYnNDb21tYW5kLFxuICBMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic0NvbW1hbmQsXG4gIExpc3RQcm9tcHRSb3V0ZXJzQ29tbWFuZCxcbiAgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZCxcbiAgU3RvcEV2YWx1YXRpb25Kb2JDb21tYW5kLFxuICBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZCxcbiAgU3RvcE1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZUd1YXJkcmFpbENvbW1hbmQsXG4gIFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmQsXG4gIFVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBCZWRyb2NrU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JDb21tYW5kfVxuICAgKi9cbiAgYmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iKFxuICAgIGFyZ3M6IEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlRXZhbHVhdGlvbkpvYkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVFdmFsdWF0aW9uSm9iKFxuICAgIGFyZ3M6IENyZWF0ZUV2YWx1YXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVFdmFsdWF0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHdWFyZHJhaWxDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR3VhcmRyYWlsKFxuICAgIGFyZ3M6IENyZWF0ZUd1YXJkcmFpbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUd1YXJkcmFpbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVHdWFyZHJhaWxWZXJzaW9uKFxuICAgIGFyZ3M6IENyZWF0ZUd1YXJkcmFpbFZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVJbmZlcmVuY2VQcm9maWxlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUluZmVyZW5jZVByb2ZpbGUoXG4gICAgYXJnczogQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUluZmVyZW5jZVByb2ZpbGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNb2RlbENvcHlKb2JDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTW9kZWxDb3B5Sm9iKFxuICAgIGFyZ3M6IENyZWF0ZU1vZGVsQ29weUpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU1vZGVsQ29weUpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iKFxuICAgIGFyZ3M6IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTW9kZWxJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTW9kZWxJbXBvcnRKb2IoXG4gICAgYXJnczogQ3JlYXRlTW9kZWxJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYihcbiAgICBhcmdzOiBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0KFxuICAgIGFyZ3M6IENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUN1c3RvbU1vZGVsQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUN1c3RvbU1vZGVsKFxuICAgIGFyZ3M6IERlbGV0ZUN1c3RvbU1vZGVsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ3VzdG9tTW9kZWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUd1YXJkcmFpbENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVHdWFyZHJhaWwoXG4gICAgYXJnczogRGVsZXRlR3VhcmRyYWlsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVJbXBvcnRlZE1vZGVsQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUltcG9ydGVkTW9kZWwoXG4gICAgYXJnczogRGVsZXRlSW1wb3J0ZWRNb2RlbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUltcG9ydGVkTW9kZWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUluZmVyZW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5mZXJlbmNlUHJvZmlsZShcbiAgICBhcmdzOiBEZWxldGVJbmZlcmVuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcbiAgICBhcmdzOiBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0KFxuICAgIGFyZ3M6IERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcbiAgICBhcmdzOiBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEN1c3RvbU1vZGVsQ29tbWFuZH1cbiAgICovXG4gIGdldEN1c3RvbU1vZGVsKFxuICAgIGFyZ3M6IEdldEN1c3RvbU1vZGVsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0Q3VzdG9tTW9kZWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEV2YWx1YXRpb25Kb2JDb21tYW5kfVxuICAgKi9cbiAgZ2V0RXZhbHVhdGlvbkpvYihcbiAgICBhcmdzOiBHZXRFdmFsdWF0aW9uSm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RXZhbHVhdGlvbkpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Rm91bmRhdGlvbk1vZGVsQ29tbWFuZH1cbiAgICovXG4gIGdldEZvdW5kYXRpb25Nb2RlbChcbiAgICBhcmdzOiBHZXRGb3VuZGF0aW9uTW9kZWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRGb3VuZGF0aW9uTW9kZWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEd1YXJkcmFpbENvbW1hbmR9XG4gICAqL1xuICBnZXRHdWFyZHJhaWwoXG4gICAgYXJnczogR2V0R3VhcmRyYWlsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0R3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRJbXBvcnRlZE1vZGVsQ29tbWFuZH1cbiAgICovXG4gIGdldEltcG9ydGVkTW9kZWwoXG4gICAgYXJnczogR2V0SW1wb3J0ZWRNb2RlbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEltcG9ydGVkTW9kZWxDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEluZmVyZW5jZVByb2ZpbGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0SW5mZXJlbmNlUHJvZmlsZShcbiAgICBhcmdzOiBHZXRJbmZlcmVuY2VQcm9maWxlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0SW5mZXJlbmNlUHJvZmlsZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludChcbiAgICBhcmdzOiBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE1vZGVsQ29weUpvYkNvbW1hbmR9XG4gICAqL1xuICBnZXRNb2RlbENvcHlKb2IoXG4gICAgYXJnczogR2V0TW9kZWxDb3B5Sm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TW9kZWxDb3B5Sm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kfVxuICAgKi9cbiAgZ2V0TW9kZWxDdXN0b21pemF0aW9uSm9iKFxuICAgIGFyZ3M6IEdldE1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TW9kZWxJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgZ2V0TW9kZWxJbXBvcnRKb2IoXG4gICAgYXJnczogR2V0TW9kZWxJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNb2RlbEltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZH1cbiAgICovXG4gIGdldE1vZGVsSW52b2NhdGlvbkpvYihcbiAgICBhcmdzOiBHZXRNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFByb21wdFJvdXRlckNvbW1hbmR9XG4gICAqL1xuICBnZXRQcm9tcHRSb3V0ZXIoXG4gICAgYXJnczogR2V0UHJvbXB0Um91dGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UHJvbXB0Um91dGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbW1hbmR9XG4gICAqL1xuICBnZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dChcbiAgICBhcmdzOiBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Q3VzdG9tTW9kZWxzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RDdXN0b21Nb2RlbHMoXG4gICAgYXJnczogTGlzdEN1c3RvbU1vZGVsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RDdXN0b21Nb2RlbHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RXZhbHVhdGlvbkpvYnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEV2YWx1YXRpb25Kb2JzKFxuICAgIGFyZ3M6IExpc3RFdmFsdWF0aW9uSm9ic0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RFdmFsdWF0aW9uSm9ic0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RGb3VuZGF0aW9uTW9kZWxzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RGb3VuZGF0aW9uTW9kZWxzKFxuICAgIGFyZ3M6IExpc3RGb3VuZGF0aW9uTW9kZWxzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEZvdW5kYXRpb25Nb2RlbHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0R3VhcmRyYWlsc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3VhcmRyYWlscyhcbiAgICBhcmdzOiBMaXN0R3VhcmRyYWlsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RHdWFyZHJhaWxzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0SW1wb3J0ZWRNb2RlbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEltcG9ydGVkTW9kZWxzKFxuICAgIGFyZ3M6IExpc3RJbXBvcnRlZE1vZGVsc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RJbXBvcnRlZE1vZGVsc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RJbmZlcmVuY2VQcm9maWxlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0SW5mZXJlbmNlUHJvZmlsZXMoXG4gICAgYXJnczogTGlzdEluZmVyZW5jZVByb2ZpbGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEluZmVyZW5jZVByb2ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMoXG4gICAgYXJnczogTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1vZGVsQ29weUpvYnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1vZGVsQ29weUpvYnMoXG4gICAgYXJnczogTGlzdE1vZGVsQ29weUpvYnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TW9kZWxDb3B5Sm9ic0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMoXG4gICAgYXJnczogTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9ic0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNb2RlbEltcG9ydEpvYnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1vZGVsSW1wb3J0Sm9icyhcbiAgICBhcmdzOiBMaXN0TW9kZWxJbXBvcnRKb2JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1vZGVsSW1wb3J0Sm9ic0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNb2RlbEludm9jYXRpb25Kb2JzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNb2RlbEludm9jYXRpb25Kb2JzKFxuICAgIGFyZ3M6IExpc3RNb2RlbEludm9jYXRpb25Kb2JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1vZGVsSW52b2NhdGlvbkpvYnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UHJvbXB0Um91dGVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UHJvbXB0Um91dGVycyhcbiAgICBhcmdzOiBMaXN0UHJvbXB0Um91dGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQcm9tcHRSb3V0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzKFxuICAgIGFyZ3M6IExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQoXG4gICAgYXJnczogUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BFdmFsdWF0aW9uSm9iQ29tbWFuZH1cbiAgICovXG4gIHN0b3BFdmFsdWF0aW9uSm9iKFxuICAgIGFyZ3M6IFN0b3BFdmFsdWF0aW9uSm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEV2YWx1YXRpb25Kb2JDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JDb21tYW5kfVxuICAgKi9cbiAgc3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYihcbiAgICBhcmdzOiBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcE1vZGVsSW52b2NhdGlvbkpvYkNvbW1hbmR9XG4gICAqL1xuICBzdG9wTW9kZWxJbnZvY2F0aW9uSm9iKFxuICAgIGFyZ3M6IFN0b3BNb2RlbEludm9jYXRpb25Kb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wTW9kZWxJbnZvY2F0aW9uSm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUd1YXJkcmFpbENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVHdWFyZHJhaWwoXG4gICAgYXJnczogVXBkYXRlR3VhcmRyYWlsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlR3VhcmRyYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50KFxuICAgIGFyZ3M6IFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQoXG4gICAgYXJnczogVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VCZWRyb2NrU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKEJlZHJvY2tDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIEJlZHJvY2tTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEJlZHJvY2tTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBCZWRyb2NrU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtYmVkcm9jay9CZWRyb2NrU2VydmljZVwiLFxuKTxCZWRyb2NrU2VydmljZSwgQmVkcm9ja1NlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlQmVkcm9ja1NlcnZpY2UpLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShCZWRyb2NrQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0QmVkcm9ja0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogQmVkcm9ja0NsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUJlZHJvY2tTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShCZWRyb2NrQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgQmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0QmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBCZWRyb2NrQ2xpZW50Q29uZmlnKSA9PiBCZWRyb2NrQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VCZWRyb2NrU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBCZWRyb2NrQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdEJlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIEJlZHJvY2tTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBCZWRyb2NrID0gQmVkcm9ja1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQmVkcm9jay5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZUJlZHJvY2tTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEJlZHJvY2tTZXJ2aWNlLFxuICBtYWtlQmVkcm9ja1NlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIEJlZHJvY2subGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmVkcm9ja1NlcnZpY2VMYXllciA9IEJhc2VCZWRyb2NrU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQmVkcm9ja0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBCZWRyb2NrLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmVkcm9ja1NlcnZpY2VMYXllciA9IEJlZHJvY2tTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
package/lib/Errors.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkError = exports.AllServiceErrors = void 0;
4
- const effect_1 = require("effect");
5
- exports.AllServiceErrors = [
6
- "AccessDeniedException",
7
- "ConflictException",
8
- "InternalServerException",
9
- "ResourceNotFoundException",
10
- "ServiceQuotaExceededException",
11
- "ServiceUnavailableException",
12
- "ThrottlingException",
13
- "TooManyTagsException",
14
- "ValidationException",
15
- ];
16
- exports.SdkError = effect_1.Data.tagged("SdkError");
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxtQ0FBOEI7QUFFakIsUUFBQSxnQkFBZ0IsR0FBRztJQUM5Qix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtDQUN0QixDQUFDO0FBbUJXLFFBQUEsUUFBUSxHQUFHLGFBQUksQ0FBQyxNQUFNLENBQVcsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEFjY2Vzc0RlbmllZEV4Y2VwdGlvbixcbiAgQ29uZmxpY3RFeGNlcHRpb24sXG4gIEludGVybmFsU2VydmVyRXhjZXB0aW9uLFxuICBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbixcbiAgU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uLFxuICBUaHJvdHRsaW5nRXhjZXB0aW9uLFxuICBUb29NYW55VGFnc0V4Y2VwdGlvbixcbiAgVmFsaWRhdGlvbkV4Y2VwdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1iZWRyb2NrXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBY2Nlc3NEZW5pZWRFeGNlcHRpb25cIixcbiAgXCJDb25mbGljdEV4Y2VwdGlvblwiLFxuICBcIkludGVybmFsU2VydmVyRXhjZXB0aW9uXCIsXG4gIFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiLFxuICBcIlNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uXCIsXG4gIFwiVGhyb3R0bGluZ0V4Y2VwdGlvblwiLFxuICBcIlRvb01hbnlUYWdzRXhjZXB0aW9uXCIsXG4gIFwiVmFsaWRhdGlvbkV4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWNjZXNzRGVuaWVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWNjZXNzRGVuaWVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENvbmZsaWN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Q29uZmxpY3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxTZXJ2ZXJFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnRlcm5hbFNlcnZlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUaHJvdHRsaW5nRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VGhyb3R0bGluZ0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUb29NYW55VGFnc0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRvb01hbnlUYWdzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxWYWxpZGF0aW9uRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { BedrockClient } from "@aws-sdk/client-bedrock";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultBedrockClientConfigLayer, BedrockClientInstanceConfig, } from "./BedrockClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class BedrockClientInstance extends Context.Tag("@effect-aws/client-bedrock/BedrockClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeBedrockClientInstance = Effect.flatMap(BedrockClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new BedrockClient(config)), (client) => Effect.sync(() => client.destroy())));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const BedrockClientInstanceLayer = Layer.scoped(BedrockClientInstance, makeBedrockClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultBedrockClientInstanceLayer = BedrockClientInstanceLayer.pipe(Layer.provide(DefaultBedrockClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmVkcm9ja0NsaWVudEluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0JlZHJvY2tDbGllbnRJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsMkJBQTJCLEdBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFFdkM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQ3BELGtEQUFrRCxDQUNuRCxFQUF3QztDQUFHO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JELDJCQUEyQixFQUMzQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM1QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDaEQsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEQscUJBQXFCLEVBQ3JCLHlCQUF5QixDQUMxQixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLDBCQUEwQixDQUFDLElBQUksQ0FDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgQmVkcm9ja0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtYmVkcm9ja1wiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdEJlZHJvY2tDbGllbnRDb25maWdMYXllcixcbiAgQmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9CZWRyb2NrQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtYmVkcm9jay9CZWRyb2NrQ2xpZW50SW5zdGFuY2VcIixcbik8QmVkcm9ja0NsaWVudEluc3RhbmNlLCBCZWRyb2NrQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlQmVkcm9ja0NsaWVudEluc3RhbmNlID0gRWZmZWN0LmZsYXRNYXAoXG4gIEJlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgQmVkcm9ja0NsaWVudChjb25maWcpKSxcbiAgICAgIChjbGllbnQpID0+IEVmZmVjdC5zeW5jKCgpID0+IGNsaWVudC5kZXN0cm95KCkpLFxuICAgICksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmVkcm9ja0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5zY29wZWQoXG4gIEJlZHJvY2tDbGllbnRJbnN0YW5jZSxcbiAgbWFrZUJlZHJvY2tDbGllbnRJbnN0YW5jZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmVkcm9ja0NsaWVudEluc3RhbmNlTGF5ZXIgPVxuICBCZWRyb2NrQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdEJlZHJvY2tDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
@@ -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 BedrockClientInstanceConfig extends Context.Tag("@effect-aws/client-bedrock/BedrockClientInstanceConfig")() {
7
- }
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const makeDefaultBedrockClientInstanceConfig = 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 DefaultBedrockClientConfigLayer = Layer.effect(BedrockClientInstanceConfig, makeDefaultBedrockClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0JlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXpEOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUMxRCx3REFBd0QsQ0FDekQsRUFBb0Q7Q0FBRztBQUV4RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDekQsMkJBQTJCLEVBQzNCLHNDQUFzQyxDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBCZWRyb2NrQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1iZWRyb2NrXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1iZWRyb2NrL0JlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxCZWRyb2NrQ2xpZW50SW5zdGFuY2VDb25maWcsIEJlZHJvY2tDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0QmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PEJlZHJvY2tDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEJlZHJvY2tDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgQmVkcm9ja0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdEJlZHJvY2tDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=