@effect-aws/client-s3 1.3.0 → 1.4.1
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 +14 -0
- package/README.md +3 -0
- package/lib/S3Service.d.ts +209 -103
- package/lib/S3Service.js +10 -5
- package/lib/esm/S3Service.js +9 -5
- package/package.json +11 -12
- package/vitest.config.ts +3 -0
package/lib/S3Service.js
CHANGED
|
@@ -109,9 +109,11 @@ const commands = {
|
|
|
109
109
|
};
|
|
110
110
|
/**
|
|
111
111
|
* @since 1.0.0
|
|
112
|
-
* @category
|
|
112
|
+
* @category models
|
|
113
113
|
*/
|
|
114
|
-
|
|
114
|
+
class S3Service extends effect_1.Effect.Tag("@effect-aws/client-s3/S3Service")() {
|
|
115
|
+
}
|
|
116
|
+
exports.S3Service = S3Service;
|
|
115
117
|
/**
|
|
116
118
|
* @since 1.0.0
|
|
117
119
|
* @category constructors
|
|
@@ -145,7 +147,10 @@ exports.makeS3Service = effect_1.Effect.gen(function* (_) {
|
|
|
145
147
|
catch: catchErrors,
|
|
146
148
|
})
|
|
147
149
|
: effect_1.Effect.tryPromise({
|
|
148
|
-
try: () => client.send(new CommandCtor(args),
|
|
150
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
151
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
152
|
+
abortSignal,
|
|
153
|
+
}),
|
|
149
154
|
catch: catchErrors,
|
|
150
155
|
});
|
|
151
156
|
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
@@ -156,7 +161,7 @@ exports.makeS3Service = effect_1.Effect.gen(function* (_) {
|
|
|
156
161
|
* @since 1.0.0
|
|
157
162
|
* @category layers
|
|
158
163
|
*/
|
|
159
|
-
exports.BaseS3ServiceLayer = effect_1.Layer.effect(
|
|
164
|
+
exports.BaseS3ServiceLayer = effect_1.Layer.effect(S3Service, exports.makeS3Service);
|
|
160
165
|
/**
|
|
161
166
|
* @since 1.0.0
|
|
162
167
|
* @category layers
|
|
@@ -167,4 +172,4 @@ exports.S3ServiceLayer = exports.BaseS3ServiceLayer.pipe(effect_1.Layer.provide(
|
|
|
167
172
|
* @category layers
|
|
168
173
|
*/
|
|
169
174
|
exports.DefaultS3ServiceLayer = exports.S3ServiceLayer.pipe(effect_1.Layer.provide(S3ClientInstanceConfig_1.DefaultS3ClientConfigLayer));
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1MzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGtEQStSNEI7QUFDNUIsd0VBQTZEO0FBSzdELG1DQUE4RDtBQUM5RCxxQ0Fha0I7QUFDbEIseURBQTZFO0FBQzdFLHFFQUFzRTtBQUV0RSxNQUFNLFFBQVEsR0FBRztJQUNmLDJCQUEyQixFQUEzQix1Q0FBMkI7SUFDM0IsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5QixpQkFBaUIsRUFBakIsNkJBQWlCO0lBQ2pCLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIsNEJBQTRCLEVBQTVCLHdDQUE0QjtJQUM1QixvQkFBb0IsRUFBcEIsZ0NBQW9CO0lBQ3BCLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIseUNBQXlDLEVBQXpDLHFEQUF5QztJQUN6Qyx1QkFBdUIsRUFBdkIsbUNBQXVCO0lBQ3ZCLDZCQUE2QixFQUE3Qix5Q0FBNkI7SUFDN0Isa0RBQWtELEVBQWxELDhEQUFrRDtJQUNsRCx5Q0FBeUMsRUFBekMscURBQXlDO0lBQ3pDLDRCQUE0QixFQUE1Qix3Q0FBNEI7SUFDNUIsdUNBQXVDLEVBQXZDLG1EQUF1QztJQUN2QyxvQ0FBb0MsRUFBcEMsZ0RBQW9DO0lBQ3BDLHlCQUF5QixFQUF6QixxQ0FBeUI7SUFDekIsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5QiwwQkFBMEIsRUFBMUIsc0NBQTBCO0lBQzFCLDBCQUEwQixFQUExQixzQ0FBMEI7SUFDMUIsbUJBQW1CLEVBQW5CLCtCQUFtQjtJQUNuQixvQkFBb0IsRUFBcEIsZ0NBQW9CO0lBQ3BCLDBCQUEwQixFQUExQixzQ0FBMEI7SUFDMUIsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5Qix1Q0FBdUMsRUFBdkMsbURBQXVDO0lBQ3ZDLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIsc0NBQXNDLEVBQXRDLGtEQUFzQztJQUN0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QixDQUFDLENBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBTM1NlcnZpY2VFeGNlcHRpb24sXG4gIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgdHlwZSBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgdHlwZSBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvcHlPYmplY3RDb21tYW5kLFxuICB0eXBlIENvcHlPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUJ1Y2tldENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlc3Npb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZVNlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2Vzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9iamVjdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0c0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdEFjbENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFRvcnJlbnRDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdFRvcnJlbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0VG9ycmVudENvbW1hbmRPdXRwdXQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIEhlYWRCdWNrZXRDb21tYW5kLFxuICB0eXBlIEhlYWRCdWNrZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgSGVhZEJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIEhlYWRPYmplY3RDb21tYW5kLFxuICB0eXBlIEhlYWRPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgSGVhZE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0T2JqZWN0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kLFxuICB0eXBlIExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9iamVjdHNWMkNvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQYXJ0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBhcnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQYXJ0c0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdEFjbENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVPYmplY3RDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kLFxuICB0eXBlIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxuICB0eXBlIFVwbG9hZFBhcnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBsb2FkUGFydENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZCxcbiAgdHlwZSBVcGxvYWRQYXJ0Q29weUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRQYXJ0Q29weUNvbW1hbmRPdXRwdXQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kLFxuICB0eXBlIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IGdldFNpZ25lZFVybCB9IGZyb20gXCJAYXdzLXNkay9zMy1yZXF1ZXN0LXByZXNpZ25lclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBIdHRwSGFuZGxlck9wdGlvbnMgYXMgX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEJ1Y2tldEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQnVja2V0QWxyZWFkeU93bmVkQnlZb3VFcnJvcixcbiAgSW52YWxpZE9iamVjdFN0YXRlRXJyb3IsXG4gIE5vU3VjaEJ1Y2tldEVycm9yLFxuICBOb1N1Y2hLZXlFcnJvcixcbiAgTm9TdWNoVXBsb2FkRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvcixcbiAgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3IsXG4gIFMzU2VydmljZUVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFMzQ2xpZW50SW5zdGFuY2UsIFMzQ2xpZW50SW5zdGFuY2VMYXllciB9IGZyb20gXCIuL1MzQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTM0NsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIENvcHlPYmplY3RDb21tYW5kLFxuICBDcmVhdGVCdWNrZXRDb21tYW5kLFxuICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDcmVhdGVTZXNzaW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kLFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIEdldE9iamVjdEFjbENvbW1hbmQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBIZWFkQnVja2V0Q29tbWFuZCxcbiAgSGVhZE9iamVjdENvbW1hbmQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0c0NvbW1hbmQsXG4gIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZCxcbiAgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kLFxuICBMaXN0T2JqZWN0c0NvbW1hbmQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kLFxuICBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kLFxuICBMaXN0UGFydHNDb21tYW5kLFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBQdXRPYmplY3RDb21tYW5kLFxuICBQdXRPYmplY3RBY2xDb21tYW5kLFxuICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIFJlc3RvcmVPYmplY3RDb21tYW5kLFxuICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZCxcbiAgVXBsb2FkUGFydENvbW1hbmQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZCxcbiAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmQsXG59O1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzU2VydmljZSB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZH1cbiAgICovXG4gIGFib3J0TXVsdGlwYXJ0VXBsb2FkKFxuICAgIGFyZ3M6IEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBOb1N1Y2hVcGxvYWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmR9XG4gICAqL1xuICBjb21wbGV0ZU11bHRpcGFydFVwbG9hZChcbiAgICBhcmdzOiBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weU9iamVjdENvbW1hbmR9XG4gICAqL1xuICBjb3B5T2JqZWN0KFxuICAgIGFyZ3M6IENvcHlPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlPYmplY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUJ1Y2tldChcbiAgICBhcmdzOiBDcmVhdGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCdWNrZXRBbHJlYWR5RXhpc3RzRXJyb3IgfCBCdWNrZXRBbHJlYWR5T3duZWRCeVlvdUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVNdWx0aXBhcnRVcGxvYWQoXG4gICAgYXJnczogQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2Vzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXNzaW9uKFxuICAgIGFyZ3M6IENyZWF0ZVNlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PENyZWF0ZVNlc3Npb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEJ1Y2tldEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldENvcnMoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlQnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldEVuY3J5cHRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0TGlmZWN5Y2xlKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9scyhcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRUYWdnaW5nKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRXZWJzaXRlKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9iamVjdChcbiAgICBhcmdzOiBEZWxldGVPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZU9iamVjdENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVPYmplY3RzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9iamVjdHMoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlT2JqZWN0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9iamVjdFRhZ2dpbmcoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVQdWJsaWNBY2Nlc3NCbG9jayhcbiAgICBhcmdzOiBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFjbENvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRBY2woXG4gICAgYXJnczogR2V0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRDb3JzKFxuICAgIGFyZ3M6IEdldEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRFbmNyeXB0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0TG9jYXRpb24oXG4gICAgYXJnczogR2V0QnVja2V0TG9jYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0TG9nZ2luZyhcbiAgICBhcmdzOiBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRPd25lcnNoaXBDb250cm9scyhcbiAgICBhcmdzOiBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFBvbGljeShcbiAgICBhcmdzOiBHZXRCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0UG9saWN5U3RhdHVzKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFJlcGxpY2F0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRSZXF1ZXN0UGF5bWVudChcbiAgICBhcmdzOiBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRUYWdnaW5nKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRWZXJzaW9uaW5nKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRXZWJzaXRlKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIGdldE9iamVjdChcbiAgICBhcmdzOiBHZXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgcmVhZG9ubHkgcHJlc2lnbmVkPzogZmFsc2UgfSAmIF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE9iamVjdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkT2JqZWN0U3RhdGVFcnJvciB8IE5vU3VjaEtleUVycm9yXG4gID47XG4gIGdldE9iamVjdChcbiAgICBhcmdzOiBHZXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgcmVhZG9ubHkgcHJlc2lnbmVkOiB0cnVlIH0gJiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbiAgKTogRWZmZWN0LkVmZmVjdDxzdHJpbmcsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RBY2xDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0QWNsKFxuICAgIGFyZ3M6IEdldE9iamVjdEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hLZXlFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0QXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hLZXlFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RMZWdhbEhvbGQoXG4gICAgYXJnczogR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RSZXRlbnRpb24oXG4gICAgYXJnczogR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RUYWdnaW5nKFxuICAgIGFyZ3M6IEdldE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0VG9ycmVudENvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RUb3JyZW50KFxuICAgIGFyZ3M6IEdldE9iamVjdFRvcnJlbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdFRvcnJlbnRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgZ2V0UHVibGljQWNjZXNzQmxvY2soXG4gICAgYXJnczogR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEhlYWRCdWNrZXRDb21tYW5kfVxuICAgKi9cbiAgaGVhZEJ1Y2tldChcbiAgICBhcmdzOiBIZWFkQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxIZWFkQnVja2V0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb3RGb3VuZEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSGVhZE9iamVjdENvbW1hbmR9XG4gICAqL1xuICBoZWFkT2JqZWN0KFxuICAgIGFyZ3M6IEhlYWRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEhlYWRPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vdEZvdW5kRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnMoXG4gICAgYXJnczogTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9ucyhcbiAgICBhcmdzOiBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnMoXG4gICAgYXJnczogTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QnVja2V0cyhcbiAgICBhcmdzOiBMaXN0QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdEJ1Y2tldHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERpcmVjdG9yeUJ1Y2tldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERpcmVjdG9yeUJ1Y2tldHMoXG4gICAgYXJnczogTGlzdERpcmVjdG9yeUJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNdWx0aXBhcnRVcGxvYWRzKFxuICAgIGFyZ3M6IExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T2JqZWN0c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0T2JqZWN0cyhcbiAgICBhcmdzOiBMaXN0T2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdE9iamVjdHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEJ1Y2tldEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdHNWMkNvbW1hbmR9XG4gICAqL1xuICBsaXN0T2JqZWN0c1YyKFxuICAgIGFyZ3M6IExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEJ1Y2tldEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPYmplY3RWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGFydHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBhcnRzKFxuICAgIGFyZ3M6IExpc3RQYXJ0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdFBhcnRzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBY2xDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0QWNsKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0Q29ycyhcbiAgICBhcmdzOiBQdXRCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0RW5jcnlwdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0TG9nZ2luZyhcbiAgICBhcmdzOiBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRPd25lcnNoaXBDb250cm9scyhcbiAgICBhcmdzOiBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFBvbGljeShcbiAgICBhcmdzOiBQdXRCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0UmVxdWVzdFBheW1lbnQoXG4gICAgYXJnczogUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0VGFnZ2luZyhcbiAgICBhcmdzOiBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0VmVyc2lvbmluZyhcbiAgICBhcmdzOiBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0V2Vic2l0ZShcbiAgICBhcmdzOiBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdENvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3QoXG4gICAgYXJnczogUHV0T2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcbiAgcHV0T2JqZWN0KFxuICAgIGFyZ3M6IFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICApOiBFZmZlY3QuRWZmZWN0PHN0cmluZywgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdEFjbENvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RBY2woXG4gICAgYXJnczogUHV0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEtleUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdExlZ2FsSG9sZChcbiAgICBhcmdzOiBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdFJldGVudGlvbihcbiAgICBhcmdzOiBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdFRhZ2dpbmcoXG4gICAgYXJnczogUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmR9XG4gICAqL1xuICBwdXRQdWJsaWNBY2Nlc3NCbG9jayhcbiAgICBhcmdzOiBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZU9iamVjdENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlT2JqZWN0KFxuICAgIGFyZ3M6IFJlc3RvcmVPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVPYmplY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kfVxuICAgKi9cbiAgc2VsZWN0T2JqZWN0Q29udGVudChcbiAgICBhcmdzOiBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFBhcnRDb21tYW5kfVxuICAgKi9cbiAgdXBsb2FkUGFydChcbiAgICBhcmdzOiBVcGxvYWRQYXJ0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxVcGxvYWRQYXJ0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFBhcnRDb3B5Q29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFBhcnRDb3B5KFxuICAgIGFyZ3M6IFVwbG9hZFBhcnRDb3B5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxVcGxvYWRQYXJ0Q29weUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZH1cbiAgICovXG4gIHdyaXRlR2V0T2JqZWN0UmVzcG9uc2UoXG4gICAgYXJnczogV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxTM1NlcnZpY2U+KFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zMy9TM1NlcnZpY2VcIixcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlUzNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oUzNDbGllbnRJbnN0YW5jZSk7XG5cbiAgY29uc3QgY2F0Y2hFcnJvcnMgPSAoZTogdW5rbm93bikgPT4ge1xuICAgIGlmIChlIGluc3RhbmNlb2YgUzNTZXJ2aWNlRXhjZXB0aW9uKSB7XG4gICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8VGFnZ2VkRXhjZXB0aW9uPFMzU2VydmljZUV4Y2VwdGlvbj4+KFxuICAgICAgICBlLm5hbWUsXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgIC4uLmUsXG4gICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgLi4uZSxcbiAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH07XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKFxuICAgICAgYXJnczogYW55LFxuICAgICAgb3B0aW9ucz86XG4gICAgICAgIHwgKHsgcmVhZG9ubHkgcHJlc2lnbmVkPzogZmFsc2UgfSAmIF9fSHR0cEhhbmRsZXJPcHRpb25zKVxuICAgICAgICB8ICh7IHJlYWRvbmx5IHByZXNpZ25lZDogdHJ1ZSB9ICYgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMpLFxuICAgICkgPT5cbiAgICAgIG9wdGlvbnM/LnByZXNpZ25lZFxuICAgICAgICA/IEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgICAgIHRyeTogKCkgPT5cbiAgICAgICAgICAgICAgZ2V0U2lnbmVkVXJsKGNsaWVudCBhcyBhbnksIG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyksXG4gICAgICAgICAgICBjYXRjaDogY2F0Y2hFcnJvcnMsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgICAgICB0cnk6ICgpID0+IGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyksXG4gICAgICAgICAgICBjYXRjaDogY2F0Y2hFcnJvcnMsXG4gICAgICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgUzNTZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlUzNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoUzNTZXJ2aWNlLCBtYWtlUzNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZUxheWVyID0gQmFzZVMzU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoUzNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UzNTZXJ2aWNlTGF5ZXIgPSBTM1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTM0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1MzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGtEQStSNEI7QUFDNUIsd0VBQTZEO0FBRTdELG1DQUFxRDtBQUNyRCxxQ0Fha0I7QUFDbEIseURBQTZFO0FBQzdFLHFFQUFzRTtBQWF0RSxNQUFNLFFBQVEsR0FBRztJQUNmLDJCQUEyQixFQUEzQix1Q0FBMkI7SUFDM0IsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5QixpQkFBaUIsRUFBakIsNkJBQWlCO0lBQ2pCLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIsNEJBQTRCLEVBQTVCLHdDQUE0QjtJQUM1QixvQkFBb0IsRUFBcEIsZ0NBQW9CO0lBQ3BCLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIseUNBQXlDLEVBQXpDLHFEQUF5QztJQUN6Qyx1QkFBdUIsRUFBdkIsbUNBQXVCO0lBQ3ZCLDZCQUE2QixFQUE3Qix5Q0FBNkI7SUFDN0Isa0RBQWtELEVBQWxELDhEQUFrRDtJQUNsRCx5Q0FBeUMsRUFBekMscURBQXlDO0lBQ3pDLDRCQUE0QixFQUE1Qix3Q0FBNEI7SUFDNUIsdUNBQXVDLEVBQXZDLG1EQUF1QztJQUN2QyxvQ0FBb0MsRUFBcEMsZ0RBQW9DO0lBQ3BDLHlCQUF5QixFQUF6QixxQ0FBeUI7SUFDekIsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5QiwwQkFBMEIsRUFBMUIsc0NBQTBCO0lBQzFCLDBCQUEwQixFQUExQixzQ0FBMEI7SUFDMUIsbUJBQW1CLEVBQW5CLCtCQUFtQjtJQUNuQixvQkFBb0IsRUFBcEIsZ0NBQW9CO0lBQ3BCLDBCQUEwQixFQUExQixzQ0FBMEI7SUFDMUIsOEJBQThCLEVBQTlCLDBDQUE4QjtJQUM5Qix1Q0FBdUMsRUFBdkMsbURBQXVDO0lBQ3ZDLG1CQUFtQixFQUFuQiwrQkFBbUI7SUFDbkIsc0NBQXNDLEVBQXRDLGtEQUFzQztJQUN0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LENBQ3JDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHFCQUFxQixHQUFHLHNCQUFjLENBQUMsSUFBSSxDQUN0RCxjQUFLLENBQUMsT0FBTyxDQUFDLG1EQUEwQixDQUFDLENBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBTM1NlcnZpY2VFeGNlcHRpb24sXG4gIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgdHlwZSBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgdHlwZSBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvcHlPYmplY3RDb21tYW5kLFxuICB0eXBlIENvcHlPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUJ1Y2tldENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlc3Npb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZVNlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2Vzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9iamVjdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0c0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdEFjbENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFRvcnJlbnRDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdFRvcnJlbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0VG9ycmVudENvbW1hbmRPdXRwdXQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIEhlYWRCdWNrZXRDb21tYW5kLFxuICB0eXBlIEhlYWRCdWNrZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgSGVhZEJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIEhlYWRPYmplY3RDb21tYW5kLFxuICB0eXBlIEhlYWRPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgSGVhZE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RzQ29tbWFuZCxcbiAgdHlwZSBMaXN0T2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0T2JqZWN0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kLFxuICB0eXBlIExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9iamVjdHNWMkNvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQYXJ0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFBhcnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RQYXJ0c0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldENvcnNDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdEFjbENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICB0eXBlIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgdHlwZSBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVPYmplY3RDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVPYmplY3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kLFxuICB0eXBlIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxuICB0eXBlIFVwbG9hZFBhcnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBsb2FkUGFydENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZCxcbiAgdHlwZSBVcGxvYWRQYXJ0Q29weUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGxvYWRQYXJ0Q29weUNvbW1hbmRPdXRwdXQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kLFxuICB0eXBlIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IGdldFNpZ25lZFVybCB9IGZyb20gXCJAYXdzLXNkay9zMy1yZXF1ZXN0LXByZXNpZ25lclwiO1xuaW1wb3J0IHR5cGUgeyBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQnVja2V0QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBCdWNrZXRBbHJlYWR5T3duZWRCeVlvdUVycm9yLFxuICBJbnZhbGlkT2JqZWN0U3RhdGVFcnJvcixcbiAgTm9TdWNoQnVja2V0RXJyb3IsXG4gIE5vU3VjaEtleUVycm9yLFxuICBOb1N1Y2hVcGxvYWRFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckVycm9yLFxuICBPYmplY3ROb3RJbkFjdGl2ZVRpZXJFcnJvcixcbiAgUzNTZXJ2aWNlRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgUzNDbGllbnRJbnN0YW5jZSwgUzNDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuNC4xXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIENvcHlPYmplY3RDb21tYW5kLFxuICBDcmVhdGVCdWNrZXRDb21tYW5kLFxuICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDcmVhdGVTZXNzaW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kLFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIEdldE9iamVjdEFjbENvbW1hbmQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBIZWFkQnVja2V0Q29tbWFuZCxcbiAgSGVhZE9iamVjdENvbW1hbmQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0c0NvbW1hbmQsXG4gIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZCxcbiAgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kLFxuICBMaXN0T2JqZWN0c0NvbW1hbmQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kLFxuICBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kLFxuICBMaXN0UGFydHNDb21tYW5kLFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBQdXRPYmplY3RDb21tYW5kLFxuICBQdXRPYmplY3RBY2xDb21tYW5kLFxuICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIFJlc3RvcmVPYmplY3RDb21tYW5kLFxuICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZCxcbiAgVXBsb2FkUGFydENvbW1hbmQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZCxcbiAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgUzNTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZH1cbiAgICovXG4gIGFib3J0TXVsdGlwYXJ0VXBsb2FkKFxuICAgIGFyZ3M6IEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoVXBsb2FkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgY29tcGxldGVNdWx0aXBhcnRVcGxvYWQoXG4gICAgYXJnczogQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIGNvcHlPYmplY3QoXG4gICAgYXJnczogQ29weU9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlPYmplY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUJ1Y2tldChcbiAgICBhcmdzOiBDcmVhdGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQnVja2V0QWxyZWFkeUV4aXN0c0Vycm9yIHwgQnVja2V0QWxyZWFkeU93bmVkQnlZb3VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTXVsdGlwYXJ0VXBsb2FkKFxuICAgIGFyZ3M6IENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlc3Npb24oXG4gICAgYXJnczogQ3JlYXRlU2Vzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PENyZWF0ZVNlc3Npb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEJ1Y2tldEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0Q29ycyhcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlQnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldEVuY3J5cHRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0TGlmZWN5Y2xlKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0UmVwbGljYXRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldFRhZ2dpbmcoXG4gICAgYXJnczogRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRXZWJzaXRlKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9iamVjdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPYmplY3QoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlT2JqZWN0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9iamVjdHNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlT2JqZWN0cyhcbiAgICBhcmdzOiBEZWxldGVPYmplY3RzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlT2JqZWN0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU9iamVjdFRhZ2dpbmcoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUHVibGljQWNjZXNzQmxvY2soXG4gICAgYXJnczogRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFjbENvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRBY2woXG4gICAgYXJnczogR2V0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRDb3JzQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldENvcnMoXG4gICAgYXJnczogR2V0QnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRFbmNyeXB0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldExvY2F0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0TG9jYXRpb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRMb2dnaW5nKFxuICAgIGFyZ3M6IEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzKFxuICAgIGFyZ3M6IEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFBvbGljeShcbiAgICBhcmdzOiBHZXRCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFBvbGljeVN0YXR1cyhcbiAgICBhcmdzOiBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0UmVwbGljYXRpb24oXG4gICAgYXJnczogR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRSZXF1ZXN0UGF5bWVudChcbiAgICBhcmdzOiBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0VGFnZ2luZyhcbiAgICBhcmdzOiBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFZlcnNpb25pbmcoXG4gICAgYXJnczogR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRXZWJzaXRlKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdENvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3QoXG4gICAgYXJnczogR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0T2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRPYmplY3RTdGF0ZUVycm9yIHwgTm9TdWNoS2V5RXJyb3JcbiAgPjtcbiAgZ2V0T2JqZWN0KFxuICAgIGFyZ3M6IEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICApOiBFZmZlY3QuRWZmZWN0PHN0cmluZywgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdEFjbENvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RBY2woXG4gICAgYXJnczogR2V0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hLZXlFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0QXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgTm9TdWNoS2V5RXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0TGVnYWxIb2xkKFxuICAgIGFyZ3M6IEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3RSZXRlbnRpb24oXG4gICAgYXJnczogR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0VGFnZ2luZyhcbiAgICBhcmdzOiBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RUb3JyZW50Q29tbWFuZH1cbiAgICovXG4gIGdldE9iamVjdFRvcnJlbnQoXG4gICAgYXJnczogR2V0T2JqZWN0VG9ycmVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdFRvcnJlbnRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgZ2V0UHVibGljQWNjZXNzQmxvY2soXG4gICAgYXJnczogR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBIZWFkQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGhlYWRCdWNrZXQoXG4gICAgYXJnczogSGVhZEJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEhlYWRCdWNrZXRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vdEZvdW5kRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBIZWFkT2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIGhlYWRPYmplY3QoXG4gICAgYXJnczogSGVhZE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEhlYWRPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vdEZvdW5kRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnMoXG4gICAgYXJnczogTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldHMoXG4gICAgYXJnczogTGlzdEJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGlyZWN0b3J5QnVja2V0cyhcbiAgICBhcmdzOiBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNdWx0aXBhcnRVcGxvYWRzKFxuICAgIGFyZ3M6IExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9iamVjdHMoXG4gICAgYXJnczogTGlzdE9iamVjdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0T2JqZWN0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgTm9TdWNoQnVja2V0RXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T2JqZWN0c1YyQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPYmplY3RzVjIoXG4gICAgYXJnczogTGlzdE9iamVjdHNWMkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IE5vU3VjaEJ1Y2tldEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPYmplY3RWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBhcnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQYXJ0cyhcbiAgICBhcmdzOiBMaXN0UGFydHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0UGFydHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBY2xDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0QWNsKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRDb3JzKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0RW5jcnlwdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldExvZ2dpbmcoXG4gICAgYXJnczogUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHMoXG4gICAgYXJnczogUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0UG9saWN5KFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFJlcXVlc3RQYXltZW50KFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRUYWdnaW5nKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0VmVyc2lvbmluZyhcbiAgICBhcmdzOiBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFdlYnNpdGUoXG4gICAgYXJnczogUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdChcbiAgICBhcmdzOiBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgcmVhZG9ubHkgcHJlc2lnbmVkPzogZmFsc2UgfSAmIEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcbiAgcHV0T2JqZWN0KFxuICAgIGFyZ3M6IFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICApOiBFZmZlY3QuRWZmZWN0PHN0cmluZywgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdEFjbENvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RBY2woXG4gICAgYXJnczogUHV0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0T2JqZWN0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hLZXlFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RMZWdhbEhvbGQoXG4gICAgYXJnczogUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dE9iamVjdFJldGVudGlvbihcbiAgICBhcmdzOiBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RUYWdnaW5nKFxuICAgIGFyZ3M6IFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZH1cbiAgICovXG4gIHB1dFB1YmxpY0FjY2Vzc0Jsb2NrKFxuICAgIGFyZ3M6IFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZU9iamVjdENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlT2JqZWN0KFxuICAgIGFyZ3M6IFJlc3RvcmVPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlT2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZH1cbiAgICovXG4gIHNlbGVjdE9iamVjdENvbnRlbnQoXG4gICAgYXJnczogU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBsb2FkUGFydENvbW1hbmR9XG4gICAqL1xuICB1cGxvYWRQYXJ0KFxuICAgIGFyZ3M6IFVwbG9hZFBhcnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxVcGxvYWRQYXJ0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFBhcnRDb3B5Q29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFBhcnRDb3B5KFxuICAgIGFyZ3M6IFVwbG9hZFBhcnRDb3B5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8VXBsb2FkUGFydENvcHlDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmR9XG4gICAqL1xuICB3cml0ZUdldE9iamVjdFJlc3BvbnNlKFxuICAgIGFyZ3M6IFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBTM1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXMzL1MzU2VydmljZVwiKTxcbiAgUzNTZXJ2aWNlLFxuICBTM1NlcnZpY2UkXG4+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTM1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTM0NsaWVudEluc3RhbmNlKTtcblxuICBjb25zdCBjYXRjaEVycm9ycyA9IChlOiB1bmtub3duKSA9PiB7XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBTM1NlcnZpY2VFeGNlcHRpb24pIHtcbiAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxUYWdnZWRFeGNlcHRpb248UzNTZXJ2aWNlRXhjZXB0aW9uPj4oXG4gICAgICAgIGUubmFtZSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgLi4uZSxcbiAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAuLi5lLFxuICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoXG4gICAgICBhcmdzOiBhbnksXG4gICAgICBvcHRpb25zPzpcbiAgICAgICAgfCAoeyByZWFkb25seSBwcmVzaWduZWQ/OiBmYWxzZSB9ICYgSHR0cEhhbmRsZXJPcHRpb25zKVxuICAgICAgICB8ICh7IHJlYWRvbmx5IHByZXNpZ25lZDogdHJ1ZSB9ICYgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMpLFxuICAgICkgPT5cbiAgICAgIG9wdGlvbnM/LnByZXNpZ25lZFxuICAgICAgICA/IEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgICAgIHRyeTogKCkgPT5cbiAgICAgICAgICAgICAgZ2V0U2lnbmVkVXJsKGNsaWVudCBhcyBhbnksIG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyksXG4gICAgICAgICAgICBjYXRjaDogY2F0Y2hFcnJvcnMsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoOiBjYXRjaEVycm9ycyxcbiAgICAgICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTM1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlUzNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoUzNTZXJ2aWNlLCBtYWtlUzNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZUxheWVyID0gQmFzZVMzU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoUzNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UzNTZXJ2aWNlTGF5ZXIgPSBTM1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTM0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|