lens-content-processor 0.78.0 → 0.80.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.
Files changed (133) hide show
  1. package/dist/authoring-markup.d.ts +22 -0
  2. package/dist/authoring-markup.js +24 -0
  3. package/dist/authoring-markup.js.map +1 -1
  4. package/dist/cache.d.ts +10 -0
  5. package/dist/cache.js +6 -5
  6. package/dist/cache.js.map +1 -1
  7. package/dist/cli-steps.d.ts +37 -0
  8. package/dist/cli-steps.js +80 -0
  9. package/dist/cli-steps.js.map +1 -0
  10. package/dist/cli.d.ts +7 -0
  11. package/dist/cli.js +52 -70
  12. package/dist/cli.js.map +1 -1
  13. package/dist/course-graph.d.ts +2 -2
  14. package/dist/course-graph.js +7 -2
  15. package/dist/course-graph.js.map +1 -1
  16. package/dist/criticmarkup-forms.d.ts +8 -6
  17. package/dist/criticmarkup-forms.js +22 -19
  18. package/dist/criticmarkup-forms.js.map +1 -1
  19. package/dist/dedupe-errors.d.ts +16 -0
  20. package/dist/dedupe-errors.js +23 -9
  21. package/dist/dedupe-errors.js.map +1 -1
  22. package/dist/dependency-cache.d.ts +15 -5
  23. package/dist/dependency-cache.js +33 -74
  24. package/dist/dependency-cache.js.map +1 -1
  25. package/dist/dropped.d.ts +114 -0
  26. package/dist/dropped.js +253 -0
  27. package/dist/dropped.js.map +1 -0
  28. package/dist/engine/assemble.d.ts +44 -0
  29. package/dist/engine/assemble.js +132 -0
  30. package/dist/engine/assemble.js.map +1 -0
  31. package/dist/engine/build.d.ts +8 -0
  32. package/dist/engine/build.js +558 -0
  33. package/dist/engine/build.js.map +1 -0
  34. package/dist/engine/file-facts.d.ts +26 -0
  35. package/dist/engine/file-facts.js +63 -0
  36. package/dist/engine/file-facts.js.map +1 -0
  37. package/dist/engine/git-source.d.ts +35 -0
  38. package/dist/engine/git-source.js +242 -0
  39. package/dist/engine/git-source.js.map +1 -0
  40. package/dist/engine/overlay.d.ts +43 -0
  41. package/dist/engine/overlay.js +167 -0
  42. package/dist/engine/overlay.js.map +1 -0
  43. package/dist/engine/protocol.d.ts +146 -0
  44. package/dist/engine/protocol.js +40 -0
  45. package/dist/engine/protocol.js.map +1 -0
  46. package/dist/engine/reader.d.ts +133 -0
  47. package/dist/engine/reader.js +298 -0
  48. package/dist/engine/reader.js.map +1 -0
  49. package/dist/engine/sources.d.ts +39 -0
  50. package/dist/engine/sources.js +137 -0
  51. package/dist/engine/sources.js.map +1 -0
  52. package/dist/engine/sqlite-store.d.ts +99 -0
  53. package/dist/engine/sqlite-store.js +452 -0
  54. package/dist/engine/sqlite-store.js.map +1 -0
  55. package/dist/engine/store.d.ts +85 -0
  56. package/dist/engine/store.js +31 -0
  57. package/dist/engine/store.js.map +1 -0
  58. package/dist/engine/tables.d.ts +15 -0
  59. package/dist/engine/tables.js +70 -0
  60. package/dist/engine/tables.js.map +1 -0
  61. package/dist/engine/units.d.ts +58 -0
  62. package/dist/engine/units.js +186 -0
  63. package/dist/engine/units.js.map +1 -0
  64. package/dist/engine/version.d.ts +6 -0
  65. package/dist/engine/version.js +21 -0
  66. package/dist/engine/version.js.map +1 -0
  67. package/dist/engine/worker.d.ts +1 -0
  68. package/dist/engine/worker.js +220 -0
  69. package/dist/engine/worker.js.map +1 -0
  70. package/dist/flattener/index.d.ts +34 -17
  71. package/dist/flattener/index.js +247 -116
  72. package/dist/flattener/index.js.map +1 -1
  73. package/dist/flattener/resolve-text-links.d.ts +15 -14
  74. package/dist/flattener/resolve-text-links.js +24 -25
  75. package/dist/flattener/resolve-text-links.js.map +1 -1
  76. package/dist/glossary.d.ts +2 -2
  77. package/dist/glossary.js.map +1 -1
  78. package/dist/index.d.ts +168 -2
  79. package/dist/index.js +888 -616
  80. package/dist/index.js.map +1 -1
  81. package/dist/markdown-parse.d.ts +6 -0
  82. package/dist/markdown-parse.js +14 -0
  83. package/dist/markdown-parse.js.map +1 -1
  84. package/dist/parser/learning-outcome.js +11 -2
  85. package/dist/parser/learning-outcome.js.map +1 -1
  86. package/dist/parser/lens.d.ts +15 -2
  87. package/dist/parser/lens.js +38 -11
  88. package/dist/parser/lens.js.map +1 -1
  89. package/dist/parser/meeting-doc.d.ts +2 -1
  90. package/dist/parser/meeting-doc.js +2 -1
  91. package/dist/parser/meeting-doc.js.map +1 -1
  92. package/dist/parser/module.d.ts +3 -1
  93. package/dist/parser/module.js +7 -5
  94. package/dist/parser/module.js.map +1 -1
  95. package/dist/parser/question-embeds.d.ts +46 -0
  96. package/dist/parser/question-embeds.js +302 -0
  97. package/dist/parser/question-embeds.js.map +1 -0
  98. package/dist/parser/response-segments.js +12 -0
  99. package/dist/parser/response-segments.js.map +1 -1
  100. package/dist/parser/sections.d.ts +18 -0
  101. package/dist/parser/sections.js +31 -3
  102. package/dist/parser/sections.js.map +1 -1
  103. package/dist/parser/widget.d.ts +2 -1
  104. package/dist/parser/widget.js.map +1 -1
  105. package/dist/parser/wikilink.d.ts +13 -3
  106. package/dist/parser/wikilink.js +55 -34
  107. package/dist/parser/wikilink.js.map +1 -1
  108. package/dist/reference-graph.d.ts +21 -3
  109. package/dist/reference-graph.js +35 -12
  110. package/dist/reference-graph.js.map +1 -1
  111. package/dist/same-page-links.d.ts +11 -1
  112. package/dist/same-page-links.js +9 -0
  113. package/dist/same-page-links.js.map +1 -1
  114. package/dist/skill-tree.d.ts +2 -1
  115. package/dist/skill-tree.js.map +1 -1
  116. package/dist/source-location.d.ts +0 -4
  117. package/dist/source-location.js +0 -43
  118. package/dist/source-location.js.map +1 -1
  119. package/dist/validator/card-module-membership.d.ts +17 -1
  120. package/dist/validator/card-module-membership.js +60 -56
  121. package/dist/validator/card-module-membership.js.map +1 -1
  122. package/dist/validator/criticmarkup.js +1 -1
  123. package/dist/validator/criticmarkup.js.map +1 -1
  124. package/dist/validator/field-typos.d.ts +1 -1
  125. package/dist/validator/field-typos.js +21 -21
  126. package/dist/validator/field-typos.js.map +1 -1
  127. package/dist/validator/output-integrity.d.ts +9 -5
  128. package/dist/validator/output-integrity.js +43 -45
  129. package/dist/validator/output-integrity.js.map +1 -1
  130. package/dist/validator/tier.d.ts +2 -2
  131. package/dist/validator/tier.js.map +1 -1
  132. package/dist/validator/uuid.d.ts +1 -1
  133. package/package.json +2 -1
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Question files: a question written once, in `Questions/<name>.md`, and used
3
+ * by any number of lenses.
4
+ *
5
+ * A question file holds exactly one `#### Question` segment, in the same
6
+ * syntax as a question written inline in a lens:
7
+ *
8
+ * #### Question: Open
9
+ * id:: 0983cfd6-876e-4c73-8e81-58318c1abedf
10
+ * content:: Does this setup hold the control property?
11
+ * assessment-instructions:: ...
12
+ *
13
+ * A lens embeds it where the question goes, on a line of its own (the file
14
+ * holds the `#### Question` header), optionally with its own settings for the
15
+ * fields that may differ per lens:
16
+ *
17
+ * ![[../Questions/Control property - untrusted monitor]]
18
+ * force-feedback:: first
19
+ *
20
+ * The embed may also sit under a `#### Question` header of the lens.
21
+ *
22
+ * Expanding the embed gives the lens an ordinary question segment whose id::
23
+ * comes from the file, so every lens embedding it shares one question (one
24
+ * saved answer, one score) by construction: the id-sharing rules of
25
+ * validator/uuid.ts find the copies identical.
26
+ */
27
+ import { dirname, relative } from "node:path";
28
+ import { parseFrontmatter } from "./frontmatter.js";
29
+ import { convertRawSegments } from "./lens.js";
30
+ import { EMBED_LINE_PATTERN, LENS_SEGMENT_TYPES, parseSegments, } from "./sections.js";
31
+ import { findFileWithExtension, findSimilarFiles, formatSuggestion, resolveWikilinkPath, } from "./wikilink.js";
32
+ /** Folder that question files live in (at the root of the content). */
33
+ export const QUESTIONS_DIR = "Questions";
34
+ /** The header markQuestionEmbedLines gives an embed line: the embed as the
35
+ * title, read back by expandQuestionEmbeds. */
36
+ const EMBED_TITLE = /^!\[\[([^\]\n]+)\]\]$/;
37
+ /**
38
+ * The 0-based indices of the lines of `body` (in `file`) that are a question
39
+ * by themselves: only an embed of a `Questions/` file, outside fenced code,
40
+ * and not right under a `#### Question` header (which already makes it one).
41
+ */
42
+ export function questionEmbedLineIndices(body, file) {
43
+ if (!body.includes("![["))
44
+ return [];
45
+ const out = [];
46
+ let fence = null;
47
+ let previous = "";
48
+ body.split("\n").forEach((line, i) => {
49
+ const fenceMatch = /^[ \t]*(```|~~~)/.exec(line);
50
+ if (fenceMatch) {
51
+ if (fence === null)
52
+ fence = fenceMatch[1];
53
+ else if (fence === fenceMatch[1])
54
+ fence = null;
55
+ }
56
+ else if (fence === null) {
57
+ const m = line.match(EMBED_LINE_PATTERN);
58
+ const link = m?.[1].split("|")[0].split("#")[0].trim();
59
+ if (link &&
60
+ resolveWikilinkPath(link, file).startsWith(`${QUESTIONS_DIR}/`) &&
61
+ !/^#{4,6}[ \t]+Question\b/i.test(previous)) {
62
+ out.push(i);
63
+ }
64
+ }
65
+ if (line.trim())
66
+ previous = line.trim();
67
+ });
68
+ return out;
69
+ }
70
+ /** Make each such line of a lens body the header of a question segment,
71
+ * `#### Question: ![[...]]`, in place (line numbers stay). */
72
+ export function markQuestionEmbedLines(body, file) {
73
+ const indices = questionEmbedLineIndices(body, file);
74
+ if (indices.length === 0)
75
+ return body;
76
+ const lines = body.split("\n");
77
+ for (const i of indices)
78
+ lines[i] = `#### Question: ${lines[i].trim()}`;
79
+ return lines.join("\n");
80
+ }
81
+ /** Errors for question embeds in a file that is not a lens file (an inline
82
+ * module lens, an article, an LO test): there they would stay text. */
83
+ export function questionEmbedsOutsideLenses(content, file) {
84
+ return questionEmbedLineIndices(content, file).map((i) => ({
85
+ file,
86
+ line: i + 1,
87
+ message: `Question files can be embedded only in lens files (Lenses/): ${content.split("\n")[i].trim()}`,
88
+ suggestion: "Write the question inline here, or move it into a lens file",
89
+ severity: "error",
90
+ }));
91
+ }
92
+ /** Fields a lens may set for itself under an embed; everything else that
93
+ * defines the question (wording, grading, options) lives in the file only. */
94
+ export const QUESTION_EMBED_OVERRIDES = [
95
+ "force-feedback",
96
+ "optional",
97
+ "feedback-instructions",
98
+ ];
99
+ export function isQuestionFilePath(path) {
100
+ return path.startsWith(`${QUESTIONS_DIR}/`) && path.endsWith(".md");
101
+ }
102
+ /** Parse a question file: optional frontmatter, then exactly one
103
+ * `#### Question` segment that embeds nothing itself. */
104
+ export function parseQuestionFile(content, file) {
105
+ const errors = [];
106
+ let body = content.replace(/\r\n/g, "\n");
107
+ let lineOffset = 0;
108
+ if (body.startsWith("---\n")) {
109
+ const fm = parseFrontmatter(body, file);
110
+ if (fm.error)
111
+ return { segment: null, errors: [fm.error] };
112
+ body = fm.body;
113
+ lineOffset = fm.bodyStartLine - 1;
114
+ }
115
+ const { segments, errors: segmentErrors } = parseSegments(body, 3, LENS_SEGMENT_TYPES, file, lineOffset);
116
+ errors.push(...segmentErrors);
117
+ if (segments.length !== 1 ||
118
+ segments[0].type !== "question" ||
119
+ segments[0].frames?.length) {
120
+ errors.push({
121
+ file,
122
+ line: segments[1]?.line ?? segments[0]?.line ?? 1,
123
+ message: segments.length === 0
124
+ ? "Question file has no '#### Question' segment"
125
+ : "A question file holds exactly one '#### Question' segment and nothing else",
126
+ suggestion: "Put one question per file in Questions/; lenses embed it with ![[../Questions/<name>]]",
127
+ severity: "error",
128
+ });
129
+ return { segment: null, errors };
130
+ }
131
+ const segment = segments[0];
132
+ if (segment.embed) {
133
+ errors.push({
134
+ file,
135
+ line: segment.embed.line,
136
+ message: "A question file can't embed another file",
137
+ suggestion: "Write the question's fields (id::, content::, ...) in this file",
138
+ severity: "error",
139
+ });
140
+ return { segment: null, errors };
141
+ }
142
+ return { segment, errors };
143
+ }
144
+ /** Where `embed` (written in `fromFile`) points, or an error. */
145
+ export function resolveQuestionEmbed(embed, fromFile, files) {
146
+ const link = embed.link.split("|")[0].split("#")[0].trim();
147
+ const resolved = resolveWikilinkPath(link, fromFile);
148
+ const path = findFileWithExtension(resolved, files);
149
+ if (!path) {
150
+ const similar = findSimilarFiles(resolved, files, QUESTIONS_DIR);
151
+ return {
152
+ error: {
153
+ file: fromFile,
154
+ line: embed.line,
155
+ message: `Referenced question file not found: ${resolved}`,
156
+ suggestion: formatSuggestion(similar, fromFile) ??
157
+ "Check the file path in the embed",
158
+ severity: "error",
159
+ },
160
+ };
161
+ }
162
+ if (!isQuestionFilePath(path)) {
163
+ return {
164
+ error: {
165
+ file: fromFile,
166
+ line: embed.line,
167
+ message: `A question can only embed a question file in ${QUESTIONS_DIR}/, not '${path}'`,
168
+ suggestion: `Move the question to ${QUESTIONS_DIR}/<name>.md, or write it inline`,
169
+ severity: "error",
170
+ },
171
+ };
172
+ }
173
+ return { path };
174
+ }
175
+ /** Rewrite the `[[...]]` links in a question file's field value (prompt
176
+ * imports) so they resolve the same from the embedding lens. */
177
+ function rebaseLinks(value, questionPath, lensPath) {
178
+ return value.replace(/(!?\[\[)([^\]|#]+)/g, (whole, open, link) => {
179
+ const target = link.trim();
180
+ if (!target.startsWith("."))
181
+ return whole; // not relative: same from anywhere
182
+ const absolute = resolveWikilinkPath(target, questionPath);
183
+ let rebased = relative(dirname(lensPath), absolute).split("\\").join("/");
184
+ if (!rebased.startsWith("."))
185
+ rebased = `./${rebased}`;
186
+ return `${open}${rebased}`;
187
+ });
188
+ }
189
+ /**
190
+ * Replace every embedding question in `segments` (parsed from `file`) by the
191
+ * question of its file, with the lens's own settings for the override fields.
192
+ * Errors are reported on the lens; problems inside the question file itself
193
+ * are reported on that file when it is validated on its own.
194
+ */
195
+ export function expandQuestionEmbeds(segments, file, files, prepare = (text) => text) {
196
+ const errors = [];
197
+ // A question whose file can't be used is left out (one error, no cascade
198
+ // of "missing id::" errors for fields the lens never had).
199
+ const failed = new Set();
200
+ for (const segment of segments) {
201
+ // An embed line made a header by markQuestionEmbedLines
202
+ const titled = segment.type === "question"
203
+ ? EMBED_TITLE.exec(segment.title ?? "")
204
+ : null;
205
+ if (titled && !segment.embed) {
206
+ segment.embed = { link: titled[1].trim(), line: segment.line };
207
+ segment.title = "";
208
+ }
209
+ const embed = segment.embed;
210
+ if (!embed)
211
+ continue;
212
+ if (!files)
213
+ continue; // no other files to resolve against (single-file parse)
214
+ const resolved = resolveQuestionEmbed(embed, file, files);
215
+ if ("error" in resolved) {
216
+ errors.push(resolved.error);
217
+ failed.add(segment);
218
+ continue;
219
+ }
220
+ const { segment: question } = parseQuestionFile(prepare(files.get(resolved.path) ?? ""), resolved.path);
221
+ // A question that is broken in its file (no id::, say) is reported there,
222
+ // once, not again in every lens that embeds it.
223
+ const broken = !question ||
224
+ convertRawSegments([{ ...question, fields: { ...question.fields } }], resolved.path).errors.some((e) => e.severity === "error");
225
+ if (!question || broken) {
226
+ errors.push({
227
+ file,
228
+ line: embed.line,
229
+ message: `Question file '${resolved.path}' has errors, so this question is left out`,
230
+ suggestion: `Fix the errors reported for ${resolved.path}`,
231
+ severity: "error",
232
+ });
233
+ failed.add(segment);
234
+ continue;
235
+ }
236
+ for (const key of Object.keys(segment.fields)) {
237
+ if (QUESTION_EMBED_OVERRIDES.includes(key))
238
+ continue;
239
+ errors.push({
240
+ file,
241
+ line: segment.fieldLines?.[key] ?? embed.line,
242
+ message: `'${key}::' can't be set in the lens for an embedded question; it belongs to the question file`,
243
+ suggestion: `Change it in ${resolved.path}. A lens may set only ${QUESTION_EMBED_OVERRIDES.map((f) => `${f}::`).join(", ")}`,
244
+ severity: "error",
245
+ });
246
+ }
247
+ const lensType = (segment.title ?? "").trim().toLowerCase() || null;
248
+ const fileType = (question.title ?? "").trim().toLowerCase() || "open";
249
+ if (lensType && lensType !== fileType) {
250
+ errors.push({
251
+ file,
252
+ line: segment.line,
253
+ message: `'#### Question: ${segment.title}' embeds a ${question.title || "Open"} question (${resolved.path})`,
254
+ suggestion: "Write just '#### Question' (the type comes from the file), or the file's type",
255
+ severity: "error",
256
+ });
257
+ }
258
+ const fields = {};
259
+ for (const [key, value] of Object.entries(question.fields)) {
260
+ fields[key] = rebaseLinks(value, resolved.path, file);
261
+ }
262
+ for (const key of QUESTION_EMBED_OVERRIDES) {
263
+ if (key in segment.fields)
264
+ fields[key] = segment.fields[key];
265
+ }
266
+ segment.title = question.title;
267
+ segment.rawType = question.rawType;
268
+ segment.fields = fields;
269
+ // Field-level errors point at the embed line in the lens.
270
+ segment.fieldLines = Object.fromEntries(Object.keys(fields).map((key) => [
271
+ key,
272
+ segment.fieldLines?.[key] ?? embed.line,
273
+ ]));
274
+ segment.embeddedFrom = resolved.path;
275
+ delete segment.embed;
276
+ }
277
+ if (failed.size > 0) {
278
+ const kept = segments.filter((segment) => !failed.has(segment));
279
+ segments.splice(0, segments.length, ...kept);
280
+ }
281
+ return errors;
282
+ }
283
+ /** The embedded question files' contents, for cache keys: a lens's parse
284
+ * depends on them as well as on its own text. */
285
+ export function questionEmbedCacheKey(content, file, files) {
286
+ if (!content.includes("![["))
287
+ return "";
288
+ let key = "";
289
+ content.split("\n").forEach((text, i) => {
290
+ const m = text.match(EMBED_LINE_PATTERN);
291
+ if (!m)
292
+ return;
293
+ // The whole resolution: an error's "did you mean" depends on which other
294
+ // files exist, a resolved path on the file's content.
295
+ const resolved = resolveQuestionEmbed({ link: m[1].trim(), line: i + 1 }, file, files);
296
+ key += `\0${JSON.stringify(resolved)}`;
297
+ if ("path" in resolved)
298
+ key += `\0${files.get(resolved.path) ?? ""}`;
299
+ });
300
+ return key;
301
+ }
302
+ //# sourceMappingURL=question-embeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-embeds.js","sourceRoot":"","sources":["../../src/parser/question-embeds.ts"],"names":[],"mappings":"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"}
@@ -585,6 +585,18 @@ function parseFillBlanks(content, raw, file, errors) {
585
585
  */
586
586
  export function parseResponseSegment(raw, context, file) {
587
587
  const errors = [];
588
+ // Lenses resolve `![[...]]` question files before this (question-embeds.ts);
589
+ // one still here sits where embeds are not supported.
590
+ if (raw.embed) {
591
+ errors.push({
592
+ file,
593
+ line: raw.embed.line,
594
+ message: `Question files can be embedded only in lens files (Lenses/): ![[${raw.embed.link}]]`,
595
+ suggestion: "Write the question inline here, or move it into a lens file",
596
+ severity: "error",
597
+ });
598
+ return { segment: null, errors };
599
+ }
588
600
  const subtypeRaw = (raw.title ?? "").trim();
589
601
  const subtype = subtypeRaw.toLowerCase();
590
602
  if (!RESPONSE_QUESTION_SUBTYPES.includes(subtype)) {
@@ -1 +1 @@
1
- {"version":3,"file":"response-segments.js","sourceRoot":"","sources":["../../src/parser/response-segments.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,qEAAqE;AACrE,uBAAuB;AAOvB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,0BAA0B,GAG3B,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;CACD,CAAC;AAIX,0FAA0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAA4C;IACtE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,GAAG,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAKb;;+CAE+C;AAC/C,MAAM,CAAC,MAAM,mCAAmC,GAC9C,0EAA0E,CAAC;AAE7E,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAGxC;IACC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAQ,0BAAgD,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxE,CAAC,CAAC,YAAY,OAAO,EAAE;QACvB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAe,EAAE,KAAa;IACtD,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED;;8DAE8D;AAC9D,SAAS,kBAAkB,CACzB,GAAe,EACf,IAAY,EACZ,MAAsB;IAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO;QACjD,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,IAAI,UAAU,KAAK,OAAO;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,6CAA6C,KAAK,GAAG;YAC9D,UAAU,EAAE,qCAAqC;YACjD,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;gEACgE;AAChE,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;mEACmE;AACnE,MAAM,qBAAqB,GAA2B;IACpD,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,GAAe,EACf,KAAa,EACb,IAAY,EACZ,MAAsB,EACtB,WAAqC,OAAO;IAE5C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EACL,UAAU,KAAK,sCAAsC,KAAK,GAAG;gBAC7D,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,UAAU,EAAE,sBAAsB,KAAK,MAAM,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB;YACtG,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CACjB,GAAe,EACf,IAAY,EACZ,MAAsB;IAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,0CAA0C,KAAK,GAAG;YAC3D,UAAU,EAAE,qBAAqB,gBAAgB,OAAO,gBAAgB,aAAa,oBAAoB,sBAAsB;YAC/H,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,gBAAgB,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,oBAAoB,KAAK,qBAAqB,gBAAgB,IAAI,gBAAgB,EAAE;YAC7F,UAAU,EAAE,oBAAoB,gBAAgB,OAAO,gBAAgB,EAAE;YACzE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAe,EACf,KAAa,EACb,aAAsB,EACtB,iBAA0B,EAC1B,IAAY,EACZ,MAAsB;IAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,4CAA4C;YACrD,UAAU,EACR,kHAAkH;YACpH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,gDAAgD,OAAO,GAAG;gBACnE,UAAU,EACR,0IAA0I;gBAC5I,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,yCAAyC,OAAO,GAAG;gBAC5D,UAAU,EACR,6IAA6I;gBAC/I,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,cAAc,MAAM,CAAC,MAAM,mDAAmD,oBAAoB,iDAAiD,oBAAoB,cAAc;YAC9L,UAAU,EACR,MAAM,CAAC,MAAM,IAAI,gBAAgB;gBAC/B,CAAC,CAAC,gBAAgB,MAAM,CAAC,MAAM,GAAG;gBAClC,CAAC,CAAC,2BAA2B,gBAAgB,8BAA8B,gBAAgB,qBAAqB,gBAAgB,GAAG;YACvI,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EACL,+HAA+H;YACjI,UAAU,EACR,0GAA0G;YAC5G,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,cAAc,MAAM,CAAC,MAAM,4BAA4B,KAAK,yGAAyG;YAC9K,UAAU,EACR,MAAM,CAAC,MAAM,GAAG,KAAK;gBACnB,CAAC,CAAC,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,uCAAuC,MAAM,CAAC,MAAM,EAAE;gBACpF,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,GAAG,KAAK,kCAAkC,MAAM,CAAC,MAAM,EAAE;YACtF,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAe,EACf,KAAc,EACd,OAAiB,EACjB,OAAiB,EACjB,IAAY,EACZ,MAAsB;IAEtB,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE,EAAE,CACnD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO;QACP,UAAU;QACV,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEL,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACzE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CACF,wGAAwG,EACxG,wEAAwE,CACzE,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CACF,mBAAmB,GAAG,SAAS,OAAO,CAAC,MAAM,+FAA+F,GAAG,IAAI,EACnJ,yBAAyB,OAAO,CAAC,MAAM,GAAG,CAAC,0BAA0B,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,mBAAmB,GAAG,QAAQ,OAAO,CAAC,MAAM,6DAA6D;YAClH,UAAU,EAAE,kCAAkC,OAAO,CAAC,MAAM,iCAAiC;YAC7F,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,IAAI,CACF,+EAA+E,EAC/E,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACrB,GAAe,EACf,KAA0B,EAC1B,iBAA0B,EAC1B,IAAY,EACZ,MAAsB,EACtB,aAAa,GAAG,KAAK;IAErB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,WAAW,uBAAuB,KAAK,IAAI;YACvD,UAAU,EAAE,gBAAgB,KAAK,eAAe,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE;YAC9I,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,aAAiC,CAAC;IACtC,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GACX,KAAK,KAAK,OAAO;gBACf,CAAC,CAAC,yCAAyC;gBAC3C,CAAC,CAAC,CAAC,aAAa;oBACd,CAAC,CAAC,gDAAgD;oBAClD,CAAC,CAAC,aAAa,KAAK,SAAS;wBAC3B,CAAC,CAAC,8CAA8C;wBAChD,CAAC,CAAC,CAAC,KAAK;4BACN,CAAC,CAAC,mCAAmC;4BACrC,CAAC,CAAC,IAAI,CAAC;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,OAAO,MAAM,OAAO,GAAG;oBACnC,UAAU,EACR,KAAK,KAAK,OAAO;wBACf,CAAC,CAAC,4BAA4B;wBAC9B,CAAC,CAAC,aAAa;4BACb,CAAC,CAAC,sDAAsD;4BACxD,CAAC,CAAC,gEAAgE;oBACxE,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,GAAG,KAAK,CAAC;YACtB,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,0DAA0D,KAAK,QAAQ,OAAO,GAAG;gBAC1F,UAAU,EAAE,iBAAiB;oBAC3B,CAAC,CAAC,gFAAgF;oBAClF,CAAC,CAAC,gDAAgD;gBACpD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EACL,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,oEAAoE,OAAO,GAAG;wBAChF,CAAC,CAAC,iEAAiE,OAAO,GAAG;oBACjF,UAAU,EACR,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,kDAAkD;wBACpD,CAAC,CAAC,wFAAwF;oBAC9F,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS,KAAK,kBAAkB,OAAO,GAAG;oBACnD,UAAU,EAAE,6CAA6C;oBACzD,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,WAAW,KAAK,2BAA2B,OAAO,GAAG;gBAC9D,UAAU,EAAE,qCAAqC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa;gBACrG,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,0BAA0B,aAAa,0CAA0C;gBAC1F,UAAU,EAAE,sDAAsD;gBAClE,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,WAAW,6BAA6B,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE;YAChF,UAAU,EAAE,8BAA8B,KAAK,IAAI;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;QACpB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAEpE,gEAAgE;AAChE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAExE;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,GAAe,EACf,IAAY,EACZ,MAAsB;IAEtB,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAQ,EAAE;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO;YACP,UAAU;YACV,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE,CACtD,IAAI,CACF,aAAa,IAAI,eAAe,OAAO,QAAQ,KAAK,GAAG,EACvD,4HAA4H,CAC7H,CAAC;IAEJ,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;IAC1E,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAG1D,CAAC;QACd,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,EAAE,KAAK,IAAI,WAAW,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CACT,aAAa,KAAK,qBAAqB,OAAO,IAAI,EAClD,QAAQ,KAAK,8CAA8C,CAC5D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CACT,gCAAgC,OAAO,IAAI,EAC3C,iIAAiI,CAClI,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IACE,KAAK,CAAC,GAAG,KAAK,SAAS;QACvB,KAAK,CAAC,GAAG,KAAK,SAAS;QACvB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EACrB,CAAC;QACD,OAAO,IAAI,CACT,aAAa,KAAK,CAAC,GAAG,6BAA6B,KAAK,CAAC,GAAG,eAAe,OAAO,IAAI,EACtF,+BAA+B,CAChC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChD,IACE,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YAC5C,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAC5C,CAAC;YACD,OAAO,IAAI,CACT,oBAAoB,KAAK,CAAC,eAAe,+CAA+C,OAAO,IAAI,EACnG,yFAAyF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAOD;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,OAAe,EACf,GAAe,EACf,IAAY,EACZ,MAAsB;IAEtB,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,yCAAyC;gBAClD,UAAU,EACR,8EAA8E;gBAChF,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,GAAG,IAAI,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,OAAO,KAAK,KAAK,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,KAAK,KAAK,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,gCAAgC,OAAO,IAAI;gBACpD,UAAU,EACR,qEAAqE;gBACvE,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,GAAG,IAAI,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,KAAK,KAAK,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,oDAAoD;YAC7D,UAAU,EACR,oEAAoE;YACtE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAe,EACf,OAAwB,EACxB,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,CAAE,0BAAgD,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,6BAA6B,UAAU,GAAG;YACnD,UAAU,EAAE,mBAAmB,mBAAmB,2EAA2E;YAC7H,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IACD,MAAM,YAAY,GAAG,OAAkC,CAAC;IACxD,MAAM,OAAO,GAAG,aAAa,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;IAE7D,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,OAAO,6BAA6B;YAChD,UAAU,EACR,6EAA6E;YAC/E,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,OAAO,8BAA8B,UAAU,EAAE;YAC7D,UAAU,EACR,oEAAoE;YACtE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,OAAO,kCAAkC;YACrD,UAAU,EAAE,oCAAoC;YAChD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,wEAAwE;IACxE,0DAA0D;IAC1D,IAAI,sBAAsB,GACxB,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,SAAS,CAAC;IACrD,IAAI,sBAAsB,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EACL,oFAAoF;YACtF,UAAU,EAAE,4CAA4C;YACxD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,sBAAsB,GAAG,SAAS,CAAC;IACrC,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;QACF,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EACL,oGAAoG;gBACtG,UAAU,EAAE,mDAAmD;gBAC/D,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC;IAC9E,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CACT,GAAG,0BAA0B,CAC3B,oBAAoB,EACpB,uBAAuB,EACvB,IAAI,EACJ,GAAG,CAAC,IAAI,CACT,CACF,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC9D,IAAI,WAAW,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EACL,qGAAqG;YACvG,UAAU,EAAE,0DAA0D;YACtE,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,MAAM,OAAO,GAA0B;QACrC,IAAI,EAAE,UAAU;QAChB,YAAY;QACZ,wEAAwE;QACxE,oEAAoE;QACpE,yBAAyB;QACzB,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;QACpC,OAAO;QACP,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,KAAK,EAAE,qDAAqD;QACpE,sBAAsB;QACtB,oBAAoB;QACpB,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC;QACpD,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;KACrC,CAAC;IACF,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,mCAAmC;YAC5C,UAAU,EAAE,yDAAyD;YACrE,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACpE,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrE,iEAAiE;gBACjE,2CAA2C;gBAC3C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EACL,kGAAkG;oBACpG,UAAU,EAAE,oBAAoB;oBAChC,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAChE,kEAAkE;gBAClE,4DAA4D;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,yFAAyF,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC9H,UAAU,EAAE,gCAAgC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;oBACvG,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,WAAW;gBAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;YACnD,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACrD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,GAAG,EACH,KAAK,EACL,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAC9B,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,EAC9B,IAAI,EACJ,MAAM,CACP,CAAC;YACF,IAAI,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACpC,IAAI,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,IAAI,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7C,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,cAAc,CAC3B,GAAG,EACH,SAAS,EACT,OAAO,KAAK,MAAM,EAClB,IAAI,EACJ,MAAM,EACN,OAAO,KAAK,QAAQ,CACrB,CAAC;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChD,iEAAiE;gBACjE,kEAAkE;gBAClE,iBAAiB;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,cAAc,MAAM,CAAC,OAAO,CAAC,MAAM,uFAAuF;oBACnI,UAAU,EACR,qFAAqF;oBACvF,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;YACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAC/B,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3C,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5C,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAE3C,sEAAsE;YACtE,wEAAwE;YACxE,MAAM,SAAS,GAAG,cAAc,CAC9B,GAAG,EACH,OAAO,CAAC,KAAK,KAAK,IAAI,EACtB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,IAAI,EACJ,MAAM,CACP,CAAC;YACF,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3D,MAAM;QACR,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,OAAO,CAAC,MAAM;gBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACzE,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IAEjD,MAAM,WAAW,GACf,YAAY,KAAK,QAAQ;QACvB,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,YAAY,KAAK,MAAM;YACvB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC;IACb,MAAM,MAAM,GAAG,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,WAAW,sFAAsF;YAC7G,UAAU,EAAE,oDAAoD;YAChE,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA6B;IAE7B,MAAM,OAAO,GAAoB;QAC/B,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IACF,IAAI,MAAM,CAAC,sBAAsB;QAC/B,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACjE,IAAI,MAAM,CAAC,oBAAoB;QAC7B,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAC7D,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACvE,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,0EAA0E;IAC1E,uEAAuE;IACvE,gCAAgC;IAChC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACtE,QAAQ;IACR,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACtE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACtE,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IACrD,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACjE,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACjE,UAAU;IACV,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACxD,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,UAAU;IACV,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACrD,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC1E,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3C,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzE,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;QACrC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACjD,aAAa;IACb,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,WAAW;IACX,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"response-segments.js","sourceRoot":"","sources":["../../src/parser/response-segments.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,28 @@ export interface ParsedSection {
11
11
  children?: ParsedSection[];
12
12
  inlineLens?: import("./lens.js").ParsedLens;
13
13
  frames?: Frame[];
14
+ embed?: QuestionEmbedRef;
14
15
  }
16
+ export interface QuestionEmbedRef {
17
+ /** The link as written, without `![[` `]]`, e.g. `../Questions/Name`. */
18
+ link: string;
19
+ line: number;
20
+ }
21
+ /** A line that is only an embed, e.g. `![[../Questions/Name]]`. */
22
+ export declare const EMBED_LINE_PATTERN: RegExp;
15
23
  export interface SectionsResult {
16
24
  sections: ParsedSection[];
17
25
  errors: ContentError[];
26
+ /**
27
+ * Headers of a type this file does not have, at a section's level (submodules'
28
+ * included), in line order, with the error that refused each. Each leaves out
29
+ * the section it would have started: its lines join the section before it.
30
+ * `title` is the header's, else its type.
31
+ */
32
+ refused: {
33
+ title: string;
34
+ error: ContentError;
35
+ }[];
18
36
  }
19
37
  export declare const MODULE_SECTION_TYPES: Set<string>;
20
38
  export declare const LO_SECTION_TYPES: Set<string>;
@@ -3,6 +3,8 @@ import { levenshtein, detectFieldTypos } from "../validator/field-typos.js";
3
3
  import { validateSegmentFields } from "../validator/segment-fields.js";
4
4
  import { calloutFrame, nestFrames, questionSetFrame, validateCalloutFields, } from "./frames.js";
5
5
  import { makeFenceTracker } from "./code-fence.js";
6
+ /** A line that is only an embed, e.g. `![[../Questions/Name]]`. */
7
+ export const EMBED_LINE_PATTERN = /^[ \t]*!\[\[([^\]\n]+)\]\][ \t]*$/;
6
8
  // Valid section types per file type (exported for use by other parsers)
7
9
  export const MODULE_SECTION_TYPES = new Set(["learning outcome", "lens"]);
8
10
  export const LO_SECTION_TYPES = new Set(["lens", "test"]);
@@ -66,6 +68,7 @@ export function parseSections(content, parentLevel, validTypes, file = "", flat
66
68
  const lines = content.split("\n");
67
69
  const sections = [];
68
70
  const errors = [];
71
+ const refused = [];
69
72
  let currentSection = null;
70
73
  let currentBody = [];
71
74
  let preHeaderWarned = false;
@@ -88,6 +91,7 @@ export function parseSections(content, parentLevel, validTypes, file = "", flat
88
91
  const childResult = parseSections(currentSection.body, currentSection.level, childValidTypes, file, false, currentSection.line);
89
92
  currentSection.children = childResult.sections;
90
93
  errors.push(...childResult.errors);
94
+ refused.push(...childResult.refused);
91
95
  }
92
96
  sections.push(currentSection);
93
97
  }
@@ -115,13 +119,15 @@ export function parseSections(content, parentLevel, validTypes, file = "", flat
115
119
  .split(" ")
116
120
  .map((w) => w[0].toUpperCase() + w.slice(1))
117
121
  .join(" "));
118
- errors.push({
122
+ const error = {
119
123
  file,
120
124
  line: lineNum,
121
125
  message: `Unknown section type: ${rawType}`,
122
126
  suggestion: `Valid types: ${capitalized.join(", ")}`,
123
127
  severity: "error",
124
- });
128
+ };
129
+ errors.push(error);
130
+ refused.push({ title: title || rawType, error });
125
131
  }
126
132
  // Treat as body content of current section
127
133
  if (currentSection) {
@@ -184,7 +190,8 @@ export function parseSections(content, parentLevel, validTypes, file = "", flat
184
190
  severity: "error",
185
191
  });
186
192
  }
187
- return { sections, errors };
193
+ refused.sort((a, b) => (a.error.line ?? 0) - (b.error.line ?? 0));
194
+ return { sections, errors, refused };
188
195
  }
189
196
  const FIELD_PATTERN = /^([\w-]+)::\s*(.*)$/;
190
197
  /**
@@ -266,6 +273,27 @@ export function parseFields(section, file, body = section.body) {
266
273
  freeTextWarned = false;
267
274
  continue;
268
275
  }
276
+ // `![[...]]` right under a `#### Question` header (before any field): the
277
+ // question lives in that file. Later lines are the lens's own settings.
278
+ // An embed inside a field value (an image in content::) stays content.
279
+ const embedMatch = section.type === "question" && !currentField && seenFields.size === 0
280
+ ? line.match(EMBED_LINE_PATTERN)
281
+ : null;
282
+ if (embedMatch) {
283
+ if (section.embed) {
284
+ warnings.push({
285
+ file,
286
+ line: lineNum,
287
+ message: `A question can embed only one question file; this one already embeds '${section.embed.link}'`,
288
+ suggestion: "Give each embedded question its own '#### Question' header",
289
+ severity: "error",
290
+ });
291
+ }
292
+ else {
293
+ section.embed = { link: embedMatch[1].trim(), line: lineNum };
294
+ }
295
+ continue;
296
+ }
269
297
  const match = line.match(FIELD_PATTERN);
270
298
  if (match) {
271
299
  // Save previous field if any