@effect-aws/client-rds 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +13 -40
- package/lib/Errors.d.ts +2 -1
- package/lib/Errors.js +2 -1
- package/lib/RDSService.d.ts +23 -10
- package/lib/RDSService.js +24 -10
- package/lib/esm/Errors.js +2 -1
- package/lib/esm/RDSService.js +23 -9
- package/package.json +1 -1
package/lib/esm/RDSService.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
/**
|
|
2
3
|
* @since 1.0.0
|
|
3
4
|
*/
|
|
@@ -5,7 +6,7 @@ import { RDSServiceException, AddRoleToDBClusterCommand, AddRoleToDBInstanceComm
|
|
|
5
6
|
import { Data, Effect, Layer, Record } from "effect";
|
|
6
7
|
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
7
8
|
import { RDSClientInstance, RDSClientInstanceLayer } from "./RDSClientInstance";
|
|
8
|
-
import { DefaultRDSClientConfigLayer } from "./RDSClientInstanceConfig";
|
|
9
|
+
import { DefaultRDSClientConfigLayer, makeDefaultRDSClientInstanceConfig, RDSClientInstanceConfig, } from "./RDSClientInstanceConfig";
|
|
9
10
|
const commands = {
|
|
10
11
|
AddRoleToDBClusterCommand,
|
|
11
12
|
AddRoleToDBInstanceCommand,
|
|
@@ -170,12 +171,6 @@ const commands = {
|
|
|
170
171
|
SwitchoverGlobalClusterCommand,
|
|
171
172
|
SwitchoverReadReplicaCommand,
|
|
172
173
|
};
|
|
173
|
-
/**
|
|
174
|
-
* @since 1.0.0
|
|
175
|
-
* @category models
|
|
176
|
-
*/
|
|
177
|
-
export class RDSService extends Effect.Tag("@effect-aws/client-rds/RDSService")() {
|
|
178
|
-
}
|
|
179
174
|
/**
|
|
180
175
|
* @since 1.0.0
|
|
181
176
|
* @category constructors
|
|
@@ -214,19 +209,38 @@ export const makeRDSService = Effect.gen(function* (_) {
|
|
|
214
209
|
return { ...acc, [methodName]: methodImpl };
|
|
215
210
|
}, {});
|
|
216
211
|
});
|
|
212
|
+
/**
|
|
213
|
+
* @since 1.0.0
|
|
214
|
+
* @category models
|
|
215
|
+
*/
|
|
216
|
+
export class RDSService extends Effect.Tag("@effect-aws/client-rds/RDSService")() {
|
|
217
|
+
}
|
|
218
|
+
_a = RDSService;
|
|
219
|
+
RDSService.defaultLayer = Layer.effect(_a, makeRDSService).pipe(Layer.provide(RDSClientInstanceLayer), Layer.provide(DefaultRDSClientConfigLayer));
|
|
220
|
+
RDSService.layer = (config) => Layer.effect(_a, makeRDSService).pipe(Layer.provide(RDSClientInstanceLayer), Layer.provide(Layer.effect(RDSClientInstanceConfig, makeDefaultRDSClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
221
|
+
RDSService.baseLayer = (evaluate) => Layer.effect(_a, makeRDSService).pipe(Layer.provide(Layer.effect(RDSClientInstance, Effect.map(makeDefaultRDSClientInstanceConfig, evaluate))));
|
|
222
|
+
/**
|
|
223
|
+
* @since 1.0.0
|
|
224
|
+
* @category models
|
|
225
|
+
* @alias RDSService
|
|
226
|
+
*/
|
|
227
|
+
export const RDS = RDSService;
|
|
217
228
|
/**
|
|
218
229
|
* @since 1.0.0
|
|
219
230
|
* @category layers
|
|
231
|
+
* @deprecated use RDS.baseLayer instead
|
|
220
232
|
*/
|
|
221
233
|
export const BaseRDSServiceLayer = Layer.effect(RDSService, makeRDSService);
|
|
222
234
|
/**
|
|
223
235
|
* @since 1.0.0
|
|
224
236
|
* @category layers
|
|
237
|
+
* @deprecated use RDS.layer instead
|
|
225
238
|
*/
|
|
226
239
|
export const RDSServiceLayer = BaseRDSServiceLayer.pipe(Layer.provide(RDSClientInstanceLayer));
|
|
227
240
|
/**
|
|
228
241
|
* @since 1.0.0
|
|
229
242
|
* @category layers
|
|
243
|
+
* @deprecated use RDS.defaultLayer instead
|
|
230
244
|
*/
|
|
231
|
-
export const DefaultRDSServiceLayer =
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SRFNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix5QkFBeUIsRUFHekIsMEJBQTBCLEVBRzFCLHdDQUF3QyxFQUd4Qyx3QkFBd0IsRUFHeEIsb0NBQW9DLEVBR3BDLHNDQUFzQyxFQUd0Qyx5QkFBeUIsRUFHekIsdUJBQXVCLEVBR3ZCLGtDQUFrQyxFQUdsQyw0QkFBNEIsRUFHNUIsMkJBQTJCLEVBRzNCLHFCQUFxQixFQUdyQixzQkFBc0IsRUFHdEIsZ0NBQWdDLEVBR2hDLGtDQUFrQyxFQUdsQyxzQkFBc0IsRUFHdEIsOEJBQThCLEVBRzlCLG9DQUFvQyxFQUdwQyw4QkFBOEIsRUFHOUIsdUJBQXVCLEVBR3ZCLGtDQUFrQyxFQUdsQyw2QkFBNkIsRUFHN0Isb0JBQW9CLEVBR3BCLDRCQUE0QixFQUc1Qiw0QkFBNEIsRUFHNUIseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2QiwwQkFBMEIsRUFHMUIsOEJBQThCLEVBRzlCLDBCQUEwQixFQUcxQix3QkFBd0IsRUFHeEIsd0JBQXdCLEVBR3hCLDJCQUEyQixFQUczQixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLHNCQUFzQixFQUd0QixxQ0FBcUMsRUFHckMsOEJBQThCLEVBRzlCLG9DQUFvQyxFQUdwQyw4QkFBOEIsRUFHOUIsdUJBQXVCLEVBR3ZCLHNDQUFzQyxFQUd0Qyw2QkFBNkIsRUFHN0Isb0JBQW9CLEVBR3BCLDRCQUE0QixFQUc1Qiw0QkFBNEIsRUFHNUIseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2QiwwQkFBMEIsRUFHMUIsOEJBQThCLEVBRzlCLDBCQUEwQixFQUcxQix3QkFBd0IsRUFHeEIsd0JBQXdCLEVBR3hCLDJCQUEyQixFQUczQiwrQkFBK0IsRUFHL0IsZ0NBQWdDLEVBR2hDLG1DQUFtQyxFQUduQywyQkFBMkIs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LHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFJEU1NlcnZpY2VFeGNlcHRpb24sXG4gIEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIHR5cGUgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kLFxuICB0eXBlIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gIENvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENvcHlEQlNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5REJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENvcHlPcHRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgQ29weU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENvcHlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCUHJveHlDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCUHJveHlDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gIERlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckVuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUHJveGllc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTZWN1cml0eUdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJTZWN1cml0eUdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUludGVncmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUludGVncmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU291cmNlUmVnaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU291cmNlUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERvd25sb2FkREJMb2dGaWxlUG9ydGlvbkNvbW1hbmQsXG4gIHR5cGUgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERvd25sb2FkREJMb2dGaWxlUG9ydGlvbkNvbW1hbmRPdXRwdXQsXG4gIEVuYWJsZUh0dHBFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIEVuYWJsZUh0dHBFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCUHJveHlDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCUHJveHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCU2hhcmRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gIFByb21vdGVSZWFkUmVwbGljYUNvbW1hbmQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICB0eXBlIFByb21vdGVSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXQsXG4gIFJlYm9vdERCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgUmVib290REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlYm9vdERCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIFJlYm9vdERCU2hhcmRHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlYm9vdERCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kLFxuICB0eXBlIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlc2V0REJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc2V0REJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZUZyb21TM0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZUZyb21TM0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmRPdXRwdXQsXG4gIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICB0eXBlIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydERCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIHR5cGUgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmRPdXRwdXQsXG4gIFN0b3BEQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN0b3BEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcERCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFN0b3BEQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBTdG9wREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZCxcbiAgdHlwZSBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmQsXG4gIHR5cGUgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtcmRzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEF1dGhvcml6YXRpb25RdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgQmFja3VwUG9saWN5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBCbHVlR3JlZW5EZXBsb3ltZW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yLFxuICBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25GYXVsdEVycm9yLFxuICBDdXN0b21BdmFpbGFiaWxpdHlab25lTm90Rm91bmRGYXVsdEVycm9yLFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQ3VzdG9tREJFbmdpbmVWZXJzaW9uTm90Rm91bmRGYXVsdEVycm9yLFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25RdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlckJhY2t0cmFja05vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyRW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlckVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclJvbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlUm9sZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZVJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJMb2dGaWxlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJQcm94eUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJQcm94eUVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlByb3h5RW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQcm94eVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5VGFyZ2V0QWxyZWFkeVJlZ2lzdGVyZWRGYXVsdEVycm9yLFxuICBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cE5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3IsXG4gIERCU3VibmV0R3JvdXBOb3RBbGxvd2VkRmF1bHRFcnJvcixcbiAgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTdWJuZXRHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlVwZ3JhZGVEZXBlbmRlbmN5RmFpbHVyZUZhdWx0RXJyb3IsXG4gIERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvcixcbiAgRWMySW1hZ2VQcm9wZXJ0aWVzTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgRXZlbnRTdWJzY3JpcHRpb25RdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgRXhwb3J0VGFza0FscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yLFxuICBHbG9iYWxDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEdsb2JhbENsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgSWFtUm9sZU1pc3NpbmdQZXJtaXNzaW9uc0ZhdWx0RXJyb3IsXG4gIElhbVJvbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudEF2YWlsYWJsZUlQc0luU3VibmV0RmF1bHRFcnJvcixcbiAgSW5zdWZmaWNpZW50REJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnN1ZmZpY2llbnRTdG9yYWdlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvcixcbiAgSW50ZWdyYXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3IsXG4gIEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBJbnZhbGlkQmx1ZUdyZWVuRGVwbG95bWVudFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEN1c3RvbURCRW5naW5lVmVyc2lvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlckVuZHBvaW50U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkluc3RhbmNlQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCU3VibmV0R3JvdXBGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCU3VibmV0U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkRXZlbnRTdWJzY3JpcHRpb25TdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRFeHBvcnRPbmx5RmF1bHRFcnJvcixcbiAgSW52YWxpZEV4cG9ydFNvdXJjZVN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRPcHRpb25Hcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3IsXG4gIEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3IsXG4gIEludmFsaWRTdWJuZXRFcnJvcixcbiAgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3IsXG4gIEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yLFxuICBNYXhEQlNoYXJkR3JvdXBMaW1pdFJlYWNoZWRFcnJvcixcbiAgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvcixcbiAgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIE9wdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFBvaW50SW5UaW1lUmVzdG9yZU5vdEVuYWJsZWRGYXVsdEVycm9yLFxuICBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ05vdEZvdW5kRmF1bHRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3IsXG4gIFNOU05vQXV0aG9yaXphdGlvbkZhdWx0RXJyb3IsXG4gIFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdEVycm9yLFxuICBTaGFyZWRTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTb3VyY2VDbHVzdGVyTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgU291cmNlRGF0YWJhc2VOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgU3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdEVycm9yLFxuICBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIFN1Ym5ldEFscmVhZHlJblVzZUVycm9yLFxuICBTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RGYXVsdEVycm9yLFxuICBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yLFxuICBUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgVW5zdXBwb3J0ZWREQkVuZ2luZVZlcnNpb25GYXVsdEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFJEU0NsaWVudEluc3RhbmNlLCBSRFNDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vUkRTQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRSRFNDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL1JEU0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4xXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZCxcbiAgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmQsXG4gIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kLFxuICBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZCxcbiAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmQsXG4gIENvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ29weURCU25hcHNob3RDb21tYW5kLFxuICBDb3B5T3B0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZCxcbiAgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmQsXG4gIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlByb3h5Q29tbWFuZCxcbiAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZCxcbiAgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kLFxuICBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJQcm94eUNvbW1hbmQsXG4gIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZURCU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmQsXG4gIERlbGV0ZURCU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICBEZWxldGVPcHRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZCxcbiAgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kLFxuICBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kLFxuICBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kLFxuICBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZURCUHJveGllc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kLFxuICBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kLFxuICBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRXZlbnRzQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kLFxuICBEZXNjcmliZUludGVncmF0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kLFxuICBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kLFxuICBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZCxcbiAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZCxcbiAgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZCxcbiAgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kLFxuICBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTW9kaWZ5QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kLFxuICBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kLFxuICBNb2RpZnlEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZCxcbiAgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlDb21tYW5kLFxuICBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kLFxuICBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZCxcbiAgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmQsXG4gIE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kLFxuICBNb2RpZnlPcHRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kLFxuICBSZWJvb3REQkNsdXN0ZXJDb21tYW5kLFxuICBSZWJvb3REQkluc3RhbmNlQ29tbWFuZCxcbiAgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kLFxuICBSZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kLFxuICBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kLFxuICBSZXN0b3JlREJJbnN0YW5jZUZyb21TM0NvbW1hbmQsXG4gIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmQsXG4gIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZCxcbiAgU3RhcnREQkNsdXN0ZXJDb21tYW5kLFxuICBTdGFydERCSW5zdGFuY2VDb21tYW5kLFxuICBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kLFxuICBTdGFydEV4cG9ydFRhc2tDb21tYW5kLFxuICBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICBTdG9wREJDbHVzdGVyQ29tbWFuZCxcbiAgU3RvcERCSW5zdGFuY2VDb21tYW5kLFxuICBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZCxcbiAgU3dpdGNob3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFJEU1NlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGFkZFJvbGVUb0RCQ2x1c3RlcihcbiAgICBhcmdzOiBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUm9sZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJSb2xlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBhZGRSb2xlVG9EQkluc3RhbmNlKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlUm9sZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb25Db21tYW5kfVxuICAgKi9cbiAgYWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgYWRkVGFnc1RvUmVzb3VyY2UoXG4gICAgYXJnczogQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uKFxuICAgIGFyZ3M6IEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIGF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGJhY2t0cmFja0RCQ2x1c3RlcihcbiAgICBhcmdzOiBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIGNhbmNlbEV4cG9ydFRhc2soXG4gICAgYXJnczogQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhwb3J0VGFza05vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWRFeHBvcnRUYXNrU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJDbHVzdGVyU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY29weURCQ2x1c3RlclNuYXBzaG90KFxuICAgIGFyZ3M6IENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY29weURCUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY29weURCU25hcHNob3QoXG4gICAgYXJnczogQ29weURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5REJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tQXZhaWxhYmlsaXR5Wm9uZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weU9wdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNvcHlPcHRpb25Hcm91cChcbiAgICBhcmdzOiBDb3B5T3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5T3B0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBTb3VyY2VEYXRhYmFzZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbihcbiAgICBhcmdzOiBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBDdXN0b21EQkVuZ2luZVZlcnNpb25RdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgRWMySW1hZ2VQcm9wZXJ0aWVzTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCQ2x1c3RlcihcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0R3JvdXBGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCQ2x1c3RlckVuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyU25hcHNob3QoXG4gICAgYXJnczogQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkluc3RhbmNlKFxuICAgIGFyZ3M6IENyZWF0ZURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYShcbiAgICBhcmdzOiBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RBbGxvd2VkRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0R3JvdXBGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUHJveHlDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJQcm94eShcbiAgICBhcmdzOiBDcmVhdGVEQlByb3h5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQcm94eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJQcm94eUVuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlFbmRwb2ludFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlNlY3VyaXR5R3JvdXAoXG4gICAgYXJnczogQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCU2hhcmRHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBNYXhEQlNoYXJkR3JvdXBMaW1pdFJlYWNoZWRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVW5zdXBwb3J0ZWREQkVuZ2luZVZlcnNpb25GYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTbmFwc2hvdChcbiAgICBhcmdzOiBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCU3VibmV0R3JvdXAoXG4gICAgYXJnczogQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVFdmVudFN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBDcmVhdGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTTlNJbnZhbGlkVG9waWNGYXVsdEVycm9yXG4gICAgfCBTTlNOb0F1dGhvcml6YXRpb25GYXVsdEVycm9yXG4gICAgfCBTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RGYXVsdEVycm9yXG4gICAgfCBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlSW50ZWdyYXRpb24oXG4gICAgYXJnczogQ3JlYXRlSW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbkNvbmZsaWN0T3BlcmF0aW9uRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25RdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlT3B0aW9uR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVUZW5hbnREYXRhYmFzZShcbiAgICBhcmdzOiBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnQoXG4gICAgYXJnczogRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb24oXG4gICAgYXJnczogRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDdXN0b21EQkVuZ2luZVZlcnNpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCQ2x1c3RlcihcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCQ2x1c3RlckVuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyU25hcHNob3QoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCSW5zdGFuY2UoXG4gICAgYXJnczogRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXAoXG4gICAgYXJnczogRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJQcm94eUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlByb3h5KFxuICAgIGFyZ3M6IERlbGV0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlByb3h5RW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJQcm94eUVuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eUVuZHBvaW50U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlNlY3VyaXR5R3JvdXAoXG4gICAgYXJnczogRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCU2hhcmRHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCU25hcHNob3QoXG4gICAgYXJnczogRGVsZXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTdWJuZXRHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFdmVudFN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkRXZlbnRTdWJzY3JpcHRpb25TdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUludGVncmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEludGVncmF0aW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVGVuYW50RGF0YWJhc2UoXG4gICAgYXJnczogRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmR9XG4gICAqL1xuICBkZXJlZ2lzdGVyREJQcm94eVRhcmdldHMoXG4gICAgYXJnczogRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDZXJ0aWZpY2F0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDZXJ0aWZpY2F0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDZXJ0aWZpY2F0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrcyhcbiAgICBhcmdzOiBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckJhY2t0cmFja05vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJFbmdpbmVWZXJzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkluc3RhbmNlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCTG9nRmlsZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJQcm94aWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTZWN1cml0eUdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU2VjdXJpdHlHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlNoYXJkR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTdWJuZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHBvcnRUYXNrcyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVHbG9iYWxDbHVzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW50ZWdyYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU291cmNlUmVnaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVGVuYW50RGF0YWJhc2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkaXNhYmxlSHR0cEVuZHBvaW50KFxuICAgIGFyZ3M6IERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRSZXNvdXJjZVN0YXRlRmF1bHRFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERvd25sb2FkREJMb2dGaWxlUG9ydGlvbkNvbW1hbmR9XG4gICAqL1xuICBkb3dubG9hZERCTG9nRmlsZVBvcnRpb24oXG4gICAgYXJnczogRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGVuYWJsZUh0dHBFbmRwb2ludChcbiAgICBhcmdzOiBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJEQkNsdXN0ZXIoXG4gICAgYXJnczogRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJHbG9iYWxDbHVzdGVyKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlBY3Rpdml0eVN0cmVhbShcbiAgICBhcmdzOiBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eShcbiAgICBhcmdzOiBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkNsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlckVuZHBvaW50KFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkluc3RhbmNlKFxuICAgIGFyZ3M6IE1vZGlmeURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJVcGdyYWRlRGVwZW5kZW5jeUZhaWx1cmVGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHkoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHlFbmRwb2ludChcbiAgICBhcmdzOiBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJSZWNvbW1lbmRhdGlvbihcbiAgICBhcmdzOiBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU2hhcmRHcm91cChcbiAgICBhcmdzOiBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90KFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU3VibmV0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBTdWJuZXRBbHJlYWR5SW5Vc2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlFdmVudFN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTTlNJbnZhbGlkVG9waWNGYXVsdEVycm9yXG4gICAgfCBTTlNOb0F1dGhvcml6YXRpb25GYXVsdEVycm9yXG4gICAgfCBTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUludGVncmF0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEludGVncmF0aW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5VGVuYW50RGF0YWJhc2UoXG4gICAgYXJnczogTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFByb21vdGVSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBwcm9tb3RlUmVhZFJlcGxpY2EoXG4gICAgYXJnczogUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyKFxuICAgIGFyZ3M6IFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nKFxuICAgIGFyZ3M6IFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWJvb3REQkNsdXN0ZXIoXG4gICAgYXJnczogUmVib290REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVib290REJJbnN0YW5jZShcbiAgICBhcmdzOiBSZWJvb3REQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYm9vdERCU2hhcmRHcm91cChcbiAgICBhcmdzOiBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIHJlZ2lzdGVyREJQcm94eVRhcmdldHMoXG4gICAgYXJnczogUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEFscmVhZHlSZWdpc3RlcmVkRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRBdmFpbGFibGVJUHNJblN1Ym5ldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVGcm9tR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJvbGVGcm9tREJDbHVzdGVyKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU291cmNlTm90Rm91bmRGYXVsdEVycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlVGFnc0Zyb21SZXNvdXJjZShcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlc2V0REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TMyhcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdChcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZShcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRTdG9yYWdlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3QoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbVMzKFxuICAgIGFyZ3M6IFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWUoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIHJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0QWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCQ2x1c3RlcihcbiAgICBhcmdzOiBTdGFydERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb24oXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBzdGFydEV4cG9ydFRhc2soXG4gICAgYXJnczogU3RhcnRFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IElhbVJvbGVNaXNzaW5nUGVybWlzc2lvbnNGYXVsdEVycm9yXG4gICAgfCBJYW1Sb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkRXhwb3J0T25seUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRFeHBvcnRTb3VyY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBzdG9wQWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHN0b3BEQkNsdXN0ZXIoXG4gICAgYXJnczogU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgc3RvcERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RvcERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQmx1ZUdyZWVuRGVwbG95bWVudFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyUmVhZFJlcGxpY2EoXG4gICAgYXJnczogU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgUkRTU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtcmRzL1JEU1NlcnZpY2VcIik8XG4gIFJEU1NlcnZpY2UsXG4gIFJEU1NlcnZpY2UkXG4+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VSRFNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oUkRTQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBSRFNTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPFJEU1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFJEU1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlUkRTU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFJEU1NlcnZpY2UsIG1ha2VSRFNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFJEU1NlcnZpY2VMYXllciA9IEJhc2VSRFNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShSRFNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UkRTU2VydmljZUxheWVyID0gUkRTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
|
245
|
+
export const DefaultRDSServiceLayer = RDSService.defaultLayer;
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SRFNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLDBCQUEwQixFQUcxQix3Q0FBd0MsRUFHeEMsd0JBQXdCLEVBR3hCLG9DQUFvQyxFQUdwQyxzQ0FBc0MsRUFHdEMseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLGdDQUFnQyxFQUdoQyxrQ0FBa0MsRUFHbEMsc0JBQXNCLEVBR3RCLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsZ0NBQWdDLEVBR2hDLGtDQUFrQyxFQUdsQyxzQkFBc0IsRUFHdEIscUNBQXFDLEVBR3JDLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixzQ0FBc0MsRUFHdEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsK0JBQStCLEVBRy9CLGdDQUFnQyxFQUdoQyxtQ0FBbUMsRUFHbkMsMkJBQTJC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U1NlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgUkRTQ2xpZW50LFxuICB0eXBlIFJEU0NsaWVudENvbmZpZyxcbiAgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBBZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kLFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5T3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgdHlwZSBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZCxcbiAgdHlwZSBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kLFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgUmVib290REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3REQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlclRvUG9pbnRJblRpbWVDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1yZHNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIEN1c3RvbUF2YWlsYWJpbGl0eVpvbmVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclJvbGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlByb3h5UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRBbHJlYWR5UmVnaXN0ZXJlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvcixcbiAgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCVXBncmFkZURlcGVuZGVuY3lGYWlsdXJlRmF1bHRFcnJvcixcbiAgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yLFxuICBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEV4cG9ydFRhc2tOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBJYW1Sb2xlTWlzc2luZ1Blcm1pc3Npb25zRmF1bHRFcnJvcixcbiAgSWFtUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgSW5zdWZmaWNpZW50QXZhaWxhYmxlSVBzSW5TdWJuZXRGYXVsdEVycm9yLFxuICBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkNvbmZsaWN0T3BlcmF0aW9uRmF1bHRFcnJvcixcbiAgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlFbmRwb2ludFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNoYXJkR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3IsXG4gIEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEV4cG9ydE9ubHlGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0U291cmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0VGFza1N0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRJbnRlZ3JhdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkUmVzb3VyY2VTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRSZXN0b3JlRmF1bHRFcnJvcixcbiAgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvcixcbiAgSW52YWxpZFN1Ym5ldEVycm9yLFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvcixcbiAgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3IsXG4gIE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yLFxuICBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3IsXG4gIFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU05TSW52YWxpZFRvcGljRmF1bHRFcnJvcixcbiAgU05TTm9BdXRob3JpemF0aW9uRmF1bHRFcnJvcixcbiAgU05TVG9waWNBcm5Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBTb3VyY2VEYXRhYmFzZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTdG9yYWdlVHlwZU5vdEF2YWlsYWJsZUZhdWx0RXJyb3IsXG4gIFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgU3VibmV0QWxyZWFkeUluVXNlRXJyb3IsXG4gIFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3IsXG4gIFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgUkRTQ2xpZW50SW5zdGFuY2UsIFJEU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9SRFNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBSRFNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vUkRTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kLFxuICBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmQsXG4gIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kLFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDb3B5REJTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlPcHRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIENyZWF0ZURCUHJveHlDb21tYW5kLFxuICBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmQsXG4gIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBEZWxldGVEQlByb3h5Q29tbWFuZCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kLFxuICBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kLFxuICBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kLFxuICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmQsXG4gIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kLFxuICBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kLFxuICBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmQsXG4gIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kLFxuICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmQsXG4gIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmQsXG4gIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kLFxuICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmQsXG4gIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kLFxuICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kLFxuICBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYm9vdERCQ2x1c3RlckNvbW1hbmQsXG4gIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kLFxuICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kLFxuICBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmQsXG4gIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmQsXG4gIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICBTdGFydERCQ2x1c3RlckNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmQsXG4gIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIFN0b3BEQkNsdXN0ZXJDb21tYW5kLFxuICBTdG9wREJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgUkRTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvREJDbHVzdGVyKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGFkZFJvbGVUb0RCSW5zdGFuY2UoXG4gICAgYXJnczogQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb24oXG4gICAgYXJnczogQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvciB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBhZGRUYWdzVG9SZXNvdXJjZShcbiAgICBhcmdzOiBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24oXG4gICAgYXJnczogQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgYXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzcyhcbiAgICBhcmdzOiBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYmFja3RyYWNrREJDbHVzdGVyKFxuICAgIGFyZ3M6IEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kfVxuICAgKi9cbiAgY2FuY2VsRXhwb3J0VGFzayhcbiAgICBhcmdzOiBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJDbHVzdGVyU25hcHNob3QoXG4gICAgYXJnczogQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJTbmFwc2hvdChcbiAgICBhcmdzOiBDb3B5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDdXN0b21BdmFpbGFiaWxpdHlab25lTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5T3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY29weU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IENvcHlPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50KFxuICAgIGFyZ3M6IENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU291cmNlQ2x1c3Rlck5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFNvdXJjZURhdGFiYXNlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uRmF1bHRFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IENyZWF0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCSW5zdGFuY2UoXG4gICAgYXJnczogQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhKFxuICAgIGFyZ3M6IENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJQcm94eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5KFxuICAgIGFyZ3M6IENyZWF0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlNuYXBzaG90KFxuICAgIGFyZ3M6IENyZWF0ZURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTdWJuZXRHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3JcbiAgICB8IFNOU05vQXV0aG9yaXphdGlvbkZhdWx0RXJyb3JcbiAgICB8IFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVJbnRlZ3JhdGlvbihcbiAgICBhcmdzOiBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVPcHRpb25Hcm91cChcbiAgICBhcmdzOiBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVRlbmFudERhdGFiYXNlKFxuICAgIGFyZ3M6IENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEJsdWVHcmVlbkRlcGxveW1lbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEN1c3RvbURCRW5naW5lVmVyc2lvblN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXAoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJFbmRwb2ludFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZShcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cChcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCUHJveHkoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW50ZWdyYXRpb24oXG4gICAgYXJnczogRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlT3B0aW9uR3JvdXAoXG4gICAgYXJnczogRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVUZW5hbnREYXRhYmFzZShcbiAgICBhcmdzOiBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIGRlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHMoXG4gICAgYXJnczogRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlckVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJMb2dGaWxlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJQcm94aWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTZWN1cml0eUdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU2VjdXJpdHlHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlNoYXJkR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTdWJuZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHBvcnRUYXNrcyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVHbG9iYWxDbHVzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW50ZWdyYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU291cmNlUmVnaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVGVuYW50RGF0YWJhc2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkaXNhYmxlSHR0cEVuZHBvaW50KFxuICAgIGFyZ3M6IERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRSZXNvdXJjZVN0YXRlRmF1bHRFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERvd25sb2FkREJMb2dGaWxlUG9ydGlvbkNvbW1hbmR9XG4gICAqL1xuICBkb3dubG9hZERCTG9nRmlsZVBvcnRpb24oXG4gICAgYXJnczogRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90UmVhZHlGYXVsdEVycm9yXG4gICAgfCBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGVuYWJsZUh0dHBFbmRwb2ludChcbiAgICBhcmdzOiBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJEQkNsdXN0ZXIoXG4gICAgYXJnczogRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJHbG9iYWxDbHVzdGVyKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlBY3Rpdml0eVN0cmVhbShcbiAgICBhcmdzOiBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eShcbiAgICBhcmdzOiBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkNsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlckVuZHBvaW50KFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkluc3RhbmNlKFxuICAgIGFyZ3M6IE1vZGlmeURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJVcGdyYWRlRGVwZW5kZW5jeUZhaWx1cmVGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHkoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHlFbmRwb2ludChcbiAgICBhcmdzOiBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJSZWNvbW1lbmRhdGlvbihcbiAgICBhcmdzOiBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU2hhcmRHcm91cChcbiAgICBhcmdzOiBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90KFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU3VibmV0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBTdWJuZXRBbHJlYWR5SW5Vc2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlFdmVudFN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTTlNJbnZhbGlkVG9waWNGYXVsdEVycm9yXG4gICAgfCBTTlNOb0F1dGhvcml6YXRpb25GYXVsdEVycm9yXG4gICAgfCBTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUludGVncmF0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEludGVncmF0aW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5VGVuYW50RGF0YWJhc2UoXG4gICAgYXJnczogTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFByb21vdGVSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBwcm9tb3RlUmVhZFJlcGxpY2EoXG4gICAgYXJnczogUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyKFxuICAgIGFyZ3M6IFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nKFxuICAgIGFyZ3M6IFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWJvb3REQkNsdXN0ZXIoXG4gICAgYXJnczogUmVib290REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVib290REJJbnN0YW5jZShcbiAgICBhcmdzOiBSZWJvb3REQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYm9vdERCU2hhcmRHcm91cChcbiAgICBhcmdzOiBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIHJlZ2lzdGVyREJQcm94eVRhcmdldHMoXG4gICAgYXJnczogUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEFscmVhZHlSZWdpc3RlcmVkRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRBdmFpbGFibGVJUHNJblN1Ym5ldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVGcm9tR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJvbGVGcm9tREJDbHVzdGVyKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU291cmNlTm90Rm91bmRGYXVsdEVycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlVGFnc0Zyb21SZXNvdXJjZShcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlc2V0REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TMyhcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdChcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZShcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRTdG9yYWdlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3QoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbVMzKFxuICAgIGFyZ3M6IFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWUoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIHJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0QWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCQ2x1c3RlcihcbiAgICBhcmdzOiBTdGFydERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb24oXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBzdGFydEV4cG9ydFRhc2soXG4gICAgYXJnczogU3RhcnRFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IElhbVJvbGVNaXNzaW5nUGVybWlzc2lvbnNGYXVsdEVycm9yXG4gICAgfCBJYW1Sb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkRXhwb3J0T25seUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRFeHBvcnRTb3VyY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBzdG9wQWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHN0b3BEQkNsdXN0ZXIoXG4gICAgYXJnczogU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgc3RvcERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RvcERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQmx1ZUdyZWVuRGVwbG95bWVudFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyUmVhZFJlcGxpY2EoXG4gICAgYXJnczogU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVJEU1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhSRFNDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFJEU1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248UkRTU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgUkRTU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFJEU1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXJkcy9SRFNTZXJ2aWNlXCIpPFxuICBSRFNTZXJ2aWNlLFxuICBSRFNTZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlUkRTU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFJEU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogUkRTQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlUkRTU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoUkRTQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgUkRTQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRSRFNDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogUkRTQ2xpZW50Q29uZmlnKSA9PiBSRFNDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVJEU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgUkRTQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgUkRTU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgUkRTID0gUkRTU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBSRFMuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VSRFNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoUkRTU2VydmljZSwgbWFrZVJEU1NlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFJEUy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBSRFNTZXJ2aWNlTGF5ZXIgPSBCYXNlUkRTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoUkRTQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFJEUy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFJEU1NlcnZpY2VMYXllciA9IFJEU1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
|