@git.zone/cli 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/helpers.workflow.d.ts +2 -0
- package/dist_ts/helpers.workflow.js +96 -25
- package/dist_ts/mod_config/index.js +176 -88
- package/dist_ts/mod_release/classes.releasejournal.d.ts +60 -10
- package/dist_ts/mod_release/classes.releasejournal.js +513 -21
- package/dist_ts/mod_release/helpers.npmartifact.js +4 -2
- package/dist_ts/mod_release/helpers.releasepublication.d.ts +5 -3
- package/dist_ts/mod_release/helpers.releasepublication.js +386 -13
- package/dist_ts/mod_release/helpers.tsdockerprotocol.d.ts +60 -0
- package/dist_ts/mod_release/helpers.tsdockerprotocol.js +442 -0
- package/dist_ts/mod_release/index.d.ts +1 -1
- package/dist_ts/mod_release/index.js +101 -19
- package/dist_ts/plugins.d.ts +5 -1
- package/dist_ts/plugins.js +5 -2
- package/package.json +2 -1
- package/readme.hints.md +43 -17
- package/readme.md +83 -75
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/helpers.workflow.ts +191 -49
- package/ts/mod_config/index.ts +320 -146
- package/ts/mod_release/classes.releasejournal.ts +939 -70
- package/ts/mod_release/helpers.npmartifact.ts +3 -1
- package/ts/mod_release/helpers.releasepublication.ts +780 -49
- package/ts/mod_release/helpers.tsdockerprotocol.ts +806 -0
- package/ts/mod_release/index.ts +231 -74
- package/ts/plugins.ts +20 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '6.
|
|
6
|
+
version: '6.1.0',
|
|
7
7
|
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
|
|
@@ -114,6 +114,7 @@ export interface IResolvedReleaseResumeConfiguration {
|
|
|
114
114
|
npmAccessLevel: "public" | "private";
|
|
115
115
|
npmAlreadyPublished: "success" | "error";
|
|
116
116
|
}
|
|
117
|
+
export type TResolvedReleaseDockerConfiguration = Pick<IResolvedReleaseWorkflow, "dockerRegistry" | "dockerBuildRegistries" | "dockerTest" | "dockerPatterns" | "dockerCached" | "dockerParallel" | "dockerContext" | "dockerNoBuild">;
|
|
117
118
|
export type TTsdockerMinimumVersion = readonly [number, number, number];
|
|
118
119
|
export declare const getTsdockerMinimumVersion: (buildRegistriesRequestedArg: boolean, imageTestsRequestedArg: boolean) => TTsdockerMinimumVersion | undefined;
|
|
119
120
|
export declare const formatTsdockerMinimumVersion: (minimumVersionArg: TTsdockerMinimumVersion) => string;
|
|
@@ -126,3 +127,4 @@ export declare const resolveReleaseResumeConfiguration: (optionsArg: {
|
|
|
126
127
|
git: boolean;
|
|
127
128
|
npm: boolean;
|
|
128
129
|
}) => Promise<IResolvedReleaseResumeConfiguration>;
|
|
130
|
+
export declare const resolveReleaseDockerConfiguration: () => Promise<TResolvedReleaseDockerConfiguration>;
|
|
@@ -25,7 +25,9 @@ export const getTsdockerMinimumVersion = (buildRegistriesRequestedArg, imageTest
|
|
|
25
25
|
};
|
|
26
26
|
export const formatTsdockerMinimumVersion = (minimumVersionArg) => minimumVersionArg.join(".");
|
|
27
27
|
export const supportsTsdockerMinimumVersion = (versionOutputArg, minimumVersionArg) => {
|
|
28
|
-
const match = versionOutputArg
|
|
28
|
+
const match = versionOutputArg
|
|
29
|
+
.trim()
|
|
30
|
+
.match(/(?:^|\s)(\d+)\.(\d+)\.(\d+)(?:\s|$)/);
|
|
29
31
|
if (!match) {
|
|
30
32
|
return false;
|
|
31
33
|
}
|
|
@@ -49,6 +51,60 @@ export const resolveDockerTestSetting = (valueArg) => {
|
|
|
49
51
|
}
|
|
50
52
|
return valueArg;
|
|
51
53
|
};
|
|
54
|
+
const resolveDockerConfiguration = (dockerConfigArg) => {
|
|
55
|
+
if (dockerConfigArg.engine !== undefined &&
|
|
56
|
+
dockerConfigArg.engine !== "tsdocker") {
|
|
57
|
+
throw new Error("release.targets.docker.engine must be tsdocker");
|
|
58
|
+
}
|
|
59
|
+
if (dockerConfigArg.registry !== undefined &&
|
|
60
|
+
(typeof dockerConfigArg.registry !== "string" ||
|
|
61
|
+
!dockerConfigArg.registry.trim())) {
|
|
62
|
+
throw new Error("release.targets.docker.registry must be a non-empty string");
|
|
63
|
+
}
|
|
64
|
+
const normalizeStringList = (valueArg, settingArg) => {
|
|
65
|
+
if (valueArg === undefined)
|
|
66
|
+
return [];
|
|
67
|
+
if (!Array.isArray(valueArg) ||
|
|
68
|
+
valueArg.some((entryArg) => typeof entryArg !== "string" || !entryArg.trim())) {
|
|
69
|
+
throw new Error(`release.targets.docker.${settingArg} must be an array of non-empty strings`);
|
|
70
|
+
}
|
|
71
|
+
const normalized = valueArg.map((entryArg) => entryArg.trim());
|
|
72
|
+
if (new Set(normalized).size !== normalized.length) {
|
|
73
|
+
throw new Error(`release.targets.docker.${settingArg} must contain unique values`);
|
|
74
|
+
}
|
|
75
|
+
return normalized;
|
|
76
|
+
};
|
|
77
|
+
if (dockerConfigArg.cached !== undefined &&
|
|
78
|
+
typeof dockerConfigArg.cached !== "boolean") {
|
|
79
|
+
throw new Error("release.targets.docker.cached must be true or false");
|
|
80
|
+
}
|
|
81
|
+
if (dockerConfigArg.parallel !== undefined &&
|
|
82
|
+
dockerConfigArg.parallel !== false &&
|
|
83
|
+
dockerConfigArg.parallel !== true &&
|
|
84
|
+
(!Number.isSafeInteger(dockerConfigArg.parallel) ||
|
|
85
|
+
dockerConfigArg.parallel <= 0)) {
|
|
86
|
+
throw new Error("release.targets.docker.parallel must be false, true, or a positive integer");
|
|
87
|
+
}
|
|
88
|
+
if (dockerConfigArg.context !== undefined &&
|
|
89
|
+
(typeof dockerConfigArg.context !== "string" ||
|
|
90
|
+
!dockerConfigArg.context.trim())) {
|
|
91
|
+
throw new Error("release.targets.docker.context must be a non-empty string");
|
|
92
|
+
}
|
|
93
|
+
if (dockerConfigArg.noBuild !== undefined &&
|
|
94
|
+
typeof dockerConfigArg.noBuild !== "boolean") {
|
|
95
|
+
throw new Error("release.targets.docker.noBuild must be true or false");
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
dockerRegistry: dockerConfigArg.registry?.trim() || undefined,
|
|
99
|
+
dockerBuildRegistries: normalizeStringList(dockerConfigArg.buildRegistries, "buildRegistries"),
|
|
100
|
+
dockerTest: resolveDockerTestSetting(dockerConfigArg.test),
|
|
101
|
+
dockerPatterns: normalizeStringList(dockerConfigArg.patterns, "patterns"),
|
|
102
|
+
dockerCached: dockerConfigArg.cached ?? false,
|
|
103
|
+
dockerParallel: dockerConfigArg.parallel ?? false,
|
|
104
|
+
dockerContext: dockerConfigArg.context?.trim() || undefined,
|
|
105
|
+
dockerNoBuild: dockerConfigArg.noBuild ?? false,
|
|
106
|
+
};
|
|
107
|
+
};
|
|
52
108
|
const resolveGitPushSetting = (valueArg, settingArg, gitEnabledArg) => {
|
|
53
109
|
if (!gitEnabledArg) {
|
|
54
110
|
return valueArg === undefined ? true : valueArg === true;
|
|
@@ -59,7 +115,9 @@ const resolveGitPushSetting = (valueArg, settingArg, gitEnabledArg) => {
|
|
|
59
115
|
return true;
|
|
60
116
|
};
|
|
61
117
|
const isStringRecord = (valueArg) => {
|
|
62
|
-
return typeof valueArg === "object" &&
|
|
118
|
+
return (typeof valueArg === "object" &&
|
|
119
|
+
valueArg !== null &&
|
|
120
|
+
!Array.isArray(valueArg));
|
|
63
121
|
};
|
|
64
122
|
export const getDeclaredTsdockerRange = (packageJsonArg) => {
|
|
65
123
|
if (!isStringRecord(packageJsonArg)) {
|
|
@@ -85,13 +143,18 @@ const normalizeConfirmation = (value, fallback) => {
|
|
|
85
143
|
};
|
|
86
144
|
const normalizeRegistryUrl = (url) => {
|
|
87
145
|
let normalizedUrl = url.trim();
|
|
88
|
-
if (!normalizedUrl.startsWith("http://") &&
|
|
146
|
+
if (!normalizedUrl.startsWith("http://") &&
|
|
147
|
+
!normalizedUrl.startsWith("https://")) {
|
|
89
148
|
normalizedUrl = `https://${normalizedUrl}`;
|
|
90
149
|
}
|
|
91
|
-
return normalizedUrl.endsWith("/")
|
|
150
|
+
return normalizedUrl.endsWith("/")
|
|
151
|
+
? normalizedUrl.slice(0, -1)
|
|
152
|
+
: normalizedUrl;
|
|
92
153
|
};
|
|
93
154
|
const isDisabled = (argvArg, ...keys) => {
|
|
94
|
-
return keys.some((key) => argvArg[key] === false ||
|
|
155
|
+
return keys.some((key) => argvArg[key] === false ||
|
|
156
|
+
argvArg[`no-${key}`] ||
|
|
157
|
+
argvArg[`no${key[0].toUpperCase()}${key.slice(1)}`]);
|
|
95
158
|
};
|
|
96
159
|
const readCliWorkflowConfig = async () => {
|
|
97
160
|
return await getCliConfigValue("", {});
|
|
@@ -202,8 +265,14 @@ const buildReleasePlan = (options) => {
|
|
|
202
265
|
if (options.targets.includes("npm"))
|
|
203
266
|
plan.push("core.packNpmArtifact");
|
|
204
267
|
plan.push("core.writeReleaseJournal");
|
|
268
|
+
if (options.targets.includes("docker")) {
|
|
269
|
+
plan.push("target.docker.qualify");
|
|
270
|
+
}
|
|
205
271
|
for (const target of options.targets) {
|
|
206
|
-
plan.push(`target.${target}`);
|
|
272
|
+
plan.push(target === "docker" ? "target.docker.promote" : `target.${target}`);
|
|
273
|
+
}
|
|
274
|
+
if (options.targets.includes("docker")) {
|
|
275
|
+
plan.push("target.docker.cleanup");
|
|
207
276
|
}
|
|
208
277
|
return plan;
|
|
209
278
|
};
|
|
@@ -239,7 +308,8 @@ export const resolveCommitWorkflow = async (argvArg) => {
|
|
|
239
308
|
rawSteps.push("changelog");
|
|
240
309
|
rawSteps.push("commit");
|
|
241
310
|
}
|
|
242
|
-
else if (Array.isArray(commitConfig.steps) &&
|
|
311
|
+
else if (Array.isArray(commitConfig.steps) &&
|
|
312
|
+
commitConfig.steps.length > 0) {
|
|
243
313
|
rawSteps = commitConfig.steps;
|
|
244
314
|
}
|
|
245
315
|
else {
|
|
@@ -327,6 +397,18 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
327
397
|
}
|
|
328
398
|
}
|
|
329
399
|
const mergeRequested = argvArg.merge === true;
|
|
400
|
+
const dockerConfiguration = targets.includes("docker")
|
|
401
|
+
? resolveDockerConfiguration(dockerConfig)
|
|
402
|
+
: {
|
|
403
|
+
dockerRegistry: undefined,
|
|
404
|
+
dockerBuildRegistries: [],
|
|
405
|
+
dockerTest: false,
|
|
406
|
+
dockerPatterns: [],
|
|
407
|
+
dockerCached: false,
|
|
408
|
+
dockerParallel: false,
|
|
409
|
+
dockerContext: undefined,
|
|
410
|
+
dockerNoBuild: false,
|
|
411
|
+
};
|
|
330
412
|
return {
|
|
331
413
|
confirmation,
|
|
332
414
|
plan: buildReleasePlan({ mergeRequested, runTests, runBuild, targets }),
|
|
@@ -348,23 +430,7 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
348
430
|
npmAlreadyPublished: npmConfig.alreadyPublished || "success",
|
|
349
431
|
dockerEnabled,
|
|
350
432
|
dockerEngine: "tsdocker",
|
|
351
|
-
|
|
352
|
-
? dockerConfig.registry.trim()
|
|
353
|
-
: undefined,
|
|
354
|
-
dockerBuildRegistries: Array.isArray(dockerConfig.buildRegistries)
|
|
355
|
-
? dockerConfig.buildRegistries
|
|
356
|
-
.filter((registryArg) => typeof registryArg === "string")
|
|
357
|
-
.map((registryArg) => registryArg.trim())
|
|
358
|
-
.filter(Boolean)
|
|
359
|
-
: [],
|
|
360
|
-
dockerTest: resolveDockerTestSetting(dockerConfig.test),
|
|
361
|
-
dockerPatterns: Array.isArray(dockerConfig.patterns) ? dockerConfig.patterns : [],
|
|
362
|
-
dockerCached: dockerConfig.cached ?? false,
|
|
363
|
-
dockerParallel: dockerConfig.parallel ?? false,
|
|
364
|
-
dockerContext: typeof dockerConfig.context === "string" && dockerConfig.context.trim()
|
|
365
|
-
? dockerConfig.context.trim()
|
|
366
|
-
: undefined,
|
|
367
|
-
dockerNoBuild: dockerConfig.noBuild ?? false,
|
|
433
|
+
...dockerConfiguration,
|
|
368
434
|
};
|
|
369
435
|
};
|
|
370
436
|
export const resolveReleaseResumeConfiguration = async (optionsArg) => {
|
|
@@ -410,4 +476,9 @@ export const resolveReleaseResumeConfiguration = async (optionsArg) => {
|
|
|
410
476
|
npmAlreadyPublished,
|
|
411
477
|
};
|
|
412
478
|
};
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUE2STdELE1BQU0sZ0JBQWdCLEdBQTRDO0lBQ2hFLENBQUMsRUFBRSxRQUFRO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxNQUFNO0NBQ1YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUksS0FBVSxFQUFPLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsMkJBQW9DLEVBQ3BDLHNCQUErQixFQUNNLEVBQUU7SUFDdkMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQzFDLGlCQUEwQyxFQUNsQyxFQUFFLENBQUMsaUJBQWlC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
|
|
479
|
+
export const resolveReleaseDockerConfiguration = async () => {
|
|
480
|
+
const cliConfig = await readCliWorkflowConfig();
|
|
481
|
+
const dockerConfig = cliConfig.release?.targets?.docker || {};
|
|
482
|
+
return resolveDockerConfiguration(dockerConfig);
|
|
483
|
+
};
|
|
484
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFtSjdELE1BQU0sZ0JBQWdCLEdBQTRDO0lBQ2hFLENBQUMsRUFBRSxRQUFRO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxNQUFNO0NBQ1YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUksS0FBVSxFQUFPLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsMkJBQW9DLEVBQ3BDLHNCQUErQixFQUNNLEVBQUU7SUFDdkMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQzFDLGlCQUEwQyxFQUNsQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQzVDLGdCQUF3QixFQUN4QixpQkFBMEMsRUFDakMsRUFBRTtJQUNYLE1BQU0sS0FBSyxHQUFHLGdCQUFnQjtTQUMzQixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdELElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFFBQWlCLEVBQVcsRUFBRTtJQUNyRSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxlQUEyQyxFQUNOLEVBQUU7SUFDdkMsSUFDRSxlQUFlLENBQUMsTUFBTSxLQUFLLFNBQVM7UUFDcEMsZUFBZSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQ3JDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELElBQ0UsZUFBZSxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQ3RDLENBQUMsT0FBTyxlQUFlLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDM0MsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ25DLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsUUFBaUIsRUFDakIsVUFBMEMsRUFDaEMsRUFBRTtRQUNaLElBQUksUUFBUSxLQUFLLFNBQVM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUNFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDeEIsUUFBUSxDQUFDLElBQUksQ0FDWCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUMvRCxFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixVQUFVLHdDQUF3QyxDQUM3RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixVQUFVLDZCQUE2QixDQUNsRSxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztJQUNGLElBQ0UsZUFBZSxDQUFDLE1BQU0sS0FBSyxTQUFTO1FBQ3BDLE9BQU8sZUFBZSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQzNDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELElBQ0UsZUFBZSxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQ3RDLGVBQWUsQ0FBQyxRQUFRLEtBQUssS0FBSztRQUNsQyxlQUFlLENBQUMsUUFBUSxLQUFLLElBQUk7UUFDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxlQUFlLENBQUMsUUFBbUIsSUFBSSxDQUFDLENBQUMsRUFDNUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsNEVBQTRFLENBQzdFLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFDRSxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVM7UUFDckMsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUMxQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDbEMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFDRSxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVM7UUFDckMsT0FBTyxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFDNUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsT0FBTztRQUNMLGNBQWMsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLFNBQVM7UUFDN0QscUJBQXFCLEVBQUUsbUJBQW1CLENBQ3hDLGVBQWUsQ0FBQyxlQUFlLEVBQy9CLGlCQUFpQixDQUNsQjtRQUNELFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQzFELGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQztRQUN6RSxZQUFZLEVBQUUsZUFBZSxDQUFDLE1BQU0sSUFBSSxLQUFLO1FBQzdDLGNBQWMsRUFBRSxlQUFlLENBQUMsUUFBUSxJQUFJLEtBQUs7UUFDakQsYUFBYSxFQUFFLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksU0FBUztRQUMzRCxhQUFhLEVBQUUsZUFBZSxDQUFDLE9BQU8sSUFBSSxLQUFLO0tBQ2hELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFFBQWlCLEVBQ2pCLFVBQXFDLEVBQ3JDLGFBQXNCLEVBQ2IsRUFBRTtJQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixPQUFPLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUNiLHVCQUF1QixVQUFVLDhDQUE4QyxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FDckIsUUFBaUIsRUFDb0IsRUFBRTtJQUN2QyxPQUFPLENBQ0wsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixRQUFRLEtBQUssSUFBSTtRQUNqQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxjQUF1QixFQUNILEVBQUU7SUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxLQUFLLE1BQU0sZUFBZSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFVLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2xDLFNBQVM7UUFDWCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDNUQsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLEtBQWMsRUFDZCxRQUEyQixFQUNSLEVBQUU7SUFDckIsSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQy9ELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUNuRCxJQUFJLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsSUFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFDckMsQ0FBQztRQUNELGFBQWEsR0FBRyxXQUFXLGFBQWEsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBWSxFQUFFLEdBQUcsSUFBYyxFQUFXLEVBQUU7SUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSztRQUN0QixPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3RELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLEtBQUssSUFBaUMsRUFBRTtJQUNwRSxPQUFPLE1BQU0saUJBQWlCLENBQXFCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFHLENBQUMsV0FBbUIsRUFBWSxFQUFFO0lBQ25FLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsV0FBbUIsRUFBWSxFQUFFO0lBQzdELE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztJQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTTtRQUNSLENBQUM7UUFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QixTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLE9BQVksRUFBVyxFQUFFO0lBQy9ELE9BQU8sT0FBTyxDQUNaLE9BQU8sQ0FBQyxDQUFDO1FBQ1QsT0FBTyxDQUFDLE1BQU07UUFDZCxPQUFPLENBQUMsQ0FBQztRQUNULE9BQU8sQ0FBQyxJQUFJO1FBQ1osT0FBTyxDQUFDLENBQUM7UUFDVCxPQUFPLENBQUMsS0FBSztRQUNiLE9BQU8sQ0FBQyxDQUFDO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQXVCLEVBQWlCLEVBQUU7SUFDdEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUU3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxJQUFJLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsSUFBSSxjQUFjLEtBQUssQ0FBQyxDQUFDLElBQUksY0FBYyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBWSxFQUFnQyxFQUFFO0lBQ3ZFLE1BQU0sWUFBWSxHQUFxQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDdEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDdEQsQ0FBQztJQUNGLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVTthQUNoQyxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFLENBQ3pFLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUM1QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQXdCLENBQUMsQ0FDN0QsQ0FBQztRQUNGLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsT0FBTyxnQkFBb0MsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSTtRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsR0FBRztRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBcUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBRXRFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUt6QixFQUFZLEVBQUU7SUFDYixNQUFNLElBQUksR0FBYSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsUUFBUTtRQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RSxJQUFJLE9BQU8sQ0FBQyxRQUFRO1FBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDdEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FDUCxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxNQUFNLEVBQUUsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFDeEMsT0FBWSxFQUNzQixFQUFFO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuRSxJQUFJLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLFlBQVksR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUF1QixDQUFDO0lBQzVCLElBQUksOEJBQThCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxRQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixLQUFLLE1BQU0sU0FBUyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztTQUFNLElBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDN0IsQ0FBQztRQUNELFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7U0FBTSxDQUFDO1FBQ04sUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsSUFBSSxZQUFZLENBQUMsVUFBVTtZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxZQUFZLENBQUMsV0FBVztZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGFBQWEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMxRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTyxJQUFJLEtBQUs7UUFDdEMsV0FBVyxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLFdBQVc7UUFDdEQsWUFBWSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLFlBQVk7UUFDekQsYUFBYSxFQUFFLGNBQWM7UUFDN0IsZ0JBQWdCLEVBQUUsU0FBUztRQUMzQixVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksUUFBUTtRQUNqRCxjQUFjLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksS0FBSztRQUN0RCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFDekMsT0FBWSxFQUN1QixFQUFFO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUMvQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDOUMsTUFBTSwrQkFBK0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ3JFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUM3QixDQUFDLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO0lBQ25DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksK0JBQStCLENBQUM7SUFDeEUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDN0MsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQ3RDLFNBQVMsQ0FBQyxVQUFVLEVBQ3BCLFlBQVksRUFDWixVQUFVLENBQ1gsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUNwQyxTQUFTLENBQUMsUUFBUSxFQUNsQixVQUFVLEVBQ1YsVUFBVSxDQUNYLENBQUM7SUFFRixJQUFJLFlBQVksR0FBRyxxQkFBcUIsQ0FDdEMsYUFBYSxDQUFDLFlBQVksRUFDMUIsUUFBUSxDQUNULENBQUM7SUFDRixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixZQUFZLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLFlBQVksR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLEtBQUssQ0FBQztJQUN0RCxJQUFJLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDdEQsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQUUsUUFBUSxHQUFHLElBQUksQ0FBQztJQUMvQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUs7UUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFBRSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2xELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFBRSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRW5ELE1BQU0saUJBQWlCLEdBQXFCLEVBQUUsQ0FBQztJQUMvQyxJQUFJLFVBQVU7UUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsSUFBSSxVQUFVO1FBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLElBQUksYUFBYTtRQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxJQUFJLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxpQkFBaUIsQ0FBQztJQUM5RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUM3QyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUNqQyxDQUFDO0lBQ0YsSUFBSSxhQUFhLEdBQWEsRUFBRSxDQUFDO0lBQ2pDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLElBQ0UsZ0JBQWdCLEtBQUssU0FBUztZQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDL0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxFQUMxRSxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxhQUFhLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNuRSxJQUFJLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsTUFBTSxJQUFJLEtBQUssQ0FDYixtRUFBbUUsQ0FDcEUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDOUMsTUFBTSxtQkFBbUIsR0FDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDeEIsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FBQztRQUMxQyxDQUFDLENBQUM7WUFDRSxjQUFjLEVBQUUsU0FBUztZQUN6QixxQkFBcUIsRUFBRSxFQUFFO1lBQ3pCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFlBQVksRUFBRSxLQUFLO1lBQ25CLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGFBQWEsRUFBRSxTQUFTO1lBQ3hCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7SUFFUixPQUFPO1FBQ0wsWUFBWTtRQUNaLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZFLE9BQU87UUFDUCxRQUFRO1FBQ1IsUUFBUTtRQUNSLFdBQVcsRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsSUFBSSxXQUFXO1FBQ2hFLFlBQVksRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLFlBQVksSUFBSSxZQUFZO1FBQ25FLGFBQWEsRUFBRSxjQUFjO1FBQzdCLHVCQUF1QixFQUFFLFNBQVM7UUFDbEMsdUJBQXVCLEVBQUUsMkJBQTJCO1FBQ3BELFVBQVU7UUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU0sSUFBSSxRQUFRO1FBQ3ZDLFVBQVU7UUFDVixRQUFRO1FBQ1IsVUFBVTtRQUNWLGFBQWE7UUFDYixjQUFjLEVBQUUsU0FBUyxDQUFDLFdBQVcsSUFBSSxRQUFRO1FBQ2pELG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTO1FBQzVELGFBQWE7UUFDYixZQUFZLEVBQUUsVUFBVTtRQUN4QixHQUFHLG1CQUFtQjtLQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsS0FBSyxFQUFFLFVBR3ZELEVBQWdELEVBQUU7SUFDakQsTUFBTSxTQUFTLEdBQUcsTUFBTSxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO0lBRXpDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0UsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksYUFBYSxHQUFhLEVBQUUsQ0FBQztJQUNqQyxJQUFJLGNBQWMsR0FBeUIsUUFBUSxDQUFDO0lBQ3BELElBQUksbUJBQW1CLEdBQXdCLFNBQVMsQ0FBQztJQUN6RCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUNFLFNBQVMsQ0FBQyxVQUFVLEtBQUssU0FBUztZQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO2dCQUNuQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FDakQsQ0FBQyxFQUNKLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUNELGFBQWEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkUsSUFBSSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pELE1BQU0sSUFBSSxLQUFLLENBQ2IsbUVBQW1FLENBQ3BFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFDRSxTQUFTLENBQUMsV0FBVyxLQUFLLFNBQVM7WUFDbkMsU0FBUyxDQUFDLFdBQVcsS0FBSyxRQUFRO1lBQ2xDLFNBQVMsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUNuQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwyREFBMkQsQ0FDNUQsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUNFLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1lBQ3hDLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1lBQ3hDLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxPQUFPLEVBQ3RDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUNELGNBQWMsR0FBRyxTQUFTLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQztRQUNuRCxtQkFBbUIsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLElBQUksU0FBUyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxPQUFPO1FBQ0wsU0FBUztRQUNULGFBQWE7UUFDYixjQUFjO1FBQ2QsbUJBQW1CO0tBQ3BCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FDNUMsS0FBSyxJQUFrRCxFQUFFO0lBQ3ZELE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO0lBQzlELE9BQU8sMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDIn0=
|