@effect-aws/client-cloudwatch-logs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +19 -0
- package/README.md +85 -0
- package/docgen.json +8 -0
- package/lib/CloudWatchLogsClientInstance.d.ts +31 -0
- package/lib/CloudWatchLogsClientInstance.js +57 -0
- package/lib/CloudWatchLogsClientInstanceConfig.d.ts +23 -0
- package/lib/CloudWatchLogsClientInstanceConfig.js +44 -0
- package/lib/CloudWatchLogsService.d.ts +429 -0
- package/lib/CloudWatchLogsService.js +150 -0
- package/lib/Errors.d.ts +31 -0
- package/lib/Errors.js +27 -0
- package/lib/esm/CloudWatchLogsClientInstance.js +30 -0
- package/lib/esm/CloudWatchLogsClientInstanceConfig.js +40 -0
- package/lib/esm/CloudWatchLogsService.js +146 -0
- package/lib/esm/Errors.js +24 -0
- package/lib/esm/index.js +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +21 -0
- package/package.json +54 -0
- package/project.json +77 -0
- package/vitest.config.ts +3 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { CloudWatchLogsServiceException, AssociateKmsKeyCommand, CancelExportTaskCommand, CreateDeliveryCommand, CreateExportTaskCommand, CreateLogAnomalyDetectorCommand, CreateLogGroupCommand, CreateLogStreamCommand, DeleteAccountPolicyCommand, DeleteDataProtectionPolicyCommand, DeleteDeliveryCommand, DeleteDeliveryDestinationCommand, DeleteDeliveryDestinationPolicyCommand, DeleteDeliverySourceCommand, DeleteDestinationCommand, DeleteLogAnomalyDetectorCommand, DeleteLogGroupCommand, DeleteLogStreamCommand, DeleteMetricFilterCommand, DeleteQueryDefinitionCommand, DeleteResourcePolicyCommand, DeleteRetentionPolicyCommand, DeleteSubscriptionFilterCommand, DescribeAccountPoliciesCommand, DescribeConfigurationTemplatesCommand, DescribeDeliveriesCommand, DescribeDeliveryDestinationsCommand, DescribeDeliverySourcesCommand, DescribeDestinationsCommand, DescribeExportTasksCommand, DescribeLogGroupsCommand, DescribeLogStreamsCommand, DescribeMetricFiltersCommand, DescribeQueriesCommand, DescribeQueryDefinitionsCommand, DescribeResourcePoliciesCommand, DescribeSubscriptionFiltersCommand, DisassociateKmsKeyCommand, FilterLogEventsCommand, GetDataProtectionPolicyCommand, GetDeliveryCommand, GetDeliveryDestinationCommand, GetDeliveryDestinationPolicyCommand, GetDeliverySourceCommand, GetLogAnomalyDetectorCommand, GetLogEventsCommand, GetLogGroupFieldsCommand, GetLogRecordCommand, GetQueryResultsCommand, ListAnomaliesCommand, ListLogAnomalyDetectorsCommand, ListTagsForResourceCommand, ListTagsLogGroupCommand, PutAccountPolicyCommand, PutDataProtectionPolicyCommand, PutDeliveryDestinationCommand, PutDeliveryDestinationPolicyCommand, PutDeliverySourceCommand, PutDestinationCommand, PutDestinationPolicyCommand, PutLogEventsCommand, PutMetricFilterCommand, PutQueryDefinitionCommand, PutResourcePolicyCommand, PutRetentionPolicyCommand, PutSubscriptionFilterCommand, StartLiveTailCommand, StartQueryCommand, StopQueryCommand, TagLogGroupCommand, TagResourceCommand, TestMetricFilterCommand, UntagLogGroupCommand, UntagResourceCommand, UpdateAnomalyCommand, UpdateDeliveryConfigurationCommand, UpdateLogAnomalyDetectorCommand, } from "@aws-sdk/client-cloudwatch-logs";
|
|
5
|
+
import { Data, Effect, Layer, Record } from "effect";
|
|
6
|
+
import { CloudWatchLogsClientInstance, CloudWatchLogsClientInstanceLayer, } from "./CloudWatchLogsClientInstance";
|
|
7
|
+
import { DefaultCloudWatchLogsClientConfigLayer } from "./CloudWatchLogsClientInstanceConfig";
|
|
8
|
+
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
9
|
+
const commands = {
|
|
10
|
+
AssociateKmsKeyCommand,
|
|
11
|
+
CancelExportTaskCommand,
|
|
12
|
+
CreateDeliveryCommand,
|
|
13
|
+
CreateExportTaskCommand,
|
|
14
|
+
CreateLogAnomalyDetectorCommand,
|
|
15
|
+
CreateLogGroupCommand,
|
|
16
|
+
CreateLogStreamCommand,
|
|
17
|
+
DeleteAccountPolicyCommand,
|
|
18
|
+
DeleteDataProtectionPolicyCommand,
|
|
19
|
+
DeleteDeliveryCommand,
|
|
20
|
+
DeleteDeliveryDestinationCommand,
|
|
21
|
+
DeleteDeliveryDestinationPolicyCommand,
|
|
22
|
+
DeleteDeliverySourceCommand,
|
|
23
|
+
DeleteDestinationCommand,
|
|
24
|
+
DeleteLogAnomalyDetectorCommand,
|
|
25
|
+
DeleteLogGroupCommand,
|
|
26
|
+
DeleteLogStreamCommand,
|
|
27
|
+
DeleteMetricFilterCommand,
|
|
28
|
+
DeleteQueryDefinitionCommand,
|
|
29
|
+
DeleteResourcePolicyCommand,
|
|
30
|
+
DeleteRetentionPolicyCommand,
|
|
31
|
+
DeleteSubscriptionFilterCommand,
|
|
32
|
+
DescribeAccountPoliciesCommand,
|
|
33
|
+
DescribeConfigurationTemplatesCommand,
|
|
34
|
+
DescribeDeliveriesCommand,
|
|
35
|
+
DescribeDeliveryDestinationsCommand,
|
|
36
|
+
DescribeDeliverySourcesCommand,
|
|
37
|
+
DescribeDestinationsCommand,
|
|
38
|
+
DescribeExportTasksCommand,
|
|
39
|
+
DescribeLogGroupsCommand,
|
|
40
|
+
DescribeLogStreamsCommand,
|
|
41
|
+
DescribeMetricFiltersCommand,
|
|
42
|
+
DescribeQueriesCommand,
|
|
43
|
+
DescribeQueryDefinitionsCommand,
|
|
44
|
+
DescribeResourcePoliciesCommand,
|
|
45
|
+
DescribeSubscriptionFiltersCommand,
|
|
46
|
+
DisassociateKmsKeyCommand,
|
|
47
|
+
FilterLogEventsCommand,
|
|
48
|
+
GetDataProtectionPolicyCommand,
|
|
49
|
+
GetDeliveryCommand,
|
|
50
|
+
GetDeliveryDestinationCommand,
|
|
51
|
+
GetDeliveryDestinationPolicyCommand,
|
|
52
|
+
GetDeliverySourceCommand,
|
|
53
|
+
GetLogAnomalyDetectorCommand,
|
|
54
|
+
GetLogEventsCommand,
|
|
55
|
+
GetLogGroupFieldsCommand,
|
|
56
|
+
GetLogRecordCommand,
|
|
57
|
+
GetQueryResultsCommand,
|
|
58
|
+
ListAnomaliesCommand,
|
|
59
|
+
ListLogAnomalyDetectorsCommand,
|
|
60
|
+
ListTagsForResourceCommand,
|
|
61
|
+
ListTagsLogGroupCommand,
|
|
62
|
+
PutAccountPolicyCommand,
|
|
63
|
+
PutDataProtectionPolicyCommand,
|
|
64
|
+
PutDeliveryDestinationCommand,
|
|
65
|
+
PutDeliveryDestinationPolicyCommand,
|
|
66
|
+
PutDeliverySourceCommand,
|
|
67
|
+
PutDestinationCommand,
|
|
68
|
+
PutDestinationPolicyCommand,
|
|
69
|
+
PutLogEventsCommand,
|
|
70
|
+
PutMetricFilterCommand,
|
|
71
|
+
PutQueryDefinitionCommand,
|
|
72
|
+
PutResourcePolicyCommand,
|
|
73
|
+
PutRetentionPolicyCommand,
|
|
74
|
+
PutSubscriptionFilterCommand,
|
|
75
|
+
StartLiveTailCommand,
|
|
76
|
+
StartQueryCommand,
|
|
77
|
+
StopQueryCommand,
|
|
78
|
+
TagLogGroupCommand,
|
|
79
|
+
TagResourceCommand,
|
|
80
|
+
TestMetricFilterCommand,
|
|
81
|
+
UntagLogGroupCommand,
|
|
82
|
+
UntagResourceCommand,
|
|
83
|
+
UpdateAnomalyCommand,
|
|
84
|
+
UpdateDeliveryConfigurationCommand,
|
|
85
|
+
UpdateLogAnomalyDetectorCommand,
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* @since 1.0.0
|
|
89
|
+
* @category models
|
|
90
|
+
*/
|
|
91
|
+
export class CloudWatchLogsService extends Effect.Tag("@effect-aws/client-cloudwatch-logs/CloudWatchLogsService")() {
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @since 1.0.0
|
|
95
|
+
* @category constructors
|
|
96
|
+
*/
|
|
97
|
+
export const makeCloudWatchLogsService = Effect.gen(function* (_) {
|
|
98
|
+
const client = yield* _(CloudWatchLogsClientInstance);
|
|
99
|
+
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
100
|
+
const CommandCtor = commands[command];
|
|
101
|
+
const methodImpl = (args, options) => Effect.tryPromise({
|
|
102
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
103
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
104
|
+
abortSignal,
|
|
105
|
+
}),
|
|
106
|
+
catch: (e) => {
|
|
107
|
+
if (e instanceof CloudWatchLogsServiceException &&
|
|
108
|
+
AllServiceErrors.includes(e.name)) {
|
|
109
|
+
const ServiceException = Data.tagged(e.name);
|
|
110
|
+
return ServiceException({
|
|
111
|
+
...e,
|
|
112
|
+
message: e.message,
|
|
113
|
+
stack: e.stack,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (e instanceof Error) {
|
|
117
|
+
return SdkError({
|
|
118
|
+
...e,
|
|
119
|
+
name: "SdkError",
|
|
120
|
+
message: e.message,
|
|
121
|
+
stack: e.stack,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
throw e;
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
128
|
+
return { ...acc, [methodName]: methodImpl };
|
|
129
|
+
}, {});
|
|
130
|
+
});
|
|
131
|
+
/**
|
|
132
|
+
* @since 1.0.0
|
|
133
|
+
* @category layers
|
|
134
|
+
*/
|
|
135
|
+
export const BaseCloudWatchLogsServiceLayer = Layer.effect(CloudWatchLogsService, makeCloudWatchLogsService);
|
|
136
|
+
/**
|
|
137
|
+
* @since 1.0.0
|
|
138
|
+
* @category layers
|
|
139
|
+
*/
|
|
140
|
+
export const CloudWatchLogsServiceLayer = BaseCloudWatchLogsServiceLayer.pipe(Layer.provide(CloudWatchLogsClientInstanceLayer));
|
|
141
|
+
/**
|
|
142
|
+
* @since 1.0.0
|
|
143
|
+
* @category layers
|
|
144
|
+
*/
|
|
145
|
+
export const DefaultCloudWatchLogsServiceLayer = CloudWatchLogsServiceLayer.pipe(Layer.provide(DefaultCloudWatchLogsClientConfigLayer));
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nsb3VkV2F0Y2hMb2dzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBR3RCLHVCQUF1QixFQUd2QixxQkFBcUIsRUFHckIsdUJBQXVCLEVBR3ZCLCtCQUErQixFQUcvQixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLDBCQUEwQixFQUcxQixpQ0FBaUMsRUFHakMscUJBQXFCLEVBR3JCLGdDQUFnQyxFQUdoQyxzQ0FBc0MsRUFHdEMsMkJBQTJCLEVBRzNCLHdCQUF3QixFQUd4QiwrQkFBK0IsRUFHL0IscUJBQXFCLEVBR3JCLHNCQUFzQixFQUd0Qix5QkFBeUIsRUFHekIsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQiw0QkFBNEIsRUFHNUIsK0JBQStCLEVBRy9CLDhCQUE4QixFQUc5QixxQ0FBcUMsRUFHckMseUJBQXlCLEVBR3pCLG1DQUFtQyxFQUduQyw4QkFBOEIsRUFHOUIsMkJBQTJCLEVBRzNCLDBCQUEwQixFQUcxQix3QkFBd0IsRUFHeEIseUJBQXlCLEVBR3pCLDRCQUE0QixFQUc1QixzQkFBc0IsRUFHdEIsK0JBQStCLEVBRy9CLCtCQUErQixFQUcvQixrQ0FBa0MsRUFHbEMseUJBQXlCLEVBR3pCLHNCQUFzQixFQUd0Qiw4QkFBOEIsRUFHOUIsa0JBQWtCLEVBR2xCLDZCQUE2QixFQUc3QixtQ0FBbUMsRUFHbkMsd0JBQXdCLEVBR3hCLDRCQUE0QixFQUc1QixtQkFBbUIsRUFHbkIsd0JBQXdCLEVBR3hCLG1CQUFtQixFQUduQixzQkFBc0IsRUFHdEIsb0JBQW9CLEVBR3BCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2Qiw4QkFBOEIsRUFHOUIsNkJBQTZCLEVBRzdCLG1DQUFtQyxFQUdu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QyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBMkIsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3hELHFCQUFxQixFQUNyQix5QkFBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLDhCQUE4QixDQUFDLElBQUksQ0FDM0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUNqRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLDBCQUEwQixDQUFDLElBQUksQ0FDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlRXhjZXB0aW9uLFxuICBBc3NvY2lhdGVLbXNLZXlDb21tYW5kLFxuICB0eXBlIEFzc29jaWF0ZUttc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBc3NvY2lhdGVLbXNLZXlDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVEZWxpdmVyeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRGVsaXZlcnlDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUV4cG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVMb2dHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTG9nR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTG9nR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVMb2dTdHJlYW1Db21tYW5kLFxuICB0eXBlIENyZWF0ZUxvZ1N0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMb2dTdHJlYW1Db21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjY291bnRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEZWxpdmVyeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEZWxpdmVyeVNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kT3V0cHV0LFxuICBEZWxldGVMb2dHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlTG9nR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTG9nR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVMb2dTdHJlYW1Db21tYW5kLFxuICB0eXBlIERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMb2dTdHJlYW1Db21tYW5kT3V0cHV0LFxuICBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZU1ldHJpY0ZpbHRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVRdWVyeURlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVRdWVyeURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXRlbnRpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJldGVudGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZXRlbnRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURlbGl2ZXJpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRGVsaXZlcmllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURlbGl2ZXJpZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEZWxpdmVyeVNvdXJjZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEZWxpdmVyeVNvdXJjZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURlc3RpbmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUxvZ0dyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVMb2dHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVMb2dHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlTG9nU3RyZWFtc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlTWV0cmljRmlsdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVF1ZXJpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUXVlcmllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVF1ZXJpZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUXVlcnlEZWZpbml0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzb3VyY2VQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3Vic2NyaXB0aW9uRmlsdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kT3V0cHV0LFxuICBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kLFxuICB0eXBlIERpc2Fzc29jaWF0ZUttc0tleUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kT3V0cHV0LFxuICBGaWx0ZXJMb2dFdmVudHNDb21tYW5kLFxuICB0eXBlIEZpbHRlckxvZ0V2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBGaWx0ZXJMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXREZWxpdmVyeUNvbW1hbmQsXG4gIHR5cGUgR2V0RGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RGVsaXZlcnlDb21tYW5kT3V0cHV0LFxuICBHZXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXREZWxpdmVyeVNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICB0eXBlIEdldExvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dFdmVudHNDb21tYW5kLFxuICB0eXBlIEdldExvZ0V2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dHcm91cEZpZWxkc0NvbW1hbmQsXG4gIHR5cGUgR2V0TG9nR3JvdXBGaWVsZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nR3JvdXBGaWVsZHNDb21tYW5kT3V0cHV0LFxuICBHZXRMb2dSZWNvcmRDb21tYW5kLFxuICB0eXBlIEdldExvZ1JlY29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRMb2dSZWNvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRRdWVyeVJlc3VsdHNDb21tYW5kLFxuICB0eXBlIEdldFF1ZXJ5UmVzdWx0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRRdWVyeVJlc3VsdHNDb21tYW5kT3V0cHV0LFxuICBMaXN0QW5vbWFsaWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QW5vbWFsaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBbm9tYWxpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0TG9nQW5vbWFseURldGVjdG9yc0NvbW1hbmQsXG4gIHR5cGUgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzTG9nR3JvdXBDb21tYW5kT3V0cHV0LFxuICBQdXRBY2NvdW50UG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRBY2NvdW50UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dEFjY291bnRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgUHV0RGVsaXZlcnlTb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0RGVsaXZlcnlTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBQdXREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXREZXN0aW5hdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRMb2dFdmVudHNDb21tYW5kLFxuICB0eXBlIFB1dExvZ0V2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kLFxuICB0eXBlIFB1dE1ldHJpY0ZpbHRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kLFxuICB0eXBlIFB1dFF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJldGVudGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kLFxuICB0eXBlIFB1dFN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kT3V0cHV0LFxuICBTdGFydExpdmVUYWlsQ29tbWFuZCxcbiAgdHlwZSBTdGFydExpdmVUYWlsQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TGl2ZVRhaWxDb21tYW5kT3V0cHV0LFxuICBTdGFydFF1ZXJ5Q29tbWFuZCxcbiAgdHlwZSBTdGFydFF1ZXJ5Q29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0UXVlcnlDb21tYW5kT3V0cHV0LFxuICBTdG9wUXVlcnlDb21tYW5kLFxuICB0eXBlIFN0b3BRdWVyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUXVlcnlDb21tYW5kT3V0cHV0LFxuICBUYWdMb2dHcm91cENvbW1hbmQsXG4gIHR5cGUgVGFnTG9nR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnTG9nR3JvdXBDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZCxcbiAgdHlwZSBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICBVbnRhZ0xvZ0dyb3VwQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnTG9nR3JvdXBDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBbm9tYWx5Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVBbm9tYWx5Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUFub21hbHlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZURlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNsb3Vkd2F0Y2gtbG9nc1wiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZSxcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9DbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0Nsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjY2Vzc0RlbmllZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBEYXRhQWxyZWFkeUFjY2VwdGVkRXJyb3IsXG4gIEludmFsaWRPcGVyYXRpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkU2VxdWVuY2VUb2tlbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFF1ZXJ5RXJyb3IsXG4gIE9wZXJhdGlvbkFib3J0ZWRFcnJvcixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgU2VydmljZVVuYXZhaWxhYmxlRXJyb3IsXG4gIFRocm90dGxpbmdFcnJvcixcbiAgVG9vTWFueVRhZ3NFcnJvcixcbiAgVW5yZWNvZ25pemVkQ2xpZW50RXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5cbmludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBc3NvY2lhdGVLbXNLZXlDb21tYW5kLFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ3JlYXRlRGVsaXZlcnlDb21tYW5kLFxuICBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ3JlYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgQ3JlYXRlTG9nR3JvdXBDb21tYW5kLFxuICBDcmVhdGVMb2dTdHJlYW1Db21tYW5kLFxuICBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBEZWxldGVEZWxpdmVyeUNvbW1hbmQsXG4gIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kLFxuICBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICBEZWxldGVEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmQsXG4gIERlbGV0ZUxvZ0dyb3VwQ29tbWFuZCxcbiAgRGVsZXRlTG9nU3RyZWFtQ29tbWFuZCxcbiAgRGVsZXRlTWV0cmljRmlsdGVyQ29tbWFuZCxcbiAgRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVSZXRlbnRpb25Qb2xpY3lDb21tYW5kLFxuICBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kLFxuICBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmQsXG4gIERlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVsaXZlcmllc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZCxcbiAgRGVzY3JpYmVNZXRyaWNGaWx0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVRdWVyaWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZCxcbiAgRGlzYXNzb2NpYXRlS21zS2V5Q29tbWFuZCxcbiAgRmlsdGVyTG9nRXZlbnRzQ29tbWFuZCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBHZXREZWxpdmVyeUNvbW1hbmQsXG4gIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kLFxuICBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICBHZXRMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICBHZXRMb2dFdmVudHNDb21tYW5kLFxuICBHZXRMb2dHcm91cEZpZWxkc0NvbW1hbmQsXG4gIEdldExvZ1JlY29yZENvbW1hbmQsXG4gIEdldFF1ZXJ5UmVzdWx0c0NvbW1hbmQsXG4gIExpc3RBbm9tYWxpZXNDb21tYW5kLFxuICBMaXN0TG9nQW5vbWFseURldGVjdG9yc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZCxcbiAgUHV0QWNjb3VudFBvbGljeUNvbW1hbmQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kLFxuICBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmQsXG4gIFB1dERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kLFxuICBQdXRMb2dFdmVudHNDb21tYW5kLFxuICBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kLFxuICBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFJldGVudGlvblBvbGljeUNvbW1hbmQsXG4gIFB1dFN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmQsXG4gIFN0YXJ0TGl2ZVRhaWxDb21tYW5kLFxuICBTdGFydFF1ZXJ5Q29tbWFuZCxcbiAgU3RvcFF1ZXJ5Q29tbWFuZCxcbiAgVGFnTG9nR3JvdXBDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRlc3RNZXRyaWNGaWx0ZXJDb21tYW5kLFxuICBVbnRhZ0xvZ0dyb3VwQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZUFub21hbHlDb21tYW5kLFxuICBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBVcGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIENsb3VkV2F0Y2hMb2dzU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVLbXNLZXlDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlS21zS2V5KFxuICAgIGFyZ3M6IEFzc29jaWF0ZUttc0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZUttc0tleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxFeHBvcnRUYXNrKFxuICAgIGFyZ3M6IENhbmNlbEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEZWxpdmVyeUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEZWxpdmVyeShcbiAgICBhcmdzOiBDcmVhdGVEZWxpdmVyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlRXhwb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVFeHBvcnRUYXNrKFxuICAgIGFyZ3M6IENyZWF0ZUV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTG9nQW5vbWFseURldGVjdG9yKFxuICAgIGFyZ3M6IENyZWF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVMb2dHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMb2dHcm91cChcbiAgICBhcmdzOiBDcmVhdGVMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUxvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTG9nU3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUxvZ1N0cmVhbShcbiAgICBhcmdzOiBDcmVhdGVMb2dTdHJlYW1Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMb2dTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWNjb3VudFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY2NvdW50UG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUFjY291bnRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBEZWxldGVEYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEZWxpdmVyeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEZWxpdmVyeShcbiAgICBhcmdzOiBEZWxldGVEZWxpdmVyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb24oXG4gICAgYXJnczogRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeShcbiAgICBhcmdzOiBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURlbGl2ZXJ5U291cmNlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURlbGl2ZXJ5U291cmNlKFxuICAgIGFyZ3M6IERlbGV0ZURlbGl2ZXJ5U291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3IoXG4gICAgYXJnczogRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMb2dHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVMb2dHcm91cChcbiAgICBhcmdzOiBEZWxldGVMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMb2dTdHJlYW1Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTG9nU3RyZWFtKFxuICAgIGFyZ3M6IERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWV0cmljRmlsdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU1ldHJpY0ZpbHRlcihcbiAgICBhcmdzOiBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVRdWVyeURlZmluaXRpb24oXG4gICAgYXJnczogRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJldGVudGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXRlbnRpb25Qb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY2NvdW50UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY2NvdW50UG9saWNpZXMoXG4gICAgYXJnczogRGVzY3JpYmVBY2NvdW50UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDb25maWd1cmF0aW9uVGVtcGxhdGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRGVsaXZlcmllc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURlbGl2ZXJpZXMoXG4gICAgYXJnczogRGVzY3JpYmVEZWxpdmVyaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEZWxpdmVyaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEZWxpdmVyeURlc3RpbmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEZWxpdmVyeVNvdXJjZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEZWxpdmVyeVNvdXJjZXMoXG4gICAgYXJnczogRGVzY3JpYmVEZWxpdmVyeVNvdXJjZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRGVzdGluYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4cG9ydFRhc2tzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTG9nR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVMb2dHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTG9nU3RyZWFtcyhcbiAgICBhcmdzOiBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVNZXRyaWNGaWx0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlTWV0cmljRmlsdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlTWV0cmljRmlsdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUXVlcmllc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVF1ZXJpZXMoXG4gICAgYXJnczogRGVzY3JpYmVRdWVyaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVRdWVyaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUXVlcnlEZWZpbml0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzb3VyY2VQb2xpY2llcyhcbiAgICBhcmdzOiBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3Vic2NyaXB0aW9uRmlsdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kfVxuICAgKi9cbiAgZGlzYXNzb2NpYXRlS21zS2V5KFxuICAgIGFyZ3M6IERpc2Fzc29jaWF0ZUttc0tleUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZUttc0tleUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmlsdGVyTG9nRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGZpbHRlckxvZ0V2ZW50cyhcbiAgICBhcmdzOiBGaWx0ZXJMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGaWx0ZXJMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXREYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREZWxpdmVyeUNvbW1hbmR9XG4gICAqL1xuICBnZXREZWxpdmVyeShcbiAgICBhcmdzOiBHZXREZWxpdmVyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldERlbGl2ZXJ5RGVzdGluYXRpb24oXG4gICAgYXJnczogR2V0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeShcbiAgICBhcmdzOiBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREZWxpdmVyeVNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBnZXREZWxpdmVyeVNvdXJjZShcbiAgICBhcmdzOiBHZXREZWxpdmVyeVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nQW5vbWFseURldGVjdG9yKFxuICAgIGFyZ3M6IEdldExvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0TG9nRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGdldExvZ0V2ZW50cyhcbiAgICBhcmdzOiBHZXRMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dHcm91cEZpZWxkc0NvbW1hbmR9XG4gICAqL1xuICBnZXRMb2dHcm91cEZpZWxkcyhcbiAgICBhcmdzOiBHZXRMb2dHcm91cEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0dyb3VwRmllbGRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dSZWNvcmRDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nUmVjb3JkKFxuICAgIGFyZ3M6IEdldExvZ1JlY29yZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ1JlY29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UXVlcnlSZXN1bHRzQ29tbWFuZH1cbiAgICovXG4gIGdldFF1ZXJ5UmVzdWx0cyhcbiAgICBhcmdzOiBHZXRRdWVyeVJlc3VsdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRRdWVyeVJlc3VsdHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QW5vbWFsaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBbm9tYWxpZXMoXG4gICAgYXJnczogTGlzdEFub21hbGllc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RBbm9tYWxpZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzKFxuICAgIGFyZ3M6IExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NMb2dHcm91cChcbiAgICBhcmdzOiBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRBY2NvdW50UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dEFjY291bnRQb2xpY3koXG4gICAgYXJnczogUHV0QWNjb3VudFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEFjY291bnRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dERhdGFQcm90ZWN0aW9uUG9saWN5KFxuICAgIGFyZ3M6IFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXREZWxpdmVyeURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBwdXREZWxpdmVyeVNvdXJjZShcbiAgICBhcmdzOiBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXREZXN0aW5hdGlvbihcbiAgICBhcmdzOiBQdXREZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXREZXN0aW5hdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dExvZ0V2ZW50c0NvbW1hbmR9XG4gICAqL1xuICBwdXRMb2dFdmVudHMoXG4gICAgYXJnczogUHV0TG9nRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0TG9nRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEYXRhQWxyZWFkeUFjY2VwdGVkRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlcXVlbmNlVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVW5yZWNvZ25pemVkQ2xpZW50RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0TWV0cmljRmlsdGVyQ29tbWFuZH1cbiAgICovXG4gIHB1dE1ldHJpY0ZpbHRlcihcbiAgICBhcmdzOiBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UXVlcnlEZWZpbml0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dFF1ZXJ5RGVmaW5pdGlvbihcbiAgICBhcmdzOiBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmV0ZW50aW9uUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJldGVudGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJldGVudGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZH1cbiAgICovXG4gIHB1dFN1YnNjcmlwdGlvbkZpbHRlcihcbiAgICBhcmdzOiBQdXRTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRMaXZlVGFpbENvbW1hbmR9XG4gICAqL1xuICBzdGFydExpdmVUYWlsKFxuICAgIGFyZ3M6IFN0YXJ0TGl2ZVRhaWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydExpdmVUYWlsQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0UXVlcnlDb21tYW5kfVxuICAgKi9cbiAgc3RhcnRRdWVyeShcbiAgICBhcmdzOiBTdGFydFF1ZXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRRdWVyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFF1ZXJ5RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcFF1ZXJ5Q29tbWFuZH1cbiAgICovXG4gIHN0b3BRdWVyeShcbiAgICBhcmdzOiBTdG9wUXVlcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUXVlcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdMb2dHcm91cENvbW1hbmR9XG4gICAqL1xuICB0YWdMb2dHcm91cChcbiAgICBhcmdzOiBUYWdMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ0xvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdE1ldHJpY0ZpbHRlckNvbW1hbmR9XG4gICAqL1xuICB0ZXN0TWV0cmljRmlsdGVyKFxuICAgIGFyZ3M6IFRlc3RNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgdW50YWdMb2dHcm91cChcbiAgICBhcmdzOiBVbnRhZ0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQW5vbWFseUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBbm9tYWx5KFxuICAgIGFyZ3M6IFVwZGF0ZUFub21hbHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBbm9tYWx5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRGVsaXZlcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZURlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3IoXG4gICAgYXJnczogVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtY2xvdWR3YXRjaC1sb2dzL0Nsb3VkV2F0Y2hMb2dzU2VydmljZVwiLFxuKTxDbG91ZFdhdGNoTG9nc1NlcnZpY2UsIENsb3VkV2F0Y2hMb2dzU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFdhdGNoTG9nc1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkV2F0Y2hMb2dzU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZUNsb3VkV2F0Y2hMb2dzU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFdhdGNoTG9nc1NlcnZpY2UsXG4gIG1ha2VDbG91ZFdhdGNoTG9nc1NlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlTGF5ZXIgPSBCYXNlQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFdhdGNoTG9nc1NlcnZpY2VMYXllciA9XG4gIENsb3VkV2F0Y2hMb2dzU2VydmljZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
export const AllServiceErrors = [
|
|
3
|
+
"AccessDeniedException",
|
|
4
|
+
"ConflictException",
|
|
5
|
+
"DataAlreadyAcceptedException",
|
|
6
|
+
"InvalidOperationException",
|
|
7
|
+
"InvalidParameterException",
|
|
8
|
+
"InvalidSequenceTokenException",
|
|
9
|
+
"LimitExceededException",
|
|
10
|
+
"MalformedQueryException",
|
|
11
|
+
"OperationAbortedException",
|
|
12
|
+
"ResourceAlreadyExistsException",
|
|
13
|
+
"ResourceNotFoundException",
|
|
14
|
+
"ServiceQuotaExceededException",
|
|
15
|
+
"ServiceUnavailableException",
|
|
16
|
+
"SessionStreamingException",
|
|
17
|
+
"SessionTimeoutException",
|
|
18
|
+
"ThrottlingException",
|
|
19
|
+
"TooManyTagsException",
|
|
20
|
+
"UnrecognizedClientException",
|
|
21
|
+
"ValidationException",
|
|
22
|
+
];
|
|
23
|
+
export const SdkError = Data.tagged("SdkError");
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5Qix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixxQkFBcUI7Q0FDdEIsQ0FBQztBQWlDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWNjZXNzRGVuaWVkRXhjZXB0aW9uLFxuICBDb25mbGljdEV4Y2VwdGlvbixcbiAgRGF0YUFscmVhZHlBY2NlcHRlZEV4Y2VwdGlvbixcbiAgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbixcbiAgSW52YWxpZFNlcXVlbmNlVG9rZW5FeGNlcHRpb24sXG4gIExpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIE1hbGZvcm1lZFF1ZXJ5RXhjZXB0aW9uLFxuICBPcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb24sXG4gIFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24sXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uLFxuICBTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24sXG4gIFNlc3Npb25TdHJlYW1pbmdFeGNlcHRpb24sXG4gIFNlc3Npb25UaW1lb3V0RXhjZXB0aW9uLFxuICBUaHJvdHRsaW5nRXhjZXB0aW9uLFxuICBUb29NYW55VGFnc0V4Y2VwdGlvbixcbiAgVW5yZWNvZ25pemVkQ2xpZW50RXhjZXB0aW9uLFxuICBWYWxpZGF0aW9uRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNsb3Vkd2F0Y2gtbG9nc1wiO1xuaW1wb3J0IHsgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFsbFNlcnZpY2VFcnJvcnMgPSBbXG4gIFwiQWNjZXNzRGVuaWVkRXhjZXB0aW9uXCIsXG4gIFwiQ29uZmxpY3RFeGNlcHRpb25cIixcbiAgXCJEYXRhQWxyZWFkeUFjY2VwdGVkRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkU2VxdWVuY2VUb2tlbkV4Y2VwdGlvblwiLFxuICBcIkxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJNYWxmb3JtZWRRdWVyeUV4Y2VwdGlvblwiLFxuICBcIk9wZXJhdGlvbkFib3J0ZWRFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb25cIixcbiAgXCJTZXNzaW9uU3RyZWFtaW5nRXhjZXB0aW9uXCIsXG4gIFwiU2Vzc2lvblRpbWVvdXRFeGNlcHRpb25cIixcbiAgXCJUaHJvdHRsaW5nRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueVRhZ3NFeGNlcHRpb25cIixcbiAgXCJVbnJlY29nbml6ZWRDbGllbnRFeGNlcHRpb25cIixcbiAgXCJWYWxpZGF0aW9uRXhjZXB0aW9uXCIsXG5dO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBBY2Nlc3NEZW5pZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxBY2Nlc3NEZW5pZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDb25mbGljdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBEYXRhQWxyZWFkeUFjY2VwdGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RGF0YUFscmVhZHlBY2NlcHRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkT3BlcmF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkU2VxdWVuY2VUb2tlbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTZXF1ZW5jZVRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIExpbWl0RXhjZWVkZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE1hbGZvcm1lZFF1ZXJ5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248TWFsZm9ybWVkUXVlcnlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT3BlcmF0aW9uQWJvcnRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE9wZXJhdGlvbkFib3J0ZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VBbHJlYWR5RXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2VydmljZVVuYXZhaWxhYmxlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlc3Npb25TdHJlYW1pbmdFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxTZXNzaW9uU3RyZWFtaW5nRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlc3Npb25UaW1lb3V0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U2Vzc2lvblRpbWVvdXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVGhyb3R0bGluZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRocm90dGxpbmdFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9vTWFueVRhZ3NFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUb29NYW55VGFnc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnJlY29nbml6ZWRDbGllbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnJlY29nbml6ZWRDbGllbnRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFZhbGlkYXRpb25FeGNlcHRpb24+O1xuXG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./Errors";
|
|
2
|
+
export * from "./CloudWatchLogsClientInstance";
|
|
3
|
+
export * from "./CloudWatchLogsClientInstanceConfig";
|
|
4
|
+
export * from "./CloudWatchLogsService";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkV2F0Y2hMb2dzU2VydmljZVwiO1xuIl19
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Errors"), exports);
|
|
18
|
+
__exportStar(require("./CloudWatchLogsClientInstance"), exports);
|
|
19
|
+
__exportStar(require("./CloudWatchLogsClientInstanceConfig"), exports);
|
|
20
|
+
__exportStar(require("./CloudWatchLogsService"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QixpRUFBK0M7QUFDL0MsdUVBQXFEO0FBQ3JELDBEQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlXCI7XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-aws/client-cloudwatch-logs",
|
|
3
|
+
"author": {
|
|
4
|
+
"name": "Victor Korzunin",
|
|
5
|
+
"email": "ifloydrose@gmail.com",
|
|
6
|
+
"organization": false
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@types/node": "^18",
|
|
10
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
|
+
"@typescript-eslint/parser": "^7",
|
|
12
|
+
"aws-sdk-client-mock": "^4.0.2",
|
|
13
|
+
"aws-sdk-client-mock-vitest": "^4.0.0",
|
|
14
|
+
"effect": "3.0.0",
|
|
15
|
+
"eslint": "^8",
|
|
16
|
+
"eslint-config-prettier": "^9.1.0",
|
|
17
|
+
"eslint-import-resolver-typescript": "^3.6.1",
|
|
18
|
+
"eslint-plugin-import": "^2.29.1",
|
|
19
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
20
|
+
"prettier": "^3.2.5",
|
|
21
|
+
"typescript": "^5.4.2",
|
|
22
|
+
"vitest": "^2.0.5"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"effect": ">=3.0.0 <4.0.0"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@aws-sdk/client-cloudwatch-logs": "^3"
|
|
29
|
+
},
|
|
30
|
+
"main": "lib/index.js",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"homepage": "https://floydspace.github.io/effect-aws",
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"version": "1.0.0",
|
|
37
|
+
"types": "lib/index.d.ts",
|
|
38
|
+
"module": "lib/esm/index.js",
|
|
39
|
+
"sideEffects": [],
|
|
40
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "npx projen build",
|
|
43
|
+
"compile": "npx projen compile",
|
|
44
|
+
"default": "npx projen default",
|
|
45
|
+
"eslint": "npx projen eslint",
|
|
46
|
+
"package": "npx projen package",
|
|
47
|
+
"post-compile": "npx projen post-compile",
|
|
48
|
+
"pre-compile": "npx projen pre-compile",
|
|
49
|
+
"test": "npx projen test",
|
|
50
|
+
"test:watch": "npx projen test:watch",
|
|
51
|
+
"watch": "npx projen watch",
|
|
52
|
+
"docgen": "docgen"
|
|
53
|
+
}
|
|
54
|
+
}
|
package/project.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect-aws/client-cloudwatch-logs",
|
|
3
|
+
"root": "packages/client-cloudwatch-logs",
|
|
4
|
+
"targets": {
|
|
5
|
+
"default": {
|
|
6
|
+
"executor": "nx:run-commands",
|
|
7
|
+
"options": {
|
|
8
|
+
"command": "pnpm exec projen default",
|
|
9
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"pre-compile": {
|
|
13
|
+
"executor": "nx:run-commands",
|
|
14
|
+
"options": {
|
|
15
|
+
"command": "pnpm exec projen pre-compile",
|
|
16
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"compile": {
|
|
20
|
+
"executor": "nx:run-commands",
|
|
21
|
+
"options": {
|
|
22
|
+
"command": "pnpm exec projen compile",
|
|
23
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"post-compile": {
|
|
27
|
+
"executor": "nx:run-commands",
|
|
28
|
+
"options": {
|
|
29
|
+
"command": "pnpm exec projen post-compile",
|
|
30
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"test": {
|
|
34
|
+
"executor": "nx:run-commands",
|
|
35
|
+
"options": {
|
|
36
|
+
"command": "pnpm exec projen test",
|
|
37
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"package": {
|
|
41
|
+
"executor": "nx:run-commands",
|
|
42
|
+
"options": {
|
|
43
|
+
"command": "pnpm exec projen package",
|
|
44
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"build": {
|
|
48
|
+
"executor": "nx:run-commands",
|
|
49
|
+
"options": {
|
|
50
|
+
"command": "pnpm exec projen build",
|
|
51
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"watch": {
|
|
55
|
+
"executor": "nx:run-commands",
|
|
56
|
+
"options": {
|
|
57
|
+
"command": "pnpm exec projen watch",
|
|
58
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"eslint": {
|
|
62
|
+
"executor": "nx:run-commands",
|
|
63
|
+
"options": {
|
|
64
|
+
"command": "pnpm exec projen eslint",
|
|
65
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"test:watch": {
|
|
69
|
+
"executor": "nx:run-commands",
|
|
70
|
+
"options": {
|
|
71
|
+
"command": "pnpm exec projen test:watch",
|
|
72
|
+
"cwd": "packages/client-cloudwatch-logs"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
77
|
+
}
|
package/vitest.config.ts
ADDED